@charset "UTF-8";

html {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: 100%
}

blockquote,
body,
dd,
dl,
figcaption,
figure,
h1,
h2,
h3,
h4,
li,
ol,
p,
ul {
    margin: 0
}

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

img {
    max-width: 100%;
    height: auto;
    display: block
}

a[class] {
    -webkit-tap-highlight-color: transparent;
    text-decoration: none
}

button,
input,
select,
textarea {
    -webkit-tap-highlight-color: transparent;
    font: inherit;
    padding: 0;
    border: none;
    background: 0 0
}

button {
    cursor: pointer
}

body {
    margin: 0;
    min-height: 100vh;
    scroll-behavior: smooth;
    color: #054331;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.5;
    font-family: Montserrat, Arial, -apple-system, sans-serif;
    text-rendering: optimizeSpeed
}

body.locked,
body.locked-header {
    overflow: hidden
}

.js-focus-visible:focus:not(.focus-visible) {
    outline: 0
}

.lg-download {
    display: none
}

.lg-toolbar .lg-close {
    position: relative
}

.lg-toolbar .lg-close::after,
.lg-toolbar .lg-close::before {
    position: absolute;
    top: 50%;
    left: calc(50% - 16px);
    background-color: #fff;
    width: 32px;
    height: 1px;
    content: ""
}

.lg-toolbar .lg-close::after {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg)
}

.lg-toolbar .lg-close::before {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.lg-next::before {
    content: ">"
}

.lg-prev::after {
    content: "<"
}

.grecaptcha-badge {
    display: none
}

.text-block .title {
    margin-bottom: 32px
}

.text-block p {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 24px
}

.text-block p:last-child {
    margin-bottom: 0
}

.h1 {
    font-weight: 700;
    font-size: 64px;
    line-height: 112%
}

.h2 {
    font-weight: 700;
    font-size: 48px;
    line-height: 126%
}

.h3 {
    font-weight: 700;
    font-size: 32px;
    line-height: 124%
}

.h4 {
    font-weight: 700;
    font-size: 24px;
    line-height: 124%
}

.title {
    font-weight: 700;
    font-size: 48px;
    line-height: 126%
}

.p1 {
    font-weight: 400;
    font-size: 18px;
    line-height: 132%
}

.p1--bold {
    font-weight: 600
}

.p1--italic {
    font-style: italic
}

.p2 {
    font-weight: 400;
    font-size: 16px;
    line-height: 148%
}

.p2--bold {
    font-weight: 600
}

.p3 {
    font-weight: 400;
    font-size: 12px;
    line-height: 132%
}

.p3--bold {
    font-weight: 600
}

.date-number {
    font-style: italic;
    font-weight: 800;
    font-size: 180px;
    line-height: 100%
}

.hyperlink {
    -webkit-transition: color .15s linear;
    -o-transition: color .15s linear;
    transition: color .15s linear;
    background: -o-linear-gradient(183.93deg, #054331 0, #054331 49.48%, #389672 100%);
    background: linear-gradient(266.07deg, #054331 0, #054331 49.48%, #389672 100%);
    -webkit-background-clip: text
}

.container {
    margin: 0 auto;
    width: 1224px
}

.container--article {
    width: 728px
}

.container--padding-left {
    padding-left: 124px
}

.container--small {
    width: 975px
}

.tour-desc__container {
    margin: 0 auto;
    width: 1224px
}

.visually-hidden {
    position: absolute;
    margin: -1px;
    border: 0;
    padding: 0;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0)
}

.anchor {
    position: absolute;
    top: -100px;
    margin: -1px;
    border: 0;
    padding: 0;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0)
}

.main {
    overflow: hidden
}

.main__section {
    position: relative;
    background-color: #fff;
    padding: 72px 0
}

.main__section--padding-mini {
    padding: 0
}

.main__section--padding-off {
    padding: 0
}

.main__section--border-radius {
    position: relative;
    margin-top: -16px;
    border-radius: 16px 16px 0 0
}

.main__section--border-top {
    border-top: solid 1px rgba(5, 5, 5, .1)
}

.main__section--contacts {
    padding-bottom: 0
}

.main__section--bg {
    background-color: #f8f8f8
}

.error-page {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.error-page__img {
    margin-bottom: 48px
}

.error-page__title {
    margin-bottom: 16px;
    text-align: center
}

.error-page__text {
    text-align: center
}

.error-page__link {
    margin-top: 48px
}

.blog-error__text {
    margin-top: 48px
}

.accordion-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    counter-reset: accordions;
    width: 100%
}

.accordion {
    position: relative;
    -webkit-transition: border-color .15s linear, -webkit-box-shadow .15s linear;
    transition: border-color .15s linear, -webkit-box-shadow .15s linear;
    -o-transition: box-shadow .15s linear, border-color .15s linear;
    transition: box-shadow .15s linear, border-color .15s linear;
    transition: box-shadow .15s linear, border-color .15s linear, -webkit-box-shadow .15s linear;
    cursor: pointer;
    margin-top: 32px;
    border: 1px solid rgba(5, 5, 5, .1);
    border-radius: 32px;
    padding: 32px;
    width: 100%
}

.accordion:first-child {
    margin-top: 0
}

.accordion::after,
.accordion::before {
    display: none;
    position: absolute;
    right: -24px;
    left: -24px;
    background-color: rgba(5, 5, 5, .1);
    width: calc(100% + 48px);
    height: 1px;
    content: ""
}

.accordion::before {
    top: 0
}

.accordion::after {
    bottom: 0
}

.accordion.active .accordion__main-content {
    opacity: 1;
    margin-top: 12px;
    max-height: 10000px
}

.accordion.active .accordion__button {
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

.accordion__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    width: 100%
}

.accordion__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    width: 100%
}

.accordion__header::before {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    counter-increment: accordions;
    margin-top: 12px;
    content: counter(accordions, decimal-leading-zero);
    color: rgba(5, 5, 5, .1);
    font-weight: 700;
    font-size: 24px;
    line-height: 124%
}

.accordion__title {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin: 12px 32px 0;
    font-weight: 700;
    font-size: 24px;
    line-height: 124%;
    text-align: left
}

.accordion__button {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    -webkit-transition: -webkit-transform .15s linear;
    transition: -webkit-transform .15s linear;
    -o-transition: transform .15s linear;
    transition: transform .15s linear;
    transition: transform .15s linear, -webkit-transform .15s linear;
    pointer-events: none
}

.accordion__main-content {
    opacity: 0;
    -webkit-transition: opacity .15s linear, max-height .15s linear, margin-top .15s linear;
    -o-transition: opacity .15s linear, max-height .15s linear, margin-top .15s linear;
    transition: opacity .15s linear, max-height .15s linear, margin-top .15s linear;
    margin-top: 0;
    padding: 0 64px;
    max-width: 760px;
    max-height: 0;
    overflow: hidden;
    font-weight: 400;
    font-size: 16px;
    line-height: 148%
}

.accordion__main-content-item {
    margin-top: 16px;
    width: 100%
}

.accordion__main-content-item:first-child {
    margin-top: 0
}

.accordion__main-content-item ul {
    list-style: none
}

.accordion__main-content-item ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    padding-left: 24px
}

.accordion__main-content-item ul li::before {
    display: block;
    position: absolute;
    top: 9px;
    left: 12px;
    border-radius: 50%;
    background: -o-linear-gradient(183.93deg, #054331 0, #054331 49.48%, #389672 100%);
    background: linear-gradient(266.07deg, #054331 0, #054331 49.48%, #389672 100%);
    width: 3px;
    height: 3px;
    content: ""
}

.accordion__main-content-item h1,
.accordion__main-content-item h2,
.accordion__main-content-item h3,
.accordion__main-content-item h4,
.accordion__main-content-item p {
    margin: 0
}

.accordion__main-content-item h1 {
    font-weight: 700;
    font-size: 64px;
    line-height: 112%
}

.accordion__main-content-item h2 {
    font-weight: 700;
    font-size: 48px;
    line-height: 126%
}

.accordion__main-content-item h3 {
    font-weight: 700;
    font-size: 32px;
    line-height: 124%
}

.accordion__main-content-item h4 {
    font-weight: 700;
    font-size: 24px;
    line-height: 124%
}

.accordion__main-content-item p {
    font-weight: 400;
    font-size: 16px;
    line-height: 148%
}

.advantages__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
}

.advantages__main {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 64px 32px;
    counter-reset: section;
    margin: 64px 0 0
}

.advantages__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
}

.advantages__item::before {
    counter-increment: section;
    margin-right: 16px;
    content: counter(section, decimal-leading-zero);
    color: rgba(5, 5, 5, .1);
    font-weight: 700;
    font-size: 24px;
    line-height: 124%
}

.advantages__title {
    font-weight: 700;
    font-size: 32px;
    line-height: 124%
}

.advantages__text {
    margin-top: 16px;
    font-weight: 400;
    font-size: 16px;
    line-height: 148%
}

.advantages__button {
    margin-top: 96px
}

.article__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.article__block {
    margin-top: 64px
}

.article__block:first-child {
    margin-top: 0
}

.article__block h1,
.article__block h2,
.article__block h3,
.article__block h4,
.article__block p {
    margin: 0
}

.article__block h1 {
    font-weight: 700;
    font-size: 64px;
    line-height: 112%
}

.article__block h2 {
    font-weight: 700;
    font-size: 48px;
    line-height: 126%
}

.article__block h3 {
    font-weight: 700;
    font-size: 32px;
    line-height: 124%
}

.article__block h4 {
    font-weight: 700;
    font-size: 24px;
    line-height: 124%
}

.article__block p {
    margin-top: 16px;
    font-weight: 400;
    font-size: 16px;
    line-height: 148%
}

.article__date {
    margin-top: 12px;
    background: -o-linear-gradient(183.93deg, #054331 0, #054331 49.48%, #389672 100%);
    background: linear-gradient(266.07deg, #054331 0, #054331 49.48%, #389672 100%);
    -webkit-background-clip: text;
    color: transparent
}

.article__share {
    margin-top: 16px
}

.aside {
    position: relative;
    border: solid 1px rgba(5, 5, 5, .1);
    border-radius: 32px;
    overflow: hidden
}

.aside__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    counter-reset: aside;
    padding: 48px 34px;
    width: 100%
}

.aside__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-top: 32px;
    padding-left: 40px;
    width: 100%
}

.aside__item:first-child {
    margin-top: 0
}

.aside__item::before {
    position: absolute;
    top: 4px;
    left: 0;
    counter-increment: aside;
    content: counter(aside, decimal-leading-zero);
    color: rgba(5, 5, 5, .1);
    font-weight: 600;
    font-size: 16px;
    line-height: 148%
}

.aside__title {
    font-weight: 700;
    font-size: 24px;
    line-height: 124%
}

.aside__desc {
    margin-top: 4px;
    font-weight: 400;
    font-size: 16px;
    line-height: 148%
}

.aside__info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-top: 16px
}

.aside__info-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 12px;
    border-radius: 16px;
    background: #f8f8f8;
    padding: 16px;
    overflow: hidden;
    font-weight: 400;
    font-size: 16px;
    line-height: 148%
}

.aside__info-item:first-child {
    margin-top: 0
}

.aside__info-desc {
    margin-top: 2px;
    background: -o-linear-gradient(183.93deg, #054331 0, #054331 49.48%, #389672 100%);
    background: linear-gradient(266.07deg, #054331 0, #054331 49.48%, #389672 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-weight: 600
}

.banner {
    position: relative
}

.banner::before {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: .7;
    background: -webkit-gradient(linear, left bottom, left top, from(rgba(5, 5, 5, 0)), to(#054331));
    background: -o-linear-gradient(bottom, rgba(5, 5, 5, 0) 0, #054331 100%);
    background: linear-gradient(360deg, rgba(5, 5, 5, 0) 0, #054331 100%);
    content: ""
}

.banner__bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    pointer-events: none
}

.banner__bg img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center
}

.banner__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    padding: 148px 0;
    color: #fff
}

.banner__main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    z-index: 1;
    margin-bottom: 20px
}

.banner__icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-right: 32px
}

.banner__icon svg {
    fill: #fff;
    width: 108px;
    height: 108px
}

.banner__pre-title {
    font-weight: 700;
    font-size: 48px;
    line-height: 126%
}

.banner__title {
    max-width: 100%;
    font-weight: 700;
    font-size: 64px;
    line-height: 112%
}

.banner__sub-text {
    margin-top: 16px;
    max-width: 480px;
    font-weight: 400;
    font-size: 16px;
    line-height: 148%
}

.breadcrumbs {
    padding: 64px 0 32px
}

.breadcrumbs__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin: -16px -4px
}

.breadcrumbs__item {
    margin: 16px 4px 0;
    font-weight: 400;
    font-size: 16px;
    line-height: 148%
}

