
/*03 POSITION CONTAINER-----------------------------------------------------------------*/


:root {
--risoluzione-pc: 1860px;
--center-tablet: 2rem;
--center-phone: 1.5rem;
}


/*01 RESET ===================================================================================*/

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  text-decoration: none;
  border: none;
  outline: none; /*focus acessibilità*/
  scroll-behavior: smooth; /*animazione scoll graduale non tutti i browser la supportano*/
}

a {
  text-decoration: none;
}
/* ================================================================================/RESET */


/* Iphone Rules */
@media only screen and (max-width: 768px) {
  html {
    width: 100%;
    overflow-x: hidden;
    overflow-y: scroll; /* add overlap */
  }
}

body {
  position: relative;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: scroll; /* add overlap */
  -webkit-overflow-scrolling: touch; /* add overlap */
  /*  overflow-scrolling: touch; */ /* add overlap */
   background-color: var(--bg-main);
}

main {
  /* IMPORTANTE dare l'overflow anche qui altrimenti non funziona correttamente la visualizzazione */
  width: 100%;
  margin: 0;
  padding: 0;
  padding-top: var(--main-top-pc);
  overflow: hidden;
  background-color: var(--bg-main);
}


ul li {
  list-style-type: none;
}




/* Phone Rules */

.center {
  width: 100%;
  padding: 0;
  margin: 0 auto;
  padding-left: var(--center-phone);
  padding-right: var(--center-phone);
  }

.full {
  width: 100%;
  padding: 0;
  margin: auto;
}

