@charset "utf-8";
@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,400italic,300,300italic,600,600italic);

/* CSS Document */

/*Basics*/
* {
	color: #ffffff;
	font-family: 'Open Sans', sans-serif;
	/*font-family: Arial, Helvetica, sans-serif;*/
	/*font-size: 0.875em; /* 14px 14/16 = 0.875*/
	line-height: 140%; /*120 - 150*/
	font-weight: 300;
	margin: 0;
	padding: 0;
}

a:link,
a:visited,
a:hover,
a:active {
	outline: 0;
}

body {
	background-color: #0b0d10;
	font-size: 100%; /* 16px = 1em */
}
@media 
only screen and (min-device-width : 480px) and (max-device-width : 800px), 
only screen and (min-width : 480px) and (max-width : 800px) {
body {
}
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 479px), 
only screen and (min-width : 220px) and (max-width : 479px) {
body {
	font-size: 95%;
}
}

p {
	font-size: 0.875em; /* 14px 14/16 = 0.875 */
}

#map p {
	font-size: 0.6rem;
	color: #0b0d10;
}

iframe {
	border: 0;
}

.clear {
   clear: both;
}

.hidden {
	display: none;
}

.fancybox-title.fancybox-title-inside-wrap {
	color: #000;
}

/* Build */
#main {
	margin-left: auto;
	margin-right: auto;
	position: relative;
	width: 100%;
	max-width: 1026px;
}
@media 
only screen and (min-device-width : 801px) and (max-device-width : 1116px), 
only screen and (min-width : 801px) and (max-width : 1116px) {
#main {
	margin-left: 45px;
	margin-right: 45px;
	width: auto;
}
}
@media 
only screen and (min-device-width : 480px) and (max-device-width : 800px), 
only screen and (min-width : 480px) and (max-width : 800px) {
#main {
	margin-left: 30px;
	margin-right: 30px;
	width: auto;
}
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 479px), 
only screen and (min-width : 220px) and (max-width : 479px) {
#main {
	margin-left: 15px;
	margin-right: 15px;
	width: auto;
}
}

#header {
	margin-top: 50px;
}
@media 
only screen and (min-device-width : 480px) and (max-device-width : 800px), 
only screen and (min-width : 480px) and (max-width : 800px) {
#header {
	margin-top: 30px;
}
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 479px), 
only screen and (min-width : 220px) and (max-width : 479px) {
#header {
	margin-top: 15px;
}
}

#direct_phone {
	display: none;
}

#header .site_title {
	position: relative;
	height: 120px;
	width: 100%;
}

#header .site_title a.hometitle {
	display: block;
	position: absolute;
	left: 0px;
	bottom: 0px;
	text-decoration: none;
	
	font-size: 3em; /* 48px 48/16 = 3*/
	color: #ccc;
	text-transform: uppercase;
}

#header .site_title.portal a.hometitle {
	right: 0px;
	text-align: right;
}

#header .site_title a.hmqgruppe  {
	position: absolute;
	top: 0px;
	right: 0px;
	text-decoration: none;
	border: 0;
}

#header .site_title .kooperation  {
	position: absolute;
	bottom: 2px;
	right: 0px;
}

#header .site_title a.hmqgruppe.partner  {
	top: 105px;
}

#header .site_title a.hmqgruppe.partner.messbildstelle  {
	margin-right: 12px;
}

#header .site_title.portal a.hmqgruppe  {
	left: 0px;
	top: inherit;
	bottom: 0px;
}
@media 
only screen and (min-device-width : 480px) and (max-device-width : 800px), 
only screen and (min-width : 480px) and (max-width : 800px) {
	#header .site_title .kooperation  {
		top: -30px;
	}
}

@media 
only screen and (min-device-width : 480px) and (max-device-width : 665px), 
only screen and (min-width : 480px) and (max-width : 665px) {
#header .site_title a.hometitle {
	font-size: 2em;
}
#header .site_title a.hmqgruppe,
#header .site_title .kooperation   {
}
#header .site_title .kooperation   {
}
#header .site_title a.hmqgruppe.partner  {
	top: 0px;
	right: 110px;
}

}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 479px), 
only screen and (min-width : 220px) and (max-width : 479px) {
#header .site_title, 
#header .site_title.portal {
	height: auto;
	text-align: center;
}
#header .site_title a.hometitle, 
#header .site_title.portal a.hometitle {
	display: block;
	position: relative;
	font-size: 1.8em;
	text-align: center;
}
#header .site_title a.hmqgruppe,
#header .site_title .kooperation  {
	position: relative;
	margin-bottom: 5px;
}
#header .site_title .kooperation   {
	max-width: 250px;
}
#header .site_title a.hmqgruppe.partner  {
	top: 0px;
	margin-left: 10px;
}

#direct_phone {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 5;
}
}

#header #nav {
	margin-top: 30px;
	height: 45px;
	/*background-color: #1d1d1d;*/
}

#header #nav_mobile {
	display: none;
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 479px), 
only screen and (min-width : 220px) and (max-width : 479px) {
#header #nav_mobile {
	display: block;
	margin-top: 30px;
	text-align: center;
}
#header #nav  {
	display: none;
}
#header #nav_mobile select, 
#header #nav_mobile select option {
	color: #0b0d10;
}
}

#content {
	margin-top: 50px;
}

#content p.anriss {
	margin-bottom: 50px;
	width: 66%;
	font-size: 0.925em;
}
#content p.zusatztext {
	margin-top: -25px;
}

