:root {
    --logo-color: #ffffff;
    --slogan-color: #ffffff;
    --logo-bg-color: #003c77;
    --slogan-bg-color: #004681;
    --headings-color: #004681;
    --links-color: #004681;
    --links-hover-color: #004681;
    --divider-color: #004681;

    --capacity-bg-color: #003c77;

    --subpage-main-heading-color: #00417c;
    --subpage-main-heading-bg-color: #e6edf2;

    --main-bg-color: #a6bed3;
    --sidebar-bg-color: #e6edf2;
    --sidebar-heading-underline-color: #80a3c0;

    --teaser-footer-bg-color: #004681;
    --teaser-headline-bg-color: #003c77;

    --image-main-bg: url('/theme/images/background.png?device=desktop&v=1750446521');
    --image-main-bg-webp: url('/theme/images/background.webp?device=desktop&v=1750446521');

    --image-line-bg: url('/theme/images/line.png?v=1750446521');
    --image-line-bg-webp: url('/theme/images/line.webp?v=1750446521');
    --image-line-bg-2x: url('/theme/images/line%402x.png?v=1750446521');
    --image-line-bg-webp-2x: url('/theme/images/line%402x.webp?v=1750446521');

    /* Farben, die nicht konfiguriert sind: */
    --footer-color: #ffffff;
    --footer-link-color: #ffffff;
    --footer-link-hover-color: #ffffffb2; /* ~ 0.7 transparent */
}



/* ================================ */
/* 	   	   	   Layout 				*/
/* ================================ */

nav-wrapper,
nav-wrapper-alignment,
section,
section-alignment {
    display: flow-root; /* creates new bfc for padding/margin inside*/
}

/* ---- footer ---- */
/* (layout logic only!!!) */

footer > section {
    padding: 1rem 0;
}
footer > section > section-alignment {
    padding: 1rem 2rem;
    text-align: center;
}
footer > section > section-alignment:first-child > div:last-child > div {
    margin-top: 2rem;
}
footer > section > section-alignment:first-child > div:last-child > div .map {
    margin: 0 auto;
}
@media (min-width: 768px) {
    footer > section > section-alignment:first-child {
        display: flex;
    }
    footer > section > section-alignment:first-child > div {
        flex: 1;

        text-align: left;
    }
    footer > section > section-alignment:first-child > div:last-child {
        flex: 0 0 300px;

        margin-top: 0;
        text-align: left;
    }
    footer > section > section-alignment:first-child > div:last-child > div {
        margin-top: 0;
    }
}




/* ================================ */
/* 	    Old style settings 			*/
/* ================================ */

/* Theme-2 */

body.theme-2 {
    background-image: none;
    background-color: #ffffff;
    color: #565656;

    font-family: 'Open Sans', sans-serif;
    font-size: 15px;
}
@media (min-width: 991px) {
            body.theme-2 {
            background-color: var(--main-bg-color);
            background-attachment: fixed;
            background-position: center top;
        }
    
        .no-webp body.theme-2,
    .no-js body.theme-2 {
        background-image: var(--image-main-bg);
    }
    .webp body.theme-2 {
        background-image: var(--image-main-bg-webp);
    }
    }

.theme-2 .main {
    background-color: #ffffff;

    -webkit-box-shadow: 0 0 25px 0 rgba(148,148,148,1);
    -moz-box-shadow: 0 0 25px 0 rgba(148,148,148,1);
    box-shadow: 0 0 25px 0 rgba(148,148,148,1);

    max-width: 1000px;
}

.theme-2 .maincontent,
.theme-2 .sidecontent {
    margin-top: 30px;
}
@media (max-width: 768px) {
    .theme-2 .homepage .maincontent {
        margin-top: 0;
    }
}

/*
 * ========================================================
 * Elements
 *
 */

/* contact */

#map {
    height: 300px;
    margin-bottom: 2em;
}

/* image gallery */

.theme-2 .bildergalerie {
    margin: 25px 0 15px 0;
}

.theme-2 .single-image {
    text-align: center;
}

.theme-2 .bildergalerie img {
    max-width: 100%;
    width: 180px;
    height: 180px;
}

.theme-2 .bildergalerie .single-image img {
    max-width: 100%;
    width: 400px;
    height: auto;
}

.theme-2 .single-image p {
    padding-top: 5px;
    font-size: 12pt;
}

.theme-2 .title-wrapper {
    display: table;
    width: 100%;
    height: 34px;
    margin-bottom: 10px;
    overflow: hidden;
}

