/*
 * Box e card editoriali.
 * Base mobile-first; le varianti orizzontali si attivano da 768px.
 */
:root{
	--box-border: 1px solid var(--border-color);
	--box-radius: var(--bs-border-radius, .375rem);
	--box-shadow: var(--bs-box-shadow, 0 .5rem 1rem rgba(0, 0, 0, .15));
	--box-shadow-hover: 0 .5rem 1rem rgba(0, 0, 0, .18);
	--box-content-padding: .75rem 1rem;
	--box-link-padding: .5rem 1rem 1rem;
	--box-transition-duration: .42s;
	--box-transition-easing: cubic-bezier(.22, .61, .36, 1);
	--box-transition: var(--box-transition-duration) var(--box-transition-easing);
}

.doubleview{
	margin-bottom: var(--margin-bottom-base);
	text-align: right;
}

/* Base */
.box, .box > a,
.boxico, .boxcontent{
	position: relative;
	display: flex;
	flex-direction: column;
}
.box{
	width: 100%;
	height: 100%;
	/*border: var(--box-border);*/
}
.box > a{
	height: 100%;
	color: var(--body-color);
	text-decoration: none;
}
.d-flex .box,
.flex-container .box{
	align-self: stretch;
}
.boxico{
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.boxico img{
	display: block;
	/*width: 100%;*/
	height: auto;
	transition: transform var(--box-transition), opacity var(--box-transition);
}
.boxcontent{
	flex-grow: 1;
	justify-content: flex-start;
	padding: var(--box-content-padding);
}
.boxlink{
	align-self: flex-start;
	padding: var(--box-link-padding);
	font-size: .85rem;
	text-align: center;
}
.boxlink .btn{
	font-size: .9rem;
	text-transform: uppercase;
}
.boxlink a,
a .boxlink{
	display: inline-block;
}

.box-container,
#boxsettore-cont,
#boxcategoria-cont,
#boxcorr-cont{
	position: relative;
	clear: both;
}

.box-container{
	margin-bottom: var(--margin-bottom-base);
}

h3.boxtitolo{
	margin-top: .75rem;
	font-size: clamp(1.05rem, 1rem + .8vw, 1.4rem);
	font-weight: 600;
}
h3.boxtitolo i.fas{
	color: var(--theme-evidence-bg);
	font-size: 1.5rem;
	text-shadow: var(--text-shadow);
	transform: rotate(20deg);
}
.boxtitolo a:link, .boxtitolo a:visited,
.boxtesto a:link, .boxtesto a:visited,
a:link .boxtitolo, a:visited .boxtitolo,
a:link .boxtesto, a:visited .boxtesto{
	color: var(--body-color);
}
.text-white .box a:link,
.text-white .box a:visited{
	color: white;
}
.box .sottotitolo{
	 margin-bottom: 1rem; 
}
.boxdata,
a .boxdata{
	color: var(--body-color-light);
	font-weight: 300;
	text-transform: uppercase;
}

.boxseznome{
	display: inline-block;
	padding: .25rem;
	background-color: var(--theme-color2-bg);
	color: var(--theme-color2-txt);
	font-size: .85rem;
	font-weight: 500;
	text-transform: uppercase;
}
.sezcolore::before{
	display: inline-block;
	width: .75rem;
	height: .75rem;
	margin-right: .5rem;
	border-radius: 50%;
	background-color: var(--theme-color4-bg);
	content: "";
	vertical-align: middle;
}
.bg-sezcolore{
	position: relative;
	overflow: hidden;
	background-color: var(--theme-color4-bg);
	color: var(--theme-color4-txt);
	text-shadow: 1px 1px 0 black;
}

.boxcarousel .boxtesto{
	display: none;
	white-space: normal;
}
.boxcarousel .boxlink{
	display: none;
}

.attivita{
	padding: 1rem;
}
.attivita > .brd-std::after{
	top: .7rem;
}

#boxcont-evid1 .heading,
#boxcont-evid2 .heading,
#boxcont-evid3 .heading{
	display: none;
}

.box.boxevid1{
	border: var(--box-border);
}

/* Formati immagine */
.boxrect .boxico,
.boxrect img,
.card .boxico{
	aspect-ratio: 16 / 9;
}

.boxsquare .boxico,
.boxsquare img{
	aspect-ratio: 1;
}

