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: "Roboto", Arial, Helvetica, sans-serif;
font-size: 22px;
line-height: 30px;
max-width: 1920px;
}



:root {
  --weiss: #fff;
  --schwarz: #000;
  --tuerkis: #008AAB;
  --aqua: #86CCD2;
  --dunkelgrau: #333;
  --mittelgrau: #666;
  --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; }



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: 30px 40px; width: 100%; max-width: var(--mw); box-sizing: border-box; z-index: 99999999; align-items: center; justify-content: center; }
#header_links { width: 70%; text-align: left; align-items: center; justify-content: left; display: inline-flex; flex-wrap: wrap; }



#header_links .logo, .logo { position: relative; display: inline-block; width: 150px; height: 150px; background-color: var(--weiss); border-radius: 100% }

#header_links .logo span, .logo span { position: relative; display: block; width: inherit; height: inherit; background-image: url('../../img/Mittelstand_Ai_Logo_v2_WEB.png'); background-size: 105px auto; background-position: center; background-repeat: no-repeat; top: 0; margin: 0 auto; z-index: 99999; font-size: 0; }

#header_links #teaser { display: inline-block; color: var(--weiss); font-size: 24px; line-height: 24px; text-transform: uppercase; margin-left: 60px; font-weight: 600; }





#header_rechts { width: 30%; text-align: right; align-items: center; justify-content: right; display: inline-flex; flex-wrap: wrap; }

header #click_menu, #click_menu.aktiv { position: absolute; cursor: pointer; display: inline-block; height: 60px; font-size: 0; background-image : url('../../img/toggle_icon_normal.svg'); background-repeat : no-repeat; background-position : center; z-index: 99999; vertical-align: top; width: 60px; background-size: auto 34px; background-color: var(--weiss); border-radius: 100%; box-shadow: 0px 0px 11px 2px var(--mittelgrau); }
#click_menu:hover { background-image : url('../../img/toggle_icon_hover.svg'); }

#click_menu.aktiv { background-image : url('../../img/toggle_icon_aktiv.svg') !important; }

header #menu_master { display: block; position: absolute; top: 0; left: -50%; width: 50%; text-align: left; z-index: 99999999; background-color: var(--weiss); margin: 0px; text-align: left; min-height: 100vh;  height: 100vh; overflow-y: auto; margin-top: 0px; background-repeat: no-repeat; clip-path: polygon(0 0, 100% 0%, 80% 100%, 0% 100%); background: linear-gradient(90deg,rgba(57, 119, 143, 0.95) 0%, rgba(43, 113, 140, 0.95) 5%, rgba(134, 204, 210, 0.95) 100%); backdrop-filter: blur(10px);  -webkit-backdrop-filter: blur(10px); -webkit-overflow-scrolling: touch; }

header #menu_master.menu_master_hover { left: -40%; text-align: right; }

header #menu_master.menu_master_aktiv { left: 0; text-align: right; }

header #menu_master_outer { display: inline-block; margin: auto; text-align: right; padding: 0; box-sizing: border-box; margin-top: 21px;  max-width: 660px; width: 100% }

header #menu_master_inner { display: block; margin: auto; max-width: var(--mw); 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 { background-image: url('../../img/pfeil_weiss.svg'); background-size: auto 26px; background-position: left top 14px; margin-top: 0px; background-repeat: no-repeat;  }
header #menu_master_inner ul li.aktiv A:not(.sub2) { text-decoration: underline;  }

header #menu_master_inner ul li A { display: block; font-weight: 600; font-size: 26px; margin: 0; padding: 12px 0; color: var(--weiss);  box-sizing: border-box;  }
header #menu_master_inner ul li A:hover { opacity: 0.9 }

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/pfeil_weiss.svg'); 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 { text-decoration: underline; }



