 @charset "UTF-8";

/* LAYOUT CSS IMPORT*/
@import url("../css/navbar.css");
/* USED COLORS
-------------------------------------------------*/
.color-orange {
	color: rgba(255,102,0,1); /* #ff6600 • RGB 255 102 0 • CMYK 0 72 94 0 */
}
.color-grau {
	color: rgba(52,58,64,1); /* #343a40 • RGB 52 58 64 • CMYK 76 64 53 49 */
}

/*Selection*/
::-webkit-selection {
 background: #000;
 color: #fff;
}
::-moz-selection {
 background: #000;
 color: #fff;
}
::selection {
	background: #000;
	color: #fff;
}

/*Placeholder*/
::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
 color: #afafb0 !important;
 opacity: 1; /* Firefox */
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
 color: #afafb0 !important;
}
::-ms-input-placeholder { /* Microsoft Edge */
 color: #afafb0 !important;
}
/* BODY + CONTAINER
-------------------------------------------------*/
body {
	background-color: rgba(52,58,64,1);
}
@media (min-width: 1600px) {
.container {
	max-width: 1470px;
}
}
/* SECTION PADDING + SECTION TITLE
-------------------------------------------------*/
.section-padding {
	padding-top: 12rem;
	padding-bottom: 12rem;
}
.section-title {
	margin-bottom: 6rem;
}
.section-title .h2 {
	display:inline-flex;
	margin-bottom: 2.5rem;
	font-weight: 700;
	position: relative;
	text-transform: uppercase;
	z-index: 1;
}
.section-title .h2.line::before {
	background-color: rgba(255,102,0,1);
	content: "";
	position: absolute;
	width: 70px;
	height: 10px;
	bottom: 6px;
	display: block;
	z-index: -1;
}
/*.section-title .h2.line-center::before {
	left: 50%;
	transform: translateX(-50%);
}*/
.section-title p {
	font-size: 1.5rem;
}
.section-title .top-title,
.top-title {
	font-size: 1.6rem;
	color: rgb(120, 120, 120);
	letter-spacing: 5px;
	font-weight: 700;
	margin-bottom: 2rem;
	position: relative;
	display: block;
	text-transform: uppercase;
}
@media (max-width: 991px) {
.section-padding {
	padding-top: 8rem;
	padding-bottom: 8rem;
}
}
@media (max-width: 767px) {
.section-padding {
	padding-top: 5rem;
	padding-bottom: 5rem;
}
}
/* HEADER
-------------------------------------------------*/
header.main-header {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 1030;
}
header.main-header .main-box {
	background-color: rgba(52,58,64,1);
	-webkit-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
header.main-header.on-scroll-change .main-box {
	background-color: #343a40;
	box-shadow: 1px 2px 5px rgba(100, 100, 100, 0.1);
}
/* MAIN
-------------------------------------------------*/
main.main-content {
	background-color: rgba(255,255,255,1);
}
/* INTRO
-------------------------------------------------*/
#intro {
	position: relative;
	width: 100%;
	height: 76vh;
	min-height: 400px;
	background-attachment: scroll;
	background-repeat: no-repeat;
	background-position: 80% center;
	background-size: cover;
	background-image: url(../img/Fotolia_97662621_L.jpg);
}
#intro::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.3);
	background: linear-gradient(110deg, rgba(36, 60, 102, 0.6) 45%, rgba(0, 0, 0, 0.0) 80%);
}
#intro .intro-text {
	margin-top: -3rem;
	position: relative;
}
#intro .intro-text .topline,
#intro .intro-text .intro-text,
#intro .intro-text h1 {
	-webkit-text-shadow: 2px 2px 2px rgba(0,0,0,0.25);
	text-shadow: 2px 2px 2px rgba(0,0,0,0.25);
}
#intro .intro-text .topline {
	font-size: 14px;
	line-height: 1.1;
	letter-spacing: 5px;
	color: rgba(255,255,255,1);
	text-transform: uppercase;
	font-weight: 600;
}
#intro .intro-text .textline {
	font-size: 62px;
	line-height: 1.4;
	font-weight: 300;
	padding: 0px;
	text-transform: uppercase;
	display: block;
	margin-top: 2rem;
	margin-right: 0;
	margin-bottom: 2.4rem;
	margin-left: 0px;
	color: rgba(255,255,255,1);
}
#intro .intro-text .fontbold {
	font-weight: 600;
}
#intro .font-bg-highlight {
	color: rgb(255,255,255);
	background-color: rgba(52, 58, 64,0.85);
	display: flex-block;
	padding: 0rem 1.8rem 0rem 1.8rem;
	border-radius: 1rem;
	box-decoration-break: clone;
}
#intro .intro-text h1 {
	font-size: 1.8rem;
	color: rgba(255,255,255,1);
	font-weight: 500;
	line-height: 1.5;
	margin-bottom: 3rem;
}
@media screen and (max-width: 1199px) {
#intro .intro-text .topline {
	font-size: 11px;
	letter-spacing: 0.1em;
}
#intro .intro-text .textline {
	font-size: 50px;
}
}
@media (max-width: 1399px) {
#intro .intro-text .textline {
	font-size: 5rem;
}
}
@media (max-width: 991px) {
#intro .intro-text .textline {
	font-size: 4rem;
}
}
@media (max-width: 767px) {
#intro .intro-text .topline {
	font-size: 11px;
}
#intro .intro-text .textline {
	font-size: 28px;
}
#intro .intro-text h1 {
	font-size: 1.4rem;
	line-height: 1.4;
}
}
@media (max-width: 575px) {
#intro .intro-text .textline {
	font-size: 3.4rem;
	line-height: 1.2;
}
}
/* KONTAKT INFO
-------------------------------------------------*/

