/* TEMPLATE CSS
*********************************************/

*|* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html, body {
   width: 100%;
  margin: 0;
}
img {
  max-width: 100%;
  height: auto;
}
#primaryContainer, 
#Header, 
#Navigation,
#wrapper
 {
    width: 100%;
    box-sizing: border-box;
}
html {height:100%; margin-bottom:1px; overflow-y:scroll;}
body {background-color:#fff; color:#000; font-family: 'Open Sans', sans-serif; height:100%; text-align:left;}
p {
	font-size: 0.9em;
    font-weight: normal;
    line-height: 1.4em;
    letter-spacing: normal;
    text-decoration: none;
	padding-bottom: 1em;
}
h1 {
	margin: 0;
}
h1, h3 {
	font-weight: bold;	
}
h2, h2.contentheading {
	font-size: 1em;
    line-height: normal;
    color: #143f8f;
	margin-bottom: 0.5em;
	font-family: Verdana, Geneva, sans-serif;
	text-transform: uppercase;
}
h3 {
	font-size: 1em;
	line-height: normal;
	color: #143f8f;
	margin-bottom: 0.5em;
}
h3 a:link, h3 a:hover, h3 a:visited, .moduletable h3 {
	color: #00a3e2;
}
a, a:visited, a:hover, a:active {
    color: inherit;
    text-decoration: inherit;
}
/* LAYOUT
*********************************************/
.clearfix {
  clear: both;
}
.primaryContainer {
    height: auto;
    margin-left: auto;
    margin-right: auto;
    min-height: 100%;
    width: 100%;
    max-width: 960px;
}
#Header {
  	position: relative;
    height: auto;
    margin-top: 21px;
	margin-bottom: 0;
    clear: none;
    width: 100%;
    max-width: 960px;
	padding: 0;
}
#headerImage {
	position: relative;
	height: 310px;
	width: 960px;
	padding: 0;
	top: 0px;
	overflow: hidden;
	z-index: 0;
}
#headerImage img {
	width: 100%;
	height: auto;
}
#wrapper {
    width: 100%;
    display: flex;
    flex-direction: row;
}
#mainbox {
    margin-right: 5px;
}
#Content, #MiscContent {
    padding: 5px;
    margin: 0;
    margin-bottom: 1rem;
    width: 100%;
}
#MiscContent {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
#MiscContentRight {
    width: 35%;
    margin: 0 0 0 1em;
}
#Navigation {
	position: relative;
	top:  0;
    height: 50px;
    width: 100%;
    background-color: #143f8f;
    margin-top: 0px;
    clear: both;
	line-height: 1;
}
#logoContainer {
	position: absolute;
    right: 0;
    bottom: 10px;
    width: 33%;
    z-index: 2;
}
#LogoAlternative {
    float: right;
    width: 280px;
    height: auto;
    margin-top: 34px;
	margin-bottom: 34px;
    clear: none;
    margin-right: 0;
}
img#Logo {
    width: 100%;
}
#Footer {
    width: 100%;
    height: auto;
    text-align: left;
    color: #FFFFFF;
	background-color: #143f8f;
    margin-top: 30px;
    margin-left: 0;
    clear: both;
    min-height: 30px;
	max-width: 960px;
    padding: 10px;
    display: flex;
    flex-direction: column;
    text-align: center;
}
#copyright {
    white-space: nowrap;
}
#Content .moduletable{
	width: 100%;
	padding: 0;
	margin: 0;
}
#MiscContent .moduletable {
    float: left;
    height: auto;
    margin: 0px;
    clear: none;
    width: 33.3%;
    padding: 10px;
}
.itemContainer {
	width: 33%;
}
.k2ItemsBlock ul li, .k2ItemsBlock ul li .even, .k2ItemsBlock ul li .odd {
	background-color: transparent;
	border: none;
}
.k2ItemsBlock ul li {
	width: 32.9%;
	float: left;
}
#Content .moduletable.video21 {
    width: 50%;
    padding: 0;
    margin: 0;
    float: left;
  	text-align: center;
}
div.moduletable.video21 div {
    width: 100%;
    margin: 0;
    padding: 0;
}
.video21 video {
  width: 95%
}

