/*!
Theme Name: custom
Theme URI: https://www.lucalarice.com/
Author: Luca Larice
Author URI: https://www.lucalarice.com/
Description:
Version: 1.0.0
*/




/*--------------------------------------------------------------
# FONTS
--------------------------------------------------------------*/
/* Poppins Regular */
@font-face {
  font-family: "Poppins";
  src: url("assets/fonts/Poppins/Poppins-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Poppins SemiBold */
@font-face {
  font-family: "Poppins";
  src: url("assets/fonts/Poppins/Poppins-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

/* Poppins Bold */
@font-face {
  font-family: "Poppins";
  src: url("assets/fonts/Poppins/Poppins-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}


/*--------------------------------------------------------------
# UTILITY: font
--------------------------------------------------------------*/
.bold{font-weight: 600;}
b, strong{font-weight: 600;}
.full-height{height:100%;}
.uppercase{text-transform: uppercase;}
.lowercase{text-transform: lowercase;}



/*--------------------------------------------------------------
# UTILITY: colors
--------------------------------------------------------------*/
.bg-white{background-color: #fff;}
.bg-black{background-color: #000;}



.bg-grey{background-color: #D8D8D8;}
.bg-grey1{background-color: #ECECEC;}
.bg-red{background-color: #93212E;}

.white, .white a, .white h1, .white h2, .white h4, .white h5, .white a:hover, .white a:visited, .white h3{color: #fff;}

.red{color: #E5001A;}


/*--------------------------------------------------------------
# GENERAL SETUP
--------------------------------------------------------------*/
.container{
	width: 95%;
}
.container-fluid {
	width: 95%;       /* sempre il 90% dello schermo */
	max-width: 768px; /* ma non oltre i 1600px */
	margin: 0 auto;
}
.container-fluid-full{
	width: 100%;
	max-width: 100%;
}


html{
	font-size: 63.5%; /* $rembase = 10px */
}
body {
	background: #ffffff; /* Fallback for when there is no custom background color defined. */
}
ul, ol {
	margin: 0 0 1.5rem 1.5rem;
	padding: 0;
}
ul {
	list-style: disc;
}
ol {
	list-style: decimal;
}
li > ul, li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}
img {
	height: auto; /* Make sure images are scaled correctly. */
	max-width: 100%; /* Adhere to container width. */
}
hr {
	border: 0;
	height: 1px !important;
	margin-top: 1em;
	margin-bottom: 1em;
	color: #184334;
	width: 100%;
	background: #184334;
	opacity: 1;
}

.text-center hr{margin: 1em auto;}
.text-end hr{margin: 1em 0 1em auto;}

hr.white{
	color: #fff;
	background-color: #fff;
}
hr.hr-full{
	width: 100%;
}

.two-columns{
	column-count: 2;
	column-gap: 30px;
}

.border-black{
	border-color: #162259 !important;
}


/*--------------------------------------------------------------
# TYPOGRAPHY
--------------------------------------------------------------*/
body, button, input, select, textarea {
	font-family: "Poppins";
	font-size: 1.4rem; /* 13 ÷ $rembase */
	font-weight: 400;
	line-height: 1.8;
	color: #6D6D6D;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
	font-family: "Poppins";
	font-style: normal;
	clear: both;
	font-weight: 400;
	color: #1E1E1E;
}
h1, .h1{
	font-size: 3rem;
	margin-bottom: 2rem;
}
h2, .h2{
	font-size: 2.5rem;
	margin-bottom: 2rem;
}
h3, .h3{
	font-size: 2rem;
	margin-bottom: 2rem;
}
h4, .h4{
	font-size: 1.6rem;
	margin-bottom: 1rem;
	color: #93212E;
	text-transform: uppercase;
}
h5, .h5{
	font-size: 1.8rem;
	margin-bottom: 1.5rem;
}
h6, .h6{
	background-color: #B8C9E8;
	font-size: 1.2rem;
	margin-bottom: 1rem;
	font-weight: bold;
	padding: 5px 10px;
	border-radius: 30px;
	display: inline-block;

}

p {
	margin-bottom: 1.6rem;
}


.no-space p, .title-no-margin h4, .title-no-margin h3, .title-no-margin h2{margin-bottom: 0}


.sticky-top{z-index: 10;}


/*--------------------------------------------------------------
# LINKS
--------------------------------------------------------------*/
a {
	color: #000;
	text-decoration: underline;
}
a:visited {
	color: #000;
}
a:hover, a:focus, a:active {
	color: #000;
	text-decoration: none;
}
a:focus {
	outline: 0;
}
a:hover, a:active {
	outline: 0;
}


/*--------------------------------------------------------------
# GLOBAL
--------------------------------------------------------------*/
#content{
	min-height: 600px;
}

.video {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	height: 0;
	margin-top:3px;
}
.video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 30px;
}

a.link-button,
.link-button a {
	text-indent: -9999px;   /* nasconde il testo */
	overflow: hidden;       /* evita che fuoriesca */
	white-space: nowrap;
	width: 40px;
	height: 40px;
	background: url('assets/images/arr-r.svg') no-repeat center center;
	display: inline-block;
	cursor: pointer;
	transition: transform .3s ease; /* animazione fluida */
}
.entry-header p {color:#000;}

/* HOVER */
a.link-button:hover,
.link-button a:hover {
	transform: translateX(20px);
}



.arr-r-btn{
	display: block;
	width: 40px;
	height: 40px;
	background: url('assets/images/arr-r.svg') no-repeat center center;
	background-color: #134CB3;
	border-radius: 50%;
	transition: background-color .3s ease, transform .3s ease;
}
.arr-r-btn:hover{
	background-color: #f96611;
}






a.link-button-w, a.link-button-w:visited, .link-button-w a, .link-button-w a:visited{
	border: 1px solid #fff;
	background-color: transparent;
	color: #fff;
}
a.link-button-w:hover, .link-button-w a:hover{
	border: 1px solid #FCEE2F;
	color: #102D21 !important;
}

a.link-button-line, a.link-button-line:visited, .link-button-line a, .link-button-line a:visited{
	border: 1px solid #1F5645;
	background-color: transparent;
	color: #1F5645;
}
a.link-button-line:hover, .link-button-line a:hover{
	background: #FCEE2F;
	border: 1px solid #FCEE2F;
    color: #1F5645;
}

a.link-button-y, a.link-button-y:visited, .link-button-y a, .link-button-y a:visited{
	background-color: #FCEE2F;
	color: #1F5645;
}






/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/
.main-navigation {
	clear: both;
	display: block;
	width: 100%;
	position: relative;
}
.main-navigation ul {
	list-style: none;
	margin: 0;
	padding-left: 0;
	padding-bottom: 0px;
}
#secondary-menu{
	padding-bottom: 0px;
	padding-top: 12px;
}
.main-navigation li {
	display: inline-block;
	position: relative;
	margin: 0px;
	text-align: left;
	padding: 0 9px;
}

.main-navigation li:first-child{
	margin-left: 0;
}
.main-navigation li:last-child{
	margin-right: 0;
}
.main-navigation a {
	display: block;
	text-decoration: none;
	font-size: 1.3rem;
	font-weight: 500;
	padding: 0px 5px;
	color: #1E1E1E;
}
#secondary-menu a{
	font-weight: 600;
}

.main-navigation li:hover > a,
.main-navigation li.focus > a,
.main-navigation .current_page_item > a,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_ancestor > a,
.main-navigation .current-page-ancestor > a,
.main-navigation .current-menu-ancestor > a {
  text-decoration: none;
}

#main-menu > li > a::before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -16px; /* distanza dal testo */
  transform: translateX(-50%);
  width: 2px; /* spessore linea */
  height: 16px; /* lunghezza linea */
  background-color: #d6000f; /* rosso */
  opacity: 0;
  transition: opacity .2s ease;
}
/* Attivazione hover + current */
#main-menu > li:hover > a::before,
#main-menu > li.current-menu-item > a::before {
  opacity: 1;
}
#main-menu > li:hover > a,
#main-menu > li.current-menu-item > a {
  color: #E5001A;
  font-weight: 600;
}

#secondary-menu > li > a::before {
  content: '';
  position: absolute;
  left: 50%;
  top: -16px; /* distanza dal testo */
  transform: translateX(-50%);
  width: 2px; /* spessore linea */
  height: 16px; /* lunghezza linea */
  background-color: #d6000f; /* rosso */
  opacity: 0;
  transition: opacity .2s ease;
}
/* Attivazione hover + current */
#secondary-menu > li:hover > a::before,
#secondary-menu > li.current-menu-item > a::before {
  opacity: 1;
}
#secondary-menu > li:hover > a,
#secondary-menu > li.current-menu-item > a {
  color: #E5001A;
  font-weight: 600;
}


#main-menu > li.menu-item-has-children > a span.menu-arr{
	content: "";
	display: inline-block;
	margin-left: 3px;
	width: 8px;
	height: 8px;
	background: url('assets/images/arr-down.svg');
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center center;
}

.main-navigation a:hover{
	text-decoration: underline;
}


/* === ANCORAGGIO === */
#header { position: relative; z-index: 50; }          /* il mega si posiziona rispetto all'header */




.main-navigation .sub-menu li{
	padding: 0;
	display: block;
}


/* submenu: base nascosto */
.main-navigation .menu > li > .sub-menu:not(.mega-grid) {
  display: none;
}

/* mostra submenu su hover e focus (tastiera) */
.main-navigation .menu > li:hover > .sub-menu,
.main-navigation .menu > li:focus-within > .sub-menu {
  display: block;
}

/* SUBMENU */
.main-navigation .sub-menu {
  position: absolute;
  top: calc(100% + 20px);
  left: 50%;
  transform: translateX(-50%);
  min-width: 260px;
  padding: 18px 22px;
  background: #8b1f2fd1;
  z-index: 9999;

  /* taglio diagonale in basso a destra */
  clip-path: polygon(
    0 0,
    100% 0,
    100% calc(100% - 20px),
    calc(100% - 20px) 100%,
    0 100%
  );
}
.main-navigation .sub-menu li {
  display: block;
  padding: 0;
  margin: 0;
}
.main-navigation .sub-menu a {
  padding: 3px 0;
  font-size: 1rem;
  font-weight: 500;
  color: #fff;
  text-decoration: none;
  white-space: nowrap;
}
.main-navigation .sub-menu a:hover {
  text-decoration: underline;
}
.main-navigation .menu > li {
  position: relative;
}

/* ponte hover tra voce e submenu */
.main-navigation .menu > li.menu-item-has-children::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 20px;
}






/* ===== MOBILE MENU ===== */
#mobile-menu, #mobile-menu .sub-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
#mobile-menu > li, #mobile-menu .sub-menu > li {
  border-bottom: 1px solid #74968E;
  text-align: center;
}
#mobile-menu .is-open > a{display: none}

