/* ###################################################################################################################################################################  IMPORT  ########## */

@import url("normalize/normalize.css");
@import url("fonts.css");
@import url("font-awesome/css/font-awesome.min.css");



/* ##################################################################################################################################################################  GENERAL  ########## */

html,
body {
	height: 100%; margin: 0; padding: 0;
}

td {
	vertical-align: top;
}



/* ###################################################################################################################################################################  HEADER  ########## */

header {
	width: 100%; z-index: 100; position: fixed; top: 0;
	background: rgb(255, 255, 255);
}

@media screen and (max-width: 1000px) { header { position: static; } }

header.thin  { background: rgba(255, 255, 255, 0.97); border-bottom: 2px solid rgb(7, 155, 174); }

section div#wrapper h1 span.mwd {
	font-size: 24px;
	color: rgb(141, 141, 143);
}

section div#wrapper h2 {
	font: 400 20px/140% 'Open Sans', sans-serif;
	color: rgb(141, 143, 143);
	padding: 0;
	margin: 0 0 25px 0;
}

.preheadline {
	font: 400 16px/140% 'Open Sans', sans-serif;
	color: rgb(141, 143, 143);
	text-transform: uppercase;
	letter-spacing: 2px;
	padding: 0 0 8px 0;
	margin: 0 0 15px 0;
}


/* ......................................................................................................................................................................  TOP  .......... */

header div#top {
	width: 100%; height: 35px;
	background: #004d5e;
}

@media screen and (max-width: 1000px) { header div#top { display: none; } }

header.thin div#top {
	margin-top: -35px;
}

header div#top div.left {
	height: 35px; float: left; box-sizing: border-box; padding: 10px 0 0 20px;
	font: 400 12px/120% 'Open Sans', sans-serif; color: rgba(255, 255, 255, 0.7);
}

header div#top div.right {
	height: 35px; float: right; box-sizing: border-box; padding: 8px 20px 0 0;
}

header div#top div.right a {
	font: 400 12px/120% 'Open Sans', sans-serif; color: rgba(255, 255, 255, 0.8); text-align: center; text-decoration: none;
	margin: 0 0 0 15px;
}

header div#top div.right a.phone::before {
	width: 24px; display: inline-block; font: 12px/1 FontAwesome; color: rgb(255, 255, 255); vertical-align: 0px; content: "\f095";
}

header div#top div.right a.mail::before {
	width: 24px; display: inline-block; font: 10px/1 FontAwesome; color: rgb(255, 255, 255); vertical-align: 0px; content: "\f0e0";
}

header div#top div.right a:hover {
	 color: rgb(0, 175, 188);
}



/* ......................................................................................................................................................................  NAV  .......... */

header nav {
	width: 100%; max-width: 1200px; height: 100px; margin: 0 auto; position: relative;
}

header.thin nav { height: 80px; }

header nav div#logo {
	width: 137px; height: 165px; position: absolute; top: 23px; bottom: 0; left: 40px; margin: 0 auto;
}

header nav div#logo a {
	width: 137px; height: 165px; display: block; text-indent: -20000px;
	background: transparent url(../../images/logos/joeris_partner_logo.png) 0 0 no-repeat; background-size: 137px 165px;
}

header.thin nav div#logo	{ width: 58px; height: 70px; top: 5px; }
header.thin nav div#logo a	{ width: 58px; height: 70px; background-size: 58px 70px; }

@media screen and (max-width: 1000px) {
	header nav div#logo	{ width: 67px; height: 80px; top: 10px; }
	header nav div#logo a	{ width: 67px; height: 80px; background-size: 67px 80px; }
}



/* ......................................................................................................................................................  NAVIGATION: DESKTOP  .......... */

header nav ul#main-navigation-desktop {
    list-style: none; position: absolute; margin: 0; padding: 0; right: 30px; top: 64px;
}

@media screen and (max-width: 1000px) {
	/* ab Firefox-Auflösung (+12px): 1012px */
	header nav ul#main-navigation-desktop { display: none; }
}

header.thin ul#main-navigation-desktop {
	top: 44px;
}

header nav ul#main-navigation-desktop > li {
	display: block; float: left;
}

header nav ul#main-navigation-desktop > li > a {
   	box-sizing: border-box; padding: 10px 10px 10px 10px; display: block; cursor: pointer;
	font: 700 13px/120% 'Open Sans', sans-serif; color: #004d5e; text-decoration: none;
}

header nav ul#main-navigation-desktop > li > a:hover,
header nav ul#main-navigation-desktop > li:hover > a,
header nav ul#main-navigation-desktop > li > a[class='active'] {
	background: #004d5e;
	color: rgb(255, 255, 255);
}

header nav ul#main-navigation-desktop > li > a.home::before {
	width: 15px; display: inline-block; font: 15px/1 FontAwesome; vertical-align: 0; content: "\f015";
}

/* ###  2. EBENE  ### */

