@charset "utf-8";
/* Geecom 3.7 - Template Base */


/* == Helpers == */

.accent {
	color: var(--primary);
}

.background-image {
	background-position: center center !important;
	background-size: cover !important;
	background-repeat: no-repeat;
	display: block;
	-webkit-transition: all  ease-in-out .3s;
    -moz-transition: all ease-in-out .3s;
    transition: all ease-in-out .3s;
}

.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 6px 16px 0px rgba(0, 0, 0, 0.06);
	-moz-box-shadow: 0px 6px 16px 0px rgba(0, 0, 0, 0.06);
	box-shadow: 0px 6px 16px 0px rgba(0, 0, 0, 0.06);
	-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 0px 30px 0px rgba(0, 0, 0, 0.15);
	-moz-box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.15);
	box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.15);
}

.box-shadow-sharp {
	-webkit-box-shadow: 0px 10px 0px -6px rgba(0,0,0,0.13); 
	-mpz-box-shadow: 0px 10px 0px -6px rgba(0,0,0,0.13);
	box-shadow: 0px 10px 0px -6px rgba(0,0,0,0.13);
	-webkit-transition: all  ease-in-out .2s;
    -moz-transition: all ease-in-out .2s;
    transition: all ease-in-out .2s;
}

.box-shadow-sharp:hover {
	-webkit-box-shadow: 0px 2px 0px 0px rgba(0,0,0,0.20); 
	-moz-box-shadow: 0px 2px 0px 0px rgba(0,0,0,0.20);
	box-shadow: 0px 2px 0px 0px rgba(0,0,0,0.20);
}

.fit-image {
    width: 100%;
    object-fit: cover
}
	
.full-width {
	width: 100%;
}

.h10{min-height:10vh;}
.h20{min-height:20vh;}
.h30{min-height:30vh;}
.h40{min-height:40vh;}
.h50{min-height:50vh;}
.h60{min-height:60vh;}
.h70{min-height:70vh;}
.h80{min-height:80vh;}
.h90{min-height:90vh;}
.h100{min-height:100vh;}

[class*='ratio-'] {
  display: block;
  position: relative;
  object-fit:cover; 
}

[class*='ratio-'] > * {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit:cover; 
}

.aspect-ratio-1-1 {
  width: 100%;
  height: 0;
  padding-bottom: 100%;
  position: relative;
}

.aspect-ratio-16-9 {
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  position: relative;
}

.aspect-ratio-4-3 {
  width: 100%;
  height: 0;
  padding-bottom: 75%;
  position: relative;
}

.aspect-ratio-21-9 {
  width: 100%;
  height: 0;
  padding-bottom: 42.86%;
  position: relative;
}

.aspect-ratio-21-18 {
  width: 100%;
  height: 0;
  padding-bottom: 85.71%;
  position: relative;
}

.aspect-ratio-3-2 {
  width: 100%;
  height: 0;
  padding-bottom: 66.66%;
  position: relative;
}

.aspect-ratio-8-5 {
  width: 100%;
  height: 0;
  padding-bottom: 62.5%;
  position: relative;
}

.aspect-ratio-8-9 {
  width: 100%;
  height: 0;
  padding-bottom: 112.5%;
  position: relative;
}

.aspect-ratio-9-16 {
  width: 100%;
  height: 0;
  padding-bottom: 177.78%;
  position: relative;
}

.aspect-ratio-3-4 {
  width: 100%;
  height: 0;
  padding-bottom: 133.33%;
  position: relative;
}

.rotate90 {
	transform: rotate(90deg);
}
.rotate180 {
	transform: rotate(180deg);
}

.noOverflow {
	overflow:hidden;
}
.noOverflow-x {
	overflow-x:hidden;
}
.noOverflow-y {
	overflow-y:hidden;
}
.siOverflow {
	overflow:inherit !important;
}

pre {
    background: var(--light-active);
}

.parallax__container {
	clip: rect(0, auto, auto, 0);
	height: 100%;
	left: 0;
	overflow: hidden;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -100;
}

.parallax {
	position: fixed;
	top: 0;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
	width: 100%;

	/* BG behaviour */
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.popover {
	position: absolute !important;
	z-index: 2;
	top: -137px !important;
}

.rotate{
    -moz-transition: all .2s linear;
    -webkit-transition: all .2s linear;
    transition: all .2s linear;
}

.rotate.down{
    -moz-transform:rotate(180deg);
    -webkit-transform:rotate(180deg);
    transform:rotate(180deg);
}

.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: 140px;
    z-index: 1;
}

/* ==== CLASSI GENERALI ==== */

/* ==  Breadcrumb == */

.breadcrumb {
    padding: .5rem 0.9rem;
    border-radius: .25rem;
	background: var(--light);
}

/* == Links == */

a:not(.btn) {
	color: var(--primary);
}

a:not(.btn):hover {
	color: var(--primary-over);
	text-decoration: none;
}

a.badge, .text-white a {
	color: var(--light);
}

a.badge:hover,  .text-white a:hover {
	color: #FFF;
}

a:hover .background-image,
a:hover img{
	opacity: 0.85;
}


/* == Lettering == */
h1, h2, h3, h4, h5, h6, 
.h1, .h2, .h3, .h4, .h5, .h6 {
	font-weight: bolder;
} 

h1.lead, h2.lead, h3.lead, h4.lead, h5.lead, h6.lead,
.h1.lead, .h2.lead .h3.lead, .h4.lead, .h5.lead, .h6.lead {
	font-weight: lighter;
}

p:last-of-type{
	margin-bottom: 0;
}

