/* ensoul-blocks css vars overrides */
@font-face {
  font-family: Arnhem;
  src: url("./fonts/Arnhem/Arnhem-Normal.woff");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: Arnhem;
  src: url("./fonts/Arnhem/Arnhem-NormalItalic.woff");
  font-weight: 400;
  font-style: italic;
}

@font-face {
  font-family: Arnhem;
  src: url("./fonts/Arnhem/Arnhem-SemiBold.woff");
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: Arnhem;
  src: url("./fonts/Arnhem/Arnhem-SemiBoldItalic.woff");
  font-weight: 500;
  font-style: italic;
}

@font-face {
  font-family: Arnhem;
  src: url("./fonts/Arnhem/Arnhem-Bold.woff");
  font-weight: 600;
  font-style: normal;
}

@font-face {
  font-family: Arnhem;
  src: url("./fonts/Arnhem/Arnhem-BoldItalic.woff");
  font-weight: 600;
  font-style: italic;
}

:root {
  --color-primary-300: #5481B3;
  --color-primary-400: #30639B;
  --color-primary-500: #0C4584;
  --color-primary-600: #0a376a;
  --color-secondary-500: #DBE3E4;

  --font-serif: Arnhem, Georgia, 'Times New Roman', Times, serif;
	
	/* Accordion */
	--color-border-accordion:#0C4584;
	--spacing-accordion-x: 16px;
	--spacing-accordion-y: 16px;

  /* video-slider */
  --color-slide-background: #fff;

  /* Button */
  --spacing-button-icon-width: 8px;

  /* Columns sizes */
  --spacing-columns: 24px;

  /* heading sizes */
  --text-heading-xs: 16px;
  --text-heading-sm: 40px;
  --text-heading-base: 60px;
  --text-heading-lg: 72px;
  --text-heading-xl: 92px;
  --text-heading-2xl: 112px; /*huge*/

  --text-heading-xs--line-height: 24px;
  --text-heading-sm--line-height: 50px;
  --text-heading-base--line-height: 80px;
  --text-heading-lg--line-height: 95px;
  --text-heading-xl--line-height: 92px;
  --text-heading-2xl--line-height: 148px;
  --tracking-heading: 0.1rem;

  /* paragraph sizes */
  --text-paragraph-xs: 12px;
  --text-paragraph-sm: 14px;
  --text-paragraph-base: 16px;
  --text-paragraph-lg: 18px;
  --text-paragraph-xl: 20px;
  --text-paragraph-2xl: 24px;
  --text-paragraph-3xl: 36px;

  --text-paragraph-xs--line-height: 16px;
  --text-paragraph-sm--line-height: 22px;
  --text-paragraph-base--line-height: 24px;
  --text-paragraph-lg--line-height: 24px;
  --text-paragraph-xl--line-height: 28px;
  --text-paragraph-2xl--line-height: 32px;
  --text-paragraph-3xl--line-height: 50px;

  /* slider */
  --slider-arrow-icon-size-mobile: 19px;

  /* columns */
  --spacing-container-columns: 960px;
}

.font-serif {
  /* paragraph sizes con font serif */
  --text-paragraph-xs: 12px;
  --text-paragraph-sm: 14px;
  --text-paragraph-base: 16px;
  --text-paragraph-lg: 18px;
  --text-paragraph-xl: 24px;
  --text-paragraph-2xl: 30px;
  --text-paragraph-3xl: 48px;

  --text-paragraph-xs--line-height: 16px;
  --text-paragraph-sm--line-height: 18px;
  --text-paragraph-base--line-height: 21px;
  --text-paragraph-lg--line-height: 24px;
  --text-paragraph-xl--line-height: 32px;
  --text-paragraph-2xl--line-height: 40px;
  --text-paragraph-3xl--line-height: 56px;
}


body {
  background-color: var(--color-secondary-50);
  color: var(--color-primary-500);
}

strong {
  font-weight: 700;
}

