@charset "utf-8";
/* Geecom 4.0 - Template Base */

:root {
  	--input-padding-x: .75rem;
  	--input-padding-y: .75rem;
    
	--primary: #018394;
    --primary-over: #016c7a;
    --primary-active: #01606c;
    --secondary: #dd3b15;ht
    --secondary-over: #b53112;
    --secondary-active: #a12b10;
    --success: #28a745;
    --success-over: #218838;
    --success-active: #1e7e34;
    --info: #335C67;
    --info-over: #2f5453;
    --info-active: #2a4c55;
    --warning: #f7a616;
    --warning-over: #cb8813;
    --warning-active: #b47b11;
    --danger: #dc3545;
    --danger-over: #c82333;
    --danger-active: #bd2130;
    --light: #f8f9fa;
    --light-over: #e2e6ea;
    --light-active: #dae0e5;
    --dark: #0d1b1e;
    --dark-over: #0c191c;
    --dark-active: #0b1719;
    
	--breakpoint-xs: 0;
    --breakpoint-sm: 576px;
    --breakpoint-md: 768px;
    --breakpoint-lg: 992px;
    --breakpoint-xl: 1200px;
}

/* == Helpers == */

.accent {
	color: var(--primary);
}

.background-image {
	background-position: center center !important;
	background-size: cover !important;
	background-repeat: no-repeat;
	display: block;
}

.box-shadow {
	-webkit-box-shadow: 0px 20px 22px -15px rgba(0,0,0,0.65);
	-moz-box-shadow: 0px 20px 22px -15px rgba(0,0,0,0.65);
	box-shadow: 0px 20px 22px -15px rgba(0,0,0,0.65);
	-webkit-transition: all  ease-in-out .2s;
    -moz-transition: all ease-in-out .2s;
    transition: all ease-in-out .2s;
}

.box-shadow:hover {
	-webkit-box-shadow: 0px 10px 22px -15px rgba(0,0,0,0.65);
	-moz-box-shadow: 0px 10px 22px -15px rgba(0,0,0,0.65);
	box-shadow: 0px 10px 22px -15px rgba(0,0,0,0.65);
}

.box-shadow-lite {
	-webkit-box-shadow: 0px 10px 22px -15px rgba(0,0,0,0.65);
	-moz-box-shadow: 0px 10px 22px -15px rgba(0,0,0,0.65);
	box-shadow: 0px 10px 22px -15px rgba(0,0,0,0.65);
	-webkit-transition: all  ease-in-out .2s;
    -moz-transition: all ease-in-out .2s;
    transition: all ease-in-out .2s;
}

.box-shadow-lite:hover {
	-webkit-box-shadow: 0px 2px 0px 0px rgba(0,0,0,0.15);
	-moz-box-shadow: 0px 2px 0px 0px rgba(0,0,0,0.15);
	box-shadow: 0px 2px 0px 0px rgba(0,0,0,0.15);
}

.contenuto {
	z-index:2;
}
	
.full-width {
	width: 100%;
}

	.h10{height:10vh; 	min-height: 280px;}
	.h25{height:25vh; 	min-height: 280px;}
	.h35{height:35vh; 	min-height: 280px;}
	.h50{height:50vh; 	min-height: 320px;}
	.h75{height:75vh; 	min-height: 320px;}
	.h100{height:100vh; min-height: 320px;}
	
	.h10 .contenuto,
	.h25 .contenuto,
	.h35 .contenuto,
	.h10 .contenuto,
	.h50 .contenuto,
	.h75 .contenuto,
	.h100 .contenuto {
		position: absolute;
		top: 50%;
		left:50%;
		width: 100%;
		transform: translate(-50%,-50%);
		background: transparent;
		z-index: 3;
	}

.rotate90 {
	transform: rotate(90deg);
}
.rotate180 {
	transform: rotate(180deg);
}

.noOverflow {
	overflow:hidden;
}
.noOverflowX {
	overflow-x:hidden;
}
.noOverflowy {
	overflow-y:hidden;
}

.sticky {
  position: -webkit-sticky;
  position: -moz-sticky;
  position: -o-sticky;
  position: -ms-sticky;
  position: sticky;
  z-index: 1;
}

.sticky-top {
    position: -webkit-sticky;
    position: sticky;
    top: 160px;
    z-index: 1;
}

/* ==== CLASSI GENERALI ==== */

/* ==  Breadcrumb == */

.breadcrumb {
    padding: .5rem 0.9rem;
    border-radius: .25rem;
}

/* == Links == */

a {
	color: var(--primary);}

a:hover {
	color: var(--primary-over);
	text-decoration: none;
}

.bg-primary a {color: var(--dark);}
.bg-primary a:hover {color: var(--dark-over);}


/* == Pulsanti == */

button, .btn {
	border-radius:0.25rem;
	letter-spacing: 0.5;
}

button.focus, .btn.focus,
button:focus, .btn:focus {
    outline: none;
    box-shadow: none;
}

.btn.focus, .btn:focus {
	box-shadow: 0 0 0 0.2rem rgba(0,0,0,.1);
}

.btn:not(:disabled):not(.disabled).active:focus, .btn:not(:disabled):not(.disabled):active:focus, .show>.btn.dropdown-toggle:focus {
  box-shadow: none;
}

/* Varianti */
.btn.sharp, button.sharp {
  border-radius:0;
}

.btn.round, button.round {
	border-radius: 2rem;
}

.btn.raised, button.raised {
	box-shadow: 0 3px 0 0 rgba(0,0,0,0.2);
}

.btn.raised:active, .btn.raised.active, button.raised:active, button.raised.active{
	box-shadow: none;
	margin-bottom: -3px;
	margin-top: 3px;
}

 
/* Variante Primary */
.btn-primary {
  color: #ffffff;
  background-color: var(--primary);
  border-color: var(--primary);
}
 
.btn-primary:hover,
.btn-primary:focus{
  color: #ffffff;
  background-color: var(--primary-over);
  border-color: var(--primary-over);
}
 
.btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active, .show>.btn-primary.dropdown-toggle{
  color: #ffffff;
  background-color: var(--primary-active);
  border-color: var(--primary-active);
}


/* Variante Secondary */
.btn-secondary {
  color: #ffffff;
  background-color: var(--secondary);
  border-color: var(--secondary);
}
 
.btn-secondary:hover,
.btn-secondary:focus {
  color: #ffffff;
  background-color: var(--secondary-over);
  border-color: var(--secondary-over);
}
 
.btn-secondary:not(:disabled):not(.disabled).active, .btn-secondary:not(:disabled):not(.disabled):active, .show>.btn-secondary.dropdown-toggle {
  color: #ffffff;
  background-color: var(--secondary-active);
  border-color: var(--secondary-active);
}
 
 
/* Variante Warning */
.btn-warning {
  color: #ffffff;
  background-color: var(--warning);
  border-color:  var(--warning);
}
 
.btn-warning:hover,
.btn-warning:focus {
  color: #ffffff;
  background-color: var(--warning-over);
  border-color: var(--warning-over);
}
 
.btn-warning:not(:disabled):not(.disabled).active, .btn-warning:not(:disabled):not(.disabled):active, .show>.btn-warning.dropdown-toggle {
  color: #ffffff;
  background-color: var(--warning-active);
  border-color: var(--warning-active);
}
 
 
/* Variante Danger */
.btn-danger {
  color: #ffffff;
  background-color: var(--danger);
  border-color: var(--danger);
}
 
.btn-danger:hover,
.btn-danger:focus {
  color: #ffffff;
  background-color: var(--danger-over);
  border-color:  var(--danger-over);
}
 
.btn-danger:not(:disabled):not(.disabled).active, .btn-danger:not(:disabled):not(.disabled):active, .show>.btn-danger.dropdown-toggle {
  color: #ffffff;
  background-color: var(--danger-active);
  border-color: var(--danger-active);
}
 
 
/* Variante Success */
.btn-success {
  color: #ffffff;
  background-color: var(--success);
  border-color: var(--success);
}
 
.btn-success:hover,
.btn-success:focus {
  color: #ffffff;
  background-color: var(--success-over);
  border-color: var(--success-over);
}
 
.btn-success:not(:disabled):not(.disabled).active, .btn-success:not(:disabled):not(.disabled):active, .show>.btn-success.dropdown-toggle{
  color: #ffffff;
  background-color: var(--success-active);
  border-color: var(--success-active);
}
 
 
/* Variante Info */
.btn-info {
  color: #ffffff;
  background-color: var(--info);
  border-color: var(--info);
}
 
.btn-info:hover,
.btn-info:focus {
  color: #ffffff;
  background-color: var(--info-over);
  border-color: var(--info-over);
}
 
.btn-info:not(:disabled):not(.disabled).active, .btn-info:not(:disabled):not(.disabled):active, .show>.btn-info.dropdown-toggle {
  color: #ffffff;
  background-color: var(--info-active);
  border-color: var(--info-active);
}


/* Variante Dark */
.btn-dark {
  color: #ffffff;
  background-color: var(--dark);
  border-color: var(--dark);
}
 