@media 
only screen and (min-device-width : 480px) and (max-device-width : 800px), 
only screen and (min-width : 480px) and (max-width : 800px) {
#content p.anriss {
	margin-bottom: 30px;
}
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 479px), 
only screen and (min-width : 220px) and (max-width : 479px) {
#content p.anriss {
	margin-bottom: 15px;
}
}

#content p.anriss.second {
	margin-top: -25px;
}

#content div.filter {
	float: right;
	width: 33.3334%;
	font-size: 0.8em;
	margin-bottom: 20px;
}

#content div.lspalte {
	float: left;
	width: 66%;
	margin-right: 4%;
	margin-bottom: 20px;
}

#content div.rspalte {
	float: right;
	width: 30%;
	margin-bottom: 20px;
}

#content div.lspalte h3,
#content div.rspalte h3 {
	margin-top: 14px;
	margin-bottom: 0px;
}

#content div.rspalte h4 {
	color: #CCCCCC;
	font-weight: bold;
}

#content div.lspalte h3:first-child,
#content div.rspalte h3:first-child{
	margin-top: 0px;
}

#content div.lspalte p.date {
	font-size: 0.75em;
}

a.impressum {
	    font-size: 0.6875rem;
    color: #ccc;
	margin-top: 25px;
}

@media 
only screen and (min-device-width : 220px) and (max-device-width : 800px), 
only screen and (min-width : 220px) and (max-width : 800px) {
#content p.anriss,
#content div.filter {
	width: 100%;
}
	#content div.lspalte,
	#content div.rspalte {
		width: 100%;
		margin-right: 0px;
	}
	
}

span.play {
	color: #E84232;
}

#content #box_blog {
	overflow: hidden;
}

#content .box {
	width: 100%;
}

#content .box.portal {
	width: 66%;
	float: left;
}
@media 
only screen and (min-device-width : 480px) and (max-device-width : 800px), 
only screen and (min-width : 480px) and (max-width : 800px) {
#content .box.portal {
	display: block;
	width: 100%;
}	
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 479px), 
only screen and (min-width : 220px) and (max-width : 479px) {
#content .box.portal {
	display: block;
	width: 100%;
}
}

/*
#content #tumbler {
	background-color: #e84232;
	color:#FFF;
	font-size: 0.875em;
	
}

#content #tumbler a {
	color:#0A68A9;
	text-decoration:none;
}

#content #tumbler p {
	font-size: 1.0em;
	color:#FFF;
	padding-right:5px;
	font-weight: 300;
  line-height: 140%;
}


#content #tumbler div {
	width: 100%;
	background-color: #0A68A9;
	color:#fff;
	padding:10px;
	margin-bottom:10px;
	font-size: 1.25em;
}

#content #tumbler div img {
	float:right;
	margin-right:10%;
	margin-top:2px;
}

#content #tumbler ul li{
	list-style-type:none;
	margin-left:15px;
	color:#333;
	margin-bottom:20px;
}

			
@media 
only screen and (min-device-width : 480px) and (max-device-width : 800px), 
only screen and (min-width : 480px) and (max-width : 800px) {
#content #tumbler {
	display: block;
	width: 100%;
}
#content #tumbler div {
	width: 100%;
}	
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 479px), 
only screen and (min-width : 220px) and (max-width : 479px) {
#content #tumbler {
	display: block;
	width: 100%;
}
#content #tumbler div {
	width: 100%;
}
}
*/

#footer {
	margin-top: 50px;
	margin-bottom: 50px;
	padding-top: 25px;
	border-top: 1px solid #1d1d1d;
	overflow: hidden;
	
	clear: both;
}
@media 
only screen and (min-device-width : 480px) and (max-device-width : 800px), 
only screen and (min-width : 480px) and (max-width : 800px) {
#footer {
	margin-bottom: 30px;
}
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 479px), 
only screen and (min-width : 220px) and (max-width : 479px) {
#footer {
	margin-bottom: 30px;
	padding-top: 15px;
}
}

#footer #address {
	/*width: 342px;*/
	width: 33.3334%;
	height: auto; /*vorher 115px*/
	float: right;
}

#footer #nav_serv_social {
	float: left;
	width: 66%;
}

#footer #nav_service {
	width: 90%; /*vorher 90%*/
	height: 25px;
	margin-bottom: 25px; /*vorher 25px*/
	display: inline-block;
}

#footer #nav_social {
	width: 90%;
	height: 21px; /*vorher 21px*/
	margin-bottom: 5px;
}

#address p, 
#address a {
	font-size: 0.6875rem; /* 11px 11/16 = 0.6875 */
	color: #ccc;
	display: inline-block;
}

div.impressum {
	display: inline-block;
	margin-top: 0px;
	float: right;
}

div.impressum a {
	margin-top: 0px;
}

@media 
only screen and (min-device-width : 220px) and (max-device-width : 640px), 
only screen and (min-width : 220px) and (max-width : 640px) {
#footer #address, 
#footer #nav_service, 
#footer #nav_social, 
#footer #nav_serv_social {
	clear: both;
	display: block;
	width: 100%;
	height: inherit;
	margin-bottom: 25px;
}

#footer #nav_serv_social {
	margin-bottom: 25px; /*vorher 0px;*/
}

	#footer #nav_social {
		margin-bottom: 15px;
	}
	
	div.impressum {
		display: block;
		float: none;
		margin-top: 15px;
	}
}

div.col-left {
	width: 50%;
	float: left;
}

