/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

a {
    text-decoration: none !important;
}


/* РЎР›РђР™Р”Р•Р  */
/* РЎР›РђР™Р”Р•Р  */
/* РЎР›РђР™Р”Р•Р  */
/* РЎР›РђР™Р”Р•Р  */
/* РЎР›РђР™Р”Р•Р  */

.spec200 {
    color: #364135;
    font-family: 'JOST';
    font-weight: 900;
    font-size: 1.2vw;
    line-height: 1.3;
    text-shadow: 1px -1px 1px rgba(255, 255, 255, 0.25);
}

.slide img {
    max-width: 100%;
}

.slide h2,
.slide p {
    margin: 0;
}


.slider {
    position: relative;
}

.slide {
    position: absolute;
    top: 0;
    left: 0;
    margin-left: 20%;
}

.slide.disable {

    animation: slideOUT 0.75s ease-out 0s 1 normal forwards;
    display: flex;
}

.slide.active {

    animation: slideIN 0.75s ease-out 0s 1 normal forwards;
    display: flex;
}

a.prev {
    position: absolute;
    bottom: -20vw;
    left: 28.2vw;
    margin-left: 20%;
    background-color: #e0e0e0;
    box-shadow: 3px 3px 2px 0px rgba(0, 0, 0, 0.2);
    border: 1px solid #d9d9d9;
    width: 2vw;
    height: 2vw;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 55px;
    color: #191919;
    transition: 0.5s;
}

a.next {
    position: absolute;
    bottom: -20vw;
    left: 31vw;
    margin-left: 20%;
    background-color: #e0e0e0;
    box-shadow: 3px 3px 2px 0px rgba(0, 0, 0, 0.2);
    border: 1px solid #d9d9d9;
    width: 2vw;
    height: 2vw;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 55px;
    color: #191919;
    transition: 0.5s;
}

a.next:hover,
a.prev:hover {
    background-color: #f14156;
    color: white;
}

