@import 'style_lodash.css';

:root {
  --color__link: #004F77;
  --color__link_hover: #0a58ca;
  --color__link--light: #CACDEB;
  --color__link_hover: #0a58ca;
  --color__primary1: #875CB9;
  --color__primary2: #ff219c;

  --header__height--mobile: 5rem;
  --header__height--desktop: 6.5rem;
}


html {margin-top: 0px !important}
html, body {min-height: 100vh;}
body {min-width: 320px; display: flex; flex-direction: column; font-family: 'Manrope', tahoma, arial, sans-serif; color: var(--color__text_regular);}
#header, #footer {flex-shrink: 0}


#wpadminbar {width: 32px !important; min-width: 0px !important; opacity: .1; overflow: hidden; transition: .25s opacity}
#wpadminbar:hover {width: 100% !important; opacity: 1;}
#wpadminbar .code_editor-icon:before {content: '\f119'; top: 3px;}


img {display: inline-block; max-width: 100%; max-height: 100%; height: auto}
@media (max-width: 767px) {
  img.alignleft, img.alignright {margin: 1.5rem 0}
}
@media (min-width: 768px) {
  img.alignleft {float: left; margin: 0 1.5rem 1.5rem 0}
  img.alignright {float: right; margin: 0 0 1.5rem 1.5rem}
  img.aligncenter {float: none; margin: 0 auto 1.5rem; display: block;}
}



a {color: var(--color__link)}
.link, .btn-link {color: var(--color__link) !important}
a:hover {color: var(--color__link_hover)}
.link:hover, .btn-link:hover, .stretched_link__wrap:hover .link {color: var(--color__link_hover) !important}
.color-primary {color: var(--color__link) !important}