div.col-right {
	margin-left: 5%;
	width: 45%;
	float: right;
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 599px), 
only screen and (min-width : 220px) and (max-width : 599px) {
div.col-left {
	width: 90%;
	display: block;
	margin: 10px;
}

div.col-right {
	margin-left: 0;
	width: 100%;
	display: block;
}
}

/* Navigation */
#nav ul, 
#nav_service ul, 
#nav_social ul {
	overflow: hidden;
	margin: 0;
}

#nav ul li, 
#nav_service ul li, 
#nav_social ul li {
	float: left;
	list-style-type: none;
	height: 100%;
	margin: 0;
}

#nav ul {
	width: 100%;
}

#nav ul li {
	min-width: 100px;
	width: calc(20% - 144px / 5);
}

#nav li a {
	display: block;
	width: 100%;
	height: 45px;
	line-height: 45px;
		
	background-color: #1d1d1d;
	border-left: 1px solid #0b0d10;
	border-bottom: 1px solid #0b0d10;
	
	text-align: center;
	text-decoration: none;
}
@media 
only screen and (min-device-width : 480px) and (max-device-width : 1080px), 
only screen and (min-width : 480px) and (max-width : 1080px) {
#nav ul li {
	/*width: 18.6%;*/
}
#nav li a {
	font-size: 0.875em;
}
	
	div.impressum {
		display: block;
		float: none;
		margin-top: 15px;
	}
}

#nav li a:hover, 
#nav li a.active {
	background-color: #353535;
}

#nav ul li.home {
	width: auto;
	min-width: inherit;
}

#nav li.home a, 
#nav li.home a:hover {
	display: block;
	width: auto;
	padding: 0px 15px;
	border: 0px;
	background-color: #1d1d1d;	
}

#nav li.translate {
	width: 48px;
	min-width: 48px;
}
#nav li.translate a {
	background-color: #4db0db;
}

#nav_mobile .lang {
	position: absolute;
	top: 0;
	right: 0;
}
#nav_mobile .lang a {
	background-color: #4db0db;
	text-decoration: none;
	padding: 2px 4px;
	min-width: 20px;
	display: inline-block;
}
#nav_mobile .lang a:hover {
	background-color: #1d1d1d;	
}

#nav_service ul {
	width: 100%;
}

#nav_service ul li {
	min-width: 90px;
	width: 20%;
}

#nav_service li a {
	display: block;
	width: 100%;
	height: 25px;
	line-height: 25px;
		
	background-color: #1d1d1d;
	border-left: 1px solid #0b0d10;
	border-bottom: 1px solid #0b0d10;
	
	text-align: center;
	text-decoration: none;
	font-size: 0.8125em; /* 13px 13/16 = 0.8125 */
}

#nav_service li a:hover, 
#nav_service li a.active{
	background-color: #353535;
}
@media 
only screen and (min-device-width : 480px) and (max-device-width : 640px), 
only screen and (min-width : 480px) and (max-width : 640px) {
#nav_service ul li {
	width: 25%;
}
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 479px), 
only screen and (min-width : 220px) and (max-width : 479px) {
#nav_service ul li {
	width: 50%;
}
}

#nav_social ul {
	width: 100%;
}

#nav_social ul li {
	min-width: 30px;
	width: 10%;
	/*margin-right: 15px;*/
	/*text-align: center;*/
}

#nav_social ul li:last-child {
	margin-right: 0px;
}

#nav_social li a {
	display: block;
	width: 100%;
	height: 25px;
}

/*#nav_social li a img {
	border: 0;
	width: 25px;
	height: 25px;
}*/
#nav_social li a svg {
	border: 0;
	width: 25px;
	height: 25px;
}

.masonry-box.text .box-item.sociallinks {
	background-image: none;
}

.sociallinks ul {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	margin-bottom: 0px;
}

.sociallinks ul li {
	list-style: none;
	margin: 0px;
	padding: 0px;
	margin-right: 15px;
	margin-bottom: 15px;
}

.sociallinks ul li:last-child {
	margin-right: 0px;
}

.sociallinks ul li a svg {
	width: 25px;
	height: 25px;
}

@media 
only screen and (min-device-width : 320px) and (max-device-width : 640px), 
only screen and (min-width : 320px) and (max-width : 640px) {
#nav_social ul li {
	min-width: inherit;
	width: 16.5%;
}
}

/* Boxsystem */
.box {
	font-weight: 400;
}

.box a {
	display: block;
	text-decoration: none;
}

.box ul {
	margin: 0;
	overflow: hidden;
	list-style-type: none;
}

.box ul li {
	min-width: 250px;
	width: 33.3334%;
	height: 225px;
	float: left;
	overflow: hidden;
	margin: 0;
	list-style-type: none;
}
.box.portal ul li {
	width: 50%;
}
@media 
only screen and (min-device-width : 480px) and (max-device-width : 800px), 
only screen and (min-width : 480px) and (max-width : 800px) {
.box ul li, 
.box.portal ul li {
	min-width: 220px;
	width: 50%;
}
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 479px), 
only screen and (min-width : 220px) and (max-width : 479px) {
.box ul li, 
.box.portal ul li {
	min-width: 220px;
	width: 100%;
	clear: both;
	display: block;
}
}

.box .box_facebook,
.box .box_tumblr {
	height: 225px;
	line-height: 225px;
	background-color: #fff;
	text-align: left;
}

.box .box_facebook h2  {
	margin: 0;
	padding: 0;
	padding-left: 25px;
	height: 40px;
	line-height: 40px;
	background-color: #0A68A9;
}
.box .box_tumblr h2 {
	margin: 0;
	padding: 0;
	padding-left: 25px;
	height: 40px;
	line-height: 40px;
	background-color: #3A5875;
}