.boxportrait .boxico,
.boxportrait img,
img.boxportrait,
.boxvertical .boxico,
.boxvert img{
	aspect-ratio: 3 / 4;
}

.boxico-kenburn img{
	transform: scale(1.015);
	transition-duration: .7s;
}

/* Box senza immagine */
.boxnoimage{
	background-color: var(--theme-color1-bg);
	color: var(--theme-color1-txt);
	transition: background-color var(--box-transition), box-shadow var(--box-transition);
}
.boxnoimage img{
	opacity: 0;
}
.boxnoimage .boxico,
.boxnotesto .boxtesto{
	display: none;
}
.boxnoimage:focus-within,
.boxnoimage:hover{
	background-color: var(--palette-blue-mid);
	box-shadow: var(--box-shadow-hover);
}
.boxnoimage .boxcontent{
	justify-content: center;
	padding: 2.5rem 1.5rem;
}
.boxnoimage .boxtitolo,
.boxnoimage .boxtesto{
	text-align: center;
}
.boxnoimage a,
.boxnoimage a .boxtitolo,
.boxnoimage a .boxtesto,
.boxnoimage a .sottotitolo,
.boxnoimage .boxlink .btn,
.boxnoimage .boxlink .btn::after{
	color: var(--theme-color1-txt);
}
.boxnoimage .boxlink{
	margin: auto;
}
.boxnoimage .boxlink .btn{
	background-color: var(--theme-color1-bg-alt);
}

/* Box icona */
.boxicona .boxico{
	aspect-ratio: auto;
	text-align: center;
}
.boxicona .boxico .fas,
.boxicona .boxico .bi{
	padding: 1.5rem;
	border-radius: 50%;
	background-color: var(--body-bg);
	font-size: clamp(3rem, 12vw, 5rem);
}
.boxicona .boxico a .fas{
	color: var(--theme-color2-bg);
}
.boxicona .boxtitolo,
.boxicona .boxtesto,
.boxicona .boxlink{
	text-align: center;
}

/* @group BOXOVERLAY */
.boxoverlay{
	position: relative;
	overflow: hidden;
}
.box.boxoverlay{
	border: none;
}
.boxoverlay .boxico{
	width: 100%;
	height: 100%;
}
.boxoverlay .boxico img{
	object-fit: cover;
}
.boxoverlay .boxcontent{
	position: absolute;
	z-index: 5;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	padding: 1.25rem;
	justify-content: end;
	align-items: center;
	transition: all .3s;
}
.boxoverlay:hover .boxcontent{
	padding-bottom: 30px;
}
/* .boxoverlay .sottotitolo{
   text-shadow: var(--text-shadow);
} */
.boxoverlay .boxtitolo{
	text-align: center;
	font-size: clamp(1.2rem, 1rem + 1vw, 1.2rem);
}
.boxoverlay .boxtitolo,
.boxoverlay .boxtesto{
	background-color: white;
	z-index: 5;
	text-align: left;
	padding: .4rem;
	width: 100%;
}
.boxoverlay .boxtitolo{
	margin-bottom: 0;
	margin-top: 0;
	line-height: 1.1;
	font-weight: 600;
}
.boxoverlay .boxoverlay:hover .boxtitolo{
	padding-bottom: 20px;
	transition: all .3s;
}
.boxoverlay .boxtesto{
	font-size: .85rem;
}
.boxoverlay .boxtesto,
.boxoverlay .boxlink{
	display: none;
}
.boxoverlay a:link .boxtitolo,
.boxoverlay a:visited .boxtitolo,
.boxoverlay a:link .boxtesto,
.boxoverlay a:visited .boxtesto{
	color: var(--body-color);
}
.boxoverlay:hover .boxtesto{
	display: block;
}
.boxoverlay .boxlink{
	text-align: center;
	position: absolute;
	bottom: .5rem;
	left: 0;
	right: 0;
}
.boxoverlay .boxlink a{
	position: relative;
	z-index: 10;
}
/* @end */

