@charset "UTF-8";

@font-face {
  font-family: "WT Standaard Regular";
  src: url('../assets/font/standaard/Standaard-Display.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "WT Standaard Italic";
  src: url('../assets/font/standaard/Standaard-Display-Italic.woff2') format('woff2');
  font-weight: 400;
  font-style: normal; /* Wir zwingen es später per CSS */
  font-display: swap;
}

@font-face {
    font-family: 'titlefont';
    src: url('../assets/font/copperplate/Copperplate-ThirtyTwoBC.woff2') format('woff2'),
         url('../assets/font/copperplate/Copperplate-ThirtyTwoBC.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

* {
    margin: 0;
    padding: 0;
}

::-webkit-scrollbar {
    display: none;
}

::selection {
    color: #776868;
}

::-moz-selection {
    color: #776868;
}

/* TYPOGRAPHY */

h1 {
    font-family: 'titlefont';
    font-weight: normal;    
    font-size: 3.5rem;
    letter-spacing: 5px;
    font-weight: normal;
    text-align: center;
    rotate: 90deg;
}

h2 {
    font-family: "WT Standaard Italic", Times New Roman, Times, serif;
    font-style: normal; /* Font ist intern schon Italic gezeichnet */
    font-synthesis: none; /* verhindert synthetische Italic/Bold */
    text-align: center;  
    font-size: 22px;
    line-height: 35px;
    letter-spacing: 2px;
}

h3 {
    font-family: "WT Standaard Regular", Times New Roman, Times, serif;  
    font-weight: normal;
    text-align: center;  
    font-size: 22px;
    line-height: 35px;
    letter-spacing: .2px;
    padding: 0 0 15px 0;
}

a, p, ul {
    font-family: "WT Standaard Regular", Times New Roman, Times, serif;
    font-variant-numeric: oldstyle-nums;
    font-size: 22px;
    line-height: 35px;
    letter-spacing: 0px;
    color: black;
    text-decoration: none;
    font-synthesis: none; /* verhindert synthetische Italic/Bold */   
}

span {
    display: inline;     
}

i {
    display: inline;    
    font-family: "WT Standaard Italic", Times New Roman, Times, serif;
    letter-spacing: 1px;
    text-transform: none;
    font-synthesis: none; /* verhindert synthetische Italic/Bold */    
}

strong {
    display: inline;        
    text-transform: uppercase;
    letter-spacing: 2.5px; 
    font-weight: normal; 
}


.allcaps {
    text-transform: uppercase;
    letter-spacing: 2.5px;  
}

.allcaps:hover {
    font-family: "WT Standaard Italic", Times New Roman, Times, serif;
    font-style: normal; /* Font ist intern schon Italic gezeichnet */
    font-synthesis: none; /* verhindert synthetische Italic/Bold */
}

.letterspacing a {
    letter-spacing: .2px;
}

.indexspacing {
    letter-spacing: 2px;
}

.sansserif, .sansserif a {
    font-family: 'Univers', Arial, sans-serif;
    font-variant-numeric: normal;
    font-size: 18px;
    line-height: 35px;
    word-spacing: .1px;
    letter-spacing: .3px;    
}

/* DESIGN */

html {
    width: 100vw;
    height: auto;
    background: white;
    cursor: default;
    font-size: 100.0%;
    overflow-y: scroll;
    text-rendering: optimizeLegibility;    
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;    
}

ul {
    height: auto;
}

ul li {
    list-style-type: none;
}

.ignoreclick {
    display: inline-block;
}

#projects {
    display: block;
    width: 100vw;
    height: auto;
    /* Fallback for browsers that do not support Custom Properties */
    height: calc(var(--vh, 1vh) * 100);
    margin: 0;
}

.projektdetail {
    width: 100%;
    height: 100%;
    opacity: 1;
}

#div1 {
    overflow: hidden;
    position: relative;
}

#div2,
#div3,
#div4,
#div5,
#div6,
#div7,
#div8,
#div9,
#div10,
#div11,
#div12,
#div13 {
    display: none;
}

