header,footer,nav,section,aside,main,article,figure,figcaption{display:block}body,div,h1,h2,h3,h4,h5,h6,p,blockquote,pre,code,ol,ul,li,dl,dt,dd,figure,table,th,td,form,fieldset,legend,input,textarea{margin:0;padding:0}table{border-spacing:0;border-collapse:collapse}caption,th,td{text-align:left;text-align:start;vertical-align:top}abbr,acronym{font-variant:normal;border-bottom:1px dotted #666;cursor:help}blockquote,q{quotes:none}fieldset,img,iframe{border:0}ul{list-style-type:none}sup{vertical-align:text-top}sub{vertical-align:text-bottom}del{text-decoration:line-through}ins{text-decoration:none}body{font:12px/1 "Lucida Grande","Lucida Sans Unicode",Verdana,sans-serif;color:#000}input,button,textarea,select{font-family:inherit;font-size:99%;font-weight:inherit}pre,code{font-family:Monaco,monospace}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400}h1{font-size:1.8333em}h2{font-size:1.6667em}h3{font-size:1.5em}h4{font-size:1.3333em}table{font-size:inherit}caption,th{font-weight:700}a{color:#00f}h1,h2,h3,h4,h5,h6{margin-top:1em}h1,h2,h3,h4,h5,h6,p,pre,blockquote,table,ol,ul,form{margin-bottom:12px}
body,form,figure{margin:0;padding:0}img{border:0}header,footer,nav,section,aside,article,figure,figcaption{display:block}body{font-size:100.01%}select,input,textarea{font-size:99%}#container,.inside{position:relative}#main,#left,#right{float:left;position:relative}#main{width:100%}#left{margin-left:-100%}#right{margin-right:-100%}#footer{clear:both}#main .inside{min-height:1px}.ce_gallery>ul,.content-gallery>ul{margin:0;padding:0;overflow:hidden;list-style:none}.ce_gallery>ul li,.content-gallery>ul li{float:left}.ce_gallery>ul li.col_first,.content-gallery>ul li.col_first{clear:left}.float_left,.media--left>figure{float:left}.float_right,.media--right>figure{float:right}.block{overflow:hidden}.media{display:flow-root}.clear,#clear{height:.1px;font-size:.1px;line-height:.1px;clear:both}.invisible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.custom{display:block}#container:after,.custom:after{content:"";display:table;clear:both}
@media (max-width:767px){#wrapper{margin:0;width:auto}#container{padding-left:0;padding-right:0}#main,#left,#right{float:none;width:auto}#left{right:0;margin-left:0}#right{margin-right:0}}img{max-width:100%;height:auto}.audio_container audio{max-width:100%}.video_container video{max-width:100%;height:auto}.aspect,.responsive{position:relative;height:0}.aspect iframe,.responsive iframe{position:absolute;top:0;left:0;width:100%;height:100%}.aspect--16\:9,.responsive.ratio-169{padding-bottom:56.25%}.aspect--16\:10,.responsive.ratio-1610{padding-bottom:62.5%}.aspect--21\:9,.responsive.ratio-219{padding-bottom:42.8571%}.aspect--4\:3,.responsive.ratio-43{padding-bottom:75%}.aspect--3\:2,.responsive.ratio-32{padding-bottom:66.6666%}
.mobile_menu{position:fixed;z-index:100;display:none}.mobile_menu .inner{height:100%;background:#000;overflow-y:scroll}.mobile_menu.active.position_left{box-shadow:2px 0 5px 0 rgba(0,0,0,.5)}.mobile_menu.active.position_top{box-shadow:0 2px 5px 0 rgba(0,0,0,.5)}.mobile_menu.active.position_right{box-shadow:-2px 0 5px 0 rgba(0,0,0,.5)}.mobile_menu.active.position_bottom{box-shadow:0 -2px 5px 0 rgba(0,0,0,.5)}.mobile_menu.active.no_shadow{box-shadow:none!important}.mobile_menu_trigger{display:none}.mobile_menu_wrapper{position:relative;width:100%;overflow:hidden}.mobile_menu_overlay{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:99}.mobile_menu_overlay.background{background:rgba(0,0,0,.5)}.mobile_menu li.submenu_hide>ul{display:none}.mobile_menu li.submenu_show>ul{display:block}body.ie8 .mobile_menu,body.ie8 .mobile_menu_trigger,body.ie9 .mobile_menu,body.ie9 .mobile_menu_trigger{display:none!important}
/* FONTS */
@font-face {
	font-family: 'PT Sans';
	font-weight: normal;
	src: url('../../files/fonts/PTSans-Regular.ttf') format('truetype');
	font-display: swap;
}
@font-face {
	font-family: 'PT Sans';
	font-weight: bold;
	src: url('../../files/fonts/PTSans-Bold.ttf') format('truetype');
	font-display: swap;
}

/* BASIC */
html {
	height: 100%;
}
body {
	height: 100%;
	color: rgb(0,0,0);
	font-family: 'PT Sans', serif;
	font-size: 12pt;
	letter-spacing: 1px;
	line-height: 17pt;
	background-color: rgb(255,255,255);
}
body.home {
	background-color: rgb(234,234,234);
	background-image: url('/files/layout/Lang Herzer Herzer HGv2-TF.png');
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: contain;
}
body.home #left, body.home #footer, #footer .content-text {
	display: none;
}
a {
	color: rgb(0,0,0);
	text-decoration-line: none;
}
a:hover, a:active, a:focus, nav .active, nav .trail {
	color: rgb(0,92,142);
}
#wrapper {
	position: relative;
	min-height: 100%;
}
#header {
	transition: transform 0.6s ease-in-out;
}
#header.sticky {
	transform: translateY(-100px);
}
#header .inside {
	height: 68px;
	padding: 25px 10vw 75px 10vw;
}
#logo {
	width: 25vw;
	min-width: 200px;
	float: left;
}
#logo a {
	display: flex;
}
#nav-hmen .level_1 li, .nav-lang .level_1 li {
	margin: 41.4px 5vw 0 0;
	float: left;
	font-size: 15pt;
	font-weight: bold;
	text-transform: uppercase;
}
.nav-lang {
	float: right;
}
.nav-lang .level_1 li {
	margin-right: 0;
}
.nav-lang .level_1 li:first-of-type:after {
	content: '/';
	margin: 0 5px;
	color: rgb(0,0,0);
}
#container {
	padding-left: 35vw;
	padding-bottom: 145px;
}
body.home #container {
	padding-left: 0;
}
#left {
	width: 35vw;
	right: 35vw;
}
#nav-nmen {
	margin: 75px 50px 0 10vw;
	font-size: 16pt;
}
#nav-nmen li {
	margin-bottom: 30px;
}
#main .inside {
	top: 40px;
	animation: 1s ease-in-out 0s 1 slideContent;
	animation-fill-mode: forwards;
}
#footer {
	position: absolute;
	bottom: 0;
}
#nav-footer {
	margin-left: 10vw;
}
#nav-footer .level_1 li {
	margin: 75px 2vw 50px 0;
	float: left;
	font-size: 10pt;
	line-height: 20px;
}

