@font-face {
    font-family: "BebasNeue";
    src: url("fonts/BebasNeue-Regular.woff2") format("woff2");
}

html {
    scroll-behavior: smooth;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background-color: var(--primairy-color);
    color: var(--secondary-color);
    max-width: 1536px;
    margin: 0 auto;
    overflow-x: hidden;
}

body.popover-open {
    overflow: hidden;
}

main {
    padding-inline: var(--page-padding);
}

main > * + * {
    margin-top: var(--section-gap);
}

#page-loader {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: grid;
    place-items: center;
    background-color: var(--primairy-color);
    color: var(--secondary-color);
    transition: opacity 0.6s ease, visibility 0.6s ease;
}

#page-loader.is-hidden {
    opacity: 0;
    visibility: hidden;
}

.loader-code {
    display: inline-flex;
    align-items: center;
    gap: 0.15em;
    font-family: var(--font-primary);
    font-size: clamp(3rem, 10vw, 8rem);
    line-height: 1;
    animation: loader-pop 1.2s ease-in-out infinite;
}

.loader-brace {
    color: #ffd700;
    animation: loader-brace 1.2s ease-in-out infinite;
}

.loader-word {
    color: var(--secondary-color);
    text-shadow: 0 0 1.5rem rgba(255, 255, 255, 0.75);
}