.btn-outline-primary {color: var(--color__primary1); border-color: var(--color__primary1);}
.btn-check:focus+.btn, .btn:focus, .btn-outline-primary:hover, .btn-check:active+.btn-outline-primary, .btn-check:checked+.btn-outline-primary, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show, .btn-outline-primary:active {color: #fff; background-color: var(--color__primary2); border-color: var(--color__primary2);}


.btn {line-height: 1.1em; display: inline-flex}
.btn.text-center {justify-content: center;}
.btn:not(.btn-sm) {min-height: 2.5rem; line-height: 1.1em; align-items: center}
.btn.w-100 {justify-content: center;}
.btn.ttu {font-size: .85rem; font-weight: 500; text-transform: uppercase; letter-spacing: .05em;}
.btn-lg.ttu {font-size: 1.2rem;}
.btn.btn-lg {padding: .75rem 1.5rem; line-height: 1.25; min-height: 3rem}


.btn, .form-control {-webkit-appearance: none !important;}
label, .label {text-transform: uppercase; font-weight: 500; color: var(--bs-gray); font-size: .85rem; letter-spacing: .0325em; margin-bottom: .5rem}
.form-floating>label {font-weight: 400; font-size: 1rem; margin-bottom: 0; text-transform: none; letter-spacing: 0;}
.form-floating>.form-control:focus~label, .form-floating>.form-control:not(:placeholder-shown)~label, .form-floating>.form-select~label {font-weight: 500; text-transform: uppercase; font-size: .85rem; letter-spacing: 0.05em;}
.form-group + .form-group {margin-top: 1rem}
.form-control {font-size: 15px; min-height: 3rem}


.lead {font-weight: 400}

.page__content ol:not([class]), .page__content ul:not([class]) {padding-left: 1em}
.page__content ol:not([class]) li + li, .page__content ul:not([class]) li + li {margin-top: .65em}


.toggler_btn {padding: .5rem; position: relative}
.toggler_btn, *[class^="toggle_icon"] {display: flex; justify-content: center; align-items: center; width: 3rem; height: 3rem; padding: .5rem}
*[class^="toggle_icon"] {transition: .5s all; position: absolute; top: calc(50% - 1.5rem); left: calc(50% - 1.5rem); opacity: 0}
*[class^="toggle_icon"] .material-icons {font-size: 2rem}
.toggler_btn:not(.toggled) .toggle_icon--default {opacity: 1}
.toggler_btn.toggled .toggle_icon--toggled {opacity: 1}


._section {padding: 2rem 0}
@media (max-width: 991px) {
  ._section {padding: 1rem 0}
}





.mainnav__inner {display: flex; justify-content: space-between; align-items: center;}
.mainnav_navbar__nav {padding: 0}
.site_logo__wrap {flex-shrink: 0;}
.site_logo {transition: .5s opacity;}
.site_logo + .site_logo__text {margin-left: 1rem}
.site_logo__link {display: flex; justify-content: center; align-items: center;}
.site_logo__link:hover .site_logo {opacity: .65}











/*.container {max-width: 100vw; padding: 0 4rem}*/

form.sending {position: relative; pointer-events: none;}
form.sending > * {opacity: .25}
form.sending .form__spinner {position: absolute; left: calc(50% - 1rem); top: calc(50% - 1rem); opacity: 1 !important; border-right-color: transparent !important; border-color: #f00; }



.notifications__wrap {display: grid; grid-gap: 1rem; position: fixed; z-index: 1000; top: 0; left: calc(50% - 20rem); max-width: 40rem; width: 100%; justify-content: center; padding: 1rem}
.notifications__wrap > * {position: relative; top: -2rem; transition: .5s all; opacity: 0; margin: 0}
.notifications__wrap > *.show {top:0; opacity: 1}
.notifications__wrap > *.show:hover {opacity: .85}
@media (max-width: 767px) {
  .notifications__wrap {left: 0; right: 0}
}


.delayLoad:not(.loaded) {padding: 2rem; background: rgba(255,255,255,.05); border-radius: 1rem}


#header {font-size: 1.25rem; display: flex; justify-content: center; align-items: center; position: fixed; top: 0; left: 0; right: 0; z-index: 100;  background: rgba(255,255,255,.65); backdrop-filter: blur(4rem); box-shadow: 0 .5rem 2rem rgba(0,0,0,.2)}
#header [class^="navbar_area--"] {display: flex; align-items: center;}
#header .navbar_area--right {justify-content: flex-end;}
#header .navbar_area--center {justify-content: center;}
#header .navbar-collapse {flex-grow: 0}
#header .navbar .nav-link {padding-left: 1rem; padding-right: 1rem;}
.navbar-brand {font-weight: 700; font-size: 1.5rem; margin-right: 0}
#header .navbar {justify-content: space-between; display: grid; grid-gap: 1rem}
@media (max-width: 991px) {
  #header .navbar {grid-template-columns: 1fr 1fr}
}
@media (min-width: 992px) {
  #header {height: var(--header__height--desktop)}
  #header .navbar {grid-template-columns: 1fr 2fr 1fr; grid-gap: 1.5rem}
}



#footer {text-align: center; background: #212121; color: #fff; padding: 4rem 0}
#footer > .container {display: flex; flex-direction: column; align-items: center; justify-content: center;}
#footer > .container > * + * {margin-top: 1rem}
#footer a {color: #fff; opacity: .6; transition: .5s all;}
#footer a:hover {opacity: 1}
#footer .site_logo__link {opacity: 1}
#footer .site_logo {width: 4rem}


.section {position: relative; padding-top: 4rem; padding-bottom: 4rem}
.section__title {font-size: 3rem; font-weight: 700; margin-bottom: 2rem; text-align: center}
.section__title.mini {font-size: 2rem;}
.section__descr {font-size: 1.25rem; font-weight: 500; text-align: center;}
@media (max-width: 991px) {
  section.section {padding: 2rem 0}
}



.contactsGrid {display: inline-flex; align-items: center;}
.contactsGrid > * + * {margin-left: 1rem}
.contactsGrid ._icon {width: 2rem; height: 2rem; flex-shrink: 0;}
.contact.phone {flex-shrink: 0; font-weight: 700; text-decoration: none;}
.contact.phone > * {display: none}
.phone {white-space: nowrap; font-weight: 600}
@media (max-width: 991px) {
  section.section {padding: 2rem 0}
  .contact.phone {width: 2rem; height: 2rem}
  .contact.phone .phone__icon {display: inline-block; color: var(--color__primary1);}
  .contact.phone .phone__icon > * {font-size: 2rem; line-height: 1em}
}
@media (min-width: 992px) {
  .contact.phone .phone__text {display: inline-block}
}


.section__intro {padding: 4rem 0; background: #000; color: #fff}
#intro_bg {position: absolute; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; object-fit: cover; opacity: 1; z-index: 1; pointer-events: none;}
.intro_text__wrap {position: relative; z-index: 10; display: flex; flex-direction: column; text-align: center; justify-content: center;}
.intro_title {font-size: 3rem; font-weight: 700}
.page_subtitle {color: var(--color__gray_dark); font-size: 1.75rem}
@media (min-width: 992px) {
  ._flyingHeader__offset {padding-top: var(--header__height--desktop)}
  .section__intro {height: 80vh; display: flex; flex-direction: column; justify-content: center;}
  .container {max-width: 80vw}
  .container.inner {max-width: 70vw}
}





.servicesSelector {width: 10rem}


.servicesList {display: grid; grid-gap: 1.5rem; grid-template-columns: repeat(3, 1fr)}
.servicesItem {display: flex; flex-direction: column; text-align: center; align-content: center; position: relative;}
.serviceItemTitle {margin: .5rem auto .25rem; font-weight: 600; transition: .5s all; line-height: 1.1em;}
.serviceItemPrice {font-weight: 600; font-size: .85rem; color: var(--bs-gray)}
.serviceItemImg {overflow: hidden; transition: 1s all;}
.serviceItemImg img {object-fit: cover; transition: 1s all;}
.serviceItemImg:hover img {transform: scale(1.1)}
.serviceItemImg:hover {box-shadow: 0 .5rem 3rem rgba(0,0,0,.33)}
.servicesItem:hover .serviceItemTitle {color: var(--color__primary2)}
@media (min-width: 992px) {
  .servicesList {grid-template-columns: repeat(4, 1fr)}
}



.servicesSidebar__group.info {font-size: .85rem}

.servicesSidebarGroup__prices {padding-left: 1em}
.servicesSidebarGroup__title {font-weight: 600}

.section__about .section__descr strong {color: #875CB9}



.section__benefits {background: #f1f2f4}
.section__benefits ._benefits_list {grid-gap: 3rem 1.5rem;}
.section__benefits ._benefit ._icon {transition: .5s all; position: relative}
.section__benefits ._benefit ._icon > *, .section__benefits ._benefit ._benefit__title {position: relative; z-index: 10}
.section__benefits ._benefit:hover, .section__benefits ._benefit:hover ._icon {color: #ff219c}
.section__benefits ._benefit ._icon:after {background: #fff; width: 0; height: 0; position: absolute; content: ''; top: 0; left: 50%; z-index: 1; border-radius: 100%; opacity: 0; transition: .5s all}
.section__benefits ._benefit:hover ._icon:after {width: 8rem; height: 8rem; top: 0; left: calc(50% - 4rem); opacity: 1}
._benefit ._icon {color: #875CB9}
._benefit__title {font-size: .85rem; line-height: 1.1rem}
@media (min-width: 992px) {
  ._benefits_list {grid-template-columns: repeat(4, 1fr); grid-auto-flow: row;}
}



.clientItem {position: relative}
.clientItem .title {margin: .5rem auto 0; text-align: center}
.clientItem ._gallery__img {background: #875CB9}
.clientItem ._gallery__img:hover {opacity: .85}


.clients__moreText {margin: 2rem auto 0; text-align: center; font-size: 1.5rem}



.form__wrap {max-width: 30rem; width: 100%}
.form__wrap .form-group {width: 100%}
.form-group + .form-group {margin-top: 1rem}
.btn {transition: .5s color, .5s background-color, .5s border-color}
.btn-primary {background-color: var(--color__primary1); border-color: var(--color__primary1);}
.btn-primary:hover, .btn-check:focus+.btn-primary, .btn-primary:focus, .btn-check:active+.btn-primary, .btn-check:checked+.btn-primary, .btn-primary.active, .btn-primary:active, .show>.btn-primary.dropdown-toggle {background-color: var(--color__primary2); border-color: var(--color__primary2);}

.btn-primary2 {background-color: var(--color__primary2); color: #fff; border-color: var(--color__primary2);}
.btn-primary2:hover, .btn-check:focus+.btn-primary2, .btn-primary2:focus, .btn-check:active+.btn-primary2, .btn-check:checked+.btn-primary2, .btn-primary2.active, .btn-primary2:active, .show>.btn-primary2.dropdown-toggle {background-color: var(--color__primary1); border-color: var(--color__primary1); color: #fff}




#header .navbar_area--center {display: none;}
.section__intro .btns__wrap {display: grid; grid-gap: 1.5rem; margin-top: 1rem}
.section__intro .intro_title, .section__intro .page_subtitle {text-shadow: 0 .125rem .5rem rgba(0,0,0,.5)}
@media(max-width: 991px) {
  .section__title {font-size: 2rem}
  ._benefits_list {grid-template-columns: repeat(3, 1fr); grid-auto-flow: initial;}
  .servicesSidebar__group.info, .servicesSidebar__title {text-align: center}
  .servicesSidebar__title {margin-top: 2rem}
  .navbar-brand {white-space: normal; line-height: 1.1}
  .site_logo {width: 4rem; height: 4rem}
  .site_logo__text {font-size: 1.25rem}
  .intro_title {font-size: 2rem}
  .page_subtitle {font-size: 1.5rem; line-height: 1.2em}
  #header {height: var(--header__height--mobile)}
  ._flyingHeader__offset {padding-top: calc(var(--header__height--mobile) + 2rem) !important}
  .section__intro._flyingHeader__offset {padding-top: calc(var(--header__height--mobile) + 4rem) !important}
  #header .navbar_area--center {display: none;}
}
@media(min-width: 576px) AND (max-width: 991px) {
  .servicesSidebar .servicesSidebar__groups {display: grid; grid-gap: 1.5rem; grid-template-columns: 1fr 1fr; margin-top: 1rem}
}

@media(max-width: 575px) {
  .servicesList {grid-template-columns: repeat(2, 1fr)}
  .section__benefits ._benefits_list {grid-template-columns: repeat(3, 1fr); grid-gap: .75rem}
  .section__benefits ._benefit__title {font-size: .75rem}
  .section__benefits ._benefit ._icon {font-size: 3rem; width: 3rem; height: 3rem;}
  .section__clients ._gallery {grid-template-columns: 1fr;}
  .section__clients ._gallery .clientItem {flex-direction: row; align-items: center; display: flex}
  .section__clients ._gallery ._gallery__item {width: 10rem; flex-shrink: 0;}
  .section__clients ._gallery .title {text-align: left; padding-left: 1rem; font-size: 1.1rem; font-weight: 600; line-height: 1.1;}
  .servicesSidebar .servicesSidebar__groups {display: flex; flex-direction: column; align-items: center; margin-top: 1rem}
  .site_logo, .site_logo__link {flex-shrink: 0;}
  .site_logo__text {display: none}
  .intro_title {font-size: 1.75rem}
  .page_subtitle {font-size: 1.25rem}
}

@media(max-width: 480px) {
  .servicesList {grid-template-columns: 1fr}
  .servicesItem {flex-direction: row; align-items: center;}
  .servicesItem .serviceItemImg {width: 10rem; height: 10rem; flex-shrink: 0;}
  .servicesItem .serviceItem__text {text-align: left; padding-left: 1rem; }
  .servicesItem .serviceItemTitle {font-size: 1.1rem; font-weight: 600; line-height: 1.1;}
  .intro_title {font-size: 1.75rem}
  .servicesItem .serviceItemImg, .section__clients ._gallery ._gallery__item {width: 7rem; height: 7rem}
  .page_subtitle {font-size: 1.1rem}
}

@media(max-width: 374px) {
  .intro_title, .section__title {font-size: 1.5rem}
  .page_subtitle, .section__descr {font-size: 1.1rem}
  .section__clients ._gallery ._gallery__item {width: 7rem;}
  .section__clients ._gallery .title {font-size: .85rem}
}

@media(min-width: 992px) {
  .servicesSidebar__group {margin-top: 2rem}
  .site_logo {min-width: 5rem}
  #header .navbar_area--center {display: flex; justify-content: center;}
  .section__intro .btns__wrap .servicesSelector {display: none}
}


.individualOrder__title {font-weight: 600; color: var(--color__primary2)}


.menu_items__list {display: grid; grid-gap: 1rem}
.menu_item {display: grid; grid-template-columns: 10rem 1fr; align-items: center; grid-gap: 1.5rem;}
.menu_item__total {font-size: 1rem; font-weight: 600; color: var(--bs-gray); white-space: nowrap;}
.menu_item__title {font-size: 1.25rem; font-weight: 600}
.menu_item__photo, .menu_item__photoWrap, .menu_item__title {transition: 1s all}
.menu_item__photo, .menu_item__photoWrap {width: 10rem; height: 10rem}
.menu_item__photoWrap {overflow: hidden; border-radius: .5rem;}
.menu_item__photo {object-fit: cover; }
.menu_item:hover .menu_item__photo {transform: scale(1.1); opacity: .9}
.menu_item:hover .menu_item__title {color: var(--color__primary2)}
.menu_item:hover .menu_item__photoWrap {box-shadow: 0 .5rem 2rem rgba(0,0,0,.5);}
@media(min-width: 992px) {
  .menu_items__list {grid-template-columns: 1fr 1fr; grid-gap: 1rem 3rem}
}


.menu_common {text-align: center; font-size: 1.25rem; display: grid; grid-gap: .5rem; margin-top: 2rem}
.menu_common .val {font-weight: 600; color: var(--color__primary1)}


.reviews__list {display: grid; grid-gap: 1.5rem}
.reviewCard__footer {border-top: 0; font-size: .85rem; display: flex; color: var(--bs-gray); background: transparent}
.reviewCard__footer .review__date {padding-right: .5rem}
.reviewCard__footer .review__author {margin-left: auto; text-align: right}
.review__title {font-size: 1.1rem; font-weight: 600; color: var(--color__primary1)}
.review__text {font-size: .85rem}
@media (min-width: 992px) {
  .reviews__list {grid-template-columns: repeat(3, 1fr);}
}



.starsRating__list {display: inline-grid; grid-gap: .5rem; grid-template-columns: repeat(5, 1fr);}
.reviewCard .starsRating__list {margin: .25rem 0 .75rem}
.starRating {display: flex; font-size: 1.25rem; width: 1em; height: 1em; justify-content: center; align-items: center; color: #999}
.starRating.active {color: #ffcc00}



.menuCommon__wrap {display: grid; grid-gap: 1.5rem}
.menuCommon__label {font-size: 1rem; font-weight: 600;}
.menuCommon__data {font-size: 1.5rem}
.menuCommon__item.included_services .menuCommon__data {font-size: 1rem; display: grid; grid-gap: .5rem}
.menuCommon__item.included_services .menuCommon__data i {color: var(--color__primary2); padding-right: .5rem}
.menuCommon__item.included_services .menuCommon__data .badge {font-size: .85rem; white-space: normal; width: 100%}
.menuCommon__item.included_services .menuCommon__data .badge i {color: #fff; padding-right: .5rem}
.menuCommon__item.weight__per_person .menuCommon__data .lbl {font-size: .85rem; font-weight: 600}
.menuCommon__item .menuCommon__data .val {color: var(--color__primary2); font-weight: 600}
@media (max-width: 991px) {
  .menuCommon__wrap {grid-template-columns: 1fr 1fr; margin-bottom: 2rem}
}
@media (max-width: 767px) {
  .menuCommon__wrap {text-align: center; grid-template-columns: 1fr}
}
@media (min-width: 992px) {
  .menuCommon__wrap {grid-auto-flow: column; margin-bottom: 3rem; grid-auto-columns: minmax(0, 1fr);}
}



.individualOrderText__wrap {display: grid; grid-gap: 1rem; text-align: center}


.individualOrder__list {display: grid; grid-gap: 1.5rem; text-align: center;}
@media (min-width: 992px) {
  .individualOrder__list {grid-auto-flow: column; grid-gap: 3rem;  grid-auto-columns: minmax(0, 1fr)}
}



.numbers ._benefit {text-align: center}
._benefits_list.numbers {margin-bottom: 2rem}
.numbers .benefit__number {font-size: 3rem; color: var(--color__primary2); line-height: .65}
.numbers .benefit__val {font-size: 1.25rem; color: var(--color__primary2); font-weight: 600; line-height: 1; white-space: nowrap;}
.numbers .benefit__textMore {color: var(--bs-gray)}
@media (max-width: 767px) {
  .numbers .benefit__val {font-size: 1rem}
  .numbers .benefit__number {font-size: 2rem}
}
@media (min-width: 992px) {
  ._benefits_list.numbers {grid-template-columns: repeat(3, 1fr); margin-bottom: 4rem;}
  .numbers .benefit__number {font-size: 6rem}
}


.individualOrderText__text {font-size: 1.25rem}



.menusCollections__list {display: grid; grid-gap: 1.5rem}
.menuCollection__title {font-size: 1.1rem}
.menuCollection__price {font-size: 1.25rem; font-weight: bold}
.menuCollection__price .badge {font-size: .85rem; font-weight: bold}
.menuCollection__photoWrap {margin-bottom: .5rem}
.menuCollection__footer {display: flex;}
.menuCollection__footer .menuCollection__liked {margin-left: auto; padding-left: .5rem; text-align: right;}
.menuCollection__liked {color: var(--bs-green); font-weight: bold }
.menuCollection .menuCollection__title {color: var(--color__primary1) !important; transition: .5s color; font-weight: bold}
.menuCollection:hover .menuCollection__title {color: var(--color__primary2) !important}
.menuCollection .sendOrderBtn {position: relative; text-align: center; z-index: 10; margin-top: .5rem}
@media (max-width: 991px) {
  .menusCollections__list {grid-template-columns: repeat(2, 1fr); grid-gap: 2rem 1.5rem}
}
@media (max-width: 575px) {
  .menusCollections__list {grid-template-columns: repeat(1, 1fr); grid-gap: 3rem 1.5rem}
}
@media (min-width: 992px) {
  .menusCollections__list {grid-template-columns: repeat(3, 1fr); grid-gap: 2rem 1.5rem}
}



.sendOrderBtn__wrap {margin: 2rem auto; text-align: center}


.badge.bg-warning {color: #222;}
.saleText__wrap {text-align: center;}
.section__intro .saleText__wrap {font-size: 1.25rem;}


.section__menu .saleText__wrap {font-size: 1.25rem; padding: 1rem; color: var(--color__primary1);}
.section__menu .section__title + .saleText__wrap {margin: -2rem auto 0;}
.section__menu .section__title + .saleText__wrap + .sendOrderBtn__wrap {margin-bottom: 3rem;}


.menuCommon__data.oldprice__per_person .val {font-size: 1rem; color: var(--bs-gray) ; text-decoration: line-through;}
.menuCommon__data.oldprice__per_person .sale_percent.badge {font-size: .85rem}