/*
Theme Name: Basis Theme Anwalt
Theme URI: 
Author: Capahill GmbH
Author URI: http://www.capahill.de/
Description: Basis Theme
Version: 1.0
Text Domain: basistheme
*/
@charset 'utf-8';
@import url(css/font-awesome.min.css);
@import url(css/normalize.css);
@import url(css/foundation.css);
@import url(css/slick.css);
@import url(css/slick-theme.css);
   
/* roboto-300 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  src: url('fonts/roboto-v30-latin-300.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('fonts/roboto-v30-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/roboto-v30-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/roboto-v30-latin-300.woff') format('woff'), /* Modern Browsers */
       url('fonts/roboto-v30-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/roboto-v30-latin-300.svg#Roboto') format('svg'); /* Legacy iOS */
}
/* roboto-regular - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/roboto-v30-latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('fonts/roboto-v30-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/roboto-v30-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/roboto-v30-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('fonts/roboto-v30-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/roboto-v30-latin-regular.svg#Roboto') format('svg'); /* Legacy iOS */
}
/* roboto-500 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  src: url('fonts/roboto-v30-latin-500.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('fonts/roboto-v30-latin-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/roboto-v30-latin-500.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/roboto-v30-latin-500.woff') format('woff'), /* Modern Browsers */
       url('fonts/roboto-v30-latin-500.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/roboto-v30-latin-500.svg#Roboto') format('svg'); /* Legacy iOS */
}
/* roboto-700 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/roboto-v30-latin-700.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('fonts/roboto-v30-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/roboto-v30-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/roboto-v30-latin-700.woff') format('woff'), /* Modern Browsers */
       url('fonts/roboto-v30-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/roboto-v30-latin-700.svg#Roboto') format('svg'); /* Legacy iOS */
}
   
*,h1,h2,h3{
	padding:0;
	margin: 0;
	outline: none;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box; 
	box-sizing: border-box;
}

html {
    -ms-text-size-adjust: none;
    -webkit-text-size-adjust: none;
    text-size-adjust: none;
	box-sizing: border-box;
	height: 100%;
	overflow-x: hidden;
	margin: 0 !important;
}

body {
	height: 100%;
	font-family: 'Roboto', sans-serif;
	font-weight: 400;	
	color: #333;
	font-size: 16px;
	min-height: 100%; 
	line-height: 1.2em;
}

iframe {
	max-width: 100%!important;
	margin: 0 0 20px;
}

p > iframe {
	margin-bottom:0;
}

.clearfix:after {
    content: "";
    clear: both;
    display: block;
}

ul {
	list-style: none;
}

img {
    display: block;
    border: 0;
}

a {
	color: #2c2c2c;
}

a:hover {
	text-decoration: none;
}

a[href*="tel"] {
        text-decoration: none;
        color: #333;
}

strong {
	font-weight: 600;
}

p {
	padding: 0 0 20px 0;
}

hr {
    -moz-border-bottom-colors: none;
    -moz-border-left-colors: none;
    -moz-border-right-colors: none;
    -moz-border-top-colors: none;
    border-color: #caccce -moz-use-text-color -moz-use-text-color;
    border-image: none;
    border-right: 0 none;
    border-style: solid;
    border-width: 1px 0 0;
    margin: 0 0 20px 0;	
	border-color:  #caccce;
	}

.line {		
	text-align: right;	
	height: 35px;
	/*line-height: 35px;*/
	background-color: #373737;
    color: #fafcfe;
}

.line .socialmedia li {
	display: inline-block;
	margin-left: 10px;
	/*margin-top: 2px;*/
}

.line .socialmedia li  a {
	display: inline-block;
    color: #373737;
	background: #fff;
	width: 29px;
	height: 29px;
	line-height: 29px;
	border-radius: 50%;
	text-align: center;	
	font-size: 20px;
margin-top: 3px;
}

.line .socialmedia li  a:hover {
	opacity: 0.8;
}
	
/* HEADLINES */
h1, h2, h3, h4, h5 {
	line-height: 1.2em;
}

h1, .likeh1 {
	font-size: 44px!important;
	font-weight: 300;	
	margin-bottom: 30px;
	color: #3fa535!important;  /*04aa34 */
	position: relative;
	line-height: 1.2em;
	overflow: hidden;
	/*font-family: 'Cormorant Garamond', serif;*/
	border-left: 5px solid #3fa535; 
	padding: 0 0 0 10px!important;
	text-align: left;
}

@media only screen and (max-width: 767px) {
	h1, .likeh1 {
		font-size: 30px!important;
	}
}

@media only screen and (max-width: 767px) {
	h1, .likeh1 {
		margin: 20px 0;
	}
}

/*h1 > span:first-child {
	display: inline-block;
	position: relative;
	border-bottom: 1px solid #2c2c2c;  
	padding-bottom: 5px;
}

h1 span + span {
	display: block;
	color: #424242;
	font-size: 24px;
	padding: 0;
}*/

h2 {
	font-size: 23px;
	font-weight: 700;	
	padding: 0 0 25px 0;
	color: #2c2c2c;
}

h3 {
	font-size: 19px;
	font-weight: 400;	
	padding: 0 0 20px 0;
	color: #2c2c2c;
	line-height: 1.15em;
}

h4 {
	font-size: 20px;
	font-weight: 300;	
	padding: 0 0 15px 0;
	color: #373737;
	line-height: 1.15em;
}

h5 {
	font-size: 18px;
	font-weight: 400;	
	padding: 0 0 15px 0;
	color: #373737;
	line-height: 1.15em;	
}

h5 a {
	color: #000;
	text-decoration: none;
}

h5 a:hover {
	color: #373737;
}

h6 {
	font-size: 16px;
	font-weight: 400;	
	padding: 0 0 15px 0;
	color: #333;	
}

.bg-gray {
	background-color:#eee;	
}

.bg-blue {
	background-color:#04367D;
}


/* HEADER */
header.top-header {
	margin: 0;
}

header.top-header .bg-gray {
	background: #ddd;
	color: #3fa535;
}

header .telephone-box {
	padding: 0 0 0 0;		
	font-weight: 300;
	font-weight: 600;
	display: table;
	font-size: 16px;
	margin:15px auto;
}

header .telephone-box span {
	display:table-cell;	
}

header .telephone-box span a {
	line-height:1em;	
	color: #32842a;
	text-decoration:none;
	font-weight: 600;
}

header .telephone-box .number {	
	font-weight: 700;
	padding: 0 5px;	
}

header .line a {
	color: rgb(255,255,255);
}

header .main-nav {
	box-shadow: 0 4px 10px rgba(100, 100, 100, 0.1);
	background: #04aa34; /* #3fa535 */
	position:fixed;
	width: 100%;
	left: 0;
	top: 49px;
	z-index: 999;
	transition: top 0.2s ease;
	height: 100px;
}

.main-nav > .row,
.main-nav > .row > .columns {
	height: 100%;
}

@media only screen and (max-width: 40em) {
    	header .main-nav {
			top: 33px;
			height: 80px;
    	}
}

.scrolled header .main-nav {
	top: 0;
}