.breadcrumbs__item a {
    position: relative;
    -webkit-transition: color .15s linear;
    -o-transition: color .15s linear;
    transition: color .15s linear;
    background: -o-linear-gradient(183.93deg, #054331 0, #054331 49.48%, #389672 100%);
    background: linear-gradient(266.07deg, #054331 0, #054331 49.48%, #389672 100%);
    -webkit-background-clip: text;
    padding-right: 24px;
    color: #054331;
    text-decoration: none
}

.breadcrumbs__item a::after {
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    background-image: url(../img/sprite/arrow.svg);
    background-size: cover;
    width: 16px;
    height: 16px;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    content: ""
}

.breadcrumbs__item:last-child {
    pointer-events: none
}

.breadcrumbs__item:last-child a {
    background: 0 0;
    color: rgba(5, 5, 5, .25)
}

.breadcrumbs__item:last-child a::after {
    display: none
}

.breadcrumbs__item:last-child::before {
    display: none;
    margin-right: 8px;
    content: "..."
}

.button {
    position: relative;
    font-weight: 400;
    font-size: 18px;
    line-height: 132%
}

.button--prime {
    display: inline-block;
    border-radius: 36px;
    background: -o-linear-gradient(183.93deg, #054331 0, #054331 49.48%, #389672 100%);
    background: linear-gradient(266.07deg, #054331 0, #054331 49.48%, #389672 100%);
    overflow: hidden
}

.button--prime::before {
    display: block;
    position: absolute;
    inset: 0;
    opacity: 0;
    -webkit-transition: opacity .15s linear;
    -o-transition: opacity .15s linear;
    transition: opacity .15s linear;
    will-change: opacity;
    border-radius: 36px;
    background-color: #054331;
    content: ""
}

.button--prime .button__content {
    padding: 8px 8px 8px 42px;
    color: #fff;
    font-weight: 600;
    font-size: 18px;
    line-height: 132%;
    -webkit-column-gap: 18px;
    -moz-column-gap: 18px;
    column-gap: 18px
}

.button--prime-transparent {
    -webkit-transition: border-color .15s linear;
    -o-transition: border-color .15s linear;
    transition: border-color .15s linear;
    border: solid 1px rgba(255, 255, 255, .35);
    background: 0 0
}

.button--prime-transparent::before {
    display: none
}

.button--white {
    border-radius: 34px;
    background-color: #fff;
    padding: 14px 22px;
    font-weight: 600;
    font-size: 12px;
    line-height: 132%;
    text-align: center
}

.button--white span {
    -webkit-transition: color .15s linear;
    -o-transition: color .15s linear;
    transition: color .15s linear;
    background: -o-linear-gradient(183.93deg, #054331 0, #054331 49.48%, #389672 100%);
    background: linear-gradient(266.07deg, #054331 0, #054331 49.48%, #389672 100%);
    -webkit-background-clip: text;
    color: #054331
}

.button--white::before {
    position: absolute;
    inset: 0;
    opacity: 0;
    will-change: opacity;
    border-radius: 34px;
    background: -o-linear-gradient(183.93deg, #054331 0, #054331 49.48%, #389672 100%);
    background: linear-gradient(266.07deg, #054331 0, #054331 49.48%, #389672 100%);
    content: ""
}

.button--line::before {
    display: block;
    position: absolute;
    bottom: -7px;
    left: 0;
    -webkit-transition: width .15s ease;
    -o-transition: width .15s ease;
    transition: width .15s ease;
    background: -o-linear-gradient(183.93deg, #054331 0, #054331 49.48%, #389672 100%);
    background: linear-gradient(266.07deg, #054331 0, #054331 49.48%, #389672 100%);
    width: 0;
    height: 2px;
    content: ""
}

.button--line.active::before {
    background: #fff;
    width: 32px
}

.button__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    z-index: 1
}

.button__ellips {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 50%;
    background-color: #fff;
    padding: 16px
}

.button__ellips svg {
    fill: #054331;
    width: 16px;
    height: 16px
}

.button-icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-transition: border-color .15s linear;
    -o-transition: border-color .15s linear;
    transition: border-color .15s linear;
    border: solid 1px rgba(5, 5, 5, .1);
    border-radius: 50%;
    width: 48px;
    height: 48px;
    overflow: hidden
}

.button-icon span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.button-icon svg {
    fill: #054331;
    -webkit-transition: fill .15s linear;
    -o-transition: fill .15s linear;
    transition: fill .15s linear;
    width: 24px;
    height: 24px
}

.button-icon::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0;
    -webkit-transition: opacity .15s linear;
    -o-transition: opacity .15s linear;
    transition: opacity .15s linear;
    border-radius: 50%;
    background: -o-linear-gradient(183.93deg, #054331 0, #054331 49.48%, #389672 100%);
    background: linear-gradient(266.07deg, #054331 0, #054331 49.48%, #389672 100%);
    content: ""
}

.button-icon--white {
    border: 0;
    background: #fff
}

.button-icon--gradient {
    border: 0;
    background-color: #054331
}

.button-icon--gradient::before {
    opacity: 1
}

.button-icon--gradient svg {
    fill: #fff
}

.card-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
}

.card-box--big .card-box__box {
    grid-template-columns: repeat(2, 1fr)
}

.card-box__box {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: -webkit-min-content;
    grid-auto-rows: min-content;
    gap: 32px;
    margin-top: 64px
}

.card-box__button {
    margin-top: 64px
}

.card {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-transition: -webkit-box-shadow .15s linear;
    transition: -webkit-box-shadow .15s linear;
    -o-transition: box-shadow .15s linear;
    transition: box-shadow .15s linear;
    transition: box-shadow .15s linear, -webkit-box-shadow .15s linear;
    cursor: pointer;
    border-radius: 32px;
    width: 100%;
    max-width: 436px;
    height: 100%;
    overflow: hidden;
    color: #fff
}

.card::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(5, 5, 5, 0)), to(#054331));
    background: -o-linear-gradient(top, rgba(5, 5, 5, 0) 0, #054331 100%);
    background: linear-gradient(180deg, rgba(5, 5, 5, 0) 0, #054331 100%);
    content: ""
}

.card--ship .card__content {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.card--ship .card__top-content {
    margin-bottom: 10px
}

.card--ship .card__params {
    display: none
}

.card__bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none
}

.card__bg img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center
}

.card__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    z-index: 2;
    padding: 48px;
    width: 100%;
    min-height: 528px
}

.card__top-content {
    margin-bottom: 16px;
    width: calc(100% - 50px)
}

.card__date {
    font-weight: 400;
    font-size: 12px;
    line-height: 132%
}

.card__title {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    display: -webkit-box;
    margin-top: 8px;
    overflow: hidden;
    font-weight: 700;
    font-size: 24px;
    line-height: 124%;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis
}

.card__desc {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    margin-top: 8px;
    overflow: hidden;
    font-weight: 400;
    font-size: 16px;
    line-height: 148%;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis
}

.card__params {
    width: calc(100% - 60px)
}

.card__param__row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 8px
}

.card__param__row:first-child {
    margin-top: 0
}

.card__param__row span {
    font-weight: 400;
    font-size: 18px;
    line-height: 132%
}

.card__param__row span b {
    font-weight: 600
}

.card__param__row svg {
    fill: #fff;
    margin-right: 8px;
    width: 16px;
    height: 16px
}

.card__button-wrapper {
    position: absolute;
    right: 48px;
    bottom: 48px
}

.card__button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    border-radius: 50%;
    background-color: #fff;
    padding: 16px;
    overflow: hidden
}

.card__button::before {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0;
    -webkit-transition: opacity .15s linear;
    -o-transition: opacity .15s linear;
    transition: opacity .15s linear;
    border-radius: 50%;
    background: -o-linear-gradient(183.93deg, #054331 0, #054331 49.48%, #389672 100%);
    background: linear-gradient(266.07deg, #054331 0, #054331 49.48%, #389672 100%);
    content: ""
}

.card__button svg {
    fill: #054331;
    z-index: 1;
    width: 16px;
    height: 16px
}

.card-offer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-transition: -webkit-box-shadow .15s linear;
    transition: -webkit-box-shadow .15s linear;
    -o-transition: box-shadow .15s linear;
    transition: box-shadow .15s linear;
    transition: box-shadow .15s linear, -webkit-box-shadow .15s linear;
    border: 1px solid rgba(5, 5, 5, .1);
    border-radius: 32px;
    width: 100%;
    height: 100%;
    min-height: 432px;
    overflow: hidden
}

.card-offer__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.card-offer__image {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    border-radius: 0 32px 32px 0;
    padding: 48px;
    width: 480px;
    height: auto;
    overflow: hidden
}

.card-offer__image::before {
    display: block;
    position: absolute;
    inset: 0;
    z-index: 1;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(5, 5, 5, 0)), to(#054331));
    background: -o-linear-gradient(top, rgba(5, 5, 5, 0) 0, #054331 100%);
    background: linear-gradient(180deg, rgba(5, 5, 5, 0) 0, #054331 100%);
    content: ""
}

.card-offer__image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    pointer-events: none
}

.card-offer__image-desc {
    position: relative;
    z-index: 1
}

.card-offer__image-desc h3 {
    color: #fff;
    font-weight: 700;
    font-size: 32px;
    line-height: 124%
}

.card-offer__image-desc p {
    color: #fff;
    font-weight: 400;
    font-size: 16px;
    line-height: 148%
}

.card-offer__right-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 48px;
    color: #054331
}

.card-offer__desc {
    margin-bottom: 48px
}

.card-offer__desc-item {
    margin-top: 24px;
    word-break: break-all
}

.card-offer__desc-item:first-child {
    margin-top: 0
}

.card-offer__desc-item h4 {
    font-weight: 700;
    font-size: 24px;
    line-height: 124%
}

.card-offer__desc-item p {
    font-weight: 400;
    font-size: 16px;
    line-height: 148%
}

.card-offer__button-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: auto
}

.card-offer__button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    border-radius: 50%;
    background: -o-linear-gradient(183.93deg, #054331 0, #054331 49.48%, #389672 100%);
    background: linear-gradient(266.07deg, #054331 0, #054331 49.48%, #389672 100%);
    padding: 16px;
    overflow: hidden
}

.card-offer__button::before {
    display: block;
    position: absolute;
    inset: 0;
    opacity: 0;
    -webkit-transition: opacity .15s linear;
    -o-transition: opacity .15s linear;
    transition: opacity .15s linear;
    border-radius: 50%;
    background-color: #054331;
    content: ""
}

.card-offer__button svg {
    fill: #fff;
    position: relative;
    z-index: 1;
    width: 16px;
    height: 16px
}

.card-review {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-radius: 24px;
    background-color: #f8f8f8;
    padding: 72px 48px 48px;
    width: 100%
}

.card-review.stretch .card-review__text {
    display: inline;
    max-height: 1000px
}

.card-review__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
}

.card-review__image {
    position: absolute;
    top: 0;
    left: 48px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    border-radius: 50%;
    width: 96px;
    height: 96px;
    overflow: hidden
}

.card-review__image img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center
}

.card-review__name {
    font-weight: 700;
    font-size: 24px;
    line-height: 124%
}

.card-review__city {
    font-weight: 400;
    font-size: 16px;
    line-height: 148%
}

.card-review__text {
    display: -webkit-box;
    -webkit-transition: all ease-in-out .3s;
    -o-transition: all ease-in-out .3s;
    transition: all ease-in-out .3s;
    margin-top: 16px;
    max-height: 72px;
    overflow: hidden;
    font-weight: 400;
    font-size: 16px;
    line-height: 148%;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis
}

.card-review__show-button {
    cursor: pointer;
    margin-top: 24px
}

.card-review__show-button span {
    -webkit-transition: color .15s linear, border-color .15s linear;
    -o-transition: color .15s linear, border-color .15s linear;
    transition: color .15s linear, border-color .15s linear;
    border-bottom: solid 1px currentColor;
    color: #5ba8d3
}

.card-review__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 32px
}

.card-review__link span {
    -webkit-transition: color .15s linear;
    -o-transition: color .15s linear;
    transition: color .15s linear;
    background: -o-linear-gradient(183.93deg, #054331 0, #054331 49.48%, #389672 100%);
    background: linear-gradient(266.07deg, #054331 0, #054331 49.48%, #389672 100%);
    -webkit-background-clip: text;
    color: transparent;
    font-weight: 600;
    font-size: 12px;
    line-height: 132%
}

.card-review__link svg {
    position: relative;
    margin-right: 6px;
    width: 16px;
    height: 16px
}

.card-banner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    border-radius: 32px;
    width: 100%;
    height: 528px;
    overflow: hidden
}

.card-banner--not-link .card-banner__button {
    pointer-events: auto
}

.card-banner__bg {
    position: absolute;
    inset: 0;
    pointer-events: none
}

.card-banner__bg::before {
    position: absolute;
    inset: 0;
    z-index: 0;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(5, 5, 5, 0)), to(#054331));
    background: -o-linear-gradient(top, rgba(5, 5, 5, 0) 0, #054331 100%);
    background: linear-gradient(180deg, rgba(5, 5, 5, 0) 0, #054331 100%);
    content: ""
}

.card-banner__bg img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center
}

.card-banner__content-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    padding: 64px;
    width: 100%;
    height: 100%
}

.card-banner__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    z-index: 1;
    margin-right: 64px;
    color: #fff
}

.card-banner__date {
    margin-bottom: 8px;
    font-weight: 400;
    font-size: 16px;
    line-height: 148%
}

.card-banner__title {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    display: -webkit-box;
    overflow: hidden;
    font-weight: 700;
    font-size: 32px;
    line-height: 124%;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis
}

.card-banner__desc {
    margin-top: 16px;
    font-weight: 400;
    font-size: 16px;
    line-height: 148%
}

.card-banner__params {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    margin: 16px -8px 0
}

.card-banner__params-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 16px 8px 0
}

.card-banner__params-item--price {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
}

.card-banner__params-text {
    font-weight: 400;
    font-size: 18px;
    line-height: 132%
}

.card-banner__params-text b {
    font-weight: 600
}

.card-banner__params-icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-right: 8px
}

.card-banner__params-icon svg {
    fill: #fff;
    width: 16px;
    height: 16px
}

.card-banner__price-text {
    font-weight: 400;
    font-size: 18px;
    line-height: 132%
}

.card-banner__price-text--old {
    font-weight: 400;
    font-size: 12px;
    line-height: 132%;
    text-decoration: line-through
}

.card-banner__button {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    pointer-events: none
}

.card-hotel {
    position: relative;
    border-radius: 32px;
    padding: 48px;
    width: 356px;
    height: 432px;
    overflow: hidden
}

.card-hotel__cover {
    position: absolute;
    inset: 0;
    z-index: 0
}

.card-hotel__cover::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(5, 5, 5, 0)), to(#054331));
    background-image: -o-linear-gradient(top, rgba(5, 5, 5, 0) 0, #054331 100%);
    background-image: linear-gradient(180deg, rgba(5, 5, 5, 0) 0, #054331 100%);
    height: 256px;
    content: ""
}

.card-hotel__cover img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.card-hotel__link {
    position: absolute;
    inset: 0;
    z-index: 3
}

.card-hotel__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    z-index: 1;
    height: 100%
}

.card-hotel__button {
    position: relative;
    margin-bottom: 16px;
    border-radius: 50%;
    background-color: #fff;
    padding: 16px;
    width: 48px;
    height: 48px
}

.card-hotel__button svg {
    position: relative;
    z-index: 1;
    -webkit-transition: fill .15s linear;
    -o-transition: fill .15s linear;
    transition: fill .15s linear
}

.card-hotel__button::before {
    position: absolute;
    inset: 0;
    opacity: 0;
    -webkit-transition: opacity .15s linear;
    -o-transition: opacity .15s linear;
    transition: opacity .15s linear;
    border-radius: 50%;
    background-image: -o-linear-gradient(183.93deg, #054331 0, #054331 49.48%, #389672 100%);
    background-image: linear-gradient(266.07deg, #054331 0, #054331 49.48%, #389672 100%);
    content: ""
}

.card-hotel__title {
    color: #fff;
    font-weight: 700;
    font-size: 24px;
    line-height: 124%
}

.contacts-block__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.contacts-block__title {
    font-weight: 700;
    font-size: 48px;
    line-height: 126%
}

.contacts-block__main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin-top: 48px
}

.contacts-block__desc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin-top: -48px
}

.contacts-block__item {
    margin-top: 48px;
    margin-right: 64px;
    max-width: 289px
}

.contacts-block__item h4 {
    font-weight: 700;
    font-size: 24px;
    line-height: 124%
}

.contacts-block__item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-transition: color .15s linear;
    -o-transition: color .15s linear;
    transition: color .15s linear;
    margin-top: 8px;
    background: -o-linear-gradient(183.93deg, #054331 0, #054331 49.48%, #389672 100%);
    background: linear-gradient(266.07deg, #054331 0, #054331 49.48%, #389672 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: #054331;
    white-space: nowrap
}

.contacts-block__item p {
    margin-top: 8px
}

.contacts-block__socials {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 32px;
    border-radius: 64px;
    background: #f8f8f8;
    padding: 32px
}

.contacts-block__social-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.contacts-block__social-item svg {
    fill: #054331;
    -webkit-transition: fill .15s linear;
    -o-transition: fill .15s linear;
    transition: fill .15s linear;
    width: 32px;
    height: 32px
}

.custom-select {
    position: relative;
    width: 352px;
    min-width: 272px
}

.custom-select.active {
    z-index: 3
}

.custom-select.active .custom-select__options {
    opacity: 1;
    max-height: 1000px;
    pointer-events: auto
}

.custom-select.active .custom-select__current-text::after {
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

.custom-select.active .custom-select__current {
    border-color: #dfa158
}

.custom-select__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    width: 100%
}

.custom-select__current {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-transition: border-color .15s linear;
    -o-transition: border-color .15s linear;
    transition: border-color .15s linear;
    border: solid 1px rgba(5, 5, 5, .1);
    border-radius: 32px;
    padding: 20px;
    width: 100%
}

.custom-select__current-icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-right: 8px
}

.custom-select__current-icon span {
    display: inline-block;
    background-image: -o-linear-gradient(183.93deg, #054331 0, #054331 49.48%, #389672 100%);
    background-image: linear-gradient(266.07deg, #054331 0, #054331 49.48%, #389672 100%);
    width: 24px;
    height: 24px
}

.custom-select__current-text {
    position: relative;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    padding-right: 24px;
    overflow: hidden;
    pointer-events: none;
    font-weight: 400;
    font-size: 16px;
    line-height: 148%;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    white-space: nowrap
}

.custom-select__current-text::after {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    top: 3px;
    right: 0;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    -webkit-transition: -webkit-transform .15s linear;
    transition: -webkit-transform .15s linear;
    -o-transition: transform .15s linear;
    transition: transform .15s linear;
    transition: transform .15s linear, -webkit-transform .15s linear;
    background-image: url(../img/sprite/arrow.svg);
    background-position: center;
    background-size: cover;
    width: 16px;
    height: 16px;
    content: ""
}

.custom-select__options {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-transform: translateY(100%);
    -ms-transform: translateY(100%);
    transform: translateY(100%);
    opacity: 0;
    z-index: 1;
    -webkit-transition: opacity .3s ease-in-out, max-height .3s ease-in-out;
    -o-transition: opacity .3s ease-in-out, max-height .3s ease-in-out;
    transition: opacity .3s ease-in-out, max-height .3s ease-in-out;
    -webkit-box-shadow: 0 16px 32px rgba(137, 28, 84, .15);
    box-shadow: 0 16px 32px rgba(137, 28, 84, .15);
    border-radius: 24px;
    background-color: #f8f8f8;
    padding: 17px 24px;
    max-height: 0
}

.custom-select__item {
    margin-top: 16px;
    max-width: 100%;
    font-weight: 400;
    font-size: 16px;
    line-height: 148%
}

.custom-select__item:first-child {
    margin-top: 0
}

.custom-select__item.current {
    pointer-events: none
}

.custom-select__item input:checked+label {
    pointer-events: none;
    font-weight: 600
}

.custom-select__item label {
    -webkit-transition: color .15s linear;
    -o-transition: color .15s linear;
    transition: color .15s linear;
    cursor: pointer;
    background: -o-linear-gradient(183.93deg, #054331 0, #054331 49.48%, #389672 100%);
    background: linear-gradient(266.07deg, #054331 0, #054331 49.48%, #389672 100%);
    -webkit-background-clip: text
}

.documents__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
}

.documents__main {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 36px;
    margin-top: 48px;
    width: 100%
}

.documents__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border: solid 1px rgba(5, 5, 5, .05);
    border-radius: 32px;
    padding: 16px
}

.documents__icon {
    margin-right: 16px;
    border-radius: 30px;
    background-color: rgba(5, 5, 5, .05);
    padding: 24px
}

.documents__icon svg {
    fill: #dfa158;
    width: 72px;
    height: 72px
}

.documents__name {
    font-weight: 600;
    font-size: 16px;
    line-height: 148%
}

.documents__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 16px;
    color: #dfa158
}

.documents__link-icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 3px;
    margin-right: 4px
}

.documents__link-icon svg {
    fill: #dfa158;
    width: 16px;
    height: 16px
}

.dot {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    cursor: pointer;
    -webkit-box-shadow: 0 2px 8px rgba(53, 103, 132, .25);
    box-shadow: 0 2px 8px rgba(53, 103, 132, .25);
    border-radius: 50%;
    background: #fff;
    width: 24px;
    height: 24px
}

.dot--active .dot__inside {
    width: 12px;
    height: 12px;
    overflow: hidden
}

.dot--active .dot__inside::before {
    opacity: 1
}

.dot__inside {
    position: relative;
    -webkit-transform: matrix(-1, 0, 0, 1, 0, 0);
    -ms-transform: matrix(-1, 0, 0, 1, 0, 0);
    transform: matrix(-1, 0, 0, 1, 0, 0);
    -webkit-transition: width .15s linear, height .15s linear;
    -o-transition: width .15s linear, height .15s linear;
    transition: width .15s linear, height .15s linear;
    border-radius: 50%;
    background-color: #f8f8f8;
    width: 18px;
    height: 18px
}

.dot__inside::before {
    display: block;
    position: absolute;
    inset: 0;
    opacity: 0;
    -webkit-transition: opacity .15s linear;
    -o-transition: opacity .15s linear;
    transition: opacity .15s linear;
    background: -o-linear-gradient(183.93deg, #054331 0, #054331 49.48%, #389672 100%);
    background: linear-gradient(266.07deg, #054331 0, #054331 49.48%, #389672 100%);
    content: ""
}

.features {
    margin: 0 auto;
    border-radius: 40px;
    background-color: #054331;
    width: 100%;
    max-width: 1224px;
    overflow: hidden
}

.features__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding: 64px;
    color: #fff
}

.features__content::after,
.features__content::before {
    position: absolute;
    background-position: center;
    background-size: cover;
    pointer-events: none;
    content: ""
}

.features__content::before {
    top: -129px;
    left: -151px;
    background-image: url(../img/patterns/purple-mid.png);
    width: 775px;
    height: 466px
}

.features__content::after {
    right: -180px;
    bottom: -131px;
    background-image: url(../img/patterns/blue-mid.png);
    width: 600px;
    height: 492px
}

.features__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    z-index: 1;
    width: 100%
}

.features__title {
    font-weight: 700;
    font-size: 48px;
    line-height: 126%
}

.features__header-desc {
    max-width: 635px
}

.features__desc {
    margin-top: 24px;
    font-weight: 400;
    font-size: 16px;
    line-height: 148%
}

.features__logo {
    -ms-flex-negative: 0;
    flex-shrink: 0
}

.features__logo svg {
    fill: #fff;
    width: 289px;
    height: 184px
}

.features__feature-box {
    display: grid;
    position: relative;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    z-index: 1;
    margin-top: 48px;
    width: 100%
}

.features__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    border: solid 1px #fff;
    border-radius: 24px;
    padding: 24px
}

