@import url("font-sourcesanspro.css");
@import url("font-awesome.css");
@import url("defaults.css");
@import url("container.css");
@import url("form.css");
@import url("nav.css");

@-ms-viewport {
	width: device-width;
}

html {
	height: 100%;
}

body {
	height: 100%;
	font-family: 'Source Sans Pro', sans-serif;
	font-weight: 300;
	font-size: 14pt;
	color: #012640;
	letter-spacing: 0.5px;
	line-height: 1.5em;
    background-color: rgba(221, 221, 221, 1);
}

body.is-loading *, body.is-resizing * {
	-moz-transition: none !important;
	-moz-animation: none !important;
	-webkit-transition: none !important;
	-webkit-animation: none !important;
	-ms-transition: none !important;
	-ms-animation: none !important;
	transition: none !important;
	animation: none !important;
}

h1, h2, h3, h4, h5 {
	font-weight: 300;
	color: inherit;
	padding-top: 0.7em;
	padding-bottom: 0.2em;
	vertical-align: middle;	
}

h2 {
	font-size: 2.5em;
	letter-spacing: -0.01em;
	line-height: 1.25em;
}

h3 {
	font-size: 1.5em;
	line-height: 1.25em;
	text-align: center;
	padding-top: 1.5em;
}

h4 {
	font-size: 1.2em;
	line-height: 1.25em;
	text-align: center;
}

h1 a, h2 a, h3 a, h4 a, h5 a {
	text-decoration: none;
	color: inherit;
}

strong, b {
	font-weight: 500;
	letter-spacing: -0.02em;
	color: inherit;
}

em, i {
	font-style: italic;
}

a {
	text-decoration: none;
	color: inherit;
}

hr {
	border: 0;
	border-top: solid 1px #ddd;
}

p, ul, ol, dl, table {
	margin-bottom: 2em;
}

header {
	margin-bottom: 0.7em;
	text-align: center;
}

header p {
	display: block;
	margin: 1em 0 0 0;
	padding: 0;
}

footer {
	margin-top: 2em;
}

br.clear {
	clear: both;
}

/* Sections/Articles */

section, article {
}

section > :last-child,
article > :last-child,
section > .content > :last-child,
article > .content > :last-child,
section:last-child,
article:last-child {
	margin-bottom: 0;
}

.row > section, .row > article {
	margin-bottom: 0;
}

.image {
	position: relative;
	display: inline-block;
}

.image:before {
	content: '';
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	position: absolute;
}

.image img {
	display: block;
	width: 100%;
	height: 100%;
}


img.left {
	margin-top: 5px;
	margin-left: 0px;
	margin-right: 15px;
	margin-bottom: 5px;
	float: left;
	}

ul.default {
	list-style: disc;
	padding-left: 1em;
}

ul.default li {
	padding-left: 0.5em;
}

ol.default {
	list-style: decimal;
	padding-left: 1.25em;
}

ol.default li {
	padding-left: 0.25em;
}

.bignumbers {    
	border-radius: 50%;
	width: 1.5em;
	height: 1.5em;
	padding: 0.1em;
	position: relative;
	background: #ccc;
	color: #fff;
	text-align: center;
	font-size: 120%;
	float: left;
	margin-right: 0.3em;
	font-weight: 700;
}

/* Main */

.main {
	margin: 0;
	position: relative;
	overflow-x: hidden;
}

.main.fullscreen {
	height: 100%;
}

.main.home {
	text-align: center;
	padding: 3em 0 3em 0;
}


.main.home h2 {
	font-weight: 500;
	color: #fff;
	-webkit-text-shadow:0 0 0.7em #555; /* for chrome */
	-text-shadow:0 0 0.7em #555; /* for all browser*/
	text-shadow:0 0 0.7em #555; /* same as above*/
	-moz-text-shadow:0 0 0.7em #555; /* for firefox */
	-o-text-shadow:0 0 0.7em #555; /* for opera */
	-ms-text-shadow:0 0 0.7em #555; /* for ie 9+ */
	-khtml-text-shadow:0 0 0.7em #555; /* for gecko based browser*/	
}

.main.home h3 {
	color: #fff;
	letter-spacing: 0.05em;
}

.main.home p {
	color: #fff;
}

.main.home:before {
	content: ''; 
	text-align: center;
	display: inline-block;
	vertical-align: middle;
	height: 100%;
	padding-top: 0;	
}

