
@charset "utf-8";
/* Geecom Admin 4.0 - Backend - v 1.0.0 */

/* Helpers */

.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;
}

.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);
}

a:hover .background-image,
a:hover img{
	opacity: 0.85;
}

a.bg-primary:focus, a.bg-primary:hover, button.bg-primary:focus, button.bg-primary:hover{
	background-color: var(--primary-over) !important;
}
a.bg-secondary:focus, a.bg-secondary:hover, button.bg-secondary:focus, button.bg-secondary:hover{
	background-color: var(--secondary-over) !important;
}
a.bg-danger:focus, a.bg-danger:hover, button.bg-danger:focus, button.bg-danger:hover{
	background-color: var(--danger-over) !important;
}
a.bg-success:focus, a.bg-success:hover, button.bg-success:focus, button.bg-success:hover{
	background-color: var(--success-over) !important;
}
a.bg-warning:focus, a.bg-warning:hover, button.bg-warning:focus, button.bg-warning:hover{
	background-color: var(--warning-over) !important;
}
a.bg-info:focus, a.bg-info:hover, button.bg-info:focus, button.bg-info:hover{
	background-color: var(--info-over) !important;
}
a.bg-dark:focus, a.bg-dark:hover, button.bg-dark:focus, button.bg-dark:hover{
	background-color: var(--dark-over) !important;
}
a.bg-light:focus, a.bg-light:hover, button.bg-light:focus, button.bg-light:hover{
	background-color: var(--light-over) !important;
}

.m-negative,
.row.m-negative {
	margin-right: -15px;
	margin-left: -15px;
}

.noOverflow {
	overflow:hidden;
}
.noOverflow-x {
	overflow-x:hidden;
}
.noOverflow-y {
	overflow-y:hidden;
}
.siOverflow {
	overflow:inherit !important;
}

.full-width {
    width: 100%;
}

html, body {
   height: 100%;
}

.wrapper {
   height: 100%;
   margin-left:0;
   margin-right:0;
}

.wrapper:before, .wrapper:after,
.column:before, .column:after {
    content: "";
    display: table;
}

.wrapper:after,
.column:after {
    clear: both;
}

.page-wrapper{
	flex: 1;
}

#sidebar .collapse.in {
    display:inline !important;
}


/* == 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;
}

#login img {
	max-height:120px;
	margin-bottom: 1em !important;
}


/*
 * BARRA LATERALE OFF-CANVAS
 * --------------------------------------------------
 */
@media screen and (min-width: 768px) {
  .row-offcanvas {
    position: relative;
    -webkit-transition: all 0.25s ease-out;
    -moz-transition: all 0.25s ease-out;
    transition: all 0.25s ease-out;
  }

  .row-offcanvas-left.active {
    left: 3%;
  }

  .row-offcanvas-left.active .sidebar-offcanvas {
    left: -3%;
    position: absolute;
    top: 0;
    width: 3%;
    text-align:center;
  }
}

body {
}

p {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5em;
}

a,
a:hover,
a:focus {
    color: inherit;
    text-decoration: none;
    transition: all 0.3s;
}

.navbar {
    padding: 15px 10px;
    border: none;
    border-radius: 0;
    box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
}

.navbar-btn {
    box-shadow: none;
    outline: none !important;
    border: none;
}

.line {
    width: 100%;
    height: 1px;
    border-bottom: 1px dashed #ddd;
    margin: 40px 0;
}

i,
span {
    display: inline-block;
}


.wrapper {
    display: flex;
    align-items: stretch;
}

#sidebar {
	padding:0px;
	position: fixed;
    min-width: 250px;
    max-width: 250px;
	min-height: 100vh;
    transition: all 0.3s;
}

#sidebar.active {
    min-width: 80px;
    max-width: 80px;
    text-align: center;
}

#sidebar.active .sidebar-header .logo{
    display: none;
}

#sidebar.active .sidebar-header .mobile-logo {
    display: block;
}

#sidebar ul li a {
    text-align: left;
}

#sidebar.active ul li a {
    padding: 20px 10px;
    text-align: center;
    font-size: 0.85em;
}

#sidebar.active ul li a i {
    margin-right: 0;
    display: block;
    font-size: 1.8em;
    margin-bottom: 5px;
}

#sidebar.active ul ul a {
    padding: 10px !important;
}


#sidebar.active .dropdown-toggle::after {
    top: auto;
    bottom: 10px;
    right: 50%;
    -webkit-transform: translateX(50%);
    -ms-transform: translateX(50%);
    transform: translateX(50%);
}