#kontaktinfo {
	position: relative;
}
#kontakt-info {
	background-color: rgba(255,255,255,1);
	margin-top: -50px;
	z-index: 10;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	border-radius: 1rem;
	padding: 4.5rem 0 4.5rem 0;
	transition: all 0.3s cubic-bezier(0.67, 0.15, 0.83, 0.83);
}
#kontakt-info article {
}
#kontakt-info article h4 {
	margin-bottom: 8px;
}
#kontakt-info article p {
	line-height: 1.3;
	color: rgba(102,102,102,1);
	font-weight: 500;
	margin-bottom: 0;
}
#kontakt-info article i {
	color: rgba(255,102,0,1);
	font-size: 3.2rem;
	margin-right: 1.5rem;
}
@media (max-width: 1199px) {
#kontakt-info {
	padding: 4rem;
}
}
@media (max-width: 575px) {
#kontakt-info {
	padding: 4rem 0rem 4rem 3rem;
	margin-top: 50px;
}
#kontakt-info.mobilescroll {
	margin-top: -50px;
}
#kontakt-info article i {
	font-size: 28px;
	margin-right: 1.5rem;
}
}
/* WER SIND WIR
-------------------------------------------------*/

#wersindwir .sign-mh-box {
	margin-bottom: 6rem;
}
#wersindwir .sign-mh-box .sign-mh {
	font-size: 13px;
	color: rgb(100,100,100);
}
#wersindwir .handwerkermeister {
	max-width: 60vw;
}
#wersindwir .sign-mh-box .sign-mh-icon {
	font-size: 24px;
	color: rgba(234,103,30,1);
	vertical-align: middle;
}
#wersindwir .sign-mh-box .sign-mh-icon:hover {
	color: rgba(0,0,0,1);
}
@media (max-width:1599px) and (min-width:992px) {
#wersindwir .handwerkermeister {
	margin-left: -70px;
}
}
@media (max-width: 1199px) {
#wersindwir .outer-box {
	margin-bottom: 6rem;
	margin-right: 15px;
	margin-left: 15px;
}
}
@media (max-width: 991px) {
#wersindwir .sign-mh-box {
	display: block;
	margin-bottom: 2rem;
}
}
/* LEISTUNGEN
-------------------------------------------------*/
#leistungen {
}
#leistungen card {
	position: relative;
}
#leistungen #leistungen-innerbox {
	position: relative;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 35px;
	margin-left: 0px;
	border: 3px solid #CCCCCC;
}
#leistungen #leistungen-innerbox #innungs-logo {
	height: 160px;
	width: 160px;
	position: absolute;
	top: -90px;
	right: 21%;
	z-index: 5;
}
@media (max-width: 1599px) {
#leistungen #leistungen-innerbox #innungs-logo {
	top: -70px;
}
}
@media (max-width: 1199px) {
#leistungen #leistungen-innerbox #innungs-logo {
	right: 2%;
	z-index: 5;
}
}
@media (max-width: 991px) {
#leistungen #leistungen-innerbox #innungs-logo {
	height: 140px;
	width: 140px;
}
}
@media (max-width: 575px) {
#leistungen #leistungen-innerbox #innungs-logo {
	right: -5px;
}
}
#leistungen article.card {
	padding: 4rem;
	color: #000;
	position: relative;
	z-index: 2;
	border: 0px solid rgba(0,0,0,.125);
	border-radius: 0;
}
#leistungen article .leistungen-number {
	font-size: 16rem;
	font-weight: 700;
	position: absolute;
	top: 0px;
	left: 20px;
	opacity: 0.1;
	color: rgba(235,235,235,1);
}
#leistungen article h3 {
	font-size: 3rem;
	font-weight: 600;
	margin-bottom: 2rem;
	text-rendering: optimizeLegibility;
	color: rgba(255,255,255,1);
	text-shadow: 2px 2px 2px rgba(0,0,0,0.2);
}
#leistungen article p {
	font-size: 1.5rem;
	color: rgba(245,245,245,1);
	text-shadow: 2px 2px 2px rgba(0,0,0,0.2);/*-ms-hyphens: auto;
	-webkit-hyphens: auto;
	hyphens: auto;*/
}
#leistungen .leistungen-box-1 {
	background-color: #999999;
	background-attachment: scroll;
	background-image: url(../img/Fotolia_136777510_S.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
#leistungen .leistungen-box-2 {
	background-color: #777777;
	background-attachment: scroll;
	background-image: url(../img/Fotolia_222632555_S.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
#leistungen .leistungen-box-3 {
	background-color: #555555;
	background-attachment: scroll;
	background-image: url(../img/Fotolia_63632713_S.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
#leistungen .leistungen-box-4 {
	background-color: #333333;
	background-attachment: scroll;
	background-image: url(../img/Fotolia_198140158_S.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
#leistungen .card .overlay {
	position: absolute;
	left: 0px;
	top: 0px;
	right: 0px;
	bottom: 0px;
	z-index: -1;
	background: linear-gradient(45deg, #0e2c48 20%, #185a9d 90%);
	opacity: 0.75;
	transition: opacity 0.3s ease-in-out ;
}
#leistungen .card:hover .overlay {
	opacity: 1;
}
/* SERVICE
-------------------------------------------------*/
.service-items .media {
	margin-bottom: 1rem;
	position: relative;
}
.service-items .media i {
	font-size: 2rem;
	position: absolute;
	left: 0px;
	top: 1px;
}
#service .serviceauswahl {
	max-width: 100%;
}
.service-items .media .media-body {
	margin-left: 2.8rem;
}
 @media (min-width: 992px) {
.service-items .media {
	margin-bottom: 0.6rem;
	min-height: 110px;
}
.service-items .service-items-left .media i {
	right: 0px;
}
.service-items .service-items-left .media .media-body {
	margin-left: 0;
	margin-right: 2.8rem;
}
.service-items .service-items-right .media .media-body {
	margin-left: 2.8rem;
	margin-right: 0;
}
}
/* PRÜFUNGEN
-------------------------------------------------*/
#pruefungen {
	background-color: #f7f9fa;
	position: relative;
}
#pruefungen .service-item {
	border: 1px solid #eef1f5;
	background: #fff;
	text-align: center;
	padding: 4rem 3.5rem;
	-webkit-box-shadow: 10px 10px 14px -6px rgba(0,0,0,0.05);
	-moz-box-shadow: 10px 10px 14px -6px rgba(0,0,0,0.05);
	box-shadow: 10px 10px 14px -6px rgba(0,0,0,0.05);
	border-radius: 10px;
	transition: all 0.3s ease-in-out ;
	transform: translateY(0px);
}
#pruefungen .service-item:hover {
	transform: translateY(-7px);
}
#pruefungen .service-item img {
	width: 100px;
	height: auto;
	margin-top: -85px;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 2rem;
}
.pruefung-list img {
	max-width: 80px;
}
/* STAPLER IMAGE
-------------------------------------------------*/
#stapler-image {
	position: relative;
}
#stapler-image img {
	position: relative;
	margin-bottom: -1px;
	z-index: 10;
	max-width: 80%;
}
@media (max-width: 991px) {
#stapler-image img {
	max-width: 100%;
}
}
/* FOOTER
-------------------------------------------------*/
#main-footer {
	color: rgba(204,204,204,1);
	background-color: #343a40;
}
#main-footer .footer-top {
	padding-top: 9rem;
	padding-bottom: 5rem;
}
#main-footer .footer-bottom {
	padding-top: 3rem;
	padding-bottom: 4rem;
	background-color: #2e3339;
}
#main-footer .footer-vcard figure {
	position: relative;
}
#main-footer .footer-vcard img {
	margin-top: -120px;
	width: 100%;
	max-width: 450px;
}
#main-footer h4 {
	font-size: 1.6rem;
	color: rgba(255,255,255,1);
	margin-bottom: 1.6rem;
	font-weight: 600;
	text-transform: uppercase;
}
#main-footer p {
	line-height: 1.7;
}
#main-footer i {
	font-size: 1.6rem;
	vertical-align: middle;
	font-weight: 600;
	margin-left: 3px;
}
#main-footer .footer-call-out {
	margin-bottom: 5rem;
}
#main-footer address .c-icon {
	width: 1.8rem;
	display: inline-flex;
}
@media (max-width: 1599px) {
#main-footer .footer-top {
	padding-top: 7rem;
	padding-bottom: 6rem;
}
#main-footer .footer-vcard img {
	margin-top: -95px;
}
#main-footer .footer-call-out {
	margin-bottom: 5rem;
}
}
/* RECHTLICHES
-------------------------------------------------*/
main.rechtliches-im,
main.rechtliches-da {
	background-color: #FFFFFF;
}
main.rechtliches-im .bg-grey,
main.rechtliches-da .bg-grey {
	background-color: #f7f9fa;
}
/* ---impressum*/
#impressum h3 {
	font-size: 2.1rem;
}
@media (max-width: 991px) {
#impressum h3 {
	font-size: 1.8rem;
}
}
/* ---dsgvo*/
#datenschutz .dsgvo-box {
	background-color: rgba(204,204,204,1);
	padding: 2px;
	position: relative;
}
#datenschutz .dsgvo-text {
	overflow-y: scroll;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;/*scrolling faster*/
	padding: 3rem;
	height: 60vh;
	background-color: rgba(255,255,255,1);
	position: relative;
}
#datenschutz .dsgvo-text h4 {
	font-size: 16px;
	font-weight: 700;
}
#datenschutz .dsgvo-text p {
	margin-bottom: 1.5rem;
}
/* ---ul*/
#datenschutz .dsgvo-text ul {
	margin-top: 0;
	margin-right: 0;
	margin-bottom: 20px;
	margin-left: 0;
}
#datenschutz .dsgvo-text ul li {
	list-style-image: none;
	list-style-type: none;
	margin-left: 0;
	margin-bottom: 15px;
}
#datenschutz .dsgvo-text ul ul li {
	position: relative;
	margin-left: 15px;
	margin-bottom: 10px;
	padding-left: 5px;
	list-style-position: outside;
	list-style-type: none;
	list-style-image: none;
}
@media only screen and (max-width : 991px) {
#datenschutz .dsgvo-text {
	padding: 15px;
}
}
/* ERROR 404 PAGE
-------------------------------------------------*/