.main.home .content {
	display: inline-block;
}

.main.first:before {
	content: ''; 
	text-align: center;
	display: inline-block;
	vertical-align: middle;
	height: 100%;
}

/* rowstyle */

.main.rowstyle:before {
	padding-top: 2em;
}

.main.rowstyle {
	text-align: justify;
	padding-top: 2em;
	padding-bottom: 4em;
}

.main.rowstyle .content > header {
	margin-bottom: 1em;
}

.main.rowstyle.light {
    background-color: #F7F7F7;
}

.main.rowstyle.medium b {
}

.main.rowstyle.medium {
    background-color: #EFEFEF;
}

.main.rowstyle.light b {
}

.main.rowstyle.dark {
	background: #DFDFDF;
}

.main.rowstyle.dark b {
}

.main.rowstyle table {
	border-collapse: collapse;
	 width: 100%;
	 font-size: 105%;
}

.main.rowstyle tr:hover {
	}

.main.rowstyle tr {
	background-color: #E3E3E3;
	}

.main.rowstyle td,th {
	 border: 2px solid #F7F7F7;
     padding: 0.7em;
     text-align: left; 
}

.table-medium {
	background-color: #E9E9E9;
}

.topteaser {
    position: absolute;
    bottom: 4em;
    left: 0;
    right: 0;
	}

/* Header */

#header {
	z-index: 10000;
	left: 0;
	top: 0;
	width: 100%;
	height: 4em;
	line-height: 4em;
	background: #012640;
	border-bottom: solid 1px #fff;
	position: fixed;
}

/* Headline */

.headline {
}

.headline a {
}

/* Buttons */

input[type="button"], input[type="submit"], input[type="reset"], .button, button {
	display: inline-block;
	outline: 0;
	position: relative;
	text-align: center;
	text-decoration: none;
}

input[type="button"].down, input[type="submit"].down, input[type="reset"].down, .button.down, button.down {
	color: #aaa;
	padding: 0;
	overflow: hidden;
}

input[type="button"].down.anchored, input[type="submit"].down.anchored, input[type="reset"].down.anchored, .button.down.anchored, button.down.anchored {
	bottom: 0;
	margin-left: -1.5em;
}

input[type="button"].anchored, input[type="submit"].anchored, input[type="reset"].anchored, .button.anchored, button.anchored {
	position: absolute;
	left: 50%;
}

input[type="button"]:hover, input[type="submit"]:hover, input[type="reset"]:hover, .button:hover, button:hover {
	color: #fff;
}

input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active, .button:active, button:active {
	color: #fff;
}

.box {
	color: #012640;
	width: 50%;
}

/* Icons */

.icon {
	text-decoration: none;
	font-size: 1.75em;
	}

.icon:before {
	display: inline-block;
	font-family: FontAwesome;
	font-size: 1.25em;
	text-decoration: none;
	font-style: normal;
	font-weight: normal;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	}

.icon > .label {
	display: none;
	}

/* Logo */

#logo {
	display: inline-block;	
	position: absolute;
	left: 1em;
	height: 4em;
	vertical-align: middle;
	}

#header h1 {
	padding: 0;
	margin: 0;
	color: #fff;	
	font-size: 120%;
	}
	
#header b {
	font-weight: 700;	
	}	

/* Home */

#home {
}

.landingpage {
	background: url("../images/home1.jpg");
	background-color: #aaa;
	background-size: cover;
	background-position: bottom center;
	background-repeat: no-repeat;
	-webkit-background-size: cover;	
	-moz-background-size: cover;
	-o-background-size: cover;		
}

/* Teaser */

.teaser {
    margin: 0 auto;
	color: #012640;
	}

.teaser .icon {
	color: #012640;
	padding-top: 1em;
	padding-bottom: 0.7em;
	}

.teaser-grid  {
    background-color: rgba(255, 255, 255, 0.70);
	text-decoration: none;
    padding: 1% 2%;
	margin-left: 0.5%;
	margin-right: 0.5%;
    width: 48%;
	float: left;
	min-height: 10em; 
	font-size: 100%;
	line-height: 1.4em;
}

.teaser-grid a {
	text-decoration: none;
}

.teaser-grid b {
	font-size: 150%;
	font-weight: 700;
	padding-bottom: 0.2em;
}

.teaser :hover {
    background-color: rgba(255, 255, 255, 1);
}

