/* Elemental styling */
body {
	margin: 0;
	background: url('../../images/background.gif');
	font-size: 11px;
	font-family: Verdana, Geneva, Arial, sans-serif;
	color: var(--text);
}
a {
	color: var(--text);
	text-decoration: none;
	font-weight: bold;
	font-size: 10px;
}
a:hover {
	color: #a8aedb;
}
label {
	display: inline-block;
}
.validation-failed {
	border: 3px solid Tomato;
}
/* DUO STYLING */
iframe#duo_iframe {
	border: none;
    max-width: 100%;
    height: 330px;
    margin: auto;
    display: block;
}
/* General classes styling */
.left {
	float: left;
}
.right {
	float: right;
}
.clearer {
	clear: both;
}
.button-link, .action-links .button {
	border: none;
	background: transparent;
	cursor: pointer;
	color: #000;
	text-decoration: none;
	font-weight: bold;
	font-size: 10px;
}
.button-link:hover, .action-links .button:hover {
	color: #a8aedb;
}
.max-width {
	width: 100%;
}
.notice-message {
	color: #dc0000;
	margin-bottom: 10px;
	font-size: 12px;
}
.margin-bottom {
	margin-bottom: 20px;
}
.hidden {
	display: none;
}
/* Template styling */
.wrapper {
	width: 970px;
	margin: 0 auto;
}
.wrapper.large-wrapper {
	width: 100%!important;
}
.header .actions-bar {
	height: 40px;
	background-color: var(--main);
	color: #fff;
	text-align: right;
}
.header .actions-bar * {
	vertical-align: bottom;
}
.header .actions-bar .expire-notice {
	float: left;
    color: #dc0000;
    font-weight: bold;
    margin: 12px 0 0 15px;
}
.header .content-bar {
	background-color: var(--background);
}
.header .content-bar > * {
	vertical-align: top;
}
.header .content-bar ul {
	list-style: none;
	float: left;
	width: 250px;
	padding-left: 0;
}
.header .content-bar ul:first-child {
	margin-right: 30px;
	width: 200px;
}
.header .content-bar ul li {
	margin-bottom: 10px;
}
.header .content-bar ul li:last-child {
	margin-bottom: 0;
}
.header .content-bar ul div {
	display: inline-block;
}
.header .logo {
	display: inline-block;
	width: 400px;
	text-align: center;
}
.header .logo img {
	width: 170px;
}
.header .account-info {
	display: inline-block;
	width: 560px;
	height: 30px;
}
.header .account-info li * {
	vertical-align: top;
}
.middle-bar {
	background-color: var(--main);
	color: #fff;
}
.middle-bar > * {
	vertical-align: middle;
}
.middle-bar .menu-container {
	display: inline-block;
}
.middle-bar ul.menu {
	margin: 0 0 0 5px;
	list-style: none;
	padding: 3px 5px;
}
.middle-bar ul.menu > li {
	display: inline-block;
	position: relative;
	float: left;
}
.middle-bar ul.menu > li > a {
	display: block;
	width: 100px;
	color: #fff;
	line-height: 20px;
	border-right: 1px solid #fff;
	margin-right: 1px;
	font-weight: bold;
	text-align: center;
}
.middle-bar ul.menu > li > a:hover {
	background-color: var(--second);
}
.middle-bar ul.menu ul.children {
	display: none;
	position: absolute;
	top: 20px;
	background-color: #EAEBD8;
	color: #2875DE;
	list-style: none;
	padding: 0;
	border: 1px solid #2875DE; 
}
.middle-bar ul.menu ul.children a {
	color: #2875DE;
	display: block;
	width: 100px;
	padding: 5px 10px;
	font-weight: normal;
}
.middle-bar ul.menu ul.children a:hover {
	background-color: var(--second);
	color: #fff;
}
.middle-bar ul.menu > li:hover ul.children {
	display: block;
}
.middle-bar .current-date {
	display: inline-block;
	margin-left: 15px;
	line-height: 26px;
}
.content {
	background-color: var(--background);
	min-height: 365px;
	padding: 20px 10px;
}
.footer .help-bar {
	background-color: var(--main);
	color: #fff;
	line-height: 17px;
	padding-left: 15px;
}
.footer .copyright-bar {
	background-color: #fff;
	line-height: 17px;
	padding-left: 15px;
}
/* Form styling */
.input-row {
	margin-bottom: 5px;
}
.pdf-data {
	margin-top: 20px;
}
.buttons-set {
	text-align: center;
}
.button-action.btn-copy {
	margin-left: 250px;
}
/* Login form */
.login-form {
	text-align: center;
}
.login-form form {
	display: inline-block;
}
.login-form label {
	width: 110px;
}
.login-form input[type="text"], .login-form input[type="password"] {
	width: 140px;
}
/* Overview Page */
.roster-change {
    margin-bottom: 9px;
    padding: 10px;
    text-align: center;
    background-color: tomato;
    color: #fff;
    clear:both;
}
.top-part .filter-form {
	display: inline-block;
	width: 350px;
}
.top-part .filter-form label {
	display: inline-block;
	width: 75px;
}
.top-part .filter-form input[type="text"] {
	width: 175px;
}
.top-part .page-title {
	display: inline-block;
	float: right;
	margin-top: -15px;
}
.top-part .page-title h1 {
	margin: 0;
}
.top-part .page-title .title-sublink {
	margin-top: 10px;
}
.overview-table .data, .data-table {
	border-spacing: 5px;
	border-collapse: collapse;
	font-size: 11px;
	width: 100%;
}
.overview-table .data thead th, .data-table thead th {
	font-size: 10px;
	color: #fff;
	font-weight: bold;
	background-color: var(--main);
	text-align: left;
	padding: 5px;
}
.overview-table.multi .data tbody tr.is-holiday {
	background-color: #23e400;
}
.overview-table .data tbody tr:nth-child(2n+1), .data-table tbody tr:nth-child(2n+1) {
	background-color: #EFF3FB;
	color: #2E3850;
}
.overview-table .data tbody tr:nth-child(2n+0), .data-table tbody tr:nth-child(2n+0) {
	background-color: #fff;
	color: #2E3850;
}
.overview-table .data tbody tr:hover, .overview-table.multi .data tbody tr.is-holiday:hover, .overview-table .data tbody tr:hover a, .data-table:not(.no-hover) tbody tr:hover, .data-table tbody tr:hover a {
	background-color: var(--second);
	color: #fff;
}
.overview-table .data tbody tr td, .data-table tbody tr td {
	padding: 5px;
}

