@charset "UTF-8";
/* CSS Document */

html { padding: 0; margin: 0; box-sizing: border-box; }

*, *:before, *:after { box-sizing: inherit; }
	
body {
	position: relative;
	padding: 0;
	margin: 0;
	font-family: Open Sans, Helvetica, Arial, sans-serif, Verdana;
	font-size: 1rem;
	font-weight: normal;
	color: rgba(0,0,0,0.8);
	background-color: rgba(179,186,195,1);
	z-index: 1;
	-webkit-hyphens: auto;
	-webkit-hyphenate-limit-chars: auto 3;
	-webkit-hyphenate-limit-lines: 2;
	-ms-hyphens: auto;
	-ms-hyphenate-limit-chars: auto 3;
	-ms-hyphenate-limit-lines: 2;
	hyphens: auto;
	hyphenate-limit-chars: auto 3;
	hyphenate-limit-lines: 2;
	overflow-x: hidden;
}

/*Safari iOS Fix*/
input[type="search"], input {
	-webkit-appearance: none;
	-webkit-border-radius: 0;
}

#site-wrapper, #site-container { height: 100%; min-height: 100vh; }
#site-container { position: relative; z-index: 2; width: 100%; transition: 0.3s ease; background-color: rgba(179,186,195,1);  }
#header, #footer, .header-info-block, .main-container, .accessibility-inner { position: relative; max-width: 1500px; margin: 0 auto; }


/*********************************************** Links */

a:link,
a:visited { color: rgba(179,2,26,1); text-decoration: underline; transition: 0.3s ease; word-wrap: break-word; }

a:hover,
a:focus,
a:active { color: rgba(139,2,26,1); text-decoration: none; }


/*********************************************** Offsite Elements */

#offsite-elements { margin: 0; padding: 0; background-color: rgba(0,0,0,0.75) !important; }

#offsite-elements .search-box { display: none; z-index: 150; }
#offsite-elements .search-box.show-search { position: fixed; display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100vh; width: 100%; top: 0; left: 0; background-color: rgba(0,0,0,0.8) !important; }
#offsite-elements .search-box > .search-form { display: flex; flex-wrap: nowrap; border-radius: 10px; margin: 0; }
#offsite-elements .search-box > .search-form > label > input { flex: 1 1 100%; width: 50vw; max-width: 500px; border-radius: 3px 0 0 3px; }
#offsite-elements .search-box > .search-form > input.search-submit { flex: 1 0 auto; background-color: rgba(179,2,26,1); color: rgba(255,255,255,1); border-radius: 0 3px 3px 0; margin: 0; cursor: pointer; }
#offsite-elements .search-box span.screen-reader-text { visibility: hidden; font-size: 0; width: 0; }
#offsite-elements .search-box input { line-height: 1.5em; padding: 1rem; }
#offsite-elements .search-box .search-close-btn { display: block; margin-top: 1rem; color: rgba(255,255,255,1); padding: 1rem; border-radius: 3px; background-color: rgba(179,2,26,1); border: none; cursor: pointer; text-decoration: underline; }
#offsite-elements .search-box .search-close-btn:focus, #offsite-elements .search-box .search-close-btn:hover { text-decoration: none; filter: brightness(0.9); }

.js-noactive-err-msg { position: relative; top: 0; left: 0; display: block; width: 100%; text-align: center; background-color: rgb(255,235,220); color: rgb(255,100,0); padding: 2rem; border: 2px solid rgb(255,100,0); }

.accessibility-container { position: relative; z-index: 1; width: 100%;  visibility: visible; height: 0; }
.accessibility-inner { display: flex; justify-content: flex-end; gap: 0.5rem; flex-wrap: wrap; padding: 1rem; }
.ac-menu-btn { padding: 0.5rem 1rem; min-width: 3rem; line-height: 1.5em; text-align: center; white-space: nowrap; color: rgba(255,255,255,1) !important; transition: 0.3s ease; background-color: rgba(179,2,26,1) !important; border: 0.125rem solid rgba(179,2,26,1); cursor: pointer; border-radius: 3px; }
.ac-menu-btn-active { border: 0.125rem solid rgba(255,255,255,1); }
.ac-menu-btn:hover,
.ac-menu-btn:focus { color: rgba(255,255,255,1) !important; background-color: rgba(179,2,26,0.5) !important; }
.accessibility-inner #colorscheme-1-btn { display: none; }

.darkmode-icon { color: rgb(230,230,230) !important; background-color: rgb(50,50,50) !important; }
.black-yellow-icon { color: black !important; background-color: yellow !important; }
.white-blue-icon { color: white !important; background-color: darkblue !important; }

.hide-accesibility { visibility: hidden; }


/*********************************************** Header */

#header { position: relative; z-index:2; padding: 0.5rem; display: flex; justify-content: space-between; align-items: center; flex-wrap: nowrap; gap: 1rem; background-color: rgba(86,97,112,1); box-shadow: 3px 3px 6px rgba(0,0,0,0.2); -webkit-box-shadow: 3px 3px 6px rgba(0,0,0,0.2); }
#header > span { flex: 1 1 100%; }
#header > span:first-of-type { flex: 1 2 274px; }