/* == 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);
}

a.btn-outline-primary {color: var(--primary);}
a.btn-outline-secondary {color: var(--secondary);}
a.btn-outline-success {color: var(--success);}
a.btn-outline-danger {color: var(--danger);}
a.btn-outline-info {color: var(--info);}
a.btn-outline-warning {color: var(--warning);}
a.btn-outline-dark {color: var(--dark);}
a.btn-outline-light {color: var(--light);}


/* 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;}

.btn-linkedin {color: #0077B5 !important;}
.btn-linkedin:hover {color: #459CC9 !important;}

.btn-instagram {color: #405DE6 !important;}
.btn-instagram:hover {color: #7489EC !important;}

.btn-pinterest {color: #BD081C !important;}
.btn-pinterest:hover {color: #CF4B59 !important;}

.btn-dribbble {color: #ea4c89 !important;}
.btn-dribbble:hover {color: #EF7CA9 !important;}

.btn-whatsapp {color: #25D366 !important;}
.btn-whatsapp:hover {color: #4CDB81 !important;}

.btn-telegram {color: #0088cc !important;}
.btn-telegram:hover {color: #45A8D9 !important;}

#condividiOrizzontale {
	margin: 0.75em 0 0 16px;
}

#condividiOrizzontale .border {
	width: 40px;
	text-align: center;
	max-width: 40px;
	float: left;
	margin: 0 0 0 1em !important;
	background: #FFF;
}

#condividiOrizzontale .border:first-of-type {
	margin: 0 !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;
}

.card-header .btn.focus, .card-header .btn:focus {
	box-shadow: none;
}
.card-header .btn-link:hover,
.card-header .btn:hover {
	text-decoration:none;
}

/* Dropdown */

.dropdown-menu {
    border-radius: 0;
}

.figure-img {
    margin-bottom: 0;
}

.dropdown-item.active, .dropdown-item:active {
	background: var(--primary);
}


/* Form */

.form-control {
	height: inherit;
}

.form-control:focus {
    color: #495057;
    background-color: #fff;
    border-color: var(--primary);
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0,0,0,.1) !important;
}

.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;
}

.custom-control-input:focus~.custom-control-label::before {
	box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0,0,0,.1)
}

.custom-file-input ~ .custom-file-label::after {
    content: "Sfoglia";
}

.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;
}

/* Pils */

.nav-pills .nav-link.active, .nav-pills .show>.nav-link {
    background-color:var(--primary);
}

/* == 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;}

a.badge-primary:hover {background: var(--primary-over) !important;}
a.badge-secondary:hover {background: var(--secondary-over) !important;}
a.badge-success:hover {background: var(--success-over) !important;}
a.badge-info:hover {background: var(--info-over) !important;}
a.badge-warning:hover {background: var(--warning-over) !important;}
a.badge-danger:hover {background: var(--danger-over) !important;}
a.badge-light:hover {background: var(--light-over) !important;}
a.badge-dark:hover {background: var(--dark-over) !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;}

a.text-primary {color: var(--primary-over) !important;}
a.text-secondary {color: var(--secondary-over) !important;}
a.text-success {color: var(--success-over)!important;}
a.text-info {color: var(--info-over)!important;}
a.text-warning {color: var(--warning-over) !important;}
a.text-danger {color: var(--danger-over) !important;}
a.text-light {color: var(--light-over)!important;}
a.text-dark {color: var(--dark-over)!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%;
  scroll-behavior: smooth;
}

body {
	position: relative;
	height: 100%;
	min-height: calc(100vh - 98px);
	margin-top:98px;
}

.page-wrapper{
	flex: 1;
}

body.extraspace {
	margin-top: 136px;
	min-height: calc(100vh - 136px);
}


header {
	position: relative;
	z-index:10;
	height: 0 !important;
	margin: 0 !important;
}

main {}

main.noTopSpace {
	position: relative;
	top:-200px;
}

.footer {
  position: relative;
  bottom: 0;
  width: 100%;
}

.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.75em !important;
  padding-bottom: 0.75em !important;
  padding-right: 1em !important;
  padding-left: 1em !important;
  -webkit-box-shadow: 0px 0px 20px 0px rgba(50, 50, 50, 0.25);
  -moz-box-shadow: 0px 0px 20px 0px rgba(50, 50, 50, 0.25);
  box-shadow: 0px 0px 20px 0px rgba(50, 50, 50, 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;  
}

section {
	position: relative;
    min-height:calc(100% - 70px);
	overflow: hidden;
	padding: 3em 0;
}

section.blog, section.ecommerce {
	overflow:auto;
}

.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 nav {
	min-height: 38px;
}

.over-the-top-bar .navbar-toggler {
	position: absolute;
	height: 40px;
	width: 40px;
	right:10px;
	top:4px;
}

.over-the-top-bar .nav-link {
    padding-top: 0.5rem; 
	padding-bottom: 0.5rem;
}

.over-the-top-bar ul.list-inline.mr-0 {
	margin:auto 0;
	padding: .2rem 0;
}

.over-the-top-bar .profili-social a {
	color: rgba(255,255,255,0.85)
}

.over-the-top-bar .profili-social a:hover {
	color: rgba(255,255,255,1)
}

.hamburger {
	padding: 0;
}

.over-the-top-bar .hamburger-inner, .over-the-top-bar .hamburger-inner:after, .over-the-top-bar .hamburger-inner:before {
    width: 20px;
    height: 2px;
    border-radius: 4px;
    background-color: var(--light);
}

/* == Menu principale == */
.menu-principale {
	z-index:1;
	padding-top: 1.2rem !important;
	padding-bottom: 1.2rem !important;
}

.menu-principale.affix {
	padding-top: 0.25rem !important;
	padding-bottom: 0.25rem !important;
}

.menu-principale.extraspace {
	margin-top: 38px;
}

.menu-principale .navbar-nav .nav-link {
    padding-right: .6rem;
    padding-left: .6rem;
}

.navbar-brand img {
	max-width: 200px;
	height: 50px;
	-webkit-transition: -webkit-transform 0.2s;
    transition: transform 0.2s;
}

.affix .navbar-brand img {
	transform: scale(0.85) translate(-16px, 0);
}


@media screen and (min-width:376px) {
	.navbar-brand img {
		max-width: 300px;
	}
}


@media screen and (min-width:576px) {
	.over-the-top-bar nav {
		height: 38px;
	}
	
	.menu-principale.extraspace {
		margin-top: 38px;
	}

}

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);
}


/* == selettore lingue == */
.selettore-lingue .nav-link.dropdown-toggle{
	padding-top: 0;
	padding-bottom: 0;
}

.selettore-lingue img {
	width:22px;
	margin-top: -5px;
}

.selettore-lingue .dropdown-menu {
	position: absolute;
	min-width:72px;
}


/* == Hamburger Menu == */

.navbar-toggler {
  cursor: pointer;
  margin: 0 6px 0 auto;
  padding-left: 1.25em;
  position: relative;
  width: 40px;
  height: 40px;
  border: none;
}

