.ofelia-display {
    font-family: "ofelia-display", sans-serif;
    font-weight: 200;
    font-style: normal;
    font-variation-settings: "wdth" 110, "wght" 300;
    font-size: 48.03px;
}

.ofelia-font {
    font-family: "ofelia-display", sans-serif;
    font-weight: 300;
    font-style: normal;
}

blockquote, figure, h1, h2, h3, h4, h5, h6, p, pre {
    margin: 0;
}

body {
    padding: 0;
    margin: 0;
    overflow-x: hidden;
    max-width: 100vw;
    overscroll-behavior: none;
    /* overflow: hidden; */
    background-color: #000000;
}

body.loading {
    overflow-y: hidden;
}

html {
    scrollbar-width: thin;
    scrollbar-color: #bdbdbd #ffffff;
    scroll-behavior: smooth;
    transition-duration: 0.2s;
    transition-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1);
    transition-property: scrollbar-width;
}

html.loading {
    scrollbar-width: none;
}

.content-section {
    height: 100vh;
    background-color: #ffffff;
    padding: 0 160px;
    /* width: 100%; */
}

#about {
    background-color: #485b6e;
}

#profile {
    padding: 0px;
    height: 3000px;
    overflow: hidden;
    position: relative;
}

.image-scaler {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
}

.absolute-positioner {
    position: absolute;
    display: flex;
    flex-direction: row;
    justify-content: center;
    height: 100%;
}

.absolute-positioner.image-container {
    width: 100%;
    /* overflow: hidden; */
}

/* .profile-background-container {
    height: auto;
} */

.profile-foreground-container {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.foreground-flex {
    width: 100%;
    height: 560px;
    display: flex;
    flex-direction: row;
    justify-content: space-around;
}

#profile-background {
    position: absolute;
    top: 0;
    height: 3590px;
    /* width: 100%; */
    /* transform: translateY(0) translateX(-4.5%); */
    /* transition-duration: 800ms;
    transition-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1);
    transition-property: transform; */
}

#background-cover {
    position: absolute;
    inset: 0;   
    background-color: #00000000;
    /* color: #00000034 */
}

#profile-foreground {
    position: relative;
    top: 560px;
    height: 560px;
    /* transform: translateY(200px) */
}

#about-content-wrap {
    background: linear-gradient(135deg, rgb(200, 15, 25), rgba(200, 15, 25, 0.3) 30.71%, rgba(200, 15, 25, 0) 50%), linear-gradient(225deg, rgb(53, 116, 233), rgba(53, 116, 233, 0.3) 30.71%, rgba(53, 116, 233, 0) 50%), linear-gradient(180deg, rgb(255, 246, 120) 30%, rgba(255, 255, 255, 0));
    /* background: linear-gradient(1deg, rgb(230, 253, 255) 20.71%, rgba(180, 250, 255, 0) 70.71%), linear-gradient(143deg, rgb(202, 40, 110) 10%, rgba(202, 40, 110, 0.3) 30.71%, rgba(202, 40, 110, 0) 50%), linear-gradient(230deg, rgb(113, 53, 233) 10%, rgba(113, 53, 233, 0.3) 30.71%, rgba(113, 53, 233, 0) 50%), linear-gradient(180deg, rgb(255, 246, 120) 30%, rgba(255, 255, 255, 0)); */
    /* background: linear-gradient(1deg, rgb(230, 253, 255) 20.71%, rgba(180, 250, 255, 0) 70.71%), linear-gradient(143deg, rgb(202, 40, 110) 10%, rgba(202, 40, 110, 0.3) 30.71%, rgba(202, 40, 110, 0) 50%), linear-gradient(230deg, rgb(185, 249, 255) 10%, rgba(185, 249, 255, 0.3) 30.71%, rgba(185, 249, 255, 0) 50%); */
    z-index: 5;
}

.about-content {
    /* height: 80vh; */
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    
    
    /* padding-top: 120px; */
}

#about-title-container.about-content {
    height: 80vh;
    /* color: rgb(69, 63, 100); */
}

#about-content-container.about-content {
    min-height: 90vh;
    padding-bottom: 00px;
}

#about-content-container .header-cta, #about-content-container .body-cta {
    color: white;
}

/* #about-content-container .body-cta {
    color: white;
} */

