/* FONTS */
@font-face{
	font-family:"Helvetica Neue";
	src:url("/export/system/modules/it.coranto.site/resources/fonts/subset-HelveticaNeue-Light.woff2") format("woff2"),
		url("/export/system/modules/it.coranto.site/resources/fonts/subset-HelveticaNeue-Light.woff") format("woff");
	font-weight:300;
	font-style:normal;
	font-display:swap;
}
@font-face{
	font-family:"Helvetica Neue";
	src:url("/export/system/modules/it.coranto.site/resources/fonts/subset-HelveticaNeue-Roman.woff2") format("woff2"),
		url("/export/system/modules/it.coranto.site/resources/fonts/subset-HelveticaNeue-Roman.woff") format("woff");
	font-weight:400;
	font-style:normal;
	font-display:swap;
}
@font-face{
	font-family:"Helvetica Neue";
	src:url("/export/system/modules/it.coranto.site/resources/fonts/subset-HelveticaNeue-Medium.woff2") format("woff2"),
		url("/export/system/modules/it.coranto.site/resources/fonts/subset-HelveticaNeue-Medium.woff") format("woff");
	font-weight:500;
	font-style:normal;
	font-display:swap;
}
@font-face{
	font-family:"Helvetica Neue";
	src:url("/export/system/modules/it.coranto.site/resources/fonts/subset-HelveticaNeue-Bold.woff2") format("woff2"),
		url("/export/system/modules/it.coranto.site/resources/fonts/subset-HelveticaNeue-Bold.woff") format("woff");
	font-weight:700;
	font-style:normal;
	font-display:swap;
}
@font-face{
	font-family:"Font Awesome 7 Brands";
	font-style:normal;
	font-weight:400;
	font-display:swap;
	src:url("/export/system/modules/it.coranto.site/resources/webfonts/fa-brands-400.woff2") format("woff2");
}
@font-face{
	font-family:"Font Awesome 7 Free";
	font-style:normal;
	font-weight:400;
	font-display:swap;
	src:url("/export/system/modules/it.coranto.site/resources/webfonts/fa-regular-400.woff2") format("woff2");
}
@font-face{
	font-family:"Font Awesome 7 Free";
	font-style:normal;
	font-weight:900;
	font-display:swap;
	src:url("/export/system/modules/it.coranto.site/resources/webfonts/fa-solid-900.woff2") format("woff2");
}
@font-face{
	font-family:"Font Awesome 5 Brands";
	font-style:normal;
	font-weight:400;
	font-display:swap;
	src:url("/export/system/modules/it.coranto.site/resources/webfonts/fa-brands-400.woff2") format("woff2");
}
@font-face{
	font-family:"Font Awesome 5 Free";
	font-style:normal;
	font-weight:400;
	font-display:swap;
	src:url("/export/system/modules/it.coranto.site/resources/webfonts/fa-regular-400.woff2") format("woff2");
}
@font-face{
	font-family:"Font Awesome 5 Free";
	font-style:normal;
	font-weight:900;
	font-display:swap;
	src:url("/export/system/modules/it.coranto.site/resources/webfonts/fa-solid-900.woff2") format("woff2");
}
@font-face{
	font-family:"FontAwesome";
	font-style:normal;
	font-weight:normal;
	font-display:swap;
	src:url("/export/system/modules/it.coranto.site/resources/webfonts/fa-solid-900.woff2") format("woff2");
}
@font-face{
	font-family:"FontAwesome";
	font-style:normal;
	font-weight:normal;
	font-display:swap;
	src:url("/export/system/modules/it.coranto.site/resources/webfonts/fa-brands-400.woff2") format("woff2");
}
@font-face{
	font-family:"FontAwesome";
	font-style:normal;
	font-weight:normal;
	font-display:swap;
	src:url("/export/system/modules/it.coranto.site/resources/webfonts/fa-regular-400.woff2") format("woff2");
}
@font-face{
	font-family:"FontAwesome";
	font-style:normal;
	font-weight:normal;
	font-display:swap;
	src:url("/export/system/modules/it.coranto.site/resources/webfonts/fa-v4compatibility.woff2") format("woff2");
}

[style*="italic"],
.fst-italic,
em,
i{
	font-synthesis: style;
}

/* TOKENS */
:root{
	--c-primary:#0e2f4f;
	--c-accent:#cc0000;
	--c-light:#fff;
	--c-muted:#c2c2c2;
	--c-box-bg:#f0f0f0;

	--c-text:rgba(0,0,0,.85);
	--c-text-soft:rgba(0,0,0,.72);

	--ff-body:"Helvetica Neue",Helvetica,Arial,sans-serif;
	--ff-heading:"Gill Sans","Gill Sans MT",Calibri,"Trebuchet MS",sans-serif;

	--fs-nav:18px;
	--fs-body:16px;
	--fs-small:14px;

	--fw-body-light:300;
	--fw-body-regular:400;
	--fw-body-medium:500;
	--fw-body-bold:700;

	--fw-heading-medium:500;
	--fw-heading-semibold:600;

	--sp-hero-h:562px;

	--pad-x:clamp(28px,2.6vw,90px);
	--pad-y-block:20px;
	--gap-cards:1.5rem;

	--arrow-size:56px;
	--arrow-color:#3a3a3a;

	--radius-md:10px;

	--shadow-md:0 12px 28px rgba(0,0,0,.12);

	--ease-out:cubic-bezier(.2,.8,.2,1);

	--header-logo-h:56px;
	--header-min-h:56px;
	--shadow-header-mobile:0 6px 10px -8px rgba(0,0,0,.35), 0 1px 0 rgba(0,0,0,.08);
}

/* BASE */
*,
*::before,
*::after{box-sizing:border-box;}

html,
body{max-width:100%;}

body{
	font-family:var(--ff-body);
	font-weight:var(--fw-body-regular);
	color:var(--c-text);
	font-synthesis:none;
	overflow-x: hidden;
}

h1,h2,h3,h4,h5,h6{
	font-family:var(--ff-heading);
	font-weight:var(--fw-heading-semibold);
}

img{
	display:block;
	max-width:100%;
	height:auto;
}

.text-shadow-sm{text-shadow:0 1px 2px rgba(0,0,0,.4);}
.text-shadow{text-shadow:0 2px 4px rgba(0,0,0,.5);}
.text-shadow-lg{text-shadow:0 3px 6px rgba(0,0,0,.6);}

.bg-box{background-color:var(--c-box-bg);}

