:root {
	--3gd-grigio-scuro: #2e2e2d;
	--3gd-grigio-chiaro: #ebebeb;
	--3gd-azzurro: #00D8FA;
	--3gd-rosso: #C13636;
	--3gd-arancio: #FF7600;
	--3gd-arancio-chiaro: #F5775A;
	--3gd-giallo: #FFBA00;
	--3gd-giallo-chiaro: #FAF3D4;
	--3gd-verde: #00A255;
	--3gd-verde-trasp: #00A2559B;
	--3gd-verde-scuro: #005D31;
	--3gd-verde-fluo: #08C483;
	--3gd-verde-chiaro: #E4F3EA;
	--3gd-verde-chiaro-trasp: #00A2550A;
	--3gd-fucsia: #F24881;
	--3gd-rosa: #ED91CD;
	--card-accent: var(--3gd-rosa);
	--servizi-bg-image: var(--3gd-rosa);
	--font-principale: "Rubik", sans-serif;;
	--font-secondario: "shelby", serif;

	--detail-medium-contrast: var(--3gd-verde-scuro);
	--text-high-contrast: var(--3gd-verde);
	--text-body: var(--3gd-verde-fluo);
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {	
  font-family: var(--font-principale);
  font-optical-sizing: auto;
}

strong, span {
	font-size: inherit;
}

h1, h2, h3, h4, h5, h6{
	font-weight: 600;
	line-height: 1.2;
}
p {
	margin-bottom: 2.5rem;
}

p, li, [type="button"], .btn {
	font-size: 1.9rem;
}
.ltr-text {
  direction: ltr;
  unicode-bidi: isolate;
  display: inline-block;
  text-align: left;
}
.span-block span { display: block; }
.span-inline-block span { display: inline-block; }
.span-mb-n5 span { margin-bottom: -3rem; }
.span-mt-n5 span { margin-top: -3rem; }
.font-secondario, .span-font-secondario span {
	font-family: var(--font-secondario);
}
.p-mb p:not(:last-child) { margin-bottom:1rem !important }
.p-mb p:is(:last-child) { margin-bottom:0 !important }
.p-mb-0 p { margin-bottom:0 !important }
.p-first-h5 p:first-of-type {
	font-weight: 400;
	line-height: 1.2;
	margin-bottom: 0;
}

h1, .h1,
.h-fs-1 :is(h1, h2, h3):not([class^="fs-"]):not([class*=" fs-"]),
.text-fs-1 :is(p, li) {
	font-size: 4.5rem;
}

h2, .h2,
.h-fs-2 :is(h1, h2, h3):not([class^="fs-"]):not([class*=" fs-"]),
.text-fs-2 :is(p, li) {
	font-size: 4rem;
}

h3, .h3,
.h-fs-3 :is(h1, h2, h3):not([class^="fs-"]):not([class*=" fs-"]),
.text-fs-3 :is(p, li) {
	font-size: 3.5rem;
}

h4, .h4,
.h-fs-4 :is(h1, h2, h3):not([class^="fs-"]):not([class*=" fs-"]),
.text-fs-4 :is(p, li) {
	font-size: 3.0rem;
}

h5, .h5, .p-first-h5 p:first-of-type,
.h-fs-5 :is(h1, h2, h3):not([class^="fs-"]):not([class*=" fs-"]),
.text-fs-5 :is(p, li) {
	font-size: 2.5rem;
}

h6, .h6,
.h-fs-6 :is(h1, h2, h3):not([class^="fs-"]):not([class*=" fs-"]),
.text-fs-6 :is(p, li) {
	font-size: 2.1rem;
}

.h-fst-italic :is(h1, h2, h3, h4, h5, h6) {
	font-style: italic !important;
}

.h-fw-lighter :is(h1, h2, h3, h4, h5, h6) {
	font-weight: lighter !important;
}

.h-fw-light :is(h1, h2, h3, h4, h5, h6) {
	font-weight: 300 !important;
}

.h-fw-normal :is(h1, h2, h3, h4, h5, h6) {
	font-weight: 400 !important;
}

.h-fw-medium :is(h1, h2, h3, h4, h5, h6) {
	font-weight: 500 !important;
}

.h-fw-semibold :is(h1, h2, h3, h4, h5, h6) {
	font-weight: 600 !important;
}

.h-fw-bold :is(h1, h2, h3, h4, h5, h6) {
	font-weight: 700 !important;
}

.h-fw-bolder :is(h1, h2, h3, h4, h5, h6) {
	font-weight: bolder !important;
}
.h-uppercase :is(h1, h2, h3, h4, h5, h6) {
	text-transform: uppercase !important;
}
:is(.h-my-0, .h-mt-0) :is(h1, h2, h3, h4, h5, h6) {
	margin-top: 0 !important;
}
:is(.h-my-0, .h-mb-0) :is(h1, h2, h3, h4, h5, h6) {
    margin-bottom: 0 !important;
}
:is(.h-my-3, .h-mt-3) :is(h1, h2, h3, h4, h5, h6) {
    margin-top: 1rem !important;
}
:is(.h-my-3, .h-mb-3) :is(h1, h2, h3, h4, h5, h6) {
    margin-bottom: 1rem !important;
}
:is(.h-my-4, .h-mt-4) :is(h1, h2, h3, h4, h5, h6) {
    margin-top: 1.5rem !important;
}
:is(.h-my-4, .h-mb-4) :is(h1, h2, h3, h4, h5, h6) {
    margin-bottom: 1.5rem !important;
}
:is(.h-my-5, .h-mt-5) :is(h1, h2, h3, h4, h5, h6) {
    margin-top: 3rem !important;
}
:is(.h-my-5, .h-mb-5) :is(h1, h2, h3, h4, h5, h6) {
    margin-bottom: 3rem !important;
}
.h-display-1 :is(h1, h2, h3), .span-display-1 span {
	font-size: calc(1.625rem + 4.5vw);
	font-weight: 300;
	line-height: 1.2;
}
.h-display-2 :is(h1, h2, h3), .span-display-2 span {
	font-size: calc(1.575rem + 3.9vw);
	line-height: 1.2;
}
.h-display-3 :is(h1, h2, h3), .span-display-3 span {
	font-size: calc(1.525rem + 3.3vw);
	line-height: 1.2;
}
.h-display-4 :is(h1, h2, h3), .span-display-4 span {
	font-size: calc(1.475rem + 2.7vw);
	line-height: 1.2;
}
.h-display-5 :is(h1, h2, h3) {
	font-size: calc(1.425rem + 2.1vw);
	line-height: 1.2;
}
.h-display-6 :is(h1, h2, h3) {
	font-size: calc(1.375rem + 1.5vw);
	line-height: 1.2;
}
@media (min-width: 1200px) {
	.h-display-1 :is(h1, h2, h3){
		font-size: 5rem;
	}
	.h-display-2 :is(h1, h2, h3){
		font-size: 4.5rem;
	}
	.h-display-3 :is(h1, h2, h3){
		font-size: 4rem;
	}
	.h-display-4 :is(h1, h2, h3){
		font-size: 3.5rem;
	}
	.h-display-5 :is(h1, h2, h3) {
		font-size: 3rem;
	}
	.h-display-6 :is(h1, h2, h3) {
		font-size: 2.5rem;
	}
}
.breadcrumb li {
	font-size: 1.6rem;
}

.p-smaller {
	font-size: 1.6rem;
}

body a {
	color: unset;
	text-decoration: unset;
}
.strong-green strong,
.strong-green b,
.h-green :is(h1, h2, h3, h4, h5, h6),
.text-green,
.text-color--verde {
	color: var(--3gd-verde);
}

.text-viola,
.text-color--fucsia {
	color: var(--3gd-fucsia);
}

.text-grey,
.text-grigio {
	color: var(--3gd-grigio-scuro);
}

.bg-green,
.background-color--verde {
	background: var(--3gd-verde);
	transition: background 200ms ease-in-out;
}
.background-color--verde:hover, 
.background-color--verde:active, 
.background-color--verde:focus,
.background-color--verde.btn:hover, 
.background-color--verde.btn:active, 
.background-color--verde.btn:focus
.background-color--verde[type="button"]:hover, 
.background-color--verde[type="button"]:active, 
.background-color--verde[type="button"]:focus {
	background: var(--3gd-verde-fluo);
	transition: background 200ms ease-in-out;
}

.background-color--bianco {
	background: #ffffff;
	transition: background 200ms ease-in-out, color 200ms ease-in-out;
}

.background-color--bianco:hover, 
.background-color--bianco:active, 
.background-color--bianco:focus {
	background: var(--3gd-verde-fluo);
	color: #ffffff !important;
	transition: background 200ms ease-in-out, color 200ms ease-in-out;
}

.background-color--nero {
	background: var(--3gd-grigio-scuro);
	transition: background 200ms ease-in-out, color 200ms ease-in-out;
}

.background-color--nero.btn:hover, .background-color--nero.btn:active, .background-color--nero.btn:focus
.background-color--nero[type="button"]:hover, .background-color--nero[type="button"]:active, .background-color--nero[type="button"]:focus {
	background: #444444;
	color: #ffffff;
	transition: background 200ms ease-in-out, color 200ms ease-in-out;
}

.background-color--verde-scuro {
	background: var(--3gd-verde-scuro);
	transition: background 200ms ease-in-out;
}

.background-color--verde-scuro.btn:hover, .background-color--verde-scuro.btn:active, .background-color--verde-scuro.btn:focus,
.background-color--verde-scuro[type="button"]:hover, .background-color--verde-scuro[type="button"]:active, .background-color--verde-scuro[type="button"]:focus {
	background: var(--3gd-verde-fluo);
	transition: background 200ms ease-in-out;
}

ion-icon {
	font-size: 1.6rem;
}

.mybcrumb {
    margin-top: 2.5rem;
    margin-bottom: 5rem;
}

/** HEADER E MENU PRINCIPALE **/

.site-header {
	position: relative;
	z-index: 20;
}

.site-header, .site-header > a, .site-header > a:hover, .site-header > a:focus, .site-header > a:active {
	color: var(--3gd-grigio-scuro);
	font-size: 2rem;
	text-decoration: none;
	padding: 2.5rem 0 0;
}

.primary-menu {
	background: var(--3gd-grigio-scuro);
	color: #ffffff;
	margin-top: 2rem;
}

.primary-menu .container > div > div.primary-menu--nav {
	width: 66%;
}

.primary-menu a, .primary-menu a.nav-link:hover, .primary-menu a.nav-link:focus, .primary-menu a.nav-link:active {
	font-size: 1.6rem;
	color: #ffffff;
	padding: 2.2rem 0;
}

.primary-menu .primary-menu-item.primary-menu-item--prenota {
	background: var(--3gd-verde);
	transition: background 200ms ease-in-out;
}

.primary-menu .primary-menu-item.primary-menu-item--prenota {
  padding: 0 2rem;
}

.primary-menu .nav-link:hover {
	color: unset;
}

.nav-item.primary-menu-item a span {
  padding: 2rem 1rem;
  transition: 175ms ease-in;
}

.nav-item.primary-menu-item:not(.primary-menu-item--prenota) a span {
  border-bottom: 1px solid var(--3gd-grigio-scuro);
	border-top: 1px solid var(--3gd-grigio-scuro);
}

.nav-item.primary-menu-item a.nav-link:hover span {
  border-bottom: 1px solid #ffffff;
	border-top: 1px solid #ffffff;
  padding: 0.75rem 1rem;
  transition: 250ms ease-out;
}

.nav-item.primary-menu-item.primary-menu-item--prenota a span {
  border-bottom: 1px solid var(--3gd-verde);
	border-top: 1px solid var(--3gd-verde);
}

/** MENU DROPDOWN **/
.dropdown {
    position: relative;
}

.dropdown-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: -4rem;
    background: #ffffff;
    min-width: 25rem;
    width: max-content;
    /* box-shadow: 0 8px 16px rgba(0,0,0,0.2); */
    z-index: -1;
    border-radius: 0;
    padding: 0.5rem 1.5rem 2rem;
    transition: opacity 200ms linear;
}

