/* 
    ------------------------------
    --- Basics to change from Bootstrap
    ------------------------------
*/

:root {
    --primary: #498da1;
    --primaryhover: #57a8c0;
    --secondary: #000000;
    --secondaryhover: #373c3f;
    --tertiary: #373c3f;
    --background: #ffffff;
    --white: #ffffff;
    --text: #000000;
    --text-disabled: #9b9b9b;
    --text-placeholder: #717171;
    --boxshadow: 0 0 5px 0 rgba(0, 0, 0, 0.5);
    --textshadow: 2px 2px 15px rgba(0, 0, 0, 0.7);
    --bs-gutter-x: 2.5rem;
}


b, strong {
    font-weight: 600 !important;
}

html {
    font-size: 1rem;
}

@media (max-width: 768px) {
    html {
        font-size: 0.8rem;
    }
}

.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;
    }
}


.bg-blue,
.bg-eventsteaser, 
.bg-primary { background-color: var(--primary) !important; color: var(--white) !important; }
.bg-dark-blue, 
a.btn.bg-dark-blue, 
.bg-footer { background-color: #373c3f; color: var(--white); }
.bg-light-grey { background-color: #f6f6f6; }

.btn-primary {
    background-color: var(--primary);
    border-color: var(--primary);
    text-transform: uppercase;
    font-size: 0.9rem;
    line-height: 1.5rem;
    font-weight: 600;
    letter-spacing: 1px;
    padding: .375rem 1.5rem;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: var(--primaryhover) !important;
    border-color: var(--primaryhover) !important;
    box-shadow: none;
}

.btn-lg {
    font-size: 1rem;
    letter-spacing: 2px;
}
a.btn-sm,
input[type="button"].btn-sm,
button.btn-sm {  padding-left: 1.5rem; padding-right: 1.5rem; font-size: 1rem; padding-top: 0.5rem; padding-bottom: 0.5rem;}



a.btn-secondary,
input.btn-secondary,
button.btn-secondary { background-color: var(--secondary) !important; border-color: var(--secondary); }

a.btn-secondary:hover,
a.btn-secondary:focus,
a.btn-secondary:active,
input.btn-secondary:hover,
input.btn-secondary:focus,
input.btn-secondary:active,
button.btn-secondary:hover,
button.btn-secondary:focus,
button.btn-secondary:active,
.btn-secondary:not(:disabled):not(.disabled).active, 
.btn-secondary:not(:disabled):not(.disabled):active, 
input.btn-secondary:not(:disabled):not(.disabled).active, 
input.btn-secondary:not(:disabled):not(.disabled):active, 
button.btn-secondary:not(:disabled):not(.disabled).active, 
button.btn-secondary:not(:disabled):not(.disabled):active, 
.show>.btn-secondary.dropdown-toggle,
div#pnlExportTop .dropdown-item.active,
div#pnlExportTop .dropdown-item:active { background-color: var(--secondaryhover) !important; border-color: var(--secondaryhover) !important; } 


/* 
    ------------------------------
    --- Header and menu
    ------------------------------
*/

.sticky.is-sticky {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    z-index: 100;
    width: 100%;
}


.menu {
    transition: 0.3s;
}

.menu.affix,
.menu.menu-shadow {
    background-color: var(--white);
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.5);
}

.menu.menu-shadow { position: sticky !important; top: 0; left: 0; right: 0; }

.menu.affix a.navbar-brand img,
.menu.menu-shadow a.navbar-brand img {
    transition: 0.3s;
    height: 40px;
}

.menu.affix .navbar-nav li a,
.menu.menu-shadow .navbar-nav li a {
    transition: 0.3s;
    color: var(--text);
    margin-bottom: 0;
    font-weight: 600;
}



.navbar-expand .navbar-nav .nav-link {
    font-weight: 600;
}

header nav.mainNavigation span.SubMenuPoint {
    cursor: default;
}

header div.menuOverlay {
    background: rgba(25,35,55,0.9);
    color: var(--white);
    display: none;
    padding-top: 12rem;
    padding-bottom: 2rem;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 40;
}

header div.menuOverlay > .container {
    height: 100%;
    position: relative;
    overflow-y: auto;
}

header nav.mainNavigation {
    text-transform: uppercase;
}

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: 4rem;
}


header nav.mainNavigation {
    text-transform: uppercase;
}

header nav.mainNavigation .mainNavigationPoint {
    display: block;
    font-size: 1.65rem;
    border-bottom: 1px solid var(--white);
    padding: 0.5rem;
}

header nav.mainNavigation .SubMenuPoint {
    display: block;
    font-size: 0.9rem;
    color: var(--white);
    border-bottom: 1px solid var(--white);
    padding: 0.8rem;
    padding-top: 0.65rem;
    padding-bottom: 0.65rem;
    position: relative;
    cursor: pointer;
}

header nav.mainNavigation a.hasSubMenu:not(.mainNavigationPoint):after { content: "+"; float: right; }
header nav.mainNavigation a.hasSubMenu:not(.mainNavigationPoint)[aria-expanded="true"]:after { content: "-"; }

header nav.mainNavigation .SubLevelMenuPoint {
    display: block;
    font-size: 0.9rem;
    border-bottom: 1px solid var(--white);
    padding: 0.8rem;
    text-transform: none;
}

header nav.mainNavigation a,
header nav.mainNavigation a:link,
header nav.mainNavigation a:visited,
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:active { color: var(--white); text-decoration: none;  transition: 0.2s;}

header nav.mainNavigation a:hover,
header nav.mainNavigation a.hasSubMenu:hover { color: var(--primary);  text-decoration: none; }

.navbar .img-logo {
    max-width: 17rem;
}

.navbar-nav li a {
    color: var(--white);
    display: inline-block;
    font-size: 1.1rem;
    font-weight: 500;
    letter-spacing: 0.1rem;
    margin-bottom: 4rem;
    text-transform: uppercase;
}

.navbar-nav li a:hover,
.navbar-nav li a:focus {color: var(--white);}

.navbar-expand .navbar-toggler { display: block; }


@media (max-width: 768px) {
    .menu .hideResponsive {display: none !important;}
    
    header div.menuOverlay { padding-left: 1rem; padding-right: 1rem; padding-top: 6rem; }
    header div.menuOverlay .mainNavigationPoint.hasSubmenu:after { content: "+"; float: right; }
    header div.menuOverlay .mainNavigationPoint.hasSubmenu[aria-expanded="true"]:after {content: "-";}
    header div.menuOverlay .col-md-3 { flex: 0 0 100%; max-width: 100%;}

    header div.menuOverlay .navbar-nav { flex-wrap: nowrap; flex-direction: row; margin-bottom: 1rem; margin-top: 0.5rem; }
    header div.menuOverlay .navbar-nav li { width: 50%; flex-basis: 50%; margin-left: 10px; margin-right: 10px; }
    header div.menuOverlay .navbar-nav li:first-child { text-align: right; }
    header div.menuOverlay .navbar-nav li a { margin: 0; padding: 0; font-weight: 400; }
    header div.menuOverlay .SubMenuPoint { text-transform: none; font-size: 1.1rem; border-bottom: 1px solid rgba(256,256,256,0.3); }
}

@media (max-width: 576px) {
    .navbar-brand { margin-top: 0.1rem; }
    .navbar-brand img { max-height: 60px; }

    .navbar-nav li a { font-size: 1.5rem; margin-bottom: 1rem; }

    .navbar > .container, 
    .navbar > .container-fluid {  align-items: normal;}
}

@media (orientation: landscape) and (max-height: 425px) {
    .navbar-brand img {max-height: 30px !important;}
}



/* 
    ------------------------------
    --- Translator overlay
    ------------------------------
*/

div.translatorOverlay {
    display: none;
    padding: 20px;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 5rem;
    z-index: 40;
}

div.translatorOverlay.full-translator {
    background-color: transparent !important;
    bottom: auto; 
    right: auto;
    width: auto;
    padding: 0;
    z-index: 1040;
    margin-top: 30px;
} 

div.translatorOverlay.full-translator.affixed {
    margin-top: 20px;
} 

div.translatorOverlay .goog-te-gadget { text-align: center; overflow: hidden; }
div.translatorOverlay .goog-te-gadget a { text-decoration: none;}


@media (max-height: 576px) and (orientation: landscape) {
   div.translatorOverlay { bottom: 3rem; }
}



/* 
    ------------------------------
    --- Contact overlay
    ------------------------------
*/

div.contactOverlay {
    color: var(--white);
    display: none;
    padding: 20px;
    padding-top:15vh;
    padding-bottom:15vh;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 40;
    overflow-y: auto;
}

div.contactOverlay h2.footerHeadline {display: none}
div.contactOverlay p {  margin-bottom: 1rem; }
div.contactOverlay p b { display: inline-block; margin-bottom: 0.5rem; margin-top: 1rem;}
div.contactOverlay a { text-decoration: none; display: block; margin-bottom: 10px;}
div.contactOverlay p img { max-width: 30px; max-height: 30px;}



/* 
    ------------------------------
    --- Search overlay
    ------------------------------
*/

div.searchOverlay { color: var(--white); display: none; padding-top: 30vh; position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 40;  overflow-y: auto; }

div.searchOverlay h2.searchHeadline { font-size: 2.5rem; text-transform: uppercase; font-weight: 600; color: var(--white); margin-bottom: 2rem; margin-top: 1rem; } 

header .navbar-nav .nav-link-search,
header .navbar-nav .nav-link-translator { padding: .5rem .5rem; margin-right: .5rem; }






/* 
    ------------------------------
    --- Carousel Slider
    ------------------------------
*/


