@font-face {
	font-family: 'Sofia Pro';
	src: url('../../../../global/fonts/Sofia/SofiaProRegular.eot');
	src: local('Sofia Pro Regular'), local('SofiaProRegular'),
		url('../../../../global/fonts/Sofia/SofiaProRegular.eot?#iefix') format('embedded-opentype'),
		url('../../../../global/fonts/Sofia/SofiaProRegular.woff2') format('woff2'),
		url('../../../../global/fonts/Sofia/SofiaProRegular.woff') format('woff'),
		url('../../../../global/fonts/Sofia/SofiaProRegular.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}
* {
	box-sizing: border-box;
}
html, body {
	padding: 0;
}
body {
	font-family: "Sofia Pro", sans-serif;
}
body.noScroll {
	overflow: hidden;
}
.header {
	background: #fff;
	box-shadow: 0 -5px 15px 5px rgba(0,0,0,0.5);
	position: fixed;
	text-align: center;
	width: 100%;
	z-index: 10;
}
.header .title {
	overflow: hidden;
}
.title h1 {
	color: #36a9e1;
	padding: 25px 0 0;
	font-size: 1.5rem;
}
.title h2 {
	font-size: 1.1rem;
	margin-bottom: 0;
	padding: .5rem 0 0;
	color: #666;
}
.header .right {
	padding-top: 5px;
	padding-bottom: 15px;
}
.header-buttons {
	padding: 1rem 0;
}
/* hide the print button on mobile */
.header-buttons #print_form {
	display: none;
}
.header button {
	padding: .5rem 1rem .25rem;
}
.header button:focus {
	box-shadow: none;
}
.header button i {
	margin-right: .25rem;
}
.form .input-group-text {
	background: #fff;
	border-left: none;
	color: #36a9e1;
	font-size: 0.9rem;
}
.form .with-append input {
	border-right: none;
}
.form h3 {
	color: #36a9e1;
	font-size: 1.5rem;
	margin-top: 50px;
}
.form .form-control,
.form .custom-select {
	padding: .5rem .75rem .25rem;
}
.form .form-control:focus {
	outline: none;
	border: 1px solid #ced4da;
	border-right: none;
	box-shadow: none;
}
.form .custom-select:focus {
	outline: none;
	box-shadow: none;
}

.form .custom-select {
	background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%2336a9e1' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .95rem center/8px 10px
}
.form textarea.form-control {
	resize: none;
	border-right: none;
}
.form .boolean .form-check {
	border-radius: .25rem;
	border: solid 1px #ced4da;
	flex: 1 1 0%;
	margin-bottom: .25rem;
	padding: .5rem .75rem .25rem;
	position: relative;
	color: #6c757d;
	transition: .3s;
}
.form .boolean .form-check i {
	font-size: 16px;
	margin-right: .25rem;
}
.form .boolean .form-check input {
	opacity: 0;
}
.form .boolean .form-check.selected {
	border: solid 1px #36a9e1;
	background: #36a9e1;
	color: #fff;
}

.form .form-group .required-indicator {
	color: #dc3545;
	display: inline-block;
	font-size: 24px;
	left: 3px;
	position: relative;
	top: 5px;
}

.datepicker-dropdown th,
.datepicker-dropdown td {
	padding: .5rem .75rem .25rem;
}
.datepicker-dropdown .datepicker-days table tr td.active {
	background: #36a9e1;
}
.datepicker-dropdown .datepicker-days table tr td.active:hover {
	background: #1e8fc6;
}
.form .form-text {
	margin: -.5rem .1rem 1rem;
}
.form .form-group .form-control::placeholder {
	color: #97a0a8;
}
.form .form-group .form-control:focus::placeholder {
	color: #bbc3ca;
	text-shadow: none;
}
.form .form-group.valid input,
.form .form-group.valid select,
.form .form-group.valid textarea {
	border-color: #78cd51;
}
.form .form-group.invalid input,
.form .form-group.invalid select,
.form .form-group.invalid textarea {
	border-color: #dc3545;
}
.form .form-group.valid .custom-select {
	background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%2378cd51' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .95rem center/8px 10px
}
.form .form-group.invalid .custom-select {
	background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23dc3545' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .95rem center/8px 10px
}
.form .form-group.valid .input-group-append .input-group-text {
	color: #78cd51;
	border-color: #78cd51;
}
.form .form-group.invalid .input-group-append .input-group-text {
	color: #dc3545;
	border-color: #dc3545;
}
.form .form-group input:invalid,
.form .form-group textarea:invalid,
.form .form-group select:invalid {
	box-shadow: none;
}


html,
body {
	height: 100%;
}
.mode-select {
	background: #FFF;
	height: 100%;
	position: relative;
	text-align: center;
	width: 100%;
	z-index: 15;
}
.mode-select .option,
.mode-select .select-option {
	padding: 30px 15px 20px;
	color: #666;
	cursor: pointer;
	border: solid 2px #ccc;
	border-radius: 2px;
	transition: .3s;
	margin-top: 25px;
}
.mode-select .select-option {
	color: #78cd51;
	border-color: #78cd51;
}
.mode-select .select-option.disabled {
	color: #ccc;
	border-color: #ccc;
	font-style: italic;
	cursor: initial
}
.mode-select .select-option.disabled i {
	color: #ccc;
	margin-left: 5px;
}
.mode-select .option i {
	border-radius: 100%;
	border: solid 2px #888;
	color: #888;
	display: block;
	font-size: 30px;
	height: 65px;
	margin: 0 auto 15px;
	padding: 15px 0 0;
	width: 66px;
	transition: .3s;
}
.mode-select .option:hover,
.mode-select .select-option:hover {
	background: #f6f6f6;
}
.mode-select .option:hover i {
	background: #888;
	color: #fff;
}
.mode-select .option.selected {
	border-color: #36a9e1;
	color: #36a9e1;
}
.mode-select .option.selected i {
	background: #36a9e1;
	border-color: #36a9e1;
	color: #fff;
}
.time-container-clock {
	width: 40%;
	margin: 0 auto;
}

.notification-blackout {
	background: rgba(0, 0, 0, 0.6);
	height: 100vh;
	left: 0;
	position: fixed;
	top: 0;
	width: 100vw;
	z-index: 100;
}
.notification-container {
	background: white;
	margin: 100px auto 0;
	max-width: 800px;
	width: 60vw;
}
.notification-container .notification-icon,
.notification-container .notification-close {
	background: rgba(0, 0, 0, 0.2);
	height: 100%;
	padding: 10px 15px;
	position: absolute;
}
.notification-container .notification-close {
	right: 0;
	cursor: pointer;
}
.notification-container .notification-icon {
	left: 0;
}
.notification-container .notification-titlebar {
	color: white;
	position: relative;
	width: 100%;
}
.notification-container.error .notification-titlebar {
	background: #d9534f;
}
.notification-container.success .notification-titlebar {
	background: #78cd51;
}
.notification-container .notification-title {
	padding: 12px 15px 6px 60px;
}
.notification-container .notification-content {
	padding: 50px 50px 40px;
	text-align: center;
}
.notification-container .notification-content i {
	display: block;
	font-size: 40px;
	margin-top: 20px;
	text-align: center;
}
.notification-container.error .notification-content i {
	color: #d9534f;
}
.notification-container.success .notification-content i {
	color: #78cd51;
}
.notification-container .notification-autoclose-text {
	cursor: pointer;
	font-size: .8rem;
	text-align: center;
	padding-bottom: 10px;
}


@media screen and (min-width: 576px) {
	.header {
		text-align: left;
	}
	.header h2 {
		padding-bottom: 15px;
	}
	.header-buttons {
		text-align: right;
		padding: 0;
	}
	.header-buttons button {
		display: block;
		float: right;
		clear: right;
		width: 150px;
		margin: 3px 0;
	}
	.header-buttons #print_form {
		display: initial;
	}
}
