/**
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
*/

html {
  scrollbar-gutter: stable;
}

/* common */
/* ------ TYPOGRAPHY ------- */
:root {
    --h1-text: clamp(2.7rem, 3.333vw, 4rem);
    --h2-text: clamp(1.6rem, 2.344vw, 2.8rem);
    --h3-text: clamp(1.5rem, 2.083vw, 2.5rem);
    --h4-text: clamp(1.4rem, 1.563vw, 1.9rem);
    --h5-text: 1rem;
    --h6-text: 1rem;
    --p-text: 1rem;
    --color-1: #a8885e;
    --transition: .4s;
}

.entry-content {
    h1 {
        font-size: var(--h1-text);
    }
    h2 {
        font-size: var(--h2-text);
    }
    h3 {
        font-size: var(--h3-text);
    }
    h4 {
        font-size: var(--h4-text);
    }
    h5 {
        font-size: var(--h5-text);
    }
    h6 {
        font-size: var(--h6-text);
    }
    p {
        font-size: var(--p-text);
    }
    .bigger_p p {
        font-size: 1.25rem!important;
    }
}

.h1_style {
    font-size: var(--h1-text)!important;
}
.h2_style {
    font-size: var(--h2-text)!important;
}
.h3_style {
    font-size: var(--h3-text)!important;
}
.h4_style {
    font-size: var(--h4-text)!important;
}
.h5_style {
    font-size: var(--h5-text)!important;
}
.h6_style {
    font-size: var(--h6-text)!important;
}
.p_style {
    font-size: var(--p-text)!important;
    font-weight: 300;
    line-height: 2rem;
    color: #000000;
}

@media (max-width: 768px) {
    .entry-content {
        p {
            font-size: 1.1rem;
            line-height: 2rem;
        }
    }
}
/* ------ END TYPOGRAPHY ------- */


/* ------ SCROLLBAR ------- */
::-webkit-scrollbar {
    width: 10px;
    background-color: transparent;
}

::-webkit-scrollbar-thumb {
  background: var(--color-1);
  border-radius: 10px;
}
/* ------ END SCROLLBAR ------- */


p {
    margin-bottom: 0!important;
}

a {
    text-decoration: none!important;
    color: inherit;
}

a:hover {
    color: var(--color-1);
}


/* ------ CTA ------- */
.cta_border a,
a.uael-infobox-cta-link,
.read-more a {
    position: relative;
    cursor: pointer;
    
    &::after {
        content: "";
        position: absolute;
        bottom: -5px;
        left: 50%;
        width: 100%;
        transform: translateX(-50%);
        height: 1px;
        background: var(--color-1);
        transition: .35s;
    }
    
    &:hover:after {
        width: 0;
    }
}

.full_button a.elementor-button-link,
.page-id-53 .full_button input{
    transition: .4s;
    border-radius: 0;
    border: 1px solid var(--color-1)!important;
}

.full_button a.elementor-button-link:hover,
.page-id-53 .full_button input:hover{
    background-color: transparent!important;
    color: var(--color-1);
    border-radius: 0;
}

.prefooter .full_button a.elementor-button-link:hover {
    color: #ffffff;
}

.prefooter .full_button input:hover {
    background-color: transparent;
}


/* ------ END CTA ------- */

/* ------ BREADCRUMB ------- */
.breadcrumb {
    list-style: none;
    display: flex;
    margin: 5px 0!important;
    padding-left: 10px!important;
    
    li {
        margin-right: 2px;
        font-size: 0.88rem;
        
        a {
            text-decoration: none!important;
            color: inherit!important;
            font-size: 0.88rem;
        }
    }
    
    li::after {
        content: "/";
        margin-left: 2px;
    }
    
    li:last-child {
        font-weight: 500;
        font-size: 0.88rem;
    }
    
    li:last-child::after {
        content: "";
    }
}

@media (max-width: 768px) {
    .breadcrumb {
        padding-left: 0px!important;
        flex-wrap: wrap;
        font-weight: 400;
    
        li {
            margin-right: 5px;
        }
        
        li::after {
            margin-left: 5px;
        }
    } 
}
/* ------ end BREADCRUMB ------- */


/* ------ SLIDERS ------ */
.swiper-pagination-bullet {
    height: 0.2rem!important;
    border-radius: 0!important;
}

