@font-face {
    font-display: swap;
    font-family: RozhaOne;
    font-style: normal;
    font-weight: 400;
    src: url(../assets/fonts/RozhaOne-Regular.woff2) format("woff2")
}

@font-face {
    font-display: swap;
    font-family: Manrope;
    font-style: normal;
    font-weight: 600;
    src: url(../assets/fonts/Manrope-SemiBold.woff2) format("woff2")
}

@font-face {
    font-display: swap;
    font-family: Manrope;
    font-style: normal;
    font-weight: 400;
    src: url(../assets/fonts/Manrope-Regular.woff2) format("woff2")
}

@font-face {
    font-display: swap;
    font-family: Manrope;
    font-style: normal;
    font-weight: 500;
    src: url(../assets/fonts/Manrope-Medium.woff2) format("woff2")
}

@font-face {
    font-display: swap;
    font-family: Manrope;
    font-style: normal;
    font-weight: 700;
    src: url(../assets/fonts/Manrope-Bold.woff2) format("woff2")
}

@font-face {
    font-display: swap;
    font-family: iconfont;
    src: url(../assets/fonts/iconfont.woff2?b93be36426f840d3bca7c078d13d8f9a) format("woff2")
}

[class*="--icon-"]:before {
    font-family: iconfont
}

[class*="--icon-star"]:before {
    content: "\f101"
}

[class*="--icon-phone"]:before {
    content: "\f102"
}

[class*="--icon-mail"]:before {
    content: "\f103"
}

[class*="--icon-location"]:before {
    content: "\f104"
}

[class*="--icon-instagram"]:before {
    content: "\f105"
}

[class*="--icon-facebook"]:before {
    content: "\f106"
}

[class*="--icon-arrow-right"]:before {
    content: "\f107"
}

[class*="--icon-arrow-left"]:before {
    content: "\f108"
}

[class*="--icon-arrow-down"]:before {
    content: "\f109"
}

* {
    border: 0;
    margin: 0;
    padding: 0
}

*, :after, :before {
    box-sizing: border-box
}

:after, :before {
    display: inline-block
}

body, html {
    height: 100%
}

body {
    line-height: 1;
    scrollbar-gutter: stable;
    -ms-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

button, input, textarea {
    background-color: transparent;
    color: inherit;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit
}

input, textarea {
    width: 100%
}

label {
    display: inline-block
}

button, option, select {
    cursor: pointer
}

a {
    color: inherit;
    display: inline-block;
    text-decoration: none
}

ul li {
    list-style: none
}

img {
    height: auto;
    max-width: 100%;
    vertical-align: middle
}

h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit
}

:root {
    --primary: #44473c;
    --white: #fff;
    --text: #1a1a1a;
    --grey: #727272;
    --bg-1: #e3e1d5;
    --bg-2: #737766;
    --hover: #c1da6f;
    --yellow: #ffd970;
    --z-index-main: 20;
    --z-index-sec: 10
}

html {
    background: #e3e1d5;
    scroll-behavior: smooth
}

html [data-fls-scrolllock] {
    overflow: hidden
}

body {
    color: #1a1a1a;
    font-family: Manrope, sans-serif;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4;
    min-width: 20rem
}

[data-fls-scrolllock] body {
    overflow: hidden;
    overscroll-behavior: none;
    touch-action: none
}

.wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    overflow: clip
}

.wrapper > main {
    flex: 1 1 auto
}

.wrapper > * {
    min-width: 0
}

[class*=__container] {
    margin: 0 auto;
    max-width: 80.125rem;
    padding-left: 1rem;
    padding-right: 1rem;
    width: 100%
}

input[type=email], input[type=number], input[type=tel], input[type=text], textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0
}

input[type=number] {
    -moz-appearance: textfield
}

.btn {
    align-items: center;
    background: var(--white);
    color: var(--text);
    display: inline-flex;
    font-size: 1rem;
    font-weight: 500;
    gap: .625rem;
    height: fit-content;
    justify-content: center;
    line-height: 1;
    min-height: 2.625rem;
    padding: .5rem 3.125rem;
    text-align: center;
    transition: all .3s;
    width: fit-content
}

.btn.black_mod {
    background: var(--text);
    color: var(--white)
}

.swiper-nav {
    align-items: center;
    display: flex;
    flex-shrink: 0;
    justify-content: center;
    margin-top: 2.5rem
}

.swiper-nav:has(.swiper-button-lock) {
    display: none
}

.swiper-button-next, .swiper-button-prev {
    align-items: center;
    background: var(--bg-2);
    border: .0625rem solid var(--white);
    border-radius: 50%;
    color: var(--white);
    cursor: pointer;
    display: flex;
    flex-shrink: 0;
    font-size: .75rem;
    height: 2.25rem;
    justify-content: center;
    position: relative;
    transition: all .3s;
    width: 2.25rem
}

.swiper-button-next svg, .swiper-button-prev svg {
    display: none
}

.swiper-button-next:before, .swiper-button-prev:before {
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: color .3s
}

.title {
    font-family: RozhaOne, serif;
    font-weight: 400;
    line-height: 1.4
}

.title:not(:last-child) {
    margin-bottom: 2.5rem
}

.text-formatted {
    color: var(--text);
    font-size: 1.0625rem;
    font-weight: 500;
    line-height: 1.5
}

.text-formatted p:not(:last-child) {
    margin-bottom: 1rem
}

.text-formatted h1, .text-formatted h2, .text-formatted h3, .text-formatted h4, .text-formatted h5 {
    font-family: RozhaOne, serif;
    font-weight: 400;
    line-height: 1
}

.text-formatted h1:not(:last-child), .text-formatted h2:not(:last-child), .text-formatted h3:not(:last-child), .text-formatted h4:not(:last-child), .text-formatted h5:not(:last-child) {
    margin-bottom: 1.25rem
}

.text-formatted ol, .text-formatted ul {
    list-style: none;
    margin: 0;
    padding: 0
}

.text-formatted ol:not(:last-child), .text-formatted ul:not(:last-child) {
    margin-bottom: 1.25rem
}

.text-formatted li:not(:last-child) {
    margin-bottom: 1rem
}

.text-formatted ul li {
    padding-left: .875rem;
    position: relative
}

.text-formatted ul li:before {
    background: var(--primary);
    border-radius: 50%;
    content: "";
    height: .375rem;
    left: 0;
    position: absolute;
    top: .5625rem;
    width: .375rem
}

.text-formatted ol {
    counter-reset: number
}

.text-formatted ol li {
    counter-increment: number;
    padding-left: 1.25rem;
    position: relative
}

.text-formatted ol li:before {
    color: var(--primary);
    content: counter(number) ".";
    font-weight: 700;
    left: 0;
    position: absolute;
    top: 0
}

.text-formatted a {
    color: var(--primary);
    text-decoration: underline;
    transition: color .3s
}

.text-formatted img {
    border-radius: 1.5rem;
    display: block;
    height: auto;
    max-width: 100%
}

.text-formatted img:not(:last-child) {
    margin-bottom: 2.5rem
}

input[type=email], input[type=tel], input[type=text], textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.input {
    background: var(--white);
    border: none;
    border-radius: 0 !important;
    caret-color: var(--text);
    color: var(--text);
    display: block;
    font-size: 1rem;
    font-weight: 500;
    height: 2.625rem;
    line-height: 1.5;
    padding: .5rem 1.25rem;
    width: 100%
}

.input:focus-visible {
    box-shadow: 0 0 0 .0625rem var(--hover);
    outline: none
}

.input::placeholder {
    color: var(--grey)
}

label {
    color: var(--white);
    display: flex;
    font-weight: 500;
    line-height: 1.4;
    text-align: left;
    width: 100%
}

label .sub {
    color: var(--border)
}

textarea.input {
    height: 10rem;
    padding-left: 1.5rem;
    padding-top: 1.25rem;
    resize: none
}

.form {
    color: var(--white);
    padding-bottom: 3.75rem;
    padding-top: 3.75rem;
    position: relative
}

.form__bg, .form__bg:before {
    inset: 0;
    position: absolute
}

.form__bg:before {
    background: rgba(0, 0, 0, .271);
    content: ""
}

.form__bg img {
    height: 100%;
    object-fit: cover;
    width: 100%
}