.features__item-title {
    font-weight: 600;
    font-size: 18px;
    line-height: 132%
}

.features__item-desc {
    margin-top: 8px;
    font-weight: 400;
    font-size: 16px;
    line-height: 148%
}

.filter {
    width: 100%
}

.filter__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    width: 100%
}

.filter__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%
}

.filter__title {
    font-weight: 700;
    font-size: 32px;
    line-height: 124%
}

.filter__menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin: 8px -12px 0;
    width: calc(100% + 24px)
}

.filter__menu .custom-select {
    margin: 16px 12px 0
}

.filter__box .card-box__box {
    margin-top: 48px
}

.filter__box--wide .card-box__box {
    grid-template-columns: repeat(2, 1fr)
}

.filter__box--wide .card {
    max-width: 100%
}

.filter__box--wide .card__content {
    padding-top: 138px
}

.filter__box--wide .card__top-content {
    width: calc(100% - 64px)
}

.filter__button {
    margin-top: 64px
}

.footer {
    position: relative;
    z-index: 5;
    margin-top: 96px;
    border-radius: 32px 32px 0 0;
    background-color: #054331;
    overflow: hidden
}

.footer::before {
    position: absolute;
    top: 70px;
    left: -265px;
    background-image: url(../img/patterns/purple-footer.png);
    background-size: cover;
    background-repeat: no-repeat;
    width: 845px;
    height: 642px;
    pointer-events: none;
    content: ""
}

.footer::after {
    position: absolute;
    right: -221px;
    bottom: -138px;
    background-image: url(../img/patterns/blue-footer.png);
    background-size: cover;
    background-repeat: no-repeat;
    width: 566px;
    height: 404px;
    pointer-events: none;
    content: ""
}

.footer__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding: 96px 0 82px
}

.footer__content .title {
    color: #fff
}

.footer__map {
    margin-top: 48px;
    border-radius: 32px;
    background-color: #fff;
    width: 100%;
    height: 388px;
    overflow: hidden
}

.footer__map iframe {
    border-radius: 32px
}

.footer__desc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin-top: 58px;
    padding-left: 124px;
    width: 100%;
    color: #fff
}

.footer__desc-item {
    font-weight: 400;
    font-size: 16px;
    line-height: 148%
}

.footer__desc-item a {
    -webkit-transition: color .15s linear;
    -o-transition: color .15s linear;
    transition: color .15s linear;
    background: -o-linear-gradient(183.93deg, #dfa158 0, #da9444 49.48%, #a0621c 100%);
    background: linear-gradient(266.07deg, #dfa158 0, #da9444 49.48%, #a0621c 100%);
    -webkit-background-clip: text;
    color: #fff;
    text-decoration: none
}

.footer__logo {
    margin-top: 7px;
    margin-right: 76px
}

.footer__logo svg {
    fill: #fff;
    width: 176px;
    height: 112px
}

.footer__logo img {
    width: 176px;
    height: 112px;
    -o-object-fit: contain;
    object-fit: contain
}

.footer__nav {
    margin-right: 105px
}

.footer__nav-list {
    margin: 24px 0 0
}

.footer__nav-link {
    margin-top: 16px
}

.footer__nav-link:first-child {
    margin-top: 0
}

.footer__title {
    font-weight: 700;
    font-size: 24px;
    line-height: 124%
}

.footer__contacts {
    margin-right: 45px;
    max-width: 328px
}

.footer__contacts-list {
    margin: 24px 0 0
}

.footer__contacts-item {
    margin-top: 24px;
    font-weight: 400;
    font-size: 16px;
    line-height: 148%
}

.footer__contacts-item:first-child {
    margin-top: 0
}

.footer__contacts-title {
    margin-bottom: 4px;
    font-weight: 600
}

.footer__socials-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    margin: 64px 0 0;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 24px;
    padding: 24px;
    list-style: none
}

.footer__socials-link a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.footer__socials-link svg {
    fill: #fff;
    -webkit-transition: fill .15s linear;
    -o-transition: fill .15s linear;
    transition: fill .15s linear;
    width: 24px;
    height: 24px
}

.footer__button-top {
    position: absolute;
    top: 5px;
    right: 0;
    z-index: 1;
    border-color: rgba(255, 255, 255, .35)
}

.footer__button-top svg {
    fill: #fff;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    width: 16px;
    height: 16px
}

.form {
    position: relative;
    margin: 0 auto;
    border: solid 1px rgba(5, 5, 5, .1);
    border-radius: 32px;
    padding: 64px;
    width: 100%;
    max-width: 1224px
}

.form.success .form__content {
    display: none
}

.form.success .form__success {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.form__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none
}

.form__bg img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center
}

.form__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
}

.form__title {
    margin-bottom: 48px;
    width: 100%
}

.form__inputs-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: -32px 0 0 -16px;
    width: calc(100% + 16px)
}

.form__input {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin: 32px 0 0 16px
}

.form__input--big {
    width: 100%
}

.form__input.error input,
.form__input.error textarea {
    border-color: #e14545
}

.form__input.error .form__error {
    opacity: 1;
    pointer-events: auto
}

.form__input.success input,
.form__input.success textarea {
    border-color: #3ca84d
}

.form__input input,
.form__input textarea {
    -webkit-transition: color .15s linear;
    -o-transition: color .15s linear;
    transition: color .15s linear;
    margin-top: 4px;
    outline: 0;
    border: solid 1px rgba(5, 5, 5, .25);
    border-radius: 32px;
    padding: 20px 32px;
    width: 100%;
    font-weight: 400;
    font-size: 18px;
    line-height: 132%
}

.form__input input::-webkit-input-placeholder,
.form__input textarea::-webkit-input-placeholder {
    color: rgba(5, 5, 5, .75)
}

.form__input input::-moz-placeholder,
.form__input textarea::-moz-placeholder {
    color: rgba(5, 5, 5, .75)
}

.form__input input:-ms-input-placeholder,
.form__input textarea:-ms-input-placeholder {
    color: rgba(5, 5, 5, .75)
}

.form__input input::-ms-input-placeholder,
.form__input textarea::-ms-input-placeholder {
    color: rgba(5, 5, 5, .75)
}

.form__input input::placeholder,
.form__input textarea::placeholder {
    color: rgba(5, 5, 5, .75)
}

.form__input textarea {
    resize: none
}

.form__input label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    font-weight: 600;
    font-size: 16px;
    line-height: 148%
}

.form__input input[type=tel] {
    background-image: url(../img/sprite/ru-lang.svg);
    background-position: left 32px center;
    background-repeat: no-repeat;
    padding-right: 24px;
    padding-left: 56px
}

.form__error {
    opacity: 0;
    -webkit-transition: opacity .15s linear;
    -o-transition: opacity .15s linear;
    transition: opacity .15s linear;
    margin-top: 4px;
    pointer-events: none;
    color: #e14545;
    font-weight: 400;
    font-size: 16px;
    line-height: 148%
}

.form__agree {
    margin-top: 24px;
    width: 100%;
    color: rgba(5, 5, 5, .75);
    font-weight: 400;
    font-size: 16px;
    line-height: 148%;
    text-align: center
}

.form__agree a {
    display: inline-block;
    -webkit-transition: color .15s linear;
    -o-transition: color .15s linear;
    transition: color .15s linear;
    background: -o-linear-gradient(183.93deg, #dfa158 0, #da9444 49.48%, #a0621c 100%);
    background: linear-gradient(266.07deg, #dfa158 0, #da9444 49.48%, #a0621c 100%);
    -webkit-background-clip: text;
    color: #dfa158;
    text-decoration: none
}

.form__submit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 16px;
    width: 100%
}

.form__success {
    display: none;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.form__success-title {
    font-weight: 700;
    font-size: 48px;
    line-height: 126%;
    text-align: center
}

.form__success-button {
    margin-top: 32px
}

.goals {
    width: 100%
}

.goals__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
}

.goals__main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin: -64px -132px 0;
    padding: 0 84px;
    width: calc(100% + 264px)
}

.goals__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin: 64px 132px 0;
    max-width: 356px
}

.goals__item-title {
    font-weight: 700;
    font-size: 32px;
    line-height: 124%
}

.goals__item-desc {
    position: relative;
    margin-top: 8px;
    font-style: italic;
    font-weight: 400;
    font-size: 18px;
    line-height: 132%
}

.goals__item-desc::after,
.goals__item-desc::before {
    position: absolute;
    background: url(../img/sprite/quote-gradient.svg);
    width: 24px;
    height: 24px;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    content: ""
}

.goals__item-desc::before {
    top: 0;
    left: -40px
}

.goals__item-desc::after {
    right: -40px;
    bottom: 0;
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg)
}

.goals__img {
    margin-top: 96px;
    border-radius: 16px;
    width: 100%;
    overflow: hidden
}

.goals__img img {
    width: 100%;
    height: auto;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center
}

.header {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 10;
    -webkit-transition: background-color .15s linear, -webkit-transform .15s linear;
    transition: background-color .15s linear, -webkit-transform .15s linear;
    -o-transition: background-color .15s linear, transform .15s linear;
    transition: background-color .15s linear, transform .15s linear;
    transition: background-color .15s linear, transform .15s linear, -webkit-transform .15s linear;
    border-radius: 0 0 16px 16px
}

.header--black {
    background-color: #054331
}

.header--black+.main {
    margin-top: 92px
}

.header--initial-black {
    background-color: #054331
}

.header.scrolled {
    background-color: #054331
}

.header.scrolled .header__content {
    padding: 16px 0
}

.header.hidden {
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    transform: translateY(-100%)
}

