html {
margin: 0 auto;
padding: 0;
max-width: 1920px;
overflow-x: hidden;
}


BODY  {
margin: 0 auto;
padding: 0;
background-color: #efefef;
color: #002D67;
font-weight: 400;
font-family: "GenosGFG", Arial, Helvetica, sans-serif;
font-size: 22px;
line-height: 30px;
max-width: 1920px;
}



:root {
  --weiss: #FFF;
  --schwarz: #000;
  --dunkelblau: #002D67;
  --mittelblau: #004E94;
  --hellblau: #0066B3;
  --orange1:  #F5961E;
  --orange2x:  #FF6600;
  --orange2:  #FA6400;
  --dunkelgrau: #707070;
  --mw: 1400px;
}





header { position: relative; width: 100%; text-align: center; z-index: 99999999; -webkit-transition: 0.1s ease-in-out; -moz-transition: 0.1s ease-in-out; -o-transition: 0.1s ease-in-out; transition: 0.1s ease-in-out; max-width: 1920px; margin: 0; background-size: contain; background-position: right top; background-repeat: no-repeat; text-align: center;  }

header.aktiv { background-color: #fff; }

#header_inner { position: relative; display: block; margin: 30px auto 0 auto; text-align: center; padding: 0; max-width: 1320px; box-sizing: border-box; z-index: 99999999 }
#header_links { display: inline-block; width: 49%; vertical-align: middle; text-align: left; }
#header_mitte { display: inline-block; width: 25%; vertical-align: middle; text-align: center; }
#header_rechts { display: inline-block; width: 25%; vertical-align: middle; text-align: right; }

header #click_menu, #click_menu.aktiv { position: relative; cursor: pointer; display: inline-block; color: #575756; height: 50px; font-size: 0; background-image : url('../../img/toogle_icon_normal.svg'); background-repeat : no-repeat; background-position : center; background-size: auto 50px; z-index: 99999999; vertical-align: top; width: 50px; margin-top: 10px; }
#click_menu:hover { background-image : url('../../img/toogle_icon_hover.svg'); }
#click_menu.aktiv { background-image : url('../../img/toogle_icon_active.svg') !important; }

header #menu_master { display: none; position: relative; top: 0; left: 0; width: 100%; text-align: left; z-index: 99999999; background-color: #fff; margin: 0px; background-size: cover;  background-repeat: no-repeat; background-position: right center; text-align: left; height: calc(100vh - 75px); overflow-y: auto; background-image: url('../../img/l_rapport_weiss.png'); background-size: cover; background-position: right center; margin-top: 0px; background-repeat: no-repeat; background: rgba(255, 255, 255,0.97);  }

header #menu_master.menu_aktiv { display: block !important; }

header #menu_master_outer { display: block; margin: auto; text-align: center; padding: 0 40px; box-sizing: border-box; }

header #menu_master_inner { display: block; margin: auto; max-width: 1400px; text-align: left; }
header #menu_master_inner .zweiteiler { vertical-align: middle; }
header #menu_master_inner p { font-size: 32px; font-weight: 600; }
header #menu_master_inner p span { color: #FF6600 }

header #menu_master_inner ul { display: block; margin: 0; position: relative; padding: 0; box-sizing: border-box; }
header #menu_master_inner ul li  { display: block; margin: 0; padding: 0; vertical-align: top; margin: 0; line-height: 30px; margin-left: -50px; padding-left: 50px; }

header #menu_master_inner ul li.aktiv { background-image: url('../../img/button_icon_orange@2x.png'); background-size: auto 40px; background-position: left top 7px; margin-top: 0px; background-repeat: no-repeat;  }
header #menu_master_inner ul li.aktiv A:not(.sub2) {  background: linear-gradient(180deg,rgba(245, 150, 30, 1) 0%, rgba(245, 150, 30, 1) 29%, rgba(255, 102, 0, 1) 60%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }

header #menu_master_inner ul li A { display: block; font-weight: 600; font-size: 26px; margin: 0; padding: 12px 0; color: var(--dunkelblau);  box-sizing: border-box; text-transform: uppercase;  }
header #menu_master_inner ul li A:hover { color: var(--hellblau); }

header #menu_master_inner ul li A.plus span { display: inline-block; line-height: 30px; background-size: 30px auto; background-position: right 15px center; background-repeat: no-repeat; background-image: url('../../img/kreis_pfeil_bg_weiss.png'); transition: max-width 0.5s ease; padding-right: 55px; box-sizing: border-box; }
header #menu_master_inner ul li A.sub2 plus span { display: inline-block; line-height: 30px; background-size: 30px auto; background-position: right 15px center; background-repeat: no-repeat; background-image: url('../../img/kreis_pfeil_bg_weiss.png'); transition: max-width 0.5s ease; padding-right: 55px; box-sizing: border-box; }


header #menu_master_inner ul.second li.xaktiv { background-image: url('../../img/button_icon_orange@2x.png'); background-size: auto 30px; background-position: left top 7px; margin-top: 0px; background-repeat: no-repeat; padding-left: 40px; margin-left: -45px;   }

header #menu_master_inner ul.second li.xaktiv a { background: linear-gradient(180deg,rgba(245, 150, 30, 1) 0%, rgba(245, 150, 30, 1) 29%, rgba(255, 102, 0, 1) 60%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }





#menu_master_inner ul.first { display: block; margin: 0 0 0 -50px; position: relative; width: 100%; padding: 0; box-sizing: border-box; }
#menu_master_inner ul.first li  { display: block; margin: 0; padding: 0 0 0 50px; margin: 0;    }

#menu_master_inner ul.second { display: block; padding: 0; position: relative; width: 100%; padding: 0; margin: 0; box-sizing: border-box;  }
#menu_master_inner ul.second li  { display: block; margin: 0; padding: 0; width: 100%; margin-left: -5px; }
#menu_master_inner ul.second li a.sub2  { display: block;  font-weight: 400; font-size: 20px; padding: 7px; text-transform: none; }


header #menu_master_inner label { font-weight: 600; display: block; }
header #menu_master_inner label span { color: var(--orange2); }



header #menu_master_inner ul.icon_menu { display: block; margin: 30px 0 0 0; }
header #menu_master_inner ul.icon_menu li { display: block; margin: 0; padding: 0; }
header #menu_master_inner ul.icon_menu li a, .konfigurator { display: block; margin: 0; padding: 0; line-height: 90px; padding-left: 70px; }
header #menu_master_inner ul.icon_menu li a strong { color: var(--orange2); }

#link_6-600, .konfigurator { background-image: url('../../img/konfigurator_icon_farbig_verlauf@2x.png'); background-size: auto 60px; background-position: left center; background-repeat: no-repeat; text-transform: uppercase;
font-weight: 700; line-height: 28px; padding-left: 70px; display: inline-block; min-height: 60px; }
#link_6-601, .rueckruf { background-image: url('../../img/rueckruf_icon_farbig_verlauf@2x.png'); background-size: auto 60px; background-position: left center; background-repeat: no-repeat; text-transform: uppercase;
font-weight: 700;  line-height: 28px; padding-left: 70px; display: inline-block; min-height: 60px; }