header .logo {
	display:inline-block;
	padding: 5px 0;
	width: auto;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

header .logo img {
	/*height: 55px;*/
	display:inline-block;
	max-height: 60px;
}

/* main-keyvisual */
.kv-wrapper {
	max-width: 1400px;
	margin: 0 auto;
	position: relative;
}

.kv-claim {
	position: absolute;
	bottom: 100px;
	width: 100%;
}

.kv-claim h1 {
	border-left: 25px solid #3fa535;
	padding: 0!important;
	color: #3fa535;
	/*font-family: 'Cormorant Garamond', serif;*/
	font-size: 45px!important;
	font-weight: 300;
	margin: 0;
}

.kv-claim span {
	display: inline-block;
	background: #fff;
	line-height: 60px;
	padding: 0 10px;

}
@media only screen and (max-width: 1024px) {
	.kv-claim { 
		bottom: 20px;
	}
	
}
@media only screen and (max-width: 767px) {
	.kv-claim { 
		bottom: 0;
		left: -10px;
	}
	
	.kv-claim h1 { 
		font-size: 24px!important;
		border-left: 5px solid #3fa535;
	}
	
	.kv-claim span {
		line-height: 30px!important;
	}
}

.kv-teaser {
	background: #f1f1f1;
	padding: 40px 0;
	max-width: 1400px;
	margin: 0 auto 40px auto;
}

.content .kv-teaser .breadcrumb {
	margin-top: 0;
}

.kv-teaser p {
	padding: 0;
	margin: 0;
}

.featured-image {
	background-size: cover;
	/*background-position: center center;	
	border-bottom: 4px solid #2c2c2c;*/
	position: relative;
	height: auto;
}

.fi-bg {
	background: #f2f2f2;	
}

.kv-box {
	height: 350px;
	position: relative;
	text-align: center;
}

.kv-box-inner {
	position: absolute;
	top: 50%;
	left: 50%;
	color: #666;
	transform: translate(-50%,-50%);
	width: 100%;
	padding: 0 20px 0 0;
}

.kv-box a {
	color: #2c2c2c;
	font-weight: 600;
}

.kv-box h2 {
	color: #30383c;
	text-transform: uppercase;
}

@media only screen and (max-width: 1024px) {
	.featured-image,
	.kv-box	{
		height: 400px;
		object-fit: cover;
	}
}
@media only screen and (max-width: 767px) {
	.featured-image,
	.kv-box	{
		height: 300px;
	}
}

@media only screen and (max-width: 640px) {
	.featured-image {
		height: 200px;
	}
	
	.kv-box {
		height: 200px;
		display: none;
	}
}

/* CONTENT */
.content {
	margin: 100px 0 20px 0;
	transition: margin 0.3s ease;
}

.content .content-area strong {
	color: #2c2c2c;
}

.scrolled .content {
	margin-top: 0;
}

.content .breadcrumb {
	margin: 25px 0 25px 0;
	font-size: 14px;	
	font-weight: 600;
	color:#2c2c2c;
}

.content p,
.content ul,
.content ol {
	line-height: 1.5em;
}

.content nav {
	margin: 0 0 20px 0;
}

.content nav a {
	text-decoration: none;
}

.content .keyvisual {
	max-height:600px;
	/*background: url(images/keyvisual.jpg) no-repeat top center;
	background-size: cover;*/
	margin-bottom: 20px;
}

.content .main {
	min-height: 10px;
}

.content .main.columns + .medium-4.columns {
    border-left: 1px solid #eee;
	/*position: relative;
	top: 13px;*/
}

@media only screen and (max-width: 640px) {
	.content .main.columns + .medium-4.columns {
		border-left: none;
	}
	
	.content .main.columns + .medium-4.columns .widget-area {
		border-top: 2px solid #eee;
		padding-top: 20px;
	}
	
	.page-id-7950 .content .main.columns + .medium-4.columns .widget-area {
		border-top: 0;
	}
}

.content .main ul, 
.content .main ol {
	margin-bottom: 20px;
}

.content .main ul li,
ul.list li  {
	margin-left: 25px;
	padding-left: 5px;
	list-style-type: disc;
}

ul.list {
	margin-bottom: 20px;
}

.content main ul > ul {
	margin-left: 25px;
	padding-left: 5px;
	margin-bottom: 10px!important;	
}

.content .main ol li {
	margin-left: 25px;
	padding-left: 5px;
}

.page-id-685 ul.children {
	margin-bottom: 0
}

.content main h2,
.content main h3 {
	color: #2c2c2c;
}

/*.content .main .teaser {
	font-size: 14px;
	margin-top: 10px;
}

.content .main .teaser h2 {
	font-size: 18px;
	color: #1f1f1f;
	padding-bottom: 15px;
}

.content .main .teaser p {
	padding-bottom: 0;
}

.content .main .teaser article {
	margin: 0 0 20px 0;
	padding: 20px 20px 50px;
	background: #eeeeee;
	color: #1f1f1f;	
	position: relative;
}*/

.content .main .teaser {
	/*margin-bottom: 40px;*/
}
.content .main .teaser article {
	position: relative;
	margin: 0 0 20px 0;
	font-size: 20px;
	cursor: pointer;
	padding-bottom: 40px;
}

@media only screen and (max-width: 640px) {
	.content .main .teaser article {
		margin-bottom: 30px;
	}
	
	.content .main .teaser .columns:last-child article {
		margin-bottom: 0;
	}
}

.content .main .teaser .link {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.content .main .teaser .icon {
	display: block;
	margin: 0 auto;
	width: 200px;
	height: 200px;
	border-radius: 50%;
	position: relative;
	background: #399430;
}

.content .main .teaser .icon img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

.content .main .teaser h2 {
	color: #399430;
	padding: 0;
	margin: 20px 0;
	text-align: center;
	font-weight: bold;
	font-size: 18px;
}

.content .main .teaser .btn {
	display: block;
	background: #399430;
	height: 40px;
	line-height: 40px;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
}

.content .main .teaser .btn:after {
	content: '';
	clear: both;
	display: table;
}

.content .main .teaser .btn .txt {
	color:#fff;
	display: inline-block;
	padding: 0 0 0 20px;
}

.content .main .teaser .btn .fa {
	color:#fff;
	background: #33852b;
	float: right;
	width: 40px;
	height: 40px;
}

.content .main .teaser .btn .fa:before {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	font-size: 24px;
}


/* */
.content .main .teaser article.service {
	background: #f0f0f0;
	color: #2c2c2c;
	font-size: 18px!important;
	font-weight: 300;
	line-height: 1.5em;
}

.content .main .teaser article.service p {
	font-size: 18px!important;
}

.content .main .teaser article.service h2 {
	text-align: center;
	color: #2c2c2c;
	font-size: 24px;
	font-weight: 300;
	margin: 10px 0 20px;
}

.content .main .teaser article.service ul li {
	list-style: none;
	margin: 0 0 15px 0;
}

.content .main .teaser article.service ul li:before {
	content: url(images/icon-list.png);
	display: inline-block;
	margin: 0 5px 0 0;
	vertical-align: text-bottom;
}

.content .main .teaser article.blue {
	background: #2c2c2c;
	color: #fff;
	text-align: center;
	font-weight: 300;
	line-height: 1.5em;
}

.content .main .teaser article.blue p {
	font-size: 18px!important;
}

.content .main .teaser article.blue h2 {
	color: #fff;
	font-size: 24px;
	font-weight: 300;
	margin: 10px 0 20px;
}

.content .main .teaser article.blue p a {
	color: #fff;
	text-decoration: underline;
	display: inline-block;
	font-size: 18px!important;	
}

.content .main .teaser article .icon-hook {
	content: url(images/icon-hook.png);
	display: block;
	margin: 0 auto;
}

.content .main .teaser article .icon-waage {
	content: url(images/icon-waage.png);
	display: block;
	margin: 0 auto;
}

.content .main .teaser article .icon-person {
	content: url(images/icon-person.png);
	display: block;
	margin: 0 auto;
}
	
	

.content .main .teaser article a {
	text-decoration: none;
}

.content .main .teaser .go-to {
	display: inline-block;
	background: #2c2c2c;
	width: 40px;
	height: 40px;
	line-height: 40px;
	color: #fff;
	text-align: center;
	position: absolute;
	right: 0;
	bottom: 0;
}

.content .main .teaser .go-to:hover {
	opacity: 0.9;
}

.text-right {
	text-align: right;
}
.content .main .teaser .go-to span {
	font-size: 20px;
	line-height: inherit;
	padding: 0;
}

.content .main .teaser article img {
	float: left;
	margin: 0 15px 0 0;
	border-radius: 5px;
}

.content .main .teaser .subteaser {
	display: table;
	width: 100%;
	border-collapse: collapse;
}

.content .main .teaser .subteaser .columns {
	display: table-cell;
}

.content .greybox {
    background: #f4f4f4;
    padding: 10px;
	margin: 20px 0;
    width: 100%;
}

.content .greybox img{
	float: left;
	max-width: 300px;
	width: auto!important;
	margin: 10px 15px 10px 0;
}

.content .greybox p {
	padding-bottom: 5px;
	margin: 8px 0 10px;
}

.content .greybox p;last-child {
	margin-bottom: 0;
}

.content .greybox:after {
	content: '';
	display: table;
	clear: both;
}

.content aside {
	font-size: 13px;
}

.content aside .newshead h1 {
	text-align: left;
    font-size: 26px;
    margin: 0 0 22px 0;
    padding: 0;
    color: #333;
}

.content aside .news  {   
    padding: 0;	
}

.content aside .news h4 a {
	 color: #373737;
	 text-decoration: none;
}

.content aside .news h4 a:hover {	
	 text-decoration: underline;
}

aside h2,
aside h3 {    
    color: #2c2c2c;
	font-size: 16px;
	line-height: 19px;
	font-weight: bold;
	text-transform: uppercase;
}

/* NAVIGATION
#################### */
.main-nav-wrapper{
	display: inline;
}

.main-nav-wrapper nav  {
    display: block;
	float: right;	
	height: 70px;
	padding: 30px 0 0;
}

nav a {
    text-decoration: none;
    color: #000;
	font-size:14px;
}

.navtoggle {
    display: none;
}

.fa.fa-navicon, 
.fa.fa-close {
    background: #fff;
    color: #000;
    font-size: 40px;
    width:60px;
    height: 60px;
    cursor: pointer; 
    text-align: center;
    line-height: 60px;
    position: absolute;
    right: 0;
    top: 20px;
    z-index: 10;
	color: #3fa535;
	border-radius: 50%;
}

nav ul {
    list-style: none;
}

@media only screen and (min-width: 1024px) {
	body:not(.scrolled) nav ul.navigation {
		display: block!important;
	}
}

@media only screen and (max-width: 40em) {

	.fa.fa-navicon, 
	.fa.fa-close {		
		font-size: 30px;
		width: 50px;
		height: 50px;
		line-height: 50px;
		position: absolute;
		right: 10px;
		top: 15px;
	}
}

nav ul li {
    position: relative;
    margin: 0
}

ul.menu > li {
    display: inline-block;
}

ul.menu {
	font-size: 0;
}

ul.menu li {
	font-size: 14px;
}

nav ul li.page_item_has_children > a, 
nav ul li.menu-item-has-children > a{
    display: inline-block;
    padding-right: 30px!important;
}

nav ul li.menu-item-has-children span.icon {
    position: absolute;
    right: 5px;
    top: -4px;
    font-size: 22px;
    font-weight: bold;
    color: #000;
    display: block;
    text-align: center;
    width: 20px;
    height: 50px;
    line-height: 50px;
    z-index: 99;
    transform: rotate(90deg);
	cursor: pointer;
}

nav ul.menu > li.menu-item-has-children > span.icon {
	color: #fff;
}

nav ul.menu > li {
	margin-left: 1px;
}

nav ul.menu > li.menu-item-has-children > span.icon {
	/*top: 8px;*/
}

body:not(.scrolled) nav ul.menu > li.menu-item-has-children:hover > span.icon {
	/*color: #fff;*/
}

nav ul li.menu-item-has-children .sub-menu span.icon {    
    line-height: 50px; 
}

nav ul > li:hover > span.icon,
nav ul > li.active > span.icon,
/*nav ul.menu > li.current-menu-item > span.icon,*/
nav ul.menu > li.current-menu-parent > span.icon {
    color: #000;
}

nav ul.menu > li.current-menu-parent > span.icon {
	color: #fff;
}

nav ul.menu > li:hover,
nav ul.menu > li.active,
nav ul.menu > li:focus,
nav ul.menu > li.current-menu-item,
nav ul.menu > li.current-menu-parent  {
    color: #f1f1f1;
}

nav ul.menu > li:hover > a,
nav ul.menu > li.active > a,
nav ul.menu > li:focus > a,
nav ul.menu > li.current-menu-item > a,
nav ul.menu > li.current-menu-parent > a {
    color: #fff;
}

nav ul > li:focus > span.icon {
    color: #fff;
}

 nav ul.menu li a{
    display: block;
    line-height: 44px;
    padding: 0 20px;
    color: #000000;	
}

nav ul.menu > li > a {
	color: #fff;
	font-size: 18px;
}

 nav ul.menu li a:hover,
 nav ul.menu li a:active,
 nav ul.menu li:hover > a {
	/*color: #739ec8;*/
	opacity: 0.8;
}
@media only screen and (min-width: 1024px) {
	/*body:not(.scrolled) .current-menu-item > a { border-bottom: 3px solid #373737; }*/
}

body:not(.scrolled) nav ul.menu > li > a {
    /*color: #1f1f1f;	
	background: #eaebeb;
	height: 70px;	
	line-height: 70px;*/
}

body:not(.scrolled)  nav ul.menu > li:hover > a {
	/*background: #373737;
	color: #fff;*/
}

 nav ul li.page_item_has_children > a:hover, 
 nav ul li.menu-item-has-children > a:hover  
 nav ul li.menu-item-has-children > a.active {
    color: #fff;
}

 nav ul li ul {
    display: none;
    position: absolute;
    background: rgb(255,255,255);
    left: 0;
    top: 100%;
    width: 100%;
    min-width: 240px;
    z-index: 1;
    background: #fefefe;
    border: 1px solid #dbd9da;
}

 nav ul li ul li ul {
    display: none;
    position: absolute;
    left: 100%;
    top: -1px;
    width: 100%;
}

 nav ul li ul li ul li {
    position: relative;
    z-index: 5;
}

 nav ul li:hover ul li:hover ul {
    display: block;
}

 nav ul li ul li{
    position: relative;
    z-index: 10;
}

 nav ul li:hover ul {
    display: block;
}

 nav ul li:hover ul li ul {
    display: none;
}
	
.scroll-number {
	display: none;
	text-align: center;
	font-size: 14px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	color: #fff;
}

.scroll-number span {
	display: block;
	font-weight: 600;
	font-size: 15px;
}

.scroll-number span a {
    color: #fff; 
}
@media only screen and (min-width: 1024px) {
	.scrolled .scroll-number { 
		display: inline-block;
	}
}

/* Nav Desktop on Scroll */
@media only screen and (min-width: 1024px) {  
	.scrolled .navtoggle {
        display: inline-block;
	}
	
	.scrolled  .main-nav nav ul {
		display: none;
        margin-top: 70px;
        background: #fff;
        z-index:10;
        position: relative;
		border-top: 1px solid #ccc;
	}
	
    .scrolled  .main-nav ul.menu > li {
        display: block;
        border-bottom: 1px solid #ccc;
    }
    
    .scrolled  .main-nav nav ul li  ul {
        margin-top: 0;
    }
    
    .scrolled  .main-nav nav{
        position: absolute;
        top: 0;
		right: 0;
    }
            
    .scrolled  .main-nav nav > ul > li:first-child {
        border-width: 1px 1px 0 1px;
    }
    
    .scrolled  .main-nav nav ul li ul {
        position: static;
        position: initial;
        background: #f3f3f3;
        border: 0;
		
		/*display: none;
		position: absolute;
		left: auto;
		right: 100%;*/
    }
    
    .scrolled  .main-nav nav ul li.active > ul {
        display: block;
    }
    
    .scrolled  .main-nav nav ul li ul li ul {
        position: static;
        position: initial;
        background: rgb(230,230,230);
    }
    
    .scrolled  .main-nav nav ul li ul li a{
        padding-left: 20px;
    }
    
    .scrolled  .main-nav nav ul li ul li ul li a{
        padding-left: 30px;
    }

	.scrolled  .main-nav nav ul.menu li a{		
		width: 300px;
		color: #000;
	}
	
	.scrolled nav ul.menu > li.current-menu-parent > span.icon,
	.scrolled nav ul.menu > li.menu-item-has-children span.icon {
		color:#000;
	}
	
	.scrolled  nav ul li.menu-item-has-children span.icon {
		position: absolute;
		right: 5px;
		top: 0;
		font-size: 30px;		
		width: 60px;
		height: 50px;
		line-height: 40px;
		z-index: 99;	
		transform: rotate(0);		
	}
	
	.scrolled  nav ul li.menu-item-has-children .sub-menu span.icon {
		line-height: 42px;
	}
}
/* Nav Mobile */
@media only screen and (max-width: 1023px) {    
     .navtoggle {
        display: inline-block;
     }
                
     .main-nav nav ul {
        display: none;
        margin-top: 61px;
        background: #fff;
        z-index:10;
        position: relative;
		border-top: 1px solid #ccc;
    }
    
    .main-nav ul.menu > li {
        display: block;
        border-bottom: 1px solid #ccc;
    }
    
    .main-nav nav ul li  ul {
        margin-top: 0;
    }
    
    .main-nav nav{
        position: absolute;
        top: 0;
		right: 0;
    }
	
	nav ul.menu > li > a {
		color: #000;
	}
	
	nav ul.menu > li:hover > a,
	nav ul.menu > li.active > a,
	nav ul.menu > li:focus > a,
	nav ul.menu > li.current-menu-item > a,
	nav ul.menu > li.current-menu-parent > a {
		color: #000;
	}
	
	nav ul.menu > li.menu-item-has-children > span.icon {
		color:#000;
	}

	nav ul > li:focus > span.icon {
		color: #000;
	}
            
    .main-nav nav > ul > li:first-child {
        border-width: 1px 1px 0 1px;
    }
    
    .main-nav nav ul li ul {
        position: static;
        position: initial;
        background: #f3f3f3;
        border: 0;
    }
    
     .main-nav nav ul li.active ul {
        display: block;
    }
    
     .main-nav nav ul li ul li ul {
        position: static;
        position: initial;
        background: rgb(230,230,230);
    }
    
     .main-nav nav ul li ul li a{
        padding-left: 20px;
    }
    
     .main-nav nav ul li ul li ul li a{
        padding-left: 30px;
    }

	.main-nav nav ul.menu li a{		
		width: 300px;
	}
	
	nav ul li.menu-item-has-children span.icon {
		position: absolute;
		right: 5px;
		top: 0;
		font-size: 30px;		
		width: 60px;
		height: 50px;
		line-height: 40px;
		z-index: 99;	
		transform: rotate(0);		
	}
	
	nav ul li.menu-item-has-children .sub-menu span.icon {
		line-height: 42px;
	}
}

/* Schnellkontakt Startseite */
.fastcontact  {
	text-align: center;
}

.fastcontact p {
	font-size: 13px;
}

.fastcontact h2 {   
    font-size: 28px;
    line-height: 52px;
	margin: 15px 0 10px;
	padding: 0;
	font-weight: normal;
}

.fastcontact p {
	margin: 0 0 10px 0;
	padding: 0;
}

.fastcontact .btn-con {
	background: #04367d;
	border-radius: 5px;
	color: #fff;
	margin-bottom: 0px;
}

.fastcontact .btn-con > * {
	display: block;
    line-height: 22px;
    font-weight: normal;
    outline: none;
    padding: 9px 20px;
	color: #fff;
}

.fastcontact a {
	color: #fff;
    	white-space: nowrap;
}

/* FOOTER */
.map {
	position: relative;
	overflow: hidden;
	height: 480px;
}

.map iframe, .two-columned ~ p iframe, aside iframe {
	line-height: 0;
	margin: 0;
	webkit-filter: grayscale(100%);
	filter: grayscale(100%);
	filter: gray;
}

.map-box {
	width: 100%;
	position: absolute;
	bottom: 70px;
}

.map-box .box {
	width: 300px;
	background: #3fa535;
	color: #fff;
	padding: 20px 20px 0 20px;
	font-size: 22px;
	line-height: 1.2em;
}

.map-box .box  .btn {
	display: block;
	background: #399430;
	height: 40px;
	line-height: 40px;
	margin: 20px -20px 0;
}

.map-box .box  .btn:after {
	content: '';
	clear: both;
	display: table;
}

.map-box .box  .btn .txt {
	color:#fff;
	display: inline-block;
	padding: 0 0 0 20px;
}

.map-box .box  .btn .fa {
	color:#fff;
	background: #33852b;
	float: right;
	width: 40px;
	height: 40px;
}

.map-box .box  .btn .fa:before {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	font-size: 24px;
}

@media only screen and (max-width: 767px) {
	.map-box .box {
		font-size: 18px;
	}
}

.locations {
	background: #fff;
	padding: 30px 0;
    border-top: 4px solid #f1f1f1;
}

.locations img{
	display: inline-block;
	vertical-align: middle;
	margin-bottom: 20px;
}

.locations .address {
	text-align: left;
	margin-bottom: 0;
	color: #1f1f1f;
}

.locations .address a[href^="tel"] {
	text-decoration: none;
}

.locations h3 {
	color: #333;
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 0;
	line-height: 1.3em;
	word-break:break-word;
}

.locations h3 span {
	display: block;
	font-weight: 600;
	color: #2c2c2c;
}

.location span {
	margin-bottom: 5px;
	display: block;
}

.location span:empty {
	height: 0;
	display: inline-block;
	line-height: 0;
}

.footerline {
	background: #2c2c2c;
    color: #fff;
    line-height: 18px;
	text-align: left;
	padding: 18px 0 16px;
	text-align: center;
}

.copyright {
	font-size: 12px;
	display: block;
}

.meta {
	font-size: 0;
	text-align: right;
	padding-top: 40px;
}

.meta a {
	font-size: 16px;
    color: #399430;
	text-decoration: underline!important;
}

.meta a:hover {
	text-decoration: none!important;
}

.meta ul li {
	display: block;
	margin: 0 0 5px 0;
}

.meta ul li:first-child {
	padding-left: 0;
}

/*.meta ul li:after {
	content: '/';
	display: inline-block;
	padding: 0 3px;
}*/

.meta ul li:last-child:after {
	display: none;
}

.totop {
	font-size: 30px;
	text-decoration: none;
	color: #2c2c2c;
}

.totop:after {
	content: '';
	background: #fff;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	position: absolute;
	z-index: -1;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}

.totop:hover {
	text-decoration: none;
}

@media only screen and (max-width: 640px) {
	.copyright{
		text-align: center;
	}
	
	.meta {
		text-align: left;
		margin: 20px 0 0 0;
	}
	
	.copyright {
		margin-top: 5px;
	}
	
	.locations .address {
		/*text-align: center;*/
	}
	
}

footer .finalcredits {		
	text-align: center;	
	background: #ddd;
}

footer .finalcredits p, 
footer .finalcredits a {	
	color: #2c2c2c;
	font-size: 	11px;
	padding:10px 0;
}

footer .finalcredits a,
footer .meta a {
	text-decoration:none;
}

footer .finalcredits a:hover,
footer .meta a:hover {
	text-decoration:underline;
}

/* Unterseite Kategorie */
.rechtsgebiet-tile {
	display: block;
	margin: 0 0 20px;
	position: relative;
}
@media only screen and (max-width: 640px) {
	.rechtsgebiet-tile {
		margin: 10px 0 10px;
	}
}

.rechtsgebiet-tile h2 {
	position: absolute;  
	bottom: 0;   
	display: block;    
	width: 100%;    
	padding: 10px;
    background: #399430;
    color: white;
    text-transform: uppercase;
    font-weight: 700;
	font-size: 20px;
	text-align: center;
}

.rechtsgebiet-tile img {
	min-height: 240px;
	object-fit: cover;
	width: 100%;
}

@media only screen and (max-width: 1024px) {
	.rechtsgebiet-tile img {
		min-height: 200px;
	}
}

@media only screen and (max-width: 768px) {
	.rechtsgebiet-tile img {
		min-height: 150px;
	}
}

.rechtsgebiet .image {
	background-repeat: no-repeat !important;
	background-size: cover !important;
    border-radius: 5px;
    height: 200px;
}

.rechtsgebiet .image_arbeitnehmer {
	background: url(images/platzhalter_kategorie_arbeitnehmer.jpg);
}

.rechtsgebiet .image_arbeitgeber {
	background: url(images/platzhalter_kategorie_arbeitgeber.jpg);
}

.rechtsgebiet .image_betriebsrat {
	background: url(images/platzhalter_kategorie_betriebsrat.jpg);
}

.rechtsgebiet .image_fuehrungskraefte {
	background: url(images/platzhalter_kategorie_fuehrungskraefte.jpg);
}

.rechtsgebiet .image span {
    background: rgba(255, 255, 255, 0.7);
    line-height: 38px;
    position: absolute;
    text-decoration: none;
    top: 150px;
    width: 100%;
	padding: 0 5px;
	font-size: 20px;
}

/* Vorteilsbox */
.benefits {
	
	padding-bottom: 20px;
}

.benefits ul li {
	display: block;
	background: url(images/benefits_arrow_new.png) no-repeat left top 5px;
	padding: 0 0 0 20px;	
}

.benefits h3 {
	
}

/* Kontaktbox */
.contact {
	
	color: #000;
}

.contact p {
	padding-bottom:0;
}

.main .contact {
	background: none;
	color: #fafcfe;
	border: none;
	padding: 0;
}

.main .contact label {
	font-size: 16px;
}

main .contact label {	
	color: #5A5C5E;
}

.main .contact input,.main .contact textarea {
    border: 1px solid  rgb(222,222,222);
}

.main .contact input[type=submit] {
	max-width: 200px;
}

.main .contact .ajax-loader,
div.wpcf7 img.ajax-loader,
div.wpcf7 .ajax-loader {
	display: none;
}

.contact .info_teaser {
	text-transform: uppercase;
	display: block;
	margin: 0 0 10px 0;
}

.contact h3 {
	/*color:#fafcfe;*/	
}

.contact .info_ssl {
	font-size: 12px;
	display: block;
	margin: 10px 0;
	background: url(images/ssl.png) no-repeat left center;
	padding-left: 20px;
	color: #fafcfe;
	display: none;
}

.contact label {
	display: block;
	line-height: 30px;
	font-size: 13px;
	/*color: #fafcfe;*/
}

.contact input, 
.contact textarea {
	width: 100%;
	display: block;
	border-radius: 0;
	border: 0;
	line-height: 30px;
	height: 30px;
	color: #000;
	padding: 0 10px;
	border: 1px solid #ccc;
}

.contact textarea {
	height: 120px;
	line-height: 1.5em;
}

.contact input[type=submit] {
	font-weight: 500;
	color: #fff;
	margin-top: 10px;
	line-height: 38px;
	height: 40px;
	background-color: #2c2c2c;
}

.contact input[type="submit"]:hover {    
    border-color: #ccc;
}

.contact label.captcha {
	display: inline-block;
	width: 75%;
	line-height: 1em;
}

.contact input.captcha {
	display: inline-block;
	width: 23%;
	margin: 10px 0;
}

/* Unterseite Detailseite */
.main img {
	border-radius: 5px;
	margin: 0 0 20px 0;
}

/* Unterseite Magazin */
.categories {
    /*border: 1px solid #d0d0d0;*/
    /*border-radius: 5px;*/
    /*padding: 10px;*/
	margin-bottom: 20px;
	line-height: 24px;
}
.categories ul li {
	line-height: 1.2em;
	padding-left: 10px;
}
.categories a {
	color: #3fa535;
	text-decoration: none;
}

.categories a:hover{
	color: #000;
}

.main article span {
	font-size: 13px;
	padding: 0 0 10px 0;
	display: block;
}

.main article p{
	font-size: 14px;
}

.main .site-main article {
	font-size: 14px;
}

.categories ul li ul {
	padding-left: 10px;
}

/* Unterseite Magazin Einzel */
.contactbox {
	/*background: #f6f6f6; */
    /* border: 1px solid #d0d0d0; */
    /*border-radius: 5px;*/
    /*padding: 10px;*/
	color: #000;
}

.contactbox .person img {
	/*float: left;*/
	float: right;
	max-height: 100px;
	width: auto;
	/*border-radius: 5px;*/
	margin: 2px 10px 10px 0;
}

.clear:after {
	content: '';
	clear: both;
	display: table;
}

.contactbox span {
	display: block;
	margin: 10px 0 0 0;
	font-size: 13px;
}

.main .entry-header {
	/*background-color: #fff;*/
}

.main article.post {
	background: #fff;
	margin-bottom: 30px;
	padding: 10px 0;
}

.main article.post:first-child {
	padding-top: 0;
}

.main article.singlearticles {
	background: #f7f7f7;
	padding: 15px 10px 0;
}

.main article.singlearticles:first-of-type {
	/*margin-top: 15px;*/
	margin-top: 0;
}

.main article.post .entry-header h2 {
	font-weight: 400;
}
.main article.post .entry-header h2 a {
	text-decoration: none;
	color: #333;
}

.main article.post .entry-header h2 a:hover {
	color: #373737;
}

.main main > hr:first-child {
	display: none;
}

.main article.post + hr {
	display: none;
}

.main article h1 {
	font-size: 24px;
}

.main article figure.articleinfos-image {
	margin: 0  auto 20px;
	
	display: none;
}
.main article figure.articleinfos-image img:nth-child(2) {
	display: none;
}display: none;
}

.main article .articleinfos {
    border: 1px solid #d0d0d0;
    /*border-radius: 5px;*/
    padding: 10px;
	margin-bottom: 20px;
}

.main article .articleinfos span {
	padding: 0;
}

.main article .articleinfos span.author {
	padding: 5px 0 20px 0;
}

.main article .articleinfos figure {
	float: left;
	margin: 3px 5px 5px 5px;
}

.main article .articleinfos figure img {
	max-height: 107px;
	margin: 0 20px 5px 0;
}

.main article .articleinfos figure figcaption{
	text-align: center;
	font-size: 11px;
	max-width: 75%;
}

/* RELATED */
.main article.related_item   {
	border-bottom: 1px solid rgb(232,232,232);
	margin: 5px;
}

.main article.related_item  img {
	float: left;
	height: 50px;
	margin: 0 10px 0 0;
}

.main header {
	margin: 0;
}

.main td {
	padding: 8px 25px 8px 0
}

/* Unterseite Rechtsgebiete Übersicht */
.einzelrechtsgebiet {
    margin-bottom: 30px;	
}

.einzelrechtsgebiet h2 {
	padding: 0 0 5px 0;
	font-size: 20px;
}
@media only screen and (max-width: 320px) {
	.einzelrechtsgebiet h2 {
		font-size: 16px;
	}
}

.einzelrechtsgebiet h2 a {
	color: #333;
	text-decoration: none;
}
.einzelrechtsgebiet h2 a:hover {
	color: #373737;
}
	

.familienrecht img, .arbeitsrecht img, .einzelrechtsgebiet img {
	float: left;
	margin: 0 20px 30px 0;
}

.einzelrechtsgebiet img.a {
	display: inline-block;
	width: 100px;
	height: 100px;
	background-position: center center;
	background-size: cover;	
}

.familienrecht span, .arbeitsrecht span, .einzelrechtsgebiet span {
	font-size: 13px;
}

/* SOCIAL ICON FONT */
.social {
  margin: 30px 0 0 10px;
  text-align: right;
}

.smGlobalBtn{ /* global button class */
    display: inline-block;
    position: relative;
    cursor: pointer;
    width: 30px;
    height: 30px;
    padding: 0px;
    text-decoration: none;
    text-align: center;
    color: #fff;
    font-size: 15px;
    font-weight: normal;
    line-height: 2em;
    border-radius: 15px;
    -moz-border-radius:15px;
    -webkit-border-radius:15px;
	margin: 0 0 0 5px;
}

.smGlobalBtn:hover {
	background: rgb(232, 232, 232);
	color: rgb(19, 21, 46);
}

/* facebook button class*/
.facebookBtn{
    background: #4060A5;
}

.facebookBtn:before{ 
    font-family: "FontAwesome";
    content: "\f09a"; 
}


/* twitter button class*/
.twitterBtn{
    background: #00ABE3;
}

.twitterBtn:before{
      font-family: "FontAwesome";
      content: "\f099"; 
}

/* google plus button class*/
.googleplusBtn{
    background: #e64522;
}

.googleplusBtn:before{
      font-family: "FontAwesome";
      content: "\f0d5"; 
}

/* widgetarea */
.widget-area aside {
	margin: 0;
	padding: 20px 0 0;
	border-top: 2px solid #eee;
}

.widget-area aside:last-child {
	padding-bottom: 5px;
}


.widget-area aside:first-child {
	padding-top: 0;
	border-top:0;
}

.widget-area .area + .area {
	margin-top: 30px;
}

/* language */
.choose_language {
	text-align: right;
}

.choose_language a {
	margin: 0;
	padding: 0;
}

.choose_language li {
	display: inline-block;
}

.choose_language img{
	display: inline-block;
	border-radius: 5px;
    height: 21px;
    margin: 0 0 3px 5px;
}

/* recent posts */
.tw-recent-posts hr {
	display: none;
}
.tw-recent-posts .featured-post {
	position: relative;
	background: #f1f1f1; 
	margin: 0 10px 20px!important;
	font-size: 18px;
	padding: 0 0 20px 0;
	display: inline-block;
}

.tw-recent-posts .featured-post:not(.slick-slide) {
	max-width: calc(33.33% - 20px);
	margin: 0 20px 20px 0!important;
}

.tw-recent-posts .featured-post:after {
	content: '';
	display: table;
	clear: both;
}

.tw-recent-posts .featured-post .cat {
	display: inline-block;
	padding: 0 10px;
	line-height: 30px;
	color: #fff;
	font-weight: 500;
	background: #399430;
}

.tw-recent-posts .featured-post .cat a{
	color: #fff;
	text-decoration: none;
}

.tw-recent-posts .featured-post .cat ul, .tw-recent-posts .featured-post .cat ul li {
	list-style: none;
	margin: 0;
	padding: 0;
}

.tw-recent-posts .featured-post h4  {
	font-size: 18px !important;
	color: #2c2c2c;
    font-weight: 500;
    padding: 0 20px !important;
	margin: 15px  0 0 0 !important; 
	line-height: 1.5em;
}

.tw-recent-posts .featured-post .excerpt {
	padding: 0 20px;
}

.tw-recent-posts .featured-post .excerpt a {
	color: #399430;
	text-decoration: none;
	font-weight: 500;
	float: right;
	display: inline-block;
	margin: 20px 0 0;
}

.slick-slider {
	margin: 0 -15px;
}

.tw-recent-posts .fa {
	font-size: 30px;
	font-weight: 500;
	position: absolute;
	background: #399430;
	height: 80px;
	width: 35px;
	color: #fff;
	top: 50%;
	transform: translateY(-50%);
	cursor: pointer;
}

.tw-recent-posts .fa:before {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

.tw-recent-posts .fa.fa-angle-left {
	left: -25px;
}

.tw-recent-posts .fa.fa-angle-right {
	right: -25px;
}

@media only screen and (max-width: 1280px) {
	.featured-posts.slick-slider {
		padding: 0 20px;
	}
	
	.tw-recent-posts .fa.fa-angle-left {
		left: -5px;
	}

	.tw-recent-posts .fa.fa-angle-right {
		right: -5px;
	}
}

@media only screen and (max-width: 767px) {
	.featured-posts.slick-slider {
		padding: 0 10px;
	}
	
	.tw-recent-posts .fa {
		width: 20px;
		font-size: 20px;
		height: 50px;
	}
	
	.tw-recent-posts .fa.fa-angle-left {
		left: 0;
	}

	.tw-recent-posts .fa.fa-angle-right {
		right: 0;
	}
}

/* Anwälte */
.img-list {
	color: #fff;
	font-size: 20px;
}

.img-list .item {
	display: inline-block;
	margin: 0 20px 20px 0;
	position: relative;
}

.img-list .item a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.img-list .item img {
	margin: 0;
}

.img-list .item p {
	background: #3fa535;
	display: inline-block;
	width: 90%;
	float: right;
	padding: 0;
	line-height: 30px;
	margin: -15px 0 0 0;
	position: relative;
	z-index: 1;
	
}

.img-list .item p a {
	position: relative;
	color:#fff;
	text-decoration: none;
	display: inline-block;
	width: 100%;
	padding: 0 10px;	
}

/* Related Posts */
.main .wp_rp_wrap .related_post_title {
	margin-bottom: 20px!important;
}

.main ul.related_post li {
	float: left;
	width: calc(50% - 10px);
	margin: 0 10px 20px 0!important;
	position: relative!important;
	border: 0!important;
	padding: 0!important;
}

.main  ul.related_post li:nth-child(2n) {
	margin: 0 0 20px 10px!important;
}

.main  ul.related_post li a.wp_rp_thumbnail,
.main  ul.related_post li img  {
	width: 100%!important;
	height: auto!important;
	margin: 0!important;
}

.main .wp_rp_title {
	position: absolute!important;
	width: 100%;
	left: 0;
	bottom: 0;
	padding: 10px;
	background: rgba(0,0,0,0.7);
	color: #fff!important;
	font-weight: 700;
	min-height: 60px;
}

@media only screen and (max-width: 640px) {
	.main ul.related_post li {
		width: 100%!important;
		margin: 0 0 20px 0!important;
	}
}

/* Media Queries */
@media only screen and (max-width: 64em) {
	/* HEADER */
	header.top-header .telephone-box {
		padding: 0 0 0 0;
	}	

	.content aside .news h4 a {
		font-size:17px;
	}
	
	/* CONTENT */
	.content {
		/*margin: 125px 0 40px 0;*/
	}
	
	.content .main {
		margin: 0 0 40px 0;
	}	
	
}

@media only screen and (max-width: 40em) {	
	/* HEADER */
	header.top-header {
		margin: 0;			
	}
	
	header .telephone-box {
		padding: 0!important;
		text-align: center;
		display: block!important;
		float: none!important;
		
	}
	
	header .telephone-box {
		padding: 0 0 0 0;		
		font-weight: 300;
		display: table;
		font-size: 16px;
		margin:7px auto;
	}
	
	header .telephone-box span {
		display: inline-block;
	}
	
	header .telephone-box .label::after {
		content: ":";
	}
	
	header .telephone-box .number {

	}
	
	header .telephone-box  .sub {
		display: none;
	}
	
	/* CONTENT */
	.content {
		margin: 80px 0 40px 0;
	}
	
	.content .main {
		margin: 20px 0 40px 0;
	}
	
	.content .breadcrumb {
		padding-left: 0.8em;
	}
	
	
	/*FOOTER */
	footer nav {
		text-align: left;
	}
	
	footer .social {
		text-align: left;
	}
}
@media only screen and (max-width: 375px) {
	header .telephone-box {
		font-size: 14px;
		white-space: nowrap;
	}
	
	header .main-nav {
		/*top: 35px;*/
		height: 72px;
	}
	
	.fa.fa-navicon, 
	.fa.fa-close {
		font-size: 26px;
		width: 44px;
		height: 44px;
		line-height: 44px;
	}
	
	.content {
		margin-top: 72px;
	}
	
	.main-nav nav ul {
		margin-top: 42px;
	}

}

/*-- Related --*/
.wp_rp_wrap .related_post_title {
    background: none !important;
    padding: 3px 0 5px 0px !important;   
    border: none !important; 
}

ul.related_post li {    
    padding: 0px 0 10px 0 !important;    
	margin: 15px 0 !important;
}


/* TINYMCE */
/* DFW mode */
html.wp-fullscreen,
html.wp-fullscreen body#tinymce {
	width: auto;
	max-width: none;
	min-height: 0;
	overflow: hidden;
	color: #333;
	background: transparent;
}

.aligncenter,
dl.aligncenter,
.html5-captions .wp-caption.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.alignleft {
	/* float: left; */
}

.main img.alignleft {
	margin-right: 15px;
}

.main img.size-full {
	width:100%;
}

.aligncenter {
	display: inline-block;
}

.alignright {
	float: right;
}

.main img.alignright {
 margin-left: 15px;
}

.wp-caption {
	border: 1px solid #ddd;
	text-align: center;
	background-color: #f3f3f3;
	padding-top: 4px;
	margin: 10px 0;
}

.html5-captions .wp-caption {
	border: none;
	background-color: transparent;
	margin: 0;
	padding: 0;
}

.mceIEcenter {
	text-align: center;
}

.wp-caption img {
	margin: 0;
	padding: 0;
	border: 0 none;
}

div.mceTemp {
	-ms-user-select: element;
}

dl.wp-caption,
dl.wp-caption * {
	-webkit-user-drag: none;
}

.wp-caption-dd {
	font-size: 11px;
	line-height: 17px;
	padding: 0 4px 5px;
	margin: 0;
}

/* bewertungen */
#kdeWidgetHeader br {
	display: none;
}

