html {
    scroll-behavior: smooth;
}

body {
    margin: 0 auto;
}

.header-topbar, .navbar-toggle {
    display: none;
}

.header-main {
    box-shadow: none !important;
}

.header-logo, .header-main .logo {
    line-height: 0;
}

.header-logo img {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.25) !important;
}

a.main-menu {

    transition: color 0.3s ease, border-color 0.3s ease;
}

a.main-menu:hover {

    color: #bd0727 !important;

}

#menu-item-899 a {
    margin: 28px 0;
    padding: 0 10px;
    line-height: 40px;
    border: 2px solid;
    border-color: #fff;
}

#menu-item-899 a:hover {
    border-color: #bd0727;

}

#kontakt-box {
    position: relative;
    z-index: 200;
}

.kontakt-row {
    margin-top: 100px;
    padding-top: 50px;
    background-image: url(/wp-content/uploads/2018/12/footer-bg.jpg) !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: left bottom !important;
    position: relative;
    z-index: 200;
}

footer {
    position: relative;
    z-index: 100;
}

.text__white {
    color: #fff;
}

#kontakt-info {
    min-height: 500px;
}

#kontakt-info .vc_column-inner .wpb_wrapper {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.estador-phone .wpb_wrapper,
.estador-email .wpb_wrapper {
    position: relative;
    top: unset !important;
    -webkit-transform: unset !important;
    -ms-transform: unset !important;
    transform: unset !important;
}

.estador-phone p,
.estador-email p {
    line-height: 1;
    font-size: 3em;
    font-weight: 900;
    position: relative;
    padding: 30px 0;
    color: #fff;
    margin: 0;
    filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.75));
}

.estador-phone i, .estador-email i {
    font-size: 2.5em;
    z-index: 1;
}

.estador-phone i::before, .estador-email i::before {
    display: block;
    color: rgba(255, 255, 255, 0.3);
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    font-size: 3em;
}

.estador-email a {
    color: #fff;
}

.estador-email a:hover {
    color: #2aacff;
}

.grid-items {
    -webkit-box-shadow: inset 0px 0px 0px 5px rgba(255, 255, 255, 1) !important;
    -moz-box-shadow: inset 0px 0px 0px 5px rgba(255, 255, 255, 1) !important;
    box-shadow: inset 0px 0px 0px 5px rgba(255, 255, 255, 1) !important;
}

.custom-contact-form-wrapper > .vc_column-inner {
    padding-top: 100px !important;
    padding-left: 50px;
    padding-right: 50px;
    padding-bottom: 50px;
}

.contact-form-field {
    color: #fff;
    max-width: none;
}

.acceptance-privacy-policy {
    color: #fff;
}

.acceptance-privacy-policy .wpcf7-list-item {
    margin-left: 0;
}

.acceptance-privacy-policy label {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    font-weight: normal;
}

.acceptance-privacy-policy label input {
    margin-right: 10px;
}

.privacy-link {
    color: #fff;
    text-decoration: underline;
}

.mandatory-fields {
    color: #fff;
    font-size: 0.8em;
    text-align: right;
    margin-top: 20px;
}

.contact-form-submit-wrapper {
    text-align: right;
}

.contact-form-submit-wrapper .ajax-loader {
    display: none !important;
}

.contact-form-submit {
    width: 200px;
}

span.wpcf7-not-valid-tip {
    background-color: #fff;
    padding: 0.2em 1em;
    color: #5e6d77;
}

div.wpcf7-mail-sent-ok,
div.wpcf7-validation-errors {
    background-color: #fff;
    border: none;
    margin: 0;
}

.c2a-row {
    background: rgba(0, 0, 0, .75);
    padding-top: 20px;
    padding-bottom: 20px;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: unset  !important;
    display: block !important;
    z-index:11;
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
}

.c2a {
    width: 275px;
    padding: 0 20px;
    margin: 0 auto;
    display: block;
}

div.gallery-content {
	background-color: #fff;
}

.title-lp {
	padding-top: 30px;
}

.title-lp-seeheim {
	padding-top: 30px;
}

.title-lp-chemnitz {
	padding-top: 30px;
}

div.section-title-lp {
	margin-bottom: 30px;
}

div.section-lp {
	padding-top: 30px;
	padding-bottom: 0px;
}

div.sanierung-icon .icon-paint_roller {
	padding-right: 7px;
}

.qmpreis .icon-items {
	font-size: 19px !important;
	border: 2px solid #bd0926;
	padding: 7px 11px 6px 10px;
	border-radius: 3px;	
}

@media screen and (min-width: 768px) {
	    .title-lp {
		padding-top: 57px;
	}
	
	.title-lp-seeheim {
	padding-top: 16px;
	}
	
	.title-lp-erfurt {
		padding-top: 30px;
	}
	
	div.section-lp {
		padding-top: 50px;
	}
	
	.kontakt-row {
		padding-top: 100px;
    }
}

@media screen and (min-width: 1200px) {
    .title-lp {
		padding-top: 187px;
	}
	
	.title-lp-erfurt {
		padding-top: 65px;
	}
	
	.title-lp-chemnitz {
		padding-top: 60px;
	}
}

@media screen and (max-width: 767px) {

	div.section-lp-bottom {
		margin-bottom: -50px;
	}
	
	.title-lp-erfurt {
		padding-top: 40px;
	}
	
	#kontakt-box {
		margin-top: -50px;
	}
	
	div.service-content {
		margin-bottom: -20px;
	}
	
    .page-title {
        height: 380px;
    }

    .header-main .logo {
        max-width: 125px;
    }

    .custom-contact-form-wrapper > .vc_column-inner {
        padding-top: 50px !important;
        padding-left: 15px;
        padding-right: 15px;
        padding-bottom: 50px;
    }
}

@media screen and (min-width: 1024px) {

    .header-main .logo {
        max-width: 180px;
    }
}

@media screen and (max-width: 600px) {

    .page-title {
        height: 250px;
    }

    .page-title .captions {
        font-size: 2em !important;
    }

    .header-main .logo {
        max-width: 50px;
        line-height: 0 !important;
    }
}

@media screen and (max-width: 480px) {

    .wpcf7-form {
        text-align: left;
    }

    .contact-form-submit-wrapper {
        text-align: left;
    }

    .contact-form-submit {
        width: 100%;
    }

    .header-main .logo {
        max-width: 50px;
        line-height: 0 !important;
    }

    .c2a-row {
        padding-top: 10px;
        padding-bottom: 10px;
    }

    #back-top {
        display: none;
    }
}

@media screen and (max-width: 380px) {

    .header-main .logo {
        max-width: 50px;
        line-height: 0 !important;
    }

    p, a, label, span {
        font-size: 1em;
    }

}

@media screen and (max-width: 320px) {

    .page-title {
        height: 200px;
    }

    .page-title .captions {
        font-size: 1.9em !important;
    }

    .header-main .logo {
        line-height: 0 !important;
        max-width: 40px;
    }
}

.page-id-1231 #menu-main-menu {
	display: none !important;
}

