@keyframes swing {
    0%, to {
        transform: rotate(0deg) translateY(0)
    }
    25% {
        transform: rotate(1.5deg)
    }
    50% {
        transform: rotate(0deg) translateY(-10px)
    }
    75% {
        transform: rotate(-1.5deg)
    }
}

@keyframes swing2 {
    0%, to {
        transform: rotate(0deg) translateY(0)
    }
    25% {
        transform: rotate(-1.5deg)
    }
    50% {
        transform: rotate(0deg) translateY(-15px)
    }
    75% {
        transform: rotate(1.5deg)
    }
}

@keyframes reveal {
    0% {
        background-position: 0 0
    }
    to {
        background-position: 100% 0
    }
}

:root {
    --title-font-family: "SMHeadersFont", sans-serif;
    --text-font-family: "SMTextsFont", sans-serif;
    --alt-font-family: "SMAltFont";
    --title-font-weight: 500;
    --text-font-weight: 300;
    --title-font-size: 64px;
    --text-font-size: 18px;
    --title-line-height: 120%;
    --text-line-height: 180%;
    --text-clr-1: #B62D09;
    --mod-clr: #D50100;
    --placeholder-input-font-size: 20px;
    --placeholder-input-clr: rgb(183 44 9 / 50%);
    --section-padding: 120px 0;
    --section-bg: url('templates/img/fon-89.webp');
    --section-bg-clr-1: #B62D09;
    --section-bg-clr-2: #D7CDC7;
    --btn-bg: #770909;
    --btn-clr: #FFFFFF;
    --btn-hover-bg: #f21630;
    --btn-hover-clr: #FFFFFF;
    --btn-transition: background-color .2s, color .2s, border .2s;
    --bg-fon: url("templates/img/sections-decor/q-fon.webp");
    --date-active: url("templates/img/date-active.svg")
}

@media (max-width: 500px) {
    :root {
        --title-font-weight: 500;
        --text-font-weight: 300;
        --title-font-size: 40px;
        --text-font-size: 14px;
        --title-line-height: 120%;
        --text-line-height: 180%;
        --placeholder-input-font-size: 13px;
        --section-padding: 45px 0 120px
    }
}

* {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.sm-page {
    /*position: absolute;*/
    top: 0;
    left: 0;
    width: 100%;
    /*height: 100%;*/
    transform-origin: top left;
}

.sm-page, body.lock {
    /*position: absolute;*/
    top: 0;
    left: 0;
    width: 100%;
    /*height: 100%;*/
    transform-origin: top left;
}

html, body {
    margin: 0;
    padding: 0;
    overflow-x: clip;
    font-family: var(--text-font-family);
    color: var(--text-clr-1);
    background-image: url(templates/img/fon-90.webp);
}

a {
    text-decoration: none
}

.sm-container {
    position: relative;
    max-width: 1180px;
    padding: 0 16px;
    margin: 0 auto
}

.sm-container-flex {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 178px
}

@media (max-width: 500px) {
    .sm-container-flex {
        flex-direction: column;
        gap: 30px
    }
}

.sm-mod-clr {
    color: var(--mod-clr) !important
}

.sm-text, .sm-title {
    color: var(--text-clr-1);
    font-family: var(--title-font-family);
    font-size: var(--title-font-size);
    line-height: var(--title-line-height);
    font-weight: var(--title-font-weight);
    text-align: center;
    letter-spacing: -.05em
}

.sm-text {
    font-size: var(--text-font-size);
    font-weight: var(--text-font-weight);
    font-family: var(--text-font-family);
    color: var(--section-bg-clr-1);
    line-height: var(--text-line-height)
}

.sm-title ~ .sm-text {
    margin-top: 20px
}

.sm-img {
    width: 267px;
    height: 312px;
    background: url(templates/img/image-decor.webp);
    background-size: 100%
}

.sm-img > img {
    width: 210px;
    height: 215px;
    margin-left: 29px;
    margin-top: 27px;
    position: relative;
    z-index: 10
}

@media (max-width: 500px) {
    .sm-img {
        width: 229px;
        height: 267px
    }

    .sm-img > img {
        width: 176px;
        height: 181px;
        margin-left: 28px;
        margin-top: 25px;
        position: relative;
        z-index: 10
    }
}

.sm-main-top-decor {
    content: "";
    width: 570px;
    height: 200px;
    margin: 0 auto;
    mask: url(templates/img/header.svg);
    -webkit-mask: url(templates/img/header.svg);
    mask-size: 100% 100%;
    -webkit-mask-size: 100% 100%;
    background: var(--text-clr-1)
}

.sm-main-top-decor > img {
    width: 100%
}

@media (max-width: 500px) {
    .sm-main-top-decor {
        width: 100vw;
        margin-left: -16px;
        top: -8px;
        height: 140px
    }

    .sm-main-top-decor svg {
        width: 100%;
        height: 100%
    }
}

svg {
    fill: var(--text-clr-1)
}

.decor-heart-1 {
    width: 30px;
    height: 30px;
    position: absolute;
    top: -45px;
    left: 50%;
    transform: rotate(-34deg)
}

.decor-heart-2, .decor-heart-3 {
    width: 36px;
    height: 44px;
    position: absolute;
    top: 23%;
    left: 76%;
    transform: rotate(-5deg)
}

.decor-heart-3 {
    width: 30px;
    height: 30px;
    top: 45%;
    left: 22%;
    transform: rotate(2deg)
}

.decor-heart-4 {
    position: absolute;
    top: -75px;
    left: 15%
}

.decor-heart-5, .decor-heart-6 {
    position: absolute;
    right: 16%;
    top: 17%
}

.decor-heart-6 {
    top: 0;
    right: 150px
}

.decor-heart-7 {
    position: absolute;
    left: -125px;
    bottom: 25px
}

.decor-heart-8 {
    position: absolute;
    top: 28%;
    left: 420px
}

.decor-heart-9 {
    position: absolute;
    bottom: 20%;
    right: -75px;
    transform: rotate(16deg)
}

.decor-heart-10 {
    position: absolute;
    right: -100px;
    top: 40%
}

.decor-heart-11 {
    position: absolute;
    left: calc(50% - 300px);
    top: 38px
}

.decor-heart-12 {
    position: absolute;
    right: -110px;
    top: 40%
}

@media (max-width: 500px) {
    .decor-heart-1 {
        top: -2px;
        left: 46%
    }

    .decor-heart-2 {
        top: 18%;
        left: 92%
    }

    .decor-heart-3 {
        top: 70%;
        left: -1%
    }

    .decor-heart-4 {
        top: 55px;
        left: 0
    }

    .decor-heart-5 {
        right: -2%;
        top: -62%
    }

    .decor-heart-6 {
        top: 30%;
        right: 20px
    }

    .decor-heart-7 {
        left: 0;
        bottom: 75px
    }

    .decor-heart-10 {
        right: -60px
    }

    .decor-heart-11 {
        left: 40px;
        top: -18px
    }

    .decor-heart-12 {
        right: -45px;
        top: 30%
    }
}

.decor-heart-1, .decor-heart-10, .decor-heart-11, .decor-heart-12, .decor-heart-2, .decor-heart-3, .decor-heart-4, .decor-heart-5, .decor-heart-6, .decor-heart-7, .decor-heart-8, .decor-heart-9 {
    animation: heartbeatSmall 1s infinite
}

.sm-main__image-container > div.decor-heart-2 {
    width: fit-content
}

.sm-own, .sm-section {
    padding: var(--section-padding);
    background-image: url(templates/img/fon-90.webp);
    background-size: 100% 100%;
    background-color: transparent
}

@media (max-width: 500px) {
    .sm-own, .sm-section {
        background-image: url(templates/img/fon-90-mob.webp);
        background-size: 100% auto;
        background-color: transparent
    }

    .sm-own {
        padding: 30px 0
    }
}

.sm-section-type-1 {
    background-color: var(--section-bg-clr-1);
    position: relative
}

.sm-section-type-2 {
    background-color: var(--section-bg-clr-2);
    position: relative
}

.sm-arrow {
    cursor: pointer
}

.sm-arrow:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-size: cover
}

.decor-note text, .sm-btn {
    font-family: "SMHeadersFont"
}

.sm-btn {
    background: url(templates/img/date-decor.webp) no-repeat center/100% 100%;
    padding: 0 19px;
    font-size: 20px;
    color: #fff;
    width: fit-content;
    min-width: 274px;
    position: relative;
    display: block;
    z-index: 10;
    height: 62px;
    line-height: 62px;
    text-align: center;
    margin: 0 auto;
    transition: .5s !important;
    border: 0;
    cursor: pointer
}

.sm-btn:hover {
    transform: scale(1.05);
    background: url(templates/img/but-hov.webp) no-repeat center/100% 100%
}

@media (max-width: 500px) {
    .sm-btn {
        height: 62px;
        margin: 0 auto;
        padding: 0 20px;
        font-size: 20px;
        line-height: 62px;
        letter-spacing: -.05em
    }
}

.sm-modal.sm-open {
    top: 0;
    z-index: 999;
    overflow: auto;
    display: block !important
}

.sm-modal-close {
    cursor: pointer;
    position: absolute;
    right: 20px;
    top: 20px;
    z-index: 10;
    font-size: 21px;
    line-height: var(--title-line-height);
    font-family: var(--title-font-family);
    display: none
}

