@keyframes show-r-l {
    0% {
        opacity: 0;
        transform: translate(30px, 0)
    }

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

@keyframes show-l-r {
    0% {
        opacity: 0;
        transform: translate(-30px, 0)
    }

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

@keyframes show-b-t {
    0% {
        opacity: 0;
        transform: translate(0, -30px)
    }

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

@keyframes show-t-b {
    0% {
        opacity: 0;
        transform: translate(0, 30px)
    }

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

@keyframes arotate {

    0%,
    to {
        transform: translateY(-5px)
    }

    50% {
        transform: translateY(5px)
    }
}

@keyframes drawHeart {
    0% {
        stroke-dashoffset: 2000;
        fill: transparent
    }

    56%,
    to {
        stroke-dashoffset: 0;
        fill: #9d1e11
    }
}

@keyframes reveal {
    0% {
        background-position: 0 0
    }

    to {
        background-position: 100%0
    }
}

@keyframes draw {
    0% {
        stroke-dashoffset: 101
    }

    to {
        stroke-dashoffset: 0
    }
}

:root {
    --clr-base: #000;
    --clr-att: #8F191C;
    --clr-att-hover: #7a0305;
    --titleSize: 68px
}

.sm-modal,
section {
    background-image: url(./sitemaker/templates/template904/img/decors/pattern.jpg);
    background-color: #faf9f9;
    background-position: center top;
    background-repeat: repeat;
    background-size: 1920px auto
}

.sm-contact_socials svg {
    display: block;
    fill: var(--clr-att)
}

.sm-contact_socials svg * {
    fill: var(--clr-att)
}

.sm-container {
    padding-top: 60px;
    padding-bottom: 60px;
    position: relative
}

.sm-helper-button .sm-button-ico {
    animation: arotate ease-in-out 1.8s infinite
}

.sm-frame {
    display: block;
    position: relative;
    aspect-ratio: 466/544
}

.sm-frame:after,
.sm-frame:before {
    content: "";
    background-size: 100%auto !important;
    top: 0
}

.sm-frame:before {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: url(./sitemaker/templates/template904/img/decors/frame.png)center no-repeat;
    z-index: 2
}

.sm-frame:after {
    width: 20%;
    transform: rotate(4deg);
    aspect-ratio: 73/133;
    background: url(./sitemaker/templates/template904/img/decors/attach.png)center no-repeat;
    left: 10%;
    z-index: 3
}

.sm-frame img {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.sm-frame-image {
    position: absolute;
    top: 6%;
    bottom: 21%;
    left: 9%;
    right: 9%;
    overflow: hidden
}

.sm-decor,
.sm-frame img,
.sm-frame:after {
    display: block;
    position: absolute
}

.sm-decor {
    line-height: 1;
    pointer-events: none
}

.sm-decor img,
.sm-decor svg,
.sm-frame-image img {
    border-radius: 0 !important
}

.sm-decor01 {
    width: 105px
}

.sm-decor02 {
    width: 120px
}

.sm-decor03 {
    width: 75px
}

.sm-decor04 {
    width: 126px
}

.sm-decor-health {
    width: 43px
}

.sm-photos .sm-decor-health {
    bottom: 30px;
    left: 50px
}

.sm-timing .sm-decor-health {
    left: 10px;
    top: 45px;
    transform: scaleX(-1)
}

.sm-decor-text-wrap.sm-arrow-no .sm-decor-text-arrow,
.sm-dresscode .sm-decor-health {
    display: none
}

.sm-footer .sm-decor-health {
    width: 50px;
    z-index: 4;
    right: 10px;
    bottom: -30px
}

.sm-decor-text-wrap {
    position: absolute;
    display: inline-block
}

.sm-decor-text-wrap.sm-arrow02 .sm-decor-text-arrow {
    width: 33px
}

.sm-decor-text-arrow {
    display: block;
    width: 50px;
    line-height: 1;
    position: relative
}

.sm-decor img,
.sm-decor svg,
.sm-decor-text-arrow img,
.sm-decor-text-arrow svg {
    display: block;
    width: 100%;
    height: auto
}

.sm-btn,
.sm-decor-text {
    letter-spacing: -.05em;
    font-weight: 400
}

.sm-decor-text {
    display: block;
    font-size: 32px;
    line-height: 28px;
    color: var(--clr-att);
    text-align: center;
    font-family: var(--title-font-family)
}

.sm-wishes .sm-arrow02 {
    width: 120px;
    top: 0;
    left: 0
}

.sm-wishes .sm-arrow02 .sm-decor-text {
    transform: rotate(10deg)
}

.sm-wishes .sm-arrow02 .sm-decor-text-arrow {
    position: absolute;
    top: 50%;
    left: 100%;
    transform: scaleY(-1) rotate(-52deg)
}

.sm-dresscode .sm-arrow-no {
    width: 192px;
    bottom: 45px;
    right: 20px
}

.sm-dresscode .sm-arrow-no .sm-decor-text,
.sm-timing .sm-arrow01 .sm-decor-text {
    transform: rotate(-10deg)
}

.sm-timing .sm-arrow01 {
    width: 143px;
    top: 165px;
    right: 0
}

@media (max-width:500px) {
    .sm-timing .sm-arrow01 {
        top: initial;
        margin-top: -15px
    }
}

.sm-timing .sm-arrow01 .sm-decor-text-arrow {
    margin: 10px auto 0 60px;
    transform: scaleX(-1)
}

.sm-location .sm-arrow01 {
    width: 143px;
    top: 100%;
    left: -20px;
    z-index: 2;
    margin-top: -95px
}

.sm-location .sm-arrow01 .sm-decor-text {
    transform: rotate(10deg)
}

.sm-location .sm-arrow01 .sm-decor-text-arrow {
    margin-top: -20px;
    position: absolute;
    left: 100%;
    top: 100%;
    transform: rotate(-50.853deg)
}

.sm-photos .sm-arrow-no {
    width: 178px;
    transform: rotate(-10deg);
    top: 100%;
    right: 0;
    margin-top: -20px;
    z-index: 2
}

.sm-datetime .sm-arrow02 {
    width: 120px;
    top: 57%;
    left: 0
}

.sm-datetime .sm-arrow02 .sm-decor-text {
    transform: rotate(10deg)
}

.sm-datetime .sm-arrow02 .sm-decor-text-arrow {
    position: absolute;
    top: 48px;
    left: 100%;
    margin-left: -28px
}

.sm-datetime .sm-arrow01 {
    width: 124px;
    top: -10px;
    right: -10px
}

.sm-datetime .sm-arrow01 .sm-decor-text {
    transform: rotate(-10deg)
}

.sm-datetime .sm-arrow01 .sm-decor-text-arrow {
    margin: 20px auto 0 20px;
    transform: scaleX(-1)
}

.sm-lead .sm-arrow01,
.sm-thanks .sm-arrow01 {
    width: 77px;
    position: absolute;
    top: 50%;
    left: -10px;
    margin-top: 80px
}

.sm-lead .sm-arrow01 .sm-decor-text,
.sm-thanks .sm-arrow01 .sm-decor-text {
    transform: rotate(10deg)
}

.sm-lead .sm-arrow01 .sm-decor-text-arrow,
.sm-thanks .sm-arrow01 .sm-decor-text-arrow {
    margin: 0-10px 0 auto
}

.sm-btn {
    display: -ms-inline-flexbox;
    display: inline-flex;
    vertical-align: top;
    width: auto;
    min-width: 300px;
    height: 37px;
    border: 0;
    background: var(--clr-att);
    font-size: 14px;
    line-height: 1;
    border-radius: 0;
    text-transform: uppercase;
    margin: 0;
    color: #fff;
    font-family: var(--text-font-family)
}

.sm-btn:hover {
    background: var(--clr-att-hover);
    color: #fff
}

.sm-subtitle,
.sm-title {
    margin: 0 0 10px;
    font-family: var(--title-font-family)
}

.sm-subtitle {
    font-size: 16px;
    line-height: normal;
    font-weight: 700;
    letter-spacing: normal;
    color: var(--clr-att)
}

.sm-title {
    font-size: var(--titleSize);
    line-height: .8;
    font-weight: 400;
    letter-spacing: -.05em;
    text-transform: none;
    color: var(--clr-base)
}

.sm-helper {
    display: block;
    width: 100%;
    text-align: center;
    line-height: 1
}

.sm-helper-button,
.sm-text {
    font-size: 14px;
    font-weight: 400
}

.sm-helper-button {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-align: center;
    align-items: center;
    height: 18px;
    padding: 0;
    gap: 5px;
    border-radius: 0;
    border: 0;
    border-bottom: 1px solid var(--clr-att);
    text-transform: uppercase;
    color: var(--clr-att);
    font-family: var(--title-text-family)
}

.sm-helper-button .sm-button-ico,
.sm-helper-button .sm-button-title {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    display: block
}

.sm-helper-button .sm-button-title {
    letter-spacing: -.05em
}

.sm-text {
    display: block;
    color: var(--clr-base);
    line-height: .78571429em;
    letter-spacing: -.05em;
    margin: 0 auto;
    text-wrap: balance;
    font-family: var(--text-font-family)
}

.sm-title-font {
    font-family: var(--title-font-family)
}

.sm-text-font {
    font-family: var(--text-font-family)
}

.sm-alt-font {
    font-family: var(--title-font-family)
}

.sm-time {
    padding: 0
}

.sm-time .sm-decor01 {
    left: 68%;
    top: 150px;
    transform: scaleX(-1)
}

.sm-time .sm-container {
    padding-top: 40px;
    padding-bottom: 50px
}

.sm-time .sm-box {
    border: 1px solid var(--clr-att);
    background: 0 0;
    text-align: center;
    padding: 60px 20px
}

.sm-time .sm-subtitle {
    margin: 0 0 25px
}

.sm-time .sm-time__box {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    white-space: nowrap;
    font-size: 12px;
    line-height: normal;
    letter-spacing: -.6px;
    font-weight: 300;
    gap: 15px;
    margin: 25px 0 0;
    padding: 0;
    position: relative
}

.sm-time .sm-time__item {
    -ms-flex: 1;
    flex: 1;
    padding: 0;
    margin: 0
}

.sm-time .sm-time__item_number {
    font-size: 32px;
    line-height: 24px;
    margin-bottom: 10px;
    font-weight: 400;
    letter-spacing: -.05em;
    height: auto;
    font-family: var(--text-font-family)
}

.sm-timer-time_number-span {
    font-family: inherit;
    line-height: inherit;
    height: auto
}

.sm-time .sm-time__item_number * {
    font-weight: inherit;
    font-size: inherit
}

.sm-time .sm-time__item__title {
    font-size: 14px;
    line-height: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    margin-top: -5px;
    font-family: var(--text-font-family)
}

.sm-contact,
.sm-wishes {
    padding: 0;
    text-align: center
}

.sm-wishes .sm-wishes__pagination-wrapper {
    margin-top: 0;
    margin-bottom: 0
}

.sm-wishes .sm-wishes__pagination-wrapper .sm-wishes__pagination,
.sm-wishes:after,
.sm-wishes:before {
    display: none
}

.sm-wishes .sm-title {
    margin-bottom: 30px
}

.sm-wishes .sm-wishes__content-slide {
    text-align: center;
    display: block;
    color: var(--clr-base);
    font-size: 14px;
    font-weight: 400;
    letter-spacing: -.05em;
    margin: 0 auto;
    text-wrap: balance;
    font-family: var(--text-font-family);
    line-height: normal
}

.sm-wishes .sm-slider-wrap {
    padding: 0 54px;
    position: relative
}

.sm-wishes .sm-slider {
    margin: 0;
    position: relative;
    padding: 0
}

.sm-wishes .sm-arrow {
    position: absolute;
    top: 50%;
    left: 8px;
    width: 44px;
    height: 44px;
    margin: -22px 0 0
}

.sm-wishes .sm-arrow img,
.sm-wishes .sm-arrow svg {
    object-fit: contain
}

.sm-wishes .sm-arrow-next {
    left: auto;
    right: 8px
}

.sm-wishes .sm-btn {
    margin-top: 30px;
    width: auto;
    padding: 0 20px;
    min-width: 300px
}

.sm-wishes .sm-arrow.sm-arrow-next {
    transform: none
}

.sm-wishes .sm-arrow.sm-arrow-prev {
    transform: scale(1)
}

.sm-wishes .sm-arrow.sm-arrow-next {
    transform: scale(-1)
}

.sm-contact .sm-contact__box:after,
.sm-contact .sm-contact__box:before,
.sm-contact .sm-decor02 {
    display: none
}

.sm-contact .sm-text,
.sm-contact .sm-title {
    color: inherit
}

.sm-contact .sm-contact__box {
    margin: 0;
    padding: 0
}

.sm-contact .sm-contact_photo {
    padding: 0;
    margin: 20px auto 45px;
    width: 194px;
    position: relative
}

.sm-contact .sm-contact_photo .sm-frame {
    transform: rotate(-4.878deg)
}

.sm-contact .sm-photo {
    display: block;
    position: relative;
    line-height: 1
}

.sm-contact .sm-photo img {
    display: block;
    width: 100%
}

.sm-contact .sm-text {
    margin: 0 auto 30px;
    max-width: 270px
}

.sm-contact .sm-contact__info {
    font-size: 32px;
    line-height: 24px;
    font-weight: 400;
    letter-spacing: -.05em;
    text-transform: none;
    margin: 0 0 30px;
    word-spacing: -.3em;
    font-family: var(--text-font-family)
}

.sm-contact .sm-contact__info * {
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    margin: 0
}

.sm-contact .sm-contact_socials {
    margin-bottom: 30px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 14px
}

.sm-contact .sm-contact_socials img,
.sm-contact .sm-contact_socials svg {
    width: 25px;
    height: auto
}

.sm-contact .sm-contact_soc {
    display: block;
    width: 25px;
    height: 25px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    padding: 0
}

.sm-contact .sm-btn {
    margin-top: 0;
    min-width: 300px;
    width: auto
}

.sm-questionnaire {
    padding: 0
}

.sm-questionnaire .sm-decor01 {
    display: none
}

.sm-questionnaire.sm-modal {
    display: block
}

.sm-questionnaire .sm-box {
    position: relative;
    background: var(--clr-base);
    color: var(--clr-bg);
    z-index: 2;
    padding: 60px 24px;
    text-align: center
}

.sm-questionnaire .sm-box .sm-title {
    padding: 0 15px;
    color: inherit
}

.sm-questionnaire .sm-box .sm-text {
    color: inherit
}

.sm-questionnaire .sm-text {
    display: block;
    position: relative;
    margin-bottom: 10px;
    margin-left: auto;
    margin-right: auto;
    max-width: 240px;
    padding: 0
}

.sm-questionnaire .sm-questionnaire__date {
    font-size: 32px;
    line-height: 24px;
    text-transform: uppercase;
    font-weight: 400;
    letter-spacing: -.05em;
    margin: 0;
    font-family: var(--text-font-family)
}

.sm-questionnaire .sm-questionnaire-image {
    display: block;
    position: relative;
    overflow: hidden
}

.sm-footer__image:after,
.sm-footer__image:before,
.sm-questionnaire .sm-questionnaire-image .sm-img-m,
.sm-timing .sm-timing__items:after,
.sm-timing .sm-timing__items:before {
    display: none
}

.sm-questionnaire .sm-questionnaire-image img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.sm-questionnaire .sm-btn {
    margin-top: 20px
}

.sm-footer {
    padding: 0;
    text-align: center
}

.sm-footer .sm-decor03 {
    top: -20px;
    right: 30px
}

.sm-footer .sm-title {
    font-size: var(--titleSize);
    line-height: .8;
    font-weight: 400;
    letter-spacing: -.05em;
    text-transform: none;
    color: var(--clr-base);
    font-family: var(--title-font-family);
    margin-bottom: 10px
}

.sm-footer__image {
    width: 274px;
    margin: 40px auto 0
}

.sm-footer__image .sm-frame {
    transform: rotate(10.123deg)
}

.sm-footer .sm-text {
    margin: 0 auto 20px;
    max-width: 240px
}

.sm-footer .sm-text:has(+.sm-text) {
    margin-bottom: 0
}

.sm-footer .sm-footer__names {
    margin-bottom: 30px
}

.sm-timing {
    padding: 0;
    text-align: center
}

.sm-timing .sm-container {
    padding-top: 110px;
    padding-bottom: 48px
}

.sm-timing .sm-title {
    margin-bottom: 20px
}

.sm-timing .sm-timing__items {
    margin: 45px 0 0;
    padding: 0;
    gap: 40px
}

.sm-timing .sm-timing-text {
    display: block;
    text-align: center;
    margin: 0
}

.sm-datetime .sm-calendar__date>span:last-child,
.sm-dresscode .sm-photos-section-wrap:last-child,
.sm-timing .sm-timing__item:last-child {
    margin-bottom: 0
}

.sm-timing .sm-timing__item__time {
    font-size: 32px;
    line-height: 24px;
    font-weight: 400;
    text-transform: uppercase;
    text-align: center;
    width: 100%;
    letter-spacing: normal;
    font-family: var(--text-font-family);
    margin-bottom: 10px
}

.sm-timing .sm-timing__item__title {
    margin: 0 auto;
    text-align: center
}

.sm-camera-image-wrap .sm-frame:after,
.sm-dresscode .sm-decor01 {
    display: none
}

.sm-dresscode .sm-title {
    margin-bottom: 20px
}

.sm-dresscode .sm-title_wrap {
    position: relative
}

.sm-dresscode .sm-text {
    margin: 0 auto 30px;
    text-align: center;
    max-width: 24.16666667em
}

.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: 0
}

.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-subtitle {
    font-size: 34px;
    line-height: 41px;
    margin-bottom: 0;
    text-align: center;
    font-weight: 200
}

.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: 5px 0 0;
    margin-bottom: 50px
}

.sm-dresscode .sm-section-gallery-wrap {
    width: auto;
    margin-left: -22px;
    margin-right: -21px;
    position: relative
}

.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: -24px;
    top: 67px
}

.sm-dresscode .sm-section-woman .sm-photo-01:nth-child(2) {
    z-index: 4;
    aspect-ratio: 513/718;
    width: 214px;
    left: 88px;
    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: 270px
}

.sm-dresscode .sm-section-woman .sm-photo-01:nth-child(4) {
    z-index: 5;
    aspect-ratio: 513/769;
    width: 142px;
    top: 290px;
    left: 34px
}

.sm-dresscode .sm-section-woman .sm-photo-01:nth-child(5) {
    z-index: 5;
    aspect-ratio: 513/769;
    width: 142px;
    top: 184px;
    left: 239px
}

.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-datetime {
    text-align: center;
    padding: 0
}

.sm-datetime .sm-container {
    padding-bottom: 50px;
    padding-top: 50px
}

.sm-datetime .sm-calendar__date {
    display: block;
    position: relative;
    text-align: center;
    font-size: 60px;
    letter-spacing: -.05em;
    font-weight: 400;
    margin: 50px 0
}

.sm-datetime .sm-calendar__date>span {
    display: block;
    position: relative;
    margin-bottom: 24px;
    line-height: 1;
    font-family: var(--text-font-family)
}

.sm-datetime .sm-calendar__date>span:last-child:before,
.sm-lead .sm-lead-date-section:last-child:before,
.sm-photos .sm-section_image:last-child .sm-image:after {
    display: none
}

.sm-datetime .sm-calendar__date>span:before {
    content: "-";
    display: block;
    height: 24px;
    line-height: 24px;
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -12px;
    text-align: center;
    transform: rotate(90deg);
    font-size: 32px;
    letter-spacing: -.05em
}

.sm-calendar__box {
    background: 0 0;
    width: 230px;
    padding: 0;
    margin: 0 auto
}

.sm-calendar__month {
    font-size: 34px;
    line-height: 41px;
    letter-spacing: -.05em;
    font-family: var(--title-font-family)
}

.sm-calendar {
    margin-top: 10px;
    gap: 5px 10px
}

.sm-calendar-day,
.sm-calendar-day-week-title {
    font-size: 11px;
    line-height: 18px;
    font-weight: 400;
    opacity: 1
}

.sm-calendar-day-week-title {
    color: var(--clr-att)
}

.sm-number-active:before {
    background: url(./sitemaker/templates/template904/img/decors/health.svg)center no-repeat;
    aspect-ratio: 31/27;
    width: 31px;
    height: auto;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -61%);
    z-index: -1
}

.sm-calendar-day {
    color: var(--clr-base)
}

.sm-datetime .sm-text {
    margin: 0 auto
}

.sm-datetime .sm-title {
    white-space: normal;
    margin-bottom: 30px
}

.sm-datetime .sm-section__text {
    position: relative
}

.sm-camera-image-wrap {
    position: relative;
    height: 486px;
    margin-top: -40px
}

.sm-camera-image-wrap .sm-camera-image {
    width: 350px;
    position: relative;
    left: 50%;
    margin-left: -175px
}

.sm-camera-image-wrap,
.sm-camera-image-wrap .sm-camera-image img {
    display: block;
    width: 100%
}

.sm-camera-image-wrap .sm-camera-image-inner {
    width: 55.42%;
    margin: 0 auto;
    transition: all ease .2s;
    height: 226px;
    overflow: hidden;
    position: absolute;
    top: 260px;
    left: 50%;
    transform: translate(-50%, 0)
}

.sm-camera-image-wrap .sm-camera-image-inner .sm-frame {
    position: absolute;
    top: -260px;
    bottom: 0;
    left: 0;
    right: 0;
    transform: translateY(100px)
}

.sm-photos .sm-decor04 {
    top: 15px;
    left: 50%;
    margin-left: 30px
}

.sm-photos .sm-section__images {
    display: -ms-flexbox;
    display: flex;
    height: auto;
    position: relative;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: start;
    justify-content: flex-start
}

.sm-photos .sm-section_image {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 55.5%;
    transform: rotate(-4.878deg)
}

.sm-photos .sm-section_image:last-child {
    -ms-flex-item-align: end;
    align-self: flex-end;
    transform: rotate(12.026deg);
    margin-top: -100px;
    margin-right: 15px
}

.sm-lead {
    position: relative;
    text-align: center
}

.sm-lead .sm-container {
    padding-top: 35px;
    padding-bottom: 30px
}

.sm-lead .sm-decor01 {
    top: -40px;
    left: -20px
}

.sm-lead .sm-decor02 {
    bottom: -20px;
    right: 0;
    z-index: 2
}

.sm-lead .sm-lead-names-content {
    position: relative
}

.sm-lead .sm-helper {
    margin-top: 40px
}

.sm-lead .sm-title {
    margin-bottom: 0;
    line-height: .8
}

.sm-lead .sm-subtitle {
    text-align: right;
    margin-top: -10px
}

.sm-lead .sm-lead-name {
    margin-bottom: 9px
}

.sm-form .sm-form__block:last-child,
.sm-lead .sm-lead-name:last-child {
    margin-bottom: 0
}

.sm-lead .sm-lead-names {
    position: relative
}

.sm-lead .sm-lead-image {
    display: block;
    position: relative;
    margin: 50px auto 0;
    width: 255px
}

.sm-lead .sm-lead-image img,
.sm-location .sm-img img {
    width: 100%;
    display: block;
    position: relative;
    object-fit: initial;
    height: auto
}

.sm-lead .sm-lead-image img {
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0
}

.sm-lead .sm-lead-date {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 35px;
    font-size: 24px;
    text-transform: uppercase;
    letter-spacing: -.05em;
    line-height: normal;
    gap: 17px;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    z-index: 2
}

.sm-lead .sm-lead-date-section {
    display: block;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    position: relative
}

.sm-lead .sm-lead-date-section:before {
    content: "";
    display: block;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: currentColor;
    position: absolute;
    top: 50%;
    left: 100%;
    margin-left: 7px;
    margin-top: -2px
}

.sm-location {
    padding: 0;
    text-align: center
}

.sm-location .sm-location__image:after,
.sm-location .sm-location__image:before,
.sm-location:after,
.sm-location:before,
.sm-thanks .sm-thanks__content:after,
.sm-thanks .sm-thanks__content:before {
    display: none
}

.sm-location .sm-section__text {
    margin-bottom: 30px;
    margin-left: auto;
    margin-right: auto
}

.sm-location .sm-location__image {
    margin: 0 auto;
    width: 300px;
    min-width: 300px;
    padding: 0
}

.sm-location .sm-img {
    width: 100%;
    margin: 0 auto
}

.sm-location .sm-img img {
    border-radius: 0;
    top: auto;
    bottom: auto;
    left: auto;
    right: auto
}

.sm-location .sm-text {
    margin: 0
}

.sm-location .sm-btn {
    margin-top: 63px
}

.sm-thanks .sm-decor01 {
    top: -110px;
    left: 0
}

.sm-thanks .sm-decor02 {
    bottom: -80px;
    right: 0;
    z-index: 2
}

.sm-thanks .sm-camera-image-wrap {
    margin-top: 0
}

.sm-thanks .sm-helper {
    margin-top: 40px
}

.sm-thanks .sm-modal-close {
    right: auto;
    left: 20px
}

.sm-thanks .sm-title {
    text-align: center;
    margin: 0
}

.sm-thanks .sm-subtitle {
    text-align: right;
    margin-top: -10px;
    padding-right: 30px;
    margin-bottom: 0
}

.sm-thanks .sm-thanks__content {
    display: block;
    position: relative;
    text-align: center;
    padding: 0;
    margin: 0;
    z-index: 3
}

.sm-form {
    background: #fff
}

.sm-form .sm-text {
    margin: 0 auto 10px;
    font-size: 14px;
    max-width: 20em
}

.sm-form .sm-form__date {
    display: block;
    text-align: center;
    margin: 0;
    font-size: 20px;
    line-height: 1;
    text-transform: uppercase;
    font-weight: 400
}

.sm-form .sm-form__form {
    margin: 40px 0 0
}

.sm-form .sm-form__block {
    margin-top: 0;
    margin-bottom: 40px
}

.sm-form .sm-form__block-submit {
    text-align: center
}

.sm-form .sm-form__block__title {
    font-size: 14px;
    text-transform: uppercase;
    line-height: normal;
    margin: 0 0 11px;
    font-weight: 400
}

.sm-form .sm-form__input {
    margin: 0;
    gap: 39px;
    border-radius: 0;
    border: 1px solid var(--clr-base);
    color: var(--clr-base);
    padding-left: 14px;
    font-size: 16px;
    letter-spacing: -.7px
}

.sm-form .sm-form__drinks-check {
    margin-top: 0;
    margin-left: 0
}

.sm-form .sm-form_checkbox {
    position: relative
}

.sm-form .sm-form_checkbox .sm-form_checkbox_box {
    left: -30px;
    top: 50%;
    margin-top: -10px
}

.sm-mob-btn {
    height: 50px !important
}

.sm-mob-btn .sm-btn {
    margin: 0;
    width: 100%;
    height: 56px;
    font-size: 14px
}

@media (min-width:500px) {
    div#sm-questionnaire__head {
        background: 0 0 !important
    }
}

