*, html {
	margin: 0;
	padding: 0;
}
/*
*/

*, *:before, *:after {
	box-sizing: border-box;
}

.line {
        height: 1px;
        margin: 0 auto;
        background-image: linear-gradient(        left , white 2%, #E6E6E6 50%, white 98%);
        background-image: -o-linear-gradient(     left , white 2%, #E6E6E6 50%, white 98%);
        background-image: -moz-linear-gradient(   left , white 2%, #E6E6E6 50%, white 98%);
        background-image: -webkit-linear-gradient(left , white 2%, #E6E6E6 50%, white 98%);
        background-image: -ms-linear-gradient(    left , white 2%, #E6E6E6 50%, white 98%);
        background-image: -webkit-gradient( linear, left bottom, right bottom, color-stop(0.02, white), color-stop(0.5, gray), color-stop(0.98, white) );
}

body {
	font-family: verdana,arial,sans-serif;
	xfont-size:100%;
	background-color:#FFFFFF;
	color:#333333;
	margin:0px;
	padding:0px;
	background-color:#FFFFFF;
	overflow:scroll;
	text-align: center;
}

#top_of_page {
	margin:0px;
	padding:0px;
	position:absolute;
	top:0px;
}
	
h1 {
	margin-top:40px;
	color:#003399;
	font-size:180%;
	margin-bottom:8px;
}

h2 {
	margin-top:0px;
	color:#009999;
	font-size:120%;
}

h3, .head {
	margin-top:0px;
	margin-bottom:5px;
	color:#009999;
}
h3 {
	font-size:1.3em;
	text-align:left;
	margin: 20px 0 10px 0;
}
.head {
	font-size: 120%;
}
p {
	margin-top:0px;
	margin-bottom:10px;
	font-size:1.4em;
	line-height:150%;
	text-align:justify;
}

.hh {
	color:#009999;
	font-weight:bold;
	margin-bottom:5px;
	margin-top:20px;
}

.menu {
	font-size:0.9em;
	margin: 30px 0 30px 0;
	/* color:#003399; */
}

.text {
	table-layout: fixed;
	max-width: 90%;
	width:410px;
	line-height:18px;
	xborder: 1px solid blue;
}

a:link {
	color:#999999;
	text-decoration:none;
}

a:visited {
	color:#999999;
	text-decoration:none;
}

a:hover {
	color:#003399;
	background-color:#FFFF99;
	text-decoration:none;
}
a:active {
	background-color:#FFFF99;
}

img {
	background-color:#FFFFFF;
}

.controls-left, .controls-right {
	vertical-align: top;
	table-layout: fixed;
}
table {
	border-collapse:collapse;
	border:0;
	text-align:center;
	margin-left:auto;
	margin-right:auto;
}
th, td {
	height: 20px;
	padding: 0 3px;
}
th {
	font-size:80%;
	font-weight:bold;
	xborder: 1px solid blue;
}
td {
	font-size:70%;
	vertical-align:middle;
	xborder: 1px solid red;
}

.ref, .refnum {
	vertical-align:top;
	text-align:left;
	padding-bottom:10px;
	line-height:150%;
	font-size: 0.95em;
	word-wrap: break-word;
}
.refnum {
	width: 35px;
}

.left, .right {
	font-size: 1.1em;
}
.left {
	text-align:right;
	padding-right:3px;
	width: 250px;
}
.right {
	text-align:left;
	padding-left:3px;	
	width: 250px;
}

.button {
	width:40px;
	height:20px;
	font-family:verdana,arial,sans-serif;
	background-color:#FFFFCC;
	color:#0033CC;
	font-size:8pt;
	vertical-align:middle;
}

.error {
	color:red;
	font-weight:bold;
}

#footer {
	font-size:80%;
	margin: 10px 0 50px 0;
}

/* ===== RD ===== */

#undercanvas {
	color:#555;
	margin-bottom: 20px;
}
#undercanvas > #a {
	margin-top: 15px;
	display: block;
	font-size: 1.0em;
	line-height: 1.5em;
}
#undercanvas > #b {
	margin-top: 15px;
	display: none;
	font-size: 1.4em;
}
#landscape-please {
	display: none;
}
#canvas-container {
	vertical-align: top;
	margin: 0px 8px 0px 8px;
	padding: 5px;
	border: 1px solid #cccc00;
	border-radius: 10px;
	background-color: #FFFFCC;
	-webkit-box-shadow: 0px 5px 24px -8px rgba(0,0,0,0.4);
	-moz-box-shadow:    0px 5px 24px -8px rgba(0,0,0,0.4);
	box-shadow:         0px 5px 24px -8px rgba(0,0,0,0.4);
}
#debug { display: none }
@media (min-width:768px) {
	/* desktop */
	#debug { color: green }
	#canvas-container {
		margin-top: 0px;
		width: 400px;
		height: 320px;
	}
	p {
		margin-top:0px;
		margin-bottom:10px;
		font-size:1.2em;
		xline-height:150%;
	}
	.ref, .refnum {
		font-size: 0.8em;
	}
	.hide-on-desktop {
		display: none;
	}
}
@media (max-width:768px) {
	/* mobile */
	#debug { color: blue }
	.menu {
		font-size: 4.3vh;
	}
	.head {
		font-size:100%;
	}
	#footer, #top {
		font-size: 3.5vh;
	}
	#canvas-container {
		margin-top: 22px;
		width: 240px;
		height: 200px;
	}
	#undercanvas {
		margin-top:0px;
	}
	.hide-on-mobile {
		display: none;
	}
}
@media (max-width:768px) and (orientation:portrait) {
	/* mobile portrait */
	#debug { color: red }
	.menu {
		font-size: 4.3vw;
	}
	#canvas-container {
		margin-top: 0px;
		width: 90vw; /* Breite (und Höhe) angepasst an Screen */
		max-width: 400px;
		height: 0;
		overflow: hidden;
		padding-top: 60%; /* aspect-ratio fuer Zwillinge */
		position: relative;
	}
	#canvas {
		xborder: 1px solid red;
		position: absolute;
		top: 0;
		left: 0;
	}
	.controls-left, .controls-right {
		display: none;
	}
	#undercanvas {
		margin-top: 5px;
	}
	#undercanvas > #a {
		display: none;
	}
	#undercanvas > #b {
		display: block;
		font-size:4.5vw;
	}
	#footer, #top {
		font-size: 3.5vw;
	}
	#top {
		margin-top: 10px;
	}
	.hide-on-mobile {
		display: none;
	}
	#landscape-please {
		display: flex;
		justify-content: center;
		margin: 20px;
		padding: 10px 0 10px 0;
		font-size: 5vw;
		font-weight: bold;
		color: red;
		background-color: #ffeeff;
		border-top: 2px solid red;
		border-bottom: 2px solid red;
	}
	#landscape-please > img {
		margin: 0 0 0 2vw;
		height: 11vw;
	}
}