.dropdown > .dropdown-link:hover + .dropdown-menu, .dropdown-menu:hover {
		opacity: 1;
    display: block;
    animation: fade-menu-in 250ms linear;
    z-index: 20;
}

.dropdown-menu li:first-of-type {
		border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.dropdown-menu li {
    list-style: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.dropdown-menu li a {
    color: var(--3gd-grigio-scuro);
    font-weight: normal;
    text-decoration: none;
    padding: 1rem 2.5rem;
    display: block;
    text-transform: none;
    transition: background 200ms ease-in-out;
    border-radius: 10px
    /* font-size: 1rem; */
}

.dropdown-menu li a:hover, .dropdown-menu li a.active {
    background-color: var(--3gd-verde-chiaro-trasp);
    border-radius: 10px;
    transition: background 200ms ease-in-out;
}

/** MENU DROPDOWN * MEGAMENU **/

.dropdown.megamenu .dropdown-menu {
	left: -10rem;
	padding: 0 2.5rem 1.5rem;
}

.dropdown-menu--container {
  /* width: 130rem; */
}

.dropdown.megamenu .dropdown-menu .megamenu-img {
	border-radius: 10px;
}

.dropdown.megamenu .dropdown-menu .megamenu-element {
	background: #ffffff;
	transition: background 200ms ease-in-out 150ms;
}

.dropdown.megamenu .dropdown-menu .megamenu-element:hover, .dropdown.megamenu .dropdown-menu:active, .dropdown.megamenu .dropdown-menu:focus {
	background: var(--3gd-verde-chiaro-trasp);
	transition: background 200ms ease-in-out;
}

.dropdown.megamenu .dropdown-menu .megamenu-title {
	font-size: 1.6rem;
	color: var(--3gd-grigio-scuro);
	font-weight: normal;
	margin-bottom: 2.5rem;
}

.dropdown.megamenu .dropdown-menu .megamenu-element div {
	transform: scale(1.0);
	transition: transform 200ms ease-in-out;
}

.dropdown.megamenu .dropdown-menu .megamenu-element:hover div {
	transform: scale(1.01);
	transition: transform 200ms ease-in-out 150ms;
}

.dropdown.megamenu .dropdown-menu .dropdown-menu--container .row > * {
	padding-right: 1.5rem;
	padding-left: 1.5rem;  
	padding-top: 4rem;
  padding-bottom: 2rem;
  margin-bottom: 1.5rem;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}

.dropdown.megamenu .dropdown-menu .dropdown-menu--container .dropdown-menu--button > * {
  padding: 0 1.5rem;
  border-radius: 0;
}

.dropdown-menu--button a {
	text-transform: none;
  background: var(--3gd-verde);
  width: 100%;
  height: 100%;
  padding: 3.5rem 3rem;
  transform: scale(1.0);
	transition: transform 200ms ease-in-out;
}

.dropdown-menu--button a:hover, .dropdown-menu--button a:active, .dropdown-menu--button a:focus {
	transform: scale(1.01);
	transition: transform 200ms ease-in-out;
}

.dropdown-menu--button a h5 {
	padding: 2rem 0 1rem;
	margin-bottom: 0;
}

.dropdown-menu--button a p {
	margin-bottom: 0;
}

/** MOBILE MENU **/
.hamburger-menu {
    display: none;
    width: max-content;
    margin: 10px auto;
}

.hamburger-menu--bar {
    display: block;
    width: 45px;
    height: 4px;
    margin: 8px auto;
    transition: all 200ms ease-in-out;
    background-color: var(--3gd-grigio-scuro);
}

/* __CONTACT FORM__ */

.form-data {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-column-gap: 3rem;
}

.form-group {
    margin-bottom: 1.5rem;
    position: relative;
}

label {
		color: var(--3gd-verde);
    display: block;
    margin-bottom: 0.5rem;
    font-size: 1.4rem;
    font-weight: 600;
}

input, textarea, .form-control {
    width: 100%;
    padding: 1.25rem;
    border: 1px solid #d1d5db;
    border-radius: 0.9rem;
    font-size: 1.4rem;
    transition: all 0.15s ease;
}

input:focus, textarea:focus, .form-control:focus {
    outline: none;
    border-color: var(--3gd-verde);
    box-shadow: 0 0 10px 3px rgba(0, 162, 85, 0.2);
}

.form-wrapper input::placeholder, .form-control::placeholder {
  content: '';
  color: var(--3gd-verde);
  font-size: 1.4rem;
}

.checkbox-group {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 1rem;
}

.checkbox-group input[type="checkbox"], .form-check .form-check-input {
    width: auto;
    margin-top: 0.25rem;
  }
  .form-check { padding-left:0 }
  .form-check .form-check-input {
  	width: .5rem;
  	height: .5rem;
  }
.checkbox-group label, .form-check .wpcf7-list-item-label {
    font-size: 1.2rem;
    margin-bottom: 0;
    color: var(--gray);
}

.form-wrapper .form-group img {
		margin: 2rem 0 0;
}

.form-wrapper button {
		margin-top: 2rem;
		font-size: 1.4rem;
}

.privacy-notice {
    font-size: 0.875rem;
    color: var(--gray);
    margin-top: 2rem;
    padding-top: 1rem;
    border-top: 1px solid #e5e7eb;
}

/* __FOOTER__ */

.blocco-footer-line--wrapper {
	background: linear-gradient(180deg, #fff 0%, #fff 1%, var(--3gd-verde) 1%, var(--3gd-verde) 100%);
}

section.blocco-footer--wrapper {
	background: var(--3gd-verde);
	color: #ffffff;
}

section.blocco-footer--wrapper .container > .row {
	gap: calc(100% - ((100%/3) + (100%/12)*7));
}

section.blocco-footer--wrapper .blocco-footer--chi-siamo {
	gap: calc(100% - ((100%/12)*5 + 50%));
}

section.blocco-footer--wrapper .blocco-footer--chi-siamo .list-group {
	list-style-type: none;
}

section.blocco-footer--wrapper.blocco-footer--wrapper a, 
section.blocco-footer--wrapper.blocco-footer--wrapper a:hover, 
section.blocco-footer--wrapper.blocco-footer--wrapper a:focus, 
section.blocco-footer--wrapper.blocco-footer--wrapper a:active {
	color: inherit;
	font-size: 2rem;
	text-decoration: none;
}

section.blocco-footer--wrapper .blocco-footer--copyright p, section.blocco-footer--wrapper .blocco-footer--copyright p a, section.blocco-footer--wrapper .blocco-footer--copyright p a:hover, section.blocco-footer--wrapper .blocco-footer--copyright p a:active, section.blocco-footer--wrapper .blocco-footer--copyright p a:focus {
	font-size: 1.4rem;
}

/** ___HOME CORPO PAGINA___ **/

.blocco-heading--wrapper {
	margin-top: 0;
	margin-bottom: 9rem;
}

/* ___HOME Blocco sedi___ */

.blocco-sedi {
	margin-top: 7rem;
}

/* ___HOME Blocco servizi___ */

.blocco-servizi--wrapper {
	margin-top: 8rem;
	margin-bottom: 7rem;
}

.blocco-servizi--schede {
	margin-top: 12rem;
	margin-bottom: 8rem;
}

/* ___HOME Blocco pacchetti___ */

.blocco-pacchetti--wrapper {
	margin-top: 20rem;
	margin-bottom: 10rem;
	position: relative;
}

.blocco-pacchetti--wrapper > .container-fluid {
	z-index: 0;
}

.blocco-pacchetti {
	padding: 10rem 0 3rem;
	background: var(--3gd-verde-chiaro);
}

.blocco-pacchetti--titolo, .blocco-pacchetti--schede {
	z-index: 20;
}

.blocco-pacchetti--titolo svg {
	width: 45px;
}

.blocco-pacchetti--schede ul {
	list-style-type: circle;
}

.blocco-pacchetti--schede ul li::marker {
	color: var(--3gd-verde);  
	content: "\f111";
  font-family: 'Font Awesome 6 Free Regular';
  font-size: 1.5rem;
}

.blocco-pacchetti--schede ul li {
	padding-left: 0.75rem;
	margin-bottom: 0.5rem;
}

.blocco-pacchetti--schede h3:last-child {
	color: var(--3gd-verde);
}

.blocco-pacchetti--schede > div:last-child {
	padding-top: 2rem;
	padding-right: 12rem;
}

/* ___HOME Blocco news___ */

.blocco-news {
	margin-top: 4rem;
	margin-bottom: 15rem;
}

.blocco-news h5 {
	font-size: 1.8rem;
}

.blocco-news h6 {
	font-size: 1.6rem;
}

.blocco-news .blocco-news--img {
	position: relative;
}

.blocco-news .blocco-news--tag {
	border-radius: 50px;
	padding: 6px 34px;
	width: max-content;
	position: absolute;
	top: 2rem;
	left: -4rem;
}

.blocco-news .blocco-news--tag h5 {
	margin-bottom: 0;
}

.blocco-news .blocco-news--generico .blocco-news--tag {
	background: var(--3gd-grigio-scuro);
	color: #ffffff;
}

.blocco-news .blocco-news--iniziative .blocco-news--tag {
	background: var(--3gd-arancio);;
	color: #ffffff;
}

.blocco-news .blocco-news--progetti .blocco-news--tag {
	background: var(--3gd-rosso);
	color: #ffffff;
}

.blocco-news .blocco-news--blog .blocco-news--tag {
	background: var(--3gd-giallo);
	color: #ffffff;
}

.blocco-news img {
	border-radius: 10px;
	border-width: 1px;
	border-style: solid;
}

.blocco-news .blocco-news--progetti img {
  border-color: var(--3gd-rosso);
}

.blocco-news .blocco-news--iniziative img {
  border-color: var(--3gd-arancio);
}

.blocco-news .blocco-news--blog img {
  border-color: var(--3gd-giallo);
}

/* ___HOME Blocco contatti___ */

.blocco-contatti--wrapper {
	padding-top: 3rem;
  padding-bottom: 10rem;
}

.blocco-contatti > .col:first-child {
	position: relative;	
	color: #ffffff;
}

.blocco-contatti .blocco-contatti--img {
	border-radius: 10px;
	width: 100%;
	height: 100%;
	position: absolute;
	background: url('../img/3GD-Img-Contatti-01.png');
	background-size: cover;
	background-repeat: no-repeat;
}

.blocco-contatti--img::before, .blocco-contatti--img::after {
  content: '';
  width: 100%;
  height: 100%;
  display: block;
  border-radius: 10px;
  position: absolute;
}

.blocco-contatti--img::before {
  border-top: 5px solid #e2e2e2;
}

.blocco-contatti--img::after {
  border-bottom: 5px solid var(--3gd-verde-scuro);
}

.blocco-contatti .blocco-contatti--testo {
	position: relative;
	padding: 9rem 10rem 0 5rem;
	z-index: 100;
}
@media (min-width: 1200px) {
	.blocco-contatti .blocco-contatti--testo {

		padding: 9rem 15rem 0 10rem;
	}
}

.blocco-contatti .blocco-contatti--testo > div:first-child {
	margin-bottom: 3rem;
}

.blocco-contatti .blocco-contatti--testo ion-icon {
	transform: scale(-5, 5);
}
@media (min-width: 1200px) {
	.blocco-contatti .blocco-contatti--testo ion-icon {
		transform: scale(-7, 7);
	}
}

.blocco-contatti .blocco-contatti--form {
	padding-left: 10rem;
}

/* ___HOME Blocco convenzioni___ */

.blocco-convenzioni--wrapper {
	margin-top: 5rem;
}

.blocco-convenzioni--wrapper .container > div:first-child {
	padding: 0 0 2.5rem 0;
	margin-bottom: 4rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

/* ___POLIAMBULATORIO Blocco introduzione___ */

.blocco-intro--poli--wrapper h1, .blocco-intro--poli--wrapper h4, .blocco-intro--poli--wrapper .h4 {
	padding: 4rem 0;
}

.blocco-intro--poli--wrapper img {
	max-width: 80%;
	margin: 0 auto;
}

/* ___CHI SIAMO Centri___ */

.blocco-centri--chi-siamo--wrapper {
	margin-top: 3rem;
	margin-bottom: 9rem;
}

.blocco-centri--chi-siamo--wrapper .row:last-child {
  gap: calc(100% - ((100%/12)*5)*2);
}

/* ___CHI SIAMO Blocco mission - vision___ */

.blocco-mission--chi-siamo--wrapper{
	background: var(--3gd-verde-chiaro);
	position: relative;
	padding: 7rem 0;
	z-index: 0;
}

.blocco-mission--chi-siamo--wrapper::after {
	content: '';
	background: url('../img/3GD-Img-Chi-Siamo-03.jpg');
	background-size: contain;
	background-repeat: no-repeat;  
	width: 90%;
	height: 90%;
	position: absolute;
	bottom: 0;
	left: 0;
	margin-left: 10%;
	z-index: -1;
	display: none !important;
}

/* ___CHI SIAMO Blocco Team___ */

.blocco-team--chi-siamo--wrapper .container {
  padding: 14rem 0 13rem;
}

.blocco-team--chi-siamo--wrapper .container .row > div:first-child {
	padding-right: 8rem;
}

.blocco-team--chi-siamo--wrapper .container .btn {
  margin-top: 8rem;
  margin-bottom: 5rem;
}

/* ___CHI SIAMO Blocco Amministrazione trasparente___ */

.blocco-trasparenza--chi-siamo--wrapper {
	background: url('../img/3GD-Img-Chi-Siamo-07.jpg');
	background-size: cover;
	padding: 11rem 0 11rem;
}

.blocco-trasparenza--chi-siamo--wrapper .container .btn {
  margin-top: 8rem;
}

/* ___CHI SIAMO Blocco Sanità convenzionata___ */

.main--chi-siamo .blocco-convenzioni--titolo {
	display: none !important;
}

.blocco-sanita--chi-siamo--wrapper {
	padding: 8rem 0 0;
}

/*.blocco-sanita--chi-siamo--convenzioni > div {
  padding: 0;
}
*/
.blocco-sanita--chi-siamo--convenzioni > div > div:not(.position-absolute) {
	position: relative;
  padding: 6.5rem 7.5rem 7.5rem;
  min-height: 100%;
  display: block;
  border: 3px solid var(--3gd-verde);
  border-top: hidden;
  max-width: 100%;
}

/*.blocco-sanita--chi-siamo--convenzioni > div {
  margin-right: 5rem;
}

.blocco-sanita--chi-siamo--convenzioni > div:last-child {
  margin-right: 0;
}*/

.blocco-convenzioni--wrapper .container > div:first-child {
	padding: 0 0 2.5rem 0;
	margin-bottom: 4rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.4);
}

/* ___TEAM Blocco Personale sanitario___ */

.blocco-persone--team--wrapper {
	margin-top: 10rem;
	margin-bottom: 10rem;
	position: relative;
}

.blocco-persone--team--wrapper > .container-fluid {
	z-index: 0;
}

.blocco-persone--team--wrapper {
  padding: 10rem 0 10rem;
  background: var(--3gd-verde-chiaro);
}

.blocco-persone--team--griglia > .container > .row {
	column-gap: calc(100% - ((100%/12)*5)*2);
	row-gap: 10rem;
}

/* ___AMMINISTRAZIONE TRASPARENTE Blocco downloads___ */

.blocco-download--amm-trasparente--label {
  background: var(--3gd-verde-chiaro);
  border: 1px solid var(--3gd-verde);
  padding: 1.25rem 2rem;
}

.blocco-download--amm-trasparente--elenco {
	padding: 2rem 4rem 10rem;
}

.blocco-download--amm-trasparente--elenco > div {
	padding: 1rem;
	border-bottom: 1px solid rgba(0,0,0,0.3);
}

.blocco-download--amm-trasparente--label i, .blocco-download--amm-trasparente--elenco i {
	font-size: 3.5rem;
}

.blocco-download--amm-trasparente--carta-servizi .blocco-download--amm-trasparente--label {
  background: var(--3gd-verde-trasp);
  border: 1px solid #ffffff;
  padding: 1.25rem 2rem;
}

.blocco-download--amm-trasparente--carta-servizi {
	background: url("../img/3GD-Img-Amm-Trasparente-03.jpg");
	padding: 10rem 0;
	margin-bottom: 10rem;
}

.blocco-download--amm-trasparente--carta-servizi img {
	width: 25%;
	margin: -50% 0;
}

/* ___MODULISTICA Intro griglia___ */

.blocco-documenti--modulistica--griglia {
  margin-top: 3rem;
}

.blocco-intro--poli--wrapper.blocco-intro--modulistica .waveWrapper {
  margin: 25rem 0 0 0;
}

.blocco-intro--poli--wrapper.blocco-intro--modulistica {
	margin-top: 5rem;
	margin-bottom: 10rem;
	position: relative;
}

.blocco-intro--poli--wrapper.blocco-intro--modulistica > .container-fluid {
	position: relative;
	z-index: 15;
}

.blocco-intro--poli--wrapper.blocco-intro--modulistica {
  padding: 0 0 10rem;
  background: linear-gradient(180deg, #ffffff 0, #ffffff 10vw, var(--3gd-verde-chiaro) 10vw, var(--3gd-verde-chiaro) 100%);
}

.blocco-documenti--modulistica--griglia > .container-md > .row {
  column-gap: 3rem;
  row-gap: 3rem;
}

.blocco-documenti--modulistica--scheda {
	padding: 3.5rem;
	background: #ffffff;
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 1rem;
	z-index: 20;
	margin-top: 0;
}

.blocco-documenti--modulistica--info-cta img {
	margin-bottom: 15rem;
}

.blocco-documenti--modulistica--info-cta > div {
	position: relative;
}
/* .blocco-documenti--modulistica--icona-info {
	position: relative;
	width: max-content;
	margin: auto;
	padding: 1rem;
	background: #00A2552F;
	border-radius: 100%;
} */

/* .blocco-documenti--modulistica--icona-info i {
	font-size: 5rem;*/
	/* padding: 2rem; */
  /* animation: pulse_circle 1000ms linear infinite; */
	/* border-radius: 100%;
	background: #00A2552F;
} */

/* .blocco-documenti--modulistica--icona-info {
	background: green;
	z-index: 10;
} */

/* .blocco-documenti--modulistica--icona-info::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: red;
	border-radius: 20rem;
	box-shadow: 0 0 2rem rgba(0, 0, 0, .3);
	z-index: 0;
} */

.blocco-documenti--modulistica--info-cta h5 {
	margin-top: 2rem;
	margin-bottom: 3rem;
	padding-top: 3rem;
}

.blocco-documenti--modulistica--info-cta i.ai-arrow-down {
	font-size: 7rem;
}

/* ___SERVIZI DIAGNOSTICA VASCOLARE Intro___ */


.blocco-intro--servizi--wrapper .container {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
}

.blocco-intro--servizi--wrapper .container::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--card-accent);
  opacity: 0.08; /* regoli qui */
  pointer-events: none;
  z-index: -1;
}
.blocco-intro--servizi--wrapper.servizi--vascolare .container {
  background: url('../img/3GD-Img-Servizi-06.jpg');
  background: #FFF0F5;
}

.blocco-intro--servizi--wrapper .blocco-intro--servizi--testo > img {
  border-radius: 10px;
  margin-bottom: 6rem;
}

.blocco-intro--servizi--wrapper .blocco-intro--servizi--testo h3 {
  margin-bottom: 2rem;
}

.blocco-intro--servizi--wrapper .blocco-intro--servizi--testo p {
	padding-right: 20rem;
}

.blocco-intro--servizi--titolo {
  padding-right: 12rem;
}

.blocco-intro--servizi--titolo, .blocco-intro--servizi--testo {
	padding: 4rem 4rem 2rem 6rem;
}

.blocco-intro--servizi--titolo > img {
	width: 75%;
}

.blocco-intro--servizi--titolo h3 {
	margin-top: 2.5rem;
}

.blocco-intro--servizi--titolo h1 {
	margin-bottom: 7rem;
}

.blocco-intro--servizi--titolo .btn,
.blocco-intro--servizi--titolo button {
	padding: 0 2rem;
	margin-bottom: 2.5rem;
	border-width: 0;
}

.blocco-intro--servizi--titolo .btn div,
.blocco-intro--servizi--titolo button div {
	width: 50px;
	height: 40px;
	margin-right: 0.5rem;
}

.blocco-intro--servizi--titolo .btn div::after,
.blocco-intro--servizi--titolo button div::after {
	content: '';
	width: 20px;
	height: 44px;
	border: 2px solid #ffffff;
	border-left: 0;
	border-top-right-radius: 60px;
	border-bottom-right-radius: 60px;	
}

/* ___SERVIZI DIAGNOSTICA VASCOLARE Descrizione___ */

.blocco-descrizione--servizi--wrapper {
  margin-top: 9rem;
}

.blocco-descrizione--servizi--wrapper div {
	margin-bottom: 7rem;
}

.blocco-descrizione--servizi--wrapper h1,
.blocco-descrizione--servizi--wrapper h2,
.blocco-descrizione--servizi--wrapper h3 {
	margin-bottom: 2.5rem;
	font-weight: 300;
}

/* ___SERVIZI DIAGNOSTICA VASCOLARE Prestazioni___ */

.blocco-prestazioni--servizi--wrapper {
	margin-top: 20rem;
	margin-bottom: 0;
	position: relative;
}

.blocco-prestazioni--servizi--wrapper > .container-fluid {
	z-index: 0;
}

.blocco-prestazioni--servizi--wrapper {
  padding: 10rem 0 10rem;
  background: var(--3gd-verde-chiaro);
}

.blocco-prestazioni--servizi--griglia {
  z-index: 20;
  position: relative;
}

.blocco-prestazioni--servizi--griglia > .container > .row {
	row-gap: 2rem;
}

.blocco-prestazioni--servizi--scheda {
	position: relative;
	background: #ffffff;
  border: 1px solid var(--3gd-fucsia);
  padding: 2rem 4rem;
  z-index: 20;
}

.blocco-prestazioni--servizi--scheda {
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}

.blocco-prestazioni--servizi--pulsante {
	font-size: 1.9rem;
}

.blocco-prestazioni--servizi--pulsante i {
	margin-right: 2rem;
}

.blocco-prestazioni--servizi--pulsante a span {
	color: var(--3gd-fucsia);
}

/* ___SERVIZI DIAGNOSTICA VASCOLARE Medici___ */

.blocco-medici--servizi--wrapper {
  background: url('../img/3GD-Img-Servizi-09.jpg');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  padding: 7rem;
}

/*.blocco-medici--servizi--wrapper img {
	width: 10%;
	margin: 3rem 0;
}*/

/* ___SERVIZI DIAGNOSTICA VASCOLARE Altri servizi___ */

.blocco-altri-servizi--servizi--wrapper {
	margin-top: 13rem;
	margin-bottom: 18rem;
}

/* ___SERVIZI DIAGNOSTICA PER IMMAGINI Intro___ */

.blocco-intro--servizi--wrapper.servizi--immagini .container {
  background: url('../img/3GD-Img-Servizi-19.jpg');
  background: rgba(8, 194, 129, .07);
}

/* ___SERVIZI DIAGNOSTICA GINECOLOGICA Intro___ */

.blocco-intro--servizi--wrapper.servizi--ginecologica .container {
  background: url('../img/3GD-Img-Servizi-15.jpg');
  background: rgba(227, 111, 204, .07);
}

/* ___SERVIZI DIAGNOSTICA CARDIOLOGICA Intro___ */

.blocco-intro--servizi--wrapper.servizi--cardiologica .container {
  background: url('../img/3GD-Img-Servizi-12.jpg');
  background: rgba(245, 119, 90, .07);
}

/* ___DIAGNOSTICA-PRESTAZIONI Intro___ */

.blocco-intro--diagnostica--descrizione {
	margin: 4rem 0;
}

.blocco-intro--diagnostica--descrizione img {
	border-radius: 10px;
}

.blocco-intro--diagnostica--wrapper .h3,
.blocco-intro--diagnostica--wrapper h3 {
	margin-top: 2.5rem;
}

.blocco-intro--diagnostica--cta .btn,
.blocco-intro--diagnostica--cta button {
	padding: 0 2rem;
	margin-bottom: 2.5rem;
	border-width: 0;
}

.blocco-intro--diagnostica--cta .btn div,
.blocco-intro--diagnostica--cta button div {
	width: 50px;
	height: 40px;
	margin-right: 0.5rem;
}

.blocco-intro--diagnostica--cta .btn div::after,
.blocco-intro--diagnostica--cta button div::after {
	content: '';
	width: 20px;
	height: 44px;
	border: 2px solid #ffffff;
	border-left: 0;
	border-top-right-radius: 60px;
	border-bottom-right-radius: 60px;	
}

.blocco-intro--diagnostica--cta > div {
  margin: 1rem 0 1rem 6rem;
}

/* ___PROMO-SALUTE Intro___ */

.blocco-intro--promo-salute--wrapper img {
	margin-top: 3rem;
	border-radius: 10px;
}

/* ___PROMO-SALUTE Schede___ */

.blocco-schede--promo-salute--wrapper {
	margin-bottom: 10rem;
}

.blocco-schede--promo-salute--tab-buttons {
  margin-top: 5rem;
  margin-bottom: 4rem;
}

.blocco-schede--promo-salute--tabs .blocco-schede--promo-salute--tab-container {
  display: flex;
}
.blocco-schede--promo-salute--tab-container {
	margin: 2rem 0;
}

.blocco-schede--promo-salute--card {
  /*padding: 1rem 2rem 1.5rem 0;*/
  min-width: 25%;
  min-height: 45rem;
}

.blocco-schede--promo-salute--tabs .blocco-schede--promo-salute--card > div {
  /*background: #ffffff;*/
  background: var(--3gd-verde-chiaro);
  border-radius: 10px;
  padding: 5rem 3rem 3rem;
  box-shadow: 0 0 6px var(--3gd-verde-chiaro-trasp);
}

.blocco-schede--promo-salute--tab-buttons.tabBlock-tabs {
  background: #bababa;
  width: max-content;
  border-radius: 100rem;
}

.blocco-schede--promo-salute--tab-buttons.tabBlock-tabs ul {
  margin-bottom: 0;
  padding: 0;
}


#i-mesi-della-salute .blocco-schede--promo-salute--card:first-child > div,
#mesi-della-salute .blocco-schede--promo-salute--card:first-child > div {
	/*background: var(--3gd-verde);*/
	background: var(--3gd-verde-chiaro);
	background-image: url('../img/3GD-Img-Promo-salute-02.png');
	background-size: 70%;
	background-position: right bottom;
	background-repeat: no-repeat;
	/*color: #ffffff;*/
}

#pacchetti-salute .blocco-schede--promo-salute--card:first-child > div {
	/*background: #111111;*/
	background: var(--3gd-verde-chiaro);
	background-image: url('../img/3GD-Img-Promo-salute-02.png');
	background-size: 70%;
	background-position: right bottom;
	background-repeat: no-repeat;
	/*color: #ffffff;*/
}