@media (max-width:500px) {
    .sm-camera-image-wrap .sm-camera-image-inner .sm-frame {
        top: -230px
    }

    .sm-camera-image-wrap .sm-camera-image-inner {
        top: 274px
    }

    .sm-wishes .sm-decor02 {
        display: none
    }

    .sm-lead .sm-lead-image {
        margin-top: 30px
    }

    .sm-questionnaire.sm-open {
        transition: none !important
    }

    .sm-questionnaire.sm-open #sm-questionnaire__head {
        background: 0 0 !important
    }

    .sm-questionnaire.sm-open .sm-decor01 {
        display: block;
        top: -50px;
        left: -20px
    }

    .sm-questionnaire.sm-open .sm-title {
        padding: 0 40px
    }

    .sm-questionnaire.sm-open .item-animation {
        transition: none !important
    }

    .sm-questionnaire.sm-open .sm-form_checkbox [data-sm-alcoitem],
    .sm-questionnaire.sm-open .sm-questionnaire-form .sm-form_checkbox [data-sm-alcoitem] {
        padding-left: 0 !important
    }

    .sm-questionnaire.sm-open .sm-container {
        padding-top: 60px;
        padding-bottom: 80px
    }

    .sm-questionnaire.sm-open .sm-questionnaire-image {
        display: none
    }

    .sm-questionnaire.sm-open .sm-form {
        display: block;
        margin-top: 40px;
        background: 0 0
    }

    .sm-questionnaire.sm-open .sm-box {
        padding: 0;
        background: 0 0
    }

    .sm-questionnaire .sm-container {
        padding-top: 140px;
        padding-bottom: 140px
    }

    .sm-questionnaire .sm-btn.sm-only-mobile {
        margin-top: 30px
    }

    .sm-questionnaire .sm-questionnaire-image {
        position: absolute;
        top: 60px;
        bottom: 60px;
        left: 0;
        right: 0
    }

    .sm-questionnaire .sm-questionnaire-image:after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0
    }

    .sm-questionnaire .sm-questionnaire-image img {
        width: 100%;
        height: 100%;
        object-position: center
    }

    .sm-questionnaire .sm-questionnaire {
        display: none
    }

    .sm-questionnaire .sm-questionnaire .sm-form {
        height: 100%;
        display: block
    }

    .sm-questionnaire .sm-box {
        background: #fff
    }

    .sm-questionnaire .sm-text,
    .sm-questionnaire .sm-title {
        margin-bottom: 30px
    }

    .sm-questionnaire .sm-btn {
        margin-top: 30px
    }

    .sm-questionnaire .sm-form {
        display: none
    }

    .sm-form .sm-form {
        background: 0 0
    }

    .sm-form .sm-form__head {
        display: block;
        margin-bottom: 40px;
        text-align: center;
        position: relative;
        top: auto;
        bottom: auto;
        left: auto;
        right: auto
    }

    .sm-form .sm-form__head * {
        color: inherit
    }

    .sm-form .sm-form__block__title {
        font-size: 14px;
        margin-bottom: 15px;
        line-height: 1.2;
        letter-spacing: normal;
        font-family: var(--text-font-family)
    }

    .sm-form .sm-form__block .sm-form_checkbox {
        font-size: 14px;
        letter-spacing: -.05em
    }

    .sm-form .sm-btn {
        margin-top: 0;
        width: 100%
    }

    .sm-footer .sm-container {
        padding-bottom: 100px;
        padding-top: 40px
    }
}