/* Header slider */
.carousel-main .carousel-item:before { background-image: linear-gradient(to bottom, rgba(93,111,133,0.5), rgba(0,0,0,0));
                                        content: ""; height: 351px; left: 0;  right: 0; top: 0; position: absolute; }

.carousel-main .carousel-item { overflow: hidden; background-size: cover; height: 100vh;}

h2.headingSlider { font-family: Expose; color: var(--white); font-size: 4.5rem; font-weight: 600; margin-bottom: 0; text-align: center;
                   text-shadow: var(--textshadow); text-transform: uppercase; line-height: 4.5rem; }
h3.subTitle { font-family: Expose; color: var(--white); font-size: 3.5rem; font-weight: 400; text-align: center;
              text-shadow: var(--textshadow); text-transform: uppercase; line-height: 3.5rem; margin-top: 2rem; }


div.slider-content { text-align: center; margin-left: 8rem; margin-right: 8rem; height: 100%; display: flex; flex-direction: column; justify-content: center; padding-top: 15%; }
div.slider-content a.btn { margin-left: auto; margin-right: auto; text-align: center; margin-top: 1rem; padding: .75rem 1.5rem;}

.carousel-control-next img { transform: rotate(180deg); }

.carousel-control-next,
.carousel-control-prev { width: 7%; margin-top: 4rem; opacity: 1; }

@media (max-width: 1024px) {
    div.slider-content { padding-top: 20%; }
    
    .carousel-control-next img,
    .carousel-control-prev img { width: 25px; }
}

@media (max-width: 768px) {
    h2.headingSlider { font-size: 2.4rem; line-height: 2.7rem; }
    h3.subTitle { font-size: 1.5rem; line-height: 1.5rem;}
}

@media (max-width: 576px) {
    div.slider-content { margin-left: 2rem; margin-right: 2rem; }

    .carousel-control-next,
    .carousel-control-prev { width: 15%; }

    [data-page="start"] .carousel-control-next,
    [data-page="start"] .carousel-control-prev { margin-top: 0; align-items: end; }
    [data-page="start"] .carousel-control-next img,
    [data-page="start"] .carousel-control-prev img { margin-bottom: 7rem; }
}


/* 
    -----------------------------------
    --- Hotel search/quick book search
    -----------------------------------
*/

.hotel-container { padding: 1rem; padding-top: 1.5rem; padding-bottom: 1.5rem; }
.hotel-container p { font-size: 1.4rem; line-height: 1.6rem; font-weight: 600; margin-bottom: 1rem; margin-top: 0; text-align: center; text-transform: uppercase; color: var(--white); font-family: Expose; }
.hotel-container div.hotel-controls { text-align: center; }
.hotel-container div.hotel-controls select { width: auto; display: inline-block; margin-right: 1.5rem;}
.hotel-container div.hotel-controls input { margin-right: 0; vertical-align: top; }
.hotel-container .form-control.form-control-lg,
.hotel-container .form-select.form-control-lg { padding-left: 1.5rem; padding-right: 3.6rem; font-size: 1.2rem; font-weight: 700; padding-top: 0.7rem; padding-bottom: 0.7rem;
    font-family: Expose; text-transform: uppercase; background-image: url(../images/arrow-dark.svg); background-size: 1.5rem auto;
    background-position-x: calc(100% - 20px); }

@media (max-width: 1280px) {
    .hotel-container div.hotel-controls { display: flex; flex-wrap: nowrap; justify-content: center; }
    .hotel-container div.hotel-controls select { margin-right: 1.5rem; background-size: 1.5rem auto !important; }
    .hotel-container div.hotel-controls input { padding-left: 2rem; padding-right: 2rem;}
}

@media (max-width: 991px) {
    .hotel-container div.hotel-controls {  flex-wrap: wrap; justify-content: space-between; }
    .hotel-container div.hotel-controls select { flex-basis: 35%; width: 35%;}
    .hotel-container div.hotel-controls input { flex-basis: 20%; width: 20%;}
}

@media (max-width: 768px) {
    .hotel-container p {margin-bottom: 1rem; }
    .hotel-container div.hotel-controls {  padding-left: 0; padding-right: 0; }
    .hotel-container div.hotel-controls select { flex-basis:48%; width: 48%; margin-right: 0; margin-bottom: 1rem; padding-left: 1rem !important; padding-right: 3.5rem !important; background-position-x: calc(100% - 10px) !important; }
    .hotel-container div.hotel-controls input { margin-top: 0; align-self: start; justify-self: start; flex-basis: 100%; width: 100%;}
}
@media (max-width: 525px) {
    .hotel-container div.hotel-controls { display: block; padding-left: 0; padding-right: 0; }
    .hotel-container div.hotel-controls select { width: 100%; display: block; }
    .hotel-container div.hotel-controls input { margin-top: 0; flex-basis: 100%; width: 100%;}
}






/* 
    ------------------------------
    --- Quick menu
    ------------------------------
*/

.carousel-menu { height: 6vh;}
 
.owl-prev,
.owl-next {background: none; opacity: 0.7; background-position: center center;}
.owl-prev:hover,
.owl-next:hover,
.owl-prev:focus,
.owl-next:focus {opacity: 1; background-position: center center;}
.owl-prev { background-image: url("../Content/images/quickmenu-prev.png");}
.owl-next {background-image: url("../Content/images/quickmenu-next.png");}

.quickmenu-item a {
    font-size: 1.1rem;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 1px;
    display: block;
    line-height: 6vh;
    color: var(--white);
    text-decoration: none;
}

@media (max-width: 1024px) {
    .quickmenu-item a { font-size: 1.3rem; }
}

@media (max-width: 1023px) and (orientation: landscape) {
    .carousel-menu { height: 10vh;}
    .quickmenu-item a { line-height: 10vh; }
}