#about-values-container.about-content {
    padding-bottom: 360px;
}

.flex-column {
    width: 80%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    /* text-align: center; */
}

.copy-title {
    font-size: 68px;
    font-weight: 500;
    margin: 20px 0;
    color: white;
}

.header-cta {
    font-size: 56px;
    font-weight: 500;
    margin: 20px 0;
}

.values-content-container {
    gap: 1rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.values-content-card {
    /* flex: 0 1 30%; */
    display: flex;
    flex-direction: column;
    min-width: 30%;
    max-height: 300px;
    padding: 20px 10px;
    border-radius: 8px;
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    margin: 10px;
    box-shadow: -1px -1px white;
}

.values-content-card:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 0.25;
    border-radius: 8px;
    background-color: white;
    
    transition-duration: 0.4s;
    transition-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1);
    transition-property: opacity;
}

.card-title {
    font-size: 32px;
    font-weight: 300;
}

.body-cta {
    font-size: 32px;
    line-height: 48px;
    font-weight: 300;
    margin: 20px 0;
}

.foreground-copy .body-cta {
    font-size: 20px;
    line-height: 28px;
    font-weight: 300;
    margin: 20px 0;
}

#about-values-container .body-cta {
    font-size: 24px;
    line-height: 32px;
    font-weight: 300;
    margin: 10px 0;
}

.foreground-copy {
    width: 40%;
    color: white;
}

#transition-section {
    position: relative;
    height: 450px;
    width: 100%;
    display: flex;
    flex-direction: column;
    background-color: #000000;
}

#reflection-container {
    height: 350px;
    width: 100%;
}

#background-reflection-img {
    height: 350px;
}

.foreground-reflection-flex {
    width: 100%;
    height: 350px;
    display: flex;
    flex-direction: row;
    justify-content: space-around;
}

#foreground-reflection-img {
    height: 350px;
}

.linear-gradient-cover {
    height: 350px;
    width: 100%;
    background: linear-gradient(#000000 5%,  #ffffff00 15%, #000000 80%);
}

.blur-container {
    position: relative;
    height: 350px;
    width: 100%;
}

.gradient-blur {
    position: absolute;
    z-index: 5;
    inset: auto 0 0 0;
    height: 125%;
    pointer-events: none;
    transform: translateY(20%);
}

.gradient-blur > div,
.gradient-blur::before,
.gradient-blur::after {
    position: absolute;
    inset: 0;
}

.gradient-blur::before {
    content: "";
    z-index: 1;
    backdrop-filter: blur(0.5px);
    mask: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0) 0%,
        rgba(0, 0, 0, 1) 12.5%,
        rgba(0, 0, 0, 1) 25%,
        rgba(0, 0, 0, 0) 37.5%
    );
}

.gradient-blur > div:nth-of-type(1) {
    z-index: 2;
    backdrop-filter: blur(1px);
    mask: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0) 12.5%,
        rgba(0, 0, 0, 1) 25%,
        rgba(0, 0, 0, 1) 37.5%,
        rgba(0, 0, 0, 0) 50%
    );
}

.gradient-blur > div:nth-of-type(2) {
    z-index: 3;
    backdrop-filter: blur(2px);
    mask: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0) 25%,
        rgba(0, 0, 0, 1) 37.5%,
        rgba(0, 0, 0, 1) 50%,
        rgba(0, 0, 0, 0) 62.5%
    );
}

.gradient-blur > div:nth-of-type(3) {
    z-index: 4;
    backdrop-filter: blur(4px);
    mask: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0) 37.5%,
        rgba(0, 0, 0, 1) 50%,
        rgba(0, 0, 0, 1) 62.5%,
        rgba(0, 0, 0, 0) 75%
    );
}

.gradient-blur > div:nth-of-type(4) {
    z-index: 5;
    backdrop-filter: blur(8px);
    mask: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0) 50%,
        rgba(0, 0, 0, 1) 62.5%,
        rgba(0, 0, 0, 1) 75%,
        rgba(0, 0, 0, 0) 87.5%
    );
}

.gradient-blur > div:nth-of-type(5) {
    z-index: 6;
    backdrop-filter: blur(16px);
    mask: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0) 62.5%,
        rgba(0, 0, 0, 1) 75%,
        rgba(0, 0, 0, 1) 87.5%,
        rgba(0, 0, 0, 0) 100%
    );
}