.blocco-schede--promo-salute--card ul {
	list-style-type: circle;
	padding-left: 1rem;
}

.blocco-schede--promo-salute--card ul li::marker {
	color: var(--3gd-verde);  
	content: "\f111";
  font-family: 'Font Awesome 6 Free Regular';
  font-size: 1rem;
}

.blocco-schede--promo-salute--card ul li {
	padding-left: 0.75rem;
	margin-bottom: 0.5rem;
}

.blocco-schede--promo-salute--card div:last-child .h3,
.blocco-schede--promo-salute--card div:last-child h3 {
	margin-bottom: 3.5rem;
}

.blocco-schede--promo-salute--card div:last-child p {
	margin-bottom: 0;
}

/* ___PROMO-SALUTE-PACCHETTO Intro___ */

.blocco-intro--promo-salute--descrizione .h2,
.blocco-intro--promo-salute--descrizione h2 {
	margin-bottom: 5rem;
}

.blocco-intro--promo-salute--descrizione > .col:first-child {
	padding-right: 10rem;
}

/* ___PROMO-SALUTE-PACCHETTO Dettagli___ */

.blocco-dettagli--promo-salute--wrapper {
  padding: 10rem 0 10rem;
  position: relative;
}

.blocco-dettagli--promo-salute--griglia > .container > .row {
	margin-top: 3.5rem;
  row-gap: 2rem;
}