/* Extra Small Phone Rules */
@media only screen and (max-width: 374px) {
  .center {
    width: 100%;
    padding: 0;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* Extra Extra Small Phone Rules */
@media only screen and (max-width: 359px) {
  .center {
    width: 100%;
    padding: 0;
    margin: 0 auto;
    padding-left: 8px;
    padding-right: 8px;
  }
}

/* Tablet Rules */
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .center {
    width: 100%;
    padding: 0;
    margin: 0 auto;
    padding-left: var(--center-tablet);
    padding-right: var(--center-tablet);
  }
}

/* Desktop Rules 100% browser */
@media only screen and (min-width: 1920px) {
  .center {
    width: 100%;
    max-width: var(--risoluzione-pc);
    min-height: 50px;
    margin: 0 auto;
    padding: 0;
  }

  .full {
    width: 100%;
    min-height: 50px;
    margin: 0;
    padding: 0;
  }
}

/* Desktop Rules 110% browser */
@media only screen and (max-width: 1800px) {
  .center {
    width: 100%;
    max-width: 1600px;
    min-height: 50px;
    margin: 0 auto;
    padding: 0;
    padding-left: 1vh;
    padding-right: 1vh;
    /*     background-color: #a3d622; */
  }
}

/* Desktop Rules 120% browser */
@media only screen and (max-width: 1700px) {
  .center {
    width: 100%;
    max-width: 1460px;
    min-height: 50px;
    margin: 0 auto;
    padding: 0;
    padding-left: 1vh;
    padding-right: 1vh;
    /*     background-color: #2294d6; */
  }
}

/* Desktop Rules 133% browser = Laptop 1440px */
@media only screen and (max-width: 1500px) {
  .center {
    width: 100%;
    max-width: 1300px;
    min-height: 50px;
    margin: 0 auto;
    padding: 0;
    padding-left: 1vh;
    padding-right: 1vh;
    /*     background-color: #d022d6; */
  }
}

/* Desktop Rules 150% browser = Laptop 1280px */
@media only screen and (max-width: 1400px) {
  .center {
    width: 100%;
    max-width: 1200px;
    min-height: 50px;
    margin: 0 auto;
    padding: 0;
    padding-left: 1vh;
    padding-right: 1vh;
    /*     background-color: #ddb3d8; */
  }
}

/* Desktop Rules 170% browser */
@media only screen and (max-width: 1200px) {
  .center {
    width: 100%;
    max-width: 1050px;
    min-height: 50px;
    margin: 0 auto;
    padding: 0;
    padding-left: 1vh;
    padding-right: 1vh;
    /*     background-color: #8fbbed; */
  }
}

/* Desktop Rules 200% browser = Tablet:
800px

*/
@media only screen and (max-width: 1100px) {
  .center {
    width: 100%;
    max-width: 860px;
    min-height: 50px;
    margin: 0 auto;
    padding: 0;
    padding-left: 1vh;
    padding-right: 1vh;
    /*     background-color: #bea772; */
  }
}
/* ================================================================== /POSITION CONTAINER*/


/* 0G- GRID-SYSTEM ============================ */

/* gap va messo in custom insime ai modules */

.padding-grid-system {
  background-color: var(--bg-chek-color-1);
  margin: 0;
  padding: 0;
  overflow: hidden; /* necessario per tagliare il contenuto in eccesso */
  border-top-left-radius: var(--grid-radius-top-lef);
  border-top-right-radius: var(--grid-radius-top-right);
  border-bottom-left-radius: var(--grid-radius-bottom-lef);
  border-bottom-right-radius: var(--grid-radius-bottom-right);
}

/* grid-system-12 ------------------------------*/

.basic .grid-system-12 {
  position: relative;
  margin: 0;
  padding: 0;
  height: auto;
  display: grid;
  grid-template-columns: 1fr; /* repeat(12, 1fr);*/
  grid-template-rows: 1fr; /* repeat(4, 1fr);  */
  gap: 0px 0px;
  grid-auto-flow: row;
}

.basic .module-12-col-1 {
  margin: 0 auto;
  padding: 0;
  padding-bottom: 0px;
  width: 100%;
  height: auto;
}

/* ------------------------------ / grid-system-12 */

/* grid-system-4-8 DOMINANTE ------------------------------*/

.basic .grid-system-4-8 {
  position: relative;
  margin: 0;
  padding: 0;
  height: auto;
  display: grid;
  grid-template-columns: 1fr 2fr; /* repeat(12, 1fr);*/
  grid-template-rows: 1fr; /* repeat(4, 1fr);  */
  gap: 0px 40px;
  grid-auto-flow: row;
}

/* invert-grid */
.basic .invert-8-4 {
  position: relative;
  margin: 0;
  padding: 0;
  height: auto;
  display: grid;
  grid-template-columns: 2fr 1fr; /* repeat(12, 1fr);*/
  grid-template-rows: 1fr; /* repeat(4, 1fr);  */
  gap: 0px 40px;
  grid-auto-flow: row;
}

.basic .module-4-8-col-1 {
  margin: 0 auto;
  padding: 0;
  padding-bottom: 0px;
  width: 100%;
  height: auto;
  order: 2;
  background-color: var(--bg-chek-color-1);
}

.basic .module-4-8-col-2 {
  margin: 0 auto;
  padding: 0;
  padding-bottom: 0px;
  width: 100%;
  height: auto;
  display: block;
  order: 1;
  background-color: var(--bg-chek-color-1);
}

/* ------------------------------ /grid-system-4-8*/

/* grid-system-6-6 ---------------------------------------------------------*/

.basic .grid-system-6-6 {
  position: relative;
  margin: 0;
  padding: 0;
  height: auto;
  display: grid;
  grid-template-columns: 1fr 1fr; /* repeat(12, 1fr);*/
  grid-template-rows: 1fr; /* repeat(4, 1fr);  */
  gap: 0px 0px; /* settato a 40px per via di PSD */
  grid-auto-flow: row;
  border-top-width: var(--spessore-linea);
  border-bottom-width: var(--spessore-linea);
  border-top-color: var(--colore-linea);
  border-bottom-color: var(--colore-linea);
  border-top-style: var(--stile-linea);
  border-bottom-style: var(--stile-linea);
}

.basic .module-6-6-col-1 {
  margin: 0 auto;
  padding: 0;
  padding-left: var(--padding-grid-system);
  padding-right: var(--padding-grid-system);
  width: 100%;
  height: auto;
  border-right-width: var(--spessore-linea);
  border-right-color: var(--colore-linea);
  border-right-style: var(--stile-linea);
  /* background-color: #e5e2f2; */
}

.basic .module-6-6-col-2 {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  height: 100%;
  display: block;

}

/* ------------------------------------------------------------------ /grid-system-6-6 */


/* grid-system-4-4-4- ------------------------------*/

.basic .grid-system-4-4-4 {
  position: relative;
  margin: 0;
  padding: 0;
  height: auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr ; /* repeat(12, 1fr);*/
  grid-template-rows: 1fr;   /* repeat(4, 1fr);  */
  gap: 0px 20px;
  grid-auto-flow: row;
 }

 .basic .module-4-4-4-col-1 {
  margin: 0 auto;
  padding: 0;
  padding-bottom: 0px;
  width: 100%;
  height: auto;
  display: grid;
  gap: 0px 0px;
  flex-direction: column; /* Assicura che gli elementi siano impilati */
  order: 1;
}

.basic .module-4-4-4-col-2 {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  height: auto;
  display: grid;
  gap: 0px 0px;
  flex-direction: column; /* Assicura che gli elementi siano impilati */
  order: 2;
}

.basic .module-4-4-4-col-3 {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  height: auto;
  display: grid;
  gap: 0px 0px;
  flex-direction: column; /* Assicura che gli elementi siano impilati */
  order: 3;
}

/* grid-system-3-3-3-3 ------------------------------*/

.basic .grid-system-3-3-3-3 {
  position: relative;
  margin: 0;
  padding: 0;
  height: auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr ; /* repeat(12, 1fr);*/
  grid-template-rows: 1fr;   /* repeat(4, 1fr);  */
  gap: 0px 20px;
  grid-auto-flow: row;
 }

 .basic .module-3-3-3-3-col-1 {
  margin: 0 auto;
  padding: 0;
  padding-bottom: 0px;
  width: 100%;
  height: auto;
  display: grid;
  gap: 0px 0px;
  flex-direction: column; /* Assicura che gli elementi siano impilati */
  order: 1;
}

.basic .module-3-3-3-3-col-2 {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  height: auto;
  display: grid;
  gap: 0px 0px;
  flex-direction: column; /* Assicura che gli elementi siano impilati */
  order: 2;
}

.basic .module-3-3-3-3-col-3 {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  height: auto;
  display: grid;
  gap: 0px 0px;
  flex-direction: column; /* Assicura che gli elementi siano impilati */
  order: 3;
}

.basic .module-3-3-3-3-col-4 {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  height: auto;
  display: grid;
  gap: 0px 0px;
  flex-direction: column; /* Assicura che gli elementi siano impilati */
  order: 4;
}
/* ------------------------------ /grid-system-3-3-3-3*/



/* Colonna sinistra */
.side-column-1 {
  display: grid;
  flex-direction: column; /* Assicura che gli elementi siano impilati */
  gap: 0px 0px; /* Spaziatura tra il titolo, la griglia interna e la lista */
  background-color: var(--bg-col-1);
}

.side-column-2 {
  margin: 0;
  padding: 0;
  background-color: var(--bg-col-2);
   /* background-color: #78d25a; */
}

/* inner-grid OPTION 3-col, 4-col, 5-col, 6-col */

.module-6-6-col-1 .inner-grid-6-6-col-3 {
  display: grid;
  grid-template-columns: 1fr 1fr; /* Testo 2/3 e immagine 1/3 */
  gap: 0px 40px;
  margin: 0;
  padding: 0;
}

.module-6-6-col-1 .inner-grid-6-6-col-4 {
  display: grid;
  grid-template-columns: 2fr 1fr; /* Testo 2/3 e immagine 1/3 */
  gap: 0px 40px;
  margin: 0;
  padding: 0;
}

.module-6-6-col-1 .inner-grid-6-6-col-5 {
  display: grid;
  grid-template-columns: 4fr 1fr; /* Testo 2/3 e immagine 1/3 */
  gap: 0px 40px;
  margin: 0;
  padding: 0;
}

.module-6-6-col-1 .inner-grid-6-6-col-6 {
  display: grid;
  grid-template-columns: 1fr; /* Testo 2/3 e immagine 1/3 */
  gap: 0px 40px;
  margin: 0;
  padding: 0;
  border: 0;
}

.inner-box-wrapper {
  margin: 0;
  padding: 0;
  width: 100%;
  height: auto;
}

/* =============================== /GRID-SYSTEMS INNER */

/* ============================ /GRID-SYSTEMS */

/* ============================ /GRID-MODULES*/

.modules {
  margin: 0;
  padding: 0;
  /* 80px, 120px, 160px, 200px */
  /*   background-color: #eee; 
  border: 1px solid #ccc; */
  /*   border-radius: 16px; */ /* customize */
}

.img-team-border {
  border-radius: 16px;
}

.vertical-img {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
}

.img-res {
  width: 100%;
}

/* ============================ / GRID-MODULES */

/* CONTENT MODULES ================================= */

/* H1-Replacement ------------------------------------ */

.basic h1 {
  margin: 0;
  padding: 0;
  text-align: center;
  height: auto;
}

/* IMG-REPLACE-H1---------------------------- */
.box-title {
  margin: 0 auto;
  padding: 0;
  width: 100%; /* Assicura che il box occupi l'intera larghezza */
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
}

.svg-title {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
}
/* ---------------------------- /IMG-REPLACE-H1 */

/* ------------------------------------ H1-Replacement  */

/* box-dettails-h1 --------------- */

.box-details-wrapper {
  width: 100%;
  display: flex;
}

.box-details-h1-left {
  width: 50%;
}

.box-details-h1-right {
  width: 50%;
  text-align: right;
}

.text-details {
  font-size: 18px;
  text-transform: uppercase;
  font-weight: 400;
}

/* --------------- /box-dettails-h1 */

/* ul-wrapper -------------------------------- */

.ul-wrapper {
  margin: 0;
  padding: 0;
  width: 100%;
  display: block;
}

.padding-bottom-big {
  margin-top: 250px;
}

.padding-bottom-mid {
  margin-top: 140px;
}

.list-offer {
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  box-sizing: border-box; /* Assicura che il padding non superi il 100% */
}

.list-offer li {
  width: 100%;
  margin: 0;
  padding: 10px 0;
  /*   background-color: #6079BE; */
  border-bottom: 1px solid #b7b5b5;
font-size: 24px  
}

.grid-offer {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 3fr;
}

/* ITEM FONT */
.grid-offer-item {
  font-size: 40px;
  text-transform: uppercase;
  font-weight: 400;
  background-color: var(--bg-col-3);
}

.mini .grid-offer-item {
  font-size: 18px;
  text-transform: capitalize;
  font-weight: 400;
  width: 100%;
    background-color: var(--bg-col-3);
}

/* -------------------------------- /ul-wrapper */

/* box-cont-title-h ------------------------------ */

.box-cont-title-h {
  margin: 0;
  padding: 0;
  width: 100%;
  display: block;
}

.basic h2 {
  margin: 0;
  padding: 0;
  line-height: 80px;
  font-weight: 400;
}

/* ------------------------------ /box-cont-title-h */

/* desc-box ------------------------------ */

.desc-box {
  margin: 0;
  padding: 0;
  width: 100%;
  display: block;
  /*   padding: 20px 300px 200px 0; */
  background-color: var(--bg-chek-color-7);
}



/* ------------------------------ /desc-box */

/* img-box-wrapper ------------------------------- */
/* align-wrapper justify*/
.box-img-wrapper {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: inherit; /* se vuoi che l’immagine prenda il radius del parent */
}

.box-img-wrapper img {
  width: 100%;
  /* border-top-left-radius: 68px;
  border-bottom-right-radius: 68px; */
  padding: var(--img-padding);
}
/* -------------------------------/img-box-wrapper */

/* align-wrapper: flex */
.align-wrapper {
  margin: 0;
  padding: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
}

.align-base-center {
  align-items: center; /* Allinea gli elementi al centro */
  justify-content: center; /* Allinea gli elementi al centro */
}

.align-base-center-2 {
  align-items: flex-start; /* Allinea gli elementi a sinistra */
  justify-content: center; /* Allinea gli elementi in alto */
}

.align-base-bottom {
  align-items: flex-start; /* Allinea gli elementi a sinistra */
  justify-content: flex-end; /* Allinea gli elementi in basso */
}

.align-base-top {
  align-items: flex-start; /* Allinea gli elementi a sinistra */
  justify-content: flex-start; /* Allinea gli elementi in alto */
}

.btn-style {
  padding: 10px 20px 10px 20px !important;
  font-size: 38px !important;
 }

@media (max-width: 1024px) {

.module-12-col-1 .box-cont-title-h {
margin: 0;
padding: 0 !important;
}

.basic p {
  margin: 0;
  padding: 0;
  font-size: var(--res-p) !important;
  line-height: 30px;
 }
.basic h2 {
  margin: 0;
  padding: 0;
  font-size: var(--res-h2) !important;
  line-height: 30px;
 }
 .btn-style {
  padding: 5px 6px 5px 6px !important;
  font-size: 15px !important;
 }
}

/* HOME ================================== */

.home {
  /*   height: 100vh; */
  /*   max-height: 100vh; */
  margin: 0 auto;
}

/* SPECIFIC SECTIONS RULES */
.home .section-cont {
  padding-top: 0px; /* adjust padding-top default */
}

.hero-video-section {
  position: relative;
  height: 100vh;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  padding: 2rem;
  box-sizing: border-box;
  color: white;
  padding-bottom: 100px;
  padding-left: 100px;
  margin-bottom: 100px;
}

.video-container,
.img-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  overflow: hidden;
}

