html {
margin: 0 auto;
padding: 0;
max-width: 1920px;
overflow-x: hidden;
}


BODY  {
margin: 0 auto;
padding: 0;
background-color: #efefef;
color: var(--dunkelgrau);
font-weight: 400;
font-family: "Barlow", Arial, Helvetica, sans-serif;
font-size: 22px;
line-height: 30px;
max-width: 1920px;
}



:root {
  --weiss: #fff;
  --schwarz: #000;
  --blau: #004F9F;
  --dunkelgrau: #1B1C1D;
  --mw: 1400px;
}


.transition_2 { -webkit-transition: 0.15s ease-in-out; -moz-transition: 0.15s ease-in-out; -o-transition: 0.15s ease-in-out; transition: 0.15s ease-in-out; }


footer { display: table; width: 100%; }
footer .zweiteiler { padding: 25px 40px; display: table-cell; }
footer .zweiteiler ul { display: inline-block; padding: 0; margin: 0; }
footer .zweiteiler ul li { display: inline-block; vertical-align: middle; color: var(--weiss); font-size: 18px; }
footer .zweiteiler ul li A { color: var(--weiss); display: block; text-decoration: none; font-weight: 700; }
footer .zweiteiler ul li A:hover { text-decoration: underline; }
footer .zweiteiler ul li span { display: inline-block; color: var(--weiss); padding: 0 10px; font-weight: 400; }
footer .zweiteiler img { display: block; margin: auto; max-width: 560px; width: 100%; height: auto; }


.scrollicon { display: none; position: fixed; right: 20px; bottom: 20px; background-image: url(../../img/scroll_to_top.svg); background-size: auto 48px; background-position: center; background-repeat: no-repeat; width: 54px; height: 54px; font-size: 0; z-index: 999999; border-radius: 100%; }
.scrollicon:hover { background-size: auto 54px; }


h1, .h1 { font-family: "Arvo", Arial, Helvetica, sans-serif; display: block; font-weight: 700; font-size: 74px; line-height: 84px; color: var(--schwarz); padding: 0; margin: 0; text-transform: uppercase; letter-spacing: 5px; }
h2, .h2 { font-family: "Arvo", Arial, Helvetica, sans-serif; display: block; font-weight: 700; font-size: 74px; line-height: 84px; color: var(--schwarz); padding: 0; margin: 0; text-transform: uppercase; letter-spacing: 5px; }
h3, .h3 { display: block; font-weight: 700; font-size: 28px; line-height: 38px; color: var(--schwarz); padding: 0; margin: 0; }
h4, .h4 { font-family: "Arvo", Arial, Helvetica, sans-serif; display: block; font-weight: 700; font-size: 40px; line-height: 50px; color: var(--schwarz); padding: 0; margin: 0; text-transform: uppercase; }
h5, .h5 { display: block; font-weight: 700; font-size: 20px; line-height: 30px; color: var(--schwarz); padding: 0; margin: 0; }





header { position: fixed; 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; margin: 0; top: 0; left: 0;  }



#header_inner { position: relative; display: flex; margin: 0 auto; text-align: center; padding: 10px 40px; width: 100%; box-sizing: border-box; z-index: 99999999; align-items: center; justify-content: center; background-color: var(--weiss); max-width: 1920px; }
#header_links { width: 50%; text-align: left; align-items: center; justify-content: left; display: inline-flex; flex-wrap: wrap; }



#header_links .logo { position: relative; display: block; width: 600px; height: 75px; background-image: url('../../img/baugeschaeft_brehm_logo.svg'); background-size: contain; background-position: center; background-repeat: no-repeat; top: 0; margin: 0; z-index: 99999; font-size: 0; }

#header_rechts { width: 50%; text-align: right; align-items: center; justify-content: right; display: inline-flex; flex-wrap: wrap; }


#header_rechts #menu_kontakt { display: none; }

header #click_menu, #click_menu.aktiv { position: relative; cursor: pointer; height: 80px;  z-index: 99999; vertical-align: top; color: var(--weiss); font-size: 20px; background-size: 30px auto; display: none; }
#click_menu:hover span { background-image : url('../../img/toggle_icon_hover.svg'); }
#click_menu.aktiv span { background-image : url('../../img/toggle_icon_active.svg') !important; }
header #click_menu span, #click_menu.aktiv span { text-align: center; display: inline-block; margin: auto; background-image : url('../../img/toggle_icon.svg'); background-repeat : no-repeat; background-position : left center; padding-left: 50px; }

header #menu_master { display: block; position: relative; text-align: left;  }
header #menu_master_outer { display: block; margin: auto; text-align: right; padding: 0; box-sizing: border-box; width: 100% }
header #menu_master_inner { display: block; margin: auto; 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 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 A { color: var(--blau) }
header #menu_master_inner ul li A { display: block; font-weight: 600; font-size: 22px; margin: 0; padding: 10px 0; color: var(--schwarz);  box-sizing: border-box;  }
header #menu_master_inner ul li A:hover { opacity: 0.9 }
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; }



.smaller #header_inner { padding: 0; border-bottom: 2px solid var(--weiss); align-items: flex-start; }
.smaller #menu_master_outer { display: none; }
.smaller .menu_master_outer_aktiv { display: block !important; background-color: transparent; }
.smaller #header_rechts { width: 66.6%; }
.smaller #header_rechts #menu_kontakt { display: flex; }