.components-popover {
  z-index: 30;
}

.h1, .h2, .h3, .h4, .h5, .h6,
h1, h2, h3, h4, h5, h6, em,
.hero-pagination,
.font-arnhem {
  font-family: var(--font-serif);
}

h1,
.h1 {
  font-size: var(--text-heading-base);
  line-height: var(--text-heading-base--line-height);
}

h2,
.h2 {
  font-size: var(--text-heading-sm);
  line-height: var(--text-heading-sm--line-height);
}

h3,
.h3 {
  font-size: var(--text-heading-xs);
  line-height: var(--text-heading-xs--line-height);
}

:where(.wp-site-blocks *:focus) {
  outline: none !important;
}
:where(.wp-site-blocks) > * {
  margin-block-start: 0;
}

.ens-btn svg {
  transition-property: transform, translate, scale, rotate;
  transition-timing-function: ease-in-out;
  transition-duration: 300ms;
}

.no-default-animation .ens-btn:hover svg, .download_button .ens-btn:hover svg {
  transform: none;
}

.ens-btn.ens-btn-primary {
  --spacing-padding-button: 8px 16px;
  font-size: 12px;
  font-weight: 800;
  --border-color-button-color: var(--color-primary-500);
  --border-width-button-width: 1px;
  border-left-style: solid;
  border-right-style: solid;
  border-top-style: solid;
  border-bottom-style: solid;
  border-radius: 4px;
  justify-content: space-between;
  --color-button: var(--color-primary-500);
  --color-button-hover: var(--color-primary-500);
  --color-button-background: none;
  --color-button-background-hover: inherit;
}

.ens-btn.ens-btn-primary:hover {
  background: rgba(255, 255, 255, 0.5)
}

.ens-btn.ens-btn-primary svg {
  width: 16px;
  height: auto;
}

.ens-btn.ens-btn-secondary {
  --spacing-padding-button: 8px 16px;
  font-size: 12px;
  font-weight: 800;
  --border-color-button-color: var(--color-white);
  --border-width-button-width: 1px;
  border-left-style: solid;
  border-right-style: solid;
  border-top-style: solid;
  border-bottom-style: solid;
  border-radius: 4px;
  justify-content: space-between;
  --color-button: var(--color-white);
  --color-button-hover: var(--color-primary-500);
  --color-button-background: none;
  --color-button-background-hover: inherit;
  svg {
    margin-right: 2px;
  }
}

.ens-btn.ens-btn-secondary:hover {
  background: rgba(255, 255, 255, 0.5)
}

.ens-btn.ens-btn-secondary svg {
  width: 16px;
  height: auto;
}


.ens-btn.ens-btn-tertiary {
  --spacing-padding-button: 0 0;
  --decoration-button: none;
  --decoration-button-hover: none;
  border: none;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 800;
  justify-content: space-between;
  --color-button: white;
  --color-button-hover: white;
  --color-button-background: none;
  --color-button-background-hover: inherit;
  svg {
    margin-right: 2px;
  }
}

.ens-btn.ens-btn-quaternary {
  --spacing-padding-button: 8px 16px;
  --decoration-button: none;
  --decoration-button-hover: none;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 800;
  justify-content: space-between;
  --border-color-button-color: var(--color-primary-600);
  --border-width-button-width: 1px;
  --color-button: white;
  --color-button-hover: var(--color-primary-600);
  --color-button-background: var(--color-primary-600);
  --color-button-background-hover: white;
  --radius-button: 9999px;
}

.ens-btn.ens-btn-quinary {
  --spacing-padding-button: 8px 16px;
  --decoration-button: none;
  --decoration-button-hover: none;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 800;
  justify-content: space-between;
  --border-color-button-color: var(--color-primary-600);
  --border-width-button-width: 1px;
  --color-button: var(--color-primary-600);
  --color-button-hover: white;
  --color-button-background: white;
  --color-button-background-hover: var(--color-primary-600);
  --radius-button: 9999px;
}