.header.active .header__burger-icon {
    display: none
}

.header.active .header__burger-icon--close {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.header.active .header__nav {
    opacity: 1;
    overflow-y: auto;
    pointer-events: auto
}

.header__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-transition: padding .15s linear;
    -o-transition: padding .15s linear;
    transition: padding .15s linear;
    padding: 32px 0 16px
}

.header__logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-right: 30px
}

.header__logo svg {
    fill: #fff;
    width: 132px;
    height: 84px
}

.header__logo img {
    width: 132px;
    height: 60px;
    -o-object-fit: contain;
    object-fit: contain
}

.header__nav {
    -webkit-transition: opacity .15s linear;
    -o-transition: opacity .15s linear;
    transition: opacity .15s linear;
    margin-right: 48px
}

.header__nav-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.header__nav-item {
    margin: -16px 16px -16px -16px;
    white-space: nowrap
}

.header__nav-item:last-child {
    margin-right: 0;
    margin-left: 14px
}

.header__nav-item a {
    padding: 16px;
    color: #fff;
    display: inline-block
}

.header__nav-item a::before {
    bottom: 7px;
    left: 16px
}

.header__nav-item--mobile {
    display: none
}

.header__phone {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin-right: 48px
}

.header__phone a {
    -webkit-transition: color .15s linear;
    -o-transition: color .15s linear;
    transition: color .15s linear;
    color: #fff;
    font-weight: 600;
    font-size: 18px;
    line-height: 132%;
    text-decoration: none
}

.header__phone button {
    -webkit-transition: color .15s linear;
    -o-transition: color .15s linear;
    transition: color .15s linear;
    color: #fff;
    font-weight: 400;
    font-size: 12px;
    line-height: 132%
}

.header__social-list {
    display: none;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-right: 178px
}

.header__social-item {
    margin-right: 32px
}

.header__social-item:last-child {
    margin-right: 0
}

.header__social-item svg {
    fill: #fff;
    width: 16px;
    height: 16px
}

.header__burger {
    display: none
}

.header__burger-icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.header__burger-icon svg {
    fill: #fff;
    width: 32px;
    height: 32px
}

.header__burger-icon--close {
    display: none
}

.hero-block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    background-color: #054331;
    padding: 148px 0 58px;
    width: 100%;
    height: 100vh;
    min-height: 700px;
    overflow: hidden
}

.hero-block::before {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background-image: url(../img/patterns/header.png);
    background-position: center;
    background-size: cover;
    width: 772px;
    height: 604px;
    pointer-events: none;
    content: ""
}

.hero-block .container,
.hero-block .tour-desc__container {
    position: relative
}

.hero-block__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    z-index: 1;
    height: 100%
}

.hero-block__desc-wrapper {
    margin-right: 60px;
    margin-left: 21px;
    width: 459px
}

.hero-block__desc-wrapper.active .hero-block__desc {
    display: none
}

.hero-block__desc-wrapper.active .hero-block__panel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.hero-block__desc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    color: #fff;
    text-align: right
}

.hero-block__title {
    margin-top: 16px;
    font-weight: 700;
    font-size: 64px;
    line-height: 112%
}

.hero-block__subtitle {
    margin-top: 16px;
    font-weight: 400;
    font-size: 18px;
    line-height: 132%
}

.hero-block__prime-button {
    display: none;
    margin-top: 16px
}

.hero-block__box-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%
}

.hero-block__box-header h4 {
    font-weight: 700;
    font-size: 24px;
    line-height: 124%
}

.hero-block__box-header .button-icon {
    width: 32px;
    height: 32px
}

.hero-block__box-header .button-icon svg {
    width: 16px;
    height: 16px
}

.hero-block__panel {
    display: none;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-transition: all ease-in-out .3s;
    -o-transition: all ease-in-out .3s;
    transition: all ease-in-out .3s
}

.hero-block__panel-item {
    display: none;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
}

.hero-block__panel-item.active {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.hero-block__panel-item .title {
    color: #fff
}

.hero-block__panel-block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin-top: 16px;
    border-radius: 32px;
    background: #fff;
    padding: 32px;
    overflow: hidden
}

.hero-block__panel-block .location-card {
    margin-top: 16px
}

.hero-block__panel-block .location-card:first-child {
    margin-top: 0
}

.hero-block__panel-block .os-theme-dark .os-scrollbar .os-scrollbar-handle {
    border-radius: 20px;
    background: -o-linear-gradient(269.93deg, #a72368 0, #9853d3 49.48%, #368dbe 100%);
    background: linear-gradient(180.07deg, #a72368 0, #9853d3 49.48%, #368dbe 100%)
}

.hero-block__panel-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 16px;
    padding-right: 20px;
    min-width: 290px;
    max-height: 340px
}

.hero-block__panel-box .os-scrollbar {
    border-radius: 20px;
    background: #eee;
    padding: 0;
    width: 4px
}

.hero-block__river {
    position: absolute;
    top: 48.9%;
    left: -6.3%;
    opacity: 0;
    -webkit-transition: opacity .15s linear;
    -o-transition: opacity .15s linear;
    transition: opacity .15s linear
}

.hero-block__river.active {
    opacity: 1
}

.hero-block__map {
    position: relative;
    margin-top: 44px;
    width: 436px;
    height: 512px
}

.hero-block__map-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%
}

.hero-block__dots-item {
    position: absolute;
    cursor: pointer
}

.hero-block__dots-item.active {
    display: none;
    pointer-events: none
}

.hero-block__dots-item--north {
    top: 4.6%;
    left: 115.5%
}

.hero-block__dots-item--east {
    top: 57.8%;
    left: 90%
}

.hero-block__dots-item--south {
    top: 94.5%;
    left: 45%
}

.hero-block__dots-item--west {
    top: 46.8%;
    left: 39.5%
}

.hero-block__dot-parent {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
}

.hero-block__dot-parent-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.hero-block__dot-parent-name {
    margin-top: 4px;
    color: #fff;
    font-weight: 600;
    font-size: 16px;
    line-height: 148%
}

.hero-block__weather {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    top: -2px;
    left: 28px;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    opacity: 0;
    -webkit-transition: opacity .15s linear;
    -o-transition: opacity .15s linear;
    transition: opacity .15s linear;
    border: solid 1px rgba(255, 255, 255, .35);
    border-radius: 16px;
    padding: 0 8px;
    white-space: nowrap
}

.hero-block__weather.inited {
    opacity: 1
}

.hero-block__weather span {
    color: #fff;
    font-weight: 600;
    font-size: 12px;
    line-height: 132%
}

.hero-block__weather-icon {
    margin-right: 4px;
    background-position: center;
    background-size: 100% auto;
    background-repeat: no-repeat;
    width: 24px;
    height: 24px
}

.hero-block__children {
    display: none;
    position: absolute;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    opacity: 0;
    -webkit-transition: color .15s linear, opacity .15s linear;
    -o-transition: color .15s linear, opacity .15s linear;
    transition: color .15s linear, opacity .15s linear;
    cursor: pointer;
    pointer-events: none;
    color: #fff;
    font-weight: 600;
    font-size: 12px;
    line-height: 132%
}

.hero-block__children.active {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    opacity: 1;
    pointer-events: auto
}

.hero-block__children--reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
}

.hero-block__children--reverse .hero-block__dot-children {
    margin: 0 0 0 4px
}

.hero-block__children--zama {
    top: 53.5%;
    right: 31.5%
}

.hero-block__children--tazheranskie-stepi {
    top: 66.3%;
    right: 22.5%
}

.hero-block__children--maloe-more {
    top: 57.5%;
    right: 23.2%
}

.hero-block__children--hujir {
    top: 60.5%;
    right: 28.7%
}

.hero-block__children--olhon {
    top: 62.5%;
    right: 45%
}

.hero-block__children--buhta-aya {
    top: 70.3%;
    right: 42%
}

.hero-block__children--buguldeyka {
    top: 74.9%;
    right: 41.2%
}

.hero-block__children--buhta-peschanaya {
    top: 79.1%;
    right: 67.5%
}

.hero-block__children--bolshoe-goloustnoe {
    top: 84%;
    right: 38.5%
}

.hero-block__children--bolshie-kotu {
    top: 86%;
    right: 74.5%
}

.hero-block__children--listvyanka {
    top: 91.5%;
    right: 69%
}

.hero-block__children--irkutsk {
    top: 75.5%;
    right: 94.5%
}

.hero-block__children--ust-orda {
    top: 66%;
    right: 65%
}

.hero-block__children--kbjd {
    top: 91.6%;
    right: 89.5%
}

.hero-block__children--hakus {
    top: 10%;
    right: -8%
}

.hero-block__children--guba-aya {
    top: 6.2%;
    right: -12%
}

.hero-block__children--froliha {
    top: 0;
    right: -27%
}

.hero-block__children--dzelinda {
    top: -4%;
    right: -14%
}

.hero-block__children--nizhneangarsk {
    top: -4.2%;
    right: 7.3%
}

.hero-block__children--severobaikalsk {
    top: -1%;
    right: 12%
}

.hero-block__children--goudzhekit {
    top: 5%;
    right: 20.3%
}

.hero-block__children--baikalskoe {
    top: 9.5%;
    right: 15.2%
}

.hero-block__children--mus-kot {
    top: 15%;
    right: 15%
}

.hero-block__children--blz {
    top: 20%;
    right: 27%
}

.hero-block__children--zavorotnaya {
    top: 37.2%;
    right: 24.6%
}

.hero-block__children--rutui {
    top: 40.5%;
    right: 28.5%
}

.hero-block__children--tanhoi {
    top: 92%;
    right: 64%
}

.hero-block__children--kultushnaya {
    top: 87.6%;
    right: 41.8%
}

.hero-block__children--enhaluk {
    top: 82%;
    right: 42%
}

.hero-block__children--gremyachinsk {
    top: 71%;
    right: 15.3%
}

.hero-block__children--gorychinsk {
    top: 67.5%;
    right: 25.3%
}

.hero-block__children--turka {
    top: 63.4%;
    right: 15.1%
}

.hero-block__children--maksimiha {
    top: 56.5%;
    right: 15%
}

.hero-block__children--ust-barguzin {
    top: 53.2%;
    right: 14.7%
}

.hero-block__children--barguzin {
    top: 50%;
    right: -27%
}

.hero-block__children--chiv-zaliv {
    top: 47%;
    right: -19%
}

.hero-block__children--dashva {
    top: 37.5%;
    right: -8.7%
}

.hero-block__children--shumak {
    top: 93%;
    right: 124%
}

.hero-block__children--mamai {
    top: 95.2%;
    right: 57.7%
}

.hero-block__children--baikalsk {
    top: 98.5%;
    right: 85.2%
}

.hero-block__children--sludyanka {
    top: 93.2%;
    right: 98.6%
}

.hero-block__children--arshan {
    top: 89.5%;
    right: 116.3%
}

.hero-block__children--zhemchug {
    top: 96.7%;
    right: 116.4%
}

.hero-block__children--barguzinskaya-dolina {
    top: 52.4%;
    right: -27.2%
}

.hero-block__children--chivyrkuyskiy-zaliv {
    top: 48.5%;
    right: -19.9%
}

.hero-block__children--ivolginsk {
    top: 90.7%;
    right: 2.3%
}

.hero-block__children--ulan-ude {
    top: 86.7%;
    right: -4.5%
}

.hero-block__children--enkhaluk {
    top: 82%;
    right: 42.6%
}

.hero-block__children--vydrino {
    top: 97.7%;
    right: 64%
}

.hero-block__children--baykalo-lenskiy-zapovednik {
    top: 20.2%;
    right: 30.2%
}

.hero-block__children--mys-kotelnikovskiy {
    top: 14%;
    right: 14.4%
}

.hero-block__children--ozero-frolikha {
    top: .3%;
    right: -27.7%
}

.hero-block__dot-children {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-right: 4px;
    border: solid 1px #ccccdf;
    border-radius: 50%;
    width: 12px;
    height: 12px
}

.hero-block__dot-children::before {
    -webkit-transition: width .15s linear, height .15s linear;
    -o-transition: width .15s linear, height .15s linear;
    transition: width .15s linear, height .15s linear;
    border-radius: 50%;
    background-color: #fff;
    width: 6px;
    height: 6px;
    content: ""
}

.hero-block__mobile-control {
    display: none
}

.hero-block__mobile-control-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.hero-block__mobile-control-header .button-icon {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    border-color: rgba(255, 255, 255, .35)
}

.hero-block__mobile-control-header .button-icon svg {
    fill: #fff;
    width: 16px;
    height: 16px
}

.hero-block__mobile-control-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.hero-block__mobile-control-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-bottom: solid 1px rgba(255, 255, 255, .35);
    padding: 16px 0
}

.hero-block__mobile-control-item:last-child {
    border-bottom: none;
    padding-bottom: 0
}

.hero-block__mobile-control-item-desc {
    max-width: 130px
}

.hero-block__mobile-control-item-title {
    font-weight: 600;
    font-size: 18px;
    line-height: 132%
}

.hero-block__mobile-control-item-subtitle {
    font-weight: 400;
    font-size: 12px;
    line-height: 132%
}

.location-card {
    width: 272px
}

.location-card.active .location-card__header {
    color: #fff
}

.location-card.active .button-icon {
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    transform: rotate(-180deg);
    background-color: transparent;
    pointer-events: auto
}

.location-card.active .button-icon::before {
    display: none
}

.location-card.active .button-icon svg {
    fill: #fff
}

.location-card.active .location-card__desc {
    max-height: 1000px;
    color: #fff
}

.location-card.active .location-card__content {
    border-color: transparent
}

.location-card.active .location-card__content::before {
    opacity: 1
}

.location-card__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-transition: max-height linear .2s, border-color linear .2s;
    -o-transition: max-height linear .2s, border-color linear .2s;
    transition: max-height linear .2s, border-color linear .2s;
    border: solid 1px rgba(5, 5, 5, .05);
    border-radius: 16px;
    padding: 12px 16px;
    width: 100%;
    overflow: hidden
}

.location-card__content::before {
    position: absolute;
    inset: 0;
    opacity: 0;
    -webkit-transition: opacity linear .2s;
    -o-transition: opacity linear .2s;
    transition: opacity linear .2s;
    background: -o-linear-gradient(183.93deg, #054331 0, #054331 49.48%, #389672 100%);
    background: linear-gradient(266.07deg, #054331 0, #054331 49.48%, #389672 100%);
    content: ""
}

.location-card__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    z-index: 1;
    width: 100%
}

.location-card__header p {
    width: calc(100% - 36px);
    font-weight: 600;
    font-size: 16px;
    line-height: 148%
}

.location-card__header .button-icon {
    width: 24px;
    height: 24px;
    pointer-events: none
}

.location-card__header .button-icon svg {
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    width: 16px;
    height: 16px
}

.location-card__desc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    z-index: 1;
    -webkit-transition: max-height ease-in-out .3s;
    -o-transition: max-height ease-in-out .3s;
    transition: max-height ease-in-out .3s;
    margin-top: 4px;
    max-height: 0;
    overflow: hidden
}

.location-card__desc p {
    width: calc(100% - 24px);
    color: #fff;
    font-weight: 400;
    font-size: 12px;
    line-height: 132%
}

.location-card__desc .button {
    margin-top: 30px;
    width: 100%
}