@keyframes loader-pop {
    0%,
    100% {
        opacity: 0.65;
        transform: scale(0.96);
    }

    50% {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes loader-brace {
    0%,
    100% {
        color: #ffd700;
        transform: translateX(0);
    }

    50% {
        color: #a259ff;
        transform: translateX(var(--brace-offset, 0));
    }
}

.loader-brace:first-child {
    --brace-offset: -0.15em;
}

.loader-brace:last-child {
    --brace-offset: 0.15em;
}


:root {
    /* Colors */
    --primairy-color: #000;
    --secondary-color: #fff;
    --text-color: ;
    --accent-color: #d88c3a;
    --accent-soft-color: #f2dcc3;
    --card-surface-color: #1f1a14;
    --button-color: #94ADFF;

    /* Fonts */
    --font-primary: "BebasNeue", sans-serif;
    --secondairy-font: "Arial", sans-serif;

    /* Font sizes */
    --font-size-h1: clamp(4rem, 12vw, 8rem);
    --font-size-h2: clamp(2.5rem, 6vw, 5rem);
    --font-size-h3: clamp(1.5rem, 3vw, 2rem);
    --text-size: clamp(0.9rem, 2vw, 2rem);

    /* Gradients */

    
    /* Spacing */
    --page-padding: clamp(1rem, 5vw, 5rem);
    --section-gap: clamp(4rem, 9vw, 8rem);
    --section-spacing: 0 var(--page-padding);
    --content-max-with: 72rem;
    --content-padding: 5rem var(--page-padding);
    --header-height: 10vh;
}








/* Header code */
header {
    height: var(--header-height);
    width: 100%;
    align-content: center;
    padding: var(--section-spacing);
}

header nav{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    color: var(--secondary-color);

    >a {
        display: flex;
        text-align: center;
        font-family: var(--font-primary);
        font-size: 2rem;
        font-weight: 1000;
    }

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

    ul {
        display: flex;
        flex-direction: row;
        gap: 2rem;

        li {
            display: flex;
            align-items: center;
            justify-content: center;
            list-style: none;
            font-family: var(--font-primary);
            font-size: 1.2rem;
            color: var(--text-color);
            cursor: pointer;
        }

        li:not(.contact-button) a {
            position: relative;
        }

        li:not(.contact-button) a::after {
            content: "";
            position: absolute;
            left: 0;
            right: 0;
            bottom: -0.10rem;
            height: 2px;
            background-color: var(--button-color);
            transform: scaleX(0);
            transform-origin: left center;
            transition: transform 0.35s ease, background-color 0.35s ease 0.15s;
        }

        li:not(.contact-button) a:hover::after {
            background-color: var(--accent-color);
            transform: scaleX(1);
        }

        .contact-button {
            position: relative;
            overflow: hidden;
            isolation: isolate;
            display: flex;
            align-items: center;
            justify-content: center;
            background-color: var(--button-color);
            min-width: clamp(6rem, 6vw, 10rem);
            min-height: clamp(2rem, 3vw, 3rem);
            border-radius: 100px;
        }

        .contact-button::before {
            content: "";
            position: absolute;
            top: 0;
            bottom: 0;
            left: -20%;
            width: 140%;
            background-color: var(--accent-color);
            z-index: -1;
            transform: translateX(-100%) skewX(-18deg);
            transform-origin: left center;
            transition: transform 0.45s ease;
        }

        .contact-button svg {
            position: absolute;
            left: 1rem;
            width: 1rem;
            height: 1rem;
            opacity: 0;
            transform: translateX(-2rem) rotate(-90deg);
            transition: transform 0.3s ease, opacity 0.3s ease;
        }

        .contact-button a {
            transition: transform 0.3s ease;
        }

        .contact-button:hover svg {
            opacity: 1;
            transform: translateX(0) rotate(-90deg);
        }

        .contact-button:hover::before {
            transform: translateX(0) skewX(-18deg);
        }

        .contact-button:hover a {
            transform: translateX(0.55rem);
        }
    }

    .hamburger {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 5px;
        cursor: pointer;
        width: 70px;
        height: 70px;
        border: none;
        background: none;
        z-index: 2;
        display: none;

        span {
            display: block;
            width: 40px;
            height: 5px;
            background-color: var(--secondary-color);
            border-radius: 2px;
        }
    }
}








/* hero section */
.hero-section {
        margin-inline: calc(var(--page-padding) * -1);
        position: relative;
        min-height: calc(100vh - var(--header-height));
        background-color: color-mix(in srgb, var(--primairy-color) 82%, transparent);
        backdrop-filter: blur(32px);
        -webkit-backdrop-filter: blur(32px);
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 1em;
        align-items: center;

        h1 {
            width: 100%;
            font-family: var(--font-primary);
            font-size: var(--font-size-h1);
            color: var(--secondary-color);
            text-align: center;
            line-height: 110px;
        }

        #scroll-down {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            gap: 1em;
            position: absolute;
            bottom: clamp(1.5rem, 4vh, 3rem);
        }

        p {
            font-family: var(--font-primary);
            font-size: var(--font-size-h3);
            width: min(65vw, 42rem);
            text-align: center;
            color: var(--accent-color);
        }


        a {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 3rem;
            height: 3rem;
            background-color: var(--accent-color);
            border-radius: 8%;
            text-decoration: none;
            animation: bounce-down 4s ease-in-out infinite;

            svg {
                width: 1.5rem;
                height: 1.5rem;
            }

        }
    }

    @keyframes bounce-down {
    0% {
        transform: translateY(0);
        background-color: var(--accent-color);
    }

    10% {
        transform: translateY(0.75rem);
        background-color: var(--button-color);
    }

    25% {
        transform: translateY(-0.35rem);
        background-color: var(--accent-color);
    }

    35% {
        transform: translateY(0);
        background-color: var(--accent-color);
    }

    100% {
        transform: translateY(0);
        background-color: var(--accent-color);
    }
}

#intro-message {
	font-size: clamp(1.4rem, 3.6vw, 4.5rem);
	font-family: var(--font-primary);
	width: min(100%, 62rem);

	span {
		color: var(--accent-color);
	}

	code {
		font-family: inherit;
		font-size: inherit;
	}

	.code-brace {
		color: #ffd700;
		display: inline-block;
		transition: color 0.3s ease, transform 0.3s ease;
	}

	.code-word {
		color: #9cdcfe;
		display: inline-block;
		transition: color 0.3s ease, text-shadow 0.3s ease, transform 0.3s ease;
	}

	code:hover .code-brace {
		color: #a259ff;
	}

	code:hover .code-brace:first-child {
		transform: translateX(-0.18em);
	}

	code:hover .code-brace:last-child {
		transform: translateX(0.18em);
	}

	code:hover .code-word {
		color: #5fb3dc;
		text-shadow: 0 0 0.75rem rgba(156, 220, 254, 0.8);
		transform: scale(0.92);
	}
			
	}