.btn-dark:hover,
.btn-dark:focus {
  color: #ffffff;
  background-color: var(--dark-over);
  border-color: var(--dark-over);
}
 
.btn-dark:not(:disabled):not(.disabled).active, .btn-dark:not(:disabled):not(.disabled):active, .show>.btn-dark.dropdown-toggle {
  color: #ffffff;
  background-color: var(--dark-active);
  border-color: var(--dark-active);
}


/* Variante light */
.btn-light {
  color: #212529;
  background-color: var(--light);
  border-color: var(--light);
}
 
.btn-light:hover,
.btn-light:focus {
  color: #212529;
  background-color: var(--light-over);
  border-color: var(--light-over);
}
 
.btn-light:not(:disabled):not(.disabled).active, .btn-light:not(:disabled):not(.disabled):active, .show>.btn-light.dropdown-toggle {
  color: #212529;
  background-color: var(--light-active);
  border-color: var(--light-active);
}

/* Variante Link */

.btn-link {
    color: var(--primary);
    background-color: transparent;
}


.btn-link:hover,
.btn-link:focus {
  color: var(--primary-over);
  background-color: transparent;
  border-color: transparent;
}


/* Varianti Outline */

.btn-outline-primary {
	border-width: 2px;
	border-color: var(--primary); 
	color: var(--primary);
	}
.btn-outline-primary:hover,
.btn-outline-primary:focus {
	color: #ffffff;
	border-color: var(--primary-over);
	background: var(--primary-over);
	}

.btn-outline-primary:not(:disabled):not(.disabled).active, .btn-outline-primary:not(:disabled):not(.disabled):active, .show>.btn-outline-primary.dropdown-toggle{
  color: #ffffff;
  background-color: var(--primary-active);
  border-color: var(--primary-active);
}

.btn-outline-secondary {
	border-width: 2px;
	border-color: var(--secondary); 
	color: var(--secondary);
	}
.btn-outline-secondary:hover,
.btn-outline-secondary:focus,
.btn-outline-secondary:active,
.btn-outline-secondary.active {
	color: #ffffff;
	border-color: var(--secondary-over);
	background: var(--secondary-over);
	}

.btn-outline-secondary:not(:disabled):not(.disabled).active, .btn-outline-secondary:not(:disabled):not(.disabled):active, .show>.btn-outline-secondary.dropdown-toggle{
  color: #ffffff;
  background-color: var(--secondary-active);
  border-color: var(--secondary-active);
}

.btn-outline-success {
	border-width: 2px;
	border-color: var(--success); 
	color: var(--success);
	}
.btn-outline-success:hover,
.btn-outline-success:focus,
.btn-outline-success:active,
.btn-outline-success.active {
	color: #ffffff;
	border-color: var(--success-over);
	background: var(--success-over);
	}

.btn-outline-success:not(:disabled):not(.disabled).active, .btn-outline-success:not(:disabled):not(.disabled):active, .show>.btn-outline-success.dropdown-toggle{
  color: #ffffff;
  background-color: var(--success-active);
  border-color: var(--success-active);
}

.btn-outline-danger {
	border-width: 2px;
	border-color: var(--danger); 
	color: var(--danger);
	}
.btn-outline-danger:hover,
.btn-outline-danger:focus,
.btn-outline-danger:active,
.btn-outline-danger.active {
	color: #ffffff;
	border-color: var(--danger-over);
	background: var(--danger-over);
	}

.btn-outline-danger:not(:disabled):not(.disabled).active, .btn-outline-danger:not(:disabled):not(.disabled):active, .show>.btn-outline-danger.dropdown-toggle{
  color: #ffffff;
  background-color: var(--danger-active);
  border-color: var(--danger-active);
}

.btn-outline-warning {
	border-width: 2px;
	border-color: var(--warning); 
	color: var(--warning);
	}
.btn-outline-warning:hover,
.btn-outline-warning:focus,
.btn-outline-warning:active,
.btn-outline-warning.active {
	color: #ffffff;
	border-color: var(--warning-over);
	background: var(--warning-over);
	}

.btn-outline-warning:not(:disabled):not(.disabled).active, .btn-outline-warning:not(:disabled):not(.disabled):active, .show>.btn-outline-warning.dropdown-toggle{
  color: #ffffff;
  background-color: var(--warning-active);
  border-color: var(--warning-active);
}

.btn-outline-info {
	border-width: 2px;
	border-color: var(--info); 
	color: var(--info);
	}
.btn-outline-info:hover,
.btn-outline-info:focus,
.btn-outline-info:active,
.btn-outline-info.active {
	color: #ffffff;
	border-color: var(--info-over);
	background: var(--info-over);
	}

.btn-outline-info:not(:disabled):not(.disabled).active, .btn-outline-info:not(:disabled):not(.disabled):active, .show>.btn-outline-info.dropdown-toggle{
  color: #ffffff;
  background-color: var(--info-active);
  border-color: var(--info-active);
}

.btn-outline-dark {
	border-width: 2px;
	border-color: var(--dark); 
	color: var(--dark);
	}
.btn-outline-dark:hover,
.btn-outline-dark:focus,
.btn-outline-dark:active,
.btn-outline-dark.active {
	color: #ffffff;
	border-color: var(--dark-over);
	background: var(--dark-over);
	}

.btn-outline-dark:not(:disabled):not(.disabled).active, .btn-outline-dark:not(:disabled):not(.disabled):active, .show>.btn-outline-dark.dropdown-toggle{
  color: #ffffff;
  background-color: var(--dark-active);
  border-color: var(--dark-active);
}

.btn-outline-light {
	border-width: 2px;
	border-color: var(--light); 
	color: var(--light);
	}
.btn-outline-light:hover,
.btn-outline-light:focus,
.btn-outline-light:active,
.btn-outline-light.active {
	color: #212529;
	border-color: var(--light-over);
	background: var(--light-over);
	}

.btn-outline-light:not(:disabled):not(.disabled).active, .btn-outline-light:not(:disabled):not(.disabled):active, .show>.btn-outline-light.dropdown-toggle{
  color: #212529;
  background-color: var(--light-active);
  border-color: var(--light-active);
}


/* Varianti con icone on mouse over */

.btn.login::after,
.btn.leggi-tutto::after,
.btn.invia::after,
.btn.aggiungi::after,
.btn.scarica::after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	width: 0;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
    position: relative;
    top: 0px;
    padding: 0;
	right: -10px;
	opacity:0;
	filter: alpha(opacity=0);	
	-webkit-transition: all  ease-in-out .2s;
    -moz-transition: all ease-in-out .2s;
    transition: all ease-in-out .2s;
	}

.btn:hover.login::after,
.btn:hover.leggi-tutto::after,
.btn:hover.scarica::after,
.btn:hover.aggiungi::after,
.btn:hover.invia::after{
    padding: 0 26px 0 0;
	opacity:1;
	filter: alpha(opacity=100);
	}

.btn.login::after {	content: "\f2bd"; }
.btn.leggi-tutto::after { content: "\f35a"; }
.btn.invia::after {	content: "\f1d8"; }
.btn.aggiungi::after { content: "\f055"; }
.btn.scarica::after { content: "\f381"; }

/* Varianti social */