.bg-white{background-color:#fff;}

a{
	text-decoration:none;
	color:var(--c-accent);
	transition:color .15s ease;
}

a:hover{
	text-decoration:underline;
	text-underline-offset:2px;
	text-decoration-thickness:1px;
	text-decoration-color:rgba(204,0,0,.7);
}

/* HEADER */
body>header{
	padding:var(--pad-y-block) var(--pad-x);
	border-bottom:1px solid rgba(0,0,0,.22);
}

body>header .container-fluid{padding:0;}

header .row.align-items-center{
	min-height:var(--header-min-h);
}

header .row > *,
header nav[data-nav="main"],
header nav[data-nav="main-collapse"]{
	min-width:0;
}

header .logo{
	display:inline-flex;
	align-items:center;
	text-decoration:none;
	width:fit-content;
}

@media (min-width:992px){
	header .logo{
		margin-top:-10px;
	}
}

header .logo img{
	height:var(--header-logo-h);
	width:auto;
	max-width:none;
	display:block;
	transition:opacity .18s ease;
}

@media (hover:hover) and (pointer:fine){
	header .logo:hover img{opacity:.92;}
}

header .logo:focus-visible{
	outline:2px solid rgba(204,0,0,.28);
	outline-offset:4px;
}

header nav[data-nav="main"]{
	min-height:var(--header-min-h);
	display:flex;
	align-items:center;
	padding:0;
}

header nav[data-nav="main-collapse"]{
	padding:0;
	min-height:0;
}

header :is(.nav-link,.dropdown-item){
	font-family:var(--ff-heading);
	font-size:var(--fs-nav);
	font-weight:var(--fw-heading-medium);
}

header .nav-link{
	display:inline-flex;
	align-items:center;
	gap:.4rem;
	text-transform:uppercase;
	color:var(--c-text-soft);
	text-decoration:none;
	transition:color .15s ease,background-color .15s ease;
}

header .nav-link:hover{color:var(--c-accent);}

header .nav-link:focus-visible{
	outline:2px solid rgba(204,0,0,.35);
	outline-offset:3px;
	border-radius:2px;
}

header :is(a.nav-link.active,.nav-link.dropdown-toggle.active,.accordion-toggle.active){
	color:var(--c-light)!important;
	background-color:var(--c-primary);
}

header .dropdown-menu{
	min-width:220px;
	padding:.35rem;
	border:1px solid rgba(0,0,0,.08);
	border-radius:var(--radius-md);
	box-shadow:var(--shadow-md);
}

header .dropdown-menu[data-bs-popper]{margin-top:.5rem;}

header .dropdown-item{
	padding:.55rem .75rem;
	border-radius:8px;
	color:rgba(0,0,0,.78);
	text-decoration:none;
	transition:background-color .15s ease,color .15s ease;
}

header .dropdown-item:hover,
header .dropdown-item:focus{
	background-color:rgba(14,47,79,.08);
	color:rgba(0,0,0,.9);
}

header .dropdown-item.active,
header .dropdown-item:active{
	background-color:var(--c-primary);
	color:var(--c-light);
}

header .dropdown-item.disabled,
header .dropdown-item:disabled{opacity:.55;}

header i{font-size:14px;}

header .navbar-toggler{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:48px;
	height:48px;
	padding:0;
	border:0;
	flex:0 0 48px;
}

header .navbar-toggler:focus{box-shadow:none;}

header .navbar-toggler i{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	font-size:36px;
	line-height:1;
	color:var(--c-primary);
	transform:translateY(-1px);
	width:1em;
	height:1em;
}

/* NAV MOBILE */
@media (max-width:991.98px){
	:root{
		--arrow-size:min(56px,var(--pad-x));
		--header-logo-h:48px;
		--header-min-h:48px;
	}

	body>header{
		border-bottom:0;
		box-shadow:var(--shadow-header-mobile);
	}

	body>header .row.align-items-center{
		align-items:center!important;
	}

	body>header .row.align-items-center > :is(.col-auto,.col.d-flex){
		align-self:center;
		min-width:0;
	}

	body>header .row.align-items-center > .col.d-flex{
		display:flex;
		justify-content:flex-end;
	}

	header nav[data-nav="main"].navbar{
		width:100%;
		display:flex;
		align-items:center;
		justify-content:flex-end;
		flex-wrap:nowrap;
	}

	header nav[data-nav="main"] .navbar-toggler{
		margin-left:auto;
		flex:0 0 auto;
	}

	header nav[data-nav="main-collapse"]{
		width:100%;
		display:block;
	}

	header nav[data-nav="main-collapse"] .navbar-collapse{
		width:100%;
		padding-top:16px;
		padding-bottom:12px;
	}

	header nav[data-nav="main-collapse"] .navbar-nav{
		display:flex;
		flex-direction:column;
		align-items:flex-end;
		width:100%;
	}

	header nav[data-nav="main-collapse"] .navbar-nav > .nav-item{
		width:100%;
		display:block;
		text-align:right;
		min-width:0;
	}

	header nav[data-nav="main-collapse"] .navbar-nav > :is(.nav-item.dropdown.mega,.nav-item.language-selector){
		display:flex;
		flex-direction:column;
		align-items:flex-end;
	}

	header nav[data-nav="main-collapse"] .nav-pill{
		display:inline-flex!important;
		align-items:center;
		justify-content:flex-end!important;
		gap:.4rem;
		padding:7px 10px!important;
		margin:4px 0;
		width:auto!important;
		max-width:100%;
		text-align:right!important;
		border-radius:6px;
		line-height:1.25;
		background:transparent;
		border:0;
		font-size:16px;
		white-space:normal;
		overflow:visible;
		text-overflow:clip;
	}

	header nav[data-nav="main-collapse"] .nav-pill:is(.active,.show,[aria-expanded="true"]){
		background-color:var(--c-primary);
		color:var(--c-light)!important;
	}

	header nav[data-nav="main-collapse"] .collapsing.d-lg-none{overflow:hidden;}
	header nav[data-nav="main-collapse"] .collapse.d-lg-none{overflow:visible;}

	header nav[data-nav="main-collapse"] :is(.collapse.d-lg-none,.collapsing.d-lg-none){
		width:100%;
		padding-right:6px;
		padding-left:0;
		padding-bottom:6px;
		align-self:stretch;
	}

	header nav[data-nav="main-collapse"] :is(.collapse.d-lg-none ul,.collapsing.d-lg-none ul){
		width:100%;
		display:flex!important;
		flex-direction:column;
		align-items:flex-end;
		text-align:right;
		padding:0!important;
		margin:0!important;
	}

	header nav[data-nav="main-collapse"] :is(.collapse.d-lg-none li,.collapsing.d-lg-none li){
		width:100%;
		display:flex;
		justify-content:flex-end;
		min-width:0;
	}

	header nav[data-nav="main-collapse"] :is(.collapse.d-lg-none .dropdown-item,.collapsing.d-lg-none .dropdown-item){
		display:flex!important;
		width:100%!important;
		max-width:100%!important;
		justify-content:flex-end;
		text-align:right;
		padding:6px 9px;
		margin:2px 0;
		border-radius:6px;
		line-height:1.25;
		font-size:16px;
		white-space:normal!important;
		overflow-wrap:anywhere!important;
		word-break:break-word!important;
		hyphens:auto!important;
	}
}

/* NAV DESKTOP */
@media (min-width:992px){
	body>header{
		box-shadow:none;
		border-bottom:1px solid rgba(0,0,0,.28);
	}

	body>header .row.align-items-center{
		display:flex;
		flex-wrap:nowrap;
		align-items:center;
	}

	body>header .row.align-items-center > .col-auto{
		flex:0 0 auto;
	}

	body>header .row.align-items-center > .col.d-flex{
		flex:0 0 auto;
		width:auto;
		max-width:none;
		display:flex;
		justify-content:flex-end;
	}

	body>header .row.align-items-center > .header-nav-col{
		flex:1 1 auto;
		width:auto;
		max-width:none;
		padding-left:0;
		padding-right:0;
	}

	header nav[data-nav="main"]{
		width:auto;
		min-height:var(--header-min-h);
	}

	header nav[data-nav="main"] .navbar-toggler{
		display:none;
	}

	header nav[data-nav="main-collapse"]{
		display:flex;
		align-items:center;
		justify-content:flex-end;
		width:100%;
		min-height:var(--header-min-h);
	}

	header nav[data-nav="main-collapse"] .navbar-collapse{
		display:flex!important;
		flex:1 1 auto;
		flex-basis:auto;
		width:100%;
		padding-top:0;
		padding-bottom:0;
	}

	header nav[data-nav="main-collapse"] .navbar-nav{
		display:flex;
		flex-wrap:nowrap;
		align-items:center;
		justify-content:flex-end;
		gap:clamp(2px,.55vw,10px);
		width:100%;
		margin-left:auto;
	}

	header nav[data-nav="main-collapse"] .navbar-nav > .nav-item{
		width:auto;
	}

	header nav[data-nav="main-collapse"] .nav-link{
		white-space:nowrap;
		padding-left:clamp(2px,.55vw,8px)!important;
		padding-right:clamp(2px,.55vw,8px)!important;
	}

	header nav[data-nav="main-collapse"] .dropdown-item{
		white-space:nowrap;
	}

	header nav[data-nav="main-collapse"] .language-selector{
		margin-left:clamp(3px,.7vw,12px);
	}
}
/* MEGA MENU DESKTOP */
header nav[data-nav="main-collapse"] .nav-item.dropdown.mega{position:static;}

header nav[data-nav="main-collapse"] .dropdown-menu.mega-menu{
	position:fixed!important;
	left:0!important;
	right:0!important;
	width:100vw!important;
	top:-100vh;
	margin-top:0!important;
	min-width:0;
	padding:.75rem 0!important;
	padding-left:var(--mega-shift,0px)!important;
	border:0;
	border-radius:0;
	background-color:var(--c-primary);
	box-shadow:0 10px 30px rgba(0,0,0,.55);
	z-index:1055;
	list-style:none;
	display:none;
}

header nav[data-nav="main-collapse"] .dropdown-menu.mega-menu[data-bs-popper]{margin-top:0!important;}

header nav[data-nav="main-collapse"] .dropdown-menu.mega-menu.show{
	top:calc(var(--mega-top,0px) - 6px);
	display:flex;
	flex-direction:row;
	flex-wrap:nowrap;
	align-items:center;
	gap:2rem;
}

header nav[data-nav="main-collapse"] .dropdown-menu.mega-menu>li.mega-inner{
	display:flex;
	margin:0!important;
	padding:0!important;
}

header nav[data-nav="main-collapse"] .dropdown-menu.mega-menu>li.mega-inner>a.dropdown-item{
	position:relative;
	display:inline-flex;
	align-items:center;
	padding:0!important;
	margin:0!important;
	background:transparent!important;
	border:0!important;
	box-shadow:none!important;
	border-radius:0!important;
	color:#fff!important;
	font-weight:var(--fw-heading-medium);
	font-size:18px;
	text-decoration:none;
	opacity:.92;
	transition:opacity .18s ease;
}

header nav[data-nav="main-collapse"] .dropdown-menu.mega-menu>li.mega-inner>a.dropdown-item::after{
	content:"";
	position:absolute;
	left:50%;
	bottom:-6px;
	width:0;
	height:2px;
	background:rgba(255,255,255,.85);
	transition:width .22s ease,left .22s ease,opacity .18s ease;
	opacity:.9;
}

header nav[data-nav="main-collapse"] .dropdown-menu.mega-menu>li.mega-inner>a.dropdown-item:hover,
header nav[data-nav="main-collapse"] .dropdown-menu.mega-menu>li.mega-inner>a.dropdown-item:focus{
	opacity:.72;
}

header nav[data-nav="main-collapse"] .dropdown-menu.mega-menu>li.mega-inner>a.dropdown-item:hover::after,
header nav[data-nav="main-collapse"] .dropdown-menu.mega-menu>li.mega-inner>a.dropdown-item:focus::after{
	width:100%;
	left:0;
}

header nav[data-nav="main-collapse"] .dropdown-menu.mega-menu>li.mega-inner>a.dropdown-item:focus-visible{
	outline:2px solid rgba(255,255,255,.85);
	outline-offset:4px;
	border-radius:2px;
}

header nav[data-nav="main-collapse"] .nav-item.dropdown.mega>.nav-link.dropdown-toggle.show{
	color:var(--c-light)!important;
	background-color:var(--c-primary);
}

header nav[data-nav="main-collapse"] .dropdown-menu.mega-menu>li.mega-inner>a.dropdown-item.disabled{
	color:#6b6b6b!important;
	opacity:1!important;
	pointer-events:none;
}

/* FOOTER */
footer{margin-top:120px;}

@media (max-width:768px){
	footer{margin-top:40px;}
}
footer .footer-main{
	padding:var(--pad-y-block) var(--pad-x);
	background-color:var(--c-primary);
	color:var(--c-light);
}

footer .footer-bottom{padding:var(--pad-y-block) var(--pad-x);}

footer h3{
	font-size:22px;
	text-transform:uppercase;
	font-weight:var(--fw-heading-semibold);
}

footer p{font-size:var(--fs-small);}

footer .footer-main p a{
	color:var(--c-light);
	text-transform:uppercase;
	font-weight:var(--fw-heading-semibold);
	text-decoration:none;
}

footer .footer-main a{
	text-decoration:none;
	text-underline-offset:3px;
	text-decoration-thickness:2px;
	transition:opacity .2s ease,text-decoration-color .2s ease;
}

footer .footer-main a:hover{
	opacity:.9;
	text-decoration:underline;
	text-decoration-color:rgba(255,255,255,.85);
}

footer .footer-main a:focus-visible{
	outline:2px solid rgba(255,255,255,.9);
	outline-offset:3px;
	text-decoration:underline;
}

footer .footer-bottom p{color:rgba(0,0,0,.8);}

footer .footer-bottom p a img{
	display:inline-block;
	vertical-align:middle;
	width:auto;
}

#footer .footer-head{
	min-height:56px;
	display:flex;
	align-items:center;
	border-bottom:1px solid transparent;
}

