/* Переменные, шрифты, UI kit */

@font-face {
    font-family: "Proxima Nova";
    src: local("Proxima Nova Bold"),
      local("ProximaNova-Bold"),
      url("/assets/fonts/ProximaNova-Bold.woff2") format("woff2"),
      url("/assets/fonts/ProximaNova-Bold.woff") format("woff"),
      url("/assets/fonts/ProximaNova-Bold.ttf") format("ttf");
    font-weight: 700;
}

@font-face {
    font-family: "Proxima Nova";
    src: local("Proxima Nova Semibold"),
      local("ProximaNova-Semibold"),
      url("/assets/fonts/ProximaNova-Semibold.woff2") format("woff2"),
      url("/assets/fonts/ProximaNova-Semibold.woff") format("woff"),
      url("/assets/fonts/ProximaNova-Semibold.ttf") format("ttf");
    font-weight: 600;
}

@font-face {
    font-family: "Proxima Nova";
    src: local("Proxima Nova Regular"),
      local("ProximaNova-Regular"),
      url("/assets/fonts/ProximaNova-Regular.woff2") format("woff2"),
      url("/assets/fonts/ProximaNova-Regular.woff") format("woff"),
      url("/assets/fonts/ProximaNova-Regular.ttf") format("ttf");
    font-weight: 400;
}

@font-face {
    font-family: "Proxima Nova";
    src: local("Proxima Nova Light"),
      local("ProximaNova-Light"),
      url("/assets/fonts/ProximaNova-Light.woff2") format("woff2"),
      url("/assets/fonts/ProximaNova-Light.woff") format("woff"),
      url("/assets/fonts/ProximaNova-Light.ttf") format("ttf");
    font-weight: 300;
}


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

:root {
  --font-family: "Proxima Nova", sans-serif;

  --red: #d3241d;
  --blood: #ae0b05;

  --background-main: #111114;
  --background-grey: #2a2a2d;
  --background-grey-hover: #46464a;

  --link: #86868b;

  --text-white: #fff;
} 

body{
    background-color: var(--background-main);

    font-family: var(--font-family);
}

.modal{
    position: fixed;
    top: 0;

    height: 100vh;
    width: 100%;

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

    background-color: rgba(17, 17, 20, .8);

    z-index: 100;

    pointer-events: none;

    transition: opacity .3s;
    opacity: 0;
}
.modal.active{
    pointer-events: auto;

    opacity: 1;
}

.modal__item{
    padding: 88px 64px;

    background-color: var(--background-main);

    position: relative;

    display: none;
}
.modal__item.active{
    display: block;
}

/* text */
.title-1{
    font-weight: 700;
    text-transform: uppercase;
    color: var(--text-white);
}
.title-2{
    font-weight: 700;
    color: var(--text-white);

    text-decoration: none;
}
.title-3{
    font-weight: 700;
    color: var(--text-white);

    text-decoration: none;
}
.title-4{
    font-weight: 700;
    color: var(--text-white);

    text-decoration: none;
}
.title--center{
    text-align: center;
}
.text-1{
    font-weight: 400;
    color: var(--text-white);
}
.text-2{
    font-weight: 400;
    color: var(--text-white);
}
.text-3{
    font-weight: 400;
    color: var(--text-white);
    text-transform: uppercase;
}
.text--bo-line{
    text-decoration: none;
}
/* text */

/* components */
.btn-social{
    margin-left: 16px;

    width: 40px;
    aspect-ratio: 1;

    padding: 8px;

    display: flex;
    align-items: center;

    border-radius: 4px;

    background-color: var(--background-grey);

    transition: background-color .3s;

    cursor: pointer;
}
.btn-social:first-child{
    margin-left: 0;
}
.btn-social:hover{
    background-color: var(--background-grey-hover);
}
.btn-social:active{
    background-color: var(--background-grey-hover);
}
.btn-social> img{
    width: 24px;
    aspect-ratio: 1;
}

.btn-big{
    display: block;

    padding: 22.5px 32px;

    font-weight: 400;
    font-size: 16px;
    text-transform: uppercase;
    color: var(--text-white);
    text-decoration: none;
    text-align: center;

    border-radius: 4px;

    transition: background-color .3s;
    background-color: rgba(17, 17, 20, 0);

    cursor: pointer;
    border: none;
}
.btn-big--border{
    padding: 21px 32px;

    border: 1px solid;
}
.btn-big--border--blood{
    border-color: var(--blood);
}
.btn-big--border--blood:hover{
    background-color: var(--red);
}
.btn-big--border--blood:active{
    background-color: var(--blood);
}
.btn-big--border--white{
    border-color: var(--text-white);
}
.btn-big--border--white:hover{
    background-color: var(--background-grey-hover);
}
.btn-big--border--white:active{
    background-color: rgba(17, 17, 20, 0);
}
.btn-big--blood{
    background-color: var(--blood);
}
.btn-big--blood:hover{
    background-color: var(--red);
}
.btn-big--blood:active{
    background-color: var(--blood);
}