#sidebar .sidebar-header {
    padding: 20px;
}

#sidebar .sidebar-header .mobile-logo {
    display: none;
}

#sidebar ul li a {
    padding: 7px 10px 7px 22px;
    font-size: 1em;
    display: block;
	overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#sidebar ul li a i {
    margin-right: 10px;
}

#sidebar.navbar-dark ul li.active>a,
a[aria-expanded="true"] {
    color: #fff;
    background: rgba(0,0,0,0.15);
}

a[data-toggle="collapse"] {
    position: relative;
}

#sidebar .dropdown-toggle::after {
    display: block;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
}

#sidebar ul ul a {
    font-size: 0.9em !important;
    padding-left: 30px !important;
}


/* Navbar dark */

#sidebar.navbar-dark ul li a {
	color: rgba(255,255,255,0.85);
}

#sidebar.navbar-dark ul li a:hover {
    background: rgba(255,255,255,0.15);
	color: rgba(255,255,255,1);
}

#sidebar.navbar-dark ul li.active>a,
a[aria-expanded="true"] {
    color: rgba(255,255,255,1);
    background: rgba(255,255,255,0.15);
}

#sidebar.navbar-dark ul ul a {
    background: rgba(255,255,255,0.15);
}

/* Navbar light */

#sidebar.navbar-light ul li a {
	color: rgba(0,0,0,0.85);
}

#sidebar.navbar-light ul li a:hover {
    background: rgba(0,0,0,0.15);
	color: rgba(0,0,0,1);
}

#sidebar.navbar-light ul li.active>a,
a[aria-expanded="true"] {
    color: rgba(0,0,0,1);
    background: rgba(0,0,0,0.15);
}

#sidebar.navbar-light ul ul a {
    background: rgba(0,0,0,0.15);
}

/* ---------------------------------------------------
    CONTENT
----------------------------------------------------- */

#content {
    width: 100%;
    padding: 20px;
    min-height: 100vh;
    transition: all 0.3s;
	margin-left: 80px;
}

#content.extramargin {
	margin-left: 250px;
}

/* ---------------------------------------------------
    MEDIAQUERIES
----------------------------------------------------- */

@media (max-width: 768px) {
    #sidebar {
        min-width: 80px;
        max-width: 80px;
        text-align: center;
        margin-left: -80px !important;
    }
    .dropdown-toggle::after {
        top: auto;
        bottom: 10px;
        right: 50%;
        -webkit-transform: translateX(50%);
        -ms-transform: translateX(50%);
        transform: translateX(50%);
    }
    #sidebar.active {
        margin-left: 0 !important;
    }
    #sidebar .sidebar-header .logo {
        display: none;
    }
    #sidebar .sidebar-header .mobile-logo {
        display: block;
    }
    #sidebar ul li a {
        padding: 20px 10px;
    }
    #sidebar ul li a span {
        font-size: 0.85em;
    }
    #sidebar ul li a i {
        margin-right: 0;
        display: block;
    }
    #sidebar ul ul a {
        padding: 10px !important;
    }
    #sidebar ul li a i {
        font-size: 1.3em;
    }
    #sidebar {
        margin-left: 0;
    }
    #sidebarCollapse span {
        display: none;
    }
	
	#content {
		margin-left: 80px;
	}

	#content.extramargin {
		margin-left: 0px;
	}
}

@media (max-width: 991.98px) {
.navbar-expand-lg>.container, .navbar-expand-lg>.container-fluid {
    padding-right: 0px;
    padding-left: 15px;
	}
}


/* ---------------------------------------------------
    TOP BAR
----------------------------------------------------- */

#topBar {
	padding: .6em 0;
}

#topBar .dropdown-toggle {
	padding-right: 15px;
}

#topBar .dropdown-toggle strong {
	padding-left: 4px;
}

#topBar.navbar-light .hamburger-inner,
#topBar.navbar-light .hamburger-inner::before,
#topBar.navbar-light .hamburger-inner::after{
	background-color: rgba(0,0,0,1);
}
#topBar.navbar-light .dropdown-toggle{
	color: #000;
}

#topBar.navbar-dark .hamburger-inner,
#topBar.navbar-dark .hamburger-inner::before,
#topBar.navbar-dark .hamburger-inner::after{
	background-color: rgba(255,255,255,1);
}
#topBar.navbar-dark .dropdown-toggle{
	color: #FFF;
}


#topBar ul li.active>a {
    color: var(--primary);
	background: rgba(255,255,255,.1);
}