header nav ul#main-navigation-desktop > li > ul {
	display: none;

	position: absolute;
	z-index: 1000;
	list-style-type: none;
	padding: 0;
	background: #004d5e;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
}

header nav ul#main-navigation-desktop > li:hover > ul {
	display: block;
}

header nav ul#main-navigation-desktop > li > ul > li {
	position: relative;
	display: block;
	list-style-type: none;
	border-bottom: 1px solid #057d8c;
}

header nav ul#main-navigation-desktop > li > ul > li > a {
	display: block; padding: 10px 20px 10px 20px;
    font: 400 13px/130% 'Open Sans', sans-serif; color: rgb(255, 255, 255); text-decoration: none;
}

header nav ul#main-navigation-desktop > li > ul > li > a:hover {
	color: rgb(255, 255, 255);
	background: #057d8c;
}



/* ..............................................................................................................................................................  TRANSITIONS  .......... */

header,
header div#top,
header nav,
header nav div#logo,
header nav div#logo a,
header nav ul#social,
header nav ul#main-navigation-desktop {
	-webkit-transition: all 300ms ease-in-out; -moz-transition: all 300ms ease-in-out; -ms-transition: all 300ms ease-in-out; -o-transition: all 300ms ease-in-out; transition: all 300ms ease-in-out;
}



/* .......................................................................................................................................................  NAVIGATION: MOBILE  .......... */

div#main-navigation-mobile { display: none; }

@media screen and (max-width: 1000px) { div#main-navigation-mobile { display: block; } }

div#main-navigation-mobile a.button {
	width: 50px; height: 50px; position: fixed; z-index: 105; top: 15px; right: 20px; cursor: pointer;
	background-color: rgba(244, 244, 244, 0.8);
	-webkit-transition: all 300ms ease-in-out; -moz-transition: all 300ms ease-in-out; -ms-transition: all 300ms ease-in-out; -o-transition: all 300ms ease-in-out; transition: all 300ms ease-in-out;
}

div#main-navigation-mobile a.button div {
	width: 26px; height: 21px; position: relative; top: 15px; left: 12px;
}

div#main-navigation-mobile a.button span {
	width: 26px; height: 3px; position: absolute; display: block; background: rgba(0, 139, 156, 1);
	transition: transform 300ms ease-in-out, top 250ms ease-in-out 200ms, opacity 250ms ease-in-out, background-color 500ms ease-in-out; -webkit-transition: -webkit-transform 300ms ease-in-out, top 250ms ease-in-out 200ms, opacity 250ms ease-in-out, background-color 500ms ease-in-out; -moz-transition: -moz-transform 300ms ease-in-out, top 250ms ease-in-out 200ms, opacity 250ms ease-in-out, background-color 200ms ease-in-out;
	transform-origin: center; -webkit-transform-origin: center; -moz-transform-origin: center;
}

div#main-navigation-mobile a.button span.top 	{ top: 0px; }
div#main-navigation-mobile a.button span.middle { top: 9px; }
div#main-navigation-mobile a.button span.bottom { top: 18px; }

div#main-navigation-mobile a.active { top: 15px; right: 8px; }

div#main-navigation-mobile a.active span {
	transition: transform 300ms ease-in-out 200ms, top 250ms ease-in-out, opacity 250ms ease-in-out, background-color 500ms ease-in-out;
	-webkit-transition: -webkit-transform 300ms ease-in-out 200ms, top 250ms ease-in-out, opacity 250ms ease-in-out, background-color 500ms ease-in-out;
	-moz-transition: -moz-transform 300ms ease-in-out 200ms, top 250ms ease-in-out, opacity 250ms ease-in-out, background-color 500ms ease-in-out;
	background: rgba(0, 139, 156, 1);
}

div#main-navigation-mobile a.active span.top, div#main-navigation-mobile a.active span.middle { top: 9px; transform: rotate(135deg); -webkit-transform: rotate(135deg); -moz-transform: rotate(135deg); }
div#main-navigation-mobile a.active span.middle { opacity: 0; }
div#main-navigation-mobile a.active span.bottom { top: 9px; transform: rotate(225deg); -webkit-transform: rotate(225deg); -moz-transform: rotate(225deg); }

div#main-navigation-mobile div#menu {
	width: 290px; height: 100%; position: fixed; z-index: 101; top: 0; right: -350px; overflow: auto;
	background-color: rgb(244, 244, 244);
	-webkit-box-shadow: 5px 5px 27px 0px rgba(0,0,0,1); -moz-box-shadow: 5px 5px 27px 0px rgba(0,0,0,1); box-shadow: 5px 5px 27px 0px rgba(0,0,0,1);
	-webkit-transition: right 500ms ease-in-out; -moz-transition: right 500ms ease-in-out; -ms-transition: right 500ms ease-in-out; -o-transition: right 500ms ease-in-out; transition: right 500ms ease-in-out;
}

div#main-navigation-mobile div#menu.active {
	right: 0;
}

div#main-navigation-mobile div#menu .header {
	width: 100%; height: 81px; position: relative; box-sizing: border-box;
	border-bottom: 1px solid rgba(255, 255, 255, 0.8);
}

