@charset "utf-8";
/* 

Theme Name: Traub Lippert Rethmann
Theme URI: http://fachanwaelte-hh.de 
Description: Wordpress-Theme for the website of fachanwaelte-hh.de
Version: 1.2.0
Author: Jost Hannemann

Author URI: http://josthannemann.de

WordPress Theme */ 

/* -------------------------------- Google Fonts ------------------------------- */
/* roboto-100 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 100;
  src: local(''),
       url('_fonts/roboto/roboto-v30-latin-100.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('_fonts/roboto/roboto-v30-latin-100.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-100italic - latin */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 100;
  src: local(''),
       url('_fonts/roboto/roboto-v30-latin-100italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('_fonts/roboto/roboto-v30-latin-100italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-300 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  src: local(''),
       url('_fonts/roboto/roboto-v30-latin-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('_fonts/roboto/roboto-v30-latin-300.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-300italic - latin */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 300;
  src: local(''),
       url('_fonts/roboto/roboto-v30-latin-300italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('_fonts/roboto/roboto-v30-latin-300italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-regular - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: local(''),
       url('_fonts/roboto/roboto-v30-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('_fonts/roboto/roboto-v30-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-italic - latin */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 400;
  src: local(''),
       url('_fonts/roboto/roboto-v30-latin-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('_fonts/roboto/roboto-v30-latin-italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-500 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  src: local(''),
       url('_fonts/roboto/roboto-v30-latin-500.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('_fonts/roboto/roboto-v30-latin-500.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-500italic - latin */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 500;
  src: local(''),
       url('_fonts/roboto/roboto-v30-latin-500italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('_fonts/roboto/roboto-v30-latin-500italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-700 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: local(''),
       url('_fonts/roboto/roboto-v30-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('_fonts/roboto/roboto-v30-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-700italic - latin */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 700;
  src: local(''),
       url('_fonts/roboto/roboto-v30-latin-700italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('_fonts/roboto/roboto-v30-latin-700italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* -------------------------------- Website ------------------------------- */
::-moz-selection {
	background: #3f7021;
	text-shadow: none;
	color: #fff
}
::selection {
	background: #3f7021;
	text-shadow: none;
	color: #fff
}
hr {
	display: block;
	padding: 0
}
img {
	max-width: 100%;
	height: auto
}
textarea {
	resize: vertical
}
.chromeframe {
	margin: .2em 0;
	background: #ccc;
	color: #000;
	padding: .2em 0
}
abbr, applet, blockquote, body, caption, code, dd, del, dfn, div, dl, dt, fieldset, font, form, h1, h2, h3, h4, h5, h6, html, iframe, img, ins, label, legend, li, object, ol, p, pre, small, span, strong, table, tbody, td, tfoot, th, thead, tr, tt, ul, var {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	vertical-align: baseline
}
ul {
	list-style: none
}
caption, td, th {
	text-align: left
}
body, html {
	position: relative;
	margin: 0;
	padding: 0;
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
	line-height: 150%;
	font-weight: 400;
	color: #444;
	background-color: #fff;
	text-align: center
}
strong {
	color: #555
	}
ol, p, ul {
	margin-bottom: 20px
}
p {
	font-family: 'Roboto', sans-serif;
	font-size: 1.075rem;
	line-height: 160%;
	font-weight: 300;
	text-transform: none;
	color: #444
}
p:empty { display:none; }
.small {
	width: .9em
}
li {
	line-height: 100%
}
.hr, hr {
	border: none;
	height: 1px;
	margin: 30px 0;
	background-color: #ccc;
	color: #fff
}
label {
	font-weight: 400;
	color: #333365
}
fieldset {
	padding: 15px;
	margin: 0 0 20px;
	border: 1px dotted #ccc
}
legend {
	font-weight: 700;
}
input.text, input[type=password], input[type=text], textarea {
	margin: 3px 0;
	padding: 6px;
	background-color: #fff;
	border: 0
}
select {
	margin: 5px 0;
	background-color: #fff;
	border: 1px solid #999;
	padding: 7px 8px
}
input.text:focus, input[type=password]:focus, input[type=text]:focus, textarea:focus {
	border-color: #eee
}
input.text {
	width: 300px;
	padding: 5px
}
textarea {
	width: 300px;
	height: 150px;
	padding: 4px;
	border: 0
}
table {
	border-collapse: separate;
	border-spacing: 0;
	margin-bottom: 12px;
	border: 1px dotted #ccc
}
th {
	padding: 10px;
	text-transform: uppercase;
	font-weight: 400
}
td {
	padding: 10px;
	border-top: 1px dotted #ccc
}
.centerH {
	position: relative;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%)
}
blockquote {
	min-height: 45px;
	padding: 0 0 0 70px;
	background: url(template/quote.png) top left no-repeat;
	color: #fff
}
blockquote p {
	border-right: 5px solid #fff;
	padding-right: 10px;
	font-style: italic
}
blockquote span {
	color: #fff
}
.menu {
	position: fixed;
	top: 205px;
	left: 0;
	width: 15%;
	height: auto;
	border-bottom: 5px solid #3f7021;
	background-color: #fff;
	text-align: left;
	z-index: 10;
	-webkit-transition: all 800ms ease;
	-moz-transition: all 800ms ease;
	-o-transition: all 800ms ease;
	transition: all 800ms ease;
}
.menu ul {
	margin-left: calc((100% - 190px) / 2 + 4px);
	margin-top: 20px;
	padding-right: 10px;
	list-style-type: none;
	list-style-image: none;
	-webkit-transition: all 800ms ease;
	-moz-transition: all 800ms ease;
	-o-transition: all 800ms ease;
	transition: all 800ms ease;
}
.menu ul li {
	margin: 0;
	padding: 5px 0
}

.menu ul li.menu-item-has-children > a {
	padding-right: 15px;
	background-image: url("template/kleinerpfeil-gruen.svg");
	background-repeat: no-repeat;
	background-position: right center;
	background-size: auto 6px;
}
.menu ul li.menu-item-has-children:hover > a {
	background-image: url("template/kleinerpfeil-grau.svg");
}
.menu ul li a {
	font-family: 'Roboto', sans-serif;
	font-style: normal;
	font-weight: 300;
	font-size: 1.0625rem;
	line-height: 120%;
	text-transform: uppercase;
	color: #444;
	text-decoration: none
}
.menu ul li a:hover {
	font-weight: 300;
	text-decoration: none;
	color: #3f7021
}
.menu ul ul {
	margin: 5px 0 15px 5px;
	display: none
}
.menu ul ul li a {
	font-size: .875rem;
	line-height: 110%;
	font-weight: 300;
	text-transform: none
}
.menu a:focus, .menu li:hover > a {
	color: #666
}
.menu ul li:hover > ul {
	display: block
}
.menu .current-menu-ancestor > a, .menu .current-menu-item > a, .menu .current_page_ancestor > a, .menu .current_page_item > a {
	font-weight: 300;
	color: #3f7021
}
.mobMenuBut {
	display: none;
	position: fixed;
	top: 25px;
	right: 20px;
	width: auto;
	height: 22px;
	cursor: pointer;
	-webkit-transition: all 800ms ease;
	-moz-transition: all 800ms ease;
	-o-transition: all 800ms ease;
	transition: all 800ms ease;
	z-index: 10
}
.mobMenuBut:hover {
	opacity: .6
}
.mobMenu {
	position: fixed;
	box-sizing: border-box;
	top: -2000px;
	right: 0;
	width: 100%;
	height: 100%;
	padding: 0 20px 40px;
	background-color: rgba(255, 255, 255, .9);
	overflow: auto;
	z-index: 1000
}
.mobMenu ul {
	margin: 20px;
	padding: 0;
	text-align: left;
	list-style-type: none;
	list-style-image: none
}
.mobMenu ul li {
	position: relative;
	margin: 0;
	padding: 4px 0
}
.mobMenu ul li a {
	font-family: 'Roboto', sans-serif;
	font-style: normal;
	font-weight: 300;
	font-size: 1.0625rem;
	line-height: 120%;
	text-transform: uppercase;
	color: #444;
	text-decoration: none
}
.mobMenu ul li a:hover {
	font-weight: 500;
	text-decoration: none;
	color: #3f7021
}
.mobMenu ul ul {
	margin: 0 0 0 7px
}
.mobMenu ul ul li a {
	font-size: .875rem;
	line-height: 110%;
	font-weight: 300;
	text-transform: none
}
.mobMenu a:focus, .mobMenu li:hover > a {
	color: #666
}
.mobMenu ul li:hover > ul {
	display: block
}
.mobMenu .current-menu-ancestor > a, .mobMenu .current-menu-item > a, .mobMenu .current_page_ancestor > a, .mobMenu .current_page_item > a {
	color: #3f7021
}
.mobMenu .closeMenu {
	box-sizing: border-box;
	position: absolute;
	top: 20px;
	right: 20px;
	width: auto;
	height: 22px;
	cursor: pointer;
	-webkit-transition: all 200ms ease;
	-moz-transition: all 200ms ease;
	-o-transition: all 200ms ease;
	transition: all 200ms ease;
	z-index: 10
}
.mobMenu .closeMenu:hover {
	opacity: .6
}
.footplaceholder { 
	position: relative;
	height: 70px;
	display: none; 
}
.footMenu {
	position: fixed;
	box-sizing: border-box;
	/*bottom: 26px;
	right: calc((15% - 147px) / 2);*/
	bottom: 0;
	right: 0;
	padding: 2px;
	background-color: #ffffff80;
	z-index: 10
}
.footMenu ul {
	margin: 0;
	list-style: none;
	text-align: right
}
.footMenu ul li {
	position: relative;
	display: inline-block;
	margin: 0 6px;
	line-height: 100%;
	text-align: right
}
.footMenu a {
	font-family: 'Roboto', sans-serif;
	font-style: normal;
	font-weight: 400;
	color: #3f7021;
	font-size: .75rem;
	line-height: 150%;
	text-decoration: none;
	text-transform: uppercase
}
.footMenu .current-menu-ancestor > a, .footMenu .current-menu-item > a, .footMenu .current_page_ancestor > a, .footMenu .current_page_item > a, .footMenu a:hover {
	color: #3f7021;
	font-weight: 400;
	opacity: 0.7;
}
.filtermenu, .shortmenu {
	position: relative;
	margin: 30px 0 30px -10px
}
.filtermenu.mbot0, .shortmenu.mbot0 {
	margin-bottom: 0
}
.filtermenu.mtop0, .shortmenu.mtop0 {
	margin-top: 0
}
.filtermenu .filter_left, .filtermenu .filter_right {
	position: relative;
	float: left;
	width: 70px
}
.filtermenu .filter_right {
	width: calc(100% - 70px)
}

@media screen and (max-width: 1500px) {
	.shortmenu.ra a {
		display: block;
	}
}


.filtermenu span, .shortmenu a, .shortmenu em {
	display: inline-block;
	margin: 0 10px;
	font-family: 'Roboto', sans-serif;
	font-style: normal;
	font-weight: 300;
	font-size: 1.125rem;
	line-height: 160%;
	text-transform: none;
	color: #444;
	text-decoration: none
}
.shortmenu a.rev { color: #3f7021 }
.filtermenu span {
	cursor: pointer
}
.filtermenu span.aktiv, .shortmenu em {
	font-weight: 300
}
.filtermenu span.aktiv, .filtermenu span:hover, .shortmenu a:hover, .shortmenu em {
	color: #3f7021
}
.shortmenu a.rev:hover { color: #444 }
.page {
	position: relative;
	width: 100%;
	min-height: 880px;
	background-attachment: fixed;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover
}
.contBox {
	position: relative;
	box-sizing: border-box;
	left: 16%;
	top: 205px;
	width: 50%;
	height: auto;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: calc((15% - 147px) / 2);
	padding-right: calc((15% - 147px) / 2);
	background-color: rgba(255,255,255,0.8);
	-webkit-transition: all 800ms ease;
	-moz-transition: all 800ms ease;
	-o-transition: all 800ms ease;
	transition: all 800ms ease;
}
.cont {
	padding: 31px 0 37px;
	text-align: left
}
.cont h1 {
	margin: 45px 0 20px;
	font-family: 'Roboto', sans-serif;
	font-size: 1.8rem;
	line-height: 120%;
	font-weight: 100;
	text-transform: none;
	color: #444
}
.cont h1 strong {
	color: #3f7021;
	font-weight: 400
}
.cont h2 {
	margin: 20px 0;
	font-family: 'Roboto', sans-serif;
	font-size: 1.2rem;
	line-height: 133%;
	font-weight: 400;
	text-transform: none;
	color: #555
}
.cont h3 {
	margin: 20px 0;
	font-family: 'Roboto', sans-serif;
	font-style: normal;
	font-weight: 100;
	font-size: 1.9375rem;
	line-height: 133%;
	text-transform: none;
	color: #444
}
.cont h4 {
	margin: 10px 0;
	font-family: 'Roboto', sans-serif;
	font-style: normal;
	font-weight: 100;
	font-size: 1.9375rem;
	line-height: 133%;
	text-transform: none;
	color: #444
}
.cont h5 {
	margin: 5px 0;
	font-family: 'Roboto', sans-serif;
	font-style: normal;
	font-weight: 100;
	font-size: 1.9375rem;
	line-height: 133%;
	text-transform: none;
	color: #444
}
.cont ul {
	margin-left: 0;
	list-style: none;	
}
.cont ol {
	margin-left: 16px;
	list-style-type: decimal;
	list-style-position: outside
}
.cont li {
	margin-bottom: 10px;
	font-family: 'Roboto', sans-serif;
	font-size: 1.075rem;
	line-height: 150%;
	font-weight: 300;
	text-transform: none;
	color: #444
}
.cont li:last-of-type {
	margin-bottom: 0
}
.cont ul li {
	padding-left: 18px;
	background-image: url("template/bull.png");
	background-size: 8px auto;
	background-position: 3px 9px;
	background-repeat: no-repeat;
}
.cont li a, .cont p a {
	color: #3f7021;
	text-decoration: none
}
.aktTitle {
	margin-bottom: 34px;
	padding: 5px 10px;
	font-family: 'Roboto', sans-serif;
	font-style: normal;
	font-weight: 500;
	letter-spacing: 0.06em;
	font-size: .875rem;
	line-height: 150%;
	color: #fff;
	text-transform: uppercase;
	background-color: #3f7021
}
.aktTitle .fl_right { display: none; }

.logo_wrapper {
	position: fixed;
	box-sizing: border-box;
	width: 15%;
	height: 205px;
	background-color: #3f7021;
	z-index: 10;
	-webkit-transition: all 800ms ease;
	-moz-transition: all 800ms ease;
	-o-transition: all 800ms ease;
	transition: all 800ms ease;
}
.logo {
	position: absolute;
	display: flex;
	align-items: flex-end;
	box-sizing: border-box;
	width: 92%;
	height: 100%;
	padding: 20px calc((100% - 190px) / 2 + 4px) 30px calc((100% - 190px) / 2 + 4px);
	-webkit-transition: all 800ms ease;
	-moz-transition: all 800ms ease;
	-o-transition: all 800ms ease;
	transition: all 800ms ease;
}
.logo img {
	display: block;
	position: relative;
    width: 100%;
    border: 0;
	-webkit-transition: all 800ms ease;
	-moz-transition: all 800ms ease;
	-o-transition: all 800ms ease;
	transition: all 800ms ease;
}

@media screen and (max-width:1800px) {
	.logo {
		padding: 20px calc((100% - 170px) / 2) 30px calc((100% - 170px) / 2);
	}
}
@media screen and (max-width:1600px) {
	.logo {
		padding: 20px calc((100% - 150px) / 2) 30px calc((100% - 150px) / 2);
	}
}

@media screen and (max-width:1360px) {
	.logo_wrapper {
		height: 170px
	}
	.logo {
		padding: 20px calc((100% - 140px) / 2) 30px calc((100% - 140px) / 2);
	}
}

@media screen and (max-width:1281px) {
	.logo_wrapper {
		height: 152px
	}
	.logo {
		padding: 20px calc((100% - 122px) / 2) 20px calc((100% - 122px) / 2);
	}
}

@media screen and (max-width:1030px) {
	.logo_wrapper {
		height: 115px
	}
	.logo {
		padding: 10px calc((100% - 106px) / 2) 16px calc((100% - 106px) / 2);
	}
}

@media screen and (max-width:800px) {	
	.logo_wrapper {
		height: 90px
	}
	.logo {
		padding: 10px calc((100% - 83px) / 2) 16px calc((100% - 83px) / 2);
	}
}

@media screen and (max-width:667px) {
	.logo_wrapper {
		width: 25%;
	}
	.logo {
		padding: 10px 16% 16px 16%;
	}
}

.smaller {
	display: inline-block;
	font-size: 90%;
	line-height: 150%;
}

.oneNews {
	display: none
}
.oneNews.show {
	display: block
}
.arrowBox {
	position: relative;
	box-sizing: border-box;
	margin: 0;
	text-align: center
}
.arrow, .filterarrow {
	display: block;
	width: 40px;
	height: 22px;
	margin: 0 auto;
	padding-top: 6px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	cursor: pointer
}
.arrow.up, .filterarrow.up {
	transform: scaleY(-1);
	background-image: url(template/grosserpfeil-gruen.svg)
}
.arrow.up:hover, .filterarrow.up:hover {
	background-image: url(template/grosserpfeil-grau.svg)
}
.arrow.down, .filterarrow.down {
	background-image: url(template/grosserpfeil-gruen.svg)
}
.arrow.down:hover, .filterarrow.down:hover {
	background-image: url(template/grosserpfeil-grau.svg)
}
section {
	position: relative;
	min-height: 200px
}
footer {
	height: 80px;
	background-color: #000
}
.kontaktLeft {
	position: relative;
	box-sizing: border-box;
	float: left;
	width: 40%;
	padding: 0;
	text-align: left
}
.kontaktRight {
	position: relative;
	box-sizing: border-box;
	float: right;
	width: 60%;
	padding: 110px 0 20px 20px;
	text-align: left
}
.kontaktRight .button {
	position: absolute;
	display: block;
	right: 0;
	bottom: 20px;
	width: auto;
	border: 0;
	font-family: 'Libre Baskerville', serif;
	font-size: .875rem;
	line-height: 27px;
	font-weight: 400;
	font-style: normal;
	letter-spacing: .1em;
	color: #333365;
	text-decoration: none;
	background-color: #fff;
	text-align: center
}
.kontaktRight .sendBox {
	padding-top: 15px
}
.kontaktRight .button:hover {
	border: 0;
	color: #aaa;
	text-decoration: none
}
.kontaktRight .kontaktPflichtfeld {
	float: left;
	padding-right: 10px;
	font-style: normal;
	font-weight: 400;
	font-size: .8rem
}
.kontaktRight .kontaktform {
	margin-bottom: 20px
}
.kontaktRight .kontaktform input[type=text] {
	margin: 0 0 5px
}
.kontaktRight .kontaktform input[type=text]:nth-child(1) {
	margin-top: 0
}
.kontaktRight .kontaktform h6 {
	margin: 30px 0 0 10px;
	font-size: .8rem;
	font-style: normal;
	font-weight: 400;
	color: #444;
	text-transform: uppercase
}
.kontaktRight .kontaktform label {
	margin: 0 0 5px;
	line-height: 27px
}
.mapRight {
	position: relative;
	box-sizing: border-box;
	float: right;
	width: 60%;
	padding: 30px 0 20px 20px;
	text-align: left
}
.wrapper.singleProjekt {
	padding-top: 200px
}
section.singleProjektWrapper {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	max-width: 1280px;
	padding: 0 40px;
	margin: 110px auto 0;
	text-align: center
}
section.singleProjektWrapper h2 {
	margin: 0 0 80px;
	padding: 0;
	font-size: 3.25rem;
	line-height: 108%;
	font-weight: 700;
	font-style: normal;
	text-transform: uppercase;
	letter-spacing: .01em;
	color: #444;
	text-align: left
}
section.singleProjektWrapper .contentLine {
	margin-bottom: 80px
}
section.singleProjektWrapper .theContent {
	position: relative;
	box-sizing: border-box;
	float: right;
	width: 65%;
	text-align: left
}
section.singleProjektWrapper .theInfo {
	position: relative;
	box-sizing: border-box;
	float: left;
	width: 35%;
	text-align: left
}
section.singleProjektWrapper .theInfo h3 {
	margin: 0;
	padding: 0;
	font-size: 1.2rem;
	line-height: 120%;
	text-transform: uppercase;
	letter-spacing: .04em
}
section.singleProjektWrapper .theInfo h4 {
	margin: 0;
	padding: 0;
	font-size: 1.2rem;
	line-height: 120%
}
section.singleProjektWrapper .theInfo h5 {
	margin: 0;
	padding: 0;
	font-size: 1rem;
	line-height: 120%
}
section.singleProjektWrapper .thePics {
	position: relative;
	margin: 100px 0 80px
}
section.singleProjektWrapper .thePics .onePic {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	margin: 20px 0
}
.mobCatPic {
	display: none;
	width: 100%;
	height: auto;
}
.fixed:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden
}
.fixed {
	display: block;
	min-height: 1%
}
* html .fixed {
	height: 1%
}
#isMob {
	width: 1px
}
.align_left {
	text-align: left !important
}
.align_right {
	text-align: right !important
}
.align_center {
	text-align: center !important
}
.vaMiddle {
	vertical-align: middle !important
}
.fLeft, .fl_left {
	float: left !important
}
.fRight, .fl_right {
	float: right !important
}
.c_rot, .err {
	color: red !important
}
.clear {
	clear: both
}
.disp_block, .show {
	display: block
}
.disp_inline {
	display: inline-block
}
.disp_hide, .hide {
	display: none
}
.h1px {
	height: 1px
}
.hyph {
	-moz-hyphens: auto;
	-o-hyphens: auto;
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto
}
.fl100p, .fr100p, .w100p {
	box-sizing: border-box;
	float: none;
	width: 100% !important
}
.fl085p, .fr085p {
	box-sizing: border-box;
	float: left;
	width: 85% !important
}
.fl085p.space, .fr085p.space {
	width: 83% !important;
	width: calc(85% - 10px) !important
}
.fr085p {
	float: right
}
.fl080p, .fr080p {
	box-sizing: border-box;
	float: left;
	width: 80% !important
}
.fl080p.space, .fr080p.space {
	width: 78% !important;
	width: calc(80% - 10px) !important
}
.fr080p {
	float: right
}
.fl070p, .fr070p {
	box-sizing: border-box;
	float: left;
	width: 70% !important
}
.fl070p.space, .fr070p.space {
	width: 68% !important;
	width: calc(70% - 10px) !important
}
.fr070p {
	float: right
}
.fl050p, .fr050p {
	box-sizing: border-box;
	float: left;
	width: 50% !important
}
.fl050p.space, .fr050p.space {
	width: 48% !important;
	width: calc(50% - 10px) !important
}
.fr050p {
	float: right
}
.fl030p, .fr030p {
	box-sizing: border-box;
	float: left;
	width: 30% !important
}
.fl030p.space, .fr030p.space {
	width: 28% !important;
	width: calc(30% - 10px) !important
}
.fr030p {
	float: right
}
.fl028p, .fr028p {
	box-sizing: border-box;
	float: left;
	width: 28% !important
}
.fl028p.space, .fr028p.space {
	width: 26% !important;
	width: calc(28% - 10px) !important
}
.fr028p {
	float: right
}
.fl025p, .fr025p {
	box-sizing: border-box;
	float: left;
	width: 25% !important
}
.fl025p.space, .fr025p.space {
	width: 23% !important;
	width: calc(25% - 10px) !important
}
.fr025p {
	float: right
}
.fl020p, .fr020p {
	box-sizing: border-box;
	float: left;
	width: 20% !important
}
.fl020p.space, .fr020p.space {
	width: 18% !important;
	width: calc(20% - 10px) !important
}
.fr020p {
	float: right
}
.fl015p, .fr015p {
	box-sizing: border-box;
	float: left;
	width: 15% !important
}
.fl015p.space, .fr015p.space {
	width: 13% !important;
	width: calc(15% - 10px) !important
}
.fr015p {
	float: right
}
ul.bullet {
	list-style-type: disc;
	margin-left: 12px
}
ul.bullet li {
	margin-left: 0
}
.hidden {
	opacity: 0
}
.visible {
	opacity: 1
}
.button {
	border-radius: 0;
	cursor: pointer;
	box-shadow: none
}
.button:hover {
	color: #b0012f
}
input[type=checkbox], input[type=radio] {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	background-color: #fff
}
input[type=checkbox]:before {
	background-color: #fff
}
input[type=checkbox]:focus + label:before, input[type=checkbox]:hover + label:before, input[type=radio]:focus + label:before, input[type=radio]:hover + label:before {
	border-color: #fff;
	background-color: #fff
}
input[type=checkbox]:active + label:before, input[type=radio]:active + label:before {
	-webkit-transition-duration: 0;
	transition-duration: 0;
	background-color: #fff
}
input[type=checkbox] + label, input[type=radio] + label {
	position: relative;
	padding: 0 10px 0 2em;
	vertical-align: middle;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none
}
input[type=checkbox] + label:before, input[type=radio] + label:before {
	box-sizing: content-box;
	content: '';
	color: #333365;
	position: absolute;
	top: 50%;
	left: 0;
	width: 14px;
	height: 14px;
	margin-top: -9px;
	border: 2px solid #fff;
	text-align: center
}
input[type=checkbox] + label:after, input[type=radio] + label:after {
	box-sizing: content-box;
	content: '';
	background-color: #333365;
	position: absolute;
	top: 50%;
	left: 4px;
	width: 10px;
	height: 10px;
	margin-top: -5px;
	-webkit-transform: scale(0);
	transform: scale(0);
	-webkit-transform-origin: 50%;
	transform-origin: 50%;
	-webkit-transition: -webkit-transform 200ms ease-out;
	transition: -webkit-transform 200ms ease-out;
	transition: transform 200ms ease-out;
	transition: transform 200ms ease-out, -webkit-transform 200ms ease-out
}
input[type=checkbox] + label:after {
	background-color: #333365;
	top: 50%;
	left: 4px;
	width: 10px;
	height: 8px;
	margin-top: -4px;
	border-style: solid;
	border-color: #fff;
	border-width: 0;
	-o-border-image: none;
	border-image: none;
	-webkit-transform: rotate(-45deg) scale(0);
	transform: rotate(-45deg) scale(0);
	-webkit-transition: none;
	transition: none
}
input[type=checkbox]:checked + label:after {
	content: '';
	-webkit-transform: rotate(-45deg) scale(1);
	transform: rotate(-45deg) scale(1);
	-webkit-transition: -webkit-transform 200ms ease-out;
	transition: -webkit-transform 200ms ease-out;
	transition: transform 200ms ease-out;
	transition: transform 200ms ease-out, -webkit-transform 200ms ease-out
}
input[type=radio]:checked + label:before {
	-webkit-animation: borderscale 300ms ease-in;
	animation: borderscale 300ms ease-in;
	background-color: #fff
}
input[type=radio]:checked + label:after {
	-webkit-transform: scale(1);
	transform: scale(1)
}
input[type=radio] + label:after, input[type=radio] + label:before {
	border-radius: 50%
}
input[type=checkbox]:checked + label:before {
	-webkit-animation: borderscale 200ms ease-in;
	animation: borderscale 200ms ease-in
}
input[type=checkbox]:checked + label:after {
	-webkit-transform: scale(1);
	transform: scale(1)
}
/* -----------------------------------------------------------------------------
   Media Querys
   ----------------------------------------------------------------------------- */
@media screen and (max-width:1800px) {
	.menu ul {
		margin-left: calc((100% - 170px) / 2 + 4px);
	}
}

@media screen and (max-width:1600px) {
	.menu ul {
		margin-left: calc((100% - 150px) / 2 + 4px);
	}
}

@media screen and (max-width:1360px) {
	p {
		font-size: .9375rem
	}
	.cont h1 {
		margin: 20px 0;
		font-size: 1.6rem
	}
	.cont h3 {
		font-size: 1.8125rem
	}
	.menu {
		top: 170px
	}
	.menu ul {
		margin-left: calc((100% - 140px) / 2)
	}
	.menu ul li a, .mobMenu ul li a {
		font-size: .9375rem
	}/*
	.footMenu {
		bottom: 24px;
		right: calc((15% - 140px) / 2)
	}*/
	.contBox {
		top: 170px;
		padding-left: calc((15% - 140px) / 2);
		padding-right: calc((15% - 140px) / 2)
	}
	.cont {
		padding: 27px 0 34px
	}
	.cont li {
		font-size: .9375rem
	}
	.cont ul li {
		background-size: 6px auto;
		background-position: 5px 8px;
	}	
	.aktTitle {
		padding: 4px 10px;
		font-size: .8125rem
	}
}
/*@media screen and (max-width:1370px) and (pointer:coarse) {
	.page {
		background-position: 70% center;
		background-attachment: scroll
	}
}*/
@media screen and (max-width:1281px) {
	.menu {
		top: 152px
	}
	.menu ul {
		margin-left: calc((100% - 122px) / 2)
	}
	.menu ul li a, .mobMenu ul li a {
		font-size: .8125rem
	}/*
	.footMenu {
		bottom: 24px;
		right: calc((15% - 122px) / 2)
	}*/
	.contBox {
		top: 152px;
		padding-left: calc((15% - 122px) / 2);
		padding-right: calc((15% - 122px) / 2)
	}
	.aktTitle {
		padding: 4px 10px;
		font-size: .8125rem
	}
}
@media screen and (max-width:1030px) and (pointer:coarse) {
	.page {
		background-position: 70% center;
		background-attachment: scroll
	}
}
@media screen and (max-width:1030px) {
	.cont h1 {
		margin: 25px 0;
		font-size: 1.5rem
	}
	.cont h3 {
		font-size: 1.75rem
	}
	.menu {
		display: none
	}
	.mobMenuBut {
		display: block;
		top: 25px;
		right: calc((15% - 106px) / 2)
	}
	.mobMenu .closeMenu {
		right: calc((15% - 106px) / 2)
	}/*
	.footMenu {
		bottom: 24px;
		right: calc((15% - 106px) / 2)
	}*/
	.contBox {
		top: 25px;
		padding-left: calc((15% - 106px) / 2);
		padding-right: calc((15% - 106px) / 2)
	}
	.aktTitle {
		padding: 4px 10px;
		font-size: .8125rem
	}
}
@media screen and (max-width:800px) {
	p {
		font-size: .8125rem
	}
	.cont h1 {
		margin: 20px 0
	}	
	.cont h1, .cont h3 {
		font-size: 1.3125rem
	}
	.mobMenuBut {
		top: 20px;
		right: calc((15% - 83px) / 2)
	}/*
	.footMenu {
		bottom: 24px;
		right: calc((15% - 83px) / 2)
	}*/
	.filtermenu span, .shortmenu a, .shortmenu em {
		font-size: 1rem
	}
	.contBox {
		top: 25px;
		padding-left: calc((15% - 83px) / 2);
		padding-right: calc((15% - 83px) / 2)
	}
	.cont li {
		font-size: .8125rem
	}
	.cont ul li {
		background-size: 6px auto;
		background-position: 5px 6px;
	}	
}
@media screen and (max-width:667px) {
	.page {
		background-position: 70% center;
		background-attachment: scroll
	}
}
@media screen and (max-width:667px) {
	.filtermenu span, .shortmenu a, .shortmenu em {
		font-size: .9375rem
	}
	.page {
		position: relative;
		width: 100%;
		min-height: 0;
		background-attachment: scroll;
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center top
	}
	.page.firstpic {
		padding-top: 72vw;
	}
	.page.firstpic.cat-aktuelles,
	.page.firstpic.cat-arbeitsrecht,
	.page.firstpic.cat-steuerrecht,
	.page.firstpic.cat-gesellschaftsrecht,
	.page.firstpic.cat-vertragsrecht,
	.page.firstpic.cat-erbrecht,
	.page.firstpic.cat-pferderecht {
		padding-top: 0;
		background-size: 0;
	}
	.page.haspic {
		background-size: 0
	}
	.contBox {
		position: relative;
		box-sizing: border-box;
		left: 0;
		top: 0;
		width: 100%;
		padding: 0 4%;
		background-color: #fff
	}
	.cont {
		padding: 0
	}
	.mobCatPic {
		display: block;
	}
	.mobMenu .closeMenu, .mobMenuBut {
		right: 4%
	}
	.footplaceholder { display: block; }
	.footMenu {
		position: fixed;
		box-sizing: border-box;
		width: 100%;
		bottom: 0;
		left: 0;
		right: auto;
		margin: 0;
		padding: 0;
		background-color: #444
	}
	.footMenu ul {
		margin-right: 4%
	}
	.footMenu ul li {
		display: inline-block;
		padding: 5px
	}
	.footMenu ul li a {
		color: #fff
	}
	.footMenu .current-menu-ancestor > a, .footMenu .current-menu-item > a, .footMenu .current_page_ancestor > a, .footMenu .current_page_item > a, .footMenu ul li a:hover {
		color: #3f7021
	}
	.shortmenu {
		display: none
	}
	.shortmenu.show {
		display: block
	}
	#isMob {
		width: 2px
	}
	.arrow.down, .noMob {
		display: none !important
	}
}
@media screen and (max-width:340px) {
	.cont h1, .cont h3 {
		font-size: 1.25rem
	}
	.filtermenu span, .shortmenu a, .shortmenu em {
		font-size: .875rem
	}
}
@media screen and (max-width:310px) {
	.cont h1, .cont h3 {
		font-size: 1.125rem
	}
}


/* Mitarbeiter Shortcode Styles */
.mitarbeiter-wrapper {
	position: relative;
	box-sizing: border-box;
    display: flex;
    flex-direction: column;
	flex-wrap: wrap;
    width: 100%;
	margin-top: 0;
    margin-bottom: 60px;
}

.mitarbeiter-wrapper * {
	position: relative;
	box-sizing: border-box;
}

.mitarbeiter-wrapper.mtop {
    margin-top: 60px;
}

.mitarbeiter-wrapper.mbot {
    margin-bottom: 60px;
}

.mitarbeiter-ra,
.zentrale-ra {  
	display: block;
	width: 100%;
	margin-bottom: 12px;
	font-family: 'Roboto', sans-serif;
	font-size: 1rem;
	line-height: 160%;
	font-weight: 500;
	text-transform: none;
	color: #444;
}

.mitarbeiter-left {
    display: flex;
    flex-direction: column;
}

.mitarbeiter-name {
    margin-bottom: 6px;
	font-size: 1.075rem;
	font-weight: 300;
}

.mitarbeiter-pic-container-mobile {
	max-width: 120px;
    margin-bottom: 20px;
}

.mitarbeiter-content {
    margin-bottom: 0;
}

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

.mitarbeiter-right {
    display: none;
}

.mitarbeiter-pic {
    width: 100%;
    height: auto;
    display: block;
}

.mitarbeiter-pic-desktop {
    display: none;
}

.mitarbeiter-pic-mobile {
    display: block;
}

/* Mobile-Layout bis 667px */
@media (max-width: 667px) {
	.cont h4.ra-title {
		margin: 60px 0 0;
	}
	
    .mitarbeiter-wrapper {
        margin-top: 20px;
    }	
}

/* Desktop-Layout ab 1040px */
@media (min-width: 1040px) {
    .mitarbeiter-wrapper {
        flex-direction: row;
        justify-content: flex-start;
        margin-bottom: 40px;
    }
    
    .mitarbeiter-text {
        width: 50%;
		min-width: 300px;
		padding-right: 20px;
    }
    
    .mitarbeiter-pic {
        display: block;
        max-width: 140px;
		padding-left: 24px;
    }
    
    .mitarbeiter-pic-container-mobile {
        display: none;
    }
    
    .mitarbeiter-pic-desktop {
        display: block;
    }
    
    .mitarbeiter-pic-mobile {
        display: none;
    }
}

.twocols {
	position: relative;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	width: 100%;
}

.twocols * {
	position: relative;
	box-sizing: border-box;
}

.twocols .one {
	width: 100%;
}

/* Tablet/Desktop-Layout ab 760px */
@media (min-width: 760px) {
	.twocols {
		flex-direction: row;
		justify-content: space-between;
	}

	.twocols .one {
		width: 50%;
	}
	
	.twocols .one:first-of-type {
		padding-right: 16px;
	}
}