.sm-modal.sm-open .sm-modal-close {
    display: block
}

.sm-btn-fixed, .sm-modal.sm-open {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0
}

.sm-btn-fixed {
    z-index: 100;
    width: 100%;
    height: 56px;
    border-radius: initial
}

[data-sm-tmonth-rod] {
    text-transform: lowercase
}

.sm-shared__content {
    display: block;
    flex-direction: row-reverse;
    justify-content: space-between;
    gap: 80px;
    position: relative
}

@media (max-width: 500px) {
    .sm-shared__content {
        flex-direction: column-reverse;
        gap: 60px
    }
}

.sm-shared__image {
    position: relative;
    z-index: 1
}

@media (max-width: 500px) {
    .sm-shared__image {
        width: fit-content;
        margin: 0 0 0 auto
    }
}

.sm-shared__image .sm-img {
    z-index: 1
}

.sm-main_groom-name {
    position: absolute;
    top: -35px;
    left: 24%;
    transform: rotate(-18deg)
}

.sm-main-arr-groom {
    position: absolute;
    top: 22px;
    left: 28%
}

.sm-main_bride-name {
    position: absolute;
    top: -40px;
    right: 28%
}

.decor-note text {
    font-size: 21px;
    color: #b82e08;
    letter-spacing: .1em;
    fill: #b82e08
}

.decor-note {
    height: 70px;
    width: 200px
}

.sm-datetime .decor-note, .sm-decor-bye-2 {
    height: 90px
}

@media (max-width: 500px) {
    .sm-main_groom-name {
        top: -32px;
        left: -10%
    }

    .sm-main_bride-name {
        left: 41%;
        top: -38px
    }

    .sm-main_bride-name textPath, .sm-main_groom-name textPath {
        font-size: 20px
    }

    .sm-main-arr-groom {
        top: 15px;
        width: 18px;
        height: 45px;
        left: 2%
    }
}

.sm-main__image-container img {
    /*width: 238px;*/
    height: 414px;
    position: relative;
    left: -31px
}

@media (max-width: 500px) {
    .sm-main__image-container img {
        /*width: 197px;*/
        height: 342px;
        position: relative;
        left: -38px
    }
}

.sm-main-arr-bride {
    left: 71%;
    position: absolute;
    top: 20px
}

svg.sm-main__heart {
    position: relative;
    left: calc(50% - 95px)
}

.sm-main_names-plus {
    margin: 0 20px
}

.sm-shared__names__wrapper .sm-main__names div {
    line-height: 100%
}

.sm-main__decor-text {
    position: absolute;
    left: 0;
    top: 60px;
    width: 1166px
}

@media (max-width: 500px) {
    .sm-main__decor-text {
        position: absolute;
        left: 0;
        margin-left: 5.5%;
        top: -55px;
        width: 88.5vw
    }

    .sm-main-arr-bride {
        width: 14px;
        height: 34px;
        top: 21px;
        left: auto;
        right: 3%
    }

    .sm-main_names-plus {
        margin: 0 10px
    }

    .sm-shared__names__wrapper .sm-main__names div {
        line-height: 45px
    }

    svg.sm-main__heart {
        left: calc(50% - 36px);
        width: 70px;
        height: 100px;
        margin-top: -18px
    }
}

.sm-main__date {
    background: url(templates/img/date-decor.webp);
    background-size: 100%;
    background-repeat: no-repeat;
    padding: 18px 70px;
    font-size: 20px;
    margin-top: -32px;
    color: #fff;
    z-index: 10
}

@media (max-width: 500px) {
    .sm-main__date {
        background-size: 100% 100%;
        padding: 18px 50px;
        margin-top: -28px;
        margin-left: -20px
    }
}

.sm-main__image.sm-shared__images {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 1920px;
    margin-left: -386px;
    margin-top: 110px;
    margin-bottom: 105px
}

@media (max-width: 500px) {
    .sm-main__image.sm-shared__images {
        width: 390px;
        margin-left: -5px;
        margin-top: 60px;
        margin-bottom: 35px
    }
}

.sm-main__image-container {
    display: flex;
    flex-direction: row
}

.sm-main__image-container > div {
    width: 175px
}

.sm-shared__images .sm-img:after, .sm-shared__images .sm-img:before {
    width: 10px !important;
    height: 10px !important
}

@media (max-width: 500px) {
    .sm-shared__image .sm-img img {
        width: 100%;
        max-width: 259px;
        height: 388px
    }

    .sm-main__image-container > div {
        width: 147px
    }
}

.sm-shared__date {
    position: absolute;
    left: -105px;
    bottom: -50px;
    z-index: 5;
    display: flex;
    flex-direction: column;
    font-family: var(--title-font-family);
    font-weight: var(--title-font-weight);
    font-size: 120px;
    line-height: var(--title-line-height);
    text-transform: uppercase
}

@media (max-width: 500px) {
    .sm-shared__date {
        font-size: 100px;
        left: -85px
    }
}

@media (min-width: 501px) {
    .sm-shared__names__wrapper {
        margin-top: 0
    }
}

.sm-shared__title {
    font-family: var(--text-font-family);
    font-size: 20px;
    font-weight: var(--text-font-weight);
    line-height: var(--text-line-height);
    text-transform: uppercase
}

@media (max-width: 500px) {
    .sm-shared__title {
        text-align: center;
        font-size: 18px
    }
}

.sm-js-animation {
    --decor-width: 434px
}

@media (max-width: 500px) {
    .sm-shared__image__decor::before {
        height: 531px;
        right: -16px;
        top: -52px
    }
}

.sm-picture-fon {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    overflow: hidden
}

.sm-picture-fon:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: -100%;
    background: linear-gradient(180deg, rgba(0, 0, 0, .8) 4.4%, transparent 100%)
}

.sm-picture-fon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover
}

@media (min-width: 501px) {
    .sm-date {
        word-spacing: 0;
        font-size: 24px
    }
}

.sm-main__content {
    margin-top: 60px
}

@media (max-width: 500px) {
    .sm-main__content {
        margin-top: 20px
    }
}

.sm-main__names {
    font-family: var(--title-font-family);
    font-weight: var(--title-font-weight);
    white-space: nowrap;
    line-height: var(--title-line-height);
    position: relative;
    margin-top: 0;
    font-size: var(--title-font-size);
    color: #b72e08;
    text-align: center
}

@media (max-width: 500px) {
    .sm-main__names {
        font-size: 50px;
        text-align: center;
        margin-top: -30px;
        line-height: 100%
    }
}

.sm-main__names div {
    display: inline-block
}

.sm-main {
    padding: 0 0 60px;
    position: relative;
    z-index: 5
}

@media (max-width: 500px) {
    .sm-main {
        padding: 10px 0 20px
    }
}

.sm-history {
    padding: 60px 0 100px
}

@media (max-width: 500px) {
    .sm-history {
        padding: 20px 0 40px
    }
}

.sm-history__header {
    font-family: var(--title-font-family);
    font-weight: var(--title-font-weight);
    font-size: var(--title-font-size);
    text-align: center;
    color: #444
}

.sm-history__text {
    font-family: var(--text-font-family);
    font-weight: var(--text-font-weight);
    font-size: var(--text-font-size);
    text-align: center;
    color: var(--section-bg-clr-1);
    line-height: var(--text-line-height);
    letter-spacing: .01em;
    width: 73%;
    margin: 20px 13.5%
}

@media (max-width: 500px) {
    .sm-history__text {
        width: 85%;
        margin: 20px 7.5%
    }
}

.sm-history__img {
    position: relative;
    background: #fff;
    width: 624px;
    height: 750px;
    box-shadow: 0 0 18px 0 #404040;
    margin: 195px auto 0;
    transform: rotate(7deg)
}

.sm-history__img img {
    width: 556px;
    height: 556px;
    margin-top: 30px;
    margin-left: 35px
}

@media (max-width: 500px) {
    .sm-history__img {
        width: 224px;
        height: 272px;
        margin: 70px 30px 0 77px;
        box-shadow: 0 3px 7px 0 #919191
    }

    .sm-history__img img {
        width: 200px;
        height: 200px;
        margin-top: 12px;
        margin-left: 12px
    }
}

.sm-history__decor {
    position: absolute;
    top: 44%;
    left: -20%;
    transform: translate(-50%, -100%) rotate(-13deg);
    font-size: 42px;
    font-family: var(--title-font-family);
    letter-spacing: -.03em;
    max-width: 170px
}

.sm-history__decor-arr {
    position: absolute;
    top: 42%;
    left: -25%
}

@media (max-width: 500px) {
    .sm-history__decor {
        top: 55%;
        left: -22%;
        transform: translate(-50%, -100%) rotate(-19deg);
        font-size: 18px;
        max-width: 75px
    }

    .sm-history__decor-arr {
        width: 40px;
        top: 45%;
        left: -25%;
        transform: rotate(-20deg)
    }
}

.sm-datetime {
    padding: 65px 0 120px
}

@media (max-width: 500px) {
    .sm-datetime {
        padding: 45px 0 50px
    }
}

.sm-datetime .sm-container {
    display: block
}

.sm-datetime .sm-text {
    max-width: 500px;
    margin: 30px auto 0;
    position: relative
}

span.sm-calendar__month-text-1:nth-child(3) {
    font-size: 106px
}

.sm-datetime .sm-title {
    color: #b82e08;
    max-width: 600px;
    margin: 0 auto
}