.uael-post-grid {
    .slick-prev:before {
        content: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0xMS40MzMgMTUuOTkyTDIyLjY5IDUuNzEyYy4zOTMtLjM5LjM5My0xLjAzIDAtMS40Mi0uMzkzLS4zOS0xLjAzLS4zOS0xLjQyMyAwbC0xMS45OCAxMC45NGMtLjIxLjIxLS4zLjQ5LS4yODUuNzYtLjAxNS4yOC4wNzUuNTYuMjg0Ljc3bDExLjk4IDEwLjk0Yy4zOTMuMzkgMS4wMy4zOSAxLjQyNCAwIC4zOTMtLjQuMzkzLTEuMDMgMC0xLjQybC0xMS4yNTctMTAuMjkiCiAgICAgICAgICBmaWxsPSIjMmUyZTJlIiBvcGFjaXR5PSIxIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KPC9zdmc+");
    }
    .slick-next:before {
        content: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0xMC43MjIgNC4yOTNjLS4zOTQtLjM5LTEuMDMyLS4zOS0xLjQyNyAwLS4zOTMuMzktLjM5MyAxLjAzIDAgMS40MmwxMS4yODMgMTAuMjgtMTEuMjgzIDEwLjI5Yy0uMzkzLjM5LS4zOTMgMS4wMiAwIDEuNDIuMzk1LjM5IDEuMDMzLjM5IDEuNDI3IDBsMTIuMDA3LTEwLjk0Yy4yMS0uMjEuMy0uNDkuMjg0LS43Ny4wMTQtLjI3LS4wNzYtLjU1LS4yODYtLjc2TDEwLjcyIDQuMjkzeiIKICAgICAgICAgIGZpbGw9IiMyZTJlMmUiIG9wYWNpdHk9IjEiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgo8L3N2Zz4=");
    }
}

.elementor-swiper-button-prev {
    left: -5px!important;
}

.elementor-swiper-button-next {
    right: -5px!important;
}

div#n2-ss-2 .nextend-arrow img {
    width: 1em!important;
}

@media (max-width: 768px) {
    .uael-post__arrow-outside .uael-post-grid {
        .slick-prev {
            left: -15px;
            z-index: 1;
        }
        .slick-next {
            right: -15px;
            z-index: 1;
        }
    }
}
/* ------ END SLIDERS ------ */


/* ------ BORDO IMMAGINI ------ */
.image_border_block {
    div:has(> img)::after,
    figure:has(> img)::after,
    a:has(> img)::after {
        content: '';
        border-bottom: 1px solid #ffffff94;
        width: 100%;
        position: absolute;
        bottom: 25px;
        left: 0;
    }
    
    a:has(> img),
    figure:has(> img) {
        position: relative;
    }

}

.image_border_container {
    position: relative;
    display: inline-block;
    width: 100%;
    max-width: 100%;
}

.image_border_container img {
    width: 100%;
    height: auto;
    max-width: 100%;
}

.image_border_container::after,
.image_border_container figure::after{
    content: "";
    position: absolute;
    top: 3%;
    left: 2%;
    width: 96%;
    height: 94%;
    border: 1px solid var(--color-1);
    box-sizing: border-box;
    pointer-events: none;
    z-index: 1;
}

.image_border_container:has(figure)::after {
  /* Rimuovi il bordo dal contenitore se contiene un figure */
  content: none;
}
/* ------ END BORDO IMMAGINI ------ */


/* ------ ACCORDION ESPERIENZE ------ */
.elementor-accordion-icon svg {
    display: none;
}

