:root {
    --fs-164: clamp(2.5rem, 7.75vi + 0.95rem, 10.25rem);
    --fs-96: clamp(1.31rem, 4.69vi + 0.38rem, 6rem);
    --fs-64: clamp(1.88rem, 2.13vi + 1.45rem, 4rem);
    --fs-36: clamp(1.25rem, 1vi + 1.05rem, 2.25rem);
    --fs-48: clamp(1.5rem, 1.5vi + 1.2rem, 3rem);
    --fs-32: clamp(1rem, 1vi + 0.8rem, 2rem);
    --fs-24: clamp(1rem, 0.5vi + 0.9rem, 1.5rem);
    --site-margin: clamp(1.25rem, 6.25vi + 0rem, 7.5rem);
    --image-corner-radius: clamp(0.5rem, 1vi + 0.3rem, 1.5rem);
    --work-grid-gap: clamp(3.75rem, 2.5vi + 3.25rem, 6.25rem);
    --case-study-work-gap: clamp(1.88rem, 3.13vi + 1.25rem, 3.75rem);
    --section-gap: clamp(6.25rem, 9.38vi + 4.38rem, 15.63rem);
}

@font-face {
    font-family: 'Thunder';
    src: url('../assets/font/Thunder-VF.ttf') format('truetype-variations');
    font-weight: 100 900;
    /* Assuming the font supports these weights */
    font-stretch: 75% 125%;
    /* Adjust based on actual supported range */
}

@font-face {
    font-family: 'Bowens';
    src: url('../assets/font/BOWENS.woff2')
}

@font-face {
    font-family: 'HelveticaNeue';
    src: url('../assets/font/HelveticaNeue.woff2');
}


* {
    font-family: var(--prime-font);
    box-sizing: border-box;
}

p,
h1,
h2,
h3,
h4,
ul,
li {
    margin: 0;
    padding: 0;
    margin-block-start: 0em;
    margin-block-end: 0em;

}


button,
[type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: unset;
    appearance: unset;
    padding-block: 0px;
    padding-inline: 0px;
    border-width: 0px;
    border-style: none;
    border-color: transparent;
    background-color: transparent;
}

body {
    width: 100dvw;
    /* background: var(--bg-color); */
    height: auto;
    background-attachment: fixed;
    background-size: cover;
    /* overflow-x: hidden; */
    /* scrollbar-width: auto;
    -ms-overflow-style: auto; */
    scrollbar-gutter: stable;
}

/* body::-webkit-scrollbar {
    display: none;
} */
.hide {
    display: none;
}

.websiteContainer {
    position: relative;
    z-index: 2;
    /* background: var(--bg-color); */
}

.background {
    position: fixed;
    bottom: 0;
    height: 100vh;
    width: 100vw;
    background: var(--bg-color);
    z-index: -1;
    transition: all .5s ease;
}

.sitePaddingContainer {
    /* width: 100%; */
    padding: 0 var(--site-margin);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.leftAlignContainer {
    padding: 0 var(--site-margin);
    display: flex;
    justify-content: center;
    flex-direction: column;

}

#loadingScreen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--bg-color);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 9999999;
}

.loadingCircle {
    /* width: 50px; */
    height: 50px;
    aspect-ratio: 1/1;
    border-radius: 50%;
    background-color: var(--green-white);
    opacity: 0;
    animation: growFade 2s forwards;
}

@keyframes growFade {
    0% {
        /* width: 50px; */
        height: 50px;
        opacity: 1;
    }

    30% {
        /* width: 300%; */
        height: 300%;
        opacity: 1;
    }

    70% {
        /* width: 300%; */
        height: 300%;
        opacity: 1;
    }

    100% {
        /* width: 300%; */
        height: 300%;
        opacity: 0;
    }
}

.sectionGap {
    height: var(--section-gap);
}

.imageTransitionContainers {
    overflow: hidden;
}

.imageTransition {
    transform-origin: top;
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
}


.headerSection {
    width: 100vw;
    position: fixed;
    z-index: 9999;
}