/* tracking */
#telefontracking_header, #telefontracking_footer {
	display: inline-block;
}

@media only screen and (max-width: 40em)
{
     nav ul {        
        margin-top: 50px;    
    }  
	
	header .logo img {
		max-width: 220px;
		height: auto;
	}
		
	#fast-contact .phone{
		font-size: 20px;		
		display:block;
		padding: 8px 0 1px 0;
	}

	#fast-contact .contact-form{				
		display:block;
		padding: 2px 0 12px 0;
	}
	
	.content .breadcrumb {
		margin: 10px 0;
		font-size: 14px;
	}	
	.content .main {
		margin: 10px 0 20px 0;
	}
	
	.content nav ul {		
		margin-top: 50px;	
	}
		
	.main img.alignleft {
		float:none;
	}	
	    
}


.video-block {position: relative; padding-bottom: 56.25%; /* ratio 16x9 */ 
    height: 0; overflow: hidden; width: 100%; height: auto; margin-bottom: 20px;} 

.video-block iframe {position: absolute; top: 0; left: 0; width: 100%; height: 100%;} 


/* share / shariff */
.main article .share span {
	display: inline-block;
}

.main article .share .shariff {
	margin-left: -5px;
}

.main article .share .shariff {
	margin-bottom: 10px;
}