.menu-principale .navbar-toggler {
  margin: 8px 16px 0 0;
  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);
}

.menu-principale .hamburger-inner, .menu-principale .hamburger-inner:after, .menu-principale .hamburger-inner:before {
    width: 30px;
    height: 3px;
    border-radius: 4px;
    background-color: var(--primary);
}

.navbar-dark .hamburger-inner, .navbar-dark  .hamburger-inner:after, .navbar-dark  .hamburger-inner:before {
    background-color: #fff;
}


/* == 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: 2em;
    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);
}

@media screen and (min-width:768px){
	#ricercaFullScreen input[type="search"] {
    font-size: 3em;
	}
}


/* == Carrello == */

a.btn-carrello {color: var(--primary) !important;}

a:hover.btn-carrello {color: var(--primary-over) !important}


.navbar-dark a.btn-carrello {color: var(--light) !important;}
.navbar-dark a:hover.btn-carrello {color: var(--light-over) !important}

.carrello .dropdown-menu {
	min-width: 280px;
	max-width: 420px;
}

.carrello .dropdown-menu .btn {
	width: auto;
}


/* == MAIN == */


/* == FOOTER  == */
.footer-superiore .text-dark a{
	color: var(--dark);
}

.footer-superiore .text-dark a:hover{
	color: var(--dark-over);
}

.footer-superiore .text-light a{
	color: var(--light);
}

.footer-superiore .text-light a:hover{
	color: var(--light-over);
}

.footer-inferiore p:last-of-type{
	margin-bottom: 0;
}

.footer ul li{
	list-style-type: none;
}

.footer-inferiore.bg-dark {
	color: var(--light);
}

/* == SCROLL TO TOP == */

/* scroll to top */

#toTop {
  opacity: 0;
  display: inline-block;
  position: fixed;
  bottom: 1em;
  right: 1em;
  z-index: 99;
  font-size: 18px;
  border: none;
  outline: none;
  background-color: var(--primary);
  color: white;
  cursor: pointer;
  padding: 14px 15px 17px 15px;
  border-radius: 0;
  line-height: 0;
  visibility: hidden;
  -webkit-transition:background-color 0.3s ease-in-out, bottom 0.2s, opacity .2s, visibility .2s;
  -moz-transition:background-color 0.3s ease-in-out, bottom 0.2s, opacity .2s, visibility .2s;
  -o-transition:background-color 0.3s ease-in-out, bottom 0.2s, opacity .2s, visibility .2s;      
  transition:background-color 0.3s ease-in-out, bottom 0.2s, opacity .2s, visibility .2s;
}

#toTop:hover {
  background-color: var(--primary-over);
}

#toTop.show {
  opacity: 1;
  visibility: visible;
}

@media (min-width:768px){
	#toTop {
	  right: 20px;
	}
	
	#toTop:hover {
	  right: 20px;
	  bottom: 30px;
	}
}


/* Cookie law bar */
#cookie-law-bar {
	position:fixed;
	width:100%;
	bottom:0px;
	right:0px;
	margin:0;
	padding:1em;
	z-index:10;
	background:#fff;
	color:#777;
	opacity: 0;
	-webkit-transition:opacity .3s ease-in-out;
	-moz-transition:opacity .3s ease-in-out;  
	-o-transition:opacity .3s ease-in-out;         
	transition:opacity 0.3s ease-in-out;
	transition-delay: .5s;
}

#cookie-law-bar.load {
	opacity: 1;
}

@media(min-width:1024px) {
	#cookie-law-bar {
		width:400px;
		bottom:20px;
		right:20px;
		}
}

/* ====  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: -22px;
    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: -21px;
}

.text-primary .separatore-inferiore:after {background-color: var(--primary);}
.text-secondary .separatore-inferiore:after {background-color: var(--secondary);}
.text-success .separatore-inferiore:after {background-color: var(--success);}
.text-warning .separatore-inferiore:after {background-color: var(--warning);}
.text-danger .separatore-inferiore:after {background-color: var(--danger);}
.text-dark .separatore-inferiore:after {background-color: var(--dark);}
.text-light .separatore-inferiore:after {background-color: var(--light);}
.text-white .separatore-inferiore:after {background-color: #FFFFFF;}

.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-primary .separatore-superiore:after {background-color: var(--primary);}
.text-secondary .separatore-superiore:after {background-color: var(--secondary);}
.text-success .separatore-superiore:after {background-color: var(--success);}
.text-warning .separatore-superiore:after {background-color: var(--warning);}
.text-danger .separatore-superiore:after {background-color: var(--danger);}
.text-dark .separatore-superiore:after {background-color: var(--dark);}
.text-light .separatore-superiore:after {background-color: var(--light);}
.text-white .separatore-superiore:after {background-color: #FFFFFF;}


.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 .extra-info span{
	position: absolute;
	right:-68px;
	bottom:-28px;
	z-index: 5;
	background: rgba(255,255,255,.8);
	color: var(--dark);
	text-align: center;
	width: 160px;
	height: 80px;
	line-height: 25px;
	transform: rotate(-45deg);
	font-size: 0.85em;
	font-weight: bold;
}

.img-container .extra-info h5{
	position: absolute;
	bottom: .5em;
	left: 1em;
	right: 1em;
	color: #FFF;
	text-shadow: 2px 2px rgba(0,0,0,.65);
}

.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, .img-container.zoom:hover .background-image {
	transform: scale(1.2);
}

/* effetto Rotazione */
.img-container.rotazione .overlay {
	position: absolute;
	z-index: 1;
	bottom: 0%;
	right: 0;
	left: 0;
	height: 100%;
	top: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;
	height: 50%;
}
	