@media only screen and (max-width: 959px) {
    .primaryContainer {
        width: 100%;
        max-width: 960px;
    }
    #Content {
        width: 100%;
        padding: 0px;
    }
	#ContentLinks {
        width: 66%;
        padding: 0px;
    }

    #Misc_Content {
        height: auto;
        width: 100%;
    }
	#Misc_ContentRechts {
        height: auto;
        width: 34%;
    }
    #Navigation {
        margin: 0;
        clear: both;
        width: 100%;
        padding: 10px;
    }
    
    #NewsletterText {
        height: auto;
        margin: 0px;
        clear: both;
        min-height: 0px;
        width: 100%;
    }

    #Form_2 {
        margin-top: 10px;
        margin-left: 0%;
        clear: both;
        width: 100%;
        height: auto;
        max-width: none;
        padding: 10px;
    }

    #Termine {
        margin-top: 0px;
        margin-left: 0%;
        clear: none;
        margin-right: 0%;
        width: 100%;
    }

    #Newsletter {
        margin-top: 0px;
        margin-left: 0%;
        clear: both;
        width: 100%;
    }

    #TermineText {
        margin-top: 10px;
        margin-left: 0%;
        clear: both;
        margin-right: 0%;
        width: 100%;
    }

    #NewstickerText {
        margin-top: 0px;
        margin-right: 0%;
        margin-left: 0%;
        clear: both;
    }
    #Headline {
        margin-top: 13px;
        margin-left: -0.74257426%;
        clear: both;
        margin-right: 0%;
        width: 100%;
    }

    #Text {
        margin-top: 7px;
        margin-left: -0.74257426%;
        clear: both;
        margin-right: 0%;
        width: 100%;
    }
    .box_misc_modul {
        float: left;
        height: auto;
        margin: 0px;
        clear: none;
        width: 33.3%;
        padding: 10px;
    }
	.k2ItemsBlock ul li {
	width: 32.9%;
	float: left;
}
.itemContainer {
	width: 33%;
}
div.catItemImageBlock {
		max-height: 170px;
	}
	#MiscContent .moduletable {
    float: left;
    height: auto;
    margin: 0px;
    clear: none;
    width: 33.3%;
    padding: 10px;
}
.k2ItemsBlock ul li {
	width: 33.3%;
}
.k2ItemsBlock ul li {
	width: 32.9%;
	float: left;
}
}
@media only screen and (max-width: 800px) {
    p {
        font-size: 1.1em;
        }
	.k2ItemsBlock ul li.even, .k2ItemsBlock ul li.odd  {
	width: 100%;
	float: left;
	border: none;
	}
	.itemContainer {
	width: 100%;
	}
	div.catItemImageBlock {
		max-height: 170px;
		float: left;
		width: 40%;
	}
	#logoContainer {
    /*width: 280px;*/
    height: auto;
    clear: none;
	z-index: 10;
    }
    #wrapper {
        flex-direction: column;
    }
	#MiscContentRight, #MiscContent {
		width: 100%;
	}
	#MiscContentRight .moduletable, #MiscContent .moduletable {
    height: auto;
    margin: 0px;
    width: 100%;
    padding: 5px 10px;
    }
}
@media (min-width: 550px) {
    #Footer {
        flex-direction: row;
    }
    
}
@media (max-width: 549px) {
    ul.menu_service {
        flex-direction: column;
      }
    ul.menu_service li:nth-of-type(odd) {
      display: none;
    }
}
@media only screen and (max-width: 480px) {
  
    #MiscContent {
    flex-direction: column;
  }
  #MiscContent .mod_events_latest_table, #MiscContent .bannergroup {
  width: 100%;
}
  #Content .moduletable.video21 {
    width: 100%;
    padding: 0;
    margin: 0;
    float: none;
}
div.moduletable.video21 div {
    width: 100%;
    margin: 0;
    padding: 0;
}
#headerImage {
	position: relative;
	height: 100px;
	width: 100%;
	max-width: 480px;
	padding: 0;
	top: 0px;
	overflow: hidden;
	z-index: 0;
}
#headerImage img {
	width: 100%;
	max-width: 480px;
	height: auto;
}
#Navigation {
	height: 50px;
    width: 100%;
}

.primaryContainer {
    height: auto;
    margin-left: auto;
    margin-right: auto;
    min-height: 100%;
    width: 100%;
	max-width: 480px;
}
    
	#Content {
        width: 100%;
    }
    #MiscContentRechts {
        width: 100%;
		margin: 0;
    }
	.itemContainer {
		width: 100%;
	}
	div.catItemImageBlock {
		height: auto;
	}
	.catItemImageBlock img {
		width: 100%;
	}
	#MiscContent .moduletable {
    float: left;
    height: auto;
    margin: 0px;
    clear: none;
    width: 100%;
    padding: 10px;
}
.k2ItemsBlock ul li {
	width: 100%;
}
}

/* Floats */
.float-left {float:left;}
.float-right {float:right;}
.group:before, .group:after {content:""; display:table;}
.group:after {clear:both;}
.ie6 .group {zoom:1;}
.ie7 .group {zoom:1;}

