

html { scroll-behavior: smooth; }
::-webkit-scrollbar { width: 12px; height: 12px; }
::-webkit-scrollbar-track { background: #f1f1f1; }
::-webkit-scrollbar-thumb { background: #ced0d4; border-radius: 10px; }

/* --- UTILS */
.dr-marauto { margin: 0 auto; }
.dr-site-max-width, .dr-maxwid-large { max-width: 1440px; /* max-width: 1280px;  UXGA 4:3 -> 1600x1200 | HD720 16:9 -> 1280x720 */}
.dr-maxwid-xlarge { max-width: 1600px; }

.dr-minwid-40 { min-width: 40px; }
.dr-minwid-60 { min-width: 60px; }
.dr-minwid-80 { min-width: 80px; }
.dr-minwid-120 { min-width: 120px; }
.dr-minwid-240 { min-width: 240px; }
.dr-minwid-tiny { min-width: 320px; }
.dr-minwid-small { min-width: 600px; }
.dr-minwid-medium { min-width: 992px; }

.dr-maxwid-wide { max-width: 1920px; }
.dr-maxwid-120 { max-width: 120px; }
.dr-maxwid-240 { max-width: 240px; }
.dr-maxwid-tiny { max-width: 320px; }
.dr-maxwid-small { max-width: 600px; }
.dr-maxwid-medium { max-width: 992px; }

.dr-minhei-180 { min-height: 180px; }
.dr-minhei-tiny { min-height: 320px; }
.dr-minhei-small { min-height: 640px; }

.dr-maxhei-tiny { max-height: 320px; }
.dr-maxhei-small { max-height: 640px; }

.dr-anchor { position: absolute; margin-top: -62px; width: 50px; /*border: 1px solid red;*/ }

.dr-ohidden { overflow: hidden; }
.dr-ohidden-y { overflow-y: hidden; }
.dr-nowrap { white-space:nowrap; overflow: hidden; }
.dr-fullwidth { width: 100%; }
.dr-hide{display:none;}

.dr-rotate-45 { transform: rotate(45deg); }

table.dr-table-header-blue tr th { background-color: #2196F3; color: #fff; }

/* --- Spacer Verticale 16,32,48 px */
.dr-spacer,.dr-spacer-32,.dr-spacer-48{ border: none; margin:0; padding: 0; clear:both; display: block; width: 100%; height: 16px; transition: height 0.2s ease; } .dr-spacer-32{height: 32px;}.dr-spacer-48{height: 48px;}


.dr-nomargin-top { margin-top: 0!important; }
.dr-nomargin-bottom { margin-bottom: 0!important; }
.dr-round-top {border-radius:4px 4px 0 0;}
.dr-round-bottom {border-radius:0 0 4px 4px;}
.dr-round-left{border-radius:4px 0 0 4px;}
.dr-round-right {border-radius:0 4px 4px 0;}
.dr-strike { text-decoration:line-through!important; }
.dr-bold { font-weight: bold!important; }
.dr-nobold { font-weight: normal!important; }
.dr-italic { font-style: italic!important; }
.dr-pointer { cursor: pointer!important; }
.dr-pointermove , .dr-grab { cursor: grab; }
.dr-nodecoration { text-decoration: none; }
.dr-noresize { resize: none; }
.dr-noborder { border: none!important; }
.dr-border-dot { border-style: dotted!important; border-width: 0; }
.dr-border-dash { border-style: dashed!important; border-width: 0; }

.dr-margin-small{margin:8px!important}
.dr-margin-small-top{margin-top:8px!important}
.dr-margin-small-bottom{margin-bottom:8px!important}
.dr-margin-small-left{margin-left:8px!important}
.dr-margin-samll-right{margin-right:8px!important}

/* --- TEXT --- */
.dr-text-upper { text-transform: uppercase; }
.dr-text-capitalize { text-transform: capitalize; }

/* --- Font --- */
.dr-fontawesome { font: 1em/1 FontAwesome; }
.dr-fontawesome-5 { font: 1em/1 "Font Awesome 5 Pro"; }
/*.dr-fontawesome-6 { font: 1em/1 FontAwesome; }*/

/* Table */
.dr-border-all td, .dr-border-all th  { border:1px solid #ddd; }
.dr-mini { width: 1%; white-space: nowrap; }
.dr-top{vertical-align:top !important;}.dr-middle{vertical-align:middle !important;}.dr-bottom{vertical-align:bottom !important;}

/* Scrollable Table */
.dr-scrollable {max-width: 100%;max-height: calc(100vh - 200px);overflow: auto;position: relative;border-top: 1px solid #ddd;border-left: 1px solid #ddd;border-bottom: 1px solid #ddd;}
.dr-scrollable table { margin: -1px -10px 0 -1px; position: relative; }
.dr-scrollable table thead th { position: sticky; top: -1px; background: #fff;  }
.dr-scrollable table thead th.dr-sticky-left { left: -1px; z-index: 1; position: sticky; background: inherit; }
.dr-scrollable table tbody th, table tfoot th { position: sticky; left: -1px; }
.dr-scrollable table tr:nth-child(odd) th { background: #fff; }
.dr-scrollable table tr:nth-child(even) th { background: #f1f1f1; }
.dr-scrollable tbody tr:hover th { background: #ccc; }

/* dr-table-reflow */
@media (max-width:600px){
.dr-table-reflow thead tr { display: none; }
/*.dr-table-reflow tbody tr:nth-child(odd) th { background: #FFF !important; }
.dr-table-reflow tbody tr:nth-child(even) th { background: #F1F1F1 !important; }*/
.dr-table-reflow tr td, .dr-table-reflow tr th { display:flow-root; font-size: 16px!important; }
.dr-table-reflow-border { border-bottom: 1px dotted #9e9e9e; }
.dr-table-reflow-abs { position: absolute; z-index: 2; }
}

/* --- Correzioni w3css */
.w3-dropdown-hover:first-child{background-color:#fff;}
.dr-dropdown-childs:last-child .w3-dropdown-content { right: 0; }
.w3-check { margin-top: -5px; }
.w3-select { cursor:pointer;  padding: 8px 30px 8px 8px; appearance: none; background-repeat: no-repeat; background-position: right 5px center; background-size: 30px 14px; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"); }
[type=checkbox], [type=radio] { width:22px;height:22px;vertical-align: middle; margin: 0 4px 0 12px; }
.dr-checkbox-tiny { width:18px;height:18px; }
label { line-height: 1.8; }
input,select,textarea { background: #fff; /* #e8f0fe; */ }
.dr-label { line-height: 2.6; white-space: nowrap; overflow: hidden; }
.dr-radio { display: inline; line-height: 1.8; vertical-align: middle; }


/* --- aspectratio fullspace cover */
.dr-fullspace {position:relative; min-height: 140px;}.dr-fullspace > div { position:absolute; top:0; left:0; bottom:0; right:0; }
.dr-fullspace.dr-aspectratio {padding-top:22%;}
.dr-img-cover {min-height: 140px; background-position: center !important; background-size: cover !important;}
/* -- ridimensionamento per schermi wide -- */
@media only screen and (min-width: 1920px) { .dr-fullspace.dr-aspectratio {padding-top:18%;} }


/* --- nav sidebar */
.dr-sticky { position: sticky; top: 0; z-index: 3; } /* 'sticky' e non 'fixed' per avere un margin-top del body dinamico */
.dr-nav-sidebar-chum-content { left: 0; transition: left 0.2s ease; } 
.dr-nav-logo-size { height: 70px; transition: height 0.2s ease; }
body.dr-window-scrolled .dr-nav-logo-size { height: 52px; }
.w3-bar .w3-dropdown-hover .w3-bar-item.w3-button {float: none;}

/* --- Footer */
.dr-footer-logo-size { height: 52px; }

/* --- Faces --- */
.dr-message-info:before { content: '\f05a'; }
.dr-message-warn:before { content: '\f06a'; }
.dr-message-error:before { content: '\f06a'; }

/* --- Autocomplete --- */
.dr-autocomplete {position: relative;display: inline-block;}
.dr-autocomplete .dr-autocomplete-asSelect { padding-right: 2em; }
.dr-autocomplete i {
	position: absolute;
	font-weight: bold;
	top: 0.7em;
	right: 0.5em;
}
.dr-autocomplete-items {
	position: absolute;
	border: 1px solid #d4d4d4;
	border-bottom: none;
	border-top: none;
	z-index: 99;
	box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);
	border-radius: 4px;
	overflow: hidden;
	/*position the autocomplete items to be the same width as the container:*/
	top: 100%;
	left: 0;
	right: 0;
}
.dr-autocomplete-items div {
	padding: 6px;
	cursor: pointer;
	background-color: #fff;
	border-bottom: 1px solid #d4d4d4;
}
.dr-autocomplete-items div:hover {
	background-color: DodgerBlue;
	color: #ffffff;
}
/*when navigating through the items using the arrow keys:*/
.dr-autocomplete-active {
	background-color: DodgerBlue !important;
	color: #ffffff;
}


/* --- Cookie Policy */
#cookiepolicy { display:none; position:fixed; bottom:0; left:0; right:0; cursor: pointer; padding: 10px 0; text-align: center; background-color: rgba(68, 68, 68, 0.85); color: #fff; }
#cookiepolicy a.link { text-decoration: underline; }
#cookiepolicyAction { padding: 5px 20px; margin-left: 18px; font-weight: bold; text-transform: uppercase; }

/* --- flatpickr (Calendar) --- */
.flatpickr-months .flatpickr-month, .flatpickr-weekdays { background: #f1f1f1; }
span.flatpickr-weekday { font-weight: normal; }


/* --- Input Image Container con sfondo FontAwesome ------ */
.dr-input-image-container {
	z-index: 0;
	position: relative;
	/*width: 240px; height: 120px;*/
	min-height: 120px;
	/*color: #dadada;*/
	border: 3px solid #f1f1f1;
}

.dr-input-image-container:before {
	z-index: -1;
	color: #f1f1f1;
	position: absolute;
	display: inline-block;
	top: 10%;
	left: 25%;
	font: 90px/1 FontAwesome;
	content: "\f03e";
	/*transform: rotate(0deg);*/
	text-rendering: auto;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

/* --- LetterAvatar --- */
.dr-letter-avatar { /*position: relative;*/ display: inline-block; text-align: center; border-radius: 50%; color: #fff; height: 3rem; width: 3rem; font-size: calc(3rem / 2); line-height: 3rem; }
.dr-letter-avatar.c0 { background-color: #1abc9c; }
.dr-letter-avatar.c1 { background-color: #2ecc71; }
.dr-letter-avatar.c2 { background-color: #3498db; }
.dr-letter-avatar.c3 { background-color: #9b59b6; }
.dr-letter-avatar.c4 { background-color: #34495e; }
.dr-letter-avatar.c5 { background-color: #16a085; }
.dr-letter-avatar.c6 { background-color: #27ae60; }
.dr-letter-avatar.c7 { background-color: #2980b9; }
.dr-letter-avatar.c8 { background-color: #8e44ad; }
.dr-letter-avatar.c9 { background-color: #2c3e50; }
.dr-letter-avatar.c10 { background-color: #f1c40f; }
.dr-letter-avatar.c11 { background-color: #e67e22; }
.dr-letter-avatar.c12 { background-color: #e74c3c; }
.dr-letter-avatar.c13 { background-color: #39c6d1; }
.dr-letter-avatar.c14 { background-color: #95a5a6; }
.dr-letter-avatar.c15 { background-color: #f39c12; }
.dr-letter-avatar.c16 { background-color: #d35400; }
.dr-letter-avatar.c17 { background-color: #c0392b; }
.dr-letter-avatar.c18 { background-color: #bdc3c7; }
.dr-letter-avatar.c19 { background-color: #7f8c8d; }


/* --- Gallery */
#dr-gallery { display: flex; overflow-x: auto; margin: 0; padding: 0; scroll-snap-type: x mandatory; scroll-behavior: smooth;
  touch-action:auto;
  -webkit-overflow-scrolling: touch;
  /*scroll-snap-points-x: repeat(300px);*/
}
#dr-gallery::-webkit-scrollbar { width: 0; height: 0; }
#dr-gallery > div { scroll-snap-align: start; flex-shrink: 0; width: 100%; margin-right: 1px; }

/** Chart.js */
.dr-chart-container { position: relative; margin: auto; height: 60vh; width: 80vw; max-width: 100%; }

/* ------------------ MEDIA QUERY ------------------ */

/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (min-width: 1200px) { } 

/* --- maggiore di 992 */
@media (min-width:993px){
	/* Spacer */
	.dr-spacer.w3-hide-large,.w3-hide-large.dr-spacer-32,.dr-spacer-48.w3-hide-large { display:block!important; height: 0; }
}


/* --- minore uguale di 992 */
@media (max-width:992px){

	/* FONT SIZE */
	.dr-responsive-font.w3-xlarge{font-size:16px!important}
	.dr-responsive-font.w3-xxlarge{font-size:24px!important}
	.dr-responsive-font.w3-xxxlarge{font-size:32px!important}
	.dr-responsive-font.w3-jumbo{font-size:48px!important}
	
	body.dr-sidebar-open #dr-nav-sidebar { display:block!important; }
	body.dr-sidebar-open .dr-nav-sidebar-chum-content { overflow: hidden; position: relative; left: 220px; }
	body.dr-sidebar-open .dr-nav-sidebar-chum-content:after { content:''; animation:animate-opacity 0.2s ease; opacity: 0.5; background: #000; position: absolute; z-index: 1; top: 0; bottom: 0; left: 0; right: 0;  }
	body.dr-sidebar-open #dr-nav-icon .fa-bars:before { content: '\f00d'; }
	
	#dr-nav-sidebar { 
		transition: top 0.2s ease; animation:animate-left 0.2s ease;
		top: 74px; bottom:0; left:0; height:auto;width:220px;/*background-color:#fff;*/position:fixed!important;z-index:1;overflow:auto; /* we-sidebar */
		/* box-shadow:0 5px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12); /* w3-card */
		/*position:relative;*/ /* w3-animate-left */
		font-size:18px!important; /* w3-large */
		overflow-x: hidden; overflow-y: scroll; -ms-overflow-style: none; scrollbar-width: none; /* scroll menu */
	}
	#dr-nav-sidebar::-webkit-scrollbar { display: none; }
	body.dr-window-scrolled #dr-nav-sidebar { top: 60px; }
	/* w3-bar-block */
	#dr-nav-sidebar .w3-bar-item{width:100%;display:block;padding:8px 16px;text-align:left;border:none;white-space:normal;float:none;outline:0} 
	/* animation */
	@keyframes animate-left{from{left:-220px;opacity:0} to{left:0;opacity:1}}
	@keyframes animate-opacity{from{opacity:0} to{opacity:0.5}}
	/* w3-dropdown */
	#dr-nav-sidebar .w3-right { float: none!important; } 
	#dr-nav-sidebar .w3-dropdown-hover, #dr-nav-sidebar .w3-dropdown-click { display: block; position: initial; float: none; }
	#dr-nav-sidebar .w3-dropdown-content { background:transparent!important; display: block; position: static; box-shadow: none; padding-left: 16px; }

}

/* --- da 992 a 601 */
@media (max-width:992px) and (min-width:601px){
	/* Spacer */
	.dr-spacer.w3-hide-medium,.w3-hide-medium.dr-spacer-32,.dr-spacer-48.w3-hide-medium {display:block!important; height: 0;}
}

/* --- maggiore di 600 */
@media (min-width:601px){ 

	/* colonna left o right sticky */
	.dr-head-sticky { position: sticky; top: 50px; z-index: 1; }

	/* --- Modal --- */
	.dr-modal-header { position: inherit; }
	.dr-modal-close { position: absolute; top: -18px; right: -18px; padding: 2px 8px; border-radius: 50%; border: 3px solid #ccc; }

}

/* --- minore uguale di 600 */
@media (max-width:600px){

	.dr-mobile-sticky { position: sticky; top: 0; z-index: 1; }

	/* Spacer */
	.dr-spacer.w3-hide-small,.w3-hide-small.dr-spacer-32,.dr-spacer-48.w3-hide-small { display:block!important; height: 0; }
	
	/* --- Correzioni w3css */
	.w3-display-container .w3-mobile { position: relative; float: none; display: inline-block; transform: none; top: auto; left: auto; }

	/* NAV */
	#dr-nav-sidebar { top: 60px; }
	.dr-nav-logo-size { height: 52px; }
	.dr-sidebar-open .dr-nav-sidebar-chum { overflow-x: hidden; }

	/* --- Modal --- */
	.w3-modal { padding-top: 0; background-color: #fff; }

	.w3-modal-content { margin: 0; }
	.dr-modal-header h2 { padding: 8px 0 !important; }
	.dr-modal-close { position: absolute; top: 12px; right: -6px; padding: 2px 8px; border-radius: 50%; border: 3px solid black; color: black !important; }

	/* FONT SIZE */
	.dr-responsive-font.w3-xlarge{font-size:16px!important}
	.dr-responsive-font.w3-xxlarge{font-size:16px!important}
	.dr-responsive-font.w3-xxxlarge{font-size:24px!important}
	.dr-responsive-font.w3-jumbo{font-size:32px!important}
	
	/* Mobile fix */
	.dr-mobile-nopadding { padding: 0 !important; }
	.dr-mobile-padding-small { padding: 2px 4px !important; }
	.dr-mobile-nomargin { margin: 0 !important; }
	.dr-mobile-noborder { border: none !important; }
	.dr-mobile-center { text-align: center!important; }
	.dr-mobile-noshadow { box-shadow: none; }

	/* Mobile color  */
	.dr-mobile-gray {color:#000!important;background-color:#9e9e9e!important}
	.dr-mobile-mid-gray {color:#000!important;background-color:#ccc!important}
	.dr-mobile-light-gray {color:#000!important;background-color:#f1f1f1!important}

	/* Slides */
	.dr-slides-mobile { display: flex; overflow-x: auto; margin: 0; padding: 0; scroll-snap-type: x mandatory; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; }
	.dr-slides-mobile > div { scroll-snap-align: start; flex-shrink: 0; width: 100%; margin-right: 50px; }

}

/* --- minore uguale di 768 */
@media (max-width:768px){ }


@media (max-width:359px){
	.dr-hide-tiny {display:none!important;}	
}

/** ---KEYFRAMES --- **/

@keyframes flash { 0% { background-color: inherit; opacity:1; } 50% { background-color: #ffc107; } 100% { background-color: inherit; } }
.dr-flash { animation: flash 0.3s cubic-bezier(0.55, 0.06, 0.68, 0.19) both; animation-delay: 0.4s; animation-iteration-count: 2; }

@keyframes shake { 10%, 90% { transform: translate3d(-1px, 0, 0); }  20%, 80% { transform: translate3d(2px, 0, 0); }  30%, 50%, 70% { transform: translate3d(-4px, 0, 0); }  40%, 60% { transform: translate3d(4px, 0, 0); } }
.dr-shake { animation: shake 0.82s cubic-bezier(.36,.07,.19,.97) both; transform: translate3d(0, 0, 0); backface-visibility: hidden; perspective: 1000px; }


/** --- IE 11 --- **/
_:-ms-fullscreen, :root body:after { position: fixed; top: 0; left: 0; bottom: 0; right: 0; background: #444444; opacity: 0.8; z-index: 99; text-align: center; padding: 10%; color: #fff; font-size: 18px; content: 'Internet Explorer is NO longer supported by Microsoft, for security reasons it is blocked on this website!'; }
	