#footer .footer-head.has-title{border-bottom-color:var(--c-light);}

#footer .footer-logo{
	max-height:40px;
	width:auto;
}

footer i{
	font-size:16px;
	color:rgba(0,0,0,.8);
}

footer .footer-bottom .list-group.list-group-horizontal{flex-wrap:wrap;}

footer .footer-bottom .list-group-item{
	border:0;
	background:transparent;
	padding:0;
}

footer .footer-bottom nav a{
	display:inline-block;
	line-height:1;
	font-size:var(--fs-small);
	color:var(--c-accent);
	text-decoration:none;
	text-underline-offset:3px;
	text-decoration-thickness:2px;
	transition:filter .2s ease,text-decoration-color .2s ease;
}

footer .footer-bottom nav a:hover{
	text-decoration:underline;
	filter:brightness(.9);
}

footer .footer-bottom nav a:focus-visible{
	outline:2px solid rgba(204,0,0,.35);
	outline-offset:3px;
	text-decoration:underline;
}

footer nav .footer-links>li{
	display:inline-flex;
	align-items:center;
}

footer nav .footer-links>li:not(:last-child)::after{
	content:"|";
	margin:0 .12rem;
	line-height:1;
	font-size:var(--fs-small);
	color:var(--c-accent);
}

footer p a img{transition:filter .2s ease,opacity .2s ease;}

footer p a:hover img{filter:brightness(1.1);opacity:.9;}

footer p a:focus-visible img{outline:2px solid rgba(0,0,0,.2);outline-offset:3px;}

footer a[aria-label]{
	color:rgba(0,0,0,.7);
	text-decoration:none;
	transition:color .18s ease;
}

footer a[aria-label] i{color:inherit;}

