@charset "UTF-8";

@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-weight: 100;
    src: url(../fonts/montserrat/Montserrat-Thin.woff2) format("woff2")
}

@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-weight: 200;
    src: url(../fonts/montserrat/Montserrat-ExtraLight.woff2) format("woff2")
}

@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-weight: 300;
    src: url(../fonts/montserrat/Montserrat-Light.woff2) format("woff2")
}

@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/montserrat/Montserrat-Regular.woff2) format("woff2")
}

@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-weight: 500;
    src: url(../fonts/montserrat/Montserrat-Medium.woff2) format("woff2")
}

@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-weight: 600;
    src: url(../fonts/montserrat/Montserrat-SemiBold.woff2) format("woff2")
}

@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-weight: 700;
    src: url(../fonts/montserrat/Montserrat-Bold.woff2) format("woff2")
}

@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-weight: 800;
    src: url(../fonts/montserrat/Montserrat-ExtraBold.woff2) format("woff2")
}

@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-weight: 900;
    src: url(../fonts/montserrat/Montserrat-Black.woff2) format("woff2")
}

:root {
    --color-grey: #333333;
    --color-opacity-grey: #3333331A;
    --color-light-grey: #F5F6F8;
    --color-white: #FFFFFF;
    --color-white-smoke: #F9F9F9;
    --color-turquoise: #2ED3D9;
    --color-red: #FB2D26;
}

* {
    outline: none;
}

body {
    min-width: 320px;
    font-family: 'Montserrat';
    color: var(--color-grey);
    background: var(--color-white);
}

.lock-position {
    height: 100%;
    overflow: hidden;
    width: 100%;
    position: fixed;
}

.overflow {
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
    min-height: calc(var(--vh, 1vh) * 100);
}

header {
    flex: 0 0 auto;
}

main {
    flex: 1 0 auto;
}

footer {
    flex: 0 0 auto;
}

h1, h2, h3, h4, h5, h6 {
    margin: 0;
    color: var(--color-grey);
}

a {
    text-decoration: none;
    color: var(--color-grey);
}

a:hover {
    color: var(--color-turquoise);
}

.w-100 {
    width: 100%;
}

.h-100 {
    height: 100%;
}

.img-cover {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.img-contain {
    height: 100%;
    width: 100%;
    object-fit: contain;
}

.icon {
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: block;
}

.mb-section {
    margin-bottom: 60px;
}

.title {
    font-size: 30px;
    font-weight: 400;
    line-height: 36.57px;
}

.subtitle {
    font-size: 16px;
    font-weight: 400;
    line-height: 19.5px;
    margin: 0;
}

.button {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 5px 15px;
    text-decoration: none;
    border-radius: 20px;
    min-height: 50px;
}

.white-button {
    background: var(--color-white);
    box-shadow: 0 0 16.3px 0 #00000030;
    border: 1px solid var(--color-grey);
    width: 100%;
    font-size: 18px;
    font-weight: 500;
    line-height: 21.94px;
    color: var(--color-grey);
}

.all-swiper-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 16px;
}

.all-swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: var(--color-turquoise);
}