.blocco-dettagli--promo-salute--scheda {
  margin-left: 0;
  margin-right: 3rem;
}

.blocco-dettagli--promo-salute--scheda {
  position: relative;
  background: #ffffff;
  border: 1px solid var(--3gd-verde);
  padding: 2rem 4rem;
  z-index: 20;
}

.blocco-dettagli--promo-salute--pulsante {
  font-size: 1.9rem;
}

.blocco-dettagli--promo-salute--pulsante i {
	margin-right: 2rem;
}

.blocco-dettagli--promo-salute--pulsante a span {
	color: var(--3gd-verde);
}

.blocco-dettagli--promo-salute--cta-container {
	margin-top: 10rem;
	margin-bottom: 5rem;
}

.blocco-dettagli--promo-salute--prezzo .row > div .h4,
.blocco-dettagli--promo-salute--prezzo .row > div h4 {
	margin-bottom: 0;
}

.blocco-dettagli--promo-salute--prezzo .row > div {
	color: #ffffff;
}

.blocco-dettagli--promo-salute--prezzo .row > div:first-child {
	background: var(--3gd-verde);
	padding: 3rem 4rem;
}

.blocco-dettagli--promo-salute--prezzo .row > div:last-child {
	background: var(--3gd-grigio-scuro);
	padding: 3rem 6rem;
}

