html {
  overflow-x: hidden;
  font-size: 18px;
}

/* 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: #C44900;
  --elh-yellow: #FFE200;
  --elh--green: #0ABAB5;
  --elh--blue: #0ABAB5;
  --elh-verdeh: #DFF5F4;
}

.navbar {
  --bs-nav-link-color: #000000;
  --bs-navbar-color: #000000;
}

.color-orangerie {
  color: var(--orangerie) !important;
}

body h1, body h2 {
  /*font-family: var(--bs-font-serif);*/
  color: #042342 !important;
}
body h2 {
  -webkit-text-stroke: 1px #042342;
  -webkit-text-fill-color: transparent;
  text-transform: uppercase;
  font-size: 3.5rem;
}
body h2.h1 {
  font-size: 3.5rem;
}
body h4, body h5 {
  font-weight: 400;
}

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);*/
  }
}
.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: var(--bs-breadcrumb-bg);
}

#block-weblitz-theme-breadcrumbs a,
#block-weblitz-theme-breadcrumbs .breadcrumb-item {
  text-decoration: none;
  font-size: 1rem;
  line-height: 2;
}

#block-weblitz-theme-breadcrumbs a {
  color: #155425;
}


#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%;
  }
}

#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 {
  color: white;
  background: transparent;
}
.dati-personali-wrapper.accessibilita-wrapper .webform-element-description {
  color: #ffffff;
}
.dati-personali-wrapper.accessibilita-wrapper .webform-element-description a{
  color: var(--orangerie);
}





h1 {
  font-size: 3.5;
   font-weight: 700;
  -webkit-text-stroke: 1px #042342;
  -webkit-text-fill-color: transparent;
  text-transform: uppercase;
}
h2 {
  font-size: 2.5rem;
  text-transform: uppercase;
}

.top-bar {
 background-color: #0abab5;

}
.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;
  }
}