.quickmenu-item a:link,
.quickmenu-item a:active,
.quickmenu-item a:visited {color: var(--white); text-decoration: none;}
.quickmenu-item a:hover { color: #dddddd; text-decoration: none; }



/* 
    ------------------------------
    --- Breadcrumb
    ------------------------------
*/


.breadcrumbs { margin-bottom: 3rem; }
.breadcrumbs > div { display: flex; flex-direction: column; justify-content: center; align-content: center; }

.breadcrumbs .breadcrumb-menu {line-height: 1.5rem; }

.breadcrumbs .breadcrumb-menu a {
    display: inline-block;
    padding-left: 0.25rem;
    padding-right: 0.25rem;
}

.breadcrumbs .breadcrumb-menu span.NoLink {
    display: inline-block;
    padding-left: 0.25rem;
    padding-right: 0.25rem;
}

.breadcrumbs a.btn.btn-sm { margin-right: 0 !important; max-width: 120px; }


@media (max-width: 576px) {
    .breadcrumbs { margin-top: 0; }
    .breadcrumbs .exportWebpagePdf i { display: none; }
}

/* 
    ------------------------------
    --- Gallery
    ------------------------------
*/


.row-gallery div p.caption {
    margin-bottom: 1.5rem;
}

.row-gallery div a {
    position: relative;
    display: block;
}

.row-gallery div a:after {
    color: var(--white);
    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 {
    opacity: 1;
}



/* 
    ------------------------------
    --- Sections for news items
    ------------------------------
*/
section {
    padding-bottom: 1rem;
    position: relative;
}

section p {
    text-align: center;
}

section p.news-headline {
    font-weight: 600;
    font-size: 1.9rem;
    text-transform: uppercase;
    line-height: 2.1rem;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}

section p.news-anchor {
    font-weight: 600;
}

section p.news-anchor a,
section p.news-anchor a:link,
section p.news-anchor a:visited,
section p.news-anchor a:active { transition: 0.2s;}


section.poststeaser { width: 100%;}
section.poststeaser h4 { font-weight: 600;  font-size: 1.9rem; text-transform: uppercase; line-height: 2.1rem;  margin-top: 1.5rem; margin-bottom: 1.5rem; text-align: center; }

.postsCategoryTeaser .poststeaserColumn { display: flex; }
.postsCategoryTeaser .poststeaserColumn section.Events .post-hardfacts { position: relative; }
.postsCategoryTeaser .poststeaserColumn section.Events .ticketOnlineBookingIcon { width: 3.5rem;  display: inline-block; padding: 0;  position: absolute; right: 15px;  top: 4px; }
.postsCategoryTeaser .poststeaserColumn section.Events .ticketOnlineBookingIcon img { max-width: 100%;  height: auto; padding: 0; vertical-align: middle; }

.postsCategoryTeaser .poststeaserColumn section.Offers, 
.postsCategoryTeaser .poststeaserColumn section.Events { box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.5); padding-bottom: 5rem;  position: relative; width: 100%; }


.postsCategoryTeaser .poststeaserColumn section.Offers > *, 
.postsCategoryTeaser .poststeaserColumn section.Events > *
{
    padding-left: 15px;
    padding-right: 15px;
    text-align: center;
}

.postsCategoryTeaser .poststeaserColumn section.Offers img,
.postsCategoryTeaser .poststeaserColumn section.Offers .row,
.postsCategoryTeaser .poststeaserColumn section.Offers b,
.postsCategoryTeaser .poststeaserColumn section.Offers a,
.postsCategoryTeaser .poststeaserColumn section.Offers .carousel,
.postsCategoryTeaser .poststeaserColumn section.Events img,
.postsCategoryTeaser .poststeaserColumn section.Events .row,
.postsCategoryTeaser .poststeaserColumn section.Events b,
.postsCategoryTeaser .poststeaserColumn section.Events a,
.postsCategoryTeaser .poststeaserColumn section.Events .carousel
{
    padding-left: 0;
    padding-right: 0;
}

.postsCategoryTeaser .poststeaserColumn section.Offers .carousel,
.postsCategoryTeaser .poststeaserColumn section.Offers .carousel .carousel-inner,
.postsCategoryTeaser .poststeaserColumn section.Offers .carousel .carousel-inner .carousel-item,
.postsCategoryTeaser .poststeaserColumn section.Events .carousel,
.postsCategoryTeaser .poststeaserColumn section.Events .carousel .carousel-inner,
.postsCategoryTeaser .poststeaserColumn section.Events .carousel .carousel-inner .carousel-item
{
    height: 265px !important;
}

.postsCategoryTeaser .poststeaserColumn section.Offers h4, 
.postsCategoryTeaser .poststeaserColumn section.Events h4 {
    margin-top: 0.5rem;
    text-transform: none;
    font-size: 1.5rem;
    line-height: 1.75rem;
}

.postsCategoryTeaser .poststeaserColumn section.Offers p.news-anchor, 
.postsCategoryTeaser .poststeaserColumn section.Events p.news-anchor {
    margin-bottom: 0;
    margin-top: 1rem;
    position: absolute;
    bottom: 15px;
    left: 15px;
    right: 15px;
    padding-left: 0;
    padding-right: 0;
}

.postsCategoryTeaser .poststeaserColumn section.Offers p.news-anchor a, 
.postsCategoryTeaser .poststeaserColumn section.Events p.news-anchor a {
    display: block;
    padding: 8px;
}

.postsCategoryTeaser .poststeaserColumn section.Offers h3, 
.postsCategoryTeaser .poststeaserColumn section.Events h3,
.postsCategoryTeaser .poststeaserColumn section.Offers h4, 
.postsCategoryTeaser .poststeaserColumn section.Events h4,
.postsCategoryTeaser .poststeaserColumn section.Offers p, 
.postsCategoryTeaser .poststeaserColumn section.Events p
{
    padding-left: 15px;
    padding-right: 15px;
}

.postsCategoryTeaser .poststeaserColumn section.Offers a.btn, 
.postsCategoryTeaser .poststeaserColumn section.Events a.btn
{
    padding-left: 15px;
    padding-right: 15px;
    margin-right: 0;
}

.postsCategoryTeaser section.Offers:after, .postsCategoryTeaser section.Events:after {
    display: none;
}

@media (max-width: 576px) {
    .postsCategoryTeaser .poststeaserColumn section.Offers, 
    .postsCategoryTeaser .poststeaserColumn section.Events {
        margin-left: 1rem;
        margin-right: 1rem;
    }

    .postsCategoryTeaser .poststeaserColumn { padding-left: 0; padding-right: 0;}
    .postsCategoryTeaser .poststeaserColumn section.Offers,
    .postsCategoryTeaser .poststeaserColumn section.Events {
        -webkit-box-shadow: 0px 0px 0px 0px rgba(0,0,0,0);
        -moz-box-shadow: 0px 0px 0px 0px rgba(0,0,0,0);
        box-shadow: 0px 0px 0px 0px rgba(0,0,0,0);
        border-bottom: 1px solid rgba(0,0,0,.1);
        margin-top: 0;
    }
    .postsCategoryTeaser .poststeaserColumn section.Offers p.news-anchor, 
    .postsCategoryTeaser .poststeaserColumn section.Events p.news-anchor {
        margin-top: 3rem;
        left: 0;
        right: 0;
    }
    .postsCategoryTeaser .poststeaserColumn section.Offers *, 
    .postsCategoryTeaser .poststeaserColumn section.Events * {
        padding-left: 0;
        padding-right: 0;
    }
}


@media (max-width: 1024px) {
    .postsCategoryTeaser .poststeaserColumn section.Offers p.news-anchor, 
    .postsCategoryTeaser .poststeaserColumn section.Events p.news-anchor {
        line-height: 1.2 !important;
    }
}

p.news-show-all {
    text-transform: uppercase;
    font-weight: 600;
    font-size: 1.2rem;
    text-align: center;
    margin-top: 1.5rem;
}

@media (max-width: 576px) {
    .postsCategoryTeaser .poststeaserColumn { border-bottom: 1px solid #cccccc; margin-bottom: 1rem; }
    .postsCategoryTeaser .poststeaserColumn:last-child { border-bottom: none; margin-bottom: 0; }
    .postsCategoryTeaser .poststeaserColumn [data-row-type="IMG"] { display: none; }
    .postsCategoryTeaser .poststeaserColumn h2,
    .postsCategoryTeaser .poststeaserColumn h3,
    .postsCategoryTeaser .poststeaserColumn h4,
    .postsCategoryTeaser .poststeaserColumn h5,
    .postsCategoryTeaser .poststeaserColumn h6,
    .postsCategoryTeaser .poststeaserColumn p { text-align: left !important; margin-top: 0 !important; margin-bottom: 0.5rem !important;  }
}




/* 
    ------------------------------
    --- Large blockquote row
    ------------------------------
*/

blockquote {
    font-size: 2rem;
    font-weight: 300;
    margin-top: 3.5rem;
    margin-bottom: 3.5rem;
    margin-left: auto;
    margin-right: auto;
    padding-top: 2rem;
    padding-bottom: 2rem;
    position: relative;
    text-align: center;
    width: 40% !important;
    position: relative;
}

blockquote.hasCitation {
    margin-bottom: 8.5rem;
}


blockquote:before {
    content: "";
    background-repeat: no-repeat;
    background-position: left top;
    background-size: cover;
    position: absolute;
    left: -7rem;
    top: 0;
    height: 5rem;
    width: 5rem;
}

blockquote:after {
    content: "";
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: cover;
    position: absolute;
    right: -7rem;
    bottom: 0;
    height: 5rem;
    width: 5rem;
}

blockquote figcaption {
    font-size: 1.3rem;
    font-style: normal;
    text-transform: uppercase;
    display: block;
    position: absolute;
    padding-top: 2rem;
    bottom: -5rem;
    left: 0;
    right: 0;
}



@media (max-width: 768px) {
    blockquote {
        width: 60% !important;
    }

    blockquote:before,
    blockquote:after {
        height: 3.5rem;
        width: 3.5rem;
    }

    blockquote p{
        font-size: 2rem;
    }
}


@media (max-width: 576px) {
    blockquote {
        width: 90% !important;
        padding-top: 4rem;
        padding-bottom: 4rem;
    }

    blockquote:before,
    blockquote:after {
        height: 2.5rem;
        width: 2.5rem;
    }

    blockquote:before {
        left: 0;
        top: 0;
    }

    blockquote:after {
        right: 0;
        bottom: 0;
    }
}



/* 
    ------------------------------
    --- Jumbotron
    ------------------------------
*/

.jumbotron { background-position: center; background-repeat: no-repeat; background-size: cover; height: 50vh; overflow: hidden; position: relative; z-index: 10;
    text-shadow: var(--textshadow); margin: 0; display: flex;  align-items: center; justify-content: center;}
.jumbotron:hover div.image-content { transform: scale(1.1); }

.jumbotron h2.heading { font-family: Expose; color: var(--white); font-size: 4.5rem; line-height: 4.7rem; font-weight: 400; text-align: center; text-shadow: var(--textshadow); text-transform: uppercase; }
.jumbotron h3.heading { font-family: Expose; color: var(--white); font-size: 3rem; line-height: 3.2rem; font-weight: 400; text-align: center; text-shadow: var(--textshadow); text-transform: uppercase; }


@media (max-width: 576px) {
    .jumbotron { height: 30vh !important; }
    .jumbotron h2.heading { font-size: 2.5rem; line-height: 2.7rem; }
    .jumbotron h3.heading { font-size: 1.5rem; line-height: 1.7rem; }

}


/* 
    ------------------------------
    --- Image containers
    ------------------------------
*/

.thirdImageContainer { position: relative; overflow: hidden; color: var(--white); margin-bottom: 0.6rem; clip-path: polygon(0 0%, calc(100% - 4rem) 0%, 100% 4rem, 100% 100%, 0 100%);}
.thirdImageContainer .item-container { position: absolute; top: 0; left: 0; right: 0.6rem; bottom: 0; overflow: hidden; }

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; overflow: hidden; }

.thirdImageContainer:nth-child(3n) div.item-container { right: 0; }
.thirdImageContainer:hover div.item-container div.image-content { transform: scale(1.1); }

.thirdImageContainer a, 
.thirdImageContainer div.textPanel { display: block; position: absolute; left: 0; top: 0; bottom: 0; right: 0; line-height: 2.2rem; color: var(--white); color: var(--white); font-size: 2rem;
                                     font-weight: 500; text-transform: uppercase; text-decoration: none; text-shadow: var(--textshadow); font-family: 'Expose';}

.thirdImageContainer a:link,
.thirdImageContainer a:visited,
.thirdImageContainer a:hover,
.thirdImageContainer a:active { color: var(--white); }

.thirdImageContainer a div.linkPanel { position: absolute; bottom: 0; padding-bottom: 6rem; padding-left: 3rem; padding-right: 6rem; top: auto;  font-family: 'Expose'; }
.thirdImageContainer .item-container div.ornament { position: absolute;  left: 0;  right: 0;  bottom: 0;  height: 5.1rem; margin-right: 3rem; background-color: var(--white);
                                                    clip-path: polygon(0 0%, calc(100% - 2.5rem) 0%, 100% 2.5rem, 100% 100%, calc(100% - 5px) 100%, calc(100% - 5px) calc(2.5rem + 3px), calc(100% - 2.5rem - 3px) 5px, 0 5px);}

@media (max-width: 1024px) {
    .thirdImageContainer { width: 50%; }
    .thirdImageContainer:nth-child(3n) div.item-container { right: 0.6rem; }
    .thirdImageContainer:nth-child(2n) div.item-container { right: 0; }
}

@media (max-width: 768px) {
    .thirdImageContainer { width: 100%; }
    .thirdImageContainer:nth-child(3n) div.item-container { right: 0; }
}

@media (max-width: 525px) {
    .thirdImageContainer .item-container { right: 0;  }
    [data-type="IMAGEMENU"] .container,
    [data-type="IMAGEMENU"] .container .row,
    [data-type="IMAGEMENU"] .container .row > * { padding-left: 0; padding-right: 0; margin-left: 0; margin-right: 0;  }
    .thirdImageContainer a, 
    .thirdImageContainer div.textPanel { font-size: 1.6rem; line-height: 2rem; }
    
    .thirdImageContainer { height: 25vh !important; }
    .thirdImageContainer a div.linkPanel { padding-bottom: 4.5rem; }
    .thirdImageContainer .item-container div.ornament { bottom: -1.5rem;}
}







/* 
    ------------------------------
    --- Events
    ------------------------------
*/



/* Event list */
.event-title {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: flex-start;
    align-items: stretch;
    margin-bottom: 1rem;
}

.event-more-infos {
    margin-top: 10px;
    margin-bottom: 10px;
}

.event-title-data .ticketOnlineBookingIcon {
    position: absolute;
    top: -5px;
    right: -5px;
    width: 4rem;
}

.event-title-data .ticketOnlineBookingIcon object, .event-title-data .ticketOnlineBookingIcon img {
    width: 100%;
}

img.event-icon {
    margin-right: 1rem;
    margin-bottom: 1rem;
}
p.event-headline-date {
    text-transform: uppercase;
    font-size: 1.2rem;
    margin: 0;
}

p.event-headline-date.onlineBookable, .event-headline-title.onlineBookable {
    margin-right: 60px;
}

.container-event-checkbox { text-align: center; margin-right: 10px; }
.container-event-checkbox .form-check-label::after, 
.container-event-checkbox .form-check-label::before { width: 1.25rem; height: 1.25rem; }

.event-list { overflow: hidden; }
.event-list .row > div > div { border: 2px solid transparent; }
.event-checked > div:before { position: absolute; right: 10px; bottom: 0; content: "\f00c"; font-family: "Font Awesome 5 Pro"; font-weight: 300; font-size: 2rem; }



.eventsteaser.swimmingpool p.event-headline-date {
    font-weight: normal;
    line-height: 1.3rem;
    font-size: 1.0rem;
}


.event-headline-title {
    text-transform: uppercase;
    font-size: 1.2rem;
    line-height: 1.5rem;
    margin: 0;
    padding-right: 10px;
    font-weight: 600;
}

.event-headline-title.eventCanceled {
    font-weight: normal;
}

div.event-infobox-horizontal {
    margin-bottom: 100px;
    margin-top: 2rem;
}

p.event-headline-subtitle {
    font-size: 0.9rem;
    margin-bottom: 0;
}
.event-list-box p { margin-bottom: 0;}


.event-image { flex-basis: 25%; }
.event-highlights .event-image { flex-basis: 17%; }
.ticketOnlineBookingIcon { max-width: 5rem;}

.event-list .event-title-data {
    font-weight: 600;
    flex-basis: 75%;
    position: relative;
}

.event-list .row > div > div:after {
    content: "";
    border-bottom: 0.1rem solid #b0b5b8;
    position: absolute;
    left: 7px;
    right: 7px;
    bottom: 0;
}

.event-list .row > div { padding-left: 7px;  padding-right: 7px; position: relative; }
.event-list .row > div > div { padding: 15px; height: 100%; position: relative; }
.event-list.event-highlights .row > div > div:after,
.event-list .row > div > div.highlightedEventInList:after { border: none; }
.event-list .row:last-child > div:after { display: none; }

.event-highlights { padding-top: 1.0rem; padding-bottom: 1.5rem;}

.eventsteaser div.highlightedEventInList,
.eventsteaser div.highlightedEventInList p,
div.event-highlights p.event-headline-date,
div.event-highlights p,
.event-list .highlightedEventInList p {
    color: var(--white);
}


@media (max-width: 1024px) {
    .event-list .row > div > div { padding: 10px;}
    img.event-icon {margin-right: 0.5rem; margin-bottom: 0.5rem;}
}

@media (max-width: 768px) {
    .event-image { flex-basis: 50%; margin-left: auto; margin-right: auto; text-align: center;}
    .event-image img { max-height: 80px; margin-left: auto; margin-right: auto; float: none; }
    .event-list .event-title-data { flex-basis: 100%;}
    .event-headline-title {font-size: 1.5rem; margin-bottom: 1rem;}
}

@media (max-height: 425px) and (orientation: landscape) {
    .event-image { flex-basis: 20% !important; text-align: left; padding-right: 0.5rem;}
    .event-image img { max-height: 80px; float: none; }
    .event-list .event-title-data { flex-basis: 80% !important;}
    .event-title + p { width: 80%; margin-left: 20%;}
}

@media (max-width: 576px) {
    .event-highlights .event-image,
    .event-image { flex-basis: 15%; text-align: left; margin-left: 0; }
    .event-image img { max-height: 80px; float: none; }
    .event-list .event-title-data { flex-basis: 82%;}
    .event-headline-title {font-size: 1.5rem; margin-bottom: 1rem; padding-right: 0;}
    .event-list .row > div { padding-left: 0; padding-right: 0;}
    .event-list .row > div > div { padding-left: 20px; padding-right: 20px; }
    .event-title { margin-bottom: 0.5rem; }
    
    .event-list {padding-top: 1rem;}
    .event-list, .event-list .col-md-6,
    .event-list, .event-list .col-md-4 {margin-bottom: 0rem;}

    .event-highlights .row > div:last-child { margin-bottom: 0; border-bottom: none; }
    .event-list :last-child > div:last-child:after { display: none; }
    .event-highlights { padding-top: 1rem; padding-bottom: 0; }
    .event-list.event-highlights .row > div { border-bottom: 0.1rem solid var(--white); }
    
    .event-further-information { width: 82%; margin-left: auto; }
    .event-further-information p { display: none;}
    .event-further-information .more-information-link { margin-top: 0; }
}




/* Event calendar */
div.CityHallAssignmentPlan .fc-content { background-color: transparent; }
div.CityHallAssignmentPlan { margin-bottom: 30px; }
div.CityHallAssignmentPlan .fc-head { padding-top: 10px !important; }

div.CityHallAssignmentPlan .fc-day-header {
    padding: 0.5rem;
    text-transform: uppercase;
    font-weight: 400;
}

div.CityHallAssignmentPlan .fc .fc-toolbar { padding-left: 0; padding-right: 0; }
div.CityHallAssignmentPlan .fc-day-grid-event .fc-content { white-space: normal;}
div.CityHallAssignmentPlan .fc-day-top { padding: 0.5rem; }
div.CityHallAssignmentPlan .fc-day-top .fc-day-number { font-size: 1.2rem;}

div.CityHallAssignmentPlan button.fc-button {
    text-transform: uppercase;
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 1px;
    padding: .375rem 1rem;
    display: inline-block;
    text-align: center;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border: none;
    border-radius: .25rem;
    transition: color .15s;
    color: var(--white);
    margin-left: 3px;
}

div.CityHallAssignmentPlan button.fc-button.fc-state-default { color: var(--white); }
div.CityHallAssignmentPlan .fc .fc-row .fc-content-skeleton table,
div.CityHallAssignmentPlan .fc .fc-row .fc-content-skeleton td,
div.CityHallAssignmentPlan .fc .fc-row .fc-helper-skeleton td { border-color: #dddddd; }
div.CityHallAssignmentPlan td.fc-event-container { padding: 0.3rem; }

div.CityHallAssignmentPlan td.fc-today .fc-day-number:before {
    content: "Heute";
    padding-right: 0.8rem;
    color: #888888;
    font-weight: 300;
    font-size: 1rem;
}

div.CityHallAssignmentPlan a.fc-event,
div.CityHallAssignmentPlan a.fc-event:link,
div.CityHallAssignmentPlan a.fc-event:visited,
div.CityHallAssignmentPlan a.fc-event:hover,
div.CityHallAssignmentPlan a.fc-event:active {
    color: var(--white) !important;
    text-decoration: none !important;
    cursor: pointer;
    padding: 0.2rem;
}

div.CityHallAssignmentPlan a.fc-not-start {
    margin-left: -0.3rem !important;
    padding-left: 0.5rem !important;
}

div.CityHallAssignmentPlan a.fc-not-end {
    margin-right: -0.3rem !important;
    padding-right: 0.5rem !important;
}

div.CityHallAssignmentPlan a.privateEvent:link,
div.CityHallAssignmentPlan a.privateEvent:visited,
div.CityHallAssignmentPlan a.privateEvent:hover,
div.CityHallAssignmentPlan a.privateEvent:active {
    cursor: default;
}


/* 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;
}

.card.eventInfobox .card-text .infobox-descriptor,
.card.bg-transparent .card-text .infobox-descriptor { letter-spacing: 2px;}

.card.eventInfobox .card-text .infobox-descriptor,
.card.bg-transparent .card-text .infobox-descriptor {
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 0;
}

.card.bg-transparent .card-text div.infobox-descriptor {
    margin-bottom: 5px;
    margin-top: 30px;
}

.card.eventInfobox .card-text p {
    color: var(--white);
}

.card.eventInfobox .card-text a,
.card.eventInfobox .card-text a:link,
.card.eventInfobox .card-text a:visited,
.card.eventInfobox .card-text a:active {
    color: var(--white) !important;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.card.eventInfobox .card-text a:hover {
    color: var(--white) !important;
    text-decoration: none;
}

.card.eventInfobox .card-text span.mark-searchterm { color: var(--primary) !important;}


.card.eventInfobox + a.btn {
    color: var(--white);
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 2px;
}


/* Event search */
.eventSearchRow {
    padding-top: 1rem;
    padding-bottom: 1.5rem;
    margin-bottom: 2px;
}

/* Create own flexbox behaviour, bootstrap does not provide classes for having five columns in a row */
.eventSearchRow .pnlSubcategories {
    display: flex;
    flex-wrap: wrap;
}

.eventSearchRow p {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
}

.eventSearchRow .form-check {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%;
    margin-top: 0;
    margin-bottom: 0.8rem;
}


@media (max-width: 1024px) {
    .CategoryHeadline{ font-size: 1.3rem; }
    .eventSearchRow .form-check {-ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%;}
    .eventSearchRow .form-check label { font-size: 1.2rem; }
}

@media (max-width: 1024px) {
    .eventSearchRow .form-check { flex: 0 0 50%; max-width: 50%; }
}

@media (max-width: 525px) {
    .eventSearchRow .form-check { flex: 0 0 100%; max-width: 100%; margin-bottom: 0.3rem;}
}


.Subheadline {
    color: var(--white);
    text-transform: uppercase;
    font-size: 1.3rem;
    margin-bottom: 0.5rem;
    letter-spacing: 2px;
    font-weight: 400;
}

.CategoryHeadline {
    color: var(--primary);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
    margin-bottom: 0.5rem;
    margin-top: 1.2rem;
}

.textboxWhite {
    display: inline-block;
    font-weight: 400;
    color: var(--text);
    text-align: left;
    vertical-align: middle;
    -webkit-user-select: auto;
    -moz-user-select: auto;
    -ms-user-select: auto;
    user-select: auto;
    background-color: var(--white);
    border: 1px solid transparent;
    padding: .375rem .75rem;
    font-size: 1rem;
    line-height: 1.5;
    border-radius: .25rem;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

.textboxWhite::placeholder {
    color: var(--text);
    font-weight: 600;
}

.textboxWhite { width: 25% } 
.textboxLong { width: 50%; }
.full-width {width: 100% }


@media (max-width: 576px) {
    .textboxWhite,
    .textboxLong { width: 100%; }
    .eventSearchRow * { font-size: 1.2rem; }
}

.eventsearch-buttoncontainer { display: flex; flex-wrap: nowrap; justify-content: start; }
.eventsearch-buttoncontainer input[type="button"].btn { flex-basis: 25%; margin-right: 1rem; }
.eventsearch-buttoncontainer input[type="button"].btn:last-child { margin-right: 0; }

@media (max-width: 1439px) {
    .eventsearch-buttoncontainer { flex-wrap: wrap; justify-content: space-between; }
    .eventsearch-buttoncontainer input[type="button"].btn { flex-basis: 45%; margin-bottom: 1rem; }
    .eventsearch-buttoncontainer input[type="button"].btn:nth-child(2n) { margin-right: 0;}
}

@media (max-width: 991px) {
    .eventsearch-buttoncontainer { margin-bottom: 1rem;}
}

@media (max-width: 374px) {
    .eventsearch-buttoncontainer input[type="button"].btn { flex-basis: 45%; margin-right: 0; font-size: 0.9rem; }
}



/* 
    ------------------------------
    --- Call to action
    ------------------------------
*/

.row.cta-button { position: fixed; right: 1rem; bottom: 5rem; z-index: 50; width: 400px; margin-top: 0 !important; }
.row.cta-button div a.btn { background-color: var(--secondary) !important; margin-right: 0 !important; width: 100%; font-size: 1.25rem; line-height: 1.5rem; 
                            box-shadow: 2px 2px 9px 0px rgba(0, 0, 0, 0.5) !important; }
.row.cta-button div a.btn:hover { background-color: var(--secondary) !important; }

@media (max-width: 576px) {
    .row.cta-button  { left: 1rem; right: 6rem; bottom: 1rem; width: auto; } 
    .row.cta-button div a.btn { font-size: 1rem; hyphens: auto; }
    .row.cta-button div a.btn br { display: none; }
}


/* 
    ------------------------------
    --- Custom Collapse Trigger
    ------------------------------
*/

@media (max-width: 768px) {
    .collapse-trigger { cursor: pointer; display: flex; flex-direction: row; align-items: center; justify-content: center; }
    .collapse-trigger:after { content: "+ anzeigen"; font-size: 1.2rem; margin-left: 10px; background-color: var(--primary); color: var(--white); display: inline-block;
                                padding: 6px; padding-left: 10px; padding-right: 10px; text-align: center; cursor: pointer; }
    .collapse-trigger.container-opened:after { content: "- ausblenden"; }
}


/* 
    ------------------------------
    --- Image zoom
    ------------------------------
*/

button.fancybox-arrow--left:before {
    content: 'f054';
    font-family: FontAwesome;
}




/* 
    ------------------------------
    --- Accordion
    ------------------------------
*/

.collapsiblepanel .card { border: none; background: none; margin-bottom: 0; }
.collapsiblepanel .card .card-header { border: none; padding: 0;  background: none; position: relative; }
.collapsiblepanel .card .card-header .btn { width: 100%; text-align: left; clip-path: polygon(0 0, calc(100% - 0.75rem) 0, 100% 0.75rem, 100% 100%, 0 100%); background-color: var(--primary);
                                            padding-left: 1rem; padding-top: 0.75rem; padding-bottom: 0.75rem; margin-right: 0; padding-right: 3rem;}
.collapsiblepanel .card .card-header .btn .accordion-icon img { max-height: 35px; margin-bottom: 0;}
.collapsiblepanel .card .card-header .btn:focus { box-shadow: none; outline: none; }

.collapsiblepanel .card .card-header .btn:after { content: ""; background-position: center center; background-size: 1.5rem; width: 1.5rem; height: 1.5rem; position: absolute; right: 1rem; top: 0.65rem; z-index: -10; 
    background-image: url(../images/arrow-white-down.svg);  background-repeat: no-repeat; }
.collapsiblepanel .card .card-header .btn[aria-expanded="true"]:after { background-image: url(../images/arrow-white-up.svg);  }

.collapsiblepanel .card .card-body { padding-left: 1.5rem; padding-right: 1.5rem; }
.collapsiblepanel .card .card-body .btn,
.collapsiblepanel .card .card-body .btn:link,
.collapsiblepanel .card .card-body .btn:visited { background-color: var(--text); }
.collapsiblepanel .card .card-body .btn:active,
.collapsiblepanel .card .card-body .btn:focus,
.collapsiblepanel .card .card-body .btn:hover { background-color: var(--text) !important; }

.collapsiblepanel.collapsiblepanel-accommodation .card-body { font-size: 1rem; line-height: 1.5rem; color: var(--white); }
.collapsiblepanel .card-body p,
.collapsiblepanel .card-body ul li,
.collapsiblepanel .card-body ol li,
.collapsiblepanel .card-body h1,
.collapsiblepanel .card-body h2,
.collapsiblepanel .card-body h3,
.collapsiblepanel .card-body h4,
.collapsiblepanel .card-body h5,
.collapsiblepanel .card-body h6,
.collapsiblepanel .card-body table tr td,
.collapsiblepanel .card-body table tr th,
.collapsiblepanel .card-body a,
.collapsiblepanel .card-body a:link,
.collapsiblepanel .card-body a:visited,
.collapsiblepanel .card-body a:hover,
.collapsiblepanel .card-body a:focus,
.collapsiblepanel .card-body a:active { color: var(--white) !important; }
.collapsiblepanel .card-body table tr td,
.collapsiblepanel .card-body table tr th { background-color: var(--primary); }





/* 
    ------------------------------
    --- Search page
    ------------------------------
*/

.searchContainer form { display: flex; justify-content: space-between; flex-direction: row; }

.searchContainer form input[type="text"] { border: 2px solid var(--secondary) !important; flex: 0 0 85%; max-width: 85%;}
.searchContainer form input[type="text"]:focus { border: 2px solid var(--white);}

.searchContainer form button { flex: 0 0 10%; max-width: 10%; margin-right: 0; }
.searchContainer form button.buttonSearch:hover,
.searchContainer form button.buttonSearch:focus,
.searchContainer form button.buttonSearch:active { outline: none; }


@media (max-width: 1199px) {
    .searchContainer form input[type="text"] { flex: 0 0 80%; max-width: 80%;}
    .searchContainer form button { flex: 0 0 18%; max-width: 18%; }
}
@media (max-width: 576px) {
    .searchContainer form { display: flex; justify-content: start; flex-direction: column; }
    .searchContainer form input.textboxSearch { flex: 0 0 100%; max-width: 100%; }
    .searchContainer form button.btn { flex: 0 0 100%; max-width: 100%; margin-top: 1rem;}
}



/* 
    ------------------------------
    --- Modules
    ------------------------------
*/

.eventsteaser,
.eventsearch,
.breadcrumbs {
    margin-top: 20px;
}
.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%);
}



/*Icons im Text, Info Windows etc.*/
.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;}