.popup__container {
    display: none;
    position: fixed;
    inset: 0;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    opacity: 0;
    z-index: -1;
    -webkit-transition: opacity .15s linear;
    -o-transition: opacity .15s linear;
    transition: opacity .15s linear;
    background-color: rgba(5, 5, 5, .9);
    padding: 24px;
    overflow-y: scroll;
    pointer-events: none
}

.popup__container.opened {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    opacity: 1;
    z-index: 50;
    pointer-events: auto
}

.popup__content {
    margin: auto;
    width: 100%
}

.popup__content .form {
    background-color: #fff
}

.popup__content .form__submit {
    margin-top: 20px
}

.popup__content-container {
    position: relative;
    margin: 0 auto;
    width: 100%;
    max-width: 1224px
}

.popup__close {
    position: absolute;
    top: 0;
    right: 64px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 1;
    -webkit-transition: background-color .15s linear;
    -o-transition: background-color .15s linear;
    transition: background-color .15s linear;
    cursor: pointer;
    -webkit-box-shadow: 0 4px 16px rgba(225, 69, 69, .5);
    box-shadow: 0 4px 16px rgba(225, 69, 69, .5);
    border-radius: 50%;
    background-color: #dfa158;
    padding: 12px
}

.popup__close span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.popup__close span svg {
    fill: #fff;
    -webkit-transition: fill .15s linear;
    -o-transition: fill .15s linear;
    transition: fill .15s linear;
    width: 24px;
    height: 24px
}

.program-block__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.program-block__main {
    margin-top: 64px
}

.answers .accordion-wrapper {
    margin-top: 64px
}

.program-block-simple {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.program-block-simple__title {
    margin-bottom: 48px
}

.program-block-simple__main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 32px
}

.program-block-simple__day {
    padding-bottom: 32px;
    border-bottom: 1px solid rgba(5, 5, 5, .1)
}

.program-block-simple__day:last-child {
    border-bottom: none;
    padding-bottom: 0
}

.program-block-simple__day h3 {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 16px
}

.program-block-simple__day p {
    font-size: 16px;
    line-height: 1.6;
    margin-top: 12px
}

.program-block-simple__day p:first-of-type {
    margin-top: 0
}

.program-block-simple__day b {
    font-weight: 600
}

.program-card {
    position: relative;
    margin-top: 32px
}

.program-card:first-child {
    margin-top: 0
}

.program-card.active .program-card__main {
    margin: 48px;
    max-height: 100000px
}

.program-card.active .program-card__button {
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

.program-card__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.program-card__card {
    -webkit-box-shadow: 0 16px 32px rgba(137, 28, 84, .15);
    box-shadow: 0 16px 32px rgba(137, 28, 84, .15);
    border: solid 1px rgba(5, 5, 5, .25);
    border-radius: 32px;
    width: 100%;
    overflow: hidden
}

.program-card__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    cursor: pointer;
    border-radius: 0 0 32px 32px;
    background-color: #f8f8f8;
    padding: 48px 58px 48px 48px;
    min-height: 164px;
    overflow: hidden
}

.program-card__bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 50%;
    pointer-events: none
}

.program-card__bg-wrapper {
    position: relative;
    width: 100%;
    height: 100%
}

.program-card__bg-wrapper::before {
    position: absolute;
    inset: 0;
    background: -webkit-gradient(linear, left top, right top, from(#f8f8f8), to(rgba(248, 248, 248, 0)));
    background: -o-linear-gradient(left, #f8f8f8 0, rgba(248, 248, 248, 0) 100%);
    background: linear-gradient(90deg, #f8f8f8 0, rgba(248, 248, 248, 0) 100%);
    background-size: cover;
    width: 100%;
    height: 100%;
    content: ""
}

.program-card__bg-wrapper img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center
}

.program-card__day {
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    transform: rotate(-180deg);
    margin-right: 24px;
    max-height: 164px;
    color: rgba(5, 5, 5, .25);
    font-weight: 600;
    font-size: 16px;
    line-height: 148%;
    -webkit-writing-mode: vertical-lr;
    -ms-writing-mode: tb-lr;
    writing-mode: vertical-lr;
    text-align: center
}

.program-card__card-desc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    z-index: 1;
    max-width: 70%
}

.program-card__card-title {
    font-weight: 700;
    font-size: 24px;
    line-height: 124%
}

.program-card__card-subtitle {
    margin-top: 4px;
    font-weight: 400;
    font-size: 16px;
    line-height: 148%
}

.program-card__button {
    position: relative;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    z-index: 1;
    -webkit-transition: -webkit-transform .15s linear;
    transition: -webkit-transform .15s linear;
    -o-transition: transform .15s linear;
    transition: transform .15s linear;
    transition: transform .15s linear, -webkit-transform .15s linear;
    border: 0;
    pointer-events: none
}

.program-card__main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    margin: 0 48px;
    max-height: 0;
    overflow: hidden
}

.program-card__main-item {
    margin-top: 64px;
    max-width: 632px;
    font-weight: 400;
    font-size: 16px;
    line-height: 148%
}

.program-card__main-item:first-child {
    margin-top: 0
}

.program-card__main-item--big {
    max-width: 100%
}

.program-card__main-item ul {
    list-style: none
}

.program-card__main-item ul li {
    position: relative;
    padding-left: 24px
}

.program-card__main-item ul li::before {
    display: block;
    position: absolute;
    top: 9px;
    left: 12px;
    border-radius: 50%;
    background: -o-linear-gradient(183.93deg, #054331 0, #054331 49.48%, #389672 100%);
    background: linear-gradient(266.07deg, #054331 0, #054331 49.48%, #389672 100%);
    width: 3px;
    height: 3px;
    content: ""
}

.program-card__main-item h1,
.program-card__main-item h2,
.program-card__main-item h3,
.program-card__main-item h4,
.program-card__main-item p {
    margin: 0
}

.program-card__main-item h1 {
    font-weight: 700;
    font-size: 64px;
    line-height: 112%
}

.program-card__main-item h2 {
    font-weight: 700;
    font-size: 48px;
    line-height: 126%
}

.program-card__main-item h3 {
    font-weight: 700;
    font-size: 32px;
    line-height: 124%
}

.program-card__main-item h4 {
    margin-bottom: 16px;
    font-weight: 700;
    font-size: 24px;
    line-height: 124%
}

.program-card__main-item p {
    font-weight: 400;
    font-size: 16px;
    line-height: 148%
}

.quote {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-radius: 32px;
    background-color: #fff;
    padding: 52px 110px
}

.quote span {
    position: relative;
    font-style: italic;
    font-weight: 400;
    font-size: 18px;
    line-height: 132%
}

.quote span::after,
.quote span::before {
    position: absolute;
    background: url(../img/sprite/quote-gradient.svg);
    width: 24px;
    height: 24px;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    content: ""
}

.quote span::before {
    top: 0;
    left: -40px
}

.quote span::after {
    right: -40px;
    bottom: 0;
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg)
}

.roads-block__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.roads-block__main {
    margin-top: 64px
}

.roads-block__dots {
    margin-bottom: 64px;
    overflow: visible
}

.roads-block__dots::before {
    position: absolute;
    top: 12px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: rgba(5, 5, 5, .1);
    width: 100vw;
    height: 1px;
    content: ""
}

.roads-block__dot-slide {
    width: auto;
    min-width: 108px;
    color: #054331
}

.roads-block__dots-line {
    position: absolute;
    top: 12px;
    left: 0;
    background-image: -o-linear-gradient(183.93deg, #054331 0, #054331 49.48%, #389672 100%);
    background-image: linear-gradient(266.07deg, #054331 0, #054331 49.48%, #389672 100%);
    height: 1px
}

.roads-block__dot {
    position: relative;
    z-index: 1;
    -webkit-filter: drop-shadow(0 2px 8px rgba(53, 103, 132, .25));
    filter: drop-shadow(0 2px 8px rgba(53, 103, 132, .25));
    margin-bottom: 16px;
    border-radius: 50%;
    background-color: #fff;
    width: 24px;
    height: 24px
}

.roads-block__dot::before {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: -2;
    -webkit-transition: width .15s linear, height .15s linear;
    -o-transition: width .15s linear, height .15s linear;
    transition: width .15s linear, height .15s linear;
    -webkit-box-shadow: inset 0 2px 8px rgba(53, 103, 132, .25);
    box-shadow: inset 0 2px 8px rgba(53, 103, 132, .25);
    border-radius: 50%;
    background-color: #fff;
    width: 18px;
    height: 18px;
    content: ""
}

.roads-block__dot::after {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    opacity: 0;
    -webkit-transition: opacity .15s linear;
    -o-transition: opacity .15s linear;
    transition: opacity .15s linear;
    -webkit-box-shadow: 0 2px 8px rgba(53, 103, 132, .25);
    box-shadow: 0 2px 8px rgba(53, 103, 132, .25);
    border-radius: 50%;
    background-image: -o-linear-gradient(183.93deg, #054331 0, #054331 49.48%, #389672 100%);
    background-image: linear-gradient(266.07deg, #054331 0, #054331 49.48%, #389672 100%);
    width: 12px;
    height: 12px;
    content: ""
}

.roads-block__title {
    font-weight: 600;
    font-size: 16px;
    line-height: 148%
}

.roads-block__map {
    display: block;
    width: 680px
}

.roads-block__map img {
    width: 100%;
    height: auto
}

.select-region__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.select-region__main {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 96px 78px;
    margin-top: 64px
}

.select-region__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-transition: opacity .15s linear;
    -o-transition: opacity .15s linear;
    transition: opacity .15s linear
}

.select-region__item-image {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 32px;
    background-color: #f8f8f8
}

.select-region__item-image img {
    height: 280px
}

.select-region__item-image svg {
    fill: #054331;
    width: 292px;
    height: 216px
}

.select-region__item-desc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-transition: opacity .15s linear;
    -o-transition: opacity .15s linear;
    transition: opacity .15s linear;
    margin-top: 32px;
    color: #054331
}

.select-region__item-title {
    font-weight: 700;
    font-size: 24px;
    line-height: 124%
}

.select-region__item-text {
    margin-top: 8px;
    font-weight: 400;
    font-size: 16px;
    line-height: 148%
}

.share {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    overflow: hidden
}

.share__content {
    display: grid;
    grid-auto-flow: column;
    gap: 32px;
    border-radius: 64px;
    padding: 16px 0
}

.share__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.share__link svg {
    fill: #054331;
    -webkit-transition: fill .15s linear;
    -o-transition: fill .15s linear;
    transition: fill .15s linear;
    width: 32px;
    height: 32px
}

.slider {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%
}

.slider--card-offer .slider__slide {
    width: 852px
}

.slider--card-hotel .slider__slide {
    width: auto
}

.slider--card-review .slider__container {
    margin-top: 112px
}

.slider--card-review .slider__slide {
    width: 480px
}

.slider--card-review .slider__nav {
    top: -112px
}

.slider__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    width: 100%
}

.slider__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    width: 100%
}

.slider__header .title {
    width: calc(100% - 132px)
}

.slider__header .switchers {
    margin-top: 32px
}

.slider__container {
    position: relative;
    margin-top: 48px;
    width: 100%;
    overflow: visible
}

.slider__slide {
    width: 436px
}

.slider__slide.hide {
    display: none
}

.slider__nav {
    display: grid;
    position: absolute;
    top: -52px;
    right: 0;
    grid-auto-flow: column;
    -webkit-column-gap: 24px;
    -moz-column-gap: 24px;
    column-gap: 24px;
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    transform: translateY(-100%)
}

.slider__nav .swiper-button-prev svg {
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    transform: rotate(-180deg)
}

.slider__nav .swiper-button-disabled {
    pointer-events: none
}

.slider__nav .swiper-button-disabled span {
    opacity: .05
}

.slider__prime-button {
    margin-top: 48px
}

.banner-slider__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.banner-slider__slider {
    margin-top: 48px
}

.banner-slider__slider-container {
    overflow: visible
}

.banner-slider__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    top: -54px;
    right: 0;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    transform: translateY(-100%)
}

.banner-slider__nav .swiper-button-prev svg {
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    transform: rotate(-180deg)
}

.banner-slider__nav .swiper-pagination {
    padding: 0 24px
}

.gallery-slider__container {
    margin-top: 32px;
    overflow: visible
}

.gallery-slider__slide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border: solid 1px #f8f8f8;
    border-radius: 16px;
    width: 297px;
    height: 168px;
    overflow: hidden
}

.gallery-slider__slide img {
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center
}

.gallery-slider__title {
    font-weight: 700;
    font-size: 24px;
    line-height: 124%
}

.gallery-slider__zoom {
    position: absolute;
    inset: 0;
    cursor: pointer
}

.gallery-slider__zoom::before {
    position: absolute;
    inset: 0;
    opacity: 0;
    -webkit-transition: opacity .15s linear;
    -o-transition: opacity .15s linear;
    transition: opacity .15s linear;
    border-radius: 16px;
    background: -o-linear-gradient(183.93deg, #054331 0, #054331 49.48%, #389672 100%);
    background: linear-gradient(266.07deg, #054331 0, #054331 49.48%, #389672 100%);
    pointer-events: none;
    content: ""
}

.gallery-slider__zoom svg {
    fill: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    opacity: 0;
    -webkit-transition: opacity .15s linear;
    -o-transition: opacity .15s linear;
    transition: opacity .15s linear;
    width: 32px;
    height: 32px
}

.gallery-slider__nav {
    display: grid;
    position: absolute;
    top: -32px;
    right: 0;
    grid-auto-flow: column;
    -webkit-column-gap: 24px;
    -moz-column-gap: 24px;
    column-gap: 24px;
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    transform: translateY(-100%)
}

.gallery-slider__nav .swiper-button-prev svg {
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    transform: rotate(-180deg)
}

.gallery-slider__nav .swiper-button-disabled {
    pointer-events: none
}

.gallery-slider__nav .swiper-button-disabled span {
    opacity: .05
}

.history-slider__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
}

.history-slider__container {
    margin-top: 64px;
    width: 100%;
    overflow: visible
}

.history-slider__container::before {
    position: absolute;
    top: 256px;
    left: -500%;
    background: rgba(5, 5, 5, .1);
    width: calc(100% + 10000px);
    height: 1px;
    content: ""
}

.history-slider__item {
    position: relative;
    padding: 244px 0 0 124px
}

.history-slider__item-image {
    position: absolute;
    top: 30px;
    left: 14px;
    -webkit-transform: rotate(-15deg);
    -ms-transform: rotate(-15deg);
    transform: rotate(-15deg);
    border-radius: 32px;
    width: 233px;
    height: 156px;
    overflow: hidden
}

.history-slider__item-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center
}