div#main-navigation-mobile div#menu .header .logo {
	width: 58px; height: 70px; display: block; position: absolute; top: 5px; left: 25px;
	background: transparent url(../../images/logos/joeris_partner_logo.png) 0 0 no-repeat; background-size: 58px 70px;
}


div#main-navigation-mobile ul.navigation {
    list-style: outside none none; margin: 0; padding: 0;
}

div#main-navigation-mobile ul.navigation > li {
	display: block;
}

div#main-navigation-mobile ul.navigation > li > a {
	display: block;  box-sizing: border-box; padding: 17px 0 15px 30px; cursor: pointer;
	font: 700 13px/120% 'Open Sans', sans-serif; color: #004d5e; text-decoration: none;
	background-color: rgb(244, 244, 244); border-bottom: 1px solid rgba(255, 255, 255, 0.8);
}

div#main-navigation-mobile ul.navigation > li > a:hover {
	background-color: rgb(230, 230, 230);
}

div#main-navigation-mobile ul.navigation > li > a.sub::after {
	float: right; margin: -4px 20px 0 0; font: 24px/1 FontAwesome; color: #004d5e; content: "\f105";
}

div#main-navigation-mobile ul.navigation > li > a.sub-active {
	background: rgb(230, 230, 230);
}

div#main-navigation-mobile ul.navigation > li > a.sub-active::after {
	float: right; margin: -4px 20px 0 0; font: 24px/1 FontAwesome; color: #004d5e; content: "\f107";
}

div#main-navigation-mobile ul.navigation > li > a.small {
	padding: 9px 0 7px 30px;
	font: 300 11px/120% 'Open Sans', sans-serif;
}

/* ###  2. EBENE  ### */

div#main-navigation-mobile ul.navigation > li > ul {
	list-style: outside none none; margin: 0; padding: 0; display: none;
}

div#main-navigation-mobile ul.navigation > li > ul > li {
	display: block;
}

div#main-navigation-mobile ul.navigation > li > ul > li > a {
	display: block;  box-sizing: border-box; padding: 10px 0 10px 30px;
	font: 400 13px/120% 'Open Sans', sans-serif; color: #004d5e; text-decoration: none;
	background-color: rgb(252, 252, 252); border-bottom: 1px solid rgba(230, 230, 230, 0.4);
}

div#main-navigation-mobile ul.navigation > li > ul > li > a:hover {
	background: rgb(237, 237, 237);
}


div#main-navigation-mobile div#siteoverlay {
    position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 100; display: none;
    -webkit-transition: background 300ms ease-in-out; -moz-transition: background 300ms ease-in-out; -ms-transition: background 300ms ease-in-out; -o-transition: background 300ms ease-in-out; transition: background 300ms ease-in-out;
    background-color: rgba(0, 0 ,0 , 0.8);
}

@keyframes fade {
    0%   { opacity: 0; }
    100% { opacity: 1; }
}

div#main-navigation-mobile
div#siteoverlay.active {
	display: block;
    -webkit-animation: fade 500ms; -moz-animation: fade 500ms; -o-animation: fade 500ms; -ms-animation: fade 500ms; animation: fade 500ms;
}


/* ###################################################################################################################################################################  SLIDER  ########## */

.slider_line {
	background-color: #057d8c;
	border: none;
}

.slider_h1 {
	font-family: 'Open Sans',
	sans-serif;
	font-weight: 700;
	letter-spacing: 2px;
	color: rgb(255, 255, 255);
	text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.7);
}

@media screen and (max-width: 580px) { .slider-h1 { letter-spacing: 0; } }

.slider_h2 {
	font-family: 'Open Sans', sans-serif; font-weight: 700; color: rgb(255, 255, 255);
	text-shadow: 0px 0px 8px rgba(0, 0, 0, 1);
}




/* ####################################################################################################################################################  SECTIONS / FORMATTING  ########## */

section 		{ clear: both; overflow: auto; }
section.max 	{ width: 100%; }

.font-brown		{ color: rgb(154, 113, 88) !important; }
.font-darkgrey 	{ color: rgb(70, 80, 85) !important; }
.font-white		{ color: rgb(255, 255, 255) !important; }

.bg-white 		{ background: rgb(255, 255, 255) !important; }
.bg-55	 		{ background: rgb(55, 55, 55) !important; }
.bg-brown 		{ background: rgb(154, 113, 88) !important; }
.bg-darkbrown	{ background: rgb(92, 68, 53) !important; }


section div#wrapper ul.boxnav {
	list-style-type: none;
	margin: 0;
}

section div#wrapper ul.boxnav li {
	margin: 0 0 0.3rem 0;
	-webkit-column-break-inside: avoid;
	page-break-inside: avoid;
	break-inside: avoid;
}