.site-logo { position: relative; z-index: 10; display: block; width: 120px; height: auto; fill: #ffffff; }

.home-statement { min-height: 10.5rem; background: url('../img/home_top_bg_s.png'); background-repeat: no-repeat; background-size: cover; }
.home-statement > p { padding: 1.5rem 1rem; margin: 0; font-style: italic; color: rgba(255,255,255,1); font-size: 1.25rem; line-height: 1.5em; -webkit-hyphens: none; -ms-hyphens: none; hyphens: none; }


/*********************************************** Navigation / Menüs */

/* Buttons */
.second-nav-container { display: flex; justify-content: flex-end; align-items: flex-start; flex-wrap: nowrap; padding-right: 0.5rem; }

.search-btn,
.accessibility-btn,
.menu-btn { display: flex; justify-content: center; align-items: center; margin: 0 1px; width: 3rem; height: 3rem; border: none; transition: 0.3s ease; }
.menu-btn, .search-btn, .accessibility-btn { fill: rgba(255,255,255,0.75); cursor: pointer; border-radius: 3px; }
.menu-btn-open,
.menu-btn:hover,
.menu-btn:focus,
.menu-btn-open:hover,
.menu-btn-open:focus,
.search-btn-open,
.search-btn:hover,
.search-btn:focus,
.accessibility-btn-open,
.accessibility-btn:hover,
.accessibility-btn:focus { background-color: rgba(255,255,255,0.2); fill: rgba(255,255,255,1); }

.menu-btn #menu-icon-open, .menu-btn.menu-btn-open #menu-icon-close { display: flex; }
.menu-btn #menu-icon-close, .menu-btn.menu-btn-open #menu-icon-open { display: none; }

#menu-icon-open, #menu-icon-close { height: 80%; width: auto; }
#search-icon { height: 65%; width: auto; }
#accessibility-icon { height: 70%; width: auto; }

/* Mobile Navigation */
.mobile-navigation { position: absolute; display: block; z-index: 1; right: 0; top: 0; min-height: 100%; width: 250px; background-color: rgba(179,2,26,1); text-transform: uppercase; border-left: 5px solid rgba(255,255,255,1); visibility: visible; transition: 0.3s ease; }
.mobile-navigation ul,
.mobile-navigation li { list-style: none; margin: 0; padding: 0; }
.mobile-navigation li { line-height: 3.5em; }
.mobile-navigation > div > ul > li { display: block; border-bottom: 1px solid rgba(255,255,255,0.5); }
.mobile-navigation li > a { position: relative; display: block; padding: 0 1rem; text-decoration: none; color: rgba(255,255,255,1); font-weight: 600; }
.mobile-navigation li > ul { margin: 0; padding: 0; }
.mobile-navigation li > ul > li { list-style: square; margin-left: 2rem; color: rgba(255,255,255,1); }
.mobile-navigation li > ul > li > a { margin-left: -2rem; padding-left: 2rem; }
.mobile-navigation > div > ul > li > ul > li > ul { display: none; }
.mobile-navigation li:focus-within > a,
.mobile-navigation li:hover > a { background: none; cursor: pointer; }
.mobile-navigation li a:after { position: absolute; transition: 0.3s ease; content: ''; width: 0; right: 50%; left: 50%; bottom: 0; height: 3px; background: rgba(255,255,255,1); border-radius: 3px; }
.mobile-navigation li a:focus:after,
.mobile-navigation li a:hover:after { width: 100%; left: 0; right: 0; }

li.menu-item-has-children > a { padding-right: 3rem; }
.menu-item-has-children > .sub-menu { height: 0; display: none; overflow: hidden; }
.menu-item-has-children > .sub-menu.active { display: block !important; }

.menu-item-has-children > a:before { content: ""; border-width: 0 2px 2px 0; border-style: solid; border-color: rgba(255,255,255,1); position: absolute; height: 0.6rem; width: 0.6rem; transform: rotate(45deg); right: 0; top: calc(45% - 0.6rem/2); line-height: 3.5em; margin: 0 1rem; }
.menu-item-has-children > a[aria-expanded=true]:before { transform: rotate(225deg); top: calc(55% - 0.6rem/2); }

/* Hide Navigations */
.hide-theme-menu { visibility: hidden; }
.dtp-navigation { display: none; }

/* Breadcrumb Navigation */
.wp-breadcrumb { line-height: 1.5em; }

/* Page Numbers */
.nav-links > ul > li { display: inline; }
.nav-links > ul { margin: 0; padding: 0; }
.nav-links > ul > li > span,
.nav-links > ul > li > a { display: inline-block; padding: 0.375rem 0.75rem; margin-bottom: 0.25rem; line-height: 1.15em; transition: 0.3s ease; text-decoration: none; border-radius: 3px; }
.nav-links > ul > li > a:hover,
.nav-links > ul > li > a:focus { color: rgba(255,255,255,1); background-color: rgba(179,2,26,1); }
#main.theme_standard_layout > .pagination,
#main.theme_custom_layout_1 > .pagination { padding: 1rem; background-color: rgba(255,255,255,0.8); box-shadow: 3px 3px 6px rgba(0,0,0,0.2); -webkit-box-shadow: 3px 3px 6px rgba(0,0,0,0.2); border-radius: 3px; }
.pagination { margin-top: 2rem; }
.page-numbers.current { background-color: rgba(0,0,0,0.8); color: rgba(255,255,255,1); }

/* Skiplinks */
#skiplinkmenu { display: none; }
#skiplinkmenu ul { position: fixed; top: 0; left: -10000px; margin: 0; padding: 0; list-style: none; height: 3rem; overflow: hidden; z-index: 10000; text-align: center; }
#skiplinkmenu ul:focus-within { left: 0; width: 100%; box-shadow: 0 0 10px rgba(0,0,0,0.5); -webkit-box-shadow: 0 0 10px rgba(0,0,0,0.5); background-color: rgba(179,2,26,1); }
#skiplinkmenu li a { position: absolute; top: -3rem; left: 0; width: 100%; line-height: 3em; height: 3rem; font-weight: bold; text-decoration: none; transition: none; }
#skiplinkmenu li a:focus { top: 0; color: rgba(255,255,255,1); outline: none; }


/********************************************** Main Layout Flex-Boxen */
	
.main-container { padding: 1rem 0.75rem; }

#main.main-class,
#main.theme_standard_layout > header,
#main.theme_custom_layout_1 > header { width: 100%; background-color: rgba(255,255,255,0.8); padding: 1rem; box-shadow: 3px 3px 6px rgba(0,0,0,0.2); -webkit-box-shadow: 3px 3px 6px rgba(0,0,0,0.2); border-radius: 3px; }
#main.frontpage { background: none; padding: 0; box-shadow: none; -webkit-box-shadow: none; }
#main.theme_standard_layout,
#main.theme_custom_layout_1 { background: none; padding: 0; box-shadow: none; -webkit-box-shadow: none; }

#secondary { width: 100%; padding: 0.25rem 1.5rem 1rem 1.5rem; background-color: rgba(255,255,255,0.8); margin-top: 1rem; box-shadow: 3px 3px 6px rgba(0,0,0,0.2); -webkit-box-shadow: 3px 3px 6px rgba(0,0,0,0.2); border-radius: 3px; }


/********************************************** WP Colors */

.fb-red, .has-fb-red-color { color: rgb(179,2,26); }

.has-black-color { color: #000000; }
.has-cyan-bluish-gray-color { color: #abb8c3; }
.has-white-color { color: #ffffff; }
.has-pale-pink-color { color: #F78DA7; }
.has-vivid-red-color { color: #cf2e2e; }
.has-luminous-vivid-orange-color { color: #ff6900; }
.has-luminous-vivid-amber-color { color: #fcb900; }
.has-light-green-cyan-color { color: #7bdcb5; }
.has-vivid-green-cyan-color { color: #00d084; }
.has-pale-cyan-blue-color { color: #8ed1fc; }
.has-vivid-cyan-blue-color { color: #0693e3; }

.has-fb-red-background-color { background-color: rgb(179,2,26); }
.has-black-background-color { background-color: #000000; }
.has-cyan-bluish-gray-background-color { background-color: #abb8c3; }
.has-white-background-color { background-color: #ffffff; }
.has-pale-pink-background-color { background-color: #F78DA7; }
.has-vivid-red-background-color { background-color: #cf2e2e; }
.has-luminous-vivid-orange-background-color { background-color: #ff6900; }
.has-luminous-vivid-amber-background-color { background-color: #fcb900; }
.has-light-green-cyan-background-color { background-color: #7bdcb5; }
.has-vivid-green-cyan-background-color { background-color: #00d084; }
.has-pale-cyan-blue-background-color { background-color: #8ed1fc; }
.has-vivid-cyan-blue-background-color { background-color: #0693e3; }


/********************************************** Content */

h1, h1.title, h2, h3, h4, h5, h6 { font-family: Oswald; font-weight: 400; word-break: break-word; line-height: 1.5em; }
h1, h1.title, h2, h3, h4, h5, h6 { margin: 1rem 0; }
h1, h1.title { font-size: 2rem; }
h2 { font-size: 1.75rem; }
h3 { font-size: 1.5rem; }
h4 { font-size: 1.25rem; }
h5 { font-size: 1rem; }
h6 { font-size: 1rem; }

.main-container li { line-height: 1.5em; }

.site-title > a,
.title > a { text-decoration: none; }
.site-title > a:hover { background: none; }

p { line-height: 1.5em; }

.page-header { margin-bottom: 2rem; }

#main > section { text-align: center; }

#main > article > h2,
aside > section > h3 { padding-bottom: 0.125rem; }

img { height: auto; max-width: 100%; position: relative; }

.clear { clear: both; }

.center { text-align: center; }

/* Carousel Content */
.owl-item .item-inner > h3 { padding: 0 1rem; }
.owl-item .item-inner > p { padding: 1rem 1rem 0 1rem; }
.aktuelles-carousel .owl-item .item-inner > h3 { padding: 0 0.5rem; }
.aktuelles-carousel .owl-item .item-inner > p { padding: 1rem 0.5rem 0 0.5rem; }

.aktuelles-carousel { padding: 1rem 3rem; background-color: rgba(255,255,255,0.8); box-shadow: 3px 3px 6px rgba(0,0,0,0.2); -webkit-box-shadow: 3px 3px 6px rgba(0,0,0,0.2); border-radius: 3px; }
.aktuelles-carousel > h2 { margin: 0; color: rgba(179,2,26,1); text-align: center; font-size: 1.5rem; margin-bottom: 1rem; }
.aktuelles-carousel > h2:after { display: block; content: ''; margin: 0.75rem auto 0 auto; background-color: rgba(179,2,26,1); height: 2px; width: 100px; border: 0; }
.projekte-carousel > h2,
.weiterbildung-carousel > h2 { text-align: center; color: rgba(216,225,235,1); text-transform: uppercase; }
.aktuelles-carousel .owl-item { background: none !important; }
.projekte-carousel .owl-item,
.weiterbildung-carousel .owl-item { border-top: 0.5rem solid rgba(179,2,26,1); border-radius: 3px; margin: 0 8px 10px 8px; box-shadow: 3px 3px 6px rgba(0,0,0,0.2); }
.projekte-carousel h3 { color: rgba(179,2,26,1); }

.owl-btn-wrapper > a,
.theme-readmore > a,
.caldera-grid input.btn-default,
.nf-form-content input[type="submit"].theme-readmore { font-family: Oswald; display: inline-block; padding: 0.75rem 1rem; line-height: 1.5em; text-decoration: none; border: 1px solid rgba(0,0,0,0.7); color: rgba(0,0,0,0.8); border-radius: 3px; transition: 0.3s ease; cursor: pointer; }
.owl-btn-wrapper > a:hover,
.owl-btn-wrapper > a:focus,
.theme-readmore > a:hover,
.theme-readmore > a:focus,
.caldera-grid input.btn-default:hover,
.caldera-grid input.btn-default:focus,
.nf-form-content input[type="submit"].theme-readmore:hover,
.nf-form-content input[type="submit"].theme-readmore:focus { background-color: rgba(0,0,0,0.8); color: rgba(255,255,255,1); border: 1px solid rgba(0,0,0,0.7); }

/* Frontpage text */
.frontpage-content { padding: 1rem 0.25rem; }
.frontpage-content h2 { margin: 1rem 0; }
.frontpage-content h2,
.frontpage-content p { text-shadow: 1px 1px 0 rgba(255,255,255,0.25); }

/* Category Views */
.flex { display: flex; justify-content: flex-start; flex-wrap: wrap; --columns: 1; --gap: 1rem; gap: var(--gap); }
.theme-posts { display: flex; flex-direction: row; flex-wrap: wrap; align-self: stretch; align-content: flex-start; background-color: rgba(255,255,255,0.8); box-shadow: 3px 3px 6px rgba(0,0,0,0.2); -webkit-box-shadow: 3px 3px 6px rgba(0,0,0,0.2); transition: 0.3s ease; border-radius: 3px; border-top: 0.5rem solid rgba(179,2,26,1); }
.theme-posts { flex: 1 1 calc(calc(100% / var(--columns)) - calc(var(--gap) / var(--columns) * calc(var(--columns) - 1))); max-width: calc(calc(100% / var(--columns)) - calc(var(--gap) / var(--columns) * calc(var(--columns) - 1))); }
.theme-posts:hover { background-color: rgba(255,255,255,1); }
.theme-posts-thumbnail { flex-basis: 100%; width: 100%; max-width: 100%; flex-shrink: 0; }
.theme-posts-content { flex-grow: 1; flex-basis: 100%; width: auto; max-width: 100%; padding: 1.5rem; }
.theme-posts-thumbnail > figure { position: relative; top: 0; left: 0; width: 100%; margin: 0; }
.theme-posts-thumbnail > figure > a { position: relative; top: 0; left: 0; display: block; width: 100%; padding-top: 66.666%; }
.theme-posts-thumbnail > figure > a > figcaption { position: absolute; bottom: 0; padding: 0.25rem; background-color: rgba(0,0,0,0.4); color: rgba(255,255,255,0.75); }
.theme-post-thumbnail { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; object-position: center center; }
.theme-posts-content header,
.theme-posts-content div,
.theme-posts-content h2,
.theme-posts-content footer { display: block; position: relative; width: 100%; }
.theme-posts-content > header > div { margin: 1rem 0; }
.theme-posts-content h2 { font-size: 1.25rem; margin: 0; }
.theme-posts-content h2 > a { color: rgba(0,0,0,0.8); text-decoration: none; }
.theme-posts-content h2 > a:hover,
.theme-posts-content h2 > a:focus { color: rgba(179,2,26,1); background: none; }
.theme-posts-content > footer { width: 100%; }

.theme_custom_layout_1 .theme-posts > .theme-posts-content > p,
.theme_custom_layout_1 .theme-posts > .theme-posts-content > footer { display: none; }

.theme_custom_layout_2 .theme-posts { margin: 0; border-top: 0.5rem solid rgba(179,2,26,1); }

.theme_custom_layout_3 .theme-posts { background-color: rgba(255,255,255,1); text-align: center; padding: 0.5rem; font-size: 0.85rem; line-height: 1.5em; border: none; }
.theme_custom_layout_3 .theme-posts-thumbnail,
.theme_custom_layout_3 .theme-posts-content { padding: 1rem 1rem 0 1rem; }

/* Caldera Forms */
#main .caldera-grid,
#secondary .caldera-grid { padding: 1rem 0.5rem 0 1.5rem; margin: 2rem -1rem -1rem -1rem; color: rgba(255,255,255,1); background-color: rgba(179,2,26,1); border-radius: 3px; }
#secondary .caldera-grid { padding: 0.5rem 0.5rem 1rem 1.5rem; margin: -2.5rem -1.5rem -1rem -1.5rem; }
#main .caldera-grid h2 { margin: 0; }
#main .caldera-grid .form-control,
#secondary .caldera-grid .form-control { padding: 1rem; height: auto; border: 2px solid #f0f0f0; border-radius: unset; border-bottom: 2px solid #000; color: #000; background-color: #f0f0f0; box-shadow: unset; -webkit-box-shadow: unset; }
#main .caldera-grid .form-control:focus,
#secondary .caldera-grid .form-control:focus { border: 2px solid #f00; }
#main .caldera-grid ::placeholder, 
#main .caldera-grid ::-webkit-input-placeholder,
#secondary .caldera-grid ::placeholder, 
#secondary .caldera-grid ::-webkit-input-placeholder { color: rgba(0,0,0,0.7) !important; }
.caldera-grid .help-block.filled { background-color: #f00; padding: 5px; }
.caldera-grid .has-error .help-block { color: #fff !important; }
.caldera-grid .btn { font-size: 1rem !important; text-transform: uppercase; padding: 0.75rem 1rem !important; background-color: rgba(255,255,255,1); }
.caldera-grid .form-group { margin-bottom: 1.5rem !important; }
.caldera-grid hr { display: none; }
.caldera-grid .has-error .checkbox { color: rgba(255,255,255,0.8) !important; }

/* Ninja Forms */
#main .nf-form-cont,
#secondary .nf-form-cont { padding: 1px 1.5rem; color: rgba(255,255,255,1); background-color: rgba(179,2,26,1); border-radius: 3px; }
#secondary .nf-form-cont { padding: 0.5rem 1rem 1rem; margin: -1.25rem -1.5rem -2rem -1.5rem; }
.ninja-forms-req-symbol { color: #fff !important; }
.nf-field-label .nf-label-span, .nf-field-label label { font-weight: normal !important; font-size: 1rem !important; }
.nf-form-content .list-select-wrap .nf-field-element > div,
.nf-form-content input:not([type="button"]):not(.theme-readmore),
.nf-form-content textarea { color: rgba(0,0,0,0.8) !important; }
.label-right .nf-after-field { width: 100% !important; }
.nf-error-msg { color: #fff !important; background-color: #e80000; padding: 5px; margin: 0!important; }
.fb-einwilligung > div > div > div > label { display: flex !important; flex-direction: row-reverse; flex-wrap: nowrap; gap: 0.125rem; cursor: pointer; }
.nf-form-content input[type="submit"].theme-readmore { font-size: 1rem !important; text-transform: uppercase; padding: 0.75rem 1rem !important; background-color: rgba(255,255,255,1); }
.nf-field-container.submit-container.label-above.margin-send.textbox-container { margin-bottom: 0; }

/* Plugin list Posts */
.lcp_catlist { margin: 0; padding: 0; }
.lcp_catlist > li { display: flex; width: 100%; margin: 0 0 1.5rem; padding: 0; align-content: flex-start; flex-wrap: nowrap; flex-direction: row-reverse; border-left: 5px solid rgba(179,2,26,1); }
.lcp_catlist > li > a { font-family: Oswald; text-transform: uppercase; text-decoration: none; margin: 0; padding: 0; }
.lcp_catlist > li > a:first-of-type { width: 100%; margin-left: 0.5rem; align-self: center; }
.lcp_catlist > li > a:nth-child(2) { width: 50%; margin-right: 0.5rem; line-height: 0; align-self: stretch; }
.lcp_catlist > li > a > img { height: 100%; width: 100%; max-height: 100px; object-fit: cover; }

/* Searchform in Content Area */
#main > section > .search-form { display: flex; margin: 0 auto; flex-wrap: nowrap; width: fit-content; border-radius: 3px; box-shadow: 0 0 10px rgba(0,0,0,0.2); -webkit-box-shadow: 0 0 10px rgba(0,0,0,0.2); }
#main > section > .search-form > label > input { flex: 1 1 100%; width: 100%; border-radius: 3px 0 0 3px; }
#main > section > .search-form > input.search-submit { flex: 1 0 auto; background-color: rgba(179,2,26,1); color: rgba(255,255,255,1); border-radius: 0 3px 3px 0; }
#main > section input { line-height: 1.5em; padding: 1rem; }

.search-field,
.search-submit { padding: 0.5rem; border: none; background-color: rgba(255,255,255,1); }
.search-field:hover,
.search-submit:hover,
.search-field:focus,
.search-submit:focus { filter: brightness(0.9); }

/* WP Content Blocks */
.fb-list { list-style: none; margin-left: -1rem; }
.fb-list li { margin-bottom: 0.5rem; }
.fb-list li:before { position: absolute; content: "\2022"; color: rgba(179,2,26,1); font-weight: bold; display: inline-block; width: 1rem; margin-left: -1rem; }
.fb-custom-list { list-style: none; margin: 0; padding: 0; }
.fb-custom-list > li { font-family: Oswald; margin: 0 0 0.5rem; }
.fb-custom-list > li > strong { color: rgba(179,2,26,1); font-weight: 400; }

.wp-block-quote { margin: 1rem 0 1.5rem 0; font-style: italic; }
.wp-block-quote > p { margin: 0 0 0.5rem 0; }
.wp-block-quote > cite { font-size: 0.8125rem; }

.wp-block-separator { background-color: rgba(179,2,26,1); overflow: hidden; border: 0; height: 2px; margin: 2rem auto 2rem 0; }
.wp-block-separator.aligncenter { margin: 2rem auto; }
.wp-block-separator:not(.is-style-wide):not(.is-style-dots) { width: 25%; }
.wp-block-separator:not(.is-style-wide):not(.is-style-dots).alignwide { width: 50% !important; }
.wp-block-separator:not(.is-style-wide):not(.is-style-dots).alignfull { width: 100% !important; }
.wp-block-separator.is-style-dots::before { font-size: 1.6875em; letter-spacing: 2rem; padding-left: 2rem; }

figcaption { font-size: 0.75rem; color: rgba(0,0,0,0.5); }
figure a:hover,
figure a:focus { background: none; }

.wp-social-link-chain a { color: rgba(0,0,0,1) !important; }

.wp-block-social-links { margin: 1rem 0 2rem 0; }
.wp-block-social-links a { color: rgba(255,255,255,1); background-color: unset; }
.wp-block-social-links a:hover,
.wp-block-social-links a:focus { color: rgba(255,255,255,1); background: none; }

.wp-block-gallery { margin: 1rem auto; }

.wp-block-gallery figure img,
figure.wp-block-image:not(.wp-block-gallery figure),
div.wp-block-image > figure { padding: 0.5rem; background-color: rgba(255,255,255,0.8); -webkit-box-shadow: 1px 1px 6px rgba(0,0,0,0.2); box-shadow: 1px 1px 6px rgba(0,0,0,0.2); }
.wp-block-gallery.no-shadow figure img,
figure.wp-block-image.no-shadow:not(.wp-block-gallery figure),
div.wp-block-image.no-shadow > figure { -webkit-box-shadow: unset; box-shadow: unset; background-color: unset; padding: unset; }
.wp-block-gallery .blocks-gallery-item figure { flex-direction: column; padding: 0.5rem; }
.wp-block-gallery.is-cropped .blocks-gallery-item figure a { flex-grow: 4; }
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption,
.wp-block-gallery .blocks-gallery-item figcaption,
.wp-block-image figcaption { position: relative; flex-grow: unset; flex-basis: unset; bottom: 0; max-width: 100%; padding: 0.25rem 0.5rem 0 0.5rem; color: rgba(0,0,0,0.6); text-align: center; font-size: 0.75rem; background: unset; overflow: unset; max-height: unset; text-shadow: unset; }
.wp-block-gallery.has-nested-images figure.wp-block-image img { max-height: 300px; }

.wp-block-audio { margin: 1rem; }
audio, audio::-webkit-media-controls-enclosure { border-radius: 100px; }

.wp-block-embed-vimeo { margin: 0 !important; }
.video-wrapped-vimeo { width: 100% !important; min-height: 200px !important; }

.wp-block-columns { margin: 0; }
.wp-block-column { width: 100%; }
.fb-border-left { border-top: 1px solid rgba(0,0,0,0.6); margin-top: 1rem; padding-top: 1rem; }

.wp-block-file:not(.wp-element-button) { font-size: unset; }
.wp-block-social-links, .wp-block-group { gap: 0.5rem; }

.livestream-container,
.wp-block-embed-youtube > .wp-block-embed__wrapper { position: relative; overflow: hidden; width: 100%; padding-top: 56.25%; margin-top: 1rem; }
.livestream-container > iframe,
.wp-block-embed-youtube > .wp-block-embed__wrapper > iframe { position: absolute; top: 0; left: 0; bottom: 0; right: 0; width: 100%; height: 100%; border: 0; }

/* Plugin Maps */
.wpgmza_map { margin: 2rem -1rem -1rem !important; width: calc(100% + 2rem) !important; border-radius: 0 0 3px 3px; }


/*********************************************** Footer */

#footer { padding: 1rem 0.75rem 0; color: rgba(0,0,0,0.8); }
#footer:before { display:block; content: ''; width: 100%; height: 5px; background-color: rgba(255,255,255,0.3); border-radius: 5px; }

.footer-upper { display: flex; flex-flow: row wrap; min-height: 5rem; justify-content: space-between;  }

.footer-upper > span { width: 100%; padding: 1rem; }
.footer-upper > span > p { margin: 0; }

#footer-navigation { position: relative; }
#footer-navigation ul { list-style: none; margin: 0; padding: 0; }
#footer-navigation li { line-height: 2em; }
#footer-navigation li a { position: relative; color: rgba(0,0,0,0.8); text-decoration: none; padding: 0.25rem 0; }
#footer-navigation li a:hover,
#footer-navigation li a:focus { color: rgba(179,2,26,1); background: none; }

#footer-navigation li > a:after { position: absolute; transition: 0.3s ease; content: ''; width: 0; right: 50%; left: 50%; bottom: 0; height: 2px; background: rgba(179,2,26,1); }
#footer-navigation li > a:hover:after,
#footer-navigation li > a:focus:after { width: 100%; left: 0; right: 0; }

.footer-bottom { display: flex; padding: 2rem; justify-content: center; align-items: center; flex-wrap: wrap; gap: 0.5rem; }
.footer-bottom > span { width: 100%; text-align: center; font-size: 0.75rem; }
.footer-bottom a { color: rgba(255,255,255,0.8); }
.footer-bottom a:hover,
.footer-bottom a:focus { color: rgba(255,255,255,1); }

#return-to-top {
	z-index: 90;
	display: none;
	height: 3rem;
	width: 3rem;
	position: fixed;
	bottom: 32px;
	right: 0;
	background-color: rgba(179,2,26,1);
	opacity: 0;
	transition: 0.3s ease;
	border-radius: 5px 0 0 5px;
	-webkit-box-shadow: 1px 1px 6px rgba(0,0,0,0.2);
	box-shadow: 1px 1px 6px rgba(0,0,0,0.2);
	cursor: pointer;
}
#return-to-top:before {
	content: "";
	border-width: 3px 3px 0 0;
	border-style: solid;
	border-color: rgba(255,255,255,1);
	position: absolute;
	height: 1rem;
	width: 1rem;
	transform: rotate(-45deg);
	left: calc(50% - 1rem/2);
	top: calc(50% - 1rem/4);
	transition: 0.3s ease;
}
#return-to-top:hover:before,
#return-to-top:focus:before { top: calc(45% - 1rem/2) }



/*********************************************** Mediaquerries */

/* No touch devices (keyboard navigation) */
@media(hover: hover) and (pointer: fine) {
	
	#skiplinkmenu { display: block; }
	#return-to-top { display: block; }
	#return-to-top.show-top-button { opacity: 1; }
	
}

@media only screen and (max-width: 480px) {
	
	.wp-block-image .alignright, .wp-block-image .alignleft { float: unset; margin: 0 auto; }
	
}

@media only screen and (min-width: 480px) {
	
	.theme_standard_layout .flex,
	.theme_custom_layout_1 .flex,
	.theme_custom_layout_3 .flex { --columns: 2; --gap: 1rem; }
	
	.theme_custom_layout_2 .theme-posts-thumbnail > figure > a { padding-top: 240px; }
	
	#main .caldera-grid { margin: 2rem -1.5rem -1rem; }
	#secondary .caldera-grid { margin: -2.5rem -1.5rem -1rem -1.5rem; }
	
	.wpgmza_map { margin: 2rem -1rem -1rem !important; width: calc(100% + 2rem) !important; }
	
}

@media only screen and (min-width: 768px) {
	
	.nav-links > ul > li > span,
	.nav-links > ul > li > a { margin-bottom: 0; }
	
	#main.main-class.single-page { padding: 1.25rem; }
	
	.home-statement { min-height: 13.75rem; }
	.home-statement > p { padding: 3.5rem 2rem; font-size: 1.5rem; line-height: 1.5em; }
	.main-container { padding: 1rem 1.5rem; }
	
	.aktuelles-carousel .owl-item .item-inner > h3 { padding: 0 1rem; }
	.aktuelles-carousel .owl-item .item-inner > p { padding: 1rem 1rem 0 1rem; }
	.aktuelles-carousel { padding: 2rem 3rem; }
	.aktuelles-carousel > h2 { font-size: 2rem; line-height: 1.25em; }
	
	h1, h1.title { font-size: 2.5rem; }
	h2 { font-size: 2rem; }

	.frontpage-content { padding: 2rem 0.25rem; }
	
	.theme_custom_layout_2 .theme-posts { width: 100%; border-left: 0.5rem solid rgba(179,2,26,1); border-top: none;  }
	.theme_custom_layout_2 .theme-posts-content { flex-basis: 0; padding: 1.5rem 2rem; }
	.theme_custom_layout_2 .theme-posts-thumbnail { flex-basis: 250px; width: 250px; max-width: 250px; }
	.theme_custom_layout_2 .theme-posts-thumbnail > figure { min-height: 100%; }
	.theme_custom_layout_2 .theme-posts-thumbnail > figure > a { position: absolute; height: 100%; padding-top: unset; }
	
	.theme_custom_layout_2 .flex { --gap: 2rem; }
	.theme_custom_layout_3 .flex { --columns: 3; }
	
	.fb-list { margin-left: unset; }
	
	#main .caldera-grid { margin: 2rem -1.75rem -1rem; }
	.caldera-grid h2 { font-size: 2rem }
	
	#secondary .nf-form-cont { padding: 0.5rem 1.125rem 1.125rem; }
	
	.footer-upper > span { width: fit-content; padding: 2rem; }
	
}

@media only screen and (max-width: 1023px) {
	
	.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column { flex-basis: 100% !important; }
	.wp-block-columns {	flex-wrap: wrap !important; }
}

@media only screen and (min-width: 1024px) {

	@media(hover: hover) and (pointer: fine) {
		
		.mobile-navigation { display: none; }

		.second-nav-container { padding: unset; }
		
		/* Desktop Navigation */
		.dtp-navigation { position: relative; z-index: 100; display: flex; justify-content: flex-end; text-transform: uppercase; font-family: Oswald; font-size: 1.0625rem; }
		.dtp-navigation > div > ul { display: flex; justify-content: flex-end; margin: 0; padding: 0; flex-wrap: wrap; }
		.dtp-navigation > div > ul > li { margin: 0 0.25rem; }
		.dtp-navigation > div > ul > li > a { padding: 0 0.6rem; }
		.dtp-navigation li { display: block; list-style: none; margin: 0; padding: 0; line-height: 2.5em; white-space: nowrap; }
		.dtp-navigation li > a { position: relative; display: block; padding: 0 1rem; text-decoration: none; color: rgba(0,0,0,1); transition: 0.3s ease; }	
		.dtp-navigation li:focus-within > a,
		.dtp-navigation li:hover > a { background: none; cursor: pointer; color: rgba(179,2,26,1); }
		
		.dtp-navigation .sub-menu { position: absolute; z-index: 101; padding: 0; background-color: rgba(179,186,195,1); box-shadow: 0 3px 8px rgba(0,0,0,0.2); -webkit-box-shadow: 0 3px 8px rgba(0,0,0,0.4); border-radius: 3px; }
		.dtp-navigation .sub-menu > li { line-height: 3.5em; }
		.dtp-navigation .sub-menu > li:focus-within,
		.dtp-navigation .sub-menu > li:hover { background-color: rgba(255,255,255,0.5); }

		li.menu-item-has-children > a { padding-right: 1.6rem !important; }
		.menu-item-has-children > a:before { margin: 0 0.55rem; border-color: rgba(0,0,0,1); }
		.menu-item-has-children > a:hover:before,
		.menu-item-has-children > a:focus-within:before,
		.menu-item-has-children:hover > a:before,
		.menu-item-has-children:focus-within > a:before { border-color: rgba(179,2,26,1); }

		.dtp-navigation li a:after { position: absolute; transition: 0.3s ease; content: ''; width: 0; right: 50%; left: 50%; bottom: 0; height: 3px; background: rgba(179,2,26,1); border-radius: 3px; }
		.dtp-navigation li a:focus:after,
		.dtp-navigation li a:hover:after { width: 100%; left: 0; right: 0; }
		.dtp-navigation li:focus-within > a:after,
		.dtp-navigation li:hover > a:after { width: 100%; left: 0; }

		.dtp-navigation.menu-white > div > ul > li > a,
		.dtp-navigation.menu-white > div > ul > li > a:hover,
		.dtp-navigation.menu-white > div > ul > li > a:focus { color: rgba(255,255,255,1); }
		.dtp-navigation.menu-white .menu-item-has-children > a:before { border-color: rgba(255,255,255,1); }
		
		.menu-btn { display: none; }
		
		.search-btn,
		.accessibility-btn { width: 2.25rem; height: 2.25rem; }
		
	}
	
	.accessibility-inner { padding: 1rem 2.5rem; }
	
	#header { align-items: flex-start; background: none; border-bottom: none; padding: 0.75rem 2.5rem 0.5rem; box-shadow: none; -webkit-box-shadow: none; }
	.header-bg-image:before { position: absolute; z-index: -1; top: 0; left: 0; width: 100%; height: 100%; content: ''; background: url('../img/home_top_bg.png'); background-repeat: no-repeat; background-size: 100%; max-height: 952px; }
	
	.site-logo { width: 278px; height: auto; margin-bottom: -2.5rem; }
	.site-logo-black { fill: #000000; }
	
	.fill-icon-black { fill: rgba(0,0,0,0.75); }
	.fill-icon-black:hover, .fill-icon-black:focus { fill: rgba(0,0,0,1); }
	
	.home-statement { min-height: 18rem; border: none; background: none; }
	.home-statement > p { padding-left: 40%; padding-right: 3rem; font-size: 1.8rem; }
	
	.main-container { display: flex; justify-content: center; align-items: flex-start; padding: 1rem 2.5rem; gap: 2rem; }
	.has-sidebar { flex-basis: 66.666%; }
	.fb-border-left { margin-left: 4rem; border-left: 1px solid rgba(0,0,0,0.8); padding-left: 2rem; border-top: none; margin-top: unset; padding-top: unset; }
	
	#main.main-class,
	#main.theme_standard_layout > header,
	#main.theme_custom_layout_1 > header { padding: 3rem 3rem 2rem; }
	#main.frontpage,
	#main.theme_standard_layout,
	#main.theme_custom_layout_1 { padding: 0; }
	#main.theme_custom_layout_2,
	#main.theme_custom_layout_3	{ padding: 3rem; }
	
	#secondary { flex-basis: 33.333%; margin: 0; }
	#secondary > .widget_caldera_forms_widget { padding: 0 1rem 1rem 2rem; }
	
	h1,
	h1.title { font-size: 2.9rem; }
	h2 { font-size: 2.25rem; }
	h1, h2, h3, h4, h5, h6 { word-break: keep-all; hyphens: none; }
	
	.home h2 { font-size: 2.9rem; }
	
	.frontpage-content { padding: 1rem; }
	.frontpage-content > div { padding-top: 2rem; }
	
	.aktuelles-carousel > h2 { font-size: 2.5rem; }
	
	.owl-item .item-inner > h3,
	.owl-item .item-inner > p { padding: 0.5rem 1.5rem 0 1.5rem; }
	.owl-item .item-inner > h3 { font-size: 1.25rem; }
	
	.owl-btn-wrapper > a,
	.theme-readmore > a,
	.caldera-grid .btn-default { padding: 0.5rem 1rem; }
	
	.theme_standard_layout .flex,
	.theme_custom_layout_1 .flex,
	.theme_custom_layout_3 .flex { --columns: 3; --gap: 2rem; }
	.theme_custom_layout_3 .flex { --columns: 4; }

	article.theme-post-single, header.page-header > *:not(nav) { padding: 0; }
	
	.theme_custom_layout_2 .theme-posts-thumbnail { flex-basis: 300px; width: 300px; max-width: 300px; }
	
	#main .caldera-grid { margin: 2rem 0 0 0; }
	#secondary .caldera-grid { margin: -2.4rem -2.5rem -2rem -3.5rem; }
	#main .caldera-grid h2,
	#secondary .caldera-grid h2 { font-size: 1.5rem; }
	#main .caldera-grid .form-control,
	#secondary .caldera-grid .form-control { padding: 0.5rem 1rem; }
	.caldera-grid h2 { font-size: 1.5625rem }
	
	.site-description { font-size: 2rem; }
	
	#footer { padding: 1rem 1rem 0; }
	
	.footer-bottom { padding: 0 2rem 2rem 2rem; }
	.footer-bottom > span { width: fit-content; }
	.footer-bottom > span:not(:last-of-type):after { content: "|"; margin-left: 0.5rem; }
	
	.facebook-link-btn { margin-top: 0; }

	.wpgmza_map { margin: 2rem -3rem -2rem !important; width: calc(100% + 6rem) !important; }
	
	#site-container {
		background: url('../img/bg_deco_left.png') left 1000px no-repeat, url('../img/bg_deco_right.png') top right no-repeat, rgba(179,186,195,1);
	}
	
}

@media only screen and (min-width: 1280px) {
	
	.theme_custom_layout_3 .flex { --columns: 5; }
	
}
@media only screen and (min-width: 1440px) {}
@media only screen and (min-width: 1920px) {
	
	.header-bg-image:before { background-position: bottom; }
	
}


/*********************************************** Barrierefreiheit Styles */

body.font-times * { font-family: "Times New Roman", Times, Georgia, serif !important; }
a.links-underline { text-decoration: underline !important; }
a.links-highlight { background-color: yellow !important; color: black !important; }
.grayscale { filter: gray !important; filter: grayscale( 100% ) !important; -webkit-filter: grayscale( 100% ) !important; }
.graytest.header-bg-image:before { filter: gray !important; filter: grayscale( 100% ) !important; -webkit-filter: grayscale( 100% ) !important; }
.color-invert { filter: invert(100%); }

/*********************************************** Externe Plugin CSS Styles */

/* Cookie Notice */
#cookie-notice { background-color: rgba(0,0,0,0.8) !important; }
.cn-button { background: rgba(179,2,26,1) !important; }
.cn-button, #cookie-notice { font-size: 1rem; line-height: 1.5em; }
.cookie-notice-hidden { display: none; }

/* Carousel */
.owl-stage { display: flex; justify-content: center; align-items: stretch; margin: 0 auto; }
.owl-item { background-color: rgba(255,255,255,0.8); transition: 0.3s ease; }
.owl-item:hover { background-color: rgba(255,255,255,1); }
.owl-item .no-image { display: none; }
.owl-item .owl-btn-wrapper { margin-bottom: 1.5rem; }

button.owl-prev,
button.owl-next { transform: translateY(0); width: 2rem; height: 2rem; padding: 0.5rem !important; font-weight: bold !important; transition: 0.3s ease; }
button.owl-prev:before,
button.owl-next:before { content: ""; border-width: 3px 3px 0 0; border-style: solid; border-color: rgba(179,2,26,1); position: absolute; height: 0.75rem; width: 0.75rem; transform: translateY(100%); top: calc(50% - 0.75rem/2); transition: 0.3s ease; }
button.owl-prev:before { transform: rotate(-135deg); left: calc(50% - 0.75rem/3); }
button.owl-next:before { transform: rotate(45deg); left: calc(50% - 0.75rem/1.5); }
button.owl-prev:hover,
button.owl-next:hover,
button.owl-prev:focus,
button.owl-next:focus { background-color: rgba(179,2,26,1) !important; }
button.owl-prev:hover:before,
button.owl-next:hover:before,
button.owl-prev:focus:before,
button.owl-next:focus:before { border-color: rgba(255,255,255,1); }
.owl-dot span { background-color: rgba(0,0,0,0.8) !important; }
.owl-dot.active span { background-color: rgba(179,2,26,1) !important; }

.aktuelles-carousel .owl-theme.nav-centered .owl-nav button.owl-prev { top: -2rem; left: -4ch !important; }
.aktuelles-carousel .owl-theme.nav-centered .owl-nav button.owl-next { top: -2rem; right: -4ch !important; }
.aktuelles-carousel .owl-theme .owl-nav [class*="owl-"] { margin: unset; }

/* Timeline */
.timeline:not(.timeline--horizontal):before { background-color: rgba(0,0,0,0.25); }
.timeline__item--left .timeline__content::after { border-left-color: #fff !important; right: -10px; }
.timeline__item--right .timeline__content::after { border-right-color: #fff !important; }
.timeline__content h2 { font-size: 1.5rem !important; line-height: 1.5em; color: rgba(179,2,26,1) !important; font-family: Oswald !important; font-weight: 400 !important; margin: 0; }
.timeline__content p { font-size: 1rem !important; color: rgba(0,0,0,0.8) !important; }
.timeline__content ul { padding: 0 0 0 1rem; }

/* WP Adminbar Fix */
@media screen and (max-width: 600px) { #wpadminbar { top: -46px !important; } }

/* WP MimeType */
.wp-block-file > a { width: fit-content; }
.wp-block-file .mtli_attachment { display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem; }
.mtli_attachment { line-height: 48px; }

/* WP 6.1 Gallery Fix */
.is-layout-flex { display: flex; flex-wrap: wrap; }