#error404 {
	background-color: #f3f3f3;
	padding-top: 5rem;
	padding-bottom: 5rem;
	height: 65vh;
}
#error404 h1 {
	font-size: 140px;
	font-weight: 800;
	color: rgb(0,0,0);
	margin-bottom: 20px;
}
#error404 p {
	margin-bottom: 30px;
}
@media (max-width: 767px) {
#error404 h1 {
	font-size: 100px;
}
}
/* ADD: Accordion etc.
-------------------------------------------------*/

[data-toggle="collapse"] .fas:before {
	content: "\f055";
}
[aria-expanded="true"] .fas:before {
	content: "\f056";
}
[data-toggle="collapse"].collapsed .fas:before {
	content: "\f055";
}
/* POPOVER
-------------------------------------------------*/
.popover {
	font-size: 1.4rem;
	border: none;
}
.popover-header {
	font-size: 1.6rem;
}
.popover-body {
	font-size: 1.4rem;
	background-color: rgba(51,51,51,1);
	color: rgba(255,255,255,1);
}
.bs-popover-right .arrow::after,
.bs-popover-auto[x-placement^="right"] .arrow::after {
	left: 1px;
	border-right-color: rgba(204,0,0,1);
}
/* TOOLTIP
-------------------------------------------------*/
.tooltip {
	font-size: 1.3rem;
	font-weight: 700;
}
.tooltip .tooltip-inner {
	padding: 0.6rem 1.2rem;
	background-color: rgba(0,0,0,1);
}
.tooltip .arrow:before {
	border-bottom-color: rgba(0,0,0,1) !important;
	border-top-color: rgba(0,0,0,1) !important;
}
.bs-tooltip-top {
	top: -8px !important;
}
.bs-tooltip-right {
	left: 8px !important;
}
.bs-tooltip-bottom {
	top: 8px !important;
}
.bs-tooltip-left {
	left: -8px !important;
}
/* MODALS
-------------------------------------------------*/
/*---Blur Background */
body.modal-open section {
	-webkit-filter: blur(2px);
	-moz-filter: blur(2px);
	-o-filter: blur(2px);
	-ms-filter: blur(2px);
	filter: blur(2px);
 filter: url("https://gist.githubusercontent.com/amitabhaghosh197/b7865b409e835b5a43b5/raw/1a255b551091924971e7dee8935fd38a7fdf7311/blur".svg#blur);
 filter:progid:DXImageTransform.Microsoft.Blur(PixelRadius='2');
}
/*---Modal Center*/
.modal {
}
.modal-backdrop {
	opacity: 0.5 !important;
}
.modal-dialog {
}
.modal-content {
	border-radius: 0;
	border: none;
}
.modal-header,
.modal-body,
.modal-footer {
	padding-top: 2rem;
	padding-right: 3rem;
	padding-bottom: 2rem;
	padding-left: 3rem;
}
.modal-header {
	align-items: center;
	border-bottom-color: #EEEEEE;
	background-color: #FAFAFA;
	position: relative;
}
.modal-header .modal-title {
	font-size: 2.4rem;
	line-height: 1.5;
}
.modal-header .modal-title span {
	display: block;
	text-transform: none;
	font-size: 1.4rem;
	letter-spacing: 0;
	font-family: Lato;
	opacity: 0.5;
}
.modal-header .close {
	font-size: 3.6rem;
	font-weight: 500;
	margin: 0px;
}
.modal-body {
}
.modal-footer {
	background-color: #FAFAFA;/*
	display: flex;
	justify-content: left;
	*/
}
/*---MODAL LEFT*/
.modal.left .modal-dialog,
.modal.right .modal-dialog {
	position: fixed;
	margin: auto;
	width: 100%;
	max-width: 500px;
	height: 100%;
	-webkit-transform: translate3d(0%, 0, 0);
	-ms-transform: translate3d(0%, 0, 0);
	-o-transform: translate3d(0%, 0, 0);
	transform: translate3d(0%, 0, 0);
}
.modal.left .modal-content,
.modal.right .modal-content {
	height: 100%;
	overflow-y: auto;
}
.modal.left .modal-body,
.modal.right .modal-body {
	padding: 15px 15px 80px;
}
.modal.left .modal-footer {
	justify-content: right;
}
.modal.right .modal-footer {
	justify-content: left;
}
/*-Left*/
.modal.left.fade .modal-dialog {
	left: -320px;
	-webkit-transition: opacity 0.3s linear, left 0.3s ease-out;
	-moz-transition: opacity 0.3s linear, left 0.3s ease-out;
	-o-transition: opacity 0.3s linear, left 0.3s ease-out;
	transition: opacity 0.3s linear, left 0.3s ease-out;
}
.modal.left.fade.show .modal-dialog {
	left: 0;
}
/* MAGNIFIC-POPUP
-------------------------------------------------*/
.mfp-close {
	color: #fff;
	font-size: 56px;
	font-style: normal;
	height: 76px;
	line-height: 76px;
	opacity: 0.65;
	padding: 0 0 18px 10px;
	position: absolute;
	right: 0;
	text-align: center;
	text-decoration: none;
	top: 0;
	width: 76px;
}
.mfp-bg {
	opacity: 0.8;
	background-color: rgba(0,0,0,1);
}
