/* DOCUMENT
*/
html {
	height: 100%;
}

body {
	margin: 0;
	padding: 0;
	color: #4d4d4d;
	font-size: 13px;
	text-align: left;
	background-color: #ddd;
	background-attachment: fixed;
	background-image: url("../img/witewall_3.png");
	height: 100%;
}

a {
	font-weight: bold;
	color: #455560;
}

a:hover {
	text-decoration: none;
	color: #C41230;
}

/* h1.logo {
	text-indent: -9999px;
	background: url('../img/header_page.png') no-repeat;
	height: 53px;
} */
h2,
h3,
h5 {
	font-family: Impact, Charcoal, sans-serif;
}

h2,
h5 {
	color: #3E4C51;
	margin: 10px 0;
}

h2:after,
h5:after {
	content: ' ';
	display: block;
	border-top: 2px solid #C41230;
}

h2 i {
	opacity: 0.4;
}

h3 {
	color: #3E4C51;
	margin: 0 0 2px 0;
	font-size: 20px;
	line-height: 26px;
	margin: 0 0 2px 0;
}

h4 {
	font-size: 17px;
	line-height: 20px;
	margin: 8px 4px;
	text-transform: uppercase;
}

h5 {
	font-size: 20px;
	margin-top: 30px;
}

dl {
	margin-bottom: 10px;
}

dt {
	font-weight: bold;
	text-transform: uppercase;
}

dd {
	margin: 0;
	padding: 0 0 0.5em 0;
}

a.wide-clickable {
	display: block;
	width: 100%;
}

.loading {
	font-family: Impact, Charcoal, sans-serif;
	width: 100%;
	padding: 40px;
	box-sizing: border-box;
	font-size: 20pt;
	line-height: 30pt;
}

.loading i {
	font-weight: bold;
	line-height: 50pt;
	font-size: 39pt;
}

.box-info.row .one.column i,
.box-success.row .one.column i,
.box-warning.row .one.column i,
.box-error.row .one.column i {
	margin: 0;
}

/**
 *	HOVERABLE TABLE
 *********************************/

.hover-table th,
.hover-table td {
	padding: 7px 10px;
}

.hover-table th {
	white-space: nowrap;
	border-bottom: 1px solid;
}

.hover-table .no-wrap {
	white-space: nowrap;
}

.hover-table .noborder {
	border: none;
}

.hover-table .expand {
	width: 99%;
}

.hover-table tr:nth-child(even) {
	background: #e1e1e1;
}

.hover-table tr:nth-child(odd) {
	background: #EEE;
}

.hover-table.hover tbody tr:hover {
	background: #fac5ce;
}

.hover-table a,
.hover-table tr.clickable {
	font-weight: bold;
	color: #455560;
}

.hover-table a:hover,
.hover-table tr:hover.clickable {
	text-decoration: none;
	color: #C41230;
}

.hover-table label {
	white-space: nowrap;
}

.hover-table input,
.hover-table select {
	width: 100%;
	box-sizing: border-box;
}

.hover-table input[type=number] {
	width: 100px;
}

.hover-table input[type=checkbox] {
	width: auto;
}

/* Sticky header */

.hover-table tr:nth-child(1) th {
	background-color: #eee;
	position: sticky;
	z-index: 100;
	top: 0;
	/* Don't forget this, required for the stickiness */
	/* box-shadow: 0 2px 2px -5px rgba(0, 0, 0, 0.5); */
	box-shadow: inset 0 1px 0 black, inset 0 -1px 0 rgba(0, 0, 0, 0.5);
}

/* Table columns status */

.hover-table td.status-tbd:hover,
.hover-table td.status-tbc:hover,
.hover-table td.status-confirmed:hover,
.hover-table td.status-rejected:hover,
.hover-table td.status-completed:hover {
	cursor: pointer;
	color: #4d4d4d;
	/* box-shadow: inset 0px -15px 20px -15px rgba(0,0,0,0.15); */
	background-color: #b6e2e2 !important;
}

.filterbar { margin: 20px 0; }
.filterbar label { display:inline-block; margin-left: 20px; }
.filterbar label:first-child { margin-left: 0; }
.filterbar select { display:inline-block; }

