@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;
}

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 */
}

form input.text {
	width: 200px;
}

/* Build */
#main {
	margin: 0 auto;
	position: relative;
	max-width: 1026px;
}
@media 
only screen and (min-device-width : 480px) and (max-device-width : 800px), 
only screen and (min-width : 480px) and (max-width : 800px) {
#main {
	max-width: 97%;
}
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 479px), 
only screen and (min-width : 220px) and (max-width : 479px) {
#main {
	max-width: 95%;
}
}

#header {
	margin-top: 50px;
}

#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.portal a.hmqgruppe  {
	left: 0px;
	top: inherit;
	bottom: 0px;
}
@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;
}

}
@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  {
	position: relative;
	margin-bottom: 5px;
}

#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.6%;
	font-size: 0.925em;
}

@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 {
	width: 100%;
}	
}

#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 {
	width: 33%;
	float: right;
	background-color: #09F; /* Farbe zum Testen/Berich markieren */
}	
@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%;
}	
}
@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%;
}
}

#footer {
	margin-top: 50px;
	margin-bottom: 50px;
	padding-top: 25px;
	border-top: 1px solid #1d1d1d;
	overflow: hidden;
}

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

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

#footer #nav_service {
	width: 90%;
	height: 25px;
	margin-bottom: 25px;
}

#footer #nav_social {
	width: 90%;
	height: 21px;
}

@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: 0px;
}
}

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

div.col-right {
	width: 50%;
	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: 100%;
	display: block;
}

div.col-right {
	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: 120px;
	width: 19%;
}

#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 : 800px), 
only screen and (min-width : 480px) and (max-width : 800px) {
#nav ul li {
	width: 18.6%;
}
#nav li a {
	font-size: 0.875em;
}
}

#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_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%;
}

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

#nav_social li a img {
	border: 0;
	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 {
	text-decoration: none;
}

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

.box ul li {
	min-width: 250px;
	width: 33.3%;
	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 {
	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_facebook ul {
	margin: 25px;
	margin-top: 15px;
	margin-bottom: 15px;
}

.box .box_facebook 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 a {
	color: #0B0D10;
	text-decoration: none;
}

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

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

.box_referenz h2, 
.box_video h2, 
.box_dl h2, 
.box_team 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;
}

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

.box_referenz img, 
.box_video img, 
.box_dl img, 
.box_team 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) {
	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;
}


/* 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 : 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;
}

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

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

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

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

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

li {
	margin-left: 45px;	
	margin-bottm: 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 {
	padding: 0px;
}



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

/* 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;
}

.news_detail .text, 
.contact .text, 
.job_detail .text, 
.news_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, 
.contact .text, 
.job_detail .text, 
.news_detail .autor_foto,
.dienstleistung .text, 
.team_detail .text {
	width: 90%;
	margin: 10px;
}
}

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

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

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

.news_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 {
	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 {
	width: 60%;
}
}

#content .ref_detail .downloadlist li, 
#content .news_detail .downloadlist li, 
#content .job_detail .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 {
	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 {
	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 {
	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 {
	background: url(../img/layout/icon_jpg.png) center right no-repeat;
}

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

#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;
}

.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%;
}
@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 {
	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 {
	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 {
	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 .ref_detail div.ref_img ul li.selected a,
#content .news_detail div.news_img ul li.selected a {
	cursor: pointer;
	background-color: #353535;
}

.links_list .ct_box ul {
	margin: 25px;
	list-style-type: none;
}

.links_list .ct_box li {
	margin: 0;
	list-style-type: none;
}

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

.downloads_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;
}

/* 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;
}

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

 input,
 select,
 textarea,
 button{
	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%;
}
}

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

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

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

input[type="submit"]:hover, input[type="button"]:hover, button:hover {
	background-color: #E84232;
	width: 50%;
}
@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%;
}
}

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

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

/* tree */
div.tree {
	padding: 10px;
	margin: 10px;
	background-color: #333333;
	border: 1px solid #555;
	font-size: 12px;
}

div.tree ul.dynatree-container {
	background-color: #333333;
	border: 0;
}

div.tree span.dynatree-active a {
	background-color: #555555;
	border: 1px solid transparent !important;
}

div.tree span.dynatree-selected a  {
	font-style: normal;
	font-weight: bold;
}

div.tree li {
	font-size: 1em;
}

div.tree ul.dynatree-container a {
	border: 1px solid transparent;
	color: white;
}

div.tree ul.dynatree-container a:hover,
div.tree ul.dynatree-container a:focus {
	border: 1px solid #777;
	background-color: #555;
}

div.tree a, div.tree a:hover, div.tree a:focus {
	outline: none;
}


/* upload */
span.addFiles {
	display: block;
	background-color: #0A68A9;
	border: 1px solid #353535;
	padding: 4px;
	font-size: 0.8em;
	width: 100px;
	margin-bottom: 15px;
	height: 25px;
	color: white;
}