/* Navigationselemente 
*********************************************/

/* Hauptnavigation */
nav {
	z-index: 299;
}
ul.menu_hauptnavigation {
	float: left;
    font-weight: normal;
    color: #FFF;
    font-style: normal;
  	list-style:none;
}
ul.menu_hauptnavigation li{
	font-size: 1.4em;
	position: relative;
	z-index: 300;
	float: left;
	text-transform: uppercase;
}
ul.menu_hauptnavigation li a:link, ul.menu_hauptnavigation li a:visited {
	text-align: left;
	font-weight: normal;
	color: #FFF;
	font-style: normal;
	text-decoration: none;
	margin-right: 10px;
}
li.parent a {
    padding-bottom: 5px;
}
ul.menu_hauptnavigation li a:hover {
	color: #FFF;
}
ul.menu_hauptnavigation li.parent {
	margin-right: 0;	
}
ul.menu_hauptnavigation li:hover > ul.mod-menu__sub{
	top: 100%;
	left: 0;
}
	
ul.menu_hauptnavigation li ul.mod-menu__sub {
	display: block;
	position: absolute;
	top: -9999x;
	left: -9999px;
	z-index: 300;
	box-shadow: 0 10px 10px 0 #C2C2C2;
	background-color: #143F8F;
	color: #FFF;
	/*padding: 10px 0 0 0; */
	margin: 0;
	width: auto;
}
ul.menu_hauptnavigation li:hover ul.mod-menu__sub {
	/*display: block;
	position: relative;
	top: 10px;*/	
}
ul.menu_hauptnavigation ul.mod-menu__sub li {
	color: #FFF;
	padding: 10px 5px;
	float: none;
	font-size: 0.95em;
	text-transform: capitalize;
	width: auto;
	white-space: nowrap;
    margin: 0;
    padding: 0.75em 1em;
}

.mod-menu__sub .nav-item:hover {
    background-color: rgba(23, 116, 162, 0.5);
}
ul.menu_hauptnavigation li ul li a {
	color: #FFF;
	text-decoration: none;
	float: none;
}

ul.menu_service {
	list-style: none;
	display: flex;
    justify-content: flex-start;
 	margin: 0 auto;
  	font-size: 0.9em;
    width: 100%;
}
ul.menu_service li {
	padding: 2px 3px;
}
/*ul.menu_hauptnavigation li:hover ul li a:hover {
	display: block;
	background-color: #FFF;
	color: #00a3e2;
}*/
/* Footer */

ul.menu_footer {
	float: left;
    font-weight: normal;
    color: #FFF;
    font-style: normal;
}
ul.menu_footer li, ul.menu_footer li a:link, ul.menu_footer li a:visited {
	float: left;
    font-size: 1.5em;
    text-align: left;
    font-weight: normal;
    color: #FFF;
    font-style: normal;
	text-decoration: none;
}
ul.menu_footer li a:hover {
	color: #FFF;	
}

/* K2 Definitionen */
.itemImageBlock, .catItemImageBlock {
	float: left;
	margin-left: 0;
}
.catItemImageBlock img{
	max-width: 100%;
}
.catItemIntroText {
	font-size: 1.05em;
}
.k2ItemsBlock ul {
	list-style: none;
	margin: 0;
	width: 100%;
	font-size: 0.95em;
}

.berichte .item-content p:has(img) {
    float: left;
    margin: 0 0.5em 0.5em 0;
}
.blog-item {
    clear: both;
}
.item-content p:has(img) {
    width: 39%
}
.items-leading .item-content p:has(img) {
    float: left;
    margin: 0 0.5em 0.5em 0;
}
.columns-1 {
    display: grid;
    grid-template-columns: 1fr;
}
.columns-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1em;
    p:has(img) {
        width: 100%;
        float: none;
        margin: 0 0 0.5em 0;
    }
}
.columns-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1em;
    p:has(img) {
        width: 100%;
        float: none;
        margin: 0 0 0.5em 0;
    }
}
.columns-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1em;
    p:has(img) {
        width: 100%;
        float: none;
        margin: 0 0 0.5em 0;
    }
}
.visually-hidden {
    display: none;
}

.k2ItemsBlock ul li {
	width: 32%;
	float: left;
	background-color: transparent;
	border: none;
	padding: 5px;
}
.k2ItemsBlock img {
	max-width: 99%;
	padding: 0 0 5px 0;
	clear: both;
  	margin: 0 auto;
	float: none;
}
.catItemReadMore {
	float: right;
	clear: both;
	background-color: #143f8f;
	font-size: 0.75em;
	padding: 2px;
	color: #FFF;
	letter-spacing: 0.02em;
}
.cat-children h3.item-title a {
    text-decoration: underline;
}
.catItemReadMore a:link, .catItemReadMore a:visited; .catItemReadMore a:hover {
	color: #FFF;
}