.fc-event { cursor: pointer; transition: all 0.3s; }
.fc-event:hover { opacity: 0.75; }

/**/

/* Cells active / inactive */
.hover-table td.active {}

.hover-table td.inactive {
	opacity: 0.45 !important;
}


/* Schedule Page */

#schedule-menu {
	margin-bottom: 20px;
}

#schedule-grid {
	overflow-x: scroll;
	overflow-y: scroll;
	max-height: calc(100vh - 340px);
	/* margin-left: 200px !important; // Sticky first column */
}

/* Status */
#schedule-grid .hover-table td {
	position: relative;
	padding-right: 25px;
	box-sizing: border-box;
}

#schedule-grid .hover-table td:before,
#schedule-grid .hover-table td .show-details {
	content: '';
	display: block;
	width: 18px;
	height: 18px;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 5px;
	margin: auto;
	background-size: 100%;
}

#schedule-grid .hover-table td .show-details {
	background-image: url('../img/icon-details.svg');
	transition: all 300ms ease;
}

#schedule-grid .hover-table td .show-details:hover {
	filter: brightness(0) saturate(100%) invert(13%) sepia(62%) saturate(5225%) hue-rotate(340deg) brightness(105%) contrast(98%);
}

#schedule-grid .hover-table td .full-details {
    display: none;
}

.full-details {
    border: 1px solid #ccc;
	width: 500px;
	max-width: 100%;
    padding: 50px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    background-color: white;
}

#schedule-grid .hover-table td.status-tbc:before {
	background-image: url('../img/icon-toconfirm.svg');
}

#schedule-grid .hover-table td.status-confirmed:before {
	background-image: url('../img/icon-confirmed.svg');
}

#schedule-grid .hover-table td.status-rejected:before {
	background-image: url('../img/icon-rejected.svg');
}

#schedule-grid .hover-table td.status-completed:before {
	background-image: url('../img/icon-completed.svg');
}

#schedule-grid .hover-table th:nth-child(1) {
	min-width: 250px;
}

#schedule-grid .hover-table td:nth-child(1) {
	font-weight: bold;
}

#schedule-grid .hover-table th {
	min-width: 100px;
}

/* Sticky first column */

#schedule-grid .hover-table td,
{
z-index: 199;
}

#schedule-grid .hover-table th {
	z-index: 200;
}

#schedule-grid .hover-table th:first-child {
	position: absolute;
	top: inherit;
	z-index: 202;
	min-width: 200px;
	box-sizing: border-box;
}

#schedule-grid .hover-table td:first-child {
	position: sticky;
	width: 200px !important;
	min-width: 200px !important;
	max-width: 200px !important;
	left: 0;
	top: auto;
	border-top-width: 3px;
	/*only relevant for first row*/
	margin-top: 0;
	/*compensate for top border*/
	z-index: 201;
	box-shadow: -2px 0 0 0 rgba(0, 0, 0, 0.5) inset;
}

@-moz-document url-prefix() {

	#schedule-grid .hover-table td:first-child,
	#schedule-grid .hover-table th:first-child {
		margin-top: -22px;
	}
}

#schedule-grid .hover-table th:first-child:before,
#schedule-grid .hover-table td:first-child:before {
	content: '';
}

#schedule-grid .hover-table td:first-child {
	font-size: 1em;
	padding-left: 5px;
	padding-right: 5px;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

#schedule-grid .hover-table tr:nth-child(even) td:first-child {
	background: #e1e1e1;
}

#schedule-grid .hover-table tr:nth-child(odd) td:first-child {
	background: #eee;
}

/* Schedule Form */

#schedule-form {
	background-color: #ffffff;
	margin: auto;
	max-height: 80vh;
	overflow-y: auto;
	padding: 1.5rem;
	box-sizing: border-box;
}

#schedule-form select,
#schedule-form textarea,
#schedule-form input {
	margin-bottom: 15px;
	min-width: 300px;
	width: auto;
	max-width: 80%;
	box-sizing: border-box;
}

#schedule-form textarea {
	width: 600px;
	max-width: 100%;
}