/* CONTENT */
.mod_article {
	padding-right: 10vw;
	/* text-align: justify; */
}
body.home .mod_article {
	display: flex;
	padding-right: 0;
	justify-content: center;
}
h1 {
	margin-top: 0;
	margin-bottom: 50px;
	font-weight: bold;
	font-size: 50pt;
	line-height: 68px;
}
h1.slogan {
	display: flex;
	margin: 0 auto;
	color: rgb(0,92,142);
	font-size: 60pt;
	font-weight: bold;
	line-height: 70pt;
}
/* Der folgende Eintraege koennen entfernt werden, wenn kein Platzhalter benoetigt wird. */
.placeholder-site #nav-hmen,
.placeholder-site .nav-lang,
.placeholder-site #nav-mobile {
	display: none;
}
.placeholder-site #logo {
	float: none;
}
.placeholder h1 {
	margin-top: 0;
	margin-bottom: 0;
	color: rgb(0,92,142);
	font-size: 80pt;
	line-height: 100pt;
	font-weight: bold;
}
.content-text, .content-text p {
	margin-bottom: 17pt;
}
.content-text li {
	margin-left: 25px;
	list-style-type: disc;
}
/* 2 columns with column break */
.two-cols {
	column-count: 2;
	column-gap: 4%;
	column-width: 48%;
}
.two-columns:nth-child(even) {
	width: 48%;
	margin-right: 4%;
	margin-bottom: 50px;
	float: left;
}
.two-columns:nth-child(odd) {
	width: 48%;
	margin-bottom: 50px;
	float: left;
}
.two-columns strong {
	color: rgb(0,92,142);
}
.content-gallery--cols-2 li:nth-child(odd) {
	width: 49%;
	margin-right: 2%;
	margin-bottom: 50px;
	float: left;
}
.content-gallery--cols-2 li:nth-child(even) {
	width: 49%;
	margin-bottom: 50px;
}
.lawyer {
	width: 48%;
}
.lawyer figure {
	position: relative;
}
.lawyer img {
	opacity: 1;
	transition: opacity 1s;
}
.lawyer:hover img {
	opacity: 0.6;
}
.lawyer figcaption {
	opacity: 0;
	position: absolute;
	bottom: 0;
	padding: 0 0 5% 2%;
	color: rgb(0,92,142);
	font-size: 15pt;
	font-weight: bold;
	transition: opacity 1s;
}
.lawyer:hover figcaption {
	opacity: 1;
}
.lawyer-details h1 {
	width: 48%;
	margin-top: 24px;
	margin-right: 4%;
	float: left;
	font-size: 22pt;
	line-height: 40px;
}
.lawyer-details .content-image {
	width: 48%;
	float: right;
}
.lawyer-details figcaption {
	display: none;
}
.lawyer-details .special {
	clear: both;
	color: rgb(0,92,142);
}
.gmap a {
	padding-left: 25px;
	background-image: url('/files/layout/Icon-Maps.svg');
	background-repeat: no-repeat;
	background-position: left 2px;
	background-size: 12px 17px;
}
.gmap a:hover {
	background-image: url('/files/layout/Icon-Maps-H.svg');
}

