:root {
	--day-width: 45vw;
	--room-count: 3;
	
	--black: 	#141024;
	--white:	#FFFFFF;
	--grey:		#f2f2f4;
	--grey-dk:		#b8b8c0;
	
	--red: #cc3941;
	--orange: #f26533;
	--yellow: #F59C2A;
	--green: #4bba53;
	--blue: #1bb2b0;
	--magenta: #9c33a3;
	--purple: #4333a3;
	
	--red-fd: rgba(204, 57, 65, 0.25);
	--orange-fd: rgba(242, 101, 51, 0.25);
	--yellow-fd: rgba(245, 156, 42, 0.25);
	--green-fd: rgba(75, 186, 83, 0.25);
	--blue-fd: rgba(27, 178, 176, 0.25);
	--magenta-fd: rgba(156, 51, 163, 0.25);
	--purple-fd: rgba(67, 51, 163, 0.25);
	
	--shadow: 0 5px 10px 0 rgba(20, 16, 36, 0.25);
	--shadow-lt: 0 3px 5px 0 rgba(20, 16, 36, 0.1);
	
	
	--radius: 8px;
	--radius-sm: 5px;
}
html, body {
	font-size: 20px !important;
	overflow: hidden !important;
	background: var(--grey) !important;
	color: var(--black) !important;
}
@media(max-width: 1399px) {
	html, body {
		font-size: 18px !important;
	}
}
@media(max-width: 1199px) {
	html, body {
		font-size: 16px !important;
	}
}
@media(max-width: 991px) {
	html, body {
		font-size: 14px !important;
	}
}
@media(max-width: 767px) {
	html, body {
		font-size: 12px !important;
	}
}
@media(max-width: 500px) {
	html, body {
		font-size: 10px !important;
	}
}



h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
	font-weight: normal !important;
	line-height: 1.3em !important;
}
h1, .h1 { font-size: 2em !important; line-height: 1em !important; margin-bottom: .25em !important; font-weight: bold !important; }
h2, .h2 { font-size: 1.5em !important; text-transform: uppercase; font-weight: bold !important; }
h3, .h3 { font-size: 1.3em !important; }
h4, .h4 { font-size: 1.2em !important; }

@media(max-width: 991px) {
	h1, .h1 { font-size: 2.5vw !important; line-height: 1em !important; margin-bottom: .25em !important; font-weight: bold !important; }
	h2, .h2 { font-size: 2vw !important; text-transform: uppercase; font-weight: bold !important; }
	h3, .h3 { font-size: 1.5vw !important; }
	h4, .h4 { font-size: 1.5vw !important; }
}


* {
	line-height: 1em !important;
	margin: 0 !important;
	padding: 0 !important;
	font-family: "Montserrat", Montserrat, sans-serif !important;
}


.thirds {
	position: relative !important;
}
.thirds > div {
	float: left !important;
}
.thirds::after {
	content: '';
	display: block;
	width: 100%;
	clear: both;
	clear: all;
}
@media(max-width: 991px) and (orientation: portrait)  {
	.one-third {
		width: 100%;
		height: 20%;
		width: 100vw;
		height: 20vh;
	}
	.two-third {
		width: 100%;
		height: 80%;
		width: 100vw;
		height: 80vh;
		border-top: 1px solid var(--white);
	}
}
@media(max-width: 991px) and (orientation: landscape) {
	body, html {
		overflow-y: visible !important;
	}
	.one-third {
		width: 100%;
		height: 50%;
		width: 100vw;
		height: 50vh;
	}
	.two-third {
		width: 100%;
		height: 150%;
		width: 100vw;
		height: 150vh;
		border-top: 1px solid var(--white);
	}
}
@media(min-width: 992px) {
	.one-third {
		width: 33.33%;
		height: 100%;
		width: 33.33vw;
		height: 100vh;
	}
	.two-third {
		width: 66.66%;
		height: 100%;
		width: 66.66vw;
		height: 100vh;
		border-left: 2px solid var(--white);
	}
}


