/* open-sans-regular - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: local(''),
       url('fonts/open-sans-v34-latin/open-sans-v34-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/open-sans-v34-latin/open-sans-v34-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* open-sans-700 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: local(''),
       url('fonts/open-sans-v34-latin/open-sans-v34-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/open-sans-v34-latin/open-sans-v34-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* open-sans-italic - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 400;
  src: local(''),
       url('fonts/open-sans-v34-latin/open-sans-v34-latin-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/open-sans-v34-latin/open-sans-v34-latin-italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* open-sans-700italic - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 700;
  src: local(''),
       url('fonts/open-sans-v34-latin/open-sans-v34-latin-700italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/open-sans-v34-latin/open-sans-v34-latin-700italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
* {
	color: inherit;
	outline: none;
	font-size: inherit;
	line-height: inherit;
	font-style: inherit;
	font-weight: inherit;
	padding: 0;
	margin: 0;
}
.noselect {
  -webkit-touch-callout: none; /* iOS Safari */
  -webkit-user-select: none;   /* Chrome/Safari/Opera */
  -khtml-user-select: none;    /* Konqueror */
  -moz-user-select: none;      /* Firefox */
  -ms-user-select: none;       /* IE/Edge */
  user-select: none;           /* non-prefixed version, currently
                                  not supported by any browser */
}
html {
	height: 101%;
}
body {
	font-family: sans-serif;
	font-size: 0.4cm;
	line-height: 0.5cm;
}
.inactive {
	pointer-events: none;
	opacity: 0.33;
}
.noselect {
	user-select: none;
}
#nfo {
	position: fixed;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	border: 1px solid black;
	padding: 0.2cm;
	display: none;
}
#dev {
	opacity: 0;
	position: fixed;
	top: 0.3cm;
	left: 0.3cm;
}
#dev:hover {
	opacity: 1;
}
#dev .button {
	padding: 0.2cm 0.4cm 0.2cm 0.4cm;
	background-color: black;
	color: white;
	cursor: pointer;
	text-decoration: none !important;
	border-radius: 0.2cm;
}
#adminPanel {
	position: fixed;
	display: none;
	top: 2cm;
	left: 2cm;
	width: calc(100% - 4cm);
	height: calc(100% - 4cm);
	border: 1px solid rgb(0,0,0);
	box-shadow: 0px 15px 15px -9px rgba(0,0,0,0.23);
	background-color: rgb(255,255,255);
	z-index: 1000;
}
#page {
	font-family: 'Open Sans', sans-serif;
	width: 90%;
	max-width: 30cm;
	margin: 0 auto;
	padding-bottom: 3cm;
}
#overlay {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: black;
	display: none;
	z-index: 666;
	opacity: 0.69;
}
#head {
	position: relative;
	min-height: 3cm;
}
#introbild {
	position: relative;
	z-index: -1;
	line-height: 0;
	font-size: 0px;
}
#introbild img {
	max-width: 30cm;
	width: 100%;
}
#apfelherz {
	transform: scale( 0.5 );
	position: absolute;
	top: 0.5cm;
	right: 1.25cm;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-duration: 1s;
	animation-direction: alternate;
}
#apfelherz:hover {
	animation-name: heartbeat;
}
@media (orientation: portrait) {
	#apfelherz {
		animation-name: heartbeat;
	}
}
@keyframes heartbeat {
	0% {
		transform: scale( 0.5 );
	}
	20% {
		transform: scale( 0.6 );
	}
	80% {
		transform: scale( 0.5 );
	}
	100% {
		transform: scale( 0.5 );
	}
}
#content {
	line-height: 0.75cm;
	padding: 1cm 0 1cm 0;
	background-color: white;
}
#content p,
#content h1,
#content h2,
#content h3 {
	margin-bottom: 0.5cm;
}

#content h1 {
	font-size:0.5cm;
	color:rgb(0,96,192);
}
#content h2 {
}
#content h2 + div {
	margin-top:-0.5cm;
}


