/* hanken-grotesk-regular - latin */
@font-face {
    font-display: swap;
    font-family: 'Hanken Grotesk';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/hanken-grotesk-v8-latin-regular.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* hanken-grotesk-500 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Hanken Grotesk';
    font-style: normal;
    font-weight: 500;
    src: url('../fonts/hanken-grotesk-v8-latin-500.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* hanken-grotesk-600 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Hanken Grotesk';
    font-style: normal;
    font-weight: 600;
    src: url('../fonts/hanken-grotesk-v8-latin-600.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* inria-serif-300 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Inria Serif';
    font-style: normal;
    font-weight: 300;
    src: url('../fonts/inria-serif-v16-latin-300.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* inria-serif-300italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Inria Serif';
    font-style: italic;
    font-weight: 300;
    src: url('../fonts/inria-serif-v16-latin-300italic.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* inria-serif-700 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Inria Serif';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/inria-serif-v16-latin-700.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* inria-serif-700italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Inria Serif';
    font-style: italic;
    font-weight: 700;
    src: url('../fonts/inria-serif-v16-latin-700italic.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/** global / resets **/
html {
    font-size: 10px;
}

:root {
    --pfs: 2.4rem;
    --h1fs: 4.2rem;
    --h2fs: 3.6rem;
    --h3fs: 2.4rem;
    --h4fs: 2rem;
    --page-width: 144rem;
    --hff: "Hanken Grotesk";
    --pff: "Hanken Grotesk";
    --cff: "Inria Serif";
    --pf: 500 var(--pfs)/1.5em var(--pff);
    --h1f: 600 var(--h1fs)/1em var(--hff);
    --h2f: normal var(--h2fs)/1em var(--hff);
    --h3f: normal var(--h3fs)/1em var(--hff);
    --h4f: normal var(--h4fs)/1em var(--hff);
    --mf: italic 6.2rem var(--cff);
    --gap: 4rem;
    --gap2: calc(var(--gap) * 2);
    --bgap: var(--gap2);
}

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

body {
    color: #383838;
    background-color: #fff;
}

ul {
    list-style-type: none;
}

.mceContentBody ul:not([class]), .content ul:not([class]) {
    padding-left: 1.5rem;
    list-style-type: disc;
}

.content p, .mceContentBody p {
    margin: .5rem 0;
}

img {
    border: 0;
}

iframe {
    border: 0;
}

a {
    text-decoration: none;
    color: #4F5693;
}

/* body, h1, h2, span, font, td, a { */
body {
    background: #efede7;
    font: var(--pf);
}

/** for content editing **/
/* p.readmore a:before {
	content:'\00BB';
	content:'\27EB';
}
*/
.goback, .default .readmore a, .cbutton {
    display: inline-block;
    background: #4F5693;
    color: #fff !important;
    padding: 1rem 2.5rem;
    margin-right: .5rem;
    margin-bottom: .5rem;
    text-decoration:none!important;
    border-radius:99rem;
}

.goback, .default .readmore a {
    margin-top: 1em;
}

.splitlist {
    padding-left: 1.6rem;
    list-style-type: disc;
    column-count: 3;
    column-gap: 5.0rem;
    max-width: max-content;
}

@media screen and (max-width: 960px) {
    .splitlist {
        column-count:2;
    }
}

@media screen and (max-width: 480px) {
    .splitlist {
        column-count:1;
    }
}

.bild-links {
    position: relative;
    top: .4rem;
    float: left;
    margin-right: 1.5rem;
}

.bild-rechts {
    position: relative;
    top: .4rem;
    float: right;
    margin-left: 1.5rem;
}

.responsive-video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.responsive-video {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 0;
    height: 0;
    overflow: hidden;
}

.preise {
    border-collapse: separate;
    border-spacing: 1rem;
    margin: 0 -1rem;
    width: calc(100% + 2rem);
}

.preise th, .preise-kopf, .preise-zelle, .preise-zeile {
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: .5rem;
}

tr.preise-kopf th.st-head-row {
    padding-top: 10rem;
}

.preise th.st-head-row {
    padding: .5rem 0;
}

table.preise td {
    border-bottom: 1rem solid #E5E5E5;
    padding: .6rem .6rem;
}

.preise .preise-kopf td {
    border-bottom: .2rem solid #2c2c2c;
}

a.bild-links, a.bild-rechts {
    margin: 0;
}

a.bild-links span.zoomin-img {
    right: 1.8rem !important;
    bottom: -.1rem !important;
}

a.bild-rechts span.zoomin-img {
    bottom: -.1rem !important;
}

.clr {
    clear: both;
}

.outline {
    display: none;
}

body#tinymce.mceContentBody a, div.content a {
    color: #383838;
    text-decoration: underline;
}

form#userForm fieldset legend, h1 {
    color: #4F5693;
    font: var(--h1f);
    margin-bottom: 2rem;
}

.rsform-block[class*="-heading"], h2 {
    color: #4F5693;
    font: var(--h2f);
    margin-bottom: 2rem;
}

h3 {
    color: #4F5693;
    font: var(--h3f);
    margin-bottom: 2rem;
}

.sticky .top-container, .bg-top {
    background: transparent url('../images/bg-yellow.jpg') repeat 0 0 / cover;
}

/*** Mainmenu ***/
.top-container {
    z-index: 10;
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
}

.sticky .top-container {
    box-shadow: 0 0 16px rgba(0,0,0,0.2);
}

.top-helper {
    padding: 1rem;
}

.top {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--gap);
}


.book {
	/*font: italic 20px/1em var(--cff);
	text-transform:uppercase;*/
}

.telefon a, .email a {
    font: italic 20px/1em var(--cff);
    display: flex;
    align-items: center;
}

.telefon a:before, .email a:before {
    content: '';
    display: block;
    width: 45px;
    height: 45px;
    margin-right: 10px;
}

.telefon a:before {
    background: transparent url('../images/icon-button-phone.png') no-repeat 0 0;
}

.email a:before {
    background: transparent url('../images/icon-button-mail.png') no-repeat 0 0;
}

@media screen and (max-width: 860px) {
    .telefon a, .email a {
        display:block;
        width: 4.5rem;
        overflow: hidden;
        white-space: nowrap
    }

    .telefon a:before, .email a:before {
        display: inline-block;
        font-size: 3.2rem;
        margin-right: 2rem;
    }
}

main {
    position: relative;
}

.logo {
    max-width: var(--pagewidth);
    position: relative;
    z-index: 1;
    padding-top: 1rem;
    margin-left: 2rem;
    margin-bottom: -32rem;
    margin-right: -30rem;
}

.logo img {
    height: 30rem;
    width: auto;
    transition: all 0.2s;
}

.menu-toggle {
    font-family: var(--cff);
    font-style: italic;
    font-size: 2.8rem;
    color: #4F5693;
    cursor: pointer;
    white-space: nowrap;
}

.menu-toggle:before {
    font-size: 2.4rem;
    position: relative;
    top: .1rem;
    color: #eb931b;
    margin-right: 1rem;
}

.menuopen .menu-toggle.menu-open:before {
    content: '\e158';
}

/* nav { position:relative;} */
.nav .menu-toggle {
}

.nav-container {
    position: relative;
    display: none;
    background: transparent url('../images/bg-yellow.jpg') repeat 0 0 / cover;
    z-index: 5;
    padding: var(--gap) var(--gap) 0;
    overflow: auto;
    max-height: 100vh;
    box-sizing: border-box;
}

.menuopen .logo {
    visibility:hidden;
}

.menuopen .top-helper {
    position: relative;
    box-shadow: 0 0 16px rgba(0,0,0,0.3);
    z-index: 4;
    background:transparent url('../images/bg-yellow.jpg') repeat 0 0;
}

.nav-top {
    display: none;
    justify-content: space-between
}

.nav-top .language {
    font-size: 2.4rem;
}

.nav-top a {
    color: #000;
}

.mainmenu {
    position: relative;
}

.mainmenu a {
    color: #000;
}

.mainmenu > ul {
    /*display: flex;
	flex-wrap: wrap;
	gap: 4rem;*/
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    grid-gap: 40px;
    margin: 0 auto 2rem;
}

.mainmenu ul {
    padding: 0;
    list-style-type: none;
}

.mainmenu .submenu {
}

.mainmenu > ul > li {
    position: relative;
}

.mainmenu > ul > li > a {
    font-weight: bold;
    font-size: var(--h1fs);
    text-transform: none;
    margin-bottom: 3rem;
    color: #4F5693;
}

.mainmenu .submenu ul > li > a {
    line-height: 2em;
    background: transparent url('../images/arrow-green-s.svg') no-repeat 100% 50%;
    padding-right: 4rem;
}

.mainmenu > ul > li.active > a, .mainmenu > ul > li:hover > a {
}

.mainmenu .submenu ul > li > a {
    text-transform: none;
    transition: all 0.2s;
}

.mainmenu .submenu ul > li.active > a, .mainmenu .submenu ul > li:hover > a {
    color: #6CBE99;
}

/*** Language ***/
.language .mod-languages a {
    color: #4F5693;
}

.language .mod-languages {
    font: italic 2rem/1em var(--cff);
    position: relative;
    width: 5.5rem;
    font-size: 2rem;
    height: 2em;
    cursor: pointer;
}

.language .mod-languages ul {
    transition: all .2s;
    pointer-events: none;
    padding: .5rem 1rem;
    border-radius: .5rem;
    position: absolute;
    top: -.4rem;
}

.language .mod-languages li {
    display: none;
    line-height: 2em;
}

.language .mod-languages .lang-active {
    display: block;
    position: relative;
    padding-right: 1.5rem;
}

.language .mod-languages .lang-active:after {
    content: '';
    position: absolute;
    right: 0;
    top: 1.5rem;
    display: block;
    width: .6rem;
    height: .6rem;
    border-right: .1rem solid #fff;
    border-bottom: .1rem solid #fff;
    border-color: #4F5693;
    transform: rotate(45deg);
}

.language .mod-languages.open {
    cursor: auto;
}

.language .mod-languages.open ul {
    pointer-events: all;
    background: #4F5693;
}

.language .mod-languages.open a {
    color: #fff;
}

.language .mod-languages.open li {
    display: block;
}

.language .mod-languages.open .lang-active {
    padding: 0;
}

.language .mod-languages.open .lang-active:after {
    display: none;
}

.lang-active a {
    font-weight: 500;
}

/*** Layout ***/
.pagewidth {
    max-width: var(--page-width);
    margin: auto;
}

.mainframe {
    overflow: hidden;
}

/*** Header ***/
.header-container {
    position: relative;
    max-height: 80rem;
    overflow: hidden;
    display: flex;
    align-items: center;
    margin-right: var(--bgap);
}

header {
    position: relative;
}

.header {
    width: 100%;
    position: relative;
}

.header:before {
    content: '';
    display: block;
    height: 200px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to bottom, rgb(0 0 0 / 50%), rgb(0 0 0 / 0%));
    z-index: 1;
}

.header .browse-button {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 50%;
    width: 3.6rem;
    height: 7.2rem;
    transform: translateY(-3.6rem);
    z-index: 1;
    opacity: 0.75;
    transition: all 0.2s;
    cursor: pointer;
}

.header .browse-button:hover {
    opacity: 1;
}

.header .browse-button:before {
    font-family: Iconia;
    font-size: 7.2rem;
    content: '\e15b';
    color: #fff;
}

.header .slider-right:before {
    content: '\e15c';
}

.header .slider-left {
    left: 6rem;
}

.header .slider-right {
    right: 6rem;
}

.slogan {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 4rem;
}

.slogan .moduletable {
    margin-left: 4rem;
    font: italic 68px/1.2em var(--cff);
    color: #fff;
    text-shadow: 0 0 12px rgb(0 0 0 / 90%);
}

.cta {
    position: absolute;
    right: 1rem;
    bottom: 4rem;
    width: 171px;
    height: 157px;
    background: transparent url('../images/bg-zirbe.png') no-repeat 0 0;
    display: flex;
    align-items: center;
    text-align: center;
    padding: 0 10px;
}

.cta a {
    display: block;
    color: #fff;
    font: 2.2rem/1.2em var(--pff);
}

.cta a:after {
    display: block;
    content: '';
    background: transparent url('../images/arrow-white.svg') no-repeat 0 0;
    width: 25px;
    height: 22px;
    margin: auto;
}

/** Media Buttons **/
.media {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 3.8rem;
}

.media ul {
    padding: 0;
    margin: 0;
    list-style-type: none;
}

.media .iconbuttons li {
    float: right;
    box-sizing: border-box;
    display: block;
    border-radius: 3.8rem;
    background: #0f7ab6;
    max-width: 3.8rem;
    line-height: 3.8rem;
    margin: .3rem 0;
    white-space: nowrap;
    position: relative;
    overflow: hidden;
    color: #ffffff;
    transition: all 1s linear 0s;
    padding: 0 2rem 0 .4rem;
    box-shadow: 0 0 .2rem rgba(0,0,0,0.2);
}

.media .iconbuttons li a {
    color: #ffffff;
}

.media .iconbuttons li:before {
    font-size: 2.2rem;
    display: inline-block;
    margin-right: .5rem;
    position: relative;
    text-align: center;
    width: 3rem;
    top: .3rem;
}

.media .iconbuttons li a:before {
    display: none;
}

.media .iconbuttons li:focus, .media .iconbuttons li:hover {
    max-width: 50rem;
}

/*** Shortcuts ***/
.shortcuts-container {
    background: transparent url('../images/bg-zirbenwand.jpg') repeat 0 0;
    padding: var(--gap);
}

.shortcuts ul {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    gap: var(--gap);
}

.shortcuts li {
    background: rgb(108 190 153 / 80%);
    aspect-ratio: 1;
    width: 200px;
    border-radius: 999px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px;
}

.shortcuts a {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    aspect-ratio: 1;
    width: 100%;
    border-radius: 999px;
    border: 1px solid #fff;
    padding: 0 2rem;
    align-content: center;
    gap: 1rem;
}

.shortcuts img {
    display: block;
}

.shortcuts span {
    font: normal italic 2.4rem var(--cff);
    color: #fff;
    text-align: center;
}

/*** Showroom ***/
.showroom-container {
    margin: 8rem 0 8rem var(--bgap);
}

.showroom {
    position: relative;
    padding: 0 0 8rem;
}

.showroom:before {
    content: '';
    display: block;
    background: #dce6dc url('../images/bg-map.svg') repeat 0 0;
    position: absolute;
    top: 0;
    left: var(--gap2);
    right: 0;
    bottom: 0;
    z-index: -1;
}

.showroom h3 {
    text-align: right;
    font: var(--mf);
    padding: var(--gap);
    margin: 0;
}

.showroom a {
    color: #fff;
}

.sr-tile.active .sr-content:before {
    content: '';
    display: block;
    width: 25px;
    height: 23px;
    background: transparent url('../images/arrow-white.svg') no-repeat 0 0;
    margin-bottom: 1em;
}

.sr-tile .sr-title, .sr-tile .sr-content {
    text-align: left;
}

/*** Shortcut Modules ***/
.shortcutmodules-container {
    padding: var(--gap) 1rem;
    background: #ccc;
}

.shortcutmodules-container h2 {
    color: #fff;
    font: 4.2rem Kotta One;
    text-align: center;
}

.shortcutmodules {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-auto-rows: minmax(20rem, auto);
    grid-gap: var(--gap);
}

.shortcutmodules .moduletable {
    grid-column: span 3;
    position: relative;
    background-size: cover;
    background-position: 50% 50%;
}

.shortcutmodules .moduletable:nth-of-type(5n+3), .shortcutmodules .moduletable:nth-of-type(5n+4), .shortcutmodules .moduletable:nth-of-type(5n+5) {
    grid-column: span 2;
}

.shortcutmodules .moduletable.linked {
    cursor: pointer;
}

.shortcutmodules .overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(34, 34, 34, 0.33);
    /* 	background:linear-gradient(to top, rgba(0, 0, 0, 0.55), rgba(255, 255, 255, 0)); */
    transition: all 0.5s;
}

.shortcutmodules .moduletable:hover .overlay {
    opacity: 0;
}

.shortcutmodules h3 {
    margin: 0;
    color: #fff;
    font-weight: 400;
    font-size: 1.8rem;
    text-shadow: 0 0 .8rem #000;
    margin-bottom: 1rem;
}

.shortcutmodules .module-wrapper {
    position: relative;
    height: 100%;
    justify-content: center;
    padding: 4rem;
    box-sizing: border-box;
}

.shortcutmodules .module-content {
    font-weight: 400;
    font-size: 3.2rem;
    line-height: 1.2em;
    color: #fff;
    text-shadow: 0 0 8rem #000;
}

.shortcutmodules .module-image {
    z-index: -1;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-size: cover;
    background-position: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.shortcutmodules .module-image:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #122029;
    opacity: 0.2;
    transition: all 0.2s;
}

.shortcutmodules .moduletable:hover .module-image:after {
    opacity: 0;
}

.shortcutmodules .module-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.shortcutmodules a {
    color: #fff;
}

/*** Media queries ***/
@media screen and (max-width: 1010px) {
    .shortcutmodules .moduletable:nth-of-type(5n+1), .shortcutmodules .moduletable:nth-of-type(5n+3), .shortcutmodules .moduletable:nth-of-type(5n+4), .shortcutmodules .moduletable:nth-of-type(5n+5) {
        grid-column:span 3;
    }

    .shortcutmodules .moduletable:nth-of-type(5n+2) {
        grid-column: span 3 / 7;
        grid-row: 1 / 3;
    }
}

@media screen and (max-width: 625px) {
    .shortcutmodules .moduletable {
        grid-column:span 6 !important;
        grid-row: auto !important;
    }
}

/***  Slider ***/
.slider-container {
    padding: 0 0 8rem;
    margin-right: var(--bgap);
    background: transparent url('../images/bg-yellow.jpg') repeat 0 0;
}

.slider {
    --margin-left: var(--bgap);
}

.slider h2 {
    font: var(--mf);
    color: #6CBE99;
    position: relative;
    top: -.7em;
    margin-bottom: 0;
    padding-left: var(--gap);
}

.slider .slick-track {
    display: flex;
}

.slider .slick-slide {
    height: auto;
}

.slider .slickcontainer {
    margin: calc(var(--gap) / -2);
    margin-right: 0;
}

.slider .slickitem {
    margin: calc(var(--gap));
    margin-bottom: 10rem;
}

.slider .slick-padding {
}

.slider .image-intro {
    background: rgb(108 190 153 / 30%);
}

.slider .image-intro img {
    position: relative;
    left: var(--gap);
    top: var(--gap);
}

.slider .item-text {
    padding: calc(var(--gap) * 2) var(--gap) 8rem;
    padding-left: 8rem;
    background: transparent url('../images/bg-violett.jpg') repeat 0 0;
    font-size: 1.8rem;
    line-height: 1.6em;
}

.slider .slickitem h3 {
    font-weight: bold;
    font-size: 2.8rem;
    margin-bottom: 1rem;
    margin-left: calc(-1 * var(--gap));
}

.slider a {
    position: absolute;
}

.slider .slickitem img {
    width: 100%;
    height: auto;
}

.slider .slickitem strong {
    font-weight: 300;
    font-size: 2.8rem;
    display: inline-block;
    margin: 0.5em 0;
}

.slider .browse-button {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 50%;
    width: 91px;
    height: 81px;
    transform: translateY(-40px);
    z-index: 1;
    background: transparent url('../images/arrow-green.svg') no-repeat 0 0;
    opacity: 0.75;
    transition: all 0.2s;
}

.slider .browse-button:hover {
    opacity: 1;
}

.slider .slider-left {
    left: -10rem;
    display: none!important;
}

.slider .slider-right {
    right: -7rem;
}

.sitebody .slick-dots {
    margin-top: 2rem;
}

.sitebody .slick-dots li button:before {
    background: #6CBE99;
}

.sitebody .slick-dots li.slick-active button:before {
    background: #fff;
    width: 1.2rem;
    height: 1.2rem;
    border: .2rem solid #6CBE99;
}

/*** Custom Modules ***/
.bg-map {
    position: relative;
    margin:var(--gap2) 0;
    margin-left: var(--bgap);
    padding: 4rem 0;
}

.bg-map:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: var(--bgap);
    right: 0;
    bottom: 0;
    background: #dce6dc url('../images/bg-map.svg') repeat 0 0;
	z-index:-1;
}