.flex {
	display: flex;
	display: -webkit-flex;
	flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-basis: fit-content;
	-webkit-flex-basis: fit-content;
	
	width: 100%;
	height: 100%;
}
.flex > div {
	flex: 1 auto;
	-webkit-flex: 1 auto;
}
@media (min-width: 992px) {
	.flex.flex-row-md {
		flex-direction: row !important;
		-webkit-flex-direction: row !important;
		flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
	}
	.flex.flex-row-md > div {
		flex: auto 1;
		-webkit-flex: auto 1;
	}
	.flex.flex-row-md > div {
		width: 100% !important;
		height: auto !important;
	}
}







/** CARDS **/
a.card {
	display: block !important;
}
.container-fluid,
.container-fluid .row-fluid,
.container-fluid .row-fluid > div { margin: 0; padding: 0;}

.container-fluid {
	padding: 0;
}
.container-fluid .row-fluid {
	margin: 0;
}
.container-fluid .row-fluid > div {
	padding: 0;
}
.card.static {
	background: var(--white);
	border-radius: var(--radius);
	-webkit-box-shadow: var(--shadow);
	-moz-box-shadow: var(--shadow);
	box-shadow: var(--shadow);
}
.card {
	position: relative !important;
	width: 100%;
	height: auto;
}
.card .align {
	position: absolute !important;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	max-width: 100%;
	overflow: hidden !important;
	
	display: table;
}
.card .align > div {
	display: table-cell;
	vertical-align: middle;
	max-width: 100% !important;
	overflow: hidden !important;
}
.sub-column .card .align > div {
	display: table-cell;
	vertical-align: middle;
}
.card .align > div.top {
	vertical-align: top !important;
}
.card .align > div.bottom {
	vertical-align: bottom !important;
}
.card .align > div.middle {
	text-align: center !important;
}
.card .align > div.middle > {
	margin: 0 auto !important;
}
.room .card .align > div {
	padding: 3vw !important;
}
@media(min-width: 992px) {
	.room .card .align > div {
		padding: 2em !important;
	}	
}
.sub-column .card .align > div {
	padding: .5rem !important;
}



.sub-column {
	position: relative !important;
}
.sub-column .card {
	position: absolute !important;
}




/** ROOMS **/
.one-third {
	padding: 0 .5rem !important;
}
.room {
	position: relative !important;
	overflow: hidden;
}
.room > .content {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	padding: 1rem .5rem !important;
}
.room > .content > .card {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
}
.room > .content .card .background {
	display: block;
	width: 2em !important;
	height: 2em !important;
	border-radius: 100%;
	margin-right: .5em !important;
	float: left !important;
	background-size: cover !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
	
	transform: scale(1.1) !important;
	
}
@media(min-width: 992px) {
	.one-third {
		padding: 1.5rem 0 !important;
	}
	.room > .content {
		padding: 1.5rem 3rem !important;
	}
	.card.static {
		font-size: .75rem !important;
	}
	.card:not(.static) {
		font-size: .4rem !important;
	}
}


.card.static {
	border-bottom: .5rem solid var(--black);
}
.card.static.available {
	border-bottom: .5rem solid var(--green);
}
.card.static.available h2 {
	color: var(--green);
}
.card.static.start-prep,
.card.static.end-pack {
	border-bottom: .5rem solid var(--orange);
	animation: flash 1s linear infinite forwards;
}
.card.static.start-prep h2,
.card.static.end-pack h2 {
	color: var(--orange);
}
.card.static.in-progress {
	border-bottom: .5rem solid var(--red);
}
.card.static.in-progress h2 {
	color: var(--red);
}



@keyframes flash {
	0% {
		border-color: var(--orange);
	}
	50% {
		border-color: var(--yellow);
	}
	100% {
		border-color: var(--orange);
	}
}






