@font-face {
    font-family: "kokoro-regular";
    src:
        url("fonts/kokoro-regular-webfont.woff2") format("woff2"),
        url("fonts/kokoro-regular-webfont.woff") format("woff");
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: "tt_chocolates_light";
    src:
        url("fonts/tt_chocolates_light-webfont.woff2") format("woff2"),
        url("fonts/tt_chocolates_light-webfont.woff") format("woff");
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: "tt_chocolates_regular";
    src:
        url("fonts/tt_chocolates_regular-webfont.woff2") format("woff2"),
        url("fonts/tt_chocolates_regular-webfont.woff") format("woff");
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: "tt_chocolates_medium";
    src:
        url("fonts/tt_chocolates_medium-webfont.woff2") format("woff2"),
        url("fonts/tt_chocolates_medium-webfont.woff") format("woff");
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: "tt_chocolates_bold";
    src:
        url("fonts/tt_chocolates_bold-webfont.woff2") format("woff2"),
        url("fonts/tt_chocolates_bold-webfont.woff") format("woff");
    font-weight: normal;
    font-style: normal;
}
body {
    background: #fff;
    color: #161615;
    font-family: "tt_chocolates_regular", sans-serif;
}
#page {
    max-width: 2560px;
    margin: 0 auto;
    overflow: hidden;
}
@media screen and (min-width: 160em) {
    #page::before {
        content: "";
        display: block;
        width: calc((100% - 2560px) / 2);
        height: 100%;
        background: #f5f5f5;
        position: fixed;
        left: 0;
        top: 0;
    }
}
@media screen and (min-width: 160em) {
    #page::after {
        content: "";
        display: block;
        width: calc((100% - 2560px) / 2);
        height: 100%;
        background: #f5f5f5;
        position: fixed;
        right: 0;
        top: 0;
    }
}
.grid-container {
    max-width: 2560px;
    padding-left: 5.33334vw;
    padding-right: 5.33334vw;
}
@media screen and (min-width: 64em) {
    .grid-container {
        padding-left: 3.90625vw;
        padding-right: 3.90625vw;
    }
}
@media screen and (min-width: 75em) {
    .grid-container {
        padding-left: 7.29167vw;
        padding-right: 7.29167vw;
    }
}
@media screen and (min-width: 160em) {
    .grid-container {
        padding-left: 186.66667px;
        padding-right: 186.66667px;
    }
}
.grid-container:not(.full) > .grid-padding-x,
.grid-padding-x .grid-padding-x {
    margin-left: -1.82292vw;
    margin-right: -1.82292vw;
}
@media screen and (min-width: 160em) {
    .grid-container:not(.full) > .grid-padding-x,
    .grid-padding-x .grid-padding-x {
        margin-left: -46.66667px;
        margin-right: -46.66667px;
    }
}
.grid-padding-x > .cell {
    padding-left: 1.82292vw;
    padding-right: 1.82292vw;
}
@media screen and (min-width: 160em) {
    .grid-padding-x > .cell {
        padding-left: 46.66667px;
        padding-right: 46.66667px;
    }
}
.mt-s {
    margin-top: 6.66667vw;
}
@media screen and (min-width: 48em) {
    .mt-s {
        margin-top: 3.25521vw;
    }
}
@media screen and (min-width: 64em) {
    .mt-s {
        margin-top: 2.08334vw;
    }
}
@media screen and (min-width: 160em) {
    .mt-s {
        margin-top: 53.33334px;
    }
}
.mt-m {
    margin-top: 18.66667vw;
}
@media screen and (min-width: 48em) {
    .mt-m {
        margin-top: 10.41667vw;
    }
}
@media screen and (min-width: 64em) {
    .mt-m {
        margin-top: 5.20834vw;
    }
}
@media screen and (min-width: 160em) {
    .mt-m {
        margin-top: 133.33334px;
    }
}
.mt-l {
    margin-top: 18.66667vw;
}
@media screen and (min-width: 48em) {
    .mt-l {
        margin-top: 13.02084vw;
    }
}
@media screen and (min-width: 64em) {
    .mt-l {
        margin-top: 6.77084vw;
    }
}
@media screen and (min-width: 160em) {
    .mt-l {
        margin-top: 173.33334px;
    }
}
.mt-xl {
    margin-top: 18.66667vw;
}
@media screen and (min-width: 48em) {
    .mt-xl {
        margin-top: 13.02084vw;
    }
}
@media screen and (min-width: 64em) {
    .mt-xl {
        margin-top: 10.41667vw;
    }
}
@media screen and (min-width: 160em) {
    .mt-xl {
        margin-top: 266.66667px;
    }
}
.mb-0 {
    margin-bottom: 0 !important;
}
.mb-s {
    margin-bottom: 6.66667vw;
}
@media screen and (min-width: 48em) {
    .mb-s {
        margin-bottom: 3.25521vw;
    }
}
@media screen and (min-width: 64em) {
    .mb-s {
        margin-bottom: 2.08334vw;
    }
}
@media screen and (min-width: 160em) {
    .mb-s {
        margin-bottom: 53.33334px;
    }
}
.mb-m {
    margin-bottom: 18.66667vw;
}
@media screen and (min-width: 48em) {
    .mb-m {
        margin-bottom: 10.41667vw;
    }
}
@media screen and (min-width: 64em) {
    .mb-m {
        margin-bottom: 5.20834vw;
    }
}
@media screen and (min-width: 160em) {
    .mb-m {
        margin-bottom: 133.33334px;
    }
}
.mb-l {
    margin-bottom: 18.66667vw;
}
@media screen and (min-width: 48em) {
    .mb-l {
        margin-bottom: 13.02084vw;
    }
}
@media screen and (min-width: 64em) {
    .mb-l {
        margin-bottom: 6.77084vw;
    }
}
@media screen and (min-width: 160em) {
    .mb-l {
        margin-bottom: 173.33334px;
    }
}
.mb-xl {
    margin-bottom: 18.66667vw;
}
@media screen and (min-width: 48em) {
    .mb-xl {
        margin-bottom: 13.02084vw;
    }
}
@media screen and (min-width: 64em) {
    .mb-xl {
        margin-bottom: 10.41667vw;
    }
}
@media screen and (min-width: 160em) {
    .mb-xl {
        margin-bottom: 266.66667px;
    }
}
.mb-gutter {
    margin-bottom: 3.64584vw;
}
@media screen and (min-width: 160em) {
    .mb-gutter {
        margin-bottom: 93.33334px;
    }
}
.pt-s {
    padding-top: 6.66667vw;
}
@media screen and (min-width: 48em) {
    .pt-s {
        padding-top: 3.25521vw;
    }
}
@media screen and (min-width: 64em) {
    .pt-s {
        padding-top: 2.08334vw;
    }
}
@media screen and (min-width: 160em) {
    .pt-s {
        padding-top: 53.33334px;
    }
}
.pt-m {
    padding-top: 18.66667vw;
}
@media screen and (min-width: 48em) {
    .pt-m {
        padding-top: 10.41667vw;
    }
}
@media screen and (min-width: 64em) {
    .pt-m {
        padding-top: 5.20834vw;
    }
}
@media screen and (min-width: 160em) {
    .pt-m {
        padding-top: 133.33334px;
    }
}
.pt-l {
    padding-top: 18.66667vw;
}
@media screen and (min-width: 48em) {
    .pt-l {
        padding-top: 13.02084vw;
    }
}
@media screen and (min-width: 64em) {
    .pt-l {
        padding-top: 6.77084vw;
    }
}
@media screen and (min-width: 160em) {
    .pt-l {
        padding-top: 173.33334px;
    }
}
.pt-xl {
    padding-top: 18.66667vw;
}
@media screen and (min-width: 48em) {
    .pt-xl {
        padding-top: 13.02084vw;
    }
}
@media screen and (min-width: 64em) {
    .pt-xl {
        padding-top: 10.41667vw;
    }
}
@media screen and (min-width: 160em) {
    .pt-xl {
        padding-top: 266.66667px;
    }
}
.pb-s {
    padding-bottom: 6.66667vw;
}
@media screen and (min-width: 48em) {
    .pb-s {
        padding-bottom: 3.25521vw;
    }
}
@media screen and (min-width: 64em) {
    .pb-s {
        padding-bottom: 2.08334vw;
    }
}
@media screen and (min-width: 160em) {
    .pb-s {
        padding-bottom: 53.33334px;
    }
}
.pb-m {
    padding-bottom: 18.66667vw;
}
@media screen and (min-width: 48em) {
    .pb-m {
        padding-bottom: 10.41667vw;
    }
}
@media screen and (min-width: 64em) {
    .pb-m {
        padding-bottom: 5.20834vw;
    }
}
@media screen and (min-width: 160em) {
    .pb-m {
        padding-bottom: 133.33334px;
    }
}
.pb-l {
    padding-bottom: 18.66667vw;
}
@media screen and (min-width: 48em) {
    .pb-l {
        padding-bottom: 13.02084vw;
    }
}
@media screen and (min-width: 64em) {
    .pb-l {
        padding-bottom: 6.77084vw;
    }
}
@media screen and (min-width: 160em) {
    .pb-l {
        padding-bottom: 173.33334px;
    }
}
.pb-xl {
    padding-bottom: 18.66667vw;
}
@media screen and (min-width: 48em) {
    .pb-xl {
        padding-bottom: 13.02084vw;
    }
}
@media screen and (min-width: 64em) {
    .pb-xl {
        padding-bottom: 10.41667vw;
    }
}
@media screen and (min-width: 160em) {
    .pb-xl {
        padding-bottom: 266.66667px;
    }
}
.small-of-lr {
    width: calc(100vw + 1px);
    max-width: none;
    margin-left: -5.33334vw;
}
@media screen and (min-width: 64em) {
    .small-of-lr {
        margin-left: -3.90625vw;
    }
}
@media screen and (min-width: 75em) {
    .small-of-lr {
        margin-left: -7.29167vw;
    }
}
@media screen and (min-width: 160em) {
    .small-of-lr {
        width: 2561px;
        margin-left: -186.66667px;
    }
}
@media screen and (min-width: 48em) {
    .medium-of-l,
    .medium-of-r {
        width: calc(100% + 5.33334vw + 1px);
        max-width: none;
        margin-left: 0;
    }
}
@media screen and (min-width: 64em) {
    .medium-of-l,
    .medium-of-r {
        width: calc(100% + 3.90625vw + 1px);
    }
}
@media screen and (min-width: 75em) {
    .medium-of-l,
    .medium-of-r {
        width: calc(100% + 7.29167vw + 1px);
    }
}
@media screen and (min-width: 160em) {
    .medium-of-l,
    .medium-of-r {
        width: calc(100% + 186.66667px + 1px);
    }
}
@media screen and (min-width: 48em) {
    .medium-of-l {
        float: right;
    }
}
@media screen and (min-width: 48em) {
    .medium-of-n {
        width: 100%;
        margin-left: 0;
        float: none;
    }
}
@media screen and (min-width: 64em) {
    .large-of-n {
        width: 100%;
        margin-left: 0;
        float: none;
    }
}
.small-bdt-1 {
    border-top: 1px solid;
}
.small-bdb-1 {
    border-bottom: 1px solid;
}
.small-bdl-1 {
    border-left: 1px solid;
}
.small-bdr-1 {
    border-right: 1px solid;
}
@media screen and (min-width: 48em) {
    .medium-bdt-1 {
        border-top: 1px solid;
    }
}
@media screen and (min-width: 48em) {
    .medium-bdl-1 {
        border-left: 1px solid;
    }
}
@media screen and (min-width: 48em) {
    .medium-bdr-1 {
        border-right: 1px solid;
    }
}
@media screen and (min-width: 64em) {
    .large-bdr-1 {
        border-right: 1px solid;
    }
}
.small-pe-bdb-1 {
    position: relative;
}
.small-pe-bdb-1::after {
    content: "";
    display: block;
    width: 200vw;
    height: 1px;
    background: #161615;
    position: absolute;
    left: -100vw;
    bottom: 0;
}
@media screen and (min-width: 48em) {
    .medium-pe-bdb-0::after {
        content: none;
    }
}
@media screen and (min-width: 64em) {
    .large-pe-bdb-0::after {
        content: none;
    }
}
.ta-center {
    text-align: center;
}
h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
}
.headline-xl,
.tinymce h1:not([class]) {
    margin-bottom: 0.45em;
    font-family: "kokoro-regular", serif;
    font-weight: normal;
    font-size: 9.06667vw;
    line-height: 1.3;
    color: #2980b9;
}
@media screen and (min-width: 48em) {
    .headline-xl,
    .tinymce h1:not([class]) {
        font-size: 7.8125vw;
    }
}
@media screen and (min-width: 64em) {
    .headline-xl,
    .tinymce h1:not([class]) {
        font-size: 5.85938vw;
    }
}
@media screen and (min-width: 75em) {
    .headline-xl,
    .tinymce h1:not([class]) {
        font-size: 5.20834vw;
    }
}
@media screen and (min-width: 160em) {
    .headline-xl,
    .tinymce h1:not([class]) {
        font-size: 133.33334px;
    }
}
.headline-l-xl {
    margin-bottom: 0.45em;
    font-family: "kokoro-regular", serif;
    font-weight: normal;
    font-size: 7.2vw;
    line-height: 1.3;
}
@media screen and (min-width: 48em) {
    .headline-l-xl {
        font-size: 6.25vw;
    }
}
@media screen and (min-width: 64em) {
    .headline-l-xl {
        font-size: 4.6875vw;
    }
}
@media screen and (min-width: 75em) {
    .headline-l-xl {
        font-size: 4.16667vw;
    }
}
@media screen and (min-width: 160em) {
    .headline-l-xl {
        font-size: 106.66667px;
    }
}
.headline-l,
.tinymce h2:not([class]) {
    margin-bottom: 0.3em;
    font-family: "tt_chocolates_medium", sans-serif;
    font-weight: normal;
    font-size: 8vw;
    line-height: 1.3;
}
@media screen and (min-width: 48em) {
    .headline-l,
    .tinymce h2:not([class]) {
        font-size: 5.20834vw;
    }
}
@media screen and (min-width: 64em) {
    .headline-l,
    .tinymce h2:not([class]) {
        font-size: 4.16667vw;
    }
}
@media screen and (min-width: 160em) {
    .headline-l,
    .tinymce h2:not([class]) {
        font-size: 106.66667px;
    }
}
.tinymce h3:not([class]) {
    margin-bottom: 1.3em;
    font-family: "tt_chocolates_bold", sans-serif;
    font-weight: normal;
    font-size: max(20px, 1.5625vw);
    letter-spacing: 0.1em;
    line-height: 1.3;
    text-transform: uppercase;
}
@media screen and (min-width: 160em) {
    .tinymce h3:not([class]) {
        font-size: 40px;
    }
}
.fs-headline-xl {
    font-size: 9.06667vw;
    line-height: 1.3;
}
@media screen and (min-width: 48em) {
    .fs-headline-xl {
        font-size: 7.8125vw;
    }
}
@media screen and (min-width: 64em) {
    .fs-headline-xl {
        font-size: 5.85938vw;
    }
}
@media screen and (min-width: 75em) {
    .fs-headline-xl {
        font-size: 5.20834vw;
    }
}
@media screen and (min-width: 160em) {
    .fs-headline-xl {
        font-size: 133.33334px;
    }
}
p,
ul,
table,
.fs-copy-text {
    font-size: max(20px, 1.5625vw);
    line-height: 1.5;
}
@media screen and (min-width: 160em) {
    p,
    ul,
    table,
    .fs-copy-text {
        font-size: 40px;
    }
}
p {
    margin: 0 0 1.5em;
}
ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.text-lists ul {
    margin-bottom: 1.5em;
}
.text-lists ul li {
    padding-left: 0em;
    position: relative;
}
.text-lists ul li::before {
    content: "";
    display: block;
    width: 0em;
    height: 0;
    background: #161615;
    position: absolute;
    left: 0;
    top: 0em;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
td {
    vertical-align: top;
}
strong,
b {
    font-family: "tt_chocolates_bold", sans-serif;
    font-weight: normal;
}
a {
    color: #161615;
    text-decoration: none;
    outline: 0;
}
.underlined-links a:not([class]) {
    position: relative;
}
.underlined-links a:not([class])::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #161615;
    position: absolute;
    left: 0;
    bottom: -0.06667em;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition:
        transform 0.3s,
        -webkit-transform 0.3s;
}
@media (hover: hover) {
    .underlined-links a:not([class]):hover::after {
        -webkit-transform: scaleX(0);
        -ms-transform: scaleX(0);
        transform: scaleX(0);
    }
}
.underlined-links.reversed a:not([class])::after {
    -webkit-transform: scaleX(0);
    -ms-transform: scaleX(0);
    transform: scaleX(0);
}
@media (hover: hover) {
    .underlined-links.reversed a:not([class]):hover::after {
        -webkit-transform: scaleX(1);
        -ms-transform: scaleX(1);
        transform: scaleX(1);
    }
}
a.has-hover-line {
    position: relative;
}
a.has-hover-line::before {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #161615;
    position: absolute;
    left: 0;
    bottom: -0.44444em;
    -webkit-transform: scaleX(0);
    -ms-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition:
        transform 0.3s,
        -webkit-transform 0.3s;
}
@media (hover: hover) {
    a.has-hover-line:hover::before {
        -webkit-transform: scaleX(1);
        -ms-transform: scaleX(1);
        transform: scaleX(1);
    }
}
.button {
    display: inline-block;
}
.all-caps-s {
    display: inline-block;
    font-family: "tt_chocolates_bold", sans-serif;
    font-weight: normal;
    font-size: 14px;
    letter-spacing: 0.1em;
    line-height: 1;
    text-transform: uppercase;
}
@media screen and (min-width: 75em) {
    .all-caps-s {
        font-size: max(16px, 0.9375vw);
    }
}
@media screen and (min-width: 160em) {
    .all-caps-s {
        font-size: 24px;
    }
}
.all-caps-l {
    margin-bottom: 0.2em;
    font-weight: normal;
    font-size: max(20px, 1.5625vw);
    letter-spacing: 0.1em;
    line-height: 1.3;
    text-transform: uppercase;
     color: #1abc9c;
}
@media screen and (min-width: 160em) {
    .all-caps-l {
        font-size: 40px;
    }
}
.vertical-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.vertical-container.p-top {
    padding-top: 0.2353em;
}
@media screen and (min-width: 48em) {
    .vertical-container.p-top {
        padding-top: 0.28334em;
    }
}
@media screen and (min-width: 75em) {
    .vertical-container.p-top {
        padding-top: 0.3em;
    }
}
.vertical {
    font-family: "tt_chocolates_light", sans-serif;
    font-size: 14px;
    white-space: nowrap;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
}
@media screen and (min-width: 48em) {
    .vertical {
        font-size: 18px;
    }
}
@media screen and (min-width: 64em) {
    .vertical {
        font-size: 16px;
    }
}
@media screen and (min-width: 75em) {
    .vertical {
        font-size: max(13px, 0.9375vw);
    }
}
@media screen and (min-width: 160em) {
    .vertical {
        font-size: 24px;
    }
}
.has-arrow {
    padding-right: 1.66666em;
    position: relative;
}
.has-arrow::after {
    content: "";
    display: block;
    width: 0.72222em;
    height: 100%;
    background: url("img/arrow-small-black.svg") no-repeat left top;
    background-size: 100%;
    position: absolute;
    right: 0;
    top: 0.16666em;
}
img.w-100 {
    width: 100%;
}
.section {
    position: relative;
}
.section.light-gray {
    background: #f2f2eb;
}
.section.triangle::after {
    content: "";
    width: 0;
    height: 0;
    margin-left: -2em;
    border-left: 2em solid rgba(0, 0, 0, 0);
    border-right: 2em solid rgba(0, 0, 0, 0);
    border-top: 2em solid #f2f2eb;
    position: absolute;
    left: 50%;
    bottom: calc(-2em + 1px);
}
#header,
#nav .logo-container {
    padding-top: 5.33334vw;
    padding-left: 5.33334vw;
}
@media screen and (min-width: 64em) {
    #header,
    #nav .logo-container {
        padding-top: 3.90625vw;
        padding-left: 3.90625vw;
    }
}
@media screen and (min-width: 75em) {
    #header,
    #nav .logo-container {
        padding-top: 3.125vw;
        padding-left: 3.125vw;
    }
}
@media screen and (min-width: 160em) {
    #header,
    #nav .logo-container {
        padding-top: 80px;
        padding-left: 80px;
    }
}
#header .logo,
#nav .logo {
    display: block;
    width: 18.66667vw;
    max-width: 194px;
}
@media screen and (min-width: 120em) {
    #header .logo,
    #nav .logo {
        width: 4.89584vw;
        max-width: none;
    }
}
@media screen and (min-width: 160em) {
    #header .logo,
    #nav .logo {
        width: 125.33334px;
    }
}
@media screen and (min-width: 48em) {
    #intro .vertical-container {
        width: 94px;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
}
@media screen and (min-width: 75em) {
    #intro .vertical-container {
        position: absolute;
        left: 3.125vw;
        top: 0;
    }
}
@media screen and (min-width: 120em) {
    #intro .vertical-container {
        width: 4.89584vw;
    }
}
@media screen and (min-width: 160em) {
    #intro .vertical-container {
        width: 125.33334px;
        left: 80px;
    }
}
@media screen and (min-width: 48em) {
    .page-id-92 .braende {
        width: 80%;
    }
}
@media screen and (min-width: 64em) {
    .page-id-92 .braende {
        width: 60%;
    }
}
@media screen and (min-width: 48em) {
    .page-id-92 .gin {
        width: 57%;
    }
}
@media screen and (min-width: 64em) {
    .page-id-92 .gin {
        width: 45%;
    }
}
.logo-von-poschinger-glas {
    width: 180px;
}
@media screen and (min-width: 48em) {
    .logo-von-poschinger-glas {
        width: 230px;
    }
}
@media screen and (min-width: 120em) {
    .logo-von-poschinger-glas {
        width: 11.97917vw;
    }
}
@media screen and (min-width: 160em) {
    .logo-von-poschinger-glas {
        width: 306.66667px;
    }
}
.content-one-column .tinymce > :last-child {
    margin-bottom: 0;
}
@media screen and (min-width: 48em) {
    .content-three-columns .cell {
        margin-bottom: 0;
    }
}
.content-three-columns .cell > :last-child {
    margin-bottom: 0;
}
.section.button-circle .cell {
    font-size: 0;
    text-align: center;
    position: relative;
}
.button.circle {
    width: 58.13334vw;
    height: 58.13334vw;
    max-width: 230px;
    max-height: 230px;
    background: #fff;
    border: 1px solid #161615;
    border-radius: 50%;
    overflow: hidden;
    position: relative;
}
@media screen and (min-width: 64em) {
    .button.circle {
        width: 18.59375vw;
        height: 18.59375vw;
        max-width: none;
        max-height: none;
    }
}
@media screen and (min-width: 160em) {
    .button.circle {
        width: 476px;
        height: 476px;
    }
}
.button.circle .fill {
    width: 150%;
    height: 200%;
    margin-left: -25%;
    background: #161615;
    border-radius: 50%;
    position: absolute;
    left: 0;
    bottom: -200%;
    pointer-events: none;
}
.button.circle .text-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 100%;
    padding-left: 15%;
    mix-blend-mode: difference;
    pointer-events: none;
}
.button.circle .text {
    color: #fff;
    font-family: "tt_chocolates_medium", sans-serif;
    font-size: min(8vw, 32px);
    letter-spacing: 0.1em;
    line-height: 1.3;
    text-align: left;
    text-transform: uppercase;
}
@media screen and (min-width: 64em) {
    .button.circle .text {
        font-size: 2.60417vw;
    }
}
@media screen and (min-width: 160em) {
    .button.circle .text {
        font-size: 66.66667px;
    }
}
.button.circle.fuehrung .text-container {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding-top: 18%;
    padding-left: 20%;
}
.button.circle.fuehrung .text {
    font-size: min(6.4vw, 26px);
}
@media screen and (min-width: 64em) {
    .button.circle.fuehrung .text {
        font-size: 2.08334vw;
    }
}
@media screen and (min-width: 160em) {
    .button.circle.fuehrung .text {
        font-size: 53.33334px;
    }
}
.button.circle.veranstaltungen .text-container {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding-top: 30%;
    padding-left: 15%;
}
.button.circle.veranstaltungen .text {
    font-size: min(6.4vw, 26px);
}
@media screen and (min-width: 64em) {
    .button.circle.veranstaltungen .text {
        font-size: 2.08334vw;
    }
}
@media screen and (min-width: 160em) {
    .button.circle.veranstaltungen .text {
        font-size: 53.33334px;
    }
}
.button.circle .arrow {
    width: 15%;
    height: auto;
    stroke: #fff;
    mix-blend-mode: difference;
    position: absolute;
    left: 65%;
}
.button.circle.shop .arrow {
    top: 60%;
}
.button.circle.fuehrung .arrow {
    left: 42%;
    top: 70%;
}
.button.circle.veranstaltungen .arrow {
    left: 42%;
    top: 70%;
}
.button.circle.tour .arrow {
    top: 30%;
}
.button.circle.default .arrow {
    left: 50%;
    top: 12%;
}
@media screen and (min-width: 64em) {
    .button-circle.right-bottom .button {
        position: absolute;
        right: 0;
        bottom: 0;
    }
}
.section.button-circle.left-top {
    padding-bottom: 0;
}
@media screen and (min-width: 48em) {
    .button-circle.left-top .button {
        position: absolute;
        left: 0;
        top: 0;
        z-index: 10;
    }
}
.page-id-92 .section.button-circle.left-top {
    padding-top: 30px;
}
@media screen and (min-width: 64em) {
    .page-id-92 .section.button-circle.left-top {
        padding-top: 0;
    }
}
@media screen and (min-width: 48em) {
    .page-id-92 .button-circle.left-top .button {
        left: 1.82292vw;
    }
}
@media screen and (min-width: 64em) {
    .page-id-92 .button-circle.left-top .button {
        left: 10.4%;
        top: 6.77084vw;
    }
}
@media screen and (min-width: 160em) {
    .page-id-92 .button-circle.left-top .button {
        top: 173.33334px;
    }
}
.image-teasers a {
    display: block;
}
.image-teasers a .img-container {
    overflow: hidden;
    position: relative;
}
.image-teasers a .img-container img {
    -webkit-transition: -webkit-transform 0.4s;
    transition: -webkit-transform 0.4s;
    transition: transform 0.4s;
    transition:
        transform 0.4s,
        -webkit-transform 0.4s;
}
@media (hover: hover) {
    .image-teasers a:hover .img-container img {
        -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
        transform: scale(1.1);
    }
}
.image-teasers a .img-container .overlay {
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
    opacity: 0;
    position: absolute;
    left: 0;
    top: 0;
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
}
@media (hover: hover) {
    .image-teasers a:hover .img-container .overlay {
        opacity: 1;
    }
}
.image-teasers a .img-container .overlay .arrow {
    width: 4.6875vw;
    height: 4.6875vw;
    background: url("img/arrow-large-white.svg") no-repeat left top;
    background-size: 100%;
    -webkit-transform: translate3d(0, 2.60417vw, 0);
    transform: translate3d(0, 2.60417vw, 0);
    -webkit-transition: -webkit-transform 0.4s;
    transition: -webkit-transform 0.4s;
    transition: transform 0.4s;
    transition:
        transform 0.4s,
        -webkit-transform 0.4s;
}
@media screen and (min-width: 160em) {
    .image-teasers a .img-container .overlay .arrow {
        width: 120px;
        height: 120px;
        -webkit-transform: translate3d(0, 66.66667px, 0);
        transform: translate3d(0, 66.66667px, 0);
    }
}
@media (hover: hover) {
    .image-teasers a:hover .img-container .overlay .arrow {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}
.image-teasers a .img-container .headline {
    position: absolute;
    left: 2em;
}
.image-teasers a .img-container .headline.left-top {
    top: 2em;
}
.image-teasers a .img-container .headline.left-bottom {
    bottom: 2em;
}
.image-teasers a .img-container .headline.right-top {
    left: auto;
    right: 2em;
    top: 2em;
}
@media screen and (min-width: 48em) {
    a.fit-h-100,
    a.fit-h-100 .img-container,
    a.fit-h-100 img {
        height: 100%;
    }
}
@media screen and (min-width: 48em) {
    a.fit-h-100.left-top img {
        -o-object-fit: cover;
        object-fit: cover;
        -o-object-position: left top;
        object-position: left top;
    }
}
.image-teasers a,
.image-teasers img.no-link {
    margin-bottom: 5.33334vw;
}
@media screen and (min-width: 48em) {
    .image-teasers a,
    .image-teasers img.no-link {
        margin-bottom: 3.64584vw;
    }
}
@media screen and (min-width: 160em) {
    .image-teasers a,
    .image-teasers img.no-link {
        margin-bottom: 93.33334px;
    }
}
@media screen and (min-width: 48em) {
    .image-teasers .row-01 {
        margin-bottom: 3.64584vw;
    }
}
@media screen and (min-width: 160em) {
    .image-teasers .row-01 {
        margin-bottom: 93.33334px;
    }
}
@media screen and (min-width: 48em) {
    .image-teasers .row-01 a {
        margin-bottom: 0;
    }
}
@media screen and (min-width: 48em) {
    .text-teasers .small-pe-bdb-1::after {
        width: 100vw;
        left: 0;
    }
}
.text-teasers a {
    display: block;
}
.text-teasers .headline-l.has-arrow {
    display: inline-block;
    padding-right: 1em;
}
.text-teasers .headline-l.has-arrow::after {
    width: 0.4625em;
    background: url("img/arrow-medium-black.svg") no-repeat left 0.5375em;
    background-size: 100%;
    top: 0;
}
.text-teasers .headline-l::before {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background: #161615;
    position: absolute;
    left: 0;
    bottom: 0.025em;
    -webkit-transform: scaleX(0);
    -ms-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition:
        transform 0.3s,
        -webkit-transform 0.3s;
}
@media (hover: hover) {
    .text-teasers a:hover .headline-l::before {
        -webkit-transform: scaleX(1);
        -ms-transform: scaleX(1);
        transform: scaleX(1);
    }
}
.gallery {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    overflow-x: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
@media screen and (min-width: 75em) {
    .gallery {
        overflow: visible;
    }
}
.gallery::-webkit-scrollbar {
    display: none;
}
.gallery .slide {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 5.33334vw;
}
@media screen and (min-width: 48em) {
    .gallery .slide {
        margin-right: 3.64584vw;
    }
}
@media screen and (min-width: 160em) {
    .gallery .slide {
        margin-right: 93.33334px;
    }
}
.gallery .slide.last {
    margin-right: 0;
}
.gallery .img-container {
    overflow: hidden;
}
.gallery img {
    -webkit-transform: scale(1.3);
    -ms-transform: scale(1.3);
    transform: scale(1.3);
    -webkit-transition: -webkit-transform 2s cubic-bezier(0.19, 1, 0.22, 1);
    transition: -webkit-transform 2s cubic-bezier(0.19, 1, 0.22, 1);
    transition: transform 2s cubic-bezier(0.19, 1, 0.22, 1);
    transition:
        transform 2s cubic-bezier(0.19, 1, 0.22, 1),
        -webkit-transform 2s cubic-bezier(0.19, 1, 0.22, 1);
}
.gallery.in-view img {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
}
.gallery .slide.two-images {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}
.gallery .slide.two-images.align-right {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}
.gallery .slide.two-images .img-container.first {
    margin-bottom: 5.33334vw;
}
@media screen and (min-width: 48em) {
    .gallery .slide.two-images .img-container.first {
        margin-bottom: 3.64584vw;
    }
}
@media screen and (min-width: 160em) {
    .gallery .slide.two-images .img-container.first {
        margin-bottom: 93.33334px;
    }
}
.gallery .slide.two-images img {
    height: 200px;
}
@media screen and (min-width: 48em) {
    .gallery .slide.two-images img {
        height: 250px;
    }
}
@media screen and (min-width: 64em) {
    .gallery .slide.two-images img {
        height: calc(50vh - 5.46875vw);
    }
}
@media screen and (min-width: 160em) {
    .gallery .slide.two-images img {
        height: calc(50vh - 140px);
    }
}
.gallery .slide.portrait img {
    height: calc(400px + 5.33334vw);
}
@media screen and (min-width: 48em) {
    .gallery .slide.portrait img {
        height: calc(500px + 3.64584vw);
    }
}
@media screen and (min-width: 64em) {
    .gallery .slide.portrait img {
        height: calc(100vh - 7.29167vw);
    }
}
@media screen and (min-width: 160em) {
    .gallery .slide.portrait img {
        height: calc(100vh - 186.66667px);
    }
}
#partners a {
    display: block;
}
.content-align-left .tinymce h1 {
    margin-bottom: 1em;
}
.content-align-left .tinymce h2 {
    font-size: 6.4vw;
}
@media screen and (min-width: 48em) {
    .content-align-left .tinymce h2 {
        font-size: 5.20834vw;
    }
}
@media screen and (min-width: 64em) {
    .content-align-left .tinymce h2 {
        font-size: 3.125vw;
    }
}
@media screen and (min-width: 160em) {
    .content-align-left .tinymce h2 {
        font-size: 80px;
    }
}
.content-align-left .tinymce h3 {
    margin: 1.5em 0 0.5em;
}
.event-list p {
    margin-bottom: 2em;
}
.event-list a.read-more {
    display: inline-block;
    margin-bottom: 1.75em;
    padding: 0.5em;
    border-top: 1px solid;
    border-bottom: 1px solid;
    position: relative;
}
.event-list a.read-more .has-arrow {
    padding-right: 1em;
}
.event-list a.read-more .has-arrow::after {
    width: 0.4625em;
    background: url("img/arrow-medium-black.svg") no-repeat left 0.5375em;
    background-size: 100%;
    top: 0;
}
.event-list a.read-more::before {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background: #161615;
    position: absolute;
    left: 0;
    bottom: 0;
    -webkit-transform: scaleX(0);
    -ms-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition:
        transform 0.3s,
        -webkit-transform 0.3s;
}
@media (hover: hover) {
    .event-list a.read-more:hover::before {
        -webkit-transform: scaleX(1);
        -ms-transform: scaleX(1);
        transform: scaleX(1);
    }
}
#event-archive-header .all-caps-l {
    margin-bottom: 0.5em;
}
@media screen and (min-width: 64em) {
    #event-archive-header .text-container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: baseline;
        -ms-flex-align: baseline;
        align-items: baseline;
    }
}
#event-archive-header .headline-l-xl {
    margin-bottom: 0.2em;
}
@media screen and (min-width: 64em) {
    #event-archive-header .headline-l-xl {
        margin-right: 0.3em;
    }
}
#event-archive {
    padding-top: 20px;
}
.press-article .cell.image {
    margin-bottom: 13.33334vw;
}
@media screen and (min-width: 48em) {
    .press-article .cell.image {
        margin-bottom: 0;
    }
}
a.pdf-image {
    display: block;
    margin-right: 0.8em;
}
@media screen and (min-width: 48em) {
    a.pdf-image {
        margin-right: 0;
    }
}
a.pdf-image .img-container {
    padding: 1.5em;
    background: #eee;
    position: relative;
}
a.pdf-image .img-container::after {
    content: "PDF";
    background: #161615;
    padding: 0.3em 0.5em;
    color: #fff;
    font-family: "tt_chocolates_medium", sans-serif;
    font-weight: normal;
    font-size: 1em;
    line-height: 1;
    position: absolute;
    right: -0.8em;
    top: -0.8em;
}
@media screen and (min-width: 48em) {
    a.pdf-image .img-container::after {
        font-size: 0.66667em;
    }
}
.press-article .image-teasers a {
    margin-bottom: 0;
}
.press-article .image-teasers a .img-container {
    overflow: visible;
}
.press-article .image-teasers a .img-container img {
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    -webkit-transition: none;
    transition: none;
}
.press-article .kicker {
    margin-bottom: 0.5em;
}
.press-article .kicker .date {
    white-space: nowrap;
}
.press-article .headline-l {
    margin-bottom: 0.8em;
    line-height: 1.2;
}
.press-article a.read-more {
    display: inline-block;
    padding: 0.5em;
    font-family: "tt_chocolates_medium", sans-serif;
    font-weight: normal;
    font-size: 1.33334em;
    line-height: 1.2;
    border-top: 1px solid;
    border-bottom: 1px solid;
    position: relative;
}
.press-article a.read-more .has-arrow {
    padding-right: 1.5em;
}
.press-article a.read-more .has-arrow::after {
    width: 0.75em;
    background: url("img/arrow-medium-black.svg") no-repeat left 0.25em;
    background-size: 100%;
    top: 0;
}
.press-article a.read-more::before {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background: #161615;
    position: absolute;
    left: 0;
    bottom: 0;
    -webkit-transform: scaleX(0);
    -ms-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition:
        transform 0.3s,
        -webkit-transform 0.3s;
}
@media (hover: hover) {
    .press-article a.read-more:hover::before {
        -webkit-transform: scaleX(1);
        -ms-transform: scaleX(1);
        transform: scaleX(1);
    }
}
.pagination ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-top: 1.5em;
}
.pagination li {
    margin-right: 0.6em;
    margin-bottom: 0.6em;
}
.pagination li span,
.pagination li a {
    display: block;
    width: 2em;
    height: 2em;
    background: #eee;
    line-height: 2em;
    text-align: center;
    border-radius: 50%;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}