.contatore-notifiche {
	position: absolute;
	left:0;
	top:-5px;
	height: 28px;
    width: 28px;
    line-height: 28px;
	padding-top: 0;
}


/* == hamburger button == */

.hamburger {
  padding: 5px;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}

button.hamburger:active,
button.hamburger:focus {
	border:none;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
	outline: none;
}

.hamburger:hover {
    opacity: 0.7; }

.hamburger-box {
  width: 30px;
  height: 24px;
  display: inline-block;
  position: relative;
  /*margin-top:6px;*/
}

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -2px;
  /*transform: rotate(180deg);*/
  }
  .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    width: 30px;
    height: 4px;
    background-color: #FFF;
    border-radius: 4px;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.15s;
    transition-timing-function: ease; }
  .hamburger-inner::before, .hamburger-inner::after {
    content: "";
    display: block; }
  .hamburger-inner::before {
    top: -10px; }
  .hamburger-inner::after {
    bottom: -10px; }

.hamburger--arrow.is-active .hamburger-inner::before {
  transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1); }

.hamburger--arrow.is-active .hamburger-inner::after {
  transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1); }

.hamburger.is-active .hamburger-inner::before {
    top: -6px; }
.hamburger.is-active .hamburger-inner::after {
    bottom: -6px; }

.profile-picture {
	height: 40px;
	width: 40px;
	border-radius: 5em;
	display: inline-block;
	margin-right: .5rem;
	border: 2px solid transparent;
	position: relative;
}

.navbar-light .profile-picture {
	background: rgba(0,0,0,1);
}

.navbar-dark .profile-picture {
	background: rgba(255,255,255,1);
}

.profile-picture.lev1,
.profile-picture.lev2,
.profile-picture.lev3{
	border: 2px solid #FFF;
}


.profile-picture.lev1:before,
.profile-picture.lev2:before,
.profile-picture.lev3:before {
	position: absolute;
	bottom: -15px;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	font-size: 9px;
	text-align: center;
	text-shadow: 0 0 25px rgba(0,0,0,.75);
	color: #FFF;
}

.profile-picture.lev1:before{
	content: '\f005';
	left: 14px;
}

.profile-picture.lev2:before{
	content: '\f005  \f005';
	left: 8px;
}

.profile-picture.lev3:before{
	content: '\f005  \f005  \f005';
	left: 2px;	
}


/* ---------------------------------------------------
    MAIN
----------------------------------------------------- */

main {
	position: relative;
}

.page-title {
	margin-bottom: 1rem;
	font-size: 1.7em;
	font-weight: 500;
}

main a:not(.btn), 
main a:not(.btn):visited, 
footer a:not(.btn), 
footer a:not(.btn):visited {
	color: var(--primary);
}

footer a:not(.btn):hover,
main a:not(.btn):hover {
	color: var(--primary-over);
}



/* ---------------------------------------------------
    Footer
----------------------------------------------------- */

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


.footer-superiore .text-light ul li a {
	color: rgba(255,255,255,0.75);
}

.footer-superiore .text-light ul li a:hover {
	color: rgba(255,255,255,1);
}

.footer-superiore .text-dark ul li a {
	color: rgba(0,0,0,0.75);
}

.footer-superiore .text-dark ul li a:hover {
	color: rgba(0,0,0,1);
}

.footer-inferiore p{
	margin-bottom: 0;
}

/* ---------------------------------------------------
    STILE ELEMENTI
----------------------------------------------------- */

/* == dropdown == */

.dropdown-item.active, .dropdown-item:active {
    color: #fff;
    text-decoration: none;
    background-color: var(--primary);
}


/* == box shadow == */

.box-shadow-1
{
    position:relative;
}
.box-shadow-1:before, .box-shadow-1:after
{
    content:"";
    position:absolute;
    z-index:-1;
    -webkit-box-shadow:0 0 20px rgba(0,0,0,0.2);
    -moz-box-shadow:0 0 20px rgba(0,0,0,0.2);
    box-shadow:0 0 20px rgba(0,0,0,0.2);
    top:50%;
    bottom:0;
    left:10px;
    right:10px;
    -moz-border-radius:100px / 10px;
    border-radius:100px / 10px;
}
.box-shadow-1:after
{
    right:10px;
    left:auto;
    -webkit-transform:skew(8deg) rotate(3deg);
       -moz-transform:skew(8deg) rotate(3deg);
        -ms-transform:skew(8deg) rotate(3deg);
         -o-transform:skew(8deg) rotate(3deg);
            transform:skew(8deg) rotate(3deg);
}


/* == Classi contestuali == */

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

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

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

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