.video-container video,
.img-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.video-container .overlay,
.img-container .overlay {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.7); /* Oscuramento leggibile */
  z-index: 1;
}

.content-text {
  position: relative;
  z-index: 2;
  max-width: 900px;
  text-align: left;
}





/* Responsive */
@media (max-width: 768px) {

  .hero-video-section {
    position: relative;
    height: 100vh;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    box-sizing: border-box;
    color: white;
    margin-bottom: 100px;
  }
  .content-text {
    text-align: center;
  }




}

.module-12-col-1 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* ================================== /HOME */



/* FOOTER ========================= */

footer {
  height: auto;
  /* background-color: #6079be; */
  margin: 0;
  padding: 0;
}


.footer-box p {
  color: #f8f0f0;
  font-size: 14px;
}


footer .padding-grid-system {
 margin: 0;
 padding: 0 2.5rem;
}

footer .grid-system-3-3-3-3 {
  padding-bottom: 90px;
  gap: 0 66px;
}

footer .align-base-bottom {
  align-items: flex-start; /* Allinea gli elementi a sinistra */
  justify-content: flex-end; /* Allinea gli elementi in basso */
}



.footer-box .list-offer {
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  box-sizing: border-box; /* Assicura che il padding non superi il 100% */
  /* background-color: #e46e2f; */
}

