@font-face {
    font-family: "huddlefont";
    src: url("../fonts/avenir-next-regular.woff") format('woff');
}

@font-face {
    font-family: "huddlefont";
    src: url("../fonts/avenir-next-bold.woff") format('woff');
    font-weight: bold;
}

@font-face {
    font-family: "huddlefont";
    src: url("../fonts/avenir-next-italic.woff") format('woff');
    font-style: italic;
}

html, body {
	font-family: huddlefont;
	color: #ffffff;
	font-size: 16px;
}

/* green customize */
.input-group-addon {
    padding: 6px 12px;
    font-size: 14px;
    font-weight: normal;
    line-height: 1;
    color: #fff;
    text-align: center;
    background-color: #228835;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.close-input-group {
    padding: 6px 12px;
    font-size: 14px;
    font-weight: normal;
    line-height: 1;
    color: #fff;
    text-align: center;
    background-color: #228835;
    border: 1px solid #ccc;
    border-radius: 4px;
    
    width: 1%;
    white-space: nowrap;
    vertical-align: middle;
    
    display: table-cell;
}

/* bootstrap extension */
@media (min-width: 1920px) {
  .container {
    width: 1800px;
  }
}
@media (min-width: 1610px) {
  .container {
    width: 1550px;
  }
}



@media screen and (max-width: 1200px) {
	
	html, body {
		font-size: 13px;
	}
	
	.input-group-addon {
	    font-size: 13px;
	}
	
	.close-input-group {
	    font-size: 13px;
	}

	.form-control {
	    font-size: 13px;
	}
}


@media screen and (max-width: 1100px) {
	
	html, body {
		font-size: 12px;
	}
	
	.input-group-addon {
	    font-size: 12px;
	}
	
	.close-input-group {
	    font-size: 12px;
	}

	.form-control {
	    font-size: 12px;
	}
}

@media screen and (max-width: 800px) {
	
	html, body {
		font-size: 11px;
	}
	
	.input-group-addon {
	    font-size: 11px;
	}
	
	.close-input-group {
	    font-size: 11px;
	}
	
	.form-control {
	    font-size: 11px;
	}
}


.overlayhide {
    display: none;
}

.overlayshow {
    background: rgba(0,0,0,0.5);
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index:1000;
}

#wrapper {
   height:100%;
   width: 100%;
   margin: 0;
   padding: 0;
   border: 0;
}

#wrapper td {
   vertical-align: middle;
   text-align: center;
}

.alertify .alert .msg, .alertify .dialog .msg {
	color: #000000;
}

#fullpage {
	height: 100%;
    position: relative;
    touch-action: none;
    transform: translate3d(0px, 0px, 0px);
    transition: all 700ms ease;
   }

#section0 {
    background-image: url(../images/background.jpg);
	background-size: cover;
	background-position: right bottom;
	text-align: center;
	width: 100%
	
}

#section1 {
    background-image: url(../images/background.jpg);
	background-position: right bottom;
	background-size: cover;
	text-align: center;
	width: 100%
}

#section2 {
    background-image: url(../images/background.jpg);
	background-position: right bottom;
	background-size: cover;
	text-align: center;
	width: 100%
}

#section3 {
    background-image: url(../images/background2.jpg);
	background-position: right bottom;
	background-size: cover;
	text-align: center;
	width: 100%
}


#content0, #content1, #content2, #content3, #content4 {
	text-align: -ms-center;
	text-align: -moz-center;
	text-align: -webkit-center;
    display: flex;
    justify-content: center;
    align-items: center;
	height: 100%;
}


/* The side navigation menu */
.sidenav {
    height: 100%; /* 100% Full-height */
    width: 0; /* 0 width - change this with JavaScript */
    position: fixed; /* Stay in place */
    z-index: 1; /* Stay on top */
    top: 0;
    left: 0;
    background-color: rgba(250, 250, 250, 0.75);
    overflow-x: hidden; /* Disable horizontal scroll */
    padding-top: 60px; /* Place content 60px from the top */
    transition: 0.5s; /* 0.5 second transition effect to slide in the sidenav */
    color: #101010;
}

.breadcrumb {
    padding: 8px 15px;
    margin-bottom: 20px;
    list-style: none;
    background-color: #ffe643;
    border-radius: 4px;
}

.indicators {
	position: absolute;
    top: 10px;
    left: 100px;
    padding: 8px 15px;
    margin-bottom: 20px;
    list-style: none;
    border-radius: 4px;
}

.breadcrumbbar {
    position: absolute;
    top: -25px;
    right: 0px;
    z-index: 99999;
    margin: 30px;
    color: white;
}

