@font-face {
    font-family: "Lufga";
    font-display: swap;
    src: url("../fonts/Lufga-Regular.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: "Lufga";
    font-display: swap;
    src: url("../fonts/Lufga-Medium.woff2") format("woff2");
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: "Lufga";
    font-display: swap;
    src: url("../fonts/Lufga-SemiBold.woff2") format("woff2");
    font-weight: 600;
    font-style: normal;
}

*, *::before, *::after{
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}

[hidden]{
    display: none !important;
}

html{
    scrollbar-gutter: stable;
}

button,
input,
textarea,
select {
    font: inherit;
    border: none;
    background: transparent;
    outline: none;
}

button {
    border: none;
    background: none;
    cursor: pointer;
}

a, a:visited{
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}

ul,
ol {
    list-style: none;
}

body{
    font-family: "Lufga", sans-serif;
    font-size: .83333vw;
    font-weight: 400;
    line-height: 1.25vw;
    color: #101113;
    background: #F6F8FF;
}

/* SPECIAL CLASS */
.d-flex-c-c{
    display: flex;
    align-items: center;
    justify-content: center;
}
/* SPECIAL CLASS */

.main{
    min-height: 100vh;
    position: relative;
    padding: 4.27083vw 0;
}

/* BACK */
.button-back{
    position: absolute;
    top: 4.27083vw;
    left: 6.25vw;
    padding: .52083vw .9375vw;
    gap: .625vw;
    border-radius: 5.20833vw;
    border: 1px solid rgba(83, 100, 113, 0.45);
    background: #FFF;
}

.button-back-icon{
    width: .88542vw;
    height: .41667vw;
}

.button-back-text{
    font-size: .9375vw;
    font-weight: 500;
    line-height: normal;
}
/* BACK */

/* FORM */
.form{
    flex-direction: column;
    margin: 0 auto;
    max-width: 65.88542vw;
    gap: 2.08333vw;
}
/* FORM PROGRESS */
.form-progress{
    width: 100%;
    flex-direction: column;
    gap: .625vw;
}

.form-progress-title{
    font-size: .83333vw;
    font-weight: 500;
    line-height: 1.25vw;
}

.form-progress-lines{
    max-width: 40.15625vw;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: .20833vw;
}

.form-progress-line{
    position: relative;
    overflow: hidden;
    height: .3125vw;
    border-radius: 5.20833vw;
    background: #C2C7CC;
}

.form-progress-line::before{
    content: "";
    position: absolute;
    inset: 0;
    background: #1F9F55;
    border-radius: inherit;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .36s cubic-bezier(.22, 1, .36, 1);
}

.form-progress-line.is-active::before{
    transform: scaleX(1);
}

/* FORM PROGRESS*/

/* FORM STEPS*/
.form-steps{
    width: 100%;
    display: grid;
    align-items: flex-start;
}
.form-steps.is-step-transitioning{
    overflow: clip;
}
.form-step{
    grid-area: 1 / 1;
    flex-direction: column;
    justify-content: flex-start;
    gap: 2.08333vw;
}

.form-step-4{
    gap: 1.04167vw;
}

.form-step-header{
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    justify-content: center;
}

.form-step-text{
    text-align: center;
    color: #536471;
    font-size: .9375vw;
}

.form-step-title{
    text-align: center;
    font-size: 2.70833vw;
    font-weight: 500;
    line-height: 3.48958vw;
    letter-spacing: -.05417vw;
}

.form-step-4 .form-step-title{
    margin-bottom: 1.04167vw;
}

.form-step-body{
    width: 100%;
    flex-direction: column;
    gap: 2.08333vw;
    max-width: 36.04167vw;
}

.form-step-1 .form-step-body{
    max-width: 31.66667vw;
}

.form-step-3 .form-step-body{
    padding: 2.08333vw;
    border-radius: 1.04167vw;
    background: #FFF;
    max-width: 40.20833vw;
    gap: 4.16667vw;
}

.form-step-content{
    flex-direction: column;
    gap: 0;
    width: 100%;
}

.form-step-3 .form-step-content{
    align-items: flex-start;
}

.form-step-4 .form-step-content{
    gap: 2.08333vw;
}

.form-step-fields{
    align-items: flex-start;
    width: 100%;
}

.form-step-field{
    width: 100%;
    position: relative;
    z-index: 2;
}

.form-step-input-block{
    position: relative;
    width: 100%;
    height: 3.125vw;
    border-radius: .52083vw;
    border: 1px solid #C2C7CC;
    background: #FFF;
    justify-content: flex-start;
    padding: 0 .72917vw;
    gap: .52083vw;
    cursor: pointer;
    transition: border-color .22s cubic-bezier(.22, 1, .36, 1), box-shadow .22s cubic-bezier(.22, 1, .36, 1);
}

.form-step-field-date .form-step-input-block{
    padding: .3125vw .72917vw;
    align-items: flex-end;
}

.form-step-field.is-active > .form-step-input-block{
    border-color: #1F9F55;
    box-shadow: 0 0 0 3px rgba(31, 159, 85, .1);
}

.form-step-field.has-error > .form-step-input-block{
    border-color: #DB1E1E;
    box-shadow: 0 0 0 3px rgba(219, 30, 30, .08);
}

.form-step-field.is-shaking > .form-step-input-block{
    animation: field-shake .34s ease;
}

@keyframes field-shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-.26042vw); }
    50% { transform: translateX(.20833vw); }
    75% { transform: translateX(-.10417vw); }
}

.form-step-input-block-search-countries{
    border-color: #1F9F55;
    cursor: text;
}

.form-step-input-block-search-countries .form-step-input{
    caret-color: #1F9F55;
}

.form-step-label{
    position: absolute;
    color: #80839F;
    top: .3125vw;
}

.form-step-label--none{
    display: none;
}

.form-step-input{
    width: 100%;
    color: #101113;
    font-size: .9375vw;
}

.form-step-input:-webkit-autofill,
.form-step-input:-webkit-autofill:hover,
.form-step-input:-webkit-autofill:focus,
.form-step-input:-webkit-autofill:active{
    -webkit-text-fill-color: #101113;
    -webkit-box-shadow: 0 0 0 1000px #FFF inset;
    box-shadow: 0 0 0 1000px #FFF inset;
    caret-color: #101113;
}

.form-step-input::placeholder{
    color: #737F8F;
}

.form-step-input-search-img{
    width: .98958vw;
    height: .98958vw;
}

.form-step-input-clean{
    display: flex;
    flex: 0 0 1.25vw;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: scale(.72);
    transition:
            opacity .18s ease,
            visibility 0s linear .22s,
            transform .22s cubic-bezier(.22, 1, .36, 1);
}

.form-step-field.has-value .form-step-input-clean{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: scale(1);
    transition-delay: 0s;
}

.form-step-input-clean--mob{
    display: none;
}

.form-step-input-clean svg{
    width: 1.25vw;
    height: 1.25vw;
}

