/* --- undo --- */
html, body, div, span, a, h1, h2, h3, h4, h5, h6, p, blockquote, img, 
ol, ul, li, input, textarea, label, select, table, tbody, thead, tfoot, tr, th, 
td, footer, header, menu, nav, section, video { padding: 0; margin: 0; box-sizing: border-box; }

html, body, p, form, input, textarea { margin: 0; padding: 0; }
img, a img, :link img, :visited img, fieldset, button { border: none; outline: none; }
a:visited { text-decoration: none; }
img { margin: 0; padding: 0; vertical-align: bottom; }
table { margin: 0; padding: 0; border: none; border-spacing: 0; }
tr { margin: 0; padding: 0; border: none; border-spacing: 0; }
td { margin: 0; padding: 0; border: none; border-spacing: 0; vertical-align: top; }
hr { clear: both; }

ul { list-style-type: disc; list-style-image: none; margin: 0 0 1.0em 0; }
ul li { list-style-type: disc; margin: 0 0 0.5em 1em; padding: 0; }
ol { list-style-type: decimal; list-style-image: none; margin: 0 0 1.0em 0; }
ol li { list-style-type: decimal; margin: 0 0 0.5em 1em; padding: 0; }


html, body { 
min-height: 100%; /* Vertikalen Scrollbalken immer einblenden */ 
word-wrap:break-word; /* Woerter in die naechste Zeile umbrechen, wenn sie das umschliessende Element verlassen */
min-width: 300px;
}
html { overflow: scroll; overflow-x: auto; }

/* fuer responsive Webseiten */ 
img, object, iframe { max-width: 100%; height: auto; }

/*  Clearfix, um das Floating innerhalb der Container aufzuheben */ 
.clearfix:after,
.outer_box_inner:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; font-size: 0; line-height: 0; }

/* Css-Formatierungen interne Module */ 
.flLeft { float: left; }
.flRight { float: right; }
.flClear { clear: both; }
.center { text-align: center; }
.small { font-size: small; }
.bold { font-weight: 700; }
.hide { display: none; }
.textLeft { text-align: left; }
.textCenter { text-align: center; }
.textRight { text-align: right; }


/* --- CSS-Einstellungen fuer das Addon Modulhelper (bzw. bw_modulhelper) --- */ 

/* Section */
.section_bg_none,
.section_bg_gray,
.section_bg_gray_dark,
.section_bg_gray_dark_1,
.section_bg_gray_dark_2,
.section_bg_blue,
.section_bg_blue_1,
.section_bg_blue_2,
.section_bg_blue_dark,
.section_bg_blue_dark_1,
.section_bg_blue_dark_2
{ clear: both; display: block; position: relative; top: 0; left: 0; width: 100%; height: auto; margin: 0; padding: 50px 0 10px 0; z-index: 1; }

