body {
	font-family: 'Montserrat', sans-serif;
}

header {
	position: fixed;
	width: 100%; 
	top: 0;
	left: 0;
	z-index: 3;
	background: #FFF;
}
nav.navbar {
	padding-right: var(--bs-gutter-x,1.5rem);
	padding-left: var(--bs-gutter-x,1.5rem);
}
.nav-link {
    font-weight: 500;
    color: #313F58;
    padding-right: 20px !important;
    padding-left: 20px !important;
}
.header-language {
    color: #313F58;
    font-family: 'Comfortaa', cursive;
    border: 1px solid #B3B9C3;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
    text-decoration: none;
    margin-right: 20px; 
}
.header-language:hover {
    color: #313F58;
}
.header-button {
    background: #202A3A;
    color: #fff;
    font-weight: 500;
    text-decoration: none;
    height: 50px;
    width: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
}
.header-button:hover {
    color: #fff;
}

#hero {
    padding-top: 86px;
    background: url(../img/hero-bg.jpg) no-repeat center center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}
.hero-inner {
    height: calc(100vh - 153px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-bottom: 67px;
}
.hero-title {
    font-size: 56px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 40px;
}
.hero-text {
    font-size: 18px;
    font-weight: 500;
    color: #fff;
    margin-bottom: 30px;
}
.main-button {
    width: 240px;
    height: 50px;
    background: #FFB439;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 600;
    color: #fff;
    text-decoration: none;
    border-radius: 5px;
}
.main-button:hover {
    color: #fff;
}
.main-button svg {
	margin-left: 20px; 
}

#hero-bottom {
    margin-top: -67px;
}
.hero-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 40px 0;
    background: #fff;
    border-radius: 10px;
    box-shadow: #000 0 0 30px -20px;
}
.hero-bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px;
    flex: 1;
}
.hero-bottom-inner:nth-child(2) {
	border-left: 1px solid #C9CCD1;
	border-right: 1px solid #C9CCD1;
}
.hero-bottom-text {
    font-size: 18px;
    color: #313F58;
    font-weight: 600;
    margin-left: 20px;
    margin-bottom: 0;
}

#about {
    padding-top: 80px;
    padding-bottom: 80px;
}
.about-image-block {
    padding-right: 25px;
}
.about-image {
    width: 100%;
}
.about-text-block {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    padding-left: 25px;
}
.about-title {
    font-size: 40px;
    font-weight: 700;
    color: #2A2A38;
    margin-bottom: 20px;
}
.about-text {
    color: #313F58;
    font-family: 'Roboto', sans-serif;
    margin-bottom: 20px;
}
.about-button-row {
    display: flex;
    align-items: end;
    justify-content: space-between;
}
.about-line {
    width: 60px;
    height: 6px !important;
    color: #003986;
    opacity: 1;
    border-radius: 3px;
    margin-bottom: 0;
}

#mission {
    padding-top: 50px;
    padding-bottom: 80px;
    background: #FBFBFB;
}
.mission-left {
    padding-right: 25px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.mission-card {
    background: #fff;
    padding: 30px;
    text-align: center;
    margin-bottom: 50px;
    border-radius: 10px;
}
.mission-card.last {
	margin-bottom: 0; 
}
.mission-card-title {
    font-size: 24px;
    font-weight: 600;
    color: #2A2A38;
    margin-top: 30px;
    margin-bottom: 20px;
}
.mission-card-text {
    color: #313F58;
}
.mission-right {
    padding-left: 25px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

#progress {
    overflow: hidden;
    padding-top: 80px;
    padding-bottom: 80px;
    background: linear-gradient(180deg, rgba(17,23,35,1) 0%, rgba(32,42,58,1) 15%, rgba(32,42,58,1) 85%, rgba(17,23,35,1) 100%);
}
.progress-title {
    font-size: 40px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 50px;
}
.progress-swiper {
    overflow: inherit;
}
.progress-card {
    border-radius: 10px;
    padding: 40px;
    height: 380px;
    position: relative;
}
#progress-card-1 {
    background: url(../img/process-image-1.jpg) no-repeat top right;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}
#progress-card-2 {
    background: url(../img/process-image-2.jpg) no-repeat top right;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}
#progress-card-3 {
    background: url(../img/process-image-3.jpg) no-repeat top right;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}
#progress-card-4 {
    background: url(../img/process-image-4.jpg) no-repeat top right;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}