.smaller #header_links { width: 33.3%; padding-left: 40px; box-sizing: border-box; }
.smaller #header_links .logo { width: 410px; height: 80px; }
.smaller #click_menu, .smaller #click_menu.aktiv { background-color: var(--blau); width: 50%; display: flex;    align-items: center; height: 80px; }


#menu_master_inner ul.first { display: block; margin: 0; position: relative; width: 100%; padding: 0; box-sizing: border-box; text-align: right; }
#menu_master_inner ul.first li  { display: inline-block; margin: 0 20px; padding: 0; }
#menu_master_inner ul.first li a.plus { background-image: url('../../img/pfeil_blau.svg'); background-position: right top 24px; padding-right: 25px; background-repeat: no-repeat; background-size: 14px auto; }
#menu_master_inner ul.first > li { position: relative; }
#menu_master_inner ul.first > li:hover > .second_div, #menu_master_inner ul.first > li > .second_div:hover { display: block; background-color: #fff; border-top: none; padding: 20px; margin-left: -16px; width: 190px; }


#menu_master_inner .second_div { display: none; position: absolute; text-align: left; padding-top: 50px; }
#menu_master_inner ul.second { display: block; }
#menu_master_inner ul.second li  { display: block; margin: 0; padding: 0; line-height: 20px; }
#menu_master_inner ul.second li a.sub2 { display: block; font-weight: 700; font-size: 18px; padding: 7px 28px 7px 0; text-transform: none; color: var(--schwarz); background-image: url('../../img/pfeil_blau.png'); background-position: left center; padding-left: 25px; background-repeat: no-repeat; background-size: 9px auto;  }


header #header_rechts #menu_kontakt { height: 80px; background-color: var(--schwarz); width: 50%; display: none;  align-items: center }
header #header_rechts #menu_kontakt ul { display: block; margin: 0 auto; padding: 0; }
header #header_rechts #menu_kontakt ul li { display: inline-block; margin: 0; padding: 15px; }
header #header_rechts #menu_kontakt ul li a { display: block; margin: 0; padding: 0; color: var(--weiss); background-repeat : no-repeat; background-position : left center; font-size: 20px; }
header #header_rechts #menu_kontakt #link_6-600 { background-image : url('../../img/telefon_icon_ws.png'); background-size: auto 30px; padding-left: 30px; }
header #header_rechts #menu_kontakt #link_6-601 { background-image : url('../../img/e_mail_icon_ws.png'); background-size: auto 20px; padding-left: 37px; }



#wrapper { background-color: var(--weiss); position: relative; max-width: 1920px; margin: 0 auto; display: block; text-align: center; margin-top: 95px; box-sizing: border-box; background-color: var(--weiss);  }




#navigation { display: block; background: var(--weiss); }
#navigation_inner { display: block; width: 100%; margin: 0 auto; text-align: left; padding: 1px 40px; font-weight: 400; font-size: 18px; box-sizing: border-box; }
#navigation_inner p { margin: 5px 0; line-height: 40px; }
#navigation_inner a { color: var(--blau); font-family: "Arvo", Arial, Helvetica, sans-serif; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; font-size: 16px; line-height: 40px; }



#navigation_inner .rubrik { display: inline-block; background-image: url('../../img/pfeil_blau.png'); background-size: 8px auto; background-repeat: no-repeat; background-position: right center; padding-right: 20px; margin-right: 10px; }




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 var(--dunkelgrau); }
IMG 		{ max-width: 100%;  }
A 			{ text-decoration: none; color: var(--dunkelgrau) }

table		{ width: 100%; }
table td { vertical-align: top; }

.clearer { clear: both; height: 0 !important; font-size: 0 !important; line-height: 0 !important; }












input[type="date"], input[type="text"], input[type="input"], input[type="email"], input[type="number"], input[type="file"], input[type="tel"], textarea, select {
font-size: 20px;
color: var(--weiss);
background-color: transparent;
font-family: inherit;
box-sizing: border-box;
font-weight: 400;
display: inline-block;
width: 100%;
padding: 15px;
border: none;
border-bottom: 2px solid var(--blau);
text-align: center;
width: 100%;
margin-top: 5px;
vertical-align: bottom;
display: block;
}


::placeholder { color: var(--weiss); opacity: 1; }
select { width: 100%; padding: 15px; }

textarea { min-height: 400px; border: 2px solid var(--blau); color: var(--weiss); text-align: left; padding: 10px; }



button, .button {
display: inline-block;
vertical-align: bottom;
text-decoration: none !important;
color: var(--weiss);
background: var(--schwarz);
padding: 12px 30px;
font-size: 18px;
line-height: 28px;
text-transform: uppercase;
font-weight: 400;
cursor: pointer;
border-radius: 6px;
letter-spacing: 1.5px;
font-family: "Arvo", Arial, Helvetica, sans-serif !important;
border: none;
background-image: url('../../img/pfeil_blau.svg');
background-position: right center;
background-repeat: no-repeat;
}




*: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: var(--schwarz); color: var(--weiss); display: block; width: auto; height: auto; font-size: 20px; z-index: 999999999 }