.accordion_icon {
    border-radius: 50%;
    border: 1px solid var(--color-1);
    width: 25px;
    height: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.accordion_icon_opened {
    color: var(--color-1);
    font-weight: 200;
    font-size: 2.81rem;
}

.accordion_icon_closed {
    color: white;
    background-color: var(--color-1);
    font-weight: 300;
    font-size: 1.5rem;
}

a.elementor-accordion-title {
    text-decoration: none!important;
}

.accordion_number {
    border-radius: 50%;
    border: 1px solid;
    width: 50px;
    height: 50px;
    text-align: center;
    vertical-align: middle;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: 1.3rem;
    margin-right: 20px;
}

.elementor-accordion-item {
    /* border-top: 1px solid #d4d4d4!important; */
    
    .elementor-tab-title {
        display: flex;
        flex-direction: row-reverse;
        align-items: center;
        justify-content: space-between;
        padding: 20px 0!important;
    }
}

.elementor-accordion-item:last-child {
   /* border-bottom: 1px solid #d4d4d4!important; */
}
/* ------ END ACCORDION ESPERIENZE ------ */


/* ------ SMART SLIDER ------ */
.n2-section-smartslider {
    h4 {
        font-size: var(--h4-text)!important;
    }
    p {
        hyphens: auto!important;
    }
}
/* end common */

/* animations */
/*------ TRANSIZIONE FADE ------ */
.loader {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 1; /* Comincia visibile */
    transition: opacity 0.5s ease-in-out; /* Durata e transizione */
}

.loader.fade-out {
    opacity: 0;
    pointer-events: none;
}

.loader img {
    width: 300px;
}

body.loading {
    overflow: hidden;
}

.loader .loader_image_container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.loader #loader-title {
    margin-top: 15px; 
    font-size: 1.1rem; 
    color: #333; 
    text-align: center;
    opacity: 1;
    transition: opacity 0.5s ease-in-out;
}

.loader.fade-out #loader-title {
    opacity: 0;
}

/*------ TRANSIZIONE FADE ------ */


/* ------ CTA ------- */
.cta_border a,
a.uael-infobox-cta-link,
.read-more a {
    position: relative;
    cursor: pointer;
    
    &::after {
        content: "";
        position: absolute;
        bottom: -5px;
        left: 50%;
        width: 100%;
        transform: translateX(-50%);
        height: 1px;
        background: var(--color-1);
        transition: var(--transition);
    }
    
    &:hover:after {
        width: 0;
    }
}

.full_button a.elementor-button-link,
.page-id-53 .full_button input{
    transition: var(--transition);
    border-radius: 0;
    border: 1px solid var(--color-1)!important;
}

.full_button a.elementor-button-link:hover,
.page-id-53 .full_button input:hover{
    background-color: transparent!important;
    color: var(--color-1);
    border-radius: 0;
}

.prefooter .full_button a.elementor-button-link:hover {
    color: #ffffff;
}

.prefooter .full_button input:hover {
    background-color: transparent;
}
/* ------ END CTA ------- */

.whatsapp_link {
    position: fixed;
    bottom: 15px;
    right: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #0ba884; /* Colore verde di WhatsApp */
    color: white;
    text-decoration: none;
    border-radius: 50px;
    font-size: 1.9rem;
    transition: all 0.3s ease;
    overflow: hidden;
    width: 50px;
    height: 50px;
    z-index: 1;
}

.whatsapp_link i {
    margin-right: 0;
    transition: margin-right 0.3s ease;
}

.whatsapp_link span {
    font-size: 1rem;
    font-weight: 400;
    display: none;
    /* transition: opacity 0.3s ease; */
}

.whatsapp_link:hover {
    width: 150px; /* Espandi il contenitore per far spazio alla scritta */
    span {
        display: block;
    }
}

.whatsapp_link:hover i {
    margin-right: 10px; /* Sposta l'icona per far spazio al testo */
}

.whatsapp_link:hover span {
    opacity: 1; /* Mostra il testo */
}
/* end animations */

/* header */
.ast-above-header-wrap {
    display: none;
}

.menu-text:hover {
    color: var(--color-1);
}

.ast-builder-menu-1 .menu-item > .menu-link {
    font-weight: 600;
}

.ast-theme-transparent-header .ast-above-header, .ast-theme-transparent-header .ast-above-header.ast-above-header-bar {
    background-color: white;
}

.ast-grid-right-section {
    align-items: flex-end;
}

.ast-desktop .ast-primary-header-bar .main-header-menu > .menu-item,
.ast-builder-language-switcher .ast-builder-language-switcher-menu {
    line-height: 45px;
}

.main-header-menu {
    li:hover {
        cursor: pointer;
    }
    
    .sub-menu {
        .menu-link {
            padding: 5px 10px;
        }
    }
}

.ast-primary-header-bar {
    transition: none;
}

.ast-primary-header-bar:hover {
    outline: 0;
}

.ast-header-sticked {
    background-color: #ffffff!important;
    
    .ast-icon svg {
        color: #000000;
    }
    
    .menu-text {
        color: #000000;
    }
    
    .menu-text:hover {
        color: #a98a5e;
    }
}

