html, body {
background:#fff;
padding:0 !important;
margin:0;
border:0;
z-index:0;
width:100%;
height:100%;
font-family: 'robotoregular', sans-serif;
font-size: 18px;
line-height: 1.4em;
}

#alles {
width:100%;
min-height:100%;
height:auto;
margin:0 !important;
padding:0;
border:0;
text-align: center;
}

#cont {
height:auto;
padding:0;
background: #fff;
}

header {
width: 100%;
border: 0;
text-align: left;
}

#bar {
clear: both;
width:100%;
height: auto;
border:0;
background: #0e3154;
color: #fff;
text-align: center;
padding: 0;
}

section {
width:100%;
height:auto;
border:0;
overflow-y: hidden
}

footer {
width:100%;
height:auto;
text-align:center !important;
background: #0e3154;
color:#fff;
clear:both;
}

/* Links */

header .kontakt a, section a{
text-decoration:none;
color:#ff7518;
}

footer a{
text-decoration:none;
color:#fff;
}

header .kontakt a:hover, section a:hover, footer a:hover{
text-decoration:underline;
}

section .blog-item a:hover, section div.com-content-categories__item a:hover {
text-decoration:none;
}

section li.content-links-a a {
  position: relative;
  top: 5px;
width: auto !important;
background: #ff7518 !important;
color: #fff !important;
padding:5px 8px 5px 8px !important;
border-radius: 5px !important;
border:0;
}

section li.content-links-a a:hover {
text-decoration:none;
background: green !important;
}

section div p a[download] {
font-family: robotobold;
padding-left: 35px !important;
background: url(../images/download.png);
background-repeat: no-repeat;
background-size: 23px 18px;
background-position: left baseline;
}


/* Buttons */

section button, section a.btn {
width: auto !important;
background: #ff7518 !important;
color: #fff !important;
font-size: 14px;
padding:5px 8px 5px 8px;
margin: 10px auto 10px 0 !important;
border-radius: 5px;
border:0;
clear: both;
}

/* ausgeblendet */

.visually-hidden, #contactList thead tr th {
display: none;
}

/* clear */

.clear, #clear, .clearfix {
clear: both;
}

/* Box-sizing */

header, footer, section, div, p, span, figure, figcaption, a, ul, ol, li, input, form, button, h1, h2, h3, h4, h5, h6, img {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
-o-box-sizing: border-box;
box-sizing: border-box;
}

/* Grid */

.grid {
display: grid;
grid-auto-columns: 300px;
}

/* Farben */

.dzifblau {
color: #ff7518;
}

.dziforange {
color: #ff7518;
}

/* Icons */

img.icongross {
height: 40px;
width: auto;
float: left;
margin-right: 1em;
}

img.iconklein {
height: 15px;
width: auto;
margin-right: 1em;
vertical-align: baseline;
}

/* Textformate */

section h1, section h2 {
font-size: 1.5em;
line-height: 1.2em;
margin:2.0em 0 1.5em 0;
padding:0;
font-weight: normal !important;
text-align: left;

}

section h3 {
font-size: 1.2em;
line-height: 1.2em;
margin:3.0em 0 1.5em 0 !important;
padding:0;
font-family: robotolight;
}

section h4 {
font-size: 1.0em;
line-height: 1.2em;
margin:3.0em 0 1.5em 0;
padding:0;
text-transform: uppercase;
letter-spacing: 0.2em;
font-family: robotolight;
}

section h5 {
font-size: 1.0em;
line-height: 1.2em;
margin:2.5em 0 0 0 !important;
padding:0;
}

section ul, section ol {
margin: 0 0 1.0em 0 !important;
overflow-y: hidden;
}

section ul li, section ol li {
margin: 0 0 1.0em 0 !important;
}

span.cap {
font-size: 1.3em !important;
}

/* Details mit Summary */

:root {
  interpolate-size: allow-keywords;
}

details {
background: none;
padding:0;
border:0;
margin: 0 0 1em 0;
}

summary {
display: block;
font-size: 1.2em !important;
padding: 0.5em !important;
background: #ff7518 !important;
color: #fff !important;
border: 0;
border-radius: 8px !important;
}

details[open] summary {
background: none !important;
border:1px solid #ff7518 !important;
border-radius: 8px !important;
color: #ff7518 !important;
}

details::details-content {  
  overflow: hidden;
  height: 0;
  /* Enable transitioning of `content-visibility` */
  transition: height 0.5s, content-visibility 0.5s;  
  transition-behavior: allow-discrete;
}

details[open]::details-content {
  height: auto;
}


/* Textslider */

div.jwts_toggleControlContainer {
background: none;
padding:0;
border:0;
margin: 0 0 1em 0;
}