@media (min-width:501px) {
    :root {
        --titleSize: 100px
    }

    .sm-timing .sm-decor-health,
    .sm-wishes .sm-arrow02 .sm-decor-text-arrow {
        display: none
    }

    .sm-dresscode .sm-decor-health {
        width: 50px;
        display: block;
        top: -20px;
        left: 50%;
        margin-left: -340px;
        transform: scaleX(-1)
    }

    .sm-footer .sm-decor-health {
        right: 40px
    }

    .sm-wishes .sm-arrow02 {
        top: 70px;
        left: 50%;
        margin-left: -300px
    }

    .sm-dresscode .sm-arrow-no {
        bottom: 35px;
        right: 50%;
        margin-right: -30px
    }

    .sm-timing .sm-arrow01 {
        top: 85px;
        right: auto;
        left: 50%;
        margin-left: 200px
    }

    .sm-location .sm-arrow01 {
        left: -80px;
        margin-top: -95px
    }

    .sm-datetime .sm-arrow02 {
        left: 50%;
        margin-left: -240px;
        margin-top: -20px
    }

    .sm-datetime .sm-arrow01 {
        right: 50%;
        margin-right: -220px;
        margin-top: 20px
    }

    .sm-lead .sm-arrow01,
    .sm-thanks .sm-arrow01 {
        margin-top: 110px;
        margin-left: -10px
    }

    .sm-decor01 {
        width: 163px
    }

    .sm-decor02 {
        width: 143px
    }

    .sm-decor03 {
        width: 75px
    }

    .sm-text {
        font-size: 18px
    }

    .sm-camera-image-wrap {
        width: 420px;
        height: 583px;
        margin-left: auto;
        margin-right: auto
    }

    .sm-camera-image-wrap .sm-camera-image {
        width: 100%;
        left: 0;
        margin: 0
    }

    .sm-camera-image-wrap .sm-camera-image-inner {
        height: 271px;
        top: 326px
    }

    .sm-btn {
        height: 36px;
        line-height: 36px;
        padding: 0 40px;
        font-size: 16px;
        letter-spacing: -.8px;
        min-width: 300px
    }

    .sm-container {
        padding-top: 90px;
        padding-bottom: 90px
    }

    .sm-helper-button {
        height: 20px;
        font-size: 18px
    }

    .sm-lead .sm-container {
        padding-top: 80px;
        padding-bottom: 90px
    }

    .sm-lead .sm-helper {
        margin-top: 80px
    }

    .sm-lead .sm-decor01 {
        left: 50%;
        top: -60px;
        margin-left: -380px
    }

    .sm-lead .sm-decor02 {
        bottom: -40px;
        right: 0
    }

    .sm-lead .sm-camera-image-wrap {
        margin-top: -40px
    }

    .sm-lead .sm-lead-date {
        font-size: 36.8px;
        gap: 27px;
        margin-bottom: 25px
    }

    .sm-lead .sm-lead-date-section:before,
    .sm-thanks .sm-thanks-date-section:before {
        width: 5px;
        height: 5px;
        margin-left: 11px;
        margin-top: -3px
    }

    .sm-lead .sm-subtitle {
        margin-top: 0;
        margin-left: auto;
        margin-right: auto;
        max-width: 570px
    }

    .sm-lead .sm-lead-name {
        margin-bottom: 10px
    }

    .sm-lead .sm-lead-image {
        width: 317px;
        margin-top: 40px
    }

    .sm-datetime .sm-container {
        padding-top: 90px;
        padding-bottom: 90px
    }

    .sm-datetime .sm-calendar__date {
        margin: 75px 0
    }

    .sm-datetime .sm-text {
        max-width: 420px
    }

    .sm-dresscode .sm-photos-section-wrap:before,
    .sm-photos .sm-decor04 {
        display: none
    }

    .sm-photos .sm-container {
        padding-top: 30px;
        padding-bottom: 140px
    }

    .sm-photos .sm-section__images {
        width: 347px;
        margin: 0 auto
    }

    .sm-location .sm-location__image {
        margin-top: 40px
    }

    .sm-location .sm-section__text {
        width: 100%
    }

    .sm-location .sm-text {
        margin: 0 auto;
        max-width: 400px
    }

    .sm-location .sm-ico {
        margin-bottom: 20px;
        width: 90px
    }

    .sm-location .sm-ico img {
        width: 100%;
        transform: none
    }

    .sm-location .sm-btn {
        margin-top: 40px
    }

    .sm-location .sm-title {
        margin-top: 0;
        margin-bottom: 30px
    }

    .sm-timing .sm-container {
        padding-top: 90px;
        padding-bottom: 70px
    }

    .sm-timing .sm-subtitle {
        margin: 0
    }

    .sm-timing .sm-timing__item__time {
        font-size: 40px;
        line-height: 32px;
        margin-bottom: 10px
    }

    .sm-timing .sm-timing__items {
        margin: 60px 0 0;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: center;
        justify-content: center;
        gap: 50px
    }

    .sm-timing .sm-timing__item {
        margin: 0;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        width: 157px
    }

    .sm-thanks .sm-decor01 {
        top: -80px;
        left: -180px
    }

    .sm-thanks .sm-decor02 {
        bottom: -40px;
        right: 0;
        z-index: 2
    }

    .sm-thanks .sm-thanks-date {
        font-size: 36.8px;
        gap: 27px;
        margin-bottom: 25px
    }

    .sm-thanks .sm-title {
        margin-left: auto;
        margin-right: auto;
        max-width: 380px;
        display: block
    }

    .sm-thanks .sm-subtitle {
        margin: 0
    }

    .sm-thanks .sm-thanks__image {
        margin: 55px auto 0;
        aspect-ratio: inherit;
        min-width: 317px;
        width: 317px;
        position: relative;
        height: auto
    }

    .sm-thanks .sm-thanks__image img {
        display: block;
        width: 100%;
        filter: none
    }

    .sm-dresscode .sm-decor01 {
        display: block;
        left: 50%;
        top: 30px;
        margin-left: -70px;
        transform: scaleX(-1)
    }

    .sm-dresscode .sm-photos-section-wrap.sm-section-man {
        margin-right: -70px
    }

    .sm-dresscode .sm-section-man .sm-subtitle {
        margin-right: auto
    }

    .sm-dresscode .sm-text {
        max-width: 464px
    }

    .sm-dresscode .sm-dress-code__colors {
        margin-bottom: 47px;
        gap: 10px
    }

    .sm-dresscode .sm-dress-code_wrap-bottom_circle,
    .sm-dresscode .sm_colors {
        width: 35px;
        height: 35px
    }

    .sm-dresscode .sm-text,
    .sm-dresscode .sm-title {
        margin-bottom: 30px
    }

    .sm-dresscode .sm-subtitle {
        margin-bottom: 5px;
        max-width: 456px;
        font-size: 48px;
        line-height: 58px
    }

    .sm-dresscode .sm-photos-outer-wrap {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin: 0 auto;
        position: relative;
        max-width: 1055px
    }

    .sm-dresscode .sm-photos-section-wrap {
        margin: 0;
        padding: 0;
        width: 50%
    }

    .sm-dresscode .sm-photos-section-wrap:last-child .sm-section-title {
        margin-right: 0;
        margin-left: auto
    }

    .sm-dresscode .sm-photos-section-wrap:last-child .sm-section-gallery-wrap {
        margin: 0 0 0 auto
    }

    .sm-dresscode .sm-section-gallery-wrap {
        max-width: 456px;
        position: relative;
        margin: 0
    }

    .sm-dresscode .sm-section-woman .sm-section-gallery-wrap {
        height: 567px
    }

    .sm-dresscode .sm-section-woman .sm-photo-01:nth-child(1) {
        width: 145px;
        top: 75px;
        left: 0
    }

    .sm-dresscode .sm-section-woman .sm-photo-01:nth-child(2) {
        width: 241px;
        top: 36px;
        left: 126px
    }

    .sm-dresscode .sm-section-woman .sm-photo-01:nth-child(3) {
        width: 100px;
        top: 0;
        left: 331px
    }

    .sm-dresscode .sm-section-woman .sm-photo-01:nth-child(4) {
        width: 160px;
        top: 327px;
        left: 65px
    }

    .sm-dresscode .sm-section-woman .sm-photo-01:nth-child(5) {
        width: 160px;
        top: 207px;
        left: 296px
    }

    .sm-dresscode .sm-section-man .sm-subtitle {
        margin-left: auto
    }

    .sm-dresscode .sm-section-man .sm-section-gallery-wrap {
        height: 553px
    }

    .sm-dresscode .sm-section-man .sm-photo-01:nth-child(1) {
        width: 100px;
        top: 117px;
        left: 39px
    }

    .sm-dresscode .sm-section-man .sm-photo-01:nth-child(2) {
        width: 242px;
        top: 55px;
        left: 105px
    }

    .sm-dresscode .sm-section-man .sm-photo-01:nth-child(3) {
        width: 145px;
        top: 14px;
        left: 306px
    }

    .sm-dresscode .sm-section-man .sm-photo-01:nth-child(4) {
        width: 160px;
        top: 313px;
        left: 30px
    }

    .sm-dresscode .sm-section-man .sm-photo-01:nth-child(5) {
        width: 143px;
        top: 269px;
        left: 283px
    }

    .sm-time {
        position: relative
    }

    .sm-time .sm-decor01 {
        display: none
    }

    .sm-time .sm-container {
        padding-top: 90px;
        padding-bottom: 90px
    }

    .sm-time .sm-box {
        margin: 0 auto;
        max-width: 1055px;
        padding: 60px 190px;
        position: relative;
        z-index: 7
    }

    .sm-time .sm-time__item__title {
        margin-top: -5px;
        font-size: 16px
    }

    .sm-time .sm-time__box {
        padding: 0;
        margin-top: 60px;
        font-size: 18px;
        letter-spacing: -.05em;
        -ms-flex-pack: center;
        justify-content: center
    }

    .sm-time .sm-time__item_number {
        font-size: 40px;
        letter-spacing: -.05em;
        font-weight: 400;
        line-height: 31px
    }

    .sm-time .sm-time__item {
        max-width: 80px
    }

    .sm-questionnaire .sm-box .sm-btn,
    .sm-wishes .sm-decor02 {
        display: none
    }

    .sm-wishes .sm-title {
        margin-bottom: 15px
    }

    .sm-wishes .sm-slider-wrap {
        margin: 0 auto;
        width: 420px
    }

    .sm-wishes .sm-wishes__content-slide {
        font-size: 18px
    }

    .sm-wishes .sm-btn {
        padding: 0 20px;
        margin-top: 40px
    }

    .sm-contact .sm-decor02 {
        display: block;
        left: 67%;
        top: -90px
    }

    .sm-contact .sm-contact_photo {
        width: 194px;
        margin-top: 20px;
        margin-bottom: 30px
    }

    .sm-contact .sm-text {
        max-width: 308px;
        line-height: 19px;
        margin-bottom: 20px;
        letter-spacing: -.05em
    }

    .sm-contact .sm-contact__info {
        font-size: 24px;
        margin-bottom: 20px;
        line-height: 18px;
        text-transform: uppercase;
        letter-spacing: -.05em
    }

    .sm-contact .sm-contact_socials {
        gap: 10px 20px;
        margin-bottom: 30px
    }

    .sm-contact .sm-contact_socials img,
    .sm-contact .sm-contact_socials svg {
        width: 35px
    }

    .sm-contact .sm-btn {
        margin-top: 0
    }

    .sm-questionnaire {
        position: relative;
        z-index: 2
    }

    .sm-questionnaire .sm-questionnaire-image {
        display: none;
        position: absolute;
        top: 90px;
        bottom: 178px;
        width: 1055px;
        right: auto;
        left: 50%;
        transform: translateX(-50%)
    }

    .sm-questionnaire .sm-questionnaire-image img {
        width: 100%;
        height: 100%;
        object-position: center
    }

    .sm-questionnaire .sm-box {
        width: 680px;
        padding: 0;
        background: 0 0;
        box-shadow: none;
        margin: 0 auto 60px;
        color: var(--clr-base)
    }

    .sm-questionnaire .sm-title {
        margin-bottom: 40px
    }

    .sm-questionnaire .sm-text {
        margin: 0 auto 30px;
        max-width: 320px
    }

    .sm-questionnaire .sm-questionnaire__date {
        font-size: 54px;
        letter-spacing: normal;
        line-height: 60px;
        margin-top: 0;
        margin-bottom: 40px;
        text-transform: none;
        font-family: var(--title-font-family)
    }

    .sm-questionnaire .sm-questionnaire__date:last-child {
        margin-bottom: 0
    }

    .sm-questionnaire .sm-form {
        margin: 0 auto;
        max-width: 680px
    }

    .sm-footer {
        position: relative
    }

    .sm-footer .sm-decor03,
    .sm-form {
        top: 10px;
        left: 70%;
        right: auto;
        bottom: auto
    }

    .sm-footer .sm-container {
        padding-top: 30px
    }

    .sm-footer .sm-subtitle {
        font-size: 16px;
        letter-spacing: -.8px
    }

    .sm-footer .sm-footer__names {
        margin: 0 0 50px
    }

    .sm-footer .sm-text {
        margin-bottom: 30px;
        line-height: 14px
    }

    .sm-footer .sm-footer__image {
        margin-left: auto;
        margin-right: auto;
        max-width: 1055px;
        position: relative;
        width: 337px
    }

    .sm-footer .sm-footer__image .sm-img {
        height: auto
    }

    .sm-form {
        display: block;
        position: relative;
        top: auto;
        left: auto;
        overflow: visible;
        z-index: inherit;
        background: 0 0
    }

    .sm-form .sm-form__head {
        display: block;
        margin-bottom: 60px
    }

    .sm-form .sm-modal-close {
        display: none
    }

    .sm-form .sm-form__block {
        margin-bottom: 45px
    }

    .sm-form .sm-form__block__title {
        text-transform: none;
        font-size: 24px;
        line-height: 18px;
        margin-bottom: 10px;
        font-family: var(--text-font-family)
    }

    .sm-form [placeholder]::-webkit-input-placeholder {
        color: rgba(253, 248, 242, .5)
    }

    .sm-form [placeholder]:-moz-placeholder {
        color: rgba(253, 248, 242, .5)
    }

    .sm-form [placeholder]::-moz-placeholder {
        color: rgba(253, 248, 242, .5)
    }

    .sm-form [placeholder]:-ms-input-placeholder {
        color: rgba(253, 248, 242, .5)
    }

    .sm-form .sm-form__form {
        margin-left: auto;
        margin-right: auto;
        margin-top: 0;
        max-width: 680px
    }

    .sm-form .sm-form {
        background: 0 0
    }

    .sm-form .sm-form__date {
        font-size: 54px;
        margin-top: 20px;
        letter-spacing: normal
    }

    .sm-form .sm-text {
        letter-spacing: normal
    }

    .sm-form .sm-btn {
        width: 100%
    }
}

