﻿.legend {
	width: 80%;
	min-width: 600px;
	margin: 0px auto;
	border: 0px;
	border-spacing: 0px 20px;
	border-collapse: separate;
}

.legend tr td {
	vertical-align: top;

	font-family: Roboto, sans-serif;
	font-weight: normal;
	font-size: 12px;
	color: #757678;
}

.legend tr td span {
	display: inline-block;
	width: 30px;
	height: 13px;

	background-color: #595959;
}

.legend tr td:last-child { padding-left: 30px; }

.max {
	background-color: #999999 !important;
	border-color: #999999 !important;
}

.past {
	background-color: #e6e6e6 !important;
	border-color: #e6e6e6 !important;
	color: #fff !important;

	cursor: default !important;
}

.out,
.period_max {
	background-color: #f2f2f2 !important;
	border-color: #f2f2f2 !important;
	color: #595959 !important;
	position: relative;

	cursor: default !important;
}

.sel {
	background-color: #b4252d !important;
	border-color: #b4252d !important;
	color: #fff !important;
}

body.rosette .sel {
	background-color: #ab1d3f !important;
	border-color: #ab1d3f !important;
}

.out::after,
.period_max::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 5px;
	right: 5px;

	display: block;
	margin-top: -1px;
	border-top: 1px solid #595959;
	
	/* weird display issue in Chrome, the whole element was 0.98px height which makes the border not appear */
	min-height: 1px;
}

input[type=submit].button {
	padding: 0px 20px;

	-webkit-border-radius: 9px;
	-moz-border-radius: 9px;
	border-radius: 9px;

	text-transform: none;
	font-family: Roboto, sans-serif;
	font-size: 21px;
}

.start {
	text-align: center;
	margin-top: 30px;
		
	font-family: Roboto, sans-serif;
}

.content h1 {
	text-align: center;
	font-family: Roboto,sans-serif;
	font-weight: 300;
	font-size: 39px;
	color: #b4252d;

	height: 65px;
	line-height: 65px;

	margin-top: 65px;
	border-top: 1px solid #b3b3b3;
}

body.rosette .content h1 {
	color: #ab1d3f;
	font-family: 'Libre Baskerville', serif;
	font-style: italic;
}

main .content h2 {
	text-align: center;
	font-weight: normal;
		
	margin: 30px 0px;
}

body.rosette main .content h2 {
	font-family: 'Roboto', sans-serif;
	font-style: normal;
}

body.rosette #month_heading {
	font-family: 'Libre Baskerville', serif;
	font-style: italic;
}

.content h3 {
	text-align: center;
	font-family: Roboto, sans-serif;
	font-weight: 300;
	font-size: 19px;
	color: #757678;

	margin-bottom: 20px;
}

.greybar {
	background-color: #fafafb;
	border: 1px solid #808080;
	border-width: 1px 0px;
	height: 65px;
	line-height: 65px;

	text-align: center;
	font-family: Roboto, sans-serif;
	font-weight: bold;
	font-size: 14px;
	color: #000;
}

.greybar span {
	display: inline-block;
	line-height: normal;
	vertical-align: middle;
}

main > .set_width {
	width: 100%;
	max-width: 100%;
}

main .title {
	width: 90%;
	max-width: 1200px;
	margin: 0px auto;
}

.calendar {
	text-align: center;
	display: inline-block;
	position: relative;
}

.calendar h4 {
	font-size: 32px;
	font-weight: 300;
	color: #000;
	height: 40px;
	line-height: 40px;
	margin-bottom: 10px;
}

.calendar h4 a {
	display: inline-block;
	width: 40px;
	height: 40px;

	text-align: center;
}

.calendar h4 a::after {
	content: '';
	display: inline-block;
	line-height: normal;
	vertical-align: middle;
}

.calendar h4 a.prev { float: left; }
.calendar h4 a.prev::after {
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
	border-right: 7px solid #77787a;
}

.calendar h4 a.next { float: right; }
.calendar h4 a.next::after {
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
	border-left: 7px solid #77787a;
}