.teaser {
    width: 100%;
    height: 100%;
}

.teaser video {
    display: flex; /* Falls das Bild innerhalb zentriert sein soll */
    justify-content: center;
    align-items: center;
    max-height: 60%;
    max-width: 80vw;   
    /*object-fit: cover;      */
    user-drag: none;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-drag: none;
    -webkit-user-select: none;
    -ms-user-select: none;     
}

.intro {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;        
    height: 100%;
    width: 100%;
}

.intro a, p {
    display: inline-flex;
    justify-content: center;
    align-items: baseline;
    flex-wrap: wrap;
    max-width: calc(100% - 50px);
    font-family: "MagdaLight", Arial, sans-serif;
    font-size: 14vw;
    line-height: 1;
    display: inline-block;
    vertical-align: middle;
    text-align: center;
}

.title {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

/* BILDFORMATE */

.twocolumns {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    gap: 0vw;
}

.twocolumns picture{
    display: inline-block;
    margin: 0;
}

.twocolumns img {
    max-height: 60vh;    
    max-width: 40vw;
    display: block;    
    user-drag: none;
    user-select: none;   
    -moz-user-select: none;
    -webkit-user-drag: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}

.passepartout {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

.passepartout img {   
    max-height: 60vh;
    max-width: 80vw;
    display: block; /* Entfernt mögliche extra Abstände */
    user-drag: none;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-drag: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}

.framed {
  display: inline-block;
  padding: 8px;
  background: white;
  box-shadow:
    0 0 0 2.5px black,   /* äußerer Rahmen */
    0 0 0 10px white,  /* Abstand (weiß) */
    0 0 0 11px black;  /* innerer Rahmen */
}

.stroke {
  outline: 3.25px solid black;
  outline-offset: -3.25px;
}

.pagina {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: calc(100% - 40px);
    position: absolute;
    top: 80px;
    left: 20px;
    text-align: center;
}

.indexpagina {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 35px;
    width: calc(100% - 80px);
    position: absolute;
    top: 80px;
    text-align: center;
}

.indexpagina a:hover {
    font-family: "WT Standaard Italic", Times New Roman, Times, serif;
    font-style: normal; /* Font ist intern schon Italic gezeichnet */
    font-synthesis: none; /* verhindert synthetische Italic/Bold */
    letter-spacing: 1px;    
}

.showissue {
    display: block;
}

.archivepagina {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 35px;
    width: calc(100% - 80px);
    position: absolute;
    top: 80px;
    text-align: center;
    z-index: 999999;
}

.archivepagina a:hover {
    font-family: "WT Standaard Italic", Times New Roman, Times, serif;;
    letter-spacing: 1px;    
}

.issuepagina {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 35px;
    width: calc(100% - 80px);
    position: absolute;
    top: 80px;
    text-align: center;
    z-index: 999999;
}

.issuepagina a:hover {
    font-family: "WT Standaard Italic", Times New Roman, Times, serif;;
    letter-spacing: 1px;    
}

.hint:hover {
    font-family: "WT Standaard Italic", Times New Roman, Times, serif;;
    letter-spacing: 1px;
}

/* ////////////////////////////////////////// INDEX */

#indexcontainer {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100vw - 80px);
    padding: 180px 40px 0 40px;
    background: white;
}

#indexcontainer ul {
    display: flex;
    flex-direction: column;
    z-index: 20;
    gap: 1rem;
}

.indexcontent {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-direction: column;    
    width: 100%;
    height: auto;
    gap: 1rem;    
}

.indexcontentrow {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-direction: column;
    width: 100%;
    min-height: auto;
    gap: 2vh;
    padding: 180px 0 0 0;
}

.paddingbottom {
    padding: 0 0 80px 0;
}

.description {
    width: calc(100vw - 80px)
}

.indexhover {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100vw;
    height: 100vh;
    object-fit: cover; /* Zuschneiden, um den Container zu füllen */              
    z-index: 10;  
}

.indexhover img {
    max-height: 60vh;
}

