*,
*::after,
*::before {
    box-sizing: border-box;
    outline: none;
}

a {
    text-decoration: none;
    color: #1A2221;
}

button {
    border: none;
    cursor: pointer;
}

img {
    width: 100%;
}

ul,
ol {
    list-style: none;
    padding: 0;
    margin: 0;
}


dl {
    margin: 0;
}

dd {
    margin: 0;
}

h1, h2, h3, h4, h5, h6 {
    margin: 0;
    font-weight: 500;
    line-height: 120%;
}

p {
    margin: 0;
}

strong {
    font-weight: 700;
}

textarea {
    resize: none;
}

body {
    margin: 0;
    font-family: "Montserrat", sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 120%;
    color: #1A2221;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.wrapper {
    padding-left: 17px;
    padding-right: 17px;
    width: 100%;
    max-width: 1262px;
    margin: 0 auto;
    position: relative;
}

.img_bt {
    width: 50%;
}



.header {
    padding: 16px 0;
    background: #fff;
    box-shadow: 0px 0px 12px 0px #00000029;
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 10;
}

.header__wrapper {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 27px;
}

.header__btn {
    display: none;
}

.header__logo {
    max-width: 148px;
}

.logo {
    display: block;
}

.logo__img {
    display: block;
}

.menu {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0px 24px;
}

.menu__link {
    display: block;
}

.menu__link--active {
    color: #0093A0;
}

.header__contacts {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
}

.langs {
    display: flex;
}

.langs__elem {
    width: 24px;
}

.langs__img {
    display: block;
}

.btn {
    border: 2px solid #0BB9C9;
    background: #0BB9C9;
    border-radius: 100px;
    padding: 9px 16px;
    font-family: "Montserrat",sans-serif;
    font-weight: 700;
    font-size: 14px;
    line-height: 1;
    display: inline-block;
    text-align: center;
    width: fit-content;
    cursor: pointer;
    color: #FFF;
    transition: .2s all;
}

.phone-btn {
    display: none;
}



.section--hero {
    padding-top: 29px;
    padding-bottom: 37px;
}


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

.hero__left {
    display: flex;
    flex-direction: column;
    gap: 24px;
    align-items: flex-start;
    width: calc(100% - 400px);
}

.hero__right {
    width: 400px;
}

.hero__heading {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
}

.hero__title {
    font-size: 36px;
}

.hero__title br {
    display: none;
}

.hero__subtitle {
    font-weight: 700;
    color: #565C5C;
}

.hero__text {
    max-width: 708px;
    color: #565C5C;
}

.hero__text > *:not(:last-child) {
    margin-bottom: 18px;
}

.hero__img {
    display: block;
}




.section--pb {
    padding-bottom: 48px;
}