section#boxcont-evid2{
	margin-top: 0;
	margin-bottom: 0;
}
#boxcont-evid2 ul{
	margin-bottom: 0;
}
#boxcont-evid2 .boxcontent:hover{
	background-color: rgba(16,48,74,.4); 
}
#boxcont-evid2 .boxcontent{
	justify-content: center;
}
#boxcont-evid2 .boxtitolo{
	font-family: "Yeseva One", serif;
	font-size: clamp(1.3rem, 1.5rem + 1vw, 2.5rem);
}
#boxcont-evid2 .boxtitolo,
#boxcont-evid2 .boxtesto{
	background-color: transparent;
	text-align: center;
	text-shadow: var(--text-shadow);
}
#boxcont-evid2 .boxoverlay a:link .boxtitolo,
#boxcont-evid2 .boxoverlay a:visited .boxtitolo,
#boxcont-evid2 .boxoverlay a:link .boxtesto,
#boxcont-evid2 .boxoverlay a:visited .boxtesto{
	color: var(--theme-color1-txt);
}
#boxcont-evid2 .boxlink{
	display: block;
	z-index: 5;
}
#boxcont-evid2 .boxlink .btn{
	background-color: white;
	border-color: white;
}
#boxcont-evid2 .boxlink .btn:hover{
	color: var(--theme-color1-bg);
}


#boxcont-evid3 {
	margin-top: -11rem;
}
#boxcont-evid3 .item{
	margin-left: 1px;
}
#boxcont-evid3 .box{
	border: none;
	border-radius: 0;
}
#boxcont-evid3 :where(.boxtitolo, .boxtesto){
	padding-left: 2.5rem;
}
#boxcont-evid3 .boxlink{
	padding: 0 0 1rem 3rem;
}
#boxcont-evid3 .boxtitolo{
	font-size: 1.3rem;
	font-weight: 600;
	letter-spacing: .02rem;
	margin-bottom: 1.5rem;
}
#boxcont-evid3 .boxtitolo::after{
	background-color: var(--theme-color1-bg);
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	top: 1rem;
	width: 35px;
}
#boxcont-evid3 .boxtesto{
	font-size: .85rem;
}
#boxcont-evid3 .boxcontent{
	padding: .75rem;
}
.evid3{
	border-bottom: 8px solid var(--theme-color3-bg);
    margin-bottom: 6rem;
    padding: 6rem 0;
}
.evid3 h2{
	text-transform: uppercase;
	text-shadow: var(--text-shadow);
}


/* Settori e categorie */
#boxsettore-cont .box,
#boxcategoria-cont .box{
	padding: 1rem;
	box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .075);
}
#boxsettore-cont .boxico,
#boxcategoria-cont .boxico{
	border: 0;
}
#boxsettore-cont .boxcontent,
#boxcategoria-cont .boxcontent{
	padding: 0 1rem 1rem;
	text-align: center;
}
#boxsettore-cont .boxtitolo,
#boxcategoria-cont .boxtitolo{
	font-size: 1.25rem;
	font-weight: 400;
	text-transform: uppercase;
}
#boxsettore-cont .boxlink,
#boxcategoria-cont .boxlink,
.boxsettore .boxlink,
.boxcategoria .boxlink{
	display: none;
}
.boxsettore .boxtitolo,
.boxcategoria .boxtitolo{
	text-align: center;
}
.boxsettore .boxtesto,
.boxcategoria .boxtesto{
	display: none;
}
.boxsettore.boxoverlay .boxcontent{
	padding: var(--padding-base);
	background: linear-gradient(transparent, rgba(0, 0, 0, .65));
}
.boxsettore.boxoverlay .boxtitolo{
	border-block: 4px solid rgba(255, 255, 255, .6);
	font-size: clamp(1.15rem, 1rem + 1vw, 1.6rem);
	font-weight: 600;
	text-transform: uppercase;
}
.boxsettore.boxoverlay .boxtitolo a{
	display: block;
	padding: 1rem;
	color: var(--theme-color2-txt);
}

/* Documenti */
.documenti-cont .box div{
	z-index: 1;
}
.documenti-cont .boxico{
	aspect-ratio: 1;
}
.documenti-cont .boxico a{
	color: var(--theme-evidence-bg);
}
.documenti-cont .boxhorizontal .boxcontent{
	padding: 1rem;
}
.documenti-cont .boxhorizontal-sm::after{
	position: absolute;
	inset: auto 0 0;
	width: 100%;
	height: .625rem;
	content: "";
	transition: height var(--box-transition), background-color var(--box-transition);
}
.documenti-cont .boxhorizontal-sm:hover::after{
	height: 100%;
	background-color: var(--bg-light);
}

