::-moz-selection {
    background: #004c8f;
    color: #fff;
}

::selection {
    background: #004c8f;
    color: #fff;
}

.break1,
.break2,
#fb-link,
.hidden,
.hide-element,
.faq-container .cell.hidden {
    display: none !important;
    visibility: hidden !important;
}

.mobile {
    display: block !important;
    visibility: visible !important;
}


/*____Fonts___________________________________________________________________________*/


/* titillium-web-regular - latin */

@font-face {
    font-family: 'Titillium Web';
    font-style: normal;
    font-weight: 400;
    src: url('fonts/webfonts/titillium-web-v15-latin-regular.eot');
    /* IE9 Compat Modes */
    src: local(''), url('fonts/webfonts/titillium-web-v15-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('fonts/webfonts/titillium-web-v15-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
    url('fonts/webfonts/titillium-web-v15-latin-regular.woff') format('woff'), /* Modern Browsers */
    url('fonts/webfonts/titillium-web-v15-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
    url('fonts/webfonts/titillium-web-v15-latin-regular.svg#TitilliumWeb') format('svg');
    /* Legacy iOS */
}


/* titillium-web-600 - latin */

@font-face {
    font-family: 'Titillium Web';
    font-style: normal;
    font-weight: 600;
    src: url('fonts/webfonts/titillium-web-v15-latin-600.eot');
    /* IE9 Compat Modes */
    src: local(''), url('fonts/webfonts/titillium-web-v15-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('fonts/webfonts/titillium-web-v15-latin-600.woff2') format('woff2'), /* Super Modern Browsers */
    url('fonts/webfonts/titillium-web-v15-latin-600.woff') format('woff'), /* Modern Browsers */
    url('fonts/webfonts/titillium-web-v15-latin-600.ttf') format('truetype'), /* Safari, Android, iOS */
    url('fonts/webfonts/titillium-web-v15-latin-600.svg#TitilliumWeb') format('svg');
    /* Legacy iOS */
}


/* titillium-web-700 - latin */

@font-face {
    font-family: 'Titillium Web';
    font-style: normal;
    font-weight: 700;
    src: url('fonts/webfonts/titillium-web-v15-latin-700.eot');
    /* IE9 Compat Modes */
    src: local(''), url('fonts/webfonts/titillium-web-v15-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('fonts/webfonts/titillium-web-v15-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
    url('fonts/webfonts/titillium-web-v15-latin-700.woff') format('woff'), /* Modern Browsers */
    url('fonts/webfonts/titillium-web-v15-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
    url('fonts/webfonts/titillium-web-v15-latin-700.svg#TitilliumWeb') format('svg');
    /* Legacy iOS */
}

@font-face {
    font-family: 'icomoon';
    src: url('fonts/icomoon/icomoon.eot?cpppun');
    src: url('fonts/icomoon/icomoon.eot?cpppun#iefix') format('embedded-opentype'), url('fonts/icomoon/icomoon.woff2?cpppun') format('woff2'), url('fonts/icomoon/icomoon.ttf?cpppun') format('truetype'), url('fonts/icomoon/icomoon.woff?cpppun') format('woff'), url('fonts/icomoon/icomoon.svg?cpppun#icomoon') format('svg');
    font-weight: normal;
    font-style: normal;
}

[class^="icon-"],
[class*=" icon-"],
#lbCloseLink::before,
.subtemplate.blue2 a:after,
#lbNextLink:before,
#lbPrevLink:before,
ul li:before,
a.back:after,
.news-entry .txt-cell:after,
.agb .radio-button input[type="checkbox"]:checked+label::after {
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-instagram:before {
    content: "\e90d";
}

.icon-facebook:before {
    content: "\e90e";
}

.icon-in:before {
    content: "\e90f";
}

.icon-twitter:before {
    content: "\e910";
}

.icon-xing:before {
    content: "\e911";
}

.icon-brief:before {
    content: "\e900";
}

.icon-close:before {
    content: "\e901";
}

.icon-down:before {
    content: "\e902";
}

.icon-left:before {
    content: "\e903";
}

.icon-marker:before {
    content: "\e904";
}

.icon-menu:before {
    content: "\e905";
}

.icon-no:before {
    content: "\e906";
}

.icon-person:before {
    content: "\e907";
}

.icon-phone:before {
    content: "\e908";
}

.icon-right:before {
    content: "\e909";
}

.icon-rolle:before {
    content: "\e90a";
}

.icon-speech:before {
    content: "\e90b";
}

.icon-up:before {
    content: "\e90c";
}


/*______accessiblity_____________________________________________________________________________________________*/

p.seo-opt {
    position: absolute;
    left: -1000vw;
    top: -1000vh;
    color: #fff !important;
    background-color: #000 !important;
    margin: 0;
    padding: 0;
}

#skip-blocks {
    padding: 0;
    margin: 0;
}

#skip-blocks a {
    display: inline-block;
    color: #fff;
    font-size: 18px;
    background-color: #000;
    padding: 5px 10px;
    position: absolute;
    left: -9999px;
    top: -9999px;
}

#skip-blocks a:focus,
#skip-blocks a:hover {
    left: 0;
    top: 0;
    z-index: 999;
}

#skip-blocks a:hover {
    text-decoration: underline;
}


/*____Globals__________________________________________________________________________*/

html,
body {
    background-color: rgb(197, 196, 196);
    font-size: 16px;
    font-family: 'Titillium Web', sans-serif;
    color: rgb(48, 48, 48);
    line-height: 1.375;
    height: inherit;
    min-height: 100vh;
    margin: 0;
    min-width: 320px;
    padding: 0;
    width: 100%;
    position: relative;
    text-align: center;
}

body {
    max-width: 500px;
    text-align: left;
    display: inline-table;
    background-color: #ebebeb;
}

h1,
.ueberschrift .noscript {
    font-size: 24px;
    font-family: 'Titillium Web', sans-serif;
    color: rgb(0, 67, 130);
    font-weight: 700;
    line-height: 1.083;
    margin-top: 0;
}

h2,
h3,
.zwischen_ueberschrift,
.zwischen_ueberschrift2 {
    font-size: 20px;
    line-height: 1.4;
    font-weight: 700;
    color: rgb(0, 67, 130);
    margin-bottom: 10px;
}

h3,
.zwischen_ueberschrift2 {
    font-size: 18px;
    line-height: 1.188;
    margin: 0;
}

.fliesstext,
.template-text {
    font-size: 16px;
    color: rgb(51, 51, 51);
    line-height: 1.375;
    text-align: left;
}

.template-text .intro {
    font-size: 18px;
    line-height: 26px;
    text-align: left;
}

b,
strong {
    font-weight: 700;
}

ul {
    padding: 0;
    list-style: none;
    margin: 0;
}

li ul {
    padding: 0 0 5px 30px;
}

ol {
    padding: 0;
}

ul li {
    margin: 5px 0;
    position: relative;
    padding-left: 10px;
}

ul li:before {
    content: "\e909";
    font-size: 6px;
    padding-right: 6px;
    position: absolute;
    top: 13px;
    left: 0px;
    color: #004c8f;
    line-height: 0;
}

ol {
    counter-reset: item;
}

ol li {
    display: block
}

a,
.text a {
    cursor: pointer;
    text-decoration: none;
    color: #004c8f;
}

.template-text a:after {
    display: inline-block;
    width: 10px;
}

.template-text a:hover:after {
    font-size: 10px;
}

a:hover {
    text-decoration: none;
}

p {
    margin: 0;
    padding: 0;
}

hr {
    border: solid #ddd 1px;
    border-bottom: none;
    margin: 0;
    padding: 0;
}

.clear {
    clear: both;
    font-size: 0;
    height: 0;
    line-height: 0;
}

.center {
    margin: 0 auto;
}

.left {
    float: left;
}

.right {
    float: right;
}

*:focus {
    outline: none;
}

.aktiv .txt-block {
    background-size: 0px 0px !important;
}


/*______construction_____________________________________________________________________________________________*/

.noscript {
    padding: 15px;
    border: 2px solid #d60e47;
    border-radius: 5px;
    text-align: center;
}

#body-container {
    height: inherit;
    margin: 0;
    min-height: 100vh;
    overflow: hidden;
    padding: 0;
    position: relative;
    width: 100%;
    -webkit-overflow-scrolling: touch;
    top: 0px;
}

#main-container {
    height: inherit;
    position: relative;
    width: 100%;
    margin: 0 auto;
    min-height: 100vh;
}

