/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}
body {
  line-height: 1;
}
ol,
ul {
  list-style: none;
}
blockquote,
q {
  quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* custom css */

:root{
    --background: #ffffff;
    --header: #C5C9A4;
    --backgroundGray:#e9e9e6;
    --textBase: #3B575C;
    --border: rgb(0, 0, 0);
    --highlight: #12D001;
    --textSub:#93938f;
}



/* html */

html{
    background-color: var(--background);
    font-size: 16px;
    overflow-x: hidden;
}

/* type */
p, h1, h2, h3, h4, h5, sub, a, caption{
    font-family: "Barlow Semi Condensed", sans-serif;
    font-weight: 300;
    font-style: normal;
    color: var(--textBase);
}

h1{
    font-size:2.75em;
    text-transform: uppercase;
}

h2{
    font-size:1.75em;
    text-transform: uppercase;
}

sub, caption{
    font-size: 0.8em;
    line-height: 1.2em;
    opacity: 70%;
}

a:hover, .active{
    text-decoration: underline 1.2px var(--textBase) !important;
    text-underline-offset: 3px !important;
}

.button, .button:hover{
    text-decoration: none !important;
    margin-top:0.5em;
    padding:0.5em 1em;
    width:fit-content;
    border-radius: 3em;
}

.button{
    background-color: var(--header);
}

.button:hover{
    background-color: var(--background);
}

/* header */
header{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100vw;
    padding: 0.25em 3em 0.25em 1.75em;
    box-sizing: border-box;
    background-color: var(--header);
    align-items: center;
    position: fixed;
    top:0;
    z-index: 100;
}

.header-logo>img{
    height: 4em;
    width: auto;
}

.header-items{
    display: flex;
    flex-direction: row;
    gap: 2em;
}

.header-items a{
    text-transform: uppercase;
    text-decoration: none;
}



/* footer */

footer{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100vw;
    height: 28em;
    margin-top: -15em;
    padding: 0.25em 2em 1em 2em;
    box-sizing: border-box;
    background-image: url('images/footer.png');
    background-position-y: bottom;
    align-items: end;
}

.footer-items{
    display: flex;
    flex-direction: row;
    gap: 0.5em;
}

.footer-items a{
    text-transform: uppercase;
    text-decoration: none;
    font-size: 0.8em;
}

.fixed{
    position:fixed;
    bottom:0;
    z-index: 0;
}


/* main */

main{
    padding-top: 4.5em;
}

/* project page*/

.project-page{
    min-height: 100vh;
    overflow-x: hidden;
}

.project-page footer{
    position:relative;
    margin-top: 10em;
    bottom:0;
    background-image: none;
    height: 10em;
}


section.project-header{
    width: 100vw;
    box-sizing: border-box;
    padding: 5em 50% 2.5em 0;
    display: flex;
    flex-direction: column;
    gap: 0.5em;
    justify-content: end;
    margin-bottom: 1em;
}

.project-page main{
    padding-left: 15em;
    padding-right: 15em;
    row-gap: 0.5em;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

.project-page .full-width{
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-bottom: 3em;
    gap: 0.75em
}

.project-page img, .project-page img{
    width:100%;
}

.image-row{
    display:flex;
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: 3em;
}

.image-row .half-width{
    width: 49.5%;
    height: auto;
}

.image-row .sixty-width{
    width: 66%;
    height: auto;
}

.image-row .thirty-width{
    width: 33%;
    height: auto;
}

.image-row .quarter-width{
    width: 24.5%;
    height: auto;
}

.medium-portrait img{
    aspect-ratio: 3/4;
    object-fit: cover;
}

.medium-landscape img{
    aspect-ratio: 4/3;
    object-fit: cover;
}

.large-portrait img{
    aspect-ratio: 9/16;
    object-fit: contain;
}

.large-landscape img{
    aspect-ratio: 16/9;
    object-fit: cover;
}

.project-page main>p{
    margin-bottom: 3em;
    margin-right: 50%;
}


/* banner */

section.banner{
    width: 100vw;
    height: 23vw;
    box-sizing: border-box;
    padding: 0.25em 50% 2.5em 7em;
    display: flex;
    flex-direction: column;
    gap: 0.5em;
    justify-content: end;
}

.banner>img{
    width:100vw;
    height: 23vw;
    position: absolute;
    object-fit: cover;
    left:0;
    top:4.45em;
    z-index: 0;
    opacity:30%;
    z-index: 0;
}

.banner>p, .banner>h1, .banner>a{
    z-index: 90;
}

/* about */

section.about{
    width: 100vw;
    height: 70vh;
    box-sizing: border-box;
    padding: 5em 10% 2em 10%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    z-index: 100;
}

.about div{
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1em;
    width: 50%;
}

.about img{
    aspect-ratio: 3/4 !important;
    z-index: 100;
    object-fit: cover;
}




/* project home */

.projects{
    width: 100vw;
    padding: 7em;
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    row-gap: 2em;
    column-gap: 2%;
    flex-wrap: wrap;
}

.projects>a{
    width: 32%;
    aspect-ratio: 1;
    background-size: cover;
    box-sizing: border-box;
    display: flex;
}

.projects a img{
    width: 31.5%;
    aspect-ratio: 1;
    object-fit: fill;
    position: relative;
    left:0;
    bottom: 0;
    z-index: 0;
    opacity:100%;
    display: block;
}

.projects.art>div{
    width: 32%;
    aspect-ratio: 3/4;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    box-sizing: border-box;
    display: flex;
}


.projects a:hover img{
}

.projects a:hover div{
    display: flex;
}

.projects div{
    width: 100%;
    aspect-ratio: 1;
    position: relative;
    left:0;
    bottom: 0;
    z-index: 0;
    padding: 0.75em;
    gap: 0.5em;
    background-color: rgba(255, 255, 255, 0.75);  
    backdrop-filter: blur(4px);
    display: none;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}

.projects.art>div>div{
    display:flex;
    aspect-ratio: auto;
    justify-content: left;
    text-align: left;
    padding-left: 0;
}

.projects a:hover{
    backdrop-filter: opacity(.4);
    text-decoration: none !important;
}

.coming-soon{
    text-decoration: none !important;
    cursor: progress;
}

.coming-soon div{
    display: flex !important;
        backdrop-filter: saturation(0);

}




@media screen and (max-width: 1200px) { 
   .project-page main{
        padding-left: 5em;
        padding-right: 5em;
    }

    .project-page main>sub, .project-page main>p{
        margin-bottom: 3em;
        margin-right: 40%;
    }

    section.project-header{
        padding: 4em 20% 2.5em 0;
    }

}

@media screen and (max-width: 800px) {
    section.banner{
        width: 100vw;
        height: 35vw;
        box-sizing: border-box;
        padding: 0.25em 5% 1em 5%;
        padding-top: auto;
        display: flex;
        flex-direction: column;
        gap: 0.5em;
        justify-content: end;
    }

    .banner>img{
        width:100vw;
        height: 35vw;
        /* position: absolute;
        object-fit: cover;
        left:0;
        top:4.45em;
        z-index: 0;
        opacity:30%; */
    }

    .projects{
        width: 100vw;
        padding: 5%;
        row-gap: 1em;
        box-sizing: border-box;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .projects>a{
        width: 100%;
        aspect-ratio: 1;
        background-size: cover;
        box-sizing: border-box;
        display: flex;
    }

    .project-page main{
        padding-left: 1.5em;
        padding-right: 1.5em;
        row-gap: 1em;
    }

    .project-page main>sub, .project-page main>p{
        margin-bottom: 3em;
        margin-right: 20%;
    }

    section.project-header{
        padding: 2em 20% 2.5em 0;
    }

    .image-row{
        display:flex;
        flex-direction: column;
        justify-content: space-between;
        row-gap: 1em;

    }

    .image-row .half-width, .image-row .sixty-width, .image-row .thirty-width{
        width: 100%;
        height: auto;
    }

    .header-logo>img{
        height: 2.5em;
        width: auto;
    }

    .header-items{
        display: flex;
        flex-direction: row;
        gap: 1em;
    }

    

}