/* 
    ------------------------------
    --- Forms
    ------------------------------
*/
.formContainer button[type="submit"] {
    font-weight: 600;
    padding: 0.6rem;
    font-size: 1.05rem;
    border: none !important;
    border-radius: 0.5rem;
    vertical-align: top;
    letter-spacing: 0.1rem;
    padding-left: 1rem;
    padding-right: 1rem;
    text-transform: uppercase
}

.form-check { position: relative; }

[data-form], form[data-form] { overflow: hidden; position: relative; }
[data-form] div.email-regular { position: absolute; right: -150vw;}

/* 
    ------------------------------
    --- Content formatting
    ------------------------------
*/
/* Container */
.container[data-type='MAINCONTENTCONTAINER'] { padding-bottom: 3rem; padding-top: 3rem; }
.container[data-type='MAINCONTENTCONTAINER'].containerCompact { padding-bottom: 2rem; padding-top: 2rem; }

h1, h2, h3, h4 {
    word-break: break-word !important;
    overflow-wrap: break-word !important;
}



.container[data-type='MAINCONTENTCONTAINER'] a:not(.btn),
.container[data-type='MAPTEASER'] a:not(.btn) {
    transition: .2s;
}

.container[data-type='MAINCONTENTCONTAINER'] img,
.container[data-type='MAINCONTENTCONTAINER'] .imageContainer,
.container[data-type='MAINCONTENTCONTAINER'] .carousel {
    margin-bottom: 1rem;
}