.logo {
    content: url("data:image/svg+xml,%0A%3Csvg viewBox='0 0 253 48' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M122.598 15.092V33.7965H124V15.092H131.224V13.3521H115.482V15.092H122.598Z' fill='%232ED3D9'/%3E%3Cpath d='M136.939 15.092V13.3521H149.77V15.092H136.939Z' fill='%232ED3D9'/%3E%3Cpath d='M136.939 24.4438V22.7046H149.77V24.4438H136.939Z' fill='%232ED3D9'/%3E%3Cpath d='M136.939 33.7966V32.0566H149.77V33.7966H136.939Z' fill='%232ED3D9'/%3E%3Cpath d='M180.285 33.7965V13.3521H181.794V22.7047H195.165V13.3521H196.675V33.7965H195.165V24.1182H181.794V33.7965H180.285Z' fill='%232ED3D9'/%3E%3Cpath d='M170.905 16.1792C171.42 16.4932 171.634 16.6064 171.954 16.9882C172.032 17.0802 172.166 17.0978 172.26 17.0226L173.13 16.3282C173.229 16.2486 173.24 16.0989 173.149 16.0091C172.802 15.6652 172.421 15.3527 172.005 15.0723C171.182 14.5086 170.256 14.0807 169.231 13.7894C168.212 13.4981 167.123 13.3521 165.963 13.3521C164 13.3521 162.256 13.7668 160.728 14.5955C159.201 15.425 157.999 16.6042 157.123 18.1331C156.247 19.6614 155.809 21.4751 155.809 23.5743C155.809 25.6735 156.247 27.4872 157.123 29.0154C157.999 30.5444 159.201 31.7236 160.728 32.553C162.256 33.3818 164 33.7965 165.963 33.7965C167.123 33.7965 168.212 33.6505 169.231 33.3591C170.256 33.0678 171.182 32.6436 172.005 32.0865C172.427 31.7981 172.813 31.479 173.163 31.1278C173.249 31.0423 173.244 30.9014 173.154 30.8189L172.477 30.1939C172.385 30.1085 172.242 30.1223 172.156 30.2143C171.797 30.602 171.417 30.7598 170.905 31.0781C170.328 31.4344 169.129 31.8755 168.425 32.0565C167.72 32.2376 166.601 32.3829 165.837 32.3829C164.444 32.3829 163.086 31.8791 161.955 31.2701C160.832 30.6612 159.506 29.6536 158.839 28.4678C158.18 27.2827 157.642 25.2974 157.642 23.5743C157.642 21.8511 158.18 20.0564 158.839 18.8713C159.506 17.6855 160.401 16.7882 161.524 16.1792C162.655 15.5703 164.444 14.9832 165.837 14.9832C166.601 14.9832 168.152 15.1278 168.856 15.3096C169.56 15.4907 170.328 15.8171 170.905 16.1792Z' fill='%232ED3D9'/%3E%3Cpath d='M0 13.3521V33.7965H1.50957V24.1182H14.88V33.7965H16.3896V13.3521H14.88V22.7047H1.50957V13.3521H0Z' fill='%23333333'/%3E%3Cpath d='M21.7812 33.7965L31.0543 13.3521H32.4561L42.0525 33.7965H40.3273L31.8091 15.3096L23.7221 33.7965H21.7812Z' fill='%23333333'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M53.1562 25.8587C55.4435 25.8587 57.9594 25.7535 59.5466 24.0851C57.9777 25.7338 55.4429 25.8587 53.1562 25.8587ZM58.2091 15.3415C57.229 14.772 56.038 14.7661 54.9019 14.7661C56.0381 14.7661 57.2236 14.769 58.2091 15.3415Z' fill='%23007FBD'/%3E%3Cpath d='M47.4434 25.8582V33.7965H48.9529V27.2718H53.554C56.2847 27.2718 59.2752 27.017 61.0665 24.9294C64.2178 21.256 62.8036 15.6053 59.2287 13.8383C58.2592 13.3594 57.1452 13.3521 56.0664 13.3521H47.4434V14.7656H54.9018C56.0378 14.7656 57.2288 14.7715 58.2089 15.341C60.9999 16.9627 62.1666 21.3312 59.5465 24.0847C57.9775 25.7334 55.4427 25.8582 53.1561 25.8582H47.4434Z' fill='%23333333'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M75.1523 25.8587C77.4395 25.8587 79.9558 25.7535 81.5432 24.0851C79.9742 25.7338 77.4388 25.8587 75.1523 25.8587ZM80.2055 15.3415C79.2251 14.772 78.034 14.7661 76.8981 14.7661C78.034 14.7661 79.2199 14.769 80.2055 15.3415Z' fill='%23007FBD'/%3E%3Cpath d='M69.4404 25.8582V33.7965H70.95V27.2718H75.5508C78.2815 27.2718 81.2721 27.017 83.0635 24.9294C86.2147 21.256 84.8004 15.6053 81.2257 13.8383C80.2563 13.3594 79.1425 13.3521 78.0634 13.3521H69.4404V14.7656H76.8988C78.0347 14.7656 79.2258 14.7715 80.2062 15.341C82.9972 16.9627 84.164 21.3312 81.5439 24.0847C79.9749 25.7334 77.4395 25.8582 75.1531 25.8582H69.4404Z' fill='%23333333'/%3E%3Cpath d='M88.0938 13.3521L96.1803 26.4014V33.7965H97.6903V26.4014L106.208 13.3521H104.483L97.0428 25.0967L89.9264 13.3521H88.0938Z' fill='%23333333'/%3E%3Cpath d='M233.334 1.33363L250.777 11.5885C251.534 12.0334 252 12.8555 252 13.7451V34.2549C252 35.1446 251.534 35.9667 250.777 36.4115L233.334 46.6663C232.578 47.1112 231.645 47.1112 230.889 46.6663L213.446 36.4115C212.689 35.9667 212.223 35.1446 212.223 34.2549V13.7451C212.223 12.8555 212.689 12.0334 213.446 11.5885L230.889 1.33363C231.645 0.888791 232.578 0.888791 233.334 1.33363Z' stroke='%232ED3D9' stroke-width='1.5'/%3E%3Cpath d='M230.598 16.8H230.398V17V23.38H220.886V17V16.8H220.686H220H219.8V17V31V31.2H220H220.686H220.886V31V24.4H230.398V31V31.2H230.598H231.284H231.484V31V17V16.8H231.284H230.598ZM238.946 31V31.2H239.146H239.812H240.012V31V17.82H245H245.2V17.62V17V16.8H245H233.958H233.758V17V17.62V17.82H233.958H238.946V31Z' fill='%23333333' stroke='%23333333' stroke-width='0.4'/%3E%3C/svg%3E%0A");
    max-height: 26px;
    max-width: 143px;
}