.theme-2 .bildergalerie .title {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    color: #777;
    font-size: 9pt;
}

/* webkit - divider */

/* image */
webkit-module.WebkitDivider wk-body {
    background-position: top left;
    background-repeat: repeat-x;
    height: 45px;
}

.no-webp webkit-module.WebkitDivider wk-body,
.no-js webkit-module.WebkitDivider wk-body {
    background-image: url("/theme/images/line.png?v=1750446521");
}
.webp webkit-module.WebkitDivider wk-body {
    background-image: url("/theme/images/line.webp?v=1750446521");
}

@media screen and (-webkit-min-device-pixel-ratio: 2), screen and (min-resolution: 192dpi), screen and (min-resolution: 2dppx) {
    .no-webp webkit-module.WebkitDivider wk-body,
    .no-js webkit-module.WebkitDivider wk-body {
        background-size: auto 36px;
        background-image: url(/theme/images/line%402x.png?v=1750446521) !important;
    }
    .webp webkit-module.WebkitDivider wk-body {
        background-size: auto 36px;
        background-image: url(/theme/images/line%402x.webp?v=1750446521) !important;
    }
}

/*
 * ========================================================
 * Form
 *
 */
.theme-2 .form-control {
    border-radius: 0;
}
.theme-2 #contactform-verifycode {
    margin-top: .2em;
}
.theme-2 #contactform {
    margin-top: 1em;
}

.theme-2 .alert {
    border-radius: 0;
}
.theme-2 .alert-success,
.theme-2 .alert-warning,
.theme-2 .alert-danger,
.theme-2 .alert-info {
    background-image: none;
}

/*
 * ========================================================
 * Typo
 *
 */

.theme-2 .maincontent h1 {
    margin-top: 0;
}
.theme-2 .maincontent h1,
.theme-2 h2 {
    font-size: 15pt;
    font-weight: 300;
    line-height: 1.3em;
}

.theme-2 a {
    color: var(--links-color);
}
.theme-2 a:hover {
    color: var(--links-hover-color);
}

.theme-2 h1 {
    background-color: var(--subpage-main-heading-bg-color);
    color: var(--subpage-main-heading-color);
    padding: 15px;
}

/*.theme-2 h1,*/
.theme-2 h2 {
    color: var(--headings-color);
    font-weight: 400;
}

.theme-2 .text-muted a,
.theme-2 .text-muted a:hover {
    color: inherit;
}

/*
 * ========================================================
 * Head
 *
 */

.theme-2 .head {
    margin: 0 -15px 0 -15px;

    display: flex;
    flex-direction: column;

    background-color: var(--main-bg-color);

    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;

    background-image: url(/files/titleimage.jpg?v=1750446521) !important;
}

@media screen and (-webkit-min-device-pixel-ratio: 2), screen and (min-resolution: 192dpi), screen and (min-resolution: 2dppx) {
    .theme-2 .head {
        background-image: url(/files/titleimage@2x.jpg?v=1750446521) !important;
    }
}

.theme-2 .head {
    height: 440px;
}
.theme-2 .subpage .head {
    height: 260px;
}
@media (min-width: 768px) {
    .theme-2 .head {
        height: 530px;
    }
    .theme-2 .subpage .head {
        height: 300px;
    }
}

@media (min-width: 1000px) {
    .theme-2 .head {
        background-size: 100% auto;
    }
}


.theme-2 .title {
    text-align: center;
    padding: .5em 1em;

    margin-top: 40px;
}
@media (min-width: 415px) {
    .theme-2 .title {
        margin-top: 50px;
    }
}
@media (min-width: 768px) {
    .theme-2 .title {
        margin-top: 60px;
    }
}

.theme-2 .subpage .title {
    margin-top: 35px;
}
@media (min-width: 415px) {
    .theme-2 .subpage .title {
        margin-top: 40px;
    }
}
@media (min-width: 768px) {
    .theme-2 .subpage .title {
        margin-top: 35px;
    }
}

.theme-2 .info {
    margin-top: auto;

    color: #ffffff;
    text-align: center;
    font-size: 12pt;
    line-height: 1.5em;

    background-color: rgba(0, 60, 119, 0.8);
}
.theme-2 .info .capacity {
    padding: .8em 0 .6em 0;
}
@media (min-width: 768px) {
    .theme-2 .info {
        line-height: 2em;

    }
    .theme-2 .info .capacity > span {
        font-size: 15pt;
    }
}
/* trenner */
.theme-2 .info > div:last-child {
    height: 3em;
    margin-top: auto;

    background-position: top left;
    background-repeat: repeat-x;
    background-size: contain;
}
.no-webp .theme-2 .info > div:last-child,
.no-js .theme-2 .info > div:last-child {
    background-image: url("/theme/images/line.png?v=1750446521");
}
.webp .theme-2 .info > div:last-child {
    background-image: url("/theme/images/line.webp?v=1750446521");
}