.smaller #header_inner { max-width: 100%; padding: 18px; align-items: start; }
.smaller #header_links #teaser { display: none; }
.smaller #menu_links { display: none; }
.smaller #header_links .logo { width: 100px; height: 100px; box-shadow: 0px 0px 15px var(--dunkelgrau); }
.smaller #header_links .logo span { background-size: 75px auto; }
.smaller #header_rechts { justify-content: right; }
.smaller #click_menu, .smaller #click_menu.aktiv { height: 50px; width: 50px; background-size: auto 25px; top: 20px; }
.smaller #menu_master { left: -50%; }
.smaller #menu_icons { top: 66%; }


#menu_master_inner ul.first { display: block; margin: 40px 0 0 0; position: relative; width: 100%; padding: 0; box-sizing: border-box; }
#menu_master_inner ul.first li  { display: block; margin: 0; padding: 0 0 0 40px; 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_links { display: block; margin-right: 90px; }
header #menu_links ul { display: block; margin: 0; }
header #menu_links ul li { display: inline-block; margin: 0 15px; padding: 0; }
header #menu_links ul li a { display: inline-block; margin: 0; padding: 0; width: 32px; height: 32px; background-size: auto 26px; background-position: center; background-repeat: no-repeat;  line-height: 0; font-size: 0; vertical-align: middle; opacity: 0.85 }
header #menu_links ul li a:hover { opacity: 1; background-size: auto 30px; }

#link_6-600 { background-image: url('../../img/icon_linkedin.png'); }
#link_6-601 { background-image: url('../../img/icon_xing.png'); }


#menu_icons { position: fixed; right: 18px; top: 50%; margin-top: -80px; 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; display: block; }
#menu_icons ul { display: block; margin: 0; padding: 0; }
#menu_icons li  { display: block; margin: 30px 0; padding: 0; text-align: right; font-size: 0; line-height: 0; height: 50px; }
#menu_icons li A { display: inline-block; width: 50px; height: 50px; background-size: 24px auto; background-position: center; background-repeat: no-repeat; line-height: 50px; border-radius: 100%; -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; border: 3px solid var(--weiss); box-sizing: border-box; }
#menu_icons li A:hover { background-color: var(--weiss); }
.smaller #menu_icons li A { box-shadow: 0px 0px 11px 2px var(--mittelgrau); }

#link_5-500 { background-image: url('../../img/tel_icon_weiss.svg'); }
#link_5-500:hover, .smaller #link_5-500 { background-image: url('../../img/tel_icon_tuerkis.svg'); background-color: var(--weiss); }
#link_5-501 { background-image: url('../../img/mail_icon_weiss.svg'); }
#link_5-501:hover, .smaller #link_5-501 { background-image: url('../../img/mail_icon_tuerkis.svg'); background-color: var(--weiss); }

.smaller #link_5-500:hover { background-image: url('../../img/tel_icon_weiss.svg'); background-color: var(--tuerkis); border-color: var(--tuerkis); }
.smaller #link_5-501:hover { background-image: url('../../img/mail_icon_weiss.svg'); background-color: var(--tuerkis); border-color: var(--tuerkis); }



#wrapper { position: relative; max-width: 1920px; margin: 0 auto; display: block; text-align: center; margin-top: 0; box-sizing: border-box; background-color: var(--weiss);  }




#navigation { display: block; background: var(--weiss); }
#navigation_inner { display: block; width: 100%; max-width: var(--mw); margin: 0 auto; text-align: right; padding: 1px; font-weight: 800; font-size: 16px; box-sizing: border-box; }
#navigation_inner p { margin: 5px 0; }
#navigation_inner a { color: var(--tuerkis); }



#navigation_inner .rubrik { display: inline-block; background-image: url('../../img/pfeil_tuerkis.svg'); background-size: 8px auto; background-repeat: no-repeat; background-position: right center; padding-right: 20px; margin-right: 10px; }
#navigation_inner .rubrik_a { display: inline-block; text-transform: uppercase; }




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; }