/* == Pulsanti == */

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

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

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

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

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

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

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

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

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


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


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


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

/* Variante Link */

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


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


/* Varianti Outline */

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


/* Varianti con icone on mouse over */

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

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

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

/* Varianti social */

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

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

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


/* == Form == */

.form-control:focus {
    color: #495057;
    background-color: #fff;
    border-color: rgba(1,131,148,1.00);
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(1,131,148,.2);
}

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


/* == 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(--warning);
}

.slider-handle {
    background-color: var(--primary);
    background-image: none;
    -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
    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;
}


/* == Dropzone == */

.dropzone {
    border: 2px solid transparent !important;
    background-color: #eee !important;
}

.dropzone .dz-preview .dz-image {
    border-radius: 0px;
}

a.dz-remove {
	background: var(--secondary);
	color: #FFF;
	padding-top: .25rem;
	padding-bottom: .25rem;
}

a:hover.dz-remove {
	background: var(--secondary-over);
	color: #FFF;
	text-decoration: none;
}

.img-container{
	position: relative;
}

.img-container .azioni {
    position: absolute;
    top: .25rem;
    right: .25rem;
	z-index: 1;
}

.posizione-immagine .btn-outline-primary{
	border:  1px solid #ced4da;
}

/* == Paginazione == */

.page-item.active .page-link {
    background-color: var(--primary);
    border-color: var(--primary-over);
}

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

.page-link:hover {
    color: var(--primary-over);
    text-decoration: none;
    border-color: #dee2e6;
}

.page-link:focus {
    box-shadow: 0 0 0 0.2rem rgba(1,131,148,.2);
}

/* == Progress Bar == */
.progress-bar{ background-color: var(--primary); }
.progress-bar.bg-primary{ background-color: var(--primary); }
.progress-bar.bg-secondary{ background-color: var(--secondary); }
.progress-bar.bg-success{ background-color: var(--success); }
.progress-bar.bg-warning{ background-color: var(--warning); }
.progress-bar.bg-danger{ background-color: var(--danger); }
.progress-bar.bg-info{ background-color: var(--info); }
.progress-bar.bg-light{ background-color: var(--light); }
.progress-bar.bg-dark{ background-color: var(--dark); }


/* == Card == */

.card {
	margin-bottom: 1.5rem;
	width: 100%;
    display: inline-block;
    background: #fff;
    border: 1px solid #E6E9ED;
    -webkit-column-break-inside: avoid;
    -moz-column-break-inside: avoid;
    column-break-inside: avoid;
    opacity: 1;
    transition: all .2s ease;
}

.card-header {
	padding: .5rem .5rem .5rem 1.25rem;
	background: #FFF;
}

.card-header .title {
	line-height: 38px;
	font-size: 1.25em;
	font-weight: 500;
	color: var(--primary);
}

.card-header .btn {
	-webkit-border-radius:0;
	-moz-border-radius:0;
	border-radius:0;
}

.card-header.collapsed > div > button[data-toggle="collapse"]{
	content: 'A';
}

.certificazione.active .card-header{
	background: var(--primary);
	color: #FFF;
}

/* == Tabelle == */

.table td, .table th {
    vertical-align: middle;
}

.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(0,0,0,.025);
}

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

.table-dark {
    color: #fff;
	background-color: var(--dark);
}

.table-hover.table-dark tr:hover{
    color: #fff;
	background-color: var(--dark-active) !important;
}


.azioni .salva,
.azioni .visualizza,
.azioni .modifica,
.azioni .duplica {
	color: var(--primary) !important;
}
.azioni .elimina {
	color: var(--danger) !important;
}
.azioni .salva:hover,
.azioni .visualizza:hover,
.azioni .modifica:hover,
.azioni .duplica:hover {
	color: var(--primary-over) !important;
}
.azioni .elimina:hover {
	color: var(--danger-over) !important;
}

/* == widget == */

.widget i {
	background: rgba(255,255,255,0.2);
	padding: .5rem 0.75rem;
	border-right:1px solid rgba(255,255,255,0.2);
	margin-right: .75rem;
}

/** == 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;
}

#content .owl-carousel .owl-stage-outer {
	max-width: calc(100vw - 188px)
}

#content.extramargin .owl-carousel .owl-stage-outer {
	max-width: calc(100vw - 358px)
}

/* ticket */
.ticket p {
	color: #666;
}

.ticket small {
	font-size: 14px;
}

.ticket h6 {
	line-height: 1.4em;
}

.ticket .profile-picture{
	height: 20px;
	width: 20px;
}