.ens-btn.ens-btn-sextuary {
  display: none;
}

.cta_back_single_post_type {
  position: absolute;
  z-index: 11;
  left: 0;
  right: 0;
  margin: 0 auto;
  top: 20%;
}

.reduce-gap-columns {
	--spacing-columns: 8px;
}

/* Header link */
header .animation-link a, .nav-button-link {
  transition: all 0.5s ease;
}
header .animation-link a:hover {
  color: var(--color-secondary-500);
}
.nav-button-link:hover {
  background-color: var(--color-secondary-50);
}
.header-menu-open .nav-button-link:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
/* Header */
.header-inner-content {
  overflow-y: auto!important;
}
.inner-content-wrapper {
  display: flex;
  flex-direction: column;
}
.inner-content-wrapper .ensoul-columns-section > div {
  width: 100%;
}
.header-content {
	border-radius: 0;
}
.header-main-row {
	padding-left: 0;
	padding-right: 0;
	border-bottom: 1px solid #0c4584;
}
.header-elements-container {
	padding-inline: var(--spacing-content-padding-left);
}
.header-block-wrapper {
	left:0;
	right:0;
	top:0;
	width:100%;
}
@media (width < 48rem) {
  header .single_column {
    border-bottom: 1px solid white;
  }
}
@media(min-width: 1024px) {
  .header-block-wrapper .ensoul-columns-block {
    row-gap: 0;
  }

  .header-block-wrapper .ensoul-columns-block .ensoul-column-wrapper:nth-child(n+4){
    padding-top: var(--spacing-columns);
  }

  .header-block-wrapper .ensoul-columns-block .ensoul-column-wrapper{
    padding-top: var(--spacing-m);
  }

  .header-block-wrapper .ensoul-columns-block .ensoul-column-wrapper:nth-child(n+4){
    padding-top: var(--spacing-columns);
  }

  .header-block-wrapper .ensoul-columns-block .ensoul-column-wrapper{
    padding-left: 25px;
    border-left: 1px solid #fff;
  }

  .header-block-wrapper ul[role="list"] li:nth-child(n+1) {
    margin-bottom: 8px;
  }

}
/* Footer */
.footer > div > .ensoul-columns-block {
	padding-inline: var(--spacing-content-padding-left);
}
@media (width >= 48rem) {
	.privacy-links .ensoul-columns-block {
		justify-content:flex-end;
	}
	.privacy-links .ensoul-column-wrapper {
		flex: none!important;
	}
}
@media (width < 48rem) {
	.no-border-mobile {
		  border: none;
	  }
	.copyright {
		order:9999;
	}
	.privacy-links p {
		text-align: left;
	}
	.privacy-links .ensoul-columns-block {
		flex-direction: row;
	}
	.order_first_mobile {
	  order:-1;
	}
	.logo-footer {
		width: 60%;
		margin-bottom:24px;
	}
}
/* Form */
#gform_1 {
	input {
		border: none;
		border-bottom: 1px solid #30639B;
		border-radius: 0;
	}
	textarea {
		border-color: #30639B;
	}
  .gform-footer {
    justify-content: flex-end;
  }
  .gform_button {
    border-radius: 4px;
    background-color: none;
  }
}

@media (width >= 48rem /* 768px */) {
  :root {
	  /* Accordion */
	  	--spacing-accordion-y: 24px;
	--spacing-accordion-x: 32px;
    /* Columns */
    --spacing-columns: 64px;
  }
  h1,
  .h1 {
    font-size: var(--text-heading-xl);
    line-height: var(--text-heading-xl--line-height);
  }

  h2,
  .h2 {
    font-size: var(--text-heading-lg);
    line-height: var(--text-heading-lg--line-height);
  }

  h3,
  .h3 {
    font-size: var(--text-heading-sm);
    line-height: var(--text-heading-sm--line-height);
  }
  .main-menu {
    display: flex;
    flex: 1;
    align-items: center;
  }
  .reduce-gap-columns {
		--spacing-columns: 24px;
	}
}