.img-container.rotazione:hover img, .img-container.rotazione:hover .background-image {
	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, .img-container.v-slide:hover .background-image {
	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, .img-container.o-slide:hover .background-image  {
	transform:translateX(10%) scale(1.1);
}

/* con didascalia */
.figure-caption {
    font-size: 95%;
	color: #4D4D4D;
	background: var(--light);
	padding: 1em 1.25em;
}	

.bg-dark .figure-caption {
	color: #f1f1f1;
	background: var(--dark-over);
}

/** == 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: var(--primary) !important;
    display: inline-block;
    cursor: pointer;
    border-radius: 0px; }
    .owl-theme .owl-nav [class*='owl-']:hover {
      background: var(--light-over);
      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;
    font: inherit;
    border-radius: 0;
	-moz-transition:all 0.3s  ease-out;  
    -o-transition:all 0.3s ease-out;      
    transition:all 0.3s ease-out; 
	border-radius: 5em;
	border: none;
}

.owl-carousel .owl-stage, .owl-carousel.owl-drag .owl-item{
    -ms-touch-action: auto;
        touch-action: auto;
}

.overlay-area {
	position: absolute;
	width: 100%;
	height: 100%;
}

.slider-new .background-image{
	min-height: 220px;
}
.slider-new.h20 .background-image{
	height: 20vh;
	min-height: 220px;
}
.slider-new.h30 .background-image{
	height: 30vh;
	min-height: 220px;
}
.slider-new.h40 .background-image{
	height: 40vh;
	min-height: 220px;
}
.slider-new.h50 .background-image{
	height: 50vh;
	min-height: 220px;
}
.slider-new.h60 .background-image{
	height: 60vh;
	min-height: 220px;
}
.slider-new.h70 .background-image{
	height: 70vh;
	min-height: 320px;
}
.slider-new.h80 .background-image{
	height: 80vh;
	min-height: 320px;
}
.slider-new.h90 .background-image{
	height: 90vh;
	min-height: 320px;
}
.slider-new.h100 .background-image{
	height: 100vh;
	min-height: 320px;
}

.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {
    background-color: var(--primary);
}

.owl-theme .owl-nav {
	position: absolute;
    text-align: center;
    margin: 0px;
	right: 0;
	left:0;
	top:calc(50% - 39px);
	width: 100%;
	font-size: 3em;
	line-height: 0;
}

.owl-carousel .owl-nav button.owl-prev{
	position: absolute;
	left:8px;
	padding: 14px 14px 26px 12px !important;
}


.owl-carousel .owl-nav button.owl-next{
	position: absolute;
	right:8px;
	padding: 14px 12px 26px 14px !important;
}

.owl-theme .owl-nav [class*=owl-]:hover {
    background: var(--light-over) !important;
    text-decoration: none;
	border-color: transparent;
}

.owl-carousel .item {
	position:relative;
	z-index: 1;
}

.owl-carousel .item .contenuto {
	position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%,-50%);
    width: 80%;
	z-index: 2;
}

.slider-new .dark-gradient {
	position:absolute;
	top:0;
	right: 0;
	bottom:0;
	left:0;
	background: -moz-linear-gradient(top, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0) 50%, rgba(0,0,0,0) 100%);
	background: -webkit-linear-gradient(top, rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 50%,rgba(0,0,0,0) 100%);
	background: linear-gradient(to bottom, rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 50%,rgba(0,0,0,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a6000000', endColorstr='#00000000',GradientType=0 );
	z-index: 1;
}

.slider-new .overlay{
	position:absolute;
	top:0;
	right: 0;
	bottom:0;
	left:0;
	background: url(../img/pattern-dots-001.png);
	z-index: 1;
}

/* == Bootsrap Slider == */
.slider.slider-horizontal {
	min-width: 100%;
}

.slider.slider-horizontal .slider-tick-label-container {
	overflow-x: hidden;
	position: relative;
}

.slider.slider-horizontal .slider-tick-label:last-child {
	position: absolute;
	right: 0;
	text-align: right;
}

.slider-selection {
	background: var(--light-active);
}

.slider-handle {
    background-color: var(--primary);
    background-image: none;
    -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 2px rgba(0,0,0,.01);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 2px rgba(0,0,0,.01);
    border: 0 solid transparent;
}

.slider-selection.tick-slider-selection {
    background-color: var(--warning);
    background-image: none;
}

.slider-tick.in-selection {
	background-color: var(--warning-over);
    background-image: none;
}

/** ==  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;
}

/** == METRO SLIDER == **/
.metro-slider .sub-data{
	position: absolute;
	z-index: 10;
	bottom:0;
	right: 0;
	left:1rem;
	padding: .65rem 1rem 1rem;
	background: rgba(255,255,255,0.95);
	transition: all .3s ease-in-out;
}

.metro-slider .sub-data .small{
	font-size: 13px;
	padding-bottom: .45rem !important;
}

.metro-slider .px-0:hover .sub-data{
	background: rgba(255,255,255,1);
}

.metro-slider h2 {
	margin: 8px 0 0;
	font-size: 20px;
}

.metro-slider .col-md-12.col-lg-6 h2{
	font-size: 20px;
}

.metro-slider.template-2 .aspect-ratio-21-9 {
	padding-bottom: 85.71%;
}

@media screen and (min-width:768px){
	.metro-slider h2 {
		font-size: 17px;
	}
}

@media screen and (min-width:767px) and (max-width:991px){
	.metro-slider .col-md-12.col-lg-6 .aspect-ratio-21-18{
		padding-bottom: 42.86%;
	}
}

@media screen and (max-width:991px){
	.metro-slider .aspect-ratio-21-9 {
		padding-bottom: 85.71%;
	}
}


/**  == SOCIAL MEDIA LINK == **/
.social-media-links .round {
	padding: 6px 5px;
}


/** == 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: 0 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: 0;
}
.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: .5rem 1.25rem;
    color: #787878;
    font-weight: 300;
    border-bottom: 1px solid #f1f1f1;
    margin: 0 2rem;
    border-radius: 0;
}

.tabella-prezzi .card .list-group-item:last-child {
    border-bottom: none;
}

.tabella-prezzi .card .list-group-item.text-muted {
  border: 0px;
  padding: .25rem;
  color: #B7B7B7 !important;
  font-weight: 300;
}

.tabella-prezzi .card .list-group-item i {
	position: absolute;
	left: 0;
	top:50%;
	line-height: 0;
}

.tabella-prezzi .display-2 {
  font-size: 5rem;
  letter-spacing: -.25rem;
}
.tabella-prezzi .display-2 .currency {
  font-size: 2.75rem;
  position: relative;
  font-weight: 400;
  top: -25px;
  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: 1;
	top:25px;
	right:-39px;
}

.tabella-prezzi .card.popular .card-title {
	color: var(--secondary);
}

.tabella-prezzi h4.display-4 {
	font-size: 1.7em;
	text-decoration: line-through;
}

/* == TABELLA ORDINABILE == **/

table.dataTable thead th,
table.dataTable thead td {
    padding: 10px 18px;
    border-bottom: 1px solid rgba(0,0,0,0.25);
}

table.dataTable.no-footer {
	border-bottom: 1px solid rgba(0,0,0,0.25);
}

table.dataTable thead .sorting, 
table.dataTable thead .sorting_asc, 
table.dataTable thead .sorting_desc{
	position: relative;
	background: none !important;
}

table.dataTable thead .sorting:after {
    content: "\f0dc";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	width: 12px;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
    position: relative;
    top: 1px;
    padding: 0;
	right: -10px;
	color: var(--light-over);
}

table.dataTable thead .sorting_asc:after  {
    content: "\f0dd";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	width: 12px;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
    position: relative;
    top: 1px;
    padding: 0;
	right: -10px;
	color: var(--primary);
}

table.dataTable thead .sorting_desc:after  {
    content: "\f0de";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	width: 12px;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
    position: relative;
    top: 1px;
    padding: 0;
	right: -10px;
	color: var(--primary);
}

table.dataTable thead .sorting_asc_disabled {
    content: "\f0dd";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	width: 12px;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
    position: relative;
    top: 1px;
    padding: 0;
	right: -10px;
	color: var(--light-over);
}

table.dataTable thead .sorting_desc_disabled {
    content: "\f0de";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	width: 12px;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
    position: relative;
    top: 1px;
    padding: 0;
	right: -10px;
	color: var(--light-over);
}

table.dataTable.stripe tbody tr.odd, table.dataTable.display tbody tr.odd {
	background-color: var(--light);
}


/** == ARTICOLI DAL BLOG **/

.blog .col-md-8.col-xl-9 .text-muted,
.articoli-dal-blog .col-md-8.col-xl-9 .text-muted {
	margin-bottom: 14px;
}

.blog .col-md-8.col-xl-9 .text-muted.separatore-inferiore,
.articoli-dal-blog .col-md-8.col-xl-9 .text-muted.separatore-inferiore{
	margin-bottom: 40px;
}

.articoli-dal-blog .card {
	margin-bottom: 2em;
}

.articoli-dal-blog .card .p-4, 
.articoli-dal-blog .card .px-4.py-3 {
	margin-bottom: 2em !important;
}

.articoli-dal-blog .card .btn{
	position: absolute;
	bottom:15px;
	right:15px;
}

.articoli-dal-blog img.background-image,
.blog img.background-image{
	height: 260px;
}

.articoli-dal-blog img.background-image,
.blog img.background-image{
	height: 260px;
}

.blog .extra-info .badge {
	margin-right: .25rem;
}

.articolo .extra-info .badge {
	margin-right: 0;
}

@media (min-width:768px) {
	.articoli-dal-blog .card {
		margin-bottom: 0;
	}
}

.titolo-sovrapposto {
	margin: -6em 20px -1.5em 20px;
	background: #FFF;
	padding: 1em 1.5em 0;
	z-index: 2;
}

.titolo-sovrapposto .titolo {
	margin-bottom: 1em;
}

.titolo-sovrapposto.stile-2{
	position: absolute;
	z-index: 10;
	right: 0;
	left: 0;
	bottom: 0;
	margin: 0;
	background: rgba(0,0,0,0.85);
}

.titolo-sovrapposto.stile-2 a{
	color:rgba(255,255,255,.85);
}

.titolo-sovrapposto.stile-2 a:hover{
	color:rgba(255,255,255,1);
}

/** == TESTIMONIALS == **/

.testimonials .owl-stage {
	margin-right: auto!important;
	margin-left: auto!important;
}

.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 {
	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 .titolo {
	margin-top: .75rem;
}

.blog h1.title {
	/* margin-bottom: .75rem; */
}

.blog .tag-list .breadcrumb-item+.breadcrumb-item::before {
	color: lightgray;
	padding-right: .1rem;
}

.blog .doppia-colonna img.background-image {
	height: 300px;
}

.colonna-principale .container {
	padding-right: 0;
	padding-left: 0;
	margin-bottom: 3rem!important;
}

.colonna-principale .container .col-8,
.colonna-principale .container .col-md-8,
.colonna-principale .container .col-lg-8{
	-ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
	padding-right: 0;
	padding-left: 0;
}

@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;
	}
}

.elencoCategorie .card {
	border-bottom: none;
}

.elencoCategorie .card:last-of-type {
	border-bottom: 1px solid rgba(0,0,0,.125);
}

.elencoCategorie .card-header {
	border: none !important;
	background: #FFF;
}

.elencoCategorie .card-header:last-child{
	margin-bottom: inherit;
}

.elencoCategorie .card-header:hover {
	background: var(--light);
}

.elencoCategorie .card-header i {
	position: absolute;
	right: 1em;
	top: 0;
}

.elencoCategorie .card-header i:hover {
	color: var(--primary) !important;
}

.elencoCategorie .card-header+.list-group .list-group-item:first-child{
	border-top: 1px solid var(--light-active);
}

.elencoCategorie ul .list-group-item {
	padding: .5rem .75rem .5rem 14px;
	-webkit-transition: all  ease-in-out .2s;
    -moz-transition: all ease-in-out .2s;
    transition: all ease-in-out .2s;
    border-left: none;
    border: none;
	position: relative;
}

.elencoCategorie ul .list-group-item:first-child{
	border-top:1px solid #000;}

.elencoCategorie ul .list-group-item a {
	color: var(--primary);
}

.elencoCategorie ul .list-group-item a:hover,
.elencoCategorie ul .list-group-item:hover a {
	color: var(--primary-over) !important;
}

.elencoCategorie .list-group-item:hover {
    padding: .5rem .75rem .5rem 1rem;	
}

.elencoCategorie .list-group-item:before {
	content: "\f105";
	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;
	left: -1.5rem;
	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;
	color: var(--primary-over);
}

.elencoCategorie .list-group-item:hover:before {
    left: -0.5rem;
	opacity:1;
	filter: alpha(opacity=100);
}


.tag-cloud a{
	margin-bottom: .35rem;
	font-weight: 400;
}

.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;
}

.widget .profili-social a {
	font-size: 1.5em;}

.lista-prodotti .list-group-item:not(:last-of-type){
	border-bottom: 0px none !important;
}

.intro-text p:not(:nth-child(1)){
	display: none !important;
}

.intro-text h1, .intro-text h2, .intro-text h3,  .intro-text h4, .intro-text h5,  .intro-text h6, 
.intro-text .h1, .intro-text .h2, .intro-text .h3,  .intro-text .h4, .intro-text .h5,  .intro-text .h6,
.intro-text ul, .intro-text ol{
	display: none !important;
}

/** == 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;
}

@media (max-width:767px) {
	.portfolio .background-image {
		min-height: 180px;
	}
}


	.portfolio-wrapper {
		overflow:hidden;
		position: relative !important;
		background-color:#ffffff;
		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;
  } 

.portfoliolist.row.no-gutters .portfolio-wrapper.mb-4{
	margin-bottom: 0 !important;	
}


/**  == GALLERIA == **/

#galleria {
	max-width: 100% !important;
}

