html {
  overflow-x: hidden;
  font-size: 18px;
  line-height: 1.3;
}
::selection {
    background-color: #0ABAB5;
    color: #162640;
}

/* REQUIRED */
/* full width breakout */
.full-width {
  width: 100vw;
  margin-left: 50%;
  transform: translate3d(-50%, 0, 0);
}
@media(min-width: 768px){
  .full-width {
    width: calc(100vw - var(--scrollbar-width));
  }
}

/* A11Y */
.screen-reader-text {
  overflow: hidden;
  clip: rect(0,0,0,0);
  position: absolute !important;
  width: 1px;
  height: 1px;
  border: 0;
  word-wrap: normal !important;
}

a[target="_blank"]::after {
  content: '\f08e';
  font-family: "Font Awesome 7 Pro";
  display: inline-block;
  margin-left: 0.2em;
  width: 0.75em;
  height: 0.75em;
}

/* CUSTOM  */

:root {
  --bs-font-serif: "Lora", serif;
  --bs-nav-link-color: #000000;
  --bs-navbar-color: #000000;
}
:root {
  --orangerie: #EB6400;
  --elh-yellow: #FFE200;
  --elh--green: #0ABAB5;
  --elh--blue: #07BAB5;
  --elh-verdeh: #DFF5F4;
}

.navbar {
  --bs-nav-link-color: #000000;
  --bs-navbar-color: #000000;
}

.color-orangerie {
  color: var(--orangerie) !important;
}
.color-elh-green {
  color: var(--elh--green) !important;
}
.color-elh-yellow {
  color: var(--elh--green) !important;
}
.color-elh--green {
  color: var(--elh--green) !important;
}
.color-elh--blue {
  color: var(--elh--blue) !important;
}
.color-elh-verdeh {
  color: var(--elh--green) !important;
}

.bg-orangerie {
  background-color: var(--orangerie) !important;
}

body h1, body h2 {
  /*font-family: var(--bs-font-serif);*/
  color: #042342 !important;
}

h1 {
   font-weight: 700;
  -webkit-text-stroke: 1px #042342;
  -webkit-text-fill-color: transparent;
  text-transform: uppercase;
}

h2 {

  text-transform: uppercase;
  -webkit-text-stroke: 1px #042342;
  -webkit-text-fill-color: transparent;
}
body h4, body h5 {
  font-weight: 400;
}
/* it's a minor third */
h1, body h1, body .h1 {
  font-size: 3.5rem;
  line-height: 1.10;
}
h2, body h2, body .h2 {
  font-size: 2.5rem;
  line-height: 1.14;
}
h3, body h3, body .h3, .kicker {
  font-size: 2rem;
  line-height: 1.18;
}



footer {
  background-color: #ffffff;
  color: #000000;
}

body .navbar-toggler {
  border-radius: 2px;
}

body .navbar-toggler:focus {
  box-shadow: none;
}

#block-weblitz-theme-views-block-servizi-block-1 {
  background-image: url('/sites/default/files/2025-06/bg_servizi.jpg');
  background-size: cover;
}
.navbar-brand {
  /*width: 200px;*/
  display: inline-block;
  /* mobile fix - accomoda hamburger */
  max-width: calc(100vw - 100px);
}

@media(min-width: 992px){
  ul.menu--main li.nav-item a.nav-link.is-active {
    background-color: var(--elh-yellow);
  }
}

/*
@media(min-width: 992px){
  ul.menu--main li.nav-item:hover a.nav-link:after,
  ul.menu--main li.nav-item a.nav-link.is-active:after {
    content: '';
    width:100%;
    border-bottom: 10px solid #26303C;
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    transform: translateY(14px);
  }
  .path-frontpage ul.menu--main li.nav-item:hover a.nav-link:after {
     no breadcrumbs in frontpage fix 
    transform: translateY(18px);
  }

  ul.menu--main li.nav-item {
      position: relative;
  }

  .navbar-expand-lg {
      padding-top:0 !important;
      padding-bottom: 0 !important;
  }
}
*/