.about {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.about__wide {
    grid-column: span 2;
}

.about__slim {
    padding: 36px;
    box-shadow: 0px 0px 12px 0px #0000001F;
    background: #fff;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 26px;
}

.about__wide {
    background: #0093A0;
    padding: 36px 12px 36px 36px;
    border-radius: 8px;
    color: #FFF;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
}

.about__title {
    font-weight: 500;
    font-size: 28px;
    line-height: 120%;
}

.about__title--decor {
    position: relative;
}

.about__title--decor::before {
    content: '';
    position: absolute;
    bottom: -12px;
    left: 0;
    width: 24px;
    height: 2px;
    background: #0BB9C9;
}

.about__title--decor::after {
    content: '';
    position: absolute;
    bottom: -12px;
    left: 24px;
    width: 24px;
    height: 2px;
    background: #E4E6E6;
}

.about__slim .about__info {
    color: #565C5C;
}

.about__title--side {
    white-space: nowrap;
}

.about__desc {
    max-width: 84.407%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}

.about__subtitle {
    font-weight: 700;
}




.section__title {
    font-size: 28px;
    margin-bottom: 24px;
}

.section__title--large {
    font-size: 36px;
    margin-bottom: 36px;
}

.services {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 36px 20px;
}

.services__elem {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.services__pic {
    width: 36px;
}

.services__img {
    display: block;
}

.services__desc {
    width: calc(100% - 48px);
}

.services__title {
    margin-bottom: 6px;
}

.services__link {
    display: block;
    font-weight: 500;
    font-size: 18px;
    color: #0BB9C9;
}

.services__content > *:not(:last-child) {
    margin-bottom: 12px;
}


.text-content ul li {
    font-weight: 400;
    line-height: 120%; 
    position: relative;
    padding-left: 28px;
}

.text-content ul li::before {
    content: '';
    position: absolute;
    left: 3.33px;
    top: 3.33px;
    width: 9.33px;
    height: 9.33px;
    background: url(../img/icon-plus.svg) no-repeat;
    background-size: cover;
}

.text-content ul li:not(:last-child) {
    margin-bottom: 6px;
}


.text-content ol {
    margin-top: -6px;
}

.text-content ol li {
    font-weight: 400;
    font-size: 12px;
    line-height: 120%;
    position: relative;
    padding-left: 16px;
    color: #565C5C;
}

.text-content ol li::before {
    content: '';
    position: absolute;
    left: 7px;
    top: 7px;
    width: 2px;
    height: 2px;
    background: #565C5C;
    border-radius: 100%;
}

.text-content ol li:not(:last-child) {
    margin-bottom: 3px;
}




.section--pb-mini {
    padding-bottom: 24px;
}

.education {
    background: #fff;
    box-shadow: 0px 0px 12px 0px #0000001F;
    border-radius: 8px;
    padding: 36px 44px 36px 36px;
}

.education__inner {
    display: flex;
    gap: 12px;
}

.education__inner--bg {
    background: url(../img/bg-education.png) no-repeat;
    background-size: auto;
    background-position: left bottom;
}

.education__heading {
    width: 360px;
}

.section__title--nomb {
    margin-bottom: 0!important;
}

.education__desc {
    width: calc(100% - 372px);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
}

.education__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}

.education__subtitle {
    font-weight: 500;
    font-size: 20px;
    line-height: 120%;
}

.education__info > *:not(:last-child) {
    margin-bottom: 17px;
}

.education__bottom {
    background: #0093A0;
    border-radius: 8px;
    padding: 16px;
    color: #fff;
    font-weight: 700;
}

.education__bottom > *:not(:last-child) {
    margin-bottom: 17px;
}




.areas {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px 20px;
}

.areas__elem {
    background: #fff;
    box-shadow: 0px 0px 12px 0px #0000001F;
    border-radius: 8px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
}

.areas__link {
    display: block;
    font-weight: 500;
    font-size: 20px;
    line-height: 120%;
    color: #0093A0;
}

.areas__subtitle {
    font-weight: 700;
}

.areas__info {
    color: #565C5C;
}





.features {
    background: #0093A0;
    color: #fff;
    border-radius: 8px;
    padding: 36px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}

.features__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.features__elem {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding-right: 5%;
}

.features__pic {
    width: 32px;
}

.features__img {
    display: block;
}

.features__desc {
    width: calc(100% - 44px);
}

.features__title {
    font-weight: 700;
    margin-bottom: 6px;
}

.features__info {
    color: #D9F7F8;
}






.partners {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}

.partners__inner {
    width: 100%;
}

.partners__swiper {
    padding: 8px;
    margin: -8px;
}

.partners__elem {
    border-radius: 8px;
    box-shadow: 0px 0px 8px 0px #0000001F;
    background: #fff;
    overflow: hidden;
}

.partners__img {
    height: 100%;
    display: block;
    object-fit: contain;
    aspect-ratio: 1.3;
    max-width: 191px;
}

.swiper-slide {
    height: auto;
}






.section--contacts {
    padding-bottom: 36px;
}

.contacts {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.contacts__info {
    width: 396px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
}

.contacts-block {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 36px;
}

.contacts-block__heading {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}

.contacts-block__title {
    font-weight: 500;
    font-size: 18px;
    line-height: 120%;
    color: #0093A0;
}

.contacts-block__subtitle {
    font-weight: 700;
    font-size: 14px;
    line-height: 120%;
    color: #565C5C;
}

.contacts-block__list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}

.contacts-block__list-elem {
    display: flex;
    align-items: center;
    gap: 12px;
}


.contacts-block__list-icon {
    width: 24px;
    height: 24px;
}

.contacts-block__list-elem--phone .contacts-block__list-icon {
    background: url(../img/icon-phone.svg) no-repeat;
    background-size: auto;
    background-position: center;
}

.contacts-block__list-elem--email .contacts-block__list-icon {
    background: url(../img/icon-email.svg) no-repeat;
    background-size: auto;
    background-position: center;
}

.contacts-block__list-elem--website .contacts-block__list-icon {
    background: url(../img/icon-web.svg) no-repeat;
    background-size: auto;
    background-position: center;
}

.contacts-block__list-elem--map .contacts-block__list-icon {
    background: url(../img/icon-map.svg) no-repeat;
    background-size: auto;
    background-position: center;
}

.contacts-block__list-elem--phone .contacts-block__list-title {
    font-weight: 500;
    font-size: 18px;
    line-height: 120%;
}

.contacts-block__list-title {
    line-height: 1;
}

.contacts-block__list-elem--website  .contacts-block__list-title {
    font-weight: 700;
    color: #0093A0;
}

.contacts__map {
    width: calc(100% - 416px);
    border-radius: 8px;
    overflow: hidden;
    min-height: 508px;
    position: relative;
}

.contacts__map iframe {
    height: 100%;
    width: 100%;
    position: absolute;
    inset: 0;
}






.footer {
    margin-top: auto;
    box-shadow: 0px 0px 12px 0px #0000001F;
    padding: 27.5px 0;
}

.footer__wrapper {
    display: flex;
    gap: 16px;
}

.footer__left {
    width: calc(100% - 620px);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}

.footer__right {
    width: 604px;
    display: flex;
    justify-content: space-between;
    gap: 16px;
}

.footer__logo {
    max-width: 148px;
}

.footer__info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.footer__desc {
    line-height: 120%;
    color: #565C5C;
}

.footer__link {
    line-height: 120%;
    color: #0093A0;
    position: relative;
    padding-right: 16px;
    padding-top: 9.5px;
    padding-bottom: 9.5px;
}

.footer__link::before {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    width: 10px;
    height: 10px;
    transform: translateY(-50%);
    background: url(../img/icon-arrow2.svg) no-repeat;
    background-size: contain;
}

.footer__nav {
    width: calc(47% - 16px);
}

.footer__contacts {
    width: 53%;
    align-items: flex-end;
}

.footer__menu {
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
}

.contacts-block__list-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: flex-start;
}

