@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");

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

html {
    font-size: 1vw;
    font-family: "Tomato Grotesk", Arial, sans-serif;
    font-weight: 500;
    scroll-behavior: smooth;
    width: 100vw;
}

:root {
    --titleFont: "Montserrat", Monospace, sans-serif;
}

::-webkit-scrollbar {
    width: 4px;
    height: 4px;
}

::-webkit-scrollbar-thumb {
    background-color: #cccccc;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background-color: #a5a4a4;
}

::-webkit-scrollbar-track {
    background-color: #FFFFFF;
}

body {

    visibility: hidden;
    overflow-x: clip;
    scroll-behavior: smooth;
    width: 100vw;
}

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

a:visited {
    color: inherit;
}

ul {
    list-style: none;
}

button,
input[type="submit"],
input[type="reset"] {
    background: none;
    color: inherit;
    border: none;
    cursor: pointer;
    padding: 0;
    font: inherit;
    outline: inherit;
}

header {

    width: 100%;
    height: 8rem;
    display: flex;
    justify-content: space-between;
    z-index: 1000;
    /*animation properties*/
    transform: translateY(-50px);
    opacity: 0;
}

.header-side {
    width: calc(65%/2);
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

#logo {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;

    &>img {
        height: 60%;
        user-select: none;
    }
}

.nav-container {
    width: 35%;
    display: flex;
    justify-content: center;
    align-items: center;

    margin: 0;

    &>nav {
        background-color: #ECEFEC;
        border-radius: 1rem;

        &>ul {
            padding: 0;
            width: 100%;
            height: 100%;
            display: flex;

            &>li {
                position: relative;
                font-size: 1.1rem;
                font-weight: 400;
                padding: 1rem 1.5rem;
            }

            &>li:not(:last-child)::after {
                position: absolute;
                content: "";
                height: 0.8rem;
                width: 2px;
                background-color: #bbbbbb;
                top: 50%;
                transform: translate(1.5rem, -50%);
            }
        }
    }

    &>div {
        position: absolute;
    }
}

#contact-container {
    height: 55%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0rem 1rem;
    background-color: #000000;
    border-radius: 2rem;
    color: white;

    &>span {
        font-size: 1.2rem;
    }
}

main {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}

#landing {
    height: calc(100vh - 8rem);
    width: 100vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-bottom: 8rem;
}

#title {
    display: flex;
    align-items: flex-end;

    height: 10.25rem;

    &>.text-reveal-container {
        margin: 0;
        display: flex;
        clip-path: inset(0 100% 0 0);
    }

    &>.text-reveal-container>span {
        font-family: var(--titleFont);
        font-weight: bold;
        font-size: 7.5rem;
        height: 10.25rem;
        user-select: none;
        margin: 0;
    }

    &>.text-reveal-container>.fraction-container {
        display: flex;
        align-items: end;
        /* animation properties */
        width: 0vw;
        opacity: 0;

        &>img {
            width: 100%;
        }
    }

    &>.text-reveal-container>span:nth-of-type(3) {
        margin-left: 2vw;
    }

    &>.text-reveal-container>#placeholder-dot {
        visibility: hidden;
    }
}

#title-dot {
    font-family: var(--titleFont);
    font-weight: bold;
    font-size: 7.5rem;
    height: 10.25rem;
    margin: 0;
    opacity: 0;
    user-select: none;
}

#overtitle {
    margin-bottom: 50px;
    transform: translateY(100px);
}

#overtitle>span {

    font-weight: 400;
    font-size: 1.7rem;
    user-select: none;
    opacity: 0;
}

#instagram-container {
    position: fixed;
    display: flex;
    justify-content: center;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 30vw;
    z-index: 1000;
}

