@import url('reset.css');

@font-face {
    font-family: 'Montserrat';
    src: url('fonts/Montserrat-VariableFont_wght.ttf');
}

body {
    font-family: 'Montserrat';
    color: #FFFFFF;
    background-color: #1C1C20;
}


.accent {
    color: #FFBE8DF5;
}

.lesson-button {
    margin-top: 4vw;

    width: 23vw;
    height: 5.2vw;

    font-weight: 400;
    font-size: 1.3vw;
    line-height: 100%;
    letter-spacing: -0.08vw;
    text-align: center;

    color: #FFFFFF;
    border-radius: 1.4vw;

    background: linear-gradient(180deg, rgba(255, 190, 141, 0.96) 0%, #D5915E 100%);
    box-shadow: 0px 4px 18px 0px #FFFFFF40 inset;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 0.4vw 0 2.3vw;
    
    .text {

    }

    .white-arrow {
        display: none;
    }

    .icon-container {
        background-color: #FFFFFF;

        width: 4.7vw;
        height: 4.7vw;
        border-radius: 1vw;

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

.header-block {
    width: 100%;
    overflow: hidden;
    position: relative;

    .image-container {
        position: relative;
        margin-bottom: 7vw;;

        #header-bg {
            width: 100%;
            object-position: 0 -60px;
        }
    
        #header-house {
            position: absolute;
            bottom: -7vw;
            left: -1px;
            width: 101%;
        }
    }

    .on-bg-container {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;

        .on-bg-container-content {
            max-width: calc(1550px + 80px * 2);
            margin: 0 auto;
            padding: 0 80px;

            aside {
                margin-top: 5vw;
                font-weight: 300;
                font-size: 1vw;
                line-height: 135%;
                letter-spacing: -0.01vw;
                max-width: 6.7vw;
                margin-bottom: 3vw;
            }

            .mobile-header {
                display: none;
            }
    
            h1 {
                font-weight: 500;
                font-size: 4vw;
                line-height: 135%;
                text-transform: uppercase;
            }

            .info-block-mobile {
                display: none;
            }
    
            .info-block {
                margin-top: 3vw;
                font-weight: 300;
                font-size: 1.6vw;
                line-height: 135%;
                letter-spacing: -0.1vw;

                .accent {
                    font-weight: 500;
                }
            }
        }

    }
}

.header {
    max-width: 900px;
    margin: 118px auto 0;

    h1 {
        font-weight: 600;
        font-size: 75px;
        line-height: 135%;
        letter-spacing: -2%;
        text-align: center;
        text-transform: uppercase;
    }

    & > span {
        display: block;
        margin-top: 30px;
        font-weight: 700;
        font-size: 26px;
        line-height: 160%;
        letter-spacing: 0%;
        text-align: center;
        text-transform: none;
    }
}

.photo-container {
    text-align: center;
    padding: 0 80px;
    margin-top: 8vw;

    .photo {
        margin: 0 auto;
        width: 100%;
        max-width: 1151px;
        max-height: 644px;
        border-radius: 25px;
    }

    .lesson-button-wrapper {
        display: none;
    }

    .access {
        display: none;
    }
}

.timer {
    display: none;
}

.check-marks-wrapper {
    max-width: calc(1650px + 80px * 2);
    margin: 140px auto 0;
    padding: 0 80px 0 120px;
    display: flex;
    justify-content: center;

    .check-marks {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 50px 85px;
        flex-wrap: wrap;
        width: fit-content;
        justify-content: center;

        li {
            align-items: center;
            display: flex;
            flex-direction: column;
            gap: 20px;

            .check-mark-container {
                background: linear-gradient(180deg, rgba(255, 190, 141, 0.96) 0%, #D5915E 100%);
                border-radius: 12px;

                width: 58px;
                height: 58px;

                aspect-ratio: 1;

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

            h2 {
                max-width: 378px;
                font-weight: 500;
                font-size: 23px;
                line-height: 35px;
                letter-spacing: -0.8px;
                max-width: 378px;

                text-align: center;
            }

            span {
                font-weight: 300;
                font-size: 20px;
                line-height: 35px;
                letter-spacing: -0.8px;
                max-width: 378px;
                text-align: center;

                b {
                    font-weight: 500;
                }
            }
        }
    }

    @media (max-width: 1645px) {
        .check-marks {
            grid-template-columns: repeat(2, 1fr);
        }
    }

    @media (max-width: 1070px) {
        .check-marks {
            li {
                span {
                    font-size: 20px;
                }
            }
        }
    }
}

@media (max-width: 1000px) {
    .check-marks-wrapper {
        margin: 140px auto 0;
        padding: 0 20px 100px;

        .check-marks {
            display: flex;
            flex-direction: column;
            gap: 66px;

            li {
                align-items: center;
                display: flex;
                flex-direction: column;
                gap: 20px;
                
                h2 {
                    font-weight: 500;
                    font-size: 16px;
                    leading-trim: Cap height;
                    line-height: 160%;
                    letter-spacing: 0.3px;
                    text-align: center;
                }

                span {
                    font-weight: 500;
                    font-size: 12px;
                    leading-trim: Cap height;
                    line-height: 160%;
                    letter-spacing: 0.2px;
                    text-align: center;
                    max-width: fit-content;

                    max-width: 378px;
                }
            }
        }
    }
}

.lesson-button-wrapper {
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 70px;

    .lesson-button {
        margin-top: 0px;
        width: 440px;
        height: 100px;
        border-radius: 16px;
    
        font-weight: 400;
        font-size: 25px;

        .icon-container {
            background-color: #FFFFFF;

            width: 90px;
            height: 90px;
            border-radius: 1vw;

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

.spiker {
    display: none;
}

.bottom-gap {
    height: 400px;
}


@media (max-width: 850px) {
    .header-block {
        width: 100%;
        overflow: hidden;
        position: relative;
        height: 740px;

        .lesson-button {
            margin: 0 auto;
            margin-top: calc(10px + 5vw);

            width: 100%;
            max-width: 500px;
            height: 60px;

            font-weight: 400;
            font-size: 15px;
            letter-spacing: -0.08px;
            text-align: center;

            border-radius: 15px;

            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            padding: 0 0 0 0;
            
            .text {

            }

            .white-arrow {
                display: block;
            }

            .icon-container {
                display: none;
            }
        }

        .image-container {
            height: 100%;

            #header-bg {
                height: 100%;
                object-position: 0 -60px;
            }
        
            #header-house {
                position: absolute;
                bottom: -5px;
                height: 334px;
                object-fit: cover;
                object-position: calc(50% - 25px);
            }
        }

        .on-bg-container {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;

            .on-bg-container-content {
                padding: 0 40px;

                aside {
                    margin-top: 40px;
                    font-size: 11px;
                    letter-spacing: 0;
                    max-width: 100px;
                    margin-bottom: calc(20px + 5vw);
                }

                .mobile-header {
                    display: block;

                    h1 {
                        margin-top: 3px;
                        display: block;
                        font-weight: 500;
                        font-size: 25px;
                        line-height: 135%;
                        letter-spacing: 0.2px;
                        text-transform: uppercase;
                        text-align: center;
                    }
                }
        
                h1 {
                    display: none;
                }

                .info-block {
                    display: none;
                }
        
                .info-block-mobile {
                    display: block;
                    margin-top: 30px;
                    font-weight: 300;
                    font-size: 14px;
                    letter-spacing: -0.1px;
                    text-align: center;

                    p {
                        margin-top: 5px;
                    }

                    .accent {
                        font-weight: 500;
                    }
                }
            }

        }
    }

    .lesson-button-wrapper {
        .lesson-button {
            margin: 0 auto;
            margin-top: calc(10px + 5vw);
    
            width: 100%;
            max-width: 500px;
            height: 59px;
    
            font-weight: 400;
            font-size: 15px;
            letter-spacing: -0.08px;
            text-align: center;
    
            border-radius: 15px;
    
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            padding: 0 0 0 0;
            
            .text {
                font-size: 15px;
            }
    
            .white-arrow {
                display: block;
            }
    
            .icon-container {
                display: none;
            }
        }
    }

    .header {
        margin-top: 40px;
        padding: 0 20px;

        h1 {
            font-weight: 500;
            font-size: 24px;
            line-height: 140%;
            letter-spacing: -0.5px;
            text-align: center;
            text-transform: uppercase;
        }

        & > span {
            display: block;
            margin-top: 10px;
            font-weight: 500;
            font-size: 16px;
            line-height: 160%;
            letter-spacing: -0.5px;
            text-align: center;
            text-transform: none;
        }
    }

    .photo-container {
        position: relative;
        text-align: center;
        padding: 0 20px;
        margin-top: 8vw;

        .photo {
            width: 100%;
            height: calc(150px + 20vw);
            border-radius: 15px;
            transform: rotate(-2.51deg);
            z-index: 1;
            object-fit: cover;
        }

        .lesson-button-wrapper {
            display: block;
            position: relative;
            margin-top: calc(-115px - 5vw);
            z-index: 10;
            background-color: transparent;
        }

        .access {
            display: block;
            font-weight: 200;
            font-size: 15px;
            line-height: 160%;
            letter-spacing: -0.7px;
            text-align: center;
            margin-top: 40px;
        }
    }

    .timer {
        margin-top: 20px;
        padding: 0 20px;
        display: flex;
        flex-direction: column;
        align-items: center;

        .timer-wrapper {
            display: flex;
            gap: 5px;
            height: 70px;
            max-width: 400px;
            width: 100%;

            .timer-counter {
                background-color: red;
                flex: 1;
                border-radius: 15px;
                padding: 12px 0px 5px 0px;

                display: flex;
                flex-direction: column;
                justify-content: space-between;

                background: linear-gradient(180deg, rgba(255, 190, 141, 0.96) 0%, #D5915E 100%);

                .timer-value {
                    font-weight: 500;
                    font-size: 30px;
                    letter-spacing: -0.7px;
                    text-align: center;
                    text-transform: none;
                }

                .timer-description {
                    font-weight: 500;
                    font-size: 14px;
                    line-height: 160%;
                    letter-spacing: -0.7px;
                    text-align: center;
                    text-transform: none;
                }

                @media (max-width: 380px) {
                    .timer-description {
                        font-size: 10px;
                    }
                }
            }

            .timer-dots {
                width: 10px;
                display: flex;
                flex-direction: column;
                justify-content: center;
                gap: 10px;

                & > div {
                    width: 100%;
                    aspect-ratio: 1;
                    background: linear-gradient(180deg, rgba(255, 190, 141, 0.96) 0%, #D5915E 100%);
                    border-radius: 50%;
                }
            }
        }
    }

    .check-marks-wrapper {
        margin-top: 50px;

        .check-marks {
            display: flex;
            flex-direction: column;
            gap: 30px;

            li {
                align-items: center;
                display: flex;
                flex-direction: column;
                gap: 13px;

                .gift {
                    
                }

                .check-mark-container {
                    border-radius: 10px;

                    width: 42px;
                    height: 42px;

                    aspect-ratio: 1;

                    display: flex;
                    align-items: center;
                    justify-content: center;
                }
                
                h2 {
                    margin-top: 0px;
                    font-weight: 500;
                    font-size: 16px;
                    line-height: 160%;
                    letter-spacing: -0.8px;
                    text-align: center;
                }

                span {
                    font-weight: 400;
                    font-size: 14px;
                    leading-trim: Cap height;
                    line-height: 160%;
                    letter-spacing: -0.7px;
                    text-align: center;
                    max-width: fit-content;

                    max-width: 378px;
                }
            }
        }
    }

    .spiker {
        padding: 0 20px;
        display: block;
        background-color: black;
        padding-top: 58px;

        h1 {
            display: block;
            font-weight: 500;
            font-size: 24px;
            leading-trim: Cap height;
            line-height: 140%;
            letter-spacing: -0.7px;
            text-align: center;
            text-transform: uppercase;
            
        }

        .spiker-photo-block {
            position: relative;
            width: 100%;
            margin-top: 49px;

            img {
                border-radius: 18px;
                width: 100%;
                height: 556px;
                object-fit: cover;
                object-position: top;
            }

            @media (min-width: 350px) {
                img {
                    object-position: 0 0px;
                }
            }

            @media (min-width: 450px) {
                img {
                    object-position: 0 -37px;
                }
            }

            @media (min-width: 550px) {
                img {
                    object-position: 0 -50px;
                }
            }

            @media (min-width: 650px) {
                img {
                    object-position: 0 -70px;
                }
            }

            @media (min-width: 650px) {
                img {
                    object-position: 0 -90px;
                }
            }

            .spiker-photo-description-block {
                position: absolute;
                bottom: -45px;
                width: 100%;
                display: flex;
                justify-content: center;

                .spiker-photo-description-block-wrapper {
                    -webkit-backdrop-filter: blur(5px);
                    backdrop-filter: blur(5px);
                    background: rgba(84, 77, 126, 0);
                    height: 90px;
    
                    display: flex;
                    flex-direction: column;
                    align-items: center;
                    padding: 15px 15px;
                    border-radius: 15px;
    
                    border: 1px solid;
                    border-color: rgba(255, 255, 255, 0.6);
    
                    h3 {
                        font-weight: 700;
                        font-size: 24px;
                        line-height: 145%;
                        letter-spacing: 0%;
                        text-align: center;
                    }
    
                    span {
                        font-weight: 400;
                        font-size: 18px;
                        line-height: 145%;
                        letter-spacing: 0%;
                        text-align: center;
                    }
                }
            }
        }

        .quote {
            margin-top: 80px;
            font-weight: 600;
            font-size: 16px;
            leading-trim: Cap height;
            line-height: 140%;
            letter-spacing: -0.7px;
            padding: 0 20px;
        }

        & > ul {
            padding: 0 20px;
            margin-top: 40px;
            display: flex;
            flex-direction: column;
            gap: 20px;

            li {
                display: flex;
                align-items:flex-start;
                gap: 16px;

                .number {
                    width: 29px;
                    height: 29px;
                    top: 3882px;
                    left: 40px;
                    border-radius: 50%;
                    aspect-ratio: 1;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    margin-top: 4px;

                    background: linear-gradient(224.5deg, #D5915E 24.78%, #6F4C31 123.93%); 
                }

                span {
                    font-weight: 600;
                    font-size: 14px;
                    leading-trim: Cap height;
                    line-height: 140%;
                    letter-spacing: -2%;
                }
            }
        }
    }

    .lesson-button-wrapper {
        margin-top: 0;
        background-color: black;
        padding: 30px 20px 0;
    }

    .bottom-gap {
        background-color: black;
        height: 60px;
    }
}