@media(min-width:992px){
  ul.menu--main li.nav-item a {
    font-weight: 400;
    padding: 1rem;
  }
  ul.menu--main li.nav-item:hover a.nav-link,
  ul.menu--main li.nav-item a.active {
    /* COMMENTATO 07 11 */
    /*background-color: rgba(145, 181, 8, 1);*/
    background-color: #ffe200;
    color: #1b2b3a;
  }
}
.max-height-100 {
  max-height: 100px;
  width: auto;
}
.max-height-150 {
  max-height: 150px;
  width: auto;
}

.max-height-400 {
  max-height: 400px;
  width: auto;
}


@media (max-width: 768px) {
  .sm-max-height-60 {
    max-height: 60px !important;
    width: auto;
  }
}

.page-title {
  margin-top: 2rem;
  margin-bottom: 2rem;
}


.trecoperture-background-dark-color {
    background-color: #24313c !important;
}

nav .collapse.navbar-collapse {
    align-items: end;
}

.card-header a {
  font-weight: 700;
  font-size: 1.5rem;
  text-decoration: none;
  color: #000000;
}

/*same height cards*/
.views-view-grid .row > .col > .card {
  height: 100%; 
}

.views-view-grid .row > [class^="col"]  > .card {
  height: 100%; 
}

.card:not(.card-overlayed){
  box-shadow: 0px 3px 20px rgba(0, 0, 0, 0.2);
}

.card.card-overlayed {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  color: white;
  border: none;
  display: flex;
  flex-direction: column;
  justify-content: flex-end; /* Spinge il contenuto in basso */
  padding: 1rem;
}

.card.card-overlayed  > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

.card.card-overlayed::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.5); /* overlay */
  z-index: 2;
  transition: background-color 0.3s ease;
}
.card.card-overlayed:hover::before {
  background-color: rgba(0, 0, 0, 0.1); /* overlay */
}

.card.card-overlayed .card-header,
.card.card-overlayed  p,
.card.card-overlayed .card-footer {
  position: relative;
  z-index: 3;
  margin: 0;
}

.card.card-overlayed p {
  margin: 0.5rem 0;
}

/* intern card vista overlay card */
.overlay-card-view .card-title {
  position: relative;
  z-index: 3;
}
.overlay-card-view .card-title a {
  color: #ffffff;
}

.card.card-overlayed .card-img-overlay {
  display: flex;
  flex-direction: column;
  justify-content: end;
}

.card.card-overlayed .overlay-card-link {
  display: inline-block;
  width: 100%;
  margin-top: 1rem;
}

.card.card-overlayed .card-img-overlay {
  position: static;
  margin: -1rem;
  z-index: 99;
}
.card.card-overlayed .card-img-overlay:hover {
  background-color: rgba(0,0,0,0.6);
  transition: background-color 0.3s ease;
}

/* minimum animation on hover */
.card {
  transition: box-shadow 0.2s ease;
  overflow: hidden;
}
.card:hover {
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
}
.card img {
  transition: transform 0.4s ease;
  transform: scale(1);
}

.card:hover img {
  transform: scale(1.02);
}



/* icone sezione i nostri punti forza */
#block-weblitz-theme-inostripuntidiforza i.fa-solid {
  font-size: 2.5rem;
  padding-bottom: 1rem;
}

#block-weblitz-theme-inostripuntidiforza i.fa-solid:after {
  content: " ";
  border-bottom: 0.5rem solid #66aabc;
  padding-bottom: 1rem;
  height: 0.5rem;
  display: block;
  width: 4rem;

}

/* breadcrumbs  */
#block-weblitz-theme-breadcrumbs {
  background-color: transparent;
  border-bottom: 1px solid var(--elh--green);
  /* pwx prefers */
  border-bottom: 1px dotted rgba(24,39,59,0.4);
  border-top: 1px dotted rgba(24,39,59,0.4);
}
#block-weblitz-theme-breadcrumbs nav {
  padding: 0 0.5rem;
}