/** DAYS **/
.day-controls {
	display: block;
	height: 5rem !important;
	line-height: 5rem !important;
	background: var(--white);
}
.day-controls h1 {
	height: inherit !important;
	line-height: inherit !important;
	
	text-align: center;
	font-size: 1.7rem !important;
}
.day-controls h1 > a {
	font-size: inherit !important;
	line-height: inherit !important;
	display: block;
	font-size: 5rem !important;
	width: 5rem !important;
	height: 5rem !important;
	overflow: hidden !important;
}
.day-controls h1 > a[disabled] {
	pointer-events: none !important;
	opacity: .25 !important;
	cursor: not-allowed !important;
}
@media(min-width: 992px) {
	.day-controls h1 {
		font-size: 1.3rem !important;
	}
	.day-controls {
		height: 3rem !important;
		line-height: 3rem !important;
	}
	.day-controls h1 > a {
		font-size: 3rem !important;
		width: 3rem !important;
		height: 3rem !important;
	}
}
.day-controls h1 > a:first-child {
	float: left;
	border-right: 2px solid var(--grey);
}
.day-controls h1 > a:last-child {
	float: right;
	border-left: 2px solid var(--grey);
}
.day-columns {
	display: flex !important;
	display: -webkit-flex !important;
	
	flex-direction: column !important;
	-webkit-flex-direction: column !important;
	
	position: relative !important;
	width: 100%;
	height: 100%;
	
	
	background-image: url('../img/hours.svg') !important;
	background-repeat: repeat-x !important;
	background-size: contain !important;
	
	
	overflow: hidden !important;
}
.day-controls + .day-columns {
	max-height: -webkit-calc(100% - 5rem) !important;
	max-height: calc(100% - 5rem) !important;
}
@media(min-width: 992px) {
	.day-controls + .day-columns {
		max-height: -webkit-calc(100% - 3rem) !important;
		max-height: calc(100% - 3rem) !important;
	}
}
.day-columns,
.day-columns * {
	//overflow: visible !important;
}
.day-columns::after {
	content: '';
	display: block !important;
	width: 100%;
	clear: both;
	clear: all;
}

.day-columns .column {
	
	height: 100% !important;
	
	
	flex: auto;
	-webkit-flex: auto;
	flex-direction: column;
	-webkit-flex-direction: column;
	flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-grow: 1;
	-webkit-flex-grow: 1;
	
	min-width: var(--day-width);
	
	padding: 0 !important;
	overflow: visible !important;
}
.day-columns .column .column-content {
	height: 100%;
	/* height: 200% !important;
	transform: translateY(-27%) !important; */
	width: 100%;
	display: flex;
	display: -webkit-flex;
	overflow: visible !important;
}
.day-columns .column .sub-column {
	height: 100%;
	
	flex: auto;
	-webkit-flex: auto;
	flex-direction: column;
	-webkit-flex-direction: column;
	flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-grow: 1;
	-webkit-flex-grow: 1;
	
	width: calc(100% / 3) !important;
	max-width: calc(100% / 3) !important;
	
	
}
.day-columns {
	padding-left: 2rem !important;
}
.day-columns .sub-column .sub-column-content {
	height: 100%;
	width: 100%;
	display: block;
	overflow: hidden;
	padding: 0 0 0 2rem !important;
}


.day-columns .column .card {
	display: block !important;
	width: 100% !important;
	width: -webkit-calc(100% - 3rem) !important;
	width: calc(100% - 3rem) !important;
	float: left !important; 
}

.day-columns .column .card {
	position: relative;
}
.day-columns .column .card::before,
.day-columns .column .card::after {
	content: '';
	display: block;
	position: absolute;
	
	transform: translateX(-100%) !important;
}


.day-columns .column .card::after {
	width: 10px !important;
	height: 2px !important;
	//border-radius: var(--radius) 0 var(--radius) var(--radius) !important;
	background: var(--grey-dk) !important;
	top: 0rem;
	left: -1rem;
	
	transform: translateX(-6px) translateY(-50%) !important;
}

.day-columns .column .card.available::after {
	background: var(--grey-dk) !important;
}
.day-columns .column .card::before {
	width: 2px;
	height: calc(100%+2px);
	top: -1px;
	left: -1rem;
	bottom: -1px;
	background: var(--grey);
}
.day-columns .column .card .time {
	font-weight: normal !important;
	color: var(--grey-dk) !important;
	text-transform: none !important;
	display: block !important;
	text-align: right !important;
}

.day-columns .column .card a {
	display: block !important;
	position: absolute !important;
	top: 0; right: 0; bottom: 0; left: 0;
	width: 100%;
	height: 100%;
	color: var(--grey-dk) !important; 
}
.day-columns .column .card a:hover,
.day-columns .column .card a:focus {
	color: var(--black) !important; 
}
.day-columns .column .card a icon {
	width: 3rem !important;
	height: 3rem !important;
	position: absolute;
	top: 50%; left: 50%;
	transform: translateX(-50%) translateY(-50%) !important;
}
.day-columns .column .card a icon > svg {
	width: 2rem !important;
	height: 2rem !important;
}
.day-columns .column .card a::after {
	content: '';
	display: block;
	clear: both; clear: left;
	width: 100%;
}