section div#wrapper ul.boxnav li a {
	-webkit-transition: all 400ms ease;
	-moz-transition: all 400ms ease;
	-ms-transition: all 400ms ease;
	-o-transition: all 400ms ease;
	transition: all 400ms ease;

	position: relative;
	display: block;
	width: 100%;
	text-decoration: none;
	font-weight: bold;
	background: rgb(245, 249, 249);
	padding: 0.75rem 1rem 0.75rem 2rem;
	border-left: 2px solid #004d5e;
}

section div#wrapper ul.boxnav li a:before {
	content: "\f0da";
	position: absolute;
	top: 1rem;
	left: 1rem;
	display: inline-block;
    width: 10px;
    font: 15px/1 FontAwesome;
    color: #555;
    /*text-align: center;*/
    //margin-left: -18px;
}

section div#wrapper ul.boxnav li a:hover {
	-webkit-transition: all 400ms ease; -moz-transition: all 400ms ease; -ms-transition: all 400ms ease; -o-transition: all 400ms ease; transition: all 400ms ease;

	color: #fff;
	background: #004d5e;
}

section div#wrapper ul.boxnav li a:hover:before {
	color: #fff;
}

section div#wrapper ul.boxnav.col-2,
section div#wrapper ul.boxnav.col-3 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

section div#wrapper ul.boxnav.col-2 li,
section div#wrapper ul.boxnav.col-3 li {
	display: flex;
	flex-basis: 30%;
	margin-right: 3%;
	padding-bottom: 4px;
}

section div#wrapper ul.boxnav.col-2 li {
	flex-basis: 47%;
	margin-right: 3%;
}

section div#wrapper ul.boxnav.col-2 li:last-child,
section div#wrapper ul.boxnav.col-3 li:last-child {
	margin-right: 0;
}


section div#wrapper ul.boxnav.col-2 li a,
section div#wrapper ul.boxnav.col-3 li a {
	font-weight: bold;
	padding: 0.75rem 1rem;
}


section div#wrapper ul.boxnav.col-list-2 {
	column-count: 2;
	column-gap: 10%;
}



/* -- CLIENT INFO BOXES -- */

section div#wrapper .clientinfo {
	padding-bottom: 2rem;
}

section div#wrapper .clientinfo:not(.current) h2 {
	padding: 0.5rem 1rem 0.5rem 0.5rem;
}

section div#wrapper .clientinfo:not(.current) h2 {
	-webkit-transition: all 400ms ease;
	-moz-transition: all 400ms ease;
	-ms-transition: all 400ms ease;
	-o-transition: all 400ms ease;
	transition: all 400ms ease;

	cursor: pointer;
}

section div#wrapper .clientinfo:not(.current) h2:hover {
	-webkit-transition: all 400ms ease;
	-moz-transition: all 400ms ease;
	-ms-transition: all 400ms ease;
	-o-transition: all 400ms ease;
	transition: all 400ms ease;

	background: rgb(245, 249, 249);
}

section div#wrapper .clientinfo h2 .openclose {
	float: left;
	display: block;
	color: rgb(110, 123, 125);
	margin-right: 0.75rem;
}

section div#wrapper .clientinfo.current h2 .openclose {
	display: none;
}

section div#wrapper .clientinfo.is--hidden {
	padding-bottom: 0;
}

section div#wrapper .clientinfo.is--hidden .box-container {
	display: none;
}



@media screen and (max-width: 600px) {
	section div#wrapper {
		padding: 30px !important;
	}

	section div#wrapper ul.boxnav.col-2,
	section div#wrapper ul.boxnav.col-3 {
		display: block;
	}

	section div#wrapper ul.boxnav.col-2 li,
	section div#wrapper ul.boxnav.col-3 li {
		width: 100%;
		margin-right: 0;
	}

	section div#wrapper ul.boxnav.col-list-2 {
		column-count: auto;
	}
}



section div#wrapper {
	width: 100%; max-width: 1200px; margin: 0 auto; box-sizing: border-box; padding: 70px 40px; overflow: visible;
	font: 400 15px/150% 'Open Sans', sans-serif; color: rgb(110, 123, 125);
}

section div#wrapper:after {
	content:""; clear: both; display: block;
}

section div#wrapper.max {
	max-width: 100% !important; padding: 70px 0;
}


section div#wrapper .column			{ float: left; margin: 0 1% 20px;  }
section div#wrapper .one-fourth		{ width: 23%; }			/* 1/4 */
section div#wrapper .one-third		{ width: 31.333%; }		/* 1/3 */
section div#wrapper .one-second		{ width: 48%; }			/* 1/2 */
section div#wrapper .two-third		{ width: 64.666%; }		/* 2/3 */
section div#wrapper .three-fourth	{ width: 73%; }			/* 3/4 */
section div#wrapper .one			{ width: 98%; }			/* 1/1 */

section div#wrapper .column-group	{ width: 75%; float: right; box-sizing: border-box; padding: 0 0 0 50px; }

@media screen and (max-width: 600px) {
	section div#wrapper .one-second		{ width: 100%; margin: 0 0 20px 0 !important; }
}