@media screen and (-webkit-min-device-pixel-ratio: 2), screen and (min-resolution: 192dpi), screen and (min-resolution: 2dppx) {
    .no-webp .theme-2 .info > div:last-child,
    .no-js .theme-2 .info > div:last-child {
        background-image: url(/theme/images/line%402x.png?v=1750446521) !important;
        background-size: contain;
    }
    .webp .theme-2 .info > div:last-child {
        background-image: url(/theme/images/line%402x.webp?v=1750446521) !important;
        background-size: contain;
    }
}


/*
 * ========================================================
 * Logo
 *
 */
.theme-2 .logo-wrapper {
    height: 310px;

    display: flex;
    align-items: center;
    justify-content: center;

    text-align: center;
}
.theme-2 .subpage .logo-wrapper {
    height: 220px;
}
.theme-2 .logo-wrapper .logo {
    flex: 1;
}

/* slogan */
.theme-2 .logo-wrapper .logo > div:nth-child(2) {
    display: inline-block;

    margin: 15px 0 0 0;
    padding: .2em;

    color: var(--slogan-color);
    font-size: 13pt;
    background-color: rgba(0, 70, 129, 0.8);
}
@media (min-width: 415px) {
    .theme-2 .logo-wrapper .logo > div:nth-child(2)  {
        padding: .3rem 1em;
    }
}
.theme-2 .subpage .logo-wrapper .logo > div:nth-child(2)  {
    margin: 10px 0 0 0;
}

/* image logo */
.theme-2 .logo-wrapper.image {
    margin-top: 20px;
}
@media (min-width: 415px) {
    .theme-2 .subpage .logo-wrapper.image {
        margin-top: 30px;
    }
}
@media (min-width: 768px) {
    .theme-2 .subpage .logo-wrapper.image {
        margin-top: 0;
    }
}
@media (min-width: 992px) {
    .theme-2 .subpage .logo-wrapper.image {
        margin-top: 10px;
    }
}

/* image size control */
.theme-2 .logo-wrapper.image .logo img {
    max-height: 180px;
    max-width: 90%;
}
@media (min-width: 768px) {
    .theme-2 .logo-wrapper.image .logo img {
        max-height: 170px;
    }
}
@media (min-width: 992px) {
    .theme-2 .logo-wrapper.image .logo img {
        max-height: 200px;
    }
}
.theme-2 .subpage .logo-wrapper.image .logo img {
    max-height: 130px;
}
@media (min-width: 415px) {
    .theme-2 .subpage .logo-wrapper.image .logo img {
        max-height: 130px;
    }
}
@media (min-width: 768px) {
    .theme-2 .subpage .logo-wrapper.image .logo img {
        max-height: 130px;
    }
}

/* text logo */
.theme-2 .logo-wrapper.text {
    font-size: 36px;
    line-height: 1.1em;
}
.theme-2 .logo-wrapper.text .logo h1,
.theme-2 .subpage .logo-wrapper.text .logo span {
    color:  var(--logo-color);
    background-color: rgba(0, 60, 119, 0.8);

    display: inline-block;
    margin: .5em 0 0 0;
    /*padding: .3em .5em .2em .5em;*/
    line-height: inherit;
}
.theme-2 .subpage .logo-wrapper.text .logo span {
    padding: 1rem 2rem;
}

@media (min-width: 415px) {
    .theme-2 .logo-wrapper.text .logo span {
        margin: .5em 0 0 0;
    }
}

@media (min-width: 415px) {
    .theme-2 .subpage .logo-wrapper.text .logo span {
        margin: .5em 0 0 0;
    }
    .theme-2 .subpage .logo-wrapper.text .logo span a {
        /*font-size: 90%;*/
    }
}
@media (min-width: 768px) {
    .theme-2 .subpage .logo-wrapper.text .logo span {
        margin: .2em 0 0 0;
    }
}
@media (min-width: 992px) {
    .theme-2 .subpage .logo-wrapper.text .logo span {
        margin: .4em 0 0 0;
    }
}
.theme-2 .logo-wrapper.text .logo a {
    color: inherit;
}
.theme-2 .logo-wrapper.text .logo a:hover {
    color: inherit;
    text-decoration: underline;
}