.btn-facebook {	color: #3b5998 !important;}
.btn-facebook:hover {color: #758ab6 !important;}

.btn-twitter {color: #00aced !important;}
.btn-twitter:hover {color: #4cc4f2 !important;}

.btn-google_plus {color: #d34836 !important;}
.btn-google_plus:hover {color: #e07e72 !important;}


/* Blockquote */

blockquote {
  display:block;
  background: #EFEFEF;
  padding: 1em 2em 1em 40px;
  margin: 0 0 20px;
  position: relative;
  color: #656d77;
  border-left: 8px solid #656d77;
  border-right:2px solid #656d77;
	font-size: 1em;
	line-height: 1.5em;
}

blockquote::before{
  content: "\201C";
  
  /*Font*/
  font-family: Georgia, serif;
  font-size: 90px;
  font-weight: bold;
  color: #656d77;
  
  /*Posizionamento*/
  position: absolute;
  left: 10px;
  top:10px;
  
}

blockquote::after{
  content: "";
}

blockquote a{
  text-decoration: none;
  background: #eee;
  cursor: pointer;
  padding: 0 3px;
}

blockquote a:hover{
}

blockquote em{
  font-style: italic;
}

/* Paginazione */

.page-link {
    color: var(--primary);
}

.page-link:hover {
    color: var(--primary-over);
}

.page-link:focus {
    box-shadow: 0 0 0 0.2rem rgba(0,0,0,0.1);
}
.page-item.active .page-link {
    background-color: var(--primary);
    border-color: var(--primary);
}


/* Cards */

.card-header .fas {
	margin-top:12px;
  transition: .3s transform ease-in-out;
}
/* Dropdown */

.dropdown-menu {
    border-radius: 0;
}


.figure-img {
    margin-bottom: 0;
}


/* Form */

.form-control:focus {
    color: #495057;
    background-color: #fff;
    border-color: var(--primary);
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0,153,153,.25);
}

.form-label-group {
  position: relative;
  margin-bottom: 1rem;
}

.form-label-group > input,
.form-label-group > label,
.form-label-group > textarea {
  padding: var(--input-padding-y) var(--input-padding-x);
}

.form-label-group > label {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  margin-bottom: 0; /* Override del margine di default per il tag `<label>` */
  line-height: 1.5;
  color: #495057;
  border: 1px solid transparent;
  border-radius: .25rem;
  transition: all .1s ease-in-out;
}

.form-label-group input::-webkit-input-placeholder,
.form-label-group textarea::-webkit-input-placeholder {
  color: transparent;
}

.form-label-group input::-ms-input-placeholder,
.form-label-group textarea::-ms-input-placeholder {
  color: transparent;
}

.form-label-group input::-ms-input-placeholder,
.form-label-group textarea::-ms-input-placeholder {
  color: transparent;
}

.form-label-group input::-moz-placeholder,
.form-label-group textarea::-moz-placeholder {
  color: transparent;
}

.form-label-group input::placeholder,
.form-label-group textarea::placeholder {
  color: transparent;
}

.form-label-group input:not(:placeholder-shown),
.form-label-group textarea:not(:placeholder-shown){
  padding-top: calc(var(--input-padding-y) + var(--input-padding-y) * (2 / 3));
  padding-bottom: calc(var(--input-padding-y) / 3);
}

.form-label-group input:not(:placeholder-shown) ~ label,
.form-label-group textarea:not(:placeholder-shown) ~ label{
  padding-top: calc(var(--input-padding-y) / 3);
  padding-bottom: calc(var(--input-padding-y) / 3);
  font-size: 12px;
  color: #777;
}

.custom-control-input:checked~.custom-control-label::before {
    color: #fff;
    background-color: var(--primary) !important;
}

.text-white .form-label-group input:not(:placeholder-shown) ~ label,
.text-white .form-label-group textarea:not(:placeholder-shown) ~ label{
  color: #D8D8D8;
}

/* Variante outline */
.text-white form.outline .form-control {
	color: #FFF;
	background: transparent;
	border: 2px solid #FFF;
}

.text-white form.outline .form-label-group > label {
  color: #f1f1f1;
}

/* == Classi contestuali == */

.badge-primary {background-color: var(--primary) !important;}
.badge-secondary {background-color: var(--secondary) !important;}
.badge-success {background-color: var(--success) !important;}
.badge-info {background-color: var(--info) !important;}
.badge-warning {background-color: var(--warning) !important;}
.badge-danger {background-color: var(--danger) !important;}
.badge-light {background-color: var(--light) !important;}
.badge-dark {background-color: var(--dark) !important;}

.text-primary {color: var(--primary) !important;}
.text-secondary {color: var(--secondary) !important;}
.text-success {color: var(--success)!important;}
.text-info {color: var(--info)!important;}
.text-warning {color: var(--warning) !important;}
.text-danger {color: var(--danger) !important;}
.text-light {color: var(--light)!important;}
.text-dark {color: var(--dark)!important;}

.border-primary {border-color: var(--primary)!important;}
.border-secondary {border-color: var(--secondary)!important;}
.border-success {border-color: var(--success)!important;}
.border-info {border-color: var(--info)!important;}
.border-warning {border-color: var(--warning)!important;}
.border-danger {border-color: var(--danger)!important;}
.border-light {border-color: var(--light)!important;}
.border-dark {border-color: var(--dark)!important;}

.bg-primary {background-color: var(--primary) !important;}
.bg-secondary {background-color: var(--secondary) !important;}
.bg-success {background-color: var(--success) !important;}
.bg-info {background-color: var(--info) !important;}
.bg-warning {background-color: var(--warning) !important;}
.bg-danger {background-color: var(--danger) !important;}
.bg-light {background-color: var(--light) !important;}
.bg-dark {background-color: var(--dark) !important;}


/* ==== Struttura di Pagina ==== */

html {
  position: relative;
  min-height: 100%;
  padding-top: 48px;
  scroll-behavior: smooth;
}

@media only screen and (min-width:768px){
	body {
	  margin-bottom: 280px;   /* Altezza del footer */
	}
}

header {
	position: relative;
	z-index:10;
	height: 0 !important;
	margin: 0 !important;
}

main {
	padding-bottom:2em;
}

main.noTopSpace {
	position: relative;
	top:-200px;
}

.footer {
  width: 100%;
  background-color: #f5f5f5;
}

@media (min-width:768px){
	.footer {
	  position: absolute;
	  bottom: 0;
	  height: 280px; /* Altezza del footer */
	}
}

.navbar { 
  -webkit-transition:padding 0.2s ease;
  -moz-transition:padding 0.2s ease; 
  -o-transition:padding 0.2s ease;        
  transition:padding 0.2s ease;  
}

.affix {
  padding-top: 0.3em !important;
  padding-bottom: 0.3em !important;
  padding-right: 1em !important;
  padding-left: 1em !important;
  -webkit-box-shadow: 0px 10px 22px -15px rgba(0,0,0,0.25);
  -moz-box-shadow: 0px 10px 22px -15px rgba(0,0,0,0.25);
  box-shadow: 0px 10px 22px -15px rgba(0,0,0,0.25);
  -webkit-transition:padding 0.2s linear;
  -moz-transition:padding 0.2s linear;  
  -o-transition:padding 0.2s linear;         
  transition:padding 0.2s linear;  
}


.negative h1,.negative h2,.negative h3,.negative h4,.negative h5,.negative h6,.negative p, .negative p.lead {
	color: #FFF;
} 

/* == Over the Top Bar == */
.over-the-top-bar {
	position: relative;
	z-index: 2;
}

.over-the-top-bar .navbar-toggler {
	position: absolute;
	height: 40px;
	width: 40px;
	right:10px;
	top:1px;
}

.over-the-top-bar ul.list-inline.mr-0 {
	margin:auto 0;
}


/* == Menu principale == */
.menu-principale {
	z-index:1;
}

.menu-principale.extraspace {
	margin-top: 32px;
}

.navbar-brand img {
	width: 130px;
}

@media screen and (min-width:376px) {
	.navbar-brand img {
		width: 180px !important;
	}
}


@media screen and (min-width:576px) {
	.menu-principale.extraspace {
		margin-top: 48px;
	}

}

nav.bg-semi-transparent.navbar-dark {
	background-color: rgba(0,0,0,0.5);
}

nav.bg-semi-transparent.navbar-light {
	background-color: rgba(255,255,255,0.5);
}


/* == Hamburger Menu == */

.navbar-toggler {
  cursor: pointer;
  margin: 0 6px 0 auto;
  padding-left: 1.25em;
  position: relative;
  width: 40px;
  height: 40px;
	border: none;
}

.menu-global {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  position: absolute;
  left: 0;
  border-top: 3px solid;
  border-color: var(--primary);
  width: 100%;
  -webkit-transition: 0.55s;
  transition: 0.55s;
}

.menu-top {
  top: 8px;
}

.menu-middle {
  top: 18px;
}

.menu-bottom {
  top: 28px;
}

.menu-top-click {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  top: 15px;
  -webkit-transform: rotate(50deg);
          transform: rotate(50deg);
  -webkit-transition: 0.55s 0.5s;
  transition: 0.55s 0.5s;
}

.menu-middle-click {
  opacity: 0;
}

.menu-bottom-click {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  top: 15px;
  -webkit-transform: rotate(-410deg);
          transform: rotate(-410deg);
  -webkit-transition: 0.55s 0.5s;
  transition: 0.55s 0.5s;
}

.navbar-dark .menu-global {
  border-color: var(--light);
}


/* == effetti on-over opzionali per il menu principale == */

.sliding-u-l-r-l {
    display: inline-block;
    position: relative;
    padding-bottom: 3px;
}
.sliding-u-l-r-l:before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    height: 3px;
    width: 0;
    transition: width 0s ease, background .5s ease;
}
.sliding-u-l-r-l:after {
    content: '';
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    height: 3px;
    width: 0;
    background: var(--primary);
    transition: width .5s ease;
}
.sliding-u-l-r-l:hover:before {
    width: 100%;
    background: var(--primary);
    transition: width .5s ease;
}
.sliding-u-l-r-l:hover:after {
    width: 100%;
    background: transparent;
    transition: all 0s ease;
}

.sliding-u-b-t {
	display: inline-block;
	position: relative;
}
.sliding-u-b-t:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	height: 0px;
	width: 100%;
	background: transparent;
	-webkit-transition: all ease 0.3s;
	-moz-transition: all ease 0.3s;
	transition: all ease 0.3s;
}
.sliding-u-b-t:hover:after {
	height: 3px;
	background: var(--primary);
}


@media(min-width:1024px) {
	
	.sliding-u-b-t:hover:after {
		height: 20px;
	}
	.sliding-u-b-t:hover {
		padding-top:10px;
		padding-bottom:20px;
	}
}


.navbar-dark .sliding-u-l-r-l:after {
    background: var(--light);
}
.navbar-dark .sliding-u-l-r-l:hover:before {
    background: var(--light);
}

.navbar-dark .sliding-u-b-t:hover:after {
	height: 3px;
	background: var(--light);
}


/* == Ricerca Full Screen == */

a.btn-cerca {color: var(--primary) !important;}

a:hover.btn-cerca {color: var(--primary-over) !important}


.navbar-dark a.btn-cerca {color: var(--light) !important;}
.navbar-dark a:hover.btn-cerca {color: var(--light-over) !important}

#ricercaFullScreen {
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.95);
	z-index:1200;
    
    -webkit-transition: all 0.25s ease-in-out;
	-moz-transition: all 0.25s ease-in-out;
	-o-transition: all 0.25s ease-in-out;
	-ms-transition: all 0.25s ease-in-out;
	transition: all 0.25s ease-in-out;

    -webkit-transform: translate(0px, -100%) scale(0, 0);
	-moz-transform: translate(0px, -100%) scale(0, 0);
	-o-transform: translate(0px, -100%) scale(0, 0);
	-ms-transform: translate(0px, -100%) scale(0, 0);
	transform: translate(0px, -100%) scale(0, 0);
    
    opacity: 0;
}

#ricercaFullScreen.open {
    -webkit-transform: translate(0px, 0px) scale(1, 1);
    -moz-transform: translate(0px, 0px) scale(1, 1);
	-o-transform: translate(0px, 0px) scale(1, 1);
	-ms-transform: translate(0px, 0px) scale(1, 1);
	transform: translate(0px, 0px) scale(1, 1); 
    opacity: 1;
}
#ricercaFullScreen h3 {
    position: absolute;
    top: 25%;
    width: 100%;
    color: #fff;
    text-align: center;
}
#ricercaFullScreen input[type="search"] {
    position: absolute;
    top: 50%;
    width: 100%;
    color: rgb(255, 255, 255);
    background: rgba(0, 0, 0, 0);
    font-size: 50px;
    font-weight: 300;
    text-align: center;
    border: 0px;
    margin: 0px auto;
    margin-top: -51px;
    padding-left: 30px;
    padding-right: 30px;
    outline: none;
}
#ricercaFullScreen .btn {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100px;
    max-width: 200px;
    margin-top: 61px;
    margin-left: -45px;
}

