/* THEME COLORS */

.text-theme {
	color: #095095 !important;
}

.theme, .hover-theme:hover {
	background-color: #095095 !important;
	color: white !important;
}

/* LOADER */

#loader {
	position: absolute;
	left: 50%;
	top: 50%;
	margin-top: -34px;
}

.loader {
	position: relative;
	left: -50%;
	top: -50%;
	z-index: 3;
	width: 60px;
	height: 60px;
	border: 4px solid whitesmoke;
	border-radius: 50%;
	border-top: 4px solid #5FC676;
	-webkit-animation: spin 1s linear infinite; /* Safari */
	animation: spin 1s linear infinite;
}

.loader-mobile {
	position: relative;
	left: -50%;
	top: -50%;
	z-index: 2;
	width: 60px;
	height: 60px;
	border: 4px solid whitesmoke;
	border-radius: 50%;
	border-top: 4px solid #5FC676;
	-webkit-animation: spin 1s linear infinite; /* Safari */
	animation: spin 1s linear infinite;
}

/* Safari */
@-webkit-keyframes spin {
	0% { -webkit-transform: rotate(0deg); }
	100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

/* ANIMATIONS */

#content {
	transition-timing-function: linear;
	transition: padding-top 1s, opacity 1s;
}

.animate-zoom {animation:animatezoom 1s} @keyframes animatezoom{from{transform:scale(0)} to{transform:scale(1)}}
.animate-zoom-75 {animation:animatezoom75 0.8s} @keyframes animatezoom75{from{transform:scale(0.75)} to{transform:scale(1)}}

/* SIDEBAR */

.sidebar {
	display: block;
	height: 100%;
	border-radius: 0 15px 15px 0;
	background-color: white;
	position: fixed!important;
	z-index: 3;
	overflow: auto;
	transition-timing-function: linear;
	transition: width 0.4s;
}

.overlay {
	position: fixed;
	display: none;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0,0,0,0.4);
	z-index: 2;
	transition-timing-function: linear;
	transition: opacity 0.8s;
}

/* SCROLLBAR */

/* Width */
::-webkit-scrollbar {
	height: 8px;
	width: 8px;
}

.scrollbar {
	scrollbar-width: thin; /* Firefox */
}

/* Track */
::-webkit-scrollbar-track {
	background: #f1f1f1;
	border-radius: 12px;
}

/* Handle */
::-webkit-scrollbar-thumb {
	background: lightgray;
	border-radius: 12px;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
	background: gray;
}

/* STYLE */

span.close {position:absolute;right:16px;top:0;color:#000;font-size:32px;font-weight:bold;background-color:transparent}span.close:hover,span.close:focus {color:red;cursor:pointer}
span.info {color:red;font-size:12px}
span.link {color: white; font-size: 22px}
span.link-mobile {color: white; font-size: 18px}
.img-mobile {
	max-width: 100%;
	height: auto;
}

.hover-opacity-max:hover{opacity:0.25}.hover-opacity-min:hover{opacity:0.80}.hover-opacity-off:hover{opacity:1}

/* Hide scrollbar for Chrome, Safari and Opera */
.scrollbaroff::-webkit-scrollbar {
	display: none;
}

/* Hide scrollbar for IE, Edge and Firefox */
.scrollbaroff {
	-ms-overflow-style: none; /* IE and Edge */
	scrollbar-width: none; /* Firefox */
}

.badge {
	position: absolute;
	top: -6px;
	right: -2px;
	padding: 1px 4px;
	border-radius: 50%;
	background-color: #5FC676;
	color: white;
	font-size: 12px;
}

.line {
	margin: 8px 0px;
}

.line-top {
	margin: 8px 0 0 0;
}

div.line {
	margin-left: 5%;
	width: 90%;
	border-bottom: 1px solid lightgray;
}

div.center {
	margin-left: 7.5%;
	width: 85%;
}

div.footer {
	position: -webkit-sticky;
	position: sticky;
	max-width: 900px;
	bottom: 0;
	width: 100%;
	background-color: white;
	text-align: center;
}
 
/* DIV */

.center-transform {
	width: 100%;
	margin: 0;
	position: absolute;
	top: 50%;
	left: 50%;
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.vertical-center {
	margin: 0;
	position: absolute;
	top: 50%;
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.center-flex-full {
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;
	min-height: 100vh; 
	min-width: 100vw;
}

.center-flex-full-vertical {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	align-content: center;
	min-height: 100vh; 
	min-width: 100vw;
}

.center-flex {
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;
	min-height: 100%; 
	min-width: 100%;
}

.center-flex-vertical {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	align-content: center;
	min-height: 100%; 
	min-width: 100%;
}

.column-flex {
	display: flex;
	flex-direction: column;
	align-items: stretch;
}

.column-flex-center {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.row-flex {
	display: flex;
	flex-direction: row;
	align-items: stretch;
}

.row-flex > div {
	flex-grow: 1;
}

.container-desktop {
	margin: auto;
	width: 100%;
	background-color: white;
	padding: 5px;
	font-family: "Poppins", sans-serif;
	pointer-events: all;
}

div.row {
	line-height: 0;
	padding: 4px 0;
}

/* BUTTONS */

button {
	-webkit-tap-highlight-color: transparent;
}

.button-branch {
	border-radius: 50%;
	border: 1px solid lightgray;
	padding: 8px 16px;
	background-color: white;
	color: black;
	font-size: 24px;
}

.button-branch:active {
	opacity: 0.5;
}

.button-hour {
	min-width: 71px;
	border-radius: 32px;
	border: 1px solid lightgray;
	padding: 8px 18px;
	background-color: white;
	color: black;
	cursor: pointer;
}

.button-hour:active {
	opacity: 0.5;
}

.button-booking {
	min-width: 100px;
	border-radius: 16px;
	padding: 8px 18px;
	border: 1px solid #5FC676;
	background-color: #5FC676;
	color: white;
	cursor: pointer;
}

.button-booking:active {
	opacity: 0.5;
}

.button-confirm {
	width: 80%;
	border-radius: 16px;
	padding: 8px 18px;
	border: 1px solid white;
	background-color: white;
	color: black;
	cursor: pointer;
}

.button-confirm:active {
	opacity: 0.5;
}

.button-current-hour {
	border-color: #095095;
	background-color: #095095;
	color: white;
}

/* INPUTS */

.input-booking {
	width: 100%;
	margin: 8px 0;
	border-radius: 8px;
	padding: 8px 12px;
	border: 2px solid lightgray;
	box-sizing: border-box;
	outline: none;
}

.input-booking:focus {
	border: 2px solid #095095;
}

.input-radio{
	width: 18px;
	height: 18px;
	position: relative;
	top: 2px;
}

/* SELECTS */

.select-booking {
	width: 50%;
	margin: 8px 0;
	border-radius: 8px;
	padding: 4px 12px;
	border: 2px solid lightgray;
	box-sizing: border-box;
	outline: none;
	background-color: white;
}

.select-booking-mobile {
	width: 100%;
	margin: 8px 0;
	border-radius: 8px;
	padding: 4px 12px;
	border: 2px solid lightgray;
	box-sizing: border-box;
	outline: none;
	background-color: white;
}

.select-booking:focus, .select-booking-mobile:focus {
	border: 2px solid #095095;
}