.ug-gallery-wrapper .ug-strip-panel {
    position: absolute;
    background-color: #f1f1f1;
    z-index: 2;
}

.ekko-lightbox .modal-content {
	border-radius: 0px;
}

.galleria a img:hover{
	opacity: 0.8;
}

/** == 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;}

/** == RISORSE == **/

.risorse .portfolio-wrapper {
	background: var(--light);
	height: 100%;
	cursor: inherit;
	padding-bottom: 3.5em !important;
}

.risorse .portfolio {
	margin-bottom: 1em;
}
.risorse .portfolio .btn {
	position: absolute;
	bottom: 1em;
	right: 1em;
	left: 1em;
	-webkit-transition: all  ease-in-out .3s;
    -moz-transition: all ease-in-out .3s;
    transition: all ease-in-out .3s;
}
 
.risorse .table .portfolio img {
	height: 32px;
	min-width:32px;
	max-width:32px;
}

.table .portfolio .btn {
	position: relative;
	bottom:inherit;
	left:inherit;
	right: inherit;
}

.table .portfolio:hover img {
    top: 0px;
}

/* == CONTATTI == */

.icona-contatti{
	width: 46px;
}

/* == ANNUNCI == */
.griglia-annunci > .col,
.griglia-annunci > [class*="col-"] {
      padding-right: 7px;
      padding-left: 7px;
    }

