@import url('https://fonts.googleapis.com/css2?family=Science+Gothic:wght@100..900&display=swap');

/*
    MAIN STYLING
*/

* {
    box-sizing: border-box;
    margin: 0px;
    padding: 0px;
    list-style: none;
}

a {
    text-decoration: none;
    color: inherit;
}

:root {
    --main-page-color: #ccc;
    --title-color1: rgba(187, 187, 187, 0.6);
    --title-color2: rgba(221, 221, 221, 0.6);
    --headshot-opacity: 0.8;
}

html {
    font-size: 0.84vw;
    scroll-behavior: smooth;
}

body {
    background-color: var(--main-page-color);
}

/*
    ACCESSIBILITY OPTIONS
*/

/* Dark Mode */
@media (prefers-color-scheme: dark) {
    :root {
        --main-page-color: #333;
        --title-color1: rgba(34, 34, 34, 0.6);
        --title-color2: rgba(68, 68, 68, 0.6);
        --headshot-opacity: 0.6;
    }

    body {
        color: #ccc;
    }
}

/*  Motion Sickness Accessibility */
@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto !important;
        transition: all 0.1ms;
    }
}

/*
-----------------------------------------------------------------------------------
    MOBILE SUPPORT
-----------------------------------------------------------------------------------
*/

/*
    WELCOME SECTION
*/

@media (orientation: portrait) {
    .nav-link {
        font-size: 8rem;
    }

    #title-image-container {
        width: 100%;
        height: 100dvh;
        display: grid;
        grid-template-rows: 1fr 11.8rem 1fr 11.8rem 1fr;
    }

    #will-img {
        background-color: var(--main-page-color);
        width: 100%;
        height: 100%;
        overflow: hidden;
        position: relative;
    }

    #will-img::after {
        content: "";
        background-image: url("../images/will-horizontal-headshot.jpg");
        background-repeat: no-repeat;
        background-position: 50% 30%;
        background-size: cover;
        position: absolute;
        top: 0px;
        right: 0px;
        bottom: 0px;
        left: 0px;
        z-index: 1;
        opacity: var(--headshot-opacity);
        transition: all 0.5s;
    }

    #jacq-img {
        background-color: var(--main-page-color);
        width: 100%;
        height: 100%;
        overflow: hidden;
        position: relative;
    }

    #jacq-img::after {
        content: "";
        background-image: url("../images/jacqui-horizontal-headshot.jpeg");
        background-repeat: no-repeat;
        background-position: 50% 20%;
        background-size: cover;
        position: absolute;
        top: 0px;
        right: 0px;
        bottom: 0px;
        left: 0px;
        z-index: 1;
        opacity: var(--headshot-opacity);
        transition: all 0.5s;
    }

    #marsh-img {
        background-color: var(--main-page-color);
        width: 100%;
        height: 100%;
        overflow: hidden;
        position: relative;
    }

    #marsh-img::after {
        content: "";
        background-image: url("../images/marsh-horizontal-headshot.jpeg");
        background-repeat: no-repeat;
        background-position: 50% 0%;
        background-size: cover;
        position: absolute;
        top: 0px;
        right: 0px;
        bottom: 0px;
        left: 0px;
        z-index: 1;
        opacity: var(--headshot-opacity);
        transition: all 0.5s;
    }

    #title {
        display: none;
    }

    #mobile-title1, #mobile-title2 {
        width: 100%;
        font-size: 8rem;
        font-weight: 500;
        font-family: "Science Gothic", sans-serif;
        text-align: center;
        background: linear-gradient(to top right, var(--title-color1), var(--title-color2));
    }

    .headshot p{
        display: block;
        position: absolute;
        width: 100%;
        text-align: center;
        font-size: 5rem;
        font-weight: 200;
        font-family: "Science Gothic", sans-serif;
        background: linear-gradient(to top right, rgba(34, 34, 34, 0.6), rgba(68, 68, 68, 0.6));
        color: #ccc;
        bottom: 3%;
        z-index: 2;
    }
}

/*
-----------------------------------------------------------------------------------
    PC SUPPORT
-----------------------------------------------------------------------------------
*/

/*
    NAV BAR
*/

/* Hamburger Animation */

.hamburger {
    padding: 15px 15px;
    position: fixed;
    z-index: 10;
    right: 0;
    display: inline-block;
    cursor: pointer;
    transition-property: opacity, filter;
    transition-duration: 0.15s;
    transition-timing-function: linear;
    font: inherit;
    color: inherit;
    text-transform: none;
    background-color: transparent;
    border: 0;
    margin: 0;
    overflow: visible;
}

.hamburger:hover {
    opacity: 0.7;
}

.hamburger.is-active:hover {
    opacity: 0.7;
}

.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {
    background-color: #ccc;
}

.hamburger-box {
    width: 40px;
    height: 24px;
    display: inline-block;
    position: relative;
}

.hamburger-inner {
    display: block;
    top: 50%;
    margin-top: -2px;
}