.form__container {
    position: relative;
    z-index: 2
}

.form__inner {
    align-items: center;
    backdrop-filter: blur(1.8125rem);
    background: rgba(0, 0, 0, .361);
    border: .0625rem solid var(--bg-2);
    display: flex;
    flex-direction: column;
    padding: 2.5rem
}

.form__title {
    text-align: center
}

.form__grid {
    margin-left: auto;
    margin-right: auto;
    max-width: 70.625rem;
    width: 100%
}

.form__grid:not(:last-child) {
    margin-bottom: 1.875rem
}

.form__group {
    width: 100%
}

.form__options {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    row-gap: 1rem
}

.form__options:not(:last-child) {
    margin-bottom: 2rem
}

.form__heading {
    font-size: 1.75rem;
    line-height: 1.4;
    text-align: center
}

#about-us, #form-main, #why-us {
    scroll-margin-top: 9.0625rem
}

.select {
    min-width: 0
}

.select, .select__body {
    position: relative
}

.select__title {
    background: var(--white);
    border-radius: 0;
    color: inherit;
    color: var(--text);
    cursor: pointer;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
    text-align: left;
    width: 100%
}

.--select-open .select__title {
    box-shadow: 0 0 0 .0625rem var(--hover)
}

.select__value {
    align-items: center;
    display: flex;
    gap: .625rem;
    height: 2.625rem;
    min-width: 0
}

.select__value > * {
    flex: 1 1 auto
}

.select__value:after {
    align-items: center;
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' fill='none' viewBox='0 0 14 8'%3E%3Cpath fill='%23727272' d='M13.009 7.364a1 1 0 0 1-1.414 0l-4.95-4.95-4.95 4.95A1 1 0 0 1 .28 5.95L5.938.293a1 1 0 0 1 1.414 0l5.657 5.657a1 1 0 0 1 0 1.414'/%3E%3C/svg%3E") 50% no-repeat;
    content: "";
    display: flex;
    flex: 0 0 0.875rem;
    height: .5rem;
    justify-content: center;
    margin-right: 1.25rem;
    transform: rotate(180deg);
    transition: all .3s ease 0s
}

.--select-open .select__value:after {
    transform: rotate(0deg)
}

.select__value.--select-pseudo-label:before {
    content: attr(data-pseudo-label);
    opacity: .5
}

.select__content {
    padding: 0 .625rem 0 1.25rem
}

.select__content, .select__text {
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.select__input {
    background-color: transparent;
    height: 100%;
    padding: 0 .625rem;
    width: 100%
}

.--select-active .select__input::placeholder {
    color: #000
}

.--select-focus .select__input::placeholder {
    opacity: .5
}

.select__options {
    background-color: var(--white);
    border-radius: 0;
    color: var(--grey);
    left: 0;
    min-width: 100%;
    position: absolute;
    top: calc(100% + .5rem)
}

.select__scroll {
    max-height: 12.5rem;
    overflow-x: hidden;
    overflow-y: auto
}

.select__option {
    color: inherit;
    cursor: pointer;
    line-height: 1.5;
    padding: .875rem 1.125rem;
    text-align: left;
    width: 100%
}

.select__option.--select-selected {
    background-color: var(--hover)
}

.select__row {
    align-items: center;
    display: inline-flex
}

.select--show-top .select__options {
    border: .0625rem solid #d9d9d9;
    border-bottom: 0;
    border-radius: .25rem .25rem 0 0;
    bottom: calc(100% - .0625rem);
    padding: .3125rem 0 .625rem;
    top: auto
}

.--select-tag {
    cursor: pointer
}

.swiper {
    overflow: hidden
}

.swiper-initialized {
    touch-action: pan-y
}

.swiper-wrapper {
    box-sizing: content-box;
    display: flex;
    height: 100%;
    position: relative;
    width: 100%
}

.swiper-vertical .swiper-wrapper {
    flex-direction: column
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start
}

.swiper-initialized .swiper-slide {
    flex-shrink: 0
}

.swiper-android .swiper-slide, .swiper-android .swiper-wrapper {
    transform: translateZ(0)
}

.swiper-button-lock {
    display: none !important
}

.--showmore-active [data-fls-showmore-button] span, [data-fls-showmore-button] span:last-child {
    display: none
}

.--showmore-active [data-fls-showmore-button] span:last-child {
    display: block
}

.menu, .menu__list {
    align-items: center;
    display: flex
}

.menu__list {
    flex-wrap: wrap;
    gap: .375rem 1.875rem
}

.menu__link {
    color: var(--white);
    transition: color .3s
}

.icon-menu {
    display: none
}

.header {
    background: var(--primary);
    display: flex;
    left: 0;
    padding-bottom: .625rem;
    padding-top: .625rem;
    position: sticky;
    top: 0;
    width: 100%;
    z-index: var(--z-index-main)
}

.header__container {
    align-items: center;
    display: flex;
    gap: .75rem
}

.header__logo {
    align-items: center;
    display: flex;
    flex-shrink: 0;
    justify-content: center;
    position: relative;
    width: 5rem;
    z-index: var(--z-index-main)
}

.header__logo img {
    aspect-ratio: 1;
    height: auto;
    object-fit: scale-down;
    width: 100%
}

.header__menu {
    margin-left: auto
}

.footer {
    background: var(--primary);
    color: var(--white);
    padding-bottom: 3.75rem;
    padding-top: 3.75rem
}

.footer__container {
    align-items: center;
    display: flex;
    gap: 1rem
}

.footer__logo {
    align-items: center;
    display: flex;
    flex-shrink: 0;
    justify-content: center;
    width: 9.5rem
}

.footer__logo img {
    aspect-ratio: 1;
    height: auto;
    object-fit: scale-down;
    width: 100%
}

.footer__menu {
    gap: 2.5rem
}

.footer__list, .footer__menu {
    align-items: center;
    display: flex
}

.footer__list {
    flex-wrap: wrap;
    gap: .375rem 1.875rem
}

.footer__link {
    color: var(--white);
    transition: color .3s
}

.social__list {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem
}

.social__item {
    flex-shrink: 0
}

.social__link {
    background: var(--bg-2);
    border-radius: 50%;
    color: var(--white);
    font-size: 1.125rem;
    height: 2.25rem;
    transition: background .3s;
    width: 2.25rem
}

.options, .social__link {
    align-items: center;
    display: flex;
    justify-content: center
}

.options {
    gap: 2rem
}

.options__item {
    align-items: center;
    cursor: pointer;
    display: flex;
    flex-shrink: 0;
    font-size: 1rem;
    font-weight: 500;
    gap: .5rem;
    line-height: 1.5;
    position: relative;
    transition: color .3s;
    width: fit-content
}

.options__item:not(:last-child) {
    margin-bottom: 0
}

.options__item:has(input:checked) .options__icon {
    background: var(--hover);
    border-color: var(--hover)
}

.options__item:has(input:checked) .options__icon:before {
    transform: translate(-50%, -50%) scale(1)
}

.options__input {
    height: 0;
    opacity: 0;
    position: absolute;
    width: 0
}

.options__text {
    align-items: center;
    display: inline-flex
}

.options .options__icon {
    background: var(--white);
    border: .0625rem solid var(--grey);
    border-radius: .125rem;
    flex-shrink: 0;
    height: 1.25rem;
    position: relative;
    transition: all .3s;
    width: 1.25rem
}

.options .options__icon:before {
    background: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" viewBox="0 0 16 12"><path fill="%23fff" d="M15.628.372a1.27 1.27 0 0 0-1.794 0L5.757 8.449l-3.59-3.59A1.27 1.27 0 1 0 .372 6.654l4.487 4.487a1.265 1.265 0 0 0 1.795 0l8.974-8.974a1.27 1.27 0 0 0 0-1.795"/></svg>') 50% no-repeat;
    content: "";
    height: .75rem;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%) scale(0);
    transition: transform .3s ease;
    width: 1rem
}

input[type=date], input[type=email], input[type=tel], input[type=text], textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

