@import url(https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap);
html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
}

main {
    display: block;
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
}

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

a {
    background-color: transparent;
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted;
}

b,
strong {
    font-weight: bolder;
}

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

small {
    font-size: 80%;
}

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

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

img {
    border-style: none;
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0;
}

button,
input {
    overflow: visible;
}

button,
select {
    text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
}

fieldset {
    padding: 0.35em 0.75em 0.625em;
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal;
}

progress {
    vertical-align: baseline;
}

textarea {
    overflow: auto;
}

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

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

[type="search"] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
}

[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}

details {
    display: block;
}

summary {
    display: list-item;
}

template {
    display: none;
}

[hidden] {
    display: none !important;
}

body {
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: normal;
    font-style: normal;
}

.inner {
    width: 1280px;
    margin: 0 auto;
}

.main {
    overflow: hidden;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
}

.gradient-1 {
    background: linear-gradient(52.43deg, rgb(227, 141, 74) 6.105%, rgb(227, 93, 77) 27.162%, rgb(179, 14, 123) 72.987%, rgb(43, 149, 203) 115.859%);
    padding-top: 77px;
}

.gradient-2 {
    background: linear-gradient(-250deg, #e38d4a 0%, #e35d4d 65%, #ce3a62 75%, #ba1a74 100%);
}

.overflow {
    overflow: hidden;
}

@media (max-width: 1024px) {
    .inner {
        width: 100%;
        box-sizing: border-box;
    }

    .main {

    }

    .gradient-1 {
        padding-top: 76px;
        background: linear-gradient(-268deg, rgba(227, 141, 74, 1), rgba(227, 93, 77, 1) 35%, rgba(179, 14, 123, 1) 100%);
    }
}

.header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}

.header__inner {
    padding: 14px 0;
    display: flex;
    flex-direction: row;
    align-items: center;
}

.logo {
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-right: 78px;
}

.logo-del {
    background: #fff;
    width: 1px;
    height: 38px;
    margin: 0 30px 0 27px;
}

.kkk-logo {

}

.np-logo {
    margin-left: 14px;
}

.menu {
    display: flex;
    flex-direction: row;
    column-gap: 40px;
}

.menu__item {
    position: relative;
}

.menu__link {
    text-decoration: none;
    color: #FFF;
    font-size: 14px;
    font-weight: 600;
    line-height: 24px;
    display: inline-flex;
    align-items: center;
    column-gap: 2px;
}

.menu__item:hover .menu__link {
    color: #F69D58;
}

.menu__sub {
    background: url(aa7976ef339c72e8b612.svg);
    width: 18px;
    height: 18px;
    transition: all ease 300ms;
}

.menu__item:hover .menu__sub {
    background: url(2c975f6a1a956b80def1.svg);
}

.menu__item.opened .menu__sub {
    transform: rotate(-180deg);
    background: url(2c975f6a1a956b80def1.svg);
}

.header-contacts {
    margin-left: auto;
}

.header-phone {
    font-size: 14px;
    font-weight: 600;
    line-height: 24px;
    display: inline-flex;
    align-items: center;
    column-gap: 12px;
    color: #fff;
    text-decoration: none;
}

.submenu {
    display: none;
    border-radius: 12px;
    background: rgba(255, 255, 255, 1);
    flex-direction: column;
    position: absolute;
    left: 0;
    top: calc(100% + 4px);
    width: 100%;
    z-index: 9;
}

.menu__item.opened .submenu {
    display: flex;
}

.submenu__item {
    color: rgba(37, 37, 27, 1);
    font-size: 14px;
    font-weight: 600;
    text-align: center;
    cursor: pointer;
    padding: 10px 0;
    text-decoration: none;
}

.submenu__item:not(:last-child) {
    border-bottom: 1px solid rgba(217, 217, 217, 1);
}

.menu-mobile-toggler {
    display: none;
}

.header-phone-mobile {
    display: none;
}

@media (max-width: 1024px) {
    .header__inner {
        padding: 22px 20px;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .logo {
        margin-right: 0;
    }

    .logo-del {
        display: none;
    }

    .bl-logo {
        width: 73px;
        margin-right: 11px;
    }

    .kkk-logo {
        width: 67px;
        margin-right: 12px;
    }

    .np-logo {
        width: 35px;
        margin-left: 0;
    }

    .menu {
        display: none;
    }

    .header-contacts {
        display: none;
    }

    .menu-mobile-toggler {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 25px;
        height: 25px;
    }

    .menu-mobile-toggler img:first-child {

    }

    .menu-mobile-toggler img:last-child {
        display: none;
    }

    .menu-mobile-toggler.opened img:first-child {
        display: none;
    }

    .menu-mobile-toggler.opened img:last-child {
        display: block;
    }

    .menu.opened {
        display: flex;
        order: 5;
        width: 100%;
        flex-direction: column;
        position: relative;
        z-index: 10;
        padding-top: 24px;
    }

    .menu__item {
        padding: 10px 16px;
        border-bottom: 1px solid #fff;
    }

    .menu__item:hover .menu__link {
        color: #fff;
    }

    .submenu {
        position: static;
        background: none;
    }

    .submenu__item {
        text-align: left;
        color: #fff;
        padding: 10px 0;
        border: 0;
    }

    .submenu__item:not(:last-child) {
        border: 0;
    }

    .menu__item:hover .menu__sub {
        background: url(aa7976ef339c72e8b612.svg);
    }

    .menu__item.opened .menu__sub {
        transform: rotate(-180deg);
        background: url(aa7976ef339c72e8b612.svg);
    }

    .header-phone-mobile {
        display: flex;
        flex-direction: row;
        align-items: center;
        color: #fff;
        font-size: 14px;
        column-gap: 8px;
        text-decoration: none;
        padding: 10px 16px;
        border-bottom: 1px solid #fff;
        width: 100%;
        box-sizing: border-box;
    }
}

.hero {
    color: #fff;
    padding-top: 195px;
    padding-bottom: 200px;
    position: relative;
    overflow: hidden;
}

.hero__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 10;
}