.sm-calendar__month-text {
    font-size: 88px;
    letter-spacing: -.02em;
    font-family: var(--title-font-family);
    color: #6389ea;
    text-transform: uppercase;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center
}

.sm-calendar__month-text > div:first-child:before, .sm-calendar__month-text > div:nth-child(2):before {
    content: "";
    width: 7px;
    height: 7px;
    position: absolute;
    background-size: 100%;
    right: -25px;
    top: 45%;
    mask: url("data:image/svg+xml,%3Csvg width='6' height='5' viewBox='0 0 6 5' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='2.49609' cy='2.00098' r='1.5' fill='%23B62D09'/%3E%3Cpath d='M3.41511 2.84838L4.23988 3.41385L3.41511 2.84838ZM2.91472 3.12253L2.94183 2.1229L2.91472 3.12253ZM2.60799 3.11421L2.58087 4.11384L2.60799 3.11421ZM2.30126 3.10589L2.27414 4.10552L2.30126 3.10589ZM1.11668 1.99148L0.419401 1.27468L1.11668 1.99148ZM2.09803 1.1879L1.78196 0.239159L2.09803 1.1879ZM3.5912 1.20273L3.28674 2.15526L3.5912 1.20273ZM4.281 1.59042L5.10256 2.16055L4.281 1.59042ZM4.09106 1.86413L3.26951 1.294L4.09106 1.86413ZM3.60877 2.56591L2.784 2.00045L2.59034 2.28291L3.41511 2.84838L4.23988 3.41385L4.43354 3.13138L3.60877 2.56591ZM3.41511 2.84838L2.59034 2.28291C2.5969 2.27335 2.63354 2.22452 2.7127 2.18115C2.79637 2.13531 2.88085 2.12124 2.94183 2.1229L2.91472 3.12253L2.88761 4.12216C3.4754 4.1381 3.94521 3.84364 4.23988 3.41385L3.41511 2.84838ZM2.91472 3.12253L2.94183 2.1229L2.6351 2.11458L2.60799 3.11421L2.58087 4.11384L2.88761 4.12216L2.91472 3.12253ZM2.60799 3.11421L2.6351 2.11458L2.32837 2.10626L2.30126 3.10589L2.27414 4.10552L2.58087 4.11384L2.60799 3.11421ZM2.30126 3.10589L2.32837 2.10626C2.33413 2.10641 2.34027 2.1071 2.34614 2.10827C2.35198 2.10945 2.35582 2.11075 2.35725 2.1113C2.36043 2.11251 2.34845 2.10862 2.32183 2.08819L1.71296 2.88146L1.10409 3.67473C1.43194 3.92636 1.82699 4.09339 2.27414 4.10552L2.30126 3.10589ZM1.71296 2.88146L2.32183 2.08819L2.04027 1.87207L1.4314 2.66534L0.822527 3.45861L1.10409 3.67473L1.71296 2.88146ZM1.4314 2.66534L2.04027 1.87207L1.7587 1.65596L1.14983 2.44923L0.540963 3.2425L0.822527 3.45861L1.4314 2.66534ZM1.14983 2.44923L1.7587 1.65596C1.76823 1.66328 1.974 1.82115 1.99815 2.15449C2.02295 2.49681 1.83335 2.68941 1.81395 2.70828L1.11668 1.99148L0.419401 1.27468C0.234398 1.45464 -0.0324714 1.80408 0.00337607 2.29898C0.038574 2.78491 0.343726 3.09111 0.540963 3.2425L1.14983 2.44923ZM1.11668 1.99148L1.81395 2.70828L2.06236 2.46664L1.36508 1.74984L0.667808 1.03304L0.419401 1.27468L1.11668 1.99148ZM1.36508 1.74984L2.06236 2.46664L2.31077 2.225L1.61349 1.5082L0.916214 0.791398L0.667808 1.03304L1.36508 1.74984ZM1.61349 1.5082L2.31077 2.225C2.35704 2.17999 2.39054 2.15456 2.41028 2.14151C2.42978 2.12862 2.431 2.131 2.4141 2.13663L2.09803 1.1879L1.78196 0.239159C1.43693 0.354104 1.15 0.563979 0.916214 0.791398L1.61349 1.5082ZM2.09803 1.1879L2.4141 2.13663L2.65023 2.05796L2.33416 1.10923L2.01809 0.160493L1.78196 0.239159L2.09803 1.1879ZM2.33416 1.10923L2.65023 2.05796L2.88636 1.9793L2.57029 1.03056L2.25422 0.0818262L2.01809 0.160493L2.33416 1.10923ZM2.57029 1.03056L2.88636 1.9793C2.81088 2.00444 2.76476 1.99968 2.7713 2.00016C2.77352 2.00033 2.78481 2.00137 2.80633 2.0059C2.82776 2.01041 2.85689 2.01787 2.89435 2.02984L3.19881 1.07731L3.50326 0.124788C3.16011 0.0151052 2.7065 -0.0688507 2.25422 0.0818262L2.57029 1.03056ZM3.19881 1.07731L2.89435 2.02984L3.28674 2.15526L3.5912 1.20273L3.89565 0.250206L3.50326 0.124788L3.19881 1.07731ZM3.5912 1.20273L3.28674 2.15526L3.67913 2.28068L3.98358 1.32815L4.28804 0.375625L3.89565 0.250206L3.5912 1.20273ZM3.98358 1.32815L3.67913 2.28068C3.78984 2.31607 3.7086 2.30863 3.59273 2.20646C3.52482 2.14657 3.37161 1.98892 3.31755 1.71933C3.25721 1.41846 3.35663 1.16845 3.45944 1.0203L4.281 1.59042L5.10256 2.16055C5.23703 1.96677 5.3478 1.67163 5.27851 1.32609C5.21549 1.01184 5.03301 0.809994 4.91553 0.706393C4.70053 0.516799 4.43892 0.42385 4.28804 0.375625L3.98358 1.32815ZM4.281 1.59042L3.45944 1.0203L3.36448 1.15715L4.18603 1.72727L5.00759 2.2974L5.10256 2.16055L4.281 1.59042ZM4.18603 1.72727L3.36448 1.15715L3.26951 1.294L4.09106 1.86413L4.91262 2.43425L5.00759 2.2974L4.18603 1.72727ZM4.09106 1.86413L3.26951 1.294C3.2045 1.38767 3.10697 1.52937 2.97766 1.71798L3.80243 2.28344L4.6272 2.84891C4.75611 2.66089 4.851 2.52305 4.91262 2.43425L4.09106 1.86413ZM3.80243 2.28344L2.97766 1.71798L2.784 2.00045L3.60877 2.56591L4.43354 3.13138L4.6272 2.84891L3.80243 2.28344Z' fill='%23B62D09'/%3E%3C/svg%3E%0A");
    mask-size: 100% 100%;
    -webkit-mask: url("data:image/svg+xml,%3Csvg width='6' height='5' viewBox='0 0 6 5' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='2.49609' cy='2.00098' r='1.5' fill='%23B62D09'/%3E%3Cpath d='M3.41511 2.84838L4.23988 3.41385L3.41511 2.84838ZM2.91472 3.12253L2.94183 2.1229L2.91472 3.12253ZM2.60799 3.11421L2.58087 4.11384L2.60799 3.11421ZM2.30126 3.10589L2.27414 4.10552L2.30126 3.10589ZM1.11668 1.99148L0.419401 1.27468L1.11668 1.99148ZM2.09803 1.1879L1.78196 0.239159L2.09803 1.1879ZM3.5912 1.20273L3.28674 2.15526L3.5912 1.20273ZM4.281 1.59042L5.10256 2.16055L4.281 1.59042ZM4.09106 1.86413L3.26951 1.294L4.09106 1.86413ZM3.60877 2.56591L2.784 2.00045L2.59034 2.28291L3.41511 2.84838L4.23988 3.41385L4.43354 3.13138L3.60877 2.56591ZM3.41511 2.84838L2.59034 2.28291C2.5969 2.27335 2.63354 2.22452 2.7127 2.18115C2.79637 2.13531 2.88085 2.12124 2.94183 2.1229L2.91472 3.12253L2.88761 4.12216C3.4754 4.1381 3.94521 3.84364 4.23988 3.41385L3.41511 2.84838ZM2.91472 3.12253L2.94183 2.1229L2.6351 2.11458L2.60799 3.11421L2.58087 4.11384L2.88761 4.12216L2.91472 3.12253ZM2.60799 3.11421L2.6351 2.11458L2.32837 2.10626L2.30126 3.10589L2.27414 4.10552L2.58087 4.11384L2.60799 3.11421ZM2.30126 3.10589L2.32837 2.10626C2.33413 2.10641 2.34027 2.1071 2.34614 2.10827C2.35198 2.10945 2.35582 2.11075 2.35725 2.1113C2.36043 2.11251 2.34845 2.10862 2.32183 2.08819L1.71296 2.88146L1.10409 3.67473C1.43194 3.92636 1.82699 4.09339 2.27414 4.10552L2.30126 3.10589ZM1.71296 2.88146L2.32183 2.08819L2.04027 1.87207L1.4314 2.66534L0.822527 3.45861L1.10409 3.67473L1.71296 2.88146ZM1.4314 2.66534L2.04027 1.87207L1.7587 1.65596L1.14983 2.44923L0.540963 3.2425L0.822527 3.45861L1.4314 2.66534ZM1.14983 2.44923L1.7587 1.65596C1.76823 1.66328 1.974 1.82115 1.99815 2.15449C2.02295 2.49681 1.83335 2.68941 1.81395 2.70828L1.11668 1.99148L0.419401 1.27468C0.234398 1.45464 -0.0324714 1.80408 0.00337607 2.29898C0.038574 2.78491 0.343726 3.09111 0.540963 3.2425L1.14983 2.44923ZM1.11668 1.99148L1.81395 2.70828L2.06236 2.46664L1.36508 1.74984L0.667808 1.03304L0.419401 1.27468L1.11668 1.99148ZM1.36508 1.74984L2.06236 2.46664L2.31077 2.225L1.61349 1.5082L0.916214 0.791398L0.667808 1.03304L1.36508 1.74984ZM1.61349 1.5082L2.31077 2.225C2.35704 2.17999 2.39054 2.15456 2.41028 2.14151C2.42978 2.12862 2.431 2.131 2.4141 2.13663L2.09803 1.1879L1.78196 0.239159C1.43693 0.354104 1.15 0.563979 0.916214 0.791398L1.61349 1.5082ZM2.09803 1.1879L2.4141 2.13663L2.65023 2.05796L2.33416 1.10923L2.01809 0.160493L1.78196 0.239159L2.09803 1.1879ZM2.33416 1.10923L2.65023 2.05796L2.88636 1.9793L2.57029 1.03056L2.25422 0.0818262L2.01809 0.160493L2.33416 1.10923ZM2.57029 1.03056L2.88636 1.9793C2.81088 2.00444 2.76476 1.99968 2.7713 2.00016C2.77352 2.00033 2.78481 2.00137 2.80633 2.0059C2.82776 2.01041 2.85689 2.01787 2.89435 2.02984L3.19881 1.07731L3.50326 0.124788C3.16011 0.0151052 2.7065 -0.0688507 2.25422 0.0818262L2.57029 1.03056ZM3.19881 1.07731L2.89435 2.02984L3.28674 2.15526L3.5912 1.20273L3.89565 0.250206L3.50326 0.124788L3.19881 1.07731ZM3.5912 1.20273L3.28674 2.15526L3.67913 2.28068L3.98358 1.32815L4.28804 0.375625L3.89565 0.250206L3.5912 1.20273ZM3.98358 1.32815L3.67913 2.28068C3.78984 2.31607 3.7086 2.30863 3.59273 2.20646C3.52482 2.14657 3.37161 1.98892 3.31755 1.71933C3.25721 1.41846 3.35663 1.16845 3.45944 1.0203L4.281 1.59042L5.10256 2.16055C5.23703 1.96677 5.3478 1.67163 5.27851 1.32609C5.21549 1.01184 5.03301 0.809994 4.91553 0.706393C4.70053 0.516799 4.43892 0.42385 4.28804 0.375625L3.98358 1.32815ZM4.281 1.59042L3.45944 1.0203L3.36448 1.15715L4.18603 1.72727L5.00759 2.2974L5.10256 2.16055L4.281 1.59042ZM4.18603 1.72727L3.36448 1.15715L3.26951 1.294L4.09106 1.86413L4.91262 2.43425L5.00759 2.2974L4.18603 1.72727ZM4.09106 1.86413L3.26951 1.294C3.2045 1.38767 3.10697 1.52937 2.97766 1.71798L3.80243 2.28344L4.6272 2.84891C4.75611 2.66089 4.851 2.52305 4.91262 2.43425L4.09106 1.86413ZM3.80243 2.28344L2.97766 1.71798L2.784 2.00045L3.60877 2.56591L4.43354 3.13138L4.6272 2.84891L3.80243 2.28344Z' fill='%23B62D09'/%3E%3C/svg%3E%0A");
    -webkit-mask-size: 100% 100%;
    background: var(--text-clr-1)
}