#instagram-button {
    position: relative;
    font-family: var(--titleFont);
    font-weight: 350;
    font-size: 1.4rem;
    border-radius: 1.1rem;
    color: white;
    text-decoration: none;
    /* left: 50%;
    transform: translateX(-50%); */
    background: linear-gradient(to right, #833ab4, #fd1d1d, #ec9d2f);
    padding: 0.85rem;
    /* animation properties */
    opacity: 0;
    width: 0;

    &>div {
        width: max-content;
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
    }

    &>div>svg {
        width: 2vw;
        height: 2vw;
        z-index: 1;

    }

    &>div>span {
        margin-left: 10px;
        white-space: nowrap;
        z-index: 1;

    }

    &::after {
        content: "";
        left: 0;
        top: 0;
        position: absolute;
        border-radius: 1.1rem;
        z-index: 0;
        opacity: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(160deg, #833ab4, #fd1d1d, #ec9d2f);
        transition: opacity 1s ease;

    }

    &:hover::after {
        opacity: 1;
    }
}

#info {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 5rem 0 10rem 0;

    &>.section-title {
        width: 70rem;

        &>.min-text-container {
            &>.min-text-wrapper {
                width: fit-content;
                margin-bottom: 2rem;
                margin-left: 45rem;
                display: flex;
                justify-content: flex-end;
                align-items: flex-end;

                &>.min-text-dot {
                    background-color: #05c92f;
                    height: .3rem;
                    width: .3rem;
                    margin: 0;
                    margin-bottom: 0.3rem;
                    border-radius: 100%;

                }

                &>span {
                    margin-left: 0.2rem;
                    font-size: 1.5rem;
                }
            }
        }

        &>.section-title-wrapper {
            &>img {
                width: 25rem;
                float: right;
                margin: 1.5rem;

            }

            &>h2 {
                font-size: 6.5rem;
                font-weight: 500;

                &>.word {
                    /* animation properties*/
                    font-kerning: none;
                    clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0% 100%);
                    opacity: 0.3;
                    transform: translateY(130px);
                    transition: transform 0.5s;
                }
            }
        }
    }

    &>.section-content {
        width: 65rem;
        padding-top: 8rem;
        display: flex;
        flex-direction: column;
        align-items: center;

        &>.info-card {
            display: flex;
            display: flex;
            align-items: center;
            padding: 3rem 5rem;
            width: 100%;
            margin-bottom: 4rem;
            background-color: #F4F4F4;
            border-radius: 1rem;
            /* animation properties */
            transform: scale(0.8) translateY(300px);
            transform-origin: bottom center;

            &>.info-card-text {
                padding: 2.5rem;
                height: 24rem;
                display: flex;
                flex-direction: column;
                justify-content: center;
                align-items: center;

                &>h3 {
                    width: 100%;
                    font-size: 3.6rem;
                    font-weight: 500;
                    margin-bottom: 0.9rem;
                }

                &>p {
                    width: 100%;
                    color: rgb(150, 149, 149);
                    font-weight: 400;
                    font-size: 1.3rem;
                }
            }

            &>.info-card-img {
                display: flex;
                align-items: center;

                &>img {

                    height: 15rem;
                }
            }
        }
    }
}

#people {
    & .min-text-dot {
        background-color: #ff5a4d;
    }

    & .min-text-wrapper {
        margin-left: 33rem;
    }
}

#people {
    background-color: #F9F9F9;
    width: 100%;
    height: 100vh;
    position: relative;
    display: flex;
    align-items: center;

    &>.section-title {
        position: absolute;
        top: 30%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 70rem;

        &>.min-text-container {
            &>.min-text-wrapper {
                width: fit-content;
                margin-bottom: 2rem;

                display: flex;
                justify-content: center;
                align-items: flex-end;

                &>.min-text-dot {
                    background-color: #ff5a4d;
                    height: .3rem;
                    width: .3rem;
                    margin: 0;
                    margin-bottom: 0.3rem;
                    border-radius: 100%;

                }

                &>span {
                    margin-left: 0.2rem;
                    font-size: 1.65rem;
                }
            }
        }

        &>.section-title-wrapper {
            &>img {
                width: 16rem;
                float: left;
                margin: 1.5rem;
            }

            &>h2 {
                font-size: 7.5rem;
                font-weight: 500;

                &>.word {
                    /* animation properties*/
                    font-kerning: none;
                    clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0% 100%);
                    opacity: 0.3;
                    transform: translateY(130px);
                    transition: transform 0.5s;
                }
            }
        }
    }

    &>.section-content {
        z-index: 5;
        padding: 0rem 15rem;
        transform: translateY(25rem);
        display: flex;

        &>article {
            position: relative;
            width: 20rem;
            height: 33rem;
            padding: 1.5rem;
            background-color: #F4F4F4;
            border-radius: 2rem;
            display: flex;
            flex-direction: column;

            &>.person-content {
                &>h3 {
                    font-size: 2rem;
                    line-height: 3rem;
                    line-height: 1;
                    padding-bottom: 0.5rem;
                }

                &>span {
                    color: rgb(107, 106, 106);
                }
            }

            &>img {
                position: absolute;
                width: calc(100% - 3rem);
                bottom: 2rem;
                left: 50%;
                transform: translate(-50%);
                border-radius: 2rem;
            }
        }

        &>article:not(:last-child) {
            margin-right: 0.9rem;
        }
    }
}

