body {
	margin: 0;
	background-color: black;
	font-family: Tahoma, Geneva, sans-serif;
	display: flex;
	flex-direction: column;
}

/*
** hack got from http://css-tricks.com/box-sizing/
** with this hack we can use width:100% for every content and navigation window and no scrollbar should appear
*/
div, .btn, .txt {
	-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
	-moz-box-sizing: border-box;    /* Firefox, other Gecko */
	box-sizing: border-box;         /* Opera/IE 8+ */
}

.d2blogo-r {
	float:right; height:48px; padding:5px 0 0 10px;
}

body > section {
	margin-left: 30px;
	margin-top: 10px;
	margin-right: 30px;
	border-radius: 16px;
	background-color: #FAFAFC;
	min-width: 650px;
	text-align: center;
}

section li {
	margin-top: 7px;
	padding-left:0;
}

section ul {
	margin:0;
	padding-left: 22px;
}

p {
	margin: 5px 0 0 0;
}

ul {
	margin: 3mm 0 2mm 0;
}

h1, h2, h3 {
	margin:0;
	padding:0;
}

h1 {
	font-size: 9mm;
}

h2 {
	font-size: 6mm;
}

h3 {
	font-size: 6mm;
	margin-top: 8px;
}

footer {
	z-index: -1;
	margin-left: 2mm;
	margin-bottom: 2mm;
}

.bold {
	font-weight: bold;
}

.quote {
	font-style: italic;
	color: blue;
}

/* 
** same size like #m2
*/
.small {
	font-size: 4mm;
}

body > header {
	text-align: center;
}

/*
** Navigation Bar TOP
*/
#navigation-top {
	margin:auto;
	margin-left: 35px;
	margin-top: 10px;
	display:inline-block;
}

#navigation-top div.spacer {
	/*border-left: 2px solid white;*/
	min-width: 3mm;
	min-height:12mm;
	display:inline-block;
	float: left;
}

#navigation-top a {
	color: white;
	font-size: 10mm;
	text-decoration: none;
	padding-left: 2mm;
	padding-right: 2mm;
	display:inline-block;
	float: left;
}

#navigation-top a.active {
	
}

#navigation-top a:hover {
	color: black;
	background-color: white;
}

div a, .addrgo {
	text-decoration: underline;
	padding-left: 2mm;
	padding-right: 2mm;
	cursor: pointer;
}

a {
	color: #242173;
}

a:hover {
	background-color: #ACCDE2;
	cursor: pointer;
}

.btn a {
	color: white;
}

.btn a:hover {
	background-color: white;
	color: black;
}

#main {
	text-align: center;
}

#main > img {
	max-width: 170mm;
	max-height: 170mm;
	margin:auto;
	border: 1px solid white;
	box-shadow: 10px 10px 30px grey;
}

#main_nav {
	font-size: 8mm;
	color: white;
}
#main_nav > a {
	color:white;
	text-decoration: none;
}
#main_nav > a:hover {
	background-color: white;
}

#m2 {
	text-align: left;
	margin-left: auto;
	margin-right: auto;
	min-height: 166mm;
	color: black;
	min-width: 600px;
	padding: 2mm;
	font-size: 4mm;
}

.gridcontainer {
	display: table;
}

.grid2r {
	display: table-row;
}

.grid2, .grid13, .grid23 {
	/*float:left;*/
	padding: 5px;
	display: table-cell;
}

.grid2 {
	width: 50%;
}

.grid13 {
	width:33%;
}

.grid23 {
	width:67%;
}

.roundrect {
	border-radius: 8px;
	border: 1px solid black;
}

.bordertop {
	border-top: 1px solid black;
	border-collapse: collapse;
}

.borderleft {
	border-left: 1px solid black;
	border-collapse: collapse;
}

.borderright {
	border-right: 1px solid black;
	border-collapse: collapse;
}

/*
** .btn = navigation or action buttons
** .txt = disabled buttons or informative text in navigation area
*/
.btn, .txt {
	background-color: #ACCDE2;
	border-radius: 2mm;
	color: #242173;
	display: inline-block;
	font-size: 6mm;
	min-height: 12mm;
	min-width: 10mm;
	padding-left: 4mm;
	padding-right: 4mm;
	position: relative;
	vertical-align: middle;
	line-height: 100%;
	white-space: nowrap;
	padding-top: 3mm;
	text-decoration: none;
}