#block-weblitz-theme-breadcrumbs nav ol.breadcrumb{
  margin-bottom: 0.25rem;
}

#block-weblitz-theme-breadcrumbs a,
#block-weblitz-theme-breadcrumbs .breadcrumb-item {
  text-decoration: none;
  font-size: 1rem;
  line-height: 1;
  text-transform: lowercase;
}
@media(min-width: 992px){
  #block-weblitz-theme-breadcrumbs a,
  #block-weblitz-theme-breadcrumbs .breadcrumb-item {
    line-height: 2;
  } 
}


#block-weblitz-theme-breadcrumbs a::first-letter,
#block-weblitz-theme-breadcrumbs .breadcrumb-item::first-letter {
  text-transform: uppercase;
}

#block-weblitz-theme-breadcrumbs a {
  color: #155425;
}

.navbar-expand-lg .navbar-nav {
  align-items: center;
}
.navbar-expand-lg .navbar-nav a,
.navbar-expand-lg .navbar-nav button{
  text-transform: uppercase;
}

#block-weblitz-theme-menuservizi .navbar-nav {
    display: flex;
    flex-direction: row;
    gap: 1rem;
    margin-bottom: 1rem;
}
@media (max-width: 991.98px) {
  #block-weblitz-theme-menuservizi .navbar-nav {
    flex-direction: column;
  }
}

/*@media(min-width: 992px){*/
  #block-weblitz-theme-menuservizi .navbar-nav li{
    flex: 1;
    border: 1px solid #91B508;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
/*}*/

#block-weblitz-theme-menuservizi .navbar-nav a {
  padding: 0.5rem 0.75rem    ;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  height: 100%;
}

#block-weblitz-theme-menuservizi .navbar-nav .nav-link.active,
#block-weblitz-theme-menuservizi .navbar-nav .nav-link.is-active{
    color: #000000;
    background-color: #91B508;
}

/*.navbar-collapse.collapse.show{
  position: absolute;
  top: 160px;
  background: white;
  z-index: 2;
  width: 100vw;
  margin-left: -12px;
  margin-right: -12px;
  padding: 0 12px;
}*/

@media (max-width: 991.98px) {
  .navbar-collapse {
    position: fixed !important;
    top: 111px;
    left: 0;
    right: 0;
    background: white;
    z-index: 1050;
    height: calc(100vh - 111px);
    overflow-y: auto;
    padding: 1rem;
    transition: opacity 0.3s ease-in-out;
    opacity: 0;
    pointer-events: none;
  }

  .navbar-collapse.show {
    opacity: 1;
    pointer-events: auto;
  }

  .navbar-collapse.collapsing {
    /* Disattiviamo del tutto l’effetto Bootstrap di “height animation” */
    height: auto !important;
    opacity: 0;
    transition: none;
  }
}

/* contact form */
@media (min-width: 768px) {
  .webform-submission-contact-form.row > .form-item-name,
  .webform-submission-contact-form.row > .form-item-email
   {
      flex: 0 0 auto;
      width: 50%;
  }
}
@media (min-width: 768px) {
  .webform-submission-iscriviti-alla-newsletter-form.row > .form-item-name,
  .webform-submission-iscriviti-alla-newsletter-form.row > .form-item-email,
  .webform-submission-iscriviti-alla-newsletter-form.row > .form-item-cognome,
  .webform-submission-iscriviti-alla-newsletter-form.row > .form-actions.webform-actions
   {
      flex: 0 0 auto;
      width: 25%;
  }
  .webform-submission-iscriviti-alla-newsletter-form.row .btn-primary.btn {
    width: 100%;
    margin-top: 2rem;
  }

  
}
  .iscriviti-alla-newsletter-webform {
    background-color: #042342;
    font-weight: 300;
  }

  .iscriviti-alla-newsletter-webform .form-item-dati-personali label {
    color: #ffffff;
  }
  

  .iscriviti-alla-newsletter-webform .dati-personali-wrapper.accessibilita-wrapper .webform-element-description {
    color: #ffffff;
  }

  .iscriviti-alla-newsletter-webform .form-control {
    border-radius: 0;
  }