.blocco-dettagli--promo-salute--cta {
  margin-top: 5rem;
}

.blocco-dettagli--promo-salute--cta .btn,
.blocco-dettagli--promo-salute--cta button {
	padding: 0 2.5rem 0 2rem;
	margin-bottom: 2.5rem;
	border-width: 0;
}

.blocco-dettagli--promo-salute--cta .btn div,
.blocco-dettagli--promo-salute--cta button div {
	width: 50px;
	height: 40px;
	margin-right: 0.5rem;
}

.blocco-dettagli--promo-salute--cta .btn div::after,
.blocco-dettagli--promo-salute--cta button div::after {
	content: '';
	width: 20px;
	height: 44px;
	border: 2px solid #ffffff;
	border-left: 0;
	border-top-right-radius: 60px;
	border-bottom-right-radius: 60px;	
}

.blocco-dettagli--promo-salute--cta > div {
  margin: 1rem 0 1rem 0;
}

.blocco-dettagli--promo-salute--cta .btn,
.blocco-dettagli--promo-salute--cta button {
  margin-right: 3rem;
}

/* ___PRENOTAZIONE Blocco introduzione___ */

.blocco-intro--prenota--wrapper h1 {
	padding: 4rem 0;
	margin-bottom: 5rem;
}

.blocco-intro--prenota--wrapper .blocco-intro--prenota--image img {
	max-width: 95%;
	margin: 0 auto;
}