footer a[aria-label="LinkedIn"]:hover{color:#0a66c2;}
footer a[aria-label="YouTube"]:hover{color:#ff0000;}
footer a[aria-label="Facebook"]:hover{color:#1877f2;}
footer a[aria-label="GitHub"]:hover{color:#181717;}

@media (min-width:768px){
	footer .footer-bottom nav ul.list-group{justify-content:flex-end;}
}

/* LAYOUT */
.coranto-container{
	padding:var(--pad-y-block) var(--pad-x);
	display:flex;
}

.coranto-container > *{min-width:0;}

.coranto-container h2{
	font-weight:var(--fw-heading-semibold);
	color:var(--c-primary);
	white-space:nowrap;
}

.coranto-container p{font-size:var(--fs-body);}

.coranto-btn{
	font-family:var(--ff-heading);
	font-size:18px;
	font-weight:var(--fw-heading-medium);
	background-color:var(--c-accent);
	color:var(--c-light);
	text-transform:uppercase;
	text-decoration:none;
}

/* =========================
CORANTO BTN OUTLINE
========================= */

/* =========================
CORANTO BTN OUTLINE
(versione elegante)
========================= */

.coranto-btn-outline{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:.4rem;

	padding:12px 24px;
	line-height:1;

	font-family:var(--ff-heading);
	font-size:18px;
	font-weight:var(--fw-heading-medium);
	text-transform:uppercase;
	text-decoration:none;

	background-color:var(--c-light);
	color:var(--c-accent);
	border:2px solid var(--c-accent);
	border-radius:0;

	cursor:pointer;

	transition:
		background-color .18s ease,
		color .18s ease,
		border-color .18s ease,
		box-shadow .18s ease;
}

/* Hover solo su device che lo supportano */
@media (hover:hover) and (pointer:fine){
	.coranto-btn-outline:hover{
		background-color:rgba(204,0,0,.06);   /* leggero tint, non fill totale */
		text-decoration:none;
	}
}

/* Active: nessun movimento */
.coranto-btn-outline:active{
	background-color:rgba(204,0,0,.12);
}

/* Focus accessibile coerente con il sito */
.coranto-btn-outline:focus-visible{
	outline:2px solid rgba(204,0,0,.35);
	outline-offset:4px;
}

/* Disabled */
.coranto-btn-outline:disabled,
.coranto-btn-outline.disabled{
	opacity:.55;
	pointer-events:none;
}
.image-wrapper{
	width:60%;
	aspect-ratio:16/9;
	margin:0 auto;
	overflow:hidden;
}

.image-wrapper img{
	width:100%;
	height:100%;
	object-fit:cover;
}

/* BOX GRID */
.coranto-box{
	background-color:var(--c-box-bg);
	color:var(--c-primary);
}

.coranto-box h2{
	font-weight:var(--fw-heading-semibold);
	color:var(--c-primary);
	text-transform:uppercase;
}

.coranto-box p{
	font-size:var(--fs-body);
	text-align:center;
}

.coranto-box a{
	position:relative;
	font-family:var(--ff-heading);
	font-size:18px;
	font-weight:var(--fw-heading-semibold);
	color:var(--c-accent);
	text-transform:uppercase;
	text-decoration:none;
	transition:color .2s ease;
}

.coranto-box a::after{
	content:"";
	position:absolute;
	left:50%;
	bottom:-4px;
	width:0;
	height:2px;
	background:currentColor;
	transition:width .25s ease,left .25s ease;
}

.coranto-box a:hover::after{width:100%;left:0;}

.coranto-box hr{
	height:2px;
	width:60%;
	opacity:.6;
	background-color:var(--c-muted);
	border:0;
}

#corbox.corbox-grid{
	display:grid;
	grid-template-columns:1fr;
	gap:var(--gap-cards);
	width:100%;
	max-width:100%;
}

#corbox.corbox-grid>*{min-width:0;}

@media (min-width:768px){
	#corbox.corbox-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

#corbox.corbox-grid > .coranto-box:nth-child(2),
#corbox.corbox-grid > .coranto-box:nth-child(3),
#corbox.corbox-grid > .coranto-box:nth-child(6){
	background-color:var(--c-primary);
	color:#fff;
}

#corbox.corbox-grid > .coranto-box:nth-child(2) :is(a,h2),
#corbox.corbox-grid > .coranto-box:nth-child(3) :is(a,h2),
#corbox.corbox-grid > .coranto-box:nth-child(6) :is(a,h2){color:#fff;}

#corbox.corbox-grid > .coranto-box:nth-child(2) hr,
#corbox.corbox-grid > .coranto-box:nth-child(3) hr,
#corbox.corbox-grid > .coranto-box:nth-child(6) hr{background-color:#fff;}

/* SPLIDE HERO */
.hero-carousel .splide{height:var(--sp-hero-h)!important;}

.hero-carousel :is(.splide,.splide__track,.splide__list,.splide__slide){height:100%;}

.hero-carousel .slide-hero{position:relative;overflow:hidden;}

.hero-carousel .slide-hero__image{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center center;
	z-index:1;
}

@media (max-width:992px){
	.hero-carousel .slide-hero__image{
		object-position:bottom center;
	}
}


.hero-carousel .slide-hero__content{
	position:relative;
	z-index:2;
	height:100%;
	color:var(--c-light);
	background-color:rgba(14,47,79,.5);
}

.hero-carousel .slide-hero__content h2{
	text-transform:uppercase;
	font-size:32px;
	font-weight:var(--fw-heading-semibold);
}

.hero-carousel .slide-hero__content p{
	font-size:18px;
	font-weight:var(--fw-body-light);
}

.hero-carousel .slide-hero__content .btn{
	font-family:var(--ff-heading);
	font-size:16px;
	font-weight:400;
	color:var(--c-light);
	background-color:var(--c-primary);
	border-radius:0;
}

.hero-carousel .slide-hero__content a.btn:focus-visible{
	outline:3px solid var(--c-light);
	outline-offset:4px;
}

.hero-carousel .slide-hero__content a.btn:hover{
	text-decoration: none;
}

.hero-carousel .splide__arrows{pointer-events:none;}

.hero-carousel .splide__arrow{
	pointer-events:auto;
	width:var(--arrow-size);
	height:var(--arrow-size);
	background:transparent;
	border:0;
	opacity:.9;
}

.hero-carousel .splide__arrow svg{
	width:28px;
	height:28px;
	fill:var(--c-light);
}

.hero-carousel .splide__arrow:hover{opacity:1;}

.hero-carousel .splide__arrow--prev{left:1.5rem;}
.hero-carousel .splide__arrow--next{right:1.5rem;}

.hero-carousel .splide__pagination{bottom:1.25rem;}

.hero-carousel .splide__pagination__page{
	width:48px;
	height:8px;
	border-radius:0;
	background-color:#3a3a3a;
	margin:0 4px;
	transition:all .25s ease;
}

.hero-carousel .splide__pagination__page.is-active{
	background:var(--c-primary);
	transform:none;
}

/* SPLIDE WRAPS */
:is(#customerlist,#testimoniallist){
	padding-left:var(--pad-x);
	padding-right:var(--pad-x);
}

:is(#customerlist,#testimoniallist) .coranto-container{
	padding-left:0;
	padding-right:0;
}

:is(#customerlist,#testimoniallist) .splide{
	position:relative;
	width:100%;
}

:is(#customerlist,#testimoniallist) .splide__track{
	padding-left:0!important;
	padding-right:0!important;
}

:is(#customerlist,#testimoniallist) .splide__arrows{pointer-events:none;}

:is(#customerlist,#testimoniallist) .splide__arrow{
	pointer-events:auto;
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	width:var(--arrow-size);
	height:var(--arrow-size);
	border:0;
	background:transparent;
	opacity:.9;
	z-index:20;
}

:is(#customerlist,#testimoniallist) .splide__arrow:hover{opacity:1;}

:is(#customerlist,#testimoniallist) .splide__arrow svg{
	width:28px;
	height:28px;
	stroke-width:1.5;
}

#customerlist .splide__arrow svg{fill:var(--arrow-color);}
#testimoniallist .splide__arrow svg{fill:var(--c-primary);}

#customerlist .splide__arrow--prev,
#testimoniallist .splide__arrow--prev{left:-16px;}

#customerlist .splide__arrow--next,
#testimoniallist .splide__arrow--next{right:-16px;}

@media (min-width:768px){
	#customerlist .splide__arrow--prev,
	#testimoniallist .splide__arrow--prev{left:calc(-1 * clamp(16px, var(--pad-x), 60px));}

	#customerlist .splide__arrow--next,
	#testimoniallist .splide__arrow--next{right:calc(-1 * clamp(16px, var(--pad-x), 60px));}
}

/* CUSTOMER */
#customerlist .splide__slide{
	display:flex;
	align-items:center;
	justify-content:center;
}

#customerlist .slide__container{
	width:100%;
	aspect-ratio:4/3;
	background:#fff;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:18px;
}

#customerlist .slide-hero__image{
	width:100%;
	height:100%;
	max-width:220px;
	object-fit:contain;
	background:transparent;
}

/* TESTIMONIAL */
#testimoniallist .splide__slide{
	display:flex;
	justify-content:center;
}

#testimoniallist .testimonial-article{
	width:100%;
	background:var(--c-primary);
	color:#fff;
	display:flex;
	flex-direction:column;
	gap:.65rem;
	padding:1.5rem;
}

