

/* +----------------------------------------------------------------------- */
/* | Header
/* +----------------------------------------------------------------------- */

#header { padding: 20px 0; border-bottom: 5px solid;
    border-image: linear-gradient(90deg, rgb(188,20,19) 0%, rgb(230,51,35) 100%);
    border-image-slice: 1;
}

#logo { position: relative; }
#logo img { max-width: 250px; }

#imageBar { display:none; position: relative; background: url(../../website/header/Straubing_369780292.jpg) no-repeat center center; background-size: cover;}
#imageBar .flexcontent {max-width: 1400px; margin: 0 auto; height: 60vh; display: flex; justify-content: center; align-items: flex-start; flex-wrap: wrap; flex-direction: column; padding:5vh 0; }

#imageBar .start { display:none; }
body.index #imageBar .start { display:flex; }
#imageBar .default { display:none; }

#imageBar * { color: #fff; text-align: center; font-size:13pt; text-shadow: rgba(0,0,0,1) 0 0 8px; margin:0;  z-index: 500;  }
#imageBar .start h2 { font-size: 3em; letter-spacing: 2px; font-family: 'Gelasio'; }
#imageBar .start h3 { font-size: 2em; letter-spacing: 2px; font-family: 'Roboto'; text-transform: uppercase; margin-bottom: 50px;}

#imageBar .start { justify-content: flex-end; align-items: center; }
#imageBar .default h2 { background: rgba(255,255,255,0.80); }

#logoBadge { border-top:3px solid rgb(188,20,19); border-bottom:3px solid rgb(188,20,19); color:rgb(188,20,19); font-weight: bold; padding:2px 5px; text-transform: uppercase; position: absolute; background:#fff; left:35%; bottom: -28px; transform: rotate(-10deg); z-index: 500;}



#imageBar:after {
  position: absolute;
  content: "";
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  backdrop-filter: blur(1px);
  -webkit-backdrop-filter: blur(1px); /* für Safari */
  background: rgba(255, 255, 255, 0.05); /* ganz leichter Schleier */
  border-radius: 8px;
  z-index: 1;
}

/* +----------------------------------------------------------------------- */
/* | Projekte
/* +----------------------------------------------------------------------- */

.projectBox { flex-basis: calc(33.33% - 30px); margin:25px 15px; box-shadow: rgba(0,0,0,0.2) 0 0 10px; position: relative; }
.projectBox:after { content: ""; background: url(../gfx/icon_buergerstiftung.svg) no-repeat left top 2px; background-size: 40px auto; position: absolute; left:-15px; top:-18px; width: 40px; height: 50px; }
.projectBox .rte {  padding: 20px;}
.projectBox .rte p:last-of-type { margin:0; }
.projectBox .rte h4 {}

/* +----------------------------------------------------------------------- */
/* | Doppelte Content mit Bild
/* +----------------------------------------------------------------------- */