.form-step-input-error{
    display: flex;
    max-height: 0;
    padding-top: 0;
    justify-content: flex-start;
    gap: .20833vw;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-.20833vw);
    overflow: hidden;
    transition:
            max-height .28s cubic-bezier(.22, 1, .36, 1),
            padding-top .28s cubic-bezier(.22, 1, .36, 1),
            opacity .18s ease,
            visibility 0s linear .28s,
            transform .28s cubic-bezier(.22, 1, .36, 1);
}

.form-step-field.has-error .form-step-input-error{
    max-height: 1.66667vw;
    padding-top: .41667vw;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition-delay: 0s;
}

.form-step-input-arrow{
    width: .52083vw;
    height: .26042vw;
    flex: 0 0 auto;
    transition: transform .24s cubic-bezier(.22, 1, .36, 1);
}

.form-step-field.is-active .form-step-input-arrow{
    transform: rotate(180deg);
}

.form-step-input-error-text{
    color: #101113;
    font-size: .72917vw;
    font-weight: 400;
    line-height: 1.04167vw;
}

.form-step-countries-selected{
    width: 100%;
    justify-content: space-between;
    align-items: flex-start;
    max-height: 0;
    padding-bottom: 0;
    margin-bottom: -1.04167vw;
    border-bottom: 1px solid transparent;
    gap: .52083vw;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-.3125vw);
    overflow: hidden;
    transition:
            max-height .32s cubic-bezier(.22, 1, .36, 1),
            padding-bottom .32s cubic-bezier(.22, 1, .36, 1),
            margin-bottom .32s cubic-bezier(.22, 1, .36, 1),
            border-color .2s ease,
            opacity .2s ease,
            visibility 0s linear .32s,
            transform .32s cubic-bezier(.22, 1, .36, 1);
}

.form-step-countries-selected.is-visible{
    max-height: 8.17708vw;
    padding-bottom: 1.04167vw;
    margin-bottom: 0;
    border-color: #EAEFF1;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition-delay: 0s;
}

.form-step-countries-selected__list{
    flex: 1 1 auto;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: .41667vw;
    max-height: 7.08333vw;
    overflow-y: auto;

    scrollbar-width: thin;
    scrollbar-color: #737F8F #F6F8FF;
}

.form-step-countries-selected__list::-webkit-scrollbar{
    width:.41667vw;
}

.form-step-countries-selected__list::-webkit-scrollbar-track{
    background: #F6F8FF;
    border-radius:.36458vw;
}

.form-step-countries-selected__list::-webkit-scrollbar-thumb{
    background: #737F8F;
    border-radius:.36458vw;
    border: 1px solid transparent;
    background-clip: padding-box;
}

.form-step-countries-selected__item{
    border-radius: 1.04167vw;
    background: #C8F3D8;
    height: 2.08333vw;
    padding: 0 .625vw;
    gap: .3125vw;
    opacity: 1;
    transform: translateY(0) scale(1);
    transition:
            opacity .18s ease,
            transform .22s cubic-bezier(.22, 1, .36, 1),
            max-width .22s cubic-bezier(.22, 1, .36, 1),
            padding .22s cubic-bezier(.22, 1, .36, 1),
            margin .22s cubic-bezier(.22, 1, .36, 1);
}

.form-step-countries-selected__item.is-entering{
    opacity: 0;
    transform: translateY(.26042vw) scale(.9);
}

.form-step-countries-selected__item.is-removing{
    opacity: 0;
    pointer-events: none;
    transform: translateY(-.20833vw) scale(.86);
}

.form-step-countries-selected__item-icon{
    width: .83333vw;
    height: .83333vw;
}

.form-step-countries-selected__item-delete{
    width: 1.04167vw;
    height: 1.04167vw;
    margin-right: -.20833vw;
    border-radius: 50%;
    transition: background-color .18s ease, transform .18s ease;
}

.form-step-countries-selected__item-delete:hover{
    background: rgba(31, 159, 85, .12);
}

.form-step-countries-selected__item-delete:active{
    transform: scale(.88);
}

.form-step-countries-selected__done{
    height: 2.08333vw;
    padding: 0 1.30208vw;
    border-radius: 5.15625vw;
    background: #1F9F55;
    color: #FFF;
    font-weight: 500;
    flex: 0 0 auto;
    transition:
            background-color .18s ease,
            transform .18s cubic-bezier(.22, 1, .36, 1),
            box-shadow .18s ease;
}

.form-step-countries-selected__done:hover{
    background: #188647;
    box-shadow: 0 6px 14px rgba(31, 159, 85, .18);
}

.form-step-countries-selected__done:active{
    transform: scale(.96);
}

.form-step-input-dropdown{
    display: flex;
    position: absolute;
    z-index: 20;
    width: calc(100% + 1.25vw);
    left: -.625vw;
    top: -.625vw;
    border-radius: 1.04167vw;
    background: #FFF;
    padding: .625vw;
    gap: 1.04167vw;
    flex-direction: column;
    box-shadow: 0 18px 48px rgba(45, 60, 82, .14);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-.41667vw) scale(.985);
    transform-origin: top center;
    transition:
            opacity .2s ease,
            visibility 0s linear .3s,
            transform .3s cubic-bezier(.22, 1, .36, 1);
}

.form-step-field.is-active .form-step-input-dropdown{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1);
    transition: opacity .2s ease, visibility 0s linear 0s, transform .3s cubic-bezier(.22, 1, .36, 1);
}

.form-step-countries__list{
    position: relative;
    width: 100%;
    height: 22.65625vw;
    overflow-y: auto;
    transition: height .28s cubic-bezier(.22, 1, .36, 1);

    scrollbar-width: thin;
    scrollbar-color: #737F8F #F6F8FF;
}

.form-step-countries__list.is-filtered{
    height: var(--filtered-list-height);
}

.form-step-countries__list::-webkit-scrollbar{
    width:.41667vw;
}

.form-step-countries__list::-webkit-scrollbar-track{
    background: #F6F8FF;
    border-radius:.36458vw;
}

.form-step-countries__list::-webkit-scrollbar-thumb{
    background: #737F8F;
    border-radius:.36458vw;
    border: 1px solid transparent;
    background-clip: padding-box;
}

.form-step-countries__list__inner{
    min-height: 100%;
    padding: 0 .625vw;
}

.form-step-countries__item{
    justify-content: flex-start;
    max-height: 2.29167vw;
    opacity: 1;
    overflow: hidden;
    transform: translateY(0);
    transform-origin: top;
    transition:
            max-height .28s cubic-bezier(.22, 1, .36, 1),
            opacity .18s ease,
            transform .28s cubic-bezier(.22, 1, .36, 1);
}

.form-step-countries__item.is-hidden{
    max-height: 0;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-.26042vw);
}

.form-step-countries__item-placeholder{
    padding: .625vw 0;
    color: #737F8F;
    font-size: .72917vw;
    font-weight: 500;
    line-height: normal;
    max-height: 2.23958vw;
    transition:
            max-height .28s cubic-bezier(.22, 1, .36, 1),
            padding-top .28s cubic-bezier(.22, 1, .36, 1),
            padding-bottom .28s cubic-bezier(.22, 1, .36, 1),
            opacity .18s ease,
            transform .28s cubic-bezier(.22, 1, .36, 1);
}