#progress-card-5 {
    background: url(../img/process-image-5.jpg) no-repeat top right;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}
#progress-card-6 {
    background: url(../img/process-image-6.jpg) no-repeat top right;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}
.progress-card-number {
    font-size: 24px;
    font-weight: 600;
    color: #9399a4;
}
.progress-card-title {
    font-size: 32px;
    font-weight: 600;
    color: #fff;
}
.progress-card-text {
    color: #fff;
}
.slide-dot {
    position: absolute;
    bottom: 40px;
    left: 40px;
    z-index: 2;
}
.slide-line-first {
    position: absolute;
    bottom: 51px;
    left: 40px;
    width: calc(100% - 15px);
}
.slide-line {
    position: absolute;
    bottom: 51px;
    left: -25px;
    width: calc(100% + 50px);
    z-index: 1;
}
.slide-line-last {
    width: calc(100% - 95px);
}
.slide-dot circle {
    -webkit-transition: all ease 0.3s;
       -moz-transition: all ease 0.3s;
        -ms-transition: all ease 0.3s;
         -o-transition: all ease 0.3s;
            transition: all ease 0.3s;
}
.slide-line line {
    -webkit-transition: all ease 0.3s;
       -moz-transition: all ease 0.3s;
        -ms-transition: all ease 0.3s;
         -o-transition: all ease 0.3s;
            transition: all ease 0.3s;
}
.slide-dot.active circle {
    fill: #FFB439;
}
.slide-line.active line {
    stroke: #FFB439;
}
#slider-ready {
    font-weight: 500;
    color: #fff;
    position: absolute;
    right: 40px;
    bottom: 40px;
    margin: 0;
}
.pagination-custom {
    display: flex;
    align-items: center;
    margin-top: 80px;
    height: 24px;
    position: relative;
    z-index: 11;
}
.pagination-custom-icon {
    width: 8px;
    height: 8px;
    border-radius: 4px;
    background: #fff;
    display: flex;
    margin-right: 20px;
    cursor: pointer;
    -webkit-transition: all ease 0.1s;
       -moz-transition: all ease 0.1s;
        -ms-transition: all ease 0.1s;
         -o-transition: all ease 0.1s;
            transition: all ease 0.1s;
}
.pagination-custom-icon.active {
    width: 30px;
    background: #FFB439;
}
.progress-pagination {
    color: #fff;
    bottom: 0;
    text-align: end;
}

#vacancies {
    padding-top: 80px;
    padding-bottom: 80px;
}
.vacancies-title-row {
    text-align: center;
}
#vacancies .about-title, #testimonials .about-title {
	margin-bottom: 40px; 
}
.vacancies-card {
    background: #FBFBFB;
    padding: 30px;
    margin-bottom: 40px;
}
.vacancies-card-left {
    height: 100%;
    display: flex;
    align-items: center;
}
.vacancies-pagination {
    width: 60% !important;
    left: 20% !important;
    background: #fff;
    border-radius: 10px;
    bottom: 15px !important;
}
.swiper-pagination-bullet {
    margin: 0 8px !important;
}
.swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: #FFB439;
}
.vacancies-image {
    width: 100%;
}
.vacancies-card-right {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding-left: 40px;
}
.vacancies-city {
    font-size: 14px;
    color: #313F58;
    margin-bottom: 10px;
}
.vacancies-title {
    font-size: 20px;
    font-weight: 700;
    color: #313F58;
    margin-bottom: 15px;
}
.vacancies-price {
    font-weight: 600;
    color: #313F58;
    margin-bottom: 30px;
}
.vacancies-text {
    color: #313F58;
}
.vacancies-button-row .header-button {
	width: 180px;
    margin: 0 auto;
}

#testimonials {
    padding-top: 80px;
    padding-bottom: 80px;
    background: url(../img/testimonials-bg.jpg) no-repeat bottom center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}
