:root {
	--darkblue: #4B5A69;
	--darkbluetxt: #FFF;
	--lightblue: #00B4FF;
	--lightblue2: rgba(0, 180, 255, 0.05);
}

@font-face {
	font-family: 'Schrift';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/Regular.eot');
	src: url('../fonts/Regular.eot?#iefix') format('embedded-opentype'),
		url('../fonts/Regular.woff2') format('woff2'),
		url('../fonts/Regular.woff') format('woff'),
		url('../fonts/Regular.ttf') format('truetype'),
		url('../fonts/Regular.svg#svgFontName') format('svg');
}

@font-face {
	font-family: 'Schrift';
	font-style: normal;
	font-weight: 700;
	src: url('../fonts/Bold.eot');
	src: url('../fonts/Bold.eot?#iefix') format('embedded-opentype'),
		url('../fonts/Bold.woff2') format('woff2'),
		url('../fonts/Bold.woff') format('woff'),
		url('../fonts/Bold.ttf') format('truetype'),
		url('../fonts/Bold.svg#svgFontName') format('svg');
}

* {
	box-sizing: border-box;
	color: #666;
	font-family: 'Schrift', Arial, sans-serif;
	margin: 0px;
	padding: 0px;
	outline-width: 0px;
}

body {
	background-color: #FFF;
	color: var(--darkblue);
	font-size: 100.01%;
	margin: 0px;
	padding: 0px;
}

h1 {
	color: var(--lightblue);
	font-size: 1.1rem;
	font-weight: bold;
	margin-bottom: 15px;
	text-transform: uppercase;
	word-wrap: break-word;
}

h1 i {
	color: var(--lightblue);
	font-size: 1.1rem;
	font-weight: bold;
}

h2 {
	color: var(--lightblue);
	font-size: 1rem;
	font-weight: bold;
	margin-bottom: 15px;
	word-wrap: break-word;
}

h3 {
	color: var(--lightblue);
	font-size: 1rem;
	font-weight: bold;
	margin-bottom: 15px;
	word-wrap: break-word;
}

h4 {
	color: var(--lightblue);
	font-size: 1rem;
	font-weight: bold;
	margin-bottom: 15px;
	word-wrap: break-word;
}

html {
	overflow-y: scroll;
}

p {
	margin-bottom: 25px;
}

form * {
	box-sizing: border-box;
	font-size: 1rem;
	outline-width: 0px;
}

form input[type=checkbox] {
  display: none;
}

form input[type=checkbox] + label {
	background-color: #EEE;
	border: 2px solid #DDD;
	border-radius: 30px;
	content: "";
	display: inline-block;
	height: 34px;
	margin-right: 5px;
	margin-top: 5px;
	transition: background-color 0.5s linear;
	width: 60px;
}

form input[type=checkbox] + label:hover {
	cursor: pointer;
}

form input[type=checkbox] + label::before {
	background-color: #FFF;
	border-radius: 30px;
	box-shadow: 0px 0px 5px #AAA;
	content: "";
	display: block;
	float: left;
	height: 30px;
	margin-right: 5px;
	transition: margin 0.1s linear;
	width: 30px;
}

form input[type=checkbox]:checked+label {
	background-color: #414B4B;
}

form input[type=checkbox]:checked+label::before {
	margin: 0 0 0 30px;
}

form button {
	background-color: var(--darkblue);
	border: 1px solid var(--darkblue);
	color: var(--darkbluetxt);
	cursor: pointer;
	font-weight: bold;
	padding: 15px;
	padding-bottom: 10px;
	padding-top: 10px;
	text-align: center;
}

form button:hover {
	background-color: var(--lightblue);
}

form input,
form textarea {
	-webkit-box-shadow: 0px 0px 5px 0px #999999; 
	box-shadow: 0px 0px 5px 0px #999999;
	background-color: #FFF;
	border: 1px solid var(--darkblue);
	color: var(--darkblue);
	padding: 7px;
	width: calc(100% - 200px);
}

form select {
	-webkit-box-shadow: 0px 0px 5px 0px #999999; 
	box-shadow: 0px 0px 5px 0px #999999;
	background-color: #FFF;
	border: 1px solid var(--darkblue);
	color: var(--darkblue);
	padding: 5.5px;
	width: calc(100% - 200px);
}

form input:focus,
form textarea:focus,
form select:focus {
	border: 1px solid var(--lightblue);
	border-radius: 0px;
}

form input[type=number] {
	width: 100px;
}

form label {
	color: var(--darkblue);
	display: inline-block;
	font-weight: bold;
	margin-bottom: 10px;
	width: 200px;
}

form label a {
	text-decoration: none;
}

form label i {
	font-size: 1.6rem;
}

form textarea {
	min-height: 200px;
}

form .w {
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-align-content: flex-start;
	-ms-flex-line-pack: start;
	align-content: flex-start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
	margin-bottom: 15px;
	width: 100%;
}

form .w-submit {
	width: 100%;
}

form .w-submit button {
	margin-right: 17.5px;
}

#gridcontainer {
	display: -ms-grid;
	display: grid; 
	-ms-grid-columns: 65% 0px 35%; 
	grid-template-columns: 65% 35%; 
	-ms-grid-rows: auto 0px auto 0px auto; 
	grid-template-rows: auto 1fr auto; 
	gap: 0px 0px; 
	grid-template-areas: "logo menu" "content content" "info info";
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	height: 100vh;
}

#gridcontainer .to--content {
	-ms-flex-item-align: stretch;
	-ms-grid-row-align: stretch;
	align-self: stretch;
	grid-area: content;
	padding: 25px;
}

#gridcontainer .to--info {
	grid-area: info;
	padding: 25px;
	text-align: center;
}

