/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 3.5.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/*
Magnolia Spa theme stylesheets:
    1 - Normalize
    2 - Header & Footer
    3 - Atomic classes 
*/

/******** 1 - Normalize ********/
body *,
body *:focus,
body *:focus-visible {
    outline: none;
}
h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child,
h5:last-child,
h6:last-child,
p:last-child,
figure,
blockquote:last-child,
table:last-child,
.site-main ul:not([class]):last-child,
.site-main ol:not([class]):last-child,
.site-main ul:not([class]) li:last-child,
.site-main ol:not([class]) li:last-child,
.elementor-popup-modal ul:not([class]):last-child,
.elementor-popup-modal ol:not([class]):last-child {
    margin: 0;
}
ul,
ol,
li > ul,
li > ol {
    margin: 0;
    padding: 0;
}
ul[class],
ol[class] {
    list-style-type: none;
}
.site-main ul:not([class]),
.site-main ol:not([class]),
.elementor-popup-modal ul:not([class]),
.elementor-popup-modal ol:not([class]) {
    margin: 0 0 var(--system-offset-sm);
    padding: 0 0 0 var(--system-offset-sm);
}
.site-main ul:not([class]) li,
.site-main ol:not([class]) li {
    margin-bottom: var(--system-offset-xs);
}
.site-main ul:not([class]) li::marker {
    color: var(--color-primary);
}
p {
    margin: 0 0 var(--system-offset-sm);
}
a,
button,
input,
textarea {
    display: inline-block;
    transition: all .3s ease;
}
button {
    cursor: pointer;
}
textarea {
    display: block;
    resize: none;
    overflow: auto;
    scrollbar-width: thin;
    scrollbar-color: auto;
}
textarea::-webkit-scrollbar {
    width: 2px;
}
/*img {
    display: inline-block;
    width: auto;
    max-width: 100%;
    height: auto;
    border: 0;
}*/
img::selection {
    background: transparent !important;
}
table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}
th,
td {
    border-bottom: 1px solid rgba(42, 30, 27, .3);
    padding: var(--system-offset-xs);
    text-align: left;
    vertical-align: top;
}
.layout-light th,
.layout-light td {
    border-color: rgba(255, 255, 255, .1);
}
th:first-child,
td:first-child {
    padding-left: 0;
}
th:last-child,
td:last-child {
    padding-right: 0;
}
iframe,
embed,
object {
    max-width: 100%;
    border: 0;
}
iframe {
    scrollbar-width: thin;
}
iframe::-webkit-scrollbar {
    width: 2px;
}

/******** 2 - Header & Footer ********/
.elementor-location-header > .e-flexbox-base  {
    transition: all 0.3s ease;
}
.elementor-location-header.fixed > .e-flexbox-base:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
}
.elementor-location-header .elementor-widget-theme-site-logo + .elementor-widget-image,
.elementor-location-header .elementor-widget-theme-site-logo,
.elementor-location-header .elementor-menu-toggle svg {
    transition: all .3s ease;
}
.elementor-location-header .elementor-widget-theme-site-logo + .elementor-widget-image,
.elementor-location-header.fixed .elementor-widget-theme-site-logo {
    position: absolute;
    width: 100%;
    opacity: 0;
    visibility: hidden;
}
.elementor-location-header.fixed .elementor-widget-theme-site-logo + .elementor-widget-image {
    position: static;
    opacity: 1;
    visibility: visible;
}
.elementor-location-header.fixed > .e-flexbox-base {
    /*background-color: rgba(255, 255, 255, .6);*/
    background-color: rgba(79, 63, 50, .4);
    box-shadow: 0 6px 20px 0 rgba(25, 25, 25, .1);
    padding-block: 1rem;
}
.elementor-location-header.fixed > .e-flexbox-base:before {
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
}
/*.elementor-location-header.fixed .elementor-nav-menu--main .elementor-item:not(:hover),
.elementor-location-header.fixed .elementor-nav-menu--main li:not(.current-menu-item) .elementor-item,
.elementor-location-header.fixed .elementor-nav-menu--main li:not(.current-menu-ancestor) .elementor-item,
.elementor-location-header.fixed .elementor-icon-list-item:not(:hover) .elementor-icon-list-text {
    color: var(--color-text);
}*/
.elementor-location-header.fixed .elementor-menu-toggle:not(:hover) svg {
    fill: var(--color-text) !important;
}

