﻿/* 
    ------------------------------
    --- Basics to change from Bootstrap
    ------------------------------
*/

* { font-family: 'Open Sans', Arial, Verdana; }
b, strong { font-weight: 600 !important;}

html { font-size: 1rem; }
html.smaller {font-size: 0.9em;}
html.larger {font-size: 1.20em;}
html.largest {font-size: 1.20em;}

@media (max-width: 768px) {
    html { font-size: 0.9rem; }
    html.smaller {font-size: 0.8em;}
    html.larger {font-size: 1.1em;}
    html.largest {font-size: 1.2em;}
}

.marked-text { text-transform: uppercase; font-size: 0.9rem; font-weight: 700; letter-spacing: 1px; }
.text-normalized * {font-size: 1rem;}
.hiddenPanel { display: none; }



/* 
    ------------------------------
    --- Containers
    ------------------------------
*/

.page-content-body { margin-top: 50px;}
.page-content-body-start { margin-top: 0;}

.container.containerWide { max-width: 100% !important; }

@media (min-width: 1300px) {
    .container { max-width: 1280px; }
    .container.containerSlim { max-width: 850px; }
}
@media (min-width: 1200px) {
    .container.containerSlim { max-width: 850px; }
}
@media (min-width: 992px) {
    .container.containerSlim { max-width: 850px; }
}




/* 
    ------------------------------
    --- Header and menu
    ------------------------------
*/

/* Menü - Balken */
.sticky.is-sticky { position: fixed; left: 0; right: 0; top: 0; z-index: 100; width: 100%; }