.modal {
    opacity: 0;
    visibility: hidden;
    width: 100%;
    height: 100%;
    min-width: 320px;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    transition: 0.3s all;
    background: var(--color-white);
    overflow-y: auto;
    margin: 0;
}

.modal.active {
    opacity: 1;
    visibility: visible;
}

.container-modal {
    max-width: 628px;
}

.close-popup {
    display: flex;
    align-items: center;
    gap: 4px;
    padding-top: 14px;
    padding-bottom: 16px;
    width: max-content;
    margin-left: auto;
    cursor: pointer;
}

.close-popup__text {
    font-size: 16px;
    font-weight: 400;
    line-height: 19.5px;
}

.close-popup__item {
    width: 20px;
    height: 20px;
    display: block;
    position: relative;
}

.close-popup__item:before, .close-popup__item:after {
    content: '';
    display: block;
    height: 2px;
    width: 13px;
    background: black;
    transition: background 0.3s;
    border-radius: 2px;
    position: absolute;
    top: 50%;
    left: 50%;
}

.close-popup__item:before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.close-popup__item:after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.label {
    display: flex;
    flex-direction: column;
    gap: 6px;
    position: relative;
}

.label-name {
    font-size: 18px;
    font-weight: 500;
    line-height: 17.1px;
    display: block;
}

.text-input, .text-textarea {
    border: 1px solid #C8C8C8;
    border-radius: 20px;
    min-height: 50px;
    padding: 10px 14px;
    width: 100%;
    font-size: 16px;
    font-weight: 400;
    line-height: 19.39px;
}

.text-textarea {
    min-height: 100px;
}

.label-checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    position: relative;
}

.label-checkbox-input {
    appearance: none;
    border: 2px solid #C8C8C8;
    border-radius: 6px;
    background: var(--color-white);
    min-height: 24px;
    min-width: 24px;
    cursor: pointer;
}

