html,
body,
#map-canvas {
    width: 100%;
    height: 100%;
    margin: 0px;
    padding: 0px
}

h1,
h2 {
    color: #464646;
    font-family: myriad-pro, sans-serif;
    font-size: 52px;
    font-weight: bold;
    margin: 0px 0px 75px 0px;
    padding: 0px;
    text-align: center;
}
#telefon h2 {
    font-size:45px; 
    font-weight: 600;
}

h3 {
    color: #464646;
    font-family: myriad-pro, sans-serif;
    font-size: 32px;
    font-weight: bold;
    margin: 0px 0px 50px 0px;
    padding: 0px;
    text-align: center;
}

p {
    font-family: myriad-pro, sans-serif;
    font-size: 20px;
    font-weight: normal;
    margin: 10px 0px;
    padding: 0px;
    text-align: center;
    color: #464646;
}

#div_main div {
    font-family: myriad-pro, sans-serif;
    font-size: 20px;
    font-weight: normal;
    text-align: center;
    color: #464646;
}

img {
    border: 0px;
    max-width: 100%;
}

* {
    outline: none;
    font-family: myriad-pro, sans-serif
}

section {
    padding: 125px 0px;
}

INPUT,
SELECT,
TEXTAREA {
    font-family: myriad-pro, sans-serif;
    font-size: 13px;
    color: #343434;
    line-height: 16px;
    border: 1px solid #999999;
    background-color: #E4E9F2;
    padding: 1px 3px 1px 3px;
    margin: 0px;
}

a {
    text-decoration: none;
    color: #464646;
    outline: none;
}

a:hover {
    color: #464646;
}

li {
    padding-bottom: 15px;
    text-align: left
}

.fs-small {
    font-size: 14px;
}


/* Cookie Hinweis */

.cc-message {
    text-align: left;
}

.cc-message>span {
    color: #ffffff !important;
    font-size: 16px;
    line-height: 20px;
}

.cc-message>span>strong {
    color: #ffffff !important;
    font-size: 16px;
    line-height: 16px;
    margin-bottom: 10px;
    display: block;
}

.cc-message a {
    text-decoration: none !important;
}

.cc-btn {
    text-decoration: none !important;
}


/* Klassen für die Navi - Main Navi */

#main_navi UL {
    display: block;
    margin: 0px;
    padding-top: 15px;
    list-style: none;
}

#main_navi UL LI {
    position: relative;
    display: block;
    float: left;
    margin: 0px;
    padding: 0px;
    list-style: none;
}

#main_navi UL LI A {
    white-space: nowrap;
    display: block;
    padding: 0px 10px;
    font-family: myriad-pro, sans-serif;
    font-size: 20px;
    color: #464646;
}

#main_navi UL LI:first-child A {
    padding-left: 0;
}

#main_navi UL LI:last-child A {
    padding-right: 0;
}

#main_navi UL LI A {
    white-space: nowrap;
    display: block;
    padding: 0px 15px;
    font-family: myriad-pro, sans-serif;
    font-size: 18px;
    color: #464646;
}

#main_navi UL LI:last-child A {
    padding-right: 0px!important;
}

#main_navi UL LI A:hover {
    text-decoration: none;
    color: #f27b23;
}

#main_navi UL LI A.aktiv {
    color: #f27b23;
}

.top_navi {
    background-color: #464646;
    color: #fff;
    padding: 40px 0px;
}

.top_navi div {
    font-size: 30px;
}

.top_navi .co-button {
    float: right;
}

.top_navi .content-wrapper {
    display: flex;
}

.top_navi .content-wrapper,
.footer .content-wrapper {
    justify-content: space-between;
    align-items: center;
    color: #fff;
}

.main_navi-wrapper {
    padding: 50px 0px;
    display: flex;
    justify-content: space-between;
    align-items: center
}

#nav-wrapper {
    padding-top: 56px;
}

.footer {
    background-color: #464646;
    padding: 60px 0px;
    text-align: center;
}

.footer-left div,
.footer-left p,
.footer .hpqr-wrapper p {
    font-weight: 300;
    color: #fff;
}

.footer a {
    color: #fff;
}

.footer .hpqr-logo {
    width: 50%;
}

.facebook {
    position: relative;
    bottom: 5px;
}


/* mobile Navi */

.mobile-nav-trigger {
    display: none;
    float: right;
    padding: 0.25rem 0 0.1875rem;
    cursor: pointer;
}

.mobile-nav-trigger.active .nav-bars .nav-bar:nth-child(1) {
    transform: rotate(45deg);
    top: 0.8em;
}

.mobile-nav-trigger.active .nav-bars .nav-bar:nth-child(2) {
    opacity: 0;
}

.mobile-nav-trigger.active .nav-bars .nav-bar:nth-child(3) {
    transform: rotate(-45deg);
    top: -0.8em;
}