.form-step-countries__item-placeholder.is-hidden{
    padding-top: 0;
    padding-bottom: 0;
}

.form-step-countries-empty{
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .3125vw;
    padding: 1.25vw;
    text-align: center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(.52083vw);
    transition:
            opacity .22s ease,
            visibility 0s linear .22s,
            transform .26s cubic-bezier(.22, 1, .36, 1);
}

.form-step-countries-empty.is-visible{
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition-delay: 0s;
}

.form-step-countries-empty__illustration{
    width: 3.75vw;
    height: 3.75vw;
    margin-bottom: .3125vw;
}

.form-step-countries-empty__title{
    font-size: .83333vw;
    font-weight: 600;
    line-height: 1.14583vw;
}

.form-step-countries-empty__text{
    color: #737F8F;
    font-size: .72917vw;
    line-height: 1.04167vw;
}

.form-step-countries__item-label{
    justify-content: flex-start;
    cursor: pointer;
    height: 2.29167vw;
    padding: 0 .72917vw;
    flex: 1 1 auto;
    min-width: 0;
    gap: .52083vw;
    border-radius: .20833vw;
    transition: background-color .18s ease;
}

.form-step-countries__item-label:hover{
    border-radius: .20833vw;
    background: rgba(229, 233, 239, 0.42);
}

.form-step-countries__item-checkbox{
    width: 1px;
    height: 1px;
    opacity: 0;
    user-select: none;
    position: absolute;
}

.form-step-countries__item-box{
    width: .83333vw;
    height: .83333vw;
    border: 1px solid #C2C7CC;
    border-radius: .20833vw;
    flex: 0 0 .83333vw;
    transition:
            background-color .2s ease,
            border-color .2s ease,
            transform .2s cubic-bezier(.22, 1, .36, 1);
}

.form-step-countries__item-box svg{
    opacity: 0;
    transform: scale(.35) rotate(-14deg);
    transition:
            opacity .16s ease,
            transform .24s cubic-bezier(.22, 1, .36, 1);
}

.form-step-countries__item-checkbox:checked + .form-step-countries__item-box{
    border-color: #1F9F55;
    background: #1F9F55;
    transform: scale(1.04);
}

.form-step-countries__item-checkbox:checked + .form-step-countries__item-box svg{
    opacity: 1;
    transform: scale(1) rotate(0);
}

.form-step-countries__item-checkbox:focus-visible + .form-step-countries__item-box{
    outline: 3px solid rgba(31, 159, 85, .2);
    outline-offset: 2px;
}

.form-step-countries__item-text{
    line-height: .9375vw;
}

.form-step-countries__item-information{
    flex-shrink:0;
    margin-left: auto;
    width: 1.45833vw;
    height: 1.45833vw;
    border-radius: 50%;
    transition: background-color .18s ease, transform .18s ease;
}

.form-step-countries__item-information:hover{
    background: #EEF8F2;
}

.form-step-countries__item-information:active{
    transform: scale(.9);
}

.form-step-input-dropdown{
    overflow:visible;
}

.form-step-countries-clue{
    --clue-arrow-x: 50%;
    position:absolute;
    z-index:100;

    left: .625vw;
    width: max-content;
    max-width: min(39.58333vw, calc(100vw - 1.66667vw));
    padding:.83333vw 1.04167vw;

    border-radius:.52083vw;
    background:#C8F3D8;

    opacity:0;
    visibility:hidden;
    pointer-events:none;
    overflow: visible;

    transition:
            opacity .18s ease,
            visibility 0s linear .24s,
            transform .24s cubic-bezier(.22, 1, .36, 1);

    transform:translateY(.26042vw);
}

.form-step-countries-clue.is-active{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    transition-delay: 0s;
}

.form-step-countries-clue.is-wide{
    box-shadow: 0 14px 32px rgba(31, 159, 85, .16);
}

.form-step-countries-clue-text{

    display:block;
    font-size:.72917vw;
    line-height:1.04167vw;
}

.form-step-countries-clue.is-wide .form-step-countries-clue-text{
    text-align: center;
    font-size: .67708vw;
    line-height: .98958vw;
}

.form-step-countries-clue-triangle{
    position:absolute;
    z-index: 1;
    display: block;
    bottom:-.52083vw;
    left: clamp(.52083vw, var(--clue-arrow-x, 50%), calc(100% - 1.5625vw));

    width:1.04167vw;
    height:.52083vw;

    transform: translateX(-50%);
}

.form-step-countries-clue.is-below .form-step-countries-clue-triangle{
    top: -.52083vw;
    bottom: auto;
    transform: translateX(-50%) rotate(180deg);
}

.form-step-form-badge{
    position: relative;
    width: 100%;
    max-height: 0;
    margin-top: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-.41667vw) scale(.98);
    transform-origin: top center;
    transition:
            max-height .34s cubic-bezier(.22, 1, .36, 1),
            margin-top .34s cubic-bezier(.22, 1, .36, 1),
            opacity .2s ease,
            visibility 0s linear .34s,
            transform .34s cubic-bezier(.22, 1, .36, 1);
}

.form-step-form-badge.is-visible{
    max-height: 5000px;
    margin-top: 2.08333vw;
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
    transition-delay: 0s;
}

.form-step-form-badge-triangle{
    position: absolute;
    top: -.78125vw;
    left: 50%;
    transform: translateX(-50%);
}

.form-step-form-badge-text{
    width: fit-content;
    margin: auto;
    text-align: center;
    border-radius: .52083vw;
    background: #C8F3D8;
    padding: 1.04167vw 2.08333vw;
    opacity: 1;
    transition: opacity .12s ease;
}

.form-step-form-badge-text.is-changing{
    opacity: 0;
}

.form-step-button-block{
    width: 100%;
}

.form-step-5 .form-step-button-block{
    flex-direction: column;
    gap: 1.04167vw;
}

.form-step-button{
    width: 100%;
    height: 3.125vw;
    border-radius: 5.15625vw;
    background: #101113;
    gap: .52083vw;
    transition:
            background-color .18s ease,
            transform .18s cubic-bezier(.22, 1, .36, 1),
            box-shadow .18s ease;
}

.form-step-button:hover{
    background: #26303D;
    box-shadow: 0 8px 22px rgba(16, 17, 19, .18);
}

.form-step-button:active{
    transform: scale(.985);
}

.form-step-button-text{
    color: #FFF;
    font-size: .9375vw;
    font-weight: 600;
}

.form-step-button-arrow{
    width: .67708vw;
    height: .78125vw;
}

.form-step-2{
    min-height: 15.625vw;
}

.form-step-fields-date{
    gap: .41667vw;
    position: relative;
}

.form-step-field-date.is-active > .form-step-input-block{
    border-color: #1F9F55;
    box-shadow: 0 0 0 3px rgba(31, 159, 85, .1);
}

.form-step-field-date.is-active .form-step-label{
    color: #1F9F55;
    font-weight: 600;
}