.main article .share .shariff li {
	margin-top: 0!important;
}

@media only screen and (min-width: 768px) {
	.shariff .orientation-horizontal.buttonsize-small li {
		width: 99px!important;
	}
}

/* Search */
.widget_search {
	height: 39px;
	/*margin-top: 15px!important;*/
}

.widget_search form {
	position: relative;
}

.widget-area .widget_search + aside {
	border-top: 0;
}

.widget-area .search-form label span {
	display: none;
}

.widget-area .search-form label {
	display: block;
	position: relative;
}

.widget-area .search-form input[type="search"] {
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 2.4375rem;
    padding: 0 10px;
	padding-right: 25px;
    border: 1px solid #dbd9da;
    margin: 0 0 20px;
    font-family: inherit;
    font-size: 12px;
    color: #0a0a0a;
    background-color: #fefefe;
    /*box-shadow: inset 0 1px 2px rgba(10,10,10,0.1);*/
    border-radius: 0;
    /*transition: box-shadow 0.5s,border-color 0.25s ease-in-out;*/
    -webkit-appearance: none;
    -moz-appearance: none;
}

.widget-area .search-form input[type="search"]:focus {
    border: 1px solid #4e5359;
    background-color: #fefefe;
    outline: none;
    /*box-shadow: 0 0 5px #dbd9da;
    transition: box-shadow 0.5s,border-color 0.25s ease-in-out;*/
}