.row.row-gallery .col-md-4 { padding-left: 0.5rem; padding-right: 0.5rem;}
.row.row-gallery div.gallery-item-container { height: 150px;}

.container[data-type='MAINCONTENTCONTAINER'] .carousel-main .carousel-item:before {
    background-image: none;
}

.btn.focus,
.btn:focus {
    outline: 0;
    box-shadow: none !important;
}



@media (max-width: 768px) {
   p,
   .breadcrumbs .breadcrumb-menu,
   .collapsiblepanel .card .card-header .btn,
   .container[data-type='MAINCONTENTCONTAINER'] ul,
   .container[data-type='MAINCONTENTCONTAINER'] a.btn,
   .container[data-type='MAINCONTENTCONTAINER'] table { font-size: 1.2rem;}
}


div.col_212529 h1, 
div.col_212529 h2,
div.col_212529 h3, 
div.col_212529 h4,
div.col_212529 h5, 
div.col_212529 h6,
div.col_212529 p, 
div.col_212529 ul li,
div.col_212529 ol li, 
div.col_212529 table tr td, 
div.col_212529 table tr th { color: #212529;}
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 { color: var(--white);}

/* 
    ------------------------------
    --- Contact form
    ------------------------------
*/

input.form-control,
textarea.form-control,
select.form-select {
    border-radius: 0;
}

div[data-form] .floating-label-wrap {
    margin-bottom: 5px;
    position: relative;
}


div[data-form] .floating-label-wrap label {
    color: var(--text);
    position: absolute;
    top: .65rem;
    right: .6rem;
    left: 0.75rem;
    transition: 0.5s;
    margin-bottom: 0;
    line-height: normal;
    background-color: var(--white);
}

div[data-form] .form-check label,
div[data-form] .form-check label a,
div[data-form] .form-check label a:link,
div[data-form] .form-check label a:active,
div[data-form] .form-check label a:hover,
div[data-form] .form-check label a:focus,
div[data-form] .form-check label a:visited {
    color: var(--white) !important;
}

.form-check input:focus { box-shadow: none; }
.form-check .form-check-input[type=checkbox] { border-radius: 0 !important; }
.form-check.form-switch .form-check-input[type=checkbox] { border-radius: 2em !important; }
[data-form] .form-check-input:checked,
.form-check-input:checked { background-color: var(--secondary); border-color: var(--secondary);}

div[data-form] input,
div[data-form] textarea {
    color: var(--text);
    padding-top: .9rem;
    height: auto;
    line-height: normal;
    border-radius: 0 !important; 
}

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 .select2 + label,
div[data-form] .floating-label-wrap .select2.select2-container--focus + label {
    text-transform: uppercase;
    font-size: 0.6rem;
    letter-spacing: 1px;
    color: var(--text);
    position: absolute;
    top: .25rem;
}

div[data-form] .select2 .select2-selection--single {
    padding-left: .6rem !important;
    padding-top: .75rem !important;
    min-height: 18px !important;
    padding-bottom: .15rem !important;
}



/* 
    ------------------------------
    --- Footer and scroll-to-top arrow
    ------------------------------
*/

/* Scroll up arrow */
.go-to-top { cursor: pointer; position: fixed; z-index: 40; width: 4rem; height: 4rem; right: 0; bottom: 0; 
             background-color: var(--primary); color: var(--white); text-align: center; font-size: 2.6rem; display: none; }

@media (max-width: 576px) {
    .go-to-top { right: 1rem; bottom: 1rem;}
}

/* Footer */
footer { padding-top: 5rem; padding-bottom: 2rem; background-color: var(--tertiary); color: var(--white); }
footer div.footer-row { margin-top: 1rem;  }
footer div.footer-row > div { align-content: end;  }
footer hr { margin-top: 2rem; margin-bottom: 2rem; border-top-color: var(--white); }

footer * { font-family: Expose; font-weight: 400; }
footer p { color: var(--white); font-weight: 400; }
footer p strong { text-transform: uppercase; font-weight: 400; }
footer div.footer-socials p { margin-bottom: 0; }

footer div.footer-socials p img { max-height: 70px; }

footer img.logo-footer { width: 300px; max-width: 100%; }
footer nav.footer-menu { font-weight: 600; }
footer nav.footer-menu div { margin-bottom: 0.8rem; }
footer .footer-opening p a + a { margin-left: 2rem; }

footer .footer-headline-container { display: flex; flex-direction: row; align-items: end;}
footer .footerHeadline { color: var(--white); text-transform: uppercase; font-size: 1.4rem; line-height: 1.6rem; margin-bottom: 0; }

footer a,
footer a:link,
footer a:visited,
footer a:hover,
footer a:active { color: var(--white); text-decoration: none; }

footer p.Copyright { font-size: 1rem; text-align: center; margin-top: 3rem; margin-bottom: 0; }
footer p.Copyright a,
footer p.Copyright a:link,
footer p.Copyright a:visited,
footer p.Copyright a:hover,
footer p.Copyright a:active {color: var(--white);}


@media (max-width: 1280px) and (min-width: 991px){
    footer .footer-opening a { display: block;}
    footer .footer-opening p a + a { margin-left: 0; margin-top: 1rem;}
}

@media (max-width: 990px) and (min-width: 768px){
    footer { padding-top: 2rem; }
    footer div.footer-socials { margin-top: 1.5rem; }
    footer div.footer-socials a {  margin-right: 1rem;  }
    footer div.footer-socials br { display: none; }
    footer div.footer-socials img { max-height: 67px !important; margin-top: 0 !important; }
    footer nav.footer-menu {margin-top: 1.5rem; }
    footer nav.footer-menu div { display: inline-block; margin-right: 1rem; margin-bottom: 0.5rem; }
}

@media (max-width: 767px) {
    footer { padding-bottom: 5rem; text-align: center;}
    footer p { line-height: 1.2rem;}
    footer .footer-opening p img { max-height: 40px;}
    footer .footer-opening p a + a img { max-width: 40px;}
    
    footer hr { border: none; margin-top: 1rem; margin-bottom: 1rem; }
    footer div.footer-socials br { display: none; }
    footer div.footer-socials img { margin-top: 0 !important; margin-right: 0.5rem; max-height: 65px !important; }

    footer .footer-opening  { margin-top: 2rem;}
    footer .footerHeadline { display: none; }
    footer img.logo-footer { max-width: 60%; margin-bottom: 1rem; text-align: center; }
    footer .footer-opening a { display: block;}
    footer .footer-opening p a + a { margin-left: 0; margin-top: 1rem;}
    footer nav.footer-menu,
    footer div.footer-socials { margin-top: 2.5rem; text-align: center; }
    footer nav.footer-menu { font-size: 1rem; line-height: 1.4rem; }
    footer nav.footer-menu div { display: inline-block; margin-right: 1rem; margin-bottom: 0.5rem; }
    footer p.Copyright { margin-bottom: 2rem; margin-top: 0.5rem; font-size: 0.8rem; line-height: 1.2rem;  }
}

@media (max-width: 425px) {
    footer { padding-top: 2rem; text-align: center;}
    footer img.logo-footer { max-width: 60%; }
}







/* 
    ------------------------------
    --- 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;
}


.eventInfobox.card {
    border: 0;
}

/*EventSearch*/
div.eventSearchresults {
    display: none;
}

div.eventSearchresultsNoResults {
    display: none;
}

.loadingHeadline {
    margin: 0;
    text-align: center;
}

.loadingContent {
    border: 0;
}



/* 
    ------------------------------
    --- Infobox
    ------------------------------
*/

.Infobox { margin-bottom: 1rem; }
.Infobox .btn { margin-right: 0; display: block; }


/* 
    ------------------------------
    --- Downloads
    ------------------------------
*/
.downloads {
    display: flex;
    flex-wrap: wrap;
}


.downloads .download {
    width: 9rem;
    text-align: center;
    margin: 0.5rem;
    padding-top: 0.75rem;
}

.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: var(--primary); }
.downloads .download .card-text {
    font-size: 0.8rem;
    margin-bottom: 0.1rem;
}