#content-container {
    height: 0;
    min-height: 100vh;
    position: relative;
    width: 100%;
    max-width: 1920px;
    padding: 0;
    margin: 0 auto;
    display: table;
    table-layout: fixed;
    vertical-align: top;
    background-color: #f6f5f5;
}

#content-holder {
    position: relative;
    display: table-row;
    height: 100%;
    width: 100%;
    box-sizing: border-box;
    background-image: url(../grafiken/logo-cc-bg.png);
    background-repeat: no-repeat;
    background-position: right -5em top -1em;
    background-size: 100% auto;
}

#content {
    width: 100%;
    height: 100%;
    position: relative;
    box-sizing: border-box;
    text-align: left;
}

#site-cover {
    display: none;
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: 99990;
    left: 0px;
    top: 0px;
    background-color: rgba(0, 0, 0, 0.9);
}

.blocked,
.boxed {
    max-width: 1020px;
    margin: 0 auto;
    width: 100%;
    padding: 0 10px;
    box-sizing: border-box;
    position: relative;
}


/*______header_____________________________________________________________________________________________*/

#header {
    display: none;
}

.phone-button {
    height: 55px;
    width: 70px;
    position: absolute;
    left: 0px;
    top: 0;
    font-size: 28px;
    text-align: center;
    padding-top: 15px;
}

#headerlogo img {
    height: 50px;
    margin-top: 10px;
}

div.naviblock {
    display: table;
    table-layout: fixed;
    box-sizing: border-box;
    width: 100%;
}

.naviblock .cell {
    display: table-cell;
    width: 50%;
    position: relative;
    padding: 25px;
    cursor: pointer;
}

.naviblock .cell img {
    width: 90%;
    box-sizing: border-box;
    display: block;
    margin: 0 auto;
}

.right-cell .txt-block,
.right-cell .footer-block {
    background-image: url(../grafiken/right-bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    overflow: hidden;
}

.right-cell .footer-block {
    background-image: url(../grafiken/right-bg-footer.png);
}

.txt-block p {
    margin: 0 auto 40px;
    padding: 30px 10px 0;
    max-width: 630px;
}


/*______header_____________________________________________________________________________________________*/

#header {
    vertical-align: bottom;
    display: table-row;
    width: 100%;
    text-align: center;
    height: 70px;
    box-shadow: 0px 0px 50px 0px rgba(0, 0, 0, 0.1);
    background-color: #fff;
}