/* fix default style */
/* eventualmente modificare da theme.json */
:where(figure) {
  margin-bottom: 0;
}

/* Maps */
.image-location-maps, .text-location-maps {
  display: none!important;
}
.leaflet-popup-content {
  width: 160px;
}

/* Slider */
@media (width <= 48rem) {
  .content-slider {
    padding-bottom: 60px;
  }
  .content-slider-next, .content-slider-prev {
    top: auto;
    bottom: 0;
  }
}

.content-slider.autoscroll .swiper-slide figure {
  max-height: 60vh;
}

@media (max-width: 1024px) {
  .content-slider.autoscrol .swiper-slide figure {
    height: 45vh;
  }
}

/* case study hover fx */
/* aggiungi classe "case-study-wrapper" su blocco ensoul/columns del case study */
/* comprende effetti: */
/* - offset laterale prime due colonne */
/* - scale e fade-in immagine */
/* - colore testi */
@media (width >= 48rem) {
  .case-study-wrapper {
    transition: background 0.8s cubic-bezier(0.075, 0.82, 0.165, 1);
  }

  .case-study-wrapper .ensoul-columns-block {
    align-items: center;
  }

  .case-study-wrapper:hover {
    background-color: var(--color-primary-800);
  }

  .case-study-wrapper .ensoul-column-wrapper:nth-child(1),
  .case-study-wrapper .ensoul-column-wrapper:nth-child(2) {
    transition: transform 0.8s cubic-bezier(0.075, 0.82, 0.165, 1);
  }

  .case-study-wrapper:hover .ensoul-column-wrapper:nth-child(1),
  .case-study-wrapper:hover .ensoul-column-wrapper:nth-child(2) {
    transform: translate(40px, 0);
  }

  .case-study-wrapper .image-section img {
    transition: transform 0.8s cubic-bezier(0.075, 0.82, 0.165, 1),
      opacity 0.8s cubic-bezier(0.075, 0.82, 0.165, 1);
    transform-origin: top right;
    transform: scale(0.7);
    opacity: 0;
  }

  .case-study-wrapper:hover .image-section img {
    transform: scale(1);
    opacity: 1;
  }

  /*all texts inside enhance-on-hover*/
  .case-study-wrapper *[class*="has-secondary-"],
  .case-study-wrapper *[class*="has-secondary-"] > *,
  .case-study-wrapper .button-content > * {
    transition: color 0.8s cubic-bezier(0.075, 0.82, 0.165, 1);
  }

  .case-study-wrapper:hover *[class*="has-secondary-"],
  .case-study-wrapper:hover *[class*="has-secondary-"] > * {
    color: var(--color-white) !important;
  }

  .case-study-wrapper:hover .ens-btn {
    --color-button: var(--color-white);
    --border-color-button-color: var(--color-white);
    --color-button-hover: var(--color-white);
    margin-right: 24px;
  }
}
.section_hero_case_study {
  opacity: 0.9;
  border-top-left-radius: 7px;
  border-top-right-radius: 7px;
  padding: 30px 33px;
}

.slide-index-display {
  display: none;
}

.spacing-section-certificazioni {
  margin-top: -12px;
}

/* News */
.section-news ul {
  gap: 0;
  li {
    display: flex;
    flex-direction: column;
    @media (width >= 48rem) {
      &:nth-child(odd) {
        padding-right: 20px;
        border-right: 1px solid #0c4584;
      }
      &:nth-child(even) {
        padding-left: 20px;
      }
      &:last-child:nth-child(odd) {
        border-bottom: none;
      }
    }
	  border-bottom: 1px solid #0c4584;
  }
  @media (width >= 48rem) {
    .wp-block-ensoul-button {
      margin-top: auto;
    }
  }
}