.label-checkbox-input:checked {
    background-image: url("data:image/svg+xml,%0A%3Csvg width='13' height='10' viewBox='0 0 13 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.43211 7.8125L11.5475 0.267857C11.7159 0.0892854 11.916 0 12.1478 0C12.3797 0 12.5795 0.0892854 12.7474 0.267857C12.9152 0.446428 12.9994 0.658333 13 0.903571C13.0006 1.14881 12.9164 1.36101 12.7474 1.54018L5.02155 9.73214C4.85314 9.91071 4.65666 10 4.43211 10C4.20756 10 4.01109 9.91071 3.84268 9.73214L0.2429 5.91518C0.074489 5.73661 -0.00634778 5.5247 0.000388641 5.27946C0.00712506 5.03423 0.094979 4.82202 0.263951 4.64286C0.432923 4.46369 0.633051 4.3744 0.864335 4.375C1.09562 4.3756 1.29547 4.46488 1.46388 4.64286L4.43211 7.8125Z' fill='white'/%3E%3C/svg%3E%0A");
    background-position: 50%;
    background-repeat: no-repeat;
    background-color: var(--color-turquoise);
    border: 2px solid var(--color-turquoise);
}

.label-checkbox-text {
    font-size: 14px;
    font-weight: 300;
    line-height: 16.97px;
    color: var(--color-grey)
}

.label-checkbox-text a {
    text-decoration: underline;
}

input.invalid {
    border: 2px solid var(--color-red);
}

.span-error {
    color: var(--color-red);
    position: absolute;
    right: 0;
    top: -18px;
    font-size: 18px;
    font-weight: 500;
    line-height: 17.1px;
}

.label-file {
    gap: 16px;
}

.label-file__item {
    box-shadow: 0 0 16.3px 0 #00000030;
    background: #FFFFFF;
    cursor: pointer;
    padding: 15px 10px;
    border-radius: 20px;
    gap: 6px;
    display: flex;
    flex-direction: column;
}