h1, .h1 { display: block; font-weight: 800; font-size: 66px; line-height: 74px; color: var(--dunkelgrau); padding: 0; margin: 0; }
h2, .h2 { display: block; font-weight: 800; font-size: 50px; line-height: 60px; color: var(--dunkelgrau); padding: 0; margin: 0; }
h3, .h3 { display: block; font-weight: 400; font-size: 30px; line-height: 40px; color: var(--dunkelgrau); padding: 0; margin: 0; }
h4, .h4 { display: block; font-weight: 800; font-size: 28px; line-height: 36px; color: var(--dunkelgrau); padding: 0; margin: 0; }
h5, .h5 { display: block; font-weight: 800; font-size: 24px; line-height: 32px; color: var(--dunkelgrau); padding: 0; margin: 0; }
h6, .h6 { display: block; font-weight: 800; font-size: 16px; line-height: 18px; color: var(--dunkelgrau); padding: 0; margin: 20px 0 0 0; text-transform: uppercase; }

h1 em, .h1 em { font-style: normal; color: var(--tuerkis); }
h2 em, .h2 em { font-style: normal; color: var(--tuerkis); }
h3 em, .h3 em { font-style: normal; color: var(--tuerkis); }
h4 em, .h4 em { font-style: normal; color: var(--tuerkis); }





.menu_links { display: block; margin-right: 60px; }
.menu_links ul { display: block; margin: 0; padding: 0; }
.menu_links ul li { display: inline-block; margin: 0 15px 0 0; padding: 0; }
.menu_links ul li a { display: inline-block; margin: 0; padding: 0; width: 60px; height: 60px; background-size: auto 50px; background-position: center; background-repeat: no-repeat;  line-height: 0; font-size: 0; vertical-align: middle; opacity: 1 }
.menu_links ul li a:hover { background-size: 60px; }

.link_6-600 { background-image: url('../../img/icon_linkedin.png'); }
.link_6-601 { background-image: url('../../img/icon_xing.png'); }





#master_menu_unten { display: block; color: var(--weiss); }
.menu_unten_inner { display: block; width: 100%; max-width: var(--mw); font-size: 20px; margin: 30px auto 0 auto; padding: 20px; box-sizing: border-box; text-align: center; font-weight: 600; }
.menu_unten_inner ul { display: inline-block; padding: 0; margin: 0; }
.menu_unten_inner ul li { display: inline-block; vertical-align: middle; color: var(--weiss); }
.menu_unten_inner ul li A { color: var(--weiss); 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: var(--weiss); padding: 0 10px; font-weight: 300; }


.scrollicon {
display: none;
    position: fixed;
    right: 20px;
    bottom: 15px;
    background-image: url(../../img/scroll_to_top_tuerkis.png);
    background-size: auto 20px;
    background-position: center;
    background-repeat: no-repeat;
    width: 50px;
    height: 50px;
    color: var(--weiss);
    font-size: 0;
    z-index: 999999;
    background-color: rgba(255,255,255,0.8);
    border-radius: 100%;
    box-shadow: 0px 0px 11px 2px var(--mittelgrau);
}


.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(--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(--aqua);
text-align: center;
width: 100%;
margin-top: 5px;
vertical-align: bottom;
display: block;
}

label { display: none }
::placeholder { color: var(--aqua); opacity: 1; }
select { width: 100%; padding: 15px; }

textarea { min-height: 240px; border: 2px solid var(--aqua); color: var(--weiss); text-align: left; padding: 10px; }

.screenreader { font-size: 16px; }


button {
display: inline-block;
vertical-align: bottom;
text-decoration: none !important;
color: var(--weiss);
background: var(--schwarz);
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 {
display: inline-block;
vertical-align: bottom;
text-decoration: none !important;
color: var(--weiss);
background: var(--dunkelgrau);
padding: 12px 30px;
font-size: 18px;
line-height: 28px;
text-transform: uppercase;
font-weight: 400;
cursor: pointer;
border-radius: 6px;
letter-spacing: 1.5px;
}


.button:hover { background: url('../../img/back_verlauf.svg'); background-size: cover; background-position: center; background-repeat: no-repeat; }
.button:hover::before { content: ''; width: 25px; height: 15px; background-image: url('../../img/pfeil_weiss.svg'); background-position: left center; display: inline-block; 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 }