/* Replace Material Icons with FA 4.7 */
.sln-checkbox input + label::after {
	content: "\f00c";
	font-family: FontAwesome;
}

.sln-checkbox input + label:hover::after {
	opacity: 0;
}

.sln-alert--problem::after, #sln-salon .alert-danger::after {
	content: "\f05e";
	font-family: FontAwesome;
}

.glyphicon.glyphicon-chevron-right::before {
	content: "»";
	font-family: Arial;
}

#sln-salon .sln-box--formactions .sln-btn--medium.sln-btn--icon--left {
	padding-right: 2em !important;
}

.glyphicon.glyphicon-chevron-left::before {
	content: "«";
	font-family: Arial;
}

#sln-salon #sln-salon-my-account .glyphicon.glyphicon-clock:before {
	content: "\f017";
	font-family: FontAwesome;
}

.sln-btn--icon:after {
	display: none !important;
}


.sln-icon--calendar:after, .sln_datepicker:after {
	content: "\f073";
	font-family: FontAwesome;
}
.sln-icon--booking:after, .sln_timepicker:after, .sln-icon--time:after {
	content: "\f017";
	font-family: FontAwesome;
}

.datetimepicker.sln-datetimepicker .prev:before {
	content: "\f053";
	font-family: FontAwesome;
}

.datetimepicker.sln-datetimepicker .next:before {
	content: "\f054";
	font-family: FontAwesome;
}

.sln-alert--info::after, #sln-salon .sln-alert--info::after {
	display: none;
}

.sln-thankyou--okbox h1.sln-icon-wrapper .sln-icon:after {
	content: "\f046";
	font-family: FontAwesome;
}

/*
.sln-alert.sln-alert--info.sln-alert--topicon strong:before {
	content: "\f06a";
	font-family: FontAwesome;
	display: inline-block;
	padding-right: 30px;
	font-size: 30px;
	vertical-align: middle;/
}
*/
.sln-alert.sln-alert--info.sln-alert--topicon {
	text-align: center;
}
.sln-payment-actions {
	width: 100% !important;
}

#sln-salon .sln-thankyou--okbox h1.sln-icon-wrapper {
	font-size: 25px;
	font-weight: bold;
	padding-left: 1em;
}

#sln-salon .sln-thankyou--okbox h2 {
	padding: 0;
}

#sln-salon .sln-thankyou--okbox h3 {
	color: #004258 !important;
}

@media only screen and (max-width: 767px) {
	#sln-salon .sln-thankyou .sln-thankyou--okbox h4 {
		text-align: center;
	}
}



/* SPINNING LOADER */

/* Small Loading Spinner Pos */
/* Overlapping with back button */
#sln-salon.sln-step-date #sln-notifications .sln-alert.sln-alert--wait {
	bottom: 12%;
	width: 90%;
}

/* Big Loading Spinner position */
#sln-notifications .sln-loader-wrapper {
	position: fixed;
	background: white;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: white;
	opacity: 0.75;
	z-index: 1000;
}

#sln-salon.sln-step-date #sln-notifications.sln-notifications--active {
	z-index: 1000;
}


#sln-salon.sln-step-date #sln-notifications.sln-notifications--active::before {
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	color: #0277BD;
	background: white;
	position: fixed;
	top: 0;
	left: 0;
	-webkit-animation: none;
	animation: none;
	-webkit-transform-origin: center;
	-ms-transform-origin: center;
	transform-origin: center;
	opacity: 0.75;
}

#sln-salon.sln-step-date #sln-notifications.sln-notifications--active:after {
	content: "\f1ce";
	font-family: FontAwesome;
	font-size: 50px;
	display: block;
	-webkit-animation: spin 2s infinite linear;
	animation: spin 2s infinite linear;
	position: relative;
	top: 50%;
	text-align: center;
	z-index: 1000;
}

.sln-alert.sln-alert--wait::after, .sln-alert--wait::after {
	display: none;
}

#sln-salon.sln-step-date #sln-notifications.sln-notifications--active .sln-alert.sln-alert--wait {
	display: none;
}

.sln-loader::before {
	display: none !important;
}

#sln-salon .sln-loader {
	font-size: 0px;
	background-color: transparent;
	width: 100%;
	height: 100%;
	overflow: hidden;
	position: absolute;
	top: 30%;
	text-align: center;
	z-index: 1000;
}


#sln-salon.sln-step-date .sln-loader-wrapper {
	display: none !important;
}