.vr h2 {
    padding-right: var(--gap);
}

.vr img {
	width:100%;
	height:auto;
}

.cmm h2 {
    font: var(--mf);
    text-align: right;
    margin-bottom: .5em;
}

.web20 {
    padding-right: var(--gap);
}

.web20 li {
    width: 171px;
    height: 157px;
    background: transparent url('../images/bg-zirbe.png') no-repeat 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.web20 a {
    display: block;
    width: 48px;
    aspect-ratio: 1;
    overflow: hidden;
    color: #fff;
}

.web20 a:before {
    font-size: 48px;
}

.web20 ul {
    display: flex;
    gap: var(--gap);
    justify-content: flex-end;
    flex-wrap:wrap;
}

/*** Contact ***/
.contact-container {
    position: relative;
    margin-top:calc(var(--gap) * 2);
    margin-bottom: calc(var(--gap) * 2);
}

.contact {
    position: relative;
    z-index: 1;
    display: flex;
}

.address {
    padding: 0 var(--gap) var(--gap);
    background: transparent url('../images/bg-violett.jpg') repeat 0 0;
    flex-grow: 1;
    margin-bottom: 12rem;
}

.address h2 {
    position: relative;
    top: -.5em;
    font-size: 4.2rem;
    font-weight: bold;
}

.address a {
    color: #F39200;
    background: transparent url('../images/arrow-green-s.svg') no-repeat 100% 50%;
    padding-right: 4rem;
}

.address .cbutton {
    position: absolute;
    background: transparent;
    color: #4F5693!important;
    justify-content: center;
    padding-right: 1rem;
}

.module-content {
    display: flex;
    justify-content: center;
}

.map {
    position: relative;
    flex-basis: 40%;
}

.map:before {
    content: '';
    display: block;
    position: absolute;
    top: -4rem;
    left: -4rem;
    right: 0;
    bottom: 4rem;
    background: rgb(108 190 153 / 30%);
}

.map iframe {
    position: relative;
}

.map p, .map iframe {
    width: 100%;
    height: 100%;
}

/*** Socialwall ***/

.socialwall-container {
	padding:4rem 4rem;
}

/*** Footer ***/
.footer-container {
    margin-bottom: calc(var(--gap) * 2);
    margin-right: var(--bgap);
}

.footer-container > div {
    background: transparent url('../images/bg-yellow.jpg') no-repeat 0 0 / cover;
}

.footer {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    gap: 2rem;
    padding: var(--gap) 1rem;
}

.footer a[class*='icon']:before {
    color: #fff;
    font-size: 2rem;
    display: inline-block;
    width: 4.2rem;
    height: 4.2rem;
    text-align: center;
    padding-top: 1rem;
    box-sizing: border-box;
    border-radius: 99rem;
    margin-right: 1rem;
    margin-bottom: 1rem;
    background: #4F5693;
}

.footer a {
    font-weight: bold;
    font-size: var(--pfs);
    color: #464646;
}

.footer a:hover, .footer .active a {
    color: #464646;
}

.footer a:not([class*='icon']) {
    line-height: 2em;
    background: transparent url('../images/arrow-green-s.svg') no-repeat 100% 50%;
    padding-right: 4rem;
}

.footer a:not([class*='icon']):before {
}

.footer h3 {
    font-weight: bold;
    font-size: var(--h1fs);
    text-transform: none;
    margin-bottom: 3rem;
    color: #4F5693;
}

.footer img {
    max-width:100%;
    height:auto;
}

/*** Logos ***/
.logos-container {
    display: flex;
    justify-content: flex-end;
}

.logos-container > div {
    background: transparent url('../images/bg-zirbenwand.jpg') repeat 0 0;
    flex-grow: 1;
    padding: var(--gap) 1rem calc(var(--gap) / 2);
    margin-left: var(--bgap);
}

.logos {
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
}

.logos > a, .logos > img, .logos > p {
    display: inline-block;
    margin: 0 1rem calc(var(--gap) / 2);
}

.logos img {
    max-width: 100%;
    height: auto;
}

/*** Content ***/
.content-container {
    padding: calc(2* var(--gap)) 1rem;
}

.content {
}

.content img {
    max-width: 100%;
    height: auto;
}

.items-intro {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap);
    margin-bottom: var(--gap);
}