.headerimg {
    background-color: rgb(230, 234, 235);
}

.img-holder {
    position: relative;
}

.headerimg .boxed {
    padding: 0;
    overflow: visible;
}

.headerimg,
.headerimg img {
    display: block;
    width: 100%;
    height: auto;
    box-sizing: border-box;
    position: relative;
}

#logo-link {
    position: relative;
    display: block;
    height: 60px;
}

#logo-link img {
    height: 100%;
    width: auto;
    display: block;
    padding: 10px;
    box-sizing: border-box;
}


/*______breadcrumb_____________________________________________________________________________________________*/

#breadcrumb {
    margin-top: 15px;
}

.breadcrumb a {
    font-size: 14px;
    color: rgb(152, 152, 152);
    line-height: 1.571;
    text-align: left;
}

p.trennung {
    padding: 0 3px;
    display: inline-block;
    font-size: 15px;
    line-height: 1px;
}


/*______mainmenu_____________________________________________________________________________________________*/

#seitenauswahl {
    display: table;
    table-layout: fixed;
    box-sizing: border-box;
    width: 100%;
    height: 70px;
}

#seitenauswahl a {
    display: table-cell;
    text-align: center;
    background-color: #fff;
    height: 100%;
    width: 50%;
}

#seitenauswahl a.aktiv {
    background-color: #ebebeb !important;
    height: 100%;
}

#seitenauswahl a img {
    height: 50px;
    width: auto;
    margin-top: 10px;
    opacity: 0.4;
    -webkit-filter: grayscale(100%);
    /* Safari 6.0 - 9.0 */
    filter: grayscale(100%);
}

#seitenauswahl a.aktiv img {
    opacity: 1;
    -webkit-filter: grayscale(0%);
    /* Safari 6.0 - 9.0 */
    filter: grayscale(0%);
}

#menu-button {
    background-color: #fff;
    position: absolute;
    left: -70px;
    top: 0px;
    width: 70px;
    height: 70px;
    cursor: pointer;
    text-align: center;
}

#menu-button.open {
    background-color: #004382;
}

#menu-button span {
    font-size: 28px;
    position: relative;
    top: 20px;
    left: 1px;
    color: #004382;
}

#menu-button.open span {
    color: #fff;
}

#mainmenu-container {
    width: 100%;
    box-sizing: border-box;
    padding: 0 70px 0 0 !important;
    color: #fff;
    position: absolute;
    top: 0px;
    left: 100%;
    z-index: 99993;
    background-color: #fff;
    height: 100vh;
    text-align: left;
    padding: 0;
}

#mainmenu-holder {
    width: 100%;
    box-sizing: border-box;
    min-height: 100%;
    overflow: hidden;
    background-color: #303030;
}

#mainmenu-content-container {
    overflow: auto;
    position: relative;
    height: 100%;
    box-sizing: border-box;
    width: 100%;
}

#mainmenu-links {
    width: 100%;
    box-sizing: border-box;
    position: relative;
    padding: 0;
}

.container.open {
    background-color: rgb(0, 67, 130) !important;
}

.menucontainer .container {
    padding: 0 15px;
    background-color: #ebebeb;
}

.menucontainer .open .hm a {
    color: #fff !important;
}

.menucontainer .container .hm {
    border-bottom: 1px solid #fff;
}

.menucontainer .container .hm.aktiv,
.menucontainer .container.open .hm {
    border-bottom: 1px solid rgba(255, 255, 255, 0);
}

#kontaktmenu-holder .menucontainer .container {
    padding: 0;
}

#mainmenu-links:after {
    content: "";
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;
    height: 2px;
    z-index: 1;
    display: block;
    background-color: #fff;
}

#kontaktmenu-holder .hm,
#mainmenu-links .hm {
    display: block;
    padding: 20px 35px 20px 0px;
    position: relative;
}

#kontaktmenu-holder .hm,
#mainmenu-links .hm a {
    font-size: 22px;
    color: #000;
    font-weight: 700;
    line-height: 1.556;
    text-align: left;
    box-sizing: border-box;
}

.menu_nav {
    display: block;
    height: 30px;
    width: 30px;
    text-align: center;
    position: absolute;
    right: 0px;
    top: 15px;
    cursor: pointer;
}

.open .hm .menu_nav span {
    background-color: #fff;
    color: #004382;
}

.submenu {
    width: 100%;
    box-sizing: border-box;
    height: 0px;
    overflow: hidden;
    background-color: rgb(230, 234, 235);
    position: relative;
}

.submenu.open:before,
.submenu.moving:before {
    content: "";
    position: absolute;
    top: -1px;
    height: 2px;
    width: 100%;
    background-color: #fff;
    display: block;
}

.submenu .container {
    background-color: #fff;
    width: 100%;
    box-sizing: border-box;
    padding: 0 15px 0 12px;
    position: relative;
}

.submenu .container .menu_nav {
    top: 8px;
    color: #fff;
    text-align: center;
    position: absolute;
}

.submenu .container .menu_nav span {
    color: #004382;
    width: 100%;
    height: 100%;
    background-color: #ebebeb;
}

.submenu .container .menu_nav.passiv span {
    display: none;
}

.menu_nav span.icon-left {
    font-size: 15px;
    line-height: 2;
}