.blocco-intro--prenota--wrapper {
	margin-top: 0;
	margin-bottom: 10rem;
	position: relative;
}

.blocco-intro--prenota--wrapper > .container {
	z-index: 0;
}

.blocco-intro--prenota--wrapper {
  padding: 0;
  /* background: linear-gradient(180deg, var(--3gd-verde-chiaro) 0%, var(--3gd-verde-chiaro) 20%, transparent 40%, transparent 50%); */
}

.blocco-intro--prenota--elenco > div {
  height: 20rem;
}

.blocco-intro--prenota--elenco-ico {
	min-width: 12rem;
	min-height: 12rem;
	border-radius: 10px;
  margin-right: 5rem;
  border: 2px solid var(--3gd-verde);
}

/* ___PRENOTAZIONE Informazioni___ */

.blocco-informazioni--prenota--wrapper {
	margin-bottom: 5rem;
}

.blocco-informazioni--prenota--wrapper .container {
	background: var(--3gd-verde);
	border-radius: 10px;
	padding-top: 3rem;
	padding-bottom: 3rem;
	padding-left: 0;
	padding-right: 0;
	color: #ffffff;
}

.blocco-informazioni--prenota--wrapper .container .h4,
.blocco-informazioni--prenota--wrapper .container h4 {
	background: var(--3gd-verde-scuro);
	padding: 1rem 3rem;
	margin-bottom: 2rem;
}

.blocco-informazioni--prenota--wrapper .container p, .blocco-informazioni--prenota--wrapper .container ul {
	margin-left: 3rem;
	margin-right: 10em;
	margin-bottom: 2rem;
}

/* ___PRENOTAZIONE Dettagli___ */

.blocco-dettagli--prenota--wrapper {
	margin-bottom: 10rem;
}

.blocco-dettagli--prenota--wrapper .container {
	background: var(--3gd-verde-chiaro);
	border-radius: 10px;
  padding: 3rem 0 1.5rem 3rem;
}

.blocco-dettagli--prenota--txt {
	padding: 0 3rem;
}

.blocco-dettagli--prenota--txt p {
	margin-bottom: 0;
}

.blocco-dettagli--prenota--wrapper .container .row:not(:last-child) .blocco-dettagli--prenota--txt {
	margin-bottom: 8rem;
}

.blocco-dettagli--prenota--icone > div {
  position: relative;
  z-index: 10;
}

.blocco-dettagli--prenota--icone > div::after {
  content: '';
  background: url('../img/3GD-Icon-cerchio-tratti.png');
  background-repeat: repeat;
  background-size: auto;
  width: 110%;
  height: 110%;
  display: block;
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
}

.blocco-dettagli--prenota--wrapper .container .row:nth-child(1) .blocco-dettagli--prenota--icone > div::after {
  top: -5%;
  left: 10%;
}

.blocco-dettagli--prenota--wrapper .container .row:nth-child(2) .blocco-dettagli--prenota--icone > div::after {
  top: -5%;
  left: -20%;
  z-index: -1;
}

.blocco-dettagli--prenota--wrapper .container .row:nth-child(3) .blocco-dettagli--prenota--icone > div::after {
  top: 5%;
  left: 10%;
}

/* ___CONTATTI Blocco introduzione___ */

.blocco-intro--contatti--wrapper {
	margin-top: -2.5rem;
}

.blocco-intro--contatti--wrapper h1 {
	padding: 2rem 0 4rem;
	margin-bottom: 0;
}

.blocco-intro--contatti--wrapper .blocco-intro--contatti--image {
	position: relative;
	text-align: right;
	margin-top: -2.5rem;
}

.blocco-intro--contatti--wrapper .blocco-intro--contatti--image::after {
	content: '';
  background: var(--3gd-verde-chiaro);
  opacity: 0.75;
  width: 35rem;
  height: 35rem;
  position: absolute;
  bottom: -1rem;
  right: 18rem;
  z-index: 0;
  border-radius: 50rem;
}

.blocco-intro--contatti--wrapper .blocco-intro--contatti--image img {
	position: relative;
	width: 75%;
	z-index: 20;
}

/* ___CONTATTI Blocco mappa___ */

.blocco-mappa--contatti--wrapper {
	margin-top: -5rem;
	padding: 0 0 20rem 0;
	position: relative;
	color: var(--3gd-verde);
}

.blocco-mappa--contatti--wrapper > .container {
  background: #ffffff;
  padding: 2.5rem 1rem 2.5rem 4rem;
  border: 1px solid var(--3gd-verde);
  border-radius: 10px;
}

.blocco-mappa--contatti--indirizzo .btn,
.blocco-mappa--contatti--indirizzo button {
	border-radius: 10px;
}

.blocco-mappa--contatti--indirizzo .btn img,s
.blocco-mappa--contatti--indirizzo button img {
	margin-left: 2rem;
}

.blocco-mappa--contatti--indirizzo h6 {
	margin-bottom: 3.5rem;
}

.blocco-mappa--contatti--indirizzo i {
	font-size: 3rem;
	margin-right: 1.5rem;
}

.blocco-mappa--contatti--indirizzo p:first-of-type {
	margin-bottom: 5rem;
}

.blocco-mappa--contatti--indirizzo p:last-of-type {
	margin-bottom: 5rem;
}

.blocco-mappa--contatti--indirizzo .btn,
.blocco-mappa--contatti--indirizzo button {
  transform: translateX(-6rem);
}

/* ___BLOG Intro___ */

.blocco-intro--blog--wrapper img {
	margin-top: 3rem;
	border-radius: 10px;
}

/* ___BLOG Griglia articoli___ */

.blocco-articoli--blog--wrapper {
	margin-bottom: 0;
}

.blocco-articoli--blog--wrapper .blocco-news {
	margin-top: 6rem;
	margin-bottom: 0;	
}

.blocco-articoli--blog--tab-buttons {
  margin-top: 5rem;
  margin-bottom: 5rem;
}

.blocco-articoli--blog--flash-news {
	background: var(--3gd-giallo-chiaro);
	border: 1px solid var(--3gd-arancio);
	padding: 2rem;
	margin-bottom: 2rem;
}