.hero__date {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 18px;
}

.hero__title-1 {
    font-size: 61px;
    line-height: 61px;
    font-weight: 700;
    letter-spacing: -1.8px;
    text-transform: uppercase;
}

.hero__title-2 {
    font-size: 127px;
    line-height: 127px;
    font-weight: 700;
    letter-spacing: -1.8px;
    text-transform: uppercase;
}

.hero__desc {
    font-size: 18px;
    margin-top: 87px;
    text-align: center;
    margin-bottom: 106px;
    line-height: 1.4;
}

.hero__grape {
    background: url(ffe0e75308b88d9492dc.svg);
    width: 630px;
    height: 667px;
    position: absolute;
    top: 116px;
    right: 46px;
    z-index: 5;
    transition: all ease-out 1s;
    transform: translateX(676px);
}

.hero__wine {
    background: url(233c2934da6d7d709269.svg);
    width: 192px;
    height: 777px;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 4;
    transition: all ease-out 1s;
    transform: translateX(192px);
}

.hero__heart {
    background: url(dd4f7d02e159f2b6cab4.svg);
    width: 692px;
    height: 1096px;
    position: absolute;
    top: 435px;
    left: 0;
    z-index: 3;
    transition: all ease-out 1s;
    transform: translateX(-692px);
}

.hero__grape.opened,
.hero__wine.opened,
.hero__heart.opened {
    transform: translateX(0px);
}

@media (max-width: 1024px) {
    .hero {
        padding-top: 94px;
        padding-bottom: 87px;
    }

    .hero__heart {
        background: url(080c5fcb275556cd01e7.svg);
        width: 280px;
        height: 273px;
        top: 267px;
        left: -162px;
        transform: none;
    }

    .hero__grape {
        background: url(3f9d752202e5bc467dee.svg);
        width: 257px;
        height: 272px;
        top: 58px;
        right: 16px;
        transform: none;
    }

    .hero__wine {
        background: url(9c733a15a9c84c71f931.svg);
        width: 142px;
        height: 406px;
        top: 15px;
        right: -68px;
        transform: none;
    }

    .hero__date {
        font-size: 16px;
        font-weight: 500;
        margin-bottom: 8px;
    }

    .hero__title-1 {
        font-size: 24px;
        line-height: 24px;
        margin-bottom: 4px;
    }

    .hero__title-2 {
        font-size: 50px;
        line-height: 50px;
    }

    .hero__desc {
        font-size: 16px;
        margin: 46px 0;
    }
}

.button {
    box-sizing: border-box;
    background: #E38D4A;
    border-radius: 5px;
    border: 0;
    font-size: 18px;
    font-weight: 600;
    padding: 11px 28px;
    color: #fff;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
}

@media (max-width: 1024px) {
    .button {
        font-size: 16px;
        padding: 14px 26px;
    }
}

.about {
    padding-bottom: 105px;
    position: relative;
    z-index: 5;
}

.about__inner {
    display: flex;
    flex-direction: row;
    align-items: center;
    column-gap: 68px;
}

.about_pair {
    width: 552px;
    height: 577px;
    position: relative;
    flex-shrink: 0;
    transition: all ease-out 1s;
    transform: rotate(15.36deg) translateY(295px);
    opacity: 0.3;
}

.about-img {
    background: url(5581f467068e501a2456.png);
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
    z-index: 9;
}

.about__text {
    color: rgba(255, 255, 255, 1);
    font-size: 18px;
    font-weight: 400;
    line-height: 1.2;
    transition: all ease-out 1s;
    opacity: 0;
    transform: translateX(100%);
}

.about__text p {
    margin-top: 0;
}

.about-c1 {
    position: absolute;
    width: 189px;
    height: 189px;
    transform: rotate(-0.89deg) translateY(158px);
    background: url(25ef97b726ce2cc4a4b9.svg);
    background-size: cover;
    top: 370px;
    left: 340px;
    transition: all ease-out 1s;
    opacity: 0.3;
    z-index: 10;
}

.about-c2 {
    position: absolute;
    width: 55px;
    height: 55px;
    transform: rotate(-0.89deg) translateY(374px);
    background: url(9160afb438b65fc0d7fd.svg);
    background-size: cover;
    top: 30px;
    left: 287px;
    transition: all ease-out 1s;
    opacity: 0.3;
    z-index: 10;
}

.about-c3 {
    position: absolute;
    width: 94px;
    height: 94px;
    transform: rotate(-0.89deg) translateY(374px);
    background: url(22651c7fcb753de34b0d.svg);
    background-size: cover;
    top: 171px;
    left: -18px;
    transition: all ease-out 1s;
    opacity: 0.3;
    z-index: 8;
}

.about.opened .about__text,
.about.opened .about_pair {
    transform: translate(0px) rotate(0deg);
    opacity: 1;
}

.about.opened .about-c1 {
    transform: translateY(0px);
    opacity: 1;
}

.about.opened .about-c2 {
    transform: translateY(0px);
    opacity: 1;
}

.about.opened .about-c3 {
    transform: translateY(0px);
    opacity: 1;
}