.alt .items-intro {
    gap:12rem;
}

article {
    width: 100%;
}

.img-intro img {
    display: block;
}

.alt:not(.fullarticle) article {
    display: flex;
}

.alt .img-intro {
    position: relative;
    order: 1;
    align-self: flex-start;
    margin-left: -4rem;
    flex: 1 0 40%;
}

.alt .img-intro:before {
    z-index: -1;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    translate: calc(-1 * var(--gap)) calc(-1 * var(--gap));
    content: '';
    background: rgb(108 190 153 / 30%);
}

.alt .article-content {
    position: relative;
    margin-top: -2rem;
    padding: 0 10rem 4rem 8rem;
}

.alt .page-header {
    margin-left: -4rem;
}

.alt.fullarticle .page-header { margin-left:0; }

.alt .content-container {
    padding:8rem  var(--gap);
}

.alt .article-content:before {
    content: '';
    display: block;
    position: absolute;
    top: 2rem;
    left: 0;
    right: 0;
    bottom: 0;
    background: transparent url('../images/bg-violett.jpg') repeat 0 0;
    z-index: -1;
}

.slider a, .alt .readmore {
    margin-top: 2rem;
}

.alt .readmore {
    margin-bottom: -12rem;
}

.address .cbutton, .slider a, .alt .readmore a {
    display: flex;
    width: 150px;
    font: bold italic 2.4rem var(--cff);
    aspect-ratio: 1;
    color: #4F5693;
    border: 1px solid #4F5693;
    border-radius: 999px;
    rotate: -10deg;
    text-decoration: none;
    align-items: center;
    text-align: center;
    justify-content: center;
}

