@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Arsenal:ital,wght@0,400;0,700;1,400;1,700&display=swap');
:root {
	--color-chiaro: #FFFFFF;
	--color-scuro: #000000;
	--color-primario: #19232F; /* blue IWC */
	--color-secondario: #561B21; /* vinaccia */
	--color-accento: #003616; /* verde bosco */
	--color-accento2: #E3E3FD; /* lavanda */
	--bg-paper: url("images/paper.png") top center repeat;
}
body, html, input, textarea, select, button {
	font-family: "Arsenal", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 16px;
	line-height: 1.5em;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
*, *:before, *:after {
	box-sizing: border-box;
}
body {
	overflow-x: hidden;
	background: var(--color-chiaro);
	cursor: url('images/cur-default.png') 6 12;
	cursor: -webkit-image-set(
		url('images/cur-default.png') 1x,
		url('images/cur-default-hi.png') 2x
	) 6 12, auto;
}
a:hover, a.pulsante:hover, input:hover {
	cursor: url('images/cur-pointer.png') 6 12, pointer;
	cursor: -webkit-image-set(
		url('images/cur-pointer.png') 1x,
		url('images/cur-pointer-hi.png') 2x
	) 6 12, auto;
}
section:not(.hero) {
	min-height: calc(100vh - 250px);
	position: relative;
	padding: 0;
}
section:not(.hero):not(.testimonials)::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -10px; /* stesso valore della linea */
	transform: translate(-50%, -50%) rotate(45deg);
	width: 10px; /* dimensione rombo */
	height: 10px;
	background-color: var(--color-primario);
	z-index: 2;
}
section:last-of-type::after {
	display: none;
}
a {
	color: var(--color-primario);
	outline: none;
	text-decoration: none;
}
.material-symbols-rounded {
	font-size: 2em !important;
	vertical-align: middle !important;
}
h1, h2, h3, h4, h5, h6 {
	margin: 0 0 1rem 0;
	padding: 0;
	text-wrap: balance;
	line-height: 1.5em;
}
h1, h2, h4, h5, h6 {
	font-family: "Playfair Display", serif;
	font-optical-sizing: auto;
	line-height: initial;
	font-weight: normal;
}
ol, ul {
	list-style-type: none;
}
p {
	margin: 1rem 0;
}
h1 {
	font-size: 4rem;
	text-align: left;
	margin: 5vh auto;
	padding-bottom:30px;
	color: var(--color-primario);
	border-bottom:3px double var(--color-primario);
	text-shadow: 2px 2px 1px rgba(255,255,255,.7);
}
.blk_content h1 {
	margin: 0 auto;
	border-bottom:none;
}
.blk_content h3 {
	margin-top:30px!important;
	margin-bottom:20px!important;
}
main:not(.main_home) h2 {
	color: var(--color-accento);
	text-transform: uppercase;
	font-size: 2.5rem;
}
main:not(.main_home) h3 {
	margin:30px 0;
}
h2 {
	font-size: 3rem;
	color: var(--color-primario);
}
h3 {
	font-size: 1.7rem;
	color: var(--color-secondario);
	letter-spacing: 2px;
	border-left: .2em dotted var(--color-secondario);
	padding-left: 20px;
	margin-bottom: 0px;
	font-weight: normal;
	line-height:1.3;
}
h4 {
	font-size: 1rem;
}
h5 {
	font-size: 0.8rem;
}
h6 {
	font-size: 0.6rem;
}
.br20 {
	border-radius: 20px;
}
img { line-height:0; }
table {
	width: 100%;
	border: none;
	margin: 30px auto;
}
th, td {
	padding: 2px 5px;
	border-bottom: 1px dotted var(--color-primario);
}
th {
	background: 1px dotted var(--color-scuro);
	color: var(--color-chiaro);
}
form.sign {
	padding: 30px;
	background:var(--color-accento2);
	box-shadow:0 0 10px rgba(0,0,0,0.1);
	border-radius: 10px;
}
form.sign h3 {
	color: var(--color-accento);
}
.col50.nopadd {
	padding: 0 !important;
	margin-right: 1%;
	width: 49%
}
input[type="text"], input[type="password"], input[type="email"], input[type="number"], select, textarea {
	background: var(--color-chiaro);
	border: none;
	padding: 7px;
	border-radius: 5px;
	width: 100%;
	margin-bottom: 10px;
	font-size: 1rem;
}
select {
	padding: 9px 5px 10px;
}
label {
	display: inline-block;
	margin: 15px 0 5px;
}
label:hover {
	color: #772650;
}
.cx {
	text-align: center;
}
.sx {
	text-align: left;
}
.dx {
	text-align: right;
}
img.w100 {
	width: 100%;
	height: auto;
}
.jx {
	text-align: justify;
}
.flsx {
	float: left;
}
.fldx {
	float: right;
}
.vam {
	vertical-align: middle;
}
.mrgl {
	margin-left: 20px;
}
.mrgr {
	margin-right: 20px;
}
hr {
	margin: 30px auto;
	border: none;
	height: 2px;
	width:40%;
	background: var(--color-primario);
}
hr.chiaro {
	background: var(--color-accento2);
}
.hide {
	display: none;
}
.flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
}
.flex.alsx {
	justify-content: flex-start;
}
.flex.alml {
	align-items: center;
}
.vaml {
	align-self: middle;
}
.breakFlex {
	width: 100%;
	height: 0;
}
.col {
	padding: 0.5% 1%;
}
.col10 {
	width: 10%;
}
.col16 { /* 6 colonne */
	width: 16.66%;
}
.col20 {
	width: 20%;
}
.col25 {
	width: 25%;
}
.col30 {
	width: 30%;
}
.col33 {
	width: 33%;
}
.col50 {
	width: 50%;
}
.col60 {
	width: 60%;
}
.col70 {
	width: 70%;
}
.col100 {
	width: 100%;
}
.col img {
	max-width: 100%;
}
.fvam {
	self-align: center;
}
.bg {
	background: var(--color-accento2);
}
.boxed {
	margin: 0 auto;
	width: 80vw;
}
.boxed_small {
	margin: 0 auto;
	width: 800px;
	max-width: 80vw;
}
.highlight {
	margin: 0 auto;
	width: 600px;
	max-width: 60%;
	text-align: center;
	font-size: 1.4rem;
	line-height: 1.4em;
	font-style: italic;
	color: var(--color-secondario);
}
.margt {
	margin-top: 40px;
}
.margb {
	margin-bottom: 40px;
}
.margt_x2 {
	margin-top: 80px;
}
.margb_x2 {
	margin-bottom: 80px;
}
.padt {
	padding-top: 40px !important;
}
.padb {
	padding-bottom: 40px !important;
}
.mobile {
	display: none;
}
input[type=submit], input[type=reset], button:not(.cb-foot button), .submitSimulation, .pulsante {
	background: var(--color-primario) !important;
	border: none !important;
	border-radius: 10px !important;
	color: var(--color-chiaro) !important;
	padding: 10px 20px !important;
	text-transform: uppercase;
	font-size: 0.8rem;
	font-weight: bold;
	display: inline-block;
}
input[type=submit]:hover, input[type=reset]:hover, button:hover, .submitSimulation:hover, .pulsante:hover {
	background: var(--color-secondario) !important;
}
input[type=range] {
	vertical-align: middle;
}
.avviso {
	background: var(--color-primario);
	color: var(--color-chiaro);
	padding: 8px;
	border-radius: 5px;
	margin: 10px 0;
}
/* tasti lingua */
.lingue a {
	display: inline-block;
	color: var(--color-chiaro) !important;
	border-bottom: 1px dotted var(--color-chiaro) !important;
}
/* menu */
nav img {
	vertical-align: middle;
	width: 20px;
	height: 20px;
	object-fit: fill;
	margin-right: 5px;
}
ul#nav {
	display: block;
	min-height: 50px;
	line-height: 50px;
	text-align: center;
	padding: 0;
	margin: 0;
}
ul#nav .simbolotrigger {
	display: none;
}
ul#nav li {
	display: inline-block;
	margin: 0 1%;
	position: relative;
}
ul#nav li.mobile {
	display: none;
}
ul#nav a {
	padding: 0 8px;
	display: block;
	color: var(--color-chiaro);
}
ul#nav a:hover { border-bottom: 1px dotted var(--color-chiaro) !important; }
ul#nav > li:hover .sottomenu {
	display: block;
}
ul#nav .sottomenu {
	display: none;
	min-width: 100%;
	background: var(--color-primario);
	border-radius: 5px;
	position: absolute;
	top: 40px;
	left: 0;
	text-align: left;
	margin: 0;
	padding: 0;
	z-index: 50;
}
ul#nav .sottomenu li {
	display: block;
	margin: 0;
	width: 100%;
	white-space: nowrap;
	border-bottom: 1px solid var(--color-primario);
}
#aprimenu {
	display: none;
}
/* testata */
#logo {
	width: 80px;
	height: auto;
	opacity: 0.9;
}
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 10;
	color: var(--color-chiaro);
	transition: background-color 0.5s ease;
	background:linear-gradient(180deg,rgba(25,35,47,.6) 0%, rgba(25,35,47,0) 100%)
}
header.fixed {
	background: rgba(25,35,47,.9);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid rgba(0, 0, 0, .4);
}
header .link_accesso {
	text-align: right;
}
header .link_accesso a {
	margin: 0 5px;
}
/* main */
main:not(.main_home):not(.main_pag_interne_with_hero){
	margin-top:150px;
}
/* Hero Pag Interna */
.hero_pag_interna {
	position: relative;
	height:calc(200px + 20vw);
	margin-top:90px;
	overflow: hidden;
}
.hero_pag_interna img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/* Main Pag Interna con Hero */
.main_pag_interne_with_hero {
	background:linear-gradient(180deg,rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 1) 25%); padding:40px 120px; position: relative; margin-top:-130px; z-index:2; backdrop-filter:blur(2px);
}
.main_pag_interne_with_hero p {
	text-align: justify;
}