.blocco-articoli--blog--flash-news h6 {
	text-transform: uppercase;
	margin-right: 2rem;
}

.blocco-articoli--blog--flash-news h6, .blocco-articoli--blog--flash-news p {
	line-height: 1.2;
	margin-bottom: 0;
}

.blocco-articoli--blog--tabs .blocco-articoli--blog--tab-container {
  display: flex;
}
.blocco-articoli--blog--tab-container {
	margin: 2rem 0;
}

.blocco-articoli--blog--griglia .blocco-news > * {
	padding-right: 5rem;
  padding-left: 5rem;
  padding-bottom: 5rem;
}

.blocco-articoli--blog--tab-buttons.tabBlock-tabs {
  background: #bababa;
  width: max-content;
  border-radius: 100rem;
}

.blocco-articoli--blog--tab-buttons.tabBlock-tabs ul {
  margin-bottom: 0;
  padding: 0;
}

/** SINGOLO ARTICOLO Intro **/

.blocco-intro--articolo--wrapper {
	padding: 2rem 0 10rem 0;
	position: relative;
}

.blocco-intro--articolo--wrapper i {
  font-size: 5rem;
}

.blocco-intro--articolo--wrapper .h6,
.blocco-intro--articolo--wrapper h6 {
	border-radius: 50px;
	padding: 9px 45px;
	width: max-content;
	color: #ffffff;
	text-transform: uppercase;
	margin-top: 5rem;
	margin-bottom: 5rem;
}

.blocco-intro--articolo--wrapper img {
  width: 100%;
  border-radius: 10px;
}

.blocco-intro--articolo--wrapper.blocco-news--progetti .h6,
.blocco-intro--articolo--wrapper.blocco-news--progetti h6 {
	background: var(--3gd-rosso);	
}

.blocco-intro--articolo--wrapper.blocco-news--progetti img {
  border: 1px solid var(--3gd-rosso);
}

.blocco-intro--articolo--wrapper.blocco-news--generico .h6,
.blocco-intro--articolo--wrapper.blocco-news--generico h6 {
	background: var(--3gd-grigio-scuro);
}
.blocco-intro--articolo--wrapper.blocco-news--generico img {
  border: 1px solid var(--3gd-grigio-scuro);
}

.blocco-intro--articolo--wrapper.blocco-news--iniziative h6,
.blocco-intro--articolo--wrapper.blocco-news--iniziative .h6 {
	background: var(--3gd-arancio);;
}
.blocco-intro--articolo--wrapper.blocco-news--iniziative img {
  border: 1px solid var(--3gd-arancio);
}

.blocco-intro--articolo--wrapper.blocco-news--blog h6,
.blocco-intro--articolo--wrapper.blocco-news--blog .h6 {
	background: var(--3gd-giallo);
}
.blocco-intro--articolo--wrapper.blocco-news--blog img {
  border: 1px solid var(--3gd-giallo);
}

/** SINGOLO ARTICOLO Correlati **/

.blocco-correlati--articolo--wrapper {
	padding-top: 6rem;
}

.blocco-correlati--articolo--wrapper .blocco-news {
	margin-bottom: 0;
}

.blocco-correlati--articolo--wrapper .blocco-news > * {
  padding-right: 5rem;
  padding-left: 5rem;
  padding-bottom: 5rem;
}

.blocco-correlati--articolo--wrapper .blocco-correlati--articolo--titolo .h6,
.blocco-correlati--articolo--wrapper .blocco-correlati--articolo--titolo h6 {
	padding: 1.2rem 3rem;
	background: var(--3gd-grigio-chiaro);
	border: 1px solid var(--3gd-grigio-chiaro);
}

/****** ANIMAZIONE ICONA INFO Pagina modulistica ******/

.blocco-documenti--modulistica--icona-info {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%) translateY(-200%);
  width: 30px;
  height: 30px;
}

.blocco-documenti--modulistica--icona-info i {
  position: relative;
  top: -8.6rem;
  left: -0.8rem;
  z-index: 10;
  font-size: 5rem;
  animation: pulse-dot 1.25s cubic-bezier(0.455, 0.03, 0.515, 0.955) -0.4s infinite;
}

.blocco-documenti--modulistica--icona-info::before {
  content: "";
  position: relative;
  display: block;
  width: 12rem;
  height: 12rem;
  box-sizing: border-box;
  margin-left: -4.3rem;
  margin-top: -4.2rem;
  border-radius: 105px;
  background-color: var(--3gd-verde-trasp);
  animation: pulse-ring 1.25s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
}

.blocco-documenti--modulistica--icona-info::after {
  content: "";
  position: absolute;
  left: -1.95rem;
  top: -1.95rem;
  display: block;
  width: 7.3rem;
  height: 7.3rem;
  background-color: var(--3gd-verde);
  border-radius: 45px;
  box-shadow: 0 0 8px rgba(0, 162, 85, 0.3);
  animation: pulse-dot 1.25s cubic-bezier(0.455, 0.03, 0.515, 0.955) -0.4s infinite;
}

@keyframes pulse-ring {
  0% {
    transform: scale(0.33);
  }
  80%, 100% {
    opacity: 0;
  }
}

@keyframes pulse-dot {
  0% {
    transform: scale(0.8);
  }
  50% {
    transform: scale(1);
  }
  100% {
    transform: scale(0.8);
  }
}

/****** ANIMAZIONE MENU NAVIGAZIONE ******/

@keyframes fade-menu-in {
	0% {
		opacity: 0;
		transform: translateY(-2rem);
	}
	50% {
		opacity: 0.5;
		transform: translateY(0);
	}
	100% {
		opacity: 1;
	}
}
}

.h-fw-light h1,
.h-fw-light h2,
.h-fw-light h3,
.h-fw-light h4,
.h-fw-light h5,
.h-fw-light h6 {
	font-weight: 300 !important;
}
.h-fw-light h1,
.h-fw-light h2,
.h-fw-light h3,
.h-fw-light h4,
.h-fw-light h5,
.h-fw-light h6 {
	font-weight: 300 !important;
}
.h-mb h1,
.h-mb h2,
.h-mb h3,
.h-mb h4,
.h-mb h5,
.h-mb h6 {
	margin-bottom: 2rem!important;
}