@media screen and (max-width: 1000px) { section div#wrapper .column-group { width: 100%; padding: 0; } }

section div#wrapper ul {
	list-style: circle outside none; margin: 0 0 0 25px; padding: 0;
}


/* ..................................................................................................................................................................  HEADING  .......... */


section div#wrapper h1 {
	padding: 0; margin: 0 0 25px 0;
	font: 300 40px/130% 'Open Sans', sans-serif; color: #057d8c;
}


section div#wrapper h2 {
	padding: 0; margin: 0 0 25px 0;
	font: 400 20px/140% 'Open Sans', sans-serif; color: #057d8c;
}

section div#wrapper h3 {
	display:inline-block;
	padding: 0; margin: 2rem 0 1rem 0;
	font: 400 17px/140% 'Open Sans', sans-serif; color: #057d8c;
}

section div#wrapper .underline {
	padding: 0 0 8px 0; margin: 0 0 15px 0;
	border-bottom: 1px solid rgb(235, 235, 235);
}






@media screen and (max-width: 800px) {
	section div#wrapper h1 { font-size: 32px; }
	section div#wrapper h1 .ws-icon { width: 38px; height: 54px; }
	section div#wrapper h2 { font-size: 20px; }
}

@media screen and (max-width: 600px) {
	section div#wrapper h1 { font-size: 28px; }
	section div#wrapper h1 .ws-icon { width: 32px; height: 45px; }
	section div#wrapper h2 { font-size: 17px; }
}


section div#wrapper hr {
	height: 0; margin: 15px 0 35px 0;
	border: 0; border-bottom: 1px dotted rgb(150, 150, 150);
}


/* ....................................................................................................................................................................  LINKS  .......... */

section div#wrapper a {
	font: 400 15px/150% 'Open Sans', sans-serif;
	color: #004d5e;
	text-decoration: none;
}

section div#wrapper a.link {
	font: 400 15px/150% 'Open Sans', sans-serif;
	color: #004d5e;
	text-decoration: none;
}

section div#wrapper a.phone::before {
	width: 20px; display: inline-block; font: 15px/1 FontAwesome; vertical-align: -1px; content: "\f095";
}

.fax {
	color: #004d5e;
}

.font-white .fax {
	color: #fff !important;
}

section div#wrapper span.fax::before {
	width: 20px; display: inline-block; font: 12px/1 FontAwesome; vertical-align: 1px; content: "\f1ac";
}

section div#wrapper a.mail::before {
	width: 20px; display: inline-block; font: 12px/1 FontAwesome; vertical-align: 1px; content: "\f0e0";
}

section div#wrapper a:hover {
	color: #004d5e; text-decoration: underline;
}



/* ..................................................................................................................................................................  SIDEBAR  .......... */

section div#wrapper .left-sidebar {
	width: 25%; float: left; box-sizing: border-box; padding: 20px;
	font: 400 13px/150% 'Open Sans', sans-serif; color: #004d5e;
	background: rgb(245, 249, 249);
	/*border-top: 1px solid rgb(220, 233, 234); border-left: 1px solid rgb(220, 233, 234);*/
}

@media screen and (max-width: 1000px) { section div#wrapper .left-sidebar { display: none; } }

section div#wrapper	.left-sidebar hr {
	height: 1px; padding: 0; margin: 15px 0;
	border: 0; border-bottom: 1px solid rgba(52, 73, 94, 0.2);
}

section div#wrapper	.left-sidebar b {
	font-weight: 600;
}

section div#wrapper	.left-sidebar a {
	font: 400 13px/150% 'Open Sans', sans-serif; color: #004d5e; text-decoration: none;
}

section div#wrapper	.left-sidebar a:hover {
	color: #004d5e;
}

section div#wrapper	.left-sidebar a.phone::before {
	width: 22px; display: inline-block; font: 15px/1 FontAwesome; vertical-align: -1px; content: "\f095";
}

section div#wrapper	.left-sidebar span.fax::before {
	width: 22px; display: inline-block; font: 12px/1 FontAwesome; vertical-align: 1px; content: "\f1ac";
}

section div#wrapper	.left-sidebar a.mail::before {
	width: 22px; display: inline-block; font: 12px/1 FontAwesome; vertical-align: 0; content: "\f0e0";
}


section div#wrapper	.left-sidebar ul#left-navigation-desktop {
	list-style: outside none none; margin: 0 0 25px 0; padding: 0;
}

section div#wrapper	.left-sidebar ul#left-navigation-desktop > li {
	display: block;
	position: relative;
}

section div#wrapper	.left-sidebar ul#left-navigation-desktop > li > a {
   	box-sizing: border-box; padding: 8px 25px 8px 20px;
   	display: block; cursor: pointer;
	font: 400 13px/140% 'Open Sans', sans-serif; color: #004d5e; text-decoration: none;
	border-bottom: 1px solid rgba(52, 73, 94, 0.1);
}