.indexhover video {
    max-height: 60vh;
}

.indexandria,
.indexconstance,
.indexcastelmonte,
.indexcorbusieur,
.indexdublin,
.indexberlin,
.indexmangiare,
.indexgravina,
.indexstuttgart,
.indexalberobello,
.indexhowth,
.indexflixtrain {
    display: none;
}

/* ////////////////////////////////////////// ARCHIVE */

/* Container */
#archivecontainer {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100vw - 80px);
    padding: 0 40px;
    background: white;
    z-index: 999;
}

/* Inhalt */
.archivecontentrow {
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    gap: 2rem;
}

.archivecontentrow img,
.archivecontentrow video {
    max-width: 80vw;
    max-height: 60vh;
    display: block;
}

/* === FIXIERTER HEADLINE-FIX (robust auf Mobile) === */
#archiveheadline {
    position: fixed;
    top: 50svh; /* nutzt immer die kleinere Höhe, also mit sichtbarer Adressleiste */
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 9999;
    pointer-events: none;
    font-family: "WT Standaard Regular", Times New Roman, Times, serif;
    font-variant-numeric: oldstyle-nums;
    font-size: 22px;
    line-height: 35px;
    text-align: center;
    color: black;
    transition: transform 0.4s ease, top 0.4s ease;    
}

/* Fallback für alte Browser, die dvh nicht kennen */
@supports not (height: 100dvh) {
    #archiveheadline {
        top: 50vh;
    }
}

/* ////////////////////////////////////////// ISSUE */

/* Container */
#issuecontainer {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100vw - 80px);
    padding: 0 40px;
    background: white;
    z-index: 999;
}

/* Inhalt */
.issuecontentrow {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 100%;
    min-height: auto;
    gap: 2vh;
    padding: 180px 0 0 0;
}

.issuecontentrow ul {
    text-align: center;
}

.desonly {
    display: none;
}

.issuecontentrow img,
.issuecontentrow video {
    max-width: 80vw;
    max-height: 60vh;
    display: block;
}

/* ////////////////////////////////////////// LOADER */

.loader {
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed; /* nicht absolute */
    top: 0;
    left: 0;
    width: 100vw;
    min-height: 100%;
    overflow: hidden; /* kein internes Scrollen */
    z-index: 9999;
    background: white;
}

.loader-text {
    max-width: 70%;
    font-variant-numeric: oldstyle-nums;
}

/* MEDIA SCREEN MIN 800PX */

@media screen and (min-width: 800px) {

#indexcontainer {
    padding: 0 40px 0 40px;
} 

#indexcontainer ul {
    gap: 1.5rem;
}

.indexcontent {
    align-items: center;    
    flex-direction: row;    
    gap: 10vw;
    min-height: 100vh;
}    

.indexcontentrow {
    align-items: center;
    min-height: 100vh;
    padding: 0 0 0 0;    
}

.issuecontentrow {
    align-items: center;
    min-height: 100vh;
    padding: 0 0 0 0;    
}

.desonly {
    display: block;
}

.paddingbottom {
    padding: 0 0 0 0;
}

.pagina {
    flex-direction: row;
    gap: 35px;
}    

h1 {
    font-size: 6rem;
    letter-spacing: 5px;
    margin: 0;
    padding: 0;
    max-width: 80%;
    rotate: 0deg;
    margin: 0 0 20px 0;        
}

h2 {
    font-size: 30px;
    line-height: 50px;
}


h3 {
    font-size: 30px;
    line-height: 50px;
    letter-spacing: 1.5px;    
}

.description {
    width: 50vw;
}

.twocolumns {
    gap: 15vw;
}

.framed {
  padding: 15px;
  box-shadow:
    0 0 0 3.5px black,   /* äußerer Rahmen */
    0 0 0 11px white,  /* Abstand (weiß) */
    0 0 0 12.5px black;  /* innerer Rahmen */
}

.stroke {
  outline: 4.5px solid black;
  outline-offset: -4.5px;
}

}