@media (max-width: 500px) {
    .sm-calendar__month-text > div:first-child:before, .sm-calendar__month-text > div:nth-child(2):before {
        right: 43%;
        top: 95%
    }
}

.sm-calendar__month-text > div {
    margin: 0 20px;
    color: #b92f07;
    font-size: 78px;
    position: relative
}

.sm-calendar__month-text div, .sm-footer__names div {
    display: inline-block
}

.sm-calendar__month-text-2 {
    font-size: 180px;
    font-family: var(--title-font-family);
    color: #fe5900;
    margin: 0 80px
}

@media (max-width: 500px) {
    .sm-calendar__month-text {
        font-size: 32px;
        flex-direction: column
    }

    .sm-calendar__month-text-2 {
        font-size: 64px;
        margin: 0 30px
    }

    span.sm-calendar__month-text-1:nth-child(3) {
        font-size: 40px
    }

    .sm-calendar__month-text:after, .sm-calendar__month-text:before {
        content: "";
        mask: url(templates/img/Line.svg);
        mask-size: 100% 100%;
        width: 2px;
        height: 96px;
        background: var(--text-clr-1)
    }
}

.sm-datetime__decor-arr {
    position: absolute;
    right: 23%;
    top: -25px
}

.sm-datetime__decor {
    position: absolute;
    transform: translate(-50%, -100%) rotate(25deg);
    font-size: var(--text-font-size);
    font-family: var(--title-font-family);
    width: 50%;
    text-align: center;
    top: 25px;
    left: 76%
}

@media (max-width: 500px) {
    .sm-datetime .sm-text {
        width: 100%;
        margin: 25px auto 0
    }

    .sm-datetime .sm-title:before {
        width: 10px;
        height: 10px;
        top: -12px;
        left: 40px
    }

    .sm-datetime .sm-text:after {
        top: -20px;
        left: 115%;
        width: 10px;
        height: 10px
    }

    .sm-datetime__decor-arr {
        right: 8%;
        top: 130px;
        width: 29px;
        height: 34px
    }

    .sm-datetime__decor {
        left: 90%;
        top: 2px;
        font-size: 20px;
        width: 40% !important;
        transform: translate(-50%, 100%) rotate(27deg);
        text-align: center
    }
}

.sm-calendar__box {
    padding: 0 8px 24px
}

@media (max-width: 500px) {
    .sm-calendar__box {
        padding: 40px 20px 24px
    }
}

.sm-date__calendar__month {
    font-family: var(--title-font-family);
    font-weight: var(--title-font-weight);
    line-height: var(--title-line-height);
    font-size: 80px;
    text-align: center
}

.sm-calendar-container {
    position: relative
}

.sm-calendar {
    display: grid;
    grid-template-areas:"days days days days days days days""days days days days days days days""days days days days days days days""days days days days days days days""days days days days days days days""days days days days days days days";
    grid-template-columns:auto auto auto auto auto auto auto;
    grid-template-rows:auto auto auto auto auto auto auto;
    place-items: center;
    -webkit-column-gap: 20px;
    -moz-column-gap: 20px;
    column-gap: 0;
    row-gap: 18px;
    width: 285px;
    margin: 20px auto 0
}

.sm-calendar__month {
    font-size: 24px;
    text-transform: capitalize;
    margin-top: 60px;
    text-align: center
}

.sm-calendar__month-text-container {
    position: relative;
    margin-top: 60px
}

@media (max-width: 500px) {
    .sm-calendar__month {
        font-size: 20px;
        margin-top: 35px
    }
}

.sm-calendar-day, .sm-calendar-day-week-title {
    font-size: 14px;
    font-weight: var(--text-font-weight);
    line-height: 100%;
    text-align: center;
    color: var(--text-clr-1)
}

.sm-calendar-day-week-title {
    font-family: var(--title-font-family);
    text-transform: uppercase;
    width: 30px;
    height: 22px;
    opacity: .6
}

.sm-calendar-day {
    font-family: var(--text-font-family)
}

@media (max-width: 500px) {
    .sm-calendar {
        width: 228px;
        column-gap: 0;
        margin-top: 15px;
        row-gap: 5px
    }

    .sm-calendar-day, .sm-calendar-day-week-title {
        font-size: 11px;
        line-height: 17px
    }

    .sm-calendar-day-week-title {
        width: 32px;
        height: 18px
    }

    .sm-calendar__month-text-container {
        margin-top: -20px
    }
}

.sm-number-active {
    position: relative;
    z-index: 3
}

.sm-number-active:before {
    content: "";
    width: 42px;
    height: 50px;
    mask: url(templates/img/active-date.svg);
    mask-size: 100% 100%;
    -webkit-mask: url(templates/img/active-date.svg);
    -webkit-mask-size: 100% 100%;
    background: var(--text-clr-1);
    position: absolute;
    top: -18px;
    left: -10px
}

@media (max-width: 500px) {
    .sm-number-active:before {
        width: 33px;
        height: 40px;
        left: -5px;
        top: -13px
    }
}

.sm-calendar__date {
    font-family: var(--title-font-family);
    font-weight: var(--title-font-weight);
    font-size: 32px;
    line-height: var(--text-line-height);
    text-align: center
}

@media (max-width: 500px) {
    .sm-calendar__date {
        font-size: 36px
    }
}

.sm-location {
    padding: 60px 0 75px
}

@media (max-width: 500px) {
    .sm-location {
        padding: 40px 0 35px;
        z-index: 11
    }
}

.sm-location .sm-text {
    width: 80%;
    max-width: 505px;
    margin: 20px auto 0;
    padding: 16px 0
}