.widget-area .search-form .search-submit {
	display: none;
}

.widget-area .search-form .search-button {
    position: absolute;
    top: 0.5em;
    right: 20px;
    color: #373737;
	background: none;
	border: 0;
	outline: none;
}

.widget-area .search-form .search-button .fa {
	font-size: 20px;
    line-height: 20px;
}


@media only screen and (min-width: 768px) {
	.totop {
		position: fixed;
		right: 50px;
		bottom: 5px;
	}
}

@media only screen and (max-width: 767px) {
	.scrolled .totop {
		position: fixed;
		right: 15px;
		bottom: 15px;
		z-index: 10;
	}	
	
	/*.scrolled .totop:after {
		content: '';
		border-radius: 50%;
		background: #fff;
		width: 24px;
		height: 25px;
		position: absolute;
		top: 2px;
		left: 1px;
		z-index: -1;		
	}*/
}


/*  ### Contentelemte ### */
.site-main {
	line-height: 1.5em;
}
.ce {
	border-color: #04aa34!important; /* ANPASSEN */
    padding: 15px;
	position: relative;
	margin: 10px 0 20px;
}

h2 + .ce {
    margin-top: 5px;
}
 
ul + .ce,
ol + .ce {
	margin-top: 40px;
}

.ce:before,
.download-text:before {
	color: #04aa34; /* ANPASSEN */
    font-weight: bold;
	text-transform: uppercase;
}