#sln-salon .sln-loader:after {
	content: "\f1ce";
	font-family: FontAwesome;
	font-size: 50px;
	display: block;
	-webkit-animation:spin 2s infinite linear;
	animation:spin 2s infinite linear
}

@keyframes spin {
	to { transform: rotate(359deg); }
}



/* OTHERS */

/* Red color on Invalid Input */
.sln-invalid {
	color: red !important;
}

/* Hide "Booking Status" on Thank you Page */
#salon-step-thankyou > div > div > h2 {
	display: none;
}

/* Services Margin Bottom too big */
.sln-service, #sln-salon .sln-service {
	margin-bottom: 0;
}

/* Add "h" after duration */
span.sln-steps-duration.sln-service-duration:after {
	content: "h";
}

#sln-salon .sln-total h3 {
	font-size: 2em;
	font-weight: bold;
}

.sln-service-description, #sln-salon .sln-service-description {
	font-size: 1em;
}

/* Avoid slight jump on date page when clicking next */
#sln-salon .sln-btn--medium {
	display: block;
}

#sln-salon .sln-input label {
	padding: 0.5em 0;
}



/* ------------------------- */
/* Since Version 2.8 */
/* Colors for next button */
#sln-salon .sln-btn--emphasis {
	background: green !important;
}

#sln-salon .sln-btn--emphasis:hover {
	background: #81d742;
}

/* Colors for back button */
#sln-salon .sln-btn--borderonly {
	color: green;
}

#sln-salon .sln-btn--borderonly:hover {
	background: #81d742;
}

#sln-salon .sln-btn--borderonly:focus {
	background: #81d742;
}

/* Adjust back icon padding */
#sln-salon .sln-box--formactions .sln-btn--medium.sln-btn--icon--left {
	padding-right: 0;
}

/* ------------------------- */


/* Adjust ScrollTop Position due to fixed header on mobile */
@media (max-width: 768px) {
	#sln-salon {
		padding-top: 70px !important;
		margin-top: 0;
	}
}

/* FIX Calendar cells layout when fully booked (clash with OWP .full class) */
td.day.disabled.full {
	display: table-cell;
}


/* Kundenkonto - Login Styling */

form#loginform {
	font-family: arial !important;
	font-size: 18px !important;
	max-width: 700px !important;
	margin: 0 auto !important;
}

/* Guest Checkin Heading "Geben Sie Ihre Daten ein" styling + Content */
.sln-step-details h2.salon-step-title {
	padding-left: 15px;
}

label[for="sln_firstname"]:after {
	content: " (optional)" !important;
	color: black !important;
}

label[for="sln_lastname"]:after {
	content: " (benötigt)" !important;
	color: black !important;
}

label[for="sln_phone"]:after {
	content: " (optional)" !important;
	color: black !important;
}

label[for="sln_email"]:after {
	content: " (benötigt)" !important;
	color: black !important;
}



/* Fix for IE 10 + 11 displaying icons too big */
@media screen and (-ms-high-contrast:active), all and (-ms-high-contrast:none) {
	.sln_datepicker::after, .sln_timepicker::after, .sln-alert::after, #sln-salon .alert::after, .sln-alert--warning::before, #sln-salon .alert-warning::before, .sln-salon--s#sln-salon .sln-thankyou .sln-thankyou--okbox h1 .sln-icon, .sln-salon--s#sln-salon .sln-thankyou .sln-thankyou--okbox h3 {
		font-size: 20px !important;
	}
}


#sln-salon .sln-input input, .sln-input textarea {
	background: white !important;
}

@media only screen and (min-width: 992px) {
	#sln-salon.sln-salon--m {
		max-width: 100% !important;;
	}
}

/* .row.sln-attendant:first-child {
	display: none !important;;
}
 */
 
h2.sln-salon-title, h2.salon-step-title {
	text-align: center;
}
 
 
@media (min-width: 768px) {
	#sln-salon .col-md-8, #sln-salon--admin .col-md-8, .sln-salon-bs-wrap .col-md-8, .sln-calendar--wrapper .col-md-8 {
		width: 91%;
	}
}

.sln-steps-thumb.sln-attendant-thumb {
	display: none;
}

.row.sln-steps-info.sln-attendant-info {
	padding-bottom: 10px;
}

.sln-attendant, #sln-salon .sln-attendant {
	margin-bottom: 0em !important;
	padding-top: 0 !important;
}

@media only screen and (max-width: 767px) {
	h3.sln-steps-name.sln-attendant-name {
		position: absolute;
		top: -40px;
		left: 80px;
	}
}