.history-slider__item-year {
    position: absolute;
    top: 166px;
    left: 0;
    -webkit-transform: translateX(-22%);
    -ms-transform: translateX(-22%);
    transform: translateX(-22%);
    opacity: .3;
    z-index: -1;
    background: -o-linear-gradient(183.93deg, #054331 0, #054331 49.48%, #389672 100%);
    background: linear-gradient(266.07deg, #054331 0, #054331 49.48%, #389672 100%);
    -webkit-background-clip: text;
    pointer-events: none;
    color: transparent;
    font-style: italic;
    font-weight: 800;
    font-size: 180px;
    line-height: 100%
}

.history-slider__item-desc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    z-index: 1;
    padding-top: 42px;
    max-width: 435px
}

.history-slider__item-title {
    font-weight: 700;
    font-size: 32px;
    line-height: 124%
}

.history-slider__item-text {
    margin-top: 16px;
    font-weight: 400;
    font-size: 16px;
    line-height: 148%
}

.history-slider__nav {
    display: grid;
    position: absolute;
    top: -65px;
    right: 0;
    grid-auto-flow: column;
    -webkit-column-gap: 24px;
    -moz-column-gap: 24px;
    column-gap: 24px;
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    transform: translateY(-100%)
}

.history-slider__nav .swiper-button-prev svg {
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    transform: rotate(-180deg)
}

.history-slider__nav .swiper-button-disabled {
    pointer-events: none
}

.history-slider__nav .swiper-button-disabled span {
    opacity: .05
}

.team-slider__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.team-slider__container {
    margin-top: 64px;
    width: 100%;
    min-height: 472px;
    overflow: visible
}

.team-slider__slide:nth-child(2n) {
    -webkit-transform: translateY(123%);
    -ms-transform: translateY(123%);
    transform: translateY(123%)
}

.team-slider__slide--translated {
    -webkit-transform: translateX(43%);
    -ms-transform: translateX(43%);
    transform: translateX(43%)
}

.team-slider__slide--translated .team-slider__item {
    margin-top: 70px
}

.team-slider__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 24px 0 24px 24px;
    width: 472px
}

.team-slider__item.active {
    z-index: 3
}

.team-slider__item.active .team-slider__item-header {
    -webkit-box-shadow: 0 -36px 96px rgba(53, 103, 132, .15);
    box-shadow: 0 -36px 96px rgba(53, 103, 132, .15)
}

.team-slider__item.active .team-slider__item-desc {
    -webkit-transform: translateY(calc(100% - 53px));
    -ms-transform: translateY(calc(100% - 53px));
    transform: translateY(calc(100% - 53px));
    opacity: 1;
    -webkit-box-shadow: 0 100px 153px rgba(53, 103, 132, .15);
    box-shadow: 0 100px 153px rgba(53, 103, 132, .15);
    padding: 86px 32px 16px;
    max-height: 1000px
}

.team-slider__item.active .team-slider__item-button {
    display: none
}

.team-slider__item.active .team-slider__item-button--close {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.team-slider__item-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    z-index: 1;
    border: 1px solid rgba(5, 5, 5, .05);
    border-radius: 32px;
    background-color: #fff;
    padding: 30px 32px 30px 212px;
    width: 100%;
    min-height: 156px;
    overflow: hidden
}

.team-slider__item-image {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    border-radius: 32px;
    width: 204px;
    height: 204px;
    overflow: hidden
}

.team-slider__item-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center
}

.team-slider__item-name {
    font-weight: 700;
    font-size: 24px;
    line-height: 124%
}