.nav-bars {
    transition: padding 0.5s;
}

.nav-bars .nav-bar {
    width: 3.125em;
    height: 0.25em;
    margin: 0.5625em auto;
    background-color: #E4E9F2;
    position: relative;
    opacity: 1;
    top: 0;
    transition: transform 0.5s, top 0.5s, opacity 0.5s;
}


/* Klassen */

.grid {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap
}

.col {
    border-radius: 10px;
}

.col-2 {
    display: inline-block;
    width: 15%;
}

.col-3 {
    display: inline-block;
    width: 22.5%;
}

.col-4 {
    display: inline-block;
    width: 28%;
}

.col-5 {
    display: inline-block;
    width: 37.5%;
}

.col-6 {
    display: inline-block;
    width: 45%;
}

.col-7 {
    display: inline-block;
    width: 54.5%;
}

.col-8 {
    display: inline-block;
    width: 60%;
}

.col-9 {
    display: inline-block;
    width: 67.5%;
}

.col-10 {
    display: inline-block;
    width: 75%;
}

.col-wrapper {
    padding: 40px;
}

.content-wrapper {
    max-width: 1180px;
    margin: 0 auto;
}

.co-button {
    display: inline-block;
    background-color: #f27b23;
    color: #fff!important;
    padding: 10px 30px 15px;
    border-radius: 10px;
    transition: background-color 0.25s;
}

.co-button:hover {
    background-color: #cb7434;
}

.mobile-break {
    display: none;
}

.tablet-break {
    display: none;
}

.to-top {
    display: none;
    background-color: #464646;
    width: 40px;
    height: 35px;
    position: fixed;
    bottom: 0;
    right: 5%;
    text-align: center;
    cursor: pointer;
}

.to-top img {
    padding-top: 10px;
}

#div_logo {
    text-align: left;
}

.hpqr-wrapper {
    margin-bottom: 20px;
}

.hpqr-wrapper p {
    margin-bottom: 5px!important;
}

.hpqr-wrapper a {
    display: flex;
    justify-content: center;
}

.hpqr-logo {
    border-radius: 50%;
}

.main_navi-wrapper .hpqr-wrapper {
    margin-bottom: 0px;
}

.main_navi-wrapper .hpqr-wrapper p {
    margin-bottom: 5px!important;
    font-size: 16px;
}

.main_navi-wrapper .hpqr-logo {
    border-radius: 50%;
    width: 60%;
}


/* Sections */

#ueberuns,
#preise {
    background-color: #C7C7C7;
}

#header {
    background-image: url("../images/bg_header.jpg");
    background-size: cover;
    background-position: 10% 30%;
    padding-top: 30%;
    position: relative;
}

#header img {
    width: 20%;
    position: absolute;
    top: 2%;
    left: 17%;
    transform: rotate(-7deg);
}

#telefon p,
#telefon a{
    font-size: 40px;
}
#kontaktdaten a {
    font-size: 46px;
}

#telefon p {
    margin-bottom: 30px;
}

.grund {
    background-color: #fff;
}

.icon-wrapper {
    margin-bottom: 25px;
}

.icon-wrapper img {
    width: 25%;
}

.icon-festpreise {
    width: 33%!important;
}

#dienstleistungen img {
    width: 100%;
    border-radius: 10px;
}

#dienstleistungen div {
    text-align: left;
}

.leistung {
    background-color: #C7C7C7;
}

#kontakt {
    padding-bottom: 45px;
}

#kontaktdaten {
    background-image: url("../images/bg_kontakt.jpg");
    background-size: cover;
}

#preise .col:first-of-type,
#preise .col:nth-of-type(2) {
    margin-bottom: 0px;
}

#preise .col {
    margin-bottom: 25px;
}

#preise p {
    margin-bottom: 50px;
}

#preise ul {
    padding-inline-start: 20px;
    margin-bottom: 0;
}

#preise ul li:last-child {
    padding-bottom: 0;
}

.preis-tabelle {
    position: relative;
}

.preis-tabelle *,
.zuschlag .col {
    text-align: left!important;
}

.zuschlaege-title {
    margin-top: 100px;
    margin-bottom: 50px!important;
    font-size: 42px;
    font-weight: 400;
}

.vl {
    border-left: 1px solid #464646;
    position: absolute;
    top: 40px;
    bottom: 40px;
    right: 23%;
}

.preis-tabelle,
.zuschlag,
.team {
    background-color: #fff;
    border-radius: 10px;
}

#preise h3 {
    margin-bottom: 25px;
}

.preise-header {
    display: inline-flex;
    align-items: center;
}

#standorte {
    position: relative;
    display: block;
}

#standorte::after {
    content: "";
    background-image: url("../images/bg_notdienst.jpg");
    background-size: cover;
    background-attachment: fixed;
    opacity: 0.2;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    position: absolute;
    z-index: -1;
}