section div#wrapper	.left-sidebar ul#left-navigation-desktop > li > a::before {
	position: absolute;
	left: 0px;
	top: 9px;
	width: 22px; display: inline-block; font: 15px/1 FontAwesome; text-align: center; content: "\f105";
}

section div#wrapper .left-sidebar ul#left-navigation-desktop > li > a:hover , section div#wrapper .left-sidebar ul#left-navigation-desktop > li > a.active {
	color: #057d8c;
}


section div#wrapper	.left-sidebar ul#left-navigation-desktop > li > a.header {
	padding: 0 0 8px 0;
	font: 700 13px/120% 'Open Sans', sans-serif;
	color: #004d5e;
	text-decoration: none;
	border-bottom: 1px solid rgba(52, 73, 94, 0.2);
}

section div#wrapper	.left-sidebar ul#left-navigation-desktop > li > a.header::before {
	width: 0; content: none;
}



/* .................................................................................................................................................................  CONTACTS  .......... */

section div#contact {
	width: 22%; margin: 0 3% 30px 0; float: left; position: relative;
	font: 400 12px/150% 'Open Sans', sans-serif; color: rgba(52, 73, 94, 1);
	background: rgb(242, 242, 242);
	-webkit-transition: all 200ms ease-in-out; -moz-transition: all 200ms ease-in-out; -ms-transition: all 200ms ease-in-out; -o-transition: all 200ms ease-in-out; transition: all 200ms ease-in-out;
}

@media screen and (max-width: 1200px) {
	section div#contact { width: 30%; margin: 0 3% 30px 0; }
}

@media screen and (max-width: 1000px) {
	section div#contact { width: 22%; margin: 0 3% 30px 0; }
}

@media screen and (max-width: 850px) {
	section div#contact { width: 30%; margin: 0 3% 30px 0; }
}

@media screen and (max-width: 700px) {
	section div#contact { width: 46%; margin: 0 4% 30px 0; }
}

@media screen and (max-width: 450px) {
	section div#contact { width: 100%; margin: 0 0 30px 0; }
}


section div#contact:hover {
	box-shadow: 0 0 20px 0 rgba(0,0,0,0.3); transform: scale(1.07); /*transform: scale(1.3); transform-origin: bottom left;*/
}

section div#contact .photo {
	display: block;
}

section div#contact .photo img {
	width: 100%; height: auto;
}

section div#contact .data {
	box-sizing: border-box; padding: 10px 0 10px 15px;
}

section div#contact .data .name {
	font: 400 15px/150% 'Open Sans', sans-serif; color: #004d5e;
	-webkit-transition: all 300ms ease-in-out; -moz-transition: all 300ms ease-in-out; -ms-transition: all 300ms ease-in-out; -o-transition: all 300ms ease-in-out; transition: all 300ms ease-in-out;
}


section div#contact .data a {
	font: 400 12px/190% 'Open Sans', sans-serif; color: #004d5e; text-decoration: none;
}


section div#contact .data a.phone::before {
	width: 22px; display: inline-block; font: 15px/1 FontAwesome; content: "\f095";
}

section div#contact .data span.fax::before {
	width: 22px; display: inline-block; font: 12px/1 FontAwesome; vertical-align: 1px; content: "\f1ac";
}

section div#contact .data a.mail::before {
	width: 22px; display: inline-block; font: 11px/1 FontAwesome; vertical-align: 1px; content: "\f0e0";
}

section div#contact .data a:hover {
	color: #004d5e;
}



/* .................................................................................................................................................................  RSS  .......... */

section div#wrapper .rss_datum {
	margin: -20px 0 15px 0;
	font: 600 12px/100% 'Open Sans', sans-serif; color: rgba(0, 0, 0, 0.4);
}

section div#wrapper .rss_datum::before {
	width: 20px; display: inline-block; font: 12px/1 FontAwesome; vertical-align: 0; content: "\f073";
}

section div#wrapper a.weiterlesen {
	font: 400 15px/150% 'Open Sans', sans-serif; color: #004d5e; text-decoration: underline;
}

section div#wrapper a.weiterlesen::after {
	width: 16px; display: inline-block; font: 13px/1 FontAwesome; vertical-align: 0px; text-align: right; content: "\f143";
}





/* ##############################################################################################################################################################  GOOGLE MAPS  ########## */

section#google-maps {
	width: 100%; height: 60%;
}



/* ###################################################################################################################################################################  FOOTER  ########## */

footer {
	width: 100%; clear: both; overflow: auto;
	background: rgb(0, 68, 76);
}

footer div#column {
	width: 100%; max-width: 1200px; padding: 40px; margin: 0 auto; box-sizing: border-box; overflow: auto;
}

footer div#column .contact {
	width: 50%; float: left;
	font: 400 13px/150% 'Open Sans', sans-serif; color: rgb(255, 255, 255);
}

footer div#column .contact .footnote {
	font-size: 10px;
}

footer div#column .contact a {
	color: rgb(255, 255, 255); text-decoration: none;
}

footer div#column .contact a.phone::before {
	width: 22px; display: inline-block; font: 15px/1 FontAwesome; text-align: left; vertical-align: -1px; content: "\f095";
}