#ast-mobile-site-navigation {
    padding: 12px 0;
    
    .ast-menu-toggle {
        box-shadow: none;
        
        &:focus {
            outline: none;
        }
    }
}
/* end header */

/* homepage */
/*----- BLOCCO ESPERIENZE ----- */
.block_esperienza {
    .uael-post__inner-wrap {
        flex-direction: row-reverse;
        
        .uael-post__title a {
            text-decoration: none;
        }
    }
}

.slider_cta {
    a {
        position: relative;
        
        div {
            font-size: 1rem!important;
            position: relative;
            
            &:after {
                content: "";
                position: absolute;
                bottom: -5px;
                left: 50%;
                width: 100%;
                transform: translateX(-50%);
                height: 1px;
                background: var(--color-1);
                transition: .35s;
            }
        
            &:hover:after {
                width: 0;
            }
        }
    }
}

.slide_icon {
    img {
        width: clamp(3.13rem, 3.906vw, 4.69rem)!important;
    }
}

.slide_text {
    p {
        font-size: 1rem!important;
    }
}

.slide_border {
    background-color: transparent;
    pointer-events: none;
}

.slide_container {
    & > div::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        border: 1px solid #A98A5E;
        pointer-events: none;
        z-index: 3;
        margin: 15px;
    }
}

@media (max-width: 1024px) {
    .slider_cta {
    a {
        div {
            font-size: 1rem!important;
        }
    }
}
}

@media (max-width: 768px) {
    .n2-ss-slider-controls {
        div {
            --widget-offset: -35px!important;
        }
    }
    
    .slide_border {
        width: 94%!important;
        height: 87%!important;
    }
}
/*----- END BLOCCO ESPERIENZE ----- */
/* end homepage */

/* page */

/* ------ PAGINA CAMERA ------ */

.room_services_icons {
    li {
        flex: 0 0 9%;
        flex-direction: column;
        text-align: center;
    }
}

@media (max-width: 1200px) and (min-width: 769px) {
    .room_services_icons {
        li {
            flex: 0 0 20%;
            margin: 10px 0!important;
        }
    }
}

@media (max-width: 768px) {
    .room_services_icons {
        li {
            flex: 0 0 45%;
            margin: 20px 0!important;
        }
    }
    
    .room_slider {
        .swiper {
            width: 100%!important;
        }
    }
}

/* ------ END PAGINA CAMERA ------ */

body.page-child:not(.page-parent) .entry-content .elementor > .elementor-element {
    border-width: 0;
}

body.page-child:not(.page-parent) .entry-content .elementor > .elementor-element.room_breadcrumb {
    border-width: 1px;
}


/* ------ PAGINA TOUR CULTURALI ------ */
.elementor-image-carousel-caption {
    position: absolute;
    bottom: 18px;
    left: 20px;
}

@media (max-width: 768px) {
    .elementor-image-carousel-caption {
        position: absolute;
        bottom: 10px;
        left: 15px;
    }
}

/* ------ PAGINA SINGOLA ESPERIENZA ------ */
@media (min-width: 1025px) and (max-width: 1200px) {
    .image_border_block {
        .elementor-element:nth-child(2) > .elementor-element {
            width: 100%;
        }
    }
}
/* ------ END PAGINA SINGOLA ESPERIENZA ------ */

/* page */

/* form */
#form {
    scroll-margin-top: 61px;
}
.cf_row {
    display: flex;
    justify-content: space-between;
    gap: 35px;
    align-items: center;
    
    .cf_col {
        width: 100%;
        
        input:not([type="checkbox"]),
        select {
            padding: 10px;
            border: 0;
            border-radius: 0;
            margin: 10px 0;
        }
        textarea {
            border: 0;
            border-radius: 0;
        }
        label {
            font-size: 14px;
            color: white;
        }
    }
    
    .room_col {
        .wpcf7-radio {
            display: flex;
            flex-direction: column;
        }
    }
}

.checkbox-row {
    align-items: baseline;
    .checkbox {
        width: 70%;
        p {
            display: flex;
            gap: 5px;
            
            .wpcf7-form-control-wrap {
                width: 5%;
            }
            .checkbox-text {
                font-size: 0.9rem;
                color: white;
            }
        }
    }

    .submit-col {
        width: 30%;
        input.wpcf7-submit {
            width: 100%;
            padding: 10px;
            letter-spacing: 1px;
            border: 1px solid var(--color-1);
            transition: .4s;
        }
    }
}



