﻿@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,700;1,400;1,700&display=swap');

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, font, img, ins, kbd, q, s, samp, small, strike, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td 
{ font-family: 15px/19px 'Roboto', sans-serif; margin: 0; padding: 0; border: 0; outline: 0; font-weight: inherit; font-style: inherit; font-size: 100%; vertical-align: baseline; }

:focus { outline: 0; }
ol, ul { list-style: none; }
.clear { clear:both; }
table { border-collapse: separate; border-spacing: 0; }
caption, th, td { text-align: left; font-weight: normal; }
blockquote:before, blockquote:after, q:before, q:after { content: ""; }
blockquote, q { quotes: "" ""; }

body { font: 15px/19px 'Roboto', sans-serif; color: #272727; text-rendering: optimizelegibility; font-weight: 300;}
strong, bold { font-weight: 700; }

a:link, a:visited, a:focus, a:active { color: #fff; text-decoration: none; }
a:hover { color: #fff; text-decoration: underline; }

ul { list-style: none; margin: 0; padding: 0; }

#wrapper { width: 692px; margin: 0px auto; }
#header { width: 692px; height: 342px; }


/******** BEGINN ********/

#hotline { width: 100%;	height: 60px; line-height: 60px; background-color: #405F83; z-index: 999;}
#hotline h1 { color: #fff; font-family: 'Roboto', sans-serif; font-size: 28px; font-style: normal; text-align: center; font-weight: 700; letter-spacing: 1.0px; }
#hotline img { vertical-align: middle; margin-right: 15px; margin-bottom: 5px; width: 32px; height: 32x; }
#telefontracking, #telefon { display: inline; }
#footer a.telefon:link { text-decoration: none; } 

#website { width: 100%; height: 60px; margin: 20px 0 20px 0; line-height: 60px; background-color: #405F83; }
#website h3 { color: #fff; font-family: 'Roboto', sans-serif; font-size: 25px; font-style:normal; text-align: center; font-weight: 500; letter-spacing: 0px;}
#website img { vertical-align: middle; margin-right: 15px; margin-bottom: 5px; width: 32px; height:32px; }

#content { margin: 0 auto; padding: 25px 0 0 0; }

h2 { color: #405F83; font: 400 19px 'Roboto', sans-serif; padding: 0 0 10px 0; letter-spacing: 0px; line-height: 23px; text-transform:uppercase; }
.box { width: 100%; height: auto; margin-bottom: 25px; background-color: #f9f9f9; border: 1px solid #e2e2e2; border-radius: 5px; }
.box a:link, .box a:visited, .box a:focus, .box a:active, .text a:link, .text a:visited, .text a:focus, .text a:active { color: #333; text-decoration: none; }
.box a:hover, .text a:hover { color: #bad739; text-decoration: underline; }


#content #contentleft { float: left; width: 340px;  margin-right: 25px; line-height: 1.5; }
#content #contentleft .text { border-bottom: 1px dotted #333000; margin: 0 15px 15px; padding-bottom: 20px; display: inline-block; }
.liste { margin:25px 0 25px 15px; list-style-position: outside; list-style-type: disc; }
.liste > li { margin-bottom: 2px; }
.bild { float: left; margin-top: 5px;  max-width: 110px;}
.bild img { max-width: 90px; }
.bildtext { float: right; width: calc(100% - 100px); margin-top: 0px; }
#content #contentleft #betreuung { border-bottom: none!important; margin-bottom: 0!important; padding-bottom: 0!important; }
#content #contentleft #abwicklung img { float: left; border: 1px solid #eee; margin-right: 10px; padding: 5px; max-width: 120px; margin-top: 7px;}

.bewertung-top { background-color: #003166; calc(100% - 20px); padding: 10px; border-radius: 5px 5px 0 0; }
.bewertung-top h3 { font-size: 18px; color: #fff; text-align: center; }

.widget { width: calc(100% - 30px); height: auto; background-color: #fff; padding: 15px; padding-top: 20px; padding-bottom: 20px;}
.widget-left { width: 22%; display:inline-block; padding-right: 10px;}
.widget-right { width: 70%; display:inline-block; vertical-align:top; }
.widget h4 { font-size: 17px; }
.widget .stars { display:inline-block; width: 100%; font-size: 22px;  color: #ED8A19; padding-top: 5px; padding-bottom: 5px;}
.widget .stars img { display:inline-block; width: 18px;}

.video-frame { position:absolute; width:692px; height: 389px;}
.video-container { display:block; overflow: auto;  height: 420px; }

#content #contentright { float: left; width: 310px; }
#content #contentright h2 { padding: 10px 20px 10px 20px; }

#content #contentright #vorteile ul { padding: 0 15px 10px 20px; line-height: 1.4; }	
#content #contentright #vorteile ul li { padding: 5px 0 5px 35px; background:url('../images/icon_check.svg') no-repeat 0 5px; background-size: 21px; line-height: 1.4; }
#vorteile a:link, #vorteile a:visited, #vorteile a:focus, #vorteile a:active { color: #424242; text-decoration: none; }

#content #contentright #formular { background-color: #efefef; border: 1px solid #e2e2e2; margin-bottom: 0; }
#content #contentright #formular h2 { font-size: 16.5px; }
#content #contentright #formular a { color: #3c8bd3; }
#content #contentright #formular a:hover { color: #3c8bd3; text-decoration: underline; }
#content #contentright #formular small { font-size: 12px; }
#content #contentright #formular p { margin-top: 5px; }

#content #contentright #zertifikat { display: inline-block; padding: 10px; margin-bottom: 20px; width: calc(100% - 20px); background-color: #efefef; font-size: 11px;}
#content #contentright #zertifikat .logo-left { width: 38%; float: left; text-align: center; padding-left: 10px; padding-top: 10px;  }
#content #contentright #zertifikat .logo-right { width: 45%; float: right; text-align: center; padding-right: 10px; padding-top: 10px; }
#content #contentright #zertifikat img { width: 100%; padding-bottom: 0.5em;}

#karte_rechts { margin: 25px 0; background: #fff; display: none; }
#karte_unten { margin: 25px 0; background: #fff; display: block; }
#karte_rechts h2, #karte_unten h2, .karte ul { font-size: 17px; line-height: 23px; padding: 10px 5px 10px 20px; text-align: center; }

#karte_rechts .ovpn, #karte_unten .ovpn { text-align: center; }
#karte_rechts .ovpn img, #karte_unten .ovpn img { margin: 3px 10px 5px 0; vertical-align: middle;}
#karte_rechts .ovpn p, #karte_unten .ovpn p { font-size: 14px; }

#karte_unten .ovpn > div { display: inline-block; padding: 0 10px; }
.ovpn > div { display: inline-block; margin: 0 10px; }

.gm-style-iw * { display: block; width: 100%; }
.gm-style-iw h4, .gm-style-iw p { margin: 0; padding: 0; }
.gm-style-iw a { color: #4272db; }

#footer { width: calc(100% - 40px); height: auto; margin: 0 auto; padding: 20px; background-color: #F2F2F2; font: 13px 'Roboto', sans-serif; color: #333; position: relative; font-weight: 300; }
#footer_desktop { float:left; display: inline-block; }
#footer_mobil { float: left; display: none; }
#meta { float: right; display: inline-block; position: absolute; right: 25px; top: 36px; }
#footer a:link, #footer a:visited, #footer a:focus, #footer a:active { color: #333; text-decoration: underline dotted; }
#footer a:hover { color: #000; text-decoration: none; }

#adresse-1, #adresse-2, #adresse-3, #adresse-4, #adresse-5 { padding-right: 30px; display: inline-block; padding-top: 5px; }

#sub-footer { color: #585858; font: 10px 'Roboto', sans-serif; height: 25px; margin: 0 auto; padding: 10px 0 0 15px; text-align: center; max-width: 640px; }

#sub-footer a:link, #sub-footer a:visited, #sub-footer a:active { color: #333; text-decoration: underline dotted; }
#sub-footer a:hover { color: #000; text-decoration: none; }


/******** BEWERTUNG ********/

#bewertungen_unten { margin-top: 30px; display: none; }
#bewertungen_rechts { display: block;}

#bewertungen { height: auto!important; }

div.box.white-bg{
	background-color: #fff;
}

#content #contentright h2#mandanten-bewertung{
	background-color: #f9f9f9;
	padding: 10px 18px;
}

#bewertungen_unten h2#mandanten-bewertung{
	color:#000;
	background-color: #f9f9f9;
	padding: 10px 18px;
}

.sterne{
	padding: 0 0 0 18px;
}

.lSSlideOuter {
	padding: 18px;
	box-sizing: border-box;
}
.lSSlideOuter .lSPager.lSpg > li:not(.active) a{
	background-color: #666666 !important;
}
.lSSlideOuter .lSPager.lSpg > li.active a{
	background-color: #111 !important;
}
.mandanten-bewertung .rating-head{
	display: block;
	overflow: hidden;
}
.mandanten-bewertung .rating-head .author{
	width: 75%;
	margin-bottom: 10px;
	display: block;
	float: left;
	padding-top: 2px;
}

.mandanten-bewertung .rating-head .author .avatar{
	display: block;
	height: 67px;
	float: left;
}

.mandanten-bewertung .rating-head .author img{
	float: left;
	margin-right: 10px; 
	display: inline-block;
}
.mandanten-bewertung .rating-head .name{
	font-size: 16px;
	line-height: 14px;
	font-weight: 500;
	display: block;
}
.mandanten-bewertung .rating-head .meta{
	display: block;
	font-size: 13px;
	color: #bababa;
}

.mandanten-bewertung .rating-head .logo{
	display: table;
	width: 24%;
	float: left;
	border: 1px solid #e1e1e1;
	margin-right: 1px;
	box-sizing: border-box;
	height: 50px;
	background: #fff;
}

.mandanten-bewertung .rating-head .logo .content{
	display: table-cell;
	text-align: center;
	vertical-align: middle;
}

.mandanten-bewertung .text{
	font-style: italic;
	font-weight: 300;
	margin-top: 14px;
	font-size: 13px;
	color: #666;
}

.bewertung_inhalt {
	min-height: 180px;
}

.spacer
{
	height: 5px;
}

.bewertungen_slider
{
	padding: 15px;
	padding-bottom: 0px;
}

.swiper-pagination
{
	position:relative !important;
	margin-top: 20px;
	bottom: 0px;
}

.swiper-pagination-bullet-active 
{
	background-color: #405F83 !important;
}

.swiper-pagination { position:relative !important; margin-top: 20px; bottom: 0px; }
.swiper-pagination-bullet-active { background-color: #405F83 !important; }

.spacer { height: 10px; }

/* ---- Bewertungen ------------- */


/****** FORMULAR *****/
input.error,
select.error,
textarea.error {
    border: red solid 1px;
	background-color:#F00;
}

fieldset {
	padding: 20px 0 0 20px;
	display: block;
	color: #333;
	clear: both;
}

label {
	display: block;
	width: 79px;
	float: left;
	clear: both;
	margin: 2px 0; 
}

input,textarea {
	margin-top:3px;
	margin-bottom:4px;
	border: 1px solid #fff;
	padding:2px;
	width:179px;
}  

#form_alter, #form_anrede, .label_alter, .label_anrede {
	display: none;
}

.btnSubmit { 
	width:264px;
   	height:40px;
   	border:0;
	margin-top:12px;
	margin-bottom: 20px;
	background-color: #405F83;
	color: #fff;
	border-radius: 5px;
	border-color: #333;
	font-weight: 500;
	font-size: 18px;
	font-family: 'Roboto', Arial, Helvetica, sans-serif;
}

.btnSubmit:hover { 
	background-color: #333;
	cursor:pointer;
}

#form_datenschutz { width: 15px; margin-left: 2px; }
.ds-check { width: 100%; float: left;}
.datenschutz { margin-top: 5px; overflow:auto; padding-right: 15px;}

.ssl {
	color:#888;
	font-size:10px;
	margin-left:22px;
	background:url('../images/schloss.gif') no-repeat 0 3px;
	padding-left:19px;
	height:20px;
	line-height:24px;
	width:250px;
	margin-top:-14px;
	margin-bottom:10px;
	font-style:italic;
}

.okay {
	width: 100%;
	text-align: center;
	padding-top: 25px;
}

.okay img {
	width: 130px;
}

.errorStyle {
	color: #3A9044;
	font-size: 17px;
	font-weight: bold;
	margin: 0 auto;
	padding: 25px 0;
	text-align: center;
}


@media (max-width: 420px){
#wrapper { width: 100%; }

#header { width: 100%; height: auto; }
#header img { width: 100%; height: auto; }

#hotline, #website { height: auto; }
#hotline { margin-bottom: 15px; }
#hotline h1, #website h3 { line-height: 30px; text-align:center; padding: 10px 0!important; letter-spacing: 0px; }

#hotline h1 { font-size: 17px!important; }
#website h3 { font-size: 15px!important; }
h2 { font-size: 22px; }
#content #contentright #formular h2 { font-size: 21px; }

#website img, #hotline img { display: none; }

#content { padding: 0!important; margin: 25px 5%; width: 90%; }
#content #contentleft, #content #contentright { margin: 0; width: 100%; }
#content #contentleft .text { margin: 0 0 15px; }
.box { margin: 25px 0 0 0; }
#content #contentright #formular { margin: 0!important;}
#content #contentright #zertifikat { margin-bottom: 0px; }

.video-frame { position:absolute; width: calc(100% - 40px); height: 210px;}
.video-container { display:block; overflow: auto; height: 230px; margin-top: 20px; }

#karte_rechts { display: inline-block!important; }
#karte_unten { display: none!important; }

#bewertungen_unten { width: calc(100% - 40px); margin-left: 20px; margin-right: 20px; display: none;}
#bewertungen_rechts { display: block;}

.liste { margin:10px 0 10px 20px; }

.adresse { display: inline-block; width: 160px; }
#adresse-1, #adresse-2, #adresse-3, #adresse-4 { margin-bottom: 10px; }
#meta { top: 46px; }

fieldset { padding: 0; margin: 0 20px; width: calc(100% - 40px); }
input, textarea { margin: 0; padding: 5px 0 ; width: 100%; }
label { margin: 5px 0 0; }
.btnSubmit { margin-left: calc(50% - 132px); }
.ssl { margin-left: calc(50% - 130px); }
}


@media (max-width: 395px){
#hotline h1 { font-size: 16px!important; }
#website h3 { font-size: 16px!important; }
h2 { font-size: 21px; }
#content #contentright #formular h2 { font-size: 19px; }
.video-frame { position:absolute; width: calc(100% - 40px); height: 200px;}
.video-container { display:block; overflow: auto; height: 210px; margin-top: 10px; }
}

@media (max-width: 355px){
#hotline h1 { font-size: 15px!important; }
#website h3 { font-size: 15px!important; }
h2 { font-size: 20px; }
#content #contentright #formular h2 { font-size: 18px; }
}

@media (max-width: 340px){
#hotline h1 { font-size: 14px!important; }
#website h3 { font-size: 14px!important; }
h2 { font-size: 19px; }
#content #contentright #formular h2 { font-size: 17px; }
#karte_rechts h2, #karte_unten h2, .karte ul { font-size: 15px; }
.video-frame { position:absolute; width: calc(100% - 40px); height: 200px;}
.video-container { display:block; overflow: auto; height: 200px; margin-top: -10px; 
}