.overview-table .data tfoot tr, .data-table tfoot tr {
	background-color: var(--main);
}
.overview-table .data tfoot tr td, .data-table tfoot tr td {
	padding: 5px;
}
.overview-table .data tfoot tr a, .data-table tfoot tr a {
	color: #fff;
}
.overview-table .data tfoot tr a:hover, .data-table tfoot tr a:hover {
	color: #000;
}
.overview-table .data tfoot tr a.selected, .data-table tfoot tr a.selected {
	color: #000;
}
.overview-table .data.schedule-data tfoot tr, .data-table tfoot tr {
	color: #fff;
}
.overview-table .data.schedule-data tbody tr.late-night {
	background-color: Tomato;
	color: #fff;
}
.overview-table .data.schedule-data tbody td .night-message {
	display: inline-block;
	color: Tomato;
	font-weight: bold;
}
.overview-table .schedule-data {
	margin-bottom: 20px;
}
.overview-table .schedule-data a.exception-link {
	color: #de9b05;
}
.action-buttons {
	margin-top: 10px;
}
/* remark popup */
#day-remark-popup .button {
	cursor: pointer;
}
#day-remark-popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
#day-remark-popup .background-part {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
}
#day-remark-popup .content-part {
    position: relative;
    z-index: 3;
    margin: 20px auto 0;
    width: 270px;
    max-width: 100%;
    background: #fff;
    padding: 15px;
}
#day-remark-popup .body-part textarea {
    width: 100%;
    height: 150px;
}
#day-remark-popup .header-part {
    margin-bottom: 20px;
    font-weight: bold;
}
#day-remark-popup .footer-part {
    margin-top: 20px;
}
/* View Page */
.view-data > * > * {
	vertical-align: top;
}
.view-data .view-row {
	display: flex;
}
.view-data .label {
	flex: 0 0 30%;
	padding: 5px;
	background-color: #DEE8F5;
	font-weight: bold;
}
.view-data .value {
	flex: 1;
	padding: 5px;
	overflow: hidden;
	min-height: 13px;
}
.view-data .view-row:nth-child(2n+1) .value {
	background-color: #fff;
}
.view-data .view-row:nth-child(2n+0) .value {
	background-color: #EFF3FB;
}
.view-data .view-row {
	clear: left;
}
.view-data .view-row:hover > div {
	background-color: var(--second)!important;
	color: #fff!important;
}
.action-links {
	clear: left;
	padding-top: 10px;
}
/* Edit Page */
/* temp */
.edit-form.schedule-form {
	display: inline-block;
	width: 50%;
}
.calculate-distance {
	float: right;
	width: 45%;
	height: 500px;
}
/* end temp */
.edit-form * {
	vertical-align: top;
}
.edit-form .edit-row {
	display: flex;
}
.edit-form .edit-row > label {
	flex: 0 0 30%;
	padding: 5px;
	background-color: #DEE8F5;
	font-weight: bold;
}
.edit-form .input-entry {
	flex: 1;
	padding: 5px;
	overflow: hidden;
	background-color: var(--main);
	min-height: 21px;
	color: #fff;
}
.edit-form .input-entry input[type="text"], .edit-form .input-entry input[type="password"], .edit-form .input-entry select {
	width: 100%;
}
.edit-form .input-entry textarea {
	width: 100%;
	height: 100px;
}
.edit-form .edit-row:hover > label {
	background-color: var(--second);
	color: #fff;
}
.edit-form .edit-row .input-entry label.checkbox-label {
	line-height: 17px;
}
/* Overviews */
.calendar-part {
	margin-bottom: 25px;
}
.calendar-part .calendar-item {
	display: inline-block;
	width: 300px;
}
.calendar-part .calendar-item label {
	display: block;
	margin-bottom: 10px;
}
.calendar-part .display-options {
    margin-top: 20px;
}
.result-overview .result-title, .result-overview .result-customers, .result-overview .result-employee_type {
	margin-bottom: 10px;
}
.selectors-top {
	margin-bottom: 20px;
}
.selectors-top * {
	vertical-align: top;
}
.selectors-top .calendar-part {
	display: inline-block;
}
.selectors-top .calendar-part .calendar-item {
	width: 230px;
}
.selectors-top .selector-part {
	display: inline-block;
}
.selectors-top .selector-item label {
	width: 140px;
}
.selectors-top .selector-entry {
	display: inline-block;
}
.result-part .result-export {
	margin-top: 20px;
}
.remove-row {
	display: none;
}
/* PDF generator */
input.small-input, select.small-input, .edit-form .input-entry input.small-input {
	width: 50px;
}
input.micro-input, select.micro-input {
	width: 25px;
}
/* Timetable */
.timetable-container .object-part {
	margin-bottom: 15px;
}
.timetable-container .new-part-container {
	margin-bottom: 40px;
}
.timetable-container .new-part-container .table-container {
	margin-top:  20px;
}
.timetable-container .schedule-information {
	margin-bottom: 20px;
}
.timetable-container .schedule-information .row-entry {
	margin-bottom: 5px;
}
.timetable-container .schedule-information label {
	font-weight: bold;
	display: inline-block;
	width: 150px;
}
.timetable-container .left-side {
	float: left;
	width: 30%;
}
.timetable-container .right-side {
	float: left;
	width: 70%;
	position: relative;
	overflow-x: scroll;
}
.timetable-container .table-overview:after {
	content: '';
	display: block;
	clear: both;
}
.timetable-container .timetable-table .hours-spend {
	background-color: #ffa8a8;
}
.timetable-container .timetable-table tbody td:nth-child(2), .timetable-container .timetable-table tbody td:nth-child(3) {
	min-width: 75px!important;
}
.timetable-container #timetable-table-left tbody td:last-child {
	border-right: 2px solid #797979;
}
.timetable-container #timetable-table-right tbody td {
    min-width: 100px!important;
}
.timetable-container #timetable-table-right tbody td:not(:first-child) {
	border-left: 1px solid #797979;
}
.timetable-container .timetable-table thead th:not(:first-child), .timetable-container #timetable-table-right thead th, .timetable-container .timetable-table tbody td:not(:first-child) {
	text-align: center;
	cursor: default;
}
.timetable-container .timetable-table tbody tr.open-shifts {
	background-color: #66d86f;
	font-weight: bold;
}
.timetable-container .timetable-table tbody td:not(:first-child) {
	position: relative;
 	padding: 10px 5px;
}
.timetable-container .timetable-table tbody td .drag-item {
	width: 103px;
	height: 20px;
	line-height: 20px;
	padding-right: 5px;
}
.timetable-container .timetable-table tbody td .drag-item.history-item {
    background-color: var(--main)!important;
    color: #fff;
}
.timetable-container .timetable-table tbody td .drag-item.schedule-locked {
	background-color: #ffa8a8;
}
.timetable-container .timetable-table tbody td .drag-item .lock-schedule {
    vertical-align: bottom;
}
.timetable-container .timetable-table tbody td .drag-item .hover-init {
	position: relative;
}
.timetable-container .timetable-table tbody td .object-tooltip {
	display: none;
	position: absolute;
	left: 0;
    top: -5px;
    color: #000;
    background-color: #fff;
    padding: 5px;
    border: 1px solid #000;
    border-radius: 10px;
    z-index: 3;
    cursor: default;
    white-space: nowrap;
}
.timetable-container .timetable-table tbody td:not(.ui-state-hover) .drag-item .hover-init:hover:not(.ui-draggable-dragging) .object-tooltip, .timetable-container .timetable-table tbody tr.open-shifts td .drag-item:hover:not(.ui-draggable-dragging) .object-tooltip {
	display: block;
}
.timetable-container .timetable-table thead .active-date {
	color: #f3db31;
}
.timetable-container .timetable-table tbody .selected-schedule {
	background-color: #f3db31;
}
.timetable-container .employee-adder {
	margin-top: 20px;
}
.timetable-container .kilometeric-information .title {
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 5px;
}
.timetable-container .table-overview {
	padding-top: 10px;
	position: relative;
}
.timetable-container .table-overview #table-loader {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.5);
	z-index: 9;
}
.timetable-container .employee-info .remove-employee {
    color: #000;
    background-color: transparent;
    cursor: pointer;
    position: absolute;
    right: 0;
    top: calc(50% - 5px);
}
.timetable-container .employee-info .remove-employee:hover {
    color: #f00;
}
.timetable-container td.employee-info {
    position: relative!important;
    padding-right: 15px!important;
}
/* Percentage settings */
.holiday-picker #datepicker {
    margin-bottom: 25px;
    margin-top: 25px;
}
.holiday-picker .ui-datepicker-calendar .ui-state-highlight td.ui-state-default {
	border-color: var(--main);
}
.holiday-picker #datepicker .ui-datepicker-calendar td.ui-state-highlight {
	border-color: var(--main);
	background: none;
}
.holiday-picker .ui-datepicker-calendar .ui-state-active {
	background: none;
	border: 1px solid #c5c5c5;
	color: #454545;
}
.holiday-picker .ui-datepicker-today .ui-state-default {
	border: 1px solid #c5c5c5;
    background: #f6f6f6;
    font-weight: normal;
    color: #454545;
}
/* popup generator */
.popup-container {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}
.popup-content {
    width: 500px;
    background: #fff;
    height: auto;
    margin: 0 auto;
    z-index: 9;
    position: relative;
    padding: 10px;
    border-radius: 5px;
    top: 100px;
}
.popup-content:after {
	display: block;
	content: '';
	clear: both;
}
.popup-content .thumbnail {
	float: right;
}
.popup-content .view-row {
    padding-right: 100px;
    margin-bottom: 5px;
}
.popup-content .view-row .label {
    display: inline-block;
    font-weight: bold;
}
.popup-content .view-row .label:after {
    content: ':';
}
.popup-content .view-row .value {
    display: inline-block;
}