/* 2000+ */
@media screen and (min-width: 2000px) {
	body.home {
		background-image: url('/files/layout/Lang Herzer Herzer HGv2-3440TF.png');
	}
}

/* 1500 */
@media screen and (max-width: 1500px) {
	#header .inside {
		padding: 25px 5vw 75px 5vw;
	}
	#logo {
		width: 30vw;
	}
	#left {
		width: 35vw;
	}
	#nav-nmen {
		margin-left: 5vw;
	}
	#nav-footer {
		margin-left: 5vw;
	}
	.mod_article {
		padding-right: 5vw;
	}
	h1.slogan {
		font-size: 50pt;
		line-height: 60pt;
	}
}

/* 1200+ */
@media screen and (min-width: 1200px) {
	body.home {
		background-image: url('/files/layout/Lang Herzer Herzer HGv2-1920TF.png');
	}
}

/* 1200 */
@media screen and (max-width: 1200px) {
	h1.slogan {
		font-size: 40pt;
		line-height: 50pt;
	}
}

/* 1124 / MOBILE */
@media screen and (max-width: 1124px) {
	#nav-hmen, #header .nav-lang, #left, #nav-footer {
		display: none;
	}
	/* Breakpoint defined in the module settings! */
	#nav-mobile {
		float: right;
	}
	.mobile_menu_trigger {
		min-width: 50px;
		min-height: 68px;
		cursor: pointer;
		background-image: url('/files/layout/Icon-Menu.svg');
		background-repeat: no-repeat;
		background-position: right 27px;
		background-size: contain;
	}
	.mobile_menu_trigger:hover {
		background-image: url('/files/layout/Icon-Menu-H.svg');
	}
	.mobile_menu .inner {
		overflow-x: hidden;
		overflow-y: auto;
		background: rgb(234,234,234);
		padding: 50px 5vw;
	}
	.mobile_menu_close {
		float: right;
		min-width: 15pt;
		min-height: 15pt;
		cursor: pointer;
		background-image: url('/files/layout/Icon-Close.svg');
		background-repeat: no-repeat;
		background-position: center center;
		background-size: contain;
	}
	.mobile_menu_close:hover {
		background-image: url('/files/layout/Icon-Close-H.svg');
	}
	#nav-mmen .level_1 li {
		margin-bottom: 25px;
		font-size: 15pt;
		font-weight: bold;
		text-transform: uppercase;
	}
	.mobile_menu li.submenu_hide > ul {
		display: block; /* necessary for the following transition */
	}
	#nav-mmen .level_2 {
		margin: 0;
		height: auto;
		max-height: 0;
		transition: max-height 0.5s ease-out;
		overflow: hidden;
	}
	#nav-mmen .level_2 li {
		margin-top: 25px;
		margin-bottom: 0;
	}
	#nav-mmen li.submenu_show > .level_2  {
		max-height: 150px;
	}
	#nav-mmen .level_2 a {
		line-height: 17pt;
	}
	#nav-mmen .level_2 li {
		font-size: 13pt;
		font-weight: normal;
		text-transform: none;
	}
	.mobile_menu .nav-lang {
		float: none;
	}
	#container {
		padding-left: 0;
	}
	.mod_article, body.home .mod_article, .content-gallery--cols-2 figcaption {
		padding: 0 5vw;
	}
	.mod_article.wide-mobile {
		padding: 0;
	}
	.two-columns:nth-child(even) {
		width: 100%;
		margin-right: 0;
		margin-bottom: 25px;
		float: none;
	}
	.two-columns:nth-child(odd) {
		width: 100%;
		margin-bottom: 25px;
		float: none;
	}
	.content-gallery--cols-2 li:nth-child(odd) {
		width: 100%;
		margin-right: 0;
		margin-bottom: 25px;
		float: none;
	}
	.content-gallery--cols-2 li:nth-child(even) {
		width: 100%;
		margin-bottom: 25px;
	}
	.lawyer {
		width: 100%;
	}
	.lawyer figcaption {
		padding: 0 0 5% 5vw;
	}
	.lawyer-details h1 {
		width: 100%;
		margin-top: 0;
		margin-right: 0;
		float: none;
		font-size: 16pt;
		line-height: 30px;
	}
	.lawyer-details .content-image {
		position: relative;
		left: -5vw;
		width: 100vw;
		float: none;
	}
	#footer .content-text {
		display: block;
		margin: 25px 5vw 25px 5vw;
		font-size: 10pt;
		line-height: 12pt;
	}
}
@media screen and (max-width: 800px) {
	body.home {
		background-image: url('/files/layout/Lang Herzer Herzer HGv2-MTF.png');
	}
	h1 {
		font-size: 27pt;
		line-height: 36px;
	}
	h1.slogan {
		font-size: 35pt;
		line-height: 45pt;
	}
	/* 2 columns become 1 */
	.two-cols {
		column-count: 1;
		column-gap: 0;
		column-width: 100%;
	}
}
/* Tablets horizontal */
@media screen and (max-height: 550px) {
	/* html:has(body.home), body.home {
		height: 150vh;
	} */
	body.home {
		background-image: url('/files/layout/Lang Herzer Herzer HGv2-3440TF.png');
	}
	body.home #header .inside {
		padding: 25px 5vw;
	}
	.mobile_menu {
		overflow-y: auto;
	}
}
/* Phones horizontal */
@media screen and (max-height: 400px) {
	html:has(body.home), body.home {
		height: 200vh;
	}
	body.home {
		background-image: url('/files/layout/Lang Herzer Herzer HGv2-MTF.png');
	}
	
}
@keyframes slideContent {
    0% {
        opacity: 0;
        visibility: hidden;
        transform: translateY(0);
    }
    100% {
        opacity: 1;
        visibility: visible;
        transform: translateY(-40px);
    }
}