.submenu .sm {
    position: relative;
    padding: 8px 33px 8px 2px;
    border-bottom: 1px solid rgb(235, 235, 235);
}

.submenu .sm a {
    font-size: 18px;
    font-family: 'Titillium Web', sans-serif;
    color: rgb(48, 48, 48);
    line-height: 2.056;
    text-align: left;
    font-weight: 600;
}

.menu_nav span {
    color: #fff;
    position: relative;
    top: 4px;
    right: 0px;
    width: 30px;
    height: 30px;
    background-color: #004382;
    display: block;
    line-height: 3;
    font-size: 10px;
}

.subsubmenu {
    width: 100%;
    box-sizing: border-box;
    height: 0px;
    overflow: hidden;
}

.subsubmenu .container {
    padding: 10px 0 20px;
    margin: 0;
}

.submenu .subsubmenu .ssm a {
    text-align: left;
    padding: 5px 0 0px 40px;
    position: relative;
    display: block;
    font-size: 18px;
    font-family: 'Titillium Web', sans-serif;
    color: #000;
    line-height: 1.444;
    font-weight: normal;
}

.submenu .subsubmenu .ssm a.with_icon {
    margin-bottom: 8px;
}

.submenu .subsubmenu .ssm a img {
    position: absolute;
    left: 0;
    top: 4px;
}

.submenu .subsubmenu .ssm a span {
    position: absolute;
    left: 23px;
    top: 13px;
    font-size: 10px;
}

.submenu .subsubmenu .ssm span {
    font-size: 12px;
    padding-right: 5px;
}

#menu-footer {
    padding: 15px;
    background-color: #fff;
    position: relative;
    top: -1px;
}

#menu-footer a {
    text-decoration: none;
    margin: 0 5px;
    font-size: 16px;
    font-family: 'Titillium Web', sans-serif;
    color: rgb(48, 48, 48);
    text-transform: uppercase;
    line-height: 2.5;
    display: block;
}

#menu-footer h2 {
    font-size: 18px;
    color: rgb(177, 184, 188);
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1.556;
}

.social-link span {
    font-size: 12px;
    margin-left: 5px;
}

.social-link span.icon {
    font-size: 18px;
    position: relative;
    top: 2px;
    margin-right: 5px;
    margin-left: 0px;
    display: inline-block;
    width: 20px;
    text-align: center;
    color: #004382;
}

#menu-footer-dsgvo {
    background-color: rgb(48, 48, 48);
    box-shadow: 0px -10px 20px 0px rgba(0, 0, 0, 0.1);
    width: 100%;
    box-sizing: border-box;
    padding: 20px;
    text-align: center;
    position: relative;
}

#menu-footer-dsgvo:before {
    position: absolute;
    display: block;
    right: 0px;
    top: -46px;
    content: "";
    width: 0px;
    height: 0px;
    -webkit-transform: rotate(360deg);
    border-style: solid;
    border-width: 0 0 46px 46px;
    border-color: transparent transparent #303030 transparent;
}

#menu-footer-dsgvo:after {
    position: absolute;
    display: block;
    right: 0px;
    top: -46px;
    content: "";
    width: 0px;
    height: 0px;
    -webkit-transform: rotate(360deg);
    border-style: solid;
    border-width: 46px 46px 0 0;
    border-color: rgba(0, 0, 0, 0.15) transparent transparent transparent;
}

#menu-footer-dsgvo a {
    font-size: 16px;
    font-family: 'Titillium Web', sans-serif;
    color: rgb(152, 152, 152);
    line-height: 1.625;
    text-align: left;
    display: inline-block;
    margin: 0 5px;
}


/* content_____________________________________________________________________________________*/

a.button {
    background-color: rgb(255, 237, 4);
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.4);
    position: relative;
    font-size: 20px;
    font-family: 'Titillium Web', sans-serif;
    color: rgb(0, 67, 130);
    line-height: 1.818;
    text-align: center;
    padding: 10px 28px 10px 20px;
    margin-top: 30px;
    display: inline-block;
}

.eastbrand a.button {
    background-color: rgb(0, 67, 130);
    color: #fff;
}

.eastbrand .blue .template-text a.button {
    background-color: #fff;
    color: #0091d7;
}

a.button span {
    font-size: 8px;
    margin: auto;
    position: absolute;
    top: -999px;
    bottom: -999px;
    right: 15px;
    height: 8px;
    padding-left: 5px;
}

a.button:hover span {
    font-size: 12px;
    height: 12px;
    right: 11px;
}

.blue a.button {
    margin-bottom: 20px;
    color: #004382;
}

.blue a {
    color: #fff;
}


/* templates_____________________________________________________________________________________*/

.subtemplate {
    padding: 0px;
    margin: 0;
    margin-top: 15px;
}

.subtemplate.blue {
    background-color: rgb(0, 67, 130);
    /*box-shadow: 0px 0px 50px 0px rgba(0, 0, 0, 0.1);*/
    color: #fff;
    width: 100%;
    position: relative;
    left: -10px;
    border-left: 10px solid rgb(0, 67, 130);
    border-right: 10px solid rgb(0, 67, 130);
    /*auch in document-head.php anpassen*/
    padding: 10px 0 30px;
    margin-bottom: 20px;
}