.footer-box .list-offer li.standard-footer {
  width: 100%;
  margin: 0;
  padding: 10px 0;
  /*   background-color: #6079BE; */
  border-bottom: 1px solid rgba(240, 233, 233, 0.3);

}

.footer-box .grid-offer {
  width: 100%;
  display: grid;
  grid-template-columns: 3fr 1fr;
}

/* ITEM FONT */


.footer-box .mini .grid-offer-item {
  font-size: 16px;
  text-transform: capitalize;
  font-weight: 400;
  width: 100%;
  background-color: var(--bg-col-3);
}

.footer-box .list-offer .titolo-link-footer {
  font-size: 18px;
  font-weight: bold;
  text-transform: uppercase;
  /* background-color: #0e0101; */
  border: none;
  padding-bottom: 20px;
 }

.footer-box .mini .icon-png {
  /* background-color: #e42f93; */
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
  text-align: right;
}

.img-icon-png {
  width: 100%;
  width: 16px;
  height: 16px;
  margin: 0;
  padding: 0;
  object-fit: contain;
  /* background-color: #e42f9c; */
  
  /* padding-top: 5px; */
}

.footer-box .module-3-3-3-3-col-2 {
  background-color: #DBDED7;
  border-top-left-radius: 38px;
  border-bottom-right-radius: 38px;
  color: #0e0101;
  /* border-right-width: 1px;
  border-right-style: solid;
  border-right-color: rgba(240, 233, 233, 0.1); */
}

