/*
	Theme Name: Xonex Child
	Description: Template della xonex web agency di roma
	Author: Staff Xonex
	Author URI: https://www.xonex.it/
	Version: 1.0.0
	Stable tag: 3.2.1
	Requires at least: 6.0
	Tested up to: 6.7
	Requires PHP: 7.4
	Text Domain: xonex

*/



@charset "utf-8";
/* CSS Document */


.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    background-color: #fff;
}

html {
    overflow-x: hidden;
}

.grecaptcha-badge { 
    visibility: hidden;
}

body {
    font-family: "IBM Plex Sans", Sans-serif;
    overflow-x: hidden !important;
}

.carosello_infinity {
    overflow: hidden;
}

/* inizio header */

.sezione-titoli-sfondati {
    background-size: cover !important;
}

.logo-sito img {
    transition: all .3s ease-out;
    -webkit-transition: all .3s ease-out;
    filter: brightness(0) invert(1) grayscale(100%);
}

.sezione-header-scrollata .logo-sito img {
    filter: initial;
}


.sezione-header-scrollata .menu-desktop .menu-item>a {
    color: #000 !important;
}


.sezione-header-scrollata .menu-desktop .menu-item> a svg {
fill: #000 !important;
}

.sezione-header-scrollata {
    background-color: #fff;
}

/* fine header */


/* inizio box home */


/* Stili per il contenitore principale */
.container-box-home {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 colonne di uguale larghezza */
    gap: 0;
    width: 100%;
}

/* Stili per ogni singolo box */
.col-box-home {
    position: relative;
    overflow: hidden;
    height: 550px; /* Imposta un'altezza fissa. Puoi usare un padding-top per un layout responsive (es. padding-top: 56.25% per 16:9) */
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

/* Pseudo-elemento che gestisce l'immagine di sfondo e l'effetto */
.col-box-home::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-image: var(--background-image); /* Usa la variabile CSS impostata nel PHP */
    transform: scale(1); /* L'immagine parte già alla dimensione normale (senza zoom-out iniziale) */
    opacity: 1; /* L'immagine è SEMPRE visibile */
    transition: transform 0.4s ease, opacity 0.4s ease; /* Transizione fluida */
}

/* Stili per il titolo del box */
.titolo-box-home {
    z-index: 10;
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    background: rgba(0, 0, 0, 0.5);
    padding: 10px 20px;
    /* Il titolo è sempre visibile di default */
    transition: transform 0.4s ease, opacity 0.4s ease;
}

/* Stili per l'overlay e il testo "Scopri di più" */
.overlay-hover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    justify-content: center;
    align-items: flex-end; /* Allineato in basso */
    padding-bottom: 30px;
    opacity: 0; /* Invisibile di base */
    transition: opacity 0.4s ease;
    z-index: 15;
}

.scopri-di-piu {
    color: #fff;
    font-weight: bold;
    letter-spacing: 1px;
}

/* Effetto hover sul contenitore 'a' - modificato */
.container-box-home a:hover .col-box-home::after {
    /* L'immagine è già opacity: 1 e transform: scale(1), quindi potresti non voler cambiare nulla qui
       se vuoi che l'effetto zoom-out avvenga solo al caricamento e non sull'hover.
       Se vuoi un leggero zoom-in sull'hover, potresti fare: */
    transform: scale(1.03); /* Lieve zoom-in sull'hover */
    /* opacity: 1; rimane 1 */
}

.container-box-home a:hover .titolo-box-home {
    /* Rimuovi questa regola se vuoi che il titolo sia sempre visibile */
    /* opacity: 0;  */
}

.container-box-home a:hover .overlay-hover {
    opacity: 1; /* Rende l'overlay visibile sull'hover */
}

/* Regola aggiuntiva se vuoi che il titolo rimanga sempre visibile ma l'overlay appaia sopra */
/* Per il titolo, se vuoi che rimanga visibile ma "sotto" l'overlay che appare, 
   potresti voler ridurre il suo z-index o lasciarlo come è se l'overlay ha z-index più alto. */