.contacts-block__list-elem--phone-complex {
    align-items: flex-start;
}

.contacts-block__list-elem--phone-complex .contacts-block__list-title {
    font-size: 14px;
}

.contacts-block__list-subtitle {
    font-size: 12px;
    line-height: 120%;
    color: #9FA5A5;
}

.socials {
    display: flex;
    gap: 12px;
    align-items: center;
}

.footer__socials {
    padding-left: 36px;
}

.socials__elem {
    width: 24px;
    height: 24px;
}

.socials__elem svg {
    width: 100%;
    height: 100%;
    display: block;
}



.go-top {
	position: fixed;
	right: -35px;
	bottom: 134px;
	width: 36px;
	height: 36px;
	cursor: pointer;
	border-radius: 100%;
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
	opacity: 0;
	background: url(../img/icon-arrow.svg) no-repeat center;
	background-color: #0BB9C9;
    z-index: 2;
}

.go-top.show {
	right: 24px;
	opacity: 1;
	visibility: visible;
}





.mobile-menu {
    display: none;
    background: #fff;
    padding: 78px 17px 18px;
    position: absolute; 
    left: 0;
    top: 0;
    width: 305px;
    height: 100vh;
}

.fancybox-slide-left-in {
    animation: slideInLeft 0.3s ease forwards;
}

.fancybox-slide-left-out {
    animation: slideOutLeft 0.3s ease forwards;
}

@keyframes slideInLeft {
    from {
        transform: translateX(-100%);
        opacity: 0;
    }

    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes slideOutLeft {
    from {
        transform: translateX(0);
        opacity: 1;
    }

    to {
        transform: translateX(-100%);
        opacity: 0;
    }
}

.fancybox__backdrop {
    background: rgb(26 34 33 / 60%);
}

.fancybox__content>.f-button.is-close-btn,
.is-compact .fancybox__content>.f-button.is-close-btn {
    top: 18px;
    left: 17px;
    opacity: 1;
    background: none;
    width: 24px;
    height: 24px;
}

.f-button svg {
    color: #1A2221;
    width: 21px;
    height: 21px;
}

.mobile-menu__inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    height: 100%;
    gap: 20px;
    overflow: auto;
}

.mobile-menu__menu {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
}

.mobile-menu__menu .menu__link {
	font-size: 14px;
}

.mobile-menu__bottom-nav {
    padding-bottom: 16px;
    border-bottom: 1px solid #E4E6E6;
    width: 100%;
}

.mobile-menu__bottom {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}

.mobile-menu__bottom-menu {
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
}

  
  

.popup {
    display: none;
    padding: 0;
    max-width: 500px;
    width: 100%;
}