/* Two Rows */

.tworows_left {
	text-align: left;
	vertical-align: middle;
	float: left; 
	width: 50%; 
	padding-right: 2.5em;
}

.tworows_right {
	text-align: left;
	vertical-align: middle;
	float: right; 
	width: 50%; 
	padding-left: 2.5em;
}

.tworows_left li {
	padding-bottom: 0.7em;
}

.tworows_right li {
	padding-bottom: 0.7em;
}

.block_angebot {
	background-color: #EFEFEF;
	padding: 2%;
	margin-bottom: 2em;
	text-align: center;
}

/* Contact */

.vcard {
	text-align: center;
}

.contactbox {
	padding-bottom: 1em;
	text-align: center; 
	display: block; 
	width: 25%; 
	float: left;
}

/* Footer */

#footer {
	position: relative;
	height: 4em;
	line-height: 4em;
	margin: 0;
	background: #777;
	color: #fff;
	overflow: hidden;
	padding-bottom: 7em;
}

#footer a {
	color: #ccc;
}

#footer a:hover {
	color: #bbb;
}

#footer .copyright {
	position: absolute;
	left: 1em;
	top: 0.25em;
	height: 5em;
	line-height: 4em;
	margin: 0;
}

#footer .copyright li {
	font-size: 0.9em;
	margin: 0;
}

#footer .copyright li a {
	padding: 0.5em;
}

#footer .menu {
	position: absolute;
	right: 2em;
	top: 0.25em;
	height: 5em;
	line-height: 4em;
	margin: 0;
}

#footer .menu li {
	font-size: 0.9em;
}

#footer .menu a {
	color: #fff;
}

#footer .menu a:hover {
	color: #ccc;
}

.olControlAttribution {
    bottom: 0 !important;
    display: block;
    font-size: small !important;
    position: absolute;
    right: 0.5em !important;
}

.markerContent {
    font-size: smaller;
}

.external-link {
	color: #012640;
	font-weight: 400;
}

.datenschutz  {
	font-size: 80%;
}

/* Touch Mode */

body.is-touch .main {
	background-attachment: scroll !important;
}

@media screen and (max-width: 3072px) {
	
	html {
		margin: 0 auto;
		max-width: 3072px;
	}

	body, input, textarea, select {
		font-size: 16pt;
	}

	.box {
		width: 50%;
		padding: 1em;
	}

	#m-menu {
	display: none;
	}
	
}

@media screen and (max-width: 1920px) {

	body, input, textarea, select {
		font-size: 15pt;
	}

	.box {
		width: 50%;
		padding: 1em;
	}

	#m-menu {
	display: none;
	}
}

@media screen and (max-width: 1680px) {

body, input, textarea, select {
	font-size: 13pt;
	}

	.box {
		width: 60%;
		padding: 1em;
	}

	.teaser-grid  {
	min-height: 11em; 
	font-size: 85%;
	line-height: 1.3em;
	}

	#m-menu {
	display: none;
	}

}

@media screen and (max-width: 1280px) {

	body, input, textarea, select {
	font-size: 12pt;
	}

	.box {
		width: 75%;
	}

	.teaser-grid  {
	min-height: 11em; 
	font-size: 85%;
	line-height: 1.3em;
	}

	#m-menu {
	display: none;
	}
	
	.main.home h2 {
	font-weight: 500;
	color: #fff;
	font-size: 2.25em;
	-webkit-text-shadow:0 0 0.7em #555; /* for chrome */
	-text-shadow:0 0 0.7em #555; /* for all browser*/
	text-shadow:0 0 0.7em #555; /* same as above*/
	-moz-text-shadow:0 0 0.7em #555; /* for firefox */
	-o-text-shadow:0 0 0.7em #555; /* for opera */
	-ms-text-shadow:0 0 0.7em #555; /* for ie 9+ */
	-khtml-text-shadow:0 0 0.7em #555; /* for gecko based browser*/	
	}	

}

