/*--------------------------------------------------------------
# Variables
--------------------------------------------------------------*/

:root {
  --primary-color: #FEED38;
  --secondary-color: #d3be00;
  --blue-color: #00A4D7;
  --text-color: #191817;
  --grey: #F5F5F5;
  --white: #ffffff;
  color-scheme: only light;
}

/*--------------------------------------------------------------
# Body
--------------------------------------------------------------*/

html {
    scroll-behavior: smooth;
}

body {
  font-family: 'Montserrat', sans-serif;
  position: relative;
  width: 100%;
  height: 100%;
  color: var(--text-color);
  font-size: 16px;
  font-weight: 400;
}

/*--------------------------------------------------------------
# Layout
--------------------------------------------------------------*/

@media (min-width: 1600px) {
.container {
    max-width: 1420px!important;
}
}

.abstand {
    margin-top: 120px;
    margin-bottom: 120px;
}

.abstandpadding {
    padding-top: 120px;
    padding-bottom: 120px;
}

.abstandpaddingtop {
    padding-top: 120px;
}

.slidescroller {
    margin-top: -178.17px;
    padding-top: 178.17px;
}

@media (max-width: 991px) {
.abstandlg {
    margin-bottom: 40px;
}
.abstand {
    margin-top: 80px;
    margin-bottom: 80px;
}
.abstandpadding {
    padding-top: 80px;
    padding-bottom: 80px;
}
.abstandpaddingtop {
    padding-top: 80px;
}
.nopaddingsmall {
  padding-top: 0!important;
}
.slidescroller {
    margin-top: -92px;
    padding-top: 92px;
}
}

@media (max-width: 767px) {
.abstandmd {
    margin-bottom: 40px;
}
}

@media (max-width: 575px) {
.abstandsm {
    margin-bottom: 40px;
}
}

/*--------------------------------------------------------------
# Backgrounds
--------------------------------------------------------------*/

.hero {
    width: 100%;
    height: calc(100vh - 178.17px);
    background-position: right center;
    background-size: 50%, 100%, cover;
    background-repeat: no-repeat;
}

@media (max-width: 1199px) {
.hero {
    background-size: 45%, 100%, cover;
}
}

@media (max-width: 991px) {
.hero {
    padding-top: 80px;
    padding-bottom: 80px;
    height: 100%;
    background-image: none!important;
}
}

@media (max-height: 620px) {
.hero {
    padding-top: 100px;
    padding-bottom: 100px;
    height: 100%;
}
}

.bg-primary {
    background-color: var(--primary-color)!important;
}

.bg-blue {
    background-color: var(--blue-color)!important;
}

.bg-dark {
    background-color: var(--text-color)!important;
}

.bg-light {
    background-color: var(--grey)!important;
}

.startseite-icons {
  position: absolute;
  margin-top: -126px;
}

@media (min-width: 992px) {
.startseite-icons .card {
  -webkit-animation: mymove;
          animation: mymove;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;  
  -webkit-animation-delay: 1s;  
          animation-delay: 1s;
}
}

@-webkit-keyframes mymove {
  from {top: 126px;}
  to {top: 0px;}
}

@keyframes mymove {
  from {top: 126px;}
  to {top: 0px;}
}

.abstand-startseite-icons {
  margin-top: 38px;
}

@media (max-width: 991px) {
.startseite-icons {
  position: relative;
  background-color: var(--blue-color)!important;
  margin-top: 0;
  padding-top: 60px;
  padding-bottom: 60px;
}
.abstand-startseite-icons {
  margin-top: 0;
}
}

@media (max-height: 770px) {
.startseite-icons {
  position: relative;
  background-color: var(--blue-color)!important;
  margin-top: 0;
  padding-top: 60px;
  padding-bottom: 60px;
}
.abstand-startseite-icons {
  margin-top: 0;
}
}

.startseite-icons a {
  color: var(--white);
}

.bg-energieeffizienz {
    width: 100%;
    height: 100%;
    padding-top: 120px;
    padding-bottom: 120px;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url(../dmxDaten/home/background-energieeffizienz.jpg);
}

@media (max-width: 991px) {
.bg-energieeffizienz {
    width: 100%;
    height: 100%;
    padding-top: 20px;
    padding-bottom: 80px;
    background-color: var(--blue-color)!important;
    background-image: none;
}
}