.ce:after {
	color: #04aa34; /* ANPASSEN */
    display: inline-block;
    font-family: FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transform: translate(0, 0);
	position: absolute;
	left: 25px;
	top: -10px;
	font-size: 34px;
}

.ce > *:last-child {
	margin-bottom: 0!important;
	padding-bottom: 0!important;
}

.der-fall, 
.downloads, 
.rechenbeispiel, 
.tipp, 
.ausrufezeichen, 
.paragraph,
.calendar {	
	background: #F2F0F1; 
	padding: 35px 25px 30px; 
	margin: 20px 0 30px;
	border-bottom: 1px solid #04aa34; /* ANPASSEN */
}

li .der-fall, 
li .downloads, 
li .rechenbeispiel, 
li .tipp, 
li .ausrufezeichen, 
li .paragraph,
li .calendar {
	margin-top: 30px;
}

ul.hl {
	border-color: #04aa34!important; /* ANPASSEN */
	border-left: 5px solid;
	padding-left: 20px;
}


.index {
    border: 1px dashed;
    margin-bottom: 20px;
}

.fazit {
    border: 1px solid;
    margin-bottom: 20px;
}

p + .fazit {
	margin-top: 0;
}

.zitat {
	padding-left: 0;
}
.zitat:before {
	content: "\f10e";
	position: static;
    font-family: FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transform: translate(0, 0);
	color: #ccc;
	margin: 0 10px 0 0;
	font-size: 26px;
}