.item-animation {
    transition-property: transform, opacity, translate, color, background-color;
    transition-duration: 2s, 2s, 2s, .5s, .5s;
    transition-timing-function: ease-in-out
}

.item-aleft:not(.item-active) {
    translate: 100px 0;
    opacity: 0
}

.item-aright:not(.item-active) {
    opacity: 0;
    translate: -100px 0
}

.item-abottom:not(.item-active) {
    opacity: 0;
    translate: 0-100px
}

.item-atop:not(.item-active) {
    opacity: 0;
    translate: 0 100px
}

.item-animation-second {
    transition-delay: .1s
}

.item-animation-third {
    transition-delay: .2s
}

.item-animation-four {
    transition-delay: .3s
}

.item-animation-five {
    transition-delay: .4s
}

.item-animation-six {
    transition-delay: .5s
}

.item-animation-seven {
    transition-delay: .6s
}

.jsScroll__scrolled .animate-show-r-l {
    animation: show-r-l ease-in-out 1.8s forwards
}

.jsScroll__scrolled .animate-show-l-r {
    animation: show-l-r ease-in-out 1.8s forwards
}

.jsScroll__scrolled .animate-show-b-t {
    animation: show-b-t ease-in-out 1.8s forwards
}

.jsScroll__scrolled .animate-show-t-b {
    animation: show-t-b ease-in-out 1.8s forwards
}