p a[data-type] {
  text-decoration: underline;
  text-decoration-line:underline;
}

/* ---------------------------------- */
/* ---------------------------------- */
/* Menu Image Hover Styles - Based on Codrops */
.image-hover-link {
  text-decoration: underline;
  text-decoration-style: dashed;
  text-underline-offset: 3px;
}

.menu-image-hover-container {
    position: relative;
}

.menu-image-hover-link {
    position: relative;
    display: inline;
    cursor: pointer;
    transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    white-space: nowrap;
}

/* Alternativa per testi lunghi che devono andare a capo naturalmente */
.menu-image-hover-link.allow-wrap {
    white-space: normal;
    display: inline;
}

.menu-image-hover-link:hover {
    color: #ff6b6b;
}

.menu-hover-images {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 9999;
}

.menu-hover-image {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 325px;
    height: 200px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, -50%) scale(0.8);
    transition: all 450ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
    border-radius: 8px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.15);
    will-change: transform, opacity;
}

.menu-hover-image.active {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

.menu-hover-image.animate-in {
    animation: imageSlideIn 450ms cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

.menu-hover-image.animate-out {
    animation: imageSlideOut 450ms cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

@keyframes imageSlideIn {
    0% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(0.6) rotate(5deg);
    }

    100% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1) rotate(0deg);
    }
}

@keyframes imageSlideOut {
    0% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1) rotate(0deg);
    }

    100% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(0.8) rotate(-3deg);
    }
}

/* Effetti aggiuntivi basati sulle impostazioni */
.menu-hover-image.animate-in {
    animation: imageZoomIn 450ms cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards;
}

.menu-hover-image.animate-out {
    animation: imageZoomOut 450ms ease forwards;
}

@keyframes imageZoomIn {
    from {
        opacity: 0;
        transform: translate(-50%, -50%) scale(0.3);
    }

    to {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
}

@keyframes imageZoomOut {
    from {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }

    to {
        opacity: 0;
        transform: translate(-50%, -50%) scale(1.2);
    }
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .menu-hover-image {
        width: 260px;
        height: 160px;
    }
}

@media (max-width: 480px) {
    .menu-hover-image {
        width: 195px;
        height: 120px;
    }
}

/* Disable on touch devices per performance */
@media (hover: none) {
    .menu-hover-images {
        display: none;
    }
}

/* Accessibilità - ridotto movimento per chi preferisce */
@media (prefers-reduced-motion: reduce) {
    .menu-hover-image {
        transition: opacity 0.3s ease !important;
        animation: none !important;
    }

    .menu-hover-image.animate-in, .menu-hover-image.animate-out {
        animation: none !important;
    }
}

/* FINE Menu Image Hover Styles - Based on Codrops */
/* ---------------------------------- */
/* ---------------------------------- */


/* slider with vertical timeline columns override */
@media(min-width: 768px) {
  .large-gap .gap-columns {
    --spacing-columns: min(7vw, 123px);
  }
}
.section-news .wp-block-post .ens-btn {
  position: relative;
  overflow: hidden;
  border-radius: 0!important;
}

.section-news .wp-block-post .ens-btn::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background-color: currentColor;
  transition: width 0.3s ease;
}

.section-news .wp-block-post:hover .ens-btn::after {
  width: 100%;
}

.radius {
  border-radius: 7px; 
  overflow: hidden;
}

@media (width < 48rem) {
  .hero_case_study h1 {
    font-size: var(--text-heading-base);
    line-height: var(--text-heading-base--line-height);
  }
  .content-columns-hero-case-study .ensoul-columns-block {
    grid-template-columns: 5fr 5fr;
  }
}

.aspect-ratio-group {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  iframe {
    height: auto!important;
  }
}

.hero.ensoul-spacing-wrapper h1, .hero.ensoul-spacing-wrapper p {
  color: var(--color-secondary-500);
}

