/* Reset */
html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, cite, code,del, dfn, img, ins, kbd, q, s, samp, strike, sub, sup, tt, var,b, u, i, center,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, .main-nav, output, ruby, section, summary,time, mark, audio, video {margin: 0; padding: 0; border: 0; font-size: 100%; vertical-align: baseline;line-height: 100%;}
body {line-height: 1;}
blockquote, q {quotes: none;}
blockquote:before, blockquote:after,q:before, q:after {content: '';content: none;}
table {	border-collapse: collapse;border-spacing: 0;}

/* ----------------------------- */
/* ------- HTML Elements ------- */
/* ----------------------------- */
body {
	font-family: "PT Sans", Helvetica, Arial, sans-serif;
	color: #333333;
	background-color: #FFFFFF;
	background-image: url(../images/bg_body_bottom.gif), url(../images/bg_header.png), url(../images/bg_body.jpg);
	background-position: 0 100%, 0 0, 0 0;
	background-repeat: repeat-x, repeat-x, no-repeat;
	background-size:auto, auto, cover;
}

body.bg2 {background-image: url(../images/bg_body_bottom.gif), url(../images/bg_header.png), url(../images/bg_body_2.jpg);} 
body.bg3 {background-image: url(../images/bg_body_bottom.gif), url(../images/bg_header.png), url(../images/bg_body_3.jpg);} 
body.bg4 {background-image: url(../images/bg_body_bottom.gif), url(../images/bg_header.png), url(../images/bg_body_4.jpg);} 
body.bg5 {background-image: url(../images/bg_body_bottom.gif), url(../images/bg_header.png), url(../images/bg_body_5.jpg);} 
body.bg6 {background-image: url(../images/bg_body_bottom.gif), url(../images/bg_header.png), url(../images/bg_body_6.jpg);} 
body.bg7 {background-image: url(../images/bg_body_bottom.gif), url(../images/bg_header.png), url(../images/bg_body_7.jpg);}
body.bg8 {background-image: url(../images/bg_body_bottom.gif), url(../images/bg_header.png), url(../images/bg_body_8.jpg);}  


a {color: #152873;text-decoration: none;outline: none;}
a:focus, a:hover, a:active {text-decoration: underline;}
a[rel=lightbox] {cursor: url('../images/lupe.cur'), pointer;}
/* Header animation from animate.css */
@-webkit-keyframes bounceInRight {
  from, 60%, 75%, 90%, to {-webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);}
  from {opacity: 0;-webkit-transform: translate3d(3000px, 0, 0);transform: translate3d(3000px, 0, 0);}
  60% {opacity: 1;-webkit-transform: translate3d(-25px, 0, 0);transform: translate3d(-25px, 0, 0);}
  75% {-webkit-transform: translate3d(10px, 0, 0);transform: translate3d(10px, 0, 0);}
  90% {-webkit-transform: translate3d(-5px, 0, 0);transform: translate3d(-5px, 0, 0);}
  to {-webkit-transform: none;transform: none;}
}
@keyframes bounceInRight {
  from, 60%, 75%, 90%, to {-webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);}
  from {opacity: 0;-webkit-transform: translate3d(3000px, 0, 0);transform: translate3d(3000px, 0, 0);}
  60% {opacity: 1;-webkit-transform: translate3d(-25px, 0, 0);transform: translate3d(-25px, 0, 0);}
  75% {-webkit-transform: translate3d(10px, 0, 0);transform: translate3d(10px, 0, 0);}
  90% {-webkit-transform: translate3d(-5px, 0, 0);transform: translate3d(-5px, 0, 0);}
  to {-webkit-transform: none;transform: none;}
}