/* The navigation menu links */
.menuopen {
    position: absolute;
    top: -10px;
    left: 15px;
    z-index: 99999;
    margin: 30px;
    color: white;
    cursor: pointer
}

@media only screen and (max-width: 765px) {
	.menuopen {
	    position: absolute;
	    top: -10px;
	    left: 0px;
	    z-index: 99999;
	    margin: 30px;
	    color: white;
	    cursor: pointer
	}
}

.sidenav a {
    padding: 2px 2px 2px 0px;
    text-decoration: none;
    color: #101010;
    display: block;
    transition: 0.1s
}

.sidenavopen {
	width: 280px
}

.sidenavclose {
	width: 42px
}

@media only screen and (max-width: 765px) {
	
	.sidenavopen {
		width: 230px
	}
	
	.sidenavclose {
		width: 0px
	}
}

/* When you mouse over the navigation links, change their color */
.sidenav a:hover, .offcanvas a:focus{
    color: #f1f1f1;
}

/* Position and style the close button (top right corner) */
.sidenav .closebtn {
    position: absolute;
    top: 0;
    right: 2px;
    font-size: 36px;
    margin-left: 50px;
}

#sidenav {
    background-image: url(../images/menu.jpg);
    background-size: cover;
}

.navicon {
	height: 20px;
	z-index: -1; 
	pointer-events: none; 
}

.submenu {
	padding-left: 40px
}


/* pad bottom */
.pad10 {
	padding-bottom: 10px
}

/* line border */
.linebottom {
    border-bottom-color: #ffffff;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    padding-bottom: 5px;
    margin-bottom: 5px;
}

.linetop {
    padding-top: 5px;
    margin-top: 5px;
	border-top-color: #ffffff;
    border-top-width: 1px;
    border-top-style: solid;
}

button:hover {
    color: white;
    text-decoration: none;
    background: none;
    border: 0;
}

button.large {
    padding: 9px 14px;
    font-size: 18px;
    font-weight: 400;
    line-height: 17px;
}

@media screen and (max-width: 765px) {
	button.large {
	    padding: 9px 14px;
	    font-size: 14px;
	    font-weight: 400;
	    line-height: 16px;
	}
}

button.verylarge {
    padding: 9px 14px;
    font-size: 22px;
    font-weight: 400;
    line-height: 17px;
}

button {
    margin-right: 10px;
    margin-bottom: 5px;
	display: inline-block;
    text-decoration: none;
    vertical-align: baseline;
    cursor: pointer;
    border-top-left-radius: 2px;
    border-top-right-radius: 2px;
    border-bottom-left-radius: 2px;
    border-bottom-right-radius: 2px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
    appearance: none;
    position: relative;
    padding: 5px 7px;
    margin: 0;
    font-family: huddlefont;
    font-size: 16px;
    line-height: 16px;
    color: white;
    text-align: center;
    text-shadow: none;
    background: none;
    border: 0;
    outline: none;
}			

button.blue {
    background-color: #443cf6;
}

button.orange {
    background-color: #ffa500;
}

button.orange:disabled {
    background: rgba(255, 165, 00, 0.5);
}

button.blue:hover {
    background-color: #4a42ff;
}

a {
    text-decoration: none;
    color: #ffffff;
    outline: none;
}

input {
    color: #000000;
}

.title {
	font-weight: 500;
    color: #000000;
}

@media only screen and (min-width: 765px) {
	.title {
	    font-size: 35px;
	}	
}

/* login panel */
input.login {
	font-size: 110%;
}

.logo {
	height: 160px;
}

@media screen and (max-width: 765px) {

	input.login {
		font-size: 100%;
	}

	.logo {
		height: 50px;
	}
}

/* data box */
.dataBox {
	background: rgba(255,255,255,0.95); 
	color: #000000; 
	border: 1px solid #000000; 
} 
	
.titleHighline {
	background: rgba(220,220,220,0.5);
}	
	
/* table stylish */
.defaultDataTable {
	font-size: 90%
}	

.tablesearchtext {
    width: 100px;
    font-size: 80%;
    height: 30px;
    padding-left: 2px;
}

.tablesearchselect {
    width: 120px;
    font-size: 80%;
    height: 30px;
    padding-left: 2px;
}

.tablesearchselectshort {
    width: 60px;
}


table.dataTable thead th {
    padding: 10px;
    font-size: 95%;
    text-align: center;
}

table.dataTable tbody th, table.dataTable tbody td {
    text-align: center;
}

table.searchheader {
	vertical-align: top; 
	width: 100%; 
	height: 80px
}

table.searchheader tbody td {
	border-bottom: 0px; 
	text-align: -webkit-center;
}