#mobile-menu a, #mobile-menu .sub-menu a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.3rem 1.5rem;
  text-decoration: none;
  color: #000;
  font-size: 1.2rem;
  font-weight: 600;
  text-transform: uppercase;
}
#mobile-menu .sub-menu a {
	color: #1F5645;
	font-size: 1.3rem;
	text-transform: none;
	font-weight: 400;
	padding: 1.5rem 1.5rem;
}
#mobile-menu .sub-menu .menu-item-type-custom a{
	font-weight: bold;
	text-transform: uppercase;
}
#mobile-menu .menu-arr{
	content: '';
	width: 10px;
	height: 10px;
	background: url('assets/images/arr-right.png') no-repeat center center;
	background-size: contain;
}



/* Nascondi sub-menu di default */
#mobile-menu .sub-menu {
  display: none;
}

/* Mostra solo quello aperto */
#mobile-menu .is-open > .sub-menu {
  display: block;
}

/* Quando apro un pannello, nascondo tutti i root tranne quello attivo */
.mobile-root-hidden > li {
  display: none;
}

.mobile-root-hidden > li.is-open {
  display: block;
}

/* ===== PANEL HEADER (barra gialla) ===== */
.mobile-panel-header {
  background: #F3EA53; /* giallo spiripau */
  padding: 1.5rem 1.5rem;
  font-weight: 700;
  text-transform: uppercase;
  border-bottom: 1px solid #e6e6e6;
}