a.jwts_toggleControl {
display: block;
font-size: 1.2em !important;
padding: 0.5em !important;
}

span.jwts_toggleControlTitle {
background: none !important;
padding:0 0 0 0.3em !important;
}

a.jwts_toggleControl.jwts_toggleOff span.jwts_toggleControlTitle::before {
content: '+' !important;
margin-right: 1em;
font-weight:bold;
}

a.jwts_toggleControl.jwts_toggleOn span.jwts_toggleControlTitle::before {
content: '-' !important;
margin-right: 1em;
font-weight:bold;
}

a.jwts_toggleControl.jwts_toggleOn span.jwts_toggleControlTitle {
color: #ff7518 !important;
}

a.jwts_toggleControl.jwts_toggleOn {
background: none !important;
border:1px solid #ff7518 !important;
border-radius: 8px !important;
color: #ff7518;
}

span.jwts_toggleControlNotice {
display: none !important;
}

a.jwts_toggleControl.jwts_toggleOff {
background: #ff7518 !important;
color: #fff !important;
border: 0;
border-radius: 8px !important;
}

div.jwts_toggleContent, div.jwts_content {
background: none;
padding:0;
border:0;
}


/*----------------------------------- Header --------------------------------------*/

/* Modul Logo */

header div.logo {
float: left;
text-align: left;
padding:0;
}

header div.logo * {
width: 100%;
height: auto;
padding:0;
}

/* Modul Titel */
  
header div.titel {
padding:0;
float: left;
text-align: left;
width: auto;
overflow-x: hidden;
}

header div.titel div p {
font-size: 1.0em;
line-height: 1.2em;
text-align: left;
font-width: expanded !important;
}


/* Modul Oeffnungszeiten */
  
header div.oez {
padding:0;
float: left;
text-align: left;
width: auto;
overflow-x: hidden;
}

header div.oez div p {
font-size: 1.0em;
line-height: 1.2em;
text-align: left;
font-family: robotomonoregular;
}


/* Modul Kontakt */
  
header div.kontakt {
padding:0;
float: left;
text-align: left;
width: auto;
overflow-x: hidden;
}

header div.kontakt div p {
font-size: 1.0em;
line-height: 1.2em;
text-align: left;
font-family: robotomonoregular;
}

/* Hauptmenue */

button.dj-mobile-open-btn.active span.dj-mobile-open-icon {
color: #fff !important;
background: #ff7518 !important;
}

button.dj-mobile-open-btn.active span.dj-mobile-open-icon {
color: #fff !important;
background: #ff7518 !important;
}

header div.moduletable.nav div.dj-accordion.nav {
background: #fff;
box-shadow: 5px 5px 10px grey;
padding:0 !important;
margin:0 !important;
}

header div.dj-accordion-in {
padding:0 auto 0 auto !important;
margin: 0 auto 0 auto !important;
border:0 !important;
}

header div.moduletable.nav div.dj-accordion.nav li.dj-mobileitem {
border-bottom: 1px solid #ddd;
padding: 0 !important;
height: auto;
}

header div.moduletable.nav div.dj-accordion.nav li.dj-mobileitem > a {
font-size: 1.0em;
width: 100%;
height: 100%;
margin: 0 !important;
}

/* Level 1 */
  
ul.nav > li.dj-mobileitem > a {
display: block;
width: 100%;
height: 100%;
padding: 0.8em  !important;
z-index: 10;
}
  
/* Level 2 */

ul.dj-mobile-nav-child a {
font-family: robotolight;
padding: 0.7em 0.2em 0.7em 1.6em !important;
}
  
header div.moduletable.nav div.dj-accordion.nav li.dj-mobileitem ul li:last-of-type {
border-bottom: 0;
}

/* ----------------------------------- Bar ------------------------------------ */

#bar * {
width: 100%;
height: 100%;
}

#bar p {
padding: 0 auto 0 auto !important;
margin: 0 !important;
border:0;
line-height: 2.0em !important;
}

/* ----------------------------------------------- Section ---------------------------------------- */


/* --- Einzelner Beitrag --- */

/* Beitragsbild + -titel */

.item-page figure.item-image {
float: left;
margin: 0 37px 0 0;
width: 73px;
height: 67px;
}

.item-page figure.item-image img {
object-fit: cover;
}

.item-page .page-header h1 {
height: 70px;
width: auto;
max-width: calc(100% - 110px);
display: flex;
align-items: center;
text-align: left;
line-height: 1.2em !important;
margin: 0;
color: #000 !important;
}

/* Beitragsinhalt */

div.com-content-article__body {
height: auto;
overflow: hidden;
}

div.com-content-article__body > *:first-of-type {
margin-top: 1em !important;
}

img.linksimtext {
float: left;
margin: 0.2em 1.5em 1.0em 0;
}