.subtemplate.blue2 {
    background-color: rgb(0, 67, 130);
    color: #fff !important;
    width: 100%;
    position: relative;
    left: -10px;
    border-left: 10px solid rgb(0, 67, 130);
    border-right: 10px solid rgb(0, 67, 130);
    /*auch in document-head.php anpassen*/
    padding: 10px 0 15px;
    margin-bottom: 20px;
    box-shadow: 0px 0px 50px 0px rgba(0, 0, 0, 0.1);
}

.comedia-concept .subtemplate.blue2 {
    background-color: rgb(0, 145, 215);
    border-color: rgb(0, 145, 215);
}

.subtemplate.blue2 a {
    border: 1px solid #fff;
    color: #fff !important;
    display: inline-block;
    padding: 5px 20px 5px 12px;
    margin-top: 15px;
    position: relative;
    white-space: nowrap;
}

.subtemplate.blue2 a:hover {
    background-color: #fff !important;
    color: rgb(0, 145, 215) !important;
}

.eastbrand .subtemplate.blue2 a:hover {
    color: rgb(0, 67, 130) !important;
}

.subtemplate.blue2 a:after {
    content: "\e909";
    position: absolute;
    right: 5px;
    top: -999px;
    bottom: -999px;
    margin: auto 0;
    font-size: 10px;
    display: block;
    height: 10px;
}

.subtemplate.blue2:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 13px 13px 13px;
    border-color: transparent transparent #0091d7 transparent;
    position: absolute;
    top: -13px;
    left: 20px;
}

.eastbrand .subtemplate.blue2:after {
    border-color: transparent transparent rgb(0, 67, 130) transparent;
}

.subtemplate.blue:after {
    content: "";
    display: block;
    right: -14px;
    bottom: -3px;
    width: 44px;
    height: 44px;
    position: absolute;
    background-image: url(../grafiken/ecke_blau.png);
    background-repeat: no-repeat;
    background-size: cover;
}

.subtemplate.blue2 .text .template-text h3,
.subtemplate.blue2 .text .template-text .fliesstext,
.subtemplate.blue2 .text .template-text,
.subtemplate.blue .text .template-text h2,
.subtemplate.blue .text .template-text .fliesstext,
.subtemplate.blue .text .template-text {
    color: #fff !important;
}

.subtemplate.blue2 .text .template-text h3 {
    margin-bottom: 10px;
    font-size: 18px;
}

.subtemplate.blue2 .text .template-text {
    font-size: 16px !important;
}

hr {
    border: solid rgb(212, 212, 212) 1px;
    border-bottom: none;
    margin: 0;
    padding: 0;
}

.trenner hr {
    background-color: rgb(212, 212, 212);
    border-color: rgb(212, 212, 212);
}

.subtemplate.trenner {
    padding: 20px 0px;
    margin: 0;
}

.gallerytemplate,
.template-gallery {
    position: relative;
    margin-bottom: 15px;
}

.gallery,
.gallery .slick-list {
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
}

.slick-track .slick-slide {
    display: table-cell;
    height: 100%;
}

.navbar-inner {
    position: relative;
}

.template-img {
    position: relative;
    display: block;
    overflow: hidden;
    background-color: #ededed;
}

.template-img img {
    display: block;
    margin: 0 auto;
    height: 100%;
    width: auto;
    border: none;
    position: absolute;
    left: -999px;
    right: -999px;
}

.smallimage-text .template-img img,
.faq-container img {
    position: relative;
    left: 0;
    right: auto;
    width: 150px;
    height: auto;
    margin: 0;
}

.template-img img.spacer {
    display: block;
    width: 100%;
    height: auto;
    opacity: 0;
    position: relative;
    left: auto;
    right: auto;
    z-index: -1;
    max-height: 380px;
}

.caption {
    font-size: 14px;
    color: rgb(152, 152, 152);
    line-height: 1.429;
    text-align: left;
    margin-top: 10px;
    margin-bottom: 15px;
}

.product-list .subcategorie-container {
    margin-top: 20px;
    width: 101%;
    left: -0.5%;
    box-sizing: border-box;
    position: relative;
}

.product-list .subcategorie-container a {
    width: 18.5%;
    margin: 0.5%;
    display: inline-block;
}

.product-list .subcategorie-container a img {
    width: 100%;
    height: auto;
}


/*resize_____________________________________________________________________________________________________*/

.faq-container {
    margin: 15px 0;
    background-color: #fff;
    box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.1);
}

.faq-container .table {
    display: table;
    table-layout: fixed;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    position: relative;
}

.faq-container .cell {
    display: table-cell !important;
    text-align: left;
    vertical-align: top;
    position: relative;
    height: 100%;
}

.faq-container .cell.break1 {
    display: none !important;
}

.img-cell {
    width: 110px;
    position: relative;
}

.faq-container img {
    width: 100%;
    height: auto;
}

.faq-container .produktname {
    padding: 12px;
}

.faq-container .txt-cell {
    padding-bottom: 35px;
    cursor: pointer;
}

.faq-container h2 {
    margin: 0;
}

.faq-container .resize-button {
    font-size: 16px;
    color: rgb(152, 152, 152);
    line-height: 1.375;
    text-align: left;
    cursor: pointer;
    display: block;
    margin-top: 5px;
    position: absolute;
    bottom: 10px;
    left: 12px;
}

.faq-container .resize-button p {
    display: inline-block;
}

.faq-container .resize-button span {
    font-size: 5px;
    position: relative;
    top: -2px;
}

.faq-container .answer {
    background-color: #fff;
    padding: 0px;
}

.faq-container .answer .template-img,
.smallimage-text .template-img {
    background: none;
}