#sln-salon .sln-btn--medium input, #sln-salon .sln-btn--medium button, #sln-salon .sln-btn--medium a {
	font-weight: inherit !important;
	color: white !important;
}


#sln-salon .sln-btn--medium.sln-btn--icon--left {
	text-align: center !important;
	float: left !important;
	border: 1px !important;
	border-style: solid !important;
}

#sln-salon .sln-btn--medium.sln-btn--icon--left:hover {
	color: white !important;
}

#sln_Datenschutz:checked:before {
	display: none !important;
}

.sln-checkbox input#sln_Datenschutz {
	opacity: 1;
	background: none !important;
}

.col-sm-6.col-md-12.field-Datenschutz.sln-checkbox {
	width: 100% !important;
	display: inline-table !important;
	margin-bottom: 50px !important;
}


.col-sm-6.col-md-6.field-Datenschutz.sln-checkbox label {
	color: black !important;
}

#sln-salon input#sln_Datenschutz.sln-invalid {
	width: 1.5em !important;
	height: 1.5em !important;
	border: 4px solid red;
}

.sln-checkbox input#sln_Datenschutz {
	opacity: 1;
	background: none !important;
	margin-top: 3px !important;
	border: none;
}


#sln-salon input[type="checkbox"]:focus {
	outline: none !important;
	outline-offset: 0px !important;
}

#sln-salon .sln-btn--medium.sln-btn--icon--left {
	float: left !important;
}

#sln-salon.sln-salon--m .sln-btn--big button {
	color: white !important;
}

.col-md-11 {
	display: -webkit-box !important;
}

#sln-salon .sln-checkbox label:first-child {
	float: right !important;
	position: absolute !important;
	display: -webkit-box !important;
	padding-left: 40px !important;
}

#sln_Datenschutz:after {
	display: none !important;
}

.field-Datenschutz.sln-checkbox.sln-invalid-p:after {
	min-width: 150px !important;
	margin-left: 0px !important;
	font-size: 12px !important;
	margin-top: -20px !important;
}

.field-Datenschutz.sln-checkbox.sln-invalid-p.is-checked:after {
	display: none !important;
}


.datetimepicker.sln-datetimepicker .prev, .datetimepicker.sln-datetimepicker .next {
	vertical-align: middle !important;
}

#sln-salon .sln-summary-row:nth-of-type(2) .text {
	padding-top: 15px;
	display: inline-block;
}

/* Salon My Account CSS Styling */

#sln-salon {
	background: transparent;
}


#sln-salon-my-account.mobile-version td:before {
	text-transform: none !important;
	width: 6em !important;
}

#sln-salon-my-account.mobile-version .table tbody tr td {
	padding-left: 8em !important;
}

*#sln-salon-my-account.mobile-version div {
	padding: 0 !important;
	margin: 0 auto !important;
	width: 100% !important;
}

#sln-salon ul, ol {
	margin: 15px 0 15px 0;
}

#sln-salon #sln-salon-my-account .glyphicon {
	font-size: 1.2em !important;
	color: green !important;
}

/* Salon CSS Styling After pressing BOOK NOW button */
#sln-salon .sln-thankyou--okbox.row h2.salon-step-title {
	padding-left: 3em !important;
	font-weight: bold !important;
}

#sln-salon .sln-thankyou--okbox.sln-bkg--attention {
	background-color: #fafffa73 !important;
	text-align: center;
}

.sln-step-thankyou .sln-alert {
	margin-top: 0;
	padding: 2em 0 0.6em 0;
	text-align: left;
}

#sln-salon .sln-thankyou--okbox::after, #sln-salon .sln-thankyou--okbox.sln-bkg--attention::after, #sln-salon .sln-thankyou--okbox.sln-pending-payment-box::after {
	background-color: transparent;
}

#sln-salon.sln-salon--m .sln-btn--big, #sln-salon.sln-salon--m .sln-btn--big input, #sln-salon.sln-salon--m .sln-btn--big button, #sln-salon.sln-salon--m .sln-btn--big a {
	color: white !important;
}

/* Center Booking ID on Mobile */
@media only screen and (max-width: 767px) {
	.sln-thankyou--okbox h1, .sln-thankyou--okbox h2, .sln-thankyou--okbox h3 {
		text-align: center !important;
	}
}

/* Hide "Lost Password"-Link on Checkout Page for Salon (to avoid redirect to WP Page */
a.tec-link {
	display: none !important;
}