#ricercaFullScreen .close {
    position: fixed;
    top: 20px;
    right: 15px;
	width: 46px;
	height: 46px;
    color: #fff;
	background-color: transparent;
	border: none;
	opacity: 1;
	border-radius: 0;
}


#ricercaFullScreen span.line {
	width: 46px;
	height: 1px;
	transform: rotate(45deg);
    position: absolute;
	top:16px;
	right: 0;
	background-color: rgba(255,255,255,0.80);
}

#ricercaFullScreen span.line:last-child {
	width: 46px;
	height: 1px;
	transform: rotate(-45deg);
    position: absolute;
	top:16px;
	right: 0;
	background-color: rgba(255,255,255,0.80);
}

#ricercaFullScreen .close:hover span.line {
	background-color: rgba(255,255,255,1);
}


/* == MAIN == */


/* == FOOTER  == */

.footer-inferiore {
	height: 60px;
	line-height: 60px; /* Allineamento verticale */
}

.footer ul li{
	list-style-type: none;
}


/* ====  COMPONENTI ==== */

/** == INTESTAZIONE == **/

h1.separatore-inferiore, .h1.separatore-inferiore,
h2.separatore-inferiore, .h2.separatore-inferiore,
h3.separatore-inferiore, .h3.separatore-inferiore,
h4.separatore-inferiore, .h4.separatore-inferiore,
h5.separatore-inferiore, .h5.separatore-inferiore,
h6.separatore-inferiore, .h6.separatore-inferiore {
	position: relative;
	margin-bottom: 40px;
}


h1.separatore-inferiore:after, .h1.separatore-inferiore:after,
h2.separatore-inferiore:after, .h2.separatore-inferiore:after,
h3.separatore-inferiore:after, .h3.separatore-inferiore:after,
h4.separatore-inferiore:after, .h4.separatore-inferiore:after,
h5.separatore-inferiore:after, .h5.separatore-inferiore:after,
h6.separatore-inferiore:after, .h6.separatore-inferiore:after {
    content: '';
    width: 28px;
    height: 3px;
    position: absolute;
    left: 0;
    margin: auto;
    bottom: -16px;
    background-color: var(--primary);
}

h1.separatore-inferiore:before, .h1.separatore-inferiore:before,
h2.separatore-inferiore:before, .h2.separatore-inferiore:before,
h3.separatore-inferiore:before, .h3.separatore-inferiore:before,
h4.separatore-inferiore:before, .h4.separatore-inferiore:before,
h5.separatore-inferiore:before, .h5.separatore-inferiore:before,
h6.separatore-inferiore:before, .h6.separatore-inferiore:before {
    content: '';
    width: 158px;
    height: 1px;
    background: #d0d0d0;
    position: absolute;
    left: 0;
    margin: auto;
    bottom: -15px;
}


.text-center h1.separatore-inferiore:after, .text-center .h1.separatore-inferiore:after,
.text-center h2.separatore-inferiore:after, .text-center .h2.separatore-inferiore:after,
.text-center h3.separatore-inferiore:after, .text-center .h3.separatore-inferiore:after,
.text-center h4.separatore-inferiore:after, .text-center .h4.separatore-inferiore:after,
.text-center h5.separatore-inferiore:after, .text-center .h5.separatore-inferiore:after,
.text-center h6.separatore-inferiore:after, .text-center .h6.separatore-inferiore:after,
h1.text-center.separatore-inferiore:after,  .h1.text-center.separatore-inferiore:after,
h2.text-center.separatore-inferiore:after,  .h2.text-center.separatore-inferiore:after,
h3.text-center.separatore-inferiore:after,  .h3.text-center.separatore-inferiore:after,
h4.text-center.separatore-inferiore:after,  .h4.text-center.separatore-inferiore:after,
h5.text-center.separatore-inferiore:after,  .h5.text-center.separatore-inferiore:after,
h6.text-center.separatore-inferiore:after,  .h6.text-center.separatore-inferiore:after {
    left: 0;
	right: 0;
}

.text-center h1.separatore-inferiore:before, .text-center .h1.separatore-inferiore:before,
.text-center h2.separatore-inferiore:before, .text-center .h2.separatore-inferiore:before,
.text-center h3.separatore-inferiore:before, .text-center .h3.separatore-inferiore:before,
.text-center h4.separatore-inferiore:before, .text-center .h4.separatore-inferiore:before,
.text-center h5.separatore-inferiore:before, .text-center .h5.separatore-inferiore:before,
.text-center h6.separatore-inferiore:before, .text-center .h6.separatore-inferiore:before,
h1.text-center.separatore-inferiore:before,  .h1.text-center.separatore-inferiore:before,
h2.text-center.separatore-inferiore:before,  .h2.text-center.separatore-inferiore:before,
h3.text-center.separatore-inferiore:before,  .h3.text-center.separatore-inferiore:before,
h4.text-center.separatore-inferiore:before,  .h4.text-center.separatore-inferiore:before,
h5.text-center.separatore-inferiore:before,  .h5.text-center.separatore-inferiore:before,
h6.text-center.separatore-inferiore:before,  .h6.text-center.separatore-inferiore:before {
    left: 0;
	right: 0;
}

.text-right h1.separatore-inferiore:after, .text-right .h1.separatore-inferiore:after,
.text-right h2.separatore-inferiore:after, .text-right .h2.separatore-inferiore:after,
.text-right h3.separatore-inferiore:after, .text-right .h3.separatore-inferiore:after,
.text-right h4.separatore-inferiore:after, .text-right .h4.separatore-inferiore:after,
.text-right h5.separatore-inferiore:after, .text-right .h5.separatore-inferiore:after,
.text-right h6.separatore-inferiore:after, .text-right .h6.separatore-inferiore:after,
h1.text-right.separatore-inferiore:after,  .h1.text-right.separatore-inferiore:after,
h2.text-right.separatore-inferiore:after,  .h2.text-right.separatore-inferiore:after,
h3.text-right.separatore-inferiore:after,  .h3.text-right.separatore-inferiore:after,
h4.text-right.separatore-inferiore:after,  .h4.text-right.separatore-inferiore:after,
h5.text-right.separatore-inferiore:after,  .h5.text-right.separatore-inferiore:after,
h6.text-right.separatore-inferiore:after,  .h6.text-right.separatore-inferiore:after {
	left: auto;
	right: 0;
}