.trip-calendar{
    position: absolute;
    z-index: 30;
    top: 3.64583vw;
    left: 50%;
    width: 100%;
    padding: 1.25vw;
    border-radius: .72917vw;
    background: #FFF;
    transform: translate(-50%, -.41667vw) scale(.985);
    opacity: 0;
    visibility: hidden;
    transition: opacity .2s ease, visibility 0s linear .28s, transform .28s cubic-bezier(.22, 1, .36, 1);
}

.trip-calendar.is-open{
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0) scale(1);
    transition-delay: 0s;
}

.trip-calendar__desktop-header{
    position: relative;
    padding-bottom: .88542vw;
}

.trip-calendar__months-label{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 5.52083vw;
    font-size: .9375vw;
    font-weight: 500;
}

.trip-calendar__months-label span{
    font-size: .83333vw;
    font-weight: 450;
    line-height: 1.04167vw;
}

.trip-calendar__months-label span:first-child{
    text-align: right;
}

.trip-calendar__nav,
.trip-calendar__close{
    border-radius: 50%;
    color: #101113;
    font-size: 1.5625vw;
    line-height: 1;
    transition: background-color .18s ease, opacity .18s ease;
}

.trip-calendar__nav svg{
    width: .36458vw;
    height: .52083vw;
}

.trip-calendar__nav:disabled{
    opacity: .28;
    cursor: default;
}

.trip-calendar__nav{
    position: absolute;
    top: .625vw;
    transform: translateY(-50%);
}

.trip-calendar__nav--previous{
    left: 0;
}

.trip-calendar__nav--next{
    right: 0;
}

.trip-calendar__months{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5.52083vw;
}

.trip-calendar__month{
    min-width: 0;
}

@media (min-width: 768px){
    .trip-calendar__month::before{
        content: "";
        display: block;
        width: 100%;
        height: 1px;
        margin-bottom: .83333vw;
        background: #EAEFF1;
    }
}

.trip-calendar__month-title{
    display: none;
}

.trip-calendar__weekdays,
.trip-calendar__days{
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    row-gap: .83333vw;
    column-gap: 0;
}

.trip-calendar__weekdays{
    margin-bottom: .83333vw;
}

.trip-calendar__weekdays span{
    padding: .20833vw 0;
    color: #737F8F;
    text-align: center;
    font-size: .52083vw;
    font-weight: 450;
    line-height: normal;
    text-transform: uppercase;
}

.trip-calendar__day{
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 1.25vw;
    height: 1.25vw;
    border-radius: 0;

    color: #101113;
    font-size: .72917vw;
    font-weight: 450;
    line-height: normal;
    text-transform: uppercase;

    transition: color .18s ease, background-color .18s ease, transform .18s ease;
}

.trip-calendar__day:hover:not(:disabled){
    background: #EEF8F2;
}

.trip-calendar__day:disabled{
    color: #C2C7CC;
    cursor: default;
}

.trip-calendar__day.is-today::after{
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid #1F9F55;
    border-radius: 50%;
}

.trip-calendar__day.is-in-range{
    background: transparent;
}

.trip-calendar__day-cell{
    position: relative;
    display: grid;
    place-items: center;
    min-width: 0;
}

.trip-calendar__day-cell.is-in-range::before,
.trip-calendar__day-cell.is-range-start.is-range-complete::before,
.trip-calendar__day-cell.is-range-end.is-range-complete::before{
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 0;
    background: #F6F8FF;
}

.trip-calendar__day-cell.is-in-range::before{
    right: 0;
    left: 0;
}

.trip-calendar__day-cell.is-range-start.is-range-complete::before{
    right: 0;
    left: 50%;
}

.trip-calendar__day-cell.is-range-end.is-range-complete::before{
    right: 50%;
    left: 0;
}

.trip-calendar__day-cell.is-range-start.is-range-end::before{
    display: none;
}

.trip-calendar__day.is-range-start,
.trip-calendar__day.is-range-end{
    z-index: 1;
    color: #FFF;
    background: #1F9F55;
    border-radius: 50%;
}

.trip-calendar__day.is-range-start::after,
.trip-calendar__day.is-range-end::after{
    display: none;
}

.trip-calendar__mobile-header{
    display: none;
}

.form-step-calendar-footer{
    padding-top: 1.77083vw;
}

.form-step-calendar-confirm{
    width: 100%;
    height: 2.70833vw;
    border-radius: 52.03125vw;
    background: #1F9F55;
    color: #FFF;
    font-size: .9375vw;
    font-weight: 600;
    transition: background-color .18s ease, transform .18s cubic-bezier(.22, 1, .36, 1), box-shadow .18s ease;
}

.form-step-calendar-confirm:hover:not(:disabled){
    background: #188647;
    box-shadow: 0 8px 18px rgba(31, 159, 85, .2);
}

.form-step-calendar-confirm:active:not(:disabled){
    transform: scale(.985);
}

.form-step-calendar-confirm:disabled{
    background: #EAEFF1;
    color: #101113;
    cursor: default;
}

button:focus-visible,
.form-step-input-block:focus-within{
    outline: 3px solid rgba(31, 159, 85, .2);
    outline-offset: 2px;
}

.form-e-sim-header{
    width: 100%;
    gap: .41667vw;
    flex-direction: column;
    align-items: flex-start;
}

.form-e-sim-header-title,
.form-e-sim__item-header-title{
    color: #101113;
    font-size: 1.04167vw;
    font-weight: 500;
    line-height: 1.66667vw;
}

.form-e-sim-header-text,
.form-e-sim__item-header-text{
    color: #737F8F;
}

.form-e-sim__list{
    flex-direction: column;
    gap: 1.04167vw;
    width: 100%;
}

.form-e-sim__item{
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: .625vw;
    padding: 1.04167vw 0;
    transition:
            opacity .22s ease,
            transform .28s cubic-bezier(.22, 1, .36, 1);
}

.form-e-sim__item.is-entering{
    opacity: 0;
    transform: translateY(.41667vw) scale(.985);
}

.form-e-sim__item.is-removing{
    opacity: 0;
    transform: translateY(-.3125vw) scale(.985);
    pointer-events: none;
}

.form-e-sim__item-header{
    display: none;
}

.form-e-sim__item-header-content{
    align-items: flex-start;
    flex-direction: column;
    gap: .20833vw;
}

.form-e-sim__item-button-delete{
    margin-top: .26042vw;
    border-radius: .20833vw;
    background: #C8F3D8;
    width: 1.25vw;
    height: 1.25vw;
}

.form-e-sim__item-button-delete svg{
    width: .625vw;
    height: .72917vw;
}

.form-e-sim__item-gb__list{
    width: 100%;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: .52083vw;
}

.form-e-sim__item-gb__item-label{
    padding: .67708vw 0;
    border-radius: .52083vw;
    border: 1px solid #EAEFF1;
    background: #F6F8FF;
    cursor: pointer;
}

.form-e-sim__item-gb__item-label:has(input:checked){
    background: #1F9F55;
}

.form-e-sim__item-gb__item-input{
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
    opacity: 0;
}

.form-e-sim__item-gb__item-label:has(input:focus-visible){
    outline: 2px solid #1F9F55;
    outline-offset: 3px;
}

.form-e-sim__item-gb__item-text{
    font-weight: 500;
}