.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    width: 40px;
    height: 4px;
    background-color: #ccc;
    border-radius: 4px;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.15s;
    transition-timing-function: ease;
}

.hamburger-inner::before, .hamburger-inner::after {
    content: "";
    display: block;
}

.hamburger-inner::before {
    top: -10px;
}

.hamburger-inner::after {
    bottom: -10px;
}

.hamburger--collapse .hamburger-inner {
    top: auto;
    bottom: 0;
    transition-duration: 0.13s;
    transition-delay: 0.13s;
    transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--collapse .hamburger-inner::after {
    top: -20px;
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear;
}

.hamburger--collapse .hamburger-inner::before {
    transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--collapse.is-active .hamburger-inner {
    transform: translate3d(0, -10px, 0) rotate(-45deg);
    transition-delay: 0.22s;
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger--collapse.is-active .hamburger-inner::after {
    top: 0;
    opacity: 0;
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear;
}

.hamburger--collapse.is-active .hamburger-inner::before {
    top: 0;
    transform: rotate(-90deg);
    transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
}

nav {
    position: fixed;
    top: 0%;
    width: 100%;
    z-index: 10;
    display: none;
}

nav ul {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    column-gap: 2.5em;
    width: 100%;
    height: 30px;
    padding: 1.25em;
}

.nav-link {
    transition: all 0.2s;
}

.nav-link:hover {
    background-color: #999;
}

/*
    WELCOME SECTION
*/
@media (orientation: landscape) {
    .nav-link {
        font-size: 2rem;
    }
    
    #title-image-container {
        width: 100%;
        height: 100vh;
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        overflow: hidden;
    }

    #will-img {
        display: block;
        background-color: var(--main-page-color);
        width: 100%;
        height: 100%;
        overflow: hidden;
        position: relative;
    }

    #will-img::after {
        content: "";
        background-image: url("../images/will-vertical-headshot.jpg");
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        position: absolute;
        top: 0px;
        right: 0px;
        bottom: 0px;
        left: 0px;
        z-index: 1;
        opacity: var(--headshot-opacity);
        transition: all 0.5s;
    }

    #jacq-img {
        background-color: var(--main-page-color);
        width: 100%;
        height: 100%;
        overflow: hidden;
        position: relative;
    }

    #jacq-img::after {
        content: "";
        background-image: url("../images/jacqui-vertical-headshot.jpeg");
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        position: absolute;
        top: 0px;
        right: 0px;
        bottom: 0px;
        left: 0px;
        z-index: 1;
        opacity: var(--headshot-opacity);
        transition: all 0.5s;
    }

    #marsh-img {
        background-color: var(--main-page-color);
        width: 100%;
        height: 100%;
        overflow: hidden;
        position: relative;
    }

    #marsh-img::after {
        content: "";
        background-image: url("../images/marsh-vertical-headshot.jpeg");
        background-repeat: no-repeat;
        background-position: 50% 35%;
        background-size: cover;
        position: absolute;
        top: 0px;
        right: 0px;
        bottom: 0px;
        left: 0px;
        z-index: 1;
        opacity: var(--headshot-opacity);
        transition: all 0.5s;
    }

    #title {
        width: 100%;
        font-size: 6rem;
        font-weight: 500;
        font-family: "Science Gothic", sans-serif;
        text-align: center;
        background: linear-gradient(to top right, var(--title-color1), var(--title-color2));
        position: absolute;
        bottom: 20%;
        z-index: 2;
    }

    #mobile-title1, #mobile-title2, .mobile-title-container {
        display: none;
    }

    .headshot p{
        display: block;
        position: absolute;
        width: 100%;
        text-align: center;
        font-size: 3rem;
        font-weight: 200;
        font-family: "Science Gothic", sans-serif;
        background: linear-gradient(to top right, rgba(34, 34, 34, 0.6), rgba(68, 68, 68, 0.6));
        color: #ccc;
        bottom: 1%;
        z-index: 2;
    }
}

#will-img:hover::after,
#jacq-img:hover::after,
#marsh-img:hover::after {
    opacity: 100%;
}

#will-img p.name,
#jacq-img p.name,
#marsh-img p.name,
#will-img:hover p.link-callout,
#jacq-img:hover p.link-callout,
#marsh-img:hover p.link-callout {
    opacity: 1;
}

#will-img p.link-callout,
#jacq-img p.link-callout,
#marsh-img p.link-callout,
#will-img:hover p.name,
#jacq-img:hover p.name,
#marsh-img:hover p.name {
    opacity: 0;
}

p.name,
p.link-callout {
    transition: all linear 0.5s;
}

.section-title {
    font-family: "Science Gothic", sans-serif;
    font-size: 4rem;
    font-weight: 350;
    margin: 2rem;
    text-align: center;
}

#media {
    background-color: var(--main-page-color);
}

.video-container {
    display: flex;
    justify-content: center;
    align-items: center;
}

.music-video {
    width: 70%;
    aspect-ratio: 16 / 9;
    border-radius: 20px;
}