html.black{
    background-color: black;
}
html{
    height: 100%;
}
body {
    margin: 0;
    font-size: 12px;
    /*font-family: HelveticaNeueLTPro-Roman;*/
    font-family: HelveticaNeueLTPro-Lt;
	/*font-weight: normal;*/
	/*font-style: normal;*/
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
}
#content{
    margin-bottom: 100px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
#header, #overlayHeader{
    display: flex;
    justify-content: space-between;
    margin: 20px 30px 0;
    padding: 10px 0;
}

#header a{
    text-decoration: none;
    color: black;
}
#header.black a{
    color: white;
}
#title{
    font-size: 18px;
}
@media (min-width: 750px){
#title{
    font-size: 18px;
}
}
#close, #plus {
  /*position: absolute;*/
  /*right: 32px;*/
  width: 26px;
  height: 26px;
  position: relative;
  top: -5px;
  cursor: pointer;
  z-index: 4;
  /*opacity: 0.3;*/
}
@media (min-width: 750px){
#close, #plus {
  width: 36px;
  height: 36px;
}
}
#spacer{
    display: none;
}
@media (min-width: 750px){
    #spacer{
        display: block;
        width: 32px;
        height: 32px;

    }
}
#overlayHeader > #close:before, #overlayHeader > #close:after, #header > #plus:before, #header > #plus:after {
  position: absolute;
  left: 16px;
  content: ' ';
  height: 32px;
  width: 1px;
  background-color: #000;
}
#overlay.black #close:before, #overlay.black #close:after, #header.black > #plus:before, #header.black > #plus:after {
  background-color: #fff;
}
@media (min-width: 750px){
#close:before, #close:after, #plus:before, #plus:after {
  left: 18px;
  height: 36px;
}
}
#close:before {
  transform: rotate(45deg);
}
#close:after {
  transform: rotate(-45deg);
}
#plus:after{
  transform: rotate(90deg);

}

#footer{
    display: flex;
    justify-content: space-around;
    margin: auto 30px 0;
    padding-bottom: 30px;
}
#footer a{
    text-decoration: none;
    color: black;
}
#footer.black a{
    color: white;
}

#startContent, #archiveContent {
    display: flex;
    flex-flow: column wrap;
    align-items: center;
    justify-content: space-between;
    max-width:100%;
}
@media (min-width: 750px){
#startContent{
    /*display: none;*/
}
}
.startElement{
    max-width: 80%;
    padding: 40px;
    flex: 0 0 auto;
    box-sizing: border-box;
    /*overflow: hidden;*/
}
@media (min-width: 750px){
.startElement{
    max-width: 40%;
    padding: 50px;
}
}
@media (min-width: 1000px){
.startElement{
    max-width: 30%;
}
}
@media (min-width: 1366px){
.startElement{
    padding: 3.6%;
}
}
.startElement .inner {
    width: 100%;
    height: 100%;
    display: flex;
    flex: 1 0 auto;
    justify-content:center;
    align-items:center;
    position: relative;
    transition: all 0.5s;
}
.startElement img, .startElement video{
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;

}

#detailImageContent{
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 40px;
}
@media (min-width: 750px){
#detailImageContent{
    margin: 50px 7vw 130px;
}
}
@media (min-width: 750px){
#detailImageContent.multi{
    flex-direction: row;
    flex-wrap: wrap;
    max-width: 1374px;
}
}

#detailImageContent > *{
    margin: 3px;
    box-sizing: border-box;
    height: auto;
    width: 100%;
}
@media (min-width: 750px){
#detailImageContent > .detailVideoContainer{
    width: 80%;
    max-width: 800px;
}
}
@media (min-width: 750px){
#detailImageContent > img{
    width: 80%;
    max-width: 800px;
}
}
@media (min-width: 750px){
#detailImageContent.multi > *{
    width: calc(50% - 6px);
    max-width: 687px;
}
#detailImageContent.multi > #detailTextIntro, #detailImageContent.landscape > *{
    width: calc(100% - 6px);
    max-width: 1380px;
}
}

.detailVideo{
    max-width: 100%;
    margin: 0 auto;
}


#overlay{
    width: 100vw;
    height: 100%;
    min-height: 100vh;
    display: none;
    top: -150px;
    padding-top: 150px;
    padding-bottom: 150px;
    position: absolute;
    z-index: 5;
    overflow: scroll;
}
@media (min-width: 750px){
#overlay{
    top: 0;
    padding: 0;
}
}
#overlay a{
    text-decoration: none;
    color: black;
}
#overlay.black a{
    color: white;
}
a#archiveLink{
    color: blue;
    margin-bottom: 30px;
}
#overlay.black a#archiveLink{
    color: blue;
}
#overlay p{
    margin-top: 0;
}
#overlay.black{
    color: white;
}
/*#overlay > #overlayContent, #overlay > #overlayHeader{*/
#overlay{
    background-color: rgba(255,255,255,0.9);
}
/*#overlay.black > #overlayContent, #overlay.black > #overlayHeader{*/
#overlay.black{
    background-color: rgba(0,0,0,0.9);
}
#overlayContent{
    display: grid;
    grid-template-columns: 1fr;
    font-size: 18px;
    margin: 30px 30px 0;
    padding-bottom: 30px;
}
@media (min-width: 800px){
#overlayContent{
    display: grid;
    grid-template-columns: 2fr 7fr;
    font-size: 22px;
}
}
@media (min-width: 1200px){
#overlayContent{
    font-size: 26px;
}
}

.startElement .inner .elementOverlay{
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    background-color: rgba(255,255,255,0.8);
    color: black;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 18px;
    opacity: 0;
    transition: opacity 0.5s;
}
.startElement .inner .elementOverlay.black{
    color: white;
    background-color: rgba(0,0,0,0.8);
}
.startElement .inner:hover .elementOverlay{
    opacity: 1;
    /*display: flex;*/
}
.startElement .inner:hover{
    transform: scale(1.03);
}

#startpageOverlay{
    display: none;
}
@media (min-width: 750px){
#startpageOverlay{
    cursor: pointer;
    /*display: flex;*/
    align-items: center;
    justify-content: center;
    position: absolute;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    background-color: white;
    font-size: 7vw;
    z-index: 3;
}
}

.elementOverlay > p{
    margin: 7px;
}

#detailTextMobile{
    font-size: 13px;
}
#detailTextIntro{
    font-size: 18px;
}
@media (min-width: 800px){
#detailTextMobile{
}
#detailTextIntro{
    font-size: 22px;
}
}
@media (min-width: 1200px){
#detailTextIntro{
    font-size: 26px;
}
}
#detailTextIntro > p{
    margin-top: 0;
}
@media (min-width: 750px){
#detailTextMobile, #detailTextIntro{
    width: 80%;
    max-width: 800px;
}
}


.imprint{
    font-size: 18px;
    margin: 3em 30px;
}
@media (min-width: 750px){
.imprint{
    width: 50%;
    margin: 3em auto;
}
}