.default .w50 {
    width: calc(50% - var(--gap) / 2);
}

.default .w33 {
    width: calc(33.33% - var(--gap) * 2 / 3);
}

.default .article-content {
    z-index: 1;
}

.default .img-intro {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    width: calc(33.33% - var(--gap) * 2 / 3);
    margin-bottom: .5rem;
    box-shadow: 0 0 .8rem rgba(0,0,0,0.2);
}

.default .img-intro-left {
    float: left;
    margin-right: var(--gap);
}

.default .img-intro-right {
    float: right;
    margin-left: var(--gap);
}

.default .img-intro + .article-content > h2 {
    text-align: left;
}

.default .w33 .img-intro-left, .default .w50 .img-intro-left {
    margin: 0 0 1rem;
    float: none;
    width: 100%;
}

.default .img-fulltext img {
    width: 100%;
    height: auto;
}

.mfp-link {
    position: relative;
}

.mfp-link img {
    display: block;
    width: 100%;
    height: auto;
}

.mfp-link .icon-zoom {
    display: block;
    line-height: 1em;
    color: #fff;
    text-shadow: 0 0 .2rem #000;
    position: absolute;
    bottom: 1rem;
    right: 1rem;
}

.item-separator, div.items-row {
    clear: both;
}

ul.psgallery {
    display: block;
    margin: 1em 0;
}