input#date {
    background-size: .9375rem;
    background: #fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='13' fill='none' viewBox='0 0 15 13'%3E%3Cpath fill='%23727272' d='M14.333 3.333v-1.5A1.833 1.833 0 0 0 12.5 0H1.833A1.833 1.833 0 0 0 0 1.833v1.5zM0 4.333v6.834A1.833 1.833 0 0 0 1.833 13H12.5a1.834 1.834 0 0 0 1.833-1.833V4.333zM3.167 10.5a.666.666 0 1 1 0-1.333.666.666 0 0 1 0 1.333m0-2.667a.667.667 0 1 1 0-1.333.667.667 0 0 1 0 1.333M5.833 10.5a.666.666 0 1 1 0-1.333.666.666 0 0 1 0 1.333m0-2.667a.667.667 0 1 1 0-1.333.667.667 0 0 1 0 1.333M8.5 10.5a.666.666 0 1 1 0-1.333.666.666 0 0 1 0 1.333m0-2.667a.667.667 0 1 1 0-1.333.667.667 0 0 1 0 1.333m2.667 2.667a.666.666 0 1 1 0-1.332.666.666 0 0 1 0 1.332m0-2.667a.667.667 0 1 1 0-1.333.667.667 0 0 1 0 1.333'/%3E%3C/svg%3E") no-repeat right .625rem center
}

.input[placeholder]:not([data-fls-placeholder-nohiden])::placeholder {
    transition: opacity .3s
}

.input[placeholder]:not([data-fls-placeholder-nohiden]):focus::placeholder {
    opacity: 0
}

.flatpickr-calendar {
    -webkit-animation: none;
    animation: none;
    background: transparent;
    background: #fff;
    border: 0;
    border-radius: .3125rem;
    -webkit-box-shadow: .0625rem 0 0 #e6e6e6, -.0625rem 0 0 #e6e6e6, 0 .0625rem 0 #e6e6e6, 0 -.0625rem 0 #e6e6e6, 0 .1875rem .8125rem rgba(0, 0, 0, .08);
    box-shadow: .0625rem 0 0 #e6e6e6, -.0625rem 0 0 #e6e6e6, 0 .0625rem 0 #e6e6e6, 0 -.0625rem 0 #e6e6e6, 0 .1875rem .8125rem rgba(0, 0, 0, .08);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    direction: ltr;
    display: none;
    font-size: .875rem;
    line-height: 1.5rem;
    opacity: 0;
    padding: 0;
    position: absolute;
    text-align: center;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    visibility: hidden;
    width: 19.2421875rem
}

.flatpickr-calendar.inline, .flatpickr-calendar.open {
    max-height: 40rem;
    opacity: 1;
    visibility: visible
}

.flatpickr-calendar.open {
    display: inline-block;
    z-index: 99999
}

.flatpickr-calendar.animate.open {
    -webkit-animation: fpFadeInDown .3s cubic-bezier(.23, 1, .32, 1);
    animation: fpFadeInDown .3s cubic-bezier(.23, 1, .32, 1)
}

.flatpickr-calendar.inline {
    display: block;
    position: relative;
    top: .125rem
}

.flatpickr-calendar.static {
    position: absolute;
    top: calc(100% + .125rem)
}

.flatpickr-calendar.static.open {
    display: block;
    z-index: 999
}

.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) {
    -webkit-box-shadow: none !important;
    box-shadow: none !important
}

.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) {
    -webkit-box-shadow: -.125rem 0 0 #e6e6e6, .3125rem 0 0 #e6e6e6;
    box-shadow: -.125rem 0 0 #e6e6e6, .3125rem 0 0 #e6e6e6
}

.flatpickr-calendar .hasTime .dayContainer, .flatpickr-calendar .hasWeeks .dayContainer {
    border-bottom: 0;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0
}

.flatpickr-calendar .hasWeeks .dayContainer {
    border-left: 0
}

.flatpickr-calendar.hasTime .flatpickr-time {
    border-top: .0625rem solid #e6e6e6;
    height: 2.5rem
}

.flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
    height: auto
}

.flatpickr-calendar:after, .flatpickr-calendar:before {
    border: solid transparent;
    content: "";
    display: block;
    height: 0;
    left: 1.375rem;
    pointer-events: none;
    position: absolute;
    width: 0
}

.flatpickr-calendar.arrowRight:after, .flatpickr-calendar.arrowRight:before, .flatpickr-calendar.rightMost:after, .flatpickr-calendar.rightMost:before {
    left: auto;
    right: 1.375rem
}

.flatpickr-calendar.arrowCenter:after, .flatpickr-calendar.arrowCenter:before {
    left: 50%;
    right: 50%
}

.flatpickr-calendar:before {
    border-width: .3125rem;
    margin: 0 -.3125rem
}

.flatpickr-calendar:after {
    border-width: .25rem;
    margin: 0 -.25rem
}

.flatpickr-calendar.arrowTop:after, .flatpickr-calendar.arrowTop:before {
    bottom: 100%
}

.flatpickr-calendar.arrowTop:before {
    border-bottom-color: #e6e6e6
}

.flatpickr-calendar.arrowTop:after {
    border-bottom-color: #fff
}

.flatpickr-calendar.arrowBottom:after, .flatpickr-calendar.arrowBottom:before {
    top: 100%
}

.flatpickr-calendar.arrowBottom:before {
    border-top-color: #e6e6e6
}

.flatpickr-calendar.arrowBottom:after {
    border-top-color: #fff
}

.flatpickr-calendar:focus {
    outline: 0
}

.flatpickr-wrapper {
    display: inline-block;
    position: relative
}

.flatpickr-months {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
}

.flatpickr-months .flatpickr-month {
    background: transparent;
    line-height: 1;
    overflow: hidden;
    position: relative;
    text-align: center;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1
}

.flatpickr-months .flatpickr-month, .flatpickr-months .flatpickr-next-month, .flatpickr-months .flatpickr-prev-month {
    color: rgba(0, 0, 0, .9);
    fill: rgba(0, 0, 0, .9);
    height: 2.125rem;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.flatpickr-months .flatpickr-next-month, .flatpickr-months .flatpickr-prev-month {
    cursor: pointer;
    padding: .625rem;
    position: absolute;
    text-decoration: none;
    top: 0;
    z-index: 3
}

.flatpickr-months .flatpickr-next-month.flatpickr-disabled, .flatpickr-months .flatpickr-prev-month.flatpickr-disabled {
    display: none
}

.flatpickr-months .flatpickr-next-month i, .flatpickr-months .flatpickr-prev-month i {
    position: relative
}

.flatpickr-months .flatpickr-next-month.flatpickr-prev-month, .flatpickr-months .flatpickr-prev-month.flatpickr-prev-month {
    left: 0
}

.flatpickr-months .flatpickr-next-month.flatpickr-next-month, .flatpickr-months .flatpickr-prev-month.flatpickr-next-month {
    right: 0
}

.flatpickr-months .flatpickr-next-month:hover, .flatpickr-months .flatpickr-prev-month:hover {
    color: #959ea9
}

.flatpickr-months .flatpickr-next-month:hover svg, .flatpickr-months .flatpickr-prev-month:hover svg {
    fill: #f64747
}

.flatpickr-months .flatpickr-next-month svg, .flatpickr-months .flatpickr-prev-month svg {
    height: .875rem;
    width: .875rem
}

.flatpickr-months .flatpickr-next-month svg path, .flatpickr-months .flatpickr-prev-month svg path {
    fill: inherit;
    -webkit-transition: fill .1s;
    transition: fill .1s
}

.numInputWrapper {
    height: auto;
    position: relative
}

.numInputWrapper input, .numInputWrapper span {
    display: inline-block
}

.numInputWrapper input {
    width: 100%
}

.numInputWrapper input::-ms-clear {
    display: none
}

.numInputWrapper input::-webkit-inner-spin-button, .numInputWrapper input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0
}

.numInputWrapper span {
    border: .0625rem solid rgba(57, 57, 57, .15);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    cursor: pointer;
    height: 50%;
    line-height: 50%;
    opacity: 0;
    padding: 0 .25rem 0 .125rem;
    position: absolute;
    right: 0;
    width: .875rem
}

.numInputWrapper span:hover {
    background: rgba(0, 0, 0, .1)
}

.numInputWrapper span:active {
    background: rgba(0, 0, 0, .2)
}

.numInputWrapper span:after {
    content: "";
    display: block;
    position: absolute
}