.label-file__item-wrap:before {
    content: '';
    width: 30px;
    height: 30px;
    display: block;
    background-image: url("data:image/svg+xml,%0A%3Csvg width='30' height='30' viewBox='0 0 30 30' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24 15.0283L15.5606 23.2753C14.3891 24.3907 12.8151 25.0103 11.1795 24.9999C9.54393 24.9895 7.97835 24.3499 6.82179 23.2197C5.66523 22.0895 5.01077 20.5597 5.00013 18.9614C4.98949 17.3631 5.62352 15.825 6.76493 14.6802L15.4565 6.18674C16.2341 5.42688 17.2887 5 18.3884 5C19.488 5 20.5427 5.42688 21.3203 6.18674C22.0978 6.9466 22.5347 7.97719 22.5347 9.05179C22.5347 10.1264 22.0978 11.157 21.3203 11.9168L12.8794 20.1653C12.4906 20.5452 11.9633 20.7587 11.4134 20.7587C10.8636 20.7587 10.3363 20.5452 9.94749 20.1653C9.55869 19.7854 9.34027 19.2701 9.34027 18.7328C9.34027 18.1955 9.55869 17.6802 9.94749 17.3003L18.1362 9.29818' stroke='%232ED3D9' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
}

.label-file__item-wrap {
    gap: 6px;
    display: flex;
    flex-direction: column;
}

.label-file__item-title {
    font-size: 16px;
    font-weight: 600;
    line-height: 19.39px;
    display: block;
}

.label-file__item-description {
    font-size: 12px;
    font-weight: 400;
    line-height: 14.54px;
    display: block;
}

.label-file__list {
    display: flex;
    gap: 10px;
}

.label-file__list:before {
    content: '';
    width: 39px;
    height: 39px;
    display: block;
    background-image: url("data:image/svg+xml,%0A%3Csvg viewBox='0 0 39 39' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='39' height='39' rx='8' fill='%23F1F1F1'/%3E%3Cpath d='M30 19.5325L20.228 29.0166C18.8715 30.2993 17.0491 31.0118 15.1552 30.9999C13.2614 30.9879 11.4486 30.2524 10.1094 28.9527C8.77027 27.653 8.01248 25.8936 8.00015 24.0556C7.98783 22.2175 8.72197 20.4487 10.0436 19.1322L20.1075 9.36475C21.0079 8.49092 22.229 8 23.5023 8C24.7756 8 25.9968 8.49092 26.8971 9.36475C27.7975 10.2386 28.3033 11.4238 28.3033 12.6596C28.3033 13.8953 27.7975 15.0805 26.8971 15.9544L17.1235 25.4401C16.6733 25.877 16.0627 26.1225 15.4261 26.1225C14.7894 26.1225 14.1788 25.877 13.7287 25.4401C13.2785 25.0032 13.0256 24.4106 13.0256 23.7927C13.0256 23.1748 13.2785 22.5822 13.7287 22.1453L23.2104 12.9429' stroke='%23333333' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
}

.label-file__list-wrap {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.label-file__list-title {
    font-size: 16px;
    font-weight: 400;
    line-height: 19.39px;
}

.label-file__list-size {
    font-size: 14px;
    font-weight: 300;
    line-height: 16.97px;
}

.modal-title {
    background-color: var(--color-white);
    border: 1px solid #2ED3D980;
    box-shadow: 0 0 16.3px 0 #2ED3D926;
    border-radius: 20px;
    padding: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

.modal-title__item {
    font-size: 20px;
    font-weight: 400;
    line-height: 24.38px;
}

.modal-title__logo {
    max-width: 77px;
    max-height: 48px;
}

.modal-form {
    background: var(--color-white);
    border: 1px solid #2ED3D980;
    box-shadow: 0 0 16.3px 0 #2ED3D926;
    border-radius: 20px;
    padding: 24px 16px;
}

.modal-form__wrap {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-bottom: 24px;
}

.modal-form__select {
    position: relative;
}

.modal-form__select .label-checkbox-text {
    font-size: 18px;
    line-height: 21.82px;
}

.js-course.invalid .label-checkbox-input {
    border: 2px solid var(--color-red);
}

@media (min-width: 768px) {
    body {
        background-image: url("../images/background-tablet.png");
        background-repeat: no-repeat;
        background-position: top;
        background-size: cover;
    }

    .title {
        font-size: 40px;
        line-height: 48.76px;
    }

    .subtitle {
        font-size: 18px;
        line-height: 21.94px;
    }

    .logo {
        max-height: 40px;
        max-width: 220px;
    }

    .close-popup {
        padding-top: 28px;
        padding-bottom: 28px;
    }

    .close-popup__text {
        font-size: 18px;
        line-height: 21.94px;
    }

    .close-popup__item {
        width: 22px;
        height: 22px;
    }

    .close-popup__item:before, .close-popup__item:after {
        width: 14px;
    }

    .label-checkbox-text {
        font-size: 16px;
        line-height: 19.39px;
    }

    .modal {
        background-image: url(../images/background-tablet.png);
        background-repeat: no-repeat;
        background-position: top center;
        background-size: cover;
    }

    .span-error {
        top: 0;
    }

    .label-checkbox > .span-error {
        top: -18px
    }

    .label-file__item-wrap {
        gap: 6px;
        display: flex;
        flex-direction: row;
        align-items: center;
    }

    .label-file__list-title {
        font-size: 18px;
        line-height: 21.82px;
    }

    .modal-title {
        border-radius: 30px;
        padding: 30px;
    }

    .modal-title__item {
        font-size: 26px;
        line-height: 31.69px;
    }

    .modal-title__logo {
        max-width: 103px;
        max-height: 64px;
    }

    .modal-form {
        border-radius: 30px;
        padding: 40px;
    }

    .modal-form__wrap {
        margin-bottom: 48px;
    }

    .modal-form__button .button {
        max-width: 288px;
    }
}

@media (min-width: 1200px) {
    body {
        background-image: url("../images/background-desktop.png");
    }

    .mb-section {
        margin-bottom: 120px;
    }

    .title {
        font-size: 60px;
        line-height: 73.14px;
    }

    .subtitle {
        font-size: 24px;
        line-height: 29.26px;
    }

    .logo {
        max-height: 46px;
        max-width: 256px;
    }

    .modal {
        background-image: url(../images/background-desktop.png);
    }

    .modal-title__item {
        font-size: 40px;
        line-height: 48.76px;
    }

    .modal-title__logo {
        max-width: 148px;
        max-height: 92px;
    }

    .modal-form__button .button {
        max-width: 361px;
    }
}