.konfigurator { color: var(--dunkelblau); }
.konfigurator span { color: var(--orange2); display: block; }
.konfigurator:hover { transform: scale(1.05); }

.rueckruf { color: var(--dunkelblau); }
.rueckruf span { color: var(--orange2); display: block; }
.rueckruf:hover { transform: scale(1.05); }







header #logo { position: relative; display: block; margin-left: 7px; }

header #logo span { position: relative; display: block; width: 100%; height: 100px; background-image: url('../../img/vbmh-energy-logo-vl-rgb@2x.png'); background-size: contain; background-position: left center; background-repeat: no-repeat; top: 0; margin: 0 auto; z-index: 99999; font-size: 0; }




#link_7-700 { background-image: none; padding-right: 5px !important;  }
#link_7-701 { background-image: url('../../img/linked_in_logo_grau.png'); font-size: 0 !important; background-size: auto 25px !important; padding: 0 20px; -webkit-transition: 0.1s ease-in-out; -moz-transition: 0.1s ease-in-out; -o-transition: 0.1s ease-in-out; transition: 0.1s ease-in-out;  }
#link_7-701:hover { background-size: auto 28px !important; }
#link_7-702 { background-image: url('../../img/xing_logo_grau.png'); font-size: 0 !important; background-size: auto 25px !important; padding: 0 15px !important; -webkit-transition: 0.1s ease-in-out; -moz-transition: 0.1s ease-in-out; -o-transition: 0.1s ease-in-out; transition: 0.1s ease-in-out; display: none !important; }
#link_7-702:hover { background-size: auto 28px !important; }