footer div#column .contact span.fax::before {
	width: 22px; display: inline-block; font: 12px/1 FontAwesome; text-align: left; vertical-align: 1px; content: "\f1ac";
}

footer div#column .contact a.mail::before {
	width: 22px; display: inline-block; font: 11px/1 FontAwesome; text-align: left; vertical-align: 1px; content: "\f0e0";
}

footer div#column .contact a:hover {
	color: rgb(245, 249, 249);
}

footer div#column .navigation {
	width: 50%; float: right; text-align: right;
}

footer div#column .navigation a {
	margin: 0 0 0 15px;
	font: 700 13px/150% 'Open Sans', sans-serif; color: rgb(255, 255, 255); text-decoration: none;
	-webkit-transition: all 400ms ease; -moz-transition: all 400ms ease; -ms-transition: all 400ms ease; -o-transition: all 400ms ease; transition: all 400ms ease;
}

footer div#column .navigation a:hover {
	-webkit-transition: all 400ms ease; -moz-transition: all 400ms ease; -ms-transition: all 400ms ease; -o-transition: all 400ms ease; transition: all 400ms ease;

	color: #057d8c;
}

@media screen and (max-width: 650px) {

	footer div#column .contact {
		width: 100%; margin: 0 0 20px 0; text-align: center;
	}

	footer div#column .navigation {
		width: 100%; text-align: center;
	}

	footer div#column .navigation a {
		display: block; padding: 6px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.2); text-decoration: none;
	}

	footer div#column .navigation a:first-of-type {
		border-top: 1px solid rgba(255, 255, 255, 0.2);
	}

}



/* ###############################################################################################################################################################  SCROLL TOP  ########## */

a.scroll-top {
	width: 50px; height: 50px; position: fixed; z-index: 100; bottom: 20px; right: 20px; cursor: pointer;
	font: 45px/1 FontAwesome; color: #004d5e; text-align: center;
	background: rgba(244, 244, 244, 0.8);
	-webkit-transition: all 400ms ease-in-out; -moz-transition: all 400ms ease-in-out; -ms-transition: all 400ms ease-in-out; -o-transition: all 400ms ease-in-out; transition: all 400ms ease-in-out;
}


a.scroll-top.hide {
	bottom: -60px;
	background-color: rgba(244, 244, 244, 0); color: rgba(244, 244, 244, 0);
}



/* ##########  COOKIE CONSENT 3.03  ###################################################################################################################################################### */