.sm-location .sm-title {
    width: fit-content;
    margin: 0 auto;
    text-align: center;
    color: var(--text-clr-1);
    position: relative
}

@media (max-width: 500px) {
    .sm-location .sm-text {
        width: 100%;
        margin: 10px auto 0
    }

    .sm-location .sm-title {
        max-width: 292px;
        margin: 0 auto
    }

    .sm-location .sm-container-flex {
        flex-direction: column-reverse;
        gap: 72px
    }
}

.sm-location__image {
    position: relative;
    width: fit-content;
    height: fit-content;
    margin: 20px auto 45px
}

@media (max-width: 500px) {
    .sm-location__image {
        width: fit-content;
        height: fit-content;
        margin: 25px auto 20px
    }
}

.sm-location .sm-section__text {
    max-width: none;
    margin: 0 auto
}

@media (max-width: 500px) {
    .sm-location .sm-btn {
        margin-top: 55px
    }
}

.sm-location__decor {
    position: absolute;
    font-size: 42px;
    left: 44%;
    margin-top: 0;
    bottom: 73px;
    font-family: var(--title-font-family);
    transform: translateX(-50%) rotate(4deg)
}

.sm-location__decor-arr {
    position: absolute;
    left: 38%;
    bottom: 80px
}

@media (max-width: 500px) {
    .sm-location__decor {
        font-size: 16px;
        left: 32%;
        bottom: 18px;
        margin-top: 5px;
        max-width: 130px;
        text-align: center;
        transform: translate(-50%, -100%) rotate(-9deg)
    }

    .sm-location__decor textPath {
        font-size: 36px;
        letter-spacing: .2em
    }

    .sm-location__decor-arr {
        left: 18%;
        bottom: 85px;
        width: 10px;
        height: 30px
    }

    .sm-location__image:after, .sm-location__image:before {
        display: none
    }
}

.sm-timing__items {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative;
    margin-top: 60px
}

@media (max-width: 500px) {
    .sm-timing__items {
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 44px
    }

    .sm-timing {
        padding: 80px 0 60px
    }
}

.sm-timing {
    padding: 30px 0 0
}

.sm-timing .sm-container {
    padding-top: 80px;
    padding-bottom: 60px
}

@media (max-width: 500px) {
    .sm-timing .sm-container {
        padding-top: 30px
    }
}

.sm-timing .sm-subtitle {
    display: block;
    text-align: center;
    margin: 0 0 20px;
    font-size: 32px;
    font-weight: 400;
    line-height: normal
}

.sm-timing .sm-timing__item__time {
    font-size: 54px;
    line-height: normal;
    font-weight: 400;
    letter-spacing: -1px;
    margin: 0;
    min-width: 0;
    text-align: center;
    max-width: 100%
}

@media (max-width: 500px) {
    .sm-timing .sm-timing__item__time {
        font-size: 24px
    }
}

.sm-timing .sm-timing__item__title {
    font-size: 18px;
    line-height: normal;
    font-weight: 300;
    letter-spacing: -.6px;
    margin: 0 auto;
    min-width: 0;
    text-align: center;
    max-width: 164em
}

@media (max-width: 500px) {
    .sm-timing .sm-timing__item__title {
        font-size: 14px;
        line-height: 180%
    }
}

.sm-timing .sm-timing__items {
    text-align: center;
    position: relative;
    padding: 0;
    gap: 0;
    width: 900px;
    margin: 50px auto 0;
    height: 200px
}

@media (max-width: 500px) {
    .sm-timing .sm-timing__items {
        text-align: center;
        position: relative;
        padding: 0;
        gap: 45px;
        width: 100%;
        margin: 30px auto 0;
        height: fit-content
    }
}

.sm-dresscode .sm-photos-section-wrap:last-child, .sm-timing .sm-timing__item:last-child {
    margin-bottom: 0
}

.sm-timing .sm-timing-text {
    display: flex;
    position: relative;
    width: 100%;
    max-width: 180px;
    height: 100%;
    flex-direction: column
}

.sm-dresscode {
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
}

.sm-dresscode .sm-photos-outer-wrap {
    display: flex;
    justify-content: space-between;
    width: 85%;
    position: relative;
    margin: 0 auto
}

@media (max-width: 500px) {
    .sm-dresscode .sm-photos-outer-wrap {
        flex-direction: column;
        width: 100%
    }

    .sm-dresscode {
        padding: 20px 0
    }
}

.sm-dresscode .sm-container {
    padding-top: 20px;
}

.sm-dresscode .sm-title {
    margin: 0 0 10px
}

.sm-dresscode .sm-text {
    margin: 30px auto 35px;
    font-size: 18px;
    letter-spacing: -.1px;
    max-width: 538px;
    line-height: 170%
}

@media (max-width: 500px) {
    .sm-dresscode .sm-text {
        margin: 15px auto 30px;
        font-size: 14px;
        letter-spacing: -.1px;
        max-width: 100%;
        line-height: 180%
    }
}

.sm-dresscode .sm-dress-code__colors {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    margin-bottom: 20px;
    margin-top: 20px
}

@media (max-width: 500px) {
    .sm-dresscode .sm-dress-code__colors {
        gap: 30px
    }
}

.sm-dresscode [data-sm-text=DRESSCODE_COLORS] > div {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    max-width: 100%;
    margin: 0
}

.sm-dresscode .sm-dress-code_wrap-bottom_circle, .sm-dresscode .sm_colors {
    display: block;
    width: 35px;
    height: 35px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    line-height: 1;
    border: 0
}

.sm-dresscode .sm-dress-code_wrap-bottom_circle img, .sm-dresscode .sm-dress-code_wrap-bottom_circle svg, .sm-dresscode .sm_colors img, .sm-dresscode .sm_colors svg {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 1
}

.sm-dresscode .sm-photos-section-wrap {
    position: relative;
    padding: 20px 0 0;
    margin-bottom: 20px;
    width: 400px
}

@media (max-width: 500px) {
    .sm-dresscode .sm-photos-section-wrap {
        width: 100%;
        left: -20px
    }

    .sm-dresscode .sm-photos-section-wrap:nth-child(3) {
        left: 0
    }
}

.sm-dresscode .sm-section-gallery-wrap {
    width: auto;
    margin-left: -22px;
    margin-right: -21px;
    position: relative
}

.sm-dresscode .sm-section-title {
    text-align: center;
    display: block;
    font-size: 32px;
    line-height: normal;
    font-weight: 400;
    margin-bottom: 20px
}

.sm-dresscode .sm-photo {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    aspect-ratio: 1
}

.sm-dresscode .sm-photo img {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.sm-dresscode .sm-section-woman .sm-section-gallery-wrap {
    height: 503px
}

.sm-dresscode .sm-section-woman .sm-photo-01:nth-child(1) {
    aspect-ratio: 512/847;
    width: 129px;
    left: 0;
    top: 67px
}

.sm-dresscode .sm-section-woman .sm-photo-01:nth-child(2) {
    z-index: 4;
    aspect-ratio: 513/718;
    width: 214px;
    left: 112px;
    top: 32px
}

.sm-dresscode .sm-section-woman .sm-photo-01:nth-child(3) {
    z-index: 5;
    aspect-ratio: 512/768;
    width: 90px;
    top: 0;
    left: 294px
}

.sm-dresscode .sm-section-woman .sm-photo-01:nth-child(4) {
    z-index: 5;
    aspect-ratio: 513/769;
    width: 142px;
    top: 290px;
    left: 58px
}

.sm-dresscode .sm-section-woman .sm-photo-01:nth-child(5) {
    z-index: 5;
    aspect-ratio: 513/769;
    width: 142px;
    top: 184px;
    left: 263px
}

.sm-dresscode .sm-section-man .sm-section-gallery-wrap {
    height: 478px
}

.sm-dresscode .sm-section-man .sm-photo-01:nth-child(1) {
    z-index: 5;
    aspect-ratio: 513/769;
    width: 89px;
    top: 92px;
    left: 30px
}

.sm-dresscode .sm-section-man .sm-photo-01:nth-child(2) {
    z-index: 4;
    aspect-ratio: 513/719;
    width: 214px;
    top: 37px;
    left: 88px
}

.sm-dresscode .sm-section-man .sm-photo-01:nth-child(3) {
    z-index: 3;
    aspect-ratio: 513/846;
    width: 129px;
    left: 267px;
    top: 0
}

.sm-dresscode .sm-section-man .sm-photo-01:nth-child(4) {
    z-index: 6;
    aspect-ratio: 513/769;
    width: 142px;
    top: 265px;
    left: 22px
}

.sm-dresscode .sm-section-man .sm-photo-01:nth-child(5) {
    z-index: 7;
    aspect-ratio: 513/898;
    width: 127px;
    top: 226px;
    left: 247px
}

.sm-time {
    padding: 120px 0;
    position: relative;
    z-index: 4
}

@media (max-width: 500px) {
    .sm-time {
        padding: 15px 0
    }
}

.sm-time .sm-container {
    padding: 50px 70px;
    width: 1055px;
    position: relative
}

.sm-time .sm-container:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    mask: url(templates/img/timer-fon.svg);
    -webkit-mask: url(templates/img/timer-fon.svg);
    mask-size: 100% 100%;
    -webkit-mask-size: 100% 100%;
    background: var(--text-clr-1)
}