.numInputWrapper span.arrowUp {
    border-bottom: 0;
    top: 0
}

.numInputWrapper span.arrowUp:after {
    border-bottom: .25rem solid rgba(57, 57, 57, .6);
    border-left: .25rem solid transparent;
    border-right: .25rem solid transparent;
    top: 26%
}

.numInputWrapper span.arrowDown {
    top: 50%
}

.numInputWrapper span.arrowDown:after {
    border-left: .25rem solid transparent;
    border-right: .25rem solid transparent;
    border-top: .25rem solid rgba(57, 57, 57, .6);
    top: 40%
}

.numInputWrapper span svg {
    height: auto;
    width: inherit
}

.numInputWrapper span svg path {
    fill: rgba(0, 0, 0, .5)
}

.numInputWrapper:hover {
    background: rgba(0, 0, 0, .05)
}

.numInputWrapper:hover span {
    opacity: 1
}

.flatpickr-current-month {
    color: inherit;
    display: inline-block;
    font-size: 135%;
    font-weight: 300;
    height: 2.125rem;
    left: 12.5%;
    line-height: inherit;
    line-height: 1;
    padding: .4675rem 0 0;
    position: absolute;
    text-align: center;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    width: 75%
}

.flatpickr-current-month span.cur-month {
    color: inherit;
    display: inline-block;
    font-family: inherit;
    font-weight: 700;
    margin-left: .5ch;
    padding: 0
}

.flatpickr-current-month span.cur-month:hover {
    background: rgba(0, 0, 0, .05)
}

.flatpickr-current-month .numInputWrapper {
    display: inline-block;
    width: 6ch;
    width: 7ch \0
}

.flatpickr-current-month .numInputWrapper span.arrowUp:after {
    border-bottom-color: rgba(0, 0, 0, .9)
}

.flatpickr-current-month .numInputWrapper span.arrowDown:after {
    border-top-color: rgba(0, 0, 0, .9)
}

.flatpickr-current-month input.cur-year {
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield;
    background: transparent;
    border: 0;
    border-radius: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: inherit;
    cursor: text;
    display: inline-block;
    font-family: inherit;
    font-size: inherit;
    font-weight: 300;
    height: auto;
    line-height: inherit;
    margin: 0;
    padding: 0 0 0 .5ch;
    vertical-align: initial
}

.flatpickr-current-month input.cur-year:focus {
    outline: 0
}

.flatpickr-current-month input.cur-year[disabled], .flatpickr-current-month input.cur-year[disabled]:hover {
    background: transparent;
    color: rgba(0, 0, 0, .5);
    font-size: 100%;
    pointer-events: none
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
    appearance: menulist;
    -webkit-appearance: menulist;
    -moz-appearance: menulist;
    background: transparent;
    border: none;
    border-radius: 0;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    color: inherit;
    cursor: pointer;
    font-family: inherit;
    font-size: inherit;
    font-weight: 300;
    height: auto;
    line-height: inherit;
    margin: -.0625rem 0 0;
    outline: none;
    padding: 0 0 0 .5ch;
    position: relative;
    vertical-align: initial;
    width: auto
}

.flatpickr-current-month .flatpickr-monthDropdown-months:active, .flatpickr-current-month .flatpickr-monthDropdown-months:focus {
    outline: none
}

.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
    background: rgba(0, 0, 0, .05)
}

.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
    background-color: transparent;
    outline: none;
    padding: 0
}

.flatpickr-weekdays {
    background: transparent;
    overflow: hidden;
    text-align: center;
    width: 100%;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    height: 1.75rem
}

.flatpickr-weekdays, .flatpickr-weekdays .flatpickr-weekdaycontainer {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
}

.flatpickr-weekdays .flatpickr-weekdaycontainer, span.flatpickr-weekday {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1
}

span.flatpickr-weekday {
    background: transparent;
    color: rgba(0, 0, 0, .54);
    cursor: default;
    display: block;
    font-size: 90%;
    font-weight: bolder;
    line-height: 1;
    margin: 0;
    text-align: center
}

.dayContainer, .flatpickr-weeks {
    padding: .0625rem 0 0
}

.flatpickr-days {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    overflow: hidden;
    position: relative;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    width: 19.2421875rem
}

.flatpickr-days:focus {
    outline: 0
}

.dayContainer {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    max-width: 19.2421875rem;
    min-width: 19.2421875rem;
    outline: 0;
    padding: 0;
    text-align: left;
    width: 19.2421875rem;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-around;
    justify-content: space-around;
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.dayContainer + .dayContainer {
    -webkit-box-shadow: -.0625rem 0 0 #e6e6e6;
    box-shadow: -.0625rem 0 0 #e6e6e6
}

.flatpickr-day {
    background: none;
    border: .0625rem solid transparent;
    border-radius: 9.375rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #393939;
    cursor: pointer;
    -webkit-flex-basis: 14.2857143%;
    font-weight: 400;
    width: 14.2857143%;
    -ms-flex-preferred-size: 14.2857143%;
    display: inline-block;
    flex-basis: 14.2857143%;
    height: 2.4375rem;
    line-height: 2.4375rem;
    margin: 0;
    max-width: 2.4375rem;
    position: relative;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center
}

.flatpickr-day.inRange, .flatpickr-day.nextMonthDay.inRange, .flatpickr-day.nextMonthDay.today.inRange, .flatpickr-day.nextMonthDay:focus, .flatpickr-day.nextMonthDay:hover, .flatpickr-day.prevMonthDay.inRange, .flatpickr-day.prevMonthDay.today.inRange, .flatpickr-day.prevMonthDay:focus, .flatpickr-day.prevMonthDay:hover, .flatpickr-day.today.inRange, .flatpickr-day:focus, .flatpickr-day:hover {
    background: #e6e6e6;
    border-color: #e6e6e6;
    cursor: pointer;
    outline: 0
}

.flatpickr-day.today {
    border-color: #959ea9
}

.flatpickr-day.today:focus, .flatpickr-day.today:hover {
    background: #959ea9;
    border-color: #959ea9;
    color: #fff
}

.flatpickr-day.endRange, .flatpickr-day.endRange.inRange, .flatpickr-day.endRange.nextMonthDay, .flatpickr-day.endRange.prevMonthDay, .flatpickr-day.endRange:focus, .flatpickr-day.endRange:hover, .flatpickr-day.selected, .flatpickr-day.selected.inRange, .flatpickr-day.selected.nextMonthDay, .flatpickr-day.selected.prevMonthDay, .flatpickr-day.selected:focus, .flatpickr-day.selected:hover, .flatpickr-day.startRange, .flatpickr-day.startRange.inRange, .flatpickr-day.startRange.nextMonthDay, .flatpickr-day.startRange.prevMonthDay, .flatpickr-day.startRange:focus, .flatpickr-day.startRange:hover {
    background: #569ff7;
    border-color: #569ff7;
    -webkit-box-shadow: none;
    box-shadow: none;
    color: #fff
}

.flatpickr-day.endRange.startRange, .flatpickr-day.selected.startRange, .flatpickr-day.startRange.startRange {
    border-radius: 3.125rem 0 0 3.125rem
}

.flatpickr-day.endRange.endRange, .flatpickr-day.selected.endRange, .flatpickr-day.startRange.endRange {
    border-radius: 0 3.125rem 3.125rem 0
}

.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)), .flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)), .flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)) {
    -webkit-box-shadow: -.625rem 0 0 #569ff7;
    box-shadow: -.625rem 0 0 #569ff7
}

.flatpickr-day.endRange.startRange.endRange, .flatpickr-day.selected.startRange.endRange, .flatpickr-day.startRange.startRange.endRange {
    border-radius: 3.125rem
}

.flatpickr-day.inRange {
    border-radius: 0;
    -webkit-box-shadow: -.3125rem 0 0 #e6e6e6, .3125rem 0 0 #e6e6e6;
    box-shadow: -.3125rem 0 0 #e6e6e6, .3125rem 0 0 #e6e6e6
}

.flatpickr-day.flatpickr-disabled, .flatpickr-day.flatpickr-disabled:hover, .flatpickr-day.nextMonthDay, .flatpickr-day.notAllowed, .flatpickr-day.notAllowed.nextMonthDay, .flatpickr-day.notAllowed.prevMonthDay, .flatpickr-day.prevMonthDay {
    background: transparent;
    border-color: transparent;
    color: rgba(57, 57, 57, .3);
    cursor: default
}