.slide {
    height: 17vw;
    width: 33vw;
    margin-left: 20%;
    border-radius: 25px;
    box-shadow: 0px 0px 15px rgb(0 0 0 / 20%);
    backdrop-filter: blur(4.8px);
    border: 1px solid rgb(221 221 221);
    background: rgb(242 242 242 / 88%);
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

.slide_left {
    width: 50%;
    display: flex;
    align-items: center;
}

.slide_right {
    width: 60%;
    padding-right: 5%;
    z-index: 55;
}

img.slide_img {
    max-width: 200%;
}

img.slide_img.ph1 {
    width: 161%;
    margin: 8% 0% 0% -54%;
}

img.slide_img.ph2 {
    width: 138%;
    margin: -37% 0% 0% -19%;
}

img.slide_img.ph3 {
    width: 140%;
    margin: 3% 0% 0% -42%;
}

img.slide_img.ph4 {
    width: 146%;
    margin: 3% 0% 0% -47%;
}

img.slide_img.ph5 {
    width: 160%;
    margin: 8% 0% 0% -51%;
}


.slide_title {
    color: #252525;
    font-family: 'JOST';
    font-weight: 900;
    font-size: 1.1vw;
    line-height: 1.1;
    text-shadow: 1px -1px 1px rgba(255, 255, 255, 0.25);
}

span.secondSlide {
    color: #252525;
    font-family: 'JOST';
    font-weight: 700;
    font-size: 0.8vw;
    text-shadow: 1px -1px 1px rgba(255, 255, 255, 0.25);
}

.slide_content {
    color: #0c0c0c;
    font-family: 'JOST';
    font-weight: 400;
    font-size: 0.9vw;
    line-height: 1.2;
    margin-top: 6%;
    margin-bottom: 6%;
    text-shadow: 1px -1px 9px rgb(255 255 255 / 55%);
}

a.slide_btn {
    font-family: 'JOST';
    font-size: 0.9vw;
    font-weight: 500;
    border-radius: 55px;
    padding: 1% 10% 2% 11%;
    transition: 0.5s;
    box-shadow: 1px 1px 15px 1px rgb(0 0 0 / 5%);
    border: solid 1px;
    margin-left: -0.5%;
    background-color: #f14156;
    border-color: #f14156;
    color: #ffffff;
}

a.slide_btn:hover {
    background-color: #ffffff;
    border-color: #b0b0b0;
    color: #4d4d4d;
}

@keyframes slideIN {
    0% {
        margin-left: 120%;
        opacity: 0;
    }

    100% {
        margin-left: 20%;
        opacity: 1;
    }
}

@keyframes slideOUT {
    0% {
        margin-left: 20%;
        opacity: 1;
    }

    100% {
        margin-left: 120%;
        opacity: 0;
    }
}

.second,
.third {
    display: none;
}

@media screen and (max-width:1024px) and (min-width:768px) {
    .slide {
        height: 25vw;
        width: 50vw;
        margin-left: 20%;
        flex-direction: row;
        justify-content: center;
        align-items: center;
    }

    .slide_title {
        font-size: 2vw;
    }

    span.secondSlide {
        font-size: 1.7vw;
    }

    .slide_content {
        font-size: 1.5vw;
    }

    a.slide_btn {
        font-size: 1.5vw;
    }

    a.prev {
        position: absolute;
        bottom: -30vw;
        left: 20vw;
        width: 4vw;
        height: 4vw;
    }

    a.next {
        position: absolute;
        bottom: -30vw;
        left: 27vw;
        width: 4vw;
        height: 4vw;
    }

    .slider {
        position: relative;
        margin-left: 9.5%;
    }
}

@media screen and (max-width:767px) {
    .slide {
        height: 55vw;
        width: 80vw;
        margin-left: 20%;
        flex-direction: row;
        justify-content: center;
        align-items: center;
    }

    .slide_title {
        font-size: 3.3vw;
    }

    span.secondSlide {
        font-size: 3vw;
    }

    .slide_content {
        font-size: 3vw;
    }

    a.slide_btn {
        font-size: 2.5vw;
    }

    a.prev {
        position: absolute;
        bottom: -64vw;
        left: 30vw;
        width: 6vw;
        height: 6vw;
    }

    a.next {
        position: absolute;
        bottom: -64vw;
        left: 42vw;
        width: 6vw;
        height: 6vw;
    }

    .slider {
        position: relative;
        margin-left: -10%;
    }

    .slide_right {
        width: 65%;
        padding-right: 5%;
        z-index: 55;
    }

    .slide_left {
        width: 35%;
        display: flex;
        align-items: center;
    }
}

/* РљРђР РЈРЎР•Р›Р¬ РРљРћРќРћРљ */
/* РљРђР РЈРЎР•Р›Р¬ РРљРћРќРћРљ */
/* РљРђР РЈРЎР•Р›Р¬ РРљРћРќРћРљ */
/* РљРђР РЈРЎР•Р›Р¬ РРљРћРќРћРљ */
/* РљРђР РЈРЎР•Р›Р¬ РРљРћРќРћРљ */
/* РљРђР РЈРЎР•Р›Р¬ РРљРћРќРћРљ */

.realSlide {
    padding: 9% 0% 15% 0%;
    margin: 15% 7% 15% 7%;
    box-shadow: 4px 4px 14px 1px rgba(0, 0, 0, 0.10);
    border-radius: 15px;
    border: solid 1px #e0e0e0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    transition: 0.5s;
    position: relative;
}

img.iconSlide {
    width: 38% !IMPORTANT;
}

.titleSlide {
    background-color: #f14156;
    padding: 0% 7% 1% 7%;
    font-family: 'Jost';
    color: white;
    font-size: 0.95vw;
    font-weight: 400;
    border-radius: 55px;
    position: absolute;
    bottom: -10%;
    width: auto;
    min-width: 70%;
    letter-spacing: 0.01em;
    text-align: center;
}

.realSlide:hover {
    border-color: #f14156;
    box-shadow: 4px 4px 19px 1px rgba(0, 0, 0, 0.15);
}

i.fa.fa-chevron-left {
    position: absolute;
    left: -2%;
    top: 36%;
    background-color: #222021;
    width: 0.9vw;
    padding: 1%;
    height: 0.9vw;
    font-size: 1vw;
    border-radius: 55px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    transition: 0.5s;
}

i.fa.fa-chevron-right {
    position: absolute;
    right: -2.5%;
    top: 36%;
    background-color: #222021;
    width: 0.9vw;
    padding: 1%;
    height: 0.9vw;
    font-size: 1vw;
    border-radius: 55px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    transition: 0.5s;
}

i.fa.fa-chevron-right:hover,
i.fa.fa-chevron-left:hover {
    background-color: f14156;
}

.change01>div>div>div>div>img {
    width: 46% !important;
}

.change01>div>div>div>div {
    padding: 7% 0% 10% 0%;
}

.change02>div>div>div>div>img {
    width: 38% !important;
}

.change02>div>div>div>div {
    padding: 9% 0% 12% 0%;
}

.change03>div>div>div>div>img {
    width: 42% !important;
}

.change03>div>div>div>div {
    padding: 8% 0% 12% 0%;
}

.marker.marker1.marker2 {
    background: url(../images/S12.svg) !important;
    background-repeat: no-repeat;
    background-size: cover !important;
    animation: pulser 2s infinite;
}

@keyframes pulser {

    0% {
        box-shadow: 0px 0px 2px 2px rgb(95%, 25%, 34%, 0.35);
    }

    50% {
        box-shadow: 0px 0px 2px 7px rgb(95%, 25%, 34%, 0.45);
    }


    100% {
        box-shadow: 0px 0px 2px 2px rgb(95%, 25%, 34%, 0.35);
    }

}

a.elementor-item.elementor-gallery-title.elementor-item-active {
    background-color: #ec4054;
    border-radius: 55px;
    color: white;
    padding: 0.5% 3% 0.6% 3%;
}


a.elementor-item.elementor-gallery-title {
    background-color: #211f20;
    border-radius: 55px;
    color: white;
    padding: 0.5% 3% 0.6% 3%;
}

a.elementor-item.elementor-gallery-title:hover {
    background-color: #ec4054;
    color: white;
}

footer.elementor-slideshow__footer.elementor-lightbox-prevent-close {
    display: none !important;
}

img.elementor-lightbox-image.elementor-lightbox-prevent-close.swiper-lazy.swiper-lazy-loaded {
    border-radius: 15px;
}

/* ============================================================
   КОМПАКТНОЕ ОКНО «ЗАБРОНИРОВАТЬ» — попап #zav (открывается Fancybox)
   Правила действуют только внутри inline-окна .fancybox-slide--html
   и только для блока #zav, галереи работ не затрагиваются.
   ============================================================ */

/* Ширина окна — задаётся в одном месте, меняйте только это число */
:root {
    --zav-width: 266px;
}

/* Рамка Fancybox вокруг окна: убираем 44px отступы, белую подложку и растягивание.
   Ширину задаём жёстко (!important), иначе браузер берёт «естественную» ширину формы —
   это сумма всех шести полей (~1140px), и окно снова становится почти во весь экран. */
.fancybox-slide--html .fancybox-content {
    width: var(--zav-width) !important;
    max-width: 92vw !important;
    height: auto !important;
    padding: 0 !important;
    background: transparent !important;
    overflow: visible !important;
}

/* То же самое — на случай, если слайд получил другой класс (страховка по :has) */
.fancybox-content:has(#zav) {
    width: var(--zav-width) !important;
    max-width: 92vw !important;
    height: auto !important;
    padding: 0 !important;
    background: transparent !important;
    overflow: visible !important;
}

/* Крестик закрытия — в углу тёмной карточки, иначе он был бы не виден */
.fancybox-slide--html .fancybox-close-small,
.fancybox-content:has(#zav) .fancybox-close-small {
    top: 4px;
    right: 4px;
    padding: 8px;
    color: #fff;
    opacity: .65;
    z-index: 10;
}

.fancybox-slide--html .fancybox-close-small:hover,
.fancybox-content:has(#zav) .fancybox-close-small:hover {
    opacity: 1;
}

/* Сама карточка окна: было на всю ширину экрана */
#zav {
    width: var(--zav-width) !important;
    max-width: 92vw !important;
    max-height: 90vh;
    overflow-y: auto;
    box-sizing: border-box;
    padding: 2px 16px 14px 16px;
    border-radius: 14px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, .45);
}