@media screen and (max-width: 960px) {
    .default .w33 {
        width:calc(50% - var(--gap) / 2);
    }
}

@media screen and (max-width: 900px) {
    .logo {
        padding-top:3rem;
        margin-bottom: -24.5rem;
    }

    .logo img {
        height: 20rem;
    }

    .slogan {
        bottom: 2rem;
    }

    .slogan .moduletable {
        font-size: 5rem;
    }

    .content-container {
        padding: 8rem var(--gap) 8rem var(--gap2);
    }

    .alt:not(.fullarticle) article {
        flex-direction: column;
    }
	
	.alt .article-content {
		margin-top:1rem;
	}

    .alt .img-intro {
        order: 0;
        margin-left: 0;
        flex: auto;
    }
}

@media screen and (max-width: 768px) {
    .slogan {
        display:none;
    }

    .header .browse-button {
        display: none!important;
    }

    :root {
        --bgap: 0rem;
        --h1fs: 3.4rem;
    }
    .contact {
        flex-direction:column;
    }
    .map { height:30rem; order:-1; flex:auto; margin-bottom:var(--gap2); margin-left:var(--gap); }
    .map iframe { height:100%; }
    .map:before {
        top:var(--gap);
        bottom:calc(var(--gap2) * -1);
    }
    .address { position:relative; }
    .address h2 { font-size: 3.2rem; }
    .slider .browse-button { display:none; }
}