div.pagination {
	margin: 5px auto;
	width: 100%;
    clear: both;
}
div.pagination ul {
    text-align:center;
    margin: 5px auto;
    display: flex;
    justify-content: center;
    padding: 0;    
}
div.pagination ul li {
	display: block;
	margin-left: 4px;
	float: left;
	background-color: #00a3e2;
	color: #CCC;
	padding: 3px 5px;
	}
div.pagination ul li a {
	color: #FFF;
	}
.moduleItemIntroText {
	width: 100%;
}
/* JEvents */

.mod_events_latest_content {
	font-weight: bold;
}

/* RSS Feed Reader */
ul.srfrList {
	padding: 0;
	-webkit-padding-start: 0px;
	-webkit-margin-before: 0;
    -webkit-margin-after: 0;
    -webkit-margin-start: 0px;
    -webkit-margin-end: 0px;
}
ul.srfrList li {
	margin: 5px 0;
	padding: 0;
}
ul.srfrList h3 {
	font-size: 0.9em;
	margin: 0.4em 0;
	-webkit-margin-before: 0;
    -webkit-margin-after: 0;
    -webkit-margin-start: 0px;
    -webkit-margin-end: 0px;
}
ul.srfrList p {
	-webkit-margin-before: 0;
    -webkit-margin-after: 0;
    -webkit-margin-start: 0px;
    -webkit-margin-end: 0px;
	margin-bottom: 0.2em;
}
input {
	margin-bottom: 5px;
}