@media (max-width: 500px) {
    .sm-time .sm-container:before {
        mask: url(templates/img/timer-fon-mob.svg);
        -webkit-mask: url(templates/img/timer-fon-mob.svg);
        mask-size: 100% 100%;
        -webkit-mask-size: 100% 100%
    }
}

.sm-time__image {
    position: absolute;
    left: 50%;
    top: -50px;
    z-index: 0;
    transform: translateX(-50%)
}

@media (max-width: 500px) {
    .sm-time .sm-container {
        padding: 50px 10px;
        width: 90%
    }

    .sm-time__image {
        left: 0;
        right: 0;
        transform: initial
    }
}

.sm-time__image:after, .sm-time__image:before {
    content: "";
    display: block;
    position: absolute
}

.sm-time__image::after {
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: linear-gradient(269.73deg, rgba(38, 34, 34, .8) 34.7%, rgba(38, 34, 34, 0) 93.55%)
}

@media (max-width: 500px) {
    .sm-time__image::after {
        background: linear-gradient(179.94deg, rgba(38, 34, 34, .8) 14.41%, rgba(38, 34, 34, 0) 99.95%)
    }

    .sm-time__image .sm-img {
        margin: 0 auto
    }
}

.sm-time__image img {
    width: 573px;
    height: 587px
}

@media (max-width: 500px) {
    .sm-time__image img {
        width: 100%;
        max-width: 355px;
        height: 373px
    }
}

.sm-time .sm-title {
    color: var(--text-clr-1);
    line-height: var(--title-line-height);
    width: 680px;
    margin: 0 auto
}

@media (max-width: 500px) {
    .sm-time .sm-title {
        width: 100%
    }
}

.sm-time__box {
    display: flex;
    gap: 75px;
    align-items: center;
    justify-content: center;
    margin-top: 10px;
    padding: 16px 0
}

.sm-time__item {
    min-width: 54px
}

.sm-time__img {
    width: 410px;
    height: 558px;
    margin: 40px auto 0;
    border-radius: 300px;
    overflow: hidden;
    position: relative
}

.sm-time__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: relative;
    z-index: 1;
    border-radius: 8px
}

.sm-time__item__title {
    font-size: var(--text-font-size);
    font-weight: var(--text-font-weight);
    line-height: var(--text-line-height);
    text-align: center;
    margin-top: -12px;
    text-transform: capitalize;
    color: var(--text-clr-1)
}

.sm-time__item_number, .sm-wishes__content-slider .slick-track .slick-slide {
    display: flex;
    align-items: center;
    justify-content: center
}

.sm-timer-time_number-span {
    font-family: var(--title-font-family);
    font-weight: var(--title-font-weight);
    font-size: 54px;
    line-height: var(--text-line-height);
    text-align: center;
    color: var(--text-clr-1)
}

@media (max-width: 500px) {
    .sm-timer-time_number-span {
        font-size: 24px
    }

    .sm-time__img {
        width: 285px;
        height: 388px;
        margin: 50px auto 0
    }

    .sm-time__item {
        width: 45px
    }

    .sm-time__box {
        gap: 30px;
        margin-top: 20px
    }

    .sm-time__item__title {
        font-weight: var(--text-font-weight);
        font-size: 14px;
        line-height: 19.5px;
        text-align: center;
        margin-top: 0
    }

    .sm-time__item_number {
        font-weight: var(--text-font-weight);
        font-size: 48px;
        line-height: 60px
    }
}

.sm-wishes {
    padding: 90px 0 75px;
    position: relative
}

@media (max-width: 500px) {
    .sm-wishes {
        padding: 70px 0 30px
    }
}

.sm-title-container, .sm-wishes .sm-title {
    width: fit-content;
    margin: 0 auto
}

.sm-title-container {
    position: relative
}

.sm-wishes__content-wrap {
    margin-top: 32px
}

.sm-wishes__content-slide {
    text-align: center;
    font-weight: var(--text-font-weight);
    font-size: 18px;
    line-height: var(--text-line-height);
    max-width: 467px;
    margin: 0 auto;
    letter-spacing: -.05em
}

.sm-wishes__content-slider {
    margin: 20px auto 0;
    max-width: 467px;
    padding: 16px 0
}

@media (max-width: 500px) {
    .sm-wishes__content-slide {
        max-width: 250px;
        font-size: 12px;
        letter-spacing: -.02em
    }

    .sm-wishes__content-slider {
        max-width: 260px;
        margin: 10px auto 0
    }
}

.sm-wishes__content-slider .slick-track {
    display: flex
}

.sm-wishes__content-slider .slick-track .slick-slide {
    height: auto
}

.sm-wishes__pagination-wrapper {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 20px auto 0;
    width: fit-content
}

.sm-wishes__pagination-wrapper .sm-arrow {
    width: 43px;
    height: 20px
}

.sm-wishes__pagination {
    font-family: var(--alt-font-family);
    font-weight: var(--text-font-weight);
    font-size: 28px;
    line-height: var(--text-line-height);
    text-align: center
}

@media (max-width: 500px) {
    .sm-wishes__pagination {
        font-size: 20px
    }
}

.sm-wishes .sm-btn {
    margin-top: 25px
}

@media (max-width: 500px) {
    .sm-wishes .sm-btn {
        margin-top: 30px
    }
}

.sm-wishes__decor-arr {
    position: absolute;
    left: -110px;
    top: 55px
}

.sm-wishes__decor {
    position: absolute;
    left: -410px;
    font-size: 40px;
    font-family: var(--title-font-family);
    width: 270px;
    text-align: center;
    top: 58px;
    transform: translate(50%, -100%) rotate(-18deg)
}

@media (max-width: 500px) {
    .sm-title-container {
        width: 100%
    }

    .sm-wishes__decor {
        left: -67px;
        top: 57px;
        font-size: 16px;
        width: 100px
    }

    .sm-wishes__decor-arr {
        position: absolute;
        left: 37px;
        top: 54px;
        width: 17px;
        height: 26px
    }
}

.sm-dress-code__arrow.sm-arrow-next, .sm-dress-code__arrow.sm-arrow-prev {
    position: absolute;
    left: calc(50% + 245px);
    top: calc(50% - 20px)
}

.sm-dress-code__arrow.sm-arrow-prev {
    left: calc(50% - 290px)
}

@media (max-width: 500px) {
    .sm-dress-code__arrow.sm-arrow-next {
        left: calc(50% + 142px)
    }

    .sm-dress-code__arrow.sm-arrow-prev {
        left: calc(50% - 185px)
    }
}

.sm-contact {
    position: relative;
    z-index: 10;
    padding: 80px 0 100px
}

@media (max-width: 500px) {
    .sm-contact {
        padding: 40px 0 30px
    }
}

.sm-contact .sm-title {
    color: #b82e08;
    margin: 0 auto;
    width: fit-content;
    position: relative
}

@media (max-width: 500px) {
    .sm-contact .sm-title {
        width: 100%
    }

    .sm-contact .sm-title:before {
        width: 10px;
        height: 10px;
        top: -11px;
        left: 55px
    }

    .sm-contact .sm-title:after {
        width: 10px;
        height: 10px;
        top: -45px;
        right: 65px
    }
}

.sm-contact__box {
    position: relative;
    text-align: center
}

.sm-contact .sm-text {
    max-width: 426px;
    margin: 30px auto 16px;
    padding: 16px 0 30px;
    position: relative
}

.sm-contact .sm-img > img {
    margin-left: 0
}

@media (max-width: 500px) {
    .sm-contact .sm-text {
        max-width: 85%;
        margin: 35px auto;
        padding: 8px 0 0
    }
}

.sm-contact__info {
    font-family: var(--title-font-family);
    font-weight: var(--title-font-weight);
    font-size: 64px;
    line-height: 75%;
    text-align: center;
    margin-top: 0
}

.sm-contact_socials {
    margin: 10px 0 30px
}

@media (max-width: 500px) {
    .sm-contact__info {
        font-size: 24px;
        line-height: 36px;
        margin-top: 10px
    }

    .sm-contact .sm-text:after {
        width: 10px;
        height: 10px;
        bottom: auto;
        right: -52px;
        top: 8px
    }
}

.sm-contact__info span {
    color: #b82e08;
    font-size: 32px;
    text-transform: uppercase
}

.sm-contact__info a:not(.sm-btn) {
    font-size: 32px
}

.sm-contact__image {
    position: relative;
    width: fit-content;
    margin: 45px auto 0
}

@media (max-width: 500px) {
    .sm-contact__image {
        margin: 40px auto 0
    }

    .sm-contact__info a:not(.sm-btn), .sm-contact__info span {
        font-size: 24px
    }

    .sm-contact__info a {
        font-size: 24px
    }

    .sm-contact_socials {
        margin: 35px 0 30px
    }

    .sm-contact_soc svg {
        width: 24px;
        height: 24px
    }

    .sm-contact .sm-btn {
        margin-top: 10px;
        font-size: 20px
    }

    .sm-contact .sm-btn:before {
        bottom: auto;
        top: -45px;
        left: -70px;
        width: 10px;
        height: 10px
    }
}

.sm-questionnaire {
    padding: 65px 0 100px
}

@media (max-width: 500px) {
    .sm-questionnaire {
        padding: 35px 0
    }

    .sm-questionnaire.sm-open {
        padding: 30px 0;
        background: white;
    }

    .sm-questionnaire.sm-open:before {
        content: "";
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-image: var(--bg-fon);
        background-repeat: no-repeat;
        background-position: center
    }
}