.mobile-panel-header .panel-back {
  appearance: none;
  border: 0;
  background: transparent;
  font-size: 1.8rem;
  padding: 1.5rem 1.5rem;
  cursor: pointer;
  color: #1f3a32;
}
.mobile-panel-header button{
	background: transparent;
	border: 0 none;
	position: absolute;
}
.mobile-panel-header .panel-title {
  font-size: 1.5rem;
  color: #091B12;
  text-align: center;
}

/* ===== TRANSIZIONE E ANIMAZIONE ===== */
#mobile-menu .sub-menu {
  animation: slideIn .3s ease forwards;
}

@keyframes slideIn {
  from { opacity: 0; transform: translateX(20px); }
  to { opacity: 1; transform: translateX(0); }
}

/* ===== SCROLLBAR ===== */
#mobile-menu .sub-menu::-webkit-scrollbar {
  width: 6px;
}
#mobile-menu .sub-menu::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 3px;
}
#mobile-menu .sub-menu::-webkit-scrollbar-track {
  background: #f8f8f8;
}







/*--------------------------------------------------------------
# MOBILE - MENU - SLIDEOUT
--------------------------------------------------------------*/
.mobile-menu-overlay {
	overflow-x: hidden;
	position: fixed;
	z-index: 10000;
	top: 0;
	left: 0;
	height: 0;
	width: 100%;
	transition: all 0.5s ease 0s;
}
.menu-icon svg{
	fill: #E5001A;
	width: 22px;
}
.menu-icon{
	padding: 4px 8px 5px;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
}









/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
.site-header{
	border-bottom: 1px solid #D8D8D8;
}
.site-title{
	margin-bottom: 0;
	line-height: 0;
}
.site-title img{
	width: 175px;
}
.header-logo{
	transition: all 0.5s ease 0s;
}
.pre-header{
	font-size: 1.3rem;
}


