/*
Author: Dennis André Winter
Author URI: http://www.dennis-winter.com
*/
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
html, body {
	height: 100%;
	width: 100%;
	margin: 0;
	padding: 0;
	-webkit-text-size-adjust: 100%;
	overflow: auto;
}
body {
	display: grid;
	grid-template-rows: auto 1fr auto;
	font-weight: normal;
	font-family: 'Roboto', 'Helvetica-Neue', sans-serif;
	color: #fff;
	position: fixed;
	overscroll-behavior-y: none;
	background-color: color(srgb 0.239 0.24 0.24);
}
.svglogo {
	position: absolute;
	top: 8px;
	left: 12px;
}
a:link, a:visited, a:active{
	text-decoration: none;
	border: 0;
	color: #fff;
}
a:hover { /* mouseover link */
    text-decoration: underline; 
}
::selection  { /* Safari */
	background: #000000;
	color: white;
}
::-moz-selection { /* FireFox */
	background: #000000;
	color: white;
}
h1 {
    font-size: 9vw;
}
h2 { 
	font-size: 2.5vw;
	font-weight: 300;
	padding-bottom: 15px;

}
#links a {
	font-size: 2vw;
	display: block;
	padding: 0.7em 1em;
	font-weight: 900;
}
textarea, select, input, button {
	outline: none;
}
/* ==========================================================================
   Subscribe/Contact CTA
   ========================================================================== */
#subscribe {float: right;}
.wiggle {display: inline-block;animation: wiggle 3s infinite;}
.wiggle:hover {animation: none;}
/* ==========================================================================
   Containters, Divs etc.
   ========================================================================== */ 
header, footer {
	padding: 15px 20px; /* px instead of em, bc the layout should be hardcoded */
    z-index: 100;
   	font-size: 0.75em;
}
footer {
	line-height: 1em;
	color: #999;
}
footer p {
	display: inline-block;
	padding-top: 5px;
}
footer p a, footer p a:link, footer p a:visited, footer p a:active{
	color: #999;
}
main {
	margin: 0em auto;
	padding: 1em;
	height: 100%;
	position: relative;
}
.center {
	text-align: center;
	position: relative;
	top: 50%;
	transform: translate(0, -50%);
    z-index: 100;
}
#links {
	max-width: 75%;
	margin: auto;
	display: grid; 
	grid-template-columns: 1fr 1fr 1fr 1fr;
	justify-content: center;
}
/* ==========================================================================
   Media Queries
   ========================================================================== */
@media screen and (max-width: 1200px) { 
  #links a {font-size: 2.5vw;}}
@media screen and (max-width: 700px) { 
  #links { grid-template-columns: minmax(min-content, 1fr) minmax(min-content, 1fr);
		   grid-template-rows: 50% 50%;
		   max-width: 60%; }
  #andreheading {display: none;}
  h1 {font-size: 7em;line-height: 1em; padding-bottom: 30px;}
  .heroh2 {display: none;}
  #links a {font-weight: bold; font-size: 1.7em;}}
@media screen and (max-width: 500px) { 
  h1 {font-size: 6em;}}
/* @media screen and (min-width: 600px) {  When to show background video, and when to only show poster */
  button {display: block !important;}}
/* ==========================================================================
   Privacy Policy & Legal Notice
   ========================================================================== */
.ppbody, .legalbody {
	overflow-y: scroll !important; /* has to be scroll, not auto */
	-webkit-overflow-scrolling: touch !important;
	position: relative !important;
}
.ppbody header, .ppbody footer, .legalbody header, .legalbody footer {
	background-color: black;
	opacity: 0.8;
}
.ppbody .center, .legalbody .center {
	top: 0;
	transform: translate(0, 0);
}
.privacypolicy, .legal {
	max-width: 800px;
}
.privacypolicy p, .legal p {
	font-size: 0.8em;
	color: #1b1b1b;
	text-align: left;
	word-wrap: break-word;
  }
.privacypolicy h2, .legal h2 {
	font-size: 1.75em;
	margin: 0.5em 0 0.5em;
	font-weight: normal;
	text-align: left;
	color: #1b1b1b;
  }