#faq {
    position: relative;
    background-color: #F4F4F4;
    width: 100%;
}

#gallery-pin-wrapper {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

#faq {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 5rem 0 10rem 0;

    &>.section-title {
        width: 60rem;
        margin-bottom: 0.6rem;

        &>.min-text-container {
            &>.min-text-wrapper {
                width: fit-content;
                margin-bottom: 2rem;
                margin-left: 30rem;
                display: flex;
                justify-content: flex-end;
                align-items: flex-end;

                &>.min-text-dot {
                    background-color: #e78585;
                    height: .3rem;
                    width: .3rem;
                    margin: 0;
                    margin-bottom: 0.3rem;
                    border-radius: 100%;

                }

                &>span {
                    margin-left: 0.2rem;
                    font-size: 1.8rem;
                }
            }
        }

        &>.section-title-wrapper {
            display: flex;

            &>h2 {
                margin: 0;
                font-size: 6.5rem;
                font-weight: 500;

                &>.word {
                    /* animation properties*/
                    font-kerning: none;
                    clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0% 100%);
                    opacity: 0.3;
                    transform: translateY(130px);
                    transition: transform 0.5s;
                }
            }
        }
    }

    &>.section-content {
        width: 60rem;
        padding-top: 0.5rem;
        display: flex;
        flex-direction: column;
        align-items: center;

        &>.faq-card {
            display: flex;
            flex-direction: column;
            width: 100%;
            margin-bottom: 15px;
            background-color: #e9e9e9;
            border-radius: 0.6rem;
            border: 2px solid #0f0f0f;
            overflow: hidden;
            /* animation properties */


            &>.faq-card-main-text {
                width: 100%;
                padding: 2rem;
                display: flex;
                align-items: center;

                &>h3 {
                    text-align: left;
                    font-size: 2rem;
                    margin: 0;
                }

                &>.plus-minus-wrapper {
                    border: 2px solid #0f0f0f;
                    border-radius: 100%;
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    min-width: 2.5rem;
                    min-height: 2.5rem;
                    max-width: 2.5rem;
                    max-height: 2.5rem;
                    margin: 0 0 0 auto;

                    &>.plus-minus-button {
                        position: relative;
                        width: 1rem;
                        height: 1rem;
                        cursor: pointer;

                        &.active {
                            &:before {
                                transform: translatey(-50%) rotate(-90deg);
                                opacity: 0;
                            }

                            &:after {
                                transform: translatey(-50%) rotate(0);
                            }
                        }

                        &:before,
                        &:after {
                            content: "";
                            display: block;
                            background-color: #0f0f0f;
                            position: absolute;
                            top: 50%;
                            left: 0;
                            transition: .35s;
                            width: 100%;
                            height: 2px;
                        }

                        &:before {
                            transform: translatey(-50%);
                        }

                        &:after {
                            transform: translatey(-50%) rotate(90deg);
                        }
                    }
                }
            }

            &>.faq-card-expand-text {
                margin: 0;
                padding: 0rem 2rem 2rem 2rem;

                /* animation properties */
                &>p,
                ol {
                    color: #4b4b4b;
                    font-weight: 400;
                    font-size: 1.2rem;
                    height: calc(auto + 2rem);
                }

                &>ol {
                    padding-left: 0;
                    list-style-position: inside;
                }
            }
        }
    }
}