.toggle.btn {
    min-width: 90px; 
    min-height: 30px;
}

.toggle-on.btn {
    padding-right: 0px;
}

.toggle-off.btn {
    padding-left: 0px;
}

label.toggle-on  label.toggle-off {
	line-height: 5px;
}

.help-block {
    display: block;
    margin-top: 5px;
    margin-bottom: 10px;
    color: #f55757;
}	

button.dt-button, div.dt-button, a.dt-button, 
button.dt-button:hover:not(.disabled), div.dt-button:hover:not(.disabled), a.dt-button:hover:not(.disabled)
{
    border-radius: 0px;
	
    margin-right: 10px;
    margin-bottom: 5px;
	display: inline-block;
    text-decoration: none;
    vertical-align: baseline;
    cursor: pointer;
    border-top-left-radius: 2px;
    border-top-right-radius: 2px;
    border-bottom-left-radius: 2px;
    border-bottom-right-radius: 2px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
    appearance: none;
    position: relative;
    padding: 5px 7px;
    margin: 0;
    font-family: huddlefont;
    font-size: 16px;
    line-height: 16px;
    color: #000000;
    text-align: center;
    text-shadow: none;
    background: none;
    border: 0;
    outline: none;
    background: rgba(255, 165, 00, 0.5);
}

/* file input style */
.file-caption-name {
    min-width: 200px;
}

th.vertical { 
	background: rgba(100,100,100, .8);
    height: 130px;
    /* 
      min-width is large enough to stop 
      the longest header text you will have from 
      overlapping when the table is the smallest it will be 
    */
}

th.notworkinday, td.notworkinday {
	background: rgba(160,160,160, .8);
}

th.today, td.today {
    background: rgba(0,200,0, .6);
}

th.vertical > span {
    display: block;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    font-weight: bold;
    text-transform: uppercase;
    max-width: 156px;
    /*
    color: #FFF;
      max-width contains the span and 
      must match the height of the th minus 
      any padding you want 
    */
}

td.fixedheight {
    line-height: 40px;
}

td.centertext {
    text-align: center;
}

td.centertext input {
    width: 50px;
    background: transparent;
    border-color: black;
    border-style: dashed;
    font-size: 110%;
    text-align: center;
	font-weight: bold;
}

td.centertext input.notworkinday {
	border-color: #ccc
}

tr.darkeven {
	background: rgba(180, 180, 180, 0.5)
}

tr.even {
	background: rgba(200, 200, 200, 0.5)
}

tr.odd {
	background: rgba(100, 100, 100, 0.5)
}

table#working_table {
	font-size: 100%;
	color: black;
}

table#working_table > thead > tr > th  {
	color: black;
}

table#working_table > thead > tr > th > button {
	color: black;
}


.workingtimetablehours {
	color: black;
}

@media screen and (max-width: 765px) {
	
	table#working_table  {
		font-size: 12px;
	}
}

.details-control {
	min-width: 160px
}


.badge {
    display: inline-block;
    min-width: 10px;
    padding: 2px 5px;
    font-size: 12px;
    font-weight: normal;
    line-height: 1;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    background-color: #fdae24;
    border-radius: 10px;
}

.rightroundborder {
	border-radius: 0px 4px 4px 0px;
}

.mandatory {
	display: flex; 
	color: #FF0000;
	font-size: 90%;
}

.nav-tabs > li > a {
    color: #555;
}

.redtext {
	color: red;
}


.backgroundGrey {
    background-color: #CCCCCC 
}
.backgroundLightGrey {
    background-color: #C4C4C4 
}
.backgroundDarkGrey {
    background-color: #BBBBBB 
}


.table-container {
  max-height: 500px;
  max-width: 100%;
  overflow: auto;
  position: relative;
}

#lr_table {
  border-collapse: collapse;
  width: max-content; /* importante per scroll orizzontale */
}



/* Prima riga fissa */
.sticky-header {
  position: sticky;
  top: 0;
  background-color: #f0f0f0;
  color: #808080;
  z-index: 10;
}

/* Prima colonna fissa */
.sticky-col {
  position: sticky;
  left: 0;
  background-color: #f0f0f0;
  color: #808080;
  z-index: 5;
}

/* Prima colonna fissa */
.sticky-col-1 {
  position: sticky;
  left: 120px;
  background-color: #f0f0f0;
  color: #808080;
  z-index: 5;
}

td.sticky-nwd {
  background-color: #808080;
  color: #404040;
}

/* Angolo in alto a sinistra */
.sticky-header.sticky-col {
  z-index: 15;
  background-color: #ddd;
}

.modified-row {
    background-color: #fff3cd !important;
}