.red-line{
	border-bottom: 2px solid #E5001A;
}





/* stato sticky del #header */
#header.is-sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background-color: #ffffff;
  transform: translateY(-100%);
  opacity: 0;
  animation: spw-slide-down .35s ease-out forwards;
}
/* animazione dall’alto */
@keyframes spw-slide-down {
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
/* admin bar di WordPress */
body.admin-bar #header.is-sticky { top: 32px; }
@media (max-width: 782px) {
  body.admin-bar #header.is-sticky { top: 46px; }
}
/* quando sticky nascondi la pre-header */
#header.is-sticky .pre-header {
  display: none !important;
}




.box-linguetta{
	position: relative;
}
.box-linguetta::before {
	content: '';
	position: absolute;
	top: -39px;
	right: 0;
	width: 270px;
	height: 80px;
	background: #d8d8d8;
	/* crea il trapezio inclinato */
	clip-path: polygon(100px 1px, 100% 0, 100% 50%, 15% 50%);
}
.box-linguetta-news::before{
	content: '';
	position: absolute;
	top: -50px;
	right: 0;
	width: 280px;
	height: 120px;
	background: #d8d8d8;
	/* crea il trapezio inclinato */
	clip-path: polygon(100px 1px, 100% 0, 100% 50%, 15% 50%);
}
.box-linguetta-bottom::before{
	top: initial;
	bottom: -60px;
}
.box-linguetta-grey1::before{
	background: #ECECEC;
}
.box-linguetta-red::before{
	background: #93212E;
}
.box-linguetta-white::before, .linguetta-bianca::before{
	background: #ffffff;
}
.box-linguetta-download::before{
	width: 280px;
}


.box-story{
	height: 270px;
	position: relative;
	font-size: 1.3rem;
  	line-height: 1.8rem;
}
.box-story-back{
	background-size: cover;
	background-position: center center;
}
.box-story::before{
	content: '';
	position: absolute;
	bottom: -60px;
	right: 0;
	width: 200px;
	height: 95px;
	background: #fff;
	/* crea il trapezio inclinato */
	clip-path: polygon(100px 0px, 100% 0, 100% 50%, 15% 50%);
}
.box-story-year{
	font-weight: bold;
	position: absolute;
	bottom: 7px;
	right: 10px;
	font-size: 2rem;
	color: #6D6D6D;

}


.custom-arrow-nav {
  position: relative !important;
  padding-bottom: 80px; /* spazio per le frecce */
}

.custom-arrow-nav .custom-arrow {
  position: absolute;
  bottom: 0;
  top: auto;
  background: none;
  border: 0;
  width: 40px;
  height: 40px;
  cursor: pointer;
}
.custom-arrow-nav .slick-prev {
  left: 0;
}
.custom-arrow-nav .slick-next {
  right: 0;
}
.custom-arrow-nav .custom-arrow img {
  width: 100%;
  height: auto;
}





.wp-searchform__wrap{
  position:relative;
  width:100%;
  max-width:560px; /* opzionale */
}

.wp-searchform__input{
  width:100%;
  height:37px;
  border:1px solid #e5e5e5;
  padding:0 48px 0 14px; /* spazio a destra per il bottone */
  outline:none;
}

.wp-searchform__input:focus{
  border-color:#cfcfcf;
}

.wp-searchform__submit{
  position:absolute;
  top:50%;
  right:10px;
  transform:translateY(-50%);
  width:32px;
  height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:0;
  background:transparent;
  cursor:pointer;
  padding:0;
  color:#e0465a; /* colore lente (modifica) */
}

.wp-searchform__icon{
  width:18px;
  height:18px;
}




/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.moove-gdpr-branding-cnt{display: none}
.site-footer{
	font-size: 1.2rem;
	line-height: 2rem;
}
.site-footer ul{
	list-style-type: none;
	margin-left: 0;
}
.footer-logo{
	/*filter: brightness(0) invert(1);*/
	width: 175px;
}
.site-footer a, .site-footer a:visited{
	text-decoration: none;
}
.site-footer a:hover{
	text-decoration: underline;
}

.footer-navigation a{
	font-size: 1.3rem;
}
.footer-navigation .sub-menu{
  display:none;
}

.site-footer h4{
	color: #6D90D0;
}

.footer-legals li{
	display: inline-block;
	margin-right: 10px;
}


.social{
	display: inline-flex;
	align-items: center;
}
.social img{
	width: 1.8rem;
	/*filter: invert(100%);*/
}
.social a{
	width: 30px;
	height: 30px;
	text-align: center;
  text-decoration:none;
	margin-right:5px;
}
.social a:hover{
	text-decoration: none;
}