.box .box_tumblr h2 img {
	float: right;
	margin: 10px 25px;
}

.box .box_facebook ul,
.box .box_tumblr ul {
	margin: 25px;
	margin-top: 15px;
	margin-bottom: 15px;
}

.box .box_facebook ul li,
.box .box_tumblr ul li {
	margin-bottom: 15px;
	color: #0B0D10;
	height: inherit;
	width: inherit;
	clear: left;
	display: block;
	overflow: hidden;
}

.fb_img {
	width: 80px;
	height: 60px;
	overflow: hidden;
	float: left;
	margin-right: 10px;
}

.box .box_facebook ul li p,
.box .box_tumblr ul li p {
	color: #0B0D10;
}

.box .box_facebook a {
	text-decoration: none;
	display: block;
	height: 100%;
}

.box .box_referenz, 
.box .box_video, 
.box .box_dl, 
.box .box_team,
.box .box_jobs, 
.box .box_nav, 
.box .box_gallery {
	position: relative;
}

.box_referenz div, 
.box_video div, 
.box_dl div, 
.box_team div,
.box_jobs div, 
.box_nav div,
.box_gallery div {
	position: absolute;
	bottom: 0;
	width: 100%;
	background-image: url(../img/layout/black_trans70.png);	
}

.team_list h2 {
	margin-top: 80px;
	margin-bottom: 25px;
}

.team_list .box_team h2 {
	text-align: right;
}

.box_referenz h2, 
.box_video h2, 
.box_dl h2, 
.box_team h2,
.box_jobs h2, 
.box_nav h2, 
.box_gallery h2 {
	height: 40px;
	line-height: 40px;
	margin: 0;
	padding-left: 25px;
	padding-right: 25px;
}

.box_video h2 {
	margin-right: 25px;
	padding-right: 50px;
	background: url(../img/layout/icon_video_play.png) no-repeat right;
}

.uebersicht .box_dl h2 {
	height: 55px; 
	line-height: inherit;
	margin-top: 10px;
}

.dienstleistung .ct_box h3 {
	margin-top: 20px;
}

.box_referenz img, 
.box_video img, 
.box_dl img, 
.box_team img,
.box_jobs img, 
.box_nav img, 
.box_gallery img {
	width: 100%;
}

#imageContainer img, 
.team_img img, 
.job_img img {
	width: 100%;
}

.box .box_news:nth-child(odd),
.box .box_fragen {
	height: 225px;
	line-height: 225px;
	background-color: #e84232;
}

.box .box_fragen, 
.box .box_news:nth-child(even),
.box_jobs {
	height: 225px;
	line-height: 225px;
	background-color: #0a68a9;
}

.box_news div, 
.box_fragen div {
	height: 175px;
	margin: 25px;
	background: url(../img/layout/icon_plus.png) no-repeat right bottom;
}

@media 
only screen and (min-device-width : 480px) and (max-device-width : 800px), 
only screen and (min-width : 480px) and (max-width : 800px) {
.box li.box_news:nth-child(even) {
	margin-bottom: 1px;
}
}

.box_news h2,
.box_fragen h2 {
	text-transform: uppercase;
	margin: 0;
	margin-bottom: 25px;
}

.box_tumblr h3 {
	color: #0b0d10;
	font-weight: 300;
	text-transform: uppercase;
	margin: 0;
	margin-bottom: 16px;
}

/* Masonry Box-System */
.masonry-box {
	overflow: hidden;
	margin: 0;
	padding: 0;
}

.masonry-box .box-item {
	margin-bottom: 9px;
	margin-right: 0px;
}

.masonry-box.text .box-item {
	padding: 25px;
	background: #0a68a9;
	background-image: url(../img/layout/icon_plus.png);
	background-repeat: no-repeat;
	background-position: right 10px bottom 10px;
	background-size: 15px auto;
}

.masonry-box.text .size-1of3:nth-child(odd) .box-item:nth-child(odd), 
.masonry-box.text .size-1of3:nth-child(even) .box-item:nth-child(even), 
.masonry-box.text .size-1of2:nth-child(odd) .box-item:nth-child(odd), 
.masonry-box.text .size-1of2:nth-child(even) .box-item:nth-child(even), 
.masonry-box.text .size-1of1 .box-item:nth-child(odd) {
	background-color: #e84232;
}

.masonry-box .size-1of3:nth-child(3n) .box-item, 
.masonry-box .size-1of2:nth-child(2n) .box-item {
	margin-right: 0px;
}

.masonry-box .box-item a {
	display: block;
	text-decoration: none;
}

.masonry-box.text .box-item h2 {
	margin-top: 0px;
	margin-bottom: 25px;
	text-transform: uppercase;
	line-height: normal;
	height: auto;
}

.masonry-box.bild-text .box-item h2, 
.masonry-box.mixed .box-item.bild-text h2 {
	margin: 0px;
	padding: 10px;
	background: #1d1d1d ;
	text-transform: none;
	font-size: 1.075em;
}

.masonry-box.bild-text .box-item div.infos {
	background: #1d1d1d;
	position: relative;
	padding: 0px 15px 15px;
	width:auto;
}

.masonry-box.bild-text .box-item div.infos p {
	font-size: 0.8125rem;
}

.masonry-box .box-item img {
	display: block;
	width: 100%;
}

.masonry-box.mixed .bild-text.video h2 {
	background-image: url(../img/layout/icon_video_play_small.png);	
	background-repeat: no-repeat;
	background-position: right 10px center;
	padding-right: 35px;
}