.ticket .assegnatario:not(:last-child){
	margin-bottom: .5em;
}

.assegnatari .card{
	height: 100%;
}

.assegnatari .card-header .dropdown-toggle{
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	color: rgba(108, 117, 125, 0.35); 
}

.assegnatari .card-header:hover .dropdown-toggle{
	color: rgba(108, 117, 125, 0.75); 
}

.assegnatari .show>.dropdown-toggle:focus,
.assegnatari .dropdown-toggle:active,
.assegnatari .dropdown-toggle:active:focus{
	color: rgba(108, 117, 125, 1);
	background: none;
	box-shadow: none;
}

.assegnatari .dropdown-toggle:after{
	display: none;
}

.assegnatari .progress {
	height: 3px;
}

.ticket .list-group-item-action {
	padding: 0;
	margin-bottom: 2.5em;
	border: none;
	border-radius: 0;
}

.ticket .list-group-item-action:last-child{
	margin-bottom: 0
}

.ticket .list-group-item-action:active,
.ticket .list-group-item-action:hover{
	background: transparent;
}

.ticket .list-group-item-action a h5{
	color: rgba(0,0,0,0.75);
	margin: 0;
	padding-left: 14px
}

.ticket .list-group-item-action:hover a h5{
	color: rgba(0,0,0,0.85);
	margin: 0;
	padding-left: 14px
}

.ticket .list-group-item-action a h5:before{
	margin-right: .25rem;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	content: '\f068';
	position: absolute;
	left: 0;
	top: 5px;
	font-size: .5em;
}

.ticket .list-group-item-action a.collapsed h5:before{
	margin-right: .25rem;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	content: '\f067';
	position: absolute;
	left: 0;
	top: 5px;
	font-size: .5em;
}

.ticket .list-group-item-action .dropdown-toggle{
	background: transparent;
	border: none;
	padding: 0;
	box-shadow: none;
	color: rgba(108, 117, 125, 0.35);
}

.ticket .list-group-item-action:hover .dropdown-toggle{
	color: rgba(108, 117, 125, 0.5);
}

.ticket .list-group-item-action .dropdown-toggle:hover{
	background: transparent;
	border: none;
	padding: 0;
	box-shadow: none;
	color: rgba(108, 117, 125, 0.75);
}

.ticket .list-group-item-action .show>.btn.dropdown-toggle:focus {
    box-shadow: none;
	color: rgba(108, 117, 125, 1);
}


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

.ticket .dropdown-menu.show {
	-webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.15);
	-moz-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.15);
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.15);
}

.ticket .list-group-flush .list-group-item {
	padding: .25rem 0;
	color: #000;
	background: transparent;
	font-size: 0.95em;
	padding-right: 20px;
}

.ticket .list-group-flush .list-group-item.completo{
	color: var(--success);
}

.ticket .list-group-flush .list-group-item:after{
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	content: '\f110';
	position: absolute;
	right: 0;
}

.ticket .list-group-flush .list-group-item.completo:after{
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	content: '\f13a';
	position: absolute;
	right: 0;
}

.ticket .list-group-flush .list-group-item.scaduto{
	color: var(--danger);
}

.ticket .list-group-flush .list-group-item.scaduto:after{
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	content: '\f057';
	position: absolute;
	right: 0;
}

/* == Admin Bar ==  */

.admin-bar img {
	width: 20px;
	padding: 0;
	margin-left: -2px;
}

.admin-bar{
	position: fixed;
	height: 148px;
	top:calc(50% - 74px);
	bottom:0;
	z-index: 1001;
	right: -1px;
}

.admin-bar .list-group{
	position: relative;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	box-shadow: 0 0 50px -10px rgba(0,0,0,.25);
}
.admin-bar .list-group:hover{
	box-shadow: 0 0 50px 0px rgba(0,0,0,.25);
}

.admin-bar .list-group,
.admin-bar .list-group-item,
.admin-bar a{
	position: relative;
	overflow: inherit !important;
}

.admin-bar .baloon {
	position: absolute;
	top:-1px;
	right: 58px;
	height: 50px;
	padding-left: 12px;
	background: #FFF;
	border: 1px solid rgba(0,0,0,.125);
	border-right: 1px solid #FFF;
	border-top-left-radius: 0.125rem;
	border-bottom-left-radius: 0.125rem;
	white-space: nowrap;
	opacity: 0;
}

.admin-bar li:hover .baloon {
	opacity: 1
}

/* 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: 50px;
}


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: 50px;
}


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;
}


/* == 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, 
.form-group > select {
  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;
}

/** == 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:2;
	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;	
}