.hero.ensoul-spacing-wrapper.fade-out h1, .hero.ensoul-spacing-wrapper.fade-out p {
  color: var(--color-white);
}

/* home project cards */
@media(min-width: 1024px) {
  .home_proj_card {
    position: relative;
  }

  .home_proj_card--texts {
    position: absolute;
    bottom: 0;
    left: 0;
    background: #fff;
    padding: 15px;
  }

  .home_proj_card--texts p {
    overflow: hidden;
    max-height: 0;
    transition: max-height .6s cubic-bezier(0.8, 0.46, 0.35, 0.81);
    will-change: max-height;
    width: 380px;
    max-width: 100%;
  }

  .home_proj_card:is(:hover, :focus) .home_proj_card--texts p {
    max-height: 250px;
  }
}



/* home i nostri valori */
@media(min-width: 768px) {
  .home_our_values_images {
    display: flex;
  }
}

.home_our_values_images > .column {
  position: sticky;
  bottom: 30px;
  height: auto;
  margin-top: auto;
  width: 100%;
  aspect-ratio: 3 / 4;
  overflow: hidden;
}

.home_our_values_items .ensoul-columns-section,
.governance_items .ensoul-columns-section {
  transition: background-color .5s ease-in-out;
  background-color: #fff;
}

@media(min-width: 768px) {
  .home_our_values_items .ensoul-columns-section:hover,
  .governance_items .ensoul-columns-section:hover {
    background-color: var(--color-primary-600);
  }

  .home_our_values_items .ensoul-columns-section p,
  .governance_items .ensoul-columns-section p {
    transition: color .5s ease-in-out, transform .5s ease-in-out;
  }

  .home_our_values_items .ensoul-columns-section:hover .ensoul-column-wrapper:first-child p,
  .governance_items .ensoul-columns-section:hover .ensoul-column-wrapper:first-child p {
    transform: translate(15px, 0);
  }

  .home_our_values_items .ensoul-columns-section:hover .ensoul-column-wrapper:last-child p,
  .governance_items .ensoul-columns-section:hover .ensoul-column-wrapper:last-child p {
    transform: translate(-15px, 0);
  }

  .home_our_values_items .ensoul-columns-section:hover p,
  .governance_items .ensoul-columns-section:hover p {
    color: #fff !important;
  }

  /* i nostri valori per animazione hover */
  .home_our_values_images .image-section {
    position: absolute;
    bottom: 0;
    width: 100%;
    overflow: hidden;
  }
}

/* slider pagine spazi */
/* disabilitato */
.swiper-esi {
  pointer-events: none;
}

/* sezione spazi home */
.button_custom_spazi .ens-btn {
  border: none;
  padding: 0;
  font-size: 24px;
}

@media (width >= 48rem) {
	.columns_spazi .ensoul-column-wrapper:not(:nth-child(4n+1)) {
	  border-left: 1px solid #0c4584;
	}
}

@media (width < 48rem) {
  .columns_spazi .ensoul-columns-block {
    column-gap: 0;
  }
  .columns_spazi .ensoul-column-wrapper:nth-child(even) {
    border-left: 1px solid #0c4584;
  }
}