.gradient-blur > div:nth-of-type(6) {
    z-index: 7;
    backdrop-filter: blur(32px);
    mask: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0) 75%,
        rgba(0, 0, 0, 1) 87.5%,
        rgba(0, 0, 0, 1) 100%
    );
}

.gradient-blur::after {
    content: "";
    z-index: 8;
    backdrop-filter: blur(64px);
    mask: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0) 87.5%,
        rgba(0, 0, 0, 1) 100%
    );
}

#halftone-transition-container {
    position: absolute;
    bottom: 0;
    height: 200vh;
    width: 100%;
    /* color: #ffffff50 */
}

#svg-sticky-container {
    position: sticky;
	height: 100vh;
	width: 100%;
	top: 0;
	/* left: -5%; */
	/* overflow: hidden; */
    /* background-color: rgba(127, 255, 212, 0.549); */
    z-index: 10;
}

#halftone-SVG {
	height: 100%;
	width: 100%;
    /* overflow: visible; */
}

#halftone-mask-container {
    position: absolute;
    inset: 0;
    z-index: -10;
}

#halftone-mask-svg {
    position: absolute;
    bottom: 0;
    width: 105%;
    height: 100vh;
    transform: translateX(-2.5%);
}

#values {
    background-color: rgba(0, 255, 255, 0);
}

#values {
    position: relative;
    padding: 0;
    height: 200vh;
    background-color: rgba(255, 255, 255, 0);
}

#transition-gradient {
    position: absolute;
    top: -5px;
    width: 110%;
    left: -5%;
    height: 100vh;
}

#transition-gradient-img {
    width: 110%;
    height: 110%;
    outline: none;
    border: none;
    filter: hue-rotate(-45deg);
}

#main-header {
    display: inline;
    position: fixed;
    width: 100vw;
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    z-index: 15;
    transform: translateY(0%);
    animation-duration: 1600ms;
    animation-delay: 0001ms;
    animation-timing-function: cubic-bezier(0.17, 0.17, 0.24, 1);
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-fill-mode: forwards;
    animation-play-state: paused;
    animation-name: header-drop;
}

#main-header:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 1;
    background-color: rgba(255, 255, 255, 0.26);
    transition-duration: 0.4s;
    transition-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1);
    transition-property: opacity;
}

