/**
	<div class="box">
		<div class="box-head">
			<div class="label"><i class="fa fa-${ICON}"></i> <span>${LABEL}</span></div>
			<div class="action">${ACTION}</div>
		</div>
		<div class="box-body box-${TYPE}">${BODY}</div>
		<div class="box-foot"></div>
		<div class="box-engine"></div>
	</div>

	Il principale box è classic. article.box-classic, 
	slide e carousel sono dei sotto insiemi
	per cui box-carousel NON DEVE dipendere da box-type-classic

*/

main {}

main .box 
{
	border:none;
 	box-shadow: 0 0px 3px 2px rgba(0,0,0,0.12), 0 2px 2px rgba(0,0,0,0.24);
  	transition: all 0.3s cubic-bezier(.25,.8,.25,1);
  	margin-bottom: 2rem;
  	background-color: #fff;
}
main .box .box-head {}
main .box .box-body {}
main .box .box-foot { display: none; }
main .box .box-engine { display: none; } /* a smart place for js */

main .box .box-head 
{
	display: flex;
	flex-wrap: nowrap;
	flex-direction: row;
	justify-content: space-between;	
	font-size:1.1rem;
	border-bottom: none;
	padding: 0 1rem;
	line-height: 4rem;
	color:var(--color-main);
	    border-bottom: solid 1px #dedfe0;
}

main .box .box-head .box-head-label,
main .box .box-head .box-head-action 
{
	flex-shrink: 1;
	flex-basis: auto;
	align-self: center;
}

main .box .box-head .box-head-label i.fa 
{
	display: inline-block;
	margin-right: 0.75rem;
}

main .box .box-head .box-head-label span 
{
	font-family: 'Open Sans', sans-serif;
	text-transform: uppercase;
	font-weight: 700;
	font-size: 0.9rem;
}

/**
	Rounded border
	Bordo arrotondato
*/
main .box.icut
{
	/*border-bottom-right-radius: 45px;*/
}

/** Unknown box **/
main .box.box-type-unknown .box-body
{
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 10rem;
}

/** error 404 */
main .box .box-body .error-404
{
	display: flex;
	align-items: center;
	justify-content: left;
	min-height: 10rem;
	background-color: var(--color-alternative);
	color:white;
	padding-left: 1rem;
}

main .box .box-body .error-404 h1 
{
	text-transform: uppercase;
	font-size: 1.25rem;
}

/** Classic box */
main .box .box-body article.box-classic 
{
	padding:0;
	margin:0;
}

main .box .box-body article.box-classic .box-classic-content 
{
	margin: 0;
	padding:1rem;
}

main .box .box-body article.box-classic .box-classic-content h3
{
	font-size: 1.05rem;
	line-height: 1.4rem;
	font-weight: bold;
	margin: 0;
	margin-bottom: 0.5rem;
	color: #000529;
}

main .box .box-body article.box-classic .box-classic-content p
{
	font-size: 1.05rem;
	line-height: 1.4rem;
	margin: 0;
}

/** TEXTTEXT */
main .box .box-body article.box-classic .box-classic-text
{
	margin: 0;
	padding:2rem 1rem;	
	font-size: 1.1rem;
}

main .box .box-body article.box-classic .box-classic-text > *
{
	/*margin-bottom: 1.2rem;	*/
	font-size: clamp(15px, 3vw, 18px);
	line-height: 1.6;
}

main .box .box-body article.box-classic .box-classic-text > *:last-child 
{
	margin-bottom: 0;	
}

main .box .box-body article.box-classic .box-classic-text .box-classic-text-head {
	margin-bottom: 3rem;
}

main .box .box-body article.box-classic .box-classic-text h1.box-classic-text-title {
	font-size: clamp(2rem, 3vw, 4rem);
	line-height: 1.2;
}

main .box .box-body article.box-classic .box-classic-text h2.box-classic-text-subtitle {
	font-size: clamp(1.5rem, 3vw, 2rem);
	line-height: 1.2;
	color:#444;
}

main .box .box-body article.box-classic .box-classic-text div.box-classic-text-main {
	max-width: 75ch;
}

main .box .box-body article.box-classic .box-classic-text div.box-classic-text-main h3 {
	font-size: clamp(18px, 3vw, 2rem);
	line-height: 1.2;
	color:#000;
	margin-top: 3rem;
	margin-bottom: 1rem;
	font-weight: 600;
}

main .box .box-body article.box-classic .box-classic-text div.box-classic-text-main h4,
main .box .box-body article.box-classic .box-classic-text div.box-classic-text-main h5,
main .box .box-body article.box-classic .box-classic-text div.box-classic-text-main h6 
{
	font-size: clamp(16px, 3vw, 1.5rem);
	line-height: 1.2;
	color:#000;
	margin-top: 2.5rem;
	margin-bottom: 0.75rem;
	font-weight: 600;
}

main .box .box-body article.box-classic .box-classic-text div.box-classic-text-main figure {
	display: block;
	margin: 2rem 0;
}

main .box .box-body article.box-classic .box-classic-text div.page-updated {
	font-size: 0.85rem;
	color:#666;
}