/* fine box home */



/* inizio carosello xonex */



.carosello-xonex {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    list-style: none;
    padding: 10px;
}

.carosello-xonex .owl-stage-outer {
    clip-path: inset(-100vw -100vw -100vw 0)!important;
    overflow: visible !important;
}

.carosello-xonex .owl-nav {
    display: flex;
    width: fit-content;
    margin-top: 35px !important;
}


.carosello-xonex .owl-nav button {
    width: 44px;
    height: 44px;
    border: solid 2px #d5ab3d !important;
    border-radius: 0px !important;
    display: flex !important;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    background-color: #d5ab3d !important;
}

.carosello-xonex .owl-nav button:focus {
    outline: none;
}


.carosello-xonex .owl-nav button:hover {
    background-color: #d5ab3d !important;
}

.carosello-xonex .owl-nav button img {
    height: 25px;
    filter: brightness(0) invert(1) grayscale(100%);
}


.carosello-xonex li {
    box-shadow: 0 2px 8px #00000026;
    transition: box-shadow .2s;
    cursor: pointer;
}

.carosello-xonex li:hover {
    box-shadow: 0 5px 12px #0003;
}

.img-car-xonex img {
    vertical-align: top;
}

.txt-car-xonex {
    padding: 20px;
    row-gap: 5px;
    display: flex;
    flex-direction: column;
}


.titolo-car-xonex {
    color: #000;
    text-transform: uppercase;
    line-height: 1.3em;
    font-family: "Cormorant Garamond", Sans-serif;
    font-size: 25px;
    font-weight: 600;
}

.sottotitolo-car-xonex {
    font-size: 16px;
    font-weight: 100;
    letter-spacing: 0.05em;
    color: #000;
}

.cta-car-xonex {
    font-size: 16px;
    color: #000;
    line-height: 1.3em;
    font-family: "IBM Plex Sans", Sans-serif;
    font-weight: 400;
}

.header-car-xonex {
    display: flex;
    flex-direction: column;
    row-gap: 0px;
    background-color: #fff;
}


.carosello_infinity {
    overflow: hidden;
} 

/* fine carosello xonex */



/* inizio testo a scacchiera */

.cont-rip-scacchiera {
    display: flex;
    flex-direction: column;
    row-gap: 50px;
}

.riga-rip-scacchiera {
    display: flex;
    flex-direction: row;
    background-color: #000;
    align-items: center;
}

.riga-rip-scacchiera.riga-scacchiera-destra {
    flex-direction: row-reverse;  
}



.col-img-scacchiera {

}

.col-img-scacchiera img {
    vertical-align: top;
    width: 100%;
}

.col-txt-scacchiera {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 25px;
    text-align: center;
    align-items: center;
}


.col-txt-scacchiera {
    width: calc(43% + 60px);
    margin-left: -60px;
    box-shadow: 0 5px 12px rgb(213 171 61 / 80%);
    background-color: #000;
    z-index: 2;
    min-height: 220px;
    align-items: flex-start;
    justify-content: center;
}


.riga-scacchiera-destra .col-txt-scacchiera {
    margin-left: initial;
    margin-right: -60px;
}

.col-img-scacchiera {
    width: 57%;
}

.titolo-scacchiera {
    color: #fff !important;
    font-size: 22px !important;
    font-weight: 500 !important;
    text-transform: uppercase;
    line-height: 1.3em !important;
    letter-spacing: 0.15em !important;
    margin-bottom: 12px;
    text-align: left;
}

.testo-scacchiera {
    text-align: left;
    font-size: 14px;
    line-height: 1.6em;
    letter-spacing: 0.02em;
    font-weight: 300;
    color: #fff;
}