#content input, #content button {
	padding: 0.1cm 0.2cm 0.1cm 0.2cm;
}
#content button {
	border: 0 none;
	background-color: white;
	color: black;
	cursor: pointer;
	font-weight: bold;
}
#content .showcase {
	margin-bottom: 0.5cm;
}
#content .thumbs {
	padding: 0 0 0.4cm 0; /*0.5 abzüglich der .link-Abstände*/
	background-color: rgba(255,255,255,0.69);
}
#content .thumbs .link {
	background-color: white;
	display: inline-block;
	margin: 0.1cm 0.2cm 0.1cm 0;
	position: relative;
	cursor: pointer;
	line-height: 0;
	width: 2cm;
	height: 2cm;
	overflow: hidden;
	border-radius: 0.01cm; /* hack: sonst wackelt was */
}
#content .thumbs .link:hover {
	z-index: 99;
}
#content .thumbs .link img {
	opacity: 0.69;
	transition: opacity 0.23s ease-in-out 1.23s, transform 0.23s ease-out 0s;
}
#content .thumbs .link:hover img {
	transition: opacity 0.23s ease-in-out 0s, transform 0.23s ease-out 0s;
	transform: scale(0.9) translate(0.2cm, 0.2cm);
	opacity: 1;
}
#content .thumbs .link .icon {
	transition: opacity 0.23s ease-in-out 0s, transform 0.23s ease-out 0s;
	position:absolute;
	bottom:33%;
	left:0;
	opacity:0;
	transform: scale(0);
}
#content .thumbs .link:hover .icon {
	opacity:1;
	transform: scale(1);
}
#slideShow {
	padding: 1.5cm;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) scale(0, 0);
	transition: transform 0.23s ease-out 0s, opacity 0.23s ease-out 0s;
	opacity: 0;
	background-color: white;
	box-shadow: 0.4cm 0.4cm 1cm 0 rgba(0,0,0,0.23);
	border: 1px solid black;
}
#slideShow.active {
	z-index: 999;
	opacity: 1;
	transform: translate(-50%, -50%) scale(1, 1);
}
#progressBar {
	width: 50%;
	height: 0.1cm;
	position: fixed;
	bottom: 1.25cm;
	left: 50%;
	transform: translateX(-50%);
	opacity: 0;
	transition: opacity 0.2s ease-out 0s;
}
#progressBar.active {
	opacity: 1;
}
#progressBar div {
	height: 100%;
	color: rgb(255,255,255);
	text-align: right;
	width: 0;
	background-color: rgba(5,10,15,0.69);
	border-radius: 1px;
}

#slideShow .loading {
	width:1cm; 
	height:1cm;
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
}
#slideShow .loading div {
	width:1cm; 
	height:1cm;
	animation: rotating 2s linear infinite;
	display:block;
	background-image:url(loading.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center center;
}
@keyframes rotating {
    from {transform:rotate(0deg)}
    to {transform:rotate(360deg)}
}

#slideShow .fa {
	opacity: 0.5;
	cursor: pointer;
	padding: 0.25cm;
}
#slideShow .fa:hover {
	opacity: 1;
}
#slideShow .invisible {
	visibility: hidden;
}
#slideShow .fa-close {
	position: absolute;
	top: 0.25cm;
	left: 50%;
	transform: translateX(-50%);
}
#slideShow .controls {
	position: absolute;
	bottom: 0.25cm;
	left: 50%;
	transform: translateX(-50%);
}
#playerFrame {
	display: none;
}
#slide {
	min-width: 5cm;
	min-height: 2cm;
}
#slide ul {
	list-style: none;
}
#slide > ul > li {
	display: none;
	position: relative;
}
#slide > ul > li[data-type="javanim"] > ul > li {
	display: none;
}
#slide > ul > li[data-type="javanim"] > ul > li:nth-child(1) {
	display: block;
}
#slide > ul > li[data-type="video"] > .youtube {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 2.3cm;
	color: white;
}
#slide > ul > li.active {
	display: block;
}
#slide > ul > li .infotext {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: 100%;
	transform: translate(-50%, -50%) scaleY(0);
	padding: 0.5cm;
	background-color: rgba(255,255,255,0.9);
	text-align: center;
	opacity: 0;
	transition: opacity 0.2s ease-out 0s, transform 0.2s ease-out 0s;
	border-bottom: 1px solid black;
	border-top: 1px solid black;
}
#slide > ul > li .infotext:empty {
	display: none;
}
#slide > ul > li .infotext.active {
	opacity: 1;
	transform: translate(-50%, -50%) scaleY(1);
}
#slide img {
	max-width: 80vw;
	max-height: 80vh;
}
#content p a:hover {
	color: rgb(0,96,192);
}
#playerFrame iframe#player {
	z-index:99999;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-color: white;
	padding: 0.1cm;
	border: 0.23cm solid white;
	max-width: 100%;
}
#slideShow a {
	text-decoration: none;
	color: rgb(0,96,192);
}
#slideShow a:hover {
	text-decoration: underline;
}
#content h1, #content h2, #content strong {
	font-weight: bold;
}
em {
	font-style: italic;
}
#menu {
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 99;
	border-bottom: 0.1cm solid white;
	padding: 2cm 1cm 0 0.5cm;
	width: 100%;
}
#menu li {
	list-style: none;
}
#menu #toggle {
	display: none;
}
#up {
	font-size: 0.69cm;
	position: fixed;
	bottom: -3.3cm;
	left: calc(50% - 1cm);
	width: 2cm;
	text-align: center;
	opacity: 0.5;
	background-color: rgb(0,96,192);
	color: white;
	padding: 0.2cm 0.3cm 0.3cm 0.3cm;
	transition: opacity 0.23s ease-out 0s, bottom 0.5s ease-out 0.5s;
	cursor: pointer;
}
#up:hover {
	opacity: 1;
}
#up.active {
	bottom: -0.1cm;
}
.nowrap {
	white-space: nowrap;
}
#content > ul {
margin-left:1cm;
margin-bottom:0.5cm;
}
#downloadContent a,
#downloadContent a .fa,
#downloadContent a:hover .fa {
	text-decoration:none;
}
#downloadContent a:hover {
	text-decoration:underline;
}
#downloadContent a .fa {
	margin-right:0.25cm;
}
#logo {
	position: absolute;
	top:0;
	padding-top:0.5cm;
	left:0.5cm;
}
#logo,
#logo img {
	width:2cm;
	height:2cm;
}