.popup__inner {
    padding: 36px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.popup__title {
    font-size: 28px;
    text-align: center;
}

.popup.fancybox__content>.f-button.is-close-btn, 
.popup.is-compact .fancybox__content>.f-button.is-close-btn {
    right: 17px;
    left: auto;
}




.section--breadcrumbs {
    padding: 16px 0;
}

.breadcrumbs {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.breadcrumbs__elem {
    display: flex;
    align-items: baseline;
    gap: 6px;
}

.breadcrumbs__link {
    font-size: 10px;
    line-height: 120%;
    color: #9FA5A5;
}

.breadcrumbs__separator {
    width: 6px;
    height: 6px;
    background: url(../img/icon-arrow2.svg) no-repeat;
    background-size: 4px;
    background-position: center;
}

.breadcrumbs__current {
    font-size: 10px;
    line-height: 120%;
}




.section--article {
    padding: 16px 0;
}

.article {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    flex-direction: column;
}

.article--columms {
    flex-direction: row;
}

.article__left {
    width: calc(100% - 500px);
    max-width: 604px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}

.article__right {
    width: 500px;
}

.article__title {
    font-weight: 500;
    font-size: 36px;
    line-height: 120%;
}

.article__title--short {
    max-width: 560px;
}

.article__content {
    color: #565C5C;
}

.article__content > *:not(:last-child) {
    margin-bottom: 24px;
}

.form--wrapper {
    box-shadow: 0px 0px 12px 0px #0000001F;
    background: #fff;
    border-radius: 8px;
    padding: 48px;
}

.form__inner {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.form__input {
	font-family: "Montserrat",sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 120%;
	border-radius: 4px;
	width: 100%;
	padding: 9px 12px;
    border: none;
    background: #fff;
    box-shadow: 0px 0px 4px 0px #E4E6E6;
    color: #1A2221;
}

.form__input::placeholder {
    font-family: "Montserrat", sans-serif;
    font-weight: 400;
	font-size: 14px;
	line-height: 120%;
    color: #565C5C;
}




.section--common {
    padding: 36px 0;
}

.services__elem--wide {
    grid-column: span 2;
}




.section--contact-us {
    padding: 16px 0;
}

.contact-us {
    display: flex;
    justify-content: space-between;
    gap: 16px;
}

.contact-us__left {
    width: calc(100% - 500px);
    max-width: 604px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 36px;
}

.contact-us__right {
    width: 500px;
}

.contact-us__heading {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}

.contact-us__title {
    font-size: 36px;
}

.contact-us__subtitle {
    font-weight: 700;
    color: #565C5C;
}

.contact-us__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 36px;
}

.contacts-block.contact-us__contacts-block {
    gap: 16px;
    align-items: flex-start;
}

.contact-us__contacts-block .contacts-block__list {
    gap: 12px;
}

.wpcf7-spinner {
	display: none;
}


.section--404 {
    padding: 100px 0;
    height: 100%;
}

.article--404 {
    text-align: center;
}


.banner__img {
	display: block;
}

.article--event {
	gap: 50px;
}

.article__heading {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.article__subtitle {
	color: #9FA5A5;
    font-weight: 500;
}

.details-list {
    float: right;
    width: 50%;
    background: #0bb9c917;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    max-width: 400px;
    width: 100%;
    margin: 0 0 15px 15px;
    box-shadow: 0px 0px 12px 0px #0000001F;
    border-radius: 8px;
}

.details-list__group {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.details-list__title {
	color: #9FA5A5;
	font-weight: 500;
}

.details-list__value {
    color: #0093A0;
    font-weight: 600;
}

.grid-block {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(310px, 1fr));
    gap: 24px 20px;
}

.grid-block__elem {
    background: #0093A0;
    padding: 30px;
    box-shadow: 0px 0px 12px 0px #0000001F;
    border-radius: 8px;
}

.grid-block__title {
	font-weight: 600;
	font-size: 16px;
	line-height: 120%;
	color: #fff;
}

.grid-block__title--center {
	text-align: center;
}

.infos-block {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
	background: #0bb9c917;
	padding: 20px;
    box-shadow: 0px 0px 12px 0px #0000001F;
    border-radius: 8px;
}

.infos-block__link {
	font-weight: 500;
	font-size: 18px;
	line-height: 120%;
	color: #0093A0;
}

.infos-block__info {
	font-weight: 500;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
}



@media (hover: hover) {
    .menu__link:hover {
        color: #0BB9C9;
    }

    .btn:hover {
        color: #0BB9C9;
        background: #fff;
    }
}