/*--------------------------------------------------------------
# LINGUA
--------------------------------------------------------------*/
.lag-top{
}
.wpml-ls-legacy-dropdown, .wpml-ls-legacy-dropdown-click{
	width: auto;
	margin-top: 0px;
	margin-left: 0px;
	border: 0 none;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;

}
.wpml-ls-legacy-dropdown a, .lang-top .wpml-ls-legacy-dropdown-click a{
	color: #fff !important;
	font-size: 1.1rem;
	text-decoration: none;
	background-color: transparent !important;
	border: 0 none !important;
	padding-top: 12px;
	padding-bottom: 11px;
	padding-left: 12px;
	text-align: left;
}
.wpml-ls-legacy-dropdown-click a{
	border: 0 none !important;
	background-color: transparent;
}
.header-small .lang-top .wpml-ls-legacy-dropdown-click a{
	font-size: .9rem;
	padding-top: 10px;
  	padding-bottom: 9px;
}
.wpml-ls-legacy-dropdown-click .wpml-ls-current-language:hover > a, .lang-top .wpml-ls-legacy-dropdown-click a:hover{
	background-color: transparent !important;
	text-decoration: none;
}
.wpml-ls-legacy-list-horizontal a, .wpml-ls-legacy-dropdown-click a{
	color: #000 !important;
	font-size: 1.3rem;
	line-height: 1.3rem;
	text-align: center;
}
.wpml-ls-current-language:hover a, .wpml-ls-current-language a{
	text-decoration: none;
}
.wpml-ls-current-language a{
  color: #e5001a !important;
  font-weight:bold;
}
.wpml-ls-sub-menu{
	border: 1px solid rgba(70, 74, 78, .7) !important;
	margin-top: 6px !important;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	background-color: rgba(51, 57, 60, .7);
}
.wpml-ls-legacy-dropdown-click .wpml-ls-current-language:hover > a, .wpml-ls-legacy-dropdown-click a:focus, .wpml-ls-legacy-dropdown-click a:hover{
	background-color: transparent;
}
.wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle::after {
	border: 0 none;
	background-image: url('assets/images/down.svg');
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	top: calc(30%);
	width: 20px;
  	height: 15px;
}
.wpml-ls-legacy-list-horizontal{
  padding:10px;
}
.wpml-ls-legacy-list-horizontal .wpml-ls-item{
  border-right:1px solid #000;
}
.wpml-ls-legacy-list-horizontal .wpml-ls-item:last-child{
  border-right:0 none;
}




/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
.video-hero{
	min-height: 700px;
}

.video_inline{
  width: 100%;
}


.dots .slick-dots{
	top: 10px;
	text-align: right;
	padding-right: 20px;
}
.slick-dots{
  bottom: 15px;
}
.slick-dots li{
	margin: 0 1px;
}
.slick-dots li.slick-active button::before {
	color: #e5001a;
	font-size: 10px;
}
.slick-dots li button::before{
	color: #fff;
	opacity: 1;
	font-size: 10px;
}
.slick-dotted.slick-slider{
	margin-bottom: 0;
}
.slick-slider.no-dots .slick-dots {
	display: none !important;
}

.rank-math-breadcrumb{
	font-size: 1.3rem;
	color: #101A29;
	font-weight: 400;

}
.rank-math-breadcrumb p{
	margin-bottom: 0;
}


/* SLIDESHOW */
.slideshow { position: relative; }
.slideshow-slide {
	position: relative;
	overflow: hidden;
}
.slideshow-img {
	display:block;
	height: 80vh;
	object-fit: cover;
}
@media (max-width: 768px){
	.slideshow-img {
		height: 50vh;
	}
}
.slideshow-overlay {
	position: absolute;
	inset: 0;
	display: grid;
	align-items: center;
}
.slideshow-text {
	margin: 0 auto;
	max-width: 1220px;
	font-size: 3rem;
}


@media (min-width: 992px) {
  #popup-24h .popup-left {
    min-height: 500px;
  }
}
#popup-24h .popup-left {
  background-size: cover;
  background-position: center;
 }
#popup-24h{
	padding: 0;
}


.hero{
	min-height: 250px;
	display: flex;
  	align-items: center;
}
.rounded{
	border-radius: 30px !important;
}

.box-rounded{
	border: 2px solid #E5E5E5 !important;
	border-radius: 30px;
}
.box-rounded-light{
	border: 1px solid #E5E5E5 !important;
}

.patologia-link a{
	text-decoration: none;
	font-weight: bold;
}
.patologia-link:hover{
	background-color: #ffffff14;
}


.world{
	background-image: url('assets/images/world.png');
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}