.form-e-sim__item-gb__item-label:has(input:checked) .form-e-sim__item-gb__item-text{
    color: #FFF;
}

.form-e-sim-button-add{
    margin-top: 1.04167vw;
    height: 2.60417vw;
    padding: 0 1.25vw;
    gap: .52083vw;
    border-radius: .52083vw;
    background: #C8F3D8;
}

.form-e-sim-button-add-text{
    color: #2D3C52;
    font-weight: 500;
}

.form-e-sim-button-add-icon{
    width: 1.04167vw;
    height: 1.04167vw;
    border-radius: 5.15625vw;
    background: #1F9F55;
}

.form-e-sim-button-add-icon svg{
    width: .46875vw;
    height: .46875vw;
}

.form-step-content--e-sims .form-e-sim-header{
    display: none;
}

.form-step-content--e-sims .form-e-sim__item{
    padding: 1.04167vw;
    border: 1px solid #EAEFF1;
    border-radius: .52083vw;
}

.form-step-content--e-sims .form-e-sim__item-header{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
}

.form-step-information__list{
    padding: .52083vw .9375vw;
    gap: 1.04167vw;
}

.form-step-information__item{
    gap: .3125vw;
}

.form-step-information__location-count-wrap{
    position: relative;
    display: inline-flex;
}

.form-step-information__location-count{
    margin: -.20833vw;
    padding: .20833vw;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    line-height: inherit;
    cursor: pointer;
    text-decoration: underline;
    text-decoration-thickness: .05208vw;
    text-underline-offset: .15625vw;
}

.form-step-information__location-count,
.form-step-information__location-label{
    color: #536471;
    font-size: .9375vw;
}

.form-step-information__location-clue{
    position: absolute;
    z-index: 2;
    bottom: calc(100% + .52083vw);
    left: 50%;
    width: max-content;
    max-width: min(21.875vw, calc(100vw - 1.66667vw));
    padding: .625vw .83333vw;
    border-radius: .52083vw;
    background: #C8F3D8;
    color: #101113;
    font-size: .72917vw;
    line-height: 1.04167vw;
    text-align: center;
    overflow-wrap: anywhere;
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, .3125vw);
    transition: opacity .2s ease, transform .2s cubic-bezier(.22, 1, .36, 1);
}

.form-step-information__location-clue::after{
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    width: 0;
    height: 0;
    border: 6px solid transparent;
    border-top-color: #C8F3D8;
    border-bottom: 0;
    transform: translateX(-50%);
}

.form-step-information__location-count-wrap:hover .form-step-information__location-clue,
.form-step-information__location-count-wrap:focus-within .form-step-information__location-clue,
.form-step-information__location-count-wrap.is-clue-open .form-step-information__location-clue{
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, 0);
}

.form-step-information__item-text{
    color: #536471;
    font-size: .9375vw;
}

.form-step-information__item svg{
    width: .72917vw;
    height: .72917vw;
}

.form-step-information__item--e-sim svg{
    width: .83333vw;
    height: .83333vw;
}

.form-plan-selection__list{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: .52083vw;
    width: 100%;
}

.form-plan-selection__item-label{
    position: relative;
    border-radius: .52083vw;
    background: #FFF;
    min-height: 17.5vw;
    padding: 1.04167vw;
    flex-direction: column;
    justify-content: flex-start;
}