@media only screen and (max-width: 1020px) {
    #main-header {
        display: none;
        position: fixed;
        width: 100vw;
        /* background-color: white; */
        backdrop-filter: blur(15px);
        -webkit-backdrop-filter: blur(15px);
        z-index: 10;
        transform: translateY(0%);
        animation-duration: 1600ms;
        animation-delay: 0001ms;
        animation-timing-function: cubic-bezier(0.17, 0.17, 0.24, 1);
        animation-iteration-count: 1;
        animation-direction: normal;
        animation-fill-mode: forwards;
        animation-play-state: paused;
        animation-name: header-drop;
    }
    
    #main-header:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: -1;
        opacity: 1;
        background-color: white;
        transition-duration: 0.4s;
        transition-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1);
        transition-property: opacity;
    }

    .content-section {
        height: 100vh;
        background-color: #ffffff;
        padding: 0 160px;
        /* width: 100%; */
    }
    
    #profile {
        padding: 0px;
        height: 3000px;
        overflow: hidden;
    }
    
    .image-scaler {
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: column;
        position: relative;
    }
    
    .absolute-positioner {
        position: absolute;
        display: flex;
        flex-direction: row;
        justify-content: center;
        height: 100%;
    }
    
    .absolute-positioner.image-container {
        width: 100%;
        overflow: hidden;
    }

    #reflection-container .absolute-positioner.image-container {
        height: min-content;
    }
    
    /* .profile-background-container {
        height: auto;
    } */
    
    .profile-foreground-container {
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
    }
    
    .foreground-flex {
        width: 100%;
        height: auto;
        display: flex;
        flex-direction: column-reverse;
        justify-content: space-around;
        align-items: center;
    }
    
    #profile-background {
        position: absolute;
        top: 0;
        height: 3590px;
        /* width: 100%; */
        /* transform: translateY(0) translateX(-4.5%); */
        /* transition-duration: 800ms;
        transition-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1);
        transition-property: transform; */
    }
    
    #background-cover {
        position: absolute;
        inset: 0;   
        background-color: #00000000;
        /* color: #00000034 */
    }
    
    #profile-foreground {
        position: relative;
        top: 560px;
        height: auto;
        width: 80%;
        /* transform: translateY(200px) */
    }
    
    .about-content {
        /* height: 80vh; */
        width: 100%;
        display: flex;
        flex-direction: row;
        justify-content: center;
        z-index: 5;
        /* padding-top: 120px; */
    }
    
    #about-title-container.about-content {
        height: 50vh;
        /* padding: 100px 0 20px 0; */
        /* color: rgb(69, 63, 100); */
    }
    
    #about-content-container.about-content {
        height: min-content;
    }

    #about-values-container.about-content {
        padding-bottom: 120px;
    }
    
    .flex-column {
        width: calc(100% - 2rem);
        display: flex;
        flex-direction: column;
        justify-content: center;
        /* text-align: center; */
    }
    
    .copy-title {
        font-size: 48px;
        font-weight: 500;
        margin: 20px 0;
    }
    
    .header-cta {
        font-size: 36px;
        font-weight: 500;
        margin: 10px 0;
    }
    
    .body-cta {
        font-size: 20px;
        line-height: 24px;
        font-weight: 300;
        margin: 10px 0 20px 0;
    }
    
    #about-values-container .body-cta {
        font-size: 20px;
        line-height: 24px;
        font-weight: 300;
        margin: 10px 0;
    }
    
    .foreground-copy {
        padding: 0 1rem;
        width: calc(100% - 2rem);
        color: white;
    }

    .foreground-copy .body-cta {
        font-size: 18px;
        line-height: 22px;
        font-weight: 300;
        margin: 10px 0;
    }
    
    #transition-section {
        position: relative;
        height: 300px;
        width: 100%;
        display: flex;
        flex-direction: column;
        background-color: #000000;
    }
    
    #reflection-container {
        height: 300px;
        width: 100%;
        overflow-x: none;
    }
    
    #background-reflection-img {
        height: 300px;
    }
    
    .foreground-reflection-flex {
        width: 100%;
        height: min-content;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
    }
    
    #foreground-reflection-img {
        height: auto;
        width: 80%;
    }
    
    .linear-gradient-cover {
        height: 300px;
        width: 100%;
        background: linear-gradient(#000000 5%,  #ffffff00 15%, #000000 80%);
    }
    
    .blur-container {
        position: relative;
        height: 300px;
        width: 100%;
    }
    
    .gradient-blur {
        position: absolute;
        z-index: 5;
        inset: auto 0 0 0;
        height: 125%;
        pointer-events: none;
        transform: translateY(20%);
    }
    
    .gradient-blur > div,
    .gradient-blur::before,
    .gradient-blur::after {
        position: absolute;
        inset: 0;
    }
    
    .gradient-blur::before {
        content: "";
        z-index: 1;
        backdrop-filter: blur(0.5px);
        mask: linear-gradient(
            to bottom,
            rgba(0, 0, 0, 0) 0%,
            rgba(0, 0, 0, 1) 12.5%,
            rgba(0, 0, 0, 1) 25%,
            rgba(0, 0, 0, 0) 37.5%
        );
    }
    
    .gradient-blur > div:nth-of-type(1) {
        z-index: 2;
        backdrop-filter: blur(1px);
        mask: linear-gradient(
            to bottom,
            rgba(0, 0, 0, 0) 12.5%,
            rgba(0, 0, 0, 1) 25%,
            rgba(0, 0, 0, 1) 37.5%,
            rgba(0, 0, 0, 0) 50%
        );
    }
    
    .gradient-blur > div:nth-of-type(2) {
        z-index: 3;
        backdrop-filter: blur(2px);
        mask: linear-gradient(
            to bottom,
            rgba(0, 0, 0, 0) 25%,
            rgba(0, 0, 0, 1) 37.5%,
            rgba(0, 0, 0, 1) 50%,
            rgba(0, 0, 0, 0) 62.5%
        );
    }
    
    .gradient-blur > div:nth-of-type(3) {
        z-index: 4;
        backdrop-filter: blur(4px);
        mask: linear-gradient(
            to bottom,
            rgba(0, 0, 0, 0) 37.5%,
            rgba(0, 0, 0, 1) 50%,
            rgba(0, 0, 0, 1) 62.5%,
            rgba(0, 0, 0, 0) 75%
        );
    }
    
    .gradient-blur > div:nth-of-type(4) {
        z-index: 5;
        backdrop-filter: blur(8px);
        mask: linear-gradient(
            to bottom,
            rgba(0, 0, 0, 0) 50%,
            rgba(0, 0, 0, 1) 62.5%,
            rgba(0, 0, 0, 1) 75%,
            rgba(0, 0, 0, 0) 87.5%
        );
    }
    
    .gradient-blur > div:nth-of-type(5) {
        z-index: 6;
        backdrop-filter: blur(16px);
        mask: linear-gradient(
            to bottom,
            rgba(0, 0, 0, 0) 62.5%,
            rgba(0, 0, 0, 1) 75%,
            rgba(0, 0, 0, 1) 87.5%,
            rgba(0, 0, 0, 0) 100%
        );
    }
    
    .gradient-blur > div:nth-of-type(6) {
        z-index: 7;
        backdrop-filter: blur(32px);
        mask: linear-gradient(
            to bottom,
            rgba(0, 0, 0, 0) 75%,
            rgba(0, 0, 0, 1) 87.5%,
            rgba(0, 0, 0, 1) 100%
        );
    }
    
    .gradient-blur::after {
        content: "";
        z-index: 8;
        backdrop-filter: blur(64px);
        mask: linear-gradient(
            to bottom,
            rgba(0, 0, 0, 0) 87.5%,
            rgba(0, 0, 0, 1) 100%
        );
    }
    
    #halftone-transition-container {
        position: absolute;
        bottom: 0;
        height: 200vh;
        width: 100%;
        /* color: #ffffff50 */
    }
    
    #svg-sticky-container {
        position: sticky;
        height: 100vh;
        width: 100%;
        top: 0;
        /* left: -5%; */
        /* overflow: hidden; */
        /* background-color: rgba(127, 255, 212, 0.549); */
        z-index: 10;
    }
    
    #halftone-SVG {
        height: 100%;
        width: 100%;
        /* overflow: visible; */
    }
    
    #halftone-mask-container {
        position: absolute;
        inset: 0;
        z-index: -10;
    }
    
    #halftone-mask-svg {
        position: absolute;
        bottom: 0;
        width: 105%;
        height: 100vh;
        transform: translateX(-2.5%);
    }
    
    #values {
        background-color: rgba(0, 255, 255, 0);
    }
    
    #values {
        position: relative;
        padding: 0;
        height: 200vh;
        background-color: rgba(255, 255, 255, 0);
    }
    
    #transition-gradient {
        position: absolute;
        top: -5px;
        width: 110%;
        left: -5%;
        height: 100vh;
    }
    
    #transition-gradient-img {
        width: 110%;
        height: 110%;
        outline: none;
        border: none;
        filter: hue-rotate(-45deg);
    }

    #about-title-container.about-content {
        height: 50vh;
        /* color: rgb(69, 63, 100); */
    }

    #about-content-container.about-content {
        min-height: 50vh;
        padding-bottom: 0px;
        padding-top: 100px;
    }
}

@media only screen and (max-width: 1250px) {
    .values-content-container {
        gap: 1.5rem;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }

    .values-content-card {
        /* flex: 0 1 30%; */
        display: flex;
        flex-direction: column;
        min-width: 30%;
        max-height: 300px;
        padding: 10px 10px;
        border-radius: 8px;
        backdrop-filter: blur(15px);
        -webkit-backdrop-filter: blur(15px);
        margin: 10px;
        box-shadow: -1px -1px white;
    }
}

@media only screen and (max-width: 700px) {
    .values-content-container {
        gap: 1.5rem;
        display: grid;
        grid-template-columns: repeat(1, 1fr);
    }

    .values-content-card {
        /* flex: 0 1 30%; */
        display: flex;
        flex-direction: column;
        min-width: 30%;
        max-height: 300px;
        padding: 10px 10px;
        border-radius: 8px;
        backdrop-filter: blur(15px);
        -webkit-backdrop-filter: blur(15px);
        margin: 0;
        box-shadow: -1px -1px white;
    }
}