.downloads a,
.downloads a:link,
.downloads a:visited,
.downloads a:active {
    text-decoration: none !important;
}

.text-normalized * {
    font-size: 1rem;
}

.asset-previewimage {
    width: 6em;
}

.hiddenPanel {
    display: none;
}
/* 
    ------------------------------
    --- Search form/results
    ------------------------------
*/


div.searchRealmResults::after { content: ""; border-bottom: 1px solid rgba(0,0,0,.1); display: block; padding-top: 2rem; margin-bottom: 3.5rem;}
div.searchRealmResults.lastItem::after { display: none;}

div.searchRealmResults h3 { margin-bottom: 2rem; }
div.searchRealmResults h3 .badge-primary { background-color: var(--secondary); 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 { position: relative; margin-bottom: 1.5rem !important; }
div.searchRealmResults li.searchRealmResult:before { top: -2px; left: -25px !important;}

div.searchRealmResults li.searchRealmResult .searchRealmResultHeadline {
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.2;
    text-transform: uppercase;
    
}
div.searchRealmResults li.searchRealmResult .searchRealmResultHeadline a,
div.searchRealmResults li.searchRealmResult .searchRealmResultHeadline a:link,
div.searchRealmResults li.searchRealmResult .searchRealmResultHeadline a:visited,
div.searchRealmResults li.searchRealmResult .searchRealmResultHeadline a:active { text-decoration: none;}
div.searchRealmResults li.searchRealmResult .searchRealmResultHeadline a:hover { text-decoration: underline;}

div.searchRealmResults .searchRealmResultDescription,
div.searchRealmResults .searchRealmResultUrl { font-size: 0.9rem; }

div.searchRealmResults li.searchRealmResult p { margin-bottom: 0.2rem !important; }
div.searchRealmResults li.searchRealmResult .searchRealmResultFooter { margin-top: 0.25rem; display: block; }


.mark-searchterm {
    padding-left: 2px;
    padding-right: 2px;
}

/* ---- Validation ---- */
.tooltip-error {
    z-index: 3000;
    font-size: 0.9rem;
}




/* 
    ------------------------------
    --- Cookie Notice
    ------------------------------
*/


.modal-cookienotice div.modal-header { justify-content: space-between; }
.modal-cookienotice div.modal-header .modal-title { font-size: 1.3rem; }
.modal-cookienotice button.close { background: none; background-color: transparent; font-size: 2rem; border: none; align-self: end; line-height: normal;}

.modal-cookienotice div.modal-footer a.btn,
.modal-cookienotice div.modal-footer input[type="button"].btn,
.modal-cookienotice div.modal-footer button.btn { margin-right: 0.5rem;  }

.modal-cookienotice .collapsiblepanel .card { margin-bottom: 0.1rem;}
.modal-cookienotice .collapsiblepanel .card .card-body { background-color: var(--primary); }

.modal-cookienotice button.btn { padding-left: 1.5rem; padding-right: 1.5rem;  padding-top: 0.6rem; padding-bottom: 0.6rem; }
.modal-cookienotice a,
.modal-cookienotice a:link,
.modal-cookienotice a:visited,
.modal-cookienotice a:active { color: var(--primary); text-decoration: underline;}
.modal-cookienotice a:hover,
.modal-cookienotice a:focus { color: var(--primary); text-decoration: none;}

.accordion-cookienotice .form-check { position: absolute; right: 3.5rem; top: 0.65rem; font-size: 1rem; }
.accordion-cookienotice .form-check-label { color: var(--white); }
.accordion-cookienotice .form-check-input:checked { background-color: var(--primary); border-color: var(--white); }
.accordion-cookienotice .form-switch .form-check-input:focus { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23498da1'/%3e%3c/svg%3e");
    border-color: var(--white); box-shadow: 0 0 0 .25rem rgba(73, 141, 161, .25);}
.accordion-cookienotice .form-switch .form-check-input:focus:checked { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e");}



/* 
    ------------------------------
    --- Google Translate
    ------------------------------
*/

.goog-te-banner-frame.skiptranslate {
    display: none !important;
}

body {
    top: 0px !important;
}

.google-translator {

}

.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;
}


/* 
    ------------------------------
    --- Images
    ------------------------------
*/

div[data-row-type='IMG'] a.imageContainer,
div[data-type='IMAGEGALLERY'] .imageContainer {
    display: block;
}

div[data-row-type='IMG'] .imageContainer.small,
div[data-type='IMAGEGALLERY'] .imageContainer.small {
    width: 100%;
    height: 265px;
    background-repeat: no-repeat;
}

div[data-row-type='IMG'] .imageContainer.small-accommodation {
    width: 100%;
    height: 200px;
    background-repeat: no-repeat;
}


div[data-row-type='IMG'] .imageContainer.medium,
div[data-type='IMAGEGALLERY'] .imageContainer.medium {
    width: 100%;
    height: 400px;
    background-repeat: no-repeat;
}

div[data-row-type='IMG'] .imageContainer.large,
div[data-type='IMAGEGALLERY'] .imageContainer.large {
    width: 100%;
    height: 800px;
    background-repeat: no-repeat;
}

@media(min-width: 768px) {
    div[data-type='IMAGEGALLERY'] .col-md-2 .imageContainer.small {
        width: 100%;
        height: 100px;
        background-repeat: no-repeat;
    }
}


@media(min-width:992px){
    div[data-type='IMAGEGALLERY'] .col-md-2 .imageContainer.small {
        width: 100%;
        height: 180px;
        background-repeat: no-repeat;
    }
}



/* 
    ------------------------------
    --- Youtube Embed
    ------------------------------
*/
.video-wrapper {
    background-size: cover;
    background-position: center center;
    width: 100%;
    margin-bottom: 50px;
    position: relative;
    height: 0;
    padding-bottom: 56.25%;
}
.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%;
}