/* projecten */
    .projects {
		width: 100%;
	}

    article {
        position: relative;
        isolation: isolate;
        display: flex;
        flex-direction: row;
        align-items: stretch;
        gap: clamp(3rem, 7vw, 7rem);
        width: 100%;
        padding-block: clamp(2rem, 5vw, 5rem);
    }

    article::before,
    article::after {
        content: "";
        position: absolute;
        top: 50%;
        right: clamp(1rem, 5vw, 4rem);
        width: clamp(8rem, 22vw, 18rem);
        aspect-ratio: 16 / 10;
        background-image: var(--project-before-image);
        background-size: cover;
        background-position: center;
        border-radius: 10px;
        opacity: 0;
        pointer-events: none;
        z-index: -1;
        transform: translateY(-20%) rotate(0deg) scale(0.92);
        box-shadow: 0 0 0 rgba(0, 0, 0, 0);
        transition: transform 0.45s ease, opacity 0.35s ease, box-shadow 0.35s ease, filter 0.35s ease;
    }

    article::after {
        background-image: var(--project-after-image);
        right: clamp(4rem, 13vw, 12rem);
        transform: translateY(-15%) rotate(0deg) scale(0.88);
        transition-delay: 0.06s;
    }

    .project-klm {
        --project-before-image: url("images/KLM-Logo.jpg");
        --project-after-image: url("images/mijn-klm-selfie.jpg");
    }

    .project-bprocare {
        --project-before-image: url("images/figmabpro.png");
        --project-after-image: url("images/logobpro.png");
    }

    .project-moodflix {
        --project-before-image: url("images/cast.png");
        --project-after-image: url("images/film.png");
    }

    .project-pagemarker {
        --project-before-image: url("images/homepagehulppaneel.png");
        --project-after-image: url("images/hulppaneel.png");
    }

    article:hover::before {
        opacity: 0.9;
        filter: saturate(1.08);
        box-shadow: 0 0 2rem color-mix(in srgb, var(--accent-color) 45%, transparent);
        transform: translate(10%, -150%) rotate(10deg) scale(1);
    }

    article:hover::after {
        opacity: 0.7;
        filter: saturate(1.08);
        box-shadow: 0 0 1.75rem color-mix(in srgb, var(--accent-color) 35%, transparent);
        transform: translate(-10%, -140%) rotate(-10deg) scale(0.95);
    }

    article + article {
        margin-top: clamp(3rem, 7vw, 6rem);
    }

    .info-div {
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 52%;
        box-sizing: border-box;
        font-family: var(--secondairy-font);

        p:nth-of-type(1) {
            font-family: var(--font-primary);
            font-size: var(--font-size-h3);

        }

        p:nth-of-type(2) {
            padding-bottom: 1rem;
            font-size: var(--text-size);
        }
        
        h2 {
            font-family: var(--font-primary);
            padding: 1rem 0 0.5rem 0;
            font-size: var(--font-size-h2);
        }

        a {
            text-decoration: none;
            color: var(--secondary-color);
            display: flex;
            align-items: center;
            width: fit-content;

            span:nth-child(1) {
                width: clamp(0.75rem, 1.4vw, 1.4rem);
                height: clamp(0.75rem, 1.4vw, 1.4rem);
                border-radius: 100px;
                background-color: var(--button-color);
                margin-right: 0.75vw;
                transition: background-color 0.35s ease, transform 0.35s ease;
            }

            span:nth-child(2) {
                position: relative;
            }

            span:nth-child(2)::after {
                content: "";
                position: absolute;
                left: 0;
                right: 0;
                bottom: -0.35rem;
                height: 2px;
                background-color: var(--button-color);
                transform: scaleX(0);
                transform-origin: left center;
                transition: transform 0.35s ease, background-color 0.35s ease 0.15s;
            }

            &:hover span:nth-child(2)::after {
                background-color: var(--accent-color);
                transform: scaleX(1);
            }

            &:hover span:nth-child(1) {
                background-color: var(--accent-color);
                transform: scale(1.25);
            }
        }

    }

    .image-div {
        width: 56%;
        height: clamp(16rem, 28vw, 26rem);
        overflow: hidden;
        border-radius: 10px;
        box-shadow: 0 0 0 rgba(0, 0, 0, 0);
        transition: transform 0.45s ease, box-shadow 0.35s ease, filter 0.35s ease;

        img {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
    }

    article:hover .image-div {
        transform: translateY(2.5rem);
        filter: saturate(1.08);
        box-shadow:
            0 0 2.5rem color-mix(in srgb, var(--accent-color) 45%, transparent),
            0 1.4rem 3rem rgba(0, 0, 0, 0.18);
    }

    .case-popover {
        position: fixed;
        inset: 0;
        width: min(92vw, 48rem);
        height: fit-content;
        max-height: 85vh;
        margin: auto;
        padding: 0;
        overflow: auto;
        border: 1px solid rgba(255, 255, 255, 0.28);
        border-radius: 8px;
        background-color: rgba(20, 20, 20, 0.68);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
        color: var(--secondary-color);
        box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, 0.45);
    }

    .case-popover::backdrop {
        background-color: rgba(0, 0, 0, 0.72);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
    }

    .case-popover:popover-open {
        animation: popover-in 0.25s ease;
    }

    @keyframes popover-in {
        from {
            opacity: 0;
            transform: translateY(1rem) scale(0.96);
        }

        to {
            opacity: 1;
            transform: translateY(0) scale(1);
        }
    }

    .case-popover-content {
        position: relative;
        padding: clamp(1.5rem, 4vw, 3rem);
    }

    .case-popover-content p:first-of-type {
        font-family: var(--font-primary);
        font-size: var(--font-size-h3);
        color: var(--accent-color);
    }

    #case-popover-image {
        display: block;
        width: 100%;
        aspect-ratio: 16 / 9;
        margin-top: 1rem;
        border-radius: 8px;
        object-fit: cover;
    }

    #case-popover-image[hidden] {
        display: none;
    }

    .case-popover-content h2 {
        margin-block: 0.5rem 1rem;
        font-family: var(--font-primary);
        font-size: var(--font-size-h2);
    }

    .case-popover-content h3 {
        margin-top: 1.25rem;
        font-family: var(--font-primary);
        font-size: clamp(1.4rem, 3vw, 2rem);
        color: var(--accent-color);
    }

    .case-popover-content p:not(:first-of-type) {
        font-family: var(--secondairy-font);
        font-size: clamp(1rem, 2vw, 1.25rem);
        line-height: 1.6;
    }

    #case-popover-tools {
        display: flex;
        flex-wrap: wrap;
        gap: 0.65rem;
        margin-top: 0.75rem;
    }

    #case-popover-tools span {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 2.35rem;
        padding-inline: 1rem;
        border: 1px solid color-mix(in srgb, var(--secondary-color) 45%, transparent);
        border-radius: 100px;
        color: var(--secondary-color);
        background-color: color-mix(in srgb, var(--secondary-color) 8%, transparent);
        transition: border-color 0.25s ease, background-color 0.25s ease, color 0.25s ease;
    }

    #case-popover-tools span:hover {
        border-color: var(--accent-color);
        background-color: var(--accent-color);
        color: var(--primairy-color);
    }

    #case-popover-link {
        position: relative;
        isolation: isolate;
        overflow: hidden;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: fit-content;
        min-height: 3rem;
        margin-top: 1.5rem;
        padding-inline: 1.5rem;
        border-radius: 100px;
        background-color: var(--button-color);
        color: var(--secondary-color);
        font-family: var(--font-primary);
        font-size: clamp(1.1rem, 2vw, 1.5rem);
        text-decoration: none;
    }

    #case-popover-link::before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: -20%;
        width: 140%;
        background-color: var(--accent-color);
        z-index: -1;
        transform: translateX(-100%) skewX(-18deg);
        transform-origin: left center;
        transition: transform 0.45s ease;
    }

    #case-popover-link:hover::before {
        transform: translateX(0) skewX(-18deg);
    }

    #case-popover-link[hidden] {
        display: none;
    }

    .case-popover-close {
        position: absolute;
        top: 1rem;
        right: 1rem;
        width: 2.25rem;
        height: 2.25rem;
        border: 0;
        border-radius: 50%;
        background-color: transparent;
        color: var(--secondary-color);
        font-family: var(--font-primary);
        font-size: 1.5rem;
        line-height: 1;
        cursor: pointer;
        transition: background-color 0.25s ease, color 0.25s ease;
    }

    .case-popover-close:hover {
        background-color: var(--button-color);
        color: var(--primairy-color);
    }
    
    .article-reverse {
        flex-direction: row-reverse;

        .info-div {
            padding-left: 0;
        }
    }

    .article-reverse::before {
        right: auto;
        left: clamp(1rem, 5vw, 4rem);
    }

    .article-reverse::after {
        right: auto;
        left: clamp(4rem, 13vw, 12rem);
    }

    .article-reverse:hover::before {
        transform: translate(-10%, -150%) rotate(-10deg) scale(1);
    }

    .article-reverse:hover::after {
        transform: translate(10%, -140%) rotate(10deg) scale(0.95);
    }

    @media (max-width: 768px) {
        article,
        .article-reverse {
            flex-direction: column;
            gap: 1.5rem;
        }

        article::before,
        article::after {
            display: none;
        }

        .info-div,
        .image-div {
            width: 100%;
        }

        .image-div {
            max-height: none;
            aspect-ratio: 4 / 3;
        }
    }

    /* cards */
    /* .cards {
        display: flex;
        flex-wrap: wrap;
        gap: 2rem;
        color: var(--secondary-color);
        padding: 5rem 0;
        margin: var(--section-spacing);

        h2 {
            width: 100%;
            font-family: var(--font-primary);
            font-size: var(--font-size-h2);
        }

        >div {
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            width: calc((100% - 4rem) / 3);
            min-height: 18rem;
            padding: 2rem;
            border: 1px solid var(--secondary-color);
            border-radius: 0.75rem;
        }

        h3 {
            font-family: var(--font-primary);
            font-size: var(--font-size-h3);
        }
    } */




    
    /* scroll annimatie  */
    #scroll-container {
		min-height: 200vh;
    	position: relative;
		padding-top: 20vh;
		view-timeline-name: --favorite-projects;
		view-timeline-axis: block;
	}

	.scroll-scene {
		position: sticky;
		top: 50vh;
		min-height: 32rem;
		display: grid;
		place-items: center;
		transform: translateY(-50%);
	}

	.scroll-text {
		grid-area: 1 / 1;
		z-index: -1;
		max-width: 45rem;
		text-align: center;
		opacity: 0;
		animation: text-appear linear forwards;
		animation-timeline: --favorite-projects;
		animation-range: entry 99% cover 50%;
	}

	.scroll-text h2 {
		font-family: var(--font-primary);
		font-size: var(--font-size-h2);
	}

	.scroll-text p {
		max-width: 34rem;
		margin: 1rem auto 0;
		font-family: var(--secondairy-font);
		font-size: var(--text-size);
		line-height: 1.5;
	}

	.scroll-text a {
		position: relative;
		isolation: isolate;
		overflow: hidden;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: clamp(9rem, 15vw, 13rem);
		min-height: clamp(2.5rem, 4vw, 3.25rem);
		margin-top: 1rem;
		padding-inline: clamp(1.1rem, 2vw, 1.75rem);
		border-radius: 100px;
		background-color: var(--button-color);
		color: var(--secondary-color);
		font-family: var(--font-primary);
		font-size: clamp(1.1rem, 2vw, 1.5rem);
		text-decoration: none;
		transition: transform 0.3s ease;
	}

	.scroll-text a::before {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		left: -20%;
		width: 140%;
		background-color: var(--accent-color);
		z-index: -1;
		transform: translateX(-100%) skewX(-18deg);
		transform-origin: left center;
		transition: transform 0.45s ease;
	}

	.scroll-text a:hover {
		transform: translateY(-0.15rem);
	}

	.scroll-text a:hover::before {
		transform: translateX(0) skewX(-18deg);
	}

	.image-group {
		grid-area: 1 / 1;
		z-index: 0;
		display: grid;
		place-items: center;
	}

	.image-group img {
		grid-area: 1 / 1;
		width: clamp(12rem, 35vw, 32rem);
		aspect-ratio: 16 / 10;
		object-fit: cover;
		border-radius: 10px;
		animation: image-away linear forwards;
		animation-timeline: --favorite-projects;
		animation-range: entry 70% cover 55%;
	}

	@keyframes image-away {
		to {
			transform: translate(var(--x, 0), var(--y, -8rem)) rotate(var(--r, 0deg)) scale(0.5);
		}
	}

	@keyframes text-appear {
		to {
			opacity: 1;
		}
	}

	.image-group img:nth-child(1) {
		--x: clamp(-34rem, -40vw, -16rem);
		--y: clamp(-17rem, -20vw, -9rem);
	}

	.image-group img:nth-child(2) {
		--x: clamp(3rem, 7vw, 10rem);
		--y: clamp(-24rem, -30vw, -13rem);
	}

	.image-group img:nth-child(3) {
		--x: clamp(10rem, 52vw, 32rem);
		--y: clamp(-19rem, -23vw, -10rem);
	}

	.image-group img:nth-child(4) {
		--x: clamp(20rem, 42vw, 38rem);
		--y: clamp(2rem, 4vw, 5rem);
	}

	.image-group img:nth-child(5) {
		--x: clamp(20rem, 40vw, 36rem);
		--y: clamp(14rem, 22vw, 22rem);
	}

	.image-group img:nth-child(6) {
		--x: clamp(10rem, 16vw, 18rem);
		--y: clamp(18rem, 28vw, 26rem);
	}

	.image-group img:nth-child(7) {
		--x: clamp(-32rem, -38vw, -16rem);
		--y: clamp(16rem, 26vw, 24rem);
	}

	.image-group img:nth-child(8) {
		--x: clamp(-38rem, -46vw, -19rem);
		--y: clamp(3rem, 7vw, 9rem);
	}




    