.section_bg_none { background-color: transparent; }
.section_bg_gray { background-color: #f0f0f0; }

.section_bg_gray_dark { background-color: #434141; color: #fff; }
.section_bg_gray_dark_1 { background-color: #4a4747; color: #fff; }
.section_bg_gray_dark_2 { background-color: #514f4f; color: #fff; }

.section_bg_blue { background-color: #439cd6; color: #fff; }
.section_bg_blue_1 { background-color: #3b8ac2; color: #fff; }
.section_bg_blue_2 { background-color: #347ab4; color: #fff; }

.section_bg_blue_dark { background-color: #001f40; color: #fff; }
.section_bg_blue_dark_1 { background-color: #002852; color: #fff; }
.section_bg_blue_dark_2 { background-color: #00336a; color: #fff; }






.section_bg_gray_dark h1, .section_bg_gray_dark h2, .section_bg_gray_dark h3, .section_bg_gray_dark p, .section_bg_gray_dark li, .section_bg_gray_dark a,
.section_bg_gray_dark_1 h1, .section_bg_gray_dark_1 h2, .section_bg_gray_dark_1 h3, .section_bg_gray_dark_1 p, .section_bg_gray_dark_1 li, .section_bg_gray_dark_1 a,
.section_bg_gray_dark_2 h1, .section_bg_gray_dark_2 h2, .section_bg_gray_dark_2 h3, .section_bg_gray_dark_2 p, .section_bg_gray_dark_2 li, .section_bg_gray_dark_2 a,
.section_bg_blue h1, .section_bg_blue h2, .section_bg_blue h3, .section_bg_blue p, .section_bg_blue li, .section_bg_blue a,
.section_bg_blue_1 h1, .section_bg_blue_1 h2, .section_bg_blue_1 h3, .section_bg_blue_1 p, .section_bg_blue_1 li, .section_bg_blue_1 a,
.section_bg_blue_2 h1, .section_bg_blue_2 h2, .section_bg_blue_2 h3, .section_bg_blue_2 p, .section_bg_blue_2 li, .section_bg_blue_2 a,
.section_bg_blue_dark h1, .section_bg_blue_dark h2, .section_bg_blue_dark h3, .section_bg_blue_dark p, .section_bg_blue_dark li, .section_bg_blue_dark a,
.section_bg_blue_dark_1 h1, .section_bg_blue_dark_1 h2, .section_bg_blue_dark_1 h3, .section_bg_blue_dark_1 p, .section_bg_blue_dark_1 li, .section_bg_blue_dark_1 a,
.section_bg_blue_dark_2 h1, .section_bg_blue_dark_2 h2, .section_bg_blue_dark_2 h3, .section_bg_blue_dark_2 p, .section_bg_blue_dark_2 li, .section_bg_blue_dark_2 a
{ color: #fff; }

.section_bg_gray_dark a:hover,
.section_bg_gray_dark_1 a:hover,
.section_bg_gray_dark_2 a:hover,
.section_bg_blue a:hover,
.section_bg_blue_1 a:hover,
.section_bg_blue_2 a:hover,
.section_bg_blue_dark a:hover,
.section_bg_blue_dark_1 a:hover,
.section_bg_blue_dark_2 a:hover
{ color: #fff; text-decoration: underline; }


.section_full,
.section_1600,
.section_1200,
.section_980 { clear: both; display: block; position: relative; top: 0; left: 0; width: 100%; height: auto; margin: 0 auto; padding: 0; z-index: 1; }

.section_full { width: 100%; margin: 0 ; }
.section_1600 { width: 1600px; margin: 0 auto; }
.section_1200 { width: 1200px; margin: 0 auto; }
.section_980 { width: 980px; margin: 0 auto; }


@media all and (max-width:1600px) { .section_1600 { width: 100%; margin: 0; } }
@media all and (max-width:1200px) { .section_1200 { width: 100%; margin: 0; } }
@media all and (max-width:980px) { .section_980 { width: 100%; margin: 0; } }
@media all and (max-width:768px) { .section_768 { width: 100%; margin: 0; } }


.section_bg_image,
.section_bg_paroller { display: block; position: static; width: 100%; margin: 0; padding: 100px 0 80px 0; z-index: 1; 
background-color: #fff; background-position: center center; background-attachment: scroll; background-repeat: no-repeat; background-size: cover; }
.section_bg_image { min-height: 100px; }

.section_bg_image.parallax { background-attachment: fixed; min-height: 500px; }

/* ------------ Outer Box ------------ */
/* Ausgangswerte: (Seitenbreite: 1600px | Abstand: 50px) */
.outer_box { clear: both; display: block; float: left; width: 93.75%; margin: 0 0 20px 3.13%; padding: 0; }

.box_width_full { width: 100%; margin: 0 0 20px 0; }
.box_width_1_2 { clear: none; width: 45.31%; }
.box_width_1_3 { clear: none; width: 29.17%; }
.box_width_2_3 { clear: none; width: 61.47%; }
.box_width_1_4 { clear: none; width: 21.09%; }
.box_width_3_4 { clear: none; width: 69.53%; }

.outer_box .image { margin: 0 0 25px 0; }
.outer_box .image a { text-decoration: none !important; }
.outer_box .image a:hover { opacity: 0.8; }

.text_bild .flLeft { float: left; display: block; width: auto; max-width: 42.86%; margin: 0 15px 0 0; overflow: hidden; }
.text_bild .flRight { float: right; display: block; width: auto; max-width: 42.86%; margin: 0 0 0 15px; overflow: hidden; }
.text_bild .image span.small { display: block; }

.zweispalter { }
.zweispalter .flLeft { float: left; display: block; width: 47.37%; margin: 0; overflow: hidden; }
.zweispalter .flRight { float: right; display: block; width: 47.37%; margin: 0; overflow: hidden; }


.box_bg_white { background-color: #fff; box-shadow: 2px 2px 6px 0 #555; }
.box_bg_gray { background-color: #f0f0f0; box-shadow: 2px 2px 6px 0 #555; }

.outer_box_inner { padding: 20px 20px 1px 20px; }




/* --- Schriften + Generelle CSS-Anpassungen fuer diese Webseite --- */ 
/* roboto-regular - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: local(''),
       url('fonts/roboto-v30-latin-regular.woff2') format('woff2'),
       url('fonts/roboto-v30-latin-regular.woff') format('woff');
}

/* roboto-700 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: local(''),
       url('fonts/roboto-v30-latin-700.woff2') format('woff2'),
       url('fonts/roboto-v30-latin-700.woff') format('woff');
}

/* roboto-condensed-regular - latin */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 400;
  src: local(''),
       url('fonts/roboto-condensed-v25-latin-regular.woff2') format('woff2'),
       url('fonts/roboto-condensed-v25-latin-regular.woff') format('woff');
}

/* roboto-condensed-700 - latin */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 700;
  src: local(''),
       url('fonts/roboto-condensed-v25-latin-700.woff2') format('woff2'),
       url('fonts/roboto-condensed-v25-latin-700.woff') format('woff');
}

html, body {
font-family: 'Roboto', Verdana, Geneva, sans-serif; 
font-size: 15px; line-height: 20px; font-weight: 400;
color: #000;
}

html { background-color: #fff; }

a { text-decoration: none; color: #439cd6; }
a:hover { text-decoration: none; color: #001f40; }
a:active, a:focus { outline: 0; }
a:hover img { opacity: 0.8; }

.link_as_button,
.bauform_back_button { display: inline-block; padding: 5px 20px; border-radius: 5px;
background-color: #404040; color: #FFF; text-decoration: none; cursor: pointer; }
.link_as_button:hover,
.bauform_back_button:hover { background-color: #525873; color: #FFF; text-decoration: none; }


.section_bg_gray_dark a.link_as_button,
.section_bg_blue a.link_as_button,
.section_bg_blue_dark a.link_as_button { background-color: #fff; border: 1px solid #fff; text-decoration: none; }

.section_bg_gray_dark a.link_as_button { color: #404040; }
.section_bg_blue a.link_as_button { color: #439cd6; }
.section_bg_blue_dark a.link_as_button { color: #001f40; }


.section_bg_gray_dark a.link_as_button:hover,
.section_bg_blue a.link_as_button:hover,
.section_bg_blue_dark a.link_as_button:hover { background-color: transparent; color: #fff; text-decoration: none; }



ul { margin: 0; padding: 0 0 10px 0; }
ul li { list-style-type: disc; list-style-position: outside; margin: 0 0 0 15px; padding: 0 0 10px 0; }

h1, h2, h3, h4, h5, h6,
.like_h1, .like_h2, .like_h3, .like_h4, .like_h5, .like_h6 { font-weight: 400; font-style: normal; font-size: 15px; line-height: 20px; margin: 0 0 10px 0; color: #555; }
h1, .like_h1 { font-size: 32px; line-height: 40px; text-transform: uppercase; } 
h2, .like_h2 { font-size: 24px; line-height: 30px; } 
h3, .like_h3 { font-size: 18px; line-height: 24px; } 
h4, .like_h4 { font-size: 18px; font-style: italic;  } 
h5, .like_h5 { font-size: 15px; } 
h6, .like_h6 { font-size: 13px; } 

h1 strong, h2 strong, h3 strong, h4 strong, h5 strong, h6 strong { color: #525873; font-weight: 400; }


em { font-style: italic; }
strong { font-weight: 700; }

p { margin: 0 0 20px 0; padding: 0;}

table { margin: 0 0 20px 0; padding: 0;}
td { padding: 0 8px 6px 0; vertical-align: top; }

hr { clear: both; width: 93.75%; height: 1px; margin: 20px auto 40px auto; border: none; background-color: #3d454c; } 
.trennline { clear: both; width: 93.75%; height: auto; margin: 20px auto 40px auto; } 

.small  { display: block; font-size: 13px; line-height: 16px; color: #333; font-style: italic; padding-top: 5px; } /* Bildunterschriften */



/* --- Menue-Button --- */ 
#main_nav_button {display: block; position: fixed; top: 20px; left: 3.13%; width: 32px; height: auto; margin: 0; padding: 0; z-index: 1001; color: #fff; border: none; background-color: transparent; transition: all 200ms ease-in-out; cursor: pointer; }
#main_nav_button:before,
#main_nav_button:after { content: ''; display: block; width: auto; height: 3px; margin: 0; padding: 0; background-color: #fff; transition: all 200ms ease-in-out; }
#main_nav_button:before { margin-bottom: 15px; box-shadow: 0 9px 0 #fff; }

#main_nav_button:hover { transform: scale(1.1); color: #fff; }
#main_nav_button:hover:before,
#main_nav_button:hover:after { background-color: #fff; }
#main_nav_button:hover:before { box-shadow: 0 9px 0 #fff; }


#main_nav_button.active { color: #fff; }
#main_nav_button.active:before,
#main_nav_button.active:after { background-color: #fff; }
#main_nav_button.active:before { box-shadow: none; transform: translateY(9px) rotate(45deg); }
#main_nav_button.active:after{ transform: translateY(-9px) rotate(-45deg); }
#main_nav_button.active:hover { transform: scale(1.1); color: #fff; }
#main_nav_button.active:hover:before,
#main_nav_button.active:hover:after { background-color: #fff; }

@media screen and (min-width: 1600px) {  
#main_nav_button { left: 50%; margin: 0 0 0 -742px; }
}

/* --- Redaxo Menue --- */ 


#main_nav_bg { display: none; position: fixed; top: 0; left: 0; width: 100%; min-width: 300px; height: auto; margin: 0; padding: 0; z-index: 1000; background-color: #001f40; }

#main_nav_bg.active { display: block; height: 100%; overflow-y: auto; }

#main_nav { position: relative; top: 0; left: 0; width: 100%; max-width: 1600px; height: auto; margin: 0 auto; padding: 70px 10px 10px 3.13%; z-index: 99; text-align: left; }



/* erste Ebene */
#main_nav ul { list-style: none; display: block; position: relative; top: 0; left: 0; margin: 0; padding: 0; z-index: 1; }

#main_nav ul {
  display: flex; margin: 0; padding: 0;
  flex-flow: row wrap;
  justify-content: flex-start;
}
#main_nav li { list-style-type: none; display: inline-block; position: relative; top: 0; left: 0; margin: 0; padding: 0 5px; line-height: 40px; }
#main_nav li a { display: block; width: auto; height: auto; margin: 0; padding: 5px 12px; 
font-size: 16px; line-height: 20px; color: #fff; text-decoration: none; 
transition: all 0.125s ease-in; }
#main_nav li a:hover { text-decoration: none; color: #439cd6; }
#main_nav li a.rex-current,
#main_nav li a.rex-active { text-decoration: none; color: #439cd6; }

#main_nav li.rex-article-1 a:hover,
#main_nav li.rex-article-1 a.rex-current,
#main_nav li.rex-article-1 a.rex-active { opacity: 1; }


/* zweite Ebene */
#main_nav ul.rex-navi2 { display: block; width: auto; height: auto; margin: 0; padding: 10px 0 0 0; text-align: left;  }
#main_nav ul.rex-navi2 li { display:block; float:none; width: 100%; height: auto; margin: 0; padding: 0; border-top: 1px solid #525873; }
#main_nav ul.rex-navi2 li a { display:block; width: auto; color: #fff; margin: 0; padding: 5px 15px; font-size: 14px; line-height: 25px; text-transform: none; }
#main_nav ul.rex-navi2 li a:hover { text-decoration: none; color: #439cd6; }
#main_nav ul.rex-navi2 li a.rex-current { color: #439cd6; }
#main_nav ul.rex-navi2 li a.rex-active { color: #439cd6; }

#main_nav ul.rex-navi2 li:first-child { border-top: none; }

/* dritte Ebene */
#main_nav ul.rex-navi3 { display: none; }


@media screen and (max-width: 1300px) {  
#main_nav li a { padding: 5px 10px; }
#main_nav ul li.rex-article-3 ul { max-width: 250px; }
	
}

@media screen and (max-width: 1200px) {  
	

#main_nav ul li.rex-article-3 ul { max-width: none; }

#main_nav ul {
display: grid;
grid-template-columns: repeat(2, 1fr);
grid-template-rows: repeat(7, 1fr);
grid-column-gap: 1px;
grid-row-gap: 10px;
}
	
#main_nav li { display: block; margin: 0; padding: 0; }

#main_nav ul li.rex-article-1 { grid-area: 1 / 1 / 2 / 2; }
#main_nav ul li.rex-article-2 { grid-area: 2 / 1 / 3 / 2; }
#main_nav ul li.rex-article-3 { grid-area: 1 / 2 / 7 / 3; }
#main_nav ul li.rex-article-4 { grid-area: 3 / 1 / 4 / 2; }
#main_nav ul li.rex-article-7 { grid-area: 4 / 1 / 5 / 2; }
#main_nav ul li.rex-article-5 { grid-area: 5 / 1 / 6 / 2; }
#main_nav ul li.rex-article-70 { grid-area: 6 / 1 / 7 / 2; }
#main_nav ul li.rex-article-76 { grid-area: 7 / 1 / 8 / 2; }

}

@media screen and (max-width: 640px) { 
	
#main_nav { margin: 0; padding: 70px 0 10px 0; }

#main_nav ul { display: block; }
	
#main_nav li { display: block; width: 100%; margin: 0 0 20px 0; padding: 0; }
#main_nav ul.rex-navi2 li a { display:block; width: auto; color: #fff; margin: 0; padding: 5px 5px 5px 15px; font-size: 14px; line-height: 20px; text-transform: none; }

}

/* --- Ausrichtung der Seite und der <div>-Container (Reihenfolge von oben nach unten) --- */ 

#main_subnav_bg, #main_subnav, #main_header_bg, #main_header, #header_bg, #header, #header_image, #content, #footer_bg, #footer
{ display: block; position: relative; top: 0; left: 0; width: 100%; min-width: 300px; height: auto; margin: 0; padding: 0; z-index: 1; }


#main_subnav_bg { position: fixed; min-width: 300px; height: auto; z-index: 999; background-color: #001f40; }

#main_subnav { display: block; width: 100%; max-width: 1600px; margin: 0 auto; height: 60px; padding: 10px 0 10px 75px; text-align: right; overflow: hidden; }


#main_subnav a.main_subnav_icon { display: inline-block; width: 30px; height: 30px; margin: 5px 0 5px 10px; padding: 0; text-indent: -9999px; text-align: left; overflow: hidden; background-position: center; background-repeat: no-repeat; background-size: contain; }
#main_subnav a.main_subnav_icon:hover { opacity: 0.5; }

#main_subnav a#main_subnav_home { background-image: url(icon_home.png); }
#main_subnav a#main_subnav_login { background-image: url(icon_login.png); }
#main_subnav a#main_subnav_kontakt { background-image: url(icon_mail.png); }

#main_subnav a#main_subnav_home { background-image: url(icon_home.svg); }
#main_subnav a#main_subnav_login { background-image: url(icon_login.svg); }
#main_subnav a#main_subnav_kontakt { background-image: url(icon_mail.svg); }

#main_subnav_lang_box { display: inline-block; width: auto; margin: 0 3.13% 0 0; padding: 0; }

#main_subnav .main_subnav_lang { display: inline-block; width: auto; height: 40px; line-height: 40px; margin: 0 0 0 10px; padding: 0 2px; overflow: hidden; color: #fff; text-decoration: none; text-align: center; }
#main_subnav a.main_subnav_lang:hover { color: #fff; text-decoration: none; opacity: 0.5; }
#main_subnav a.main_subnav_lang.active { font-weight: 700; color: #439cd6; }
#main_subnav span.main_subnav_lang { padding: 0; }



#main_header_bg { padding: 90px 0 10px 0; }

#main_header { max-width: 1600px; margin: 0 auto; padding: 0; }

#logo { display: block; max-width: 360px; margin: 0 0 10px 3.13%; }
#logo a:hover { opacity: 0.8; }

/* Suche und Filter sind etwas weiter unten  */

/* #main_header_line { display: block; width: 100%; height: 7px; margin: 0 0 10px 0; background-color: #228ccf; } */

#main_header_nav { display: block; width: 100%; max-width: 1600px; margin: 0 auto; text-align: right; padding: 10px 0 1px 0; }
#main_header_nav a { display: inline-block; width: auto; height: auto; margin: 0 3.13% 10px 5px; padding: 0; font-size: 16px; line-height: 1.2; color: #000; text-decoration: none; 
transition: color 0.125s ease-in; }
#main_header_nav a:hover { text-decoration: none; color: #439cd6; }


/* Suche und Filter */
#link_filtersuche { display: block; position: absolute; top: 50%; left: auto; right: 3.13%; width: 180px; height: 25px; line-height: 25px; margin: -12px 0 0 0; padding: 0; color: #000; text-align: right; z-index: 100; }
#link_filtersuche img { display: inline-block; margin: 0 5px 0 0; }


#suchbox { display: block; position: absolute; top: 50%; left: auto; right: 180px;  width: 180px; height: 25px; margin: -12px 0 0 0; padding: 0; color: #000; text-align: left; z-index: 100; }
.search_it_form { display: block; position: relative; top: 0; left:0; width: 100%; height: auto; margin: 0; padding: 0; background-color: #fff; }
.search_it_form fieldset { margin: 0; padding: 0; }
.search_it_form input.search_it_text { display: block; width: 145px; height: 25px; margin: 0 0 0 35px; padding: 0; color: #000; font-size: 15px; line-height: 25px; background-color: transparent; border: none; outline: none; border-bottom: 1px solid #eee; }

.search_it_form input.hidden { display: none; }
.search_it_form input.search_it_button { position: absolute; top: 0; left: 0; width: 25px; height: 25px; margin: 0; padding: 0; z-index: 10;  border: none; color: #000; background-color: transparent; background-image:url(icon_suchlupe.png); background-repeat: no-repeat; background-position: center center; background-size: contain; cursor: pointer; text-indent: -99999px; overflow: hidden; }
.search_it_form input.search_it_button:hover { opacity: 0.5; }
    

.search_highlighter { background-color: #F0F0f0; color: #000; }

/* Suche - Seite  */
/*
#suchbox_bg { display: block; position: fixed; top: 0; left: auto; right: 0; width: 240px; height: 100vh; margin: 0 -240px 0 0; padding: 0; z-index: 100; background-color: rgba(0,0,0,0.75); 
transition: margin-right 1000ms ease-in-out; }
#suchbox_bg.active { margin-right: 0; transition: margin-right 1000ms ease-in-out; }
*/

#page_74 #suchbox_label { display: block; margin: 0 0 10px 4.76%; padding: 0; }
#page_74 #suchbox { display: block; position: relative; top: 0; left:0; right: auto; width: 202px; height: 30px; margin: 0 0 40px 4.76%; padding: 0; font-size: 14px; line-height: 30px; color: #000; text-align: left; z-index: 100; }


#page_74 .search_it_form { display: block; position: relative; top: 0; left: 0; width: 200px; height: 30px; margin: 0; padding: 0; background-color: #F0F0F0; }
#page_74 .search_it_form fieldset { margin: 0; padding: 0; }
#page_74 .search_it_form input.search_it_text { display: block; width: 100%; height: 30px; margin: 0; padding: 0 40px 0 10px; color: #000; font-size: 14px; line-height: 30px; background-color: transparent; border: none; outline: none; }
#page_74 .search_it_form input.hidden { display: none; }
#page_74 .search_it_form input.search_it_button { position: absolute; top: 3px; left: auto; right: 3px; width: 24px; height: 24px; margin: 0; padding: 0; z-index: 10;  border: none; color: #000; background-color: transparent; background-image:url(suchlupe.svg); background-repeat: no-repeat; background-position: center center; cursor: pointer; text-indent: -99999px; overflow: hidden; }
#page_74 .search_it_form input.search_it_button:hover { opacity: 0.5; }
    






/* --- */

#header_bg { }
#header .tns-nav { top: auto; bottom: 20px; left: 0; width: 100%; text-align: center; }


/* --- */


#breadcrumb_bg { clear: both; display: block; }
/*#breadcrumb { display: block; width: 100%; max-width: 1600px; padding: 10px 20px; margin: 0 auto; } */
#breadcrumb { display: block; width: 100%; max-width: 1600px; margin: 0 auto; padding: 10px 0; }
#breadcrumb ul, #breadcrumb li { list-style: none; list-style-type: none; background-image: none; }
#breadcrumb ul { display: block; width: auto; margin: 0 3.13% 0 3.13%; padding: 0; }
#breadcrumb li { display: inline-block; margin: 0; padding: 0; color: #333; font-size: 14px; line-height: 20px; }
#breadcrumb li::after { content: '>'; display: inline-block; margin: 0 5px 0 8px; padding: 0; }
#breadcrumb li:last-child::after { content: ''; display: none; }
#breadcrumb li a { display: inline-block; margin: 0; padding: 0; color: #999; text-decoration: none; }
#breadcrumb li a:hover {  color: #000; text-decoration: none; }


/* --- */

#content { min-height: 50vh; }


/* -----------footer--------------------------- */
#footer_bg { clear: both; padding: 30px 0 10px 0; background-color: #001f40; }
#footer {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  width: 100%; max-width: 1600px; margin: 0 auto; padding: 0; color: #fff; font-size: 15px; line-height: 30px; }
#footer a { color: #fff; text-decoration: none; }
#footer a:hover { color: #439cd6; text-decoration: none; }


.footer_box { display: block; width: 16.24%; margin: 0 0 20px 3.13%; padding: 0; }

.footer_headline { display: inline-block; font-weight: 700; }


#footer_box_3 img { display: inline-block; margin: 10px 0 0 0; max-width: 120px; }


/* ---  Cookie-Hinweis ohne OK-Button - Datenschutzinfo --- */ 
#datenschutzinfo { clear: both; display: block; position: relative; top: 0; left: 0; width: 100%; min-width: 300px; height: auto; margin: 0; padding: 15px 10px; z-index: 1; background-color: #333; font-size: 14px; line-height: 20px; color: #fff; text-align: center; min-width: 300px; }
#datenschutzinfo a { color: #fff; text-decoration: underline; }
#datenschutzinfo a:hover { color: #fff; text-decoration: none; }

#andresmedia { clear: both; display: block; position: relative; top: 0; left: 0; width: 100%; height: auto; margin: 0; padding: 10px; z-index: 1; background-color: #444; font-size: 14px; line-height: 20px; color: #fff; text-align: center; }
#andresmedia a { color: #fff; text-decoration: none; }
#andresmedia a:hover { color: #fff; text-decoration: underline; }



/* --- Module --- */ 

img.svg_image { width: 100%; }

.bildergalerie a { display: block; float: left; width: 29.17%; margin: 0 0 3.13% 3.13%; padding: 0; }





@supports (display: flex) {
    .flexbox_outer_box { clear: both; display: flex; flex-wrap: wrap; flex-direction: row; justify-content: flex-start; width: 100%; margin: 0; }

    .flexbox_outer_box .outer_box { float: none; }
	
    @media all and (max-width:980px) {
		.flexbox_outer_box .outer_box.box_width_1_3 { width: 45.31%; margin: 0 0 3.13% 3.13%; } 
    }
	
    @media all and (max-width:480px) {
		.flexbox_outer_box { display: block; }
/*		.linkbox_flex { display: block; }  */
		.flexbox_outer_box .outer_box,
		.flexbox_outer_box .outer_box.box_width_1_3 { width: auto; margin: 0 10px 20px 10px; } 
    }
}




.teaser_category {
  clear: both;
  display: flex; 
  width: 95.75%; margin: 0 0 20px 2.13%; padding: 0;
  flex-flow: row wrap;
  justify-content: flex-start;
}


a.teaser_category_box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;	
  width: 23%; height: auto; margin: 1%; padding: 20px 10px;
	
  background-color: #439cd6; color: #fff; text-decoration: none; text-align: center; 
  transition: all 0.125s ease-in; 
}
a.teaser_category_box:hover {
  position: relative; z-index: 1;
  background-color: #333; color: #fff; text-decoration: none; 
}

a.teaser_category_box.only_text:hover { transform: scale(1.05); }

a.teaser_category_box.with_image { justify-content: flex-start; padding: 0; }
/*
a.teaser_category_box.with_image span { display: none; position: absolute; top: auto; bottom: 0; left: 0; width: 100%; height: auto; padding: 20px 10px; 
background-color: #439cd6; color: #fff; text-decoration: none; text-align: center; }
*/
a.teaser_category_box.with_image span { display: block; position: relative; top: 0; left: 0; width: 100%; height: auto; margin: 0; padding: 20px 10px; z-index: 10; background-color: #439cd6; color: #fff; text-decoration: none; text-align: center; }

a.teaser_category_box.with_image { overflow: hidden; }
a.teaser_category_box.with_image img { transition: all 0.125s ease-in; }
a.teaser_category_box.with_image:hover { background-color: #439cd6; }
a.teaser_category_box.with_image:hover img { transform: scale(1.05); }
/* a.teaser_category_box.with_image:hover span { display: block; } */



@media all and (max-width:768px) {
	.teaser_category { width: 100%; margin: 0 0 20px 0; }
	a.teaser_category_box { width: 48%; }	
}

@media all and (max-width:480px) {
	.teaser_category { display: block; width: 100%; margin: 0 0 20px 0; }
	
	a.teaser_category_box { width: 98%; }

	a.teaser_category_box { width: auto; margin: 0 10px 10px 10px; }	
	
}


/* ------------------- */


.teaser_produkte {
  clear: both;
  /* We first create a flex layout context */
  display: flex; margin: 0; padding: 0;
  
  /* Then we define the flow direction 
     and if we allow the items to wrap 
   * Remember this is the same as:
   * flex-direction: row;
   * flex-wrap: wrap;
   */
  flex-flow: row wrap;
  
  /* Then we define how is distributed the remaining space */
  justify-content: flex-start;
}


.teaser_produkte_box {
/*	
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;	
*/	
  display: block;
  width: auto; height: auto; margin: 10px; padding: 0;
  
  width: 23%; height: auto; margin: 1%; padding: 0;
	
  background-color: #fff; color: #000; text-decoration: none; text-align: center; 
	border: 1px solid #525873;
  transition: all 0.125s ease-in; 
}

.produkt_teaser_text { padding: 20px 20px 1px 20px; }


.table_responsive table, .table_responsive tr, .table_responsive td,
.teaser_product_table table, .teaser_product_table tr, .teaser_product_table td,
.pdf_archiv_s77 table, .pdf_archiv_s77 tr, .pdf_archiv_s77 td {
	border: none;  
	border-collapse: collapse;
	text-align: left;
	font-size: 14px; line-height: 20px;
}



.table_responsive table,
.teaser_product_table table,
.pdf_archiv_s77 table { clear: both; width: 100%; margin: 0 0 20px 0; padding: 0; 
font-family: 'Roboto Condensed', 'Roboto', Verdana, Geneva, sans-serif; }

.teaser_product_table { clear: both; width: 93.75%; margin: 0 0 20px 3.13%; }

.table_responsive th,
.teaser_product_table th,
.pdf_archiv_s77 th { padding: 5px 10px; background-color: #001f40; color: #fff; font-weight: 700; }

.table_responsive td,
.teaser_product_table td,
.pdf_archiv_s77 td { padding: 5px 10px; border-left: 1px solid #439cd6; }

.pdf_archiv_s77 td:first-child { border-left: none; }


.table_responsive td.w40 { width: 40%; }
.table_responsive td.w60 { width: 60%; }

.table_responsive tr:nth-child(even),
.teaser_product_table tr:nth-child(even),
.pdf_archiv_s77 tr:nth-child(even) { background: #f0f0f0; }

.table_responsive tr:nth-child(odd),
.teaser_product_table tr:nth-child(odd),
.pdf_archiv_s77 tr:nth-child(odd) { background: #fff; }


.teaser_product_table tr.bg_color_white { background: #fff; }
.teaser_product_table tr.bg_color_gray { background: #f0f0f0; }


.table_responsive tr td:first-child,
.teaser_product_table tr td:first-child { border-left: none; }	

.teaser_product_table tr td.produkt_table_text,
.teaser_product_table tr td.produkt_table_image { border-left: none; }	

.teaser_product_table td.produkt_table_image { width: 120px; padding: 0 0 10px 0; }	
.teaser_product_table td.produkt_table_image img { width: 120px; min-width: 120px; }

.teaser_product_table td.produkt_table_image a { display: block; position: relative; top: 0; left: 0; width: 100%; height: auto; margin: 0; padding: 0; z-index: 1; overflow: hidden; }	
.teaser_product_table td.produkt_table_image a .produkt_table_image_status { display: block; position: absolute; top: 50%; left: -20%; width: 140%; height: auto; margin: -15px 0 0 0; padding: 5px; z-index: 2; transform: rotate(-30deg); background-color: rgba(255,255,255, 0.4); color: #c00; text-align: center; font-size: 14px; line-height: 15px; }	


.teaser_product_table .btn_sort {
	clear: both; display: inline-block; width: 20px; height: 20px; margin: 0 0 0 5px; padding: 0; overflow: hidden; border: none; text-indent: -9999px; background-color: transparent; background-image: url(btn_sort_down.png); background-position: center; background-repeat: no-repeat;
	transition: all 500ms ease-in-out;
}
.teaser_product_table .btn_sort:hover { background-color: #439cd6; }
.teaser_product_table .btn_sort.active { background-image: url(btn_sort_up.png); }


.teaser_product_table td.produkt_table_text h3 { font-size: 16px; line-height: 1.2; color: #000; white-space: nowrap; }
	
.teaser_product_table td.produkt_table_filter { font-size: 10px; line-height: 1.2; }


body.modul_59_produkt_teaser #logo { margin: 0 0 10px 280px; }
body.modul_59_produkt_teaser #breadcrumb { padding: 10px 30px 10px 250px; }

body.modul_59_produkt_teaser .outer_box,
body.modul_59_produkt_teaser .teaser_product_table { width: auto; margin: 0 30px 20px 30px; }

	
#filter_auswahl_sidebar { display: block; position: fixed; top: 0; left: 0; width: 250px; height: 100%; margin: 0; padding: 0; z-index: 10; background-color: #439cd6; }	

#filter_auswahl_sidebar_button_box { display: none; }

#filter_auswahl_sidebar_inner { display: block; width: 100%; height: 100%; margin: 0; padding: 65px 0 300px 0; overflow: hidden; overflow-y: auto; }	
	

body.modul_59_produkt_teaser #content { display: block; width: 100%; height: auto; min-height: 100vh; margin: 0; padding: 0 0 0 250px; }	

.filter_auswahl_flexbox {
  clear: both;
  display: flex; margin: 0; padding: 0;
  flex-flow: row wrap;
  justify-content: flex-start;
}


.filter_auswahl_flexbox .filter_auswahl_box {
  display: block; width: 100%; height: auto; margin: 0; padding: 15px 15px 10px 15px;
  /* background-color: #fff; color: #000; border: 1px solid #525873; */
	border-bottom: 3px solid #001f40;
}
	
.filter_auswahl_box_headline { display: block; margin: 0 0 10px 0; font-size: 16px; line-height: 1.1; color: #fff; text-transform: uppercase; } 

.filter_auswahl_flexbox .filter_auswahl_box span { display: block; margin: 0 0 5px 0; font-size: 12px; line-height: 1.2; color: #fff; }
.filter_auswahl_flexbox .filter_auswahl_box span.inactive { display: none; padding: 0 0 0 10px; font-size: 8px; line-height: 1.1; color: #ccc; }
	
	
.filter_auswahl_reset { display: block; width: 100%; padding: 15px; text-align: center; }	
.filter_auswahl_reset button { display: inline-block; margin: 0; padding: 5px 10px; border-radius: 5px;
background-color: #001f40; color: #fff; }
.filter_auswahl_reset button:hover { background-color: #434141; color: #fff; }


#teaser_filter_error_message_inner { display: block; padding: 20px 20px 1px 20px; background-color: #c00; color: #fff; text-align: center; }

.teaser_product_table tbody tr { display: none; }
.teaser_product_table tbody tr.visible { display: table-row; }

.teaser_product_table td p { margin: 0; }	

	

@media all and (max-width:1600px) {
body.modul_59_produkt_teaser .outer_box,
body.modul_59_produkt_teaser .teaser_product_table { width: auto; margin: 0 15px 20px 15px; }	
	
.teaser_product_table td.produkt_table_text h3 { font-size: 14px; white-space: normal; }	
	

.teaser_product_table td.produkt_table_eingang,
.teaser_product_table td.produkt_table_ausgang,
.teaser_product_table td.produkt_table_hilfsspannung { -webkit-hyphens: auto; -ms-hyphens: auto; hyphens: auto; }
	
}
	
@media all and (max-width:1200px) {
	
#filter_auswahl_sidebar_inner { padding: 65px 0 460px 0; }	

body.modul_59_produkt_teaser .outer_box { margin: 0 10px 20px 10px; }
body.modul_59_produkt_teaser .teaser_product_table { margin: 0 0 20px 0;  }
	
.teaser_product_table thead { display: none; }	
	
.teaser_product_table td { padding: 5px 10px; border-left: none; }	

.teaser_product_table td.produkt_table_text h3 { font-size: 16px; white-space: nowrap; }
	
.teaser_product_table td.produkt_table_eingang,
.teaser_product_table td.produkt_table_ausgang,
.teaser_product_table td.produkt_table_hilfsspannung { -webkit-hyphens: none; -ms-hyphens: none; hyphens: none; }	

.teaser_product_table tbody tr.visible { display: grid; }
	
.teaser_product_table tr {
grid-template-columns: repeat(4, 1fr);
grid-template-rows: repeat(4, auto);
grid-column-gap: 0;
grid-row-gap: 0;
	padding: 10px 0;
}
	
td.produkt_table_image { grid-area: 1 / 1 / 3 / 2; }
td.produkt_table_text { grid-area: 1 / 2 / 2 / 5; }
td.produkt_table_beschreibung { grid-area: 2 / 2 / 3 / 5; }
	
td.produkt_table_eingang { grid-area: 3 / 1 / 4 / 3; }
td.produkt_table_ausgang { grid-area: 3 / 3 / 4 / 5; }
td.produkt_table_hilfsspannung { grid-area: 4 / 1 / 5 / 3; }
td.produkt_table_bauform { grid-area: 4 / 3 / 5 / 5; } 	
	
.teaser_product_table td.produkt_table_image { padding: 5px 0 5px 10px; }	
.teaser_product_table td.produkt_table_text { padding: 5px 10px 0 10px; }	
.teaser_product_table td.produkt_table_text h3 { margin: 0; }

td.produkt_table_eingang::before,
td.produkt_table_ausgang::before, 
td.produkt_table_hilfsspannung::before,
td.produkt_table_bauform::before { display: block; font-size: 10px; line-height: 1.5; }

	
td.produkt_table_eingang::before { content: "Eingang:"; }
td.produkt_table_ausgang::before { content: "Ausgang:"; }
td.produkt_table_hilfsspannung::before { content: "Hilfsspannung:"; }
td.produkt_table_bauform::before { content: "Bauform:"; }
	
}

@media all and (max-width:980px) {
	
.teaser_product_table td.produkt_table_image { width: auto; max-width: 120px; }
.teaser_product_table td.produkt_table_image img { width: auto; max-width: 100%; min-width: 60px; }

}
	
	
	
@media all and (max-width:768px) {
	
body.modul_59_produkt_teaser .outer_box,
body.modul_59_produkt_teaser .teaser_product_table { width: auto; margin: 0 10px 20px 10px; }
	
#filter_auswahl_sidebar { display: block; position: relative; top: 0; left: 0; width: 100%; height: auto; margin: 0 0 40px 0; }	

#filter_auswahl_sidebar_inner { display: none; height: auto; margin: 0; padding: 0; }	

#filter_auswahl_sidebar_inner.active { display: block; transition: all 500ms ease-in-out; }
	

#filter_auswahl_sidebar_button_box { display: block; padding: 10px; text-align: center; }
	
#filter_auswahl_sidebar_button span.open { display: inline-block; }
#filter_auswahl_sidebar_button span.close { display: none; }

#filter_auswahl_sidebar_button.active span.open { display: none; }
#filter_auswahl_sidebar_button.active span.close { display: inline-block; }	
	
	
body.modul_59_produkt_teaser #content { padding: 0; }	

.filter_auswahl_flexbox {
  clear: both;
  display: flex; margin: 0; padding: 0;
  flex-flow: row wrap;
  justify-content: flex-start;
}


.filter_auswahl_flexbox .filter_auswahl_box {
  display: block; width: 100%; height: auto; margin: 0; padding: 15px 15px 10px 15px;
  /* background-color: #fff; color: #000; border: 1px solid #525873; */
	border-bottom: 3px solid #001f40;
}
	
.filter_auswahl_box_headline { display: block; margin: 0 0 10px 0; font-size: 16px; line-height: 1.1; color: #fff; text-transform: uppercase; } 

.filter_auswahl_flexbox .filter_auswahl_box span { display: block; margin: 0 0 5px 0; font-size: 12px; line-height: 1.2; color: #fff; }
.filter_auswahl_flexbox .filter_auswahl_box span.inactive { display: none; padding: 0 0 0 10px; font-size: 8px; line-height: 1.1; color: #ccc; }
	
	
.filter_auswahl_reset { display: block; width: 100%; padding: 15px; text-align: center; }	
.filter_auswahl_reset button { display: inline-block; margin: 0; padding: 5px 10px; border-radius: 5px;
background-color: #001f40; color: #fff; }
.filter_auswahl_reset button:hover { background-color: #434141; color: #fff; }


#teaser_filter_error_message_inner { display: block; padding: 20px; background-color: #c00; color: #fff; text-align: center; }
}
	

















/* --- Produkt Detailseite --- */

.product_download_file { display: block; margin: 0 0 20px 0; font-size: 14px; line-height: 38px; }
.product_download_file img { display: inline-block; margin: 0 5px 0 0; }

/*
.product_download_file a img { transition: all 500ms ease-in-out; }
.product_download_file a:hover img { transform: scale(1.1); }
*/

#detailseite_beschreibung_text { }
#detailseite_beschreibung_btn { display: none; }

#detailseite_bild { display: block; position: relative; top: 0; left: 0; width: 100%; height: auto; margin: 0 0 20px 0; padding: 0; z-index: 1; overflow: hidden; }	
#detailseite_bild_status { display: block; position: absolute; top: 50%; left: -20%; width: 140%; height: auto; margin: -15px 0 0 0; padding: 5px; z-index: 2; transform: rotate(-30deg); background-color: rgba(255,255,255, 0.4); color: #c00; text-align: center; font-size: 16px; line-height: 20px; }	


#product_detail a img.download_icon { display: block; width: 40px; height: 40px; margin: 0 10px 0 0; }


/* fuer z.B. Cadenas auf der Seite, wenn das Cookie nicht erlaubt ist */
#product_detail .onpage_cookie_erlaubnis_box { clear: both; display: block; width: 100%; height: auto; margin: 0 0 20px 0; padding: 30px 10px 10px 10px; background-color: rgba(240,240,240,0.75); border: 3px solid #c33; text-align: center; }	



@media all and (max-width:768px) {
	#detailseite_beschreibung_text { display: block; height: 80px; margin: 0 0 20px 0; overflow: hidden; transition: all 500ms ease-in-out; }
	#detailseite_beschreibung_text.active { height: auto; overflow: visible; transition: all 500ms ease-in-out; }
	
	
	#detailseite_beschreibung_btn { display: inline-block; margin: -10px 0 20px 0; }
	#detailseite_beschreibung_btn.active { display: inline-block; margin: -30px 0 20px 0;}
	
	#detailseite_beschreibung_btn span.open { display: inline-block; }
	#detailseite_beschreibung_btn span.close { display: none; }
	
	#detailseite_beschreibung_btn.active span.open { display: none; }
	#detailseite_beschreibung_btn.active span.close { display: inline-block; }
	
	
	.slidedown_box { clear: both; display: block; margin: 0 0 20px 0; padding: 0; }

	.slidedown_box_button { display: block; width: auto; margin: 0 0 10px 0; padding: 10px 40px 10px 20px; color: #fff; background-color: #228ccf; background-image: url(bwd_slidedown_arrow_down.png); background-position: center right; background-repeat: no-repeat; }
	.slidedown_box_button:hover { background-color: #439cd6; color: #fff; cursor: pointer; }

	.slidedown_box_button h3 { margin: 0; color: #fff; }
	.slidedown_box_button:hover h3 { color: #fff; }

	.slidedown_box_text { display: none; padding: 0; overflow: hidden; }

	.slidedown_box.active .slidedown_box_button { display: block; background-color: #439cd6; color: #fff; background-image: url(bwd_slidedown_arrow_up.png); }

	.slidedown_box.active .slidedown_box_text { display: block; }
}


@media all and (max-width:480px) {
#product_detail .table_responsive { overflow: hidden; overflow-x: auto; }	
/*
#product_detail .table_responsive::before { display: block; content: ''; padding: 10px; margin: 0 0 10px 0; background-color: #fcc; color: #000; cursor: pointer;}

body.de #product_detail .table_responsive::before { content: 'Diese Tabelle ist evtl. zu breit für Ihr Handy. Ein seitlicher Scrollbalken ist ganz am Ende der Tabelle.'; }
body.en #product_detail .table_responsive::before { content: 'Diese Tabelle ist evtl. zu breit für Ihr Handy. Ein seitlicher Scrollbalken ist ganz am Ende der Tabelle.'; }
*/    
}





/* ------------------- */

.image_full_height_spacer { display: block; float: left; width: 46.87%; height: 1px; margin: 0 0 0 3.13%; padding: 0; z-index: 1; }

.image_full_height_spacer.second_block { clear: both; }

.image_full_height { display: block; position: absolute; top: -50px; bottom: -10px; left: 3.13%; width: 46.87%; height: auto; margin: 0; padding: 0; z-index: 10; background-position: center; background-repeat: no-repeat; background-size: cover; }

.image_full_height.width_1_3,
.image_full_height_spacer.width_1_3 { width: 29.17%; }
.image_full_height.width_1_4,
.image_full_height_spacer.width_1_4 { width: 21.09%; }

.image_full_height.position_ende { left: auto; right: 3.13%; }


.image_full_height a { display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; margin: 0; padding: 0; z-index: 10; background-color: rgba(255,255,255,0); }
.image_full_height a:hover { background-color: rgba(255,255,255,0.25); }

.image_full_height img { display: none; }


@media all and (max-width:1600px) {
.image_full_height_spacer { width: 50%; margin: 0; }	
	
.image_full_height { left: 0; width: 50%; }

.image_full_height.width_1_3,
.image_full_height_spacer.width_1_3 { width: 32.30%; }
.image_full_height.width_1_4,
.image_full_height_spacer.width_1_4 { width: 24.22%; }

.image_full_height.position_ende { left: auto; right: 0; }
	
}



@media all and (max-width:1200px) {
.image_full_height.background-size-contain { background-size: contain; background-color: #fff; }
	
}

@media all and (max-width:768px) {
	.image_full_height_spacer { display: none; }
	.image_full_height { clear: both; position: relative; top: 0; bottom: auto; left: 0; right: auto; width: 100%; margin: 0 0 20px 0; background-image: none !important; }
	
	.image_full_height.width_1_3,
	.image_full_height.width_1_4 { width: 100%; }

	.image_full_height.position_ende { left: 0; right: auto; }	

	.image_full_height img { display: block; background-color: #fff; }
	
	.image_full_height.position_start,
	.image_full_height.position_ende { width: auto; margin: 0 10px 20px 10px; }
	
	.image_full_height a { position: relative; height: auto; }	
	.image_full_height a:hover { background-color: transparent; }	
	.image_full_height a:hover img { opacity: 0.75; }	
	
	
}


/* ------------------- */

.image_link_box { display: block; position: relative; top: 0; left: 0; width: 100%; height: 300px; margin: 0; padding: 30px 10px 10px 10px; z-index: 1; overflow: hidden; color: #fff; text-align: center; }
.image_link_box.veranstaltung { padding: 80px 10px 60px 10px; min-height: 0; }

.image_link_box_image { display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; margin: 0; padding: 0; z-index: -1; background-position: center; background-size: cover; }

a.image_link_box:hover { color: #fff; text-decoration: none;  }

a.image_link_box .image_link_box_image { transition: all 500ms ease-in-out; }
a.image_link_box:hover .image_link_box_image { transform: scale(1.1); }

.image_link_box_title { display: block; position: absolute; top: auto; bottom: 0;
left: 40px; width: 300px; height: 40px; margin: 0; padding: 10px; font-size: 20px; line-height: 20px; color: #fff; text-align: left; text-transform: uppercase; white-space: nowrap;
background-color: #525873; background-color: rgba(79, 12, 12, 0.5);

transform-origin: 0 bottom;
transform: rotate(-90deg); 
}

.image_link_box_text { }
.image_link_box_button { display: none; position: absolute; top: 50%; left: 50%; width: 160px; margin: -20px 0 0 -80px; padding: 10px 5px; border: 1px solid #fff; background-color: rgba(255, 255, 255, 0.5); color: #fff; font-size: 16px; line-height: 20px; }


a.image_link_box:hover .image_link_box_button { display: block; }


@supports ( display: flex ) {
    .flex {
        clear: both;
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        justify-content: flex-start;
        width: 100%;
        margin: 0;
	}
}


/* ------------------- */

/* Redaxo Download Modul */ 
.download_box { width: auto; margin: 0 0 1.0em 0; padding: 5px 0; font-size: 0.9em; }
.download_box .download_hdl {  }
.download_icon { float: left; } 
.download_icon a { font-size: 0.9em; }
.download_icon a.extern { padding-right: 0; background: none; }
.download_icon a img { display: block; width: 40px; height: 40px; margin: 0; }
.download_text { margin-left: 50px; padding: 0 0 0 5px; }
.download_desc { color: #999; margin: 0; font-size: 0.7em; }
.download_without_desc { }



.bauformen_flexbox {
  clear: both;
  display: flex; margin: 0; padding: 0;
  flex-flow: row wrap;
  justify-content: flex-start;
}


.bauformen_flexbox .bauform {
  display: block; width: 23%; height: auto; margin: 1%; padding: 20px 20px 1px 20px;
  background-color: #fff; color: #000; border: 1px solid #525873;
}

.bauformen_flexbox .bauform.active { position: relative; z-index: 1; border: 5px solid #525873; }

.bauformen_flexbox .bauform_box img {
  display: block; margin: 0 0 10px 0;
}

@media all and (max-width:1200px) {
	.bauformen_flexbox .bauform { width: 31.33%; }
}

@media all and (max-width:980px) {
	.bauformen_flexbox .bauform { width: 48%; }
}

@media all and (max-width:480px) {
	.bauformen_flexbox .bauform { width: 98%; }
}


#select_cad_cae_box  {display: block; margin: 0 0 20px 0; padding: 20px 20px 1px 20px; background-color: #434141; color: #fff; }

#select_cad_cae  {
    box-sizing: border-box; 
	display: block;	width: 99%; height: auto; margin: 0 0 20px 0; padding: 5px 10px;
    font-family: inherit; font-size: 14px; line-height: 20px; color: #000;
	background-color: #fff; border: solid 1px #dfe6e7; border-radius: 5px; box-shadow: none;
    outline: none;
}


/* --- yForm --- */ 
.yform div.alert { padding: 15px 30px 5px 30px; margin-bottom: 20px; border-radius: 4px; }
.yform div.alert span { margin-right: 15px; }
.yform div.alert-danger { border: 2px solid #a94442; background-color: #f2dede; color: #a94442; }
.yform .alert ul { list-style-type: none; margin: 0; padding: 0; }
.yform .alert li { list-style-type: none; margin: 0 0 10px 0; padding: 0; color: #a94442; }

.has-error label { color: #a94442; }

.yform form { display: block; margin: 0 0 20px 0; padding: 0; }
.yform label { display: block; }
.yform form.hide-label label { display: none; }

.yform .form-control {
    box-sizing: border-box; 
	display: block;	width: 99%; height: auto; margin: 0 0 20px 0; padding: 5px 10px;
    font-family: inherit; font-size: 14px; line-height: 20px; color: #000;
	background-color: #fff; border: solid 1px #dfe6e7; border-radius: 5px; box-shadow: none;
    outline: none;
}
.yform .form-control:hover { border-color: #a8aeb5; }
.yform .form-control:focus { border-color: #37434f; outline: none; box-shadow: none; }

.yform textarea.form-control { height: 136px; }

.yform .formcheckbox label { display: block; float: none; width: auto; margin: 0 0 10px 0; padding: 0; }
.yform .formcheckbox label input { display: block; float: left; width: auto; margin: 0 10px 0 0; }
.yform .formcheckbox label span { display: block; float: none; width: auto; margin: 0 0 5px 30px; }

.yform .form-check-group { clear: both; margin: 0 0 20px 0; }
.yform .form-check-group .control-label { clear: both; display: block; margin: 0 0 10px 0; }

.yform .radio { display: block; float: none; width: auto; margin: 0 0 10px 0; padding: 0; }
.yform .radio label input { display: block; float: left; width: auto; margin: 5px 10px 0 0; }

.yform .checkbox { clear: both; margin: 0 0 20px 0; }
.yform .checkbox label input { display: block; float: left; width: auto; margin: 5px 10px 0 0; }


/* Button */
.yform .btn-primary {
	clear: both; display: block; width: 140px; height: auto; margin: 0 0 10px 0; padding: 5px;
    border: none; border-radius: 5px;
    text-align: center; font-weight: 700; 
    background-color: #404040; color: #fff; 
}
.yform .btn-primary:hover { background-color: #525873; color: #fff; }

.yform .pflichtfelder { font-size: 0.8em; }

/* Honeypot gegen SPAM */
#yform-contact_formular-email_betreff { display: block; width: 1px; height: 1px; margin: 0; padding: 0; overflow: hidden; }
#yform-contact_formular-email_betreff.has-error { display: block; width: auto; height: auto; margin: 0 0 20px 0; padding: 20px 20px 1px 20px; border: 1px solid #a94442; opacity: 1; background-color: #f0f0f0; color: #a94442; }
#yform-contact_formular-email_betreff.has-error label { display: block !important; margin-bottom: 10px !important; }


.yform strong { font-weight: 700; }

/* eigene CSS Klassen */
.form_clear { clear: both; }

.form_left,
.form_right { display: block; float: left; width: 49%; margin: 0; padding: 0; }
.form_left { clear: both; }
.form_right { float: right; }

.yform label { display: none; }

.form_left label,
.form_right label { display: none; }
.form-check-group label { display: inline-block; }


@media all and (max-width:768px) {
.form_left,
.form_right { float: none; width: auto; }
}



/* --- Responsive --- */ 
@media all and (max-width:1600px) {
	
.footer_box { width: auto; margin: 0 0 20px 3.13%; }
	
	
}

@media all and (max-width:1200px) {
	
.footer_box { width: 29.17%; margin: 0 0 20px 3.13%; }


}

@media all and (max-width:980px) {
#logo { max-width: 320px; }
	
body.modul_59_produkt_teaser #logo { margin: 0 0 10px 260px; }

body.modul_59_produkt_teaser #suchbox { top: 0; right: 10px; }
body.modul_59_produkt_teaser #link_filtersuche { top: 45px; right: 10px; text-align: left; }
	
body.modul_59_produkt_teaser #main_header_nav { margin: 0; padding: 10px 0 1px 260px; text-align: left; }
	
}


@media all and (max-width:768px) {
h1, .like_h1 { font-size: 24px; line-height: 30px; } 
h2, .like_h2 { font-size: 21px; line-height: 27px; } 
h3, .like_h3 { font-size: 18px; line-height: 24px; } 
	
.text_bild .flLeft,
.text_bild .flRight { float: none; width: auto; max-width: none; margin: 0 0 15px 0; }

.zweispalter { background-image: none; }
.zweispalter .flLeft { float: none; width: auto; margin: 0 0 15px 0; }
.zweispalter .flRight { float: none; width: auto; margin: 0; }

.outer_box { clear: both; float: none; width: auto; margin: 0 10px 20px 10px; }
.box_width_full { width: 100%; margin: 0 0 20px 0; }
	
hr { width: auto; margin: 10px 10px 30px 10px; }
	

#main_header_bg { padding: 80px 0 10px 0; }
	
#main_header_nav,
body.modul_59_produkt_teaser #main_header_nav { margin: 0; padding: 10px 0 1px 0; text-align: left; }
	
#main_header_nav a { margin: 0 5px 10px 3.13%; padding: 0; font-size: 15px; }	
	
#logo { max-width: 280px; margin: 0 0 20px 10px; }
#suchbox { top: 0; right: 10px; margin: 0; }
#link_filtersuche { top: 45px; right: 10px; margin: 0; text-align: left; }
	
body.modul_59_produkt_teaser #logo { margin: 0 0 20px 10px; }
body.modul_59_produkt_teaser #breadcrumb { padding: 10px 0; }	


.footer_box { width: 45.31%; margin: 0 0 20px 3.13%; }
#footer_box_3 { width: 93.75%; }

}

@media all and (max-width:540px) {
#suchbox,
#link_filtersuche,
body.modul_59_produkt_teaser #suchbox,
body.modul_59_produkt_teaser #link_filtersuche	{ position: relative; top: 0; left: 0; right: auto; width: 200px; margin: 0 0 20px 10px; }

#link_filtersuche,
body.modul_59_produkt_teaser #link_filtersuche { margin: 0 0 10px 10px; }
}


@media all and (max-width:480px) {

h1, .like_h1 { font-size: 22px; line-height: 28px; } 
h2, .like_h2 { font-size: 20px; line-height: 26px; } 


#footer { display: block; }
.footer_box { width: 93.75%; margin: 0 0 20px 3.13%; }
#footer .not_mobile_480 { display: none; }
	
}