#testimoniallist .testimonial-article header{
	padding:0;
	margin:0 0 .25rem;
}

#testimoniallist .testimonial-article header h3{
	margin:0;
	font-size:20px;
	line-height:1.15;
	letter-spacing:.4px;
	text-transform:uppercase;
	font-weight:var(--fw-heading-semibold);
}

#testimoniallist .testimonial-article :is(.testimonial-project,.testimonial-period){
	margin:0;
	font-size:15px;
	line-height:1.25;
}

#testimoniallist .testimonial-article .testimonial-project{
	text-transform:uppercase;
	font-style:italic;
	font-synthesis:style;
	font-weight:400;
	opacity:.95;
}

#testimoniallist .testimonial-article .testimonial-period{
	text-transform:none;
	font-style:normal;
	opacity:1;
	margin-top:.1rem;
}

#testimoniallist .testimonial-article hr{
	height:1px;
	width:100%;
	border:0;
	background-color:rgba(255,255,255,.9);
	opacity:.7;
	margin:.85rem 0 .9rem;
}

#testimoniallist .testimonial-text{
	overflow:hidden;
	display:-webkit-box;
	-webkit-line-clamp:6;
	-webkit-box-orient:vertical;
}

#testimoniallist .testimonial-text p{
	margin:0;
	font-size:14px;
	line-height:1.6;
	letter-spacing:.1px;
}

/* BACK TO TOP */
.back-to-top{
	position:fixed;
	right:1.25rem;
	bottom:1.25rem;
	z-index:1050;
	width:42px;
	height:42px;
	border:0;
	border-radius:50%;
	background:var(--c-accent);
	color:#fff;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:14px;
	opacity:0;
	visibility:hidden;
	transform:translateY(10px);
	transition:opacity .25s ease,transform .25s ease,visibility .25s ease,box-shadow .2s ease;
	box-shadow:0 4px 12px rgba(0,0,0,.15);
}

.back-to-top.is-visible{
	opacity:1;
	visibility:visible;
	transform:translateY(0);
}

.back-to-top:hover{
	transform:translateY(-3px);
	box-shadow:0 6px 16px rgba(0,0,0,.2);
}

.back-to-top:active{transform:translateY(-1px);}

.back-to-top:focus-visible{
	outline:2px solid rgba(204,0,0,.7);
	outline-offset:3px;
}

/* INTERACTIONS */
:where(.coranto-btn,.hero-carousel .btn,a[role="button"]){transition:filter .2s ease;}
:where(.coranto-btn,.hero-carousel .btn,a[role="button"]):hover{filter:brightness(.92);}
:where(.coranto-btn,.hero-carousel .btn,a[role="button"]):active{filter:brightness(.85);}

/* BREADCRUMB */
.breadcrumb-item,
.breadcrumb-item a{
	font-size:var(--fs-small);
	text-decoration:none;
	color:var(--c-text-soft);
}

.breadcrumb-item a{transition:color .18s ease}

.breadcrumb-item a:hover{
	color:var(--c-primary);
}

.breadcrumb-item a:focus-visible{
	outline:2px solid rgba(204,0,0,.35);
	outline-offset:3px;
	border-radius:2px;
}

.breadcrumb-item.active{color:var(--c-accent);}

/* NAV MOBILE */
@media (max-width:991.98px){
	:root{
		--arrow-size:min(56px,var(--pad-x));
		--header-logo-h:48px;
		--header-min-h:48px;
	}

	body>header{
		border-bottom:0;
		box-shadow:var(--shadow-header-mobile);
	}

	footer :is(.footer-main,.footer-bottom){padding:var(--pad-y-block) var(--pad-x);}

	body > header .row.align-items-center{align-items:flex-start!important;}

	body > header .row.align-items-center > :is(.col-auto,.col.d-flex){
		align-self:flex-start;
		min-width:0;
	}

	body > header .row.align-items-center > .col.d-flex{justify-content:flex-end;}

	header nav[data-nav="main"].navbar{
		width:100%;
		display:flex;
		flex-wrap:wrap;
		align-items:flex-start;
	}

	header nav[data-nav="main"] .navbar-toggler{
		order:1;
		margin-left:auto;
	}

	header nav[data-nav="main"] .navbar-collapse{
		order:2;
		flex:0 0 100%;
		width:100%;
		padding-top:16px;
		padding-bottom:12px;
	}

	header nav[data-nav="main"] .navbar-nav{
		display:flex;
		flex-direction:column;
		align-items:flex-end;
		width:100%;
	}

	header nav[data-nav="main"] .navbar-nav > .nav-item{
		width:100%;
		display:block;
		text-align:right;
		min-width:0;
	}

	header nav[data-nav="main"] .navbar-nav > :is(.nav-item.dropdown.mega,.nav-item.language-selector){
		display:flex;
		flex-direction:column;
		align-items:flex-end;
	}

	header nav[data-nav="main"] .nav-pill{
		display:inline-flex!important;
		align-items:center;
		justify-content:flex-end!important;
		gap:.4rem;
		padding:7px 10px!important;
		margin:4px 0;
		width:auto!important;
		max-width:100%;
		text-align:right!important;
		border-radius:6px;
		line-height:1.25;
		background:transparent;
		border:0;
		font-size:16px;
		white-space:normal;
		overflow:visible;
		text-overflow:clip;
	}

	header nav[data-nav="main"] .nav-pill:is(.active,.show,[aria-expanded="true"]){
		background-color:var(--c-primary);
		color:var(--c-light)!important;
	}

	header nav[data-nav="main"] .collapsing.d-lg-none{overflow:hidden;}
	header nav[data-nav="main"] .collapse.d-lg-none{overflow:visible;}

	header nav[data-nav="main"] :is(.collapse.d-lg-none,.collapsing.d-lg-none){
		width:100%;
		padding-right:6px;
		padding-left:0;
		padding-bottom:6px;
		align-self:stretch;
	}

	header nav[data-nav="main"] :is(.collapse.d-lg-none ul,.collapsing.d-lg-none ul){
		width:100%;
		display:flex!important;
		flex-direction:column;
		align-items:flex-end;
		text-align:right;
		padding:0!important;
		margin:0!important;
	}

	header nav[data-nav="main"] :is(.collapse.d-lg-none li,.collapsing.d-lg-none li){
		width:100%;
		display:flex;
		justify-content:flex-end;
		min-width:0;
	}

	header nav[data-nav="main"] :is(.collapse.d-lg-none .dropdown-item,.collapsing.d-lg-none .dropdown-item){
		display:flex!important;
		width:100%!important;
		max-width:100%!important;
		justify-content:flex-end;
		text-align:right;
		padding:6px 9px;
		margin:2px 0;
		border-radius:6px;
		line-height:1.25;
		font-size:16px;
		white-space:normal!important;
		overflow-wrap:anywhere!important;
		word-break:break-word!important;
		hyphens:auto!important;
	}

	header nav[data-nav="main"] .dropdown-menu.mega-menu{display:none!important;}

	:is(#customerlist,#testimoniallist){overflow-x:clip;}

	#customerlist .splide__arrow--prev,
	#testimoniallist .splide__arrow--prev{
		left:calc(-1 * var(--pad-x) + (var(--pad-x) - var(--arrow-size)) / 2);
	}

	#customerlist .splide__arrow--next,
	#testimoniallist .splide__arrow--next{
		right:calc(-1 * var(--pad-x) + (var(--pad-x) - var(--arrow-size)) / 2);
	}
}