.cc-window{opacity:1;transition:opacity 1s ease}.cc-window.cc-invisible{opacity:0}.cc-animate.cc-revoke{transition:transform 1s ease}.cc-animate.cc-revoke.cc-top{transform:translateY(-2em)}.cc-animate.cc-revoke.cc-bottom{transform:translateY(2em)}.cc-animate.cc-revoke.cc-active.cc-bottom,.cc-animate.cc-revoke.cc-active.cc-top,.cc-revoke:hover{transform:translateY(0)}.cc-grower{max-height:0;overflow:hidden;transition:max-height 1s}
.cc-link,.cc-revoke:hover{/*text-decoration:underline*/}.cc-revoke,.cc-window{position:fixed;overflow:hidden;box-sizing:border-box;font-family:Helvetica,Calibri,Arial,sans-serif;font-size:16px;line-height:1.5em;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;z-index:9999}.cc-window.cc-static{position:static}.cc-window.cc-floating{padding:2em;max-width:24em;-ms-flex-direction:column;flex-direction:column}.cc-window.cc-banner{padding:1em 1.8em;width:100%;-ms-flex-direction:row;flex-direction:row}.cc-revoke{padding:.5em}.cc-header{font-size:18px;font-weight:700}.cc-btn,.cc-close,.cc-link,.cc-revoke{cursor:pointer}.cc-link{/*opacity:.8;*/display:inline-block;/*padding:.2em*/}.cc-link:hover{/*opacity:1*/}.cc-link:active,.cc-link:visited{/*color:initial*/}.cc-btn{display:block;padding:.4em .8em;font-size:.9em;font-weight:700;border-width:2px;border-style:solid;text-align:center;white-space:nowrap}.cc-banner .cc-btn:last-child{min-width:140px}.cc-highlight .cc-btn:first-child{background-color:transparent;border-color:transparent}.cc-highlight .cc-btn:first-child:focus,.cc-highlight .cc-btn:first-child:hover{background-color:transparent;text-decoration:underline}.cc-close{display:block;position:absolute;top:.5em;right:.5em;font-size:1.6em;opacity:.9;line-height:.75}.cc-close:focus,.cc-close:hover{opacity:1}
.cc-revoke.cc-top{top:0;left:3em;border-bottom-left-radius:.5em;border-bottom-right-radius:.5em}.cc-revoke.cc-bottom{bottom:0;left:3em;border-top-left-radius:.5em;border-top-right-radius:.5em}.cc-revoke.cc-left{left:3em;right:unset}.cc-revoke.cc-right{right:3em;left:unset}.cc-top{top:1em}.cc-left{left:1em}.cc-right{right:1em}.cc-bottom{bottom:1em}.cc-floating>.cc-link{/*margin-bottom:1em*/}.cc-floating .cc-message{display:block;margin-bottom:1em}.cc-window.cc-floating .cc-compliance{-ms-flex:1 0 auto;flex:1 0 auto}.cc-window.cc-banner{-ms-flex-align:center;align-items:center}.cc-banner.cc-top{left:0;right:0;top:0}.cc-banner.cc-bottom{left:0;right:0;bottom:0}.cc-banner .cc-message{-ms-flex:1;flex:1}.cc-compliance{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:justify;align-content:space-between}.cc-compliance>.cc-btn{-ms-flex:1;flex:1}.cc-btn+.cc-btn{margin-left:.5em}
@media print{.cc-revoke,.cc-window{display:none}}@media screen and (max-width:900px){.cc-btn{white-space:normal}}@media screen and (max-width:414px) and (orientation:portrait),screen and (max-width:736px) and (orientation:landscape){.cc-window.cc-top{top:0}.cc-window.cc-bottom{bottom:0}.cc-window.cc-banner,.cc-window.cc-left,.cc-window.cc-right{left:0;right:0}.cc-window.cc-banner{-ms-flex-direction:column;flex-direction:column}.cc-window.cc-banner .cc-compliance{-ms-flex:1;flex:1}.cc-window.cc-floating{max-width:none}.cc-window .cc-message{margin-bottom:1em}.cc-window.cc-banner{-ms-flex-align:unset;align-items:unset}}
.cc-floating.cc-theme-classic{padding:1.2em;border-radius:5px}.cc-floating.cc-type-info.cc-theme-classic .cc-compliance{text-align:center;display:inline;-ms-flex:none;flex:none}.cc-theme-classic .cc-btn{border-radius:5px}.cc-theme-classic .cc-btn:last-child{min-width:140px}.cc-floating.cc-type-info.cc-theme-classic .cc-btn{display:inline-block}
.cc-theme-edgeless.cc-window{padding:0}.cc-floating.cc-theme-edgeless .cc-message{margin:2em 2em 1.5em}.cc-banner.cc-theme-edgeless .cc-btn{margin:0;padding:.8em 1.8em;height:100%}.cc-banner.cc-theme-edgeless .cc-message{margin-left:1em}.cc-floating.cc-theme-edgeless .cc-btn+.cc-btn{margin-left:0}


/* CUSTOM CSS */

.cc-window {
 	margin: 0; padding: 25px 30px !important;
	background: #057d8c !important;
	-webkit-box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.25); -moz-box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.25); box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.25);
}

.cc-message {
	width: 100%;
	font: 15px/140% Helvetica,Calibri,Arial,sans-serif; color: rgb(255, 255, 255);
}

.cc-link, .cc-link:visited {
	opacity: 1;
	font: 15px/140% Helvetica,Calibri,Arial,sans-serif;	color: rgb(255, 255, 255); text-decoration: underline;
}

.cc-link:hover {
	text-decoration: underline;
}

.cc-btn {
	padding: 9px;
	font: 700 14px/130% Helvetica,Calibri,Arial,sans-serif; color: rgb(255, 255, 255);
    background: rgba(0, 0, 0, 0.25); border: 0;
	-webkit-transition: all 250ms ease-in-out; -moz-transition: all 250ms ease-in-out; -ms-transition: all 250ms ease-in-out; -o-transition: all 250ms ease-in-out; transition: all 250ms ease-in-out;
}

.cc-btn:hover {
	background: rgba(0, 0, 0, 0.5);
}


.border-top-1 {
	position: relative;
	display: inline-block;
}

.border-top-1:before {
	content: "";
	position: absolute;
	width: 30%;
	height: 1px;
	top: -0.6rem;
	left: 0;
	border-bottom: 1px solid rgba(52, 73, 94, 1);
}


/* DATEV Infothek */

#feed .mym-inner header {
	display: none !important;
}

#feed .mym-inner article {
	padding: 0 !important;
	padding-bottom: 2rem !important;
	margin-bottom: 2rem !important;
	border: 0 !important;
	border-bottom: 1px dotted rgb(150, 150, 150) !important;
}

#feed .mym-inner article h4 {
	font: 400 20px/140% 'Open Sans', sans-serif !important;
	color: #004d5e !important;
	margin: 0 0 10px 0 !important;
}

#feed .mym-inner article p.mym-bigger {
	display: contents !important;
	font: 400 15px/150% 'Open Sans', sans-serif !important;
	color: rgb(110, 123, 125) !important;
}

#feed .mym-inner article a {
	font: 400 15px/150% 'Open Sans', sans-serif !important;
	color: #004d5e !important;
	text-decoration: underline !important;
	padding-left: 0 !important;
}

#feed .mym-inner article a:after {
	display: none !important;
}