.privacypolicy h3, .legal h3{
	font-size: 1em;
	margin: 1em 0 0.2em;
	font-weight: bold;
	text-align: left;
	color: #1b1b1b;
  }
.privacypolicy a, .legal a { /* Link-color on the PP and Legal site*/
	color: #10567b;
 }
.legalbody footer p,.ppbody footer p {
	margin-top: -5px !important;
}
/* ==========================================================================
   Video Background
   ========================================================================== */  
video {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -100;
	object-fit: cover;
}
.overlay {
    background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.65) 100%);
	background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%);
	background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#a6000000',GradientType=0 );
    position: fixed;
    z-index: 99;
    top: 0; left: 0;
    bottom: 0; right: 0;
    width: 100%;
    height: 100%;
}
/* ==========================================================================
   Sound On/Off Button
   ========================================================================== */
button {
	display: none; /* please see media queries for more css on this button */
	background: transparent;
	position: relative;
	float: right;
	border: 0;
   	width: 20px;
   	height: 20px;
}
.icon-plus, .icon-minus {
	background: url(sound_icons.svg);
	background-size: 40px 20px;
	width: 100%;
	height: 100%;
	display: inline-block;
}
.icon-minus {
	background-position-x: 20px;
}
/* ==========================================================================
   Intro Text Animations
   ========================================================================== */
.animated {
    -webkit-animation-fill-mode: both;
    -moz-animation-fill-mode: both;
    -ms-animation-fill-mode: both;
    -o-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-duration: 1s;
    -moz-animation-duration: 1s;
    -ms-animation-duration: 1s;
    -o-animation-duration: 1s;
    animation-duration: 1s;
}
.delay {
    -webkit-animation-delay: 500ms;
    -moz-animation-delay: 500ms;
    -o-animation-delay: 500ms;
    animation-delay: 500ms;
}
.delay1 {
    -webkit-animation-delay: 1s;
    -moz-animation-delay: 1s;
    -o-animation-delay: 1s;
    animation-delay: 1s;
}
.delay2 {
    -webkit-animation-delay: 1.5s;
    -moz-animation-delay: 1.5s;
    -o-animation-delay: 1.5s;
    animation-delay: 1.5s;
}
.delay3 {
    -webkit-animation-delay: 1.7s;
    -moz-animation-delay: 1.7s;
    -o-animation-delay: 1.7s;
    animation-delay: 1.7s;
}
.delay4 {
    -webkit-animation-delay: 1.9s;
    -moz-animation-delay: 1.9s;
    -o-animation-delay: 1.9s;
    animation-delay: 1.9s;
}
.delay5 {
    -webkit-animation-delay: 2s;
    -moz-animation-delay: 2s;
    -o-animation-delay: 2s;
    animation-delay: 2s;
}
@keyframes fadeIn 
	{ 0% {opacity: 0; }
    100% {opacity: 1; }
}
.fadeIn {
    -webkit-animation-name: fadeIn;
    -moz-animation-name: fadeIn;
    -o-animation-name: fadeIn;
    animation-name: fadeIn;
}
@keyframes fadeInDown
	{ 0% {opacity: 0; transform: translateY(-20px);}
    100% {opacity: 1; transform: translateY(0);    }
}
.fadeInDown {
    -webkit-animation-name: fadeInDown;
    -moz-animation-name: fadeInDown;
    -o-animation-name: fadeInDown;
    animation-name: fadeInDown;
}
@keyframes fadeInLeft
	{ 0% {opacity: 0; transform: translateX(-20px);}
    100% {opacity: 1; transform: translateX(0);}
}
.fadeInLeft {
    -webkit-animation-name: fadeInLeft;
    -moz-animation-name: fadeInLeft;
    -o-animation-name: fadeInLeft;
    animation-name: fadeInLeft;
}
@keyframes wiggle {
    0% { transform: rotate(0deg); }
   80% { transform: rotate(0deg); }
   85% { transform: rotate(5deg); }
   95% { transform: rotate(-5deg); }
  100% { transform: rotate(0deg); }
}