@media (max-width: 1024px) {
    .about {
        padding: 0;
    }

    .about__inner {
        flex-direction: column;
    }

    .about_pair {
        opacity: 1;
        width: 270px;
        height: 282px;
        transform: rotate(-0.89deg);
    }

    .about-img {
        background-size: cover;
    }

    .about-c1 {
        transform: none;
        opacity: 1;
        top: 96px;
        left: -16px;
        width: 56px;
        height: 56px;
        background-size: cover;
        z-index: 3;
        background: url(e644db030912d9400996.svg);
    }

    .about-c2 {
        transform: none;
        opacity: 1;
        top: 26px;
        left: 132px;
        width: 35px;
        height: 35px;
        background-size: cover;
        z-index: 3;
        background: url(1be39b279833be33e01c.svg);
    }

    .about-c3 {
        transform: none;
        opacity: 1;
        top: 180px;
        left: 154px;
        width: 99px;
        height: 99px;
        background-size: cover;
        z-index: 10;
        background: url(756a9f97a40a5988371a.svg);
    }

    .about__text {
        transform: none;
        font-size: 16px;
        text-align: center;
        margin-top: 32px;
        padding: 0 30px;
        box-sizing: border-box;
        opacity: 1;
    }
}

.steps {
    padding: 11px 0 150px;
}

.steps__inner {

}

.steps h2 {
    color: rgba(255, 255, 255, 1);
    font-size: 61px;
    font-weight: 700;
    line-height: 100%;
    letter-spacing: -1.8px;
    text-align: center;
    text-transform: uppercase;
    margin: 0;
    transition: all ease-out 2s;
    opacity: 0;
}


.steps__desc {
    color: rgba(255, 255, 255, 1);
    font-size: 18px;
    font-weight: 400;
    line-height: 100%;
    text-align: center;
    margin-top: 20px;
    transition: all ease 2s;
    opacity: 0;
    margin-bottom: 80px;
}

.steps.opened h2 {
    opacity: 1;
}

.steps.opened .steps__desc {
    opacity: 1;
}

.steps-list {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    row-gap: 30px;
}

.step {
    display: inline-flex;
    flex-direction: column;
    transition: all ease 1.5s;
    align-items: center;
    padding: 0 24px;
    box-sizing: border-box;
    width: 50%;
}

.step-image {
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 1);
    font-size: 61px;
    font-weight: 600;
    line-height: 100%;
    letter-spacing: -1.8px;
    width: 260px;
    height: 260px;
}

.step-image-1 {
    background: url(ff9313884095c68e06a2.svg);
}

.step-image-2 {
    background: url(f7d0ea34ee321cf353ae.svg);
}

.step-image-3 {
    background: url(3f9656a8c4e56421a6c1.svg);
}

.step-image-4 {
    background: url(e6dffe8ef7851fe9be2b.svg);
}

.step-text {
    color: rgba(255, 255, 255, 1);
    font-size: 18px;
    font-weight: 400;
    line-height: 1.2;
    text-align: center;
}

.step-1 {
    transform: translateY(256px);
    opacity: 0;
}

.steps.opened .step-1 {
    transform: translateY(0px);
    opacity: 1;
}

.step-2 {
    transform: translateY(171px);
    opacity: 0;
}

.steps.opened .step-2 {
    transform: translateY(96px);
    opacity: 1;
}

@media (max-width: 1024px) {
    .steps {
        padding-top: 62px;
        padding-bottom: 40px;
    }

    .steps h2 {
        opacity: 1;
        transform: none;
        font-size: 24px;
    }

    .steps__desc {
        opacity: 1;
        transform: none;
    }

    .step-1,
    .step-2,
    .steps.opened .step-1,
    .steps.opened .step-2 {
        opacity: 1;
        transform: none;
    }

    .steps__desc {
        margin-bottom: 27px;
        padding: 0 24px;
    }

    .steps-list {
        flex-wrap: wrap;
    }

    .step-image {
        width: 122px;
        height: 122px;
        font-size: 24px;
    }

    .step-image-1 {
        background: url(99c46bcc2520c5aa6f62.svg);
    }

    .step-image-2 {
        background: url(a9c6c809d7608ff76432.svg);
    }

    .step-image-3 {
        background: url(0dd3144db4c8770c3cf6.svg);
    }

    .step-image-4 {
        background: url(ee66a72433fa373b9403.svg);
    }

    .step-text {
        font-size: 14px;
    }
}

.gallery-wrapper {
    padding: 100px 0 46px;
}