h1 {display:inline-block;width:auto;max-width:100%;overflow:hidden;margin: 0 0 10px 0;font-size: 21px;line-height: 125%;font-weight: 400;color: #ffffff;padding:16px 32px 16px 18px;background:url(../images/bg_heading.png) 0 50% no-repeat;background-size:100% 100%; -webkit-animation-duration: 2s;animation-duration: 2s;-webkit-animation-fill-mode: both;animation-fill-mode: both; -webkit-animation-name: bounceInRight;animation-name: bounceInRight;}
h2 {
	margin: 10px 0 20px 0;
	font-size: 20px;
	font-weight: 400;
	color:#44538f;
}
h3 {margin: 20px 0 0 0;font-size: 18px;font-weight: 700;}

/* ----------------------------- */
/* ------- Basic Classes ------- */
/* ----------------------------- */
.floatleft {float: left;}
.floatright {float: right;}
.clearfloat {clear: both;}
.hidden {display:none;}

/* ----------------------------- */
/* ---- Document Structure ----- */
/* ----------------------------- */
#container {width:100%; max-width:1000px;margin:0 auto;}
#site-header, #main, footer {width:100%;}

/* ----------------------------- */
/* ---------- Header ----------- */
/* ----------------------------- */
#logo {width: 273px;height: 55px;margin:64px auto 0 auto;}
#logo img {width: 100%;height: auto;}


/* ------- Mobile Navigation Toggle ------- */
.off-canvas-nav ul {list-style: none;z-index: 10000;width: 100%;text-align: center;}
.off-canvas-nav ul li a {display: inline-block;font-size: 22px;color: #152972;padding: 10px 10px 10px 40px;margin: 20px 0;background: url(../images/menu.png) 5px 7px no-repeat #fff;}
.off-canvas-nav ul li a:hover {text-decoration: none;}

/* ---------- .main-navigation ----------- */
.main-nav ul {display: none;}
.active-nav .main-nav ul {display: block;width: 100%;list-style: none;margin-bottom: 40px;}
.active-nav .main-nav ul li a {display: block;font-size: 24px;background-color: #152972;color: #fff;padding: 10px 20px;text-decoration: none;border-bottom: solid 1px #fff;}
.active-nav .main-nav ul li a:focus,.active-nav .main-nav ul li a:hover,.active-nav .main-nav ul li a:active {background-color: #fff;color: #000;}
.active-nav .main-nav ul ul {margin-bottom: 0;}
.active-nav .main-nav ul ul li a {padding-left: 40px;font-size: 20px;}
.main-nav ul ul li a {-webkit-hyphens: auto;-moz-hyphens: auto;-ms-hyphens: auto;hyphens: auto;}
/* ----------------------------- */
/* ---------- Content ---------- */
/* ----------------------------- */
article {padding: 20px 20px 40px 20px;}
article p {
	margin: 26px 0 0 0;
	line-height: 150%;
	font-size: 15px;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
	font-style:normal;
}
article a[rel=lightbox] {
	cursor: url('../images/lupe.cur'), pointer;
}
.content {background:rgba(255,255,255,.5);padding:16px;}
.content ul,
.content ol {
	margin: 12px 0 0 20px;
	overflow:hidden;
	padding-left: 1.2em;
}
.content ul li,
.content ol li {
	font-size: 15px;
	line-height: 150%;
	margin-top: 7px;
	font-style:normal;
}


/* ----------------------------- */
/* ----------- Footer ---------- */
/* ----------------------------- */
footer {clear:both;font-style:normal;padding-top:15px;margin-top:30px;}
.credit {font-size: 10px;text-align: center;color:#fff;text-transform: uppercase;margin-bottom:30px;}
.credit a {color:#fff;}
footer ul {list-style:none;text-align:center;margin-bottom:30px;}
footer li {display:inline;}
footer li:after {content:"|";margin-left:4px;color:#fff;}
footer li:last-child:after {content:"";margin:0;}
footer li a {font-size:10px;color:#fff;text-transform: uppercase;}


/* ----------------------------- */
/* --------- Specials ---------- */
/* ----------------------------- */

/* ---------- Google Map ----------- */
.map {
	position: relative;
	padding-bottom: 100%;
	height: 0;
	overflow: hidden;
	margin-top:30px;
}
.map iframe {
	position: absolute;
	top: 60px;
	left: 0;
	width: 100%;
	height: 100%;
}
/* ---------- Slider ----------- */
#slider-container-bottom {padding: 0 20px;text-align:center;hyphens:auto;}
#slider-container-bottom img {width:100%; max-width:200px;}
.content #slider-container-bottom ul {margin:0;padding:0;}



/* ---------- Kontaktformular ----------- */
#kontaktformular {margin-top:20px;}
#kontaktformular label {width:100%;display:block;margin:20px 0 5px 0;}
#kontaktformular .checkbox-group {margin-top:12px;}
#kontaktformular .checkbox-group label {margin:0;}
#kontaktformular input[type="text"] {padding:5px;width:230px;border-radius:3px;}
#kontaktformular input[type="checkbox"] {width:auto;padding:0;}
#kontaktformular textarea {width:240px;border-radius:5px;min-height:150px;}
#kontaktformular input[type="submit"] {display:block;width:240px;color:#fff;border:0;padding: 5px 10px;margin:20px 0;font-size:18px;border-radius:5px;background: #2f90d7;cursor:pointer;}
#kontaktformular input[type="submit"]:hover {background:#152873;}

#kontaktformular p {color:#fff;}

/* ----------------------------- */
/* ------- Media Queries ------- */
/* ----------------------------- */
@media screen and (min-width: 768px) {
}
@media screen and (max-width: 1023px) {
	.desktop-only {display:none;}
	article img.floatleft {float: none;margin: 20px auto;display: block;}
	article img.floatright {float: none;margin: 20px auto;display: block;}
}
@media screen and (min-width: 1024px) {
	.mobile-only {display:none;}
	#logo {margin:68px 60px 0 34px;float:left;}
	#main {margin:230px 0 0 0;}
	article {padding: 0 16px;}
	h1 {padding:16px 220px 16px 18px;}
	.off-canvas-nav ul {display:none;}
	.main-nav {width: calc(100% - 470px);float:right;margin-top:80px;}
	.main-nav ul {display:block;list-style:none;}
	.main-nav li {display:inline;position: relative;background:url(../images/nav-separator.png) 100% 0 no-repeat;}
	.main-nav li:last-child {background-image:none;}
	.main-nav li a {display:inline-block;font-size:18px;color:#f5f4f4;padding:0;margin:0 15px 0 15px;text-transform:uppercase;}
	.main-nav li:hover a {text-decoration:none;color:#fff;}
	.main-nav li.hassub > a {background:url(../images/nav-arrow.png) 100% 50% no-repeat; padding-right:26px;}
	.main-nav ul ul {position: absolute;width: 380px; left: 15px; top: 100%; display:none;z-index: 1000;background-color: rgba(21,40,115,.85);margin: 0;padding: 29px 0 10px 0;}
	.main-nav li:hover > ul {display: block;}
	.main-nav li:hover li a {
	display:block;
	border:none;
	padding:10px 10px;
	color:#f5f4f4;
	margin:0;
	font-size:15px;
}
	.main-nav li li:hover a {background:#fff;color:#000;}
	article img.floatleft {margin: 0 20px 20px 0;}
	article img.floatright {margin: 0 0 20px 20px;}
	.cols {width:45%;}
	.cols.left {float:left;margin-right:5%;}
	.cols.right {float:right;margin-left:5%;}
	footer {height:126px;padding:0;background:url(../images/bg_footer.png) 50% 70% no-repeat;}
	.credit {width:30%;float:right;text-align:right;margin-top:21px;margin-bottom:0;}
	footer ul {width:50%;float:left;text-align:left;margin:14px 0 0 16px;}
	#kontaktformular {}
	.map {width:300px;height:300px;padding-bottom:0;}
/* ------- Boxen mit animiertem Hover ------- */
.view {width: 200px;height: 160px;margin: 8px auto;overflow: hidden;position: relative;text-align: center;cursor: default;}
.view .mask, .view .content {width: 168px;height: 128px;position: absolute;overflow: hidden;top: 16px;left: 16px;background: rgba(255, 255, 255, 0.8);}
.view img {display: block;position: relative}
.view h3 {color: #152873;text-align: center;position: relative;font-size: 21px;padding: 10px;margin: 5px 0 0 0}
.view p {font-size: 13px;color:#000;position: relative;text-align: center;margin:0 10px;line-height:130%;}
.view a.info {display: inline-block;width:114px;text-decoration: none;padding: 7px 14px;background: rgba(21,40,115,1);color: #fff;font-size:14px;font-weight:700;position:absolute;bottom:10px;left:calc(50% - 67px);}
.view a.info:hover {background: rgba(21,40,115,.7);}
.view-first img {transition: all 0.2s linear;}
.view-first .mask {opacity: 0; transition: all 0.4s ease-in-out;}
.view-first h3 {transform: translateY(-100px);opacity: 0;transition: all 0.2s ease-in-out;}
.view-first p { transform: translateY(100px);opacity: 0;transition: all 0.2s linear;}
.view-first a.info{opacity: 0;transition: all 0.2s ease-in-out;}
.view-first:hover img { transform: scale(1.1);} 
.view-first:hover .mask { opacity: 1;}
.view-first:hover h3, .view-first:hover p, .view-first:hover a.info {opacity: 1;transform: translateY(0px);}
.view-first:hover p {transition-delay: 0.1s;}
.view-first:hover a.info {transition-delay: 0.2s;}
}