.blog {
	text-align: left;
}
.blog img {
	margin: 3px;
}
.published {
	font-size: 0.75em;
}
.readmore {
	float: right;
	font-size: 0.8em;
	font-weight: 600;
}
.readmore a {
  color: #143f8f;
}
.banneritem {
	float: left;
	margin-right: 10px;
}
.srfrRow h3, .srfrRow h3 a{
	font-weight: 400;
	color: #333;
}
ul.srfrList {
	margin-left: -10px;
}
.item-image img, div.item-image {
	width: 50%;
	padding: 0 5px 0 0;
}
.item-image img {
	width: 100%;
}
.pull-left, .pull-right {
	float: left;
}
.icon-calendar, .icon-chevron-right {
	display: none;
}
table.eventlist {
	font-size: 0.9em;
}
@media only screen and (max-width: 959px) {
	#headerImage {
		position: relative;
		height: 310px;
		width: 100%;
		max-width: 959px;
		padding: 0;
		top: 0px;
		overflow: hidden;
		z-index: 0;
	}
	
    .primaryContainer {
        width: 100%;
        max-width: 959px;
    }
    #Content {
        width: 100%;
        padding: 0px;
    }
	#ContentLinks {
        width: 66%;
        padding: 0px;
    }

    #Misc_Content {
        height: auto;
        width: 100%;
    }
	#Misc_ContentRechts {
        height: auto;
        width: 34%;
    }
    #Navigation {
        margin: 0;
        clear: both;
        width: 100%;
		max-width: 959px;
        padding: 10px;
    }
    
    #NewsletterText {
        height: auto;
        margin: 0px;
        clear: both;
        min-height: 0px;
        width: 100%;
    }

    #Form_2 {
        margin-top: 10px;
        margin-left: 0%;
        clear: both;
        width: 100%;
        height: auto;
        max-width: none;
        padding: 10px;
    }

    #Termine {
        margin-top: 0px;
        margin-left: 0%;
        clear: none;
        margin-right: 0%;
        width: 100%;
    }

    #Newsletter {
        margin-top: 0px;
        margin-left: 0%;
        clear: both;
        width: 100%;
    }

    #TermineText {
        margin-top: 10px;
        margin-left: 0%;
        clear: both;
        margin-right: 0%;
        width: 100%;
    }

    #NewstickerText {
        margin-top: 0px;
        margin-right: 0%;
        margin-left: 0%;
        clear: both;
    }
    #Headline {
        margin-top: 13px;
        margin-left: -0.74257426%;
        clear: both;
        margin-right: 0%;
        width: 100%;
    }

    #Text {
        margin-top: 7px;
        margin-left: -0.74257426%;
        clear: both;
        margin-right: 0%;
        width: 100%;
    }
    .box_misc_modul {
        float: left;
        height: auto;
        margin: 0px;
        clear: none;
        width: 33.3%;
        padding: 10px;
    }
	.k2ItemsBlock ul li {
	width: 32.9%;
	float: left;
}
.itemContainer {
	width: 33%;
}
div.catItemImageBlock {
		max-height: 170px;
	}
	#MiscContent .moduletable {
    float: left;
    height: auto;
    margin: 0px;
    clear: none;
    width: 33.3%;
    padding: 10px;
}
.k2ItemsBlock ul li {
	width: 33.3%;
}
.k2ItemsBlock ul li {
	width: 32.9%;
	float: left;
}
}
@media only screen and (max-width: 800px) {
	#headerImage {
		position: relative;
		height: auto;
		width: 100%;
		max-width: 800px;
		padding: 0;
		top: 0px;
		overflow: hidden;
		z-index: 0;
	}
	
    .primaryContainer {
        width: 100%;
        max-width: 800px;
    }
    #Content {
        width: 100%;
        padding: 0px;
    }
	#ContentLinks {
        width: 100%;
        padding: 0px;
    }

    #MiscContent {
        height: auto;
        width: 100%;
    }
	#MiscContentRechts {
        height: auto;
        width: 100%;
    }
	#MiscContentRechts .moduletable {
		float: left;
		width: 33%;
	}
    #Navigation {
        margin: 0;
        clear: both;
        width: 100%;
        padding: 10px;
    }
    #NewsletterText {
        height: auto;
        margin: 0px;
        clear: both;
        min-height: 0px;
        width: 100%;
    }

    #Form_2 {
        margin-top: 10px;
        margin-left: 0%;
        clear: both;
        width: 100%;
        height: auto;
        max-width: none;
        padding: 10px;
    }

    #Termine {
        margin-top: 0px;
        margin-left: 0%;
        clear: none;
        margin-right: 0%;
        width: 100%;
    }

    #Newsletter {
        margin-top: 0px;
        margin-left: 0%;
        clear: both;
        width: 100%;
    }

    #TermineText {
        margin-top: 10px;
        margin-left: 0%;
        clear: both;
        margin-right: 0%;
        width: 100%;
    }

    #NewstickerText {
        margin-top: 0px;
        margin-right: 0%;
        margin-left: 0%;
        clear: both;
    }
    #Headline {
        margin-top: 13px;
        margin-left: -0.74257426%;
        clear: both;
        margin-right: 0%;
        width: 100%;
    }

    #Text {
        margin-top: 7px;
        margin-left: -0.74257426%;
        clear: both;
        margin-right: 0%;
        width: 100%;
    }
    .box_misc_modul {
        float: left;
        height: auto;
        margin: 0px;
        clear: none;
        width: 33.3%;
        padding: 10px;
    }
	.k2ItemsBlock ul li {
		width: 32.9%;
		float: left;
	}
	.itemContainer {
		width: 33%;
	}
	div.catItemImageBlock {
		max-height: 170px;
	}
	#MiscContent .moduletable {
		float: left;
		height: auto;
		margin: 0px;
		clear: none;
		width: 33.3%;
		padding: 10px;
	}
	.k2ItemsBlock ul li {
		width: 33.3%;
	}
	.k2ItemsBlock ul li {
		width: 32.9%;
		float: left;
	}
}

@media only screen and (max-width: 480px) {
  ul.menu_hauptnavigation {
    margin: 0;
    padding: 0;
    line-height: 160%;
  }
  .cols-2 .span6 {
		width: 100%;
		float: left;
		padding: 5px;
	}
	p {
		font-size: 1em;
	}
	#Header {
		height: auto;
		margin-top: 21px;
		margin-bottom: 0;
		clear: none;
		width: 100%;
		max-width: 480px;
		padding: 0;
	}
	#headerImage {
		position: relative;
		height: auto;
		width: 100%;
		padding: 0;
		top: 0px;
		overflow: hidden;
		z-index: 0;
	}
	.primaryContainer {
        width: 100%;
        max-width: 480px;
    }
    #Content {
        width: 100%;
        padding: 0px;
    }
	#ContentLeft {
        width: 100%;
        padding: 0px;
    }

    #MiscContent {
        height: auto;
        width: 100%;
    }
	#MiscContentRight {
        height: auto;
        width: 100%;
    }
    #Navigation {
        margin: 0;
        clear: both;
        width: 100%;
        padding: 10px;
    }
   
	#MiscContent .moduletable, #MiscContentRight .moduletable {
		float: none;
		height: auto;
		margin: 0px;
		width: 100%;
		padding: 10px;
	}
	.item a img {
		width: 100%;
		height: auto;
  	}
}