@media screen and (max-width: 625px) {
    :root {
        --gap:2rem;
    }

    .alt .article-content {
        padding: var(--gap2);
        padding-top: 0;
    }

    .alt .page-header {
        margin-left: 0;
	}
	.nav-container {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		max-height: 100vh;
		box-sizing: border-box;
		box-shadow: 0 0 .8rem rgba(0,0,0,0.8);
	}

	.nav-top {
		display: flex;
		align-items: center;
		margin-bottom: 2rem;
	}

	.nav-top .language {
		position: relative;
		z-index: 1;
	}

	.top > .menu-toggle {
		overflow: hidden;
		width: 3.2rem;
	}

	.default .img-intro {
		width: 100%;
		float: none;
		margin: 0 0 1em;
	}

	.default .w33, .default .w50 {
		width: 100%;
	}

	.contact {
		display: block;
	}

	.address {
		text-align: center;
	}

	.contact-container:before {
		bottom: auto;
	}

	.map {
		height: 35rem;
	}
}

@media screen and (max-width: 568px) {
	.cta {
		scale:.8;
		transform-origin: bottom right;
		bottom: 2rem;
	}
}

@media screen and (max-width: 500px) {
	:root {
		--mf: italic 4.2rem var(--cff);
	}
	.header {
		margin:0 -10rem;
		width: calc(100% + 20rem);
	}

	.logo {
		padding-top: 9rem;
		margin-bottom: -25rem;
	}

	.logo img {
		height: 15rem;
	}

	.cta {
		bottom: -3rem;
	}
}