.video-wrapper .video-trigger p a { text-decoration: none; }

.video-wrapper .video-info h2 { text-align: center; margin-bottom: 3rem;}
.video-wrapper .video-info .btn { margin-top: 2rem;}

@media (max-width: 1024px) {
    .video-wrapper .video-trigger .video-info { 
    margin-left: 10%;
    margin-right: 10%;
    margin-top: 5%; }

    .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-trigger .video-info { 
    margin-left: 1rem;
    margin-right: 1rem;
    margin-top: 1rem; }
    .video-wrapper .video-info h2 { margin-bottom: .5rem; line-height: 1;}
    .video-wrapper .video-info p { margin-bottom: .5rem;}
    .video-wrapper .video-info .btn { margin-top: 0;}
}

.SwimmingPoolBookingIframe {
    margin-top: 20px;
}


/* 
    ------------------------------
    --- 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: var(--primaryhover);}

/* 
    ------------------------------
    --- GastronomyList
    ------------------------------
*/


.gastronomy-listitem {
    margin-bottom: 1.5rem;
}

.gastronomy-listitem .info-line {
    margin-bottom: 0.5rem;
}

.gastronomy-listitem .images {
    margin-top: 0.5rem;
}


.collapsiblepanel .card .gastronomy-listitem h4 {
    margin-bottom: 0;
    text-align: left;
    margin-top: 0;
}

.gastronomy-listitem p{
    margin-bottom: 0;
}


/* 
    ------------------------------
    --- Accommodation list
    ------------------------------
*/ 