/******** 3 - Atomic classes ********/
.elementor-popup-modal.full-screen-popup .dialog-message {
    align-items: stretch !important;
    width: inherit !important;
    max-height: 100dvh;
    overflow: hidden;
}
.elementor-popup-modal.full-screen-popup .elementor-location-popup > .e-flexbox-base {
    height: 100%;
}
.elementor-popup-modal.full-screen-popup .popup-content-box {
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: auto;
}
.elementor-popup-modal.full-screen-popup .popup-content-box::-webkit-scrollbar {
    width: 2px;
}
.elementor-popup-modal h3.e-heading-base:first-child:after,
.elementor-popup-modal .elementor-widget-icon-box:first-child .elementor-icon-box-title:after {
    content: "";
    display: block;
    width: 9.375rem;
    height: .25rem;
    margin: 1.5rem 0 .625rem;
    background-color: var(--color-primary);
}
.elementor-popup-modal .elementor-widget-icon-box:first-child .elementor-icon-box-title:after {
    margin: .625rem 0 0;
    background-color: var(--color-secondary);
}
.elementor-popup-modal table th:nth-child(2) {
    width: 25%;
}
.dialog-close-button {
    filter: brightness(0) invert(1);
}
body.admin-bar .e-flexbox-base.flexbox-full-height {
    height: calc(var(--size-full-dvh) - var(--wp-admin--admin-bar--height));
}
.e-flexbox-base.flexbox-full-height .elementor-widget-slides,
.e-flexbox-base.flexbox-full-height .elementor-slides-wrapper,
.e-flexbox-base.flexbox-full-height .elementor-slides-wrapper .swiper-slide,
.e-flexbox-base.flexbox-full-height .elementor-widget-n-carousel,
.e-flexbox-base.flexbox-full-height .e-n-carousel {
    height: inherit;
    min-height: inherit;
}
.e-flexbox-base.flexbox-full-height .elementor-widget-n-carousel .e-n-carousel > .swiper-wrapper > .swiper-slide > .e-con {
    padding: 0;
}
.elementor-widget-n-carousel .e-con-inner {
    z-index: 1;
}
.elementor .large-text:after,
.elementor .category-box > div:after,
.elementor .heading-h2-alt.e-heading-base:after {
    content: "";
    display: block;
    width: 9.375rem;
    height: .625rem;
    margin: 0 auto;
    background-color: var(--color-primary);
}
.elementor .heading-h2-alt.e-heading-base:after {
    margin-top: var(--system-offset-mixed);
    background-color: var(--color-accent);
}
.elementor .category-box > div {
    margin-bottom: -9.375rem;
}
.elementor .category-box > div:after {
    height: 0;
    background-color: var(--color-accent);
    transition: all .3s linear;
}
.elementor .category-box:hover > div:after {
    margin-top: 2rem;
    height: .625rem;
}
.elementor .category-box .e-heading-base {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 5.5rem;
}
.custom-content-image.e-flexbox-base {
    overflow: clip;
}
.custom-content-image.e-flexbox-base > .e-grid-base {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
}
.custom-content-image.e-flexbox-base > .e-grid-base > .e-flexbox-base:first-child {
    padding: 9.375rem 15rem 12rem var(--spacing-vertical-desk);
}
.custom-content-image.e-flexbox-base > .e-grid-base > .e-flexbox-base:last-child {
    padding: 7.188rem var(--spacing-vertical-desk) 7.188rem 0;
}
.custom-content-image.e-flexbox-base > .e-grid-base > .e-flexbox-base:first-child:before,
.custom-content-image.reverse-direct.e-flexbox-base > .e-grid-base > .e-flexbox-base:last-child:before {
    content: "";
    position: absolute;
    inset-block: 0;
    right: 0;
    left: auto;
    width: 100vw;
    z-index: -1;
}
.custom-content-image.bg-dark.e-flexbox-base {
    background: url(https://magnolia-spa.pages.dev/wp-content/themes/hello-theme-child/images/bg-logo_1.png) no-repeat left bottom;
}
.custom-content-image.reverse-direct.bg-dark.e-flexbox-base {
    background-position: right bottom;
}
.custom-content-image.bg-dark.e-flexbox-base > .e-grid-base > .e-flexbox-base:first-child:before,
.custom-content-image.reverse-direct.e-flexbox-base > .e-grid-base > .e-flexbox-base:last-child:before {
    background-color: var(--color-secondary);
}
.custom-content-image.bg-light.e-flexbox-base > .e-grid-base > .e-flexbox-base:first-child:before,
.custom-content-image.reverse-direct.bg-light.e-flexbox-base > .e-grid-base > .e-flexbox-base:last-child:before {
    background: url(https://magnolia-spa.pages.dev/wp-content/themes/hello-theme-child/images/bg-layer.png) no-repeat center;
    background-size: cover;
}
.custom-content-image.e-flexbox-base .elementor-widget-image:only-child img {
    display: block;
    width: calc(100% + 9.375rem);
    max-width: calc(100% + 9.375rem);
    height: 100%;
    object-fit: cover;
    margin-left: -9.375rem;
}
.custom-content-image.reverse-direct.e-flexbox-base > .e-grid-base {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
}
.custom-content-image.reverse-direct.e-flexbox-base > .e-grid-base > .e-flexbox-base:first-child {
    padding: 7.188rem 0 7.188rem var(--spacing-vertical-desk);
}
.custom-content-image.reverse-direct.e-flexbox-base > .e-grid-base > .e-flexbox-base:first-child:before {
    content: none;
}
.custom-content-image.reverse-direct.e-flexbox-base > .e-grid-base > .e-flexbox-base:last-child {
    padding: 9.375rem var(--spacing-vertical-desk) 15rem 15rem;
}
.custom-content-image.reverse-direct.e-flexbox-base > .e-grid-base > .e-flexbox-base:last-child:before {
    right: auto;
    left: 0;
}
.custom-content-image.reverse-direct.e-flexbox-base .elementor-widget-image:only-child img {
    margin-left: 0;
}
.elementor .service-box {
    appearance: none;
    -webkit-appearance: none;

    font: inherit;
    color: inherit;
    text-align: inherit;
    text-transform: none;
    letter-spacing: normal;

    border: 0;
    padding: 0;
}
.elementor .service-box .btn-more {
    display: block;
    margin-bottom: -34px;
    transition: all .3s linear;
    opacity: 0;
}
.elementor .service-box:hover .btn-more {
    margin-bottom: 0;
    opacity: 1;
}
.elementor .btn-more:after {
    content: url('https://magnolia-spa.pages.dev/wp-content/themes/hello-theme-child/images/arrow-more.svg');
    position: relative;
    top: 2px;
    margin-left: 8px;
}
.custom-gallery.e-grid-base button:after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(38, 10, 10, .3);
    transition: background .3s linear;
}
.custom-gallery.e-grid-base .elementor-widget-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: opacity .3s linear;
    opacity: 0;
    visibility: hidden;
    z-index: 1;
}
.custom-gallery.e-grid-base > div button {
    width: 100%;
    height: 100%;
}
.custom-gallery.e-grid-base > div:hover button:after {
    background-color: rgba(38, 10, 10, .6);
}
.custom-gallery.e-grid-base > div:hover .elementor-widget-icon {
    opacity: 1;
    visibility: visible;
}
.custom-contact-box.elementor-widget-icon-box .elementor-icon-box-icon {
    margin-top: .5rem;
}
.custom-contact-box.elementor-widget-icon-box .elementor-icon-box-title {
    margin-top: 0;
}
.custom-contact-box.elementor-widget-icon-box a {
    color: inherit;
}
.custom-contact-box.elementor-widget-icon-box a:hover {
    color: var(--color-accent);
}
.elementor-location-footer .custom-contact-box.elementor-widget-icon-box a:hover {
    color: var(--color-primary);
}
.elementor-form .elementor-field-group .elementor-field-textual {
    box-shadow: 0 1px 4px 0 rgba(42, 30, 27, .25);
}
.elementor-form .elementor-field-group .elementor-field-textual::-webkit-input-placeholder {
    opacity: 1;
}
.elementor-form .elementor-field-group .elementor-field-textual::-moz-placeholder {
    opacity: 1;
}
.elementor-form .elementor-field-group .elementor-field-textual:-moz-placeholder {
    opacity: 1;
}
.elementor-form .elementor-field-group .elementor-field-textual:-ms-input-placeholder {
    opacity: 1;
}
.elementor-form .elementor-field-group textarea {
    min-height: 18.75rem;
}
.elementor-form .elementor-field-type-submit button {
    min-width: var(--btn-min-wh);
}
.elementor-form .elementor-field-type-submit button:hover {
    color: var(--color-primary) !important;
}
.elementor-element {
    scroll-margin-top: 81px;
}  
@media all and (max-width: 1560px) {
    .e-flexbox-base.flexbox-full-height .elementor-widget-n-carousel .elementor-swiper-button-prev {
        left: var(--spacing-vertical-desk);
    }
    .e-flexbox-base.flexbox-full-height .elementor-widget-n-carousel .elementor-swiper-button-next {
        right: var(--spacing-vertical-desk);
    }
}