.doubleContent { background: var(--blue); display: flex; padding: 0 !important; overflow: hidden; margin-bottom: 50px;}
.doubleContent .content-text * { color: #fff; }
.doubleContent h2 { color: #fff; }
.doubleContent .content-text { flex-basis: 60%; display: flex; justify-content: center; align-items: center; }
.doubleContent .content-text .rte { padding:50px; }
.doubleContent .content-text.linkButton p a { background: #fff; color:var(--blue); border:1px solid #fff; }
.doubleContent .content-text.linkButton p:last-of-type { margin:0; }
.doubleContent .content-image { flex-basis: 40%; }
.doubleContent .content-image figure { overflow: hidden; margin-bottom: -5px; height: 100%; }
.doubleContent .content-image img { 
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block; /* optional, um Leerraum durch inline-img zu verhindern */
} 


/* +----------------------------------------------------------------------- */
/* | MainNavigation
/* +----------------------------------------------------------------------- */


/*#navigation { width: calc(100% - 200px); }*/

#main-navigation { position: relative; z-index: 9600; margin-top:10px; }
#main-navigation .inside {
    display: flex;
    justify-content: flex-end;
}
#main-navigation .block { overflow: visible; }
#main-navigation * { margin: 0; padding: 0; box-sizing: border-box; font-size:13pt;  }
#main-navigation #MainNavigation {  }

#main-navigation ul { margin: 0;padding: 0;  transition-duration: 1s;  }

#main-navigation ul li { margin:0 20px; padding:5px 0; position: relative; float: left; list-style: none; transition: 0.5s; color: var(--blue); }
#main-navigation ul li * { display: block; color: #0B0B0B; font-size:1.1em; font-weight: 400; letter-spacing: 1px; text-decoration: none; text-transform: uppercase; }

#main-navigation ul li:hover a, 
#main-navigation ul li.active strong.active { color: var(--blue); }


#main-navigation ul ul { position: absolute; top: 100%; left:0; background: rgb(17,25,36); background: #fff; box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5); z-index: 1; padding:0; opacity: 0; display:none; border-top: solid 4px var(--blue); }

#main-navigation ul ul li { }
#main-navigation ul ul li * { color: #333; font-size: .8em; padding: 10px; display: block;  }
#main-navigation ul ul li:hover a,
#main-navigation ul ul li.active strong.active { background: var(--blue); color: #fff; }





#main-navigation ul li:last-of-type ul { left:auto; right:0;  }
#main-navigation ul ul li,
#main-navigation ul ul ul li { width: 320px; border-bottom: 1px solid #ccc; padding:0; margin:0;}

#main-navigation ul li:hover > ul { top: 100%; left: 0; }
#main-navigation ul li:last-of-type:hover > ul { top: 100%; right: 0; left: auto; }
#main-navigation ul ul li:hover > ul { top: 0; left: 300px; }

#main-navigation ul li:hover > ul { display:block; opacity:  1; }
#main-navigation ul ul li:hover > ul { top: 0; left: 300px; }


#mobile-nav-logo { text-align: center; margin:0 20px 20px 20px; }
#mobile-nav-logo img { max-width:320px;}

.mod_socialmedia * {text-align:center;}
.mod_socialmedia h2 { color: #fff; }
.mod_socialmedia ul {display: flex; justify-content: center; padding: 0; margin: 0; list-style: none; }
.mod_socialmedia ul li { border:none !important;}
.mod_socialmedia ul li a {}
.mod_socialmedia ul li a img { width: 40px;}

#Footer .mod_socialmedia ul li a { width:40px; height:40px; display: block; margin:0 5px; }
#Footer .mod_socialmedia ul li a[title="Facebook"] { background: url(../gfx/icons/facebook.svg) no-repeat center center; background-size:100% auto; }
#Footer .mod_socialmedia ul li a[title="Instagram"] { background: url(../gfx/icons/insta.svg) no-repeat center center; background-size:100% auto; }

.mod_mobile_menu .hamburger { width:35px; position: fixed; right:5%; top:30px; z-index: 9999; }
.mod_mobile_menu .hamburger span { display: block; background: #333644; width:100%; height:3px; box-shadow: rgba(0,0,0,0.3) 0 0 5px; }
.mod_mobile_menu .hamburger span:nth-child(2) { margin:8px 0;}

.mobile_menu { z-index:9995; width: 75%; max-width:600px; }
.mobile_menu .inner { background: #F1F1F3; padding:30px; }
.mobile_menu .inner ul { list-style:none; margin:0; padding:0; }
.mobile_menu .inner ul li { border-bottom: 1px solid #ccc; }
/*.mobile_menu .inner ul li.active { background: rgb(193,168,92); }*/
.mobile_menu .inner ul li.submenu a { background: url(../../files/dfg-immobilien/gfx/arrow-down-gold.svg) no-repeat center right 20px; background-size:20px auto;}
.mobile_menu .inner ul li.submenu.active span { background: rgb(193,168,92);}
.mobile_menu .inner ul li.submenu li a { background:none;}
.mobile_menu .inner ul ul {padding: 10px 0 20px 0;}
.mobile_menu .inner ul ul li { margin-left:30px;}
.mobile_menu .inner ul li * { font-size:12pt; color: #333; text-decoration:none; }
.mobile_menu .inner ul li a,
.mobile_menu .inner ul li.active strong { display: block; padding: 10px;}
.mobile_menu .inner ul li.active strong { color: var(--blue); }

/* +----------------------------------------------------------------------- */
/* | Stylings
/* +----------------------------------------------------------------------- */

.itemBox { flex-basis:calc(33.33% - 40px); margin: 20px; box-shadow: rgba(0,0,0,0.2) 0 0 10px; }
.itemBox .rte { padding:20px; position: relative;min-height:125px;}
.itemBox .rte a { text-decoration:none; position: absolute; left:20px; bottom:20px;}

body.index #back { display:none; }
#back { margin-bottom: 20px; text-align:right; }

/* +----------------------------------------------------------------------- */
/* | Aktuelles
/* +----------------------------------------------------------------------- */

.mod_newslist { display: flex; flex-wrap: wrap; justify-content: center; }
.mod_newslist .layout_latest { flex-basis: calc(50% - 40px); margin: 20px; position: relative; background: rgba(240,240,240,.2); }
.mod_newslist .layout_latest.briefberlin { flex-basis: 60%; margin: 20px 0; position: relative; background: rgba(240,240,240,.2); }
.mod_newslist .layout_latest figcaption { display: none; }

.mod_newslist .layout_latest.briefberlin { display: flex;  justify-content: space-between; align-items: center;}
.mod_newslist .layout_latest.briefberlin .date { flex-basis: 150px; text-align:center; }
.mod_newslist .layout_latest.briefberlin .headline { }
.mod_newslist .layout_latest.briefberlin .download { flex-basis: 150px; text-align:center; }

.mod_newslist .layout_latest .text_container { padding: 20px; position: relative; }
.mod_newslist .layout_latest .text_container h3 { font-weight: 300; font-size:1.5em; }
.mod_newslist .layout_latest .text_container a:hover { text-decoration: none; }

.mod_newslist .layout_latest.briefberlin .headline h3 { font-weight: 300; font-size:1.5em; margin:0; font-weight: bold; }
.mod_newslist .layout_latest.briefberlin .download a { background: var(--dark); padding:5px 10px; color:#fff; margin:0; display:inline-block; }


.mod_newslist .layout_latest .more { display: flex; flex-direction: row-reverse; }
.mod_newslist .layout_latest .more i { margin-left:10px;}
.mod_newslist .layout_latest .more a { font-weight: 300; text-transform: lowercase; text-decoration: none;  }
.mod_newsreader .back a {  }

.mod_newsreader h1 { text-transform: none; text-align:center; font-size: 3em;  }
.mod_newsreader .info { font-size: .8em; }
.mod_newsreader .back { display:none; margin:10px; text-transform: lowercase; text-align:right; }
.mod_newsreader .back a { background: var(--dark); color:#fff; padding: 5px 10px; text-decoration: none; }
.mod_newsreader .back a:hover { background: var(--blue); }


/* +----------------------------------------------------------------------- */
/* | Footer
/* +----------------------------------------------------------------------- */

#Footer { position: relative; background: var(--blue); padding: 40px 0 30px 0; border-top: 5px solid;
    border-image: linear-gradient(90deg, rgb(188,20,19) 0%, rgb(230,51,35) 100%);
    border-image-slice: 1;}

#Footer * { color:#fff; }
#Footer .inside { display: flex; max-width: 1400px; margin: 0 auto; }
#Footer .inside .ce_image { text-align: center; }
#Footer .inside .ce_image img { max-width:180px;}

#Footer .spacer { width: 100%; height: 1px; background:#fff; margin:20px 0 15px;}
#Footer .smallContent * { font-size: .8em; }

#Footer .logo_rainer { max-width: 60%; margin-bottom: 20px; }
#Footer .logo_cducsu { max-width: 60%; }

#Footer .Footer__inside * { color:#fff; line-height: 1.4; font-weight:300; }
#Footer .Footer__inside h2 { font-weight:600; font-size:1.1em; margin:0 0 15px; line-height: 1.6; color: #fff; font-style:italic; }
#Footer .Footer__inside h3 { font-weight:600; font-size:1.4em; margin:0 0 15px; line-height: 1.6; }
#Footer .Footer__inside h6 { font-weight:300; font-style:italic; font-size:0.8em; margin: -16px 0 15px 0;  }
#Footer .Footer__inside p { margin: 0 0 10px;  }
#Footer .Footer__inside p strong { font-weight: bold;   }
#Footer .Footer__inside p, #Footer li {  }

#Footer .Footer__inside ul { list-style:none; margin: 0 0 10px; padding:0; }
#Footer .Footer__inside ul li { margin: 0; padding:0; }
#Footer .Footer__inside ul li span:first-child { display:inline-block; width:40px;}
#Footer .Footer__inside ul li span.opening { width:80px;}

#Footer .mod_customnav {  }

#Footer #rechtliches { }
#Footer #rechtliches p { display: none; }
#Footer #rechtliches ul { display: flex; justify-content: flex-end; }
#Footer #rechtliches ul li { padding:0 5px;}
#Footer #rechtliches ul * { font-size:9pt; }
#Footer #rechtliches ul li a:hover,
#Footer #rechtliches ul li.active * { color:var(--blue); text-decoration: none; }

#Footer .opening ul { list-style:none; margin: 0; padding: 0; }
#Footer .opening ul li { }
#Footer .opening ul li strong { display:inline-block; width:80px; }

#Footer #copyright { border-top: 1px solid rgba(255,255,255,.3); justify-content: center; margin-top:20px;}
#Footer #copyright p { padding:10px; text-align: center;}
#Footer #copyright * { font-size:8pt; text-transform: uppercase; }

/* +----------------------------------------------------------------------- */
/* | Social Media
/* +----------------------------------------------------------------------- */

/* +----------------------------------------------------------------------- */
/* | E-Recht
/* +----------------------------------------------------------------------- */
.content .ce_er24_legal_text h2 { text-align: left; font-size:1.5em; margin: 50px 0 20px; }
.content .ce_er24_legal_text h3 { text-align: left; font-size:1.3em; }


/* +----------------------------------------------------------------------- */
/* | Scroll Top
/* +----------------------------------------------------------------------- */

#scrollTopButton {
      position: fixed;
      bottom: 30px;
      right: 30px;
      background: var(--blue) url('../gfx/icons/arrow-top.svg') no-repeat center center;
      background-size: 65% auto;
      border: none;
      border-radius: 50px;
      cursor: pointer;
      box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
      display: none; /* Button wird standardmäßig ausgeblendet */
      transition: opacity 0.3s ease, background-color 0.3s ease;
      width: 40px;
      height: 40px;
    }

/* +----------------------------------------------------------------------- */
/* | Video
/* +----------------------------------------------------------------------- */

.video_container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 0;
    height: 0;
    overflow: hidden;
	box-shadow: rgba(0,0,0,0.2) 0 0 10px;
}

.video_container iframe,
.video_container object,
.video_container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.cookieconsent-optout-marketing { position: absolute; top:50%; left:50%; transform: translate(-50%, -50%); text-align:center; line-height: 1.4; }
.cookieconsent-optout-marketing a { text-decoration: underline; }




/* All Mobile Sizes (devices and browser) */
@media only screen and (max-width: 1500px) {
    
}

/* All Mobile Sizes (devices and browser) */
@media only screen and (max-width: 1024px) {


}

/* All Mobile Sizes (devices and browser) */
@media only screen and (max-width: 960px) {
    
    #main-navigation { display:none; }
    #mobile-menu, .mobile_menu_trigger { display: block; }
    
    #Footer .inside { flex-direction: column; }
    
    #logoBadge { font-size: .7em;}
    
    #imageBar .start h2 { font-size:2em; }
    #imageBar .start h3 { font-size:1.3em; }
    
    .doubleContent { flex-direction: column; }
    
    .content h1, .content h2 { font-size: 2em;}
    
    .itemBox, .projectBox, #f2 .widget-text, #f2 .widget-textarea, #f2 .widget-checkbox, #f2 .widget-explanation, #f2 .widget-submit, .flex33, .flex66, .flex1-3, .flex2-3, .flex1-4, .flex10, .flex20, .flex30, .flex40, .flex50, .flex60, .flex70, .flex80, .flex90, .flex100,
    #nl-info.flex50, #nl-form .cr_form.flex50, #news .mod_news_list .news, .mod_member .ce_contact .inner .tablet-50 { flex-basis: 100%; width: calc(100% - 20px); margin-left:0; margin-right:0; }

    
}

/* All Mobile Sizes (devices and browser) */
@media only screen and (max-width: 767px) {	

}