.parallax{
  position: relative;
  overflow: hidden;
  min-height: 300px; /* o quello che usi */
}

.parallax__bg{
  position: absolute;
  inset: -20% 0;              /* extra per non vedere “buchi” */
  background-image: var(--bg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform: translate3d(0,0,0);
  will-change: transform;
}



/*--------------------------------------------------------------
# FAQ
--------------------------------------------------------------*/
.faq-content .accordion-item{
	border: 0 none !important;
	border: 2px solid #E5E5E5 !important;
	border-radius: 30px;
	background-color: #D5DFF1;
}
.faq-content .accordion-button{
	background-color: transparent; !important;
	border: 0 none !important;
	box-shadow: none !important;
	font-weight: bold;
}
.faq-content .accordion-collapse{
	background-color: transparent; !important;
	color: #000;
}
/* Reset dell'icona default di Bootstrap */
.faq-content .accordion-button::after {
    background-image: none !important;
    transform: none !important;
    filter: none !important;
}

/* Cerchio + (accordion chiuso) */
.faq-content .accordion-button::after {
    content: "+";
    display: flex;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    font-size: 2rem;
    font-weight: 700;
    background-color: #134cb3; /* cerchio blu */
    color: #fff; /* rosa chiaro simile a quello dell’immagine */
}

/* Cerchio – (accordion aperto) */
.faq-content .accordion-button:not(.collapsed)::after {
    content: "–";
    background-color: #F96611;
}

/* Colore testo quando aperto (se lo vuoi mantenere) */
.faq-content .accordion-button:not(.collapsed) {
    color: #134cb3;
}


.check-list, .danger-list, .check-list ul{
  list-style: none;
  margin: 0;
  padding: 0;
  margin-bottom:2rem;
}

.check-list li, .danger-list li{
  position: relative;
  padding-left: 2.5rem; /* spazio per il cerchio */
  margin-bottom: 0.75rem;
}

.check-list li::before, .danger-list li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 6px;         /* aggiusta finché ti torna visivamente */
  width: 1.6rem;
  height: 1.6rem;
  background-image: url("assets/images/check.svg"); /* tuo file */
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.danger-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;         /* aggiusta finché ti torna visivamente */
  width: 1.6rem;
  height: 1.6rem;
  background-image: url("assets/images/danger.svg"); /* tuo file */
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}


.split-list ul {
    column-count: 1;
    column-gap: 2rem;
}

/* SE esiste l'elemento li:nth-child(9), applica due colonne */
.split-list li:nth-child(9) {
    /* this selector matches → we override parent */
    /* we “toggle” the parent to 2 columns */
    /* trick: use :has() */
}

.split-list ul:has(li:nth-child(9)) {
    column-count: 2;
}


table{
	width: 100%;
	font-size: 1.2rem;
}
table{
	width: 100%;
}
table tr{
	border-bottom: 1px solid #ccc;
}
table td{
	padding: 5px;
}
table th[colspan="2"]{
	padding: 30px 5px 5px;
}




/*--------------------------------------------------------------
# CONTENUTO
--------------------------------------------------------------*/
.image-fascia{
	background-size: cover;
	background-position: center center;
	min-height: 350px;
}

.hero-banner{
  position: relative;
	background-size: cover;
	background-position: center center;
	min-height: 300px;
  overflow: hidden;
}
.hero-banner--video .hero-banner__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.numeri-icon img{
	height: 70px;
}
.numeri-count{
	font-size: 4rem;
	line-height: 3.5rem;
	font-weight: 600;
}
.numeri-text{
	font-size: 1.2rem;
}

.box-icon-text{
	border: 1px solid #E4E4E4;
	border-radius: 30px;
	padding: 1.5rem;
}
.icona-box{
	background-color: #f96611;
	padding: 20px;
	border-radius: 10px;
	display: inline-block;
}
.icona-box img{
	height: 50px;
}





.accordion{
	--bs-accordion-bg: transparent;
	--bs-accordion-active-bg: transparent;
	--bs-accordion-color: inherit;
	--bs-accordion-body-padding-x: 0;
	--bs-accordion-border-radius: 0;
	--bs-accordion-border-width: 0;
	--bs-accordion-inner-border-radius: 0;
	--bs-accordion-btn-padding-x: 0;
	--bs-accordion-btn-color: inherit;
	--bs-accordion-active-color: #FCEE2F;
	--bs-accordion-btn-icon-width: 1.6rem;
	--bs-accordion-btn-padding-y: 1.5rem;
}
.accordion-item{
	border-bottom: 1px solid #fff;
}
.accordion-button{
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23ffffff' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
  --bs-accordion-btn-active-icon: var(--bs-accordion-btn-icon);
  font-size: 1.6rem;
  text-transform: none;
}
.accordion-button:hover, .accordion-button:focus, .accordion-button:active{
	background-color: transparent;
}
.accordion-button:focus{
	box-shadow: none;
}
.accordion-body{
	font-size: 1.4rem;
}