.popup-content .view-row:last-child {
    margin-bottom: 0;
}
.popup-content .attributes {
    margin-bottom: 15px;
}
.popup-content .button-set {
	margin-top: 15px;
	float: right;
}
h2 {
    margin-top: 0;
}

.popup-background {
	position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.5);
    z-index: 2;
}
/* Changes after design change */
.content .current-date, .content .schedule-tooltip, .content .schedule-data .icon-nightshift {
	display: none;
}
.edit-form .input-entry.mobile-filter-select input, .selector-item .selector-entry.mobile-filter-select input {
    display: none;
}
.overview-table .data tbody .day-comment i {
	color: var(--main);
}
/* Model styling */
.w3-modal.left-full {
	padding:0;
}
.w3-modal.left-full .w3-modal-content {
	margin-left: 0;
	min-height: 100%;
}
/* Onepage Styling */
.top-part {
	margin-bottom: 20px;
}
.top-part:after {
	content: '';
	display: block;
	clear: both;
}
.top-part .employee-filters {
	float: left;
	width: 30%;
}
.top-part .period-info {
	float: right;
	width: 70%;
}
.top-part .period-dates {
	text-align: right;
}
.top-part .prev-period-button {
	display: inline-block;
	margin-right: 20px;
}
.top-part .current-period {
	display: inline-block;
	min-width: 200px;
	text-align: center;
}
.top-part .next-period-button {
	display: inline-block;
}
.middle-part .scroll-part {
	max-height: 400px;
	overflow: scroll;
	width: 100%;
}
.middle-part .scroll-part::-webkit-scrollbar {
	display: none;
}
.middle-part .employee-list {
	float: left;
	width: 15%;
}
.middle-part .schedule-list {
	float: right;
	width: 85%;
	overflow-y: scroll;
}
.employee-item {
	line-height: 25px;
	height: 25px;
	border-bottom: 1px solid #000;
	font-size: 10px;
}
.employee-item.hover {
	background-color: #33a700;
	color: #fff;
}
.employee-item:after {
	content: '';
	display: block;
	clear: both;
}
.employee-item .employee-name {
	float: left;
	width: 66%;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	padding-left: 5px;
}
.employee-item .employee-period {
	float: left;
	width: 17%;
	text-align: center;
}
.employee-item .employee-period.work-spend {
	color: #f00;
}
.employee-item .employee-contract {
	float: left;
	width: 17%;
	text-align: center;
}
.schedule-row {
	width: max-content;
	border-bottom: 1px solid #000;
}
.schedule-day-item {
	float: left;
	width: 75px;
	min-height: 25px;
	border-left: 1px solid #000;
	text-align: center;
}
.schedule-days .schedule-day-item {
	font-size: 12px;
}
.schedule-day-item.outside-schedule {
	background-color: #ffd8a3;
}
.schedule-day-item.schedule-history-item {
	background-color: var(--main)!important;
}
.schedule-day-item span.schedule-info.selected-schedule {
	background-color: #33a700!important;
	color: #fff!important;
}
span.schedule-info.history-item {
	background-color: var(--main)!important;
	color: #fff;
}
span.schedule-info {
	position: relative;
	font-size: 8px;
	width: 70px;
	display: block;
	border: 1px solid #000;
	margin: 4px auto;
	border-radius: 5px;
	padding: 5px;
	background-color: #fff;
	cursor: pointer;
}
.schedule-info:hover span.schedule-time-tooltip {
	display: block;
}
span.schedule-time-tooltip {
	display: none;
	position: absolute;
	top: 0;
	width: fit-content;
	left: 0;
	background-color: #fff;
	color: #000;
	border: 1px solid #000000;
	padding: 5px;
	border-radius: 5px;
	pointer-events: none;
	z-index: 2;
}
.schedule-row:after {
	content: '';
	display: block;
	clear: both;
}
.middle-part {
	max-height: 425px;
	overflow:hidden;
}
.header-part:after {
	content: '';
	display: block;
	clear: both;
}
.bottom-part {
	border-top: 2px solid #000;
}
.bottom-part .object-filters, .middle-part .employee-title {
	float: left;
	width: 15%;
}
.bottom-part .open-shifts, .middle-part .schedule-days {
	float: right;
	width: 85%;
	overflow-y: scroll;
}
.bottom-part .active-filters {
	margin: 10px 0;
}
.bottom-part:after {
	content: '';
	display: block;
	clear: both;
}
.schedule-day-item.selected-day {
	background-color: #d1f1dc;
	cursor: pointer;
}
.schedule-days .schedule-day-item.selected-day {
	cursor: default;
}
.display-filters {
	margin-top: 10px;
}
.display-filters .filter-item {
	float: left;
	width: 30%;
	margin-right: 5%;
}
.display-filters .filter-item:nth-child(3n) {
	margin-right: 0%
}
.display-filters:after {
	content: '';
	display: block;
	clear: both;
}
.active-filters .display-filter-info {
	font-size: 12px;
	display: inline-block;
	border: 1px solid #000;
	border-radius: 5px;
	padding: 3px;
	margin-bottom: 5px;
}
/* Customize the label (the container) */
label.container {
	display: block;
	position: relative;
	padding-left: 35px;
	margin-bottom: 12px;
	cursor: pointer;
	font-size: 12px;
	line-height: 21px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

/* Hide the browser's default checkbox */
label.container input {
	position: absolute;
	opacity: 0;
	cursor: pointer;
	height: 0;
	width: 0;
}

/* Create a custom checkbox */
.checkmark {
	position: absolute;
	top: 0;
	left: 0;
	height: 25px;
	width: 25px;
	background-color: #eee;
}

/* On mouse-over, add a grey background color */
label.container:hover input ~ .checkmark {
	background-color: #ccc;
}

/* When the checkbox is checked, add a blue background */
label.container input:checked ~ .checkmark {
	background-color: #2196F3;
}
/* Create the checkmark/indicator (hidden when not checked) */
label.container .checkmark:after {
	content: "";
	position: absolute;
	display: none;
}

/* Show the checkmark when checked */
label.container input:checked ~ .checkmark:after {
	display: block;
}

/* Style the checkmark/indicator */
label.container .checkmark:after {
	left: 9px;
	top: 5px;
	width: 5px;
	height: 10px;
	border: solid white;
	border-width: 0 3px 3px 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
#loader-popup {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 999;
	background-color: rgba(255, 255, 255, 0.8);
}
/* responsive */
@media screen and (max-width: 1023px) {
	.edit-form .input-entry.mobile-filter-select input, .selector-item .selector-entry.mobile-filter-select input {
	    display: inline-block;
		width: 25%;
	    padding: 0;
	}
	.edit-form .input-entry.mobile-filter-select select, .selector-item .selector-entry.mobile-filter-select select {
	    width: 70%;
	    float: right;
	}	
}