.bg-nachhaltigkeit {
    width: 100%;
    height: 100%;
    padding-top: 120px;
    padding-bottom: 120px;
    background-position: left center;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url(../dmxDaten/heizung/background-nachhaltigkeit.jpg);
}

.bg-blitzschutz {
    width: 100%;
    height: 100%;
    padding-top: 120px;
    padding-bottom: 120px;
    background-position: left center;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url(../dmxDaten/heizung/background-image-blitzschutz.jpg);
}

@media (max-width: 991px) {
.bg-nachhaltigkeit {
    width: 100%;
    height: 100%;
    padding-top: 80px;
    padding-bottom: 80px;
    background-color: var(--text-color)!important;
    background-image: none;
}
.bg-blitzschutz {
    width: 100%;
    height: 100%;
    padding-top: 80px;
    padding-bottom: 80px;
    background-color: var(--text-color)!important;
    background-image: none;
}
}

.toast-header {
    color: var(--text-color);
    background-color: var(--primary-color);
    background-clip: padding-box;
    border: none;
}

/*--------------------------------------------------------------
# Typografie
--------------------------------------------------------------*/

a {
  color: var(--text-color);
}

a:focus, a:hover {
  color: var(--blue-color);
  text-decoration: none;
}

h1 {
  font-size: 36px;
  font-weight: 700;
}

h2 {
  font-size: 32px;
  font-weight: 700;
}

h3 {
  font-size: 24px;
  font-weight: 600;
}

h4 {
  font-size: 20px;
  font-weight: 600;
  text-transform: uppercase;
}

strong {
  font-weight: 600;
}

.marked {
  color: var(--blue-color);  
}

h3.numbers {
  font-size: 80px;
  font-weight: 700;
}

@media (max-width: 1599px) {
h1 {
  font-size: 32px;
}
}

@media (max-width: 767px) {
h1 {
  font-size: 30px;
}
h2 {
  font-size: 25px;
}
h3 {
  font-size: 22px;
}
.lead {
    font-size: 18px!important;
}
h3.numbers {
  font-size: 60px;
}
}

@media (max-width: 520px) {
h1 {
  font-size: 26px;
}
h2 {
  font-size: 24px;
}
h3 {
  font-size: 20px;
}
.lead {
    font-size: 18px!important;
}
}

ul.liste {
    padding-left: 20px;
}

ul.liste li {
    list-style-type: "– ";
}

ul.checklist {
  --icon-space: 30px;
  list-style: none;
  padding: 0;
}

.checklist li {
  padding-left: 30px;
}

.checklist li:before {
  content: "\f00c"; /* FontAwesome Unicode */
  font-family: FontAwesome;
  display: inline-block;
  margin-left: -30px;
  width: 30px;
}

.col-icons-dienstleistungen {
  max-width: 96px;
}

@media (max-width: 520px) {
.col-icons-dienstleistungen {
  max-width: 66px;
}
}

/*--------------------------------------------------------------
# Buttons
--------------------------------------------------------------*/

.btn {
    padding: 0.5rem 1.25rem;
    border-radius: 0;
    font-weight: 600;
}

.btn-yellow {
  color: var(--text-color);
  background-color: var(--primary-color);
  border-color: var(--primary-color);
}

.btn-yellow:hover {
  color: var(--text-color);
  background-color: var(--secondary-color);
  border-color: var(--secondary-color);
}

.btn-outline-yellow {
  color: var(--primary-color);
  border-color: var(--primary-color);
}

.btn-outline-yellow:hover {
  color: var(--white);
  background-color: var(--secondary-color);
  border-color: var(--secondary-color);
}

.btn-outline-dark {
  color: var(--text-color);
  border-color: var(--text-color);
}

.btn-outline-dark:hover {
  color: var(--white);
  background-color: var(--text-color);
  border-color: var(--text-color);
}

button:focus {
  outline: none;
}

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

.card {
  border: none;
  border-radius: 0;
}

.card-header {
  border-color: #ffffff;
  background: none;
}

.card-footer {
  border: none;
  background: none;
}

.card-img-top {
  border-radius: 0;
}

@media (min-width: 992px) {
.bg-vision {
    width: 100%;
    height: 100%;
    min-height: 450px;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url(../dmxDaten/home/bild-vision.jpg);
}
}

/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/

.subnavigation {
  padding-left: 8px;
}