.btn-big--social{
    padding-right: 66px;

    background-position: top 20px  right 34px;
    background-size: 24px;
    background-repeat: no-repeat;
}
.btn-big--tg{
    background-image: url(/assets/img/social/telegram.svg);
}
.btn-big--ws{
    background-image: url(/assets/img/social/whatsapp.svg);
}

.btn--100-per{
    width: 100%;
}

.link{
    font-weight: 400;
    text-transform: uppercase;
    text-decoration: underline;
    text-decoration-skip-ink: none;
    color: var(--link);
}

.input__block{
    display: flex;
    flex-direction: column;

    border-radius: 4px;

    position: relative;
}
.input__label{
    position: absolute;
    top: 14px;
    left: 24px;


    font-size: 12px;
    color: var(--link);
    text-transform: uppercase;

    transition: all 0.3s;

    pointer-events: none;
}
.input__field{
    height: 64px;

    padding: 31px 24px 14px 24px;

    height: 64px;

    background-color: var(--background-grey-hover);
    border: none;
    border-radius: 4px;

    font-weight: 400;
    font-size: 16px;
    color: var(--text-white);

    outline: none;
    transition: all 0.3s;
}
.input__field:hover{
    border: 1px solid var(--text-white);
}
.input__field:focus{
    border: 1px solid var(--text-white);
}
.input__field:placeholder-shown + .input__label{
    top: 22.5px;
    left: 24px;

    font-weight: 400;
    font-size: 16px;
    color: var(--text-white);
}
.input__field:focus + .input__label{
    top: 14px;
    left: 24px;


    font-size: 12px;
    color: var(--link);
}
.input__field:not(:placeholder-shown):invalid{
    border: 1px solid #ef120a;
}
.input__error{
    margin-top: 16px;

    font-weight: 400;
    font-size: 12px;
    text-transform: uppercase;
    color: var(--text-white);

    display: none;
}
.form.checked .input__error{
    display: block;
}

.form__item{
    margin-top: 16px;
}
.form__item:first-child{
    margin-top: 0;
}
.form__item--two{
    display: flex;
    justify-content: space-between;
}
.form__item--two .input__block{
    width: calc(50% - 8px);
}
.form__additional{
    margin-top: 32px;

    display: flex;
    align-items: center;
}
.form__additional input[type="file"]{
    display: none;
}
.form-additional__text{
    margin-left: 16px;
}
.form input[type=submit]{
    margin-top: 32px;

    width: 100%;

    border: none;
}
.form__link{
    margin-left: 6px;

    font-size: 16px;
    text-transform: uppercase;
    text-decoration: underline;
    text-decoration-skip-ink: none;
    color: var(--link);
}
.form__file{
    display: flex;
    align-items: center;
}
.form__mini-btn{
    background-color: var(--background-grey-hover);
    border: none;

    transition: all .3s;
}
.form__mini-btn:hover{
    opacity: .8;
}
.form__checkbox{
    display: none;
}
.form__checkbox:checked + .form-checkbox__square{
    border-color: var(--blood);

    background-image: url(/assets/img/icon/red-arrow.svg);
    background-repeat: no-repeat;
    background-position: center;
}
.form.checked .form__checkbox:invalid + .form-checkbox__square{
    border-color: var(--blood);
}
.form__checkbox-block{
    display: flex;
    align-items: center;
}
.form-checkbox__square{
    width: 18px;
    aspect-ratio: 1;

    border-radius: 4px;
    border: 1.50px solid var(--text-white);

    cursor: pointer;
}
/* components */

/* header */
.header__logo{
    width: 74px;
    height: 64px;
    
    background-image: url(/assets/img/main/logo.svg);
    background-repeat: no-repeat;
    background-size: contain;
}
/* header */

/* footer */
.footer__logo{
    width: 74px;
    height: 64px;
}
.footer__menu{
    display: flex;
}
.footer-menu__list{
    list-style-type: none;

    font-weight: 400;
    text-transform: uppercase;
    color: var(--text-white);
}
.footer-menu__list a{
    color: var(--text-white);
    text-decoration: none;
}
.footer__text{
    margin-top: 24px;

    font-weight: 400;
    color: var(--text-white);
}
.footer__text:first-child{
    margin-top: 0;
}
.footer__text--no-line{
    text-decoration: none;
}
.footer__media{
    margin-top: 24px;

    display: flex;
    align-items: center;
}
.footer__review{
    width: 309px;
    height: 146px;
}
.footer__about{
    font-weight: 400;
    font-size: 16px;
    text-transform: uppercase;
    color: var(--link);
}
/* footer */