.menu { transition: 0.2s; }
.menu .navbar-brand { padding-top: 0.32rem; padding-bottom: 0.32rem; }
.menu.affix { background-color: #ffffff; box-shadow: 0 0 55px 0 rgba(0, 0, 0, 0.8); }
.menu.affix a.navbar-brand img { transition: 0.3s; height: 40px; }

.navbar-nav li a { color: #ffffff; display: inline-block; font-size: 1.1rem; font-weight: 500; letter-spacing: 0.1rem; margin-bottom: 4rem; text-transform: uppercase; }
.menu.affix .navbar-nav li a { transition: 0.3s; color: #4d5256; margin-bottom: 0;  }

.navbar-expand .navbar-nav .nav-link { font-weight: 700; font-size: 0.9rem;letter-spacing: 1px; }
.navbar-expand .navbar-nav .nav-link-language { margin-right: 0; }
.navbar-expand .navbar-nav .nav-link-language img { width: 24px; }

.navbar-expand .navbar-toggler { display: block; }

@media (orientation: landscape) and (max-height: 425px) {
    .navbar-brand img {max-height: 30px !important;}
}

@media (max-width: 576px) {
    .navbar-brand { margin-top: 0.1rem; }
    .navbar-brand img { max-height: 60px; }
    
    .navbar-expand .navbar-nav { flex-direction: column; }
    .navbar > .container, .navbar > .container-fluid { align-items: normal; }
}


/* Menü - Overlay */
header div.menuOverlay { background: rgb(222,33,39); background: linear-gradient(45deg, rgba(222,33,39,1) 0%, rgba(136,8,15,0.9) 100%);  color: #ffffff; display: none; 
                        padding-top: 8rem; padding-bottom: 2rem; position: fixed;  top: 0; left: 0; right: 0; bottom: 0; z-index: 40; overflow-y: auto; }
header div.menuOverlay hr  { background-color: #ffffff; height: 1px; border: none; margin-top: 2rem; margin-bottom: 2rem; }

header div.menu-container { display: flex; flex-direction: row; flex-wrap: wrap; }
header div.menu-container nav.mainNavigation { flex-basis: 20%; }


@media (max-width: 576px) {
    header div.menuOverlay { position: absolute; overflow-y: auto; overflow-x: hidden; }
}

/* Menü - Hauptmenü */
header nav.mainNavigation ul { margin-left: 0; list-style-type: none; padding-left: 0; }
header nav.mainNavigation ul li { margin-left: 0; }
header nav.mainNavigation ul li ul { margin-left: 1rem; }
header nav.mainNavigation ul li ul li { font-size: 0.9rem; }

header nav.mainNavigation .SubMenuPoint { display: block; color: #ffffff; padding: 0.8rem; padding-top: 0.65rem; padding-bottom: 0.65rem; position: relative; cursor: pointer; }
header nav.mainNavigation ul li ul li a.SubMenuPoint { padding-top: 0.3rem; padding-bottom: 0.3rem; }

@media (max-width: 1024px) {
    header div.menu-container nav.mainNavigation {flex-basis: 33%; margin-bottom: 2rem; }
    header div.menuOverlay hr { margin-top: 0;}
    header nav.mainNavigation .SubMenuPoint { padding-top: 0.3rem; padding-bottom: 0.3rem; }
    header nav.mainNavigation ul li ul li a.SubMenuPoint { padding-top: 0.1rem; padding-bottom: 0.1rem; }
    .menuOverlay .address-information { padding-right: 15px !important; }
    .menuOverlay .additional { padding-left: 15px !important; }
}

header nav.mainNavigation a.hasSubMenu:not(.mainNavigationPoint):before { content: "\f078"; font-family: "Font Awesome 5 Pro"; font-size: 0.75rem; float: right; }
header nav.mainNavigation a.hasSubMenu:not(.mainNavigationPoint)[aria-expanded="true"]:before { content: "\f077"; }

header nav.mainNavigation .SubLevelMenuPoint { display: block; font-size: 0.9rem;  padding: 0.8rem; text-transform: none; }

header nav.mainNavigation a,
header nav.mainNavigation a:link,
header nav.mainNavigation a:visited,
header nav.mainNavigation a:hover,
header nav.mainNavigation a:active,
header nav.mainNavigation a.hasSubMenu,
header nav.mainNavigation a.hasSubMenu:link,
header nav.mainNavigation a.hasSubMenu:visited,
header nav.mainNavigation a.hasSubMenu:hover,
header nav.mainNavigation a.hasSubMenu:active { color: #ffffff; text-decoration: none; transition: 0.2s; }

header nav.mainNavigation a.active:link,
header nav.mainNavigation a.active:visited,
header nav.mainNavigation a.active:hover,
header nav.mainNavigation a.active:active { color: #ffffff;} /* Active states */

header nav.mainNavigation .mainNavigationPoint { display: block; font-size: 1.6rem; padding: 0.5rem; font-weight: 600; padding-left: 1.2rem; padding-right: 1.2rem; }
header nav.mainNavigation .SubMenuPoint,
header nav.mainNavigation ul li a { color: #FFFFFF; border-left: 1px solid transparent; padding-left: 1.2rem; padding-right: 1.2rem; }
header nav.mainNavigation ul li { font-size: 1rem;}
header nav.mainNavigation ul li a.active { border-left: 1px solid #ffffff;} /* Active states */

header nav.mainNavigation ul li a::after  { content: ''; display: block; width: 0; height: 1px; background: #ffffff; transition: width .3s; }
header nav.mainNavigation ul li a:hover::after { width: 100%; transition: width .3s;}




/* Menü - Responsive */
.menuResponsive { position: fixed; right: 0; left: 0; bottom: 0; z-index: 1040;}

@media (min-width: 769px) { .menuResponsive {display: none;} }
@media (max-width: 768px) { .menu .hideResponsive {display: none !important;} }

.menuResponsive .menuResponsiveContainer { background: rgba(222,33,39,1); background: linear-gradient(45deg, rgba(222,33,39,1) 0%, rgba(136,8,15,1) 100%);
                                           display: flex; flex-wrap: wrap; position: absolute; left: 0; right: 0; bottom: 0; z-index: 1050; }

.menuResponsive .menuResponsiveContainer .menuResponsiveItem { flex:1; border-top: 1px solid #ffffff; border-right: 1px solid #ffffff; position: relative; }
.menuResponsive .menuResponsiveContainer .menuResponsiveItem:last-child { border-right: none; }

.menuResponsive .menuResponsiveContainer .menuResponsiveItem a { display: block;  text-align: center; padding: 1rem; font-size: 1.6rem; color: #ffffff; cursor: pointer; }
.menuResponsive .menuResponsiveContainer .menuResponsiveItem a:link,
.menuResponsive .menuResponsiveContainer .menuResponsiveItem a:visited,
.menuResponsive .menuResponsiveContainer .menuResponsiveItem a:active,
.menuResponsive .menuResponsiveContainer .menuResponsiveItem a:hover { color: #ffffff; text-decoration: none; }
@media (min-width: 425px) { .menuResponsive .menuResponsiveContainer .menuResponsiveItem a  {font-size: 2rem; } }

@media (orientation: landscape) { .menuResponsive .menuResponsiveContainer .menuResponsiveItem a { padding: 0.5rem; font-size: 1.5rem; } }



.menuResponsive .menuResponsiveContainer .menuResponsiveItem span.info-bubble { background: #ffffff; color: #d1000a; padding-top: 1px; padding-right: 1px; height: 18px; width: 18px; 
                                                                                font-size: 0.7rem; text-align: center; border-radius: 50%; display: block; position: absolute; 
                                                                                top: 8px; right: 8px; vertical-align: middle; letter-spacing: -1px; font-weight: 600; }
.menuResponsive .menuResponsiveContainer .menuResponsiveItem span.info-bubble[data-articlecount="0"] { display: none; }


.menuResponsive .menuResponsiveList { overflow-y: auto; overflow-x: hidden; display: none; z-index: 1000; padding-top: 3rem; padding-bottom: 7rem; 
                                        position: fixed; right: 0; left: 0; bottom: 0; top: 0;
                                        background: rgba(222,33,39,1); background: linear-gradient(45deg, rgba(222,33,39,1) 0%, rgba(136,8,15,1) 100%);}


.menuResponsive .menuResponsiveList .mainNavigationPoint.hasSubmenu:before { content: "\f078"; font-family: "Font Awesome 5 Pro"; float: right; }
.menuResponsive .menuResponsiveList .mainNavigationPoint.hasSubmenu[aria-expanded="true"]:before { content: "\f077";}

.menuResponsive .menuResponsiveList .navbar-nav { margin: 15px; display: flex; flex-wrap: wrap; flex-direction: row; }
.menuResponsive .menuResponsiveList .navbar-nav li a { margin: 0; padding: 0; font-size: 1.1rem; font-weight: 400; }

.menuResponsive .menuResponsiveList .navbar-nav li:first-child {text-align: left; padding-left: 0.5rem;}
.menuResponsive .menuResponsiveList .navbar-nav li:nth-child(2) { text-align: right; padding-right: 0.5rem; }
.menuResponsive .menuResponsiveList .mainNavigationPoint { font-size: 1.5rem; }
.menuResponsive .menuResponsiveList .SubMenuPoint { text-transform: none; font-size: 1rem;}





/* 
    ------------------------------
    --- Carousel Slider
    ------------------------------
*/


.carousel { background-color: #2d2a28; }
.carousel ol.carousel-indicators {  max-width: 1240px; margin-left: auto; margin-right: auto; justify-content: start;}
.carousel ol.carousel-indicators li { width: 9px; height: 9px; border-radius: 50%;}

/* Controls */
.carousel-control-next:focus, 
.carousel-control-next:hover, 
.carousel-control-prev:focus, 
.carousel-control-prev:hover { opacity: 1;}

.carousel-control-next,
.carousel-control-prev { width: 7%;  z-index: 6; opacity: 1; border-radius: 10px; }

.carousel-main a.carousel-control-prev .carousel-control-prev-icon { background-image: url(../images/arrow_prev.png); width: 50px;  height: 50px; 
                                                                        box-shadow: none !important; border-radius: 10px; }
.carousel-main a.carousel-control-next .carousel-control-next-icon { background-image: url(../images/arrow_next.png); width: 50px; height: 50px; 
                                                                        box-shadow: none !important; border-radius: 10px; }

@media (max-width: 576px) {
    .carousel-control-next,
    .carousel-control-prev { width: 50%; align-items: flex-end; padding-bottom: 6rem; }
    .carousel-control-next { justify-content: flex-start; padding-left: 0.5rem; }
    .carousel-control-prev { justify-content: flex-end; padding-right: 0.5rem; }
    
    .carousel-main a.carousel-control-prev .carousel-control-prev-icon,
    .carousel-main a.carousel-control-next .carousel-control-next-icon { transform: scale(0.8);}
}


/* Items */
.carousel-main .carousel-item { overflow: hidden; background-size: cover; height: 100vh; }
.carousel-main .carousel-item div.container { position: relative; height: 100%; }
.carousel-main .carousel-item div.container div.slider-content { position: absolute; bottom: 60px; width: 65%; transition: 1s; opacity: 0; z-index: 10; }
.carousel-main .carousel-item h2 { color: #ffffff; font-weight: 800; font-size: 3.5rem; text-shadow: 2px 2px 15px rgba(0, 0, 0, 0.8); line-height: 3.8rem; margin-bottom: 3rem;}
.carousel-main .carousel-item h3 { color: #ffffff; font-weight: 600; font-size: 2.5rem; text-shadow: 2px 2px 15px rgba(0, 0, 0, 0.8); line-height: 2.8rem; margin-bottom: 2rem;}

.carousel-main .carousel-item .btn { background-color: rgba(0, 0, 0, 0.25); border: 2px solid #ffffff;  color: #ffffff;  text-align: center; text-transform: uppercase;
                                     letter-spacing: 1px; font-weight: 800;  font-size: 0.9rem; margin-bottom: 2rem; transition: 0.2s; border-radius: 10px;}
.carousel-main .carousel-item .btn:hover { border-color: #d1000a; background-color: #d1000a; color: #ffffff; box-shadow: 0px 0px 15px 0px rgba(209,0,10,0.8); }

@media (max-width: 768px) {
    .carousel-main .carousel-item div.container div.slider-content {  width: 100%; }
}
@media (max-width: 576px) {
    .carousel-main .carousel-item div.container div.slider-content { bottom: 10rem; }
}
@media (max-width: 450px) {
    .carousel-main .carousel-item h2 {font-size: 2.5rem; line-height: 3rem; margin-bottom: 1.5rem;}
    .carousel-main .carousel-item h3 {font-size: 2rem; line-height: 2.4rem;}
}
@media (max-width: 350px) {
    .carousel-main .carousel-item h2 {font-size: 1.9rem; line-height: 2.6rem;}
    .carousel-main .carousel-item h3 {font-size: 1.6rem; line-height: 2rem;}
}


/* Parallax */
.carousel-main .carousel-item div.parallax { position: absolute; z-index: 5; top: 0; right: 0; transition: 1s; opacity: 0; }
.carousel-main .carousel-item div.parallax img { position: relative; display: block; max-width: 100%; min-width: auto; margin-left: auto; max-height: 95vh; height: auto; min-height: auto;}

.page-content-body-start .carousel-main .carousel-item div.parallax { padding-top: 50px; }

@media (max-width: 1300px) { .carousel-main .carousel-item div.parallax { width: 1100px; }}
@media (max-width: 1200px) { .carousel-main .carousel-item div.parallax { width: 1000px; }}
@media (max-width: 768px) { .carousel-main .carousel-item div.parallax { width: 750px; }}
@media (max-width: 680px) { .carousel-main .carousel-item div.parallax { display: none; }}

/* Go down arrow */
.carousel-main .carousel-inner .go-down-arrow { position: absolute; bottom: 0; color: #ffffff; left:50%; text-align: center; font-size: 3.5rem; z-index: 30; }
.carousel-main .carousel-inner .go-down-arrow i { animation: grow 5s infinite; cursor: pointer; }



/* 
    ------------------------------
    --- Buttons
    ------------------------------
*/
.btn-primary {
    text-transform: uppercase;
    font-size: 0.9rem;
    line-height: 1.5rem;
    font-weight: 600;
    letter-spacing: 1px;
    padding: .375rem 1.5rem;
    border-radius: 10px;
}

.btn-primary,
.btn-secondary { background-color: #d1000a; border-color: #d1000a; }
.btn-lg { font-size: 1rem; letter-spacing: 2px; }

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary:not(:disabled):not(.disabled).active, 
.btn-primary:not(:disabled):not(.disabled):active, 
.show>.btn-primary.dropdown-toggle,
div#pnlExportTop .dropdown-item.active,
div#pnlExportTop .dropdown-item:active,
.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:active,
.btn-secondary:not(:disabled):not(.disabled).active, 
.btn-secondary:not(:disabled):not(.disabled):active, 
.show>.btn-secondary.dropdown-toggle{
    background-color: #d1000a !important;
    border-color: #d1000a !important;
    color: #ffffff;
}

.btn-primary.disabled, .btn-primary:disabled { background-color: #d1000a; color: #FFFFFF; border-color: #d1000a; }

.btn.focus,
.btn:focus { outline: 0; box-shadow: none !important; }

a.btn,
button.btn,
input[type="submit"].btn,
a.btn:link,
a.btn:visited,
a.btn:active {
    background-color: transparent;
    border: 1px solid #504e4b;
    border-radius: 10px;
    color: #504e4b;
    padding: 0.9rem;
    padding-left: 3rem;
    padding-right: 3rem;
    text-align: center;
    text-transform: uppercase;
    font-weight: 800;
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
    transition: 0.2s;
}

a.btn:hover,
button.btn:hover,
input[type="submit"].btn:hover,
a.btn:focus,
button.btn:focus,
input[type="submit"].btn:focus {
    border-color: #d1000a;
    background-color: #d1000a;
    color: #ffffff;
    box-shadow: 0px 0px 15px 0px rgba(209,0,10,0.8);
}


.btn.btn-sm { padding: .5rem 1.25rem; }
.btn.btn-xs { padding: .35rem 1rem; }


/* 
    ------------------------------
    --- Search and contact overlay
    ------------------------------
*/

div.translatorOverlay,
div.searchOverlay,
div.contactOverlay,
div.fontsizeOverlay { color: #ffffff; display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 40; overflow-y: auto;
                            background: rgba(222,33,39,0.9); background: linear-gradient(45deg, rgba(222,33,39,1) 0%, rgba(136,8,15,0.9) 100%);}
div.searchOverlay button.buttonSearch:hover,
div.searchOverlay button.buttonSearch:focus,
div.searchOverlay button.buttonSearch:active{ color: #d1000a;}


div.contactOverlay { padding: 20px; padding-top:15vh; padding-bottom:15vh; }
div.searchOverlay,
div.fontsizeOverlay { padding-top: 30vh; }
div.contactOverlay .container { padding-left: 0; padding-right: 0; width: 100%; max-width: 100%; }

div.searchOverlay form { display: flex; flex-wrap: wrap; }

div.searchOverlay .searchHeadline,
div.fontsizeOverlay .searchHeadline  { font-size: 3rem; font-weight: 800; color: #ffffff; }

@media (max-width: 768px) {
    div.searchOverlay .searchHeadline,
    div.fontsizeOverlay .searchHeadline { font-size: 2.5rem; }
}

div.searchOverlay input.textboxSearch {
    font-size: 1.5rem;
    letter-spacing: 1px;
    font-weight: 400;
    background-color: transparent;
    border: none;
    border-bottom: 2px solid #ffffff;
    padding-left: 1rem !important; 
    padding-right: 1rem !important;
    color: #ffffff;
    flex: 0 0 85%;
    max-width: 85%;
    padding-bottom: 0.5rem !important;
    padding-top: 0.5rem !important;
}

div.searchOverlay input.textboxSearch::placeholder {color: #ffffff;}
div.searchOverlay input.textboxSearch:hover,
div.searchOverlay input.textboxSearch:focus,
div.searchOverlay input.textboxSearch:active {outline: none;}

div.searchOverlay button {
    font-size: 2rem;
    letter-spacing: 3px;
    font-weight: 400;
    background-color: transparent;
    padding: 1rem;
    padding-left: 0.5rem !important; 
    padding-right: 0.5rem !important;
    color: #ffffff;
    flex: 0 0 10%;
    max-width: 10%;
    border: none;
    text-align: center;
}

div.searchOverlay button:hover,
div.searchOverlay button:focus,
div.searchOverlay button:active { outline: none; }

header .navbar-nav .nav-link-shop,
header .navbar-nav .nav-link-search,
header .navbar-nav .nav-link-translator,
header .navbar-nav .nav-link-fontsize { padding: .5rem .5rem; margin-bottom: 4rem;  margin-right: .5rem; position: relative; }
header .navbar-nav .nav-link-language { padding: .5rem; padding-bottom: .3rem; padding-top: 0.35rem;}

header .navbar-nav .nav-item.language .nav-link-language { margin-right: 0; padding-left: 0.2rem; padding-right: 0.2rem; }
header .navbar-nav .nav-item.language.language-last { margin-right: 0.8rem; }

header .navbar-nav a span.info-bubble { background: #d1000a; color: #ffffff; padding-top: 0; padding-right: 1px; height: 15px; width: 15px; font-size: 0.7rem; text-align: center;
                                        border-radius: 50%; display: block; position: absolute; top: 0; right: -2px; vertical-align: middle; letter-spacing: -1px; font-weight: 600; }
header .navbar-nav a span.info-bubble[data-articlecount="0"] { display: none; }

@media (max-width: 576px) {
    div.searchOverlay,
    div.fontsizeOverlay { padding-top:10vh; padding-bottom: 100vh;}
}

@media (max-height: 576px) and (orientation: landscape) {
    div.searchOverlay,
    div.fontsizeOverlay { padding-top:10vh; padding-bottom: 100vh;}
}


.language-selector-responsive { display: none; margin-bottom: 5rem;}
.language-selector-responsive ul { list-style-type: none; margin-left: 0; padding-left: 0; margin-top: 2rem; }
.language-selector-responsive ul li a img { width: 50px; filter: invert(100%) brightness(150%);}

@media (max-width: 768px) {
    .language-selector-responsive { display: block; }
}


/* 
    ------------------------------
    --- Font size selection
    ------------------------------
*/

.size-selection { max-width: 400px; display: flex; margin-top: 4rem; margin-bottom: 4rem; }

.size-selection .size { flex-basis: 33%; text-align: center; display: flex; flex-direction: column; align-content: flex-end; 
                        transition: 0.2s; padding-top: 0.8rem; padding-bottom: 1rem;}
.size-selection .size.active {  background: rgba(255,255,255, 0.4); }
.size-selection .size.active:hover,
.size-selection .size.active:focus { background: rgba(255,255,255, 0.5); }
.size-selection .size .size-symbol { flex-grow: 1; display: flex; align-items: flex-end; text-align: center; margin-bottom: 0.2rem;}
.size-selection .size .size-symbol span { width: 100%;}
.size-selection .size .size-symbol + span { display: block;}

.size-selection .size .size-smaller { font-size: 1.4rem; }
.size-selection .size .size-standard { font-size: 1.8rem;  }
.size-selection .size .size-larger { font-size: 2.2rem;  }
.size-selection .size .size-largest {font-size: 2.7rem;}


/* 
    ------------------------------
    --- Breadcrumb
    ------------------------------
*/

.breadcrumbs { margin-bottom: 2rem; }
.breadcrumbs span.breadcrumb-delimiter { font-size: 0.8rem; display: inline-block; margin-left: 0.5rem; margin-right: 0.5rem; }

.breadcrumbs .breadcrumb-menu { margin-bottom: 1rem; line-height: 0.6rem; }
.breadcrumbs .breadcrumb-menu a { display: inline-block;  padding-left: 0.25rem; padding-right: 0.25rem; line-height: 1.3rem; }
.breadcrumbs .breadcrumb-menu span.NoLink { display: inline-block; padding-left: 0.25rem;  padding-right: 0.25rem; }

.breadcrumbs .breadcrumb-menu,
.breadcrumbs .breadcrumb-menu a,
.breadcrumbs .breadcrumb-menu a:link,
.breadcrumbs .breadcrumb-menu a:visited,
.breadcrumbs .breadcrumb-menu a:active { color: #3c4959 !important; text-decoration: none !important; }
.breadcrumbs .breadcrumb-menu a:hover { text-decoration: underline !important; }

@media (min-width: 768px) {
    .breadcrumbs .breadcrumb-menu { margin-bottom: 2rem; }
}



/* 
    ------------------------------
    --- Content formatting
    ------------------------------
*/

/* Headlines */
h1, h2, h3, h4 { word-break: break-word !important; overflow-wrap: break-word !important; word-wrap: break-word; }

h1 { margin-bottom: 1.5rem; color: #504e4c; font-size: 3rem; font-weight: 800; letter-spacing: -1px; }
h2 { margin-bottom: 1.5rem; margin-top: 1.5rem; color: #504e4c; font-weight: 800; line-height: 2.2rem; font-size: 1.9rem; letter-spacing: -1px;}
h3,
footer .address-information p.headline { color: #504e4c; font-weight: 800; font-size: 1.6rem; margin-bottom: 1rem; margin-top: 0.5rem; line-height: 1.9rem; }
h4 { color: #504e4c; font-weight: 800; }
ol, ul { margin-left: 0; color: #4f4f4f; font-size: 1rem;}
p { color: #4f4f4f; font-size: 1rem; line-height: 1.6rem;}


table tr td, table tr th {color: #4f4f4f; }
table tr td p:last-child, table tr th p:last-child { margin-bottom: 0;}

table.table-noborder td,
table.table-noborder th { border-top: none;}

div.col_777676 h1, 
div.col_777676 h2,
div.col_777676 h3, 
div.col_777676 h4,
div.col_777676 h5, 
div.col_777676 h6,
div.col_777676 p, 
div.col_777676 ul li,
div.col_777676 ol li, 
div.col_777676 table tr td, 
div.col_777676 table tr th,
div.col_777676 div[data-form] input[type=text],
div.col_777676 div[data-form] input[type=date],
div.col_777676 div[data-form] input[type=number],
div.col_777676 div[data-form] input[type=time],
div.col_777676 div[data-form] select,
div.col_777676 div[data-form] select:focus,
div.col_777676 div[data-form] textarea,
div.col_777676 div[data-form] textarea:focus,
div.col_777676 div[data-form] select option,
div.col_777676 div[data-form] select:focus option,
div.col_777676 .collapsiblepanel .card .card-header .btn,
div.col_777676 .collapsiblepanel .card .card-header .btn:after,
div.col_4f4f4f h1, 
div.col_4f4f4f h2,
div.col_4f4f4f h3, 
div.col_4f4f4f h4,
div.col_4f4f4f h5, 
div.col_4f4f4f h6,
div.col_4f4f4f p, 
div.col_4f4f4f ul li,
div.col_4f4f4f ol li, 
div.col_4f4f4f table tr td, 
div.col_4f4f4f table tr th,
div.col_4f4f4f div[data-form] input[type=text],
div.col_4f4f4f div[data-form] input[type=date],
div.col_4f4f4f div[data-form] input[type=number],
div.col_4f4f4f div[data-form] input[type=time],
div.col_4f4f4f div[data-form] select,
div.col_4f4f4f div[data-form] select:focus,
div.col_4f4f4f div[data-form] textarea,
div.col_4f4f4f div[data-form] textarea:focus,
div.col_4f4f4f div[data-form] select option,
div.col_4f4f4f div[data-form] select:focus option,
div.col_4f4f4f .collapsiblepanel .card .card-header .btn,
div.col_4f4f4f .collapsiblepanel .card .card-header .btn:after { color: #4f4f4f; }
div.col_ffffff h1, 
div.col_ffffff h2,
div.col_ffffff h3, 
div.col_ffffff h4,
div.col_ffffff h5, 
div.col_ffffff h6,
div.col_ffffff p, 
div.col_ffffff ul li,
div.col_ffffff ol li, 
div.col_ffffff table tr td, 
div.col_ffffff table tr th,
div.col_ffffff div[data-form] input[type=text],
div.col_ffffff div[data-form] input[type=date],
div.col_ffffff div[data-form] input[type=number],
div.col_ffffff div[data-form] input[type=time],
div.col_ffffff div[data-form] select:focus,
div.col_ffffff div[data-form] textarea,
div.col_ffffff div[data-form] textarea:focus,
div.col_ffffff div[data-form] select option,
div.col_ffffff div[data-form] select:focus option,
div.col_ffffff div[data-form] .custom-checkbox label,
div.col_ffffff div[data-form] .custom-checkbox label a,
div.col_ffffff .btn,
div.col_ffffff .collapsiblepanel .card .card-header .btn,
div.col_ffffff .collapsiblepanel .card .card-header .btn:after { color: #ffffff !important;}
div.col_ffffff .btn {border-color: #ffffff;}
div.col_858382 h1, 
div.col_858382 h2,
div.col_858382 h3, 
div.col_858382 h4,
div.col_858382 h5, 
div.col_858382 h6,
div.col_858382 p, 
div.col_858382 ul li,
div.col_858382 ol li, 
div.col_858382 table tr td, 
div.col_858382 table tr th,
div.col_858382 div[data-form] input[type=text],
div.col_858382 div[data-form] input[type=date],
div.col_858382 div[data-form] input[type=number],
div.col_858382 div[data-form] input[type=time],
div.col_858382 div[data-form] select,
div.col_858382 div[data-form] select:focus,
div.col_858382 div[data-form] textarea,
div.col_858382 div[data-form] textarea:focus,
div.col_858382 div[data-form] select option,
div.col_858382 div[data-form] select:focus option,
div.col_858382 .collapsiblepanel .card .card-header .btn,
div.col_858382 .collapsiblepanel .card .card-header .btn:after { color: #858382;}
div.col_d1000a h1, 
div.col_d1000a h2,
div.col_d1000a h3, 
div.col_d1000a h4,
div.col_d1000a h5, 
div.col_d1000a h6,
div.col_d1000a p, 
div.col_d1000a ul li,
div.col_d1000a ol li, 
div.col_d1000a table tr td, 
div.col_d1000a table tr th,
div.col_d1000a div[data-form] input[type=text],
div.col_d1000a div[data-form] input[type=date],
div.col_d1000a div[data-form] input[type=number],
div.col_d1000a div[data-form] input[type=time],
div.col_d1000a div[data-form] select,
div.col_d1000a div[data-form] select:focus,
div.col_d1000a div[data-form] textarea,
div.col_d1000a div[data-form] textarea:focus,
div.col_d1000a div[data-form] select option,
div.col_d1000a div[data-form] select:focus option,
div.col_d1000a .collapsiblepanel .card .card-header .btn,
div.col_d1000a .collapsiblepanel .card .card-header .btn:after { color: #d1000a;}
div.col_504e4c h1, 
div.col_504e4c h2,
div.col_504e4c h3, 
div.col_504e4c h4,
div.col_504e4c h5, 
div.col_504e4c h6,
div.col_504e4c p, 
div.col_504e4c ul li,
div.col_504e4c ol li, 
div.col_504e4c table tr td, 
div.col_504e4c table tr th,
div.col_504e4c div[data-form] input[type=text],
div.col_504e4c div[data-form] input[type=date],
div.col_504e4c div[data-form] input[type=number],
div.col_504e4c div[data-form] input[type=time],
div.col_504e4c div[data-form] select,
div.col_504e4c div[data-form] select:focus,
div.col_504e4c div[data-form] textarea,
div.col_504e4c div[data-form] textarea:focus,
div.col_504e4c div[data-form] select option,
div.col_504e4c div[data-form] select:focus option,
div.col_504e4c .collapsiblepanel .card .card-header .btn,
div.col_504e4c .collapsiblepanel .card .card-header .btn:after { color: #504e4c;}

div.col_777676 .custom-control .custom-control-label::before,
div.col_4f4f4f .custom-control .custom-control-label::before { border-color: #4f4f4f;}


/* Container */
.container[data-type='MAINCONTENTCONTAINER'] { padding-bottom: 3rem; padding-top: 3rem; }
.container[data-type='MAINCONTENTCONTAINER'].containerCompact { padding-bottom: 2rem; padding-top: 2rem; }

@media (min-width: 768px) {
    .container[data-type='MAINCONTENTCONTAINER'] { padding-bottom: 5rem; padding-top: 5rem; }
}



/* Lists */
.container[data-type='MAINCONTENTCONTAINER'] ul {list-style-type: none;}
.container[data-type='MAINCONTENTCONTAINER'] ul li{ margin-bottom: 7px; line-height: 1.6rem; position: relative;}
.container[data-type='MAINCONTENTCONTAINER'] ul li:before { content: ""; background-image: url(../images/list-dot.png); width: 3px; height: 3px; color: #d1000a; 
                                                            position: absolute; font-weight: 700 !important; left: -18px; top: 10px; }

.container[data-type='MAINCONTENTCONTAINER'] ul li ul { margin-top: 8px; margin-bottom: 8px; position: relative;}
.container[data-type='MAINCONTENTCONTAINER'] ul li ul li:before { content: ""; color: #d1000a; position: absolute; font-weight: 700 !important; left: -18px; top: 10px; line-height: 1.6rem; }

.container[data-type='MAINCONTENTCONTAINER'] ol {list-style-type: decimal;}
.container[data-type='MAINCONTENTCONTAINER'] ol li{ margin-bottom: 7px; line-height: 1.6rem; position: relative; padding-left: 0.5rem;}

.container[data-type='MAINCONTENTCONTAINER'] ol li ol { margin-top: 8px; margin-bottom: 8px; position: relative;}


/* Links */
.container[data-type='MAINCONTENTCONTAINER'] a:not(.btn),
.container[data-type='MAPTEASER'] a:not(.btn) { transition: .2s; }

.container[data-type='MAINCONTENTCONTAINER'] a:not(.btn):link,
.container[data-type='MAINCONTENTCONTAINER'] a:not(.btn):visited,
.container[data-type='MAINCONTENTCONTAINER'] a:not(.btn):active { color: #d1000a; text-decoration: underline;}
.container[data-type='MAINCONTENTCONTAINER'] a:not(.btn):hover { color: #d1000a; text-decoration: none;}
.container[data-type='MAINCONTENTCONTAINER'] a.btn-secondary:focus,
.container[data-type='MAINCONTENTCONTAINER'] a.btn-secondary:hover{ background-color: #171715 !important; border-color: #171715 !important;}

.container[data-type='MAINCONTENTCONTAINER'] img,
.container[data-type='MAINCONTENTCONTAINER'] .imageContainer,
.container[data-type='MAINCONTENTCONTAINER'] .carousel { background-size: cover; }
.container[data-type='MAINCONTENTCONTAINER'] div[data-row-type="IMG"],
.container[data-type='MAINCONTENTCONTAINER'] div[data-row-type="SLIDER"],
.container[data-type='MAINCONTENTCONTAINER'] a[data-image-gallery-item] { margin-bottom: 1rem; }




@media (max-width: 768px) {
    
    h1 { font-size: 2.5rem;  }
    h2 { line-height: 2.2rem; font-size: 1.8rem;}

    p,
    .collapsiblepanel .card .card-header .btn,
    .container[data-type='MAINCONTENTCONTAINER'] table,
    .container[data-type='MAINCONTENTCONTAINER'] ul { font-size: 1.2rem;}
    
    .container[data-type='MAINCONTENTCONTAINER'] a.btn,
    .breadcrumbs .breadcrumb-menu { font-size: 1rem;}
}


/* Accordion */
.collapsiblepanel .card {border-radius: 10px;  background: none; margin-bottom: 0.5rem; border: 1px solid #504e4b; }
.collapsiblepanel .card h5 { margin-top: 2rem;  margin-bottom: 1.5rem;  text-align: center; }
.collapsiblepanel .card .card-header {  padding: 0; background-color: transparent;  border: 0;}

.collapsiblepanel .card .card-header .btn .accordion-icon img { max-height: 35px; margin-bottom: 0;}

.collapsiblepanel .card .card-header .btn { padding: .75rem 1.25rem;  display: block;  width: 100%; text-align: left; background-color: transparent;  border: 0; 
                                            text-transform: uppercase; font-weight: 600; font-size: 0.9rem; letter-spacing: 1px; margin-bottom: 0;}
.collapsiblepanel .card .card-header .btn:hover,
.collapsiblepanel .card .card-header .btn:focus { box-shadow: none; outline: none; color: #504e4b; }
.collapsiblepanel .card .card-header .btn:after { content: "\f078"; font-family: 'Font Awesome 5 Pro'; font-weight: 400; width: 1.8rem; height: 1.8rem; position: absolute;
                                                  right: 0.6rem; top: 0.6rem;  z-index: 0; text-align: center; padding-top: 2px; }
.collapsiblepanel .card .card-header .btn[aria-expanded="true"]:after { content: "\f077"; }


.collapsiblepanel .grouped-card { margin-bottom: 0;}
.collapsiblepanel .grouped-card:first-child { border-bottom-left-radius: 0; border-bottom-right-radius: 0; border-bottom: none; }
.collapsiblepanel .grouped-card:last-child { border-top-left-radius: 0; border-top-right-radius: 0;
}


/* 
    ------------------------------
    --- Custom Controls
    ------------------------------
*/

.custom-control .custom-control-label::before { border-color:#ffffff;  }
.custom-control .custom-control-input:checked~.custom-control-label::before { border-color: #d1000a; background-color: #d1000a;}

.custom-control-input:checked~.custom-control-label::before { border-color: #d1000a; background-color: #d1000a;}
.custom-control-input:focus~.custom-control-label::before { box-shadow: 0 0 0 0.2rem rgba(209, 0, 10, .15);}
.custom-control-input:not(:disabled):active~.custom-control-label::before { background-color: rgba(209, 0, 10,.15); border-color: #ecf4dc; }



/* 
    ------------------------------
    --- Timeline
    ------------------------------
*/

/* Switch */
.timeline-item { position: relative; }
.timeline-item.timeline-presentation-switch.timeline-item-left { text-align: right; padding-right: 3rem;}
.timeline-item.timeline-presentation-switch.timeline-item-right { text-align: left; padding-left: 3rem;}

.timeline-item.timeline-presentation-switch.timeline-item-left:before {
    content: ""; background-color: #d1000a; position: absolute; top: 13px; bottom: 0; right: -8px; 
    height: 18px; width: 18px; border-radius: 50%; transition: 0.2s; border: 2px solid #ededed; z-index: 2; }
.timeline-item.timeline-presentation-switch.timeline-item-right:before { 
    content: ""; background-color: #d1000a; position: absolute; top: 13px; bottom: 0; left: -10px; 
    height: 18px; width: 18px; border-radius: 50%; transition: 0.2s; border: 2px solid #ededed; z-index: 2; }

.timeline-item.timeline-presentation-switch.timeline-item-left.important:before {  right: -12px; height: 26px; width: 26px; }
.timeline-item.timeline-presentation-switch.timeline-item-right.important:before { left: -14px; height: 26px; width: 26px; }

.timeline-item.timeline-presentation-switch.timeline-item-left:hover:before,
.timeline-item.timeline-presentation-switch.timeline-item-right:hover:before {
    -webkit-box-shadow: 0px 0px 15px 0px rgba(209,0,10,0.8);  
    -moz-box-shadow: 0px 0px 15px 0px rgba(209,0,10,0.8);
    box-shadow: 0px 0px 15px 0px rgba(209,0,10,0.8);}

.timeline-item.timeline-presentation-switch.timeline-item-left:after { content: ""; border-right: 2px solid #d1000a; position: absolute; top: 0; bottom: 0; right: 0; z-index: 1; }
.timeline-item.timeline-presentation-switch.timeline-item-right:after { content: ""; border-left: 2px solid #d1000a; position: absolute; top: 0; bottom: 0; left: -2px; z-index: 1; }

.timeline-item.timeline-presentation-switch:first-child:after { top: 15px;}
.timeline-item.timeline-presentation-switch:last-child:after { bottom: auto; height: 15px;}

@media (max-width: 767px) {
    .timeline-item.timeline-presentation-switch { padding-bottom: 2rem;}
    .timeline-item.timeline-presentation-switch.timeline-item-left { text-align: left; padding-right: 0; padding-left: 3rem; }
    .timeline-item.timeline-presentation-switch.timeline-item-left:before { left: -10px; right: auto; }
    .timeline-item.timeline-presentation-switch.timeline-item-left.important:before { left: -14px; right: auto;}
    .timeline-item.timeline-presentation-switch.timeline-item-left:after { left: -2px; right: auto; border-left: 2px solid #d1000a; border-right: none; }
}

@media (max-width: 575px) {
    .row.timeline { margin-left: 1rem; margin-right: 1rem;}
    .timeline-item.timeline-presentation-switch.timeline-item-left { padding-left: 2rem;}
    .timeline-item.timeline-presentation-switch.timeline-item-right { padding-left: 2rem;}
    .timeline-item.timeline-presentation-switch:last-child { padding-bottom: 0;}
}

/* Straight */
.timeline-item.timeline-presentation-straight { text-align: center; margin-top: 1rem;}
.timeline-item.timeline-presentation-straight:before { content: "\f078"; font-family: 'Font Awesome 5 Pro'; font-size: 2rem; font-weight: 400; 
                                                      color: #d1000a; margin-bottom: 1.5rem; display: block; }
.timeline-item.timeline-presentation-straight.important:before { font-size: 2.5rem; font-weight: 600; }
.timeline-item.timeline-presentation-straight:first-child { margin-top: 0; }
.timeline-item.timeline-presentation-straight:first-child:before { display: none;}




/* 
    ------------------------------
    --- Custom Controls
    ------------------------------
*/

.custom-control .custom-control-label::before { border-color:#ffffff;  }
.custom-control .custom-control-input:checked~.custom-control-label::before { border-color: #d1000a; background-color: #d1000a;}

.custom-control-input:checked~.custom-control-label::before { border-color: #d1000a; background-color: #d1000a;}
.custom-control-input:focus~.custom-control-label::before { box-shadow: 0 0 0 0.2rem rgba(209, 0, 10, .15);}
.custom-control-input:not(:disabled):active~.custom-control-label::before { background-color: rgba(209, 0, 10,.15); border-color: #ecf4dc; }




/* 
    ------------------------------
    --- Posts
    ------------------------------
*/

@media (max-width: 576px) {
    section { margin-top: 1rem; }
}

section.poststeaser.event-post-box .row,
.event-list-box.event-post-box .row { flex-direction: column-reverse; }
section.poststeaser.event-post-box .row .col-6,
section.poststeaser.event-post-box .row .col-4,
section.poststeaser.event-post-box .row .col-8,
section.poststeaser.event-post-box .row .col-9,
section.poststeaser.event-post-box .row .col-3,
section.poststeaser.event-post-box .row .col-md-6,
section.poststeaser.event-post-box .row .col-md-4,
section.poststeaser.event-post-box .row .col-md-8,
section.poststeaser.event-post-box .row .col-md-9,
section.poststeaser.event-post-box .row .col-md-3,
.event-list-box.event-post-box .row .col-6,
.event-list-box.event-post-box .row .col-4,
.event-list-box.event-post-box .row .col-8,
.event-list-box.event-post-box .row .col-9,
.event-list-box.event-post-box .row .col-3,
.event-list-box.event-post-box .row .col-md-6,
.event-list-box.event-post-box .row .col-md-4,
.event-list-box.event-post-box .row .col-md-8,
.event-list-box.event-post-box .row .col-md-9,
.event-list-box.event-post-box .row .col-md-3 { width: 100%; flex: 0 0 100%; max-width: 100%;}

section.poststeaser.event-post-box.hide-images img,
section.poststeaser.event-post-box.hide-images .imageContainer,
.event-list-box.event-post-box.hide-images img,
.event-list-box.event-post-box.hide-images .imageContainer  { display: none;}

.event-list-box .more-information-link { color: #d1000a; text-decoration: underline; cursor: pointer; font-weight: 800 !important; text-transform: uppercase; font-size: 0.9rem;}
.event-list-box .more-information-link b {  font-weight: 800 !important;  }
.event-list-box a,
.event-list-box a:link,
.event-list-box a:visited,
.event-list-box a:active { color: #d1000a; text-decoration: underline; }
.event-list-box a:hover,
.event-list-box a:focus { color: #d1000a; text-decoration: none; }

section span.news-anchor { font-weight: 800; text-transform: uppercase; font-size: 0.9rem; }
section span.news-anchor a,
section span.news-anchor a:link,
section span.news-anchor a:visited,
section span.news-anchor a:active { transition: 0.2s; text-decoration: none; }
section span.news-anchor a:hover,
section span.news-anchor a:focus { text-decoration: underline; }

section.poststeaser a { font-weight: 800; text-transform: uppercase; font-size: 0.9rem; }
section.poststeaser a,
section.poststeaser a:link,
section.poststeaser a:visited,
section.poststeaser a:active { transition: 0.2s; text-decoration: none; }
section.poststeaser a:hover,
section.poststeaser a:focus { text-decoration: underline; }

section.poststeaser a b, 
section.poststeaser a strong { font-weight: 800 !important;}

p.news-show-all { text-transform: uppercase; font-weight: 600; font-size: 1.2rem; text-align: center; margin-top: 1.5rem; }
p.news-show-all a,
p.news-show-all a:link,
p.news-show-all a:visited,
p.news-show-all a:active { color: #d1000a; text-decoration: underline;}
p.news-show-all a:hover { color: #d1000a; text-decoration: none;}

.postsCategoryTeaser .poststeaserColumn {display: flex; padding-right: 25px; padding-left: 25px; }
.postsCategoryTeaser .poststeaserColumn h2 { margin-top: 0.5rem; margin-bottom: 0.5rem; }
.postsCategoryTeaser .poststeaserColumn section.poststeaser { width: 100%; }
.postsCategoryTeaser .poststeaserColumn section.poststeaser div[data-row-type="IMG"] + div.row div div[data-type="HTMLCONTENT"] p { margin-bottom: 0;}


/* Anpassungen für Masonry - Breite wird bei kurzen Texten sonst nicht korrekt berechnet, resultiert in zu schmalen (eigentlich 100% breiten) Grafiken */
@media (min-width: 769px){
    .masonry .poststeaserColumn.col-md-4 .imageContainer.small { width: 200px; }
}
@media (min-width: 1025px){
    .masonry .poststeaserColumn.col-md-4 .imageContainer.small { width: 300px; }
}
@media (min-width: 1280px){
    .masonry .poststeaserColumn.col-md-4 .imageContainer.small { width: 345px; }
}
@media (min-width: 1300px){
    .masonry .poststeaserColumn.col-md-4 .imageContainer.small { width: 376px; }
}

@media (max-width: 576px) {
    .postsCategoryTeaser .poststeaserColumn { padding-left: 15px; padding-right: 15px;}
    .postsCategoryTeaser .poststeaserColumn div.row div h2,
    .postsCategoryTeaser .poststeaserColumn div.row div h3,
    .postsCategoryTeaser .poststeaserColumn div.row div h4,
    .postsCategoryTeaser .poststeaserColumn div.row div h5,
    .postsCategoryTeaser .poststeaserColumn div.row div h6,
    .postsCategoryTeaser .poststeaserColumn div.row div p { padding-left: 0; padding-right: 0; }
    .postsCategoryTeaser .poststeaserColumn span.news-anchor { padding-left: 0; padding-right: 0; position: relative; display: block;}
}



/* 
    ------------------------------
    --- Footer and scroll-to-top arrow
    ------------------------------
*/

footer { background: rgb(62,59,57); background: linear-gradient(180deg, rgba(48,46,44,1) 0%, rgba(62,59,57,1) 100%); }
footer h2 {
    font-size: 1.6rem;
    line-height: 1.9rem;
    margin-top: 0.5rem;
}
footer h2, footer h3, footer p {
    color: #858382;
}


footer .emblem { position: absolute; left: 50%; transform: translateX(-50%); padding-right: 30px;}

footer .footer-base { color: #858382; padding-top: 5rem; padding-bottom: 5rem; position: relative;  }
footer .footer-base .menu{ padding-top: 6.2rem;}
footer .footer-base .additional { padding-top: 3.5rem;}
footer .row .row { margin-left: 0;  margin-right: 0; }

@media (min-width:1200px) {
    footer .footer-base .menu {-ms-flex: 0 0 12%; flex: 0 0 12%; max-width: 12%;}
    footer .footer-base .additional {-ms-flex: 0 0 37.9%; flex: 0 0 37.9%; max-width: 37.9%;}
}

@media (max-width:1024px) and (min-width:990px) {
    footer .footer-base .menu { padding-top: 8rem; }
    footer .footer-base .menu .form-row { display: block;}
    footer .footer-base .menu .form-row .col-12 { max-width: none; flex: 0; width: 100%; }
}
@media (max-width:990px) {
    footer .emblem { left: auto; transform: none; right: -10px; top: 11rem; padding-right: 0; }
    footer .footer-base { padding-bottom: 3rem; }
    footer .footer-base .additional,
    footer .footer-base .menu { padding-top: 3rem; }
    footer .address-information .address-container { border-right: none !important; }
    footer .footer-base .menu .form-row .col-12 { max-width: none; flex: 0; width: auto;}
}
@media (max-width: 768px) {
    footer .address-information { padding-right: 2rem; }
}
@media (max-width: 576px) {
    footer .emblem { top: 9rem; right: 0;}
    footer .address-information { padding-right: 5rem; }
    footer .footer-base .menu { padding-top: 2rem;}
}
@media (max-width: 525px) {
    footer .emblem { top: 11rem; right: 15px;}
}
@media (max-width:425px) {
    footer .emblem { transform: scale(0.8);}
    footer .address-information { padding-right: 15px; }
    footer .footer-base { padding-bottom: 3rem; }
}



/* Footer Menü */
footer .footer-base .menu a { font-size: 1rem; text-transform: uppercase; font-weight: 700; display: block; margin-bottom: 0.8rem; letter-spacing: 1px;}
footer .footer-base .menu a,
footer .footer-base .menu a:link,
footer .footer-base .menu a:visited { color: #858382; text-decoration: none; }
footer .footer-base .menu a:hover,
footer .footer-base .menu a:focus,
footer .footer-base .menu a:active { color: #f6f6f6; text-decoration: none; }

footer .footer-base .additional a { display: inline-block; margin-bottom: 0.8rem; }

@media (max-width:1024px) {
    footer .footer-base .menu a { margin-bottom: 0.8rem; display: inline-block; margin-right: 1rem; }
}
@media (max-width:768px) {
    footer .footer-base .additional { padding-top: 2rem; text-align: center; }
    footer .footer-base .address-information .address-container { border-right: none; }
}
@media (max-width:425px) {
    footer .footer-base { padding-bottom: 2rem;}
    footer .footer-base .menu a { margin-bottom: 1rem;}
    footer .footer-base .additional { padding-top: 2rem; text-align: center;}
    footer .footer-base .address-information .address-container { border-right: none; }
    footer .footer-base .address-information .address-container .address-row { display: block; margin-bottom: 0;}
    footer .footer-base .address-information .address-container .address-row .address-descriptor { width: auto; }
    footer .footer-base .address-information .address-container .address-row .address-content { width: auto; margin-bottom: 1rem;}
}


/* Copyright */
footer .copyright { text-align: center; color: #858382; font-size: 0.9rem; padding-top: 0.5rem; padding-bottom: 0.5rem; }
footer .copyright .copyright-delimiter { display: inline-block; padding-left: 0.5rem; padding-right: 0.5rem; }

@media (max-width:425px) {  footer .copyright .copyright-delimiter { display: block; font-size: 0; }}

footer .copyright a,
footer .copyright a:link,
footer .copyright a:visited { color: #858382; text-decoration: none; }
footer .copyright a:hover,
footer .copyright a:focus,
footer .copyright a:active { color: #f6f6f6; text-decoration: none; }


/* Footer Logo Carousel */
footer .image-carousel-container { padding-top: 1rem; padding-bottom: 1rem; }


/* Go to Top - Pfeil nach oben */
.go-to-top-container { position: absolute; z-index: 5; right: 0; top: 5rem; }
.go-to-top { background-image: url(../images/icn_top.png); background-repeat: no-repeat; width: 30px; height: 17px; cursor: pointer; display: block; }

@media (max-width: 576px) { .go-to-top { width: 3rem; height: 3rem; } }
@media (max-width: 525px) { .go-to-top-container { right: 15px; } }
@media (max-width: 425px) { .go-to-top-container { right: 1rem; top: 3rem; } }





footer a,
footer a:link,
footer a:visited,
footer a:hover,
footer a:active { color: #ffffff; text-decoration: none; }

@media (max-width: 576px) {
    footer {padding-bottom: 5rem;}
    footer .row > div { margin-bottom: 3rem; }
    footer .row > div.col-12 { margin-bottom: 0; }
    footer .row > div:last-child { margin-bottom: 0; }
    footer .row > div img.img-fluid { max-width: 70%; margin-bottom: 1rem; }
}

@media (max-width: 425px) and (orientation: portrait) {
    footer {padding-bottom: 4.5rem;}
    footer .text-right { text-align: center !important;}
}

footer .owl-carousel { -webkit-mask-image: linear-gradient(to right, rgba(44,42,40,0) 0%,rgba(44,42,40,1) 10%,rgba(44,42,40,1) 90%,rgba(44,42,40,0) 100%);
    mask-image: linear-gradient(to right, rgba(44, 42, 40, 0) 0%, rgba(44, 42, 40, 1) 10%, rgba(44, 42, 40, 1) 90%, rgba(44, 42, 40, 0) 100%);}
footer .owl-carousel .image-carousel-item { padding-top: 2rem; padding-bottom: 2rem;}
footer .owl-carousel .image-carousel-item p { margin-bottom: 0; }
footer .owl-carousel .owl-item  { text-align: center;}
footer .owl-carousel .owl-item img { width: auto; max-height: 65px; max-width: 100%; opacity: 0.5; margin-left: auto; margin-right: auto;}
footer .owl-carousel .owl-item img:hover { opacity: 1;}

footer .owl-carousel-container { position: relative;}
footer .owl-carousel-container .owl-nav-button { cursor: pointer; width: 50px; height: 50px; position: absolute; display: block; top: 3.5rem; z-index: 3; transform: scale(0.8); border-radius: 8px;}
footer .owl-carousel-container .owl-nav-button.owl-next-button { right: 1rem; background-image: url(../images/arrow_next.png); }
footer .owl-carousel-container .owl-nav-button.owl-prev-button { left: 1rem; background-image: url(../images/arrow_prev.png); }



/* 
    ------------------------------
    --- Waiting Dialog
    ------------------------------
*/

#waiting-dialog .modal-content { border: none;}
#waiting-dialog .modal-body p { font-size: 1.3rem; line-height: 2rem; }
#waiting-dialog .modal-body p i { color: #b60303;}




/* 
    ------------------------------
    --- Validators
    ------------------------------
*/

.form-control.error { background-color: rgba(209, 0, 10, .15); }

.tooltip-error { z-index: 3000; font-size: 0.9rem; }
.tooltip-error .tooltip-inner { background-color: #ffffff; opacity: 1; color: #b60303;}
.tooltip-error.bs-tooltip-top .arrow:before { border-top-color: #ffffff;}
.tooltip-error.bs-tooltip-right .arrow:before { border-right-color: #ffffff; }
.tooltip-error.bs-tooltip-left .arrow:before { border-left-color: #ffffff; }
.tooltip-error.bs-tooltip-bottom .arrow:before { border-bottom-color: #ffffff; }


/* 
    ------------------------------
    --- Select 2
    ------------------------------
*/

.select2 { width: 100% !important; max-width: 100% !important; }

.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple { border: 1px solid; }

.select2Small .select2-container--default .select2-selection--single,
.select2Small .select2-container--default .select2-selection--multiple { padding-top: 0; padding-bottom: 0; }

.select2-dropdown input:focus,
.select2-selection { outline: none; }

.select2Small .select2-container--default .select2-selection--single .select2-selection__arrow { height: 1.8rem; }
.select2-container--default .select2-results > .select2-results__options {  max-height: 300px; }

.select2-container--default.select2-container--focus .select2-selection--single, 
.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default .select2-search--dropdown .select2-search__field,
.select2-dropdown {
    border-color: #d1000a;
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.ui-select-container.ui-select-bootstrap .ui-select-choices-row.active > a {
    background-color: #d1000a;
}




/* 
    ------------------------------
    --- Google Translate
    ------------------------------
*/

.goog-te-banner-frame.skiptranslate { display: none !important; }

body { top: 0px !important;}

.container[data-type="MAINCONTENTCONTAINER"] div.google-translator a:not(.btn):link,
.container[data-type="MAINCONTENTCONTAINER"] div.google-translator a:not(.btn):visited,
.container[data-type="MAINCONTENTCONTAINER"] div.google-translator a:not(.btn):active { text-decoration: none !important; }

div.google-translator .goog-te-gadget-icon { margin-bottom: 0; }





/* 
    ------------------------------
    --- Cookie Notice
    ------------------------------
*/


.modal-cookienotice p { font-size: 1rem; color: #504e4c;}
.accordion-cookienotice p { font-size: 0.9rem;}
.accordion-cookienotice .card { border: none;}
.accordion-cookienotice .card .card-header { padding: .6rem 1rem; background-color: #F2F2F2; border-bottom: 2px solid #ffffff;}
.accordion-cookienotice .card .card-header button { font-weight: 400; padding: 0;  border: none; margin: 0;}
.accordion-cookienotice .card .card-header button,
.accordion-cookienotice .card .card-header button:hover,
.accordion-cookienotice .card .card-header button:focus { color: #504e4c; text-decoration: none; background: none; background-color: transparent; box-shadow: none; text-transform: none; }
.accordion-cookienotice .card .card-header button:before { content: "\f078"; color: #504e4c; font-family: 'Font Awesome 5 Pro'; font-weight: 300; font-size: 1.3rem; margin-right: 0.5rem;}
.accordion-cookienotice .card .card-header button[aria-expanded=true]:before { content: "\f077";}
.accordion-cookienotice .card .card-header .custom-switch { padding-top: 5px; float: right;}

.modal-cookienotice a,
.modal-cookienotice a:link,
.modal-cookienotice a:visited,
.modal-cookienotice a:active { color: #d1000a; text-decoration: underline;}
.modal-cookienotice a:hover,
.modal-cookienotice a:focus { color: #d1000a; text-decoration: none;}
.accordion-cookienotice .custom-control-input:checked~.custom-control-label::before {border-color: #d1000a; background-color: #d1000a;}

.modal-cookienotice .modal-footer button.btn { text-transform: none; font-weight: 600; padding: 0.5rem; padding-left: 1rem; padding-right: 1rem; margin-bottom: 0;}



/* 
    ------------------------------
    --- Mark Search
    ------------------------------
*/

.mark-searchterm { padding-left: 2px; padding-right: 2px;  background-color: #EEEEEE;}
a.btn .mark-searchterm { background-color: #b60303; }



/* 
    ------------------------------
    --- Fancybox
    ------------------------------
*/

.fancybox-progress { background: #d1000a;}
button.fancybox-arrow--left:before { content: 'f054'; font-family: FontAwesome; }



/* 
    ------------------------------
    --- Kontakt Button
    ------------------------------
*/

div.contact-form-button { position: fixed; bottom: 5rem; right: 0; background-color: #2d2a28; z-index: 35; display: flex; cursor: pointer; width: 7rem; border-radius: 0;
                          border-top-left-radius: 10px; border-bottom-left-radius: 10px;}
div.contact-form-button .flyout-item { padding: 1.5rem; padding-bottom: 1.6rem; cursor: pointer; display: flex; cursor: pointer;  background-color: #2d2a28; box-shadow: none; outline: none; border: none;
                                       border-top-left-radius: 10px; border-bottom-left-radius: 10px; }
div.contact-form-button .flyout-item:focus { background: linear-gradient(90deg, rgba(209,0,10,1) 0%, rgba(45, 42, 40, 1) 100%); }
div.contact-form-button .flyout-item .flyout-text { padding-left: 1rem; padding-right: 3rem; color: #ffffff;  width: 0; display: none; opacity: 0; 
                                                    text-transform: uppercase; font-weight: 600; font-size: 0.9rem; letter-spacing: 1px; padding-top: 2px; }

@media (max-width: 768px) {
    div.contact-form-button { display: none; width: 0; height: 0; visibility: hidden;}
}


/* 
    ------------------------------
    --- Kontakt Formular
    ------------------------------
*/

.contact-form-offcanvas { position: fixed; top: 0; bottom: 0; z-index: 1000; display: none; width: 800px; min-width: 500px; right: -800px; overflow-y: auto;
                          background-color: #2d2a28; padding: 3rem; padding-top: 5rem; padding-left: 8rem;}

.contact-form-offcanvas a.close-icon { text-align: right; display: block; cursor: pointer; }
.contact-form-offcanvas a.close-icon:after { content: "\D7"; color: #ffffff; font-size: 3em; text-align: right; font-weight: 300; }
.contact-form-offcanvas .container { padding-left: 0; padding-right: 0;}

div[data-form] textarea { padding-top: 0.75rem; }

.contactOverlay div[data-form] .form-row{ border-bottom: 1px solid #ffffff;}

.contact-form-offcanvas .label-message label,
.contactOverlay div[data-form] .label-message label { position: relative; top: auto; left: auto; right: auto; bottom: auto; margin-top: 13px; }
.contactOverlay div[data-form] textarea { padding-top: 0.3rem; }

.custom-control .custom-control-label::before { border: 1px solid #ffffff; background-color: transparent; border-radius: 0; }
.custom-control.custom-switch .custom-control-label::before { border: 1px solid #adb5bd; border-radius: 10px;}
.custom-control-input:not(:disabled):active~.custom-control-label::before { border: 1px solid #f6f6f6; background-color: #f6f6f6; border-color: #f6f6f6;}


.formContainer button[type="submit"]{ background-image: url(../images/icon_Newsletter_weiss.png); background-position: right center; background-repeat: no-repeat;}
.formContainer button[type="submit"][data-loading] { background-image: none; }
.formContainer button[type="submit"]:hover { box-shadow: 0px 0px 15px 0px rgba(209,0,10,0.8);}

.contactOverlay .formContainer button[type="submit"] { border: 2px solid #ffffff !important; background-color: transparent; }
.contactOverlay .formContainer button[type="submit"]:hover { box-shadow: 0px 0px 15px 0px rgba(256,256,256,0.8);}

.contactOverlay .formContainer label,
.contactOverlay .formContainer span.RequiredMarker { color: #ffffff;}

.formContainer input:-internal-autofill-selected{ color: #ffffff; background: none !important; background-color: transparent !important;}

@media (max-width: 425px) {
    .contact-form-offcanvas {width: 100%; max-width: 100%; min-width: 100%; overflow-y: auto;}
}


[data-form] { overflow: hidden; }
[data-form] div.email-regular { position: absolute; right: -100vw;}

/* Passwort Meter */
.password-strength div.progress {margin-top: 5px; height: 1rem;}
.password-strength span.password-verdict {text-shadow: 0px 0px 3px rgba(0, 0, 0, 0.7);}

.progress { width: 100%; height: 5px;  background-color: #c1c7c7; margin-bottom: 15px; margin-top: 3px; }
.progress-bar {background-color: #1ab394;}
.progress-small,
.progress-small .progress-bar { height: 10px;}
.progress-small,
.progress-mini { margin-top: 5px; }
.progress-mini,
.progress-mini .progress-bar { height: 5px; margin-bottom: 0; }
.progress-bar-navy-light { background-color: #3dc7ab; }
.progress-bar-success { background-color: #1c84c6; }
.progress-bar-info { background-color: #23c6c8; }
.progress-bar-warning { background-color: #f8ac59; }
.progress-bar-danger {background-color: #ED5565; }



/* 
    //////////////////////////////////////////////////////////////////////////////////////////////
    //                                                                                          //
    //   CUSTOM CONTENT STYLES                                                                  //
    //   Bitte keine Layout Styles nach diesem Abschnitt einfügen!                              //
    //                                                                                          //
    //////////////////////////////////////////////////////////////////////////////////////////////
*/


/* 
    ---------------------------------
    --- Address info footer and menu
    ---------------------------------
*/

.address-information h3 { font-weight: 800; text-transform: none; line-height: 1.9rem; margin-bottom: 2rem; }

.address-information .social-icon img { height: 1.2rem; }
.address-information .social-icon { opacity: 0.5; display: inline-block; margin-right: 1rem; }
.address-information .social-icon:hover,
.address-information .social-icon:focus { opacity: 0.9; }

.address-information .address-container .address-row { display: flex; flex-direction: row;}
.address-information .address-container .address-row .address-item { display: flex; margin-bottom: 1rem; width: 50%;}
.address-information .address-container .address-row:last-child { margin-bottom: 0;}
.address-information .address-container .address-row .address-item .address-descriptor { width: 30%;}
.address-information .address-container .address-row .address-item .address-content { width: 70%; font-size: 1rem; }


.contact-form-offcanvas .address-container .address-row .address-item { display: flex; margin-bottom: 1rem; width: 45%;}
.contact-form-offcanvas .address-container .address-row .address-item .address-content { width: 65%;}


@media (max-width: 1024px) {
    .address-information .address-container .address-row .address-item { flex-direction: column; }
    .address-information .address-container .address-row .address-item .address-descriptor,
    .address-information .address-container .address-row .address-item .address-content { width: 100%;}
}
@media (max-width: 425px) {
    .address-information .address-container .address-row .address-item { width: 100%; }
}

footer .address-information h2,
footer .address-information p.headline { color: #858382; margin-bottom: 1.8rem;}
footer .address-information .address-container { border-right: 2px solid #716d6a; }
footer .address-information .address-container .address-row .address-content a,
footer .address-information .address-container .address-row .address-content a:link,
footer .address-information .address-container .address-row .address-content a:visited { color: #858382; text-decoration: none; }
footer .address-information .address-container .address-row .address-content a:hover,
footer .address-information .address-container .address-row .address-content a:focus,
footer .address-information .address-container .address-row .address-content a:active { color: #f6f6f6; text-decoration: none; }


.menuOverlay h3{ font-weight: 800; font-size: 1.6rem; margin-bottom: 1rem; margin-top: 0.5rem; line-height: 1.9rem; }
.menuOverlay h2,
.menuOverlay h3,
.menuOverlay p,
.contactOverlay h2,
.contactOverlay h3,
.contactOverlay p,
.contactOverlay,
.contact-form-offcanvas h2,
.contact-form-offcanvas h3,
.contact-form-offcanvas p,
.contact-form-offcanvas  { color: #ffffff; }
.contact-form-offcanvas .marked-text { color: #858382;}
.contactOverlay a,
.contactOverlay a:link,
.contactOverlay a:visited,
.contactOverlay .address-information .address-container .address-row .address-content a,
.contactOverlay .address-information .address-container .address-row .address-content a:link,
.contactOverlay .address-information .address-container .address-row .address-content a:visited,
.menuOverlay .address-information .address-container .address-row .address-content a,
.menuOverlay .address-information .address-container .address-row .address-content a:link,
.menuOverlay .address-information .address-container .address-row .address-content a:visited,
.contact-form-offcanvas a,
.contact-form-offcanvas a:link,
.contact-form-offcanvas a:visited { color: #ffffff; text-decoration: none; }
.contactOverlay a:hover,
.contactOverlay a:focus,
.contactOverlay a:active,
.contactOverlay .address-information .address-container .address-row .address-content a:hover,
.contactOverlay .address-information .address-container .address-row .address-content a:focus,
.contactOverlay .address-information .address-container .address-row .address-content a:active,
.menuOverlay .address-information .address-container .address-row .address-content a:hover,
.menuOverlay .address-information .address-container .address-row .address-content a:focus,
.menuOverlay .address-information .address-container .address-row .address-content a:active,
.contact-form-offcanvas a:hover,
.contact-form-offcanvas a:focus,
.contact-form-offcanvas a:active { color: #ffffff; text-decoration: underline; }

div[data-overlay="true"] .btn,
div[data-overlay="true"] .btn:link,
div[data-overlay="true"] .btn:visited { background-color: transparent; border: 2px solid #ffffff; color: #ffffff; }
div[data-overlay="true"] .btn:hover,
div[data-overlay="true"] .btn:focus,
div[data-overlay="true"] .btn:active { border-color: #ffffff; background-color: rgba(256,256,256, 0.25); color: #ffffff; box-shadow: 0px 0px 15px 0px rgba(256,256,256,0.8); }

@media (max-width: 1300px) and (min-width: 1200px){
    .contact-form-offcanvas h3,
    .address-information h3 { font-size: 1.65rem; }
}
@media (max-width: 425px) {
    .contact-form-offcanvas h3,
    .address-information h3 { font-size: 1.5rem; }
}







/* 
    //////////////////////////////////////////////////////////////////////////////////////////////
    //                                                                                          //
    //   WEB CONTENT CONTROLS                                                                   //
    //   Bitte keine Layout Styles nach diesem Abschnitt einfügen!                              //
    //                                                                                          //
    //////////////////////////////////////////////////////////////////////////////////////////////
*/



/* 
    ------------------------------
    --- Events
    ------------------------------
*/

.news-anchor { font-weight: 800; text-transform: uppercase; font-size: 0.9rem;  }
.news-anchor a,
.news-anchor a:link,
.news-anchor a:visited,
.news-anchor a:active,
.news-anchor a[onclick],
.news-anchor a[onclick]:link,
.news-anchor a[onclick]:visited,
.news-anchor a[onclick]:active { color: #d1000a;  text-decoration: underline; cursor: pointer; }
.news-anchor a:hover,
.news-anchor a:focus,
.news-anchor a[onclick]:hover,
.news-anchor a[onclick]:focus  { color: #d1000a; text-decoration: none; }



/* Event list */
.event-headline-title { font-weight: 800; font-size: 1.2rem; }
.event-list div .row .event-list-box,
.event-list .row .event-list-box { border-bottom:  1px solid #dee2e6; padding-bottom: 1.5rem !important; padding-top: 1rem; }
.event-list div .row:last-child .event-list-box,
.event-list .row:last-child .event-list-box { border-bottom: none; }
.event-list .post-hardfacts { display: none; }

.bg-eventsearch { background-color: #ededed; }
.bg-eventsearch .event-search-controls,
.bg-eventsearch .event-search-controls .event-search-controls-date,
.bg-eventsearch .event-search-controls .event-search-controls-buttons { display: flex; flex-wrap: wrap; justify-content: start;}

.bg-eventsearch .event-search-controls input[type="date"]{  height: auto; }
.bg-eventsearch .event-search-controls input[type="button"].btn { margin-right: 5px; padding: 0.6rem; padding-left: 0.6rem; padding-right: 0.6rem; }
.bg-eventsearch .Subheadline,
.bg-eventsearch .CategoryHeadline {  font-weight: 800; font-size: 1.6rem; margin-bottom: 1rem; margin-top: 0.5rem; }


input[type="text"].loading {
    background-image: url(/Content/images/loading.png) !important;
    background-position: right 0.5rem center !important;
    background-repeat: no-repeat !important;
}


@media (max-width:991px) {
    .bg-eventsearch .event-search-controls .event-search-controls-date { margin-bottom: 1rem;}
}

@media (max-width:576px) {
    .event-list div .row .event-list-box > .row > .col-12,
    .event-list .row .event-list-box > .row > .col-12 { padding-left: 0; padding-right: 0;}
    .bg-eventsearch .event-search-controls { display: block; }
    .bg-eventsearch .event-search-controls .event-search-controls-date div { width: 45% !important; }
    .bg-eventsearch .event-search-controls .event-search-controls-buttons input[type="button"].btn { padding: 0.3rem; }
}


/* 
    ------------------------------
    --- Youtube Embed
    ------------------------------
*/

.video-wrapper { background-size: cover; background-position: center center; width: 100%; margin-bottom: 50px; position: relative; height: 0; padding-bottom: 56.25%; background-color: #2d2a28; }
.video-wrapper .video-trigger { position: absolute; z-index: 9; background-color: rgba( 0, 0, 0, .6 ); color: #fff; right: 0; bottom: 0; top: 0; left: 0; }
.video-wrapper .video-trigger .video-info { color: #fff; font-size: 1.2rem;  margin-left: 25%; margin-right: 25%; margin-top: 15%; }
.video-wrapper .video-layer { position: relative; display: none;  margin: auto; position: absolute;  top: 0; left: 0; bottom: 0;  right: 0; } 
.video-wrapper .video-layer iframe.video-external { border: 0px none transparent;  width: 100%; height: 100%; }

@media (max-width: 1024px) {
    .video-wrapper .video-trigger .video-info { margin-left: 10%; margin-right: 10%; margin-top: 5%; }
}
@media (max-width:424px) {
    .video-wrapper .video-trigger .video-info { margin-left: 1rem; margin-right: 1rem;  margin-top: 1rem; } 
}

.video-wrapper .video-info h2 { text-align: center; margin-bottom: 3rem; color: #ffffff;}
.video-wrapper .video-info .btn { margin-top: 2rem; background-color: #d1000a; color: #ffffff; font-size: 1.2rem; }
.video-wrapper .video-info p { color: #ffffff; font-size: 1rem;}

@media (max-width: 1024px) {
    .video-wrapper .video-info h2 { margin-bottom: 2rem;}
    .video-wrapper .video-info .btn { margin-top: 1rem;}
}
@media (max-width:576px) {
    .video-wrapper .video-info h2 { margin-bottom: .5rem;}
    .video-wrapper .video-info p { margin-bottom: .5rem;}
}
@media (max-width:424px) {
    .video-wrapper .video-info h2 { margin-bottom: .5rem; line-height: 1;}
    .video-wrapper .video-info p { margin-bottom: .5rem; font-size: 0.8rem;}
    .video-wrapper .video-info .btn { margin-top: 0;}
}

.video-wrapper .video-trigger p a { text-decoration: none; }

.video-wrapper .video-info p a,
.video-wrapper .video-info p a:link,
.video-wrapper .video-info p a:visited
.video-wrapper .video-info p a:active { text-decoration: none !important; }
.video-wrapper .video-info p a:hover { text-decoration: underline !important; }





/* 
    ------------------------------
    --- Infobox
    ------------------------------
*/

.Infobox { margin-bottom: 1rem; }
.Infobox .card.bg-primary .btn { margin-left: auto; margin-right: auto;  margin-right: 0; display: block; }

.Infobox .card.bg-primary,
.Infobox .card.bg-primary p,
.Infobox .card.bg-primary ul li,
.Infobox .card.bg-primary ol li,
.Infobox .card.bg-primary .btn { color: #ffffff !important; }



/* 
    ------------------------------
    --- Downloads
    ------------------------------
*/


.downloads { display: flex; flex-wrap: wrap; }
.downloads .download { width: 15rem; text-align: center;  margin: 0.5rem; padding-top: 0.75rem; }
.downloads .download i { color: #d1000a; }

.downloads .download .card-body { padding: 0.25rem; }
.downloads .download .card-title { margin-bottom: 0.25rem;  font-size: 0.9rem; font-weight: 500; line-height: 1.2; color: #d1000a; }
.downloads .download .card-text { font-size: 0.8rem; margin-bottom: 0.1rem; line-height: 1rem; }

.downloads a,
.downloads a:link,
.downloads a:visited,
.downloads a:active { text-decoration: none !important; }

.downloads .text-muted { color: #4f4f4f !important;}

@media (max-width: 425px) {
    .downloads .download { max-width: 50%; }
}

.asset-previewimage {
    width: 6rem;
}
/* 
    ------------------------------
    --- Search form/results
    ------------------------------
*/
.search-mainheadline {
    margin-top: 5rem;
} 

div.searchRealmResults::after { content: ""; border-bottom: 1px solid #cecece; display: block; padding-top: 2rem; margin-bottom: 3.5rem;}
div.searchRealmResults.lastItem::after { display: none;}

div.searchRealmResults h3 .badge-primary { background-color: #2F3F4F; font-size: 0.8rem; text-transform: none; font-weight: 400; padding: .35em .5em; vertical-align: middle; margin-left: 0.5rem; }

@media (max-width: 1024px) {
    div.searchRealmResults h3 .badge-primary { font-size: 1rem; }
}

div.searchRealmResults li.searchRealmResult { margin-bottom: 1rem;}
div.searchRealmResults li.searchRealmResult .searchRealmResultHeadline { font-size: 1.2rem; font-weight: 600; }
div.searchRealmResults li.searchRealmResult .searchRealmResultUrl { word-break: break-all; }





/* 
    ------------------------------
    --- Images and galleries
    ------------------------------
*/

div[data-row-type='IMG'] .imageContainer { width: 100%; background-color: #EEEEEE; background-repeat: no-repeat;  }

div[data-row-type='IMG'] a.imageContainer,
div[data-type='IMAGEGALLERY'] .imageContainer { display: block; width: 100%; background-repeat: no-repeat;  }

div[data-row-type='IMG'] .imageContainer.small,
div[data-type='IMAGEGALLERY'] .imageContainer.small {  height: 265px;}
div[data-row-type='IMG'] .imageContainer.smallvertical,
div[data-type='IMAGEGALLERY'] .imageContainer.smallvertical { height: 380px;  }
div[data-row-type='IMG'] .imageContainer.medium,
div[data-type='IMAGEGALLERY'] .imageContainer.medium { height: 400px;}
div[data-row-type='IMG'] .imageContainer.large,
div[data-type='IMAGEGALLERY'] .imageContainer.large { height: 800px; }

div[data-row-type='IMG'] .image-size-small {  max-width: 500px;  }
div[data-row-type='IMG'] .image-size-smallvertical { max-height: 500px; max-width: 100%; }
div[data-row-type='IMG'] .image-size-medium { max-width: 1200px; }
div[data-row-type='IMG'] .image-size-large { max-width: 1920px;  }

div.row div.col-md-4 div[data-row-type='IMG'] .image-size-small,
div.row div.col-md-3 div[data-row-type='IMG'] .image-size-small,
div.row div.col-md-4 div[data-row-type='IMG'] .image-size-smallvertical,
div.row div.col-md-3 div[data-row-type='IMG'] .image-size-smallvertical,
div.row div.col-md-4 div[data-row-type='IMG'] .image-size-medium,
div.row div.col-md-3 div[data-row-type='IMG'] .image-size-medium,
div.row div.col-md-4 div[data-row-type='IMG'] .image-size-large,
div.row div.col-md-3 div[data-row-type='IMG'] .image-size-large { max-width: 100%;  }

.poststeaser div[data-row-type='IMG'] .image-size-small,
.event-list-box div[data-row-type='IMG'] .image-size-small { max-width: 100%; }

@media(min-width: 768px) {
    div[data-type='IMAGEGALLERY'] .col-lg-2 .imageContainer.small { height: 100px; }
}
@media(min-width:992px){
    div[data-type='IMAGEGALLERY'] .col-lg-2 .imageContainer.small { height: 180px; }
    div[data-row-type='IMG'] .col-md-3 .imageContainer.smallvertical,
    div[data-type='IMAGEGALLERY'] .col-lg-3 .imageContainer.smallvertical { height: 180px; }
}
@media(max-width: 576px) {
    div[data-row-type='IMG'] .image-size-small {  max-width: 100% !important;  }
    div[data-row-type='IMG'] .image-size-smallvertical { max-height: none; max-width: 100% !important; }
    div[data-row-type='IMG'] .image-size-medium { max-width: 100% !important; }
    div[data-row-type='IMG'] .image-size-large { max-width: 100% !important;  }
}
@media(max-width: 767px) {
    div[data-row-type='IMG'] .image-size-medium { max-width: 100% !important; }
    div[data-row-type='IMG'] .image-size-large { max-width: 100% !important;  }
}

 /* Gallery */
.row.row-gallery .col-md-4 { padding-left: 0.5rem; padding-right: 0.5rem;}
.row.row-gallery div.gallery-item-container { height: 150px;}

.row-gallery div p.caption { margin-bottom: 1.5rem; }

.row-gallery div a { position: relative; display: block; }
a[data-image-zoom-item] { position: relative; display: inline-block; }
.row-gallery div a:after,
a[data-image-zoom-item]:after { color: #ffffff; content: "\f00e"; font-family: 'Font Awesome 5 Pro'; font-size: 35px; position: absolute; top: 0; bottom: 0; left: 0; right: 0;
                                background: rgba(0,0,0,0.5); display: block; opacity: 0; z-index: 15;  transition: 0.5s; cursor: pointer; text-align: center; display:flex;
                                flex-direction:row; align-items: center; justify-content: center; }
.row-gallery div a:hover:after,
a[data-image-zoom-item]:hover:after { opacity: 1; }






/* 
    ------------------------------
    --- Jumbotron / Image Divider
    ------------------------------
*/

.jumbotron { background-position: center; background-repeat: no-repeat;  background-size: cover; min-height: 60vh; overflow: hidden; position: relative; z-index: 10;
             margin: 0; display: flex;  align-items: center; justify-content: center; }

.jumbotron.imagedivider-split { background-color: #2c2a28;}
.jumbotron.imagedivider-split .divider-content { padding-right: 0; }
.jumbotron.imagedivider-split .divider-image { position: absolute; top: 0; bottom: 0; width: 50%; }
.jumbotron.imagedivider-split.Right .divider-image { right: 0; }
.jumbotron.imagedivider-split.Left .divider-image {left: 0; }


.jumbotron .divider-content-boxed { background-color: rgba(256, 256, 256, 0.8); padding: 2.5rem; padding-top: 3rem; }
.jumbotron .divider-content-boxed h2 { margin-top: 0;  }
.jumbotron .divider-content-boxed a.btn { margin-bottom: 0; margin-top: 1rem; }

.jumbotron .divider-content { padding-right: 10rem; }
.jumbotron .divider-content h2,
.jumbotron .divider-content p { color: #ffffff; }
.jumbotron .divider-content a,
.jumbotron .divider-content a:link,
.jumbotron .divider-content a:visited,
.jumbotron .divider-content a:hover,
.jumbotron .divider-content a:focus,
.jumbotron .divider-content a:active { color: #ffffff; text-decoration: underline; }
.jumbotron .divider-content a.btn { border-color: #ffffff; color: #ffffff; margin-top: 1rem;text-decoration: none !important; }
.jumbotron .divider-content a.btn:hover { border-color: #ffffff; text-decoration: none !important;  }


@media (min-width: 990px) {
    .jumbotron.imagedivider-split.Right .divider-content { padding-right: 2rem; }
    .jumbotron.imagedivider-split.Left .divider-content { padding-left: 2rem; }
}
@media (max-width: 1024px) {
    .jumbotron.imagedivider-split .divider-content { padding-right: 0; }
}
@media (max-width: 991px) {
    .jumbotron.imagedivider-split { display: block; height: auto !important; padding-bottom: 0; padding-top: 2rem; }
    .jumbotron.imagedivider-split .divider-content { padding-bottom: 2rem; }
    .jumbotron.imagedivider-split .divider-image { position: relative; right: auto; top: auto; bottom: auto; width: 100%; height: 50vh; }
    .jumbotron .divider-content-boxed { margin-bottom: 2rem;}
}



/* 
    ------------------------------------
    --- Image containers / Image menu
    ------------------------------------
*/

div.image-content { background-position: center;  background-repeat: no-repeat; background-size: cover;  position: absolute; top: 0; left: 0;  right: 0; bottom: 0; transition: 0.5s;  z-index: -10;}

.thirdImageContainer { overflow: hidden; color: #ffffff; }

.thirdImageContainer a, 
.thirdImageContainer div.textPanel { display: block;  position: absolute; left: 0; top: 0;  bottom: 0; right: 0;  line-height: 2rem; color: #ffffff; color: #ffffff;
                                    font-size: 2rem; font-weight: 500; text-transform: uppercase; text-decoration: none; text-align: right; text-shadow: 2px 2px 15px rgba(0, 0, 0, 0.8);}
.thirdImageContainer a div.linkPanel { position: absolute; bottom: 5vh;  left: 0; top: auto; right: 30%; }
.thirdImageContainer a:link,
.thirdImageContainer a:visited,
.thirdImageContainer a:hover,
.thirdImageContainer a:active { color: #ffffff; }

.thirdImageContainer a span { padding-top: 10px;  padding-bottom: 10px; display: inline-block; }
.thirdImageContainer a span.Separator,
.thirdImageContainer div.textPanel span.Separator { height: 0.15rem; background-color: #ffffff;  display: block; box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.8); padding: 0; }


@media (max-width: 1024px) {
    .thirdImageContainer a div.linkPanel {right: 10%;}
}
@media (max-width: 768px) {
    .thirdImageContainer { height: 40vh !important;}
}
@media (max-width: 576px) {
    .thirdImageContainer { height: 50vh !important; }
}
@media (max-height: 425px) and (orientation: landscape) {
    .thirdImageContainer { height: 100vh !important; }
    .thirdImageContainer a, .thirdImageContainer div.textPanel {padding-top: 60vh;}
}






/* 
    ------------------------------
    --- Events
    ------------------------------
*/


p.event-headline-date { margin-bottom: 0; }

img.event-icon { margin-right: 1rem; margin-bottom: 1rem; }

.container-event-checkbox { text-align: left; margin-right: 10px; font-size: 1.0rem; }
.container-event-checkbox .custom-control-label::after, 
.container-event-checkbox .custom-control-label::before { width: 1.25rem; height: 1.25rem; }

div.event-infobox-horizontal { margin-bottom: 100px; }




/* Accordion for categories */
.accordionCategories { padding: 0; margin: 0; }

.accordionCategories .card,
.accordionCategories .card-header,
.accordionCategories .card-body { background-color: transparent; padding: 0; margin: 0;  color: #ffffff; border: none; border-radius: 0; }

.accordionCategories .card-header p { margin: 0; }
.accordionCategories .card button.btn { padding: 0; margin: 0;  display: block; text-align: left; }
.accordionCategories .card button.btn:hover,
.accordionCategories .card button.btn:focus { text-decoration: none; cursor: pointer; outline: none; }

.accordionCategories .card .card-header .btn:after { content: ""; background-position: center center;  background-size: cover; width: 1.8rem; height: 1.8rem;
                                                    position: relative; display: inline-block; top: 7px; margin-left: 5px; background-color: #d1000a;
                                                    background-image: url(/Content/Mandators/cz_sudeten_de/images/buttonarrows_inactive.png);}
.accordionCategories .card .card-header .btn[aria-expanded="true"]:after { transform: rotate(180deg); }


/* Event detail */
.card.bg-transparent { border: 0; }

.card.eventInfobox h5,
.card.bg-transparent h5 { text-transform: uppercase; font-size: 1.5rem;  font-weight: 600; letter-spacing: 2px; }

.card.eventInfobox .card-text,
.card.bg-transparent .card-text {  margin-top: 1.5rem; margin-bottom: 1.5rem; }

.eventInfobox { background-color: #b60303; color: #ffffff;}
.eventInfobox.card { border: 0; }
.card.eventInfobox .card-text p { color: #ffffff; }

.card.eventInfobox .card-text a,
.card.eventInfobox .card-text a:link,
.card.eventInfobox .card-text a:visited,
.card.eventInfobox .card-text a:active { color: #ffffff; text-decoration: underline; text-underline-offset: 2px; }
.card.eventInfobox .card-text a:hover { color: #ffffff; text-decoration: none; }

.card.eventInfobox + a.btn { color: #ffffff; text-decoration: none; text-transform: uppercase;  font-weight: 600; letter-spacing: 2px; }


/* Event search */
div.eventSearchresults { display: none; }
div.eventSearchresultsNoResults { display: none;}

.eventSearchRow { padding-top: 1rem; padding-bottom: 1.5rem; margin-bottom: 2px;  }
.eventSearchRow .pnlSubcategories { display: flex; flex-wrap: wrap; }
.eventSearchRow p { flex: 0 0 100%;  max-width: 100%;}
.eventSearchRow .custom-control { flex: 0 0 20%; max-width: 20%;  margin-top: 0; margin-bottom: 0.8rem; }



@media (max-width: 1024px) {
    .CategoryHeadline{ font-size: 1.3rem; }
    .eventSearchRow .custom-control {-ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%;}
    .eventSearchRow .custom-control label { font-size: 1.2rem; }
}
@media (max-width: 768px) {
    .eventSearchRow .custom-control {-ms-flex: 0 0 33%; flex: 0 0 33%; max-width:33%;}
}
@media (max-width: 425px) {
    .eventSearchRow .custom-control {-ms-flex: 0 0 50%; flex: 0 0 50%; max-width:50%;}
}


/* Event calendar */
.container-event-checkbox { margin-bottom: .5rem; font-size: .9rem; padding-left: 0.3rem; padding-top: 0.2rem; margin-left: 1.2rem;}

.container-event-checkbox .custom-control-label::after, 
.container-event-checkbox .custom-control-label::before { width: 1.25rem; height: 1.25rem; border-color: #d1000a !important; }
.container-event-checkbox .custom-control-label { text-align: left; color: #4f4f4f;}

/* 
    ------------------------------
    --- Search
    ------------------------------
*/

.searchContainer { padding: 0; margin: 0; margin-top: 2rem; }

.searchContainer input { outline: none; border-radius: 0; border: none; border-bottom: 2px solid #858382; font-size: 1.2rem; background-color: transparent; 
                         color: #504e4c; flex: 1; font-weight: 600; height: auto; padding-left: 0; padding-right: 0;}
.searchContainer input:focus { outline: none;  }
.searchContainer input::placeholder { color: #858382; }

.searchContainer form { display: flex; flex-direction: row; justify-content: space-between; }
.searchContainer button { width: 4rem; border: none; color: #504e4c; transition: 0.2s; font-size: 1.8rem; background-color: transparent; }
.searchContainer button:hover { color: #d1000a; }




/* 
    ------------------------------
    --- Maps
    ------------------------------
*/

.mapteaser { margin-top: 50px; }
.collapsiblepanel { margin-bottom: 10px; margin-top: 10px; }

img.img-greyscale-hover { -webkit-filter: grayscale(100%); filter: grayscale(100%); transition: 1s;  margin-left: 3px; }
img.img-greyscale-hover:hover { -webkit-filter: grayscale(0%);  filter: grayscale(0%); }

/* Info Window */
.iconLeftToText { margin-right: 5px; }
.mapInfoWindow { padding-right: 10px; padding-left: 10px;  padding-top: 5px; padding-bottom: 5px;}
.gm-style-iw-t button:focus { outline: none;}



/* 
    ------------------------------
    --- Contact form
    ------------------------------
*/

.formContainer button[type="submit"] { color: #ffffff; background-color: #d1000a; }

span.RequiredMarker { color: #d1000a; font-weight: 600; }

div[data-form] .floating-label-wrap { margin-bottom: 0; position: relative; width: 100%; }

div[data-form] label { position: absolute; right: .6rem; left: 0.5rem; transition: 0.5s; margin-bottom: 0; line-height: normal; color: #4f4f4f; text-transform: uppercase; 
                        font-size: 0.9rem; font-weight: 700; letter-spacing: 1px; top: 0.8rem; text-align: left; }
div[data-form] .floating-label-wrap label { background-color: #ffffff; }
.contact-form-offcanvas div[data-form] label { color: #ffffff; margin-top: 0.5rem; }
.contact-form-offcanvas .newsletter-descriptor { color: #ffffff; font-size: 0.9rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase;  line-height: normal; margin-top: 0.5rem; }
.contact-form-offcanvas div[data-form] label a { color: #ffffff; text-decoration: underline; }

div[data-form] input[type=text],
div[data-form] input[type=date],
div[data-form] input[type=number],
div[data-form] input[type=time],
div[data-form] textarea,
div[data-form] select { border-radius: 0; border: none;  background-color: #ffffff; color: #575555; height: auto; line-height: normal;
                        padding-left: 0.5rem; padding-right: 0.5rem; padding-bottom: 0.3rem; padding-top: 1.2rem; margin-bottom: 0.5rem;}
div[data-form] select { padding-left: 0.3rem; }
div[data-form] input[type=date] { padding-bottom: 0.2rem !important; }
div[data-form] input[type=date].date-input-invert::-webkit-calendar-picker-indicator { filter: invert(1); }

.contact-form-offcanvas div[data-form] input[type=text],
.contact-form-offcanvas div[data-form] input[type=date],
.contact-form-offcanvas div[data-form] input[type=number],
.contact-form-offcanvas div[data-form] input[type=time],
.contact-form-offcanvas div[data-form] textarea,
.contact-form-offcanvas div[data-form] select { padding-bottom: 0.5rem; padding-top: 0.5rem; }
.contact-form-offcanvas div[data-form] input[type=text]:focus,
.contact-form-offcanvas div[data-form] input[type=date]:focus,
.contact-form-offcanvas div[data-form] input[type=number]:focus,
.contact-form-offcanvas div[data-form] input[type=time]:focus,
.contact-form-offcanvas div[data-form] textarea:focus,
.contact-form-offcanvas div[data-form] select:focus { background-color: #eeeeee; color: #333333 !important;  }

div[data-form] input[type=text]:disabled,
div[data-form] input[type=date]:disabled,
div[data-form] input[type=number]:disabled,
div[data-form] input[type=time]:disabled,
div[data-form] textarea:disabled { color: #575555; font-style: italic; }
div[data-form] input[type=text]:disabled + label,
div[data-form] input[type=date]:disabled + label,
div[data-form] input[type=number]:disabled + label,
div[data-form] input[type=time]:disabled + label,
div[data-form] textarea:disabled + label { color: #575555; font-style: italic; }

div[data-form] .form-control:focus { outline-style: none; outline: none; box-shadow: none; color: #ffffff !important; border-color: inherit; background-color: #333333; }
div[data-form] .form-control:focus + label { color: #ffffff; }
.formContainer button[type="submit"] { font-weight: 600; padding: 0.6rem;  font-size: 0.9rem; border: none !important;  border-radius: 0; vertical-align: top; padding-left: 1rem;
                                       padding-right: 1rem; text-transform: uppercase; display: block; width: 100%;  text-align: left; }

div[data-form] .floating-label-wrap input.text-filled + label,
div[data-form] .floating-label-wrap textarea.text-filled + label,
div[data-form] .floating-label-wrap input:focus + label,
div[data-form] .floating-label-wrap textarea:focus + label,
div[data-form] .floating-label-wrap input[type="date"] + label,
div[data-form] .floating-label-wrap input[type="time"] + label,
div[data-form] .floating-label-wrap select + label,
div[data-form] .floating-label-wrap select:focus + label,
div[data-form] .floating-label-wrap .select2 + label,
div[data-form] .floating-label-wrap .select2.select2-container--focus + label { text-transform: uppercase; font-size: 0.7rem; letter-spacing: 1px; color: #4f4f4f;  background-color: #ffffff;
                                                           font-weight: 600; position: absolute; top: .25rem; }

div[data-form] .floating-label-wrap input:focus + label,
div[data-form] .floating-label-wrap textarea:focus + label,
div[data-form] .floating-label-wrap input[type="date"]:focus + label,
div[data-form] .floating-label-wrap input[type="time"]:focus + label,
div[data-form] .floating-label-wrap select:focus + label,
div[data-form] .floating-label-wrap .select2.select2-container--focus + label { color: #ffffff;  background-color: #333333; }

div[data-form] input[type=text]::placeholder,
div[data-form] textarea::placeholder { color: #858382;}

div[data-form] .select2 .select2-selection--single { padding-left: .6rem !important; padding-top: .75rem !important; min-height: 18px !important;  padding-bottom: .15rem !important; }
div[data-form] .select2 .select2-selection { padding: .375rem .75rem; font-weight: 400; }
div[data-form] .select2.select2-container { border-color: #ced4da; margin-bottom: 0; }
div[data-form] .select2 .select2-selection .select2-selection__rendered{ padding-right: 0; padding-left: 0; min-height: 24px; line-height: normal; }
div[data-form] .select2.select2-container--default .select2-selection--single .select2-selection__arrow { height: 2.2rem; }
.select2-results__option { min-height: 30px;}

.custom-control.same-background-color .custom-control-input:checked~.custom-control-label::before { border-color: #b60303; background-color: #b60303;}



/* 
    ------------------------------
    --- Newsletter
    ------------------------------
*/

div[data-type="NEWSLETTERSIGNUPFORM"] { background-image: url(/api/assets/ed144aaa-cf0f-49f4-a3b0-96d28f746941); background-repeat: no-repeat;  background-size: cover;
                                        background-position: center bottom; text-align: center; color: #ffffff; padding-top: 2.5rem; padding-bottom: 2.5rem; background-color: #b60303; }

div[data-type="NEWSLETTERSIGNUPFORM"] h2 { color: #ffffff; font-size: 3rem; line-height: 2.8rem; }
div[data-type="NEWSLETTERSIGNUPFORM"] h3 { color: #ffffff; }
div[data-type="NEWSLETTERSIGNUPFORM"] p { color: #ffffff; font-size: 1.2rem; line-height: 1.4rem; margin-bottom: 2.5rem; }

div[data-type="NEWSLETTERSIGNUPFORM"] .btn { background-color: transparent; border: 2px solid #ffffff; color: #ffffff;  padding: 0.75rem; padding-left: 1.25rem;
                                             padding-right: 1.25rem; text-align: center; text-transform: uppercase; letter-spacing: 1px;  font-weight: 800; font-size: 0.9rem;
                                             margin-bottom: 2rem; transition: 0.2s; width: 100%; text-align: left;  background-image: url(../images/icon_Newsletter_weiss.png); 
                                             background-position: right center; background-repeat: no-repeat; border-radius: 10px; }
div[data-type="NEWSLETTERSIGNUPFORM"] .btn:hover { background-color: #ffffff; background-image: url(../images/icon_Newsletter_rot.png); color: #d1000a; box-shadow: 0px 0px 15px 0px rgba(256,256,256,0.8);}

div[data-type="NEWSLETTERSIGNUPFORM"] .newsletter-privacy label { color: #ffffff; font-size: 0.9rem; font-weight: 300; line-height: 1.4rem; text-transform: none; position: relative; top: auto; }


div[data-type="NEWSLETTERSIGNUPFORM"] a,
div[data-type="NEWSLETTERSIGNUPFORM"] a:link,
div[data-type="NEWSLETTERSIGNUPFORM"] a:visited { color: #ffffff; text-decoration: underline; }
div[data-type="NEWSLETTERSIGNUPFORM"] a:hover,
div[data-type="NEWSLETTERSIGNUPFORM"] a:focus,
div[data-type="NEWSLETTERSIGNUPFORM"] a:active { color: #ffffff; text-decoration: none; }

.newsletter-privacy { display: flex; flex-direction: row; }
.newsletter-privacy .newsletter-control { flex: 1; padding-left: 1.6rem; }
.newsletter-privacy .newsletter-control label { position: relative; top: auto; right: auto; left: auto; text-align: left; text-transform: none; letter-spacing: normal; font-weight: 400; padding-top: 3px; }


@media (max-width:424px) {
    div[data-type="NEWSLETTERSIGNUPFORM"] h2 { line-height: 3rem; }
    div[data-type="NEWSLETTERSIGNUPFORM"] .newsletter-privacy .newsletter-control label { font-size: 1rem;}
    .newsletter-privacy { display: block; text-align: left; }
    .newsletter-privacy .newsletter-control { padding-left: 0; }
}



/* 
    ------------------------------
    --- Large blockquote row
    ------------------------------
*/

div[data-type="QUOTE"] {padding-bottom: 3rem; padding-top: 3rem;}

div[data-type="QUOTE"] blockquote { border-left: 2px solid #969391; color: #969391;  font-size: 2rem; font-style: italic; font-weight: 400; line-height: 2.7rem;
                                    padding: 0; padding-left: 4rem; padding-right: 4rem; margin-left: 4rem; }
div[data-type="QUOTE"] blockquote p { color: #969391; font-size: 2rem; font-style: italic; font-weight: 400; line-height: 2.7rem; padding: 0; margin: 0; }

div[data-type="QUOTE"] figcaption { color: #72706f; font-size: 1.2rem; font-weight: 700; margin-bottom: 0; text-transform: uppercase; margin-top: 2rem; }
div[data-type="QUOTE"] cite { color: #969391; font-style: normal; font-size: 1rem; margin-bottom: 0; line-height: 0; margin-top: 0; margin-bottom: 3.5rem;}

div[data-type="QUOTE"] div.quote-caption { width: 50%; float: right; }
div[data-type="QUOTE"] div.quote-caption:after { display: block; clear: both; }


@media (max-width:768px) {
    div[data-type="QUOTE"] div.quote-caption { width: auto; float: none; text-align: center; margin-top: 4rem; }
}
@media (max-width:425px) {
    div[data-type="QUOTE"] { padding: 0; }
    div[data-type="QUOTE"] blockquote { border-left: none; padding-left: 0; padding-right: 0; margin-left: 2rem; margin-right: 2rem; line-height: 2rem; font-size: 1.8rem;}
    div[data-type="QUOTE"] figcaption { font-size: 1rem; }
    div[data-type="QUOTE"] cite { font-size: 1.2rem;}
}



/* 
    ------------------------------
    --- Articles
    ------------------------------
*/

.article { margin-bottom: 1rem; padding-bottom: 1.5rem; border-bottom: 1px solid #ced4da; display: flex; align-items: stretch; }
.article.article-columns {border-bottom:none;}
p.price-info { margin-bottom: 1.5rem; color: #d1000a; font-size: 1.2rem; font-weight: 600;  }
p.price-info span.price-surcharge { font-size: 0.85rem; display: block; margin-top: 0.2rem; font-style: italic; }
.article.article-columns p.price-info { font-size: 1.4rem; margin-top: 1rem; margin-bottom: 1rem;}
.text-large { font-size: 1.6rem !important;}
.formContainer .article button[type="submit"] { background-image: none;}
.article img { max-height: 297px; display: block; margin-left:auto;margin-right:auto; }
.article div[data-form] .form-row {border-bottom: none;}
.article .col-12.col-md-6.col-lg-4 { display: flex; align-items: stretch;}
.article .single-article { margin-bottom: 5rem; display:flex; flex-direction: column; }
.article .single-article > div {display: flex; flex-direction: column; height: 100%;}
.article .single-article > div.detail-link { height: auto; }
.article .single-article .information-block-row { flex: 1; align-content: flex-end;}

.article .single-article .vat-information { display: none; }
.article-detail .article-details-price-container .vat-information { font-size: 0.8rem; font-weight: 400; }


.article-details-children p { color: #504e4b; margin-bottom: 5px; }
.article-details-children select.control-border { border-radius: 10px; background-color: transparent; color: #504e4b; border: 1px solid #504e4b;
                                                  padding-top: 0.4rem; padding-bottom: 0.4rem; padding-left: 0.2rem; padding-right: 0.2rem; }
.article-details-children select.control-border:focus {  border: 1px solid #504e4b; color: #504e4b; }
.article-details-children select.control-border option{ background-color: #ffffff; color: #504e4b; }

.article .single-article p.article-name { display: none; }

.article .detail-link a { padding: 0.6rem; }
.article.article-columns .single-article .row .col-md-4,
.article.article-columns .single-article .row .col-md-8 { flex: 100%; max-width: 100%;}

.article.article-columns div[data-row-type='IMG'] .image-size-small { max-width: 100%; }

@media (min-width:768px) {
    .article div:nth-child(even) .single-article { padding-left: 1rem;}
    .article div:nth-child(odd) .single-article { padding-right: 1rem;}
}
@media (min-width:992px) {
    .article .single-article { padding-right: 2rem; padding-left: 0;}
}



.articledata input[type="text"],
.articledata input[type="number"],
.article input[type="text"],
.article input[type="number"] { border-bottom: 1px solid #ced4da !important; }
.articledata input[type="text"]:focus,
.articledata input[type="number"]:focus,
.article input[type="text"]:focus,
.article input[type="number"]:focus { color: #858382 !important; }

.article-information .article-details-price-container { margin-bottom: 1rem; margin-top: 1rem; }
.article-detail .article-details-price-container p.price-info { color: #ffffff; margin-bottom: 0.5rem; }
.article-detail .article-details-price-container p.article-name { color: #ffffff; font-weight: 800; font-size: 1.5rem; }
.article-information .add-article-to-cart-form .form-row .col-6 { max-width: 100%; flex: 0 0 100%; }
.article-information .add-article-to-cart-form .form-row{ border-bottom: none !important; }



.article-detail .article-details-price-container { background-color: #d1000a; border-radius: 10px; padding: 1.5rem !important;}
.article-detail .article-details-price-container button.btn { border-color: #ffffff; color: #ffffff;}
.article-detail .article-details-price-container button.btn:hover {  box-shadow: 0px 0px 15px 0px rgba(255,255,255,0.8); }


@media (max-width:525px) {
    .article-detail .article-details-price-container p.price-info {font-size: 1.3rem !important; }
    .article-detail .article-details-price-container p.article-name { font-size: 1.3rem; }
    .article-details-price-container form.add-article-to-cart-form .form-row > .col-6 { max-width: 100%; flex: 0 0 100%; }
    .article-details-price-container form.add-article-to-cart-form div[data-type="ARTICLESTOCKINFORMATION"] { margin-top: 1.5rem; }
}

.article-detail .article-details-price-container .floating-label-wrap input[type=text],
.article-detail .article-details-price-container .floating-label-wrap input[type=date],
.article-detail .article-details-price-container .floating-label-wrap input[type=number], 
.article-detail .article-details-price-container .floating-label-wrap select,
.article-detail .article-details-price-container .floating-label-wrap textarea { color: #f6f6f6; border-bottom: 1px solid #ffffff; }
.article-detail .article-details-price-container .floating-label-wrap input[type=text]:focus,
.article-detail .article-details-price-container .floating-label-wrap input[type=date]:focus,
.article-detail .article-details-price-container .floating-label-wrap input[type=number]:focus, 
.article-detail .article-details-price-container .floating-label-wrap select:focus,
.article-detail .article-details-price-container .floating-label-wrap textarea:focus { color: #ffffff !important; }
.article-detail .article-details-price-container .floating-label-wrap label,
.article-detail .article-details-price-container .floating-label-wrap label.text-filled { color: #ffffff !important;  }
.article-detail .article-details-price-container .alert { color: #ffffff !important; border: 1px solid #ffffff; background-color: rgba(255,255,255, 0.3); }

table.table-articles thead tr th.td-amount { width: 130px; }
table.table-articles thead tr th.td-price { width: 150px; }

table.table-articles tbody tr td.td-image { width:60px; padding-left: 0; padding-right: 0; }
table.table-articles tbody tr td.td-amount-content { width: 100px; text-align: right; }
table.table-articles tbody tr td.td-trash { width: 30px; padding-left: 0; padding-right: 0; text-align: center; }
table.table-articles tbody tr td.td-single-price-content { text-align: right; }

table.table-articles tbody tr td input.input-amount { display: inline-block; width: 50px; margin-right: 5px; }
table.table-articles tbody .article-sku-ean { font-size: 90%; }
table.table-articles tbody .article-surcharge { font-size: 80%;  }
table.table-articles tbody input.article-custom-price {width: 80px;}


@media (max-width:768px) {
    table.table-articles thead tr th { display: none;}

    table.table-articles tbody tr{ display: flex; flex-direction: row; flex-wrap: wrap; width: 100%; flex: 1; align-content: center; align-items: center; border-top: 1px solid #dee2e6;}
    table.table-articles tbody tr td { display: block; border-top: none; align-items: center;}
    table.table-articles tbody tr td.td-image { width: 20%; }
    table.table-articles tbody tr td.td-article { width: 80%;  }
    table.table-articles tbody tr td.td-amount-content { width:60%; font-size: 1rem; vertical-align: middle; padding-left: 0; padding-top: 0; text-align: left; }
    table.table-articles tbody tr td.td-single-price-content { width: auto; font-size: 1rem; vertical-align: middle; display: none; text-align: left; padding-top: 0; }
    table.table-articles tbody tr td.td-total-price-content { width: 40%; font-weight: 600; vertical-align: middle; padding-top: 0; }
    table.table-articles tbody tr td.td-trash { vertical-align: middle; font-size: 0.8rem; width: 100%; text-align: right; padding-top: 0; padding-right: 0.7rem; }
    
    table.table-articles tbody tr td input.input-amount {  width: 35px; }

    table.table-articles tfoot tr{ display: flex; flex-direction: row; flex-wrap: nowrap; width: 100%; flex: 1; }
    table.table-articles tfoot tr td:nth-child(odd) { display: block; width: 65%; }
    table.table-articles tfoot tr td:nth-child(even) { display: block; width: 35%; }
    table.table-articles tfoot tr td:last-child { display: none; }
}


@media (max-width:424px) {
    table.table-articles tbody input.article-custom-price { margin-top: 3px;}
}


/* 
    ------------------------------
    --- Post carousel
    ------------------------------
*/

.post-carousel-container-sup { position: relative; }
.post-carousel-container { position: relative; min-height: 50vh; background-color: #2c2a28; }
.post-carousel-container .post-carousel-item { padding-top: 2rem; padding-bottom: 2rem; width: 100%; position: relative; height: 100%;}
.post-carousel-container .post-carousel-item .row { flex-direction: column-reverse; }
.post-carousel-container .post-carousel-item .row .col-md-8 { flex: 0 0 100%; max-width: 100%; }
.post-carousel-container .post-carousel-item .row .col-md-4 { display: none;}
.post-carousel-container .post-carousel-item img,
.post-carousel-container .post-carousel-item .imageContainer { display: none;}
.post-carousel-container .post-carousel-item .event-date-headline { font-weight: 600; font-size: 1.4rem; margin-bottom: 0.3rem; color: #504e4c;}
.post-carousel-container .post-carousel-item .event-location-headline { font-weight: 300; font-size: 1.1rem; margin-bottom: 1rem; color: #504e4c;}

.post-carousel-container .divider-content-boxed { background-color: rgba(256, 256, 256, 0.8); padding: 2.5rem; padding-top: 3rem; color: #504e4c;}
.post-carousel-container .divider-content-boxed h2 { margin-top: 0;  }
.post-carousel-container .divider-content-boxed a.btn { margin-bottom: 0; margin-top: 1rem; }

.post-carousel-container-sup .owl-nav-button { cursor: pointer; width: 50px; height: 50px; position: absolute; display: block; top: 50%; z-index: 3; transform: scale(0.8) translateY(-50%); border-radius: 8px;}
.post-carousel-container-sup .owl-nav-button.owl-next-button { right: 1rem; background-image: url(../images/arrow_next.png); }
.post-carousel-container-sup .owl-nav-button.owl-prev-button { left: 1rem; background-image: url(../images/arrow_prev.png); }

.post-carousel-container .owl-stage { display: flex; }


@media (max-width:525px) {
    .post-carousel-container .post-carousel-item  { padding-bottom: 4rem; }
    .post-carousel-container-sup .owl-nav-button { transform: scale(0.6); top: auto; bottom: 0.5rem; }
    .post-carousel-container-sup .owl-nav-button.owl-next-button { right: 0.5rem; }
    .post-carousel-container-sup .owl-nav-button.owl-prev-button { left: 0.5rem; }
}


/* 
    ------------------------------
    --- Animation Keyframes
    ------------------------------
*/

@keyframes grow {
    0% { transform: scale(1); opacity: 1; text-shadow: 0px 0px 12px #000000; }
    10% { transform: scale(0.9); opacity: 0.7; text-shadow: 0px 0px 0px #000000;}
    85% { transform: scale(0.9); opacity: 0.7; text-shadow: 0px 0px 0px #000000;}
    100% { transform: scale(1); opacity: 1; text-shadow: 0px 0px 12px #000000; }
}




/* 
    ------------------------------
    --- Sub/shop navigation
    ------------------------------
*/

div.subnavigation ul { display: block; list-style-type: none; margin: 0; padding: 0; margin-bottom: 1rem; }
div.subnavigation ul li { display: inline-block;   }
div.subnavigation ul li:before { display: none; }

div.subnavigation ul li a { display: inline-block; padding: 0.4rem !important; padding-left: 1rem !important; padding-right: 1rem !important; }
div.subnavigation ul li a.active { border-color: #d1000a; background-color: #d1000a; color: #ffffff;}




/* 
    ------------------------------
    --- Dropzone / File upload
    ------------------------------
*/

.error-message { top: 0px; left: 40%;}
.error-message .arrow { width: 100%;}
.tox-tinymce.error { border-color: #d1000a; }
.select2-container--open .select2-dropdown { z-index: 2110;}
select.select2-hidden-accessible.error + .select2 .selection .select2-selection { border-color: #d1000a; }

div.dropzone.dropzone-container { border: 2px solid #4f4f4f; color: #4f4f4f; background: transparent; transition: 0.2s; }
div.dropzone.dropzone-container:hover { border-color: #d1000a;}
div.dropzone.dropzone-container .dz-preview { margin: 0; }
div.dropzone.dropzone-container .dz-preview.dz-image-preview { background: transparent; padding: 0; margin-right: 20px; }
div.dropzone.dropzone-container .dz-preview .dz-details { padding: 0; opacity: 1; margin: 0; color: #4f4f4f; line-height: normal; position: relative; top: auto; left: auto; }
div.dropzone.dropzone-container .dz-preview .dz-details img { margin-bottom: 10px; max-width: 100%; }
div.dropzone.dropzone-container .dz-preview .dz-details .dz-filename span, 
div.dropzone.dropzone-container .dz-preview .dz-details .dz-size span { background: none; background-color: transparent; }
div.dropzone.dropzone-container .dz-preview .dz-details .dz-filename:hover span { border: none; }
div.dropzone.dropzone-container .dz-preview .dz-details .dz-size { margin-bottom: 0; font-size: 11px; }
div.dropzone.dropzone-container .dz-preview .dz-error-message { color: #ffffff; font-size: 11px; }
.dropzone.dropzone-container .dz-preview .dz-error-mark { background-color: #d1000a; position: absolute; left: auto; right: -10px; top: 15px; border-radius: 50%; font-weight: 400;
                                                          padding: 3px; color: #ffffff; font-size: 0.8rem; width: 30px; height: 30px; text-align: center; line-height: 25px; }
.dropzone.dropzone-container .dz-preview .dz-success-mark { background-color: #d1000a; position: absolute; left: auto; right: -10px; top: 15px; border-radius: 50%; font-weight: 400; 
                                                          padding: 3px; color: #ffffff; font-size: 0.8rem; width: 30px; height: 30px; text-align: center; line-height: 25px; }