.footer-box .grid-system-6-6 {
  margin: 0;
  margin-top: 0px;
  padding: 20px 2.5rem 0 2.5rem;
  /* background-color: #110930; */
  border: none;
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: rgba(240, 233, 233, 0.6);

  
}



.footer-box p.designer {
  text-align: right;
  /* color: #d50c8c; */
}

.footer-box .special-align {
  align-items: end; /* Allinea gli elementi a sinistra */
  justify-content: flex-end; /* Allinea gli elementi in basso */
}


.footer-logo img {
  width: 16rem;
  height: auto;
  margin: 0;
  padding: 0;
  object-fit: contain;
  background-color: pink;
  /* padding-top: 5px; */
}

/* ========================= /FOOTER */


.basic-slider {
    width: 100%;
    max-width: var(--risoluzione-pc);
    min-height: 50px;
    margin: 0 auto !important;
    padding: 0;
    text-align: center;
    background-color: #8ecb3f;
}

.slider {
   margin: 0!important;
  padding: 0!important;
  width: 100%;
  cursor: pointer;
}



.wp-block-post-comments-form .wp-element-button {
  margin-top: 40px;
  border-radius: 12px;
}

.center-testimonials {
  text-align: center;
}


.box-price {
  padding: 0 4rem !important;
}


.uagb-rm__title, .uagb-rm__desc {
  margin-left: 22px;
}


.padding-news {
  padding: 0 4rem !important;
}


@media (max-width: 1024px) {
  
.uagb-rm__title, .uagb-rm__desc {
  margin-left: 0px;
}

.box-price {
padding: 0 2rem !important;
}

.padding-news {
  padding: 0 2rem !important;
}

}

@media (max-width: 768px) {
  
.uagb-rm__title, .uagb-rm__desc {
  margin-left: 0px;
}

.box-price {
padding: 0 1.5rem !important;
}

.padding-news {
  padding: 0 1.5rem !important;
}

}