.inserzionista {
	line-height: 1em;
	position: relative;
}

.inserzionista.text-success {
	padding-right: 2.5em;
}

.inserzionista.text-success a{
	color: var(--success);
}

.inserzionista.text-success a:hover{
	color: var(--success-over);
}

.inserzionista button {
	position: absolute;
	right: 0;
	width: 30px;
	padding: 0;
	height: 30px;
	border-radius: 5rem;
}

.doppia-colonna .inserzionista button {
	position: absolute;
	width: 24px;
	height: 24px;
}

.doppia-colonna .inserzionista i {
	position: relative;
	font-size: 13px;
	top: -2px;
}

.annunci .doppia-colonna h1{
	font-size: 1.7rem;
}

.annunci .doppia-colonna h2 {
	font-size: 1.5rem;
}

.annunci .doppia-colonna h5 {
	font-size: 1.1em; 
}

@media (min-width:1200px) {
	
	.annunci .doppia-colonna h2 {
		font-size: 1.35rem;
		  -webkit-line-clamp: 2;
		  overflow : hidden;
		  text-overflow: ellipsis;
		  display: -webkit-box;
		  -webkit-box-orient: vertical;
	}
	
}

.ricerca-annunci .custom-select	{
    line-height: 50px;
    padding: 0 1rem;
    height: 50px;
}

.ricerca-annunci button	{
    line-height: 50px;
    padding: 0 1rem;
    height: 50px;
}


/* === PRENOTA STRUTTURA === */

.datepicker table tr td.active.active, .datepicker table tr td.active.highlighted.active, .datepicker table tr td.active.highlighted:active, .datepicker table tr td.active:active {
    color: #fff;
    background-color: var(--primary);
    border-color: var(--primary);
}

.datepicker table tr td.active.active.focus, .datepicker table tr td.active.active:focus, .datepicker table tr td.active.active:hover, .datepicker table tr td.active.highlighted.active.focus, .datepicker table tr td.active.highlighted.active:focus, .datepicker table tr td.active.highlighted.active:hover, .datepicker table tr td.active.highlighted:active.focus, .datepicker table tr td.active.highlighted:active:focus, .datepicker table tr td.active.highlighted:active:hover, .datepicker table tr td.active:active.focus, .datepicker table tr td.active:active:focus, .datepicker table tr td.active:active:hover {
    background-color: var(--primary-over);
    border-color: var(--primary-over);
}

/* == GRIGLIA IMMAGINI == */
.griglia-immagini.lift [class*='col-']:hover img {
	-moz-transform: translateY(-16px);
	-webkit-transform: translateY(-16px);
	-o-transform: translateY(-16px);
	-ms-transform: translateY(-16px);
	transform: translateY(-16px);
}

.griglia-immagini.flip [class*='col-']:hover img {
	-moz-transform: scale(-1, 1);
	-webkit-transform: scale(-1, 1);
	-o-transform: scale(-1, 1);
	-ms-transform: scale(-1, 1);
	transform: scale(-1, 1);
}

.griglia-immagini.rotate [class*='col-']:hover img {
	-moz-transform: rotate(-15deg);
	-webkit-transform: rotate(-15deg);
	-o-transform: rotate(-15deg);
	-ms-transform: rotate(-15deg);
	transform: rotate(-15deg);
}

/* == INSTALLAZIONE == */

#installazione .card-container.card {
    max-width: 460px;
    padding: 30px 30px;
}

#installazione .img-fluid {
	margin-right: 5em;
	margin-left: 5em;
}

#installazione .pwd-forte {
	color: green;
	text-transform: uppercase;
}

#installazione input[type=password] {
	-webkit-border-radius: 0.25rem;
	-webkit-border-bottom-right-radius: 0;
	-webkit-border-bottom-left-radius: 0;
	-moz-border-radius: 0.25rem;
	-moz-border-radius-bottomright: 0;
	-moz-border-radius-bottomleft: 0;
	border-radius: 0.25rem;
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}