.flatpickr-day.flatpickr-disabled, .flatpickr-day.flatpickr-disabled:hover {
    color: rgba(57, 57, 57, .1);
    cursor: not-allowed
}

.flatpickr-day.week.selected {
    border-radius: 0;
    -webkit-box-shadow: -.3125rem 0 0 #569ff7, .3125rem 0 0 #569ff7;
    box-shadow: -.3125rem 0 0 #569ff7, .3125rem 0 0 #569ff7
}

.flatpickr-day.hidden {
    visibility: hidden
}

.rangeMode .flatpickr-day {
    margin-top: .0625rem
}

.flatpickr-weekwrapper {
    float: left
}

.flatpickr-weekwrapper .flatpickr-weeks {
    -webkit-box-shadow: .0625rem 0 0 #e6e6e6;
    box-shadow: .0625rem 0 0 #e6e6e6;
    padding: 0 .75rem
}

.flatpickr-weekwrapper .flatpickr-weekday {
    float: none;
    line-height: 1.75rem;
    width: 100%
}

.flatpickr-weekwrapper span.flatpickr-day, .flatpickr-weekwrapper span.flatpickr-day:hover {
    background: transparent;
    border: none;
    color: rgba(57, 57, 57, .3);
    cursor: default;
    display: block;
    max-width: none;
    width: 100%
}

.flatpickr-innerContainer {
    display: block;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    overflow: hidden
}

