body {
	font-family: Geneva, Verdana, sans-serif;
	line-height: 1.6;
	margin: 0;
	padding: 0;
}

header {
	color: #fff;
	text-align: center;
	padding: 0;
	background-image: url(./background_fit.png);
}
header p {
	padding: 1rem;
	color: #fff;
	text-align: center;
}
.header-overlay {
	position: absolute;
	background-image: radial-gradient(rgba(255,255,255,var(--c)), rgba(44, 67, 145, var(--b)), rgba(0,0,0,var(--a)));
	animation: pulse 1s infinite alternate-reverse;
	width: 100%;
	height: 246px;
}
@property --a {
	syntax: '<percentage>';
	inherits: false;
	initial-value: 100%;
}
@property --b {
	syntax: '<percentage>';
	inherits: false;
	initial-value: 0%;
}

@property --c {
	syntax: '<percentage>';
	inherits: false;
	initial-value: 0%;
}
@keyframes pulse {
	0% {
		--a: 100%;
		--b: 0%;
		--c: 0%;
	}
	100% {
		--a: 50%;
		--b: 0%;
		--c: 15%;
	}
}
nav {
	background-color: #444;
	color: #fff;
	padding: 0.5rem;
	margin-top: -1rem;
}
nav ul {
	list-style-type: none;
	padding: 0;
	margin: 0.3rem;
}
nav ul li {
	display: inline;
	margin-right: 10px;
}
nav ul li a {
	padding: 0.5rem;
	color: #fff;
	text-decoration: none;
}
#current {
	background-color: #7e7e7e;
	border-radius: 5px;
	/*text-decoration: underline;*/
}
main {
	padding: 20px;
}
footer {
	background-color: #333;
	color: #fff;
	text-align: center;
	padding: 1rem;
	position: fixed;
	bottom: 0;
	width: 100%;
}
footer #footer-icons {
	position: absolute;
	top: 5px;
	width: 100%;
	z-index: 1;
}
#footer-icons img {
	float: right;
	margin-right: 70px;
}

#logo {
	width: 500px;
}
canvas {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}
a {
	color: #000;
	font-weight: bold;
	cursor: pointer;
}
#videos {
	position: relative;
}
#videos .video {
	margin: 0;
	position: absolute;
	left: 50%;
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	display: table;
}
#gallery-positioner {
	position: relative;
}
#gallery {
	margin: 0;
	position: absolute;
	left: 50%;
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	display: table;
}
.gallery-row {
	display: table-row;
}
.gallery-modal-row {
	text-align: -moz-center;
}
.image-container {
	display: table-cell;
	padding: 10px;
}
.image-container img:hover, .modal-image-container img:hover {
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
	cursor: pointer;
}
.image-container img, .modal-image-container img {
	width: 300px;
	height: 160px;
}

.modal-image-container.current {
	img {
		border: 2px solid white;
		margin-top: 2px;
	}
}

.image-modal-window {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 900px;
	background-color: #000;
	color: #fff;
	text-align: center;
}

.gallery-close {
	font-family: Arial, sans-serif;
	font-size: 4vh;
	color: #fff;
	cursor: pointer;
	float: right;
	padding: 20px;
	padding-right: 40px;
}

#gallery-switchers {
	position: absolute;
	margin-top: 340px;
	font-family: Arial, sans-serif;
	font-size: 5vh;
	color: #fff;
	width: 100%;
}

.gallery-left {
	cursor: pointer;
	float: left;
	padding: 50px;
}

.gallery-right {
	font-family: Arial, sans-serif;
	font-size: 5vh;
	color: #fff;
	cursor: pointer;
	float: right;
	padding: 50px;
}

.gallery-img-main {
	position: relative;
	top: 10vh;
	padding: 40px;
}

.gallery-label-main {
	font-family: Arial, sans-serif;
	margin: 30px;
	margin-top: 65px;
	font-weight: 800;
	margin-right: 40px;
}

.modal-image-container {
	display: table-cell;
}

#contact-form-positioner {
    margin: 0;
    position: absolute;
    left: 50%;
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
}

form#contact-form {
	font-family: Arial, sans-serif;
	width: 550px;
	text-align: left;
}

form#contact-form table tr td {
	padding: 10px;
}

form#contact-form table tr td:nth-child(1) {
	padding-right: 30px;
	float: right;
	vertical-align: top;
	font-weight: 600;
}

form#contact-form input, form#contact-form textarea, form#contact-form select {
	border: 1px solid black;
	border-radius: 8px;
	padding: 5px;
	background: #fff;
}

form#contact-form a#send-query {
	border: 1px solid black;
	border-radius: 8px;
	padding: 5px;
	background: #fff;
	float: right;
}

form#contact-form input.invalid, form#contact-form textarea.invalid {
	border: 1px solid red;
}

form#contact-form #errorMessage {
	 width: 310px;
	 font-weight: 600;
	 color: red;
}

#unity-ascii-positioner {
	background-image: radial-gradient(ellipse at center, rgba(0,0,0,0.4), rgba(255,255,255,0.0), rgba(255,255,255,0.0));
	position: absolute;
	width: 800px;
}

#unity-ascii {
    margin: 0;
    left: 25%;
    -ms-transform: translateX(25%);
    transform: translateX(25%);
}

table#prices-table {
	margin-left:auto;
	margin-right:auto;
}

table#prices-table tr th {
	background-color: rgb(173, 202, 173);
}

table#prices-table, table#prices-table th {
	border: 2px solid black;
  	border-collapse: collapse;
}

table#prices-table tr th, table#prices-table tr td {
	padding: 20px;
}

table#prices-table tr:nth-child(odd) td {
	background-color: rgb(199, 233, 199);
}

table#prices-table tr:nth-child(even) td {
	background-color: rgb(188, 219, 188);
}

table#prices-table tr td:nth-child(2), table#prices-table tr td:nth-child(3) {
	font-style: italic;
	text-align: center;
}

.cited {
	font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
	font-size: 3vh;
	color: gray;
	font-style: italic;
	padding-left: 100px;
	padding-right: 100px;
}

#footer-text-container {
	position: relative;
	z-index: 1;
}

.f-cube {
	width: 20px;
	height: 20px;
	position: absolute;
	border: 3px solid #333;
}