.testimonials-card {
    width: 70%;
    margin: 0 auto;
    text-align: center;
    background: #fff;
    padding: 40px 100px 80px;
}
.testimonials-name {
    font-size: 24px;
    font-weight: 600;
    color: #2A2A38;
    margin-top: 30px;
}
.testimonials-text {
    color: #313F58;
}
.testimonials-pagination {
    bottom: 40px !important;
}
.testimonials-button-next {
    width: 60px;
    height: 60px;
    background: orange;
    border-radius: 30px;
    right: calc(15% - 30px);
    top: calc(50% - 30px);
}
.testimonials-button-prev {
    width: 60px;
    height: 60px;
    background: orange;
    border-radius: 30px;
    left: calc(15% - 30px);
    top: calc(50% - 30px);
}
.testimonials-button-next.swiper-button-disabled, .testimonials-button-prev.swiper-button-disabled {
    opacity: 1 !important;
}
#testimonials .swiper-button-next:after {
    content: url(../img/vector-right.svg);
    font-size: 16px;
}
#testimonials .swiper-button-prev:after {
    content: url(../img/vector-left.svg);
    font-size: 16px;
}
.testimonials-button-left-background {
    position: absolute;
    width: 100px;
    height: 100px;
    background: #FBFBFB;
    top: calc(50% - 70px);
    left: calc(15% - 50px);
    border-radius: 50px;
    z-index: 2;
}
.testimonials-button-right-background {
    position: absolute;
    width: 100px;
    height: 100px;
    background: #FBFBFB;
    top: calc(50% - 70px);
    right: calc(15% - 50px);
    border-radius: 50px;
    z-index: 2;
}
.testimonial-bottom {
    margin-top: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}

footer {
    background: #202A3A;
}
#footer-top {
    background: url(../img/hero-bg.jpg) no-repeat center center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    text-align: center;
    padding-top: 80px;
    padding-bottom: 80px;
}
.footer-top-title {
    font-size: 40px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 30px;
}
.footer-top-text {
    color: #fff;
    margin: 0;
}
#footer-form form {
    width: 800px;
    height: 80px;
    background: #fff;
    margin: -40px auto 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 20px;
    border-radius: 10px;
    position: relative;
    z-index: 2;
}
#footer-form .form-inner {
    display: flex;
    width: calc(100% - 180px);
}
#footer-form .form-inner-outline {
    width: 50%;
    height: 50px;
    display: flex;
    align-items: center;
    border: 1px solid #B3B9C3;
    border-radius: 5px;
    padding: 0 10px;
    margin-right: 20px;
}
#footer-form .label-name, #footer-form .label-tel {
    color: #2A2A38;
    margin-right: 10px;
}
#footer-form .form-name, #footer-form .form-tel {
    color: #B3B9C3;
    border: navajowhite;
    height: 100%;
}
#footer-form .form-name:focus-visible, #footer-form .form-tel:focus-visible {
    outline: none;
}
#footer-form .input-submit {
    font-weight: 600;
    color: #fff;
    width: 180px;
    height: 58px;
    background: #FFB439;
    border: none;
    border-radius: 5px;
}
#footer-middle {
    padding-top: 100px;
    padding-bottom: 50px;
    background: #273449;
    margin-top: -40px;
    border-radius: 0 0 20px 20px;
    position: relative;
}
.footer-middle-kz {
    text-align: center;
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 40px;
}
.footer-middle-row {
    display: flex;
    justify-content: space-between;
}
.footer-middle-inner {
    flex: 1;
    padding: 0 20px;
}
.footer-middle-inner:nth-child(2) {
    border-left: 1px solid #475264;
    border-right: 1px solid #475264;
}
.footer-middle-title {
    font-size: 20px;
    font-weight: 500;
    color: #fff;
    font-family: 'Roboto';
    margin-bottom: 20px;
}
.footer-middle-text {
    color: #fff;
    font-family: 'Roboto';
}
#goToTop {
    width: 80px;
    height: 80px;
    position: absolute;
    bottom: -40px;
    left: calc(50% - 40px);
    background: #273449;
    border-radius: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}
#goToTop a {
    width: 44px;
    height: 44px;
    background: #FFB439;
    border-radius: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
}
#footer-bottom {
    padding-top: 30px;
    padding-bottom: 30px;
}
.container-footer {
    padding-right: var(--bs-gutter-x,1.5rem);
    padding-left: var(--bs-gutter-x,1.5rem);
    display: flex;
    align-items: center;
    justify-content: space-between;
}
#copy, #brand {
    margin: 0;
    font-family: 'Roboto';
    color: #fff;
}
#brand a {
    color: #FFF;
    text-decoration: none;
}

