html {
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
    display: block
}

audio, canvas, progress, video {
    display: inline-block;
    vertical-align: baseline
}

audio:not([controls]) {
    display: none;
    height: 0
}

[hidden], template {
    display: none
}

a {
    background-color: rgba(0, 0, 0, 0)
}

a:active, a:hover {
    outline: 0
}

abbr[title] {
    border-bottom: 1px dotted
}

b, strong {
    font-weight: bold
}

dfn {
    font-style: italic
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

mark {
    background: #ff0;
    color: #000
}

small {
    font-size: 80%
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sup {
    top: -0.5em
}

sub {
    bottom: -0.25em
}

img {
    border: 0
}

svg:not(:root) {
    overflow: hidden
}

figure {
    margin: 1em 40px
}

hr {
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    height: 0
}

pre {
    overflow: auto
}

code, kbd, pre, samp {
    font-family: monospace, monospace;
    font-size: 1em
}

button, input, optgroup, select, textarea {
    color: inherit;
    font: inherit;
    margin: 0
}

button {
    overflow: visible
}

button, select {
    text-transform: none
}

button, html input[type=button], input[type=reset], input[type=submit] {
    -webkit-appearance: button;
    cursor: pointer
}

button[disabled], html input[disabled] {
    cursor: default
}

button::-moz-focus-inner, input::-moz-focus-inner {
    border: 0;
    padding: 0
}

input {
    line-height: normal
}

input[type=checkbox], input[type=radio] {
    box-sizing: border-box;
    padding: 0
}

input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button {
    height: auto
}

input[type=search] {
    -webkit-appearance: textfield;
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    box-sizing: content-box
}

input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

fieldset {
    border: 1px solid silver;
    margin: 0 2px;
    padding: .35em .625em .75em
}

legend {
    border: 0;
    padding: 0
}

textarea {
    overflow: auto
}

optgroup {
    font-weight: bold
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

td, th {
    padding: 0
}

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

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

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

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

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

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

.wrap {
    position: relative;
    max-width: 1920px;
    margin: 0 auto;
    overflow: hidden
}

.container {
    display: flex;
    position: relative;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 15px 0 45px;
    flex-wrap: wrap
}

.row {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap
}

@media screen and (max-width: 991px) {
    .container {
        padding: 0 15px
    }
}

* {
    box-sizing: border-box
}

body, div, section, header, footer, nav, p, h1, h2, h3, h4, h5, h6, ul, ol, li, input, select, button, form, label, img {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0
}

ul {
    list-style: none
}

body {
    background-color: #f8f8f8
}

* {
    font-family: "Montserrat", "Arial", sans-serif;
    line-height: 1;
    scroll-behavior: smooth
}

p {
    line-height: 1.2
}

select {
    text-indent: 1px;
    text-overflow: "";
    -webkit-appearance: none;
    -moz-appearance: none
}

section {
    position: relative
}

button {
    border: none
}

button:focus {
    outline: none
}

.btn {
    color: #fff;
    font-size: 20px;
    font-weight: 600;
    text-decoration: none;
    display: flex;
    position: relative;
    max-width: 335px;
    padding: 15px 20px;
    align-items: center;
    justify-content: center;
    transition: all .3s ease-in-out;
    transform: scale(1);
    border-radius: 60px
}

.btn:hover {
    transform: scale(1.01);
    box-shadow: 0 0 10px rgba(0, 0, 0, .3)
}

.btn:disabled {
    background: none;
    cursor: not-allowed;
    transition: none
}

.btn:disabled:hover {
    transform: scale(1);
    box-shadow: none
}

.btn_gradient {
    background: linear-gradient(to right, #FFC531, #FF303C)
}

.btn_border {
    border: 1px solid #fff
}

.btn_dark {
    background: #29295d
}

.btn_red {
    background: #ff303c
}

.nowrap {
    white-space: nowrap;
}

@media screen and (max-width: 576px) {
    .btn {
        font-size: 18px
    }
}

.logo {
    display: flex;
    align-items: center
}

.logo__img {
    max-width: 50px;
    margin-right: 15px
}

.logo__text {
    color: #fff;
    font-size: 25px;
    font-weight: 900
}

.logo__text_dark {
    color: #29295d;
    font-weight: 500
}

.logo__text_medium {
    font-weight: 500
}

.logo__text_bold {
    font-weight: 900
}

@media screen and (max-width: 576px) {
    .logo__img {
        max-width: 32px
    }

    .logo__text {
        font-size: 20px
    }
}

.dots {
    position: fixed;
    top: 15%;
    left: 15px;
    width: 13px;
    z-index: 30
}

.dots__item {
    display: block;
    height: 13px;
    border: 2px solid #ff8036;
    border-radius: 50%;
    margin-bottom: 13px;
    z-index: 4;
    transition: all .3s ease-in-out;
    animation: dotsScale 3s infinite ease-in-out
}

.dots__item_active {
    animation: dotsSat 3s infinite ease-in-out;
    background-color: #ff8036
}

@media screen and (max-width: 991px) {
    .dots {
        display: none
    }
}

.nav {
    z-index: 99;
    width: 100%;
    transition: all .3s linear
}

.nav__icon {
    display: none;
    width: 37px
}

.nav__icon-mobile {
    display: none
}

.nav__mobile {
    display: none;
    width: 100%;
    text-align: center;
    max-width: 305px
}

.nav__list {
    display: flex;
    align-items: center
}

.nav__item {
    cursor: pointer;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    white-space: nowrap;
    text-decoration: none;
    position: relative;
    width: auto;
    margin-right: 40px
}

.nav__item:last-child {
    margin-right: 0
}

.nav__item:hover {
    font-weight: 700
}

.nav__item_active {
    color: #29295d
}

.nav__item_active:after {
    content: "";
    display: block;
    background-color: #29295d;
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 100%;
    height: 6px
}

@media screen and (max-width: 991px) {
    .nav {
        background: rgba(0, 0, 0, .5);
        position: fixed;
        z-index: 98;
        top: 0;
        right: 0;
        left: 0
    }

    .nav_active {
        display: flex;
        background: rgba(0, 0, 0, .5);
        width: 100%;
        height: 100%
    }

    .nav__mobile {
        display: block
    }

    .nav__icon {
        display: block;
        position: fixed;
        z-index: 99;
        top: 30px;
        right: 20px;
        transition: all .3s ease-in-out
    }

    .nav__icon_active {
        top: 13px
    }

    .nav__icon_hide {
        display: none
    }

    .nav__icon-mobile {
        display: block;
        max-width: 107px;
        margin-bottom: 30px
    }

    .nav__list {
        display: flex;
        background: linear-gradient(to left, #FFC531, #FF303C);
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: auto;
        max-width: 100%;
        padding: 10px;
        align-content: center;
        align-items: center;
        flex-wrap: wrap;
        justify-content: center;
        transition: transform .3s ease-in-out;
        transform: translateX(100%)
    }

    .nav__list_active {
        justify-content: center;
        transform: translateX(0);
        opacity: 1
    }

    .nav__item {
        font-size: 25px;
        text-align: center;
        width: 100%;
        margin-right: 0;
        margin-bottom: 30px
    }

    .nav__item_active {
        text-decoration: underline
    }

    .nav__item_active:before, .nav__item_active:after {
        content: none
    }

    .nav__item_order {
        color: #fff;
        font-size: 19px;
        display: block;
        background-color: #fff;
        width: 100%;
        max-width: 305px;
        margin-top: 10px;
        margin-bottom: 0;
        margin-left: 0;
        padding: 15px 8px
    }
}

.title {
    font-size: 45px;
    font-weight: 800;
    margin-bottom: 35px;
    color: #29295d;
    position: relative
}

.title_white {
    color: #fff
}

.title_big {
    font-size: 60px
}

.title_center {
    text-align: center
}

@media screen and (max-width: 991px) {
    .title {
        margin-bottom: 20px
    }
}

@media screen and (max-width: 480px) {
    .title {
        font-size: 25px
    }
}

.tab {
    background: #fff;
    margin-bottom: 20px;
    padding: 20px;
    overflow: hidden;
    cursor: pointer;
    opacity: .8;
    border-radius: 15px;
    box-shadow: 0 0 12px rgba(0, 35, 102, .12)
}

.tab__header {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.tab__title {
    color: #29295d;
    font-size: 18px;
    font-weight: 600;
    padding-right: 15px
}

.tab__icon {
    max-width: 27px;
    transition: all .3s ease-in-out;
    transform: rotate(0)
}

.tab__icon_active {
    transform: rotate(45deg)
}

.tab__text {
    color: #898b9c;
    font-size: 16px;
    font-weight: 600;
    display: none;
    padding-top: 30px
}

.tab__text_active {
    display: block
}

@media screen and (max-width: 576px) {
    .tab__title {
        font-size: 16px
    }
}

.header {
    background: rgba(255, 255, 255, .001);
    position: fixed;
    z-index: 999;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    margin: 0 auto;
    padding: 55px 0 10px;
    transition: all .3s ease-in-out
}

.header_bg {
    padding: 10px 0;
    background: linear-gradient(to left, #FFC531, #FF303C)
}

.header__container {
    padding-bottom: 10px;
    align-items: center;
    justify-content: space-between
}

.header__nav {
    width: auto
}

.header__logo {
    width: auto
}

@media screen and (max-width: 1200px) {
    .header {
        padding-top: 15px
    }
}

@media screen and (max-width: 991px) {
    .header {
        padding: 30px 0
    }

    .header__nav {
        max-width: 100%
    }

    .header_bg {
        padding: 13px 0
    }

    .header__container {
        min-height: 35px;
        padding-left: 15px;
        justify-content: flex-start;
        padding-bottom: 0
    }

    .header__container:before {
        content: none
    }
}

.main {
    color: #fff;
    background: linear-gradient(to left, #FFC531 0.76%, #FF303C 96.17%);
    padding: 200px 0 150px;
    overflow: hidden
}

.main:before {
    content: "";
    display: block;
    background: url(img/main__bg.svg) no-repeat 100%/cover;
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.main__container {
    z-index: 4
}

.main__item {
    max-width: 48%;
    position: relative;
    z-index: 2;
}

.main__img {
    position: absolute;
    right: -160px;
    bottom: -155px;
    max-width: 75%
}

.main__title {
    font-size: 70px;
    font-weight: 800;
    margin-bottom: 10px
}

.main__subtitle {
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 60px
}

.main__list {
    display: flex;
    flex-wrap: wrap;
    max-width: 585px;
    margin-bottom: 50px;
    align-items: center
}

.main__listItem {
    display: flex;
    width: 100%;
    margin-bottom: 20px;
    align-items: center
}

.main__listImg {
    max-width: 30px;
    height: 100%;
    margin-right: 10px
}

.main__listText {
    font-size: 18px;
    font-weight: 500
}

.main__btn {
    background-color: #29295d;
    padding-right: 70px
}

.main__btn:before {
    content: "";
    display: block;
    background: url(img/button__arrow.svg) no-repeat center/contain;
    position: absolute;
    top: 50%;
    right: 30px;
    width: 35px;
    height: 14px;
    transform: translateY(-50%)
}

@media screen and (max-width: 1200px) {
    .main__title {
        font-size: 44px
    }

    .main__list {
        flex-wrap: wrap
    }

    .main__subtitle {
        margin-bottom: 20px
    }

    .main__listItem {
        padding: 0;
        margin-bottom: 20px
    }
}

@media screen and (max-width: 991px) {
    .main {
        padding: 120px 0 0
    }

    .main__container {
        justify-content: center
    }

    .main__title {
        font-size: 35px;
        margin-bottom: 20px
    }

    .main__item {
        max-width: 600px;
        margin-bottom: 30px
    }

    .main__img {
        position: relative;
        right: 0;
        transform: none;
        bottom: 0;
        max-width: 600px
    }
}

@media screen and (max-width: 576px) {
    .main:before {
        background-position: 85% 50%
    }

    .main__list {
        margin-bottom: 20px
    }

    .main__listText {
        font-size: 15px
    }

    .main__listImg {
        max-width: 21px
    }

    .main__subtitle {
        font-size: 18px
    }

    .main__btn {
        max-width: 294px;
        text-align: left;
        justify-content: flex-start;
        padding-left: 30px
    }
}

.features {
    background-color: #fff;
    padding: 80px 0 60px
}

.features__title {
    text-align: center;
    max-width: 895px;
    margin: 0 auto 50px;
    position: relative
}

.features__title:before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: -20px;
    transform: translateX(-50%);
    background: url(img/features__arrow.svg) no-repeat center/contain;
    width: 46px;
    height: 81px
}

.features__item {
    max-width: 49%;
    position: relative;
    z-index: 3
}

.features__text {
    color: #898b9c;
    margin-bottom: 40px
}

.features__text_bold {
    font-size: 25px;
    font-weight: 800;
    color: #29295d;
    margin-bottom: 30px
}

.features__subtitle {
    font-size: 20px;
    font-weight: 800;
    margin-bottom: 35px;
    color: #29295d
}

.features__list {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 50px
}

.features__listItem {
    max-width: 150px;
    margin-right: 10px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start
}

.features__listImg {
    margin-bottom: 15px;
    height: 128px
}

.features__listText {
    color: #898b9c;
    text-align: center
}

.features__img {
    position: absolute;
    bottom: -10px;
    right: -150px;
    width: 59%;
    z-index: 2
}

@media screen and (max-width: 1440px) {
    .features__item {
        padding-right: 15px
    }

    .features__list {
        justify-content: flex-start
    }

    .features__listImg {
        height: 80px
    }

    .features__img {
        right: 0;
        width: 50%
    }
}

@media screen and (max-width: 991px) {
    .features {
        padding: 30px 0 15px
    }

    .features__container {
        justify-content: center
    }

    .features__item {
        max-width: 600px;
        margin-bottom: 30px;
        padding-right: 0
    }

    .features__title:before {
        content: none
    }

    .features__list {
        flex-wrap: wrap;
        justify-content: center
    }

    .features__listItem {
        margin: 10px
    }

    .features__img {
        position: relative;
        right: 0;
        top: 0;
        transform: none;
        width: 100%;
        max-width: 600px
    }
}

@media screen and (max-width: 576px) {
    .features__title {
        font-size: 25px;
        margin-bottom: 20px
    }

    .features__subtitle {
        text-align: center;
        margin-bottom: 20px
    }

    .features__text {
        margin-bottom: 20px;
        text-align: center
    }

    .features__btn {
        margin: 0 auto
    }

    .features__list {
        justify-content: center;
        margin-bottom: 20px
    }

    .features__listItem {
        flex-wrap: nowrap;
        max-width: 237px;
        margin: 0 0 20px
    }

    .features__listImg {
        height: 100%;
        max-width: 74px;
        margin-right: 20px;
        margin-bottom: 0
    }

    .features__listText {
        text-align: left
    }

    .features__img {
        width: 428px
    }
}

.about {
    background-color: #fff;
    padding: 60px 0
}

.about__container {
    justify-content: space-between
}

.about__item {
    max-width: 48%
}

.about__item_card {
    display: flex;
    background: linear-gradient(45deg, #FF303C, #FFC531);
    padding: 35px 0 10px;
    flex-wrap: wrap;
    justify-content: center;
    border-radius: 30px
}

.about__title {
    margin-bottom: 20px
}

.about__subtitle {
    color: #ff303c;
    font-size: 20px;
    font-weight: 800;
    margin-bottom: 40px
}

.about__text {
    color: #29295d;
    font-size: 20px;
    font-weight: 500
}

.about__logo {
    margin-bottom: 15px;
    justify-content: center
}

.about__list {
    max-width: 430px;
    padding: 15px
}

.about__listItem {
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    position: relative;
    margin-bottom: 30px;
    padding-left: 65px
}

.about__listItem:before {
    content: "";
    display: block;
    background: #29295d url(img/about__check.svg) no-repeat center/23px;
    position: absolute;
    top: 50%;
    left: 0;
    width: 48px;
    height: 48px;
    transform: translateY(-50%);
    border-radius: 50%
}

@media screen and (max-width: 991px) {
    .about {
        padding: 15px 0
    }

    .about__container {
        justify-content: center
    }

    .about__subtitle {
        margin-bottom: 20px
    }

    .about__item {
        max-width: 600px;
        margin-bottom: 20px
    }
}

@media screen and (max-width: 576px) {
    .about__title, .about__subtitle {
        text-align: center
    }

    .about__text {
        color: #898b9c;
        font-size: 15px
    }

    .about__listItem {
        font-size: 15px;
        padding-left: 55px
    }

    .about__listItem:before {
        width: 40px;
        height: 40px
    }
}

.welcome {
    color: #fff;
    text-align: center;
    background: url(img/welcome__bg.svg) no-repeat center/cover;
    padding: 150px 0 120px;
    position: relative
}

.welcome:before {
    content: "";
    display: block;
    position: absolute;
    top: -30px;
    right: 50%;
    background: url(img/welcome__head.svg) no-repeat center/contain;
    width: 700px;
    height: 531px;
    transform: translateX(105%)
}

.welcome__subtitle {
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 50px
}

.welcome__item {
    display: flex;
    align-items: center;
    justify-content: center
}

.welcome__btn {
    width: 100%;
    max-width: 274px;
    margin: 10px
}

@media screen and (max-width: 768px) {
    .welcome {
        background: url(img/welcome__bg_mobile.svg) no-repeat center/cover
    }

    .welcome:before {
        left: 50%;
        right: auto;
        transform: translateX(-25%)
    }
}

@media screen and (max-width: 576px) {
    .welcome {
        padding: 90px 0
    }

    .welcome__item {
        flex-wrap: wrap;
        justify-content: center
    }
}

.project {
    padding: 70px 0 110px
}

.project__container {
    justify-content: center
}

.project__title {
    position: relative
}

.project__title:before {
    content: "";
    display: block;
    position: absolute;
    bottom: 50px;
    transform: translateY(100%);
    right: -50px;
    background: url(img/project__arrow.svg) no-repeat center/contain;
    width: 50px;
    height: 104px
}

.project__title, .project__subtitle {
    text-align: center;
    max-width: 735px
}

.project__subtitle {
    color: #898b9c;
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 45px
}

.project__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 35px
}

.project__block {
    max-width: 302px;
    padding: 10px
}

.project__card {
    display: flex;
    position: relative;
    max-width: 302px;
    height: 390px;
    align-items: flex-end;
    overflow: hidden;
    border-radius: 15px;
    box-shadow: 0 0 12px rgba(0, 35, 102, .12)
}

.project__cardImg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 0
}

.project__cardImg_small {
    height: 60%
}

.project__cardInfo {
    color: #fff;
    display: flex;
    position: relative;
    z-index: 3;
    height: 42%;
    padding: 20px 40px;
    align-content: flex-start;
    flex-wrap: wrap
}

.project__cardInfo_white {
    color: #29295d;
    background-color: #fff
}

.project__cardTitle {
    color: #fff;
    font-size: 15px;
    font-weight: 500;
    background: #ff303c;
    width: auto;
    margin-bottom: 10px;
    padding: 5px 15px;
    border-radius: 4px
}

.project__cardText {
    font-size: 18px;
    font-weight: 800;
    word-break: break-word
}

@media screen and (max-width: 991px) {
    .project {
        padding: 0 0 120px
    }

    .project__title:before {
        content: none
    }

    .project__list {
        max-width: 450px
    }

    .project__subtitle {
        margin-bottom: 20px
    }
}

.join__container {
    position: relative;
    padding: 100px 15px 120px;
    max-width: 1335px;
    background: url(img/join__bg.svg) no-repeat center/auto 100%;
    z-index: 3;
    text-align: center
}

.join__subtitle {
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 50px;
    color: #fff
}

.join__item {
    display: flex;
    align-items: center;
    justify-content: center
}

.join__btn {
    width: 100%;
    max-width: 274px;
    margin: 10px
}

@media screen and (max-width: 991px) {
    .join__container {
        padding: 80px 0
    }

    .join__subtitle {
        margin-bottom: 20px
    }
}

.vacancies {
    background-color: #fff;
    margin-top: -200px;
    padding: 270px 0 120px
}

.vacancies__container {
    justify-content: center
}

.vacancies__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 1000px
}

.vacancies__block {
    max-width: 457px;
    padding: 5px
}

.vacancies__card {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    max-width: 457px;
    height: 630px;
    margin: 10px;
    padding: 40px;
    align-content: flex-end;
    align-items: flex-end;
    overflow: hidden;
    border-radius: 15px
}

.vacancies__card_canceled {
    cursor: not-allowed;
    filter: grayscale(0);
    transition: all .3s ease-in-out
}

.vacancies__card_canceled:hover {
    filter: grayscale(1)
}

.vacancies__img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center
}

.vacancies__cardTitle {
    color: #fff;
    font-size: 30px;
    font-weight: 800;
    position: relative;
    z-index: 3;
    padding-bottom: 20px;
    margin-bottom: 10px
}

.vacancies__cardTitle:after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 80px;
    height: 1px;
    background-color: #fff
}

.vacancies__text {
    position: relative;
    z-index: 3;
    font-size: 30px;
    font-weight: 800;
    color: #fff;
    margin-bottom: 30px
}

.vacancies__btn {
    width: 100%;
    max-width: 224px
}

@media screen and (max-width: 991px) {
    .vacancies {
        margin-top: -50px;
        padding-top: 80px
    }

    .vacancies__card {
        margin: 10px 0;
        height: 456px;
        padding: 30px
    }

    .vacancies__cardTitle {
        font-size: 20px;
        max-width: 160px
    }

    .vacancies__text {
        font-size: 20px;
        margin-bottom: 20px
    }
}

.comments {
    background: #29295d url(img/comments__bg.svg) no-repeat 100% 100%/contain;
    padding: 80px 0 0
}

.comments__title {
    color: #fff;
    text-align: center;
    margin-bottom: 120px
}

.comments__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center
}

.comments__block {
    max-width: 360px;
    margin: 60px 15px;
    display: flex
}

.comments__item {
    text-align: center;
    background: #fff;
    position: relative;
    max-width: 360px;
    padding: 70px 20px 30px;
    border-radius: 15px
}

.comments__avatar {
    position: absolute;
    top: 0;
    left: 50%;
    max-width: 120px;
    transform: translate(-50%, -50%)
}

.comments__name {
    color: #29295d;
    font-size: 20px;
    font-weight: 800;
    margin-bottom: 5px
}

.comments__prof {
    color: #ff8036;
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 10px
}

.comments__text {
    color: #898b9c;
    font-size: 15px;
    font-weight: 500
}

@media screen and (max-width: 991px) {
    .comments {
        padding-bottom: 120px
    }

    .comments__title {
        margin-bottom: 30px
    }

    .comments__block {
        margin: 60px 15px 15px
    }

    .comments .slick-prev, .comments .slick-next {
        background-image: url(img/slider__nav_white.svg)
    }
}

.answer {
    padding: 120px 0
}

.answer__container {
    align-items: center;
    justify-content: space-between
}

.answer__img {
    max-width: 500px
}

.answer__item {
    max-width: 637px
}

@media screen and (max-width: 1280px) {
    .answer__container {
        justify-content: center
    }

    .answer__img {
        margin-bottom: 30px
    }
}

@media screen and (max-width: 991px) {
    .answer {
        padding: 30px 0
    }

    .answer__container {
        justify-content: center
    }

    .answer__img {
        width: 390px;
        margin-bottom: 30px
    }
}

input, select {
    text-indent: 1px;
    text-overflow: "";
    -webkit-appearance: none;
    -moz-appearance: none
}

.form {
    background: linear-gradient(to right, #FFC531, #FF303C);
    padding: 100px 0
}

.form__container {
    justify-content: center
}

.form__item {
    display: none
}

.form__item_active {
    display: block
}

.form__buttonForm {
    position: absolute;
    top: 50%;
    transform: translateY(-50%)
}

.form__buttonForm_submit, .form__buttonForm_next {
    background: #ff4a60;
    right: 0
}

.form__buttonForm_next:disabled, .form__buttonForm_submit:disabled {
    background-color: gray
}

.form__buttonForm_prev {
    background-color: #9c9cae;
    left: 0
}

.form__footer {
    color: #9c9cae;
    text-align: center
}

.form__input {
    color: #9c9cae;
    font-size: 18px;
    font-weight: 500;
    display: block;
    width: 100%;
    padding: 15px 20px;
    border: 1px solid #9c9cae
}

.form__input_error {
    border: 1px solid red
}

.form__input_select {
    background-color: rgba(255, 255, 255, .001);
    position: relative
}

.form__input_date {
    max-width: 300px
}

.form__label {
    display: flex;
    position: relative;
    margin-right: 30px;
    margin-bottom: 15px;
    cursor: pointer
}

.form__label:hover .custom__radio {
    border: 1px solid #c7122b
}

.form__radio {
    position: absolute;
    width: 0;
    height: 0;
    opacity: 0
}

.form__radio:checked ~ .custom__radio:before {
    display: block
}

.form__buttonForm_submit, .form__buttonForm_next {
    margin-left: auto
}

.buttonForm {
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    display: flex;
    width: auto;
    max-width: 250px;
    padding: 10px 25px;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border: none;
    border-radius: 60px
}

.buttonForm_hide {
    display: none
}

.buttonForm_return {
    text-align: center;
    text-decoration: none;
    display: block;
    background-color: #ff4a60;
    width: 100%;
    max-width: 313px;
    margin: 0 auto;
    padding: 15px 20px
}

.buttonForm__img {
    max-width: 30px
}

.buttonForm__img_next {
    margin-left: 10px
}

.buttonForm__img_prev {
    margin-right: 10px;
    transform: rotate(180deg)
}

.select {
    position: relative
}

.select:before {
    content: "";
    background: url(img/form__select.svg) no-repeat center/contain;
    position: absolute;
    z-index: 0;
    top: 50%;
    right: 30px;
    width: 15px;
    height: 15px;
    transform: translateY(-50%)
}

.card {
    display: flex;
    background-color: #fff;
    width: 100%;
    max-width: 975px;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    border-radius: 50px
}

.card__container {
    width: 100%;
    max-width: 645px;
    padding: 90px 15px
}

.card__title {
    color: #191939;
    font-size: 32px;
    font-weight: 900;
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 15px
}

.card__subtitle {
    color: #9c9cae;
    font-size: 20px;
    font-weight: 800;
    text-align: center;
    margin-bottom: 30px;
    padding-bottom: 25px;
    border-bottom: 2px solid #019e50
}

.card__block {
    margin: 35px 0
}

.card__text, .card .choice__text {
    color: #191939;
    font-size: 18px;
    font-weight: 500;
    display: block;
    margin: 10px 0
}

.card__text_error {
    color: red;
    display: none
}

.card__text_border {
    margin: 40px 0;
    padding-bottom: 25px;
    border-bottom: 2px solid #019e50
}

.card__text_grey {
    color: #9c9cae
}

.choice {
    display: flex;
    margin: 20px 0 40px;
    align-items: flex-start;
    justify-content: space-between
}

.choice_radio {
    justify-content: flex-start
}

.choice__item {
    width: auto;
    position: relative;
    cursor: pointer
}

.choice__item_cancel {
    cursor: not-allowed
}

.choice__item_cancel:hover .choice__img {
    filter: grayscale(1)
}

.choice__item_active:before {
    content: "";
    display: block;
    background: #ff4a60 url(img/choice__active.svg) no-repeat center/21px;
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;
    width: 45px;
    height: 45px;
    transform: translate(-30%, -30%);
    border-radius: 50%
}

.choice__img {
    position: relative;
    max-width: 300px;
    border-radius: 10px;
    overflow: hidden;
    transition: filter .3s linear;
    filter: grayscale(0)
}

.choice__img img {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center
}

.choice__close {
    color: #fff;
    font-size: 15px;
    text-align: center;
    background: rgba(0, 0, 0, .7);
    position: absolute;
    z-index: 3;
    bottom: 15px;
    left: 50%;
    width: 200px;
    margin: 0;
    padding: 10px;
    transform: translateX(-50%);
    border-radius: 15px
}

.progress {
    display: flex;
    position: relative;
    width: 100%;
    margin-bottom: 20px;
    align-items: center;
    justify-content: center
}

.progress__item {
    display: flex;
    width: auto;
    align-items: center;
    justify-content: center
}

.progress__status {
    color: #9c9cae;
    font-size: 18px;
    font-weight: 600;
    width: auto
}

.progress__img {
    max-width: 24px;
    margin-left: 12px
}

.custom__radio {
    display: block;
    position: relative;
    width: 16px;
    height: 16px;
    margin-right: 6px;
    transition: all .3s linear;
    border: 1px solid #ff4a60;
    border-radius: 50%
}

.custom__radio:before {
    content: "";
    display: none;
    background-color: #ff4a60;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 8px;
    transform: translate(-50%, -50%);
    border-radius: 50%
}

.list {
    padding-left: 0;
    list-style: none
}

.list__item {
    margin-bottom: 10px
}

@media screen and (max-width: 991px) {
    .card__container {
        padding: 0 15px 30px
    }
}

@media screen and (max-width: 576px) {
    .form__container {
        padding: 0
    }

    .card {
        border-radius: 0
    }

    .card__block {
        margin-bottom: 15px
    }

    .card__title {
        font-size: 24px
    }

    .card__subtitle {
        font-size: 16px
    }

    .buttonForm {
        font-size: 16px;
        padding: 10px 15px
    }

    .choice {
        flex-wrap: wrap;
        justify-content: center;
        margin-bottom: 0
    }

    .choice__item {
        margin-bottom: 30px
    }

    .choice__item:last-child {
        margin-bottom: 10px
    }

    .choice__close {
        font-size: 13px;
        width: 90%;
        padding: 5px
    }

    .choice__text {
        font-size: 16px;
        padding-right: 10px
    }

    .buttonForm__img {
        display: none
    }

    .progress {
        flex-wrap: wrap;
        margin-top: 10px
    }

    .progress__item {
        width: 100%
    }

    .form__buttonForm {
        position: relative;
        margin: 10px 0;
        transform: none
    }

    .form__buttonForm_submit, .form__buttonForm_next {
        margin-left: auto
    }
}

.footer {
    color: #fff;
    background-color: #29295d;
    padding: 67px 0
}

.footer__container {
    height: 100%;
    align-items: center;
    justify-content: center
}

.footer__logo {
    text-transform: uppercase;
    width: auto
}

@media screen and (max-width: 991px) {
    .footer {
        padding: 30px 0
    }
}

.popup {
    color: #191939;
    display: none;
    background: rgba(83, 83, 125, .9);
    position: fixed;
    z-index: 999;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow-y: scroll
}

.popup_active {
    display: flex;
    align-items: flex-start;
    justify-content: center
}

.popup__close {
    position: absolute;
    top: 30px;
    right: 30px;
    max-width: 30px;
    cursor: pointer
}

.popup__card {
    background: #fff;
    max-width: 930px;
    padding: 50px 15px;
    border-radius: 30px
}

.popup__container {
    max-width: 660px;
    margin: 0 auto
}

.popup__header {
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid #ff303c
}

.popup__title {
    font-size: 32px;
    font-weight: 900;
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 10px
}

.popup__subtitle {
    color: #898b9c;
    font-size: 20px;
    font-weight: 800;
    text-align: center
}

.popup__text {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
    margin-bottom: 15px
}

.popup__text_bold {
    font-size: 20px;
    font-weight: 800
}

.popup__text_grey {
    color: #898b9c;
    line-height: 1
}

.popup__red {
    color: #ff303c;
    font-weight: 500
}

.popup__list {
    margin-bottom: 20px;
    padding-left: 20px;
    list-style: disc
}

.popup__item {
    font-size: 17px;
    display: list-item;
    margin-bottom: 10px
}

.popup__footer {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.popup__price {
    font-size: 30px;
    font-weight: 800
}

.popup__link {
    color: #fff;
    font-size: 20px;
    font-weight: 600;
    text-decoration: none;
    background: #ff303c;
    width: 100%;
    max-width: 340px;
    padding: 15px 40px;
    border-radius: 60px;
    display: flex;
    align-items: center;
    justify-content: space-between
}

.popup__linkArrow {
    max-width: 30px
}

@media screen and (max-width: 1280px) {
    .popup__card {
        border-radius: 0
    }
}

@media screen and (max-width: 576px) {
    .popup__close {
        position: absolute;
        top: 15px;
        right: 15px;
        max-width: 20px;
        cursor: pointer
    }

    .popup__footer {
        flex-wrap: wrap;
        justify-content: center
    }

    .popup__price {
        margin-bottom: 15px;
        text-align: center
    }

    .popup__link {
        text-align: center;
        padding: 10px 15px;
        justify-content: center
    }

    .popup__linkArrow {
        display: none
    }
}

.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.slick-list {
    position: relative;
    overflow: hidden;
    display: block;
    margin: 0;
    padding: 0
}

.slick-list:focus {
    outline: none
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}

.slick-slider .slick-track, .slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.slick-track {
    position: relative;
    left: 0;
    top: 0;
    display: block;
    margin-left: auto;
    margin-right: auto
}

.slick-track:before, .slick-track:after {
    content: "";
    display: table
}

.slick-track:after {
    clear: both
}

.slick-loading .slick-track {
    visibility: hidden
}

.slick-slide {
    float: left;
    height: 100%;
    min-height: 1px;
    display: none
}

[dir=rtl] .slick-slide {
    float: right
}

.slick-slide img {
    display: block
}

.slick-slide.slick-loading img {
    display: none
}

.slick-slide.dragging img {
    pointer-events: none
}

.slick-initialized .slick-slide {
    display: block
}

.slick-loading .slick-slide {
    visibility: hidden
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid rgba(0, 0, 0, 0)
}

.slick-arrow.slick-hidden {
    display: none
}

.slick-prev, .slick-next {
    line-height: 0px;
    display: block;
    position: absolute;
    z-index: 2;
    top: auto;
    bottom: -81px;
    width: 30px;
    height: 30px;
    padding: 0;
    cursor: pointer;
    -ms-transform: translate(0, -50%);
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    color: rgba(0, 0, 0, 0);
    border: none;
    outline: none;
    background: rgba(0, 0, 0, 0)
}

.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus {
    color: rgba(0, 0, 0, 0);
    outline: none
}

.slick-prev:hover:before, .slick-prev:focus:before, .slick-next:hover:before, .slick-next:focus:before {
    opacity: 1
}

.slick-prev.slick-disabled:before, .slick-next.slick-disabled:before {
    opacity: 1
}

.slick-prev:before, .slick-next:before {
    line-height: 1;
    opacity: 1;
    color: #fff
}

.slick-prev, .slick-next {
    border-radius: 50%;
    background: url(img/slider__nav.svg) no-repeat center/contain;
    width: 57px;
    height: 57px;
    bottom: -80px;
    left: 50%
}

.slick-prev {
    transform: translateX(-150%)
}

.slick-next {
    transform: translateX(50%) rotate(180deg)
}

.slick-dotted.slick-slider {
    margin-bottom: 30px
}

.slick-dots {
    display: block;
    position: absolute;
    bottom: -55px;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: center
}

.slick-dots li {
    display: inline-block;
    position: relative;
    width: 19px;
    height: 19px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer;
    border: 2px solid #29295d;
    border-radius: 50%
}

.slick-dots li button {
    line-height: 0;
    display: block;
    width: 24px;
    height: 24px;
    cursor: pointer;
    color: rgba(0, 0, 0, 0);
    border: 0;
    outline: none;
    background: rgba(0, 0, 0, 0)
}

.slick-dots li button:hover, .slick-dots li button:focus {
    outline: none
}

.slick-dots li button:hover:before, .slick-dots li button:focus:before {
    opacity: 1
}

.slick-dots li.slick-active {
    background: #29295d
}

.slick-dots li.slick-active :before {
    background: #29295d
}

.slick-dots li.slick-active button:before {
    opacity: 1;
    color: rgba(255, 255, 255, .00001)
}

.slick-track .slick-slide > div {
    display: flex;
    justify-content: center
}

.animation-fadeIn {
    animation: fadeIn .5s ease-in-out
}

.animation-fadeOut {
    animation: fadeOut .5s ease-in-out
}

@keyframes fadeIn {
    from {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

@keyframes fadeOut {
    from {
        opacity: 1
    }
    to {
        opacity: 0
    }
}

@keyframes dotsSat {
    from {
        filter: saturate(1)
    }
    50% {
        filter: saturate(5)
    }
    to {
        filter: saturate(1)
    }
}

@keyframes dotsScale {
    from {
        transform: scale(1);
        filter: drop-shadow(0 0 0 rgba(0, 0, 0, 0.4))
    }
    50% {
        transform: scale(1.1);
        filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.4))
    }
    to {
        transform: scale(1);
        filter: drop-shadow(0 0 0 rgba(0, 0, 0, 0.4))
    }
}

@media screen and (-ms-high-contrast: active),(-ms-high-contrast: none) {
    select::-ms-expand {
        display: none
    }

    .join__container {
        background: linear-gradient(to right, #FFC531, #FF303C)
    }

    .vacancies__img {
        height: auto
    }
}