section .item-page div.com-content-article__body p img {
max-width: 100%;
height: auto;
margin: 0 auto 2em 0;
}

/* Portraetfoto und -caption im Inhalt */

figure.portraet {
width: 280px;
height: 400px;
padding: 0 auto 0 0;
margin: 0 20px 0 0;
float: left;
}

figure.portraet img {
width: auto !important;
height: 250px !important;
}

figure.portraet figcaption {
display: block;
width: 100%;
height: auto;
margin: 0.5em auto auto 0 !important;
}

/* Content-Links */

ul.com-content-article__links.content-list, ul.com-content-article__links.content-list li {
list-style-type: none;
margin:0;
padding:0;
text-align: left;
}

/* --- Blog --- */

/* Kategoriebild + -titel */

.blog > img {
float: left;
margin: 0 37px 0 0;
}

.blog h1 {
height: 70px;
width: auto;
max-width: calc(100% - 110px);
display: flex;
align-items: center;
text-align: left;
line-height: 1.2em !important;
margin: 0 auto 0 auto;
}

/* Kategorieitems */

.blog-item div.page-header h2, section h3.page-header.item-title h4 {
text-align: center;
margin-top: 0 !important;
}

.blog, .blog-items, .blog-items {
height: auto !important;
overflow: hidden !important;
}

div.cat-children {
  clear: both;
}

.blog-item, div.com-content-category-blog__child, div.com-content-categories__item, div.moduletable.haupt ul.mod-articles-items.mod-list li {
border-radius: 8px;
}

/* Blog-Elemente Unterkateogorien */

div.com-content-category-blog__child {
clear: both;
float: left;
padding:0;
border: 1px solid #ff7518;
background: #fff;
}

div.com-content-category-blog__child a.ucatbild {
width: 100%;
height: auto;
padding:1em 0 0 0;
overflow: hidden;
}

div.com-content-category-blog__child h3 {
margin: auto !important;
padding:1em 0 0 0;
overflow: hidden;
}

section h3.page-header.item-title {
display: block;
width: 100%;
height: 100%;
padding:0;
text-align: center;
}

section h3.page-header.item-title a {
display: block;
width: 100%;
height: 100%;
padding:0;
text-align: center;
font-size: 1.2em;
}

/* Home-Blog Hauptbeitraege */

div.moduletable.haupt {
list-style-type: none;
width: 100%;
}

div.moduletable.haupt ul.mod-articles-items.mod-list {
list-style-type: none;
float:left;
}

div.moduletable.kinder {
clear: both;
width: 100%;
height: auto;
overflow: hidden;
padding: 0;
text-align: left;
}

div.moduletable.kinder a {
display: block;
width: 100%;
padding: 0 2em 2em 2em;
color: #ff7518;
text-decoration: none;
border: 1px solid #ff7518;
border-radius: 8px;
overflow-y: hidden;
}

div.moduletable.kinder img {
width: 100%;
max-width: 550px;
height: auto;
}

/* Blog-Elemente Aktuelles */

div.blog-items.aktuelles {
margin: 0 !important;
padding: 0 !important;
}

div.blog-items.aktuelles .blog-item {
height: auto;
background: #fff;
text-align: left;
overflow-y: hidden;
}

dl.article-info.text-muted, dl.article-info.text-muted dt, dl.article-info.text-muted dd {
margin:0;
padding:0;
}

div.blog-items.aktuelles .blog-item .item-image {
overflow: hidden;
margin: 0 0 1em 0;
}

div.blog-items.aktuelles .blog-item .item-image a {
width: 100%;
height: 100%;
padding:0;
object-fit: cover;
}

div.blog-items.aktuelles .blog-item .item-image a img {
width: 100%;
height: 100%;
padding:0;
margin:0;
object-fit: contain; 
}

div.blog-items.aktuelles .blog-item .page-header {
height: 8em;
}

div.blog-items.aktuelles .blog-item .page-header h2 {
text-align: left;
font-size: 1.5em;
margin: 0.5em 0 0 0 !important;
padding:0 !important;
}

div.blog-items.aktuelles .blog-item .page-header h2 a {
padding:0;
color: #ff7518;
}

div.blog-items.aktuelles .blog-item .item-content {
display: none;
}


/*--- Seitennavigation Blog ---*/
  
nav.pagination__wrapper, div.com-content-category-blog__navigation.w-100 {
clear: both;
width: 100%;
text-align: left;
margin: 0;
padding:0;
}
  
div#ph-pc-category-box.pc-view.pc-category-view * {
text-align: left !important !important;
}
  
nav.pagination__wrapper ul {
list-style-type: none;
width: 100%;
text-align: left;
margin: 0;
padding:0;
vertical-align: top;
}
  