.cf_col.cf_textarea {
    width: 100%;
    
    .note_textarea {
        margin: 10px 0;
    }
}

.wpcf7-list-item {
    margin-left: 0;
}

.form_submit p {
    display: inline-block;
    border-bottom: 1px solid #bfb9b4;
}

.form_submit p .wpcf7-spinner {
    position: absolute;
}

.form_submit p .wpcf7-submit {
    padding: 10px 0!important;
    border-bottom: 0;
}

.hidden_text {
    color: #ffffff;
}

.page-id-53 {
    .cf_row {
        .cf_col {
            input:not([type="checkbox"]),
            select,
            textarea {
                border: 1px solid #d1d5db;
            }
            label {
                color: #000000;
            }
        }
    }
    .checkbox-row {
        & .checkbox {
            & p {
                .checkbox-text {
                    color: grey;
                }
            }
        }
    }
    .hidden_text {
        color: #000000;
    }
}

.wpcf7-response-output {
    color: #ffffff;
}

.page-id-53 .wpcf7-response-output {
    color: #000000;
}


@media (max-width: 767px) {
    .cf_row {
        flex-direction: column;
        gap: 0;
        
        .cf_col {
            width: 100%;
            
            &.surname input {
                margin-bottom: 0;
            }
        }
    }

    .checkbox_row {
        flex-direction: row;
    }
    
    .checkbox_text {
        margin-left: 10px;
    }
}
/* form */

/* blog */
.archive.category {
    .category-description {
        margin-bottom: 4em;
        
        .category_title {
            text-align: center;
            font-weight: 600;
        }
    
        .elementor-divider {
            text-align: center;
            display: flex;
            justify-content: center;
            padding: 15px 0;
            margin: 20px 0;
            .elementor-divider-separator {
                border-bottom: 2px solid var(--color-1);
                display: inline-block;
                height: 2px;
                width: 55px;
            }
        }
        
        .category_text {
            text-align: center;
            width: 55%;
            margin: auto;
            p {
                margin-bottom: 0;
                margin-top: 10px;
            }
        }
    }
    
    .post-thumb {
        position: relative;
    }
    
    .post-thumb::after {
        content: '';
        border-bottom: 1px solid #ffffff94;
        width: 100%;
        position: absolute;
        bottom: 25px;
        left: 0;
    }
    
    .ast-article-inner {
        padding: 0 1.5em 0 0;
    }
}

.single {
    h1 {
        width: 80%;
    }
    .read-more a {
        color: var(--color-1);
        font-weight: 500;
        letter-spacing: 1px;
        margin-top: 20px;
    }
}

@media (max-width: 1500px) {
    .archive.category {
        .ast-archive-entry-banner {
            padding-left: 1.25rem;
        }
    }
}

@media (max-width: 1092px) {
    .archive.category {
        .ast-archive-entry-banner {
            padding-top: 60px;
        }
        .category-description {
            margin: 13px 0 35px 0;
            .category_text {
                width: 100%;
            }
        }
    }
    .ast-single-entry-banner {
        padding-left: 36px!important;
    }
}
/* blog */

/* footer */
.site-primary-footer-wrap {
    .ast-builder-grid-row-container-inner {
        border-bottom: 1px solid #c8c8c8;
        padding-bottom: 20px;
    }
}

.footer_social_container {
    display: flex;
    align-items: center;
    
    p {
        margin-bottom: 0;
    }
    
    .social_links {
        display: flex;
        
        img {
            margin: 0 5px;
        }
    }
}

.webagency {
    &::before {
        content: '-';
    }
    img {
        margin-left: 5px;
    }
}

@media (min-width: 922px) and (max-width: 1318px) {
    .webagency {
        display: inline-block;
        &::before {
            content: '';
        }
        img {
            margin-left: 5px;
        }
    }
}

/* .whatsapp_link {
    background-color: #0ba884;
    position: fixed;
    bottom: 15px;
    right: 15px;
    border-radius: 100%;
    z-index: 1;
    align-items: center;
    padding: 6px;
} */

@media (max-width: 1080px) {
    #block-11 {
        p {
            text-align: left!important;
        }
    }
}
/* footer */