.paragraph:after {
	content: "\f111";
}

.paragraph:before {
	content: '§';
    font-family: Arial, sans-serif;
    position: absolute;
    left: 34px;
    top: -12px;
    z-index: 2;
    color: #fff;
    font-size: 20px;
}

.ausrufezeichen:after {
	content: "\f06a";
}

.tipp.hl:before {
	content: 'TIPP: ';
}
.tipp:after {
	content: "\f05a";
}

.rechenbeispiel.hl:before {
	content: 'Rechenbeispiel: ';
}
.rechenbeispiel:after {
	content: "\f1ec";
}

.der-fall.hl:before {
	content: 'Der Fall: ';
}
.der-fall:after {
	content: "\f24e";
}

.der-fall:after {
	content: "\f24e";
}
.calendar:after {
	content: "\f073";
}

.download-text {
	float: left; 
	width: 88%;
}
.download-icons {
	float: left;
	width: 12%;
	font-size: 34px;
    position: relative;
    top: -10px;
	text-align: right;
}
.download-icons br {
	display: none;
}
.-icons a {
	color: #000;
}
.download-text.hl:before {
	content: 'Download: ';
}
.downloads:after {
	content: "\f0ed";
}


/* Zweispaltigkeit */
.thead {
	background: #f1f1f1;
	text-align: left;
	font-weight: bold;
}