.navbar-logo {
  width: 180px;
}

.topnav {
  padding-top: 16px;
  padding-bottom: 16px;
}

@media (max-width: 991px) {
.navbar-logo {
  width: 120px;
}
#main-menu {
    margin-top: 12px;
    margin-bottom: 12px;
}
.subnavigation {
  padding: 0;
}
.subnavigation .collapsing {
  padding-left: 16px;
  padding-right: 16px;
}
.subnavigation .show {
  padding-left: 16px;
  padding-right: 16px;
}
.topnav {
  padding-top: 12px;
  padding-bottom: 12px;
}
}

.dropdown-toggle {
  cursor: default!important;
}

.nav-link.dropdown-toggle:focus {
    outline: none;
}

.navbar-nav .nav-link, .nav-item {
  color: var(--white);
  font-size: 16px;
}

@media (min-width: 992px) {
.navbar-nav .nav-link, .nav-item {
  margin-right: 20px;
}
}

.navbar-nav .nav-link:hover, .navbar-nav .nav-link:focus {
  color: var(--primary-color);
}

.navbar-nav .show > .nav-link,
.navbar-nav .active > .nav-link,
.navbar-nav .nav-link.show,
.navbar-nav .nav-link.active {
  color: var(--primary-color);
}

.navbar-toggler {
  color: var(--primary-color);
  border: none;
  padding: 0;
}

.dropdown-item:hover, .dropdown-item:focus {
  background-color: var(--primary-color);
  color: var(--text-color);
}

.dropdown-item.active {
  background-color: var(--primary-color);
  color: var(--text-color);
}

.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}


/*--------------------------------------------------------------
# Sidenavigation
--------------------------------------------------------------*/

#collapsesidenav {
	list-style-type: none;
  margin: 0;
  padding: 0;
}

#collapsesidenav ul {
	list-style-type: none;
  margin: 0;
  padding: 0;
}

#collapsesidenav .active a {
  color: var(--text-color);
  font-weight: 600;
}

#collapsesidenav a:hover {
  color: var(--text-color);
  font-weight: 600;
}

#collapsesidenav a {
  color: var(--text-color);
}


/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/

.footer {
  background-color: var(--primary-color);
}

/*--------------------------------------------------------------
# Cookies
--------------------------------------------------------------*/

.cookiealert {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    margin: 0 !important;
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    border-radius: 0;
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
    -webkit-transition: all 500ms ease-out;
    transition: all 500ms ease-out;
    color: var(--white);
    background-color: rgba(0, 0, 0, 0.85);
    
}

.cookiealert.show {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
    -webkit-transition-delay: 1000ms;
            transition-delay: 1000ms;
}

.cookiealert a {
    text-decoration: underline
}

.cookiealert .acceptcookies {
    margin-top: 10px;
    vertical-align: baseline;
}

.disclaimer-footer {
  text-align: right;
}

@media (max-width: 768px) {
.disclaimer-footer {
  text-align: left;
}
}

/*--------------------------------------------------------------
# Tiny MCE
--------------------------------------------------------------*/

.tox-tinymce {
  top: auto!important;
  bottom: 0!important;
  position: fixed!important;
}


/*--------------------------------------------------------------
# Backgrounds
--------------------------------------------------------------*/



    .hero-home {
        background-image: url(../dmxDaten/background-images/background-image-home.webp);
    }
    .hero-heizungssysteme {
        background-image: url(../dmxDaten/background-images/background-image-heizungssysteme.jpg);
    }
    .hero-waermepumpen {
        background-image: url(../dmxDaten/background-images/background-image-waermepumpen.jpg);
    }
    .hero-thermische-solaranlagen {
        background-image: url(../dmxDaten/background-images/background-image-thermische-solaranlagen.jpg);
    }
    .hero-holzheizungen {
        background-image: url(../dmxDaten/background-images/background-image-holzheizungen.jpg);
    }
    .hero-sanitaerinstallationen {
        background-image: url(../dmxDaten/background-images/background-image-sanitaerinstallationen.jpg);
    }
    .hero-badezimmer {
        background-image: url(../dmxDaten/background-images/background-image-badezimmer.jpg);
    }
    .hero-nachhaltigkeit {
        background-image: url(../dmxDaten/background-images/background-image-nachhaltigkeit.jpg);
    }
    .hero-spenglerei-gebaeudehuelle {
        background-image: url(../dmxDaten/background-images/background-image-spenglerei-gebaeudehuelle.jpg);
    }
    .hero-blitzschutz {
        background-image: url(../dmxDaten/background-images/background-image-blitzschutz.jpg);
    }
    .hero-service {
        background-image: url(../dmxDaten/background-images/background-image-service.jpg);
    }
    .hero-ueber-uns {
        background-image: url(../dmxDaten/background-images/background-image-ueber-uns.jpg);
    }
    .hero-team {
        background-image: url(../dmxDaten/background-images/background-image-team.jpg);
    }
    .hero-jobs {
        background-image: url(../dmxDaten/background-images/background-image-jobs.jpg);
    }
    .hero-lernende {
        background-image: url(../dmxDaten/background-images/background-image-lernende.jpg);
    }
    .hero-kontakt {
        background-image: url(../dmxDaten/background-images/background-image-kontakt.jpg);
    }

    @media (min-width: 992px) and (min-height: 771px) {
        .hero-home {
            padding-bottom: 126px;
        }
    }