.text-right h1.separatore-inferiore:before, .text-right .h1.separatore-inferiore:before,
.text-right h2.separatore-inferiore:before, .text-right .h2.separatore-inferiore:before,
.text-right h3.separatore-inferiore:before, .text-right .h3.separatore-inferiore:before,
.text-right h4.separatore-inferiore:before, .text-right .h4.separatore-inferiore:before,
.text-right h5.separatore-inferiore:before, .text-right .h5.separatore-inferiore:before,
.text-right h6.separatore-inferiore:before, .text-right .h6.separatore-inferiore:before,
h1.text-right.separatore-inferiore:before,  .h1.text-right.separatore-inferiore:before,
h2.text-right.separatore-inferiore:before,  .h2.text-right.separatore-inferiore:before,
h3.text-right.separatore-inferiore:before,  .h3.text-right.separatore-inferiore:before,
h4.text-right.separatore-inferiore:before,  .h4.text-right.separatore-inferiore:before,
h5.text-right.separatore-inferiore:before,  .h5.text-right.separatore-inferiore:before,
h6.text-right.separatore-inferiore:before,  .h6.text-right.separatore-inferiore:before {
	left: auto;
	right: 0;
}

h1.separatore-superiore, .h1.separatore-superiore,
h2.separatore-superiore, .h2.separatore-superiore,
h3.separatore-superiore, .h3.separatore-superiore,
h4.separatore-superiore, .h4.separatore-superiore,
h5.separatore-superiore, .h5.separatore-superiore,
h6.separatore-superiore, .h6.separatore-superiore {
	position: relative;
	margin-top: 40px;
}


h1.separatore-superiore:after, .h1.separatore-superiore:after,
h2.separatore-superiore:after, .h2.separatore-superiore:after,
h3.separatore-superiore:after, .h3.separatore-superiore:after,
h4.separatore-superiore:after, .h4.separatore-superiore:after,
h5.separatore-superiore:after, .h5.separatore-superiore:after,
h6.separatore-superiore:after, .h6.separatore-superiore:after {
    content: '';
    width: 28px;
    height: 3px;
    position: absolute;
    left: 0;
    margin: auto;
    top: -22px;
    background-color: var(--primary);
}


h1.separatore-superiore:before, .h1.separatore-superiore:before,
h2.separatore-superiore:before, .h2.separatore-superiore:before,
h3.separatore-superiore:before, .h3.separatore-superiore:before,
h4.separatore-superiore:before, .h4.separatore-superiore:before,
h5.separatore-superiore:before, .h5.separatore-superiore:before,
h6.separatore-superiore:before, .h6.separatore-superiore:before {
    content: '';
    width: 158px;
    height: 1px;
    background: #d0d0d0;
    position: absolute;
    left: 0;
    margin: auto;
    top: -21px;
}


.text-center h1.separatore-superiore:after, .text-center .h1.separatore-superiore:after,
.text-center h2.separatore-superiore:after, .text-center .h2.separatore-superiore:after,
.text-center h3.separatore-superiore:after, .text-center .h3.separatore-superiore:after,
.text-center h4.separatore-superiore:after, .text-center .h4.separatore-superiore:after,
.text-center h5.separatore-superiore:after, .text-center .h5.separatore-superiore:after,
.text-center h6.separatore-superiore:after, .text-center .h6.separatore-superiore:after,
h1.text-center.separatore-superiore:after,  .h1.text-center.separatore-superiore:after,
h2.text-center.separatore-superiore:after,  .h2.text-center.separatore-superiore:after,
h3.text-center.separatore-superiore:after,  .h3.text-center.separatore-superiore:after,
h4.text-center.separatore-superiore:after,  .h4.text-center.separatore-superiore:after,
h5.text-center.separatore-superiore:after,  .h5.text-center.separatore-superiore:after,
h6.text-center.separatore-superiore:after,  .h6.text-center.separatore-superiore:after {
    left: 0;
	right: 0;
}

.text-center h1.separatore-superiore:before, .text-center .h1.separatore-superiore:before,
.text-center h2.separatore-superiore:before, .text-center .h2.separatore-superiore:before,
.text-center h3.separatore-superiore:before, .text-center .h3.separatore-superiore:before,
.text-center h4.separatore-superiore:before, .text-center .h4.separatore-superiore:before,
.text-center h5.separatore-superiore:before, .text-center .h5.separatore-superiore:before,
.text-center h6.separatore-superiore:before, .text-center .h6.separatore-superiore:before,
h1.text-center.separatore-superiore:before,  .h1.text-center.separatore-superiore:before,
h2.text-center.separatore-superiore:before,  .h2.text-center.separatore-superiore:before,
h3.text-center.separatore-superiore:before,  .h3.text-center.separatore-superiore:before,
h4.text-center.separatore-superiore:before,  .h4.text-center.separatore-superiore:before,
h5.text-center.separatore-superiore:before,  .h5.text-center.separatore-superiore:before,
h6.text-center.separatore-superiore:before,  .h6.text-center.separatore-superiore:before {
    left: 0;
	right: 0;
}

.text-right h1.separatore-superiore:after, .text-right .h1.separatore-superiore:after,
.text-right h2.separatore-superiore:after, .text-right .h2.separatore-superiore:after,
.text-right h3.separatore-superiore:after, .text-right .h3.separatore-superiore:after,
.text-right h4.separatore-superiore:after, .text-right .h4.separatore-superiore:after,
.text-right h5.separatore-superiore:after, .text-right .h5.separatore-superiore:after,
.text-right h6.separatore-superiore:after, .text-right .h6.separatore-superiore:after,
h1.text-right.separatore-superiore:after,  .h1.text-right.separatore-superiore:after,
h2.text-right.separatore-superiore:after,  .h2.text-right.separatore-superiore:after,
h3.text-right.separatore-superiore:after,  .h3.text-right.separatore-superiore:after,
h4.text-right.separatore-superiore:after,  .h4.text-right.separatore-superiore:after,
h5.text-right.separatore-superiore:after,  .h5.text-right.separatore-superiore:after,
h6.text-right.separatore-superiore:after,  .h6.text-right.separatore-superiore:after {
	left: auto;
	right: 0;
}

.text-right h1.separatore-superiore:before, .text-right .h1.separatore-superiore:before,
.text-right h2.separatore-superiore:before, .text-right .h2.separatore-superiore:before,
.text-right h3.separatore-superiore:before, .text-right .h3.separatore-superiore:before,
.text-right h4.separatore-superiore:before, .text-right .h4.separatore-superiore:before,
.text-right h5.separatore-superiore:before, .text-right .h5.separatore-superiore:before,
.text-right h6.separatore-superiore:before, .text-right .h6.separatore-superiore:before,
h1.text-right.separatore-superiore:before,  .h1.text-right.separatore-superiore:before,
h2.text-right.separatore-superiore:before,  .h2.text-right.separatore-superiore:before,
h3.text-right.separatore-superiore:before,  .h3.text-right.separatore-superiore:before,
h4.text-right.separatore-superiore:before,  .h4.text-right.separatore-superiore:before,
h5.text-right.separatore-superiore:before,  .h5.text-right.separatore-superiore:before,
h6.text-right.separatore-superiore:before,  .h6.text-right.separatore-superiore:before {
	left: auto;
	right: 0;
}

/** == SEPARATORE == **/

hr.stile-1 {
	padding: 0;
	border: none;
	height: 1px;
	background-image: -webkit-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
	background-image: -moz-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
	background-image: -ms-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
	background-image: -o-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
	text-align: center;
}
hr.stile-1:after {
  	content: " ";
	display: inline-block;
	position: relative;
	top: -14px;
	background: var(--primary);
	height: 8px;
	width: 30px;
}


.text-white hr {
	border-top: 1px solid rgba(255,255,255,0.2);
}

.text-white hr.stile-1 {
	padding: 0;
	border: none;
	height: 1px;
	background-image: -webkit-linear-gradient(left, rgba(255,255,255,0), rgba(255,255,255,0.75), rgba(255,255,255,0));
	background-image: -moz-linear-gradient(left, rgba(255,255,255,0), rgba(255,255,255,0.75), rgba(255,255,255,0));
	background-image: -ms-linear-gradient(left, rgba(255,255,255,0), rgba(255,255,255,0.75), rgba(255,255,255,0));
	background-image: -o-linear-gradient(left, rgba(255,255,255,0), rgba(255,255,255,0.75), rgba(255,255,255,0));
	text-align: center;
}
.text-white hr.stile-1:after {
  	content: " ";
	display: inline-block;
	position: relative;
	top: -14px;
	background: #fff;
	height: 8px;
	width: 30px;
}

hr.stile-2 {
	padding: 0;
	border-top: 1px solid #333;
	height: 1px;
	text-align: center;
}
hr.stile-2:after {
  	content: " ";
	display: inline-block;
	position: relative;
	top: -13px;
	background: #FFF;
	height: 10px;
	width: 10px;
	border-radius:10px;
	border: 1px solid #333;
}

.text-white hr.stile-2 {
	padding: 0;
	border-top: 1px solid #FFF;
	height: 1px;
	text-align: center;
}
.text-white hr.stile-2:after {
  	content: " ";
	display: inline-block;
	position: relative;
	top: -13px;
	background: #fff;
	height: 10px;
	width: 10px;
	border-radius:10px;
	border: 1px solid #FFF;
}