.icon-patologia{
	height: 50px;
}





/* fai lavorare il gap sulla track */
.gallery-scroll .slick-track, .gallery-scroll {
  display: flex;
  gap: 40px;
}
.gallery-scroll{
	overflow: hidden;
}

.gallery-scroll .slick-slide:nth-child(even) {
  padding-top: 40px;
}
/* transizione e overflow visibile */
.gallery-scroll .slick-slide {
  transition: transform .4s ease;
}
.gallery-scroll img{
	max-width: 280px;
}






.fascia-img-text {
  position: relative;
  overflow: hidden;
}
.fascia-img-text .image-fascia {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 50vw;
  background-size: cover;
  background-position: center;
}
.fascia-img-text .image-right {
  right: 0;
}
.fascia-img-text .image-left {
  left: 0;
}
@media (max-width: 991.98px) {
  .fascia-img-text .image-fascia {
    position: relative;
    width: 100%;
    height: 250px;
  }
}





/*--------------------------------------------------------------
# POST NAVIGATION
--------------------------------------------------------------*/
.post-navigation ul{
	margin-left: 0;
}
.post-navigation li a,
.post-navigation li a:hover,
.post-navigation li.active a,
.post-navigation li.disabled {
	color: #fff;
	text-decoration:none;
}
.post-navigation li {
	display: inline;
}
.post-navigation li a,
.post-navigation li a:hover,
.post-navigation li.active a,
.post-navigation li.disabled {
	background-color: #162259;
	opacity: .7;
	border-radius: 0px;
	cursor: pointer;
	padding: 10px 12px;
}
.post-navigation li a:hover,
.post-navigation li.active a {
	opacity: 1;
}