@media screen and (max-width: 1024px) {

	body, input, textarea, select {
	font-size: 12pt;
	}

	.teaser-grid  {
	min-height: 12em; 
	font-size: 90%;
	line-height: 1.3em;
	}

	.container > .container {
	width: 100% !important;
	}

	.box {
		width: 90%;
	}
	
	.main.home h2 {
	font-weight: 500;
	color: #fff;
	font-size: 1.75em;
	-webkit-text-shadow:0 0 0.7em #555; /* for chrome */
	-text-shadow:0 0 0.7em #555; /* for all browser*/
	text-shadow:0 0 0.7em #555; /* same as above*/
	-moz-text-shadow:0 0 0.7em #555; /* for firefox */
	-o-text-shadow:0 0 0.7em #555; /* for opera */
	-ms-text-shadow:0 0 0.7em #555; /* for ie 9+ */
	-khtml-text-shadow:0 0 0.7em #555; /* for gecko based browser*/		
	
	.main.rowstyle {
	text-align: justify;
	padding-top: 0em;
	padding-bottom: 4em;
	}

	.main.rowstyle table {
	font-size: 100%;
	}
	
	table {
	font-size:90%;
	}	

	#header h1 {	
	font-size: 100%;
	}		
	
	#m-menu {
	display: none;
	}

	#footer {
	height: auto;
	line-height: inherit;
	text-align: center;
	padding: 2em 1em 2em 1em;
	}

	#footer .copyright {
	left: 0;
	padding: 0;
	margin: 0;
	height: auto;
	display: block;
	line-height: 1.2em;
	position: relative;
	}

	#footer .menu {
	display: none;
	}

}

@media screen and (max-width: 800px) {

	body {
	font-size: 12pt;
	line-height: 1.5em;
	padding-top: 2.5em;
	color: #222;
	}

	input, textarea, select {
	font-size: 12pt;
	line-height: 1.5em;
	}

	h2 {
	font-size: 1.8em;
	}

	h3 {
	font-size: 1.3em;
	}

	p, ul, ol, dl, table {
	margin-bottom: 1em;
	}

	.box {
		width: 100%;
		padding: 1em;
	}

	/* Main */

	.main.fullscreen {
	height: auto !important;
	}

	.main.home {
	display: none; 
	}

	#home {
	background-size: cover;
	}

	.main.home h2 {
	display: none;  
	}

	.main.first:before {
	padding-top: 0;
	}

	.main.rowstyle {
	text-align: left;
	padding-top: 0em;
	padding-bottom: 2em;
	}

	.main.rowstyle table {
	border-collapse: collapse;
	font-size: 100%;
	}

	.blocksatz {
	text-align: justify;
	}

	.tworows_left {
	padding: 0;
    float: none;
	vertical-align: middle;
	width: 100%; 
	}

	.tworows_right {
	padding: 0;
    float: none;
	vertical-align: middle;
	width: 100%; 
	}

	.tworows_left li {
	padding-bottom: 0.5em;
	}

	.tworows_right li {
	padding-bottom: 0.5em;
	}

	/* Header */

	#header {
	height: 4em;
	}
	
	#header h1 {	
	font-size: 120%;
	}	

	#m-menu {
	position: absolute;
	right: 1em;		
	color: #fff;
	display: inline;
	text-align: right;
	font-size: 150%;
	font-weight: normal;
	}
	
	#footer {
	text-align: center;
	}
	

	#footer .menu {
	display: none;
	}

	#nav {
	display: none;
	}

	.teaser-grid {
	display: none;
	}
	
	.contactbox {
	padding-bottom: 1em;
	text-align: center; 
	display: block; 
	width: 50%; 
	float: left;
	}		

	/* Footer */

	#footer .copyright {
	left: 0;
	padding: 0;
	margin: 0;
	height: auto;
	display: block;
	line-height: 1.2em;
	position: relative;
	}

	#footer .menu {
	display: none;
	}
}

@media screen and (max-width: 480px) {

	body {
	font-size: 11pt;
	line-height: 1.3em;
	padding-top: 2.5em;
	color: #222;
	}

	input, textarea, select {
	font-size: 11pt;
	line-height: 1.3em;
	}

	h2 {
	font-size: 1.5em;
	}

	h3 {
	font-size: 1.2em;
	}

	#header {
	height: 4em;
	}
	
	#header h1 {	
	font-size: 100%;
	}	

	#m-menu {
	position: absolute;
	right: 1em;		
	color: #fff;
	display: inline;
	text-align: right;
	font-size: 120%;
	font-weight: normal;
	}
	
	.main.rowstyle {
	text-align: left;
	padding-top: 0em;
	padding-bottom: 1em;
	}

	.contactbox {
	padding-bottom: 1em;
	text-align: center; 
	display: block; 
	width: 100%; 
	float: left;
	}	

}