.pagination li span.current {
    background: #161615;
    color: #fff;
}
.pagination li span.dots {
    width: auto;
    background: #fff;
}
.pagination li a.prev,
.pagination li a.next {
    line-height: 1.9em;
}
@media (hover: hover) {
    .pagination li a:hover {
        background: #161615;
        color: #fff;
    }
}
#footer {
    padding-bottom: 10.66667vw;
}
@media screen and (min-width: 48em) {
    #footer {
        padding-bottom: 5.20834vw;
    }
}
@media screen and (min-width: 64em) {
    #footer {
        padding-bottom: 4.16667vw;
    }
}
@media screen and (min-width: 160em) {
    #footer {
        padding-bottom: 106.66667px;
    }
}
#footer .address p strong {
    text-transform: uppercase;
}
#footer .address p span {
    font-family: "tt_chocolates_light", sans-serif;
    text-transform: uppercase;
}
#footer .social a {
    display: block;
    width: 111px;
    margin-bottom: 1.5em;
    padding-right: 0;
}
@media screen and (min-width: 75em) {
    #footer .social a {
        width: 7.94444em;
    }
}
#footer .social a:last-child {
    margin-bottom: 0;
}
#footer .logo-container {
    text-align: center;
}
@media screen and (min-width: 64em) {
    #footer .logo-container {
        text-align: right;
    }
}
#footer .logo {
    width: 80%;
    max-width: 180px;
    margin-right: -3.51042vw;
}
@media screen and (min-width: 64em) {
    #footer .logo {
        margin-right: 0;
    }
}
@media screen and (min-width: 75em) {
    #footer .logo {
        width: 200px;
        max-width: none;
    }
}
@media screen and (min-width: 93.75em) {
    #footer .logo {
        width: 230px;
    }
}
@media screen and (min-width: 120em) {
    #footer .logo {
        width: 11.97917vw;
    }
}
@media screen and (min-width: 160em) {
    #footer .logo {
        width: 306.66667px;
    }
}
.home #partner a.partner {
    display: inline-block;
    width: 100px;
}
@media screen and (min-width: 48em) {
    .home #partner a.partner {
        width: max(120px, 7.8125vw);
    }
}
@media screen and (min-width: 160em) {
    .home #partner a.partner {
        width: 200px;
    }
}
.page-template-team #intro .headline-xl {
    -ms-hyphens: auto;
    hyphens: auto;
}
@media screen and (min-width: 48em) {
    .page-template-team #team .cell.left {
        padding-top: 12.5vw;
    }
}
@media screen and (min-width: 160em) {
    .page-template-team #team .cell.left {
        padding-top: 320px;
    }
}
.page-template-team #team .member p {
    margin-bottom: 0;
}
.page-template-team #team .member a {
    white-space: nowrap;
}
#nav-toggle-wrapper {
    mix-blend-mode: difference;
    position: relative;
    z-index: 150;
    pointer-events: none;
}
#nav-toggle-wrapper .fixed-container {
    width: 100%;
    position: fixed;
    left: 0;
    top: 0;
}
.nav-toggle-container {
    max-width: 2560px;
    margin: 0 auto;
    padding-top: 8vw;
    padding-right: 5.33334vw;
    font-size: 0;
    text-align: right;
}
@media screen and (min-width: 64em) {
    .nav-toggle-container {
        padding-top: 3.90625vw;
        padding-right: 3.90625vw;
    }
}
@media screen and (min-width: 75em) {
    .nav-toggle-container {
        padding-top: 3.125vw;
        padding-right: 3.125vw;
    }
}
@media screen and (min-width: 160em) {
    .nav-toggle-container {
        padding-top: 80px;
        padding-right: 80px;
    }
}
.nav-toggle {
    display: inline-block;
    margin-top: -20px;
    margin-right: -20px;
    padding: 20px;
    pointer-events: auto;
}
.nav-toggle span {
    display: block;
    width: 50px;
    height: 1px;
    background: #fff;
    position: relative;
    -webkit-transition: all 0.5s cubic-bezier(0.7, 0, 0.2, 1);
    transition: all 0.5s cubic-bezier(0.7, 0, 0.2, 1);
}
.nav-toggle .line-1 {
    top: 0;
}
.nav-toggle .line-2 {
    margin: 12px 0;
}
.nav-toggle .line-3 {
    bottom: 0;
}
.nav-open .nav-toggle .line-1 {
    top: 13px;
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
}
.nav-open .nav-toggle .line-2 {
    opacity: 0;
}
.nav-open .nav-toggle .line-3 {
    bottom: 13px;
    -webkit-transform: rotate(-135deg);
    -ms-transform: rotate(-135deg);
    transform: rotate(-135deg);
}
#nav {
    width: 100%;
    height: 100%;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 100;
    pointer-events: none;
}
#nav > .inner {
    max-width: 2560px;
    height: 100%;
    margin: 0 auto;
    overflow: hidden;
    position: relative;
}
#nav .overlay {
    display: none;
    height: 100%;
    background: rgba(0, 0, 0, 0.2);
}
#nav .panel {
    display: none;
    width: 100%;
    height: 100%;
    background: #fff;
    position: absolute;
    left: 0;
    top: 0;
}
#nav .nav-container {
    display: none;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%;
    height: 100%;
    overflow-y: auto;
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: auto;
}
#nav .logo-container {
    padding-bottom: 13.33334vw;
}
@media screen and (min-width: 48em) {
    #nav .logo-container {
        padding-bottom: 13.02084vw;
    }
}
@media screen and (min-width: 64em) {
    #nav .logo-container {
        padding-bottom: 7.8125vw;
    }
}
@media screen and (min-width: 160em) {
    #nav .logo-container {
        padding-bottom: 200px;
    }
}
#nav .menu-container {
    padding-left: 5.33334vw;
    padding-bottom: 5.33334vw;
}
@media screen and (min-width: 64em) {
    #nav .menu-container {
        padding-left: 3.90625vw;
        padding-bottom: 3.90625vw;
    }
}
@media screen and (min-width: 75em) {
    #nav .menu-container {
        padding-left: 3.125vw;
        padding-bottom: 3.125vw;
    }
}
@media screen and (min-width: 160em) {
    #nav .menu-container {
        padding-left: 80px;
        padding-bottom: 80px;
    }
}
#nav .menu {
    font-size: 0;
}
#nav .menu-item {
    overflow: hidden;
}
@media screen and (min-width: 48em) {
    #nav .menu-item {
        display: inline-block;
    }
}
#nav .menu-item a {
    display: block;
}
#nav .menu-item a span {
    display: inline-block;
    position: relative;
}
#nav .menu-item a span::after {
    content: "";
    display: block;
    width: 100%;
    background: #161615;
    position: absolute;
    left: 0;
    -webkit-transform: scaleX(0);
    -ms-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition:
        transform 0.3s,
        -webkit-transform 0.3s;
}
@media (hover: hover) {
    #nav .menu-item a:hover span::after {
        -webkit-transform: scaleX(1);
        -ms-transform: scaleX(1);
        transform: scaleX(1);
    }
}
#nav .menu.main {
    margin-bottom: 10px;
}
@media screen and (min-width: 48em) {
    #nav .menu.main {
        margin-bottom: 0;
    }
}
#nav .menu.main .menu-item a {
    font-family: "kokoro-regular", serif;
    font-size: 7.46667vw;
    line-height: 1.4;
}
@media screen and (min-width: 48em) {
    #nav .menu.main .menu-item a {
        font-size: 5.72917vw;
    }
}
@media screen and (min-width: 64em) {
    #nav .menu.main .menu-item a {
        font-size: 4.16667vw;
    }
}
@media screen and (min-width: 160em) {
    #nav .menu.main .menu-item a {
        font-size: 106.66667px;
    }
}
@media screen and (min-width: 48em) {
    #nav .menu.main .menu-item a::after {
        content: "/";
        padding: 0 0.2em;
    }
}
#nav .menu.main .menu-item:last-child a::after {
    content: none;
}
#nav .menu.main .menu-item a span::after {
    height: 2px;
    bottom: 0.075em;
}
#nav .menu.small .menu-item {
    display: inline-block;
}
#nav .menu.small .menu-item .link-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    height: 10.453338vw;
}
@media screen and (min-width: 48em) {
    #nav .menu.small .menu-item .link-container {
        height: 8.020838vw;
    }
}
@media screen and (min-width: 64em) {
    #nav .menu.small .menu-item .link-container {
        height: 5.833338vw;
    }
}
@media screen and (min-width: 160em) {
    #nav .menu.small .menu-item .link-container {
        height: 149.333338px;
    }
}
#nav .menu.small .menu-item a {
    margin-right: 1em;
    font-size: 18px;
    letter-spacing: 0.1em;
    line-height: 1.7;
    text-transform: uppercase;
}
@media screen and (min-width: 120em) {
    #nav .menu.small .menu-item a {
        font-size: 0.9375vw;
    }
}
@media screen and (min-width: 160em) {
    #nav .menu.small .menu-item a {
        font-size: 24px;
    }
}
#nav .menu.small .menu-item:last-child a {
    margin-right: 0;
}
#nav .menu.small .menu-item a span::after {
    height: 1px;
    bottom: 0;
}
#info-box-container {
    width: 100%;
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 50;
    pointer-events: none;
}
#info-box-container .flex-container {
    max-width: 2560px;
    margin: 0 auto;
    overflow: hidden;
}
#info-box {
    width: 100%;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition:
        transform 0.3s,
        -webkit-transform 0.3s;
}
@media screen and (min-width: 48em) {
    #info-box {
        width: auto;
        max-width: calc(100% - 5.33334vw);
        padding-right: 5.33334vw;
        padding-bottom: 5.33334vw;
    }
}
@media screen and (min-width: 64em) {
    #info-box {
        max-width: calc(100% - 3.90625vw);
        padding-right: 3.90625vw;
        padding-bottom: 3.90625vw;
    }
}
@media screen and (min-width: 75em) {
    #info-box {
        max-width: 60%;
        padding-right: 3.125vw;
        padding-bottom: 3.125vw;
    }
}
@media screen and (min-width: 160em) {
    #info-box {
        padding-right: 80px;
        padding-bottom: 80px;
    }
}
#info-box.hidden {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
}
#info-box .inner {
    position: relative;
    pointer-events: auto;
}
#info-box .inner * {
    color: #fff;
}
#info-box .content {
    padding: 5.33334vw;
    background: #1abc9c;
    border-radius: 0px 30px 30px 30px;
}
@media screen and (min-width: 64em) {
    #info-box .content {
        padding: 3.125vw 3.64584vw;
    }
}
@media screen and (min-width: 160em) {
    #info-box .content {
        padding: 80px 93.33334px;
    }
}
#info-box .content .headline-l {
    font-size: 10.66667vw;
}
@media screen and (min-width: 48em) {
    #info-box .content .headline-l {
        font-size: 5.20834vw;
    }
}
@media screen and (min-width: 64em) {
    #info-box .content .headline-l {
        font-size: 3.64584vw;
    }
}
@media screen and (min-width: 160em) {
    #info-box .content .headline-l {
        font-size: 93.33334px;
    }
}
#info-box .content ul {
    padding-bottom: 0.5em;
    font-size: max(20px, 1.25vw);
}
@media screen and (min-width: 160em) {
    #info-box .content ul {
        font-size: 32px;
    }
}
#info-box .content li.no-link,
#info-box .content li a {
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    border-bottom: 1px solid hsla(0, 0%, 100%, 0.1);
}
#info-box .content li.no-link:first-child,
#info-box .content li:first-child a {
    border-top: 1px solid hsla(0, 0%, 100%, 0.1);
}
#info-box .content li a {
    display: block;
    padding-right: 2em;
}
#info-box .content li a.has-arrow::after {
    width: 0.66667em;
    background: url("img/arrow-small-white.svg") no-repeat left 1em;
    background-size: 100%;
    top: 0;
}
#info-box .content li a.has-hover-line::before {
    background: #fff;
    bottom: -1px;
}
#info-box .close-button {
    display: block;
    width: 61px;
    height: 61px;
    position: absolute;
    right: 0;
    top: 0;
}
#info-box .close-button span {
    display: block;
    width: 31px;
    height: 1px;
    background: #fff;
    position: absolute;
    left: 15px;
    top: 30px;
}
#info-box .close-button .line-1 {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
#info-box .close-button .line-2 {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
#info-box .label {
    padding: 0.5em 1em;
    background: #2980b9;
    font-family: "tt_chocolates_medium", sans-serif;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -10;
    -webkit-transform: rotate(-90deg) translate3d(-100%, 0, 0);
    transform: rotate(-90deg) translate3d(-100%, 0, 0);
    -webkit-transform-origin: left top;
    -ms-transform-origin: left top;
    transform-origin: left top;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition:
        transform 0.3s,
        -webkit-transform 0.3s;
}
#info-box.hidden .label {
    -webkit-transform: rotate(-90deg) translate3d(-100%, -100%, 0);
    transform: rotate(-90deg) translate3d(-100%, -100%, 0);
}
#transition-overlay {
    width: 100%;
    height: 100%;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 200;
    overflow: hidden;
    pointer-events: none;
}
#transition-overlay .panel {
    max-width: 2560px;
    height: 100%;
    margin: 0 auto;
    background: #161615;
}
#transition-overlay .wappen {
    width: 200px;
}
@media screen and (min-width: 48em) {
    #transition-overlay .wappen {
        width: 200px;
    }
}
@media screen and (min-width: 120em) {
    #transition-overlay .wappen {
        width: 200px;
    }
}
@media screen and (min-width: 160em) {
    #transition-overlay .wappen {
        width: 200px;
    }
}
.button.circle {
    -webkit-mask-image: -webkit-radial-gradient(white, black);
}
#grid-overlay {
    display: none;
    width: 100%;
    height: 100%;
    padding-top: 0;
    padding-bottom: 0;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 999;
    pointer-events: none;
}
#grid-overlay.visible {
    display: block;
}
#grid-overlay div {
    height: 100%;
}
#grid-overlay .cell .inner {
    background: aqua;
    opacity: 0.25;
}