/* MOBILE SMALL */
@media (max-width:767.98px){
	footer .footer-bottom{text-align:center;}
	footer .footer-bottom nav ul.list-group{justify-content:center!important;}
	footer nav .footer-links{justify-content:center;}

	.coranto-container{
		flex-wrap:wrap;
		gap:12px;
	}

	.coranto-container h2{white-space:normal;}

	.coranto-btn{
		width:auto;
		display:inline-flex;
		align-items:center;
		justify-content:center;
		padding:12px 16px;
	}

	footer .footer-bottom p{margin:0;}
	footer .footer-bottom .row.gy-2{row-gap:.5rem;}

	#corbox.corbox-grid > .coranto-box:nth-child(2),
	#corbox.corbox-grid > .coranto-box:nth-child(4),
	#corbox.corbox-grid > .coranto-box:nth-child(6){
		background-color:var(--c-primary);
		color:#fff;
	}

	#corbox.corbox-grid > .coranto-box:nth-child(2) :is(a,h2),
	#corbox.corbox-grid > .coranto-box:nth-child(4) :is(a,h2),
	#corbox.corbox-grid > .coranto-box:nth-child(6) :is(a,h2){color:#fff;}

	#corbox.corbox-grid > .coranto-box:nth-child(2) hr,
	#corbox.corbox-grid > .coranto-box:nth-child(4) hr,
	#corbox.corbox-grid > .coranto-box:nth-child(6) hr{background-color:#fff;}

	#corbox.corbox-grid > .coranto-box:nth-child(3){
		background-color:var(--c-box-bg);
		color:var(--c-text);
	}

	#corbox.corbox-grid > .coranto-box:nth-child(3) a{color:var(--c-accent);}
	#corbox.corbox-grid > .coranto-box:nth-child(3) h2{color:var(--c-primary);}
	#corbox.corbox-grid > .coranto-box:nth-child(3) hr{background-color:var(--c-muted);}

	.coranto-box hr{
		width:80%;
		margin-left:auto;
		margin-right:auto;
	}

	.coranto-box p{
		width:80%;
		margin-left:auto;
		margin-right:auto;
	}
}

/* PORTFOLIO */
.portfolio-aside{
	background-color:var(--c-box-bg);
}

.portfolio-aside h3{
	text-transform:uppercase;
	font-weight:var(--fw-heading-semibold);
	color:var(--c-primary);
}

.portfolio-aside ol{
	padding:0;
	margin:0;
	list-style:none;
	counter-reset:navitem;
}

.portfolio-aside ol li{
	counter-increment:navitem;
	display:grid;
	grid-template-columns:22px 1fr;
	column-gap:.75rem;
	align-items:start;
	margin-bottom:.75rem;
}

.portfolio-aside ol li::before{
	content:counter(navitem);
	width:22px;
	height:22px;
	border-radius:50%;
	background-color:var(--c-primary);
	color:#fff;
	font-weight:var(--fw-heading-semibold);
	font-size:15px;
	line-height:1;
	display:grid;
	place-items:center;
	margin-top:.15em;
	transition:background-color .2s ease,color .2s ease,transform .2s ease;
}

.portfolio-aside ol li:has(> a.is-active)::before{
	background-color:var(--c-accent);
	transform:scale(1.05);
}

.portfolio-aside ol li a{
	font-size:calc(var(--fs-nav) + 2px);
	line-height:1.25;
	text-decoration:none;
	color:var(--c-primary);
	transition:color .18s ease,filter .18s ease;
}

.portfolio-aside ol li a:hover{
	color:var(--c-accent);
	filter:brightness(.9);
}

.portfolio-aside ol li a:focus-visible{
	outline:2px solid rgba(204,0,0,.35);
	outline-offset:3px;
	border-radius:2px;
}

.cor-left-nav a.is-active{
	color:var(--c-accent);
	text-transform:uppercase;
	font-weight:var(--fw-heading-semibold);
}

.portfolio-article header {
	background-color:var(--c-primary);
}

.portfolio-article header h3 {
	color:#fff;
	font-size: 32px;
	font-weight:var(--fw-heading-semibold);
}

.portfolio-summary{
	color:var(--c-accent);
	text-transform: uppercase;
	font-weight:var(--fw-heading-semibold); 
}

.portfolio-article ul li span{
	font-weight:var(--fw-body-medium);
}

@media (max-width:767.98px){
	.coranto-cta{
		background-color:var(--c-box-bg);
	}
}

/* ABOUT US */
.about-us-grey{
	background-color: var(--c-box-bg);
	color: var(--c-primary);
}

.about-us-grey h2{
	text-transform: uppercase;
	font-weight: var(--fw-heading-semibold);
}

.about-us-primary{
	background-color: var(--c-primary);
	color: #fff;
}

.about-us-primary h2{
	color: #fff;
	text-transform: uppercase;
	font-weight: var(--fw-heading-semibold);
}

/* nei blocchi about il container non deve comportarsi da flex wrapper */
.about-us-grey > .coranto-container,
.about-us-primary > .coranto-container{
	display: block;
}

/* la row deve occupare tutta la larghezza disponibile */
.about-us-grey .row,
.about-us-primary .row{
	width: 100%;
	margin-left: 0;
	margin-right: 0;
}

.about-us-grey [class*="col-"] > p:last-of-type,
.about-us-primary [class*="col-"] > p:last-of-type{
	margin-bottom: 0;
}

.about-us-grey [class*="col-"] ul li:last-child p,
.about-us-primary [class*="col-"] ul li:last-child p{
	margin-bottom: 0;
}