/* footer code */
footer {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 3rem;
    padding: 4rem 5vw 2rem;
    color: var(--secondary-color);
    border-top: solid 1px var(--secondary-color);

    div {
        max-width: 32rem;
    }

    h2 {
        font-family: var(--font-primary);
        font-size: clamp(2rem, 5vw, 4rem);
        line-height: 0.9;
        margin-bottom: 1rem;
    }

    p {
        font-family: var(--secondairy-font);
        font-size: clamp(0.9rem, 1.5vw, 1rem);
        line-height: 1.6;
    }

    nav {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
        align-items: flex-end;
    }

    a {
        position: relative;
        color: inherit;
        font-family: var(--font-primary);
        font-size: clamp(1.1rem, 2vw, 1.4rem);
        text-decoration: none;
    }

    a::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: -0.10rem;
        height: 2px;
        background-color: var(--button-color);
        transform: scaleX(0);
        transform-origin: left center;
        transition: transform 0.35s ease, background-color 0.35s ease 0.15s;
    }

    a:hover::after {
        background-color: var(--accent-color);
        transform: scaleX(1);
    }

    >p {
        grid-column: 1 / -1;
        padding-top: 2rem;
        border-top: 1px solid var(--secondary-color);
        opacity: 0.75;
    }
}





@media (max-width: 700px) {

    header nav .hamburger {
        display: flex;
    }

    header nav ul {
        background-color: var(--secondary-color);
        color: var(--primairy-color);
        position: absolute;
        width: 100vw;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        background-color: var(--secondary-color);
        padding: 1rem;
        left: 0;
        right: 0;
        top: 10vh;

        max-height: 0;
        opacity: 0;
        overflow: hidden;
        transform: translateY(-1rem);
        transition: max-height 0.35s ease, opacity 0.25s ease, transform 0.35s ease;
    }

        .hamburger span {
            transition: transform 0.35s ease, background-color 0.25s ease;
        }

        header.open { 
        background-color: var(--secondary-color);

        nav > a {
            color: var(--primairy-color);
            z-index: 2;
        }

        .hamburger span {
            background-color: var(--primairy-color);
        }

        .hamburger {
            position: relative;

            span:nth-child(1) {
                position: absolute;
                transform: rotate(45deg);
                transform-origin: center;
            }

            span:nth-child(2) {
                position: absolute;
                transform: rotate(-45deg);
                transform-origin: center;
            }

            span:nth-child(3) {
                position: absolute;
                transform: rotate(-45deg);
                transform-origin: center;
            }

        }

        ul {
            max-height: 20em;
            opacity: 1;
            transform: translateY(0);
            padding: 1rem;
        }
    }

    #scroll-down {
        opacity: 0;
    }

    footer {
        grid-template-columns: 1fr;

        nav {
            align-items: flex-start;
        }
    }
}

/* classes */
.border {
    display: block;
    width: 90%;
    height: 1px;
    background-color: var(--secondary-color);
    justify-self: center;
}

.borderVertical {
    display: block;
    width: 1px;
    height: 8vh;
    background-color: var(--secondary-color);
    justify-self: center;
    transform: none;
}
