/*
Theme Name: Esculapio V1
Theme URI: https://ilsitoideale.it
Author: Fabio Fais
Author URI: https://ilsitoideale.it
Description: Hand-coded theme optimized for medical themed websites or web services.
Version: 1.0
Requires at least: 5.0
Tested up to: 5.4
Requires PHP: 7.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: esculapio
This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/

/* ! Reset */
body, html{ font-size: 16px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif; box-sizing: border-box;margin: 0;padding: 0;}
*,*:before,*:after{ box-sizing: border-box; }
h1,h2,h3,h4,h5,h6, p, ol, ul{margin: 0;padding: 0;}
ol,ul{list-style-type: none;}
img{height: auto;}
a{text-decoration: none;}
hr{border:none; border-bottom: 1px solid #ddd}

a{text-decoration: none;color: #fff}
p{line-height: 1.3}

* {
  transition: all 0.3s ease;
  /* Imposta una transizione fluida per tutte le proprietà */
  animation-timing-function: ease;
  /* Specifica una funzione di temporizzazione fluida per le animazioni */
}

.spacer{height: 170px;}

/* ! Title System */
.text-0{font-size: 5rem; line-height: 1;}
h1, .text-1{font-size: 3.4rem;}
h2, .text-2{font-size: 2.2rem;}
h3, .text-3{font-size: 1.5rem;}
h4, p, .text-4{font-size: 1rem;}

h1, h2, h3, h4, p, ol, ul{margin-bottom: 1rem;}


@media (max-width: 768px) {
  .text-0{font-size: 2.3rem!important}
}

/* ! Button system */


/* .button--small{  padding: 10px 20px;font-size: 1rem;}
.button--round{background: #fff; color:#000; padding: 15px 30px; border-radius: 100px; font-weight: bold;}
.button--round:hover{background: #000; color:#fff;}
.button--round-outline{background: transparent; color:#fff; padding: 15px 30px; border-radius: 100px; font-weight: bold;border: 1px solid #fff}
.button--round-outline:hover{background: #fff; color:#000;} */








/* ! Header */
/*----------------------------------------------------------------------------------- */
.header-container{position: fixed;background:transparent;top:0;left:0;z-index: 9999;width: 100%;opacity: 1;transition: opacity 0.5s ease-in-out;}
.hidden {
    opacity: 0;
    pointer-events: none; /* Evita interazioni con l'header quando è nascosto */
}
.logged-in .header-container{top:30px}
.header{ display: flex;  justify-content: space-between;width: 100%;max-width: 1250px;margin: 0 auto}
.header a{color:#fff; display: block; padding: 15px;}
.header__nav-container {
  display: flex;
  justify-content: flex-end; /* Allinea il menu e il pulsante a destra */
}

.header__menu{margin-bottom: 0;}
.header__menu li{display: inline-block;}
.header__logo {
  display: flex; /* Utilizza Flexbox per allineare gli elementi */
  align-items: center; /* Allinea verticalmente al centro */
  text-decoration: none; /* Rimuove la sottolineatura del link */
  transform: translateY(-20px);
}

.header a.header__logo{font-weight: bold;padding: 0;}
.header__logo img{
  height: 80px;
  margin: 10px;
  max-width: 100px; /* Esempio: Imposta una larghezza massima per il logo */
  margin-right: 10px; /* Margine a destra per separare il logo dal testo */
}

.header__logo h3 {
    display: inline-block;
    margin: 0; /* Rimuove il margine predefinito del titolo */
    font-size: 1.5rem; /* Esempio: Dimensione del carattere del titolo */
    transform: translateY(-45px);
  }

.header__hamburger{display: none;}

@media (min-width: 768px) {
  .header-container{padding: 4%; background: transparent; transition: all 1s cubic-bezier(.215, .61, .355, 1);}
  .scroll-down .header-container{padding: 1%;}
}


@media (max-width: 768px) {
  .header-container{margin-top: 20px;}
  .header__logo h3{font-size: 1.3rem!important;}
  .header__hamburger{display: block;width: 40px;height: 35px; margin-top: 9px;margin-right: 4px;}
  .header__hamburger span{width: 33px;height: 2px;background: #fff;margin-top: 8px;display: block;transition: all 0.15s cubic-bezier(.215, .61, .355, 1);}
  .header__menu{position:absolute;top:80px; left:0; width: 100%;background: #169244;height: 0;overflow: hidden;transition: height 0.5s ease, opacity 0.5s ease; ;}
  .header__menu li{display: block; font-size: 1.2rem; padding-top: 10px;}

  .menu-open .header__hamburger span:nth-child(1){transform: translateY(5px) rotate(45deg);}
  .menu-open .header__hamburger span:nth-child(2){transform: translateY(-5px) rotate(-45deg);}

  .menu-open .header__menu{height: 100vh;transition: none;}
  
  .header__menu.menu-closing {
    height: 0; /* Riduci l'altezza del menu a 0 durante la chiusura */
    opacity: 0; /* Rendi il menu invisibile */
  }
  
  .header__menu.menu-closing-transition {
    height: 100vh; /* Imposta un'altezza temporanea per la transizione */
    opacity: 1; /* Mantieni visibile il menu durante la transizione */
    pointer-events: none; /* Evita interazioni con il menu durante la transizione */
  }
 
}

/* ! PATENTS */

/* Cambia lo sfondo di tutta la pagina SOLO per .page-id-322 */
.page-id-322 {
  background: #fff !important;
}

/* Nasconde la sezione .cover solo su .page-id-322 */
.page-id-322 .cover {
  display: none !important;
}

.page-id-322 .header-container {
  background: #41624C !important;
}

@media (min-width: 1024px) {
  /* RIDUCE L'ALTEZZA DELL'HEADER MA SENZA STRINGERE TROPPO */
  .page-id-322 .header-container {
      height: 80px !important; /* Aumenta leggermente per dare più spazio */
      display: flex;
      align-items: center; /* Mantiene il contenuto centrato */
      overflow: hidden;
  }

  /* PERMETTE DI ABBASSARE IL CONTENUTO */
  .page-id-322 .header {
      width: 100%;
      max-width: 1250px;
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      align-items: center;
      height: 100%;
      padding-top: 10px; /* Questo abbassa gli elementi */
  }

  /* ABBASSA IL LOGO */
  .page-id-322 .header__logo {
      display: flex;
      align-items: center;
      transform: translateY(5px); /* Abbassa solo il logo */
  }

  /* ABBASSA IL MENU */
  .page-id-322 .header__nav-container {
      display: flex;
      align-items: center;
      transform: translateY(5px); /* Abbassa solo il menu */
  }

  /* ABBASSA IL PULSANTE "CONTACT US" */
  .page-id-322 .button-2 {
      display: flex;
      align-items: center;
      justify-content: center;
      height: 35px;
      padding: 8px 15px;
      transform: translateY(5px); /* Abbassa solo il pulsante */
  }

 /* Allinea perfettamente tutti gli elementi nella stessa riga */
 .page-id-322 .header {
  display: flex;
  align-items: center; /* Allinea verticalmente tutti gli elementi */
}

/* Allinea perfettamente la scritta */
.page-id-322 .header__logo h3 {
  transform: translateY(3px); /* Regola la posizione per allinearla */
}

/* Allinea perfettamente il pulsante */
.page-id-322 .button-2 {
  position: relative; /* Permette di spostarlo senza alterare gli altri elementi */
  top: 30px !important; /* Regola l'altezza manualmente */
}

}

@media (max-width: 768px) {
  /* Forza il colore di sfondo dell'intera pagina per eliminare la banda bianca */
  .page-id-322 body, 
  .page-id-322 html {
      background-color: #41624C !important;
      margin: 0 !important;
      padding: 0 !important;
  }

  /* Forza l'header a non lasciare spazi sopra */
  .page-id-322 .header-container {
      margin-top: 0 !important;
      padding-top: 0 !important;
      background-color: #41624C !important; /* Assicura che non sia trasparente */
  }

  /* Evita che la navbar crei spazio extra */
  .page-id-322 .header {
      margin: 0 !important;
      padding: 0 !important;
  }

  /* Sposta verso il basso logo, scritta e hamburger */
  .page-id-322 .header {
    display: flex;
    align-items: center;
    padding-top: 8px !important; /* Aggiunge spazio sopra */
}

/* Sposta verso il basso il logo */
.page-id-322 .header__logo {
    display: flex;
    align-items: center;
    transform: translateY(1px); /* Abbassa solo il logo */
}

/* Sposta verso il basso la scritta */
.page-id-322 .header__logo h3 {
    transform: translateY(1px); /* Abbassa solo la scritta */
}

/* Sposta verso il basso il menu hamburger */
.page-id-322 .header__hamburger {
    transform: translateY(1px); /* Abbassa solo il menu */
}

/* Cambia il colore di sfondo del menu mobile aperto per essere uguale all'header */
.page-id-322 .header__menu {
  background-color: #41624C !important; /* Stesso colore dell'header */
  position: absolute !important;
  top: 100px !important; /* Aumenta gradualmente fino a trovare il valore perfetto */
}

/* Rimuove qualsiasi margine o padding che possa creare la banda bianca */
.page-id-322 .header__menu,
.page-id-322 .header-container {
  margin: 0 !important;
  padding: 0 !important;
}
}

@media (min-width: 1024px) {
  /* Assicura che il footer abbia un'altezza adeguata */
  .page-id-322 .footer {
      height: auto !important; 
      min-height: 100px !important; /* Regola questo valore in base alle esigenze */
      padding: 20px 0 !important; /* Ripristina lo spazio interno */
  }

  /* Elimina lo spazio bianco sotto il footer */
  .page-id-322 .site-wrapper,
  .page-id-322 #page,
  .page-id-322 body {
      min-height: 100vh !important; /* Assicura che il contenitore riempia l'intera altezza */
      display: flex;
      flex-direction: column;
  }

  /* Assicura che il footer rimanga in basso */
  .page-id-322 #main {
      flex-grow: 1; /* Spinge il footer in fondo */
  }
}

/* ! Accordion */
.accordion {
  width: 100%;
  max-width: 1000px;
  box-sizing: border-box;
  margin: 0 auto;
}

.accordion-container {
  display: flex;
  align-items: center; /* Centra verticalmente */
  justify-content: center; /* Centra orizzontalmente se necessario */
  gap: 40px; /* Distanza tra immagine e accordion */
}

.accordion-item {
  border-radius: 15px;
  border: 1px solid #137a3f;
  background: #EAFCEF;
  margin-bottom: 10px;
  overflow: hidden;
}

.accordion-header {
  width: 100%;
  background: #EAFCEF;
  color: #137a3f;
  font-size: 18px;
  font-weight: bold;
  text-align: left;
  padding: 15px;
  border: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  border-radius: 15px;
}

.accordion-header .icon {
  background: #137a3f;
  color: white;
  width: 35px;
  height: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 16px;
  transition: transform 0.3s ease-in-out;
}

.accordion-content {
  padding: 15px;
  display: none;
}

.accordion-item.active .accordion-content {
  display: block;
}

.accordion-item.active .icon {
  transform: rotate(180deg);
}

.accordion-content p {
  margin-bottom: 10px;
  line-height: 1.6;
  font-size: 18px; /* Adatta la grandezza del testo principale */
  text-align: justify;
}

.accordion-content ul {
  padding-left: 20px;
  list-style-type: disc;
}

.accordion-content ul li {
  margin-bottom: 5px;
  font-size: 18px; /* Uniforma la dimensione della lista */
}

.accordion-content strong {
  font-weight: bold;
  font-size: 20px; /* Aumenta leggermente il titolo per evidenziarlo */
}

@media (max-width: 768px) {
    
  /* Aggiunge margini laterali SOLO per page-id-322 */
  .page-id-322 .accordion,
  .page-id-322 .accordion-item,
  .page-id-322 .accordion-content,
  .page-id-322 .img,
  .page-id-322 .heading-1,
  .page-id-322 .heading-2 {
      padding-left: 20px;
      padding-right: 20px;
      box-sizing: border-box;
  }

  /* Riduce leggermente la dimensione del font per heading-2 su mobile */
  .page-id-322 .heading-2 {
      font-size: 1.6rem; /* Regola questa dimensione se vuoi ridurlo ancora */
  }

  /* Mantiene il footer a larghezza piena */
  .page-id-322 footer {
      padding-left: 0;
      padding-right: 0;
  }
}


/* ! Index */
/*----------------------------------------------------------------------------------- */


/* ! Single */
/*----------------------------------------------------------------------------------- */


/* ! Footer */
/*----------------------------------------------------------------------------------- */
.footer{background: #169244;}
.col-33.v-center {
  display: flex;           
  align-items: center;     
  justify-content: center;
  text-align: center;      
}

.col-33.v-center img {
  width: 90px;
  height: auto; 
  justify-items: center;
}


@media (max-width: 768px) {
  .col-33{
    display: flex;           
    align-items: center;     
    justify-content: center;
    text-align: center; }
}

@media (max-width: 768px) {
  .custom-column-container {
    flex-direction: column;
  }
  .custom-column-text {
    order: 2;
  }
  .custom-column-image {
    order: 1;
  }
}

@media (max-width: 768px) {
  .wp-image-mod {
   max-width: 90%;
   margin-left: auto;
   margin-right: auto;
   
}
}

/* ! Grid System */
/*----------------------------------------------------------------------------------- */
.grid{display: flex; flex-wrap: wrap; max-width: 1250px; margin: 0 auto}
.grid--small{max-width: 900px}
.grid--center{justify-content: center;}
.grid--full{max-width: 100%}

.col-20{width:20%}
.col-25{width:25%}
.col-30{width:30%}
.col-33{width:33.33%}
.col-40{width:40%}
.col-50{width:50%}
.col-60{width:60%}
.col-70{width:70%}
.col-80{width:80%}
.col-90{width:90%}
.col-100{width:100%}

[class*='col-']{padding: 10px;}

.grid--full [class*='col-'],
.grid .grid [class*='col-'] {padding: 0;}


@media (max-width: 768px) {
  [class*='col-']{width: 100%}
  .sma-33{width: 33.33%}
  .sma-50{width: 50%}
  .sma-25{width: 25%}
}


/* ! Helpers */
/*----------------------------------------------------------------------------------- */


.br{border: 1px solid red;}
.img-res{width: 100%;}
.video-res{width: 100%;height: 100%;overflow: hidden;}
.video-res video{width: 100%;height: 100%;object-fit: cover}
.overflow{overflow: hidden;}

.mt-0{margin-top: 0;}
.mt-1{margin-top: 1rem;}
.mt-2{margin-top: 2rem;}
.mt-3{margin-top: 3rem;}
.mt-4{margin-top: 4rem;}

.mb-0{margin-bottom: 0;}
.mb-1{margin-bottom: 1rem;}
.mb-2{margin-bottom: 2rem;}
.mb-3{margin-bottom: 3rem;}
.mb-4{margin-bottom: 4rem;}

.text-center{text-align: center}
.text-left{text-align: left}
.text-right{text-align: right}

.p-0{padding: 0;}
.p-1{padding: 1rem;}
.p-2{padding: 2rem;}
.p-3{padding: 3rem;}
.p-4{padding: 4rem;}

.pt-0{padding-top: 0;}
.pt-1{padding-top: 1rem;}
.pt-2{padding-top: 2rem;}
.pt-3{padding-top: 3rem;}
.pt-4{padding-top: 4rem;}

.pb-0{padding-bottom: 0;}
.pb-1{padding-bottom: 1rem;}
.pb-2{padding-bottom: 2rem;}
.pb-3{padding-bottom: 3rem;}
.pb-4{padding-bottom: 4rem;}

.pr-2{padding-right: 2ren;}

.icon-small{width: 40px;padding: 8px;}
.icon-white{filter: invert(1);}
.bg-dark{background: #000;}
.text-white{color:#fff}
.text-dark{color:#000}
.v-center{display: flex; justify-content: center; flex-flow: column;align-items: flex-start;}
.max-width-1{width: 1440px;}


.font-normal{font-weight: 400;}

.none{display: none;}
@media (max-width: 768px) {
  .sma-none{display: none;}
}


@media (min-width: 768px) {
  .desktop-none{display: none;}
}


/* ! Wordpress Styles */
/*----------------------------------------------------------------------------------- */

input, textarea{border: 3px solid #ddd; border-radius: 3px;padding: 10px;}
input[type=submit], button{border: 3px solid #ddd; background: #ddd; border-radius: 3px;padding: 10px;}

.form-search{width: 100%;border: 3px solid #ddd;border-radius: 100px; padding-left: 15px;}
.form-search input{width: calc(100% - 40px); border:none; background:#111; color: #fff;}
.form-search button{padding: 0;background:transparent; border: none;}
.form-search img{width: 25px;margin-bottom: -8px; filter: invert(1);}


.alignfull{width: 100vw;margin-left: calc(50% - 50vw);}
.alignwide{width: 90vw;margin-left: calc(50% - 45vw);}