.about-us-grey ul,
.about-us-primary ul{
	list-style: none;
	padding-left: 0;
	margin-bottom: 0;
	margin-left: 0;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.about-us-grey li,
.about-us-primary li{
	position: relative;
	padding-left: 1.2rem;
}

.about-us-grey li::before,
.about-us-primary li::before{
	content: "•";
	position: absolute;
	left: 0;
	top: 0;
}

/* BLOCCO MEDIA */
.about-us-media{
	position: relative;
	min-height: 1px;
}

.about-us-media .about-us-img-wrap{
	position: absolute;
	inset: 0;
	overflow: hidden;
}

.about-us-media .about-us-img{
	display: block;
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	object-position: center;
}

.coranto-title-accent{
	color: var(--c-accent) !important;
}

/* mobile: immagine torna proporzionata */
@media (max-width: 767.98px){
	.about-us-media .about-us-img-wrap{
		position: static;
		inset: auto;
	}

	.about-us-media .about-us-img{
		height: auto !important;
	}
}
/* =========================
COOKIE BANNER - CORANTO
========================= */

#cookieBanner{
	display:none;
	z-index:1000;

	background:var(--c-primary) !important;
	color:var(--c-light) !important;

	font-family:var(--ff-body);
	font-size:var(--fs-small);
	line-height:1.45;

	border-top:1px solid rgba(255,255,255,.18);
	box-shadow:0 10px 28px rgba(0,0,0,.28);
}

#cookieBanner.is-visible{
	display:block;
}

#cookieBanner .container{
	padding-left:var(--pad-x);
	padding-right:var(--pad-x);
}

#cookieBanner .cookie-text{
	color:rgba(255,255,255,.92);
}

#cookieBanner a{
	color:var(--c-light);
	text-decoration:underline;
	text-underline-offset:2px;
	text-decoration-thickness:1px;
	transition:opacity .2s ease, text-decoration-color .2s ease;
}

#cookieBanner a:hover{
	opacity:.85;
	text-decoration-color:rgba(255,255,255,.85);
}

/* Pulsanti */
#cookieBanner .cookie-btn{
	font-family:var(--ff-heading);
	font-size:14px;
	text-transform:uppercase;
	letter-spacing:.3px;

	border-radius:0;
	padding:10px 14px;
	line-height:1;

	transition:filter .2s ease, transform .12s ease;
}

#cookieBanner .cookie-btn:active{transform:translateY(1px);}
#cookieBanner .cookie-btn:focus-visible{
	outline:3px solid rgba(255,255,255,.9);
	outline-offset:3px;
}

#cookieRejectBtn{
	background:transparent !important;
	border:2px solid rgba(255,255,255,.75) !important;
	color:var(--c-light) !important;
}
#cookieRejectBtn:hover{filter:brightness(.95);}

#cookieAcceptBtn{
	background:var(--c-accent) !important;
	border:2px solid var(--c-accent) !important;
	color:var(--c-light) !important;
}
#cookieAcceptBtn:hover{filter:brightness(.92);}

@media (max-width:767.98px){
	#cookieBanner{
		padding:14px 0 !important;
	}

	#cookieBanner .cookie-actions{
		display:flex;
		flex-direction:column;
		gap:10px;
		width:100%;
		margin-top:12px;
	}

	#cookieBanner .cookie-actions .cookie-btn{
		width:100%;
		justify-content:center;
	}
}

/* =========================
COOKIE SETTINGS FLOAT BTN
========================= */

#cookieSettingsBtn{
	position:fixed;

	left:1.25rem;       
	bottom:1.25rem;    

	z-index:1050;        

	width:42px;         
	height:42px;
	padding:0;

	display:none;     
	align-items:center;
	justify-content:center;

	border:0 !important;
	border-radius:50%;

	background:var(--c-accent) !important;
	color:#fff;

	font-size:14px;

	box-shadow:0 4px 12px rgba(0,0,0,.15);

	transition:
		opacity .25s ease,
		transform .25s ease,
		visibility .25s ease,
		box-shadow .2s ease;
}

#cookieSettingsBtn.d-inline-flex{
	display:inline-flex !important;
}

#cookieSettingsBtn:hover{
	transform:translateY(-3px);
	box-shadow:0 6px 16px rgba(0,0,0,.2);
}

#cookieSettingsBtn:active{
	transform:translateY(-1px);
}

#cookieSettingsBtn:focus-visible{
	outline:2px solid rgba(204,0,0,.7);
	outline-offset:3px;
}

#cookieSettingsBtn i{
	color:#fff;
	font-size:14px;
}

/* MAP */
.leaflet-map {
	width: 100%;
	aspect-ratio: 5 / 1;  
	min-height: 180px;
}

@media (max-width: 768px) {
	.leaflet-map {
		aspect-ratio: 4 / 3;
	}
}

/* FORM */

.coranto-form {
	width:100%;
	color:var(--c-primary);
	font-size:var(--fs-small);
	font-family:var(--ff-body);
	font-weight:var(--fw-body-regular);
}

.coranto-form section {
	padding-bottom: 1rem;
}

.coranto-form label {
	font-family:var(--ff-heading);
	font-weight:var(--fw-heading-semibold);
	margin-bottom: 0.5rem;
}

.coranto-form input {
	width:100%;
	background-color:var(--c-box-bg);
	border:none;
	padding: 0.75rem 0.5rem;
}

.coranto-form textarea {
	width:100%;
	resize:none;
	background-color:var(--c-box-bg);
	border:none;
	padding: 0.75rem 0.5rem;
}

.coranto-form .form-field-privacy .inline-group {
	margin-top:0.5rem;
}

.coranto-form .form-field-privacy .inline-group a{
	text-decoration: none;
	color:var(--c-primary);
}

.coranto-form input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;

	width: 20px;
	height: 20px;
	min-width: 20px;
	aspect-ratio: 1 / 1;

	background: var(--c-box-bg);

	margin-right:0.5rem;

	display: inline-block;
	vertical-align: middle;
	box-sizing: border-box;
	padding: 0;

	cursor: pointer;
	position: relative;

	transition: background 0.2s ease, transform 0.1s ease;
}

.coranto-form input[type="checkbox"]:checked {
	background: var(--c-primary);
}

.coranto-form input[type="checkbox"]::after {
	content: "";
	position: absolute;

	width: 7px;
	height: 13px;
	border: solid #fff;
	border-width: 0 3px 3px 0;

	top: 50%;
	left: 50%;
	transform: translate(-50%, -55%) scale(0) rotate(45deg);
	transform-origin: center;

	transition: transform 0.15s ease;
}

.coranto-form input[type="checkbox"]:checked::after {
	transform: translate(-50%, -55%) scale(1) rotate(45deg);
}

.coranto-form input[type="checkbox"]:active {
	transform: scale(0.95);
}

.coranto-form footer {
	margin-top:1rem !important;
}

.coranto-form .form-text.note {
	color:var(--c-primary);
	font-size:var(--fs-small);
	font-family:var(--ff-heading);
	font-weight:var(--fw-heading-semibold);
}

.coranto-form .formbtn-row{
	display: flex;
	justify-content: end;
	margin-top: 2rem;
}

.coranto-form .formbtn-row{
	display: flex;
	justify-content: end;
	margin-top: 2rem;
}

@media (max-width: 768px) {
	.coranto-form .formbtn-row {
		justify-content: center;
	}
}