.item-active.animate-show-r-l {
    animation: show-r-l ease-in-out 1.8s forwards
}

.item-active.animate-show-l-r {
    animation: show-l-r ease-in-out 1.8s forwards
}

.item-active.animate-show-b-t {
    animation: show-b-t ease-in-out 1.8s forwards
}

.item-active.animate-show-t-b {
    animation: show-t-b ease-in-out 1.8s forwards
}

.item-active.animate-show {
    transition: all ease .2s
}

.sm-dresscode .sm-photo:not(.item-active) {
    opacity: 0
}

.item-active .sm-helper.item-atop:not(.item-active) {
    opacity: 1;
    translate: 0 0
}

.sm-lead-names-content .item-animation {
    display: inline-block
}

.sm-btn {
    padding: 0 35px !important
}

.sm-decor-text {
    background: linear-gradient(90deg, var(--clr-att) 50%, transparent 50%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    background-size: 200% 100%;
    background-position: 0 0;
    opacity: 0;
    padding-bottom: 6px
}

.item-active.sm-decor-text {
    opacity: 1;
    animation: reveal 1s steps(100, end) reverse
}

.sm-decor-text-arrow svg path {
    stroke-dasharray: 102;
    stroke-dashoffset: 101
}

.sm-decor-text-arrow.item-active svg path {
    animation: draw 2s ease forwards
}

.sm-editor_preview .sm-quest-modal-close {
    right: 16px;
    left: initial
}

.sm-form__block>div~.sm-form__block__title {
    margin-top: 45px
}

@media (max-width:500px) {
    .sm-form__block>div~.sm-form__block__title {
        margin-top: 40px
    }
}