main .box .box-body article.box-classic .box-classic-text ul.waw-items {}
main .box .box-body article.box-classic .box-classic-text ul.waw-items li.waw-item 
{
	margin-bottom: 2rem;
}
main .box .box-body article.box-classic .box-classic-text ul.waw-items li.waw-item:last-child
{
	margin-bottom: 0;
}

/** 
	Slide box 
	SLIDE DI SOLE IMMAGINI
*/
main .box.box-type-slide nav.box-slide-action 
{
	line-height: 3rem;
	background-color: transparent;
}

main .box.box-type-slide nav.box-slide-action .owl-dot {
    width: 12px;
    height: 12px;
    background-color: #f9c718;
    border-radius: 50%;
    margin: 0 3px;
    display: inline-block;
    cursor: pointer;
}

main .box.box-type-slide nav.box-slide-action .owl-dot.active
{
	background-color: #a4000b;
}

main .box.box-type-slide .box-body
{
	position: relative;
}

main .box.box-type-slide .box-body nav.box-slide-action 
{
	position: absolute;
	top:0;
	right: 1rem;
	z-index: 1;
}

/** 
	Carousel 
	CAROSELLO DI NOTIZIE
*/
main .box.box-type-carousel .box-head .box-head-action {}
main .box.box-type-carousel .box-head .box-head-action .owl-prev,
main .box.box-type-carousel .box-head .box-head-action .owl-next 
{
	display: inline-block;
	cursor: pointer;
}

main .box.box-type-carousel .box-head .box-head-action div.owl-prev
{
	margin-right: 1rem;
}

main .box.box-type-carousel .box-head .box-head-action div:hover {
	color:black;
}

main .box.box-type-carousel .box-body .box-carousel 
{
	padding: 1rem;
	padding-bottom: 0;
}

main .box.box-type-carousel .box-body .box-carousel .box-classic-content 
{
	padding-right: 0; 
	padding-left: 0;
}

main .box.box-type-carousel .box-body .box-carousel .owl-dots 
{
	display: none;
}


/**
	BOX TITLE
*/
main .box .box-body .box-title 
{
	height: 450px;
	position: relative;
	background-position: center;
    background-repeat: no-repeat;
    background-size: cover;	
}

main .box .box-body .box-title .box-title-color 
{
	background-color: #00bcf2;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.5;	
    display: none;
}
main .box .box-body .box-title .box-title-image 
{
	height: 450px;
    width: 100%;
    display: block;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
}

main .box .box-body .box-title .box-title-content
{
	color:white;
	position: absolute;
	bottom:0;
	left: 0;
	background-color: white;
	color:black;
	padding: 1.3rem;
	max-width: 900px;
}

main .box .box-body .box-title .box-title-content h1 
{
	margin: 0;
	padding: 0;
	font-size: 2.4rem;
	line-height: 1.2;
	/*text-transform: uppercase;*/
}

main .box .box-body .box-title .box-title-content h2
{
	margin: 0;
	padding: 0;
	font-size: 2rem;
	line-height: 1.3;
	color: #444;
	/*text-transform: lowercase;*/
}


/**
	BOX SIDEBAR
	MENU LATERALE 
*/
main .box .box-sidebar ul,
main .box .box-sidebar ul li {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
main .box .box-sidebar ul li a 
{
	display: block;
	width: 100%;	
	text-transform: uppercase;
	/*line-height: 4rem;*/
    font-size: 0.9rem;
    padding: 1.25rem 1rem;
    font-weight: 700;
}

main .box .box-sidebar ul li a span.a-text {
	display: block;
	line-height: 1.6rem;
}


main .box .box-sidebar ul li.is-active a:link,
main .box .box-sidebar ul li.is-active a:visited
{
	background-color: white;
    border-bottom: solid 1px #ddd;
	color:var(--color-alternative);
}

main .box .box-sidebar ul li a:hover,
main .box .box-sidebar ul li.is-active > a:active,
main .box .box-sidebar ul li.is-active > a:hover
{
	color:black;
}

main .box .box-sidebar ul.box-sidebar-lev-0 > li
{
	 border-bottom: solid 1px #dfdada;
}

main .box .box-sidebar ul.box-sidebar-lev-0 > li:last-child 
{
	border-bottom: none;
}

main .box .box-sidebar ul.box-sidebar-lev-1 li a
{
	padding-left: 2rem;
}


/*
	PAGINATION
	ELENCHI NEWS, AGENDA, CORSI ECC
*/

main .box .box-body .pagination-container
{
	text-align: center;
}

main .box .box-body .pagination-container ul.pagination li.current 
{
	    background-color: #eee;
	font-weight: bold;
}

.pagination li {
    font-size: 1rem;
}

/**
	FORMS
*/

main form.form-agenda {
	padding: 1rem 0;
}

main form.form-agenda h1 {
    font-weight: bold;
    text-transform: uppercase;
    font-size: .9rem;
}


/**
	Pagina testuale
*/

figcaption {
	color: #444;
	font-size: 0.9rem;
	line-height: 1.3;
	padding: 0.5rem 0.25rem;
	border-bottom: solid 1px #ccc;
}

.youtube {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    width:100%;
    max-width: 100%;
}

.youtube iframe,
.youtube object,
.youtube embed
{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}