#schedule-form-save {
	color: #fff;
	text-shadow: none;
	font-size: 0.9rem;
	background-color: #95ba5e;
}

#schedule-form-cancel {
	color: #fff;
	text-shadow: none;
	font-size: 0.9rem;
	background-color: #e77865;
}

#schedule-form .header-list {
	display: flex;
	flex-wrap: wrap;
}

#schedule-form .header-list > li {
	width: 50%;
}

#schedule-form .header-list > li select,
#schedule-form .header-list > li input {
	width: 100%;
}

#schedule-form .comments > li,
#schedule-form .comments > li textarea {
	width: 95%;
}

#schedule-form .comments > li textarea {
	height: 50px;
}

#schedule-form #schedule-gallery {
	margin: 15px 0;
}

#schedule-form #schedule-gallery ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

#schedule-form #schedule-gallery ul > li {
	width: auto;
	height: 150px;
}

#schedule-gallery .galleryBtn {
	display: inline-block;
	padding: 10px 20px;
	margin-bottom: 8px;
	text-align: center;
	background-color: #95ba5e;
	color: white;
	cursor: pointer;
	font-size: 18px;
	transition: all 300ms ease;
}

#schedule-gallery .galleryBtn:hover{
	opacity: 0.70;
	background-color: grey;
	color: white;
}

#schedule-archive {
	position: absolute;
	margin-top: -70px;
	right: 22px;
}

/* control */
#control-menu {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding: 20px 0;
	border-bottom: 1px solid #C41230;
	background-color: white;

	position:-webkit-sticky;
	position:sticky;
	top: 0;
	z-index: 100;
}

#control-menu .control-menu-item {
	display: inline-block;
	font-size: 14px;
	background-color: #E1E1E1;
	padding: 4px 5px;
}

#control-main {}

#control-main .control-main-item {
	margin-top: 25px;
}

.control-main-checkpoint:not(:has(.control-main-photo)) {
	display: none;
}

.control-checkpoint-title {
	font-size: 16px;
	font-weight: bold;;
	padding: 8px 0 2px;
}

/* control-gallery */
.control-gallery {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding-bottom: 10px;
}

.control-gallery .control-main-photo {
	width: auto;
	height: 150px;
}

/* Template des photo de Gallery */
.photo-thumb {
	position: relative;
	display: inline-block;
	/* height: 150px; */
	height: 100%;
	min-width: 90px;
}

.photo-thumb img {
	width: 100%;
    height: 100%;
	object-fit: cover;
}

.photo-thumb .date {
	position: absolute;
	right:0;
	bottom: 0;
	padding: 2px 4px;
	background-color: rgba(0,0,0,70%);
	color: white;
}

.photo-thumb .delete {
	position: absolute;
	right: 0;
	top: 0;
	width: 25px;
	height: 25px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #C41230;
	font-size: 20px;
	line-height: 25px;
	font-weight: bold;
	color: white;
	cursor: pointer;
	transition: all 300ms ease;
}

.photo-thumb .delete:hover {
	opacity: 0.7;
	background-color: grey;
}


/* highlight */
#schedule-grid tr.highlight {
	background-color: #f1f1a7 !important;
	/* border: 2px solid #000; */
	outline: 2px solid #000;
	outline-offset: 0px;
}

#schedule-grid.highlight tr:not(.highlight):not(:first-child) {
	opacity: 0.65 !important;
}

#schedule-grid tr:not(:first-child) td {
	cursor: pointer;
}

#schedule-grid tr.highlight td:first-child {
	background-color: #f1f1a7 !important;
	outline: 1px solid rgba(0, 0, 0, 0.5);
	outline-offset: 0px;
}

/**
 *	HEADER
 *********************************/
#header-logo {
	margin: 20px 0 0 4px;
}

#header-logo img {
	max-width: 100%;
}

#head-info {
	margin-top: 30px;
}

#head-info li {
	margin: 0;
}

.header-names {
	font-weight: bold;
	font-size: 1.2em;
}

.header-names.second-name {
	padding-top: 5px;
}