@media screen and (max-width: 400px) {
	:root {
		--gap:1rem;
		--h1fs:2.8rem;
		--pfs:1.8rem;
	}
	.alt .article-content:before {
		top:1.5rem;
	}
	.content-container { padding-top:6rem; }
	.footer-container {
		padding:var(--gap);
	}

	.footer .moduletable {
		width: 100%;
	}

	.mainmenu > ul > li {
		flex-basis: 100%;
	}
}

/*########################################################################################*/
/*########################################################################################*/
/*########################################################################################*/
/*########################################################################################*/
/*########################################################################################*/
/*########################################################################################*/
/*########################################################################################*/
/*** Flatlist ***/
.flatlist ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
	display: flex;
}

.flatlist ul li {
}

.flatlist ul li::after {
	position: relative;
	top: -.1rem;
	content: "|";
	padding-right: 3rem;
}

.flatlist ul li:last-child::after {
	content: none;
	padding-right: 0;
}

/* frontend editor */
div.article_row {
	position: relative;
}

div.contentpaneopen_edit {
	position: absolute;
	top: 0;
	right: 0;
}

div.tip-wrap {
	text-align: left;
	background: #eee;
	border: .1rem dotted #f00;
	padding: 1rem;
}

div.tip-wrap div.tip-title {
	color: #f00;
	font-weight: bold;
	margin-bottom: .5rem;
}

div.reset fieldset, div.remind fieldset, div.login fieldset, div.panel fieldset {
	padding: 1rem;
}

div.login-fields {
	margin-bottom: .5rem;
}

div.login-fields label {
	display: block;
	float: left;
	width: 15rem;
}

div.login-fields input {
	line-height: 1.8em;
	height: 2.4rem;
	padding: .5rem;
}

.ccms_form_element label {
	font-weight: normal !important;
}

div#ui-datepicker-div, div#ui-datepicker-div td, div#ui-datepicker-div span, div#ui-datepicker-div a {
	font: normal 1.2rem/1em Verdana,sans-serif !important;
}

/***** editor *****/
ul.actions {
	padding: 0;
	margin: 0;
	list-style-type: none;
	text-align: right;
}

ul.actions li {
	display: inline-block;
}

.btn-group {
	display: inline-block;
}

.btn-group button {
	color: #fff;
	background: #aaa;
	border: 0;
	padding: .5rem 1rem;
	border-radius: .5rem;
	cursor: pointer;
}

form#adminForm fieldset {
	border: 0;
}

/** RS form **/
p.formRed {
	color: #CF4D4D;
}

p.formDescription {
	font-size: 1rem;
	font-weight: bold;
}

.formContainer {
	border: 0;
	margin-bottom: 4rem;
}