.smallimage-text .template-img {
    margin-bottom: 15px;
}

.akkordeon_container {
    height: 0;
    padding: 0;
    margin: 0;
    overflow: hidden;
    position: relative;
    z-index: 1;
}


/*______Formulare_____________________________________________________________________________________________*/

#warning,
.warning {
    border-color: #e61b6f;
    border-radius: 5px;
    border-style: solid;
    border-width: 1px;
    color: #e61b6f;
    display: none;
    margin-bottom: 20px;
    padding: 10px 20px;
    text-align: center;
    margin-top: 20px;
    background-color: #f3d4cc;
}

.green-info {
    color: green;
    border-color: green;
    background-color: #fff;
}

form.service {
    padding: 12px 0px 10px !important;
}

button::-moz-focus-inner {
    border: 0;
}

input[type="button"] {
    outline: none;
}

input[type="button"]:focus {
    border: 0;
    outline: 0;
}

.asterisk {
    color: #e61b6f;
    font-size: 14px;
    line-height: 75%;
    padding-left: 3px;
    vertical-align: top;
    position: absolute;
    right: 10px;
    top: 18px;
    z-index: 3;
}

.required {
    color: #e61b6f;
    border: 1px solid #e61b6f;
    font-weight: 400;
}

.radio-container {
    width: 100%;
    position: relative;
    display: block;
    margin-top: 15px;
    box-sizing: border-box;
}

.radio-button {
    width: inherit;
    margin: 0 20px 15px auto;
    box-sizing: border-box;
}

input[type="radio"],
input[type="checkbox"],
input.stadt {
    display: none;
    visibility: hidden;
}

input,
select,
textarea,
.secure {
    -moz-appearance: none;
    -webkit-appearance: none;
    -webkit-appearance: default-button;
    border: medium none;
    margin-top: 10px;
    width: 100%;
    padding: 0;
    background-color: #fff;
    height: 42px;
    font-family: 'Titillium Web', sans-serif;
    text-align: left;
    padding-left: 10px;
    box-sizing: border-box;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
    font-size: 18px;
    color: rgba(152, 152, 152, 0.6);
    line-height: 1.667;
    text-align: left;
}

::-webkit-input-placeholder {
    /* WebKit, Blink, Edge */
    color: rgba(152, 152, 152, 0.6);
}

:-moz-placeholder {
    /* Mozilla Firefox 4 to 18 */
    color: rgba(152, 152, 152, 0.6);
    opacity: 1;
}

::-moz-placeholder {
    /* Mozilla Firefox 19+ */
    color: rgba(152, 152, 152, 0.6);
    opacity: 1;
}

:-ms-input-placeholder {
    /* Internet Explorer 10-11 */
    color: rgba(152, 152, 152, 0.6);
}

::-ms-input-placeholder {
    /* Microsoft Edge */
    color: rgba(152, 152, 152, 0.6);
}

::placeholder {
    /* Most modern browsers support this now. */
    color: rgba(152, 152, 152, 0.6);
}

select.highlight {
    color: black;
}

textarea {
    padding-top: 10px;
}

input.filled,
select.filled,
textarea.filled {
    color: rgba(152, 152, 152, 1);
}

button {
    display: block;
}

button.clicked {
    opacity: 0.6;
    cursor: default;
}

.button {
    background-color: rgb(0, 145, 215);
    position: relative;
    width: auto;
    padding: 12px 20px;
    text-align: left;
    height: auto;
    display: inline-block;
    margin-top: 15px;
    cursor: pointer;
    border: none;
    font-size: 20px;
    font-family: 'Titillium Web', sans-serif;
    color: #fff;
    line-height: 1.688;
}

form.service button {
    margin-top: 0px;
}

form.service button span {
    font-size: 8px;
    margin-left: 5px;
    position: relative;
    top: -4px;
}

.radio-button input {
    width: 30px;
    height: 30px;
}

.radio-button label {
    cursor: pointer;
    min-height: 30px;
    left: 0px;
    top: 6px;
    min-width: 30px;
    border-radius: 15px;
    background-color: #fff;
    z-index: 1;
}

.radio-button label.required {
    border: 1px solid #e61b6f;
}

.radio-button label::after {
    content: "";
    height: 12px;
    opacity: 0;
    position: absolute;
    top: 9px;
    left: 9px;
    width: 12px;
    border-radius: 50%;
    background-color: #e61b6f;
    margin: auto;
}

.agb .radio-button {
    position: unset;
}

.agb .label_rb {
    margin-top: 2px;
    height: auto;
    padding-left: 40px;
}

.agb .radio-button label {
    background: none;
    width: 100%;
}

.agb label::after {
    content: "";
    background-color: #fff;
    opacity: 1;
}

.agb .required label::after {
    border: 1px solid #e61b6f;
}

.agb .required .label_rb {
    color: #000;
}

.agb .required {
    border: none;
}

.agb .radio-button input[type="checkbox"]:checked+label {
    background: none;
}

.agb .radio-button label::after {
    content: "";
    background-color: #fff;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    position: absolute;
    left: 0px;
    top: 0px;
    text-align: center;
    line-height: 1.8;
    font-size: 15px;
}

.agb .radio-button input[type="checkbox"]:checked+label::after {
    content: "\e901";
    line-height: 2;
}

.radio-button input[type="radio"]:checked+label,
.radio-button input[type="checkbox"]:checked+label {
    background-color: #fff;
}