.gallery h2 {
    color: rgba(72, 72, 72, 1);
    font-size: 61px;
    font-weight: 700;
    line-height: 100%;
    letter-spacing: -1.8px;
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.gallery__desc {
    color: rgba(72, 72, 72, 1);
    font-size: 18px;
    font-weight: 400;
    line-height: 100%;
    text-align: center;
    margin-bottom: 50px;
}

.gallery-years {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: max-content;
    margin: 0 auto 43px;
}

.gallery-years:after {
    position: absolute;
    content: "";
    border-radius: 0 5px 5px 0;
    background: rgba(217, 217, 217, 1);
    width: 100%;
    height: 2px;
    bottom: 0;
    z-index: 8;
}

.gallery-year-btn {
    background: none;
    border: 0;
    color: rgba(72, 72, 72, 1);
    font-size: 18px;
    font-weight: 700;
    line-height: 22px;
    letter-spacing: -2%;
    text-align: center;
    box-sizing: border-box;
    width: 210px;
    position: relative;
    cursor: pointer;
    padding-bottom: 12px;
}

.gallery-year-btn.active:after {
    position: absolute;
    content: "";
    background: rgba(72, 72, 72, 1);
    width: 100%;
    height: 2px;
    bottom: 0;
    left: 0;
    z-index: 10;
}

.gallery-year-btn.active:first-child:after {
    border-radius: 0 5px 5px 0;
}

.gallery-year-btn.active:last-child:after {
    border-radius: 5px 0 0 5px;
}

.gallery-container {

}

.gallery-year {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    column-gap: 20px;
    row-gap: 20px;
    align-items: flex-start;
    justify-content: flex-start;
    max-height: 652px;
    overflow: hidden;
}

.gallery-img {
    border-radius: 24px;
    background-size: cover;
}

.gallery-img--1 {
    width: 385px;
    height: 316px;
}

.gallery-img--2 {
    width: 470px;
    height: 316px;
}

.gallery-img--3 {
    width: 875px;
    height: 316px;
}

.gallery-year-more {
    margin: 46px auto 0;
    width: max-content;
    display: flex;
    align-items: center;
    color: rgba(72, 72, 72, 1);
    font-size: 18px;
    font-weight: 600;
    column-gap: 6px;
    padding: 0;
    border: 0;
    background: none;
}

.gallery-container.opened .gallery-year {
    max-height: none !important;
}

.gallery-year-more.opened svg {
    transform: scale(-1);
}

.gallery-img-mobile {
    display: none;
}

@media (max-width: 1024px) {
    .gallery-wrapper {
        padding: 60px 24px 30px;
    }

    .gallery h2 {
        font-size: 24px;
        margin-top: 0;
        margin-bottom: 27px;
    }

    .gallery__desc {
        font-size: 15px;
        margin-bottom: 27px;
        line-height: 1.4;
    }

    .gallery-years {
        margin: 0 auto 27px;
        width: 100%;
    }

    .gallery-year-btn {
        width: 50%;
    }

    .gallery-year {
        flex-direction: column;
        flex-wrap: nowrap;
    }

    .gallery-img {
        display: none;
    }

    .gallery-img-mobile {
        display: block;
        width: 100%;
        max-width: 100%;
        height: auto;
        aspect-ratio: 316 / 316;
        background-position: center;
        background-size: cover;
        border-radius: 12px;
    }

    .gallery-year-more {
        margin-top: 25px;
    }
}

.map-wrapper {

}

.map {
    padding: 85px 0 150px;
}

.map h2 {
    color: rgba(255, 255, 255, 1);
    font-size: 61px;
    font-weight: 700;
    line-height: 100%;
    letter-spacing: -1.8px;
    text-align: center;
    text-transform: uppercase;
    margin: 0;
}

.map__desc {
    color: rgba(255, 255, 255, 1);
    font-size: 18px;
    font-weight: 400;
    line-height: 100%;
    text-align: center;
    margin-top: 20px;
    margin-bottom: 170px;
}

.places {
    display: flex;
    flex-direction: column;
    row-gap: 142px;
}

.place {
    padding: 41px 87px 28px;
    border-radius: 24px;
    backdrop-filter: blur(29.200000762939453px);
    background: rgba(255, 255, 255, 0.11);
    box-sizing: border-box;
    border: 2px solid rgba(255, 255, 255, .38);
    cursor: pointer;
    transition: all ease 500ms;
    position: relative;
    height: 323px;
}

@media (min-width: 1024px) {
    .place:hover {
        box-shadow: 0px 0px 29.100000381469727px 0px rgba(255, 255, 255, 0.5);
        backdrop-filter: blur(29.200000762939453px);
        background: rgba(255, 255, 255, 0.25);
    }
}

.place:nth-child(2n) {
    padding: 41px 87px 28px 623px;
}

.place-location {
    display: flex;
    color: rgba(255, 255, 255, 1);
    font-size: 18px;
    font-weight: 400;
    line-height: 100%;
    align-items: center;
    column-gap: 6px;
    margin-bottom: 24px;
}

.place-name {
    color: rgba(255, 255, 255, 1);
    font-size: 61px;
    font-weight: 600;
    line-height: 100%;
    letter-spacing: -1.8px;
    text-transform: uppercase;
    margin-bottom: 34px;
}

.place-description {
    color: rgba(255, 255, 255, 1);
    font-size: 18px;
    font-weight: 400;
    line-height: 1.2;
    max-width: 520px;
}

.place-image-wrapper {
    position: absolute;
}

.place-image {
    display: block;
}

.place__calendar {
    display: none;
}

.place-location span:first-child {
    display: inline-flex;
    align-items: center;
    column-gap: 8px;
}

.place-location span:last-child {
    display: inline-flex;
    align-items: center;
    column-gap: 8px;
}

.place__mobile-button {
    display: none;
}

@media (max-width: 1024px) {
    .map {
        padding: 59px 28px 26px;
    }

    .map h2 {
        font-size: 24px;
    }

    .map__desc {
        font-size: 16px;
        margin: 26px 0 40px;
    }

    .places {
        row-gap: 30px;
    }

    .place,
    .place:nth-child(2n) {
        padding: 56px 34px 380px;
        height: auto;
    }

    .place-location {
        flex-direction: column-reverse;
        align-items: flex-start;
        row-gap: 14px;
        margin-bottom: 29px;
        font-size: 16px;
        font-weight: 500;
    }

    .place__calendar {
        display: block;
        flex-shrink: 0;
    }

    .place-location span:nth-child(2) {
        display: none;
    }

    .place-name {
        font-size: 24px;
        letter-spacing: -1px;
    }

    .place span:first-child {
        align-items: flex-start;
        position: relative;
        padding-left: 26px;
    }

    .place__loc {
        flex-shrink: 0;
        position: absolute;
        top: -2px;
        left: 0;
    }

    .place-description {
        font-size: 16px;
        line-height: 1.3;
    }

    .place__mobile-button {
        display: block;
        background: url(858f99a8080d6624fbc3.svg);
        width: 40px;
        height: 40px;
        position: absolute;
        top: 42px;
        right: 30px;
    }
}

.place-gelendzhik {

}

.place-gelendzhik .place-image-wrapper {
    bottom: -24px;
    right: 210px;
}

.place-gelendzhik .place-image {
    position: relative;
    z-index: 4;
    transition: all ease 1s;
    transform-origin: 100% 50%;
}

.place-gelendzhik .place-c1 {
    background: url(f1f52d7883328eb06ca7.svg);
    background-size: cover;
    width: 215px;
    height: 215px;
    position: absolute;
    top: 162px;
    left: 270px;
    z-index: 3;
    transition: all ease 1s;
}

.place-gelendzhik .place-c2 {
    background: url(ad89fffe3a7bc1dd24d2.svg);
    background-size: cover;
    width: 55px;
    height: 55px;
    position: absolute;
    top: 58px;
    left: 400px;
    transition: all ease 1s;
}

@media (min-width: 1024px) {
    .place-gelendzhik:hover .place-image {
        transform: rotate(5.33deg) translateY(-20px);
    }

    .place-gelendzhik:hover .place-c1 {
        transform: translateY(-30px) translateX(-30px);
    }

    .place-gelendzhik:hover .place-c2 {
        transform: translateY(-40px);
    }
}

@media (max-width: 1024px) {
    .place-gelendzhik .place-image-wrapper {
        left: 50%;
        transform: translateX(-50%);
        right: auto;
        bottom: 23px;
    }

    .place-gelendzhik .place-image {
        width: 282px;
    }

    .place-gelendzhik .place-c1 {
        background: url(1cc59d9c9d32bfd1fd1c.svg);
        width: 164px;
        height: 164px;
        top: 142px;
        left: 150px;
    }

    .place-gelendzhik .place-c2 {
        background: url(4a9035419e10e74b1372.svg);
        width: 44px;
        height: 44px;
        top: 60px;
        left: 245px;
        z-index: 10;
    }
}

.place-temruk {

}

.place-temruk .place-image-wrapper {
    left: 168px;
    bottom: -21px;
}

.place-temruk .place-image {
    position: relative;
    z-index: 4;
    transition: all ease 1s;
    transform-origin: -100% 50%;
}

.place-temruk .place-c1 {
    background: url(cce4c09f687744a48ba5.svg);
    background-size: cover;
    width: 167px;
    height: 167px;
    position: absolute;
    top: 272px;
    left: -50px;
    z-index: 5;
    transition: all ease 1s;
}

.place-temruk .place-c2 {
    background: url(c4af48679117d9ccb2e2.svg);
    background-size: cover;
    width: 60px;
    height: 60px;
    position: absolute;
    top: 173px;
    left: 303px;
    transition: all ease 1s;
}

@media (min-width: 1024px) {
    .place-temruk:hover .place-image {
        transform: rotate(-4.73deg) translateY(0px);
    }

    .place-temruk:hover .place-c1 {
        transform: translateY(-35px) translateX(-30px);
    }

    .place-temruk:hover .place-c2 {
        transform: translateY(-40px) translateX(15px);
    }
}

@media (max-width: 1024px) {
    .place-temruk .place-image-wrapper {
        left: 50%;
        transform: translateX(-50%);
        right: auto;
        bottom: 18px;
    }

    .place-temruk .place-image {
        width: 270px;
    }

    .place-temruk .place-c1 {
        background: url(2938ec738f29bc4eebc2.svg);
        width: 135px;
        height: 135px;
        top: 212px;
        left: -54px;
    }

    .place-temruk .place-c2 {
        background: url(870fbd7f7a63082117dc.svg);
        width: 51px;
        height: 51px;
        top: 82px;
        left: 222px;
        z-index: 2;
    }
}

.place-krymsk {

}

.place-krymsk .place-image-wrapper {
    right: 206px;
    bottom: -14px;
}

.place-krymsk .place-image {
    position: relative;
    z-index: 4;
    transition: all ease 1s;
    transform-origin: 100% 50%;
}

.place-krymsk .place-c1 {
    background: url(4e47cf09d6084c374399.svg);
    background-size: cover;
    width: 215px;
    height: 215px;
    position: absolute;
    top: 105px;
    left: -79px;
    z-index: 3;
    transition: all ease 1s;
}

.place-krymsk .place-c2 {
    background: url(fb0ccf0c586140eab7ce.svg);
    background-size: cover;
    width: 69px;
    height: 69px;
    position: absolute;
    top: 305px;
    left: 308px;
    transition: all ease 1s;
    z-index: 5;
}

@media (min-width: 1024px) {
    .place-krymsk:hover .place-image {
        transform: rotate(5.33deg) translateY(-20px);
    }

    .place-krymsk:hover .place-c1 {
        transform: translateY(-45px) translateX(-15px);
    }

    .place-krymsk:hover .place-c2 {
        transform: translateY(-15px) translateX(10px);
    }
}

@media (max-width: 1024px) {
    .place-krymsk .place-image-wrapper {
        left: 50%;
        transform: translateX(-50%);
        right: auto;
        bottom: 23px;
    }

    .place-krymsk .place-image {
        width: 274px;
    }

    .place-krymsk .place-c1 {
        background: url(7df7decb32edcd210da5.svg);
        width: 140px;
        height: 140px;
        top: 65px;
        left: -40px;
        z-index: 2;
    }

    .place-krymsk .place-c2 {
        background: url(99eb91ae5811b9668270.svg);
        width: 51px;
        height: 51px;
        top: 250px;
        left: 220px;
        z-index: 10;
    }
}

.place-anapa {

}

.place-anapa .place-image-wrapper {
    left: 165px;
    bottom: -20px;
}

.place-anapa .place-image {
    position: relative;
    z-index: 4;
    transition: all ease 1s;
    transform-origin: -100% 50%;
}

.place-anapa .place-c1 {
    background: url(ce2251148f2fc5d31cd7.svg);
    background-size: cover;
    width: 253px;
    height: 253px;
    position: absolute;
    top: 150px;
    left: -79px;
    z-index: 3;
    transition: all ease 1s;
}

.place-anapa .place-c2 {
    background: url(869e0d86c4920c9617bd.svg);
    background-size: cover;
    width: 45px;
    height: 45px;
    position: absolute;
    top: 93px;
    left: -60px;
    transition: all ease 1s;
    z-index: 5;
}

@media (min-width: 1024px) {
    .place-anapa:hover .place-image {
        transform: rotate(-5.33deg) translateY(10px);
    }

    .place-anapa:hover .place-c1 {
        transform: translateY(-25px) translateX(-35px);
    }

    .place-anapa:hover .place-c2 {
        transform: translateY(-35px) translateX(-25px);
    }
}

@media (max-width: 1024px) {
    .place-anapa .place-image-wrapper {
        left: 50%;
        transform: translateX(-50%);
        right: auto;
        bottom: 20px;
    }

    .place-anapa .place-image {
        width: 275px;
    }

    .place-anapa .place-c1 {
        background: url(b0a821a140af36133865.svg);
        width: 180px;
        height: 180px;
        top: 155px;
        left: -30px;
        z-index: 2;
    }

    .place-anapa .place-c2 {
        background: url(de526931d704a05a2b7a.svg);
        width: 39px;
        height: 39px;
        top: 98px;
        left: -40px;
        z-index: 10;
    }
}

.place-severskaya {

}

.place-severskaya .place-image-wrapper {
    right: 212px;
    bottom: -21px;
}

.place-severskaya .place-image {
    position: relative;
    z-index: 4;
    transition: all ease 1s;
    transform-origin: 100% 50%;
}

.place-severskaya .place-c1 {
    background: url(d4522573c7a474978a25.svg);
    background-size: cover;
    width: 167px;
    height: 167px;
    position: absolute;
    top: 85px;
    left: 270px;
    z-index: 3;
    transition: all ease 1s;
}

.place-severskaya .place-c2 {
    background: url(ae5ce9bb05d4d3038510.svg);
    background-size: cover;
    width: 60px;
    height: 60px;
    position: absolute;
    top: 305px;
    left: -23px;
    transition: all ease 1s;
    z-index: 5;
}

@media (min-width: 1024px) {
    .place-severskaya:hover .place-image {
        transform: rotate(5.33deg) translateY(-20px);
    }

    .place-severskaya:hover .place-c1 {
        transform: translateY(-35px) translateX(10px);
    }

    .place-severskaya:hover .place-c2 {
        transform: translateY(-40px) translateX(-10px);
    }
}

@media (max-width: 1024px) {
    .place-severskaya .place-image-wrapper {
        left: 50%;
        transform: translateX(-50%);
        right: auto;
        bottom: 20px;
    }

    .place-severskaya .place-image {
        width: 273px;
    }

    .place-severskaya .place-c1 {
        background: url(d16f880cbb93a2f6dd0c.svg);
        width: 162px;
        height: 162px;
        top: 85px;
        left: 150px;
        z-index: 2;
    }

    .place-severskaya .place-c2 {
        background: url(ad724fab8b2c5d61b485.svg);
        width: 44px;
        height: 44px;
        top: 238px;
        left: -15px;
        z-index: 10;
    }
}

.place-novoros {

}

.place-novoros .place-image-wrapper {
    left: 168px;
    bottom: -19px;
}

.place-novoros .place-image {
    position: relative;
    z-index: 4;
    transition: all ease 1s;
    transform-origin: -100% 50%;
}

.place-novoros .place-c1 {
    background: url(a28e4eea03b010f06d48.svg);
    background-size: cover;
    width: 167px;
    height: 167px;
    position: absolute;
    top: 146px;
    left: -56px;
    z-index: 3;
    transition: all ease 1s;
}

.place-novoros .place-c2 {
    background: url(b7757cb4e75bd99ec68d.svg);
    background-size: cover;
    width: 60px;
    height: 60px;
    position: absolute;
    top: 287px;
    left: 324px;
    transition: all ease 1s;
    z-index: 3;
}

@media (min-width: 1024px) {
    .place-novoros:hover .place-image {
        transform: rotate(-5.33deg) translateY(10px);
    }

    .place-novoros:hover .place-c1 {
        transform: translateY(-35px) translateX(-25px);
    }

    .place-novoros:hover .place-c2 {
        transform: translateY(-55px) translateX(18px);
    }
}

@media (max-width: 1024px) {
    .place-novoros .place-image-wrapper {
        left: 50%;
        transform: translateX(-50%);
        right: auto;
        bottom: 20px;
    }

    .place-novoros .place-image {
        width: 270px;
    }

    .place-novoros .place-c1 {
        background: url(8d23751d6b62b4369d77.svg);
        width: 137px;
        height: 137px;
        top: 85px;
        left: -35px;
        z-index: 2;
    }

    .place-novoros .place-c2 {
        background: url(f2df04a3f5d6fa0fa8ea.svg);
        width: 44px;
        height: 44px;
        top: 238px;
        left: 235px;
        z-index: 2;
    }
}

.news-wrapper {
    padding-bottom: 43px;
}

.news-wrapper h2 {
    color: rgba(255, 255, 255, 1);
    font-size: 61px;
    font-weight: 700;
    letter-spacing: -1.8px;
    text-align: center;
    text-transform: uppercase;
    margin: 0 0 40px;
}

.news-list {
    display: flex;
    flex-direction: row;
    column-gap: 47px;
    row-gap: 47px;
    margin-bottom: 48px;
    flex-wrap: wrap;
}

.news-item {
    width: 395px;
}

.news-item__picture {
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    margin-bottom: 16px;
}

.new-item__img {
    display: block;
}

.news-item__tag {
    position: absolute;
    display: flex;
    flex-direction: row;
    padding: 5px 8px 5px 8px;
    color: rgba(20, 20, 20, 1);
    font-size: 12px;
    font-weight: 500;
    line-height: 16px;
    letter-spacing: 2.5%;
    top: 20px;
    left: 20px;
    border-radius: 8px;
    backdrop-filter: blur(4px);
    background: rgba(255, 255, 255, 0.5);
    text-transform: uppercase;
}

.news-item__content {
    border-radius: 12px;
    background: #fff;
    padding: 23px 28px 24px;
    box-sizing: border-box;
    height: 264px;
}

.news-item__name {
    color: rgba(72, 72, 72, 1);
    font-size: 18px;
    margin-bottom: 20px;
    font-weight: 600;
}

.news-item__text {
    color: rgba(72, 72, 72, 1);
    font-size: 18px;
    line-height: 1.2;
    margin-bottom: 43px;
}

.news-all {
    text-align: center;
}

.news-all__link {
    color: rgba(255, 255, 255, 1);
    font-size: 18px;
    font-weight: 500;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    column-gap: 5px;
}

.news-wrapper--i .news-item__content {
    border: 2px solid rgba(240, 240, 240, 1);
}

.news-wrapper--i h1 {
    color: rgba(72, 72, 72, 1);
    font-size: 61px;
    font-weight: 700;
    letter-spacing: -1.8px;
    text-align: center;
    text-transform: uppercase;
    margin: 0 0 40px;
}

.tag-filter {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    column-gap: 16px;
    row-gap: 16px;
    margin-bottom: 40px;
}

.tag-filter__item {
    color: rgba(72, 72, 72, 1);
    font-size: 18px;
    font-weight: 600;
    padding: 13px 16px 15px;
    border-radius: 8px;
    background: rgba(240, 240, 240, 1);
    cursor: pointer;
    user-select: none;
}

.tag-filter__item.active {
    color: #fff;
    background: #E38D4A;
}

@media (max-width: 1024px) {
    .news-wrapper h2 {
        font-size: 24px;
    }

    .news-list {
        padding: 0 28px;
        column-gap: 27px;
        row-gap: 27px;
    }

    .news-item {
        width: 100%;
    }

    .new-item__img {
        max-width: 100%;
        width: 100%;
        height: auto;
    }

    .news-item__content {
        padding: 23px 20px 26px;
        height: auto;
    }

    .news-item__name {

    }

    .news-item__text {
        font-size: 14px;
    }
}

.footer {
    background: rgba(227, 130, 75, 1);
    padding: 37px 0;
    margin-top: auto;
}

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

.socials {
    display: flex;
    align-items: center;
    color: rgba(255, 255, 255, 1);
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    column-gap: 28px;
}

@media (max-width: 1024px) {
    .footer .logo {
        display: none;
    }

    .footer__inner {
        justify-content: center;
    }
}

.faq-wrapper {
    padding: 92px 0;
}

.faq-inner {
    display: grid;
    grid-template-columns: 616px 1fr;
    column-gap: 140px;
}

.faq {
    border-top: 1px solid #D9D9D9;
}

.faq-item {
    border-bottom: 1px solid #D9D9D9;
    padding: 32px 2px 32px 10px;
}

.faq-item__name {
    display: flex;
    align-items: center;
    color: rgba(72, 72, 72, 1);
    font-size: 18px;
    font-weight: 600;
    justify-content: space-between;
    cursor: pointer;
}

.faq-item__button {
    border: 0;
    background: url(388592f06a6db9cbc799.svg);
    width: 24px;
    height: 24px;
    cursor: pointer;
    padding: 0;
    flex-shrink: 0;
    flex-grow: 0;
}

.faq-item.opened .faq-item__button {
    background: url(d74c5bb31abf6952826f.svg);
}

.faq-item__content {
    color: rgba(72, 72, 72, 1);
    font-size: 18px;
    font-weight: 400;
    padding-top: 32px;
}

@media (max-width: 1024px) {
    .faq-wrapper {
        padding: 50px 30px;
    }

    .faq-inner {
        display: flex;
        flex-direction: column;
        row-gap: 50px;
        column-gap: 0;
    }

    .faq-item {
        padding: 23px 0 23px 10px;
    }

    .faq-item__name {
        font-size: 16px;
        column-gap: 12px;
    }
}

.final {
    color: rgba(72, 72, 72, 1);
    font-size: 18px;
    line-height: 36px;
}

.final p {
    margin-top: 0;
}

@media (max-width: 1024px) {
    .final {
        font-size: 18px;
        line-height: 1.2;
    }
}

.modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(141, 141, 141, .3);
    z-index: 100;
}