.section-heizungssysteme-service {
    width: 100%;
    height: 100%;
    background-position: right center;
    background-size: 50%, 100%, cover;
    background-repeat: no-repeat;
    padding-top: 120px;
    padding-bottom: 120px;
    background-color: var(--grey);
    background-image: url(../dmxDaten/heizung/background-image-service.jpg);
}

.section-badezimmer {
    width: 100%;
    height: 100%;
    background-position: right center;
    background-size: 50%, 100%, cover;
    background-repeat: no-repeat;
    padding-top: 120px;
    padding-bottom: 120px;
    background-color: var(--grey);
    background-image: url(../dmxDaten/sanitaer/background-image-badezimmer.jpg);
}

.section-thermische-solaranlage {
    width: 100%;
    height: 100%;
    background-position: right center;
    background-size: 50%, 100%, cover;
    background-repeat: no-repeat;
    padding-top: 120px;
    padding-bottom: 120px;
    background-color: var(--grey);
    background-image: url(../dmxDaten/heizung/background-image-thermische-solaranlage.jpg);
}

.bg-projekt {
    width: 100%;
    height: 100%;
    padding-top: 440px;
    padding-bottom: 120px;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url(../dmxDaten/heizung/background-projekt-xxl.jpg);
}

.bg-projekt-badezimmer {
    background-image: url(../dmxDaten/sanitaer/background-projekt-xxl.jpg)!important;
}

.bg-jobs {
    width: 100%;
    height: 100%;
    background-position: top left;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url(../dmxDaten/ueber-uns/background-jobs.jpg);
}

.bg-team {
    width: 100%;
    height: calc(100vw / 3.469945355191257);
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    background-image: url(../dmxDaten/ueber-uns/ueber-uns-content-01-2025-05-06.jpg);
}

@media (max-width: 1199px) {
.section-heizungssysteme-service {
    background-size: 45%, 100%, cover;
}
.bg-projekt {
    padding-top: 340px;
    padding-bottom: 120px;
    background-image: url(../dmxDaten/heizung/background-projekt.jpg);
}
.bg-projekt-badezimmer {
    background-image: url(../dmxDaten/sanitaer/background-projekt.jpg)!important;
}
}

@media (max-width: 991px) {
.section-heizungssysteme-service {
    padding-top: 80px;
    padding-bottom: 80px;
    height: 100%;
    background-image: none!important;
}
.section-badezimmer {
    padding-top: 80px;
    padding-bottom: 80px;
    height: 100%;
    background-image: none!important;
}

.section-thermische-solaranlage {
    padding-top: 80px;
    padding-bottom: 80px;
    height: 100%;
    background-image: none!important;
}

.bg-projekt {
    padding-top: 280px;
    padding-bottom: 80px;
}

.bg-jobs {
    width: 100%;
    height: 100%;
    background-image: none!important;
    padding-top: 0!important;
}

.bg-team {
    width: 100%;
    height: 100%;
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    background-image: none;
}
}

@media (max-width: 767px) {
.bg-projekt {
    padding-top: 180px;
    padding-bottom: 80px;
}
}

@media (max-width: 575px) {
.bg-projekt {
    padding-top: 160px;
    padding-bottom: 30px;
}
}

.abstandcol {
    margin-bottom: 30px;
}