/* Media e video */
#video-cont{
	clear: both;
	margin-block: var(--margin-bottom-base);
}
video{
	width: 100%;
}
video[poster]{
	object-fit: cover;
}
.boxmedia .boxico{
	border: var(--box-border);
}
.boxmedia .boxico::before{
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	color: white;
	content: "\f144";
	font-family: var(--icon-font-family);
	font-size: clamp(3rem, 12vw, 4.5rem);
	font-weight: 900;
	opacity: .8;
	pointer-events: none;
	transform: translate(-50%, -50%);
	transition: opacity var(--box-transition), transform var(--box-transition);
}
.boxmedia .boxico a{
	position: absolute;
	inset: 0;
	z-index: 3;
	display: block;
}
.boxmedia .boxico.youtube img{
	margin-block: -9.5%;
}
.boxmedia img,
.boxmedia video{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.boxmedia iframe{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.video-container{
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}
.video-container iframe,
.video-container object,
.video-container embed{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

/* Mappa */
.boxmap{
	display: grid;
	grid-template-columns: minmax(6rem, 40%) minmax(0, 1fr);
	gap: .75rem;
}
.boxmap .boxico{
	min-height: 6rem;
	border: 2px solid var(--border-color);
	background: center / cover no-repeat url("../../easyUp/NoFoto.jpg");
}
.boxmap .boxtitolo{
	margin: 0 .65rem 0 0;
	font-size: .9rem;
	font-weight: 600;
	line-height: 1.2;
}
.boxmap .boxtesto{
	min-width: 0;
}

/* Store ed eventi */
.boxfiltro{
	padding: .75rem;
	border: 3px solid var(--border-color);
}
.boxfiltro h5{
	padding: 0 0 .25rem;
	background: none;
	font-size: .85rem;
}
.boxevents .boxlink span::after{
	display: inline-block;
	margin-left: .5em;
	content: "\f138";
	font-family: "bootstrap-icons";
	font-size: 1.2em;
	vertical-align: middle;
}

/* Box semplici dell'editor */
.simplebox{
	margin: .75rem;
	padding: .5rem;
	border: var(--box-border);
	border-radius: .5rem;
	background: var(--bg-light);
	box-shadow: 0 1px 1px white;
}
.simplebox.align-center{ margin-inline: auto; }
.simplebox.align-left{ margin-right: auto; }
.simplebox.align-right{ margin-left: auto; }

.simplebox-title,
.simplebox-content{
	border: var(--box-border);
	border-radius: .32rem;
	background: var(--body-bg);
	box-shadow: inset 0 1px 1px #cccccc;
}
.simplebox-title{
	margin-bottom: .5rem;
	padding: .4rem .6rem;
}
.simplebox-content{
	padding: 0 .6rem;
}

/* Stato e ribbon */
.ribbon{
	float: left;
	margin-right: .25rem;
	padding: .3rem .9rem;
	font-size: .75rem;
	text-align: center;
	text-transform: uppercase;
}
.ribbon-evid1{
	background-color: var(--theme-evidence-bg);
	color: var(--theme-evidence-txt);
}
.ribbon-evid2{
	background-color: var(--theme-color1-bg);
	color: var(--theme-color1-txt);
}
.ribbon-evid3{
	background-color: var(--theme-primary);
	color: var(--theme-primary-txt, white);
}
.ribbon-evid4{
	background-color: var(--theme-info);
	color: var(--theme-info-txt);
}
.ribbon-evid1::after,
.ribbon-evid2::after,
.ribbon-evid3::after,
.ribbon-evid4::after{
	content: attr(title);
}
.boxstatus{
	position: absolute;
	inset: .5rem .5rem auto;
	z-index: 5;
}
.home .box .boxstatus{
	display: none;
}
.segnapagine{
	position: absolute;
	right: .5rem;
	bottom: .5rem;
	z-index: 10;
}
.segnapagine .label{
	padding: 0 .25rem;
	background-color: var(--alder-bg);
	color: var(--alder-txt);
	font-size: .8rem;
}
.segnapagine .label a{
	color: var(--alder-txt);
}

/* Condivisione pagina */
.boxsegnala-cont{
	display: flex;
	flex-wrap: wrap;
	/* justify-content: center; */
	gap: .5rem;
	/* padding-block: 1.25rem; */
}
.boxsegnala{
	position: relative;
	display: inline-flex;
	margin: 0;
	border-radius: 50rem;
	color: white;
	font-size: .9rem;
	transition: opacity var(--box-transition), transform var(--box-transition);
}
.boxsegnala > div{
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	width: 2.875rem;
	height: 2.875rem;
	overflow: hidden;
}
.boxsegnala a{
	color: white;
}
.boxsegnala.facebook{ background-color: #1877f2; }
.boxsegnala.twitter{ background-color: #000; }
.boxsegnala.linkedin{ background-color: #0073b1; }
.boxsegnala.whatsapp{ background-color: #3cb82a; }
.boxsegnala.pinterest{ background-color: var(--theme-evidence-bg); }
@media (hover: hover){
	.box:hover .boxico img{
		transform: scale(1.035);
	}
	/*.box:hover{
		box-shadow: var(--box-shadow-hover);
		transform: translateY(-2px);
	}*/
	.boxico-kenburn:hover img{
		transform: scale(1.1) rotate(.6deg);
	}
	.boxoverlay:hover .boxico img{
		opacity: .82;
		transform: scale(1.035);
	}
	#boxsettore-cont .box:hover,
	#boxcategoria-cont .box:hover{
		box-shadow: var(--box-shadow-hover);
	}
	.boxmedia:hover .boxico::before{
		opacity: 1;
		transform: translate(-50%, -50%) scale(1.06);
	}
	.boxsegnala:hover{
		opacity: .82;
		transform: translateY(-1px);
	}
}

@media (min-width: 992px){
	.box{
		margin-bottom: 0;
	}
	.boxhorizontal,
	.boxhorizontal > a{
		flex-direction: row;
		width: 100%;
	}
	.boxhorizontal + .boxhorizontal{
		margin-top: 2rem;
	}
	.boxhorizontal .boxico{
		flex: 0 0 30%;
		width: 30%;
	}
	.boxhorizontal .boxcontent{
		flex: 0 0 70%;
		width: 70%;
		justify-content: center;
		padding: 1rem 1.5rem 3rem;
		text-align: left;
	}
	.boxhorizontal h3.boxtitolo{
		font-size: 1.5rem;
		font-weight: 300;
		text-align: left;
	}
	.boxhorizontal .boxtesto{
		display: block;
		font-weight: 300;
		text-align: left;
	}
	.boxhorizontal .boxlink{
		position: absolute;
		right: 0;
		bottom: 1rem;
		width: 70%;
		text-align: left;
	}
	.boxhorizontal-right,
	.boxhorizontal-right > a{
		flex-direction: row-reverse;
	}
	.boxhorizontal-right .boxlink{
		right: auto;
		left: 0;
	}
	.boxhorizontal-sm{
		border: var(--box-border);
		border-radius: var(--box-radius);
	}
	.boxhorizontal-sm .boxico{
		flex-basis: 30%;
		width: 30%;
	}
	.boxhorizontal-sm .boxcontent{
		flex-basis: 70%;
		width: 70%;
	}
	.home .boxhorizontal .boxico,
	.boxhorizontal.boxlarge .boxico{
		flex-basis: 50%;
		width: 50%;
	}
	.home .boxhorizontal .boxcontent,
	.home .boxhorizontal .boxlink,
	.boxhorizontal.boxlarge .boxcontent,
	.boxhorizontal.boxlarge .boxlink{
		flex-basis: 50%;
		width: 50%;
	}
	.boxlarge.boxhorizontal .boxlink{
		right: 0;
		left: auto;
	}
	.boxlarge.boxhorizontal-right .boxlink{
		right: auto;
		left: 0;
	}
	.documenti-cont .boxhorizontal .boxcontent{
		flex-flow: row;
		justify-content: space-between;
	}
	.boxstore.boxhorizontal .boxprezzo{
		padding-left: 3.75rem;
		text-align: left;
	}
	.attivita-studio{
		margin-top: 3rem;
	}
	.attivita{
		padding: 2% 2% 2% 30%;
	}
}

@media (min-width: 981px) and (max-width: 1199px){
	.boxhorizontal .boxtitolo{
		font-size: 1.6rem;
	}
	.boxhorizontal .boxtesto{
		font-size: .9rem;
	}
}

@media (prefers-reduced-motion: reduce){
	.boxico img, .box,
	.boxnoimage, .boxmedia .boxico::before,
	.boxsegnala{
		transition: none;
	}
}