@media all and (max-width: 1366px) {
    .elementor .category-box > div {
        margin-bottom: -7.125rem;
    }
    .custom-content-image.bg-dark.e-flexbox-base {
        background-size: 18rem auto;
    }
    .custom-content-image.e-flexbox-base > .e-grid-base > .e-flexbox-base:first-child {
        padding: var(--spacing-vertical-laptop) 9.5rem var(--spacing-vertical-laptop) var(--spacing-vertical-laptop);
    }
    .custom-content-image.e-flexbox-base > .e-grid-base > .e-flexbox-base:last-child {
        padding: 7.188rem var(--spacing-vertical-laptop) 7.188rem 0;
    }
    .custom-content-image.e-flexbox-base .elementor-widget-image:only-child img {
        width: calc(100% + 6.25rem);
        max-width: calc(100% + 6.25rem);
        margin-left: -6.25rem;
    }
    .custom-content-image.reverse-direct.e-flexbox-base > .e-grid-base > .e-flexbox-base:first-child {
        padding: 7.188rem 0 7.188rem var(--spacing-vertical-laptop);
    }
    .custom-content-image.reverse-direct.e-flexbox-base > .e-grid-base > .e-flexbox-base:last-child {
        padding: var(--spacing-vertical-laptop) var(--spacing-vertical-laptop) var(--spacing-vertical-laptop) 9.5rem;
    }
}