.accommodation-list-item { display: flex; align-items: stretch; position: relative; }
.accommodation-list-item .accommodation-list-box { background-color: #eeeced; width: 100%; display: flex; align-items: stretch; flex-direction: column; flex-grow: 1; position: relative; }
.accommodation-list-item .accommodation-list-box .accommodation-basic-data { padding: 16px; display: flex; flex-direction: column; flex-grow: 1; }
.accommodation-list-item .accommodation-list-box .accommodation-basic-data div { flex-grow: 1; margin-top: 0.5rem;}
.accommodation-list-item .accommodation-list-box .accommodation-basic-data div p.stars {  font-size: 0.9rem; line-height: 1.2rem; display: flex; flex-direction: row; align-items: center; text-transform: uppercase; }
.accommodation-list-item .accommodation-list-box .accommodation-basic-data div p.stars i { font-size: 0.6rem; }
.accommodation-list-item .accommodation-list-box .accommodation-basic-data div p.stars i:first-child { margin-left: 0.3rem; }
.accommodation-list-item .accommodation-list-box .accommodation-basic-data a.btn { align-self: end; display: block; margin-right: 0;}
.accommodation-list-item .accommodation-list-box .accommodation-basic-data h3.event-headline-title a,
.accommodation-list-item .accommodation-list-box .accommodation-basic-data h3.event-headline-title a:link,
.accommodation-list-item .accommodation-list-box .accommodation-basic-data h3.event-headline-title a:hover,
.accommodation-list-item .accommodation-list-box .accommodation-basic-data h3.event-headline-title a:active,
.accommodation-list-item .accommodation-list-box .accommodation-basic-data h3.event-headline-title a:visited { text-decoration: none; }

.accommodation-list-item .accommodation-list-box .inquiry-check { position: absolute; left: 10px; top: 10px;}
.accommodation-list-item .accommodation-list-box .inquiry-check .form-check { padding-left: 0; margin-bottom: 0;}
.accommodation-list-item .accommodation-list-box .inquiry-check input { width: 1.5em; height: 1.5em;padding: 0; margin: 0; padding: 3px; border: 2px solid var(--white);}
.accommodation-list-item .accommodation-list-box .inquiry-check input:checked { background-color: var(--primary);}

.accommodation-list-item .accommodation-list-box a { text-decoration: none !important; }

.accommodation-collective-inquiry { position: fixed; right: 5rem; bottom: 1rem; z-index: 20; }
.accommodation-collective-inquiry a {background-color: var(--primary); padding: 6px; color:var(--white); padding-left: 20px; padding-right: 20px; font-size: 1.5rem; margin: 0; cursor: pointer; display: block; }
.accommodation-collective-inquiry a,
.accommodation-collective-inquiry a:link,
.accommodation-collective-inquiry a:hover,
.accommodation-collective-inquiry a:active,
.accommodation-collective-inquiry a:visited,
.accommodation-collective-inquiry a:focus { color:var(--white) !important; text-decoration: none !important; }
.accommodation-collective-inquiry a i { font-size: 1.3rem;  }

.accommodation-collective-inquiry a .form-check { margin-left: 0.6rem; font-size: 1.2rem; display: inline-block;  }
.accommodation-collective-inquiry a .form-check .form-check-label::before { margin-top: 0.1rem; }
.accommodation-collective-inquiry a .form-check .form-check-label::after { margin-top: 0.1rem;}
.accommodation-collective-inquiry a .form-check .form-check-input:checked~.form-check-label::before { background-color: var(--secondary); border-color: var(--secondary);  }

.accommodation-list-item .accommodation-list-box .inquiry-check .form-check-label::before { width: 1.4rem; height: 1.4rem; border: none;}
.accommodation-list-item .accommodation-list-box .inquiry-check .form-check-label::after { width: 1.4rem; height: 1.4rem; border: none; }
.accommodation-list-item .accommodation-list-box .inquiry-check .form-check .form-check-input:checked~.form-check-label::before { background-color: var(--white); border: none; }
.accommodation-list-item .accommodation-list-box .inquiry-check .form-check .form-check-input:checked~.form-check-label::after { background: no-repeat 50% / 65% 65%; border: none;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%230f99be' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e");
}

@media (max-width: 769px) {
    .accommodation-collective-inquiry { position: fixed; right: 5rem; bottom: 1rem; z-index: 20;  }
    .accommodation-collective-inquiry a { padding: 5px; }
}
@media (max-width: 576px) {
    .accommodation-collective-inquiry { left: 1rem; right: 6rem; bottom: 1rem; z-index: 20;  }
}
@media (max-width: 345px) {
    .accommodation-collective-inquiry a { padding-left: 10px; padding-right: 10px; font-size: 1.4rem; }
}

.accommodation-contact-box [data-type="MAPTEASER"] { height: 210px !important; }

h1.headline-accommodation-name { background-color: var(--primaryhover); color: var(--white); padding: 20px; font-size: 1.8rem !important; text-transform: uppercase; font-weight: 400; }
h1.headline-accommodation-name div.stars { background-color: var(--primaryhover); color: var(--white); font-size: 1.4rem !important; text-transform: uppercase; font-weight: 400; margin-top: 1rem; line-height: 1rem; 
            display: flex; flex-direction: row; align-items: center; text-transform: uppercase; }
h1.headline-accommodation-name div.stars i { font-size: 1rem !important; }
h1.headline-accommodation-name div.stars i:first-child { margin-left: 0.3rem; }

h2.stars { text-transform: uppercase; font-weight: 400; margin-top: 1rem; line-height: 1rem; display: flex; flex-direction: row; align-items: center; text-transform: uppercase; margin-bottom: 2.5rem; }
h2.stars i { font-size: 1.4rem !important; }
h2.stars i:first-child { margin-left: 0.3rem; }

.accommodation-checkbox label { font-size: 0.9rem; line-height: 1.1rem; }
.accommodation-checkbox label a,
.accommodation-checkbox label a:link { color: var(--white) !important; }

.form-check.accommodation-checkbox .form-check-input:checked~.form-check-label::before { border-color: var(--secondary); background-color: var(--secondary); }
.accommodation-request-form span.RequiredMarker { color: var(--white); }


.input-number-container { border: 2px solid var(--white); border-radius: 50%; padding: 3px; padding-left: 5px; padding-right: 5px; cursor: pointer; }


.accommodation-facilities { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: start; align-content: start; justify-content: space-between; }
.accommodation-facilities > div.facility { flex-basis: 100%; border-bottom: 1px solid #eeeced; padding: 8px; display: flex; flex-direction: row;}
.accommodation-facilities > div.facility div.facility-icon { margin-right: 10px; width: 50px; text-align: right; }
.accommodation-facilities > div.facility div.facility-icon i { margin-right: 10px; }
.accommodation-facilities > div.facility div.facility-icon i:last-child { margin-right: 0; }

@media (min-width: 769px) {
    .accommodation-contact-box [data-type="MAPTEASER"] {  margin-top: 0 !important; }
    .accommodation-facilities > div.facility { flex-basis: 49%;}
}

@media (min-width: 992px) {
    .accommodation-facilities > div.facility { flex-basis: 31%;}
}

.easepick-wrapper { display: block; }

.accommodation-carousel { position: relative; }
.accommodation-carousel .owl-stage { margin-top: 25px;}
.accommodation-carousel .owl-dots { position: absolute; top: 0; height: 10px; left: 0; right: 0; z-index: 10; line-height: normal; text-align: center; }
.accommodation-carousel .owl-dots button.owl-dot { width: 7px; height: 7px; border-radius: 50%; background-color: var(--primary); opacity: 0.5; margin-left: 2px; margin-right: 2px; }
.accommodation-carousel .owl-dots button.owl-dot.active { opacity: 1; outline: none; }
.accommodation-carousel .owl-dots button.owl-dot:focus {  outline: none; }

.accommodation-carousel .owl-nav-button { position: absolute; top: 150px; color: var(--white); font-size: 2rem; z-index: 10; text-shadow: var(--textshadow) cursor: pointer; opacity: 0.7; }
.accommodation-carousel .owl-nav-button:hover { opacity: 1; }
.accommodation-carousel .owl-nav-button.owl-prev-button { left: 10px; }
.accommodation-carousel .owl-nav-button.owl-next-button { right: 10px; }


div#booking-request-form { overflow: hidden; }
div#booking-request-form div.email-regular { position: absolute; right: -150vw;}

form#frmAccommodationDates h3 { text-transform: none; font-weight: 400; font-size: 1.2rem; margin-bottom: 0.5rem;}


.accommodation-carousel .imageContainer.small {
    width: 100%;
    height: 265px;
    background-repeat: no-repeat;
}

.accommodation-reservation-confirmation p { line-height: 1.3rem;}

@media (max-width: 768px) {
    div#booking-request-form form label,
    div#booking-request-form form input,
    div#booking-request-form form textarea,
    div#booking-request-form form select,
    div#booking-request-form form button, 
    div#booking-request-form form a.btn { font-size: 1.3rem; line-height: 1.5rem; }
    div#booking-request-form form .marked-text,
    .tooltip,
    .accommodation-facilities { font-size: 1.2rem; line-height: 1.4rem; }
    div#booking-request-form form .marked-text { margin-bottom: 0.4rem !important;}
    .collapsiblepanel-accommodation .card-body { font-size: 1.2rem;}
    
    .accommodation-carousel .owl-stage { margin-top: 0;}
    .accommodation-carousel .owl-dots { top: auto; bottom: 20px;}
    .accommodation-carousel .owl-dots button.owl-dot { background-color: var(--white); box-shadow: 0 0 3px rgba(0, 0, 0, 0.7);  }
}
@media (max-width: 576px) {
    div#booking-request-form form button, 
    div#booking-request-form form a.btn { width: 100%;}
}

img.img-carousel-accommodation { width: auto !important; max-width: 100%; max-height: 400px; margin-left: auto; margin-right: auto;}




/* 
    ------------------------------
    ---  Buttons
    ------------------------------
*/ 
a.btn,
input[type="button"].btn,
button.btn,
.postsCategoryTeaser .poststeaserColumn section.Offers .news-anchor a
{ background-color: var(--primary); color: var(--white) !important; padding-left: 2rem; padding-right: 2rem; padding-top: 0.8rem; padding-bottom: 0.8rem; margin-right: 2rem; text-align: center;
    font-size: 1.1rem; font-family: Expose; font-weight: 600; text-transform: uppercase; border-radius: 0; border: none; line-height: 1.3rem; outline: none; box-shadow: none; transition: .2s;
    text-decoration: none !important; clip-path: polygon(0 0, calc(100% - 0.75rem) 0, 100% 0.75rem, 100% 100%, 0.75rem 100%, 0% calc(100% - 0.75rem));}
a.btn-lg,
input[type="button"].btn-lg,
button.btn-lg {  padding-left: 2.2rem; padding-right: 2.2rem; font-size: 1.2rem; font-weight: 600; padding-top: 0.9rem; padding-bottom: 0.9rem;}
a.btn-sm,
input[type="button"].btn-sm,
button.btn-sm {  padding-left: 1.5rem; padding-right: 1.5rem; font-size: 1rem; padding-top: 0.5rem; padding-bottom: 0.5rem;}

.postsCategoryTeaser .poststeaserColumn section.Offers .news-anchor a { margin-right: 0;}

@media (max-width: 768px) {
    a.btn,
    input[type="button"].btn,
    button.btn { font-size: 1rem; line-height: 1.2rem; }
    a.btn-lg,
    input[type="button"].btn-lg,
    button.btn-lg { font-size: 1rem; line-height: 1.2rem; }
}

@media (max-width: 525px) {
    .postsCategoryTeaser{ margin-left: 1rem; margin-right: 1rem;}
}
@media (max-width: 525px) {
    a.btn,
    input[type="button"].btn,
    button.btn { font-size: 1rem; line-height: 1.2rem; }
    a.btn-lg,
    input[type="button"].btn-lg,
    button.btn-lg { font-size: 1rem; line-height: 1.2rem; }
}