/* #login div {
	margin: 0 auto;
	width: 220px;
	text-align: left;
} */
#login {
	width: 300px;
	margin: 40px auto 10px;
	padding: 40px;
	background-color: #FFF;
	border-top: 5px solid #B01C33;
	-webkit-box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.15);
	-moz-box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.15);
	box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.15);
}

#login .fields input {
	margin: 0 0 20px;
	width: 100%;
	box-sizing: border-box;
}

#login .fields .box-warning {
	margin: 0;
}

#menu {
	clear: both;
	margin-bottom: 0;
	padding: 0 5px;
	-webkit-border-top-left-radius: 3px;
	-webkit-border-top-right-radius: 3px;
	-moz-border-radius-topleft: 3px;
	-moz-border-radius-topright: 3px;
	border-top-left-radius: 3px;
	border-top-right-radius: 3px;
}

#menu,
#menu ul {
	color: #fff;
	background-color: #C41230;
}

#menu li ul {
	display: none;
}

#menu li ul.dropit-submenu {
	box-shadow: 0px 2px 3px #888888;
	white-space: nowrap;
}

#menu li {
	margin: 0;
	line-height: 30px;
}

#menu li:hover {
	background-color: #A70F29;
}

#menu a {
	display: block;
	color: #fff;
	text-decoration: none;
	font-weight: bold;
	padding: 7px 12px;
	text-transform: uppercase;
}

#menu a i {
	margin: 0 2px;
}

/**
 *	CONTENT
 *********************************/
#page {
	display: inline-block;
	width: 100%;
	background-color: #fff;
	min-height: 500px;
	padding: 20px 10px;
	-webkit-border-bottom-right-radius: 3px;
	-webkit-border-bottom-left-radius: 3px;
	-moz-border-radius-bottomright: 3px;
	-moz-border-radius-bottomleft: 3px;
	border-bottom-right-radius: 3px;
	border-bottom-left-radius: 3px;
	margin-bottom: 40px;
	box-sizing: border-box;
}

.page {
	/* display: none !important; */
	clear: both;
}

.tabs li {
	text-align: center;
	float: left;
}

.tabs li a {
	text-decoration: none;
	white-space: nowrap;
	padding: 8px 7px;
	display: block;
	min-width: 100px;
}

/**
 *	CLIENT TABS
 *********************************/
#client-tabs {
	border-bottom: solid 4px #C41230;
}

#client-tabs li {
	margin: 0 0 0 3px;
	background: #3E4C51;
	color: #fff;
	-webkit-border-radius: 6px 6px 0 0;
	border-radius: 6px 6px 0 0;
}

#client-tabs li a {
	color: white;
}

#client-tabs .tab-active {
	background: #C41230;
	color: #fff;
	font-weight: bold;
}

/**
 *	Custom class
 *********************************/
.info-box {
	margin: 5px;
	padding: 5px;
	background-color: #F1F1F1;
}

.info-box hr {
	border-top: 1px solid #888;
	margin: 0;
}

.info-box.info-bigger {
	font-size: 1.2em;
	line-height: 1.5em;
}

.footnote {
	margin: 0;
	font-size: smaller;
	font-weight: bold;
}

.remove-top {
	margin-top: 0;
}

.half-top {
	margin-top: 10px;
}

.add-top {
	margin-top: 20px;
}

/* ul, ul ul {
	margin-left: 0px;
	padding: 0;
} */
.search-field {
	position: absolute;
	right: 0;
	margin-top: -36px;
	margin-right: 98px;
}

/* #client-info li  */
.labels {
	font-weight: bold;
	margin: 0 15px 0 0;
	/* text-align: right; */
}

.inline li {
	display: inline-block;
	list-style: none;
	margin-right: 5px;
	/* width: 30%; */
	vertical-align: bottom;
}

ul.in-list {
	margin: 0px;
}

/* .page.tab-active {
    display: block !important;
} */
#project-plan {
	width: 100%;
	height: 100%;
}

/* input.list-textfield {
	padding: 1px 4px;
	margin-top: 1px;
	max-width: 100%;
} */
.notes {
	padding: 5px;
}

.notes textarea {
	width: 95%;
}

input[type=text].date-picker {
	width: 85px;
	margin: 0 auto;
}