.zigzag {
  margin: -0.5em 0 2.5em;
  background: #FFF;
  position: relative;
  height: 16px;
  z-index: 1;
}
.zigzag:before, .zigzag:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
}
.zigzag:before {
  height: 12px;
  top: 115%;
  background: linear-gradient(-135deg, #d3d3d3 8px, transparent 0) 0 8px, linear-gradient(135deg, #d3d3d3 8px, transparent 0) 0 8px;
  background-position: top left;
  background-repeat: repeat-x;
  background-size: 16px 16px;
}
.zigzag:after {
  height: 16px;
  top: 100%;
  background: linear-gradient(-135deg, #fff 8px, transparent 0) 0 8px, linear-gradient(135deg, #fff 8px, transparent 0) 0 8px;
  background-position: top left;
  background-repeat: repeat-x;
  background-size: 16px 16px;
}


.bg-primary .zigzag {
  margin: -0.5em 0 2.25em;
  background:var(--primary);
  position: relative;
  height: 16px;
  z-index: 1;
}
.bg-primary .zigzag:before, .bg-primary .zigzag:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
}
.bg-primary .zigzag:before {
  height: 12px;
  top: 115%;
  background: linear-gradient(-135deg, #d3d3d3 8px, transparent 0) 0 8px, linear-gradient(135deg, #d3d3d3 8px, transparent 0) 0 8px;
  background-position: top left;
  background-repeat: repeat-x;
  background-size: 16px 16px;
}
.bg-primary .zigzag:after {
  height: 16px;
  top: 100%;
  background: linear-gradient(-135deg, var(--primary) 8px, transparent 0) 0 8px, linear-gradient(135deg, var(--primary) 8px, transparent 0) 0 8px;
  background-position: top left;
  background-repeat: repeat-x;
  background-size: 16px 16px;
}

.bg-secondary .zigzag {
  margin: -0.5em 0 2.25em;
  background:var(--secondary);
  position: relative;
  height: 16px;
  z-index: 1;
}
.bg-secondary .zigzag:before, .bg-secondary .zigzag:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
}
.bg-secondary .zigzag:before {
  height: 12px;
  top: 115%;
  background: linear-gradient(-135deg, #d3d3d3 8px, transparent 0) 0 8px, linear-gradient(135deg, #d3d3d3 8px, transparent 0) 0 8px;
  background-position: top left;
  background-repeat: repeat-x;
  background-size: 16px 16px;
}
.bg-secondary .zigzag:after {
  height: 16px;
  top: 100%;
  background: linear-gradient(-135deg, var(--secondary) 8px, transparent 0) 0 8px, linear-gradient(135deg, var(--secondary) 8px, transparent 0) 0 8px;
  background-position: top left;
  background-repeat: repeat-x;
  background-size: 16px 16px;
}

.bg-light .zigzag {
  background: var(--light);
  position: relative;
  height: 16px;
  z-index: 1;
}
.bg-light .zigzag:before, .bg-light .zigzag:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
}
.bg-light .zigzag:before {
  height: 12px;
  top: 115%;
  background: linear-gradient(-135deg, #d3d3d3 8px, transparent 0) 0 8px, linear-gradient(135deg, #d3d3d3 8px, transparent 0) 0 8px;
  background-position: top left;
  background-repeat: repeat-x;
  background-size: 16px 16px;
}
.bg-light .zigzag:after {
  height: 16px;
  top: 100%;
  background: linear-gradient(-135deg, var(--light) 8px, transparent 0) 0 8px, linear-gradient(135deg, var(--light) 8px, transparent 0) 0 8px;
  background-position: top left;
  background-repeat: repeat-x;
  background-size: 16px 16px;
}

.bg-dark .zigzag {
  margin: -0.5em 0 2.25em;
  background:var(--dark);
  position: relative;
  height: 16px;
  z-index: 1;
}
.bg-dark .zigzag:before, .bg-dark .zigzag:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
}
.bg-dark .zigzag:before {
  height: 12px;
  top: 115%;
  background: linear-gradient(-135deg, #d3d3d3 8px, transparent 0) 0 8px, linear-gradient(135deg, #d3d3d3 8px, transparent 0) 0 8px;
  background-position: top left;
  background-repeat: repeat-x;
  background-size: 16px 16px;
}
.bg-dark .zigzag:after {
  height: 16px;
  top: 100%;
  background: linear-gradient(-135deg, var(--dark) 8px, transparent 0) 0 8px, linear-gradient(135deg, var(--dark) 8px, transparent 0) 0 8px;
  background-position: top left;
  background-repeat: repeat-x;
  background-size: 16px 16px;
}

.bg-success .zigzag {
  margin: -0.5em 0 2.25em;
  background:var(--success);
  position: relative;
  height: 16px;
  z-index: 1;
}
.bg-success .zigzag:before, .bg-success .zigzag:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
}
.bg-success .zigzag:before {
  height: 12px;
  top: 115%;
  background: linear-gradient(-135deg, #d3d3d3 8px, transparent 0) 0 8px, linear-gradient(135deg, #d3d3d3 8px, transparent 0) 0 8px;
  background-position: top left;
  background-repeat: repeat-x;
  background-size: 16px 16px;
}
.bg-success .zigzag:after {
  height: 16px;
  top: 100%;
  background: linear-gradient(-135deg, var(--success) 8px, transparent 0) 0 8px, linear-gradient(135deg, var(--success) 8px, transparent 0) 0 8px;
  background-position: top left;
  background-repeat: repeat-x;
  background-size: 16px 16px;
}

.bg-warning .zigzag {
  margin: -0.5em 0 2.25em;
  background:var(--warning);
  position: relative;
  height: 16px;
  z-index: 1;
}
.bg-warning .zigzag:before, .bg-warning .zigzag:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
}
.bg-warning .zigzag:before {
  height: 12px;
  top: 115%;
  background: linear-gradient(-135deg, #d3d3d3 8px, transparent 0) 0 8px, linear-gradient(135deg, #d3d3d3 8px, transparent 0) 0 8px;
  background-position: top left;
  background-repeat: repeat-x;
  background-size: 16px 16px;
}
.bg-warning .zigzag:after {
  height: 16px;
  top: 100%;
  background: linear-gradient(-135deg, var(--warning) 8px, transparent 0) 0 8px, linear-gradient(135deg, var(--warning) 8px, transparent 0) 0 8px;
  background-position: top left;
  background-repeat: repeat-x;
  background-size: 16px 16px;
}

.bg-info .zigzag {
  margin: -0.5em 0 2.25em;
  background:var(--info);
  position: relative;
  height: 16px;
  z-index: 1;
}
.bg-info .zigzag:before, .bg-info .zigzag:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
}
.bg-info .zigzag:before {
  height: 12px;
  top: 115%;
  background: linear-gradient(-135deg, #d3d3d3 8px, transparent 0) 0 8px, linear-gradient(135deg, #d3d3d3 8px, transparent 0) 0 8px;
  background-position: top left;
  background-repeat: repeat-x;
  background-size: 16px 16px;
}
.bg-info .zigzag:after {
  height: 16px;
  top: 100%;
  background: linear-gradient(-135deg, var(--info) 8px, transparent 0) 0 8px, linear-gradient(135deg, var(--info) 8px, transparent 0) 0 8px;
  background-position: top left;
  background-repeat: repeat-x;
  background-size: 16px 16px;
}

.bg-danger .zigzag {
  margin: -0.5em 0 2.25em;
  background:var(--danger);
  position: relative;
  height: 16px;
  z-index: 1;
}
.bg-danger .zigzag:before, .bg-danger .zigzag:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
}
.bg-danger .zigzag:before {
  height: 12px;
  top: 115%;
  background: linear-gradient(-135deg, #d3d3d3 8px, transparent 0) 0 8px, linear-gradient(135deg, #d3d3d3 8px, transparent 0) 0 8px;
  background-position: top left;
  background-repeat: repeat-x;
  background-size: 16px 16px;
}
.bg-danger .zigzag:after {
  height: 16px;
  top: 100%;
  background: linear-gradient(-135deg, var(--danger) 8px, transparent 0) 0 8px, linear-gradient(135deg, var(--danger) 8px, transparent 0) 0 8px;
  background-position: top left;
  background-repeat: repeat-x;
  background-size: 16px 16px;
}


/** == IMMAGINI == **/

img {  -webkit-transition:all 0.3s ease-in-out;
  -moz-transition:all 0.3s ease-in-out;  
  -o-transition:all 0.3s ease-in-out;         
  transition:all 0.3s ease-in-out; 
	
}

img.circle {
	border-radius: 50%;
}
.img-container {
	overflow: hidden;
	position: relative;
	clear: both;
	padding: 0;
	margin: 0;
}

.img-container .img-fluid {
    max-width: 100%;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
}

.img-container {
	position: relative;
	z-index: 2;
}

a>.img-container {
	z-index:3;
}

.img-container .extra-info{
	position: absolute;
	top:0px;
	right:0px;
	bottom:0px;
	left:0px;
	z-index: 4;
}

.img-container .main-link a{
	position: absolute;
	top:28px;
	left:28px;
	right:28px;
	bottom:28px;
	background-color: transparent;
	z-index:5;
}


/* effetto Zoom */
.img-container.zoom .overlay {
	position: absolute;
	z-index: 1;
	top:50%;
	bottom: 50%;
	right: 50%;
	left: 50%;
	background: rgba(255,255,255,0);
	-moz-transition:all 0.3s ease;  
    -o-transition:all 0.3s ease;         
    transition:all 0.3s ease; 
}

.img-container.zoom:hover .overlay {
	position: absolute;
	top:0;
	bottom: 0;
	right: 0;
	left: 0;
	background: rgba(255,255,255,0.2);
}
	

.img-container.zoom:hover img {
	transform: scale(1.2);
}

/* effetto Rotazione */
.img-container.rotazione .overlay {
	position: absolute;
	z-index: 1;
	bottom: -50%;
	right: 0;
	left: 0;
	height: 50%;
	background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.65) 100%);
	background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%);
	background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#a6000000',GradientType=0 );
	-moz-transition:all 0.3s ease;  
    -o-transition:all 0.3s ease;         
    transition:all 0.3s ease; 
}