/*--------------------------------------------------------------
# NEWS
--------------------------------------------------------------*/
.entry-meta time, .entry-tags{
	font-size: 1rem;
	text-transform: uppercase;
}
.post-footer{
	font-size: 1rem;
	padding: 10px 0;
	text-transform: uppercase;
	font-weight: bold;
}
.post-footer-formazione{
	border: 0 none;
}
.post-footer a{
	color: #18212b;
	font-size: 1.8rem;
	margin-left: 3px;
	text-decoration: none;
	transition: all 0.5s ease 0s;
}
.post-footer img{
	height: 15px;
}
.post-footer img:hover{
	opacity: 0.4;
}
.news-sidebar{
	padding: 20px 0;
}
.news-sidebar ul{
	list-style-type: none;
	margin-left: 0;
}
.news-sidebar .widget{
	margin-bottom: 2rem;
}
.tagcloud {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.tagcloud a {
	display: inline-block;
	margin: 0.125rem;
	padding: 0.4375rem;
	border: 1px solid #eee;
	transition: all 0.1s ease-in-out;
}
.tagcloud a:hover,
.tagcloud a:focus {
	transform: scale(1.1);
}
.meta-post{font-size: 1rem; text-transform: uppercase;}

.sticky-news{
	top: 100px;
}

.news-list{
	padding: 1.5rem;
}
.news-list-title{
	min-height: 55px;
	font-size: 2rem;
}
.news-list-desc{
	min-height: 100px;
}

.categories-list a{
	text-transform: uppercase;
	color: #fff;
	background-color: #6D90D0;
	font-weight: bold;
	text-decoration: none;
	margin: 0 1rem;
	font-size: 1.3rem;
	padding: 10px 30px;
	border-radius: 30px;
}
.categories-list a:hover, .categories-list a.active{
	background-color: #134CB3;
	color: #fff;
}

.link-news{
	text-transform: uppercase;
	font-weight: 300;
	position: absolute;
	right: 0;
	top: -40px;
	padding-right: 10px;
	font-size: 1.2rem;
    top: -31px;
}
.link-news::after{
	content: '';
	display: inline-block;
	width: 20px;
	height: 20px;
	background-image: url('assets/images/arr-r.svg');
	background-position: center center;
	background-size: contain;
	vertical-align: middle;
	margin-left: 10px;
	margin-bottom: 3px;
}

.link-arrow{
	text-transform: uppercase;
	font-weight: 300;
	font-size: 1.2rem;
}
.link-arrow::after{
	content: '';
	display: inline-block;
	width: 30px;
	height: 30px;
	background-image: url('assets/images/arr-r.svg');
	background-position: center center;
	background-size: contain;
	vertical-align: middle;
	margin-left: 10px;
}

.posizione-aperta{
	border: 1px solid #000;
}

.download-arrow {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: #000;
}
.download-arrow .icon {
    width: 24px;
    height: 24px;
    background-image: url('assets/images/arr-r.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transform: rotate(90deg);
    transform-origin: center;
}
.download-arrow .label {
    border: 1px solid #000;
    padding: 8px 14px;
    font-size: 1rem;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.05em;

    line-height: 1;
}
.download-arrow:hover .icon {
    transform: translateY(3px);
    transition: transform .2s ease;
}

.download-arrow:hover .label {
    background: #000;
    color: #fff;
    transition: all .2s ease;
}



/*--------------------------------------------------------------
# CONTATTI
--------------------------------------------------------------*/
.map{line-height: 0}
.map iframe{
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	filter: grayscale(100%);
}
.icon-contact img{
	height: 50px;
}




/*--------------------------------------------------------------
# Gallery
--------------------------------------------------------------*/
.gallery img:hover{
	opacity: 0.7;
	transition: opacity .25s ease-in-out;
	-moz-transition: opacity .25s ease-in-out;
	-webkit-transition: opacity .25s ease-in-out;
}






/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
.grecaptcha-badge {
    visibility: hidden;
}
.ff-default .ff-el-form-control{
	background-color: transparent;
	border-radius: 0 !important;
	border: 0 none  !important;
	border: 1px solid #000  !important;
	color: #6D6D6D !important;
	padding: 10px 10px !important;
	font-size: 1.3rem;
}
.ff-default .ff-el-form-control:focus{
	background-color: transparent  !important;
}
.ff-el-input--content{
	font-size: 1.1rem;
}
.fluentform .ff-el-group{
	margin-bottom: 30px !important;
}
.fluentform .ff-btn-submit:not(.ff_btn_no_style){
	background-color: transparent !important;
	color: #000 !important;
	border-radius: 0 !important;
	text-transform: uppercase;
	border: 1px solid #000 !important;
	font-size: 1.3rem;
	padding: 14px 50px
}

.form-black .ff-default .ff-el-form-control{
	color: #484848 !important;
}





/*==========  Non-Mobile First Method  ==========*/
/* Extra small devices (portrait phones, less than 576px) */
/* No media query since this is the default in Bootstrap */

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
	html{
		font-size: 57.5%; /* $rembase = 10px */
	}



}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
	html{
		font-size: 50.5%; /* $rembase = 10px */
	}

	/*--------------------------------------------------------------
	# GENERAL SETUP
	--------------------------------------------------------------*/
	.container-fluid {
		width: 98%;       /* sempre il 90% dello schermo */
		max-width: 768px; /* ma non oltre i 1600px */
		margin: 0 auto;
	}
	.container-fluid-full{
		width: 100%;
		max-width: 100%;
	}



}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
	html{
		font-size: 48.5%; /* $rembase = 10px */
	}

	/*--------------------------------------------------------------
	# GENERAL SETUP
	--------------------------------------------------------------*/
	.container-fluid {
		width: 98%;       /* sempre il 90% dello schermo */
		max-width: 1600px; /* ma non oltre i 1600px */
		margin: 0 auto;
	}
	.container-fluid-full{
		width: 100%;
		max-width: 100%;
	}


	.hero-banner{
		min-height: 500px;
	}
	.hero-banner--video{
		min-height: 700px;
	}
	.box-linguetta::before {
		top: -58px;
		width: 470px;
		height: 120px;
	}
	.box-linguetta-news::before{
		top: -50px;
		width: 280px;
		height: 120px;
	}
	.box-linguetta-bottom::before{
		top: initial;
		bottom: -60px;
	}
	h1, h2 {padding-right:80px;}




}

/* X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
	html{
		font-size: 61.5%; /* $rembase = 10px */
	}

	/*--------------------------------------------------------------
	# GENERAL SETUP
	--------------------------------------------------------------*/
	.container-fluid {
		width: 95%;       /* sempre il 90% dello schermo */
		max-width: 1600px; /* ma non oltre i 1600px */
		margin: 0 auto;
	}
	.container-fluid-full{
		width: 100%;
		max-width: 100%;
	}



}

/* XX-Large devices (larger desktops, 1400px and up) */
@media (min-width: 1400px) {
	html{
		font-size: 68.5%; /* $rembase = 10px */
	}

	/*--------------------------------------------------------------
	# GENERAL SETUP
	--------------------------------------------------------------*/
	.container-fluid {
		width: 88%;       /* sempre il 90% dello schermo */
		max-width: 1600px; /* ma non oltre i 1600px */
		margin: 0 auto;
	}
	.container-fluid-full{
		width: 100%;
		max-width: 100%;
	}



}

/*--------------------------------------------------------------
	# MODIFICHE BOB
	--------------------------------------------------------------*/

.testopiccolo {FONT-SIZE:85%;}