.sm-questionnaire__date {
    font-family: var(--title-font-family);
    font-weight: 500;
    font-size: 32px;
    line-height: 32px;
    text-align: center;
    margin-top: 30px;
    text-transform: lowercase;
    color: var(--text-clr-1);
    position: relative
}

.sm-questionnaire .sm-text {
    max-width: 405px;
    margin: 20px auto 16px;
    padding: 16px 0
}

@media (max-width: 500px) {
    .sm-questionnaire .sm-text {
        max-width: 328px;
        margin: 10px auto 0;
        position: relative
    }

    .sm-questionnaire__date {
        font-size: 24px;
        line-height: 24px;
        margin-top: 5px
    }
}

.sm-questionnaire .sm-title {
    color: var(--text-clr-1)
}

.sm-questionnaire.sm-open .sm-questionnaire__form {
    display: block
}

.sm-questionnaire .sm-only-mobile, .sm-questionnaire.sm-open .sm-only-mobile {
    display: none
}

.sm-questionnaire__form {
    margin: 60px auto 0;
    max-width: 680px
}

@media (max-width: 500px) {
    .sm-questionnaire .sm-only-mobile {
        display: block
    }

    .sm-questionnaire__form {
        margin-top: 40px
    }

    .sm-questionnaire:not(.sm-open) .sm-questionnaire__form {
        display: none
    }

    .sm-questionnaire .sm-btn.sm-only-mobile {
        margin-top: 35px
    }

    .sm-questionnaire.sm-open .sm-btn {
        width: 100%
    }
}

.sm-questionnaire__decor {
    position: absolute;
    font-size: 40px;
    font-family: var(--title-font-family);
    right: -461px;
    top: -5px;
    transform: translate(-50%, -100%) rotate(12deg);
    width: 300px;
    text-align: center
}

.sm-questionnaire__decor-arr {
    position: absolute;
    right: -180px;
    top: -20px
}

.sm-but-container {
    width: fit-content;
    margin: 0 auto;
    position: relative
}

.sm-form__block__title {
    font-family: var(--text-font-family);
    font-weight: var(--text-font-weight);
    font-size: 28px;
    line-height: var(--text-line-height);
    color: var(--text-clr-1)
}

.sm-form__block__title:not(:first-child) {
    margin-top: 40px
}

@media (max-width: 500px) {
    .sm-form__block__title {
        font-size: 14px
    }

    .sm-form__block__title:not(:first-child) {
        margin-top: 20px
    }

    .sm-questionnaire__decor-arr {
        right: -70px;
        top: -20px;
        width: 40px;
        height: 40px
    }

    .sm-questionnaire__decor {
        font-size: 16px;
        right: -154px;
        top: -13px;
        width: 100px
    }
}

.sm-open .sm-questionnaire__decor, .sm-open .sm-questionnaire__decor-arr {
    display: none !important
}

input::-webkit-input-placeholder {
    all: unset;
    font-size: var(--placeholder-input-font-size);
    font-weight: var(--text-font-weight);
    line-height: var(--text-line-height);
    text-align: left;
    color: var(--placeholder-input-clr);
    cursor: pointer;
    text-transform: none
}

input::-moz-placeholder {
    all: unset;
    font-size: var(--placeholder-input-font-size);
    font-weight: var(--text-font-weight);
    line-height: var(--text-line-height);
    text-align: left;
    color: var(--placeholder-input-clr);
    cursor: pointer;
    text-transform: none
}

input::-ms-input-placeholder {
    all: unset;
    font-size: var(--placeholder-input-font-size);
    font-weight: var(--text-font-weight);
    line-height: var(--text-line-height);
    text-align: left;
    color: var(--placeholder-input-clr);
    cursor: pointer;
    text-transform: none
}

input::placeholder {
    all: unset;
    font-size: var(--placeholder-input-font-size);
    font-weight: var(--text-font-weight);
    line-height: var(--text-line-height);
    text-align: left;
    color: var(--placeholder-input-clr);
    cursor: pointer;
    text-transform: none
}

.sm-form__input {
    font-family: var(--text-font-family);
    border: 0;
    border-radius: 0;
    border: solid 1px var(--text-clr-1);
    background: 0 0;
    padding: 0 10px;
    width: 100%;
    height: 59px;
    margin-top: 10px;
    font-size: var(--placeholder-input-font-size);
    font-weight: var(--text-font-weight);
    line-height: var(--text-line-height);
    text-align: left;
    color: var(--text-clr-1)
}

@media (max-width: 500px) {
    .sm-form__input {
        height: 39px
    }
}

.sm-form__block:not(:first-child) {
    margin-top: 40px
}

@media (max-width: 500px) {
    .sm-form__block:not(:first-child) {
        margin-top: 20px
    }
}

.sm-form__item-radio {
    display: block
}

.sm-form__item {
    margin-top: 10px
}

.sm-form__block .sm-form_checkbox:not(:first-child), .sm-form__item-radio:not(:first-child) {
    margin-top: 10px
}

.sm-form__item-radio span {
    font-size: 16px;
    font-weight: var(--text-font-weight);
    line-height: 19.5px
}

.sm-form_checkbox_input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: absolute
}

.sm-form__block .sm-form_checkbox {
    display: flex;
    align-items: center;
    margin-left: 30px;
    font-size: 24px;
    font-weight: 300;
    line-height: var(--text-line-height);
    text-align: left;
    cursor: pointer;
    color: var(--text-clr-1)
}

.sm-form__block:has([data-sm-text=ANKETA_QUESTION]) .sm-form_checkbox_box {
    border-radius: 50%
}

.sm-form_checkbox_box {
    position: absolute;
    width: 20px;
    height: 20px;
    background-repeat: no-repeat;
    margin-left: -30px;
    border: 1px solid var(--text-clr-1);
    cursor: pointer;
    border-radius: 5px;
    overflow: hidden
}

.sm-form_checkbox_input:checked + .sm-form_checkbox_box {
    background-color: var(--text-clr-1)
}

.sm-form__drinks-check {
    margin-top: 20px
}

@media (max-width: 500px) {
    .sm-form__drinks-check {
        margin-top: 15px
    }
}

@media (min-width: 501px) {
    .sm-questionnaire:not(.sm-open) .sm-btn {
        width: fit-content
    }
}

.sm-questionnaire .sm-btn {
    margin-top: 95px;
    position: relative
}

@media (max-width: 500px) {
    .sm-questionnaire .sm-btn:before, .sm-questionnaire__date:after {
        display: none
    }

    .sm-questionnaire .sm-title {
        position: relative;
        width: fit-content;
        text-align: center;
        margin: 0 auto;
        max-width: 280px
    }

    .sm-questionnaire.sm-open .sm-title {
        max-width: 250px;
        margin: 25px auto 0
    }

    .sm-questionnaire.sm-open .sm-title:before {
        left: -65px
    }

    .sm-questionnaire.sm-open .sm-btn {
        margin-top: 35px
    }
}

@media (min-width: 501px) {
    .sm-questionnaire .sm-container {
        padding: 0 40px
    }
}

@media (max-width: 500px) {
    .sm-form_checkbox_box {
        width: 16px;
        height: 16px;
        margin-left: -25px
    }

    .sm-form__block .sm-form_checkbox {
        font-weight: var(--text-font-weight);
        font-size: 14px;
        margin-top: 0 !important
    }

    .sm-questionnaire:not(.sm-open) .sm-container {
        padding: 60px 40px;
        margin: 0 20px
    }

    .sm-questionnaire:not(.sm-open) .sm-container:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        mask: url(templates/img/timer-fon-mob.svg);
        -webkit-mask: url(templates/img/timer-fon-mob.svg);
        mask-size: 100% 100%;
        -webkit-mask-size: 100% 100%;
        background: var(--text-clr-1)
    }
}

.sm-footer {
    padding: 55px 0 200px
}

@media (max-width: 500px) {
    .sm-footer {
        padding: 35px 0 130px
    }
}

.sm-footer .sm-title {
    font-family: var(--text-font-family);
    font-weight: var(--text-font-weight);
    font-size: 18px;
    line-height: var(--text-line-height);
    text-align: center;
    width: 282px;
    margin: 50px auto;
    text-transform: none
}

@media (max-width: 500px) {
    .sm-footer .sm-title {
        max-width: 60%;
        font-size: 16px;
        text-align: center;
        margin: 30px auto
    }
}

.sm-footer__images {
    margin-top: 50px
}

@media (max-width: 500px) {
    .sm-footer__images {
        margin-top: 30px
    }
}

.sm-footer__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 71px;
    justify-content: space-between
}

@media (max-width: 500px) {
    .sm-footer__content {
        flex-direction: column;
        gap: 60px
    }
}

.sm-footer__image {
    position: relative
}

.sm-footer .sm-img span, .sm-footer__names {
    font-family: var(--title-font-family);
    text-align: center
}

.sm-footer .sm-img span {
    font-size: 42px;
    position: absolute;
    width: 500px;
    left: 136px;
    bottom: 40px;
    color: #f21530
}

.sm-footer__names {
    font-weight: var(--title-font-weight);
    font-size: var(--title-font-size);
    white-space: nowrap;
    line-height: var(--title-line-height);
    z-index: 1;
    margin-top: 50px;
    color: var(--text-clr-1)
}

