@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Montserrat:400,700&subset=latin-ext');
:root {
    box-sizing: border-box;
    min-height: 100%;
    height: 100%;
    font-size: 16px;
    font-size: calc(12px + .5vw + .5vh);
    color: #036;
    line-height: 1.4;
    font-family: 'Montserrat', sans-serif;
}
/* RESET */
*, *::before, *::after {
    box-sizing: inherit;
}
* {
    margin: 0;
    padding: 0;
    outline: none;
}
h1 {
    font-size: 1.25rem;
}
h4 {
    font-size: .75rem;
}
.fehler {
    font-weight: 700;
    font-size: 1rem;
    color: #c0071e;
}
body {
    height: 100%;
    min-height: 100%;
    display: flex;
    flex-direction: column;
}
header, footer {
    flex: none;
    padding: calc(1.5vw + 1.5vh) 0;
}
main {
    flex: 1 0 auto;
}
main, header, footer {
    width: 90%;
    max-width: 800px;
    margin: 0 auto;
}
input:not([type="submit"]) {
	width: 100%;
}
input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	border-radius: 0;
	border-bottom: 1px solid #036;
	padding: .25rem;
	margin: 0 0 .75rem;
    font: inherit;
}
input[type="submit"] {
	background: #069;
	color: #fff;
	font-family: 'Montserrat', sans-serif;
	border: none;
	padding: .5rem .75rem;
	cursor: pointer;
}
input[type="submit"]:hover {
    background: #c0071e;
}

/* Animation */
@keyframes twister {
0% {transform: rotateZ(0deg);}
10% {transform: rotateZ(360deg);}
20% {transform: rotateZ(720deg);}
30% {transform: rotateZ(1080deg);}
40% {transform: rotateZ(1440deg);}
50% {transform: rotateZ(1800deg);}
60% {transform: rotateZ(2160deg);}
70% {transform: rotateZ(2520deg);}
80% {}
90% {}
100% {}
}

.twister {
    animation-name: twister;
    animation-duration: 3s;
    z-index: 1000;
    animation-fill-mode: both;
    text-align: center;
}