.opnv .tentry {
	border-bottom: 1px solid #eee;
}

.thead > div,
.tentry > div, 
.two-columned > div {
	float: left;
	width: 50%;
	padding: 5px;
}

.two-columned {
	margin: 0 0 20px 0;
}

.two-columned > div {
	padding: 0 10px 0 0;;
}

.two-columned > div + div {
	padding: 0;
}

.thead:after,
.tentry:after, 
.two-columned:after {
	content: '';
	display: table;
	clear: both;
}
@media only screen and (max-width: 991px) {
	.two-columned > div {
		float: none;
		width: 100%;
		padding:0;
	}
}

/* fix error message formular */
.wpcf7-not-valid-tip {
	margin-top: 5px;
	line-height:1em;
	font-size:0.8em;
}

.wpcf7 form .wpcf7-response-output {
	margin-top: 0;
}

/* Styling für Beitragsbilder */
.articleinfos-image img {
    width: 100%;
    height: auto;
    object-fit: cover; /* Stellt sicher, dass das Bild nicht verzerrt wird */
}

/* Allgemeines Styling für Vorschau-Bilder */
.post-thumbnail img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* Beitragsbilder anpassen */
.articleinfos-image img {
    width: 100%;           /* Volle Breite des Containers */
    height: auto;          /* Automatische Höhe, um Verzerrung zu vermeiden */
    object-fit: cover;     /* Bild proportional beschneiden */
    image-rendering: auto; /* Bessere Bildqualität erzwingen */
}

/* Vorschau-Bilder */
.post-thumbnail img {
    width: 100%;           /* Volle Breite des Containers */
    height: auto;          /* Automatische Höhe */
    object-fit: cover;     /* Proportionen beibehalten */
    image-rendering: auto; /* Bildqualität verbessern */
}

.main ul.related_post li img {
    width: 100% !important;      /* Volle Breite des Containers */
    height: auto !important;     /* Höhe proportional zur Breite */
    object-fit: cover !important; /* Bild wird proportional skaliert, ohne verzerrt zu werden */
    image-rendering: optimizeQuality !important; /* Höchstmögliche Bildqualität */
}