.cta-scacchiera, .cta-scacchiera:hover {
    line-height: 1.3em;
    letter-spacing: normal;
    background-color: #d5ab3d;
    padding: 8px 20px;
    border-radius: 0px;
    margin-top: 15px;
    font-family: "Cormorant Garamond", Sans-serif;
    font-size: 17px;
    font-weight: 500;
    text-transform: uppercase;
    color: #fff !important;
}


/* fine testo a scacchiera */


/* inizio container eventi atmo */

.container-eventi-atmo {
    margin: 0 auto;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 20px;
    row-gap: 20px;
    width: 100%;
}

.header-evento-atmo img {
    vertical-align: top;
    width: 100%;
}


.col-evento-atmo {
    background-color: #fff;
}

.col-evento-atmo a,
.col-evento-atmo a:hover {
    background-color: #fff;
    color: #000;
}


.titolo-container-eventi-atmo {
    font-size: 40px;
    font-family: "Cormorant Garamond", Sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 15px;
    color: #fff !important;
}
   
.txt-evento-atmo {
    padding: 20px;
}   
   

.titolo-evento-atmo {
    font-size: 20px;
    font-family: "Cormorant Garamond", Sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 15px;
}


.cta-evento-atmo {
    display: block;
    border: solid 1px;
    border-radius: 20px;
    padding: 12px 4px;
    text-align: center;
    margin-top: 15px;
}

.container-eventi-atmo-attive {
    margin-bottom: 80px;
}

.data-evento-interna {
    color: #fff;
    font-size: 26px;
}

/* fine container eventi atmo */


/* inizio testo a scacchiera storia */

.cont-rip-scacchiera-storia {
    display: flex;
    flex-direction: column;
    row-gap: 100px;
}

.riga-rip-scacchiera-storia {
    display: flex;
    flex-direction: row;
    background-color: #fff;
    align-items: center;
}

.riga-rip-scacchiera-storia.riga-scacchiera-destra-storia {
    flex-direction: row-reverse;
    background-color: #fff;    
}



.col-img-scacchiera-storia {

}

.col-img-scacchiera-storia img {
    vertical-align: top;
    width: 100%;
    border-radius: 0.5rem;
    box-shadow: 0 5px 12px #0003;
}

.col-txt-scacchiera-storia {
    width: calc(43% + 60px);
    margin-left: -60px;
    box-shadow: 0 5px 12px #0003;
    background-color: #fff;
    border-radius: 0.5rem;
    z-index: 2;
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 25px;
}


.riga-scacchiera-destra-storia .col-txt-scacchiera-storia {
    margin-left: initial;
    margin-right: -60px;
}

.col-img-scacchiera-storia {
    width: 57%;
}

.titolo-scacchiera-storia {
    color: #196153;
    font-size: 25px;
    font-weight: 600;
    text-transform: uppercase;
    line-height: 1.3em;
    letter-spacing: 0.15em;
    margin-bottom: 30px;
    text-align: left;
}

.titolo-scacchiera-storia::after {
    content: "";
    color: #196153;
    border-bottom: solid 2px;
    width: 130px;
    height: 2px;
    background: #000;
    display: block;
    margin-top: 5px;
}

.testo-scacchiera-storia em {
    font-size: 20px;
    margin-bottom: 8px;
    font-weight: 400;
    display: block;
}

.testo-scacchiera-storia {
    text-align: left;
    font-size: 16px;
    line-height: 1.3em;
    letter-spacing: 0.05em;
    font-weight: 300;
    color: #000;
}



/* fine testo a scacchiera storia */



/* inizio perche scegli */

.perche-scegli .col-perche-scegli .elementor-widget-container, .perche-scegli .jkit-icon-box-wrapper {
    min-height: 200px;
}

.servizi-home h3 {
    width: fit-content;
    min-width: 300px;
    margin: 0 auto;
    background-color: #fff;
    padding: 20px;
}

/* fine perche scegli */


/* inizio form */


.cv-file-form {
    display: flex;
    flex-direction: column;
    color: #fff;
    row-gap: 20px;
    margin-top: 0px;
}