/* homepage */
.loghi-affiliati h2 {
	color:var(--color-accento2);
}
.loghi-affiliati img {
	width:200px; height:120px; object-fit: contain;
}
/* footer */
footer {
	padding: 10vh 0;
	font-size: 0.8rem;
	background: var(--color-primario);
	color: var(--color-chiaro);
}
footer h3 {
	color: var(--color-chiaro);
	line-height: 1.4em;
	border: none;
	padding-left: 0;
}
footer a {
	color: var(--color-accento2);
}

.cards { gap:20px; align-items: stretch; margin:80px auto 20px; justify-content: start; }
.card { padding:20px; width:calc(33% - 20px); background:#E3E3FD; padding-bottom:60px; position:relative; }
.card_img { overflow:hidden; margin-bottom:20px; }
.card_img img { aspect-ratio:1/1; object-fit: cover; image-rendering: auto; will-change: transform;
    backface-visibility: hidden; transition: transform 2s ease; width:100%; transform: translateZ(0) scale(1.1); filter:grayscale(0.3);}	
.card:hover .card_img img { transform: translateZ(0) scale(1.3); filter:grayscale(0); }
.card_title { font-size:1.4em; margin-bottom:20px; }
.card_preview { margin-bottom:20px; }
.card_cta { position:absolute; left:20px; bottom:20px; }

.carosello .card_title h3 { font-size:1em; line-height:1.2; }
.carosello .card_title { min-height: calc(250px - 8vw); }
.carosello .card_preview { min-height: calc(160px - 4vw); }
.carosello .slick-slide { margin:0 5px; }

/* slick */
.slick-slide { margin: 0 27px; }
.slick-dots button[type=button], .slick-dots button[type=button]:hover { background:none!important; }

#articolo_blog img { max-width:100%; height:auto; padding:10px; border:1px solid #ccc; }
#articolo_blog img:not(.copertina) { max-width:calc(100% - 20px); margin:10px; }

.pagination { display:flex; margin: 10px auto; }
.pagination>a, .pagination>span { display: flex; align-items: center; justify-content: center; background:var(--color-accento2); margin:0 5px; height:30px; width:30px; border-radius:20px; }
.pagination>span { background:#eee; }

@media (max-width: 1439px) {
	header {
		background: var(--color-primario);
		border-bottom: 1px solid rgba(0, 0, 0, .4);
		padding:10px 0;
	}
	header .col20 {
		width: 32% !important;
		text-align:center;
	}
	header .link_accesso {
		text-align: center;
	}
	section:not(.hero) {
		min-height: auto;
	}
	#aprimenu {
		display: inline-block;
	}
	#logo {
		width: 60px;
	}
	#submit_search {
		position: absolute;
		right: 10px;
		top: 2px;
	}
	form {
		max-width: 90vw;
		margin: 0 auto;
	}
	#navmobile {
		width: 100%;
		padding-bottom: 20px;
	}
	nav {
		background: var(--color-primario);
		margin-bottom: 20px;
	}
	nav img {
		width: 24px;
		height: 24px;
	}
	ul#nav {
		margin: 0 10vw;
		padding: 30px 0;
		font-size:1.4em;
		line-height:3em;
	}
	ul#nav a {
		color: var(--color-chiaro) !important;
		display: block;
	}
	ul#nav a:hover {
		color: var(--color-chiaro) !important;
	}
	ul#nav li {
		width: 100%;
		display: block;
		margin: 0;
		position: relative;
		border: none;
		text-align: left;
		overflow: hidden;
		border-bottom: 1px solid #45454D;
		height:10vh;
		line-height:10vh;
	}
	ul#nav li.mobile {
		background: #777;
		display: block;
	}
	ul#nav .sottomenu {
		background: var(--color-primario);
		width: 100%;
		top: 0;
		display: block;
		margin: 0;
		padding: 0;
		padding-left: 20px;
		z-index: auto;
		position: relative;
		border: none;
	}
	ul#nav .sottomenu li {
		min-height: 20px;
		line-height: 20px;
		text-align: left;
		margin: 0;
		border: none;
	}
	ul#nav .sottomenu li a, ul#nav li a {
		display: block;
		width: 100%;
	}
	.nomobile {
		display: none;
	}
	.mobile {
		display: block;
	}
	header .material-symbols-rounded {
		color: var(--color-chiaro);
		font-size: 36px;
	}
	.main_pag_interne_with_hero {
		padding:30px; position: relative;
	}
	.card { width:calc(50% - 20px); }
	.press .boxed { width:100%; }
	.carosello .card_title { min-height:70px; }
	.carosello .card_preview { min-height:auto; }
}
@media (max-width: 960px) {
	.col {
		width: 100% !important;
		margin: inherit auto !important;
	}
	.mob_cx {
		text-align: center;
	}
	.highlight {
		font-size: 1.2rem;
	}
	h1 {font-size:2.4em;text-wrap:balance;}
	h2, main:not(.main_home) h2 {font-size:1.8em;text-wrap:balance;}
	h3 {font-size:1.6em;text-wrap:balance;}
	h4 {font-size:1.4em;text-wrap:balance;}
	
	
	.main_pag_interne_with_hero {
		width:90vw; max-width:90vw; padding:10px 30px;
	}
		
	h3 { margin-left:2px!important; padding-left:20px!important; }
	
	.card { width:calc(100%); }
	#articolo_blog img { width:100%; height:auto; }
}