/* archivo-black-regular - latin */
@font-face {
    font-display: swap;
   /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Archivo Black';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/archivo-black-v21-latin-regular.woff2') format('woff2');
   /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* albert-sans-regular - latin */
@font-face {
    font-display: swap;
   /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Albert Sans';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/albert-sans-v1-latin-regular.woff2') format('woff2');
   /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* albert-sans-500 - latin */
@font-face {
    font-display: swap;
   /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Albert Sans';
    font-style: normal;
    font-weight: 500;
    src: url('../fonts/albert-sans-v1-latin-500.woff2') format('woff2');
   /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* albert-sans-600 - latin */
@font-face {
    font-display: swap;
   /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Albert Sans';
    font-style: normal;
    font-weight: 600;
    src: url('../fonts/albert-sans-v1-latin-600.woff2') format('woff2');
   /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* albert-sans-700 - latin */
@font-face {
    font-display: swap;
   /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Albert Sans';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/albert-sans-v1-latin-700.woff2') format('woff2');
   /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* albert-sans-800 - latin */
@font-face {
    font-display: swap;
   /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Albert Sans';
    font-style: normal;
    font-weight: 800;
    src: url('../fonts/albert-sans-v1-latin-800.woff2') format('woff2');
   /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* albert-sans-900 - latin */
@font-face {
    font-display: swap;
   /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Albert Sans';
    font-style: normal;
    font-weight: 900;
    src: url('../fonts/albert-sans-v1-latin-900.woff2') format('woff2');
   /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
:root {
    font-size: 18px;
    --maincolor: #004799;
    --secondcolor: #dc0412;
    --hovercolor: #bf030f;
}
/*Typo START*/
h1,h2,h3,h4,h5,h6{
    font-family: 'Archivo Black' !important;
    word-break: inherit;
}
body, .sppb-panel-title{
    font-family: 'Albert Sans';
    font-size: 1rem !important;
}
.sp-contact-time, .offcanvas-menu .sp-contact-info, .sp-contact-info li{
    font-size: 0.9rem;
}
.welcome-title h2{
    font-size: 3.5rem !important;
}
h1{
    font-size: 2.6rem !important;
    line-height: 120% !important;
}
h2{
    font-size: 2.6rem !important;
    line-height: 120% !important;
}
h3{
    font-size: 1.9rem !important;
    line-height: 120% !important;
}
h4{
    font-size: 1.6rem !important;
    line-height: 120% !important;
}
h5{
    font-size: 1.4rem !important;
    line-height: 120% !important;
}
h6{
    font-size: 1.1rem !important;
    line-height: 120% !important;
}
h3 a:hover, h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {
    color: var(--hovercolor) !important;
}
.downloads h4 a:hover{
    color: var(--secondcolor);
}
p{
   margin-bottom: 1rem !important;
}
.sp-module ul > li > a:hover {
    color: #fff;
}
.subtitle p span{
    font-family: 'Albert Sans';
}
/*Typo END*/
/*Header START*/
#sp-header .logo {
    padding: 10px 0;
    height: auto;
}
#sp-header.header-sticky .logo-image{
    width: 130px;
}
/*Header END*/
/*Navi START*/
.sp-megamenu-parent > li + li > a {
    margin-left: 12px;
}
/*Navi END*/
/*Buttons START*/
.sppb-btn-primary.focus, .sppb-btn-primary:focus {
    box-shadow: none;
}
.vor-btn .sppb-btn-primary, .sppb-btn-primary, body .sppb-btn{
    padding: 1.1rem 1.8rem !important;
}
body .sppb-btn::before, body .sppb-sp-slider-button .sp-slider-btn-text::before, .login .btn::before, .registration form > div .btn::before, .hikashop_vote_form .button::before, .article-list .article .readmore a::before, .sppb-readmore::before{
    background: var(--secondcolor) !important;
}
body .sppb-btn.sppb-btn-secondary::before{
    background: var(--maincolor) !important;
}
body .sppb-btn-custom:before{
    background: inherit !important;
    border: 1px solid #ccc;
}
body .sppb-btn, body .sppb-sp-slider-button .sp-slider-btn-text, .login .btn, .registration form > div .btn, .hikashop_vote_form .button, .article-list .article .readmore a, .sppb-readmore, body .sppb-btn::before, body .sppb-sp-slider-button .sp-slider-btn-text::before, .login .btn::before, .registration form > div .btn::before, .hikashop_vote_form .button::before, .article-list .article .readmore a::before, .sppb-readmore::before{
    border-radius: 5px;
}
/*Buttons END*/
/*Inhalt START*/
.offcanvas-menu .offcanvas-inner .sp-contact-info > li > a, .offcanvas-menu .offcanvas-inner .social-icons > li > a{
    opacity: 1;
}
.offcanvas-menu {
    background-color: #eee;
}
.offcanvas-menu .offcanvas-inner li span:before{
    color: var(--maincolor);
}
.offcanvas-menu .offcanvas-inner .sp-module ul > li a, .offcanvas-menu .offcanvas-inner a, .sp-contact-time{
    color: #1F1F25 !important;
}
.offcanvas-active .burger-icon > span{
    background: #1F1F25 !important;
}
.offcanvas-menu .offcanvas-inner .sp-module ul > li a:hover {
    color: var(--secondcolor) !important;
}
.burger-icon > span {
    background-color: var(--secondcolor);
}
.offcanvas-menu .logo img{
    width: 150px;
    height: auto;
    padding-left: 25px;
    margin-top: 30px;
}
.offcanvas-inner{
    padding: 30px 25px !important;
}
.sppb-addon-form-builder-form .sppb-form-group:nth-of-type(2), .sppb-addon-form-builder-form .sppb-form-group:nth-of-type(4), .sppb-addon-form-builder-form .sppb-form-group:nth-of-type(6){
    padding-right: 15px !important;
}
.icon svg{
    filter: brightness(0) saturate(100%) invert(41%) sepia(1%) saturate(4589%) hue-rotate(161deg) brightness(105%) contrast(58%);
}
.form-builder-checkbox-item label::before, .form-builder-radio-item label::before, .sppb-addon-form-builder .sppb-form-check-label::before{
    border: 2px solid #bbb;
}
.rts-single-service-solar-energy-icon{
    -webkit-box-shadow: 0px 0px 25px 5px rgba(212,212,212,1);
    -moz-box-shadow: 0px 0px 25px 5px rgba(212,212,212,1);
    box-shadow: 0px 0px 25px 5px rgba(212,212,212,1);
}
.rts-single-service-solar-energy-icon:hover{
    -webkit-box-shadow: 0px 0px 25px 10px rgba(212,212,212,1);
    -moz-box-shadow: 0px 0px 25px 10px rgba(212,212,212,1);
    box-shadow: 0px 0px 25px 10px rgba(212,212,212,1);
}
a:hover, a:focus, a:active {
    color: var(--maincolor);
}
.sppb-table-style td{
    border: 1px solid #ccc !important;
}
table tr:nth-of-type(even){
    background: #eee;
}
table tr:nth-of-type(odd){
    background: #f9f9f9;
}
table p{
    margin-bottom: 0px !important;
}
.tab-content .sppb-addon-content li{
    list-style: none;
}
.tab-content .sppb-addon-content li:before{
    font-family: 'Font Awesome 5 Free';
    font-weight: bold;
    content: '\f00c';
    margin:0 8px 0 -25px;
    color: var(--maincolor);
}
li.email:before{
    font-family: 'Font Awesome 5 Free';
    font-weight: bold;
    content: '\f0e0';
    margin:0 8px 0 -25px;
    color: var(--maincolor);
}
li.telefon:before{
    font-family: 'Font Awesome 5 Free';
    font-weight: bold;
    content: '\f095';
    margin:0 8px 0 -25px;
    color: var(--maincolor);
}
li.mobil:before{
    font-family: 'Font Awesome 5 Free';
    font-weight: bold;
    content: '\f3ce';
    margin:0 8px 0 -25px;
    color: var(--maincolor);
}
.sppb-person-designation li{
    list-style: none;
}
.top-feature p{
    margin-bottom: 0px !important;
    line-height: 100% !important;
}
#montage video{
    outline: 10px solid #fff;
    margin: 10px;
}
#produkt .sppb-tab-custom-content > div{
    border-radius: 5px !important;
}
.anwendungsbereiche i{
    color: var(--maincolor);
}
.anwendungsbereiche ul li{
    list-style: none;
    border-bottom: 1px solid #eee;
    padding: 3px 0;
}
.anwendungsbereiche ul{
    padding-left: 0px;
}
.anwendungsbereiche ul li:before{
    font-family: 'Font Awesome 5 Free';
    font-weight: bold;
    content: '\f00c';
    margin:0 10px 0 -25px;
    color: var(--maincolor);
}
#sppb-addon-a70d81e3-0727-43f0-b810-c7349f05479e.single-footer-one-wrapper > div.sppb-addon-wrapper:nth-child(3){
    flex-basis: 35% !important;
}
#sppb-addon-a70d81e3-0727-43f0-b810-c7349f05479e.single-footer-one-wrapper > div.sppb-addon-wrapper:nth-child(6){
    flex-basis: 15% !important;
}
#sppb-addon-a70d81e3-0727-43f0-b810-c7349f05479e.single-footer-one-wrapper > div.sppb-addon-wrapper:nth-child(9){
    flex-basis: 25% !important;
}
.sp-page-title {
  padding-top: 50px;
  padding-bottom: 50px;
    background: var(--maincolor);

}
.dl-wrap .sppb-addon-feature {
    background: #fff;
    border: 0.0625rem solid rgba(0, 71, 153, 0.12);
    border-top: 0.25rem solid var(--maincolor);
    border-radius: 0.75rem;
    padding: 1.75rem 2rem;
    height: 100%;
    box-shadow: 0 0.5rem 1.5rem rgba(0, 71, 153, 0.07);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.dl-wrap .sppb-addon-feature::before {
    display: none;
}

.dl-wrap .sppb-addon-feature:hover {
    transform: translateY(-0.2rem);
    box-shadow: 0 0.75rem 1.75rem rgba(0, 71, 153, 0.12);
}


/* Media-Aufbau */

.dl-wrap .sppb-media {
    display: flex;
    align-items: flex-start;
}


/* Icon */

.dl-wrap .sppb-media > .pull-left {
    flex: 0 0 auto;
}

.dl-wrap .sppb-icon-container {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.25rem;
    height: 3.25rem;
    margin-right: 1.25rem;
    color: var(--maincolor) !important;
    background: rgba(0, 71, 153, 0.08);
    border-radius: 50%;
}


/* Inhalt soll restliche Breite verwenden */
.dl-wrap .sppb-icon-container > i{
    font-size: 24px !important;
    line-height: 53px !important;
    
}
.dl-wrap .sppb-media-body {
    flex: 1;
    min-width: 0;
}


/* Titel – Schriftgröße bleibt unangetastet */

.dl-wrap .sppb-feature-box-title {
    margin: 0 0 0.75rem 0;
}


/* Beschreibung */

.dl-wrap .sppb-addon-text {
    margin: 0 0 1.25rem 0;
}

.dl-wrap .sppb-addon-text p {
    color: #68727c;
    margin: 0;
}


/* Button */

.dl-wrap .sppb-btn-primary {
    background: var(--secondcolor);
    border-color: var(--secondcolor);
}

.dl-wrap .sppb-btn-primary:hover,
.dl-wrap .sppb-btn-primary:focus {
    background: var(--hovercolor);
    border-color: var(--hovercolor);
}


/* Abstand zwischen erster und zweiter Reihe */

.dl-wrap .sppb-row {
    row-gap: 1.75rem;
}


/* Mobile */

@media (max-width: 47.9375rem) {

    .dl-wrap .sppb-addon-feature {
        padding: 1.5rem;
    }

    .dl-wrap .sppb-icon-container {
        width: 3rem;
        height: 3rem;
        margin-right: 1rem;
    }
}

/* =========================================================
   HUBER SOLARFIX – MESSEBEREICH
   ========================================================= */

.messe {
    background: #2f5597;
    padding: 65px 0;
}


/* =========================================================
   LINKE INTRO-SPALTE
   ========================================================= */

.messe .sppb-row-column:first-child {
    position: relative;
    padding-right: 45px;
}


/* Vertikale Trennlinie */

.messe .sppb-row-column:first-child::after {
    content: "";
    position: absolute;
    right: 15px;
    top: 0;
    bottom: 0;
    width: 1px;
    background: rgba(255, 255, 255, 0.22);
}


/* Rote Akzentlinie */

.messe .sppb-row-column:first-child .sppb-addon-text-block::before {
    content: "";
    display: block;
    width: 48px;
    height: 4px;
    background: #d12e27;
    border-radius: 4px;
    margin-bottom: 25px;
}


/* Farben – Schriftgrößen bleiben unangetastet */

.messe .sppb-row-column:first-child .sppb-addon-title {
    color: #fff;
}

.messe .sppb-row-column:first-child .sppb-addon-content {
    color: rgba(255, 255, 255, 0.82);
}


/* =========================================================
   MESSE-SPALTEN
   ========================================================= */

.messe .sppb-row-column:not(:first-child) {
    padding-left: 12px;
    padding-right: 12px;
}


/* =========================================================
   MESSE-CARDS
   ========================================================= */

.messe .sppb-row-column:not(:first-child) .sppb-addon-feature {
    background: rgba(255, 255, 255, 0.075);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 14px;

    padding: 30px 28px;

    min-height: 270px;
    box-sizing: border-box;

    transition:
        transform 0.25s ease,
        background 0.25s ease,
        border-color 0.25s ease;
}


.messe .sppb-row-column:not(:first-child) .sppb-addon-feature:hover {
    transform: translateY(-4px);
    background: rgba(255, 255, 255, 0.11);
    border-color: rgba(255, 255, 255, 0.25);
}


/* =========================================================
   ICON
   ========================================================= */

.messe .sppb-row-column:not(:first-child) .sppb-icon {
    margin-right: 17px;
}


.messe .sppb-row-column:not(:first-child) .sppb-icon-container {
    width: 44px;
    height: 44px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #fff;
    color: #2f5597 !important;

    border-radius: 9px;
}


/* Font-Awesome-Icon explizit einfärben */

.messe .sppb-row-column:not(:first-child) .sppb-icon-container i {
    color: #2f5597 !important;
}


/* =========================================================
   MESSETITEL
   Keine Schriftgrößen verändern
   ========================================================= */

.messe .sppb-feature-box-title {
    color: #fff;
}


/* =========================================================
   BESCHREIBUNG
   ========================================================= */

.messe .sppb-addon-text {
    color: rgba(255, 255, 255, 0.82);
}


/* =========================================================
   DATUM / HALLE / STAND
   ========================================================= */

.messe .sppb-addon-text ul {
    list-style: none;

    padding: 17px 0 0;
    margin: 20px 0 0;

    border-top: 1px solid rgba(255, 255, 255, 0.15);
}


.messe .sppb-addon-text ul li {
    position: relative;

    color: #fff;

    /* bewusst relativ zur globalen Schriftgröße */
    font-size: 0.9rem;

    padding: 4px 0 4px 18px;
}


/* Rote Punkte */

.messe .sppb-addon-text ul li::before {
    content: "";
    position: absolute;

    left: 0;
    top: 0.75em;

    width: 6px;
    height: 6px;

    background: #d12e27;
    border-radius: 50%;

    transform: translateY(-50%);
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991px) {

    .messe {
        padding: 50px 0;
    }

    .messe .sppb-row-column:first-child {
        padding-right: 15px;
        padding-bottom: 35px;
        margin-bottom: 25px;
    }


    /* Trennlinie horizontal */

    .messe .sppb-row-column:first-child::after {
        top: auto;
        right: 15px;
        left: 15px;
        bottom: 0;

        width: auto;
        height: 1px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .messe {
        padding: 40px 0;
    }

    .messe .sppb-row-column:not(:first-child) {
        margin-bottom: 20px;
    }

    .messe .sppb-row-column:not(:first-child) .sppb-addon-feature {
        min-height: 0;
        padding: 25px 22px;
    }

}
/*Inhalt END*/
/*Forms START*/
/*Forms END*/
/*Footer START*/
/*Footer END*/
/*Offcanvas START*/
#offcanvas-toggler-custom rect{
    fill: #1F1F25 !important;
}
/*Offcanvas END*/
@media screen and (max-width: 1200px) {
    .sppb-nav-custom a{
        margin-right: 11px !important;
   }
}
@media screen and (max-width: 1024px) {
    .sp-megamenu-parent > li + li > a {
        margin-left: 6px;
   }
}
@media screen and (max-width: 991px) {
    :root {
        font-size: 16px;
   }
    .welcome-title h2{
        font-size: 2.9rem !important;
   }
    h1{
        font-size: 2.5rem !important;
        line-height: 120% !important;
   }
    h2{
        font-size: 2.4rem !important;
        line-height: 120% !important;
   }
    h3{
        font-size: 1.7rem !important;
        line-height: 120% !important;
   }
    h4{
        font-size: 1.4rem !important;
        line-height: 120% !important;
   }
    h5{
        font-size: 1.2rem !important;
        line-height: 120% !important;
   }
    h6{
        font-size: 1rem !important;
        line-height: 120% !important;
   }
    #sp-header .logo-image-phone{
        width: 130px;
   }
    #sp-header.header-sticky .logo-image-phone{
        width: 90px;
   }
    #sppb-addon-e5a33871-0cdf-4897-9bb3-bf3a5e4f9c3e{
        justify-content: center !important;
   }
    .anwendungsbereiche h6{
        word-wrap: break-word;
        overflow-wrap: break-word;
        -webkit-hyphens: auto;
        -moz-hyphens: auto;
        hyphens: auto;
   }
    #sppb-addon-a70d81e3-0727-43f0-b810-c7349f05479e.single-footer-one-wrapper > div.sppb-addon-wrapper:nth-child(3){
        flex-basis: 100% !important;
   }
    #sppb-addon-a70d81e3-0727-43f0-b810-c7349f05479e.single-footer-one-wrapper > div.sppb-addon-wrapper:nth-child(6){
        flex-basis: 100% !important;
   }
    #sppb-addon-a70d81e3-0727-43f0-b810-c7349f05479e.single-footer-one-wrapper > div.sppb-addon-wrapper:nth-child(9){
        flex-basis: 100% !important;
   }
    #sppb-addon-997eb9e1-76de-4627-b9a3-002c4cc218b8 .sppb-addon-text-block{
        text-align: left !important;
   }
    #sppb-addon-wrapper-04dfc7b9-12ae-46c9-95a5-eb6aa247d3bd{
        margin-bottom: 0px !important;
   }
}
@media screen and (max-width: 767px) {
    :root {
        font-size: 15px;
   }
    .welcome-title h2{
        font-size: 2.5rem !important;
   }
    h1{
        font-size: 2.2rem !important;
        line-height: 120% !important;
   }
    h2{
        font-size: 2.1rem !important;
        line-height: 120% !important;
   }
    h3{
        font-size: 1.5rem !important;
        line-height: 120% !important;
   }
    h4{
        font-size: 1.2rem !important;
        line-height: 120% !important;
   }
    h5{
        font-size: 1.1rem !important;
        line-height: 120% !important;
   }
    .welcome-desc p{
        display: inline;
   }
    #sp-top1{
        display: none;
   }
    #sp-header .logo-image-phone{
        width: 90px;
   }
    #sp-header.header-sticky .logo-image-phone{
        width: 90px;
   }
    #produkt .ba-gallery {
        padding: 0px !important;
   }
    .sppb-addon-form-builder-form .sppb-form-group:nth-of-type(2), .sppb-addon-form-builder-form .sppb-form-group:nth-of-type(4), .sppb-addon-form-builder-form .sppb-form-group:nth-of-type(6), .sppb-addon-form-builder-form .sppb-form-group:nth-of-type(9){
        padding-right: 0px !important;
   }
}
@media screen and (max-width: 575px) {
    .sppb-addon-form-builder-form .sppb-form-group {
        width: 100% !important;
   }
}
@media screen and (max-width: 575px) {
    h1, .welcome-title h2{
        font-size: 1.9rem !important;
        line-height: 120% !important;
   }
    h2{
        font-size: 1.9rem !important;
        line-height: 120% !important;
   }
    h3{
        font-size: 1.4rem !important;
        line-height: 120% !important;
   }
    h4{
        font-size: 1.1rem !important;
        line-height: 120% !important;
   }
}
@media screen and (max-width: 480px) {
    #produkt .sppb-nav{
        display: block;
        width: 100%;
   }
    #produkt .sppb-nav-custom a{
        margin-right: 0px !important;
   }
    #faq .sppb-panel.sppb-panel-custom{
        padding-left: 5px;
   }
}
a.cc-btn.cc-allowall{
    background: #449f13 !important;
    color: #fff !important;
}
a.cc-btn.cc-allowall:hover{
    background: green !important;
}
a.cc-btn {
    background: #ccc !important;
    color: #000 !important;
    border-radius: 5px !important;
    padding: 10px !important;
    flex: 1 !important;
}
a.cc-btn:hover{
    background: #bbb !important;
    text-decoration: none;
}
@media screen and (max-width: 767px) {
    .cc-message-text{
        font-size: 0.8rem !important;
   }
    div.cc-settings-label::before, span.cc-message-text::before {
        display: none !important;
   }
}
@media (max-width: 992px) {
    .offcanvas-menu .logo {
        display: inherit;
   }
}