.modal {
    background: #fff;
    border-radius: 12px;
    z-index: 105;
    width: 1080px;
    height: auto;
    min-height: 548px;
    display: grid;
    grid-template-columns: 392px 1fr;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    overflow: auto;
}

.modal-content {
    position: relative;
    box-sizing: border-box;
    padding: 100px 72px 100px 82px;
    overflow-y: auto;
    max-height: 730px;
}

.modal-close {
    background: url(5e9e7f6db91c51703e6e.svg);
    cursor: pointer;
    width: 20px;
    height: 20px;
    background-size: cover;
    position: absolute;
    top: 49px;
    right: 72px;
    z-index: 5;
}

.modal-photo {
    overflow: hidden;
}

.modal-image {
    display: block;
    height: 100%;
}

.program-dates {
    display: flex;
    column-gap: 30px;
    margin-bottom: 30px;
}

.program-date {
    color: rgba(255, 255, 255, 1);
    font-size: 18px;
    font-weight: 500;
    line-height: 100%;
    box-sizing: border-box;
    padding: 6px 20px 6px;
    border-radius: 8px;
    background: rgba(217, 217, 217, 1);
    cursor: pointer;
}

.program-date.active {
    background: rgba(227, 130, 75, 1);
}

.program-location {
    margin-bottom: 24px;
    color: rgba(72, 72, 72, 1);
    font-size: 18px;
    font-weight: 600;
}