@media all and (max-width: 1199px) {
    .elementor-location-header > .e-flexbox-base > .e-flexbox-base:last-child,
    .elementor-location-header .elementor-nav-menu--toggle {
        position: static;
    }
    .elementor-location-header .elementor-menu-toggle {
        border-radius: 0;
        padding: 0;
    }
    .elementor-location-header .elementor-nav-menu--dropdown {
        top: 100% !important;
        left: 0 !important;
        margin: 0;
        -webkit-backdrop-filter: blur(20px);
        backdrop-filter: blur(20px);
    }
    .e-flexbox-base.flexbox-full-height .elementor-widget-n-carousel .elementor-swiper-button-prev {
        left: var(--system-offset-xs);
    }
    .e-flexbox-base.flexbox-full-height .elementor-widget-n-carousel .elementor-swiper-button-next {
        right: var(--system-offset-xs);
    }
    .custom-content-image.e-flexbox-base > .e-grid-base > .e-flexbox-base:first-child {
        padding: var(--spacing-vertical-laptop) 7.875rem var(--spacing-vertical-laptop) var(--system-offset-mixed);
    }
    .custom-content-image.e-flexbox-base > .e-grid-base > .e-flexbox-base:last-child {
        padding: 7.188rem var(--system-offset-mixed) 7.188rem 0;
    } 
    .custom-content-image.reverse-direct.e-flexbox-base > .e-grid-base > .e-flexbox-base:first-child {
        padding: 7.188rem 0 7.188rem var(--system-offset-mixed);
    }
    .custom-content-image.reverse-direct.e-flexbox-base > .e-grid-base > .e-flexbox-base:last-child {
        padding: var(--spacing-vertical-laptop) var(--system-offset-mixed) var(--spacing-vertical-laptop) 7.875rem;
    }
    .elementor .large-text:after,
    .elementor .heading-h2-alt.e-heading-base:after {
        width: 7.188rem;
        height: .375rem;
    }
    .elementor .category-box > div:after {
        width: 7.188rem;
    }
    .elementor .category-box:hover > div:after {
        height: .375rem;
    }
    .elementor .heading-h2-alt.e-heading-base:after {
        margin-top: var(--system-offset-xs);
    }
}