/* == LOGIN == */

#login .card-container.card {
    max-width: 350px;
    padding: 30px 30px;
}

#installazione .card, 
#login .card {
    background-color: #F7F7F7;
    padding: 20px 25px 30px;
    margin: 0 auto 25px;
    -moz-border-radius: 2px;
    -webkit-border-radius: 2px;
    border-radius: 2px;
}

.form-signin #inputEmail,
.form-signin #inputPassword {
    direction: ltr;
    font-size: 16px;
}

.form-signin input[type=email],
.form-signin input[type=password],
.form-signin input[type=text],
.form-signin button {
    width: 100%;
    display: block;
    margin-bottom: 10px;
    z-index: 1;
    position: relative;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}


/* ==== FORM MULTI STEP ==== */
#msform {
}

#msform fieldset .form-card {
    position: relative;
	margin: auto 1.5em;
}

#msform fieldset {
    background: white;
    border: 0 none;
    border-radius: 0.5rem;
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding-bottom: 1em;
    position: relative
}

#msform fieldset:not(:first-of-type) {
    display: none
}

#msform fieldset .form-card {
    text-align: left;
    color: #9E9E9E
}

#msform input,
#msform textarea, 
#msform select{
    padding: 0px 8px 4px 8px;
    border: none;
    border-bottom: 1px solid #ccc;
    border-radius: 0px;
    margin-bottom: 25px;
    margin-top: 2px;
    width: 100%;
    box-sizing: border-box;
    font-size: 16px;
    letter-spacing: 1px
}

#msform input:focus,
#msform textarea:focus, 
#msform select:focus{
    -moz-box-shadow: none !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    border: none;
    font-weight: bold;
    border-bottom: 2px solid var(--primary);;
    outline-width: 0
}

#msform .action-button {
	width: 33%;
    background: var(--primary);
    font-weight: inherit;
    color: white;
    border: 0 none;
    border-radius: 5rem;
    cursor: pointer;
    padding: 10px;
    margin: 10px 5px;
}

#msform .action-button:hover,
#msform .action-button:focus {
    background: var(--primary-over);
	border-bottom: none;
	font-weight: inherit;
}

#msform .action-button-previous {
	width: 33%;
    font-weight: inherit;
	background: lightgray;
    color: white;
    border: 0 none;
    border-radius: 5rem;
    cursor: pointer;
    padding: 10px;
    margin: 10px 5px;
}

#msform .action-button-previous:hover,
#msform .action-button-previous:focus {
	background-color: #9F9F9F;
	border-bottom: none;
	font-weight: inherit;
}

#msform select.list-dt {
    border: none;
    outline: 0;
    border-bottom: 1px solid #ccc;
    padding: 2px 5px 3px 5px;
    margin: 2px
}

#msform select.list-dt:focus {
    border-bottom: 2px solid var(--primary);
}

#msform .card {
    z-index: 0;
    border: none;
    border-radius: 0.5rem;
    position: relative
}

#msform .fs-title {
    color: #131313;
    margin-bottom: 10px;
    font-weight: bold;
    text-align: center;
}

#progressbar {
    margin-bottom: 30px;
    overflow: hidden;
    color: lightgrey;
	padding: 0;
}

#progressbar .active {
    color: #000000
}

#progressbar li {
    list-style-type: none;
    font-size: 12px;
    width: 25%;
    float: left;
    position: relative
}

#progressbar #step1:before {
    font-family: "Font Awesome 5 Free";
	font-weight: 900;
    content: "\f007"
}

#progressbar #step2:before {
    font-family: "Font Awesome 5 Free";
	font-weight: 900;
    content: "\f1b0"
}

#progressbar #step3:before {
    font-family: "Font Awesome 5 Free";
	font-weight: 900;
    content: "\f5ac"
}

#progressbar #step4:before {
    font-family: "Font Awesome 5 Free";
	font-weight: 900;
    content: "\f00c"
}

#progressbar li:before {
    width: 50px;
    height: 50px;
    line-height: 45px;
    display: block;
    font-size: 18px;
    color: #ffffff;
    background: lightgray;
    border-radius: 50%;
    margin: 0 auto 10px auto;
    padding: 2px
}

#progressbar li:after {
    content: '';
    width: 100%;
    height: 2px;
    background: lightgray;
    position: absolute;
    left: 0;
    top: 25px;
    z-index: -1
}

#progressbar li.active:before,
#progressbar li.active:after {
    background: var(--primary);
}

#msform .radio-group {
    position: relative;
    margin-bottom: 25px
}

#msform .radio {
    display: inline-block;
    width: 204;
    height: 104;
    border-radius: 0;
    background: lightblue;
    box-shadow: 0 2px 2px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    cursor: pointer;
    margin: 8px 2px
}

#msform .radio:hover {
    box-shadow: 2px 2px 2px 2px rgba(0, 0, 0, 0.3)
}

#msform .radio.selected {
    box-shadow: 1px 1px 2px 2px rgba(0, 0, 0, 0.1)
}


/* =========================== 

VARIANTI TEMPLATE PAGINA

============================ */


/* == TEMA FULLSCREEN CON MENU VERTICALE A COMPARSA SINISTRA == */

body.fullscreen{
	margin-top:0;
}

.fullscreen #sidebarCollapse{
	position: absolute;
	top:2em;
	left:2em;
}

.fullscreen .hamburger-inner, 
.fullscreen .hamburger-inner:after, 
.fullscreen .hamburger-inner:before{
	background-color: var(--primary);
}

.fullscreen #sidebar {
    width: 250px;
    position: fixed;
    top: 0;
    left: -250px;
    height: 100vh;
    z-index: 999;
    background: var(--light);
    color: #fff;
    transition: all 0.3s;
    overflow-y: scroll;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.2);
}

.fullscreen #sidebar.active {
    left: 0;
}

.fullscreen #dismiss {
    width: 35px;
    height: 35px;
    line-height: 35px;
    text-align: center;
	color: var(--primary);
    position: absolute;
    top: 28px;
    right: .45em;
    cursor: pointer;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}

.fullscreen #dismiss:hover {
    color: var(--primary-over);
}

.fullscreen .overlay {
    display: none;
    position: fixed;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.7);
    z-index: 998;
    opacity: 0;
    transition: all 0.5s ease-in-out;
}
.fullscreen .overlay.active {
    display: block;
    opacity: 1;
}