.img-container.rotazione:hover .overlay {
	bottom: 0;
	right: 0;
	left: 0;
}
	

.img-container.rotazione:hover img {
	transform: scale(1.3) rotate(-10deg);
}

/* effetto V-slide */

.img-container.v-slide img {
  -webkit-transition:all 0.3s ease-out;
  -moz-transition:all 0.3s ease-out;  
  -o-transition:all 0.3s ease-out;         
  transition:all 0.3s ease-out; 
}

.img-container.v-slide .overlay {
	position: absolute;
	z-index: 1;
	bottom: -10%;
	right: 0;
	left: 0;
	height: 10%;
	background: var(--secondary);
	-moz-transition:all 0.3s  ease-out;  
    -o-transition:all 0.3s ease-out;      
    transition:all 0.3s ease-out; 
}

.img-container.v-slide:hover .overlay {
	bottom: 0;
}
	

.img-container.v-slide:hover img {
	transform:translateY(-10%) scale(1.1);
}
/* effetto O-slide */

.img-container.o-slide img {
  -webkit-transition:all 0.3s ease-out;
  -moz-transition:all 0.3s ease-out;  
  -o-transition:all 0.3s ease-out;         
  transition:all 0.3s ease-out; 
}

.img-container.o-slide .overlay {
	position: absolute;
	z-index: 1;
	bottom: 0;
	right: 0;
	top:0;
	left: -10%;
	width: 10%;
	background: var(--secondary);
	-moz-transition:all 0.3s  ease-out;  
    -o-transition:all 0.3s ease-out;      
    transition:all 0.3s ease-out; 
}

.img-container.o-slide:hover .overlay {
	left: 0;
}
	

.img-container.o-slide:hover img {
	transform:translateX(10%) scale(1.1);
}

/* con didascalia */
.figure-caption {
    font-size: 95%;
	color: #4D4D4D;
	background: rgba(0,0,0,0.15);
	padding: 1em 1.25em;
}

.bg-dark .figure-caption {
	color: #f1f1f1;
}

/** == CAROUSEL == **/

.owl-theme .owl-nav {
  margin-top: 10px;
  text-align: center;
  -webkit-tap-highlight-color: transparent;
	position: absolute;
	right: -5px;}
  .owl-theme .owl-nav [class*='owl-'] {
    color: #FFF;
    font-size: 14px;
    margin: 5px;
    padding: 4px 7px;
    background: #D6D6D6;
    display: inline-block;
    cursor: pointer;
    border-radius: 3px; }
    .owl-theme .owl-nav [class*='owl-']:hover {
      background: var(--primary);
      color: #FFF;
      text-decoration: none; }
  .owl-theme .owl-nav .disabled {
    opacity: 0.5;
    cursor: default; }

.owl-theme .owl-nav.disabled + .owl-dots {
  margin-top: 10px; }

.owl-theme .owl-dots {
  text-align: center;
  -webkit-tap-highlight-color: transparent; }
  .owl-theme .owl-dots .owl-dot {
    display: inline-block;
    zoom: 1;
    *display: inline;
	margin-top:10px;}
    .owl-theme .owl-dots .owl-dot span {
      width: 10px;
      height: 10px;
      margin: 5px 7px;
      background: #D6D6D6;
      display: block;
      -webkit-backface-visibility: visible;
      transition: opacity 200ms ease;
      border-radius: 30px; }
    .owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {
      background: var(--primary); }


.owl-carousel .owl-nav button.owl-next, .owl-carousel .owl-nav button.owl-prev {
    background: 0 0;
    color: inherit;
    padding: 0 10px 4px !important;
    font: inherit;
    border: 1px solid #ddd;
    border-radius: 0;
}

.overlay-area {
	position: absolute;
	width: 100%;
	height: 100%;
}

/** ==  Slider a tutta pagina == **/

.full-page-slider .carousel-item {
  height: 100vh;
  min-height: 300px;
  background: no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

/**  == SOCIAL MEDIA LINK == **/
.social-media-links .round {
	padding: 6px 5px;
}

/**  Scroll to Top == **/


/** == TABS == **/

.tab-component .tab-content>.active {
    display: block;
	padding: 2em;
	border-right:1px solid #dee2e6;
	border-bottom:1px solid #dee2e6;
	border-left:1px solid #dee2e6;
}



/* Variante vertical */

.tab-component.vertical .tab-content>.active {
    display: block;
	padding: 2em;
	border-top:1px solid #dee2e6;
	border-right:1px solid #dee2e6;
	border-bottom:1px solid #dee2e6;
	border-left: transparent;
}

.nav-tabs--vertical {
  border-bottom: none;
  border-right: 1px solid #dee2e6;
  display: flex;
  flex-flow: column nowrap;
}
.nav-tabs--left {
  margin: 0 0px 0 15px;
}
.nav-tabs--left .nav-item + .nav-item {
  margin-top: .25rem;
}
.nav-tabs--left .nav-link {
  transition: border-color .125s ease-in;
  white-space: nowrap;
  border-radius: 0;
}
.nav-tabs--left .nav-link:hover {
  background-color:transparent;
  border-top: 1px solid #dee2e6;
  border-right: 1px solid transparent;
  border-bottom:  1px solid #dee2e6;
  border-left: 1px solid #dee2e6;
}
.nav-tabs--left .nav-link.active {
  border-bottom-color: #dee2e6;
  border-right-color: #fff;
  border-bottom-left-radius: 0.25rem;
  border-top-right-radius: 0;
  margin-right: -1px;
  border-radius: 0;
}
.nav-tabs--left .nav-link.active:hover {
  background-color: #fff;
  border-color: #dee2e6 #fff #dee2e6 #dee2e6;
  border-radius: 0;
}


.text-white .nav-tabs--left .nav-link {
	color: #FFF;
}

.text-white .nav-tabs--left .nav-link.active {
	background: rgba(0,0,0,0.05);
}

.text-white .nav-tabs--left .nav-link.active:hover {
  background-color: rgba(0,0,0,0.15);
  border-color: #dee2e6 #fff #dee2e6 #dee2e6;
  border-radius: 0;
}


/** == TABELLA PREZZI == **/

.tabella-prezzi {
	position:relative;
	width: 100%;
	clear: both;
}

.tabella-prezzi .card {
  border: 0;
  border-radius: 0px;
  -webkit-box-shadow: 0 3px 0px 0 rgba(0, 0, 0, 0.08);
  box-shadow: 0 3px 0px 0 rgba(0, 0, 0, 0.08);
  transition: all .3s ease-in-out;
  padding: 2.25rem 0 4.5rem 0;
	margin-bottom: 2em;
  position: relative;
  will-change: transform;
	z-index: 1;
	overflow: hidden;
}
.tabella-prezzi .card:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 5px;
  background-color: var(--primary);
  transition: 0.5s;
	z-index: -1;
}
.tabella-prezzi .card:hover {
  transform: scale(1.05);
  -webkit-box-shadow: 0 20px 35px 0 rgba(0, 0, 0, 0.08);
  box-shadow: 0 20px 35px 0 rgba(0, 0, 0, 0.08);
}
.tabella-prezzi .card:hover:after {
  width: 100%;
}
.tabella-prezzi .card .card-header {
  background-color: white;
  padding-left: 2rem;
  border-bottom: 0px;
}
.tabella-prezzi .card .card-title {
  margin-bottom: 1rem;
}
.tabella-prezzi .card .card-block {
  padding-top: 0;
}
.tabella-prezzi .card .list-group-item {
  border: 0px;
  padding: .25rem;
  color: #808080;
  font-weight: 300;
}