nav.pagination__wrapper ul li.page-item {
display: inline-block;
width: 30px;
height:30px;
text-align: left;
margin: 0 12px 0 0 !important;
padding:0;
border: 1px solid #4a7b90;
background:#fff;
border-radius: 3px;
vertical-align: top;
}
  
nav.pagination__wrapper ul li.disabled {
display: none;
}
  
nav.pagination__wrapper ul li.page-item a.page-link {
display: block;
width: 100%;
height: 100%;
margin: 0;
padding:0;
color:#4a7b90;
font-size: 16px;
line-height: 28px;
text-align: center;
vertical-align: top;
}
  
nav.pagination__wrapper ul li.page-item.active a.page-link {
color:#fff !important;
background:#4a7b90;
}  
  
nav.pagination__wrapper ul li.page-item a.page-link span {
display: block;
width: 100%;
height: 100%;
margin:0;
padding:0;
color:#4a7b90;
font-size: 16px;
line-height: 28px;
text-align: center;
background-size: 100% 100%;
}  

figure.einzelkontakt {
text-align: center;
height: auto;
padding:0;
}

figure.einzelkontakt img {
width: 100%;
max-width: 200px;
height: auto;
text-align: center;
}

/* --- KONTAKTE --- */

/* Kontaktekategorie */

div.com-contact-category div.category-desc {
text-align: left;
margin: 0 0 0em 0;
max-width: 100% !important;
height: auto;
overflow-y: hidden;
}

div.com-contact-category div div.category-desc img {
max-width: 100% !important;
height: auto;
}

div.com-contact-category, div.com-contact-category__items, div.com-contact-category__items form#adminForm, table#contactList, table#contactList tbody {
text-align: left !important;
margin: 0 auto 0 0 !important;
}

section form#adminForm table#contactList tbody tr th {
padding-bottom: 4em !important;
}

table#contactList tr th div img {
width: 100%;
height: 100%;
object-fit: contain !important;
}


/* Einzelkontakt */

div.com-contact.contact * {
text-align: left;
padding:0 !important;
margin: 0 auto 0 0 !important;
}

div.com-contact.contact div.page-header h1 {
margin-bottom: 0.5em !important;
}


dl.com-contact__position.contact-position dd {
margin: 1em auto 1em auto !important; 
font-family: robotobold;
}

div.com-contact h2, dl.com-contact__position.contact-position dt {
display: none;
}

div.com-contact__thumbnail.thumbnail {
width: 200px;
height: auto;
}

div.com-contact__thumbnail.thumbnail img {
width: 100%;
height: auto;
}

div.com-contact__info dl dd {
line-height: 1.7em !important;
}

div.com-contact__info a {
font-weight: bold;
}

div.com-contact__miscinfo.contact-miscinfo {
margin: 2em 0 2em 0 !important;
}

div.com-contact__miscinfo.contact-miscinfo ul {
list-style: square inside !important;
margin: auto !important;
}

div.com-contact__miscinfo.contact-miscinfo ul li {
margin: 0 0 0.5em 0 !important;
}

/* Bilder */

img.linksimtext {
width: 200px;
height: auto;
float: left;
margin: 0.3em 1.5em 1.2em 0 !important;
}

/*--------------------------- Footer ---------------------------*/

/* Fussmenuel */

button.mod-menu__toggle-sub {
display: none;
}

footer ul.nav {
width: 100% !important;
list-style-type: none;
margin:0 0 30px 0 !important;
padding:auto !important;
text-align: left !important;
}

footer ul.nav li {
list-style-type: none;
margin:0;
padding:0;
text-align: left;
display: inline-block;
vertical-align: top !important;
line-height: 1.1em;
}

footer ul.nav > li > a {
font-family: robotobold;
}

footer ul.nav li ul {
height: 100%;
width: 100%;
list-style-type: none;
margin: 0 0 1.0em 0 !important;
padding:0 0 auto 0 !important;
}

footer ul.nav ul li {
width: 100%;
margin: 0.6em 0 0 0 !important;
padding:0 !important;
}

/* Fusszeile */

footer .mod-footer {
width: 100%;
margin:20px 0 0 0;
padding:0;
text-align: right;
color: #a4bdc7;
}

footer div.footer1 {
color:#fff;
font-size: 0.8em;
padding-right: 3%;
}

footer div.footer2 {
display: none;
}

/* Modul Cookie-Hinweis */

div.cookiehead {
display: none !important;
}


div.jb-cookie div.jb-accept {
white-space: nowrap;
width: auto !important;
margin: 10px auto 10px auto !important;
padding: 3px 6px !important;
}

div.jb-cookie p a {
clear: both;
width: auto !important;
font-family: 'opensans_bold';
margin-left: 5px;
}

/* Editor */

.volle_breite {
width: 100%;
height: auto;
}