/*
 * ========================================================
 * Logo Texteffekte
 *
 */

.effect-schatten-farbig {
    text-shadow: 004681 0.1em 0.1em 0.05em;
}

.effect-kontur {
    color: #ffffff !important;
    letter-spacing: .05em;
    text-shadow: -1px 0 004681, 0 1px 004681, 1px 0 004681, 0 -1px 004681;
}


/*
 * ========================================================
 * Navigation
 *
 */

.navigation {

    color: #fff;
    font-size: 12pt;
    text-align: center;
}
.navbar {
    /* 003c77 */
    background-color: rgba(0, 60, 119, 0.8);
    border-radius: 0;

    margin-bottom: 0;
}
@media (max-width: 768px) {
    .navbar {
        background-color: transparent;
    }
}
.navbar-absolute {
    position: absolute;
    top: 3em;
}
.navbar-nav {
    float: none;
    margin: 0 auto;
    padding: 0;
    display: table;
    table-layout: fixed;
}
.navigation li {
    float: none;
    display: inline-block;

    padding: 0 10px;
    margin: 0;
}
@media (max-width: 768px) {
    .navbar-nav {
        width: 100%;
    }
    .navigation li {
        background-color: rgba(0, 60, 119, 0.8);
    }
}
.navigation li a {
    line-height: 45px;
    padding: 0;

    color: inherit;
}
@media (max-width: 768px) {
    .navigation li {
        display: block;
    }
    .navigation li a {
        line-height: 2.5em;
    }
}
.nav > li > a:hover,
.nav > li > a:focus {
    background-color: transparent;

    color: inherit;
    text-decoration: underline;
}
.navbar-nav > li > a {
    text-shadow: none;
}

.navbar-toggle {
    background-color: rgba(0, 60, 119, 0.8);
    border-color: transparent;
    border-radius: 0;
    margin-right: 0;
    margin-top: 0;
}
.navbar-toggle .icon-bar {
    background-color: #fff;
}
.navbar-toggle .icon-bar + .icon-bar {
    margin-top: 6px;
}

/*
 * ========================================================
 * Sidebar
 *
 */
.theme-2 .sidebar {
    background-color: var(--sidebar-bg-color);
    margin: 0 -15px 0 -15px;
    padding: 1rem 20px;
}
@media (min-width: 992px ) {
    .theme-2 .sidebar {
        margin-right: 0;
    }
}
.theme-2 .sidebar h2 {
    border-color: var(--sidebar-heading-underline-color);
    border-bottom-width: 1px;
    border-bottom-style: solid;
    text-align: center;
    margin-bottom: 5px;
    margin-top: 1.5rem;
    font-size: 12pt;
}
.theme-2 .sidebar .trenner {
    height: 45px;
    margin: auto -20px;
    margin-bottom: 0.7em;
}
.theme-2 .sidebar webkit-module {
    margin-bottom: .9rem;
}



/* ================================ */
/* 	   	   	   Content 				*/
/* ================================ */

/* Bootstrap claanup */
footer {
    margin: 0 -15px;
}

/* ---- footer ---- */
/* (color + font only) */

footer {
    color: var(--footer-color) !important;
    font-weight: 300;
}
footer a, footer a:visited {
    color: var(--footer-link-color) !important;
}
footer a:hover, footer a:focus {
    color: var(--footer-link-hover-color) !important;
}
footer .name {
    display: inline-block;
    font-size: 1.3em;
    padding: 0 0 .6rem 0;
}
footer .phone {
    display: inline-block;
    font-size: 1.1em;
    padding: .6rem 0;
}
footer .social a, footer .social a:visited {
    border: 1px solid var(--footer-link-color);
    padding: 2px 9px;
    border-radius: 7px;
}
footer .social a:hover, footer .social a:focus {
    border-color: var(--footer-link-hover-color);
}
footer ul.social {
    display: inline;
    margin: 0;
    padding: 0;
}
footer .social li {
    display: inline;
    margin-left: .5em;
}

footer > section > section-alignment:last-child {
    font-size: .9em;
}

/* fullcolor rows */
footer {
    background-color: transparent;
}
footer > section {
    background-color: var(--teaser-footer-bg-color);
}


/* ================================ */
/* 	   	   	   Webkit 				*/
/* ================================ */

webkit-module.WebkitGuestbook .pagination > .active > a {
    background-color: var(--links-color);
    border-color: var(--links-color);
}
webkit-module.WebkitGuestbook .pagination > li:not(.active) > a {
    color: var(--links-color);
}