.program-description {
    margin-bottom: 24px;
    line-height: 1.2;
}

.program-buttons {
    display: flex;
    flex-direction: row;
    column-gap: 20px;
}

.program-button {
    margin-top: 40px;
}

.program-row {
    display: grid;
    grid-template-columns: 48px 2px 1fr;
    align-items: center;
    column-gap: 15px;
}

.program-row--empty {
    grid-template-columns: 2px 1fr;
}

.program-row:not(:last-child) {
    margin-bottom: 30px;
}

.program-time {
    color: rgba(72, 72, 72, 1);
    font-size: 18px;
    font-weight: 600;
}

.program-line {
    width: 2px;
    height: 100%;
    background: rgba(223, 223, 223, 1);
}

.program-event {
    color: rgba(72, 72, 72, 1);
    font-size: 18px;
}

.modal--news {
    display: block;
    padding: 57px 74px;
    box-sizing: border-box;
    height: auto;
    min-height: auto;
    max-height: calc(100dvh - 40px);
}

.new-tag {
    border-radius: 8px;
    background: rgba(227, 130, 75, 1);
    color: rgba(255, 255, 255, 1);
    font-size: 18px;
    font-weight: 500;
    padding: 5px 20px 6px;
    margin-bottom: 17px;
    width: max-content;
}