.sub-column {
	overflow: visible !important;
}
.sub-column .card {
	border-radius: var(--radius-sm);
}
.sub-column .card * {
	overflow: visible !important;
}
.sub-column .card.available {
	background: none !important;
}
.sub-column .card:not(.available) {
	background: var(--white);
	color: var(--black);
	box-shadow: var(--shadow-lt);
	border: 1px solid var(--grey) !important;
}
.sub-column .card.available {
	background: var(--grey) !important;
	color: var(--grey-dk) !important;
	border: 1px dashed var(--grey-dk) !important;
}




/* .sub-column .card {
	transform: scale(.99) !important;
} */



.sub-column [id*="1"] .card::before, .sub-column [id*="1"] .card::after { background: var(--purple) !important; }
.sub-column [id*="2"] .card::before, .sub-column [id*="2"] .card::after { background: var(--blue) !important; }
.sub-column [id*="3"] .card::before, .sub-column [id*="3"] .card::after { background: var(--green) !important; }



.sub-column [id*="1"] .card:not(.available)::before { background: linear-gradient(to top, var(--grey-dk), var(--purple), var(--purple), var(--purple)) !important; }
.sub-column [id*="2"] .card:not(.available)::before { background: linear-gradient(to top, var(--grey-dk), var(--blue), var(--blue), var(--blue)) !important; }
.sub-column [id*="3"] .card:not(.available)::before { background: linear-gradient(to top, var(--grey-dk), var(--green), var(--green), var(--green)) !important; }

.sub-column [id*="1"] .card.available::before { background: linear-gradient(to bottom, var(--grey-dk), var(--grey-dk), var(--grey-dk), var(--purple)) !important; }
.sub-column [id*="2"] .card.available::before { background: linear-gradient(to bottom, var(--grey-dk), var(--grey-dk), var(--grey-dk), var(--blue)) !important; }
.sub-column [id*="3"] .card.available::before { background: linear-gradient(to bottom, var(--grey-dk), var(--grey-dk), var(--grey-dk), var(--green)) !important; }

.sub-column [id*="1"] .card.available:last-child::before,
.sub-column [id*="2"] .card.available:last-child::before,
.sub-column [id*="3"] .card.available:last-child::before {
	background: var(--grey-dk) !important;
}


.sub-column .card.space-to-clean {
	border-radius: 0 !important;
	/* background: transparent !important; */
	border: 1px solid var(--red-fd) !important;
	
	background-color: var(--black);
	background-image: repeating-linear-gradient( -45deg,
		  var(--red) 0px,
		  var(--red) 10px,
		  var(--red-fd) 10px,
		  var(--red-fd) 20px) !important;
	/* background-size: 10px 10px !important;
	background-repeat: repeat; */
}
.sub-column [id*="1"] .card.space-to-clean::after { background: var(--red) !important; }
.sub-column [id*="2"] .card.space-to-clean::after { background: var(--red) !important; }
.sub-column [id*="3"] .card.space-to-clean::after { background: var(--red) !important; }
.sub-column [id*="1"] .card.space-to-clean::before { background: linear-gradient(to top, var(--grey-dk), var(--red), var(--red), var(--red)) !important; }
.sub-column [id*="2"] .card.space-to-clean::before { background: linear-gradient(to top, var(--grey-dk), var(--red), var(--red), var(--red)) !important; }
.sub-column [id*="3"] .card.space-to-clean::before { background: linear-gradient(to top, var(--grey-dk), var(--red), var(--red), var(--red)) !important; }




.column > .title,
.sub-column > .title {
	position: absolute;
	width: 100%;
	left: 0;
	right: 0;
	text-align: center !important;
}






icon {
	width: 1em !important;
	height: 1em !important;
	position: relative;
	display: block;
}
icon > svg {
	display: block !important;
	
	width: .5em !important;
	height: .5em !important;
	
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
}
icon > svg > * {
	fill: none !important;
	stroke: var(--grey-dk) !important;
	stroke-width: 2 !important;
}
a:hover icon > svg > * {
	stroke: var(--black) !important;
	stroke-width: 3 !important;
}