.flatpickr-innerContainer, .flatpickr-rContainer {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.flatpickr-rContainer {
    display: inline-block;
    padding: 0
}

.flatpickr-time {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    height: 0;
    line-height: 2.5rem;
    max-height: 2.5rem;
    outline: 0;
    overflow: hidden;
    text-align: center
}

.flatpickr-time:after {
    clear: both;
    content: "";
    display: table
}

.flatpickr-time .numInputWrapper {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    float: left;
    height: 2.5rem;
    width: 40%
}

.flatpickr-time .numInputWrapper span.arrowUp:after {
    border-bottom-color: #393939
}

.flatpickr-time .numInputWrapper span.arrowDown:after {
    border-top-color: #393939
}

.flatpickr-time.hasSeconds .numInputWrapper {
    width: 26%
}

.flatpickr-time.time24hr .numInputWrapper {
    width: 49%
}

.flatpickr-time input {
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield;
    background: transparent;
    border: 0;
    border-radius: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #393939;
    font-size: .875rem;
    height: inherit;
    line-height: inherit;
    margin: 0;
    padding: 0;
    position: relative;
    text-align: center
}

.flatpickr-time input.flatpickr-hour {
    font-weight: 700
}

.flatpickr-time input.flatpickr-minute, .flatpickr-time input.flatpickr-second {
    font-weight: 400
}

.flatpickr-time input:focus {
    border: 0;
    outline: 0
}

.flatpickr-time .flatpickr-am-pm, .flatpickr-time .flatpickr-time-separator {
    -webkit-align-self: center;
    color: #393939;
    float: left;
    font-weight: 700;
    height: inherit;
    line-height: inherit;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: 2%;
    -ms-flex-item-align: center;
    align-self: center
}

.flatpickr-time .flatpickr-am-pm {
    cursor: pointer;
    font-weight: 400;
    outline: 0;
    text-align: center;
    width: 18%
}

.flatpickr-time .flatpickr-am-pm:focus, .flatpickr-time .flatpickr-am-pm:hover, .flatpickr-time input:focus, .flatpickr-time input:hover {
    background: #eee
}

.flatpickr-input[readonly] {
    cursor: pointer
}

@-webkit-keyframes fpFadeInDown {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -1.25rem, 0);
        transform: translate3d(0, -1.25rem, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes fpFadeInDown {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -1.25rem, 0);
        transform: translate3d(0, -1.25rem, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.hero {
    display: flex;
    position: relative
}

.hero__bg {
    inset: 0;
    position: absolute;
    z-index: 1
}

.hero__bg img {
    height: 100%;
    object-fit: cover;
    width: 100%
}

.hero__container, .hero__content {
    display: flex;
    min-height: 100%
}

.hero__content {
    animation: heroFadeUp .9s ease-out .1s forwards;
    color: var(--white);
    flex-direction: column;
    opacity: 0;
    padding: 5rem 1.875rem;
    position: relative;
    z-index: 2
}

.hero__title {
    animation: heroFadeUp 1s ease-out .2s forwards;
    font-family: RozhaOne, serif;
    line-height: 1.2
}

.hero__text, .hero__title {
    font-weight: 400;
    opacity: 0
}

.hero__text {
    animation: heroFadeUp 1s ease-out .35s forwards;
    line-height: 1.4;
    text-wrap: balance
}

.hero__text p:not(:last-child) {
    margin-bottom: 1rem
}

.hero__btn {
    animation: heroFadeUp 1s ease-out .5s forwards;
    opacity: 0;
    width: fit-content
}

@keyframes heroFadeUp {
    0% {
        opacity: 0;
        transform: translateY(1.875rem)
    }
    to {
        opacity: 1;
        transform: translateY(0)
    }
}

[data-fls-watcher] {
    opacity: 0
}

[data-fls-watcher].--watcher-view, [data-fls-watcher]:first-child.--watcher-view {
    animation: heroFadeUp 1s ease-out 1s forwards
}

[data-fls-watcher]:nth-child(2).--watcher-view {
    animation: heroFadeUp 1.2s ease-out 1s forwards
}

[data-fls-watcher]:nth-child(3).--watcher-view {
    animation: heroFadeUp 1.4s ease-out 1s forwards
}

.why-us__title {
    text-align: center
}

.why-us__list {
    display: flex;
    flex-direction: column;
    row-gap: 2.5rem
}

.item-why-us__content {
    background: var(--white);
    display: flex;
    flex-direction: column;
    padding: 2rem 3.75rem
}

.item-why-us__title {
    font-weight: 600;
    line-height: 1.2
}

.item-why-us__title:not(:last-child) {
    margin-bottom: 1.5rem
}

.item-why-us__text {
    line-height: 1.4
}

.item-why-us__text p:not(:last-child) {
    margin-bottom: 1rem
}

.item-why-us__img {
    align-items: center;
    display: flex;
    justify-content: center;
    width: 100%
}

.item-why-us__img img {
    aspect-ratio: 745/341;
    min-height: 100%;
    object-fit: cover;
    width: 100%
}

.about-us {
    background: var(--bg-2)
}

.about-us__content {
    background: var(--white);
    display: flex;
    flex-direction: column;
    padding: 2rem 3.75rem
}

.about-us__title:not(:last-child) {
    margin-bottom: 1rem
}

.about-us__text {
    line-height: 1.4
}

.about-us__text p:not(:last-child) {
    margin-bottom: 1rem
}

.about-us__img {
    align-items: center;
    display: flex;
    justify-content: center;
    width: 100%
}

.about-us__img img {
    aspect-ratio: 745/457;
    min-height: 100%;
    object-fit: cover;
    width: 100%
}

.seo .seo__wrap {
    margin-right: -1rem;
    max-height: 38.375rem;
    overflow: auto;
    padding-right: 1rem
}

.map {
    background: var(--bg-2);
    color: var(--white)
}

.map__row {
    display: flex;
    gap: 2.5rem
}

.map__contacts {
    flex: 0 0 31.5%
}

.map__img {
    display: flex;
    flex: 1 1 auto
}

.map__img img {
    aspect-ratio: 1003/422;
    object-fit: cover;
    width: 100%
}

.item-contact {
    align-items: center;
    display: flex;
    gap: 1rem
}

.item-contact__icon {
    align-items: center;
    background: var(--primary);
    border-radius: 50%;
    display: flex;
    flex-shrink: 0;
    font-size: var(--white);
    font-size: .875rem;
    height: 2.25rem;
    justify-content: center;
    width: 2.25rem
}

.item-contact__content {
    display: flex;
    flex-direction: column;
    row-gap: .625rem
}

.item-contact__label {
    display: inline-flex;
    font-size: 1rem;
    font-weight: 500
}

.item-contact__link {
    font-size: 1.4375rem;
    font-weight: 500;
    line-height: 1.4;
    transition: color .3s
}

.reviews {
    background: var(--bg-2);
    color: var(--white);
    overflow: hidden
}

.reviews__title {
    text-align: center
}

.reviews__slider {
    overflow: visible
}

.reviews__slider:not(.swiper-initialized) {
    overflow: hidden
}

.reviews__slider:not(.swiper-initialized) .swiper-wrapper {
    display: flex;
    gap: 1.875rem
}

.review-item, .reviews__slider:not(.swiper-initialized) .swiper-slide {
    flex-shrink: 0;
    width: 27.0625rem
}

.review-item {
    background: var(--white);
    border-radius: .9375rem;
    overflow: hidden
}

.review-item__top {
    background: var(--primary);
    display: flex;
    flex-direction: column;
    padding: 1.25rem 1rem 1rem;
    row-gap: .375rem
}

.review-item__name {
    font-size: 1.75rem;
    line-height: 1.4
}

.review-item__rating {
    align-items: center;
    display: flex;
    gap: .5rem
}

.review-item__number {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.4
}

.review-item__body {
    padding: 1.25rem 1rem
}

.review-item__date {
    border-top: .0625rem solid var(--bg-2);
    color: var(--grey);
    font-size: .875rem;
    margin-top: 1rem;
    padding-top: 1rem
}

.stars {
    align-items: center;
    display: flex;
    gap: .375rem
}

.stars .star {
    color: var(--yellow);
    flex-shrink: 0;
    font-size: .6875rem
}

.stars .star.disabled {
    color: var(--bg-1)
}

.review__content, .review__more {
    color: var(--text);
    font-size: 1rem;
    line-height: 1.35
}

.review__more {
    font-weight: 600;
    margin-top: 1rem;
    transition: color .3s
}

.gallery {
    background: var(--bg-2);
    color: var(--white)
}

.gallery.gallery--mod {
    background: var(--bg-1);
    color: var(--text)
}

.gallery__top {
    display: flex;
    gap: 1.875rem
}

.gallery__top:not(:last-child) {
    margin-bottom: 1.875rem
}

.gallery__content {
    flex: 1 1 auto
}

.gallery__title:not(:last-child) {
    margin-bottom: 1.5rem
}

.gallery__text {
    line-height: 1.4
}

.gallery__text p:not(:last-child) {
    margin-bottom: 1rem
}

.gallery__buttons {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem
}

.gallery__img {
    display: flex;
    flex: 0 0 40%
}

.gallery__img img {
    aspect-ratio: 616/298;
    object-fit: cover;
    width: 100%
}

.gallery__grid {
    display: grid;
    gap: 1.875rem;
    grid-template-columns:repeat(4, 1fr);
    grid-template-rows:repeat(2, 24.875rem)
}

.gallery__item {
    align-items: center;
    display: flex;
    justify-content: center;
    overflow: hidden
}

.gallery__item img {
    height: 100%;
    object-fit: cover;
    transition: transform .3s ease-in-out;
    width: 100%
}

.bg-green {
    background: var(--bg-2)
}

.bg-green .text-formatted {
    color: var(--white)
}

.bg-green .text-formatted ul li:before {
    background: var(--white)
}

.bg-green .text-formatted ol li:before {
    color: var(--white)
}

.bg-light {
    background: var(--bg-1)
}

.bg-light .title {
    color: var(--text)
}

.bg-light .swiper-button-next, .bg-light .swiper-button-prev {
    background: var(--bg-1);
    border-color: var(--text);
    color: var(--text)
}

.our-works {
    background: var(--primary);
    color: var(--white)
}

.our-works__title {
    text-align: center
}

.our-works__list {
    display: grid;
    grid-template-columns:repeat(3, 1fr)
}

.our-works__item {
    cursor: pointer;
    overflow: hidden;
    width: 100%
}

.our-works__item img {
    aspect-ratio: 487/341;
    object-fit: cover;
    transition: transform .3s ease-in-out
}

.instagram {
    background: var(--bg-1)
}

.instagram__container {
    align-items: center;
    display: flex;
    flex-direction: column
}

.instagram__title {
    text-align: center
}

.instagram__list {
    display: grid;
    grid-template-columns:repeat(4, 1fr);
    width: 100%
}

.instagram__item {
    display: flex;
    overflow: hidden;
    width: 100%
}

.instagram__item img {
    aspect-ratio: 358/272;
    object-fit: cover;
    transition: transform .3s ease-in-out
}

.instagram__link {
    align-items: center;
    cursor: pointer;
    display: flex;
    justify-content: center;
    overflow: hidden
}

@media (max-width: 74.99875em) {
    .why-us__list {
        row-gap: 1.5rem
    }

    .about-us__content, .item-why-us__content {
        padding: 1.5rem 2rem
    }

    .gallery__grid {
        gap: 1rem;
        grid-template-rows:repeat(2, 18.75rem)
    }
}

@media (max-width: 61.99875em) {
    .text-formatted p:not(:last-child) {
        margin-bottom: .75rem
    }

    .text-formatted h1:not(:last-child), .text-formatted h2:not(:last-child), .text-formatted h3:not(:last-child), .text-formatted h4:not(:last-child), .text-formatted h5:not(:last-child), .text-formatted ol:not(:last-child), .text-formatted ul:not(:last-child) {
        margin-bottom: 1rem
    }

    .text-formatted li:not(:last-child) {
        margin-bottom: .75rem
    }

    .text-formatted img:not(:last-child) {
        margin-bottom: 1.25rem
    }

    .text-formatted img {
        border-radius: 1.25rem
    }

    .form__grid:not(:last-child) {
        margin-bottom: 1.5rem
    }

    .form__grid {
        display: flex;
        flex-direction: column;
        row-gap: 1.5rem
    }

    .footer {
        padding-bottom: 2.5rem;
        padding-top: 2.5rem
    }

    .hero__bg:before {
        background: rgba(0, 0, 0, .5);
        content: "";
        inset: 0;
        position: absolute
    }

    .hero__content {
        align-items: center;
        padding: 2.5rem 1rem;
        text-align: center
    }

    .item-why-us {
        display: flex;
        flex-direction: column
    }

    .item-why-us__content {
        padding: 2rem 1rem
    }

    .about-us__row {
        display: flex;
        flex-direction: column
    }

    .about-us__content {
        padding: 2rem 1rem
    }

    .map__row {
        flex-direction: column
    }

    .our-works__list {
        grid-template-columns:repeat(2, 1fr)
    }

    .instagram__list {
        grid-template-columns:repeat(3, 1fr)
    }
}

@media (max-width: 47.99875em) and (any-hover: none) {
    .icon-menu {
        cursor: default
    }
}

@media (max-width: 47.99875em) {
    textarea.input {
        padding-left: 1rem;
        padding-top: 1rem
    }

    .form__container {
        padding: 0
    }

    .form__inner {
        padding: 2.5rem 1rem
    }

    .form__title:not(:last-child) {
        margin-bottom: 1.5rem
    }

    .form__options {
        align-items: start;
        width: 100%
    }

    .form__heading {
        text-align: left
    }

    .menu {
        background: var(--bg-1);
        flex-direction: column;
        height: 100%;
        overflow: auto;
        padding: 6.5rem 1rem 2.625rem
    }

    .menu, .menu:before {
        left: -100%;
        position: fixed;
        top: 0;
        transition: left .3s;
        width: 100%
    }

    .menu:before {
        background: var(--primary);
        content: "";
        height: 4.375rem;
        z-index: 2
    }

    [data-fls-menu-open] .menu, [data-fls-menu-open] .menu:before {
        left: 0
    }

    .menu__body {
        width: 100%
    }

    .menu__list {
        align-items: flex-start;
        flex-direction: column;
        row-gap: 1.5rem
    }

    .menu__link {
        color: var(--text)
    }

    .menu__btn {
        background: var(--text);
        color: var(--white);
        margin-top: auto;
        width: 100%
    }

    .icon-menu {
        display: block;
        height: 1.125rem;
        margin-left: auto;
        position: relative;
        width: 1.875rem;
        z-index: 5
    }

    .icon-menu span, .icon-menu:after, .icon-menu:before {
        background-color: var(--white);
        content: "";
        height: .125rem;
        position: absolute;
        right: 0;
        transition: all .3s ease 0s;
        width: 100%
    }

    .icon-menu:before {
        top: 0
    }

    .icon-menu:after {
        bottom: 0
    }

    .icon-menu span {
        top: calc(50% - .0625rem)
    }

    [data-fls-menu-open] .icon-menu span {
        width: 0
    }

    [data-fls-menu-open] .icon-menu:before {
        top: calc(50% - .0625rem);
        transform: rotate(-45deg)
    }

    [data-fls-menu-open] .icon-menu:after {
        bottom: calc(50% - .0625rem);
        transform: rotate(45deg)
    }

    .header {
        padding-bottom: .25rem;
        padding-top: .25rem
    }

    .header__logo {
        width: 3.5rem
    }

    .footer__container, .footer__list, .footer__menu {
        flex-direction: column
    }

    .footer__list {
        row-gap: 1.875rem
    }

    .social__list {
        justify-content: center
    }

    .options {
        align-items: start;
        flex-direction: column;
        row-gap: 1rem
    }

    .hero__title {
        line-height: 1;
        text-align: center
    }

    .hero__text {
        font-weight: 500;
        text-align: center
    }

    .about-us__img img, .item-why-us__img img {
        aspect-ratio: 361/207;
        min-height: auto
    }

    .map__img img {
        aspect-ratio: 361/236
    }

    .review-item, .reviews__slider:not(.swiper-initialized) .swiper-slide {
        width: 100%
    }

    .gallery.gallery--mod:has(.gallery__item:nth-child(7)) .gallery__item:last-child {
        grid-column: span 1
    }

    .gallery__top {
        flex-direction: column
    }

    .gallery__top:not(:last-child) {
        margin-bottom: .625rem
    }

    .gallery__img {
        flex: 0 0 100%;
        width: 100%
    }

    .gallery__grid {
        gap: .625rem;
        grid-template-columns:repeat(2, 1fr);
        grid-template-rows:repeat(2, 14rem)
    }

    .gallery__item:last-child, .gallery__item:nth-child(6n+3) {
        grid-column: span 2
    }

    .gallery__item img {
        max-height: 14rem
    }

    .instagram__list {
        grid-template-columns:repeat(2, 1fr)
    }
}

@media (max-width: 29.99875em) {
    .form .btn, .gallery__buttons .btn, .hero__btn {
        width: 100%
    }

    .instagram__list, .our-works__list {
        gap: .625rem
    }

    .instagram .btn {
        width: 100%
    }
}

@media (max-width: 20em) {
    .section {
        padding-bottom: 2.5rem;
        padding-top: 2.5rem
    }

    .swiper-nav {
        gap: 1rem
    }

    .title {
        font-size: 2.1875rem
    }

    .text-formatted h1:not(:first-child), .text-formatted h2:not(:first-child), .text-formatted h3:not(:first-child), .text-formatted h4:not(:first-child), .text-formatted h5:not(:first-child) {
        margin-top: 1.25rem
    }

    .text-formatted h1 {
        font-size: 2rem
    }

    .text-formatted h2 {
        font-size: 1.75rem
    }

    .text-formatted h3 {
        font-size: 1.5rem
    }

    .text-formatted h4 {
        font-size: 1.25rem
    }

    .text-formatted h5 {
        font-size: 1.125rem
    }

    .text-formatted img:not(:first-child) {
        margin-top: 1.25rem
    }

    label {
        font-size: 1rem
    }

    label:not(:last-child) {
        margin-bottom: .25rem
    }

    textarea.input:not(:last-child) {
        margin-bottom: 1rem
    }

    .menu {
        gap: 1.25rem
    }

    .hero__title {
        font-size: 2.5rem
    }

    .hero__title:not(:last-child) {
        margin-bottom: 1.5rem
    }

    .hero__text {
        font-size: 1.25rem
    }

    .hero__text:not(:last-child) {
        margin-bottom: 1.4375rem
    }

    .item-why-us__title {
        font-size: 1.25rem
    }

    .item-contact:not(:last-child) {
        margin-bottom: 1.5rem
    }

    .gallery__text:not(:last-child) {
        margin-bottom: 2rem
    }

    .instagram__list, .our-works__list {
        gap: .625rem
    }

    .instagram__list:not(:last-child) {
        margin-bottom: 1.875rem
    }
}

@media (min-width: 20em) and (max-width: 80.125em) {
    .section {
        padding-bottom: clamp(2.5rem, 2.0841995842rem + 2.079002079vw, 3.75rem);
        padding-top: clamp(2.5rem, 2.0841995842rem + 2.079002079vw, 3.75rem)
    }

    .swiper-nav {
        gap: clamp(1rem, .7089397089375rem + 1.4553014553vw, 1.875rem)
    }

    .title {
        font-size: clamp(2.1875rem, 1.73011954261875rem + 2.2869022869vw, 3.5625rem)
    }

    .text-formatted h1:not(:first-child), .text-formatted h2:not(:first-child), .text-formatted h3:not(:first-child), .text-formatted h4:not(:first-child), .text-formatted h5:not(:first-child) {
        margin-top: clamp(1.25rem, .8341995842rem + 2.079002079vw, 2.5rem)
    }

    .text-formatted h1 {
        font-size: clamp(2rem, 1.33471933471875rem + 3.3264033264vw, 4rem)
    }

    .text-formatted h2 {
        font-size: clamp(1.75rem, 1.16787941788125rem + 2.9106029106vw, 3.5rem)
    }

    .text-formatted h3 {
        font-size: clamp(1.5rem, 1.1673596673625rem + 1.6632016632vw, 2.5rem)
    }

    .text-formatted h4 {
        font-size: clamp(1.25rem, 1.00051975051875rem + 1.2474012474vw, 2rem)
    }

    .text-formatted h5 {
        font-size: clamp(1.125rem, 1.0002598752625rem + .6237006237vw, 1.5rem)
    }

    .text-formatted img:not(:first-child) {
        margin-top: clamp(1.25rem, 1.0420997921rem + 1.0395010395vw, 1.875rem)
    }

    label {
        font-size: clamp(1rem, .75051975051875rem + 1.2474012474vw, 1.75rem)
    }

    label:not(:last-child) {
        margin-bottom: clamp(.25rem, .1668399168375rem + .4158004158vw, .5rem)
    }

    textarea.input:not(:last-child) {
        margin-bottom: clamp(1rem, .83367983368125rem + .8316008316vw, 1.5rem)
    }

    .menu {
        gap: clamp(1.25rem, .10654885655rem + 5.7172557173vw, 4.6875rem)
    }

    .hero__title {
        font-size: clamp(2.5rem, 1.60602910603125rem + 4.4698544699vw, 5.1875rem)
    }

    .hero__title:not(:last-child) {
        margin-bottom: clamp(1.5rem, 1.1673596673625rem + 1.6632016632vw, 2.5rem)
    }

    .hero__text {
        font-size: clamp(1.25rem, .97972972973125rem + 1.3513513514vw, 2.0625rem)
    }

    .hero__text:not(:last-child) {
        margin-bottom: clamp(1.4375rem, 1.08406964656875rem + 1.7671517672vw, 2.5rem)
    }

    .item-why-us__title {
        font-size: clamp(1.25rem, .8341995842rem + 2.079002079vw, 2.5rem)
    }

    .item-contact:not(:last-child) {
        margin-bottom: clamp(1.5rem, 1.33367983368125rem + .8316008316vw, 2rem)
    }

    .gallery__text:not(:last-child) {
        margin-bottom: clamp(1.5rem, 2.16632016631875rem + -.8316008316vw, 2rem)
    }

    .instagram__list, .our-works__list {
        gap: clamp(.625rem, .2091995842rem + 2.079002079vw, 1.875rem)
    }

    .instagram__list:not(:last-child) {
        margin-bottom: clamp(1.875rem, 1.6670997921rem + 1.0395010395vw, 2.5rem)
    }
}

@media (min-width: 47.99875em) {
    .footer__menu {
        margin-left: auto
    }

    .gallery.gallery--mod .gallery__content {
        order: 2
    }

    .gallery.gallery--mod .gallery__img {
        flex: 0 0 32%;
        order: 1
    }

    .gallery.gallery--mod .gallery__img img {
        aspect-ratio: 487/397
    }

    .gallery.gallery--mod .gallery__grid {
        grid-template-columns:repeat(10, 1fr)
    }

    .gallery.gallery--mod .gallery__item:nth-child(7n+1) {
        grid-column: span 4/span 4
    }

    .gallery.gallery--mod .gallery__item:nth-child(7n+2) {
        grid-column: span 3/span 3;
        grid-column-start: 5
    }

    .gallery.gallery--mod .gallery__item:nth-child(7n+3) {
        grid-column: span 3/span 3;
        grid-column-start: 8
    }

    .gallery.gallery--mod .gallery__item:nth-child(7n+4) {
        grid-column: span 2/span 2;
        grid-row-start: 2
    }

    .gallery.gallery--mod .gallery__item:nth-child(7n+5) {
        grid-column: span 3/span 3;
        grid-column-start: 3;
        grid-row-start: 2
    }

    .gallery.gallery--mod .gallery__item:nth-child(7n+6) {
        grid-column: span 3/span 3;
        grid-column-start: 6;
        grid-row-start: 2
    }

    .gallery.gallery--mod .gallery__item:nth-child(7n+7) {
        grid-column: span 2/span 2;
        grid-column-start: 9;
        grid-row-start: 2
    }

    .gallery__item:nth-child(6n+2) {
        grid-column: span 2/span 2
    }

    .gallery__item:nth-child(6n+3) {
        grid-column-start: 4
    }

    .gallery__item:nth-child(6n+4), .gallery__item:nth-child(6n+5) {
        grid-row-start: 2
    }

    .gallery__item:nth-child(6n+6) {
        grid-column: span 2/span 2;
        grid-row-start: 2
    }
}

@media (min-width: 61.99875em) and (min-width: 80.125em) {
    .item-why-us {
        gap: 1.875rem
    }
}

@media (min-width: 61.99875em) and (min-width: 20em) and (max-width: 80.125em) {
    .item-why-us {
        gap: clamp(1rem, .7089397089375rem + 1.4553014553vw, 1.875rem)
    }
}

@media (min-width: 61.99875em) and (max-width: 20em) {
    .item-why-us {
        gap: 1rem
    }
}

@media (min-width: 61.99875em) {
    .form__grid {
        display: grid;
        gap: 1.875rem;
        grid-template-columns:repeat(2, 1fr)
    }

    .form__grid.tree-col {
        align-items: end;
        grid-template-columns:repeat(3, 1fr)
    }

    .hero {
        min-height: calc(100dvh - 9.0625rem)
    }

    .hero__content {
        backdrop-filter: blur(.96875rem);
        background: rgba(0, 0, 0, .502);
        max-width: 59.625rem
    }

    .item-why-us {
        display: grid;
        grid-template-columns:repeat(2, 1fr)
    }

    .item-why-us:nth-child(odd) .item-why-us__content {
        order: 2
    }

    .item-why-us:nth-child(odd) .item-why-us__img {
        order: 1
    }

    .about-us__row {
        display: grid;
        gap: 1.875rem;
        grid-template-columns:repeat(2, 1fr)
    }
}

@media (min-width: 62rem) {
    html, html * {
        scrollbar-color: auto;
        scrollbar-width: auto
    }

    html ::-webkit-scrollbar, html::-webkit-scrollbar {
        height: .25rem;
        width: .25rem
    }

    html ::-webkit-scrollbar-button, html::-webkit-scrollbar-button {
        display: none
    }

    html ::-webkit-scrollbar-track, html ::-webkit-scrollbar-track-piece, html::-webkit-scrollbar-track, html::-webkit-scrollbar-track-piece {
        background: #737766
    }

    html ::-webkit-scrollbar-thumb, html::-webkit-scrollbar-thumb {
        background: #44473c;
        border-radius: 1em
    }

    html ::-webkit-scrollbar-corner, html::-webkit-scrollbar-corner {
        background: #737766
    }

    .seo .seo__wrap, .seo .seo__wrap * {
        scrollbar-color: auto;
        scrollbar-width: auto
    }

    .seo .seo__wrap ::-webkit-scrollbar, .seo .seo__wrap::-webkit-scrollbar {
        height: .25rem;
        width: .25rem
    }

    .seo .seo__wrap ::-webkit-scrollbar-button, .seo .seo__wrap::-webkit-scrollbar-button {
        display: none
    }

    .seo .seo__wrap ::-webkit-scrollbar-track, .seo .seo__wrap ::-webkit-scrollbar-track-piece, .seo .seo__wrap::-webkit-scrollbar-track, .seo .seo__wrap::-webkit-scrollbar-track-piece {
        background: #737766
    }

    .seo .seo__wrap ::-webkit-scrollbar-thumb, .seo .seo__wrap::-webkit-scrollbar-thumb {
        background: #44473c;
        border-radius: 1em
    }

    .seo .seo__wrap ::-webkit-scrollbar-corner, .seo .seo__wrap::-webkit-scrollbar-corner {
        background: #737766
    }
}

@media (min-width: 80.125em) {
    .section {
        padding-bottom: 3.75rem;
        padding-top: 3.75rem
    }

    .swiper-nav {
        gap: 1.875rem
    }

    .title {
        font-size: 3.5625rem
    }

    .text-formatted h1:not(:first-child), .text-formatted h2:not(:first-child), .text-formatted h3:not(:first-child), .text-formatted h4:not(:first-child), .text-formatted h5:not(:first-child) {
        margin-top: 2.5rem
    }

    .text-formatted h1 {
        font-size: 4rem
    }

    .text-formatted h2 {
        font-size: 3.5rem
    }

    .text-formatted h3 {
        font-size: 2.5rem
    }

    .text-formatted h4 {
        font-size: 2rem
    }

    .text-formatted h5 {
        font-size: 1.5rem
    }

    .text-formatted img:not(:first-child) {
        margin-top: 1.875rem
    }

    label {
        font-size: 1.75rem
    }

    label:not(:last-child) {
        margin-bottom: .5rem
    }

    textarea.input:not(:last-child) {
        margin-bottom: 1.5rem
    }

    .menu {
        gap: 4.6875rem
    }

    .hero__title {
        font-size: 5.1875rem
    }

    .hero__title:not(:last-child) {
        margin-bottom: 2.5rem
    }

    .hero__text {
        font-size: 2.0625rem
    }

    .hero__text:not(:last-child) {
        margin-bottom: 2.5rem
    }

    .item-why-us__title {
        font-size: 2.5rem
    }

    .item-contact:not(:last-child) {
        margin-bottom: 2rem
    }

    .gallery__text:not(:last-child) {
        margin-bottom: 1.5rem
    }

    .instagram__list, .our-works__list {
        gap: 1.875rem
    }

    .instagram__list:not(:last-child) {
        margin-bottom: 2.5rem
    }
}

@media (any-hover: hover) {
    .btn:hover {
        box-shadow: inset 0 2.625rem 0 0 var(--hover);
        color: var(--white)
    }

    .swiper-button-next:hover, .swiper-button-prev:hover {
        background: var(--hover);
        border-color: var(--hover)
    }

    .swiper-button-next:hover:before, .swiper-button-prev:hover:before {
        color: var(--bg-2)
    }

    .text-formatted a:hover {
        color: var(--hover);
        text-decoration: none
    }

    .select__option:hover {
        background: var(--hover)
    }

    .footer__link:hover, .menu__link:hover {
        color: var(--hover)
    }

    .social__link:hover {
        background: var(--hover)
    }

    .options__item:hover {
        color: var(--hover)
    }

    .options__item:hover .options__icon {
        border-color: var(--hover)
    }

    .item-contact__link:hover {
        color: var(--hover)
    }

    .review__more:hover {
        color: var(--bg-2)
    }

    .gallery__item:hover img {
        transform: scale(1.03)
    }

    .bg-light .swiper-button-next:hover, .bg-light .swiper-button-prev:hover {
        background: var(--hover);
        border-color: var(--hover);
        color: var(--white)
    }

    .instagram__link:hover img, .our-works__item:hover img {
        transform: scale(1.03)
    }
}