.new-photo {
    border-radius: 12px;
    overflow: hidden;
}

.new-image {
    display: block;
}

.new-content {
    color: rgba(72, 72, 72, 1);
    font-size: 18px;
    line-height: 1.2;
}

.modal-mobile-image {
    display: none;
}

@media (max-width: 1024px) {
    .modal {
        max-height: calc(100dvh - 40px);
        width: calc(100% - 10px);
        display: flex;
        flex-direction: column;
        min-width: auto;
        min-height: auto;
    }

    .modal--news {
        max-height: calc(100dvh - 40px);
        width: calc(100% - 10px);
        padding: 23px 25px;
    }

    .modal-close {
        top: 28px;
        right: 25px;
    }

    .new-image {
        max-width: 100%;
        height: auto;
    }

    .new-content {
        font-size: 16px;
        line-height: 1.3;
    }

    .modal-photo {
        display: none;
    }

    .modal-image {
        max-width: 100%;
        height: auto;
    }

    .modal-content {
        padding: 72px 28px 32px;
    }

    .modal-mobile-image {
        display: block;
        width: 100%;
        height: auto;
        border-radius: 12px;
        margin-bottom: 24px;
    }

    .program-dates {
        column-gap: 5px;
    }

    .program-date {
        font-size: 16px;
    }

    .program-location {
        font-size: 16px;
    }

    .program-time {
        font-size: 16px;
    }

    .program-event {
        font-size: 16px;
    }

    .program-buttons {
        flex-direction: column;
    }

    .program-button {
        margin-top: 20px;
    }
}