#gridcontainer .to--logo {
	grid-area: logo;
	padding: 25px;
	padding-right: 0px;
}

#gridcontainer .to--logo img {
	height: auto;
	width: 90%;
}

#gridcontainer .to--menu {
	grid-area: menu;
	padding: 25px;
	padding-left: 0px;
	text-align: right;
}

#gridcontainer .to--menu a {
	text-decoration: none;
}

#gridcontainer .to--menu i {
	font-size: 2.6rem;
}

.to--advisories {
	font-size: 0.8rem;
	margin-top: 25px;
	width: 100%;
}

.to--btn {
	background-color: var(--darkblue);
	border: 1px solid var(--darkblue);
	color: var(--darkbluetxt);
	cursor: pointer;
	font-weight: bold;
	padding: 15px;
	padding-bottom: 10px;
	padding-top: 10px;
	text-align: center;
}

.to--btn:hover {
	background-color: var(--lightblue);
}

.to--btn i {
	color: var(--darkbluetxt);
}

.to--cart {
	width: 100%;
}

.to--cart input[type=text],
.to--cart select {
	margin-bottom: 12.5px;
	width: 100%;
}

.to--cart .to--actions {
	text-align: center;
}

.to--cart .to--actions button {
	margin-right: 12.5px;
}

.to--cart .to--actions button:last-of-type {
	margin-right: 0px;
}

.to--cart .total {
	text-align: right;
}

.to--cart .to--cell:last-of-type {
	width: 100% !important;
}

.to--formbody {
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-align-content: stretch;
	-ms-flex-line-pack: stretch;
	align-content: stretch;
	-webkit-align-items: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
}

.to--formbody .to--formbox {
	width: calc(50% - 70px);
}

.to--formbody .to--formflexbox {
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-align-content: stretch;
	-ms-flex-line-pack: stretch;
	align-content: stretch;
	-webkit-align-items: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	width: 100%;
}

.to--formbody .to--formfullbox {
	width: 100%;
}

.to--required {
	margin-bottom: 25px;
}

.to--table {
	width: 100%;
}

.to--table .to--header {
	display: none;
}

.to--table .to--row {
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-align-content: stretch;
	-ms-flex-line-pack: stretch;
	align-content: stretch;
	-webkit-align-items: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	border-bottom: 1px solid var(--darkblue);
	margin-bottom: 25px;
}

.to--table .to--row .to--cell {
	margin-bottom: 12.5px;
	width: 50%;
}

.to--table .to--row .to--cell:first-of-type {
	width: 100%;
}

.to--table .to--row .to--cell:nth-child(3n+3) {
	text-align: right;
}

.to--table .to--row .to--cell input[type=number] {
	text-align: center;
	width: 50px;
}

.to--table .to--row .to--cell .small {
	font-size: 0.9rem;
}

.to--terms {
	border: 1px solid var(--darkblue);
	height: 300px;
	margin-bottom: 25px;
	overflow-y: scroll;
	padding: 25px;
}

.to--ticketlist {
	width: 100%;
}

.to--ticketlist .to--actions {
	text-align: center;
}

@media(min-width: 600px) {
	#gridcontainer {
		-ms-grid-columns: 75% 0px 25%; 
		grid-template-columns: 75% 25%;
	}
	
	#gridcontainer .to--content {
		padding: 35px;
	}
	
	#gridcontainer .to--info {
		padding: 35px;
	}
	
	#gridcontainer .to--logo {
		padding: 35px;
		padding-right: 0px;
	}
	
	#gridcontainer .to--logo img {
		width: 70%;
	}
	
	#gridcontainer .to--menu {
		padding: 35px;
		padding-left: 0px;
	}
	
	#gridcontainer .to--menu i {
		font-size: 3.4rem;
	}
	
	.to--advisories {
		margin-top: 35px;
	}
	
	.to--cart .to--actions button {
		margin-right: 17.5px;
	}
	
	.to--cart .to--actions button:last-of-type {
		margin-right: 0px;
	}
	
	.to--required {
		margin-bottom: 35px;
	}
	
	.to--table {
		border-collapse: collapse;
		display: table;
		margin-bottom: 35px;
		width: 100%;
	}
	
	.to--table .to--cell {
		display: table-cell;
		padding: 10px;
	}
	
	.to--table .to--header {
		display: table-header-group;
	}
	
	.to--table .to--header .sorting a {
		text-decoration: none;
	}
	
	.to--table .to--header .to--cell {
		display: table-cell;
		font-weight: bold;
		padding: 10px;
		padding-top: 0px;
		position: relative;
	}
	
	.to--table .to--header .to--row {
		border-bottom: 1px solid var(--darkblue);
		display: table-row;
	}
	
	.to--table .to--header .to--row:hover {
		background: none !important;
	}
	
	.to--table .to--row {
		border-bottom: 1px solid var(--darkblue);
		cursor: pointer;
		display: table-row;
	}
	
	.to--table .to--row:hover {
		background-color: var(--lightblue2);
	}
	
	.to--ticketlist .to--actions {
		text-align: right;
	}
}

@media(min-width: 800px) {
	h1 {
		font-size: 1.6rem;
	}
	
	h1 i {
		font-size: 1.8rem;
	}
	
	h2 {
		font-size: 1.4rem;
	}
	
	h2 i {
		font-size: 1.6rem;
	}
	
	#gridcontainer .to--logo img {
		width: 50%;
	}
	
	.to--cart input[type=text],
	.to--cart select {
		width: 300px;
	}
}

@media(min-width: 1024px) {
	#gridcontainer .to--logo img {
		width: 300px;
	}
}

@media(min-width: 1200px) {
	#gridcontainer {
		margin: 0 auto;
		width: 1200px;
	}
}