/* Ничего внутри окна не должно вылезать шире карточки */
#zav *,
#zav .e-con,
#zav .e-con-inner,
#zav .elementor-widget,
#zav .elementor-form,
#zav .elementor-form-fields-wrapper,
#zav .elementor-field-group {
    max-width: 100% !important;
    box-sizing: border-box;
}

#zav .elementor-field-group {
    width: 100% !important;
}

/* Внутренние контейнеры Elementor: было 7% по вертикали и 6% по горизонтали */
#zav .e-con {
    --margin-block-start: 0px;
    --margin-block-end: 0px;
    --padding-block-start: 0px;
    --padding-block-end: 0px;
    --padding-inline-start: 0px;
    --padding-inline-end: 0px;
    --gap: 0px;
}

#zav .e-con>.e-con-inner {
    padding-inline-start: 0;
    padding-inline-end: 0;
}

/* Отступ формы от заголовка: было 5% */
#zav .elementor-element-2805a30>.elementor-widget-container {
    margin: 0;
}

/* Заголовок «Забронировать»: было 1.4vw — зависело от ширины экрана */
#zav .elementor-element-fc0c8c1 .elementor-heading-title {
    font-size: 19px;
    line-height: 1.2;
    padding: 10px 0 2px 0;
    margin: 0;
}

/* Поля: было 10px между полями и шрифт 1.1vw / 3.5vw */
#zav .elementor-field-group {
    margin-bottom: 6px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

#zav .elementor-form-fields-wrapper {
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
}

#zav .elementor-field-group .elementor-field {
    min-height: 36px;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.25;
}

/* Кнопка «Отправить заявку!»: было 1.1vw / 2vw / 4vw */
#zav .elementor-button {
    padding: 9px 16px;
    font-size: 13px;
    letter-spacing: .02em;
}

@media (max-width: 480px) {
    :root {
        --zav-width: 92vw;
    }

    #zav {
        padding: 0 12px 12px 12px;
    }

    #zav .elementor-field-group .elementor-field {
        font-size: 14px;
    }
}