.calendar nav { font-size: 0px; }
.calendar > div { width: 343px; }

.calendar h5
, .calendar div:not(.spinner) div {
	display: inline-block;
	border: 1px solid #000;

	width: 45px;
	height: 40px;
	line-height: 40px;

	margin: 2px;
	vertical-align: top;

	-webkit-transition: background-color 150ms ease-in-out, border 150ms ease-in-out;
	-moz-transition: background-color 150ms ease-in-out, border 150ms ease-in-out;
	-ms-transition: background-color 150ms ease-in-out, border 150ms ease-in-out;
	-o-transition: background-color 150ms ease-in-out, border 150ms ease-in-out;
	transition: background-color 150ms ease-in-out, border 150ms ease-in-out;
}

.calendar h5 {
	font-weight: normal;
	font-size: 19px;
	color: #000;
}

.calendar div:not(.spinner) div {
	background-color: #595959;
	border-color: #595959;
	font-weight: bold;
	font-size: 15px;
	color: #fff;
	cursor: pointer;
}

.calendar .oom {
	background-color: #f2f2f2 !important;
	border-color: #f2f2f2 !important;

	cursor: default;
}

.times {
	display: inline-block;
	margin: 20px -2px;
	text-align: left;
	font-size: 0px;
}

.times div {
	margin: 2px;
	display: inline-block;
	width: 95px;
	height: 33px;
	line-height: 33px;

	background-color: #595959;

	text-align: center;
	font-weight: normal;
	font-size: 16px;
	color: #fff;

	cursor: pointer;

	-webkit-transition: background-color 150ms ease-in-out;
	-moz-transition: background-color 150ms ease-in-out;
	-ms-transition: background-color 150ms ease-in-out;
	-o-transition: background-color 150ms ease-in-out;
	transition: background-color 150ms ease-in-out;
}

#time_panel > .center { position: relative; }

#view_order {
	position: absolute;
	bottom: 20px;
	right: 0px;

	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;

	font-family: Roboto, sans-serif;
	font-size: 16px;
	padding: 0px 25px 0px 70px;

	background-color: #b4252d;
}

body.rosette #view_order { background-color: #ab1d3f; }

#view_order span {
	position: absolute;
	top: 50%;
	left: 22px;
	margin-top: -22px;

	display: inline-block;
	width: 30px;
	height: 30px;
	line-height: 30px;
	padding: 0px;

	text-align: center;
	font-family: Roboto Condensed, sans-serif;
	font-weight: bold;
	font-size: 18px;
	color: #fff;
}

#view_order .cart_icon {
	width: 50px;
	fill: #e7e7e8;

	position: absolute;
	left: 9px;
	top: 50%;

	-webkit-transform: translate(0px, -50%);
	-moz-transform: translate(0px, -50%);
	-ms-transform: translate(0px, -50%);
	-o-transform: translate(0px, -50%);
	transform: translate(0px, -50%);
}

@media only screen and (max-width: 768px) {
	main > .set_width { margin: 0px; }
	main > .set_width > .title {
		margin-left: 20px;
		margin-right: 20px;
	}

	.content h3 { display: none; }

	.greybar {
		padding: 0px 40px;
		font-size: 19px;
	}

	main .content h2 { font-size: 29px; }

	.calendar h5
	, .calendar div:not(.spinner) div {
		width: 55px;
		height: 50px;
		line-height: 50px;
	}

	.calendar > div { width: 413px; }

	.calendar h5 {
		font-size: 28px;
		font-weight: 300;
	}

	.calendar div:not(.spinner) div {
		font-size: 22px;
		font-weight: normal;
	}

	.times div {
		width: 110px;
		height: 40px;
		line-height: 40px;

		font-size: 19px;
	}

	#time_panel {
		margin: 0px auto;
		width: 453px;
	}

	.legend tr td span {
		width: 40px;
		height: 26px;
	}

	.legend tr td { font-size: 17px; }
}