.btn {
	border: 1px solid #000000;
	cursor: pointer;
	word-wrap: break-word;
	
}

.btn input[type="submit"]  {
	cursor: pointer;
}

.btn:hover {
	background-color: #cdeeff;
}

.btn input[type="text"], .btn input, .btn select, .btn textarea, .txt input[type="text"], .txt input, .txt select, .txt textarea {
	/* 
		bugfix for IE: (padding-bottom:2px) not cut bottom of gpy 
		bugfix for all browsers: (font-size:1em) to position element at the same height with the previous text revert the padding-top from .btn
	*/
	font-size:1em;
	background: none repeat scroll 0 0 rgba(0, 0, 0, 0);
	border: none;
	padding:0 0 2px 0;
}

.btn input[type="text"] {
	background-color:white;
}

.btn input[type="text"], .btn input, .btn select, .txt input[type="text"], .txt input, .txt select {
	margin-top:-3mm;
}

input.btn {
	font-size:1em;
	padding-top:1.5mm;
}

/*
** hide the IE auto generated X button from input field (using our own logic with .btininner element)
*/
.btn input[type="text"]::-ms-clear {
    display: none;
}


.btn label {
	min-width: 60mm;
	text-align: right;
	padding-right: 2mm;
	display: inline-block;
}

div.missing {
	border: 1px solid red !important;
}

.important {
	color: red;
	font-weight: bold;
}


.start {
	color: white !important;
	background-color: #00CC00 !important;
	box-shadow: 4px 4px 10px grey;
}

.start input {
	color: white !important;
}

.start:hover {
	background-color: #00FF00 !important;
}

.center {
	text-align: center;
}

.left {
	text-align: left;
}

.right  {
	text-align: right;
}

.middle {
	vertical-align: middle;
}


.section {
	margin: 2mm 0 2mm 0;
}

.strong {
	font-weight: bold;
}

.underline {
	text-decoration: underline;
}

.quote {
	color: #707070;
	font-style: italic;
	padding-left: 10px;
}

.lh15 {
	line-height: 150%;
}

.bg1 {
	background-color: #F4FAF4;
}

.bg2 {
	background-color: #E4EAE4;
}

.content {
	padding-left: 10px;
	padding-right: 10px;
}

.minh48 {
	min-height: 48px;
}

.w100p {
	width:100%;
}

.color1 {
	color: #242173;
}

.point1 {
	width:48px;
	height:48px;
	background:url('../img/mobile_pointcircle.png');
	display:inline-block;
	font-size: 42px;
	font-weight:bold;
	color: #242173;
	text-align: center;
	vertical-align: middle;
	font-family: Arial;
}

#fld_code_check_nok,#fld_code_check_ok {
	display: none;
	padding: 2mm;
}

#fld_code_check_ok {
	border: 1px solid green;
	background-color: #FFFF99;
	color: black;
}

#fld_code_check_nok, .errormsg {
	border: 1px solid red;
	background-color: #FFA9A9;
	color: black;
}

.errormsg {
	padding: 2mm;
	margin-bottom: 3mm;
}

td, tr, table {
	border-collapse: collapse;
}

th {
	padding: 5px 10px;
}

.col0 {
	border-right: 2px solid black;
	text-align: right;
	padding-right: 10px;
}

tr:nth-child(even), ul.table:nth-child(even) {
	background: #F4FAF4
}
tr:nth-child(odd), ul.table:nth-child(odd) {
	background: #E4EAE4
}


.features table {
	margin: 0px auto;
}

/*
** ul.table / li.table / ul.tablerow / li.tablerow
** TABLE SIMULATION
*/
ul.table {
	list-style-type: none;
	border-bottom: 1px solid #CED2CE;
	border-top: none;
	margin: 3mm 0 2mm 0;
}

ul.selected {
	background-color: #F9FFF9;;
}

ul.active {
	background-color: #f9ffc9;;
}

li.tablerow {
	border-bottom-style:inset;
	border-bottom: none;
	border-top: none;
}

ul.tablerow {
	list-style-type: none;
	overflow:hidden;
	border-bottom: none;
	border-top: 1px solid #CED2CE;
}

ul.tablerow > li {
	float: left;
	display:inline;
	margin: 0px 10px;
	min-height: 30px;
	border-bottom: none;
	border-top: none;
	padding-top:14px; 
	font-size: 1.1em;
}