/*.masonry-box .box-item div {
	padding: 15px;
}*/

/* Masonry Specials */
/* Startseite */
.masonry-box.mixed .box-item.bild-text {
	padding: 0;
	background: none;
}

.masonry-box.mixed .box-item#bg-blau {
	background-color: #0a68a9;
}

/* Facebook */
.masonry-box .box-item#facebook {
	background: #fff;
	padding: 0;
}

.masonry-box .box-item#facebook h2 {
	background-color: #0a68a9;;
    margin: 0;
    padding: 13px 25px;
}

.masonry-box .box-item#facebook img {
	height: 20px;
	width: auto;
}

.masonry-box #facebook ul {
	margin: 0;
	padding: 25px;
	padding-top: 15px;
	padding-bottom: 15px;
	overflow: hidden;
}

.masonry-box #facebook ul li {
	padding: 0;
	margin: 0;
	padding-bottom: 15px;
	color: #0B0D10;
	height: inherit;
	width: inherit;
	clear: left;
	display: block;
	overflow: hidden;
}

.masonry-box #facebook ul li:last-child {
	padding-bottom: 0;
}

.masonry-box #facebook .fb_img img {
	width: 80px;
	height: 60px;
	float: left;
	margin-right: 10px;
}

.masonry-box #facebook ul li p {
	color: #0B0D10;
}

/* DL-Übersicht Portal */
.masonry-box.bild-text.dl-list .box-item h2 {
	min-height: 48px;
}

.box-item div.infos a {
	height: auto;
	display: inline;
}
.box-item.kooperationen p {
	margin-bottom: 8px;
}

@media 
only screen and (min-device-width : 220px) and (max-device-width : 479px), 
only screen and (min-width : 220px) and (max-width : 479px) {
.masonry-box.text .box-item, 
.masonry-box .box-item#facebook h2, 
.masonry-box #facebook ul {
	padding: 15px;
}
.masonry-box .box-item {
	margin-right: 0px;
}
.masonry-box.bild-text.dl-list .box-item h2 {
	min-height: auto;
}

}

/* Salvattore - Masonry */
/* These are the classes that are going to be applied: */
.masonry-box .column { 
	float: left;
}
.masonry-box .size-1of3, 
.masonry-box .size-1of2 { 
	margin: 0;
	padding: 0;
	float: left;
	width: 33.3334%;
	width: calc(33.3334% - 6px);
	margin-right: 9px;
}

.masonry-box .size-1of2 {
	width: 50%;
	width: calc(50% - 4.5px);
}

.masonry-box .size-1of1 {
	width: 100%;
}

.masonry-box .size-1of3:nth-child(3n), 
.masonry-box .size-1of2:nth-child(2n) {
	margin-right: 0;
}

@media screen and (min-width: 801px) and (max-width: 5000px) {
.masonry-box[data-columns]::before {
	content: '3 .column.size-1of3';
}
}
@media screen and (min-width: 480px) and (max-width: 800px) {
.masonry-box[data-columns]::before {
	content: '2 .column.size-1of2';
}
}
@media screen and (max-width: 479px){
.masonry-box[data-columns]::before {
	content: '1 .column.size-1of1';
}
}

/* Titel Styling */
h1 {
	padding: 0;
	margin: 0;
	margin-bottom: 35px;
	font-size: 1.875em; /* 30px 30/16 = 1.875 */
	color: #ccc;
	text-transform: uppercase;
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 800px), 
only screen and (min-width : 480px) and (max-width : 800px) {
h1 {
	margin-bottom: 20px;
	font-size: 1.65em;
}
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 479px), 
only screen and (min-width : 220px) and (max-width : 479px) {
h1 {
	font-size: 1.5em;
}
}

h2 {
	padding: 0;
	margin: 0;
	margin-bottom: 5px;
	margin-top: 25px;
	font-size: 1.25em; /* 20px 20/16 = 1.25 */
	color: #fff;
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 800px), 
only screen and (min-width : 480px) and (max-width : 800px) {
h2 {
	font-size: 1.125em;
}
}

h3 {
	padding: 0;
	margin: 0;
	margin-bottom: 7px;
	/*font-size: 0.9375em;*/ /* 15px 15/16 = 0.9375*/
	/*color: #CCCCCC;*/
	/*font-weight: bold;*/
	color: #fff;
	font-size: 1.075em;
}

h4 {
	padding: 0;
	margin: 0;
	margin-bottom: 4px;
	font-size: 0.8125em; /* 13px 13/16 = 0.8125 */
	color: #6d6d6d;
}

#map h4 {
	font-size: 0.6rem;
	font-weight: bold;
}

/* Content */
#content .ct_box {
	padding: 25px;
	background-color: #1D1D1D;
	overflow: hidden;
}

ul, 
ol {
	margin-bottom: 25px;
}

li {
	margin-left: 45px;	
	margin-bottm: 10px;
}

.text p + ul {
	margin-top: 10px;
}
.text li {
	font-size: 0.875em;
}

ol li {
	list-style-type: decimal;
}

ul li {
	list-style-type: square;
}


/****************/
/**** TOOLS ****/
/****************/
#content .ref_detail .ct_box, 
#content .news_detail .ct_box, 
#content .job_detail .ct_box, 
#content .downloads_list .ct_box, 
#content .links_list .ct_box,
#content .contact .ct_box, 
#content .dienstleistung .ct_box, 
#content .team_detail .ct_box, 
#content .kooperation .ct_box {
	padding: 0px;
}