.options-icons {
	position: absolute;
	right: 20px;
	margin-top: -24px;
}

.print_icon,
.send_icon {
	width: 32px;
	height: 32px;
	margin: 0 10px 0 0;
}

.print_icon.icon-small,
.send_icon.icon-small {
	width: 18px;
	height: 18px;
	margin: 0;
}

/**
 *	Warranty
 *********************************/
.warranty-box {
	padding: 0 5px;
}

.warranty-box div.loader {
	color: white;
	overflow: hidden;
	position: relative;
	margin: 5px 0;
	z-index: 2;
	background-color: #3E4C51;
	box-sizing: border-box;
}

.warranty-box .content {
	z-index: 9;
	position: relative;
	padding: 5px 7px;
	font-weight: bold;
}

.warranty-box div.one-year {
	width: 20%;
}

.warranty-box div.three-year {
	width: 60%;
}

.warranty-box div.loader div.progress-bar {
	z-index: 1;
	width: 0px;
	height: 100%;
	position: absolute;
	background: #06AE00;
	left: 0px;
	top: 0px;
}

.warranty-box div.loader div.progress-bar.warning {
	background: #E49300;
}

.warranty-box div.loader div.progress-bar.ended {
	background: #ff6866;
}

/**
 * Button link
 ********************************/
a.button:hover {
	text-decoration: none;
}

/**
 * seal Button
 ********************************/
.seal-button {
	border: 1px solid;
	color: #D8000C;
	background-color: #FFBABA;
	padding: 4px 5px 3px 10px;
	font-weight: bold;
}

.seal-button i {
	min-width: 20px;
}

.seal-button i:before {
	content: "\f096";
	/* f096*/
}

.seal-button:hover {
	border: 1px solid;
	color: #4F8A10;
	background-color: #DFF2BF;
}

.seal-button.approved i:before {
	content: "\f046";
	/* f096*/
}

.seal-button.approved {
	color: #4F8A10;
	background-color: #DFF2BF;
	border: 1px solid;
}

/****
* footer
*/
#footer {
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 40px;
	padding: 10px;
	box-sizing: border-box;
}


/****
* Override - Toastr
*/
#toast-container > div {
	width: auto;
}

#toast-container > div p {
	margin: 0;
}

#toast-container > div ul {
	list-style-type: circle;
	padding: 0 0 0 40px;
}


/* test */

/*
	Max width before this PARTICULAR table gets nasty
	This query will take effect for any screen smaller than 760px
	and also iPads specifically.
	*/
/* @media only screen and (max-width: 760px) , ( min-device-width : 768px)
	and (max-device-width: 1024px) {
	Force table to not be like tables anymore
	table, thead, tbody, th, td, tr {
		display: block;
	}
} */
@media only screen and (max-width: 767px) and (min-width: 480px) {
	.container {
		width: 100%;
	}

	#schedule-grid {
		max-height: 340px;
	}
}

@media print {

	html,
	body,
	.container {
		overflow: visible;
		max-width: none;
		width: fit-content;
		block-size: fit-content;
		background-color: #ffffff;
	}

	.hover-table td.inactive {
		opacity: 1 !important;
	}

	#schedule-grid {
		overflow-x: visible;
		overflow-y: visible;
		max-height: none;
		font-size: 7.5pt;
	}

	#schedule-grid>table td:last-child,
	#schedule-grid>table th:last-child {
		display: none;
	}

	#schedule-grid .hover-table th:nth-child(1) {
		min-width: 130px;
	}

	#schedule-grid .hover-table th {
		min-width: 55px;
	}

	#schedule-grid .hover-table th,
	#schedule-grid .hover-table td {
		padding: 2px 10px 2px 4px;
	}

	#schedule-grid .hover-table td:before {
		width: 10px;
		height: 10px;
		right: 3px;
	}

	#footer,
	#menu {
		display: none;
	}


	#schedule-grid .hover-table th:first-child {
		position: relative;
	}

	#schedule-grid .hover-table td:first-child {
		position: relative;
		width: auto !important;
		min-width: auto !important;
		max-width: auto !important;
	}
}