#block-weblitz-theme-views-block-servizi-block-1 footer,
#block-weblitz-theme-views-block-news-block-1 footer {
  background-color: transparent;
}

.btn-arrow {
  position: relative;
}
.btn-arrow:after {
  font-family: 'Font Awesome 7 Pro';
  content: "\f061";
  font-size: 1rem;
  margin-left: 0.5rem;
}

.btn-download {
  position: relative;
}
.btn-download:after {
  font-family: 'Font Awesome 7 Pro';
  content: "\f019";
  font-size: 1rem;
  margin-left: 0.5rem;
}

.menu-block-interne-servizi {
  margin-top: 3rem;
  margin-bottom: 3rem;
}

.region-hero-slider .slide__description h2 {
  font-size: 2rem;
}

@media(min-width: 768px){
  .region-hero-slider .slide__description h2 {
    font-size: 2.5rem;
    font-family: var(--bs-font-sans-serif) !important;
  }
  .region-hero-slider .slide__description h3 {
    font-weight: 200;
  }
  .region-hero-slider .slide__description h2,
  .region-hero-slider .slide__description h3 {
    color: #ffffff !important;
    text-align: left;
  }
}

.region-hero-slider .slide__description {
  text-align: center;
  background-color: rgba(3, 104, 108, 0.84);
  padding: 2rem;
}

@media(min-width: 768px){
  .region-hero-slider .slide__description {
    text-align: center;
    background-color: rgba(3, 104, 108, 0.84);
    max-width: 50%;
    /*margin: auto;*/
  }
}

@media(min-width: 768px){
  .slick-slider-wrapper {
    /*height: calc(100vh - 110px);*/
    /*overflow: hidden;*/
  }
}

.region-hero-slider .slide__description {
  font-family: var(--bs-font-sans-serif);
  font-size: 2rem;
}

@media (min-width: 1400px) {
  .full-width .slide__constrained{
    width: 1320px;
    margin-left: -660px;
  }
}


@media (min-width: 64em) {
  .slide__constrained > .slide__caption {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }
}

.region-hero-slider .slide__constrained {
  padding-top: 0;
}

/* piccoli fix cards */
.card.card-overlayed .card-img-overlay {
  padding: 2rem;
}
.card-header {
  padding-bottom: 1rem !important;
}


@media (max-width: 768px) {
  .slide__constrained {
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }
}

.webform-submission-form fieldset.card {
  box-shadow: none;
}

.webform-submission-form fieldset .card-header {
  display: none;
}
.webform-submission-form fieldset .card-body {
  padding-left: 0;
}

.cta-misty {
  background: linear-gradient(90deg,rgba(21, 84, 37, 0.1) 0%, rgba(255, 255, 255, 1) 60%);
}

#block-weblitz-theme-pianinutrizionalisupportoeconsulenza {
  padding-top: 2rem;
  padding-bottome: 2rem;
}
#block-weblitz-theme-pianinutrizionalisupportoeconsulenza .col-md-2 i{
  font-size: 3rem;
}

.contact-bg {
  background-image: url('/sites/default/files//2025-06/contact.jpg');
  background-size: cover;
}
.form-check-input:checked {
  background-color: #91b508;
  border-color: #91b508;
}

/* wcag2 fieldset - webform - fix */
.dati-personali-wrapper.accessibilita-wrapper {
  background: transparent;
}
.dati-personali-wrapper.accessibilita-wrapper .webform-element-description {
  color: inherit;
}
.dati-personali-wrapper.accessibilita-wrapper .webform-element-description a{
  color: var(--orangerie);
}