.team-slider__item-button {
    -webkit-transition: color .15s linear;
    -o-transition: color .15s linear;
    transition: color .15s linear;
    cursor: pointer;
    margin-top: 8px;
    background: -o-linear-gradient(183.93deg, #054331 0, #054331 49.48%, #389672 100%);
    background: linear-gradient(266.07deg, #054331 0, #054331 49.48%, #389672 100%);
    -webkit-background-clip: text;
    color: transparent;
    font-weight: 400;
    font-size: 16px;
    line-height: 148%
}

.team-slider__item-button--close {
    display: none
}

.team-slider__item-desc {
    position: absolute;
    right: 0;
    bottom: 0;
    opacity: 0;
    -webkit-transition: all .15s linear;
    -o-transition: all .15s linear;
    transition: all .15s linear;
    border: solid 1px rgba(5, 5, 5, .05);
    border-radius: 0 0 32px 32px;
    background-color: #fff;
    padding: 0 32px 16px;
    width: calc(100% - 24px);
    max-height: 0;
    overflow: hidden;
    font-weight: 400;
    font-size: 16px;
    line-height: 148%
}

.team-slider__word {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    color: rgba(5, 5, 5, .05);
    font-style: italic;
    font-weight: 800;
    font-size: 180px;
    line-height: 100%
}

.team-slider__nav {
    display: grid;
    position: absolute;
    top: -66px;
    right: 0;
    grid-auto-flow: column;
    -webkit-column-gap: 24px;
    -moz-column-gap: 24px;
    column-gap: 24px;
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    transform: translateY(-100%)
}

.team-slider__nav .swiper-button-prev svg {
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    transform: rotate(-180deg)
}

.team-slider__nav .swiper-button-disabled {
    pointer-events: none
}

.team-slider__nav .swiper-button-disabled span {
    opacity: .05
}

.sort {
    position: relative
}

.sort.active {
    z-index: 1
}

.sort.active .sort__list {
    opacity: 1;
    max-height: 1000px;
    pointer-events: auto
}

.sort__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
}

.sort__current-text {
    -webkit-transition: color .15s linear;
    -o-transition: color .15s linear;
    transition: color .15s linear;
    cursor: pointer;
    background: -o-linear-gradient(183.93deg, #054331 0, #054331 49.48%, #389672 100%);
    background: linear-gradient(266.07deg, #054331 0, #054331 49.48%, #389672 100%);
    -webkit-background-clip: text;
    font-weight: 600;
    font-size: 16px;
    line-height: 148%
}

.sort__current-text span {
    font-weight: 400
}

.sort__current-text svg {
    -webkit-transition: fill .15s linear;
    -o-transition: fill .15s linear;
    transition: fill .15s linear;
    margin-bottom: -4px;
    margin-left: 4px
}

.sort__list {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    -webkit-transform: translateY(100%);
    -ms-transform: translateY(100%);
    transform: translateY(100%);
    opacity: 0;
    -webkit-transition: max-height .3s ease-in-out, opacity .3s ease-in-out;
    -o-transition: max-height .3s ease-in-out, opacity .3s ease-in-out;
    transition: max-height .3s ease-in-out, opacity .3s ease-in-out;
    margin: 8px 0 0;
    -webkit-box-shadow: 0 16px 32px rgba(137, 28, 84, .15);
    box-shadow: 0 16px 32px rgba(137, 28, 84, .15);
    border-radius: 24px;
    background-color: #fff;
    padding: 17px 24px;
    max-height: 0;
    pointer-events: none
}

.sort__item {
    cursor: pointer;
    margin-top: 16px;
    font-weight: 400;
    font-size: 16px;
    line-height: 148%
}

.sort__item:first-child {
    margin-top: 0
}

.sort__item--active {
    pointer-events: none;
    font-weight: 600
}

.sort__item a {
    -webkit-transition: color .15s linear;
    -o-transition: color .15s linear;
    transition: color .15s linear;
    cursor: pointer;
    background: -o-linear-gradient(183.93deg, #054331 0, #054331 49.48%, #389672 100%);
    background: linear-gradient(266.07deg, #054331 0, #054331 49.48%, #389672 100%);
    -webkit-background-clip: text;
    color: #054331;
    text-decoration: none
}

.switchers {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border: solid 1px rgba(5, 5, 5, .1);
    border-radius: 32px;
    padding: 8px
}

.switchers__button {
    cursor: pointer;
    border-radius: 34px;
    padding: 12px 20px;
    overflow: hidden;
    color: #054331;
    font-weight: 600;
    font-size: 16px;
    line-height: 148%;
    text-align: center
}

.switchers__button.active {
    background: -o-linear-gradient(183.93deg, #054331 0, #054331 49.48%, #389672 100%);
    background: linear-gradient(266.07deg, #054331 0, #054331 49.48%, #389672 100%);
    color: #fff
}

.tour-desc .anchor {
    top: -200px
}

.tour-desc__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.tour-desc__nav-wrapper {
    padding: 64px 0 60px
}

.tour-desc__nav-wrapper--fixed {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    transform: translateY(-100%);
    z-index: 6;
    -webkit-transition: -webkit-transform .15s linear;
    transition: -webkit-transform .15s linear;
    -o-transition: transform .15s linear;
    transition: transform .15s linear;
    transition: transform .15s linear, -webkit-transform .15s linear;
    -webkit-box-shadow: 0 2px 96px rgba(53, 103, 132, .15);
    box-shadow: 0 2px 96px rgba(53, 103, 132, .15);
    border-radius: 0 0 16px 16px;
    background-color: #fff;
    padding: 16px 0
}

.tour-desc__nav-wrapper--fixed .tour-desc__nav {
    margin: 0 auto;
    max-width: 1240px
}

.tour-desc__nav-wrapper--fixed .tour-desc__nav-link {
    margin-top: 0
}

.tour-desc__nav-wrapper--fixed.visible {
    -webkit-transform: translateY(92px);
    -ms-transform: translateY(92px);
    transform: translateY(92px)
}

.tour-desc__nav-wrapper--fixed.header-hidden {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
}

.tour-desc__nav-wrapper--fixed.header-hidden.visible {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
}

.tour-desc__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin-top: -24px;
    width: calc(100% + 16px)
}

.tour-desc__nav-link {
    position: relative;
    margin: 16px 8px 0;
    border-radius: 34px;
    background-color: #f8f8f8;
    padding: 14px 22px;
    overflow: hidden;
    font-weight: 400;
    font-size: 16px;
    line-height: 148%
}

.tour-desc__nav-link::before {
    position: absolute;
    inset: 0;
    opacity: 0;
    -webkit-transition: opacity .15s linear;
    -o-transition: opacity .15s linear;
    transition: opacity .15s linear;
    border-radius: 34px;
    background: -o-linear-gradient(183.93deg, #054331 0, #054331 49.48%, #389672 100%);
    background: linear-gradient(266.07deg, #054331 0, #054331 49.48%, #389672 100%);
    content: ""
}

.tour-desc__nav-link span {
    position: relative;
    z-index: 1;
    -webkit-transition: color .15s linear;
    -o-transition: color .15s linear;
    transition: color .15s linear;
    color: #054331
}

.tour-desc__main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
}

.tour-desc__main-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    width: 100%;
    max-width: 680px
}

.tour-desc__main-content li {
    position: relative;
    padding-left: 10px;
    list-style-type: none
}

.tour-desc__main-content li::before {
    position: absolute;
    top: 10px;
    left: 0;
    border-radius: 50%;
    background: -o-linear-gradient(183.93deg, #054331 0, #054331 49.48%, #389672 100%);
    background: linear-gradient(266.07deg, #054331 0, #054331 49.48%, #389672 100%);
    width: 5px;
    height: 5px;
    content: ""
}

.tour-desc__main-content li::marker {
    display: none;
    opacity: 0
}

.tour-desc__main-title {
    margin-bottom: 16px;
    font-weight: 700;
    font-size: 32px;
    line-height: 124%
}

.tour-desc__main-text {
    margin-bottom: 16px;
    font-weight: 400;
    font-size: 16px;
    line-height: 148%
}

.tour-desc__main-aside {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
}

.tour-desc__accordions-wrapper {
    margin-top: 32px
}

.main-video {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden
}

.main-video__bg {
    position: absolute;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 0;
    inset: 0;
    top: 50%;
    left: 50%;
    -webkit-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
    background-size: cover;
    min-width: 100%;
    min-height: 100%
}
/*  */

.main-hero {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: #fff
}

.main-hero__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.main-hero__bg-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}


.main-hero__content {
    position: relative;
    z-index: 1;
    max-width: 800px;
    padding: 0px;
    padding-top: 220px;
    padding-left: 76px;
}
/*  */
/*  */



/* .main-hero { */
    /* position: relative; */
    /* height: 100vh; или нужная вам высота */
    /* overflow: hidden; */
/* } */
/*  */
/* .main-hero__bg { */
    /* position: absolute; */
    /* top: 0; */
    /* left: 0; */
    /* width: 100%; */
    /* height: 100%; */
    /* z-index: -1; */
/* } */
/*  */
/* .main-hero__bg-image { */
    /* width: 100%; */
    /* height: 100%; */
    /* object-fit: cover; */
    /* object-position: center; */
/* } */
/*  */
/* .main-hero__content { */
    /* position: relative; */
    /* z-index: 1; */
    /* padding: 20px */
    /* остальные стили для контента */
/* } */

.main-hero__logo {
    margin: 0 0 32px;
    width: 150px
}

.main-hero__title {
    font-size: 48px;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 16px;
    color: #104331;
}

.main-hero__subtitle {
    font-size: 20px;
    line-height: 1.5;
    margin-bottom: 32px;
    color: #104331;
}

.main-about__content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.main-about__gallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px
}

.main-about__gallery img {
    width: 100%;
    height: 200px;
    -o-object-fit: cover;
    object-fit: cover;
    border-radius: 16px
}

.main-about__text-content .title {
    margin-bottom: 24px
}

.main-about__text-content p {
    font-size: 18px;
    line-height: 1.6
}

.slider--workshops .slider__slide {
    width: 356px
}

.card-workshop {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.card-workshop__image {
    border-radius: 32px;
    overflow: hidden;
    margin-bottom: 24px
}

.card-workshop__image img {
    width: 100%;
    height: 480px;
    -o-object-fit: cover;
    object-fit: cover
}

.card-workshop__desc {
    color: #054331
}

.card-workshop__title {
    font-weight: 700;
    font-size: 24px;
    line-height: 1.24
}

.main-accommodation {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center
}

.main-accommodation .title {
    margin-bottom: 48px
}

.main-accommodation__gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 24px;
    width: 100%
}

.main-accommodation__gallery img {
    width: 100%;
    height: 250px;
    -o-object-fit: cover;
    object-fit: cover;
    border-radius: 24px
}

.card-accommodation {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    width: 100%;
    height: 400px;
    border-radius: 32px;
    overflow: hidden;
    color: #fff;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 24px
}

.card-accommodation__bg {
    position: absolute;
    inset: 0;
    z-index: 0
}

.card-accommodation__bg::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .4)
}

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

.card-accommodation__content {
    position: relative;
    z-index: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.card-accommodation__title {
    font-size: 48px;
    font-weight: 700
}

.card-accommodation__subtitle {
    margin-top: 16px;
    font-size: 18px;
    line-height: 1.6;
    max-width: 800px
}

.main-callback .form__inputs-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    margin: 0;
    width: 100%
}

.main-callback .form__input {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    margin: 0 0 16px 0;
    width: 100%
}

.main-callback .form__input:last-of-type {
    margin-bottom: 0
}

.main-callback .form__submit {
    margin-top: 32px
}

@media (min-width:1279px) {
    .hyperlink:hover {
        color: transparent
    }

    .accordion:hover {
        border-color: #054331
    }

    .breadcrumbs__item a:hover {
        color: transparent
    }

    .button--prime:hover::before {
        opacity: 1
    }

    .button--prime-transparent:hover {
        border-color: #fff
    }

    .button--white:hover span {
        color: transparent
    }

    .button--line:hover::before {
        width: 32px
    }

    .button-icon:hover {
        border-color: transparent
    }

    .button-icon:hover::before {
        opacity: 1
    }

    .button-icon:hover svg {
        fill: #fff
    }

    .button-icon--gradient:hover::before {
        opacity: 0
    }

    .card:hover {
        -webkit-box-shadow: 0 7px 20px 1px rgba(0, 0, 0, .38);
        box-shadow: 0 7px 20px 1px rgba(0, 0, 0, .38);
        color: #fff
    }

    .card:hover .card__button::before {
        opacity: 1
    }

    .card:hover .card__button svg {
        fill: #fff
    }

    .card-offer:hover {
        -webkit-box-shadow: 0 7px 20px 1px rgba(0, 0, 0, .38);
        box-shadow: 0 7px 20px 1px rgba(0, 0, 0, .38)
    }

    .card-offer:hover .card-offer__button::before {
        opacity: 1
    }

    .card-review__show-button:hover span {
        color: #356784
    }

    .card-review__link:hover span {
        color: #dfa158
    }

    .card-banner:hover .card-banner__button {
        border-color: #fff
    }

    .card-hotel__link:hover~.card-hotel__content .card-hotel__button::before {
        opacity: 1
    }

    .card-hotel__link:hover~.card-hotel__content .card-hotel__button svg {
        fill: #fff
    }

    .contacts-block__item a:hover {
        color: transparent
    }

    .contacts-block__social-item:hover svg {
        fill: #dfa158
    }

    .custom-select:hover .custom-select__current {
        border-color: #dfa158
    }

    .custom-select__item label:hover {
        color: transparent
    }

    .dot:hover .dot__inside {
        width: 12px;
        height: 12px
    }

    .footer__desc-item a:hover {
        color: transparent
    }

    .footer__socials-link:hover svg {
        fill: #dfa158
    }

    .form__agree a:hover {
        color: transparent
    }

    .header__phone a:hover {
        color: #dfa158
    }

    .header__phone button:hover {
        color: #dfa158
    }

    .hero-block__dots-item:hover .dot__inside {
        background: -o-linear-gradient(183.93deg, #054331 0, #054331 49.48%, #389672 100%);
        background: linear-gradient(266.07deg, #054331 0, #054331 49.48%, #389672 100%);
        width: 12px;
        height: 12px
    }

    .hero-block__children:hover {
        color: #dfa158
    }

    .location-card:hover .location-card__content {
        border-color: #dfa158
    }

    .location-card:hover .button-icon::before {
        display: block;
        opacity: 1
    }

    .location-card:hover .button-icon svg {
        fill: #fff
    }

    .popup__close:hover {
        background-color: #a36927
    }

    .program-card__header:hover .program-card__button {
        overflow: hidden
    }

    .program-card__header:hover .program-card__button::before {
        opacity: 1
    }

    .program-card__header:hover .program-card__button svg {
        fill: #fff
    }

    .roads-block__dot-slide:hover .roads-block__dot::before {
        width: 12px;
        height: 12px
    }

    .roads-block__dot-slide:hover .roads-block__dot::after {
        opacity: 1
    }

    .select-region__item:hover .select-region__item-desc {
        opacity: .5
    }

    .share__link:hover svg {
        fill: #dfa158
    }

    .gallery-slider__zoom:hover::before {
        opacity: .6
    }

    .gallery-slider__zoom:hover svg {
        opacity: 1
    }

    .team-slider__item-button:hover {
        color: #dfa158
    }

    .sort__current-text:hover {
        color: transparent
    }

    .sort__current-text:hover svg {
        fill: #891c54
    }

    .sort__item a:hover {
        color: transparent
    }

    .tour-desc__nav-link:hover::before {
        opacity: 1
    }

    .tour-desc__nav-link:hover span {
        color: #fff
    }
}

@media (min-width:1280px) {
    .history-slider__container {
        padding-left: 120px
    }
}

@media (max-width:1279px) {
    .h1 {
        font-size: 48px;
        line-height: 108%
    }

    .h2 {
        font-size: 32px
    }

    .h3 {
        font-size: 24px;
        line-height: 118%
    }

    .h4 {
        font-size: 20px;
        line-height: 122%
    }

    .title {
        font-size: 32px
    }

    .date-number {
        font-size: 120px
    }

    .container--padding-left {
        padding-left: 0
    }

    .container {
        width: 656px
    }

    .tour-desc__container {
        width: 656px
    }

    .main__section--padding-mini {
        padding-top: 48px
    }

    .error-page__text {
        max-width: 352px
    }

    .accordion__header::before {
        font-size: 20px;
        line-height: 122%
    }

    .accordion__title {
        font-size: 20px;
        line-height: 122%
    }

    .accordion__button {
        width: 48px;
        height: 48px
    }

    .accordion__main-content {
        padding: 0 52px
    }

    .accordion__main-content-item h1 {
        font-size: 48px;
        line-height: 108%
    }

    .accordion__main-content-item h2 {
        font-size: 32px
    }

    .accordion__main-content-item h3 {
        font-size: 24px;
        line-height: 118%
    }

    .accordion__main-content-item h4 {
        font-size: 20px;
        line-height: 122%
    }

    .advantages__main {
        grid-template-columns: 1fr
    }

    .advantages__item::before {
        font-size: 20px;
        line-height: 122%
    }

    .advantages__title {
        font-size: 24px;
        line-height: 118%
    }

    .article__block h1 {
        font-size: 48px;
        line-height: 108%
    }

    .article__block h2 {
        font-size: 32px
    }

    .article__block h3 {
        font-size: 24px;
        line-height: 118%
    }

    .article__block h4 {
        font-size: 20px;
        line-height: 122%
    }

    .aside__title {
        font-size: 20px;
        line-height: 122%
    }

    .banner__content {
        padding: 136px 0 96px
    }

    .banner__main {
        margin-bottom: 0
    }

    .banner__pre-title {
        font-size: 32px
    }

    .banner__title {
        font-size: 48px;
        line-height: 108%
    }

    .card-box--big .card-box__box {
        grid-template-columns: 1fr
    }

    .card-box__box {
        grid-template-columns: repeat(2, 1fr)
    }

    .card__content {
        padding: 32px;
        min-height: 428px
    }

    .card__top-content {
        width: 100%
    }

    .card__title {
        font-size: 20px;
        line-height: 122%
    }

    .card__params {
        width: 100%
    }

    .card__button-wrapper {
        display: none
    }

    .card-offer__image {
        width: 320px
    }

    .card-offer__image-desc h3 {
        font-size: 24px;
        line-height: 118%
    }

    .card-offer__desc-item h4 {
        font-size: 20px;
        line-height: 122%
    }

    .card-review__name {
        font-size: 20px;
        line-height: 122%
    }

    .card-banner {
        height: 356px
    }

    .card-banner--not-link .card-banner__content-wrapper {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start
    }

    .card-banner--not-link .card-banner__button {
        display: grid;
        margin-top: 32px
    }

    .card-banner__content-wrapper {
        padding: 48px
    }

    .card-banner__content {
        margin-right: 0
    }

    .card-banner__title {
        font-size: 24px;
        line-height: 118%
    }

    .card-banner__params {
        margin: 0 -8px
    }

    .card-banner__button {
        display: none
    }

    .card-hotel__title {
        font-size: 20px;
        line-height: 122%
    }

    .contacts-block__title {
        font-size: 32px
    }

    .contacts-block__item h4 {
        font-size: 20px;
        line-height: 122%
    }

    .contacts-block__socials {
        grid-template-columns: repeat(2, 1fr);
        border-radius: 32px;
        padding: 24px
    }

    .custom-select {
        width: 316px
    }

    .documents__main {
        grid-template-columns: repeat(2, 1fr)
    }

    .features {
        max-width: 656px
    }

    .features__content {
        padding: 48px
    }

    .features__content::before {
        top: -126px;
        left: -164px;
        background-image: url(../img/patterns/purple-mid--tablet.png);
        width: 670px;
        height: 396px
    }

    .features__content::after {
        right: -94px;
        bottom: -124px;
        background-image: url(../img/patterns/blue-mid--mobile.png);
        width: 416px;
        height: 340px
    }

    .features__title {
        font-size: 32px
    }

    .features__header-desc {
        max-width: 100%
    }

    .features__logo {
        display: none
    }

    .features__feature-box {
        gap: 32px;
        grid-template-columns: repeat(2, 1fr)
    }

    .filter__title {
        font-size: 24px;
        line-height: 118%
    }

    .filter__box--wide .card-box__box {
        grid-template-columns: 1fr
    }

    .footer::before {
        top: 55px;
        left: -145px;
        background-image: url(../img/patterns/purple-footer--tablet.png);
        width: 865px;
        height: 642px
    }

    .footer::after {
        right: -237px;
        bottom: -132px;
        background-image: url(../img/patterns/blue-footer--tablet.png)
    }

    .footer__content {
        padding: 96px 0 192px
    }

    .footer__map {
        margin-top: 32px
    }

    .footer__desc {
        margin-top: 50px;
        padding-left: 0
    }

    .footer__logo {
        margin-top: 0;
        margin-right: 80px
    }

    .footer__logo svg {
        width: 144px;
        height: 92px
    }

    .footer__nav {
        margin-right: 32px
    }

    .footer__title {
        font-size: 20px;
        line-height: 122%
    }

    .footer__contacts {
        margin-right: 0;
        margin-left: auto;
        max-width: 224px
    }

    .footer__socials {
        position: absolute;
        bottom: -100px;
        left: 0
    }

    .footer__socials-list {
        grid-auto-flow: column;
        gap: 32px;
        margin: 0;
        border: 0;
        padding: 0
    }

    .footer__socials-link svg {
        width: 32px;
        height: 32px
    }

    .footer__button-top {
        top: auto;
        bottom: -108px
    }

    .form {
        padding: 48px;
        max-width: 656px
    }

    .form__inputs-wrapper {
        margin: -16px -16px 0;
        width: 100%
    }

    .form__input {
        margin-top: 16px
    }

    .form__input label {
        width: 100%
    }

    .form__agree {
        text-align: left
    }

    .form__submit .button {
        width: 100%
    }

    .form__submit .button__content {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .form__success-title {
        font-size: 32px
    }

    .goals__main {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        margin: 0 0 0 152px;
        padding: 0;
        width: 100%
    }

    .goals__item {
        margin: 64px 0 0
    }

    .goals__item:first-child {
        margin-top: 0
    }

    .goals__item-title {
        font-size: 24px;
        line-height: 118%
    }

    .header.active .header__content::before {
        opacity: 1;
        background-color: #054331
    }

    .header__content::before {
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        opacity: 0;
        z-index: 3;
        -webkit-transition: opacity linear .15s;
        -o-transition: opacity linear .15s;
        transition: opacity linear .15s;
        -webkit-transition-delay: .15s;
        -o-transition-delay: .15s;
        transition-delay: .15s;
        background-color: transparent;
        height: 100%;
        content: ""
    }

    .header__logo {
        z-index: 3
    }

    .header__nav {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        opacity: 0;
        margin-right: 0;
        background-color: #054331;
        padding: 212px 0 208px;
        overflow-y: hidden;
        pointer-events: none
    }

    .header__nav::before {
        display: block;
        position: fixed;
        background-size: cover;
        background-repeat: no-repeat;
        pointer-events: none;
        content: "";
        top: 210px;
        left: 0;
        background-image: url(../img/patterns/header--tablet.png);
        width: 772px;
        height: 604px
    }

    .header__nav-list {
        position: relative;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        margin: 0 auto;
        padding-top: 132px;
        padding-left: 10px;
        width: 656px
    }

    .header__nav-list::before {
        position: absolute;
        top: 0;
        left: 10px;
        color: #fff;
        font-weight: 700;
        font-size: 64px;
        line-height: 112%;
        font-size: 48px;
        line-height: 108%
    }

    .header__nav-list::after {
        position: absolute;
        top: 84px;
        right: 10px;
        left: 10px;
        background-color: rgba(255, 255, 255, .35);
        height: 1px;
        content: ""
    }

    .header__nav-item {
        margin: 0 0 48px;
        white-space: initial
    }

    .header__nav-item:last-child {
        margin-bottom: 0
    }

    .header__nav-item a {
        padding: 0;
        font-weight: 700;
        font-size: 32px;
        line-height: 126%
    }

    .header__phone {
        z-index: 3;
        margin-left: auto
    }

    .header__social-list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin: 48px auto 0;
        padding-left: 10px;
        width: 656px
    }

    .header__social-item svg {
        width: 32px;
        height: 32px
    }

    .header__burger {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        z-index: 3
    }

    .hero-block {
        min-height: 800px
    }

    .hero-block .container,
    .hero-block .tour-desc__container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }

    .hero-block__content {
        position: relative;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        height: auto
    }

    .hero-block__desc-wrapper {
        margin: 0;
        width: auto
    }

    .hero-block__desc-wrapper.active .hero-block__panel {
        position: fixed;
        inset: 0;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        z-index: 10;
        background: rgba(5, 5, 5, .9)
    }

    .hero-block__desc {
        position: absolute;
        top: 0;
        left: 0;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        max-width: 344px;
        text-align: left
    }

    .hero-block__title {
        font-size: 48px;
        line-height: 108%
    }

    .hero-block__box-header h4 {
        font-size: 20px;
        line-height: 122%
    }

    .hero-block__river {
        display: none
    }

    .hero-block__map {
        margin-top: 0;
        width: 520px;
        height: 610px
    }

    .hero-block__map-image {
        top: -49px;
        left: 4px
    }

    .hero-block__dots-item--north {
        top: -4%
    }

    .hero-block__dots-item--east {
        top: 37.3%;
        left: 90.8%
    }

    .hero-block__dots-item--south {
        top: 89%;
        left: 31.2%
    }

    .hero-block__dots-item--west {
        top: 59.7%;
        left: 25.4%
    }

    .hero-block__children.active {
        display: none;
        opacity: 0;
        pointer-events: none
    }

    .popup__container {
        padding: 48px 0
    }

    .popup__content .form__submit {
        margin-top: 44px
    }

    .popup__content .form__submit span {
        text-align: center
    }

    .popup__content-container {
        max-width: 656px
    }

    .popup__close {
        right: 48px
    }

    .answers .accordion-wrapper {
        margin-top: 48px
    }

    .program-card__card-title {
        font-size: 20px;
        line-height: 122%
    }

    .program-card__main-item h1 {
        font-size: 48px;
        line-height: 108%
    }

    .program-card__main-item h2 {
        font-size: 32px
    }

    .program-card__main-item h3 {
        font-size: 24px;
        line-height: 118%
    }

    .program-card__main-item h4 {
        font-size: 20px;
        line-height: 122%
    }

    .roads-block__map {
        width: 654px
    }

    .select-region__main {
        grid-template-columns: repeat(2, 1fr);
        gap: 64px 32px;
        margin-top: 48px
    }

    .select-region__item-image svg {
        width: 264px;
        height: 200px
    }

    .select-region__item-desc {
        margin-top: 24px
    }

    .select-region__item-title {
        font-size: 20px;
        line-height: 122%
    }

    .slider--card-offer .slider__slide {
        width: 656px
    }

    .slider--card-review .slider__slide {
        width: 432px
    }

    .slider__header .title {
        width: 320px
    }

    .banner-slider__nav {
        top: -48px
    }

    .gallery-slider__slide {
        width: 272px
    }

    .gallery-slider__title {
        font-size: 20px;
        line-height: 122%
    }

    .history-slider__item {
        padding: 244px 0 0 113px
    }

    .history-slider__item-image {
        left: 8px
    }

    .history-slider__item-year {
        top: 199px;
        -webkit-transform: translateX(-10%);
        -ms-transform: translateX(-10%);
        transform: translateX(-10%);
        font-size: 120px
    }

    .history-slider__item-title {
        font-size: 24px;
        line-height: 118%
    }

    .team-slider__slide--translated {
        -webkit-transform: translateX(34%);
        -ms-transform: translateX(34%);
        transform: translateX(34%)
    }

    .team-slider__slide--translated .team-slider__item {
        margin-top: 0
    }

    .team-slider__item-header {
        padding: 38px 32px 38px 212px
    }

    .team-slider__item-name {
        font-size: 20px;
        line-height: 122%
    }

    .team-slider__word {
        font-size: 120px
    }

    .team-slider__nav {
        top: -60px
    }

    .tour-desc__nav-wrapper {
        display: none
    }

    .tour-desc__main {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
        margin-top: 64px
    }

    .tour-desc__main-title {
        font-size: 24px;
        line-height: 118%
    }

    .tour-desc__main-aside {
        margin-top: 64px
    }

    .main-about__content {
        gap: 32px
    }

    .slider--workshops .slider__slide {
        width: 312px
    }

    .card-workshop__title {
        font-size: 20px;
        line-height: 1.22
    }
}

@media (max-width:767px) {
    .h1 {
        font-size: 32px;
        line-height: 126%
    }

    .h2 {
        font-size: 28px;
        line-height: 116%
    }

    .title {
        font-size: 28px;
        line-height: 116%
    }

    .date-number {
        font-size: 64px
    }

    .container {
        padding: 0 24px;
        width: 100%
    }

    .tour-desc__container {
        padding: 0 24px;
        width: 100%;
        max-width: 100%
    }

    .main__section {
        padding: 48px 0
    }

    .main__section--border-radius {
        padding: 48px 0
    }

    .error-page__link {
        min-width: 272px
    }

    .accordion {
        margin-top: 0;
        border: 0;
        border-radius: 0;
        padding: 16px 0
    }

    .accordion::after,
    .accordion::before {
        display: block
    }

    .accordion.active .accordion__main-content {
        margin-top: 16px
    }

    .accordion__header::before {
        display: none
    }

    .accordion__title {
        margin-left: 0
    }

    .accordion__main-content {
        padding: 0;
        max-width: 100%;
        overflow: visible
    }

    .accordion__main-content-item h1 {
        font-size: 32px;
        line-height: 126%
    }

    .accordion__main-content-item h2 {
        font-size: 28px;
        line-height: 116%
    }

    .advantages__item::before {
        margin-right: 8px
    }

    .advantages__button {
        margin-top: 48px
    }

    .article__block h1 {
        font-size: 32px;
        line-height: 126%
    }

    .article__block h2 {
        font-size: 28px;
        line-height: 116%
    }

    .article__block {
        margin-top: 32px
    }

    .aside {
        border: 0;
        border-radius: 0
    }

    .aside__list {
        padding: 0
    }

    .banner__content {
        padding: 103px 0 64px
    }

    .banner__icon {
        display: none
    }

    .banner__pre-title {
        font-size: 28px;
        line-height: 116%
    }

    .banner__title {
        font-size: 32px;
        line-height: 126%
    }

    .breadcrumbs {
        padding: 24px 0 32px
    }

    .breadcrumbs__list {
        margin: 0
    }

    .breadcrumbs__item {
        display: none;
        margin: 0
    }

    .breadcrumbs__item:last-child {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        width: 100%
    }

    .breadcrumbs__item:last-child::before {
        display: inline
    }

    .breadcrumbs__item:last-child a {
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
        padding-right: 0;
        padding-left: 24px;
        overflow: hidden;
        -o-text-overflow: ellipsis;
        text-overflow: ellipsis;
        white-space: nowrap
    }

    .breadcrumbs__item:last-child a::after {
        display: inherit;
        right: auto;
        left: 0
    }

    .button--prime .button__content {
        -webkit-column-gap: 8px;
        -moz-column-gap: 8px;
        column-gap: 8px;
        padding: 8px
    }

    .button--prime .button__ellips {
        padding: 8px
    }

    .button-icon {
        width: 32px;
        height: 32px
    }

    .button-icon svg {
        width: 16px;
        height: 16px
    }

    .card-box__box {
        grid-template-columns: 1fr;
        margin-top: 48px
    }

    .card__button {
        display: none
    }

    .card-offer__content {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .card-offer__image {
        border-radius: 32px;
        padding: 24px;
        width: 100%;
        height: 292px
    }

    .card-offer__right-content {
        padding: 24px
    }

    .card-review {
        padding: 72px 24px 24px
    }

    .card-review__image {
        left: 24px
    }

    .card-banner {
        height: 460px
    }

    .card-banner__content-wrapper {
        padding: 24px
    }

    .card-hotel {
        padding: 24px;
        width: 272px;
        height: 352px
    }

    .contacts-block__title {
        font-size: 28px;
        line-height: 116%
    }

    .contacts-block__main {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-top: 32px
    }

    .contacts-block__desc {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        margin-top: 0
    }

    .contacts-block__item {
        margin-top: 24px;
        margin-right: 0
    }

    .contacts-block__item:first-child {
        margin-top: 0
    }

    .contacts-block__socials {
        margin-top: 32px
    }

    .custom-select {
        width: 100%
    }

    .documents__main {
        grid-template-columns: 1fr;
        margin-top: 32px
    }

    .documents__item {
        padding: 8px
    }

    .features {
        max-width: 100%
    }

    .features__content {
        padding: 24px
    }

    .features__content::before {
        top: -60px;
        left: -140px;
        background-image: url(../img/patterns/purple-mid--mobile.png);
        width: 465px;
        height: 276px
    }

    .features__title {
        font-size: 28px;
        line-height: 116%
    }

    .features__desc {
        margin-top: 16px
    }

    .features__feature-box {
        gap: 32px;
        grid-template-columns: 100%
    }

    .filter__header {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start
    }

    .filter__title {
        margin-bottom: 24px
    }

    .filter__menu {
        margin: 8px 0 0;
        width: 100%
    }

    .filter__menu .custom-select {
        margin: 16px 0 0
    }

    .filter__box {
        width: 100%
    }

    .filter__box--wide .card__top-content {
        width: 100%
    }

    .filter__card {
        max-width: 100%
    }

    .filter__button {
        margin-top: 48px
    }

    .footer {
        margin-top: 48px;
        border-radius: 24px 24px 0 0
    }

    .footer::before {
        top: 95px;
        left: -145px;
        background-image: url(../img/patterns/purple-footer--mobile.png);
        width: 600px;
        height: 446px
    }

    .footer::after {
        right: -264px;
        bottom: -132px;
        background-image: url(../img/patterns/blue-footer--mobile.png)
    }

    .footer__content {
        padding: 48px 0
    }

    .footer__map {
        border-radius: 40px
    }

    .footer__map iframe {
        border-radius: 40px
    }

    .footer__desc {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-top: 32px
    }

    .footer__logo {
        display: none
    }

    .footer__nav {
        display: none
    }

    .footer__contacts {
        margin-left: 0
    }

    .footer__socials {
        position: static;
        margin-top: 32px
    }

    .footer__socials-list {
        grid-auto-flow: initial;
        gap: 24px
    }

    .footer__button-top {
        bottom: 40px;
        padding: 8px
    }

    .form {
        padding: 48px 24px
    }

    .form__title {
        margin-bottom: 32px
    }

    .form__inputs-wrapper {
        margin: -16px 0 0
    }

    .form__input {
        margin: 16px 0 0;
        width: 100%
    }

    .form__success-title {
        font-size: 28px;
        line-height: 116%
    }

    .goals__main {
        margin: 0
    }

    .goals__item {
        margin: 44px 40px 0;
        max-width: 100%
    }

    .goals__img {
        margin-top: 60px
    }

    .goals__img img {
        min-height: 100px
    }

    .header--black+.main {
        margin-top: 72px
    }

    .header__content {
        padding: 24px 0 16px
    }

    .header__logo {
        margin-right: 48px
    }

    .header__logo svg {
        width: 63px;
        height: 40px
    }

    .header__nav {
        padding: 112px 24px 48px
    }

    .header__nav::before {
        top: 298px;
        left: 24px;
        background-image: url(../img/patterns/header--mobile.png);
        width: 272px;
        height: 212px
    }

    .header__nav-list {
        padding-left: 0;
        width: 100%
    }

    .header__nav-list::before {
        left: 0;
        font-size: 32px;
        line-height: 126%
    }

    .header__nav-list::after {
        right: 0;
        left: 0
    }

    .header__phone {
        margin-right: 32px
    }

    .header__phone a {
        font-size: 12px
    }

    .header__social-list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 32px;
        margin: 48px 0 0;
        padding-left: 0;
        width: 160px
    }

    .header__social-item {
        margin-right: 0
    }

    .header__burger-icon svg {
        width: 24px;
        height: 24px
    }

    .hero-block {
        padding: 72px 0 64px;
        min-height: 580px
    }

    .hero-block::before {
        background-image: url(../img/patterns/hero-mob.png);
        width: 272px;
        height: 212px
    }

    .hero-block .container,
    .hero-block .tour-desc__container {
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch
    }

    .hero-block__content {
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
        width: 100%
    }

    .hero-block__desc-wrapper.active .hero-block__panel {
        position: absolute;
        top: auto;
        right: -24px;
        bottom: -64px;
        left: -24px;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
        background: #054331;
        width: calc(100% + 48px);
        height: calc(100% + 64px);
        max-height: calc(100% + 64px)
    }

    .hero-block__desc {
        position: static
    }

    .hero-block__title {
        font-size: 32px;
        line-height: 126%
    }

    .hero-block__subtitle {
        display: none
    }

    .hero-block__prime-button {
        display: grid;
        width: 100%
    }

    .hero-block__panel {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-transform: translateY(100%);
        -ms-transform: translateY(100%);
        transform: translateY(100%)
    }

    .hero-block__panel-item {
        width: 100%;
        height: 100%
    }

    .hero-block__panel-item .title {
        padding-left: 24px
    }

    .hero-block__panel-block {
        border-radius: 32px 32px 0 0;
        padding: 24px;
        width: 100%;
        height: 100%
    }

    .hero-block__panel-block .location-card {
        width: 100%
    }

    .hero-block__panel-box {
        width: 100%;
        max-height: 100%
    }

    .hero-block__map {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        width: 152px;
        height: 180px;
        pointer-events: none
    }

    .hero-block__dot-parent {
        display: none
    }

    .hero-block__mobile-control {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        position: absolute;
        top: 0;
        bottom: -64px;
        left: -24px;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-transform: translateY(100%);
        -ms-transform: translateY(100%);
        transform: translateY(100%);
        z-index: 2;
        -webkit-transition: all ease-in-out .3s;
        -o-transition: all ease-in-out .3s;
        transition: all ease-in-out .3s;
        background-color: #054331;
        padding: 24px 24px 64px;
        width: calc(100% + 48px);
        height: auto;
        color: #fff;
        pointer-events: none
    }

    .hero-block__mobile-control.active {
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
        pointer-events: auto
    }

    .hero-block__mobile-control::before {
        position: absolute;
        top: 62px;
        left: 50%;
        -webkit-transform: translate(-50%, 0);
        -ms-transform: translate(-50%, 0);
        transform: translate(-50%, 0);
        background-image: url(../img/patterns/hero-mob.png);
        background-position: center;
        background-size: cover;
        width: 272px;
        height: 212px;
        pointer-events: none;
        content: ""
    }

    .popup__container svg {
        width: 14px;
        height: auto
    }

    .popup__content .form {
        padding: 48px 24px
    }

    .popup__content .form__submit {
        margin-top: 16px
    }

    .popup__close {
        right: 24px
    }

    .program-block__main {
        margin-top: 48px
    }

    .answers .accordion-wrapper {
        margin-top: 32px
    }

    .program-block-simple__title {
        margin-bottom: 32px
    }

    .program-block-simple__day h3 {
        font-size: 20px
    }

    .program-card {
        margin-top: 48px
    }

    .program-card.active .program-card__main {
        margin: 24px
    }

    .program-card__content {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .program-card__card {
        margin-top: 8px;
        margin-left: -24px;
        border: 0;
        border-radius: 0;
        width: calc(100% + 48px)
    }

    .program-card__header {
        border-radius: 0;
        padding: 24px
    }

    .program-card__day {
        -webkit-transform: rotate(0);
        -ms-transform: rotate(0);
        transform: rotate(0);
        -webkit-writing-mode: inherit;
        -ms-writing-mode: inherit;
        writing-mode: inherit;
        text-align: left
    }

    .program-card__card-desc {
        margin-right: 16px;
        max-width: 100%
    }

    .program-card__button {
        width: 48px;
        height: 48px
    }

    .program-card__main {
        margin: 0 24px
    }

    .program-card__main-item h1 {
        font-size: 32px;
        line-height: 126%
    }

    .program-card__main-item h2 {
        font-size: 28px;
        line-height: 116%
    }

    .quote {
        padding: 24px
    }

    .quote span::after,
    .quote span::before {
        display: none
    }

    .roads-block__main {
        margin-top: 48px
    }

    .roads-block__map {
        width: 100%
    }

    .select-region__main {
        grid-template-columns: 1fr;
        margin-top: 56px
    }

    .select-region__item-image svg {
        width: 224px;
        height: 168px
    }

    .share__content {
        grid-template-columns: repeat(3, 1fr)
    }

    .slider--card-offer .slider__slide {
        width: 272px
    }

    .slider--card-review .slider__slide {
        width: 272px
    }

    .slider__header .title {
        width: 100%
    }

    .slider__slide {
        width: 272px
    }

    .slider__nav {
        display: none
    }

    .slider__prime-button {
        margin-top: 32px
    }

    .banner-slider__slide {
        width: 272px
    }

    .banner-slider__nav {
        display: none
    }

    .gallery-slider__nav {
        display: none
    }

    .history-slider__container {
        margin-top: 48px;
        margin-left: 0;
        width: 272px
    }

    .history-slider__item {
        padding: 0
    }

    .history-slider__item .dot {
        position: absolute;
        top: 217px
    }

    .history-slider__item-image {
        position: static;
        margin-top: 28px;
        margin-left: 15px
    }

    .history-slider__item-year {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        position: static;
        -webkit-transform: translateX(15%);
        -ms-transform: translateX(15%);
        transform: translateX(15%);
        z-index: 0;
        margin-top: 40px;
        pointer-events: auto;
        font-size: 64px
    }

    .history-slider__item-desc {
        padding-top: 0
    }

    .history-slider__nav {
        display: none
    }

    .team-slider__container {
        margin-top: 32px;
        margin-left: 0;
        width: 272px;
        min-height: auto
    }

    .team-slider__slide:nth-child(2n) {
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0)
    }

    .team-slider__slide--translated {
        -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0)
    }

    .team-slider__item {
        padding: 8px 0 0 8px;
        width: 272px
    }

    .team-slider__item-header {
        border-radius: 24px;
        padding: 16px 16px 16px 104px;
        min-height: 80px
    }

    .team-slider__item-image {
        border-radius: 24px;
        width: 96px;
        height: 96px
    }

    .team-slider__item-button {
        display: none
    }

    .team-slider__item-desc {
        position: relative;
        -webkit-transform: translateY(-21px);
        -ms-transform: translateY(-21px);
        transform: translateY(-21px);
        opacity: 1;
        border-radius: 0 0 24px 24px;
        padding: 46px 16px 16px;
        width: 100%;
        max-height: 1000px
    }

    .team-slider__word {
        font-size: 64px
    }

    .team-slider__nav {
        display: none
    }

    .tour-desc__main-aside {
        margin-top: 48px
    }

    .main-hero__title {
        font-size: 32px
    }

    .main-hero__subtitle {
        font-size: 18px
    }

    .main-about__content {
        grid-template-columns: 1fr
    }

    .slider--workshops .slider__slide {
        width: 272px
    }

    .card-workshop__image {
        margin-bottom: 16px
    }

    .card-workshop__image img {
        height: 220px
    }

    .main-accommodation__gallery {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .card-accommodation__title {
        font-size: 32px
    }
}

/*# sourceMappingURL=style.min.css.map */