.cv-ruolo-form {
    display: flex;
    flex-direction: column;
    color: #fff;
    row-gap: 20px;
    margin-top: 10px;
}

#richiedi-info .label-etichetta-form {
    color: #F7F8F8;
    font-size: 14px;
    margin-bottom: 6px;
    display: block;
    font-weight: 700;
}

#richiedi-info .etichetta-label {
    color: #fff;
    text-transform: uppercase;
    font-size: 18px;
    margin-bottom: 5px;
    display: block;
    margin-top: 5px;
}    



#richiedi-info form {

}

#richiedi-info form label {
    width: 100%;
    width: 100%;
    margin-bottom: 12px;
}

#richiedi-info form option {
    color: #000;
}


#richiedi-info .wpcf7-form-control::placeholder {
    color: #fff; /* Sostituisci con il colore desiderato */
    opacity: 0.6; /* Assicura che il colore sia visibile su alcuni browser */
}


#richiedi-info form label input {
    padding: 8px 15px;
    border-color: #ffffff42;
    font-size: 15px;
    font-weight: 500;
    text-transform: initial;
    background-color: #ffffff42;
    color: #fff;
}


#richiedi-info .wpcf7-not-valid-tip {
    color: #fff;
    font-size: 14px;
    font-weight: normal;
    display: block;
}

#richiedi-info form select {
    border-color: #BFB9AA;
    background-color: #ffffff42;
    color: #fff;
font-family: "IBM Plex Sans", Sans-serif;
        color: #fff;
}

#richiedi-info form label textarea {
    font-size: 15px;
    font-weight: 500;
    max-height: 180px;
    background-color: #ffffff42;
    border-color: #ffffff42;
        color: #fff;
}

#richiedi-info form .wpcf7-submit {
    background-color: #F2B810;
    color: #0F1124;
    border-color: #F2B810;
    padding: 20px 4px;
    font-size: 18px;
    width: 100%;
font-family: "IBM Plex Sans", Sans-serif;
    font-weight: 600;
}

form .wpcf7-acceptance input[type="checkbox"] {
    width: 22px;
    height: 22px;
}

form .wpcf7-acceptance label {
    display: flex;
    flex-direction: row;
    align-content: center;
    align-items: center;
    column-gap: 8px;
    font-size: 14px;
    color: #fff;
    font-weight: 300;
font-family: "IBM Plex Sans", Sans-serif;
}

#richiedi-info form .wpcf7-acceptance a {
    color: #fff;
    text-decoration: underline;
}

#richiedi-info form .wpcf7-submit:hover {
    background-color: #d5ab3d;
    color: #000;    
}

#richiedi-info form .wpcf7-acceptance {
}

#richiedi-info form .wpcf7-acceptance a {
    text-decoration: underline;
}



#richiedi-info {
    column-gap: 30px;
}


.richiedi-info-minimal .richiesta-form {
    display: none;
}

.col-form-sx {
    background: radial-gradient(100% 50% at 0% 0%, rgba(213, 171, 61, 0.8) 0%, rgba(0, 3, 15, 0) 100%);
}


#richiedi-info .cta-invia-richiesta p {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: flex-end;
}

#richiedi-info .cta-invia-richiesta .wpcf7-submit {
    width: 50%;
}

#richiedi-info .wpcf7-file {
    width: 100%;
}


/* fine form */


@media only screen and (max-width: 1100px) {
    .riga-rip-scacchiera {
        display: flex;
        flex-direction: column;
        background-color: #fff;
        align-items: center;
        flex-wrap: nowrap;
    }
    
    .col-img-scacchiera {
        width: 100%;
    }
    
    .col-txt-scacchiera {
        width: 100%;
        margin-left: 0 !important;
        margin-top: -90px;
        margin-right: 0px !important;
    }
    
    .riga-rip-scacchiera.riga-scacchiera-destra {
        flex-direction: column;
    }
    
    .titolo-car-xonex {
        font-size: 18px;
    }
    
}