.top-bar {
 background-color: #fff;

}
.top-bar p {
  margin-bottom: 0;
}
.top-bar a {
   color: #000000;
}
#block-weblitz-theme-socials {
  display: flex;
  justify-content: end;
}

a.nav-link {
  color: #000000;
}
@media(min-width: 992px){
  a.navbar-brand{
    margin-top: -1rem;
    padding-top: 0;
  }
}

ul.menu--main a:not(.is-active)::after {
    content: '';
    transition: opacity 0.3s;
    opacity: 0;
    transition-delay: 0s;
}

ul.menu--main a:not(.is-active)::before, ul.menu--main a::after {
    position: absolute;
    width: 60%;
    margin: 0 20%;
    height: 2px;
    background: #FFEB3B;
    top: 100%;
    left: 0;
    pointer-events: none;
}

ul.menu--main a:hover::after {
    opacity: 1;
    transition-delay: 0.3s;
}
ul.menu--main a:hover::before {
    opacity: 1;
    animation: lineUp 0.3s 
ease forwards;
}

ul.menu--main a::after {
    content: '';
    transition: opacity 0.3s;
    opacity: 0;
    transition-delay: 0s;
}

ul.menu--main a:hover::after {
    opacity: 1;
    transition-delay: 0.3s;
}

ul.menu--main a::before {
    opacity: 0;
}
ul.menu--main a::before {
    content: '';
}
ul.menu--main a {
  position: relative;
}
ul.menu--main a:hover::before {
    opacity: 1;
    animation: lineUp 0.3s ease forwards;
}

@keyframes lineUp {
    0% {
        transform-origin: 50% 100%;
        transform: scale3d(1, 0.045, 1);
    }

    50% {
        transform-origin: 50% 100%;
        transform: scale3d(1, 1, 1);
    }

    51% {
        transform-origin: 50% 0%;
        transform: scale3d(1, 1, 1);
    }

    100% {
        transform-origin: 50% 0%;
        transform: scale3d(1, 0.045, 1);
    }
}

.descrizione-slide::after {
  content: "";
  position: absolute;
  top: 0;
  right: -100px;
  width: 100px;
  height: 100%;
  background: inherit;
  clip-path: polygon(0 0, 100% 0, 0 100%);
  z-index: 999;
}
.descrizione-slide {
  background: var(--elh-verdeh);
  position: relative;
}
.immagine-slide {
  position: relative;
}
.immagine-slide img {
  width: 100%;
}

.card-img-overlayed {
  top: unset;
  bottom: 0;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  justify-content: end;
  padding: 2rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.41) 0%, rgba(4, 35, 66, 0.25) 51%, rgba(4, 35, 66, 0.65));
   background-position: top;
}
    
.card:hover .card-img-overlayed {
  background: transparent;
}

.on-hold-badge {
  width: fit-content;
  position: absolute;
  top: 1.5rem;
  z-index: 9999;
} 
.card.card--course {

}
.card.card--course .card-img-overlayed {
  padding: 1rem 2rem;
}
  
/*.immagine-header-corso img {
  width: 100% !important;
}
*/

/* pagina prodotto corso */
.course-header {
  position: relative;
  margin-top: 2rem;
  margin-bottom: 1.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 300px;
}
.course-header--with-bg {
  background-size: cover;
  background-position: center;
}
.course-header__status {
  display: inline-block; /*fix blockification*/
  align-self: flex-start; /*fix flex-stretch*/
  margin-top: 1rem;
  padding: 0.5rem 1rem;
  color: #ffffff;
  text-transform: uppercase;
  font-size: 0.75rem;
}
.course-header__status--pending {
  background-color: #eb6400;
}
.course-header__status--confirmed {
  background-color: #eb6400;
}
.course-header__status--pending:before {
  font-family: "Font Awesome 7 Sharp";
  content: "\f06a";
  margin-right: 1rem;
}
.course-header__status--confirmed:before {
  font-family: "Font Awesome 7 Sharp";
  content: "\e102";
  margin-right: 1rem;
}
.course-header__category {
  color: #0abab5;
  font-size: 1.5rem;
  line-height: 1;
  font-weight: 600;
  text-transform: uppercase;
}
.course-header__title {
  color: #ffffff !important;
  font-weight: 600;
  font-size: 2rem;
  -webkit-text-stroke: unset;
  -webkit-text-fill-color: unset;
}
@media(min-width:992px){
  .course-header__title {
    font-size: 2.75rem;
  }
}