#formModal .modal-dialog {
    max-width: 500px;
}
#formModal .modal-content {
    border: none;
    border-radius: 10px;
}
#formModal .modal-body {
    padding-bottom: 30px; 
}
#formModal .btn-close {
    position: absolute;
    top: 10px;
    right: 10px;
}
#formModal .modal-title {
    font-size: 36px;
    font-weight: 700;
    color: #2A2A38;
    text-align: center;
    margin-bottom: 10px;
}
#formModal .modal-text {
    font-size: 12px;
    color: #2A2A38;
    text-align: center;
}
#formModal form {
    margin-top: 0;
    height: auto;
    flex-direction: column;
    align-items: start;
    width: 90%;
    margin-left: auto;
    margin-right: auto; 
}
#formModal .label-name, #formModal .label-tel, #formModal .label-mail, #formModal .label-file {
    font-size: 14px;
    color: #000000;
    margin-bottom: 5px;
}
#formModal .form-name, #formModal .form-tel, #formModal .form-mail, #formModal .form-file {
    width: 100%;
    height: 50px;
    padding-left: 15px;
    background: #fbfbfb;
    border: 1px solid #B3B9C3;
    border-radius: 5px;
    margin-bottom: 10px;
    color: #B3B9C3;
    font-size: 16px; 
}
#formModal .form-name:focus-visible, #formModal .form-tel:focus-visible, #formModal .form-mail:focus-visible, #formModal .form-file:focus-visible {
    outline: none;
}
#formModal .form-file-description {
    font-size: 12px;
    color: #B3B9C3;
    margin-bottom: 5px;
}
#formModal .form-file {
    padding: 5px;
    height: 100%;
}
#formModal .form-file#file-upload-button {
    background: #202A3A !important;
    color: #fff !important; 
}
#formModal .input-submit {
    width: 100%;
    margin-top: 20px;
    font-weight: 600;
    color: #fff;
    height: 58px;
    background: #FFB439;
    border: none;
    border-radius: 5px;
}

@media (min-width: 1200px) {
    .navbar-brand {
        flex: auto;
        margin-right: 0;
    }
    #navbarSupportedContent {
        flex: 10;
    }
    .navbar-block {
        flex: auto;
        justify-content: end;
    }
}

@media (max-width: 767px) {
    .navbar-toggler {
        padding: 0;
    }
    .navbar-toggler:focus {
        -webkit-box-shadow: none;
                box-shadow: none;
    }
    .navbar-toggler-icon {
        width: 50px;
        height: 50px;
        background-image: url(../img/menu.png);
    }
    .navbar-block.d-md-none {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 50px;
        margin-top: 50px;
    }
    .hero-title {
        font-size: 28px;
        margin-bottom: 30px;
    }
    .hero-title {
        font-size: 28px;
        margin-bottom: 20px;
    }
    .hero-bottom {
        flex-direction: column;
    }
    .hero-bottom-inner {
        justify-content: start;
        width: 100%;
    }
    .hero-bottom-inner:nth-child(2) {
        border-left: none;
        border-right: none;
        margin-top: 20px;
        margin-bottom: 20px; 
    }
    .about-title {
        font-size: 30px;
    }
    .about-image-block {
        padding-right: 0;
    }
    .about-text-block {
        padding-left: 0;
        margin-top: 30px;
    }
    .about-line {
        display: none;
    }
    .mission-left {
        padding-right: 0;
    }
    .mission-right {
        padding-left: 0; 
    }
    .slide-dot, #slider-ready {
        bottom: 10px;
    }
    .slide-line-first, .slide-line {
        bottom: 21px;
    }
    .vacancies-card-right {
        padding-left: 0;
        margin-top: 30px;
    }
    .testimonials-card {
        width: 100%;
        padding: 40px 20px 80px;
    }
    .testimonials-button-next, .testimonials-button-prev, .testimonials-button-left-background, .testimonials-button-right-background {
        display: none; 
    }
    #footer-form form {
        width: 100%;
        height: 60px;
    }
    #footer-form .form-inner {
        width: 60%; 
    }
    #footer-form .label-tel {
        font-size: 16px;
    }
    #footer-form .form-tel {     
        font-size: 16px;
        width: 70%;
    }
    #footer-form .input-submit {
        width: 40%;
        height: 40px;
        font-size: 12px;
    }
    .footer-middle-row {
        flex-direction: column;
    }
    .footer-middle-inner {
        padding: 20px 30px;
    }
    .footer-middle-inner:nth-child(2) {
        border-top: 1px solid #475264;
        border-bottom: 1px solid #475264;
        border-left: none;
        border-right: none;
    }
    #footer-bottom {
        padding-top: 50px;
    }
    #copy, #brand {
        font-size: 12px;
    }
}