.wrap-img {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
}
.wrap-img img,
.wrap-img picture {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.wrap-contain img,
.wrap-contain picture { object-fit: contain; }

.blocco-sanita--chi-siamo--convenzioni img {
	width: 100% !important;
	transform: none !important;
	position: static !important;
}
.btn-form .wpcf7-spinner {
    display: none;
}
.btn-form input,
.btn-form input[type=button], .btn-form input[type=reset], .btn-form input[type=submit], .btn-form button, , .btn-form .btn {
	  all: unset;
    box-sizing: border-box;
    text-align: center;
    width: 100%;
    min-width: 230px;
}
.form-check label {
	display: flex;
	align-items: center;
}
.form-check .wpcf7-list-item-label {
	padding-left: 1rem;
}
#form p { margin:0 }

.faq-editor {
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
}

.faq-editor h2 {
  font-size: clamp(2rem, 3vw, 3.75rem);
  font-weight: 700;
  line-height: 1.1;
  text-align: center;
  color: #212529;
  margin-bottom: 3.5rem;
  position: relative;
}

.faq-editor h2::after {
  content: "";
  display: block;
  width: 72px;
  height: 4px;
  border-radius: 999px;
  background: var(--3gd-verde);
  margin: 1rem auto 0;
}

.faq-editor p {
  position: relative;
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 1rem;
  padding: 1.25rem 1.25rem 1.25rem 5rem;
  margin-bottom: 2.5rem;
  box-shadow: 0 10px 30px rgba(0, 162, 85, 0.06);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.faq-editor p:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 38px rgba(0, 162, 85, 0.1);
  border-color: rgba(0, 162, 85, 0.25);
}

.faq-editor p::before {
  content: "?";
  position: absolute;
  top: 1.15rem;
  left: 1.25rem;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: rgba(0, 162, 85, 0.12);
  color: var(--3gd-verde);
  font-weight: 700;
  font-size: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.faq-editor p strong {
  display: block;
  font-size: 2rem;
  line-height: 1.4;
  font-weight: 700;
  color: #212529;
  margin-bottom: 0.6rem;
}

.faq-editor p br {
  display: none;
}

.faq-editor p {
  color: #5c6670;
  font-size: 1.9rem;
  line-height: 1.7;
}

@media (max-width: 575.98px) {
  .faq-editor p {
    padding: 1.1rem 1rem 1.1rem 5rem;
    border-radius: 0.875rem;
  }
}

.percorso-step-item {
    position: relative;
}

.percorso-step-item::before {
    content: "";
    position: absolute;
    top: 56px;
    left: -50%;
    width: 100%;
    height: 1px;
    background: rgba(0, 162, 85, 0.43);
    z-index: 0;
}

.percorso-step-item .decorazione-wrapper {
    position: relative;
    z-index: 1;
    background: #fff;
}

/* Mobile: una colonna, quindi niente linee */
@media (max-width: 767.98px) {
    .percorso-step-item::before {
        display: none;
    }
}

/* Da md: 3 colonne, quindi togli la linea al primo di ogni riga */
@media (min-width: 768px) and (max-width: 1199.98px) {
    .percorso-step-item:nth-child(3n + 1)::before {
        display: none;
    }
}

/* Da xl: 5 colonne, quindi togli la linea solo al primo */
@media (min-width: 1200px) {
    .percorso-step-item:nth-child(5n + 1)::before {
        display: none;
    }
}
.percorso-lineare {
    --step-color: rgba(0, 162, 85, 0.43);
}

.percorso-lineare__item {
    position: relative;
}

.percorso-lineare__head {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    min-height: 24px;
    margin-bottom: 1rem;
    z-index: 2;
}

.percorso-lineare__dot {
    width: 32px;
    height: 32px;
    border: 1px solid var(--step-color);
    border-radius: 50%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 2;
}

.percorso-lineare__dot span {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--step-color);
    display: block;
}

.percorso-lineare__content {
    position: relative;
    z-index: 2;
}

.percorso-lineare__text {
    font-size: 1.5rem;
    line-height: 1.6;
}

/* Linea orizzontale */
@media (min-width: 768px) {
    .percorso-lineare__item::before {
        content: "";
        position: absolute;
        top: 16px;
        left: calc(-100% + 24px);
        width: 100%;
        height: 1px;
        background: var(--step-color);
        z-index: 1;
    }

    /* Primo elemento di ogni riga da 3: niente linea */
    .percorso-lineare__item:nth-child(3n + 1)::before {
        display: none;
    }
}

/* Mobile: niente linea */
@media (max-width: 767.98px) {
    .percorso-lineare__item::before {
        display: none;
    }
}

.sezione-storia-timeline {
     --timeline-dot-size: clamp(40px, 7vw, 112px);
    --timeline-gap: clamp(20px, 5vw, 72px);
    --timeline-line-color: rgba(0, 162, 85, 0.43);
    --timeline-green: #00A255;
    --timeline-green-soft: rgba(0, 162, 85, 0.18);
}

.timeline-verticale__item {
    display: grid;
    grid-template-columns: var(--timeline-dot-size) 1fr;
    column-gap: 2.5rem;
    align-items: start;
    padding-bottom: var(--timeline-gap);
    position: relative;
    overflow: hidden;
}

.timeline-verticale__item:last-child {
    padding-bottom: 0;
}

.timeline-verticale__rail {
    position: relative;
    min-height: var(--timeline-dot-size);
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

/* linea verticale: parte da sotto il cerchio e arriva fino al cerchio successivo */
.timeline-verticale__rail::after {
    content: "";
    position: absolute;
    left: 50%;
    top: var(--timeline-dot-size);
    bottom: 0;
    width: 1px;
    background: var(--timeline-line-color);
    transform: translateX(-50%);
    height: 500%;
}

.timeline-verticale__item:last-child .timeline-verticale__rail::after {
    display: none;
}

/* cerchio esterno da 112px */
.timeline-verticale__dot {
    width: var(--timeline-dot-size);
    height: var(--timeline-dot-size);
    border: 1px solid var(--timeline-line-color);
    border-radius: 50%;
    position: relative;
    background: transparent;
    display: block;
    flex: 0 0 var(--timeline-dot-size);
}

/* cerchio intermedio */
.timeline-verticale__dot::before {
    content: "";
    position: absolute;
    inset: 15%;
    border-radius: 50%;
    background: var(--timeline-green-soft);
}

/* pallino centrale */
.timeline-verticale__dot::after {
    content: "";
    position: absolute;
    width: 20%;
    aspect-ratio: 1/1;
    border-radius: 50%;
    background: var(--timeline-green);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.timeline-verticale__content {
    min-width: 0;
}

.timeline-verticale__title {
    color: var(--timeline-green);
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
}

.timeline-verticale__descrizione {
    margin-bottom: 2rem;
}

.timeline-verticale__box {
    position: relative;
    padding-top: 1.25rem;
}

.timeline-verticale__box::before {
    content: "";
    display: block;
    width: 28px;
    height: 3px;
    background: var(--timeline-green);
    margin-bottom: 1rem;
}

.timeline-verticale__box-title {
    color: var(--timeline-green);
    font-size: 1.125rem;
    font-weight: 700;
    margin-bottom: .75rem;
}

.rounded-start-pill {
    border-top-left-radius: 50rem;
    border-bottom-left-radius: 50rem;
}

/* Testo sopra l'overlay */
.promo-section-bg__title {
  position: relative;
  z-index: 1;
  text-shadow: 0 2px 3px rgba(0, 0, 0, 0.95);
}
.js-embla-main-slider {
  width: 100%;
}

.js-embla-main-slider .embla__viewport {
  overflow: hidden;
  width: 100%;
}

.js-embla-main-slider .embla__container {
  display: flex;
  width: 100%;
}

.js-embla-main-slider .embla__slide {
  flex: 0 0 100%;
  min-width: 0;
}

.js-embla-main-slider .ratio {
  width: 100%;
}

.js-embla-main-slider img {
  display: block;
}


.js-embla-main-slider-wrap .embla__controls {
  display: grid;
  grid-template-columns: auto 1fr;
  justify-content: space-between;
  gap: 1.2rem;
  margin-top: 1.8rem;
  transform: none;
}

.js-embla-main-slider-wrap .embla__buttons {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.6rem;
  align-items: center;
}

.js-embla-main-slider-wrap .embla__button {
  -webkit-tap-highlight-color: var(--text-high-contrast);
  -webkit-appearance: none;
  appearance: none;
  background-color: transparent;
  touch-action: manipulation;
  display: inline-flex;
  text-decoration: none;
  cursor: pointer;
  border: 0;
  padding: 0;
  margin: 0;
  border: 0.2rem solid var(--detail-medium-contrast);
  width: 3.6rem;
  height: 3.6rem;

  z-index: 1;
  border-radius: 50%;
  color: var(--text-body);
  display: flex;
  align-items: center;
  justify-content: center;
  transform: rotate(0deg);
}

.js-embla-main-slider-wrap .embla__button--disabled {
  color: var(--detail-high-contrast);
}

.js-embla-main-slider-wrap .embla__button__svg {
  width: 35%;
  height: 35%;
}

.js-embla-main-slider-wrap .embla__dots {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  margin-right: calc((2.6rem - 1.4rem) / 2 * -1);
}

.js-embla-main-slider-wrap .embla__dot {
  -webkit-tap-highlight-color: rgba(var(--text-high-contrast-rgb-value), 0.5);
  -webkit-appearance: none;
  appearance: none;
  background-color: transparent;
  touch-action: manipulation;
  display: inline-flex;
  text-decoration: none;
  cursor: pointer;
  border: 0;
  padding: 0;
  margin: 0;
  width: 2.6rem;
  height: 2.6rem;

  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  position: relative;
}

.js-embla-main-slider-wrap .embla__dot:before,
.js-embla-main-slider-wrap .embla__dot:after {
  width: 1.4rem;
  height: 1.4rem;

  border-radius: 50%;
  position: absolute;
  display: flex;
  align-items: center;
  content: '';
}

.js-embla-main-slider-wrap .embla__dot:before {
  border: 0.2rem solid var(--detail-medium-contrast);
}

.js-embla-main-slider-wrap .embla__dot:after {
  border: 0.2rem solid var(--text-body);
  opacity: 0;
}

.js-embla-main-slider-wrap .embla__dot--selected:after {
  opacity: 1;
}

.js-embla-main-slider-wrap .embla__slide__img {
  user-select: none;
}