@media (width < 64rem) {
  .columns-md-fix-breakpoint .ensoul-columns-block {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}

.paragraph-large{
	--spacing-container-paragraph: 1020px;
}

.video-container-group {
  .wp-block-ensoul-heading {
    position: absolute;
    z-index: 1;
    top: 40px;
  }
  .wp-block-ensoul-video {
    width: 100%;
  }
}
.video-container-column {
	position: relative;
  .wp-block-ensoul-heading {
    position: absolute;
    z-index: 1;
    top: 20px;
  }
}

.rounded-section {
  border-top-right-radius: 64px;
  border-top-left-radius: 64px;
}
@media (width < 64rem) {
  .rounded-section {
    border-top-right-radius: 32px;
    border-top-left-radius: 32px;
  }
  .video-container-group {
    .wp-block-ensoul-heading {
      top: 20px;
    }
  }
}

.page .timeline {
  .icon-block__svg {
    width: 100%;
  }
  .year {
    opacity: .4;
  }
  .year.is-active {
    opacity: 1;
  }
  .text-timeline, .impact {
    display: none;
  }
  .text-timeline.is-active, .impact.is-active {
    display: block;
  }
	.timeline-map path {
	  transition: fill 0.5s cubic-bezier(0.4, 0, 0.2, 1);
	}
  .timeline-map path.is-active {
    fill: #009F66;
  }
  @media (width < 48rem ) {
	  .timeline-map {
      width: 60%;
      margin: auto;
		  padding-top: 40px;
    }
    .timeline__years ul {
	  display: flex;
	  gap: .75rem;
	  overflow-x: auto;
	  -webkit-overflow-scrolling: touch;
	  scroll-snap-type: x mandatory;
	}
	.timeline__years ul li {
	  flex: 0 0 auto;
	  white-space: nowrap;
	  scroll-snap-align: start;
	}
	  .timeline__years ul {
  scrollbar-width: none;          /* Firefox */
}
.timeline__years ul::-webkit-scrollbar {
  display: none;                  /* Chrome/Safari iOS */
}
	  .impact-block {
      width: fit-content;
      position: absolute;
      top: 0;
      .ensoul-columns-block {
        display: flex;
      }
      .icon-block {
        max-width: 30px;
		  svg {
			  height:100%;
			  width:100%;
		  }
      }  
	  }
  }
}

.columns-mobile-fix .ensoul-columns-block {
	display: flex;
}

.hero-image-fullscreen figure {
  position: relative;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
  left: 50%;
  right: 50%;
}
.columns-30-70-mobile .ensoul-columns-block {
  grid-template-columns: 3fr 7fr;
}

.accordion-custom-20-anni {
  --spacing-dimension-border: 0px;
  --spacing-dimension-icon-accordion: 24px;
  color: white;
  .primo-accordion {
    border-left: 8px solid #0C2231;
    margin-bottom: 16px;
    .title_header {
      background-color: #0C2231;
      padding-inline: 12px;
      padding-block: 4px;
      font-family: 'Manrope';
    }
    svg {
      border-radius: 100%;
      background: #0C2231;
    }
  }
  .secondo-accordion {
    border-left: 8px solid #0A376A;
    margin-bottom: 16px;
    .title_header {
      background-color: #0A376A;
      padding-inline: 12px;
      padding-block: 4px;
      font-family: 'Manrope';
    }
    svg {
      border-radius: 100%;
      background: #0A376A;
    }
  }
  .terzo-accordion {
    border-left: 8px solid #0C4584;
    margin-bottom: 16px;
    .title_header {
      background-color: #0C4584;
      padding-inline: 12px;
      padding-block: 4px;
      font-family: 'Manrope';
    }
    svg {
      border-radius: 100%;
      background: #0C4584;
    }
  }
  .quarto-accordion {
    border-left: 8px solid #5481B3;
    margin-bottom: 16px;
    .title_header {
      background-color: #5481B3;
      padding-inline: 12px;
      padding-block: 4px;
      font-family: 'Manrope';
    }
    svg {
      border-radius: 100%;
      background: #5481B3;
    }
  }
  .quinto-accordion {
    border-left: 8px solid #067693;
    margin-bottom: 16px;
    .title_header {
      background-color: #067693;
      padding-inline: 12px;
      padding-block: 4px;
      font-family: 'Manrope';
    }
    svg {
      border-radius: 100%;
      background: #067693;
    }
  }
  .sesto-accordion {
    border-left: 8px solid #09AFA0;
    margin-bottom: 16px;
    .title_header {
      background-color: #09AFA0;
      padding-inline: 12px;
      padding-block: 4px;
      font-family: 'Manrope';
    }
    svg {
      border-radius: 100%;
      background: #09AFA0;
    }
  }
}