.fullscreen #sidebar .sidebar-header {
    padding: 1em;
}

.fullscreen #sidebar ul li a {
    padding: 0.35em 1em;
    font-size: 1.1em;
    display: block;
}

.fullscreen #sidebar ul li a:hover {
    background: #fff;
}

.fullscreen #sidebar ul li a.collapsed:before {
	content: "\f067";
	display: inline-block;
	position: absolute;
	color: var(--light-active);
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	right: 1em;
	top:10px;
	font-size: 0.8em;
}

.fullscreen #sidebar ul li a.collapsed:hover:before {
	color: var(--primary);
}


.fullscreen #sidebar ul li ul li a {
    padding-left: 1.75em;
    font-size: 1em;
    display: block;
}

.fullscreen #sidebar ul li ul li a:before {
	content: "\f105";
	display: inline-block;
	color: var(--light-active);
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
    position: relative;
	right: 10px;
}

.fullscreen #sidebar ul li ul li a:hover:before {
	color: var(--primary);
}


.fullscreen #sidebar ul li.active>a,
.fullscreen #sidebar ul li a[aria-expanded="true"] {
    color: var(--primary-active);
	font-weight: bolder;
}

.fullscreen #sidebar ul li a[data-toggle="collapse"] {
    position: relative;
}


.fullscreen #content {
    width: 100%;
    padding: 0px;
    min-height: 100vh;
    transition: all 0.3s;
    position: absolute;
    top: 0;
    right: 0;
}


/* == TEMA CON MENU VERTICALE A COMPARSA DESTRA == */

body.barra-laterale {
	margin-top: 0;
}

.barra-laterale .navbar {
    padding: 15px 10px;
    background: #fff;
    border: none;
    border-radius: 0;
    margin-bottom: 40px;
    box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
}

.barra-laterale .navbar-btn {
    box-shadow: none;
    outline: none !important;
    border: none;
}

.barra-laterale .hamburger-box {
    top: 3px;
}

.barra-laterale .hamburger-inner, 
.barra-laterale .hamburger-inner:after, 
.barra-laterale .hamburger-inner:before {
	background: var(--primary);
}

.barra-laterale #sidebarCollapse{
	position: fixed;
	right: 1.5em;
	top: 22px;
	z-index: 1;
}

.barra-laterale .hamburger-inner,
.barra-laterale .hamburger-inner:after,
.barra-laterale .hamburger-inner:before {
    width: 35px;
    height: 3px;
    transition-duration: .15s;
}

.barra-laterale .hamburger-box {
    width: 37px;
}

.barra-laterale.extraspace #sidebarCollapse{
	top: 66px;
}

.barra-laterale #sidebar {
    width: 250px;
    position: fixed;
    top: 0;
    right: -250px;
    height: 100vh;
    z-index: 999;
    background: var(--light);
    transition: all 0.3s;
    overflow-y: scroll;
}

.barra-laterale #sidebar.active {
    right: 0;
	box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.2);
}

.barra-laterale #dismiss {
    width: 35px;
    height: 35px;
    line-height: 35px;
    text-align: center;
    color: var(--primary);
	background: transparent;
    position: absolute;
    top: 23px;
    right: 10px;
    cursor: pointer;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}

.barra-laterale #dismiss:hover {
    background: #fff;
    color: var(--primary-over);
}

.barra-laterale .overlay {
    display: none;
    position: fixed;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.7);
    z-index: 998;
    opacity: 0;
    transition: all 0.5s ease-in-out;
}
.barra-laterale .overlay.active {
    display: block;
    opacity: 1;
}

.barra-laterale #sidebar .sidebar-header {
    padding: 1em 4em 1em 1em;
}

.barra-laterale #sidebar ul li a {
    padding: .5em 1.15em;
    font-size: 1em;
    display: block;
}

.barra-laterale #sidebar ul li a:hover {
    color: var(--primary-over);
    background: #fff;
}

.barra-laterale #sidebar ul li.active>a {
    color: #fff;
    background: var(--primary);
}

.barra-laterale a.collapse{
	background: var(--light-over);
}

.barra-laterale a[data-toggle="collapse"] {
    position: relative;
}

.barra-laterale #sidebar .dropdown-toggle::after {
    display: block;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
}

.barra-laterale #sidebar .fas.fa-pull-right {
    margin-left: 0;
    margin-top: 4px;
}

.barra-laterale li.active .fas.fa-pull-right{
	color: #FFF !important;
}

.barra-laterale ul ul a {
    font-size: 0.9em !important;
    padding-left: .5em !important;
    background: var(--light);
	transition: all 0.2s ease-in-out;
}

.barra-laterale ul ul a:before {
    font-size: 0.9em !important;
    padding-left: 1.75em !important;
    background: transparent;
}

.barra-laterale ul ul a:hover {
    padding: .5rem .75rem .5rem 2rem;	
	padding-left: 12px !important;
}

.barra-laterale #sidebar ul ul a:before {
	content: "\f105";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	width: 0;
	display: none;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
    position: relative;
    top: 0px;
    padding: 0;
	left: -1.5rem;
	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;
}

.barra-laterale #sidebar.active ul ul a:before {
	display: inline-block;
}

.barra-laterale #sidebar ul ul a:hover:before {
    left: -1rem;
	opacity:1;
	filter: alpha(opacity=100);
}

.barra-laterale ul ul a:hover {
    color: var(--primary-over);
}

.barra-laterale #sidebar .ricerca-inline {
	margin: 0 1em;
}

.barra-laterale #sidebar .selettore-lingue a{
	margin: 6px 2px 0;
	position: relative;
	display: inline-block;
}

.barra-laterale .navbar-brand {
	top: 26px;
	left: 1em;
	position: fixed;
	z-index: 1;
	padding: 0;
	margin: 0;
}

.barra-laterale.extraspace .navbar-brand {
	top: 56px;
}


.barra-laterale.extraspace .page-wrapper {
	margin-top: 38px;
}

.barra-laterale #content {
    width: calc(100%);
    min-height: 100vh;
    transition: all 0.3s;
    position: absolute;
    top: 0;
    right: 0;
}


/* === ASK === */

.titoloDomanda {
	font-size: 2em;
}