.headerContainer {
    padding: 0 var(--site-margin);
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.headerLink {
    font-family: var(--secondary-font);
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
    font-variation-settings: "slnt" 0;
    color: var(--green-white);
    font-size: var(--fs-24);
    text-decoration: underline;
}
.headerLink:hover{
    /* color: white; */
}


.stickyEye {
    position: fixed;
    z-index: 9999;
    top: 10px;
    display: flex;
    /* width: 100%; */
    left: 50%;
    transform: translateX(-50%);
    justify-content: center;
    transition: top .6s ease-in-out;
    /* left: var(--site-margin); */
}

.stickyEyeButton {
    width: 10vw;
    display: block;
}

.eyeCircle {
    /* fill: red; */
    transform-origin: center;
    position: absolute;
    color: linear-gradient();
}

.eyeOutlineMask {
    /* transform: scaleX(0); */
    transition: transform 1s ease;
    transform-origin: center;
}

.funkyEyeCenter {
    animation: infiniteRotate 1.5s linear infinite;
    transform-origin: center center;
    /* transform: rotate3d(20); */
}

@keyframes infiniteRotate {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}



/* Text Marquee */
.c-textMarquee {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: row;
    overflow: hidden;
    contain: layout paint
}

.c-textMarquee__text {
    font-size: var(--fs-32);
    font-style: italic;
    font-family: var(--secondary-font);
    font-weight: 500;
    /* line-height: 1; */
    /* letter-spacing: -10px; */
    will-change: transform;
    flex-shrink: 0;
    white-space: nowrap;
    display: flex;
    color: var(--prime-text-color);
}

@media(max-width: 960px) {
    /* .c-textMarquee__text {
        font-size: 60px;
        line-height: 55px;
        letter-spacing: -3px
    } */
}

@keyframes moveText {
    from {
        transform: translateX(0)
    }

    to {
        transform: translateX(-100%)
    }
}


/* Footer */

.footerParallex {
    /* position: relative; */
    width: 100%;
}

.footerProxy {
    /* height: 100vh; */
    /* Adjust this height as needed */
}

.footerContainer {
    position: fixed;
    /* bottom: 0; */
    width: 100%;
    transition: transform .6s cubic-bezier(0, .7, 0, .94);
    display: flex;
    flex-direction: column;
    padding-top: 100px;
    background: var(--footer-bg);

    /* height: 100vh; */
    /* justify-content: space-between; */
    /* transform: translateY(100%); */
}

.footerHeadingImageContainer {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.footerContaint {
    /* width: 70%; */
}

.footerContaint,
.footerContaint span {
    font-size: var(--fs-250);
    /* font-family: var(--secondary-font); */
    font-weight: var(--fontweight-bold-normal);
    text-transform: uppercase;
    line-height: .8;
    color: var(--white-white);
    display: flex;
    flex-direction: column;
    width: 75%;
}

.footerContaint>span {
    flex-basis: 50%;
    flex-grow: 1;
    display: flex;
    width: 100%;
}

.footerImageContainer {
    width: 20%;
}

.footerImage {
    width: 100%;
    border-radius: 100%;
    aspect-ratio: 1/1;
    /* height: 100%; */
}

.emailLinkContainer {
    display: flex;
    align-self: flex-start;
    padding-top: 40px;

    a {
        color: var(--white-white);
        font-family: var(--secondary-font);
        font-weight: 500;
        font-size: var(--fs-32);
        text-decoration: underline;
    }
}

.bottomLinksContainer {
    display: flex;
    width: 100%;
    justify-content: space-between;
    flex-direction: row;
    height: 100px;
    align-items: center;
    padding-top: var(--fs-96);
    padding-bottom: var(--fs-96);
}

.developerLink,
.developerLink strong {
    font-family: var(--secondary-font);
    color: var(--white-white);
    text-decoration: none;
    font-size: var(--fs-24);
}

.developerLink:hover {
    color: var(--white-white);

}

.socialMediaLinkContainer {
    display: flex;
    gap: 20px;

    li {
        list-style: none;

        a {
            font-family: var(--secondary-font);
            color: var(--white-white);
            font-size: var(--fs-24);
        }
    }
}

@media screen and (min-width: 320px) and (max-width: 640px) {
    .footerContainer {
        padding-top: 60px;
    }

    .footerContaint {
        width: 100%;
    }

    .footerHeadingImageContainer {
        flex-direction: column;
        gap: 20px;
    }

    .bottomLinksContainer {
        height: fit-content;
    }

    .socialMediaLinkContainer {
        flex-direction: column;
        gap: 14px;
    }

    .footerImageContainer {
        align-self: flex-start;
        width: 40%;
    }

    .bottomLinksContainer {
        align-items: flex-end;
    }

    .footerContaint>span {
        align-items: center;
        /* flex-direction: column !important; */
    }
}


@keyframes imageElementRotate {
    0% {
        rotate: 0deg;
    }

    40% {
        rotate: 10deg;
    }

    80% {
        rotate: -10deg;
    }

    100% {
        rotate: 0deg;
    }
}