@media only screen and (max-width: 650px) {

    .container-eventi-atmo-attive {
        margin-bottom: 30px;
    }
    
    .container-eventi-atmo {
        grid-template-columns: repeat(1, 1fr);
        column-gap: 20px;
        row-gap: 20px;
        width: 100%;
    }
    
    .titolo-container-eventi-atmo {
        font-size: 25px;
        line-height: 1.3em;
    }

}



/* inizio cta mobile */


.sffm-header-image img {
    width: 200px !important;
}

.sffm-panel-close {
    background-color: transparent !important;
}

.cta-mobile-full {
    position: fixed;
    z-index: 100;
    bottom: 0;
    right: 0;
    transition: all .3s ease-out;
    -webkit-transition: all .3s ease-out;
    width: 100%;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-end;
}

.posizione-cta-mobile-nulla {
    right: -100px;
}


.posizione-cta-mobile-bassa {
    right: 0px;
}

.container-cta-mobile {
    margin-bottom: 75px;
    margin-right: 10px;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    row-gap: 10px;    
    transition: all .3s ease-out;
    -webkit-transition: all .3s ease-out;
    width: fit-content;
}

.container-cta-preventivo-mobile {
    transition: all .3sease-out;
    -webkit-transition: all .3sease-out;
    will-change: bottom;
    transition: bottom .3sease-out;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    background-color: #ffffffb0;
    padding: 10px 20px;
    width: 100%;
}

.container-cta-mobile .mobile-telefono {
    background-color: #fcb410;
    transition: all .3s ease-out;
    -webkit-transition: all .3s ease-out;
    border-color: #fcb410 !important; 
}

.container-cta-mobile .mobile-whatsapp {
    background-color: #5cb85c;
    border-color: #5cb85c !important;
}

.container-cta-mobile .mobile-telefono span {
    color: #000 !important;
}


.container-cta-mobile .pulsante-mobili {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    padding: 10px;
    border-radius: 8px;
    width: 50px;
    height: 50px;
    row-gap: 4px;
    box-shadow: 0 5px 15px #0000004d;
    transition: all .3sease-out;
    -webkit-transition: all .3sease-out;
    cursor: pointer;
    border: solid 1px;
}

.container-cta-mobile .mobile-telefono.pulsante-mobili {

}

.container-cta-mobile .pulsante-mobili img {
    width: 35px;
    vertical-align: top;

} 

.container-cta-mobile .mobile-whatsapp img {
    filter: brightness(0) invert(1) grayscale(100%);
}

.container-cta-mobile .pulsante-mobili span {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    line-height: 1.3em;
    color: #fff;
}    

.mobile-email {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    background-color: #209335;
    width: 100%;
    padding: 8px 10px;
    column-gap: 15px;
}

.mobile-email img {
    width: 25px;
    vertical-align: top;
    filter: brightness(0) invert(1) grayscale(100%);
}


.mobile-email span {
    color: #fff;
    text-transform: none;
    font-weight: 500;
    font-size: 16px;
    font-family: "Cormorant Garamond", Sans-serif !important;
    text-transform: uppercase;
}

.nascondi-preve-mobile {
    position: fixed;
    z-index: 5;
    left: 0;
    bottom: -5rem;
    width: 100%;
    padding: 1rem 1.5rem;
    box-shadow: 0 5px 12px #0003;
    background-color: #fff;
    transition: all .3s;
    transition: all .3s ease-out;
    -webkit-transition: all .3s ease-out;
}

.nascondi-tutte-cta-mobile {
    display: none;
}

.mostra-preve-mobile {
    bottom: 0;
    transition: all .3s ease-out;
    -webkit-transition: all .3s ease-out;
    position: fixed;
    z-index: 100;
}

.posizione-cta-mobile-alta {
    margin-bottom: 90px;
}


/* fine cta mobile */