.ref_all {
	display: block;
	margin-top: 20px;
	background-color: #353535;
	padding: 10px;
	text-decoration: none;
}

/* Referenzen, News, Jobs, Team, Downloads */
#content .ref_detail p {
	margin-bottom: 50px;
	width: 66.6%;
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 800px), 
only screen and (min-width : 220px) and (max-width : 800px) {
#content .ref_detail p {
	width: 100%;
}	
}

.ref_detail table {
	width: 45%;
	margin: 25px;
	border-collapse: collapse;
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 599px), 
only screen and (min-width : 220px) and (max-width : 599px) {
.ref_detail table {
	width: 90%;
}
}

.ref_detail table td {
	padding: 3px 3px 3px 0px;
	border-bottom: 1px solid #353535;
	font-size: 0.875em;
}

.kooperation .text  {
	float: left;
	width: calc(50% - 50px);
	margin: 25px;
}

.news_detail .text, 
.ref_detail .text, 
.contact .text, 
.job_detail .text, 
.news_detail .autor_foto,
.ref_detail .autor_foto,
.dienstleistung .text, 
.team_detail .text  {
	width: 45%;
	margin: 25px;
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 599px), 
only screen and (min-width : 220px) and (max-width : 599px) {
.news_detail .text, 
.ref_detail .text, 
.contact .text, 
.job_detail .text, 
.news_detail .autor_foto,
.ref_detail .autor_foto,
.dienstleistung .text,
.team_detail .text,
.kooperation .text {
	width: 90%;
	margin: 10px;
}
}

.news_detail .text p, 
.job_detail .text p, 
.team_detail .text p, 
.kooperation .text p {
	margin-bottom: 15px;
}

.news_detail .text {
	margin-bottom: 15px;
}

.contact .map p {
	margin-top: 15px;
	margin-bottom: 15px;
}

.news_detail .autor_foto,
.ref_detail .autor_foto {
	margin-top: 0px;
}

.news_detail .autor_foto p,
.ref_detail .autor_foto p {
	font-size: 0.675em;
	color: #ccc;
}

.autor_foto span {
	width: 40px;
	display: inline-block;
}

#content .ref_detail ul.downloadlist, 
#content .news_detail ul.downloadlist, 
#content .job_detail ul.downloadlist,
#content .dienstleistung ul.downloadlist, 
#content .ct_box ul.downloadlist {
	width: 20%;
	min-width: 180px;
	margin-bottom: 0px;
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 599px), 
only screen and (min-width : 220px) and (max-width : 599px) {
#content .ref_detail ul.downloadlist, 
#content .news_detail ul.downloadlist, 
#content .job_detail ul.downloadlist,
#content .dienstleistung ul.downloadlist, 
#content .ct_box ul.downloadlist {
	width: 60%;
}
}

#content .ref_detail .downloadlist li, 
#content .news_detail .downloadlist li, 
#content .job_detail .downloadlist li,
#content .dienstleistung .downloadlist li, 
#content .ct_box .downloadlist li {
	margin-bottom: 3px;
	margin-left: 0px;
	padding-right: 5px;
	background-color: #353535;
	list-style-type: none;
}

#content .ref_detail .downloadlist li a, 
#content .news_detail .downloadlist li a, 
#content .job_detail .downloadlist li a,
#content .dienstleistung .downloadlist li a, 
#content .ct_box .downloadlist li a {
	display: block;
	padding: 5px 40px 5px 25px;
	text-decoration: none;
	font-size: 0.875em;
}

#content .ref_detail .downloadlist li a.dokument, 
#content .news_detail .downloadlist li a.dokument, 
#content .job_detail .downloadlist li a.dokument,
#content .dienstleistung .downloadlist  li a.dokument, 
#content .ct_box .downloadlist  li a.dokument {
	background: url(../img/layout/icon_dokument.png) center right no-repeat;
}

#content .ref_detail .downloadlist li a.pdf, 
#content .news_detail .downloadlist li a.pdf, 
#content .job_detail .downloadlist li a.pdf,
#content .dienstleistung .downloadlist  li a.pdf, 
#content .ct_box .downloadlist  li a.pdf {
	background: url(../img/layout/icon_pdf.png) center right no-repeat;
}

#content .ref_detail .downloadlist li a.jpg, 
#content .news_detail .downloadlist li a.jpg, 
#content .job_detail .downloadlist li a.jpg,
#content .dienstleistung .downloadlist  li a.jpg, 
#content .ct_box .downloadlist  li a.jpg {
	background: url(../img/layout/icon_jpg.png) center right no-repeat;
}

#content .ref_detail .downloadlist li a.movie,
#content .news_detail .downloadlist li a.movie,
#content .dienstleistung .downloadlist  li a.movie,
#content .ct_box .downloadlist  li a.movie, 
#content .ref_detail .downloadlist li a.sound,
#content .news_detail .downloadlist li a.sound,
#content .dienstleistung .downloadlist  li a.sound, 
#content .ct_box .downloadlist  li a.sound {
	background: url(../img/layout/icon_video_play_small.png) center right no-repeat;
}

#content .ref_detail .downloadlist li a.dreid {
	background: url("../img/layout/icon-3d.svg") center right no-repeat;
	background-size: auto 75%;
}

#content .news_detail ul.tags, 
#content .ref_detail ul.tags {
	width: 100%;
	list-style-type: none;
	margin-top: 10px;
	margin-left: 20px;
	overflow: hidden;
}

#content .news_detail .tags li, 
#content .ref_detail .tags li {
	width: auto;
	background-color: inherit;
	margin: 0px;
	padding: 0px;
	float: left;
	list-style-type: none;
}