.coranto-form input[type="submit"],
.coranto-form button[type="submit"],
.coranto-form input[type="button"]{
	width: auto;                 
	background: var(--c-accent);
	color: var(--c-light);
	border: 0;
	border-radius: 0;              
	padding: 12px 32px;   
	font-family: var(--ff-heading);
	font-size: 18px;
	font-weight: 400;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	transition: filter .2s ease;   
}

@media (hover:hover) and (pointer:fine){
	.coranto-form input[type="submit"]:hover,
	.coranto-form button[type="submit"]:hover,
	.coranto-form input[type="button"]:hover{
		filter: brightness(.92);
	}
}

.coranto-form input[type="submit"]:active,
.coranto-form button[type="submit"]:active,
.coranto-form input[type="button"]:active{
	filter: brightness(.85);
}

.coranto-form .note-error {
	color:var(--c-accent);
	font-size:var(--fs-small);
	font-family:var(--ff-heading);
	font-weight:var(--fw-heading-semibold);
}

.who li {
	color:var(--c-primary);
	font-size:var(--fs-small);
}

.who i {
	color:var(--c-accent);
	font-size:12px;
	margin-right: 0.5rem;
}

@media (max-width: 768px) {
	.contact-bleed{
		position: relative;
		background: none;
		overflow: visible;
	}

	.contact-bleed::before{
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		left: 50%;
		width: 100vw;
		transform: translateX(-50%);
		background-color: var(--c-box-bg);
		z-index: 0;
	}

	.contact-inner{
		position: relative;
		z-index: 1;
		padding-left: 0;   
		padding-right: 0;   
	}
}

/* BLOG */
.corlist-layout img {
	width: 100%;
	aspect-ratio:4 / 1;
	overflow:hidden;
	object-fit:cover;
	object-position:center; 
}

@media (max-width: 768px) {
	.corlist-layout img {
		aspect-ratio:4 / 3;
	}
}

.blog-article .blog-author {
	font-size:var(--fs-small);
	color:var(--arrow-color);
}

.blog-article .blog-author i {
	color:var(--c-accent);
}

.cor-right-nav ul li a {
	text-decoration: none;
	color:var(--c-primary);
	font-family:var(--ff-heading);
	font-size:var(--fs-nav);
	font-weight:var(--fw-heading-semibold);
}

.cor-right-nav ul li a p {
	color:#000;
	font-family:var(--ff-body);
	font-size:12px;
	font-weight:var(--fw-body-regular);
}

.cor-right-nav ul li a img {
	aspect-ratio: 3 / 1;
}

/* VIDEO */
.coranto-video{
	--g: 32px;
	display: grid;
	gap: var(--g);
}

.coranto-video .video-item{
	position: relative;
}

.coranto-video .video-item:not(:first-child)::after{
	content:"";
	position:absolute;
	left:0;
	right:0;
	height:1px;
	background:#000;
	top: calc(var(--g) / -2);
	pointer-events:none;
}

@media (min-width: 768px) {
	.coranto-video{
		--g: clamp(24px, 3vw, 72px);
		grid-template-columns: repeat(3, 1fr);
	}

	.coranto-video .video-item:not(:first-child)::after{
		content:none;
	}

	.coranto-video .video-item:nth-child(3n + 2)::before,
	.coranto-video .video-item:nth-child(3n + 3)::before{
		content:"";
		position:absolute;
		top:0;
		bottom:0;
		width:1px;
		background:#000;
		left: calc(var(--g) / -2);
		pointer-events:none;
	}
}


.video-thumb{
	position:relative;
	aspect-ratio:16 / 9;
	background:#000;
	overflow:hidden;
}

.video-thumb img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
	transition:transform .3s ease;
}

.video-thumb__play{
	position:absolute;
	inset:0;
	display:grid;
	place-items:center;
	font-size:64px;
	color:#fff;
	background:rgba(0,0,0,.25);
	transition:background .2s ease, transform .2s ease;
	pointer-events:none;
}

.video-item a:hover .video-thumb img,
.video-item a:focus .video-thumb img{
	transform:scale(1.05);
}

.video-item a:hover .video-thumb__play,
.video-item a:focus .video-thumb__play{
	background:rgba(0,0,0,.45);
}

/* SITEMAP */
.type-sitemap.coranto-sitemap{
	width:100%;
	font-family:var(--ff-body);
}

.type-sitemap.coranto-sitemap ul,
.type-sitemap.coranto-sitemap li{
	margin:0;
	padding:0;
	list-style:none;
}

.type-sitemap.coranto-sitemap .clearfix > ul[class^="sitemap-col-"]{
	display:block !important;
}

.type-sitemap.coranto-sitemap li.top{
	float:none !important;
	width:auto !important;
	margin:0 !important;
	border-radius:0 !important;
	overflow:visible !important;
	box-shadow:none !important;
	background:transparent !important;
	border:0 !important;
}

.type-sitemap.coranto-sitemap li.top + li.top{
	margin-top:8px !important;
	padding-top:8px;
	border-top:1px solid rgba(0,0,0,.08);
}

.type-sitemap.coranto-sitemap li.top > a{
	display:inline-flex;
	align-items:center;
	gap:.4rem;
	padding:0 !important;
	background:transparent !important;
	text-decoration:none;
	font-family:var(--ff-heading);
	font-weight:var(--fw-heading-semibold);
	font-size:17px;
	letter-spacing:.15px;
	text-transform:uppercase;
	color:var(--c-primary);
}

.type-sitemap.coranto-sitemap li.top > a:hover{
	color:var(--c-accent);
}

.type-sitemap.coranto-sitemap li.top > a:focus-visible{
	outline:2px solid rgba(204,0,0,.35);
	outline-offset:4px;
	border-radius:2px;
}

.type-sitemap.coranto-sitemap li.top > ul{
	margin-top:4px;
	padding-left:18px;
}

.type-sitemap.coranto-sitemap li.top > ul a{
	display:inline-block;
	padding:2px 0;
	text-decoration:none;
	font-size:15px;
	line-height:1.22;
	color:var(--c-text-soft);
}

.type-sitemap.coranto-sitemap li.top > ul a:hover{
	color:var(--c-primary);
}

.type-sitemap.coranto-sitemap li.top > ul a:focus-visible{
	outline:2px solid rgba(204,0,0,.35);
	outline-offset:3px;
	border-radius:2px;
}

.type-sitemap.coranto-sitemap li.top > ul ul{
	margin-top:2px;
	padding-left:16px;
}

.type-sitemap.coranto-sitemap li.top > ul ul ul{
	padding-left:14px;
}

.type-sitemap.coranto-sitemap li.top > a.tree-toggle{
	padding-right:0 !important;
}

.type-sitemap.coranto-sitemap li.top > a.tree-toggle::after{
	content:"\f077";
	font-family:"Font Awesome 5 Free";
	font-weight:900;
	font-size:12px;
	line-height:1;
	opacity:.75;
	transition:transform .18s ease;
}

.type-sitemap.coranto-sitemap li.top > a.tree-toggle.collapsed::after{
	transform:rotate(180deg);
}

#CORList_name:empty,
#header_bottom_left:empty,
#header_bottom_right:empty {
	display: none;
}

.coranto-detail {
	color:var(--arrow-color) !important;
}

/* REDUCED MOTION */
@media (prefers-reduced-motion:reduce){
	header nav[data-nav="main"] :is(.navbar-nav .nav-link,.navbar-nav .nav-link::after,.dropdown-menu,.dropdown-menu.mega-menu){
		transition:none!important;
		transform:none!important;
	}
}