.course-summary {
  font-size: 1.5em; /* ingrandiamo tutto 1.5x */
  line-height: 1.25;
}
.course-webform__to_be_confirmed {
  margin-top: 2rem;
  background-color: #dff5f4;
  padding: 1.5rem;
}

/* add to cart tweaks */
.elh-course-infos-and-cart-container {
  margin-top: 2rem;
    background-color: #dff5f4;
    padding: 1.5rem;
}
.elh-courses-add-to-cart-container label.form-label {
  display: block;
}

.elh-courses-add-to-cart-container button.qty-minus,
.elh-courses-add-to-cart-container input.qty-input.form-control,
.elh-courses-add-to-cart-container button.qty-plus {
  display: inline-block;
  border: none;
}
.elh-courses-add-to-cart-container button.qty-minus,
.elh-courses-add-to-cart-container button.qty-plus  {
background-color: transparent;
}
.elh-courses-add-to-cart-container input.qty-input.form-control {
  width: unset;
  border-radius: 0;
  width: 6rem;
}
.elh-courses-add-to-cart-container input.qty-input.form-control:focus{
  box-shadow: 0 0 0 1px rgba(13, 110, 253, .25);
}

.elh-courses-add-to-cart-container button.qty-plus {

}

.elh-courses-add-to-cart-container .button--add-to-cart {
  background-color: var(--elh-yellow);
}

body.path-product .alert-success.show.alert {
  color: #162640;
  border-radius: 0;
  margin-top: 2rem;
  background-color: #bddda9;
  background: transparent;
  border: 3px solid #78c4bc;
}

.cart-icon-wrapper {
  display: inline-block;
  position: relative;
}

.cart-icon-wrapper .cart-badge {
  position: absolute !important;
  top: -0.375rem !important;
  right: -0.75rem !important;
  font-size: 0.6rem;
  min-width: 1rem;
  height: 1rem;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* emmess breadcrumb home */
/*#block-weblitz-theme-breadcrumbs .breadcrumb-item:first-child a{
  position: relative;
  color: transparent; 
  display: inline-block;
  width: 20px;
  height: 20px;
}
.breadcrumb-item:first-child a::before {
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 310 299.01'%3E%3Cpath fill='%23042342' d='M155.33,0L0,89.33v209.67h310V89.33L155.33,0ZM24.25,274.81v-92.29l131.08-75.86,52.67,30.67v50.67l-52.67-30.67-77.83,44.5v72.98H24.25ZM208,216l-52.67,31-54-31,54-31,52.67,31ZM101.5,274.81v-30.81l53.79,30.81h-53.79ZM155.37,274.81l76.63-44.81v-106.67l-76.67-44.75L24.25,154.44v-50.44L155.33,28l130.67,76v170.81h-130.63Z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}*/

/* ci hanno scelto block */

@media (min-width: 992px) {
  #block-weblitz-theme-views-block-partners-block-1 {
    background-color: var(--elh-verdeh);
  }
  #block-weblitz-theme-views-block-partners-block-1 .row{
    align-items: center;
  }
  #block-weblitz-theme-views-block-partners-block-1 header {
    width: 25% !important;
  }
  #block-weblitz-theme-views-block-partners-block-1 .slick--view--partners {
    width: 75% !important;
  }
}