#content .news_detail .tags li a, 
#content .ref_detail .tags li a {
	padding: 5px;
	font-size: 0.7em;
	text-decoration: none;
}

#content .news_detail .tags li a:hover, 
#content .ref_detail .tags li a:hover {
	background-color: #1D1D1D;
}

.contact div.partner_img {
	float: right;
	padding: 5px;
	margin-left: 5px;
  text-align: center;
}

.ref_detail div.ref_img, 
.news_detail div.news_img,
.job_detail div.job_img, 
.contact div.map, 
div.dl_img, 
.team_detail div.team_img {
	float: right;
	width: 50%;
	overflow-anchor: none;
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 599px), 
only screen and (min-width : 220px) and (max-width : 599px) {
.ref_detail div.ref_img, 
.news_detail div.news_img,
.job_detail div.job_img,  
.contact div.map, 
div.dl_img, 
.team_detail div.team_img  {
	clear: both;
	display: block;
	width: 100%;		
}
}

#content .ref_detail div.ref_img ul, 
#content .news_detail div.news_img ul , 
#content .dienstleistung div.dl_img ul, 
#content .contact div.map ul {
	width: 100%;
	height: 15px;
	overflow: hidden;
	margin-bottom: 10px;
}

#content .ref_detail div.ref_img ul li, 
#content .news_detail div.news_img ul li, 
#content .dienstleistung div.dl_img ul li, 
#content .contact div.map ul li {
	float: left;
	margin: 0;
	padding: 0;
	background-color: inherit;
	list-style-type: none;
}

#content .ref_detail div.ref_img ul li a, 
#content .news_detail div.news_img ul li a, 
#content .dienstleistung div.dl_img ul li a,
#content .contact div.map ul li a {
	display: block;
	height: 10px;
	background-color: #191818;
	margin-right: 1px;
}

#content .ref_detail div.ref_img ul li a:hover, 
#content .news_detail div.news_img ul li a:hover, 
#content .dienstleistung div.dl_img ul li a:hover,
#content .contact div.map ul li a:hover,
#content .ref_detail div.ref_img ul li.selected a,
#content .news_detail div.news_img ul li.selected a, 
#content .dienstleistung div.dl_img ul li.selected a,
#content .contact div.map ul li.selected a {
	cursor: pointer;
	background-color: #353535;
}

.downloads_list .ct_box .text,
.links_list .ct_box .text {
	margin: 25px;
} 

.downloads_list .ct_box li,
.links_list .ct_box li {
	margin: 0;
	padding: 3px 0px;
	margin-bottom: 5px;
	list-style-type: none;
}

.downloads_list .ct_box li a, 
.links_list .ct_box li a {
	font-size: 0.875em;
	text-decoration: none;
}

.contact ul.cont_detail {
	margin: 0;
	list-style-type: none;
}

.contact .cont_detail li {
	margin: 0;
	margin-top: 25px;
	overflow: hidden;
	list-style-type: none;
	font-size: 1em;
}

.contact .cont_detail h3 {
	text-transform: uppercase;
	margin-bottom: 5px;
}

.contact .cont_detail li img {
	float: left;
	margin-right: 10px;
	margin-bottom: 5px;
}

.contact .cont_detail .cont_sm, 
.team_detail .cont_sm {
	margin-top: 10px;
}

.contact .cont_detail .cont_sm img, 
.team_detail .cont_sm img {
	width: 1.2em;
	height: 1.2em;
}

.team_detail div.team_img img {
	display: block;
}

.contact .map div {
	font-size: 0.875em;
}

/* Formulare */
.form fieldset {
	border: 0;
}

.form legend {
	padding: 0;
	margin: 0;
	margin-bottom: 7px;
	font-size: 0.9375em; /* 15px 15/16 = 0.9375*/
	color: #6d6d6d;	
	text-transform: uppercase;
}

.form label {
	display: block;	
	font-size: 1em;
	margin-bottom: 5px;
}

.form label.cb {
	display: inline;
	margin-right: 20px;
}

.form label.rd {
	display: inline;
	margin-right: 20px;
}

.form label.cb.pdf {
	display: inline-block;
	width: 50px;
}

.form .input-desc {
	font-size: 0.8em;
	display: block;
	margin-top: -10px;
	margin-bottom: 15px;
}

.form select {
	height: 27px;
	box-shadow: none;
	outline: 0px none transparent;
}

.form input, 
.form select, 
.form textarea {
	background-color: #1D1D1D;
	border: 1px solid #353535;
	padding: 4px;
	font-size: 0.8em;
	width: 50%;
	margin-bottom: 15px;
}

@media 
only screen and (min-device-width : 220px) and (max-device-width : 599px), 
only screen and (min-width : 220px) and (max-width : 599px) {
.form input, 
.form select {
	width: 90%;
}
}

.form select option {
	padding: 5px;
	outline: 0px none transparent;
	height: 20px;
}

.form input:focus {
	border-color: #E84232;
}

.form input.checkbox, .form input.radio {
	width: auto;
	margin-right: 5px;
	border: 0;
}

.form input[type="submit"] {
	background-color: #0A68A9; 
}

.form input[type="submit"]:hover {
	background-color: #E84232;
	width: 50%;
}

.form input[type="checkbox"] {
	margin-bottom: 0px;
	margin-top: 0px;
}

a.dsgvocheck {
	text-decoration: none;
	text-decoration: underline #E84232;
}

.filter div {
	margin-bottom: 5px;
}

