// Colors

$dark: #333333;
$blue: #0055A7;
$orange: #FCB13E;
$red: #DF3011;
$light-blue: #E6F2F4;

// Functions

@function get-desktop-vw($target) {
    $vw-context: (1840 * 0.01) * 1px;
    @return ($target/$vw-context) * 1vw;
}

@function get-mobile-vw($target) {
    $vw-context: (320 * 0.01) * 1px;
    @return ($target/$vw-context) * 1vw;
}

body {
    margin: 0;
    padding: 0;
    font-family: 'Open Sans';
    overscroll-behavior: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, p, span {
    margin: 0;
    padding: 0;
}

.orange {
    color: $orange;
}

.red {
    color: $red;
}

.italic {
    font-style: italic;
}

.bold {
    font-weight: 800;
}

.extra-bold {
    font-weight: 800;
}

.button {
    background: $red;
    font-size: 32px;
    font-weight: 800;
    width: 416px;
    height: 76px;
    line-height: 76px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    border-radius: 8px;
    border-bottom: 4px solid #942B19 !important;
    display: inline-block;
    letter-spacing: -0.05em;
    color: white;

    @media (max-width: 1840px) {
        font-size: get-desktop-vw(32px);
        width: get-desktop-vw(416px);
        height: get-desktop-vw(80px);
        line-height: get-desktop-vw(80px);
        border-radius: get-desktop-vw(8px);
        border-width: get-desktop-vw(4px);
    }

    @media (max-width: 960px) {
        font-size: get-mobile-vw(16px);
        width: get-mobile-vw(128px);
        height: get-mobile-vw(40px);
        line-height: get-mobile-vw(40px);
        border-radius: get-mobile-vw(4px);
        border-bottom: get-mobile-vw(2px) solid #942B19 !important;
    }
}

.hero-section {
    background: linear-gradient(#013783,#001E42);
    text-align: center;
    padding: 48px 0 96px 0;
    position: relative;
    display: flex;
    justify-content: center;
    gap: 32px;

    @media (max-width: 1840px) {
        padding: get-desktop-vw(48px) 0 get-desktop-vw(96px) 0;
        gap: get-desktop-vw(32px);
    }

    @media (max-width: 960px) {
        flex-direction: column;
        padding: get-mobile-vw(32px) 0 get-mobile-vw(32px) 0;
        gap: 0;
    }

    &__logo {
        position: absolute;
        left: 32px;
        top: 32px;
        width: 192px;
        height: auto;

        @media (max-width: 1840px) {
            left: get-desktop-vw(32px);
            top: get-desktop-vw(32px);
            width: get-desktop-vw(192px);
        }

        @media (max-width: 960px) {
            width: get-mobile-vw(60px);
            height: get-mobile-vw(40px);
            position: static;
            margin: 0 auto 0 auto;
        }
    }

    &-container {
        width: 1232px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding-top: 96px;

        @media (max-width: 1840px) {
            width: get-desktop-vw(1232px);
            padding-top: get-desktop-vw(96px);
        }

        @media (max-width: 960px) {
            width: get-mobile-vw(288px);
            padding-top: get-mobile-vw(21px);
            margin: 0 auto;
        }
    }

    &__name {
        font-size: 24px;
        line-height: 20px;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: -0.02em;
        color: white;
        position: relative;
        width: 608px;
        display: inline-block;

        @media (max-width: 1840px) {
            font-size: get-desktop-vw(24px);
            line-height: get-desktop-vw(20px);
            width: get-desktop-vw(608px);
        }

        @media (max-width: 960px) {
            font-size: get-mobile-vw(13px);
            line-height: get-mobile-vw(20px);
            width: get-mobile-vw(288px);
        }

        &::before {
            width: 160px;
            height: 2px;
            background: $orange;
            display: block;
            position: absolute;
            content: '';
            left: 0;
            top: 8px;

            @media (max-width: 1840px) {
                width: get-desktop-vw(156px);
                height: get-desktop-vw(2px);
                top: get-desktop-vw(8px);
            }

            @media (max-width: 960px) {
                width: get-mobile-vw(64px);
                height: get-mobile-vw(2px);
                top: get-mobile-vw(9px);
            }
        }

        &::after {
            width: 160px;
            height: 2px;
            background: $orange;
            display: block;
            position: absolute;
            content: '';
            right: 0;
            top: 9px;

            @media (max-width: 1840px) {
                width: get-desktop-vw(156px);
                height: get-desktop-vw(2px);
                top: get-desktop-vw(9px);
            }

            @media (max-width: 960px) {
                width: get-mobile-vw(64px);
                height: get-mobile-vw(2px);
                top: get-mobile-vw(9px);
            }
        }
    }

    &__title {
        font-size: 96px;
        font-weight: 800;
        color: white;
        line-height: 80px;
        text-align: center;
        letter-spacing: -0.05em;
        text-transform: uppercase;
        margin-top: 8px;

        @media (max-width: 1840px) {
            font-size: get-desktop-vw(96px);
            line-height: get-desktop-vw(80px);
            margin-top: get-desktop-vw(8px);
        }

        @media (max-width: 960px) {
            font-size: get-mobile-vw(26px);
            line-height: get-mobile-vw(24px);
            margin-top: 0;
        }
    }

    &__description {
        width: 876px;
        font-size: 24px;
        font-weight: 600;
        color: white;
        line-height: 32px;
        text-align: center;
        letter-spacing: -0.05em;
        margin: 8px auto 32px auto;

        @media (max-width: 1840px) {
            width: get-desktop-vw(876px);
            font-size: get-desktop-vw(24px);
            line-height: get-desktop-vw(32px);
            margin: get-desktop-vw(8px) auto get-desktop-vw(32px) auto;
        }

        @media (max-width: 960px) {
            width: get-mobile-vw(288px);
            font-size: get-mobile-vw(13px);
            line-height: get-mobile-vw(16px);
            margin: get-mobile-vw(9px) auto get-mobile-vw(21px) auto;
        }
    }

    &__cover {
        width: 608px;
        height: auto;
        border-radius: 8px;

        @media (max-width: 1840px) {
            width: get-desktop-vw(608px);
            height: auto;
            border-radius: get-desktop-vw(8px);
        }

        @media (max-width: 960px) {
            width: get-mobile-vw(288px);
            height: auto;
            border-radius: get-mobile-vw(8px);
        }
    }

    &-form {
        width: 452px;

        @media (max-width: 1840px) {
            width: get-desktop-vw(452px);
        }

        @media (max-width: 960px) {
            width: get-mobile-vw(288px);
            margin: get-mobile-vw(19px) 0 0 get-mobile-vw(16px);
        }

        &__description {
            font-size: 24px;
            line-height: 24px;
            font-weight: 600;
            text-align: left;
            color: white;

            @media (max-width: 1840px) {
                font-size: get-desktop-vw(24px);
                line-height: get-desktop-vw(24px);
            }

            @media (max-width: 960px) {
                font-size: get-mobile-vw(13px);
                line-height: get-mobile-vw(16px);
            }
        }

        form {
            margin: 32px 0 0 0;
            font-family: 'Open Sans';

            @media (max-width: 1840px) {
                margin: get-desktop-vw(32px) 0 0 0;
            }

            @media (max-width: 960px) {
                margin: get-mobile-vw(25px) 0 0 0;
            }

            .form-item {
                display: flex;
                flex-direction: column;
                text-align: left;
                margin-bottom: 19px;

                @media (max-width: 960px) {
                    margin-bottom: get-mobile-vw(12px);
                }

                label {
                    color: white;
                    font-size: 24px;
                    font-weight: 600;
                    line-height: 100%;
                    margin-bottom: 13px;

                    @media (max-width: 1840px) {
                        font-size: get-desktop-vw(24px);
                        margin-bottom: get-desktop-vw(13px);
                    }

                    @media (max-width: 960px) {
                        font-size: get-mobile-vw(13px);
                        margin-bottom: get-mobile-vw(7px);
                    }
                }

                input {
                    height: 54px;
                    border: none;
                    border-radius: 8px;
                    padding-left: 16px;
                    font-size: 24px;
                    font-weight: 600;
                    color: $dark;

                    @media (max-width: 1840px) {
                        height: get-desktop-vw(54px);
                        border-radius: get-desktop-vw(8px);
                        padding-left: get-desktop-vw(16px);
                        font-size: get-desktop-vw(24px);
                    }

                    @media (max-width: 960px) {
                        height: get-mobile-vw(32px);
                        border-radius: get-mobile-vw(6px);
                        padding-left: get-mobile-vw(12px);
                        font-size: get-mobile-vw(16px);
                    }

                    &::placeholder {
                        color: rgba(51, 51, 51, 0.4);
                    }
                }
            }

            .form-item-checkbox {
                color: white;
                text-align: left;
                display: flex;
                margin-bottom: 16px;

                label {
                    font-size: 16px;
                    font-weight: 600;
                    line-height: 20px;
                    margin-left: 12px;
                    width: 100%;

                    @media (max-width: 1840px) {
                        font-size: get-desktop-vw(16px);
                        line-height: get-desktop-vw(20px);
                        margin-left: get-desktop-vw(12px);
                    }

                    @media (max-width: 960px) {
                        font-size: get-mobile-vw(12px);
                        line-height: get-mobile-vw(14px);
                        margin-left: get-mobile-vw(8px);
                    }
                }

                input {
                    padding: 0;
                    margin: 0;
                    width: 24px;
                    height: 24px;
                    place-self: flex-start;
                }
            }

            .form-button {
                width: 100%;
                border: none;
                font-family: 'Open Sans';
                line-height: 70px;
                
                @media (max-width: 1840px) {
                    line-height: get-desktop-vw(68px);
                }

                &:hover {
                    cursor: pointer;
                    background: #F04E31;
                }
            }
        }

        
    }
}

.donation-section {
    text-align: center;
    padding: 114px 0 124px 0;
    position: relative;

    @media (max-width: 1840px) {
        padding: get-desktop-vw(114px) 0 get-desktop-vw(124px) 0;
    }

    @media (max-width: 960px) {
        padding: get-mobile-vw(36px) 0 get-mobile-vw(45px) 0;
    }

    &__title {
        font-size: 64px;
        font-weight: 800;
        line-height: 100%;
        letter-spacing: -0.05em;
        text-transform: uppercase;
        color: $blue;

        @media (max-width: 1840px) {
            font-size: get-desktop-vw(64px);
        }

        @media (max-width: 960px) {
            font-size: get-mobile-vw(17.3px);
        }

        &_top {
            margin-left: 208px;

            @media (max-width: 1840px) {
                margin-left: get-desktop-vw(208px);
            }

            @media (max-width: 960px) {
                margin-left: get-mobile-vw(52px);
            }
        }
    }

    &__info {
        position: relative;
        width: 1080px;
        margin: 0 auto;
        display: block;
        text-align: left;

        @media (max-width: 1840px) {
            width: get-desktop-vw(1080px);
        }

        @media (max-width: 960px) {
            width: get-mobile-vw(288px);
        }
    }

    &__big {
        font-size: 256px;
        font-weight: 800;
        line-height: 224px;
        letter-spacing: -0.05em;
        color: $red;
        display: inline-block;
        margin-left: 211px;

        @media (max-width: 1840px) {
            font-size: get-desktop-vw(256px);
            line-height: get-desktop-vw(224px);
            margin-left: get-desktop-vw(211px);
        }

        @media (max-width: 960px) {
            font-size: get-mobile-vw(69px);
            line-height: get-mobile-vw(54px);
            margin-left: get-mobile-vw(53px);
            width: auto;
        }
    }

    &__small {
        font-size: 48px;
        font-weight: 800;
        font-style: italic;
        line-height: 48px;
        text-transform: uppercase;
        text-align: left;
        letter-spacing: -0.05em;
        color: $blue;
        position: absolute;
        left: 648px;
        top: 20%;

        @media (max-width: 1840px) {
            font-size: get-desktop-vw(48px);
            line-height: get-desktop-vw(48px);
            left: get-desktop-vw(648px);
            top: 20%;
        }

        @media (max-width: 960px) {
            font-size: get-mobile-vw(13px);
            line-height: get-mobile-vw(13px);
            left: 60%;
            top: 18%;
        }
    }

    &__small-title {
        font-size: 48px;
        font-weight: 800;
        font-style: italic;
        line-height: 48px;
        text-transform: uppercase;
        text-align: left;
        letter-spacing: -0.05em;
        color: $red;
        margin-left: -720px;

        @media (max-width: 1840px) {
            font-size: get-desktop-vw(48px);
            line-height: get-desktop-vw(48px);
            margin-left: get-desktop-vw(-720px);
        }

        @media (max-width: 960px) {
            font-size: get-mobile-vw(11px);
            line-height: get-mobile-vw(11px);
            margin-left: get-mobile-vw(-208px);
        }
    }

    &__button {
        background: $blue;
        border-color: #002951!important;
        margin: 57px 0 13px 0;

        &:hover {
            background: #F04E31;
            border-color: #942B19!important;
        }

        @media (max-width: 1840px) {
            margin: get-desktop-vw(57px) 0 get-desktop-vw(13px) 0;
        }

        @media (max-width: 960px) {
            margin: get-mobile-vw(31px) 0 get-mobile-vw(5px) 0;
            width: get-mobile-vw(288px);
            border-color: #002951!important;
        }
    }

    &__description {
        font-size: 24px;
        font-weight: 600;
        line-height: 32px;
        letter-spacing: -0.02em;
        font-style: italic;
        color: $dark;

        @media (max-width: 1840px) {
            font-size: get-desktop-vw(24px);
            line-height: get-desktop-vw(32px);
        }

        @media (max-width: 960px) {
            font-size: get-mobile-vw(12px);
            line-height: get-mobile-vw(16px);
        }
    }
}

.book-section {
    text-align: center;
    background: linear-gradient(#013783,#001E42);
    padding: 111px 0 121px 0;

    @media (max-width: 1840px) {
        padding: get-desktop-vw(111px) 0 get-desktop-vw(121px) 0;
    }

    @media (max-width: 960px) {
        padding: get-mobile-vw(44px) 0 get-mobile-vw(51px) 0;
    }

    &__title {
        font-size: 64px;
        line-height: 64px;
        color: white;
        text-align: center;
        text-transform: uppercase;
        letter-spacing: -0.05em;
        font-weight: 800;

        @media (max-width: 1840px) {
            font-size: get-desktop-vw(64px);
            line-height: get-desktop-vw(64px);
        }

        @media (max-width: 960px) {
            font-size: get-mobile-vw(16px);
            line-height: get-mobile-vw(20px);
            letter-spacing: -0.04em;
        }
    }

    &__info {
        font-size: 128px;
        line-height: 100%;
        letter-spacing: -0.05em;
        font-weight: 800;
        text-transform: uppercase;
        display: inline-block;
        margin: 0 0 4px 0;

        @media (max-width: 1840px) {
            font-size: get-desktop-vw(128px);
            margin: 0 0 get-desktop-vw(4px) 0;
        }

        @media (max-width: 960px) {
            font-size: get-mobile-vw(32px);
            margin: 0 0 get-mobile-vw(3px) 0;
        }
    }

    &__button {
        background: $orange;
        border-color: #AE7113!important;
        color: #122B5A;
        margin: 33px 0 13px 0;

        &:hover {
            cursor: pointer;
            background: #FFBD59!important;
        }

        @media (max-width: 1840px) {
            margin: get-desktop-vw(33px) 0 get-desktop-vw(13px) 0;
        }

        @media (max-width: 960px) {
            margin: get-mobile-vw(20px) 0 get-mobile-vw(5px) 0;
            width: get-mobile-vw(288px);
            border-color: #AE7113!important;
        }
    }

    &__description {
        font-size: 24px;
        line-height: 32px;
        font-weight: 600;
        font-style: italic;
        color: white;

        @media (max-width: 1840px) {
            font-size: get-desktop-vw(24px);
            line-height: get-desktop-vw(32px);
        }

        @media (max-width: 960px) {
            font-size: get-mobile-vw(12px);
            line-height: get-mobile-vw(14px);
            width: get-mobile-vw(288px);
            margin: get-mobile-vw(4px) auto 0 auto;
        }
    }
}

.video-section {
    background: black;
    width: 100%;
    height: 1000px;
    text-align: center;
    color: white;
    background: url(../img/video-volunteers-background.jpg);
    background-size: cover;
    background-position: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    @media (max-width: 1840px) {
        height: get-desktop-vw(1000px);
    }

    @media (max-width: 960px) {
        height: get-mobile-vw(320px);
    }

    &-copy {

        &__title {
            font-size: 64px;
            line-height: 100%;
            font-weight: 800;
            color: white;
            letter-spacing: -0.05em;
            text-transform: uppercase;
            margin: 0 0 25px 0;

            @media (max-width: 1840px) {
                font-size: get-desktop-vw(64px);
                margin: 0 0 get-desktop-vw(25px) 0;
            }

            @media (max-width: 960px) {
                font-size: get-mobile-vw(24px);
                margin: 0 0 get-mobile-vw(12px) 0;
            }

            &:hover {
                color: $orange;
                cursor: pointer;
            }
        }

        &__icon img {

            &:hover {
                cursor: pointer;
            }

            @media (max-width: 960px) {
                width: get-mobile-vw(48px);
            }
        }
    }
}

.footer {
    height: 128px;
    background: linear-gradient(#013783,#001E42);
    color: white;
    display: flex;
    align-items: center;
    padding: 0 40px;
    margin: auto 0 0 0;

    @media (max-width: 1840px) {
        height: get-desktop-vw(128px);
        padding: 0 get-desktop-vw(40px);
    }

    @media (max-width: 960px) {
        flex-direction: column;
        height: auto;
        padding: get-mobile-vw(19px) get-mobile-vw(20px) get-mobile-vw(20px) get-mobile-vw(20px);
    }

    &__caption {
        font-size: 24px;
        line-height: 100%;
        text-transform: uppercase;
        font-weight: 600;
        letter-spacing: -0.05em;

        @media (max-width: 1800px) {
            font-size: get-desktop-vw(18px);
        }

        @media (max-width: 960px) {
            font-size: get-mobile-vw(16px);
            line-height: get-mobile-vw(20px);
            text-align: center;
        }
    }

    &-social-list {
        display: flex;
        margin: 0 0 0 auto;

        @media (max-width: 960px) {
            margin: get-mobile-vw(12px) auto 0 auto;
        }

        &__item {
            width: 48px;
            height: 48px;
            border-radius: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
            border: 1px solid rgba(255, 255, 255, 0.24);

            @media (max-width: 1840px) {
                width: get-desktop-vw(48px);
                height: get-desktop-vw(48px);
            }

            @media (max-width: 960px) {
                width: get-mobile-vw(40px);
                height: get-mobile-vw(40px);
            }

            &:not(:last-child) {
                margin-right: 8px;

                @media (max-width: 1840px) {
                    margin-right: get-desktop-vw(8px);
                }

                @media (max-width: 960px) {
                    margin-right: get-mobile-vw(4px);
                }
            }
        }

        &__icon {
            width: 24px;
            height: 24px;

            @media (max-width: 1840px) {
                width: get-desktop-vw(24px);
                height: get-desktop-vw(24px);
            }

            @media (max-width: 960px) {
                width: get-mobile-vw(20px);
                height: get-mobile-vw(20px);
            }
        }
    }
}

/* Стили для поп-ап окна */
.popup-wrapper {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 9999;
    overflow: hidden; /* Отключаем скролл */
}
.popup-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #fff;
    padding: 0;
    border-radius: 8px;
    height: 540px;

    @media (max-width: 960px) {
        height: get-mobile-vw(160px);
    }

    iframe {
        width: 960px;
        height: 540px;
        border: none;

        @media (max-width: 960px) {
            width: get-mobile-vw(288px);
            height: get-mobile-vw(160px);
        }
    }
}
.close-btn {
    position: absolute;
    top: -32px;
    right: -32px;
    font-size: 24px;
    color: white;
    cursor: pointer;

    @media (max-width: 960px) {
        top: get-mobile-vw(-32px);
        right: 0;
        font-size: get-mobile-vw(24px);
    }
}
.close-btn:hover {
    color: $orange;
}

.thank-you-message {
    display: none;
    margin-top: 20px;
    color: $orange
}
.error-message {
    color: $red;
}

/* Thank You Page Styles */

.wrapper_thank-you {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.hero-section.thank-you {
    background: url(../img/cover-thank-you.jpg);
    background-size: cover;
    background-position-x: center;
    flex-direction: column;
    padding: 48px 0 128px 0;
    gap: 0;

    @media (max-width: 1840px) {
        padding: get-desktop-vw(48px) 0 get-desktop-vw(128px) 0;
    }

    @media (max-width: 960px) {
            padding: get-mobile-vw(32px) 0 get-mobile-vw(85px) 0;
    }

    .hero-section__logo {
        position: static;
        margin-bottom: 27px;

        @media (max-width: 960px) {
            margin-bottom: get-mobile-vw(26px);
        }
    }
}

.copy-section {
    width: 916px;
    margin: 0 auto;
    padding: 73px 0 120px 0;

        @media (max-width: 1840px) {
            width: get-desktop-vw(916px);
            padding: get-desktop-vw(73px) 0 get-desktop-vw(120px) 0;
        }

        @media (max-width: 960px) {
            width: get-mobile-vw(288px);
            padding: get-mobile-vw(27px) 0 get-mobile-vw(64px) 0;
        }

    &__title {
        font-size: 32px;
        font-weight: 800;
        height: 100%;
        color: $orange;
        text-transform: uppercase;
        margin-bottom: 16px;

        @media (max-width: 1840px) {
            font-size: get-desktop-vw(32px);
            margin-bottom: get-desktop-vw(16px);
        }

        @media (max-width: 960px) {
            font-size: get-mobile-vw(24px);
            line-height: get-mobile-vw(24px);
            margin-bottom: get-mobile-vw(8px);
        }
    }

    &__paragraph {
        color: $dark;
        font-size: 24px;
        font-weight: 600;
        line-height: 32px;
        color: $dark;
        margin-bottom: 32px;

        @media (max-width: 1840px) {
            font-size: get-desktop-vw(24px);
            line-height: get-desktop-vw(32px);
            margin-bottom: get-desktop-vw(32px);
        }

        @media (max-width: 960px) {
            font-size: get-mobile-vw(13px);
            line-height: get-mobile-vw(16px);
            margin-bottom: get-mobile-vw(16px);
        }
    }

    &__button {
        width: 100%;
    }
}