.sm-footer__names div:nth-child(3) {
    margin-right: .25em
}

@media (max-width: 500px) {
    .sm-footer__names {
        font-size: 32px;
        text-align: center;
        margin-top: 15px
    }

    .sm-footer .sm-img span {
        font-size: 16px;
        width: 180px;
        left: 45px;
        bottom: 15px;
        text-align: center
    }

    .sm-footer__names div:nth-child(2) {
        margin: 0 10px
    }
}

.sm-decor-bye-1, .sm_decor-arr-bye {
    position: absolute;
    bottom: 10px;
    left: -35px
}

.sm-decor-bye-1 {
    bottom: -50px;
    left: -90px;
    letter-spacing: .1em
}

.sm-decor-bye-2 {
    position: absolute;
    bottom: -85px;
    left: -80px
}

.sm-decor-bye-1 textPath, .sm-decor-bye-2 textPath {
    letter-spacing: .2em
}

@media (max-width: 500px) {
    .sm-decor-bye-1 {
        bottom: -70px;
        left: -55px;
        letter-spacing: .1em;
        transform: rotate(-8deg)
    }

    .sm-decor-bye-2 {
        position: absolute;
        bottom: -100px;
        left: -40px
    }

    .sm_decor-arr-bye {
        bottom: -20px;
        left: -10px
    }
}

.sm-thanks {
    display: none;
    position: relative;
    padding: 0
}

.sm-thanks:after {
    bottom: 240px
}

@media (max-width: 500px) {
    .sm-thanks:after {
        bottom: 0
    }

    .sm-thanks .sm-main__content {
        margin-top: 110px
    }
}

.sm-mob-btn {
    display: none;
    width: 100%;
    height: 56px !important;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 99
}

@media (max-width: 450px) {
    .sm-mob-btn {
        background: var(--section-bg-clr-1);
        opacity: 0.6;
        display: block;
    }

    .sm-hidden_slow {
        display: none;
    }
}

.sm-mob-btn .sm-btn {
    height: 100%;
    width: 100%;
    border-radius: 0;
    background: url(templates/img/mob-but.webp);
    background-size: 100% 100%;
    color: #eee8da;
    line-height: 56px;
    font-size: 16px
}

.sm-mob-btn.hidden {
    display: none;
}

[data-sm-text=DRESSCODE_COLORS] > div {
    border: 1px solid var(--section-bg-clr-2);
    width: initial;
    height: initial;
    position: relative
}

[data-sm-text=DRESSCODE_COLORS] > div > div {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    border: 0;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    border-radius: 50%
}

[data-sm-text=DRESSCODE_COLORS] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    overflow-x: auto;
    width: 100%
}

@media (max-width: 500px) {
    [data-sm-text=DRESSCODE_COLORS] {
        gap: 0;
        overflow-x: auto
    }

    [data-sm-text=DRESSCODE_COLORS] > div:not(:first-child) {
        margin-left: -40px
    }

    [data-sm-text=DRESSCODE_COLORS] > div {
        flex: 1 1 0;
        max-width: 70px;
        width: initial;
        height: initial;
        aspect-ratio: 1/1
    }
}

.section-decor, .section-decor-items {
    position: absolute;
    pointer-events: none
}

.section-decor-items {
    max-width: 1180px;
    margin: 0 auto;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0
}

.section-decor {
    transform-origin: bottom center;
    display: inline-block;
    z-index: 5
}

.section-decor.sm-decor-type-1 {
    animation: swing 3s linear infinite;
    left: 0
}

.section-decor.sm-decor-type-2 {
    animation: swing2 3s linear infinite;
    right: 0
}

.sm-shared .section-decor-items .section-decor:nth-child(1) {
    top: -20px
}

@media (min-width: 501px) {
    .sm-thanks.sm-shared .section-decor-items .section-decor:nth-child(1) {
        top: 20%
    }
}

.sm-shared .section-decor-items .section-decor:nth-child(2) {
    right: -120px
}

@media (min-width: 501px) {
    .sm-thanks.sm-shared .section-decor-items .section-decor:nth-child(2) {
        top: 28%;
        right: -40px
    }
}

.sm-shared .section-decor-items .section-decor:nth-child(3) {
    bottom: 0
}

@media (min-width: 501px) {
    .sm-thanks.sm-shared .section-decor-items .section-decor:nth-child(3) {
        bottom: 25%
    }
}

.sm-shared__image .section-decor {
    right: -60px;
    bottom: -20px
}

.sm-datetime .section-decor-items .section-decor:nth-child(1) {
    bottom: 70px
}

.sm-datetime .section-decor-items .section-decor:nth-child(2) {
    left: 47%;
    top: 50%
}

.sm-location .section-decor-items .section-decor:nth-child(1) {
    bottom: 70px
}

.sm-contact .section-decor-items .section-decor:nth-child(1) {
    bottom: 73px
}

.sm-contact .section-decor-items .section-decor:nth-child(2) {
    top: -103px
}

.sm-footer .section-decor-items .section-decor:nth-child(1) {
    bottom: 73px
}

@media (max-width: 500px) {
    .sm-shared .section-decor-items .section-decor:nth-child(1) {
        top: -20px;
        left: -80px;
        object-fit: contain
    }

    .sm-shared .section-decor-items .section-decor:nth-child(2) {
        right: -80px;
        width: 150px;
        height: 110px
    }

    .sm-shared .section-decor-items .section-decor:nth-child(3) {
        bottom: initial;
        top: 210px;
        left: -40px;
        width: 126px;
        height: 210px;
        object-fit: contain
    }

    .sm-shared__image .section-decor {
        right: -20px;
        bottom: -80px
    }

    .sm-datetime .section-decor-items .section-decor:nth-child(1) {
        bottom: 0;
        left: -30px
    }

    .sm-datetime .section-decor-items .section-decor:nth-child(2) {
        left: initial;
        top: initial;
        bottom: 0;
        right: -30px
    }

    .sm-location .section-decor-items .section-decor:nth-child(1) {
        display: none
    }

    .sm-location .section-decor-items .section-decor:nth-child(2) {
        bottom: -40px;
        left: -60px;
        object-fit: cover
    }

    .sm-timing .section-decor-items .section-decor:nth-child(1) {
        bottom: 0
    }

    .sm-timing .section-decor-items .section-decor:nth-child(2) {
        bottom: -70px;
        right: -40px
    }

    .sm-contact .section-decor-items .section-decor:nth-child(1) {
        bottom: -70px
    }

    .sm-contact .section-decor-items .section-decor:nth-child(2) {
        top: -103px;
        right: -80px
    }

    .sm-footer .section-decor-items .section-decor:nth-child(1) {
        bottom: 60px;
        left: -90px;
        object-fit: cover
    }
}

section:not(.sm-open) .item-animation {
    transition-property: transform, opacity, translate, color, background-color;
    transition-duration: 2s, 2s, 2s, .5s, .5s;
    transition-timing-function: ease-in-out
}

section:not(.sm-open) .item-aleft:not(.item-active) {
    translate: 100px 0;
    opacity: 0
}

section:not(.sm-open) .item-aright:not(.item-active) {
    opacity: 0;
    translate: -100px 0
}

section:not(.sm-open) .item-abottom:not(.item-active) {
    opacity: 0;
    translate: 0 -100px
}

section:not(.sm-open) .item-atop:not(.item-active) {
    opacity: 0;
    translate: 0 100px
}

section:not(.sm-open) .sm-open .item-atop:not(.item-active) {
    opacity: 1 !important;
    translate: 0 0
}

.item-active.sm-decor-text {
    opacity: 1;
    animation: reveal 1s steps(100, end) reverse
}

.sm-decor-text {
    background: linear-gradient(90deg, var(--text-clr-1) 50%, transparent 50%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    background-size: 200% 100%;
    background-position: 0 0;
    opacity: 0
}

.sm-own[data-position="1"] [data-sm-text=NEW_OWN_TEXT], .sm-own[data-position="1"] [data-sm-text=OWN_TEXT] {
    line-height: 120%
}

.sm-wishes-container {
    margin-top: 25px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    justify-content: center;
    align-items: center;
}

.sm-wishes-container .separator {
    height: 30px;
}

.sm-wishes-container p {
    font-size: 18px;
    text-align: center;
    max-width: 405px;
}


.page-loader {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.25);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.page-loader.active {
    display: flex;
}

.page-loader__spinner {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 4px solid rgba(255, 255, 255, 0.3);
    border-top-color: #ffffff;
    animation: page-loader-spin 0.8s linear infinite;
}

@keyframes page-loader-spin {
    to {
        transform: rotate(360deg);
    }
}

.form-thanks {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.35);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 10000;
}

.form-thanks.active {
    display: flex;
}

.form-thanks__card {
    background: #fff;
    padding: 32px 40px;
    border-radius: 14px;
    max-width: 420px;
    text-align: center;
    box-shadow: 0 8px 30px rgba(0,0,0,0.15);
    animation: fadeIn 0.3s ease;
    position: relative;
}

.form-thanks__card h2 {
    margin: 0 0 12px;
    font-size: 24px;
    font-weight: 600;
}

.form-thanks__card p {
    margin: 0;
    font-size: 16px;
    color: #444;
}

.form-thanks__card .close-form {
    position: absolute;
    right: 20px;
    top: 10px;
    cursor: pointer;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}

.alco_other {
    display: block !important;
}