.cookie-agreement-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(141, 141, 141, .3);
    z-index: 100;
}

.cookie-agreement {
    border-radius: 10px;
    background: rgba(255, 255, 255, 1);
    padding: 54px 39px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.cookie-agreement__title {
    color: rgba(72, 72, 72, 1);
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 32px;
}

.cookie-agreement__text {
    color: rgba(72, 72, 72, 1);
    font-size: 18px;
    font-weight: 400;
    margin-bottom: 48px;
}

.cookie-agreement__buttons {
    display: flex;
    flex-direction: row;
    column-gap: 15px;
}

.cookie-agreement-yes {
    background: url(d18524f5cf5019625822.svg);
    width: 169px;
    height: 49px;
    cursor: pointer;
    border: 0;
}

.cookie-agreement-no {
    background: url(f085cddeb6c4b19ab6f9.svg);
    width: 169px;
    height: 49px;
    cursor: pointer;
    border: 0;
}

.breadcrumbs {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 8px;
    color: #E0E0E0;
    font-size: 14px;
    margin: 49px 0 33px;
}

.breadcrumbs a {
    color: #AAAAAA;
    text-decoration: none;
}

.breadcrumbs span {
    color: #CACACA;
}

.events-wrapper {
    padding: 60px 0 0;
}

.events-wrapper h2 {
    font-size: 61px;
    margin-bottom: 40px;
    font-weight: 700;
    letter-spacing: -1.8px;
    text-align: center;
    margin-top: 0;
    color: #484848;
    text-transform: uppercase;
}

.events-list {
    display: flex;
    flex-direction: column;
    row-gap: 40px;
}

.event__img {
    border-radius: 12px;
    margin-bottom: 20px;
}

.event__name {
    font-size: 32px;
    line-height: 1.2;
    color: #000;
    font-weight: 600;
    margin-bottom: 20px;
}

.event__info {
    margin-bottom: 20px;
    display: flex;
    flex-direction: row;
    column-gap: 20px;
    align-items: center;
}

.event__location {
    font-size: 20px;
    color: #000;
    font-weight: 500;
}

.event__time {
    font-size: 18px;
    color: #484848;
}

@media (max-width: 1024px) {
    .events-wrapper {
        padding: 38px 28px 0;
    }

    .events-wrapper h2 {
        font-size: 24px;
        margin-bottom: 27px;
    }

    .events-list {
        row-gap: 27px;
    }

    .event__img {
        max-width: 100%;
        height: auto;
    }

    .event__name {
        font-size: 16px;
        margin-bottom: 10px;
    }

    .event__info {
        flex-direction: column;
        row-gap: 10px;
        align-items: flex-start;
    }

    .event__location {
        font-size: 16px;
    }

    .event__time {
        font-size: 16px;
    }
}