.formRow {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.formRow > div {
	width: calc(50% - 4rem);
}

.formControls div.formBody {
	float: none;
}

.rsform-block[class*="-heading"] {
	margin-top: 2rem;
}

.rsform-block input {
	font: inherit;
}

.rsform-block input:not([size]) {
	width: 100%;
}

.rsform-block input[type="checkbox"], .rsform-block input[type="submit"] {
	width: auto;
}

.rsform-block input[type="checkbox"] {
	margin-right: 1rem;
}

.rsform-block {
	margin-bottom: 1rem;
}

.rsform-block textarea {
	width: 100%;
}

.rsform-block .rsform-submit-button {
	all: initial;
	font: inherit;
	background: #eee;
	padding: 1rem 2rem;
	border-radius: .3rem;
	cursor: pointer;
	-webkit-text-stroke: 0.02rem;
	font-size: 1.8rem;
}

.formValidation {
	display: block;
}

img.ui-datepicker-trigger {
	position: relative;
	top: .3rem;
	left: .5rem;
}

.has-margin-bottom {
	margin-bottom: 4rem;
}

@media screen and (max-width: 768px) {
	.formRow > div {
		width:100%;
	}
}

.rsform-block-email2 {
	display: none;
}

/*** contact form ***/
div.contact-form fieldset {
	padding: 1rem;
}

table#recaptcha_table.recaptchatable {
	border: 0 !important;
}

div.contact h3 {
	margin-top: 1rem;
}

/*** acymailing ***/
.acysubbuttons {
	padding-top: 1rem !important;
	text-align: right !important;
}

div.acymailing_module_form p.fieldacyemail input {
	width: 100%;
	padding: .2rem;
}

/*** system message ***/
div.error {
	color: #CF4D4D;
	font-size: 1.6rem;
}

a.close {
	display: none;
}

dl#system-message {
	border: .1rem dotted #CF4D4D;
	padding: 1rem;
	margin-bottom: 2rem;
}

dt.message {
	margin-bottom: 1rem;
	font-weight: bold;
}

/* contact */
div.contact h2 span {
	font-size: 2.4rem;
}

div.contact h3 {
	margin-top: 3rem;
	margin-bottom: 1rem;
}

span.address {
	display: block;
	margin-top: 1rem;
}

p.telephone {
	padding: 1rem 0;
}

div.muted {
	display: none;
}

/*** Pagination ***/
.pagination ul {
	display: flex;
}

.pagination li {
	display: flex;
	align-items: center;
	border: 1px solid #ccc;
	border-right-width: 0;
}

.pagination .page-link {
	display: block;
	padding: 5px 12px 4px;
}

.pagination .active a {
	pointer-events: none;
	color: unset;
}

.pagination li:first-of-type {
	border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;
}

.pagination li:last-of-type {
	border-right-width: 1px;
	border-top-right-radius: 5px;
	border-bottom-right-radius: 5px;
}

.pagination .icon-angle-double-left:before, .pagination .icon-angle-left:before, .pagination .icon-angle-double-right:before, .pagination .icon-angle-right:before {
	display: flex;
	align-items: center;
	font-family: inherit;
	font-size: 1.5em;
	line-height: 0;
	position: relative;
	top: -2px;
}

.pagination .icon-angle-double-left:before {
	content: '\00AB';
}

.pagination .icon-angle-left:before {
	content: '\2039';
}

.pagination .icon-angle-double-right:before {
	content: '\00bb';
}

.pagination .icon-angle-right:before {
	content: '\203A';
}

@media screen and (max-width: 500px) {
	.pagination .page-item {
		display:none;
	}

	.pagination .page-item:nth-of-type(1), .pagination .page-item:nth-of-type(2), .pagination .page-item:nth-last-of-type(1), .pagination .page-item:nth-last-of-type(2), .pagination .page-item.active, .pagination .page-item.active + .page-item {
		display: flex;
	}

	.pagination .page-item:has(+ .active) {
		display: flex;
	}
}

/* Responsive Tabs */
.content .r-tabs {
	border-radius: 0;
	border: 0;
	background: #0864a9;
	padding: 1rem;
}

.content .r-tabs .r-tabs-accordion-title .r-tabs-anchor, .content .r-tabs .r-tabs-nav .r-tabs-tab {
	background: transparent;
}

.content .r-tabs .r-tabs-panel {
	border-radius: 0;
	background: #fff;
}

.content .r-tabs .r-tabs-nav .r-tabs-state-active .r-tabs-anchor {
	border-radius: 0;
}

.content .r-tabs .r-tabs-nav .r-tabs-anchor {
	background: transparent;
	color: #fff;
	text-transform: uppercase;
	letter-spacing: .5rem;
	font-weight: bold;
	text-shadow: none;
}

.content .r-tabs .r-tabs-tab.r-tabs-state-active .r-tabs-anchor {
	color: #2C2C2C;
	background: #fff;
}

.content .rtab-name { color:#4F5693; background:transparent; border-bottom:1px solid #4F5693; padding:10px 0; }
.content .rtab-icon:before { content:'+'; }
.content .rtab-item.rtab-open .rtab-name { background:transparent; }
.content .rtab-content { background:transparent; border:0; }

/*** JCE ***/
.wf-columns {
	display: flex;
	gap: 2rem;
	flex-wrap: wrap;
}

/*** easybooking fix ***/
#ebApp .fadeIn {
	opacity: 1;
}

#content .fa:before {
	font-family: FontAwesome!important;
}