.filter .form input[type="submit"] {
	width: 20%;
	float: right;
}

.filter .form input[type="text"] {
	width: 75%;
}

.filter.form select {
	width: 100%;
	line-height: 30px;
}
.filter.form select option {
	line-height: 30px;
}

.filter a {
	background-color: #353535;
	display: block;
	line-height: 21px;
	padding: 10px;
	text-decoration: none;
}

.filter a img {
	float: right;
}

.form div.halb {
	font-size: 0.875em;
	display: inline-block;
	width: 26%
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 599px), 
only screen and (min-width : 220px) and (max-width : 599px) {
.form input[type="submit"]:hover {
	width: 90%;
}
.form textarea {
	width: 90%;
}
.form div.halb {
	width: 46%;
}
}

input.pflicht {
	border-right: 3px solid #E84232;
}

.form div.halb input.text {
	width: 90%;
}

.form span.inputtext {
	font-size: 0.8em;
	margin-left: -35px;
	margin-top: 6px;
	position: absolute;
	text-align: right;
	width: 30px;
}

#pflichttext, #captchatext {
	background-color: #E84232;
	padding: 5px;
	margin-bottom: 15px;
}


/* dienstleistungen */
@media 
only screen and (min-device-width : 220px) and (max-device-width : 599px), 
only screen and (min-width : 220px) and (max-width : 599px) {
div.accordion {
	width: 90%;
}
}
div.accordion {
	width: 66%;
}
div.accordion hr {
	border:0px;
	height:1px;
	width:100%;
	background-color:#222;
	margin-left:-12px;
}

.link {
	position:relative;
	margin-top:20px;
	background-color:#E84232;
	height:28px;
	padding-top:3px;
	padding-left:22px;
	margin-bottom:20px;
	width:180px;
	margin-left:-15px;
}
.link a {
	text-decoration:none;
}

a.filter {
	display: inline-block;
	padding: 1px 5px;
	background-color: #353535;
	text-decoration: none;
	margin-bottom: 3px;
	font-size: 0.8em
}

a.filter:hover{
	background-color: #E84232;
}

a.filter.active {
	background-color: #0A68A9;
}

div.accordion h3.outer {
	background: #1d1d1d;
	color: #fff;
	margin: 0px;
	padding: 12px;
	padding-top: 8px;
	padding-bottom: 6px;
	cursor: pointer;

}

div.accordion h3.outer.active, h3.outer.active:hover {
	background: #0067ac;
	color: #fff;
}

div.accordion h3.inner {

	color: #fff;
	margin: 0px;
	padding: 12px;
	padding-top: 4px;
	padding-bottom: 6px;
	cursor: pointer;
	margin-bottom:0px;
	padding-left:0px;
}

div.accordion h3.inner:before {
    content: "► ";
    color: #E84232;
}

div.accordion h3.inner.active, div.accordion h3.inner:hover {
	/*background: #353535;*/
	color: #bbb;
}
div.accordion h3.inner.active {
	cursor: inherit;
}

div.accordion > div > div {
	padding-top: 8px;
	padding-bottom: 1px;
	padding-left: 15px;
	padding-right: 8px;
	margin-left: 15px;
	background-color:#353535;
}

/* DL Übersicht */
.box ul li.box_dl {
	height: auto;
}

.box_dl a, 
.box_dl div.titel {
	position: relative;
	height: 225px;
}

li.box_dl {
	background: #1d1d1d;
}

.box_dl div.infos {
	background: #1d1d1d;
	position: relative;
	height: 80px;
	padding: 10px 25px;
	width:auto;
}

.box_dl div.infos p {
	font-size: 0.8125rem;
}

.box_dl:nth-child(2n) div.infos {
	background: #353535;
}

.box_dl div.infos a {
	height: auto;
	display: inline;
}

.box_dl.kooperationen p {
	margin-bottom: 8px;
}

/*.box ul li.box_dl.kooperation {
	background: #1d1d1d;
	height: 335px;
}

.box_dl.kooperation h2 {
	margin: 0;
	padding: 25px;
	height: auto;
}

.box_dl.kooperation .infos img {
	width: auto;
}*/

/* Facebook */
.fb_iframe_widget iframe {
	position: inherit !important;
}

/* Referenzkarte */
.refmap-nav {
	overflow: hidden;
}

.refmap-nav div.button {
	display: inline-block;
	padding: 10px;
	/*padding-left: 50px;*/
	margin-right: 10px;
	margin-bottom: 10px;
	background: #1d1d1d;
	color: rgba(255,255,255,0.7);
	font-size: 0.8rem;
	
	/*background: url(../img/layout/icon-architektur.svg) left center no-repeat #1d1d1d;
	background-size: auto 22px;
	background-position: 15px 15px;*/
}

.refmap-nav div.button:hover {
	cursor: pointer;
}

.refmap-nav div.button.active {
	background-color: rgba(229,53,23,0.7);
	color: rgba(255,255,255,1);
}

.refmap-nav div#denkmal.active { background: rgba(255,124,128,0.7); }

.refmap-nav div#vermessung.active { background: rgba(0,102,173,0.7); }
.refmap-nav div#expertise.active { background: rgba(51,153,204,0.7); }
.refmap-nav div#dreid.active { background: rgba(166,77,148,0.7); }


.refmap-nav div#tiefbau.active { background: rgba(242,148,0,0.7); }

.refmap-nav div#raumplanung.active { background: rgba(68,161,43,0.7); }
.refmap-nav div#verkehr.active { background: rgba(45,143,136,0.7); }