#master_navigation.sticky { position: fixed; top: 0; display: block; }


@media screen and (min-width: 640px), screen and (min-height: 800px) {
 header { position: fixed; top: 0px; z-index: 99999; }
 .smaller { background-color: transparent; }
 .smaller #header_inner { max-width: 100%; padding: 10px; margin-top: 5px; }
 .smaller #header_links,  .smaller #header_mitte,  .smaller #header_rechts { width: 33%; }
 .smaller #logo { max-width: 100%;  background-image: url('../../img/fixed_logo_bg@2x.png'); background-size: contain; background-position: center; background-repeat: no-repeat; margin-top: -20px; margin-left: 0 }
 .smaller #logo span { height: 60px; width: 120px; }
 .smaller #click_menu, .smaller #click_menu.aktiv { height: 40px; background-size: auto 40px; width: 40px; }
 .smaller #fahne { display: block; }
 .smaller #menu_icons { top: 25%; }
}







#menu_icons { position: fixed; right: 18px; top: 40%;  z-index: 9999999; padding-right: 0px; -webkit-transition: 0.2s ease-in-out; -moz-transition: 0.2s ease-in-out; -o-transition: 0.2s ease-in-out; transition: 0.2s ease-in-out; overflow: hidden; display: block; }
#menu_icons ul { display: block; margin: 0; padding: 0; }
#menu_icons li  { display: block; margin: 15px 0; padding: 0; text-align: right; font-size: 0; line-height: 0; height: 50px; }

#menu_icons li A { display: inline-block; min-width: 44px; height: 44px; background-size: auto 35px; background-position: right 4px top 1px; background-repeat: no-repeat; color: var(--dunkelblau); line-height: 44px; font-size: 20px; font-weight: 400; border-radius: 22px; -webkit-transition: 0.4s ease-in-out; -moz-transition: 0.4s ease-in-out; -o-transition: 0.4s ease-in-out; transition: 0.4s ease-in-out; background-color: rgba(255,255,255,0.75); }

#menu_icons li A em { color: var(--orange2); font-style: normal; }

#menu_icons li A:hover { width: auto; background-color: rgba(255,255,255,1);  border-radius: 22px; }
#menu_icons li A span { display: block; padding-left: 0; padding-right: 0; padding-top: 5px; text-align: left; line-height: 34px; font-size: 0; width: 0;  }
#menu_icons li:hover a { display: block; width: auto;  }
#menu_icons li A:hover span { width: auto; font-size: 18px; padding-left: 15px; padding-right: 60px; font-weight: 700; }
#link_5-500 { background-image: url('../../img/mr_konfigurator_icon_farbig_verlauf@2x.png'); }
#link_5-501 { background-image: url('../../img/mr_rueckruf_icon_farbig_verlauf@2x.png'); }
#link_5-502 { background-image: url('../../img/mr_anrufen_icon_farbig_verlauf@2x.png'); }
#link_5-503 { background-image: url('../../img/mr_e_mail_icon_farbig_verlauf@2x.png'); }