[type="checkbox"]:not(:checked),
[type="checkbox"]:checked {
    position: absolute;
    left: -9999px;
}

.radio-button input[type="radio"]:checked+label::after,
.radio-button input[type="checkbox"]:checked+label::after {
    opacity: 1;
}

.label_rb {
    margin-top: 12px;
    height: 30px;
}

.selectfield {
    border: none !important;
}

.selectfield .label_rb {
    position: absolute;
    margin-top: 5px;
    margin-left: 40px;
    height: 30px;
    box-sizing: border-box;
    width: 200px;
}

.selection label.icon-down {
    position: absolute;
    right: 0px;
    top: 7px;
    color: #989898;
    /* background-color: rgb(245, 155, 0); */
    width: 30px;
    height: 40px;
    line-height: 50px;
    font-size: 5px;
    text-align: center;
    pointer-events: none;
}


/*______news_Startseite_____________________________________________________________________________________________*/

.news-index {
    padding-bottom: 30px !important;
    position: relative;
}

.news-index .slideable {
    display: block;
    /*table-layout: fixed;*/
    vertical-align: top;
    height: 100%;
    width: 100%;
    padding-right: 0;
    text-align: center;
    position: relative;
    margin-bottom: 0;
    overflow: hidden;
}

.slick-track {
    display: table;
    height: 100%;
    position: relative;
}

.slick-track .slick-slide {
    display: table-cell;
    height: 100%;
}

.slick-arrow {
    display: none !important;
    border: none;
    outline: none;
}

.news-index .slideable a {
    display: block;
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
}

.news-index .slideable .teaser_bottom a {
    background: none;
}

.news-index .slideable a:hover {
    text-decoration: none;
    color: #e51e09;
}

.news-index .teaser .no_slide {
    display: table-cell;
    padding-bottom: 30px;
}

.news-index .teaser .img div {
    position: relative;
}

.teaser .teaser_infos {
    display: table-row;
    overflow: hidden;
    position: relative;
}

.news-index .controls-container {
    width: 100%;
}

.news-index .ps-controls {
    margin-bottom: 10px;
    margin-top: 12px;
    text-align: center;
}

.news-index .ps-right,
.news-index .ps-left {
    display: none;
}

.news-index .tab-line {
    background-color: #f5f3f1;
}

.news-index .teaser {
    display: table;
    table-layout: fixed;
    width: 100%;
    box-sizing: border-box;
    background-color: rgb(255, 255, 255);
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    height: 100%;
    margin-bottom: 15px;
    /*border: solid 1px rgb(224, 225, 228);*/
}

.news-index .teaser .txt {
    min-height: inherit;
    padding-bottom: 10px;
}

.teaser_highlight {
    background: none;
}

.teaser_highlight .teaser_infos {
    background-color: #fff;
}

.teaser_highlight .red {
    padding-bottom: 0;
}

.teaser_infos {
    width: 100%;
    position: relative;
}

.teaser .img {
    width: 100%;
    height: 112px;
    overflow: hidden;
    text-align: center;
    vertical-align: middle;
    display: block;
}

.news-index .slider-box3 .teaser {
    max-width: 130px;
}

.news-index .slider-box3 .teaser .img_holder {
    overflow: hidden;
    width: 100%;
    height: 105px;
}

.news-index .slider-box3 .teaser .img img,
.news-index .slider-box3 .teaser .img {
    height: 105px;
}

.news-index .slider-box3 .teaser .img img {
    position: absolute;
    top: 0px;
    bottom: 0px;
    left: -999px;
    right: -999px;
    height: 105px;
    width: auto;
    margin: 0 auto;
    display: block;
    z-index: 1;
}

.news-index .slider-box3 .teaser .txt {
    padding: 10px;
    height: 100%;
    display: table-cell;
}

.teaser .img img {
    position: relative;
    height: 100%;
    width: auto;
    display: inline-block;
}

.teaser .txt_date,
.teaser_header .txt_date {
    font-size: 13px;
    line-height: 22px;
}

.teaser_headline {
    text-align: left;
    font-size: 16px;
    font-family: 'Titillium Web', sans-serif;
    color: rgb(48, 48, 48);
    line-height: 1.25;
    font-weight: 600;
}

.teaser .txt {
    padding: 10px 15px 40px;
    line-height: 1.715;
    text-align: left;
    min-height: 140px;
    font-size: 14px;
    font-family: 'Titillium Web', sans-serif;
    color: rgb(152, 152, 152);
}

.teaser .teaser_bottom {
    margin: 5px 20px 0;
    padding: 5px 0;
    position: absolute;
    bottom: 12px;
}

.teaser .teaser_bottom a {
    text-align: left;
    font-size: 16px;
    color: rgb(102, 102, 102);
    line-height: 1.375;
}

.teaser .teaser_bottom a:hover {
    color: #e51e09;
}

.teaser .teaser_bottom a span {
    font-size: 10px;
    position: relative;
    top: -1px;
    color: #e51e09;
}

.teaser_container .spacer {
    display: none;
}

.slider-box-head h2 a {
    font-size: 24px;
    font-family: 'Titillium Web', sans-serif;
    color: rgb(0, 67, 130);
    font-weight: 700;
    line-height: 1.667;
    text-align: center;
    display: block;
    margin-bottom: 20px;
}

.slider-box-head h2 a span {
    font-size: 10px;
    position: relative;
    top: -4px;
}