.form-plan-selection__item-label--subscription{
    color: #fff;
    background-color: #247C57;
    background-image:
            url("../images/form/subscription-bg-optimized.webp"),
            linear-gradient(105deg, #3CA36D 0%, #287F59 50%, #104D42 100%);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.form-plan-selection__item-badge{
    position: absolute;
    top: 0;
    transform: translateY(-.72917vw);
    right: .625vw;
    padding: .20833vw .625vw;
    border-radius: 5.15625vw;
    background: #101113;
}

.form-plan-selection__item-badge-text{
    color: #FFF;
    font-weight: 600;
    line-height: 1.01562vw;
    letter-spacing: .01693vw;
}

.form-plan-selection__item-badge svg{
    width: .9375vw;
    height: .9375vw;
}

.form-plan-selection__input,
.form-plan-selection-checkbox-input{
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
    opacity: 0;
}

.form-plan-selection__item-content{
    width: 100%;
    min-height: 9.6875vw;
    gap: .72917vw;
    align-items: flex-start;
    justify-content: flex-start;
}

.form-plan-selection__item-checkbox{
    width: 1.30208vw;
    height: 1.30208vw;
    border-radius: .41667vw;
    border: 2px solid #C2C7CC;
    background: rgba(255, 255, 255, 0.10);
}

.form-plan-selection__item-checkbox-icon{
    display: none;
    width: .67708vw;
    height: .52083vw;
}

.form-plan-selection__item-label:has(input:checked) .form-plan-selection__item-checkbox{
    background: #1F9F55;
    border-color: #1F9F55;
}

.form-plan-selection__item-label:has(input:checked) .form-plan-selection__item-checkbox-icon{
    display: block;
}

.form-plan-selection__item-label--subscription .form-plan-selection__item-checkbox{
    border-color: #FFF
}

.form-plan-selection__item-label--subscription:has(input:checked) .form-plan-selection__item-checkbox{
    background: #101113;
    border-color: #101113;
}

.form-plan-selection__item-data{
    align-items: flex-start;
    flex-direction: column;
}

.form-plan-selection__item-title{
    padding: .20833vw 0 .52083vw;
    font-size: 1.04167vw;
    font-weight: 500;
    line-height: 1.0026vw;
}

.form-plan-selection__item-prices{
    gap: .3125vw;
    align-items: flex-end;
}

.form-plan-selection__item-price-value{
    font-size: 2.1875vw;
    line-height: 2.70833vw;
}

.old .form-plan-selection__item-price-value{
    font-size: 1.25vw;
    font-weight: 300;
    line-height: 2.1875vw;
    text-decoration-line: line-through;
}

.form-plan-selection__item-price-text{
    font-weight: 500;
    padding-bottom: .20833vw;
}

.form-plan-selection__item-text{
    padding-top: .20833vw;
    color: #536471;
    font-size: .72917vw;
    line-height: 1.0026vw;
}

.form-plan-selection__item-label--subscription .form-plan-selection__item-text{
    color: #fff;
}

.form-plan-selection__item-options{
    border-top: 1px dashed #E5E5E5;
    padding-top: 1.04167vw;
    flex-direction: column;
    gap: .72917vw;
    width: 100%;
    align-items: flex-start;
}

.form-plan-selection__item-option{
    gap: .3125vw;
}

.form-plan-selection__item-option-icon svg{
    width: .98958vw;
    height: .98958vw;
}

.form-plan-selection__item-option-text{
    color: #2D3C52;
    font-size: .83333vw;
    font-weight: 400;
    line-height: 1.0026vw;
}

.form-plan-selection__item-label--subscription .form-plan-selection__item-option-text{
    color: #fff;
}

.form-plan-selection-content{
    width: 100%;
    flex-direction: column;
    gap: 1.04167vw;
}

.form-plan-selection-checkboxes{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: .52083vw;
    align-items: flex-start;
    width: 100%;
}

.form-plan-selection-checkbox-label{
    justify-content: flex-start;
    gap: .41667vw;
}

.form-plan-selection-checkbox-label--promo-code{
    justify-content: flex-end;
}

.form-plan-selection-checkbox{
    width: 1.30208vw;
    height: 1.30208vw;
    border-radius: .36458vw;
    border: 2px solid #C2C7CC;
}

.form-plan-selection-check{
    display: none;
}

.form-plan-selection-checkbox-text{
    font-size: 1.04167vw;
    font-weight: 500;
    line-height: 1.66667vw;
}

.form-plan-selection-checkbox-label:has(input:checked) .form-plan-selection-check{
    display: block;
}

.form-plan-selection__item-label:has(input:focus-visible),
.form-plan-selection-checkbox-label:has(input:focus-visible){
    outline: 3px solid #1F9F55;
    outline-offset: 3px;
}

.form-plan-selection-checkbox-badge{
    display: flex;
    max-height: 0;
    margin-top: 0;
    padding: 0 .72917vw;
    overflow: hidden;
    opacity: 0;
    transform: translateY(-.20833vw);
    gap: .67708vw;
    border-radius: .41667vw;
    border: 1px solid #FCD62C;
    background: rgba(253, 217, 39, 0.05);
    transition:
            max-height .26s cubic-bezier(.22, 1, .36, 1),
            margin .26s cubic-bezier(.22, 1, .36, 1),
            padding .26s cubic-bezier(.22, 1, .36, 1),
            opacity .2s ease,
            transform .26s cubic-bezier(.22, 1, .36, 1);
}

.form-plan-selection-checkbox-badge-img{
    width: 2.03125vw;
    height: 1.97917vw;
}

.form-plan-selection-checkbox-badge-text{
    color: #737F8F;
    line-height: normal;
}

.form-plan-selection-checkbox__wrapper .form-step-fields{
    display: flex;
    max-height: 0;
    margin-top: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(-.20833vw);
    transition:
            max-height .26s cubic-bezier(.22, 1, .36, 1),
            margin .26s cubic-bezier(.22, 1, .36, 1),
            opacity .2s ease,
            transform .26s cubic-bezier(.22, 1, .36, 1);
}

.form-plan-selection-checkbox-label:has(input:checked) + .form-plan-selection-checkbox-badge,
.form-plan-selection-checkbox-label:has(input:checked) + .form-step-fields{
    max-height: 6.25vw;
    margin-top: .41667vw;
    opacity: 1;
    transform: translateY(0);
}

.form-plan-selection-checkbox-label:has(input:checked) + .form-plan-selection-checkbox-badge{
    padding: .57292vw .72917vw .36458vw;
}

.form-step-input-check{
    display: none;
}

.form-plan-selection-price-block{
    width: 100%;
    padding: .83333vw 0 .625vw 0;
    border-bottom: 1px solid rgba(195, 204, 216, 0.43);
    align-items: flex-end;
}

.form-plan-selection-price-text{
    flex-direction: column;
    gap: 0;
    align-items: flex-start;
}

.form-plan-selection-price-title{
    font-size: 1.66667vw;
    line-height: normal;
}

.form-plan-selection-price-e-sim{
    display: block;
    max-height: 0;
    margin-top: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(-.20833vw);
    color: #737F8F;
    font-size: .9375vw;
    transition:
            max-height .24s cubic-bezier(.22, 1, .36, 1),
            margin-top .24s cubic-bezier(.22, 1, .36, 1),
            opacity .18s ease,
            transform .24s cubic-bezier(.22, 1, .36, 1);
}

.form-plan-selection-price-e-sim.is-visible{
    max-height: 1.45833vw;
    margin-top: .41667vw;
    opacity: 1;
    transform: translateY(0);
}

.form-plan-selection-price__wrapper{
    gap: .20833vw;
    margin-left: auto;
    align-items: baseline;
}

.form-plan-selection-price-value{
    font-size: 2.1875vw;
    line-height: 2.1875vw;
}

.form-plan-selection-price-value.old{
    display: inline-block;
    position: relative;
    max-width: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(-.15625vw);
    visibility: hidden;
    color: #C2C7CC;
    font-size: 1.5625vw;
    line-height: normal;
    padding-right: 0;
    white-space: nowrap;
    transition:
            max-width .22s cubic-bezier(.22, 1, .36, 1),
            padding .22s cubic-bezier(.22, 1, .36, 1),
            opacity .18s ease,
            transform .22s cubic-bezier(.22, 1, .36, 1),
            visibility 0s linear .22s;
}

.form-plan-selection-price-value.old::after{
    content: "";
    position: absolute;
    top: 54%;
    left: 0;
    width: 100%;
    height: .10417vw;
    background: #C2C7CC;
    pointer-events: none;
}

.form-plan-selection-price-value.old.is-visible{
    max-width: 6.25vw;
    padding: 0 .20833vw;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition-delay: 0s;
}

.form-plan-selection-price svg{
    width: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(-.15625vw);
    align-self: flex-start;
    transition:
            width .22s cubic-bezier(.22, 1, .36, 1),
            opacity .18s ease,
            transform .22s cubic-bezier(.22, 1, .36, 1);
}

.form-plan-selection-price svg.is-visible{
    width: 1.04167vw;
    opacity: 1;
    transform: translateY(0);
}

.form-step-field.has-success .form-step-input-check{
    display: block;
}

.form-step-5 .form-step-content{
    gap: 2.08333vw
}

.form-travelers__list__wrapper{
    width: 100%;
    align-items: flex-start;
    flex-direction: column;
    gap: 1.04167vw;
}

.form-travelers__list{
    width: 100%;
    flex-direction: column;
    gap: 2.08333vw;
}

.form-travelers__item{
    width: 100%;
    flex-direction: column;
    gap: .41667vw;
    transition: opacity .18s ease, transform .22s cubic-bezier(.22, 1, .36, 1);
}

.form-travelers__item.is-entering{
    opacity: 0;
    transform: translateY(.41667vw) scale(.995);
}

.form-travelers__item.is-removing{
    opacity: 0;
    transform: translateY(-.26042vw) scale(.995);
    pointer-events: none;
}

.form-travelers__item-inputs{
    width: 100%;
    flex-direction: column;
    gap: 1.04167vw;
}

.form-travelers__item .form-step-fields{
    width: 100%;
    gap: .72917vw;
}

.form-travelers__item-header{
    width: 100%;
    justify-content: flex-start;
    gap: .41667vw;
}

.form-travelers__item-delete{
    width: 1.25vw;
    height: 1.14583vw;
    border-radius: .20833vw;
    background: #C8F3D8;
}

.form-travelers__item-delete svg{
    width: .625vw;
    height: .72917vw;
}

.form-travelers__item-title{
    font-size: 1.04167vw;
    font-weight: 500;
    line-height: 1.77083vw;
}


.form-travelers-button-add{
    height: 2.29167vw;
    padding: 0 1.25vw;
    gap: .52083vw;
    border-radius: .52083vw;
    background: #C8F3D8;
}

.form-travelers-button-add-text{
    color: #2D3C52;
    font-size: .72917vw;
    font-weight: 500;
    line-height: 1.04167vw;
}

.form-travelers-button-add-icon{
    width: 1.04167vw;
    height: 1.04167vw;
    border-radius: 50%;
    background: #1F9F55;
}

.form-travelers-button-add-icon svg{
    width: .83333vw;
    height: .83333vw;
}

.form-final-price-block{
    width: 100%;
    align-items: flex-end;
    justify-content: space-between;
    padding: .83333vw 0 .625vw 0;
    border-bottom: 1px solid rgba(195, 204, 216, 0.43);
}

.form-final-price-text{
    font-size: 1.66667vw;
}

.form-final-price__wrapper{
    gap: .20833vw;
    align-items: baseline;
}

.form-final-price{
    align-items: flex-start;
}

.form-final-price-value {
    font-size: 2.1875vw;
    line-height: 2.1875vw;
}

.old .form-final-price-value{
    position: relative;
    color: #C2C7CC;
    font-size: 1.5625vw;
    line-height: normal;
}

.form-step-5 .form-final-price.old{
    display: inline-flex;
    max-width: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    white-space: nowrap;
    transform: translateY(-.15625vw);
    transition: max-width .22s cubic-bezier(.22, 1, .36, 1), padding .22s cubic-bezier(.22, 1, .36, 1), opacity .18s ease, transform .22s cubic-bezier(.22, 1, .36, 1), visibility 0s linear .22s;
}

.form-step-5 .form-final-price.old.is-visible{
    max-width: 8.33333vw;
    padding: 0 .20833vw;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition-delay: 0s;
}

.form-step-5 .form-final-price.old .form-final-price-value::after{
    content: "";
    position: absolute;
    top: 54%;
    left: -.20833vw;
    width: calc(100% + .41667vw);
    height: .10417vw;
    background: #C2C7CC;
    pointer-events: none;
}

.form-step-5 [data-role="step5-discount-icon"]{
    width: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(-.15625vw);
    align-self: flex-start;
    transition: width .22s cubic-bezier(.22, 1, .36, 1), opacity .18s ease, transform .22s cubic-bezier(.22, 1, .36, 1);
}

.form-step-5 [data-role="step5-discount-icon"].is-visible{
    width: 1.04167vw;
    opacity: 1;
    transform: translateY(0);
}

.form-step-accept-checkbox__wrapper{
    align-items: flex-start;
    gap: .46875vw;
}

.form-step-accept-block{
    width: 100%;
}

.form-step-accept-checkbox-label{
    position: relative;
    flex: 0 0 1.30208vw;
    width: 1.30208vw;
    height: 1.30208vw;
    border-radius: .41667vw;
    border: 2px solid #C2C7CC;
    background: rgba(255, 255, 255, 0.10);
}

.form-step-accept-checkbox-icon{
    display: none;
    width: .625vw;
    height: .46875vw;
}

.form-step-accept-checkbox{
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
    opacity: 0;
}

.form-step-accept-checkbox:focus-visible + .form-step-accept-checkbox-icon,
.form-step-accept-checkbox:focus-visible ~ .form-step-accept-checkbox-icon,
.form-step-accept-checkbox-label:has(input:focus-visible){
    outline: 3px solid #1F9F55;
    outline-offset: 3px;
}

.form-step-accept-block.has-error .form-step-accept-checkbox-label{
    border-color: #DB1E1E;
}

.form-step-accept-error{
    display: flex;
    align-items: center;
    gap: .3125vw;
    max-height: 0;
    margin-left: 1.77083vw;
    overflow: hidden;
    opacity: 0;
    transform: translateY(-.20833vw);
    color: #DB1E1E;
    font-size: .67708vw;
    line-height: .9375vw;
    transition: max-height .24s cubic-bezier(.22, 1, .36, 1), margin-top .24s cubic-bezier(.22, 1, .36, 1), opacity .18s ease, transform .24s cubic-bezier(.22, 1, .36, 1);
}

.form-step-accept-error-icon{
    flex: 0 0 .57292vw;
    width: .57292vw;
    height: .57292vw;
}

.form-step-accept-block.has-error .form-step-accept-error{
    max-height: 1.875vw;
    margin-top: .41667vw;
    opacity: 1;
    transform: translateY(0);
}

.form-step-accept-checkbox-text{
    color: #536471;
    font-size: .72917vw;
    font-weight: 300;
    line-height: normal;
}

.form-step-accept-checkbox-text [data-role="step5-legal-one-time"],
.form-step-accept-checkbox-text [data-role="step5-legal-subscription"]{
    font-weight: 300;
}

.form-step-accept-checkbox-text [data-role="step5-legal-price"]{
    font-weight: inherit;
}

.form-step-accept-checkbox-text span{
    font-weight: 500;
}
.form-step-accept-checkbox-text a{
    color: #092ED2;
    font-size: .72917vw;
    font-weight: 300;
    line-height: normal;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
}

.form-step-accept-checkbox-label:has(input:checked) .form-step-accept-checkbox-icon{
    display: block;
}

.form-email-suggestions{
    position: absolute;
    z-index: 20;
    top: 3.33333vw;
    left: 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    max-height: none;
    overflow-y: visible;
    border: 1px solid #C2C7CC;
    border-radius: .83333vw;
    background: #FFF;
    padding: .20833vw .625vw;
}

.form-step-field.has-suggestions{
    z-index: 30;
}

.form-email-suggestions__item{
    display: block;
    width: 100%;
    padding: .52083vw;
    text-align: left;
    white-space: nowrap;
    color: #737F8F;
    font-size: .83333vw;
    font-weight: 400;
}

.form-email-suggestions__local,
.form-email-suggestions__tld{
    color: #737F8F;
}

.form-email-suggestions__domain{
    color: #101113;
}

.form-email-suggestions__item:hover,
.form-email-suggestions__item[aria-selected="true"]{
    background: #F2F5F6;
}



@media (max-width: 767px){
    body{
        font-size: 14px;
        line-height: 22px;
    }
    .main{
        padding: 44px 16px 0;
        min-height: 100dvh;
    }
    .button-back{
        left: 16px;
        top: 14px;
        padding: 3px 9px;
        gap: 8px;
        border-radius: 100px;
        border-width: 1px ;
    }
    .button-back-icon{
        width: 12px;
        height: 8px;
    }
    .button-back-text{
        font-size: 14px;
        line-height: 22px;
    }
    .form{
        margin: unset;
        max-width: 100%;
        min-height: calc(100dvh - 44px);
        padding: 10px 0 40px;
        justify-content: flex-start;
        gap: 20px;
    }
    .form-progress{
        gap: 12px;
    }
    .form-progress-title{
        font-size: 12px;
        line-height: 18px;
    }
    .form-progress-lines{
        max-width: 100%;
        gap: 4px;
    }
    .form-progress-line{
        height: 6px;
        border-radius: 100px;
    }
    .form-steps{
        flex: 1 1 auto;
        width: 100%;
        min-height: 0;
    }
    .form-step{
        height: stretch;
        gap: 40px;
    }
    .form-step-text{
        font-size: 14px;
    }
    .form-step-title{
        font-size: 32px;
        line-height: 33px;
        letter-spacing: -0.6px;
    }
    .form-step-body,
    .form-step-1 .form-step-body{
        max-width: 100%;
        height: 100%;
        justify-content: flex-start;
    }

    .form-step-input-block{
        height: 50px;
        border-radius: 8px;
        border-width: 1px;
        padding: 0 14px;
        gap: 10px;
    }
    button:focus-visible,
    .form-step-input-block:focus-within{
        outline: none;
        outline-offset: unset;
    }
    .form-step-input{
        font-size: 14px;
        line-height: 22px;
    }
    .form-step-input-clean{
        flex: 0 0 20px;
    }
    .form-step-input-clean svg.form-step-input-clean--desc{
        display: none;
    }
    .form-step-input-clean svg{
        display: block;
        height: 20px;
        width: 20px;
    }
    .form-step-input-arrow{
        width: 10px;
        height: 5px;
    }
    .form-step-field.has-value .form-step-input-arrow{
        display: none;
    }
    .form-step-input-dropdown{
        background: inherit;
        box-shadow: none;
    }
    .form-step-input-search-img{
        width: 19px;
        height: 19px;
    }




    .form-step-button-block{
        margin-top: auto;
    }
    .form-step-button{
        height: 50px;
        gap: 10px;
        border-radius: 99px;
    }
    .form-step-button-text{
        font-size: 16px;
        font-weight: 600;
        line-height: 22px;
    }
    .form-step-button-arrow{
        width: 13px;
        height: 15px;
    }




    /*.form-travelers__item .form-step-fields{*/
    /*    flex-direction: column;*/
    /*    gap: 14px;*/
    /*}*/

    /*.form-final-price-block{*/
    /*    gap: 12px;*/
    /*    flex-wrap: wrap;*/
    /*}*/

    /*.form-final-price-text{*/
    /*    font-size: 24px;*/
    /*}*/

    /*.form-final-price-value{*/
    /*    font-size: 34px;*/
    /*    line-height: 38px;*/
    /*}*/

    /*.old .form-final-price-value{*/
    /*    font-size: 25px;*/
    /*}*/



    /*.button-back{*/
    /*    position: static;*/
    /*    margin-bottom: 28px;*/
    /*    padding: 8px 14px;*/
    /*}*/

    /*.form-step-information__list{*/
    /*    flex-wrap: wrap;*/
    /*}*/

    /*.form-step-information__location-clue{*/
    /*    max-width: min(320px, calc(100vw - 32px));*/
    /*}*/

    /*.form{*/
    /*    width: 100%;*/
    /*    gap: 28px;*/
    /*}*/

    /*.form-step,*/
    /*.form-step-body{*/
    /*    gap: 28px;*/
    /*}*/

    /*.form-step-title{*/
    /*    margin-top: 4px;*/
    /*    font-size: 34px;*/
    /*    line-height: 42px;*/
    /*    letter-spacing: -.68px;*/
    /*}*/

    /*.form-step-text{*/
    /*    font-size: 16px;*/
    /*}*/

    /*.form-step-input-dropdown{*/
    /*    width: calc(100% + 12px);*/
    /*    left: -6px;*/
    /*    top: -6px;*/
    /*    padding: 8px;*/
    /*    gap: 14px;*/
    /*    border-radius: 16px;*/
    /*}*/

    /*.form-step-countries__list{*/
    /*    height: min(48vh, 390px);*/
    /*}*/

    /*.form-step-countries__list__inner{*/
    /*    padding: 0 4px;*/
    /*}*/

    /*.form-step-countries__item-label{*/
    /*    padding: 0 8px;*/
    /*}*/

    /*.form-step-countries-selected.is-visible{*/
    /*    max-height: 174px;*/
    /*}*/

    /*.form-step-countries-selected__list{*/
    /*    max-height: 153px;*/
    /*}*/

    /*.form-step-countries-selected__done{*/
    /*    padding: 0 18px;*/
    /*}*/

    /*.form-step-countries-clue{*/
    /*    left: 8px;*/
    /*    width: calc(100% - 16px);*/
    /*    padding: 14px 16px;*/
    /*}*/

    /*.trip-calendar{*/
    /*    position: absolute;*/
    /*    inset: auto;*/
    /*    z-index: 30;*/
    /*    top: calc(100% + 12px);*/
    /*    left: 50%;*/
    /*    display: block;*/
    /*    width: calc(100vw - 32px);*/
    /*    max-width: 692px;*/
    /*    height: auto;*/
    /*    padding: 20px 16px;*/
    /*    border: 1px solid #EAEFF1;*/
    /*    border-radius: 20px;*/
    /*    background: #FFF;*/
    /*    box-shadow: 0 18px 48px rgba(45, 60, 82, .18);*/
    /*    transform: translate(-50%, -8px) scale(.985);*/
    /*    overflow: visible;*/
    /*}*/

    /*.trip-calendar.is-open{*/
    /*    transform: translate(-50%, 0) scale(1);*/
    /*}*/

    /*.trip-calendar__desktop-header{*/
    /*    display: block;*/
    /*    padding-bottom: 16px;*/
    /*    margin-bottom: 18px;*/
    /*    border-bottom: 1px solid #EAEFF1;*/
    /*}*/

    /*.trip-calendar__mobile-header{*/
    /*    display: none;*/
    /*}*/

    /*.trip-calendar__months-label{*/
    /*    grid-template-columns: 1fr;*/
    /*    gap: 0;*/
    /*    font-size: 17px;*/
    /*}*/

    /*.trip-calendar__months{*/
    /*    display: grid;*/
    /*    grid-template-columns: 1fr;*/
    /*    gap: 0;*/
    /*    padding: 0;*/
    /*    overflow: visible;*/
    /*}*/

    /*.trip-calendar__month{*/
    /*    margin: 0;*/
    /*}*/

    /*.trip-calendar__month-title{*/
    /*    display: none;*/
    /*}*/

    /*.trip-calendar__weekdays{*/
    /*    margin-bottom: 10px;*/
    /*    font-size: 12px;*/
    /*    text-transform: uppercase;*/
    /*}*/

    /*.trip-calendar__day{*/
    /*    height: 48px;*/
    /*    font-size: 15px;*/
    /*}*/

    /*.form-step-calendar-footer{*/
    /*    position: static;*/
    /*    min-height: 0;*/
    /*    padding: 22px 0 0;*/
    /*    border: 0;*/
    /*    background: transparent;*/
    /*    box-shadow: none;*/
    /*}*/

    /*.form-step-calendar-confirm{*/
    /*    height: 56px;*/
    /*}*/

    /*body:has(.trip-calendar.is-open){*/
    /*    overflow: visible;*/
    /*}*/

    /*.form-step-form-badge.is-visible{*/
    /*    max-height: 320px;*/
    /*    margin-top: 28px;*/
    /*}*/

    /*.form-step-form-badge-text{*/
    /*    padding: 18px 20px;*/
    /*    font-size: 14px;*/
    /*    line-height: 20px;*/
    /*}*/
}

@media (prefers-reduced-motion: reduce){
    *, *::before, *::after{
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}
/* FORM STEPS*/

/* FORM */