.tabella-prezzi .display-2 {
  font-size: 7rem;
  letter-spacing: -.5rem;
}
.tabella-prezzi .display-2 .currency {
  font-size: 2.75rem;
  position: relative;
  font-weight: 400;
  top: -45px;
  letter-spacing: 0px;
}
.tabella-prezzi .display-2 .period {
  font-size: 1rem;
  color: #b3b3b3;
  letter-spacing: 0px;
}

.tabella-prezzi .card .btn { 
position: absolute;
bottom:20px;
left:30px;
right: 30px;
}

.tabella-prezzi .card.popular .display-2 {
	color: var(--secondary)
}

.tabella-prezzi .card.popular:before {
	content: 'Più popolare';
	background-color: var(--secondary);
	border-bottom: 1px solid var(--secondary-active); 
	color: #fff;
	font-weight: normal;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	text-align: center;
	font-size:0.8em;
	position: absolute;
	padding: 6px 36px;
	min-width: 160px;
	transform: rotate(45deg);
	z-index: 0;
	top:25px;
	right:-39px;
}

.tabella-prezzi .card.popular .card-title {
	color: var(--secondary);
}


/** == ARTICOLI DAL BLOG **/

.articoli-dal-blog .card {
	margin-bottom: 2em;
}

.articoli-dal-blog .btn{
	position: absolute;
	bottom:15px;
	right:15px;
	}
.articoli-dal-blog img.background-image,
.blog img.background-image{
	height: 260px;
}

@media (min-width:768px) {
	.articoli-dal-blog .card {
		margin-bottom: 0;
	}
}


/** == TESTIMONIALS == **/

.testimonials .card {
	margin-top: 4em;
	margin-bottom: 3em;
}

.testimonials .profile-picture {
	position: absolute;
	top: -50px;
	right: 0;
	left: 0;
	text-align: center;
}

.testimonials .profile-picture img {
	height: 100px;
	width: 100px;
	border: 4px solid #FFF;
}

.testimonials strong {
	color:#212529;
}

.testimonials blockquote {
	border: 0;
	background: rgba(0,0,0,0.05);
}

/* stile alternativo */

.testimonials .alternative img {
	height: 100px;
	width: 100px;
	border: 10px solid #FFF;
	margin: -25px auto 10px 10px;
	z-index: 1;
}

.testimonials .alternative blockquote::before {
    color: var(--primary);
    position: absolute;
    left: 0;
	right: 0;
    top: 10px;
	width: 100%;
}

.testimonials .alternative .star-rating {
	position: absolute;
	top:0;
	right:15px;
}

/** == PRODOTTI DEL NEGOZIO == **/

.prodotti-dal-negozio .card {
	overflow: hidden;
	z-index: 1;
}

.prodotti-dal-negozio .card .p-3.mb-5 {
		position: relative;
}

.prodotti-dal-negozio .card .star-rating {
	position: absolute;
	top:-10px;
	right:10px;
	background: rgba(255,255,255,1);
	z-index: 2;
	border-radius: 10px;
}

.prodotti-dal-negozio .buttons {
	position: absolute;
	bottom: 15px;
	right:15px;
	left: 15px;
}

.prodotti-dal-negozio .card.popular:before {
	content: 'Offerta!';
	background-color: var(--secondary);
	border-bottom: 1px solid var(--secondary-active); 
	color: #fff;
	font-weight: normal;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	text-align: center;
	font-size:0.8em;
	position: absolute;
	padding: 6px 36px;
	min-width: 160px;
	transform: rotate(45deg);
	top:25px;
	right:-39px;
	z-index: 3;
}

.prodotti-dal-negozio .card.popular h5 strong {
	color: var(--secondary);
}

.prodotti-dal-negozio .card.popular h5 strong::before {
	font-family: "Font Awesome 5 Free";
	content: "\f061";
	color: var(--secondary);
	padding: 5px;
	border-radius: 25px;
	margin-right: 10px;
	font-size: 10px;
	border: 2px dotted var(--secondary);
	width: 25px;
	height: 25px;
	line-height: 18px;
	position: relative;
	top: -2px;
}

.prodotti-dal-negozio .card {
	margin-bottom: 3em;
}

@media (min-width:768px) {
	.prodotti-dal-negozio .card {
		margin-bottom: 0;
	}	
}

/** == MAPPA == **/

.map-responsive{
    overflow:hidden;
    padding-bottom:50%;
    position:relative;
    height:0;
}
.map-responsive iframe{
    left:0;
    top:0;
    height:100%;
    width:100%;
    position:absolute;
}

/** == BLOG == **/

.blog .card .leggi-tutto {
	position: absolute;
	bottom: 0px;
	right: 0;
}

.blog .tag-list .breadcrumb-item+.breadcrumb-item::before {
    content: "|";
	color: lightgray;
}

.blog .doppia-colonna img.background-image {
	height: 300px;
}

@media (min-width:1200px) {
	
	.blog .doppia-colonna h2 {
		font-size: 1.5rem;
		  -webkit-line-clamp: 2;
		  overflow : hidden;
		  text-overflow: ellipsis;
		  display: -webkit-box;
		  -webkit-box-orient: vertical;
	}
	.blog .doppia-colonna p.lead {
		font-size: 1.1rem;
	}
	
}

.ricerca-inline {
	position: relative;
}
.ricerca-inline button{
	position: absolute;
	top:0;
	right: 0;
	background: transparent;
}

.ricerca-inline input {
	padding-right: 2.1em;
}

.ricerca-inline button:hover{
	color: var(--primary);

}

.widget .media .background-image {
	height:90px;
	width: 90px;
}



/** == PORTFOLIO == **/

.filters  {
	padding:0;
	list-style:none;
}

	.filters  li {
		float:left;
	}
	
	.filters  li span {
		display: block;
		padding:0.5rem 1.25rem;		
		text-decoration:none;
		color:#777;
		cursor: pointer;
	}
	
	.filters  li span.active {
		background: var(--primary);
		color:#fff;
	}

 
.portfoliolist .portfolio {
	display:none;
	float:left;
	overflow:hidden;
}

	.portfolio-wrapper {
		overflow:hidden;
		position: relative !important;
		background-color:var(--dark);
		cursor:pointer;
	}


	.portfolio img {
		width: 100%;
		max-width:100%;
		position: relative;
		top:0;
    -webkit-transition: all 600ms cubic-bezier(0.645, 0.045, 0.355, 1);
    transition:         all 600ms cubic-bezier(0.645, 0.045, 0.355, 1);		
	}
	
	.portfolio .label {
		position: absolute;
		width: 100%;
		bottom:-60px;
    -webkit-transition: all 300ms cubic-bezier(0.645, 0.045, 0.355, 1);
    transition:         all 300ms cubic-bezier(0.645, 0.045, 0.355, 1);
	}

		.portfolio .label-bg {
			background: var(--primary);
			width: 100%;
			height:100%;
			position: absolute;
			top:0;
			left:0;
		}
	
		.portfolio .label-text {
			color:#fff;
			position: relative;
			z-index:500;
			padding:5px 8px;
		}
			
			.portfolio .text-title {
				font-size: 	1.1em;
			}

			.portfolio .text-category {
				display:block;
				font-size:0.9em;
			}
	
	.portfolio:hover .label {
    bottom:0;
  }
	.portfolio:hover img {
    top:-30px;
  } 


/**  == GALLERIA == **/

#galleria {
	max-width: 100% !important;
}

.ug-gallery-wrapper .ug-strip-panel {
    position: absolute;
    background-color: #f1f1f1;
    z-index: 2;
}

/** == ECOMMERCE == **/

.list-group-item {
	overflow: hidden;
}

.list-group-item .items-counter {
	position:absolute;
	right:1rem;
-webkit-box-shadow: -15px 0px 10px 0px rgba(255,255,255,.9);
-moz-box-shadow: -15px 0px 10px 0px rgba(255,255,255,.9);
box-shadow: -15px 0px 10px 0px rgba(255,255,255,.9);
}

.list-group-item .popular:before {
	content: 'Offerta';
	background-color: var(--secondary);
	border-bottom: 1px solid var(--secondary-active); 
	color: #fff;
	font-weight: normal;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	text-align: center;
	font-size:0.6em;
	position: absolute;
	padding: 1px 0px;
	min-width: 80px;
	transform: rotate(-45deg);
	z-index: 0;
	top:10px;
	left:-22px;
}

blockquote.recensione {
	padding: 0 80px 0 0;
	background: transparent;
	border: none;
}

blockquote.recensione:before {
	content: '';
}
blockquote.recensione .star-rating {
	position: absolute;
	top:0;
	right: 0;
}

.shopping-cart .background-image{
	height: 100px;
	width: 100px;
}

.shopping-cart .table-hover tbody tr:hover {
    background-color: rgba(0,0,0,.035);
}

.popover-body {
	position:relative;
}

.popover-body .bottom-gradient-white {
	position:absolute;
	bottom:30px;
	right:0;
	left:0;
	height: 160px;
	background: -moz-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 );
	z-index: 1;
}

.popover-body .background-image{
	width: 40px;
	height: 40px;
}

.popover-body .btn {
	position: relative;
	z-index: 2;}