.to_all_link {
    font-size: 16px;
    font-family: 'Titillium Web', sans-serif;
    color: rgb(0, 67, 130);
    line-height: 1.25;
    position: relative;
    margin: 20px 0 30px;
    font-weight: 600;
}

.to_all_link span {
    font-size: 8px;
    position: relative;
    top: -2px;
    left: 2px;
}


/*______news_____________________________________________________________________________________________*/

.news-entry {
    background-color: rgb(255, 255, 255);
    position: relative;
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
    table-layout: fixed;
    margin-bottom: 14px;
    display: block;
    border-bottom: 1px solid rgb(230, 234, 235);
}

.news-entry .table {
    min-height: 80px;
    height: auto;
    display: table;
    table-layout: fixed;
    width: 100%;
    box-sizing: border-box;
}

.news-entry .img-cell {
    width: 80px;
    min-height: 80px;
    position: relative;
    overflow: hidden;
    vertical-align: top;
    display: table-cell;
}

.news-entry .img-cell .greyer {
    background-color: #e6eaeb;
    width: 70px;
    height: 70px;
}

.news-entry .img-cell img {
    display: block;
    position: absolute;
    width: auto;
    height: 100%;
    left: -999px;
    right: -999px;
    margin: auto;
}

.news-entry .txt-cell {
    padding: 0px 20px 10px 10px;
    position: relative;
    font-size: 16px;
    display: table-cell;
    color: rgb(48, 48, 48);
    line-height: 1.444;
    text-align: left;
}

.news-entry .txt-cell .date,
.date {
    font-size: 16px;
    color: rgb(152, 152, 152);
    line-height: 1;
    text-align: left;
    margin: 10px 0 5px;
}

.news-entry .txt-cell:after {
    display: inline-block;
    content: "\e909";
    position: absolute;
    right: 2px;
    top: 40%;
    color: #b6b6b6;
    font-size: 12px;
}

.news-entry .txt-cell h4 {
    margin: 0;
    color: #303030;
    font-weight: 600;
}

.news-entry:hover h4 {
    color: #004382;
}

.monatsname {
    font-size: 16px;
    color: rgb(102, 102, 102);
    font-weight: 600;
    line-height: 1.2;
    text-align: left;
    margin-bottom: 10px;
}

#show_more_entries {
    display: inline-block;
    cursor: pointer;
    margin-bottom: 20px;
}

#show_more_entries span {
    display: inline-block;
    width: 40px;
    height: 40px;
    background-color: rgb(0, 76, 143);
    position: relative;
}

#show_more_entries:hover span {
    background-color: rgb(0, 76, 143);
}

#show_more_entries span:before {
    color: #fff;
    position: absolute;
    left: 10px;
    top: 14px;
    font-size: 13px;
}

#show_more_entries p {
    font-size: 17px;
    color: rgb(0, 76, 143);
    font-weight: normal;
    line-height: 1.294;
    text-align: center;
}

#show_more_entries:hover p {
    color: #000;
}

.waiting {
    cursor: default;
    background-image: url(../grafiken/ajax-loader.gif) !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    width: 32px;
    height: 32px;
}

.waiting span,
.waiting p,
.waiting div {
    display: none !important;
}

a.back {
    font-size: 18px;
    color: rgb(152, 152, 152);
    line-height: 1.222;
    text-align: left;
    position: relative;
    padding-left: 12px;
    display: inline-block;
    margin-top: 5px;
    margin-bottom: 12px;
}

a.back:hover {
    color: rgb(0, 76, 143);
}

a.back:after {
    position: absolute;
    left: 0px;
    content: "\e903";
    font-size: 11px !important;
    top: 7px;
    padding-left: 0;
}

a.back:hover:after {
    color: rgb(0, 76, 143);
}

.subtemplate .news-img {
    margin-bottom: 12px;
}

.subtemplate .news-img .caption {
    padding-top: 5px;
}

.news-img-container .spacer {
    display: none;
}

.subtemplate .slider-box .news-img .template-img img {
    position: relative !important;
    left: 0 !important;
    right: 0 !important;
}

.subtemplate .slider-box .slick-list {
    width: 100%;
    padding: 0 !important;
}

.gallery {
    z-index: 1;
}


/* footer_____________________________________________________________________________________*/

#footer {
    background-color: rgb(0, 76, 143);
    color: #fff;
    text-align: center;
}

.footer-block {
    color: #fff !important;
    text-align: center;
}

.footer-block h2 {
    color: #fff !important;
    display: block;
    position: relative;
    font-size: 22px;
    margin-bottom: 20px;
}

.footer-block {
    padding: 10px;
    box-sizing: border-box;
    margin-top: 0px;
    position: relative;
}

.footer-block a {
    text-decoration: none;
    color: #fff;
    margin: 0 20px 10px;
    display: block;
    font-size: 18px;
}

.footer-links {
    display: inline-block;
    padding-bottom: 10px;
}

.footer-block .dsgvo-links {
    padding-bottom: 20px;
    padding-top: 10px;
}

.dsgvo-links a {
    font-size: 16px !important;
    font-family: 'Titillium Web', sans-serif;
    color: rgba(255, 255, 255, 0.302);
    line-height: 1.625;
    text-align: center;
    margin: 0 12px;
    display: inline-block;
}

.dsgvo-links a:hover {
    color: #fff;
}

.footer-block .dsgvo-links a.aktiv {
    background: none !important;
    color: #fff;
}