#standorte p {
    margin-bottom: 75px;
}

#standorte h3 {
    margin-bottom: 15px;
}

#standorte a {
    font-size: 24px;
}

.team {
    height: 255px;
    position: relative;
}

.team.mb {
    margin-bottom: 75px;
}

.landingpage-button {
    background-color: #464646;
    color: #fff;
    border-radius: 10px;
    padding: 5px 10px;
    display: block;
    margin-top: 10px;
    transition: background-color 0.25s;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 20px;
    width: 210px;
}

.landingpage-button:hover {
    color: #fff;
    background-color: #00335F
}

.landingpage-button img {
    width: 15px;
    vertical-align: middle;
}

.footer-right {
    display: flex;
    align-items: center;
}

.footer-right .hpqr-wrapper {
    margin-right: 15px;
}
@media only screen and (max-width: 1200px) {
    .content-wrapper {
        max-width: 95%;
    }
    .team {
        height: 280px;
    }
}

@media only screen and (max-width: 999px) {
    .mobile-nav-trigger {
        display: inline-block;
    }
    #main_navi {
        width: 303px;
        position: absolute;
        right: 5%;
        background-color: #E4E9F2;
        margin-top: 0px;
        z-index: 8;
        display: none;
    }
    #main_navi UL {
        padding-top: 0;
        padding-inline-start: 10px;
    }
    #main_navi UL LI {
        float: right;
        text-align: right;
        border-top: 5px solid #fff;
        width: 100%;
        padding: 0 5px;
    }
    #main_navi UL LI A {
        padding: 10px 5px;
    }
    #main_navi UL LI:nth-child(n+2) UL {
        width: 100%;
        margin-left: 0px;
    }
    #main_navi UL LI UL {
        position: unset;
    }
    #main_navi UL LI UL LI {
        border-top: 2.5px solid #fff;
        width: 100%;
    }
    .top_navi {
        padding: 20px 0px;
    }
    .top_navi div {
        font-size: 20px;
    }
    .to-top {
        display: block;
    }
    .desktop-break {
        display: none;
    }
    .col-3,
    .col-4,
    .col-8,
    .col-9 {
        width: 100%;
        margin-bottom: 25px!important;
    }
    .icon-wrapper img {
        width: 10%!important;
    }
    .icon-festpreise {
        width: 12%!important;
    }
    #standorte .col-4 {
        width: 48%;
    }
    .team {
        height: 255px;
    }
}

@media only screen and (max-width: 768px) {
    h1,
    h2 {
        font-size: 42px;
    }
    #telefon h2{
        font-size: 38px;
    }
    h3 {
        font-size: 22px;
    }
    .tablet-hide {
        display: none
    }
    .tablet-break {
        display: inline-block;
    }
    .col-wrapper {
        padding: 20px;
    }
    .img_logo {
        margin-left: 0px;
        width: 85%;
        height: auto;
    }
    .team {
        height: 185px;
    }
    #telefon p,
    #telefon a,
    #kontaktdaten a {
        font-size: 36px;
    }
    #kontaktdaten {
        background-position: 55%;
    }
    .footer-left {
        padding-bottom: 10px;
    }
}

@media only screen and (max-width: 479px) {
    h1,
    h2 {
        font-size: 32px;
    }
    
    h3 {
        font-size: 22px;
    }
    .col-6 {
        width: 100%;
        margin-bottom: 25px!important;
    }
    .col-2 {
        width: 20%;
    }
    .mobile-break {
        display: inline-block;
    }
    .mobile-hide {
        display: none
    }
    .img_logo {
        margin-left: 0px;
        width: 65%;
        height: auto;
    }
    #main_navi {
        width: 235px;
    }
    .main_navi-wrapper .hpqr-wrapper,
    .main_navi-wrapper #wkdb-widget {
        display: none;
    }
    #nav-wrapper {
        padding-top: 15px;
    }
    #header img {
        width: 40%;
        top: 75%;
        left: 4%;
    }
    #telefon p,
    #telefon a {
        font-size: 26px;
    }
    #telefon h2 {
        font-size: 28px;
    }  
    .icon-wrapper img {
        width: 20%!important;
    }
    .icon-festpreise {
        width: 25%!important;
    }
    .vl {
        display: none;
    }
    #standorte .col-4 {
        width: 100%;
        margin-bottom: 25px!important;
    }
    .top_navi .content-wrapper {
        flex-wrap: wrap;
    }
    .top_navi div {
        font-size: 18px;
    }
    .top_navi .co-button {
        text-align: center;
        width: 100%;
        color: #f27b23!important;
        padding: 0;
        background-color: transparent;
    }
    .preise-header {
        flex-direction: column-reverse;
    }
    .hpqr-logo {
        width: 25%!important;
    }
}

.impressum, .datenschutz {
    h3, h2 {
        margin: 50px 0 0 0!important;
    }
}