#wrapper { position: relative; max-width: 1920px; margin: 0 auto; display: block; text-align: center; margin-top: 0; box-sizing: border-box; background-color: #fff;  }
.wrapper_100 { padding-top: 0px; }

a.galerie { width: 30%; display: inline-block; height: 220px;  vertical-align: top; background-size: cover; overflow: hidden; background-position: center; margin: 10px; text-align: center; }
a.galerie img { display: block; opacity: 0.9; object-fit: cover; width: 60px; object-position: center; margin: 80px auto; -webkit-transition: 0.4s ease-in-out; -moz-transition: 0.4s ease-in-out; -o-transition: 0.4s ease-in-out; transition: 0.4s ease-in-out; }
a.galerie:hover img { opacity: 1; width: 80px; margin: 70px auto;}


img { max-width: 100%; }
B, STRONG 	{ font-weight: 600; }
HR 			{ border-top: 0; border-bottom: 1px dotted #666 }
IMG 		{ max-width: 100%;  }
A 			{ text-decoration: none; color: #48504F }

table		{ width: 100%; }
table td { vertical-align: top; }

.clearer { clear: both; height: 0 !important; font-size: 0 !important; line-height: 0 !important; }


h1, .h1 { display: block; font-weight: 600; font-size: 72px; line-height: 80px; color: #002D67; padding: 0; margin: 0; }
h2, .h2 { display: block; font-weight: 600; font-size: 54px; line-height: 60px; color: #002D67; padding: 0; margin: 0; }
h3, .h3 { display: block; font-weight: 400; font-size: 32px; line-height: 40px; color: var(--orange2); padding: 0; margin: 0; }
h4, .h4 { display: block; font-weight: 600; font-size: 28px; line-height: 36px; color: #002D67; padding: 0; margin: 0; }
h5, .h5 { display: block; font-weight: 800; font-size: 24px; line-height: 32px; color: #002D67; padding: 0; margin: 0; }
h6, .h6 { display: block; font-weight: 700; font-size: 16px; line-height: 18px; color: #575756; padding: 0; margin: 20px 0 0 0; text-transform: uppercase; }

.h3.marker { background-color: var(--dunkelblau) !important; color: var(--weiss) !important; padding: 40px; box-sizing: border-box; }
.h3.marker .button span { color: var(--weiss) !important; }

.verlauf, .verlauf1, .intro h1  {
 background: linear-gradient(90deg,rgba(0, 45, 103, 1) 0%, rgba(0, 45, 103, 1) 29%, rgba(0, 102, 179, 1) 60%) !important;;
 -webkit-background-clip: text !important;;
 -webkit-text-fill-color: transparent !important;;
}


.verlauf2, .intro .h3 {
 background: linear-gradient(270deg,rgba(245, 150, 30, 1) 0%, rgba(245, 150, 30, 1) 29%, rgba(255, 102, 0, 1) 60%);
 -webkit-background-clip: text;
 -webkit-text-fill-color: transparent;
}




#master_menu_unten { display: block; color: #FFF; }
.menu_unten_inner { display: block; width: 100%; max-width: 1400px; font-size: 16px; margin: 0 auto; padding: 20px 20px 50px 20px; box-sizing: border-box; text-align: center; font-weight: 700; }
.menu_unten_inner ul { display: inline-block; padding: 0; margin: 0; }
.menu_unten_inner ul li { display: inline-block; vertical-align: middle; color: #FFF; }
.menu_unten_inner ul li A { color: #FFF; display: block; text-decoration: none; font-weight: 400; }
.menu_unten_inner ul li A:hover { text-decoration: underline; }
.menu_unten_inner ul li span { display: inline-block; color: #FF6600; padding: 0 10px; font-weight: 300; }


.scrollicon {
    position: fixed;
    right: 20px;
    bottom: 15px;
    background-image: url(../../img/button_up.png);
    background-size: auto 13px;
    background-position: top 12px center;
    background-repeat: no-repeat;
    width: 40px;
    height: 40px;
    color: #fff;
    font-size: 0;
    z-index: 999999;
    background-color: rgba(255,255,255,0.8);
    border-radius: 100%;
}


.scrollicon:hover { background-color: rgba(255,255,255,1);     background-size: auto 15px;  }








input[type="date"], input[type="text"], input[type="input"], input[type="email"], input[type="number"], input[type="file"], input[type="tel"], textarea {
font-size: 20px;
color: var(--dunkelblau);
background-color: transparent;
font-family: inherit;
box-sizing: border-box;
font-weight: 400;
display: inline-block;
width: 100%;
padding: 15px;
border: 3px solid var(--mittelblau);
border-radius: 35px;
text-align: left;
width: 200px;
margin-top: 5px;
vertical-align: bottom;
}


select { width: 100%; padding: 15px; }

textarea { min-height: 290px; }


button {
display: inline-block;
vertical-align: bottom;
text-decoration: none !important;
color: #fff;
background: linear-gradient(180deg,rgba(245, 150, 30, 1) 0%, rgba(245, 150, 30, 1) 29%, rgba(255, 102, 0, 1) 60%);
padding: 16px 35px;
border: none !important;
font-size: 20px;
line-height: 28px;
text-transform: uppercase;
font-weight: 600;
cursor: pointer;
border-radius: 35px;
margin-left: -60px;
}

button span {
display: block;
background-image: url('../../img/lupe_plz_icon_weiss.svg') !important;
background-size: auto 24px; background-position: right center; background-repeat: no-repeat;
padding-right: 40px;
}




.button {
display: inline-block;
vertical-align: bottom;
text-decoration: none !important;
color: #000;
padding: 15px 25px 15px 50px;
font-size: 20px;
line-height: 28px;
text-transform: uppercase;
font-weight: 600;
cursor: pointer;
background-image: url('../../img/button_icon_orange@2x.png');
background-size: auto 40px;
background-position: left center;
background-repeat: no-repeat;
}


.button span{
display: block;
color: var(--dunkelblau);
}


#fahne { position: fixed; z-index: 999; bottom: 0; width: 140px; left: 50%; margin-left: -70px; height: 500px; box-sizing: border-box; background-image: url('../../img/plz_maske.svg');
background-size: auto 100%; background-position: bottom center; background-repeat: no-repeat; text-align: center; color: #fff; margin-bottom: -440px; -webkit-transition: 0.3s ease-in-out; -moz-transition: 0.3s ease-in-out; -o-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; cursor: pointer; display: none; }
#fahne #click_me { display: block; position: relative; width: 40px; height: 40px; background-image: url('../../img/lupe_karte_plz_icon_weiss.svg'); background-size: auto 100%; background-position: center; background-repeat: no-repeat; margin: auto; }
#fahne p { padding: 0; margin: 10px; }
#fahne_inner { display: block; max-width: 400px; margin: auto; padding: 20px; box-sizing: border-box; font-weight: 700; font-size: 20px; }
#fahne_inner label { display: inline-block; margin: 10px auto; background-color: var(--dunkelblau); padding: 1px 3px }
#fahne_inner label span { color: var(--orange2); }
#fahne_inner p { padding: 0; margin: 26px; }
#fahne_inner input[type="text"] { border-color: var(--weiss); color: var(--weiss); }
.fahne_aktiv { margin-bottom: -100px !important; width: 700px !important; margin-left: -350px !important; }
.fahne_aktiv #click_me { opacity: 0; }


*:focus-visible {
    outline: 2px dashed red;
    outline-offset: 3px;
    z-index: 9999999999999999999999999999;
}


.unsichtbar { position: absolute; top: 10px; left: 10px; width: 0; height: 0; font-size: 0; }
.unsichtbar:not(:focus) { position: absolute; width: 0; height: 0; }
.unsichtbar:focus { background-color: #000; color: #fff; display: block; width: auto; height: auto; font-size: 20px; z-index: 999999999 }