@media all and (max-width: 991px) {
    .elementor-popup-modal h3.e-heading-base:first-child:after,
    .elementor-popup-modal .elementor-widget-icon-box:first-child .elementor-icon-box-title:after {
        margin: var(--system-offset-xs) 0 0;
    }
    .elementor .large-text:after {
        margin-top: var(--system-offset-xs);
    }
    .elementor .category-box > div:after {
        content: none;
    }
    .elementor .category-box .e-heading-base {
        min-height: auto;
    }
    .elementor .service-box .elementor-widget-icon-list {
        overflow: visible;
    }
    .elementor .service-box .elementor-widget-icon-list ul {
        margin-bottom: 0;
    }
    .custom-content-image.e-flexbox-base > .e-grid-base,
    .custom-content-image.reverse-direct.e-flexbox-base > .e-grid-base {
        grid-template-columns: repeat(1, 1fr);
    }
    .custom-content-image.e-flexbox-base > .e-grid-base > .e-flexbox-base:first-child,
    .custom-content-image.reverse-direct.e-flexbox-base > .e-grid-base > .e-flexbox-base:last-child {
        padding: var(--spacing-vertical-laptop) var(--system-offset-mixed);
    }
    .custom-content-image.reverse-direct.e-flexbox-base > .e-grid-base > .e-flexbox-base:last-child {
        order: -1;
    }
    .custom-content-image.e-flexbox-base > .e-grid-base > .e-flexbox-base:last-child,
    .custom-content-image.reverse-direct.e-flexbox-base > .e-grid-base > .e-flexbox-base:first-child {
        padding: 0;
    }
    .custom-content-image.e-flexbox-base .elementor-widget-image {
        width: 100%;
    }
    .custom-content-image.e-flexbox-base .elementor-widget-image:only-child img {
        width: 100%;
        max-width: 100%;
        height: auto;
        object-fit: contain;
        margin-left: 0;
    }
    .elementor-form .elementor-field-group textarea {
        min-height: 12.5rem;
    }
}

@media all and (max-width: 600px) {
    #wpadminbar {
        position: fixed !important;
    }
    .e-flexbox-base.flexbox-full-height .elementor-widget-n-carousel .elementor-swiper-button-prev,
    .e-flexbox-base.flexbox-full-height .elementor-widget-n-carousel .elementor-swiper-button-next {
        display: none;
    }
}

@media all and (max-width: 430px) {
    .e-flexbox-base.flexbox-full-height .elementor-widget-n-carousel .e-con-inner > .e-flexbox-base {
        flex-direction: column;
    }
}