.linkbuttons a span {
	display:inline-block;
	position:relative;
	padding:0 0.2cm 0 0.2cm;
	background-color:black;
	color:white;
	transition: transform 0.1s ease-out 0.3s, background-color 0.1s ease-out 0s;
	text-decoration: none !important;
}
.linkbuttons a:hover span {
	background-color:rgb(0,96,192);
	transition: transform 0.1s ease-out 0s;
	transform: translateY(-0.2cm) rotate(-45deg);
}

@media only screen and (min-width: 768px) {
#menu > ul > li:not(.hasSub) > a, #menu > ul > li.hasSub > ul > li:last-child > a {
	position: relative;
}
#menu > ul > li:not(.hasSub) > a:after, #menu > ul > li.hasSub > ul > li:last-child > a:after {
	position: absolute;
	bottom: -0.5cm;
	display: block;
	width: 100%;
	height: 0.5cm;
	content: '';
}
#menu a {
	background-color: white;/*rgb(0,96,192);*/
	color: black;
	display: block;
	padding: 0.1cm 0.2cm 0.1cm 0.2cm;
	text-decoration: none;
	box-shadow: 0 0 0 0 rgba(0,0,0,0);
	transition: background-color 0.1s ease-out 0s, box-shadow 0.1s ease-out 0s;
}
#menu ul ul a {
	padding: 0.1cm 1cm 0.1cm 0.2cm;
	transition: padding 0.1s ease-out 0.3s;
}
#menu ul ul li:hover > a {
	padding: 0.1cm 0.2cm 0.1cm 1cm;
	transition: padding 0.1s ease-out 0s;
}
#menu li:hover a, #menu li.active a {
	background-color: black;/*rgb(0,96,192);*/
	color: white;
}
#menu > ul > li {
	display: inline-block;
	position: relative;
}
#menu li {
	transition: transform 0.1s ease-out 0.3s;
}
#menu > ul > li:hover {
	z-index: 99;
}
#menu > ul > li:hover, #menu li.active {
	transition: transform 0.1s ease-out 0s;
	transform: translateY(-0.2cm) rotate(-45deg);
	opacity: 0.9;
}
#menu > ul ul li.active {
	transform: translateY(-0.2cm) rotate(45deg);
}
#menu > ul ul li.active a {
	background-color: rgb(0,96,192);
}
#menu li:hover a, #menu li.active a {
	box-shadow: 0.5cm 0.5cm 0 0 rgba(0,0,0,0.23);
}
#menu > ul > li > ul {
	display: none;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 99;
	transform: translateY(100%);
}
#menu > ul > li:hover > ul {
	display: block;
}
}

@media only screen and (max-width: 768px) {
#page {
	width: 100%;
	max-width: 100%;
	margin: 0;
}
#apfelherz {
	top: -2cm;
	right: 0;
}
#menu #toggle {
	display: block;
	font-size: 0.69cm;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	transform: translateY(-100%);
	background-color: rgba(255,255,255,0.5);
	color: black;
	padding: 0.1cm;
}
#head {
	position: static;
}
#menu {
	position: relative;
	text-align: center;
	padding: 0;
	background-color: white;
	color: black;
}
#menu > ul {
	display: none;
}
#menu > ul > li {
	border-bottom: 1px solid rgb(0,96,192);
}
#menu.active > ul {
	display: block;
}
#menu a {
	display: block;
	padding: 0.1cm;
	font-weight: bold;
	text-decoration: none;
	color: black;
	background-color: rgba(0,0,0,0.1);
	transition: background-color 0.2s ease-out 0s;
}
#menu li.active > a {
	background-color: rgb(0,96,192);
	color: white;
}
#content {
	padding: 1cm;
}
#overlay {
	background-color: white;
	opacity: 1;
}
#slideShow {
	width: 100%;
	height: 100%;
	padding: 0;
	opacity: 0;
	background-color: white;
	border: 1px solid black;
	transform: scale(1, 0);
}
#slide {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 99;
	transform: translate(-50%, -50%);
}
#slide img {
	max-width: 80vw;
	max-height: 70vh;
}
#slideShow .fa {
	font-size: 1cm;
}
#up {
	left: 0;
	right: 0;
	width: 100%;
}
#up .fa {
	transform: translateX(-50%);
}
}
