@font-face {
    font-family: "DINEngschriftLTPro";
    src: url("../fonts/3734BA_0_0.woff2") format("woff2"), url("../fonts/3734BA_0_0.woff") format("woff"), url("../fonts/3734BA_0_0.otf") format("opentype");
    font-style: normal;
    font-weight: 400
}

.header {
    background: #000;
    display: flex;

    position: relative;
    height: 75vh;
    align-items: center;
    justify-content: center
}

.deck20 .primary-color {
    color: #B2927A;
}

.q1 .primary-color {
    color: #9C6FAE;
}

.riva .primary-color {
    color: #F18815;
}

.justus .primary-color {
    color: rgb(15, 70, 130);
}

.neo-bremen .primary-color {
    color: rgb(99, 108, 62);
}

.q1 .primary-color .openReservationTool{
    background-color: #9C6FAE;
    padding: 0.5rem 1rem 0.4rem;
    border-radius: 12px;
    border: 1px solid #9C6FAE;
    transition: all .35s ease-in-out;
}

a[title="Mittagstisch"] {
    background-color: rgb(99, 108, 62);
    padding: 0.5rem 1rem 0.4rem;
    border-radius: 12px;
    border: 1px solid rgb(99, 108, 62);
    transition: all .35s ease-in-out;
}

a[title="Mittagstisch"]:hover {
    color: rgb(99, 108, 62);
    background: transparent;
    border: 1px solid rgb(99, 108, 62);
    transition: all .35s ease-in-out;
}

.q1 .primary-color .openReservationTool:hover {
    color: #9C6FAE;
    background: transparent;
    border: 1px solid #9C6FAE;
    transition: all .35s ease-in-out;
}

.riva .primary-color .openReservationTool{
    background-color: #F18815;
    padding: 0.5rem 1rem 0.4rem;
    border-radius: 12px;
    border: 1px solid #F18815;
    transition: all .35s ease-in-out;
}

.riva .primary-color .openReservationTool:hover {
    color: #F18815;
    background: transparent;
    border: 1px solid #F18815;
    transition: all .35s ease-in-out;
}

.justus .primary-color .openReservationTool{
    background-color: rgb(15, 70, 130);
    padding: 0.5rem 1rem 0.4rem;
    border-radius: 12px;
    border: 1px solid rgb(15, 70, 130);
    transition: all .35s ease-in-out;
}

.justus .primary-color .openReservationTool:hover {
    color: rgb(15, 70, 130);
    background: transparent;
    border: 1px solid rgb(15, 70, 130);
    transition: all .35s ease-in-out;
}

.neo-bremen .primary-color .openReservationTool{
    background-color: #636c3e;
    padding: 0.5rem 1rem 0.4rem;
    border-radius: 12px;
    border: 1px solid #636c3e;
    transition: all .35s ease-in-out;
}

.neo-bremen .primary-color .openReservationTool:hover {
    color: #636c3e;
    background: transparent;
    border: 1px solid #636c3e;
    transition: all .35s ease-in-out;
}

.q-career .primary-color {
    color: #0e2243;
}

.events .primary-color {
    color: #4d59a4;
}

.header .header-background {
    background: center/cover no-repeat url(attr(data-background));
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.header .header-logo {
    background: rgba(0, 0, 0, 0.6);
    position: absolute;
    transform: translate(-50%, 0);
    width: 150px;
    height: auto;
    top: 0;
    left: 50%;
    z-index: 2
}

.header .ribbon-text {
	font-family: DINEngschriftLTPro;
    font-style: normal;
    font-size: 1.2rem;
    margin: 0.5rem;
    text-align: center;
}

.header .ribbon-text a {
	color: white;
}

.header .landing-page-headline {
    color: #fff;
    font-family: DINEngschriftLTPro;
    font-size: 99pt;
    font-weight: 300;
    letter-spacing: 5px;
    position: relative;
    text-align: center;
    text-transform: uppercase;
    z-index: 2
}

.header .landing-page-logo {
    position: absolute;
    transform: translate(-50%, -50%);
    width: 230px;
    height: auto;
    bottom: 50px;
    left: 50%
}

.header .main-menu {
    background: #fff;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
    position: fixed;
    opacity: 0;
    overflow: hidden;
    transition: opacity .4s ease-in-out, transform .4s ease-in-out;
    transform: translate(120%);
    top: 72px;
    right: calc(24px + 8px);
    z-index: 46
}

.header .main-menu.open {
    opacity: 1;
    transform: translate(0);
    -webkit-overflow-scrolling: touch;
    max-height: calc(100vh - 80px);
    overflow-y: auto;
}

.header .main-menu.riva ul li a:before,
.header .main-menu.riva-clubraum ul li a:before {
    background: #F18815
}

.header .main-menu.deck20 ul li a:before {
    background: #B2927A
}

.header .main-menu.q1 ul li a:before {
    background: #9C6FAE
}

.header .main-menu.justus ul li a:before {
    background: #0e4782
}

.header .main-menu.neo-bremen ul li a:before {
    background: #636c3e
}

.header .main-menu.q-career ul li a:before {
    background: #0e2243
}

.header .main-menu.events ul li a:before {
    background: #4d59a4
}

.header .main-menu.foodbox ul li a:before {
    background: #FAA401
}

.header .main-menu.foodbox-pusdorf ul li a:before {
    background: #FAA401
}

.header .main-menu.foodbox-studio ul li a:before {
    background: #FAA401
}

.header .main-menu.heizwerk ul li a:before {
    background: #e84936
}

.header .main-menu.q-catering ul li a:before {
    background: #8c9091
}

.header .main-menu ul {
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    list-style: none;
    margin: 24px;
    padding: 8px 0 4px
}

.header .main-menu ul li {
    margin: 0
}

.header .main-menu ul li a {
    color: #000;
    display: block;
    font-family: DINEngschriftLTPro;
    font-size: 16pt;
    font-weight: 300;
    letter-spacing: 2px;
    margin: 0;
    padding: 6px 40px 2px 6px;
    position: relative;
    text-decoration: none;
    text-transform: uppercase;
    transition: color .4s ease-in-out, background .4s ease-in-out;
    z-index: 2
}

@media screen and (max-width: 767px) {
    .header .main-menu ul li a {
        font-size: 12pt;
    }
}

.header .main-menu ul li a:before {
    content: '';
    background: #000;
    position: absolute;
    transform: scale(0, 1);
    transform-origin: left;
    transition: transform .3s ease-in-out;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -1
}

.header .main-menu ul li a:hover {
    color: #fff
}

.header .main-menu ul li a:hover:before {
    left: 0;
    transform: scale(1, 1)
}

.header .main-menu ul hr {
    border: 0;
    border-top: 1px solid #000;
    display: block
}

.header .restaurant-menu {
    position: absolute;
    transform: translate(-50%, 0) scale(1.45);
    top: 5px;
    left: 50%;
    z-index: 2
}

.header .restaurant-menu ul {
    list-style: none;
    padding: 0
}

.header .restaurant-menu ul li {
    display: inline-block;
    margin: 0 6px
}

.header .restaurant-menu ul li a .menu-image-hover-wrapper {
    display: inline-block;
    position: relative;
    overflow: hidden;
    width: 44px;
    height: 92px
}

.header .restaurant-menu ul li a .menu-image-hover-wrapper img {
    width: 44px;
    height: 92px
}

@media screen and (max-width: 767px) {
    .header .restaurant-menu ul li a .menu-image-hover-wrapper {
        width: 34px;
        height: auto
    }
    
    .header .restaurant-menu ul li a .menu-image-hover-wrapper img {
        width: 34px;
        height: auto
    }
}

.header .restaurant-menu ul li a .menu-image-hover-wrapper img.hovered-image {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 !important 
}

.header .restaurant-menu ul li a .menu-image-title {
    display: none
}

.header .available-menus {
    background: #fff;
    color: #000;
    font-family: DINEngschriftLTPro;
    font-size: 12pt;
    font-weight: 300;
    letter-spacing: 2px;
    list-style: none;
    padding: 24px;
    position: absolute;
    text-transform: uppercase;
    transform: translateY(-50%);
    top: 50%;
    left: 24px;
    z-index: 2
}

.header .available-menus li.headline,
.header .available-menus li a {
    border-bottom: 1px solid #000;
    display: block;
    color: #000;
    padding: 12px 40px 8px 0;
    text-decoration: none;
    transition: color .4s ease-in-out
}

.header .available-menus li:first-child.headline,
.header .available-menus li:first-child a {
    padding-top: 0
}

.header .available-menus li:last-child a {
    border-bottom: 0;
    padding-bottom: 0
}

.header .available-menus li.headline {
    border-bottom: 0
}

.header .available-menus li.headline.riva {
    color: #F18815
}

.header .available-menus li.headline.deck20 {
    color: #B2927A
}

.header .available-menus li.headline.q1 {
    color: #9C6FAE
}

.header .available-menus li.headline.justus {
    color: #0e4782
}

.header .available-menus li.headline.neo-bremen {
    color: #636c3e
}

.header .available-menus li.headline.foodbox {
    color: #FAA401
}

.header .available-menus li.headline.foodbox-pusdorf {
    color: #FAA401
}

.header .available-menus li.headline.foodbox-studio {
    color: #FAA401
}

.header .available-menus li.headline.heizwerk {
    color: #e84936
}

.header .available-menus li a:hover.riva {
    color: #F18815
}

.header .available-menus li a:hover.deck20 {
    color: #B2927A
}

.header .available-menus li a:hover.q1 {
    color: #9C6FAE
}

.header .available-menus li a:hover.justus {
    color: #0e4782
}

.header .available-menus li a:hover.neo-bremen {
    color: #636c3e
}

.header .available-menus li a:hover.foodbox {
    color: #FAA401
}

.header .available-menus li a:hover.foodbox-pusdorf {
    color: #FAA401
}

.header .available-menus li a:hover.foodbox-studio {
    color: #FAA401
}

.header .available-menus li a:hover.heizwerk {
    color: #e84936
}

.header .available-menus li a img {
    margin: 20px 0 0;
    max-width: 200px;
}

.header .social-media {
    background: #fff;
    color: #000;
    font-family: DINEngschriftLTPro;
    font-size: 12pt;
    font-weight: 300;
    letter-spacing: 2px;
    list-style: none;
    padding: 24px;
    position: absolute;
    text-transform: uppercase;
    transform: translateY(-50%);
    top: 50%;
    right: 24px;
    z-index: 2
}

.header .social-media li {
    height: 2em;
}

.header .social-media li.first-child {
    margin: 0 0 24px
}

.header .social-media li a {
    color: #000;
    display: block;
    text-align: center;
    text-decoration: none;
    transition: color .4s ease-in-out
}

.header .social-media li a.facebook:hover {
    color: #3b5998
}

.header .social-media li a.instagram:hover {
    color: #E1306C
}

.header .social-media li a svg {
    width: auto;
    height: 32px
}

@media only screen and (max-width: 767px) {
    .header .landing-page-headline {
        font-size: 32pt;
        padding: 48px
    }
	.header .ribbon-text {
		font-size: 1rem;
        line-height: 1.4rem;
	}
    .header .available-menus {
        display: none
    }
    .header .restaurant-menu {
        overflow-x: hidden;
        width: 100%;
        transform: translate(-50%, 0) scale(1);
        top: 70px;
    }
    .header .header-logo {
    width: 100px;
	}
    .header .restaurant-menu ul {
        background: #000;
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        padding: 12px 12px;
        margin: 0;
        height: auto;
    }
    .header .restaurant-menu ul li {
        margin: 0 12px
    }
    .header .social-media {
        top: 65%;
        padding: 12px
    }
}

.footer {
    background: #000;
    padding: 60px 0 24px
}

.footer a {
    color: #fff
}

.footer .footer-logo {
    display: block;
    margin: 0 auto 60px;
    width: 280px;
    height: auto
}

.footer-content {
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    display: flex;
    padding: 24px
}

.footer-content-info {
    border-right: 1px solid #fff;
    flex: 0 0 calc(70% - 24px);
    padding: 0 24px 0 0
}

.footer-content-info p {
    font-size: 10pt;
    margin-bottom: 0
}

.footer-content-info .footer-nav ul {
    list-style: none;
    margin: 0 0 24px;
    padding: 0
}

.footer-content-info .footer-nav ul li a {
    color: #fff;
    font-family: DINEngschriftLTPro;
    font-size: 16pt;
    letter-spacing: 5px;
    text-transform: uppercase;
    text-decoration: none;
    transition: color .4s ease-in-out
}

.footer-content-info .footer-nav ul li a:hover {
    color: #ccc
}

.footer-content-info .footer-nav.riva ul li a:hover,
.footer-content-info .footer-nav.riva-clubraum ul li a:hover {
    color: #F18815
}

.footer-content-info .footer-nav.deck20 ul li a:hover {
    color: #B2927A
}

.footer-content-info .footer-nav.q1 ul li a:hover {
    color: #9C6FAE
}

.footer-content-info .footer-nav.justus ul li a:hover {
    color: #0e4782
}

.footer-content-info .footer-nav.neo-bremen ul li a:hover {
    color: #636c3e
}

.footer-content-info .footer-nav.heizwerk ul li a:hover {
    color: #e84936
}

.footer-content-info .footer-nav.foodbox ul li a:hover {
    color: #FAA401
}

.footer-content-info .footer-nav.foodbox-pusdorf ul li a:hover {
    color: #FAA401
}

.footer-content-info .footer-nav.foodbox-studio ul li a:hover {
    color: #FAA401
}

.footer-content-info .footer-nav.q-catering ul li a:hover {
    color: #8c9091
}

.footer-content-info .privacy-notice p {
    font-size: 10pt;
    margin: 0;
    line-height: 14pt
}

.footer-content-newsletter-social {
    flex: 0 0 calc(30% - 24px);
    padding: 0 0 0 24px
}

.footer-content-newsletter-social p {
    font-family: DINEngschriftLTPro;
    font-size: 16pt;
    letter-spacing: 5px;
    margin: 0;
    text-transform: uppercase
}

.footer-content-newsletter-social .newsletter-email {
    margin: 24px 0 48px 0
}

.footer-content-newsletter-social .newsletter-email .tnp-field .tnp-submit {
    background: #ccc;
    border: 0;
    border-radius: 0;
    color: #fff;
    font-family: DINEngschriftLTPro;
    font-size: 12pt;
    outline: none;
    padding: 8px 60px 4px;
    text-transform: uppercase;
    width: auto;
    -webkit-appearance: none;
    -webkit-border-radius: 0
}

.footer-content-newsletter-social .newsletter-email .tnp-field .tnp-email {
    background: none;
    border: 1px solid #fff;
    color: #fff;
    display: block;
    font-family: DINEngschriftLTPro;
    font-size: 12pt;
    height: 42px;
    margin: 0 0 8px 0;
    outline: none;
    padding: 6px 8px 4px;
    transition: border .4s ease-in-out;
    width: 100%
}

.footer-content-newsletter-social .newsletter-email .tnp-field .tnp-email::placeholder {
    color: #fff;
    text-transform: uppercase
}

.footer-content-newsletter-social .newsletter-email.riva .tnp-submit,
.footer-content-newsletter-social .newsletter-email.riva-clubraum .tnp-submit {
    background: #F18815
}

.footer-content-newsletter-social .newsletter-email.riva .tnp-email:focus,
.footer-content-newsletter-social .newsletter-email.riva-clubraum .tnp-email:focus {
    border: 1px solid #F18815
}

.footer-content-newsletter-social .newsletter-email.deck20 .tnp-submit,
.footer-content-newsletter-social .newsletter-email.deck20-exklusiv .tnp-submit {
    background: #B2927A
}

.footer-content-newsletter-social .newsletter-email.deck20 .tnp-email:focus,
.footer-content-newsletter-social .newsletter-email.deck20-exklusiv .tnp-email:focus {
    border: 1px solid #B2927A
}

.footer-content-newsletter-social .newsletter-email.q1 .tnp-submit {
    background: #9C6FAE
}

.footer-content-newsletter-social .newsletter-email.q1 .tnp-email:focus {
    border: 1px solid #9C6FAE
}

.footer-content-newsletter-social .newsletter-email.foodbox .tnp-submit,
.footer-content-newsletter-social .newsletter-email.foodbox-pusdorf .tnp-submit, 
.footer-content-newsletter-social .newsletter-email.foodbox-studio .tnp-submit {
background: #FAA401
}

.footer-content-newsletter-social .newsletter-email.foodbox .tnp-email:focus,
.footer-content-newsletter-social .newsletter-email.foodbox-pusdorf .tnp-email:focus, 
.footer-content-newsletter-social .newsletter-email.foodbox-studio .tnp-email:focus {
    border: 1px solid #FAA401
}

.footer-content-newsletter-social .newsletter-email.heizwerk .tnp-submit {
    background: #e84936
}

.footer-content-newsletter-social .newsletter-email.heizwerk .tnp-email:focus {
    border: 1px solid #e84936
}

.footer-content-newsletter-social .newsletter-email label {
    display: none
}

.footer-content-newsletter-social .newsletter-email input[type=submit] {
    background: #ccc;
    border: 0;
    color: #fff;
    font-family: DINEngschriftLTPro;
    font-size: 12pt;
    outline: none;
    padding: 8px 32px 4px;
    text-transform: uppercase;
    width: auto;
    -webkit-appearance: none;
    -webkit-border-radius: 0
}

.footer-content-newsletter-social .newsletter-email input[type=submit].riva,
.footer-content-newsletter-social .newsletter-email input[type=submit].riva-clubraum {
    background: #F18815
}

.footer-content-newsletter-social .newsletter-email input[type=submit].deck20 {
    background: #B2927A
}

.footer-content-newsletter-social .newsletter-email input[type=submit].q1 {
    background: #9C6FAE
}

.footer-content-newsletter-social .newsletter-email input[type=submit].foodbox {
    background: #FAA401
}

.footer-content-newsletter-social .newsletter-email input[type=submit].foodbox-pusdorf {
    background: #FAA401
}

.footer-content-newsletter-social .newsletter-email input[type=submit].foodbox-studio {
    background: #FAA401
}

.footer-content-newsletter-social .newsletter-email input[type=submit].heizwerk {
    background: #e84936
}

.footer-content-newsletter-social .social-links ul {
    list-style: none;
    margin: 24px 0 0;
    padding: 0
}

.footer-content-newsletter-social .social-links ul li {
    display: inline-block
}

.footer-content-newsletter-social .social-links ul li a {
    color: #fff;
    padding: 0 12px 0 0
}

.footer-content-newsletter-social .social-links ul li a img {
    width: 28px;
    height: 28px
}

.footer-content-newsletter-social .social-links ul li a .menu-image-hover-wrapper {
    display: inline-block;
    overflow: hidden;
    position: relative;
    width: 28px;
    height: 28px
}

.footer-content-newsletter-social .social-links ul li a .menu-image-hover-wrapper .hovered-image {
    position: absolute;
    margin-left: 0 !important;
    top: 0;
    left: 0
}

@media only screen and (max-width: 767px) {
    .footer-content {
        flex-direction: column
    }
    .footer-content-info {
        border-right: 0;
        padding: 0 0 48px 0
    }
    .footer-content-newsletter-social {
        padding: 0
    }
    .footer-content-newsletter-social .tnp-submit {
        display: block;
        width: 100%
    }
    .footer-content-newsletter-social p {
        text-align: center
    }
    .footer-content-newsletter-social ul {
        text-align: center
    }
    .tnp-submit {
        display: block;
        padding: 16px !important;
        width: 100% !important
    }
}

.page-nav {
    display: flex;
    align-items: center;
    justify-content: center
}

.page-nav ul {
    display: inline-block;
    list-style: none;
    margin: 60px 0 0;
    padding: 0
}

.page-nav ul li {
    display: inline-block;
    margin: 0 24px;
    flex-shrink: 0;
}

.page-nav ul li a {
    color: #fff;
    font-family: DINEngschriftLTPro;
    font-size: 18pt;
    font-weight: 300;
    letter-spacing: 2px;
    text-decoration: none;
    text-transform: uppercase;
    transition: color .4s ease-in-out
}

.page-nav.riva a:hover {
    color: #F18815
}

.page-nav.deck20 a:hover {
    color: #B2927A
}

.page-nav.q1 a:hover {
    color: #9C6FAE
}

.page-nav.justus a:hover {
    color: #0e4782
}

.page-nav.neo-bremen a:hover {
    color: #636c3e
}

.page-nav.foodbox a:hover {
    color: #FAA401
}

.page-nav.foodbox-pusdorf a:hover {
    color: #FAA401
}

.page-nav.foodbox-studio a:hover {
    color: #FAA401
}

.page-nav.heizwerk a:hover {
    color: #e84936
}

.page-nav.q-catering a:hover {
    color: #8c9091
}

@media only screen and (max-width: 767px) {
    .page-nav ul {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        width: 100vw
    }

    .page-nav ul#menu-riva-clubraum-navigation {
		justify-content: center;
	}
}

.contact {
    color: #000
}

.contact .container {
    display: flex
}

.contact-image,
.contact-form {
    background: #fff;
    flex: 0 0 calc(50% - 24px)
}

.contact-image {
    margin: 0 12px 0 0
}

.contact-image-element {
    background-position: center center;
    display: block;
    width: 100%;
    height: 100%
}

.contact-form {
    flex: 0 0 calc(50% - 96px);
    margin: 0 0 0 12px;
    padding: 48px
}

.contact-form h3 {
    font-family: DINEngschriftLTPro;
    font-size: 24pt;
    font-weight: 300;
    letter-spacing: 3px;
    margin: 0;
    position: relative;
    text-transform: uppercase
}

.contact-form input,
.contact-form textarea {
    color: #000;
    border: 1px solid #000;
    font-family: DINEngschriftLTPro;
    font-size: 14pt;
    margin: 0 0 6px 0;
    outline: none;
    padding: 10px 10px 6px 10px;
    resize: none;
    transition: border .4s ease-in-out;
    width: calc(100% - 26px)
}

.contact-form select {
    color: #000;
    border: 1px solid #000;
    font-family: DINEngschriftLTPro;
    font-size: 14pt;
    margin: 0 0 6px 0;
    outline: none;
    padding: 10px 10px 10px 6px;
    resize: none;
    transition: border .4s ease-in-out;
    width: calc(100% - 4px);
    -webkit-appearance: none;
    appearance: none;
    border-radius: 0px;
}

.contact-form select:invalid {
    color: grey;
}


.contact-form .multiple ul {
    list-style: none;
    display: flex;
    color: #000;
    border: 1px solid #000;
    font-family: DINEngschriftLTPro;
    font-size: 14pt;
    margin: 0 0 6px 0;
    outline: none;
    padding: 10px 10px 6px 10px;
    resize: none;
    transition: border .4s ease-in-out;
    width: calc(100% - 4px);
}

.contact-form .multiple li input {
    width: auto;
    margin-right: .5rem;
}

.contact-form .multiple li label {
    margin-right: 1rem;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {
    text-transform: uppercase;
}

.contact-form textarea {
    height: 200px
}

.contact-form button {
    background: #ccc;
    border: 0;
    color: #fff;
    cursor: pointer;
    font-family: DINEngschriftLTPro;
    font-size: 12pt;
    margin: 12px 0 0;
    outline: none;
    padding: 8px 32px 4px;
    text-transform: uppercase
}

.contact-form.riva button,
.contact-form.riva-clubraum button {
    background: #F18815
}

.contact-form.deck20 button {
    background: #B2927A
}

.contact-form.q1 button {
    background: #9C6FAE
}

.contact-form.q-career button {
    background: #0e2243
}

.contact-form.events button {
    background: #4d59a4
}

.contact-form.justus button {
    background: #0e4782
}

.contact-form.neo-bremen button {
    background: #636c3e
}

.contact-form.justus-events button {
    background: #0e4782
}

.contact-form.foodbox button {
    background: #FAA401
}

.contact-form.foodbox-pusdorf button {
    background: #FAA401
}

.contact-form.foodbox-studio button {
    background: #FAA401
}

.contact-form.heizwerk button {
    background: #e84936
}

.contact-form.q-catering button {
    background: #8c9091
}

.contact-form .wpforms-field-hp {
    display: none
}

.contact-form .wpforms-field-checkbox ul {
    list-style: none;
    margin: 6px 0 12px 0;
    padding: 0;
    min-height: 90px;
}

.contact-form .wpforms-field-checkbox ul li {
    display: flex;
}

.contact-form .wpforms-field-checkbox ul li input {
    margin-right: 1rem;
    width: 30px;
    height: 30px;
}

.contact-form .wpforms-field-checkbox ul li label {
    flex: 0 0 calc(100% - 48px)
}

.contact-form.riva input:focus,
.contact-form.riva textarea:focus,
.contact-form.riva-clubraum input:focus,
.contact-form.riva-clubraum textarea:focus {
    border: 1px solid #F18815
}

.contact-form.deck20 input:focus,
.contact-form.deck20 textarea:focus {
    border: 1px solid #B2927A
}

.contact-form.q1 input:focus,
.contact-form.q1 textarea:focus {
    border: 1px solid #9C6FAE
}

.contact-form.justus input:focus,
.contact-form.justus textarea:focus {
    border: 1px solid #0e4782
}

.contact-form.neo-bremen input:focus,
.contact-form.neo-bremen textarea:focus {
    border: 1px solid #636c3e
}

.contact-form.q-career input:focus,
.contact-form.q-career textarea:focus {
    border: 1px solid #0e2243
}

.contact-form.events input:focus,
.contact-form.events textarea:focus {
    border: 1px solid #4d59a4
}

.contact-form.foodbox input:focus,
.contact-form.foodbox textarea:focus {
    border: 1px solid #FAA401
}

.contact-form.foodbox-pusdorf input:focus,
.contact-form.foodbox-pusdorf textarea:focus {
    border: 1px solid #FAA401
}

.contact-form.foodbox-studio input:focus,
.contact-form.foodbox-studio textarea:focus {
    border: 1px solid #FAA401
}

.contact-form.heizwerk input:focus,
.contact-form.heizwerk textarea:focus {
    border: 1px solid #e84936
}

.contact-form.q-catering input:focus,
.contact-form.q-catering:focus {
    border: 1px solid #8c9091
}

.contact-form-footer {
    color: #212529;
    display: flex;
    padding: 24px 48px 0 0
}

.contact-form-footer svg {
    flex: 0 0 35px;
    margin: 0 12px 0 0;
    height: 35px
}

.contact-form-footer-address {
    font-family: DINEngschriftLTPro;
    font-size: 12pt;
    letter-spacing: 1px
}

@media only screen and (max-width: 767px) {
    .contact-image {
        display: none
    }
    .contact-form {
        flex: 0 0 calc(100% - 96px);
        margin: 0;
        padding: 36px;
    }
    .contact-form button {
        width: 100%
    }
    .contact-form-footer {
        padding: 24px 0 0 0
    }
    .contact-form-footer-address {
        font-size: 11pt
    }
}

.overlay-wrapper {
    background: #000;
    display: inline-flex;
    opacity: 0;
    position: fixed;
    transform: translateX(-100%);
    transition: opacity .8s ease-in-out;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 100
}

.overlay-wrapper.open {
    opacity: 1;
    transform: translateX(0);
    transition: opacity .8s ease-in-out
}

.overlay-content {
    margin: auto;
    width: calc(100% - 200px);
    height: calc(100% - 200px)
}

.overlay-content .gallery-slider,
.overlay-content .glide__track,
.overlay-content .glide__slides {
    height: 100%
}

.overlay-content .glide__slides {
    margin-top: 0
}

.overlay-content button.glide__arrow {
    border: 0;
    box-shadow: none
}

.overlay-content button.glide__arrow svg {
    width: 64px;
    height: 64px
}

.overlay-content .glide__bullets .glide__bullet {
    background: none;
    border-radius: 0;
    width: auto;
    height: auto
}

.overlay-content .glide__bullets .glide__bullet .thumbnail {
    display: block;
    width: 60px;
    height: 60px
}

.overlay-content .glide__bullets .glide__bullet--active {
    border: 2px solid #fff
}

.overlay-content .image {
    display: block;
    width: 100%;
    height: 100%
}

.overlay-content .splide__slide {
    text-align: center;
    width: 100px;
    height: 100px
}

.overlay-content .splide__slide span {
    display: block;
    object-fit: fill;
    width: 100%;
    height: 100%
}

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

.overlay-close-btn {
    background: none;
    border: 0;
    color: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    display: block;
    font-size: 20pt;
    outline: none;
    position: fixed;
    transition: color .4s ease-in-out;
    top: 48px;
    right: 48px;
    z-index: 100
}

.overlay-close-btn:hover {
    color: #fff
}

.navbar {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.926208) 97%);
    position: absolute;
    height: 200px;
    top: 0;
    left: 0;
    right: 0
}

.navbar .menu-btn {
    background: none;
    border: 0;
    cursor: pointer;
    outline: 0;
    padding: 10px 35px 16px 0px;
    position: fixed;
    top: 24px;
    right: 24px;
    z-index: 10
}

.navbar .menu-btn span,
.navbar .menu-btn span:before,
.navbar .menu-btn span:after {
    background: #bbb;
    content: '';
    cursor: pointer;
    display: inline-block;
    position: absolute;
    width: 36px;
    height: 3px;
    transition: all 0.4s cubic-bezier(0.645, 0.045, 0.355, 1)
}

.navbar .menu-btn:hover.riva span,
.navbar .menu-btn:hover.riva span:before,
.navbar .menu-btn:hover.riva span:after {
    background: #F18815
}

.navbar .menu-btn:hover.deck20 span,
.navbar .menu-btn:hover.deck20 span:before,
.navbar .menu-btn:hover.deck20 span:after {
    background: #B2927A
}

.navbar .menu-btn:hover.q1 span,
.navbar .menu-btn:hover.q1 span:before,
.navbar .menu-btn:hover.q1 span:after {
    background: #9C6FAE
}

.navbar .menu-btn:hover.justus span,
.navbar .menu-btn:hover.justus span:before,
.navbar .menu-btn:hover.justus span:after {
    background: #0e4782
}

.navbar .menu-btn:hover.neo-bremen span,
.navbar .menu-btn:hover.neo-bremen span:before,
.navbar .menu-btn:hover.neo-bremen span:after {
    background: #636c3e
}

.navbar .menu-btn:hover.q-career span,
.navbar .menu-btn:hover.q-career span:before,
.navbar .menu-btn:hover.q-career span:after {
    background: #0e2243
}

.navbar .menu-btn:hover.events span,
.navbar .menu-btn:hover.events span:before,
.navbar .menu-btn:hover.events span:after {
    background: #4d59a4
}

.navbar .menu-btn:hover.foodbox span,
.navbar .menu-btn:hover.foodbox span:before,
.navbar .menu-btn:hover.foodbox span:after {
    background: #FAA401
}

.navbar .menu-btn:hover.foodbox-pusdorf span,
.navbar .menu-btn:hover.foodbox-pusdorf span:before,
.navbar .menu-btn:hover.foodbox-pusdorf span:after {
    background: #FAA401
}

.navbar .menu-btn:hover.foodbox-studio span,
.navbar .menu-btn:hover.foodbox-studio span:before,
.navbar .menu-btn:hover.foodbox-studio span:after {
    background: #FAA401
}

.navbar .menu-btn:hover.heizwerk span,
.navbar .menu-btn:hover.heizwerk span:before,
.navbar .menu-btn:hover.heizwerk span:after {
    background: #e84936
}

.navbar .menu-btn:hover.heizwerk span,
.navbar .menu-btn:hover.heizwerk span:before,
.navbar .menu-btn:hover.heizwerk span:after {
    background: #8c9091
}

.navbar .menu-btn:hover.active span {
    background-color: transparent
}

.navbar .menu-btn span:before {
    top: -10px;
    left: 0
}

.navbar .menu-btn span:after {
    bottom: -10px;
    left: 0
}

.navbar .menu-btn.active span {
    background-color: transparent
}

.navbar .menu-btn.active span:before,
.navbar .menu-btn.active span:after {
    top: 0
}

.navbar .menu-btn.active span:before {
    transform: rotate(45deg)
}

.navbar .menu-btn.active span:after {
    transform: translateY(-10px) rotate(-45deg);
    top: 10px
}

.landing-page-section {
    margin: 60px 0
}

.landing-page-section h2 {
    font-family: DINEngschriftLTPro;
    font-size: 24pt;
    letter-spacing: 3px;
    text-align: center;
    text-transform: uppercase
}

.landing-page-section .intro-text {
    font-size: 13pt;
    line-height: 16pt;
    padding: 0 100px
}

.landing-page-section .gastro-locations-slider .gastro-location-item,
.landing-page-section .gastro-locations-slider-mobile .gastro-location-item {
    border: 1px solid rgba(0, 0, 0, 0);
    color: #000;
    display: flex;
    flex-direction: column;
    position: relative;
    transition: border .6s ease-in-out;
    min-height: 510px
}

.landing-page-section .gastro-locations-slider .gastro-location-item:hover,
.landing-page-section .gastro-locations-slider-mobile .gastro-location-item:hover {
    border: 1px solid #fff
}

.landing-page-section .gastro-locations-slider .gastro-location-item-logo,
.landing-page-section .gastro-locations-slider-mobile .gastro-location-item-logo {
    position: absolute;
    transform: translateX(-50%);
    width: 80px;
    top: 0;
    left: 50%
}

.landing-page-section .gastro-locations-slider .gastro-location-item-image,
.landing-page-section .gastro-locations-slider-mobile .gastro-location-item-image {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0
}

.landing-page-section .gastro-locations-slider .gastro-location-item-content,
.landing-page-section .gastro-locations-slider-mobile .gastro-location-item-content {
    flex: 0 0 30%;
    background: rgba(0, 0, 0, 0.6);
    position: absolute;
    height: 120px;
    bottom: 0;
    left: 0;
    right: 0
}

@media only screen and (max-width: 767px) {

    .landing-page-section {
        margin: 0;
    }

    .landing-page-section p {
        padding: 0 12px;
    }

    .landing-page-section .gastro-locations-slider .gastro-location-item-content,
    .landing-page-section .gastro-locations-slider-mobile .gastro-location-item-content {
        height: auto;
    }
}

.landing-page-section .gastro-locations-slider .gastro-location-item-content-wrapper,
.landing-page-section .gastro-locations-slider-mobile .gastro-location-item-content-wrapper {
    color: #fff;
    padding: 24px
}

.landing-page-section .gastro-locations-slider .gastro-location-item-content-wrapper .logo,
.landing-page-section .gastro-locations-slider-mobile .gastro-location-item-content-wrapper .logo {
    display: flex
}

.landing-page-section .gastro-locations-slider .gastro-location-item-content-title,
.landing-page-section .gastro-locations-slider-mobile .gastro-location-item-content-title {
    font-family: DINEngschriftLTPro;
    font-size: 20pt;
    letter-spacing: 3px
}

.landing-page-section .gastro-locations-slider .gastro-location-item-content-title a,
.landing-page-section .gastro-locations-slider-mobile .gastro-location-item-content-title a {
    color: #fff;
    text-decoration: none;
    transition: color .4s ease-in-out
}

.landing-page-section .gastro-locations-slider .gastro-location-item-content-title a:hover,
.landing-page-section .gastro-locations-slider-mobile .gastro-location-item-content-title a:hover {
    color: #ccc
}

.landing-page-section .gastro-locations-slider .gastro-location-item-headline,
.landing-page-section .gastro-locations-slider-mobile .gastro-location-item-headline {
    font-family: DINEngschriftLTPro;
    width: 100%
}

.landing-page-section .gastro-locations-slider .gastro-location-item p,
.landing-page-section .gastro-locations-slider-mobile .gastro-location-item p {
    margin: 0;
    white-space: normal
}

.landing-page-section .gastro-locations-slider button.glide__arrow,
.landing-page-section .gastro-locations-slider-mobile button.glide__arrow {
    border: 0;
    box-shadow: none
}

.landing-page-section .gastro-locations-slider button.glide__arrow svg,
.landing-page-section .gastro-locations-slider-mobile button.glide__arrow svg {
    width: 64px;
    height: 64px
}

.landing-page-section .gastro-locations-slider button.glide__arrow--right,
.landing-page-section .gastro-locations-slider-mobile button.glide__arrow--right {
    right: 0
}

.landing-page-section .gastro-locations-slider button.glide__arrow--left,
.landing-page-section .gastro-locations-slider-mobile button.glide__arrow--left {
    left: 0
}

/* Karrierebereich */

.landing-page-section .career-slider .career-item,
.landing-page-section .career-slider-mobile .career-item {
    border: 1px solid rgba(0, 0, 0, 0);
    color: #000;
    display: flex;
    flex-direction: column;
    position: relative;
    transition: border .6s ease-in-out;
    min-height: 510px
}

.landing-page-section .career-slider .career-item:hover,
.landing-page-section .career-slider-mobile .career-item:hover {
    border: 1px solid #fff
}

.landing-page-section .career-slider .career-item-logo,
.landing-page-section .career-slider-mobile .career-item-logo {
    position: absolute;
    transform: translateX(-50%);
    width: 80px;
    top: 0;
    left: 50%
}

.landing-page-section .career-slider .career-item-image,
.landing-page-section .career-slider-mobile .career-item-image {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0
}

.landing-page-section .career-slider .career-item-content,
.landing-page-section .career-slider-mobile .career-item-content {
    flex: 0 0 30%;
    background: rgba(0, 0, 0, 0.6);
    position: absolute;
    height: 120px;
    bottom: 0;
    left: 0;
    right: 0
}

.landing-page-section .career-slider .career-item-content-wrapper,
.landing-page-section .career-slider-mobile .career-item-content-wrapper {
    color: #fff;
    padding: 24px
}

.landing-page-section .career-slider .career-item-content-wrapper .logo,
.landing-page-section .career-slider-mobile .career-item-content-wrapper .logo {
    display: flex
}

.landing-page-section .career-slider .career-item-content-title,
.landing-page-section .career-slider-mobile .career-item-content-title {
    font-family: DINEngschriftLTPro;
    font-size: 20pt;
    letter-spacing: 3px
}

.landing-page-section .career-slider .career-item-content-title a,
.landing-page-section .career-slider-mobile .career-item-content-title a {
    color: #fff;
    text-decoration: none;
    transition: color .4s ease-in-out
}

.landing-page-section .career-slider .career-item-content-title a:hover,
.landing-page-section .career-slider-mobile .career-item-content-title a:hover {
    color: #ccc
}

.landing-page-section .career-slider .career-item-headline,
.landing-page-section .career-slider-mobile .career-item-headline {
    font-family: DINEngschriftLTPro;
    width: 100%
}

.landing-page-section .career-slider .career-item p,
.landing-page-section .career-slider-mobile .career-item p {
    margin: 0;
    white-space: normal
}

/* Karrierebereich ENDE */

.landing-page-section .event-locations .event-locations-list {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0
}

.landing-page-section .event-locations .event-locations-list .event-locations-item {
    background: #fff;
    color: #000;
    display: flex;
    flex: 0 0 calc(50% - 30px);
    margin: 60px 30px 0 0;
    overflow: hidden;
    position: relative;
    justify-content: flex-end;
    height: 310px
}

.landing-page-section .event-locations .event-locations-list .event-locations-item:nth-child(2n) {
    margin: 60px 0 0 30px
}

.landing-page-section .event-locations .event-locations-list .event-locations-item-image {
    flex: 0 0 50%;
    object-fit: cover;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0
}

.landing-page-section .event-locations .event-locations-list .event-locations-item-icon {
    background: rgba(0, 0, 0, 0.6);
    position: absolute;
    transform: translate(-50%, -50%);
    transition: opacity 0.4s ease-in-out;
    height: 180px;
    top: 50%;
    left: 50%
}

.landing-page-section .event-locations .event-locations-list .event-locations-item-content {
    flex: 0 0 calc(50% - 48px);
    background: #fff;
    display: flex;
    padding: 24px 96px 24px 60px;
    position: absolute;
    transform: skewX(12deg) translateX(calc(100% + 48px));
    transition: transform .4s ease-in-out;
    width: 40%;
    align-items: center;
    top: 0;
    bottom: 0;
    right: 0
}

.landing-page-section .event-locations .event-locations-list .event-locations-item-content-wrapper {
    transform: skewX(-12deg)
}

.landing-page-section .event-locations .event-locations-list .event-locations-item-content .title {
    font-family: DINEngschriftLTPro;
    font-size: 20pt;
    letter-spacing: 3px;
    text-transform: uppercase
}

.landing-page-section .event-locations .event-locations-list .event-locations-item-content .title a {
    color: #000;
    text-decoration: none;
    transition: color .4s ease-in-out
}

.landing-page-section .event-locations .event-locations-list .event-locations-item-content .title a:hover {
    color: #666
}

.landing-page-section .event-locations .event-locations-list .event-locations-item:nth-child(3),
.landing-page-section .event-locations .event-locations-list .event-locations-item:nth-child(7),
.landing-page-section .event-locations .event-locations-list .event-locations-item:nth-child(11),
.landing-page-section .event-locations .event-locations-list .event-locations-item:nth-child(4),
.landing-page-section .event-locations .event-locations-list .event-locations-item:nth-child(8),
.landing-page-section .event-locations .event-locations-list .event-locations-item:nth-child(12) {
    flex-direction: row-reverse
}

.landing-page-section .event-locations .event-locations-list .event-locations-item:hover .event-locations-item-icon {
    opacity: 0
}

.landing-page-section .event-locations .event-locations-list .event-locations-item:hover .event-locations-item-content {
    transform: skewX(12deg) translateX(calc(48px))
}

@media only screen and (max-width: 767px) {
    .landing-page-section.event-locations-element>p {
        padding: 0 12px
    }
    .landing-page-section .event-locations .event-locations-list .event-locations-item {
        flex: 0 0 100%;
        flex-direction: column;
        margin-left: 0 !important;
        margin-right: 0 !important
    }
    .landing-page-section .event-locations .event-locations-list .event-locations-item .event-locations-item-image {
        width: 100%
    }
    .landing-page-section .event-locations .event-locations-list .event-locations-item:nth-child(2n) {
        margin: 0 0 0 30px
    }
    .landing-page-section .event-locations .event-locations-list .event-locations-item {
        margin: 0 0 0 30px;
    }
}

.gastro h2 {
    color: #fff;
    font-family: DINEngschriftLTPro;
    font-size: 24pt;
    font-weight: 300;
    letter-spacing: 3px;
    margin: 0;
    padding: 60px 0 60px;
    position: relative;
    text-align: center;
    text-transform: uppercase
}

.gastro-intro .container {
    display: flex;
    flex-wrap: wrap;
    margin: 30px auto 0
}

.gastro-intro .col {
    background: #fff;
    color: #000;
    flex: 0 0 638px;
    font-size: 13pt;
    line-height: 18pt;
    margin: 24px 12px 0 0;
    overflow: hidden;
    height: 638px
}

.gastro-intro .col:nth-child(2n) {
    flex: 0 0 638px;
    margin: 24px 0 0 12px
}

.gastro-intro .col.text {
    flex: 0 0 calc(638px - 96px);
    padding: 48px;
    height: calc(638px - 96px)
}

.gastro-intro .col.text img {
    max-width: 100%;
    height: auto;
}

.gastro-intro .col.image {
    background: none
}

.gastro-intro .col.image .image-slide {
    background-position: center;
    display: block;
    max-width: 100%;
    width: 638px;
    height: 638px
}

.gastro-intro .col h1 {
    font-family: DINEngschriftLTPro;
    font-size: 48pt;
    font-weight: 300;
    letter-spacing: 3px;
    line-height: 48pt;
    margin: 0;
    text-transform: uppercase
}

.gastro-intro .col h3 {
    font-family: DINEngschriftLTPro;
    font-size: 48pt;
    font-weight: 300;
    letter-spacing: 3px;
    line-height: 48pt;
    margin: 0;
    text-transform: uppercase
}

.gastro-intro .col h4 {
    font-family: DINEngschriftLTPro;
    font-size: 24pt;
    font-weight: 300;
    letter-spacing: 3px;
    line-height: 28pt;
    margin: 12px 0;
    text-transform: uppercase
}

.gastro-intro .col hr {
    border: 0;
    border-top: 2px solid #000;
    display: inline-block;
    width: 360px
}

.gastro-intro .col:hover button.glide__arrow {
    opacity: 1
}

.gastro-intro .col button.glide__arrow {
    border: 0;
    box-shadow: none;
    opacity: 1;
}

.gastro-intro .col button.glide__arrow--left {
    left: -.5em
}

.gastro-intro .col button.glide__arrow--right {
    right: -.5em
}

.gastro-intro .col button.glide__arrow svg {
    width: 64px;
    height: 64px
}

.gastro-intro .col .glide__track {
    margin-top: -17.2px
}

.gastro-boulevard .container {
    display: flex;
    flex-wrap: wrap;
    margin: 30px auto 0
}

.gastro-boulevard h2 {
    padding-bottom: 6px;
}

.gastro-boulevard .col {
    background: #fff;
    color: #000;
    flex: 0 0 638px;
    font-size: 13pt;
    line-height: 18pt;
    margin: 24px 12px 0 0;
    overflow: hidden;
    height: 638px
}

.gastro-boulevard .col:nth-child(2n) {
    flex: 0 0 638px;
    margin: 24px 0 0 12px
}

.gastro-boulevard .col.text {
    flex: 0 0 calc(638px - 96px);
    padding: 48px;
    height: calc(638px - 96px)
}

.gastro-boulevard .col.text img {
    max-width: 100%;
    height: auto;
}

.gastro-boulevard .col.image {
    background: none
}

.gastro-boulevard .col.image .image-slide {
    background-position: center;
    display: block;
    max-width: 100%;
    width: 638px;
    height: 638px
}

.gastro-boulevard .col h1 {
    font-family: DINEngschriftLTPro;
    font-size: 48pt;
    font-weight: 300;
    letter-spacing: 3px;
    line-height: 48pt;
    margin: 0;
    text-transform: uppercase
}

.gastro-boulevard .col h3 {
    font-family: DINEngschriftLTPro;
    font-size: 48pt;
    font-weight: 300;
    letter-spacing: 3px;
    line-height: 48pt;
    margin: 0;
    text-transform: uppercase
}

.gastro-boulevard .col h4 {
    font-family: DINEngschriftLTPro;
    font-size: 24pt;
    font-weight: 300;
    letter-spacing: 3px;
    line-height: 28pt;
    margin: 12px 0;
    text-transform: uppercase
}

.gastro-boulevard .col hr {
    border: 0;
    border-top: 2px solid #000;
    display: inline-block;
    width: 360px
}

.gastro-boulevard .col:hover button.glide__arrow {
    opacity: 1
}

.gastro-boulevard .col button.glide__arrow {
    border: 0;
    box-shadow: none;
    opacity: 1;
}

.gastro-boulevard .col button.glide__arrow--left {
    left: -.5em
}

.gastro-boulevard .col button.glide__arrow--right {
    right: -.5em
}

.gastro-boulevard .col button.glide__arrow svg {
    width: 64px;
    height: 64px
}

.gastro-boulevard .col .glide__track {
    margin-top: -17.2px
}

.gastro-specials ul {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0
}

.gastro-specials ul li {
    background: #fff;
    color: #000;
    flex: 0 0 calc(636px - 96px);
    margin: 24px 12px 0 0;
    overflow: hidden;
    padding: 48px;
    position: relative;
    height: calc(636px - 96px)
}

.gastro-specials ul li h3 {
    color: #fff;
    display: flex;
    font-family: DINEngschriftLTPro;
    font-size: 100pt;
    font-weight: 300;
    letter-spacing: 3px;
    margin: 0;
    opacity: 1;
    position: absolute;
    text-transform: uppercase;
    transition: all .4s ease-in-out;
    align-items: center;
    justify-content: center;
    word-break: break-all;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0
}

.gastro-specials ul li .background {
    position: absolute;
    transition: all .4s ease-in-out;
    transform: scale(1.2);
    top: 0;
    bottom: 0;
    left: 0;
    right: 0
}

.gastro-specials ul li:nth-child(2n) {
    margin: 24px 0 0 12px
}

.gastro-specials ul li:nth-child(1),
.gastro-specials ul li:nth-child(2) {
    margin-top: 0
}

.gastro-specials ul li .overlay {
    background: rgba(0, 0, 0, 0.68);
    color: #fff;
    display: grid;
    font-weight: 300;
    letter-spacing: 3px;
    padding: 48px;
    position: absolute;
    transition: all .4s linear;
    grid-template-columns: repeat(2, 50%);
    grid-template-rows: repeat(2, 50%);
    grid-template-areas: "date location" "text text";
    opacity: 0;
    align-items: center;
    justify-content: center;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0
}

.gastro-specials ul li .overlay .top-left {
    display: flex;
    flex-direction: column;
    grid-area: date;
    align-items: center;
    justify-content: center
}

.gastro-specials ul li .overlay .top-left__headline {
    border-bottom: 1px solid #fff;
    display: block;
    font-family: DINEngschriftLTPro;
    font-size: 100pt;
    line-height: 66pt;
    padding: 0 0 12px;
    transition: color .4s ease-in-out
}

.gastro-specials ul li .overlay .top-left__second-headline {
    font-family: DINEngschriftLTPro;
    font-size: 36pt;
    padding: 12px 0 0;
    text-transform: uppercase
}

.gastro-specials ul li .overlay .location {
    display: flex;
    flex-direction: column;
    font-family: DINEngschriftLTPro;
    font-size: 20pt;
    grid-area: location;
    padding: 48px 0 0;
    align-items: center;
    justify-content: flex-start;
    height: 100%
}

.gastro-specials ul li .overlay .location img {
    width: auto;
    height: 24px
}

.gastro-specials ul li .overlay .text {
    font-size: 15pt;
    line-height: 20pt;
    grid-area: text
}

.gastro-specials ul li .overlay .text h4 {
    font-family: DINEngschriftLTPro;
    font-size: 24pt;
    font-weight: 300;
    letter-spacing: 3px;
    text-transform: uppercase
}

.gastro-specials ul li .overlay .text p {
    font-size: 14pt;
    letter-spacing: 0px;
    line-height: 18pt
}

.gastro-specials ul li:hover h3 {
    opacity: 0;
    transform: scale(0.83333)
}

.gastro-specials ul li:hover .background {
    transform: scale(1)
}

.gastro-specials ul li:hover .overlay {
    opacity: 1;
    transform: scale(1)
}

.gastro-specials ul li.static .overlay {
    background: none;
    color: #000;
    opacity: 1
}

.gastro-specials ul li.static .overlay .top-left__headline {
    border-bottom: 1px solid #000
}

.gastro-specials .info {
    margin-top: 0;
    margin-bottom: 0;
    text-align: center
}

.gastro-services .container {
    display: flex;
    flex-wrap: wrap
}

.gastro-services .col {
    background: #fff;
    color: #000;
    flex: 0 0 calc(100% / 3);
    position: relative;
    height: 433.33px
}

.gastro-services .col.image .image {
    background-position: center;
    display: block;
    width: 100%;
    height: 100%
}

.gastro-services .col.image.maps .image {
    display: flex;
    align-items: center;
    justify-content: center
}

.gastro-services .col.image.maps .image .address {
    background: rgba(0, 0, 0, 0.68);
    display: flex;
    flex-direction: column;
    opacity: 0;
    position: absolute;
    text-align: center;
    transition: opacity .4s ease-in-out;
    align-items: center;
    justify-content: center;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0
}

.gastro-services .col.image.maps .image .address p {
    color: #fff;
    font-family: DINEngschriftLTPro;
    font-size: 15pt;
    font-weight: 300;
    letter-spacing: 5px;
    line-height: 15pt;
    margin: 8px 0;
    text-align: center;
    text-transform: uppercase
}

.gastro-services .col.image.maps .image:hover .address {
    opacity: 1
}

.gastro-services .col.image .button.riva:hover,
.gastro-services .col.image .button.riva-clubraum:hover,
.gastro-services .col.image .button.deck20:hover,
.gastro-services .col.image .button.q1:hover,
.gastro-services .col.image .button.justus:hover,
.gastro-services .col.image .button.neo-bremen:hover,
.gastro-services .col.image .button.q-career:hover,
.gastro-services .col.image .button.events:hover,
.gastro-services .col.image .button.heizwerk:hover,
.gastro-services .col.image .button.q-catering:hover,
.gastro-services .col.image .button.foodbox:hover,
.gastro-services .col.image .button.foodbox-pusdorf:hover,
.gastro-services .col.image .button.foodbox-studio:hover,
.gastro-services .col.image .button {
    background: none;
    border: 1px solid #fff;
    color: #fff;
    cursor: pointer;
    font-family: DINEngschriftLTPro;
    font-size: 14pt;
    font-weight: 500;
    letter-spacing: 3px;
    outline: none;
    padding: 10px 36px 7px;
    position: absolute;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transform: translateX(-50%);
    transition: background .4s ease-in-out, border .4s ease-in-out;
    bottom: 48px;
    left: 50%
}

.gastro-services .col.image .button.riva {
    background: #F18815;
    border: 1px solid #F18815;

    color: #fff;
    cursor: pointer;
    font-family: DINEngschriftLTPro;
    font-size: 14pt;
    font-weight: 500;
    letter-spacing: 3px;
    outline: none;
    padding: 10px 36px 7px;
    position: absolute;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transform: translateX(-50%);
    transition: background .4s ease-in-out, border .4s ease-in-out;
    bottom: 48px;
    left: 50%
}

.gastro-services .col.image .button.riva-clubraum {
    background: #F18815;
    border: 1px solid #F18815;

    color: #fff;
    cursor: pointer;
    font-family: DINEngschriftLTPro;
    font-size: 14pt;
    font-weight: 500;
    letter-spacing: 3px;
    outline: none;
    padding: 10px 36px 7px;
    position: absolute;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transform: translateX(-50%);
    transition: background .4s ease-in-out, border .4s ease-in-out;
    bottom: 48px;
    left: 50%
}

.gastro-services .col.image .button.deck20 {
    background: #B2927A;
    border: 1px solid #B2927A;

    color: #fff;
    cursor: pointer;
    font-family: DINEngschriftLTPro;
    font-size: 14pt;
    font-weight: 500;
    letter-spacing: 3px;
    outline: none;
    padding: 10px 36px 7px;
    position: absolute;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transform: translateX(-50%);
    transition: background .4s ease-in-out, border .4s ease-in-out;
    bottom: 48px;
    left: 50%
}

.gastro-services .col.image .button.q1 {
    background: #9C6FAE;
    border: 1px solid #9C6FAE;

    color: #fff;
    cursor: pointer;
    font-family: DINEngschriftLTPro;
    font-size: 14pt;
    font-weight: 500;
    letter-spacing: 3px;
    outline: none;
    padding: 10px 36px 7px;
    position: absolute;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transform: translateX(-50%);
    transition: background .4s ease-in-out, border .4s ease-in-out;
    bottom: 48px;
    left: 50%
}

.gastro-services .col.image .button.justus {
    background: #0e4782;
    border: 1px solid #0e4782;

    color: #fff;
    cursor: pointer;
    font-family: DINEngschriftLTPro;
    font-size: 14pt;
    font-weight: 500;
    letter-spacing: 3px;
    outline: none;
    padding: 10px 36px 7px;
    position: absolute;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transform: translateX(-50%);
    transition: background .4s ease-in-out, border .4s ease-in-out;
    bottom: 48px;
    left: 50%
}

.gastro-services .col.image .button.neo-bremen {
    background: #636c3e;
    border: 1px solid #636c3e;

    color: #fff;
    cursor: pointer;
    font-family: DINEngschriftLTPro;
    font-size: 14pt;
    font-weight: 500;
    letter-spacing: 3px;
    outline: none;
    padding: 10px 36px 7px;
    position: absolute;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transform: translateX(-50%);
    transition: background .4s ease-in-out, border .4s ease-in-out;
    bottom: 48px;
    left: 50%
}

.gastro-services .col.image .button.q-career {
    background: #0e2243;
    border: 1px solid #0e2243;

    color: #fff;
    cursor: pointer;
    font-family: DINEngschriftLTPro;
    font-size: 14pt;
    font-weight: 500;
    letter-spacing: 3px;
    outline: none;
    padding: 10px 36px 7px;
    position: absolute;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transform: translateX(-50%);
    transition: background .4s ease-in-out, border .4s ease-in-out;
    bottom: 48px;
    left: 50%
}

.gastro-services .col.image .button.events {
    background: #4d59a4;
    border: 1px solid #4d59a4;

    color: #fff;
    cursor: pointer;
    font-family: DINEngschriftLTPro;
    font-size: 14pt;
    font-weight: 500;
    letter-spacing: 3px;
    outline: none;
    padding: 10px 36px 7px;
    position: absolute;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transform: translateX(-50%);
    transition: background .4s ease-in-out, border .4s ease-in-out;
    bottom: 48px;
    left: 50%
}

.gastro-services .col.image .button.heizwerk {
    background: #e84936;
    border: 1px solid #e84936;

    color: #fff;
    cursor: pointer;
    font-family: DINEngschriftLTPro;
    font-size: 14pt;
    font-weight: 500;
    letter-spacing: 3px;
    outline: none;
    padding: 10px 36px 7px;
    position: absolute;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transform: translateX(-50%);
    transition: background .4s ease-in-out, border .4s ease-in-out;
    bottom: 48px;
    left: 50%
}

.gastro-services .col.image .button.q-catering {
    background: #8c9091;
    border: 1px solid #8c9091;

    color: #fff;
    cursor: pointer;
    font-family: DINEngschriftLTPro;
    font-size: 14pt;
    font-weight: 500;
    letter-spacing: 3px;
    outline: none;
    padding: 10px 36px 7px;
    position: absolute;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transform: translateX(-50%);
    transition: background .4s ease-in-out, border .4s ease-in-out;
    bottom: 48px;
    left: 50%
}

.gastro-services .col.image .button.foodbox {
    background: #FAA401;
    border: 1px solid #FAA401;

    color: #fff;
    cursor: pointer;
    font-family: DINEngschriftLTPro;
    font-size: 14pt;
    font-weight: 500;
    letter-spacing: 3px;
    outline: none;
    padding: 10px 36px 7px;
    position: absolute;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transform: translateX(-50%);
    transition: background .4s ease-in-out, border .4s ease-in-out;
    bottom: 48px;
    left: 50%
}

.gastro-services .col.image .button.foodbox-pusdorf {
    background: #FAA401;
    border: 1px solid #FAA401;

    color: #fff;
    cursor: pointer;
    font-family: DINEngschriftLTPro;
    font-size: 14pt;
    font-weight: 500;
    letter-spacing: 3px;
    outline: none;
    padding: 10px 36px 7px;
    position: absolute;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transform: translateX(-50%);
    transition: background .4s ease-in-out, border .4s ease-in-out;
    bottom: 48px;
    left: 50%
}

.gastro-services .col.image .button.foodbox-studio {
    background: #FAA401;
    border: 1px solid #FAA401;

    color: #fff;
    cursor: pointer;
    font-family: DINEngschriftLTPro;
    font-size: 14pt;
    font-weight: 500;
    letter-spacing: 3px;
    outline: none;
    padding: 10px 36px 7px;
    position: absolute;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transform: translateX(-50%);
    transition: background .4s ease-in-out, border .4s ease-in-out;
    bottom: 48px;
    left: 50%
}

.gastro-services .col.text {
    display: flex;
    flex: 0 0 calc(100% / 3 - 96px);
    flex-direction: column;
    padding: 48px;
    align-items: center;
    justify-content: center;
    height: calc(433.33px - 96px)
}

.gastro-services .col.text h3 {
    font-family: DINEngschriftLTPro;
    font-size: 15pt;
    font-weight: 300;
    letter-spacing: 5px;
    line-height: 15pt;
    margin: 0;
    text-align: center;
    text-transform: uppercase
}

.gastro-services .col.text .icon {
    border-top: 2px solid #000;
    border-bottom: 2px solid #000;
    display: block;
    margin: 48px 0;
    padding: 24px 0;
    text-align: center;
    width: 100%
}

.gastro-services .col.text .icon img {
    max-width: 150px;
    max-height: 107px
}

.gastro-services .col.text .button.riva:hover,
.gastro-services .col.text .button.deck20:hover,
.gastro-services .col.text .button.q1:hover,
.gastro-services .col.text .button.justus:hover,
.gastro-services .col.text .button.neo-bremen:hover,
.gastro-services .col.text .button.q-career:hover,
.gastro-services .col.text .button.events:hover,
.gastro-services .col.text .button.heizwerk:hover,
.gastro-services .col.text .button.foodbox:hover,
.gastro-services .col.text .button.foodbox-pusdorf:hover,
.gastro-services .col.text .button.foodbox-studio:hover {
    background: none;
    border: 1px solid #000;
    color: #000;
    cursor: pointer;
    font-family: DINEngschriftLTPro;
    font-size: 14pt;
    font-weight: 500;
    letter-spacing: 3px;
    outline: none;
    padding: 10px 36px 7px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: color .4s ease-in-out, background .4s ease-in-out, border .4s ease-in-out
}

.gastro-services .col.text .button.riva {
    background: #F18815;
    color: #fff;
    border: 1px solid #F18815;

    cursor: pointer;
    font-family: DINEngschriftLTPro;
    font-size: 14pt;
    font-weight: 500;
    letter-spacing: 3px;
    outline: none;
    padding: 10px 36px 7px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: color .4s ease-in-out, background .4s ease-in-out, border .4s ease-in-out
}

.gastro-services .col.text .button.deck20 {
    background: #B2927A;
    color: #fff;
    border: 1px solid #B2927A;

    cursor: pointer;
    font-family: DINEngschriftLTPro;
    font-size: 14pt;
    font-weight: 500;
    letter-spacing: 3px;
    outline: none;
    padding: 10px 36px 7px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: color .4s ease-in-out, background .4s ease-in-out, border .4s ease-in-out
}

.gastro-services .col.text .button.q1 {
    background: #9C6FAE;
    color: #fff;
    border: 1px solid #9C6FAE;

    cursor: pointer;
    font-family: DINEngschriftLTPro;
    font-size: 14pt;
    font-weight: 500;
    letter-spacing: 3px;
    outline: none;
    padding: 10px 36px 7px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: color .4s ease-in-out, background .4s ease-in-out, border .4s ease-in-out
}

.gastro-services .col.text .button.justus {
    background: #0e4782;
    color: #fff;
    border: 1px solid #0e4782;

    cursor: pointer;
    font-family: DINEngschriftLTPro;
    font-size: 14pt;
    font-weight: 500;
    letter-spacing: 3px;
    outline: none;
    padding: 10px 36px 7px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: color .4s ease-in-out, background .4s ease-in-out, border .4s ease-in-out
}

.gastro-services .col.text .button.neo-bremen {
    background: #636c3e;
    color: #fff;
    border: 1px solid #636c3e;

    cursor: pointer;
    font-family: DINEngschriftLTPro;
    font-size: 14pt;
    font-weight: 500;
    letter-spacing: 3px;
    outline: none;
    padding: 10px 36px 7px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: color .4s ease-in-out, background .4s ease-in-out, border .4s ease-in-out
}

.gastro-services .col.text .button.q-career {
    background: #0e2243;
    color: #fff;
    border: 1px solid #0e2243;

    cursor: pointer;
    font-family: DINEngschriftLTPro;
    font-size: 14pt;
    font-weight: 500;
    letter-spacing: 3px;
    outline: none;
    padding: 10px 36px 7px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: color .4s ease-in-out, background .4s ease-in-out, border .4s ease-in-out
}

.gastro-services .col.text .button.events {
    background: #4d59a4;
    color: #fff;
    border: 1px solid #4d59a4;

    cursor: pointer;
    font-family: DINEngschriftLTPro;
    font-size: 14pt;
    font-weight: 500;
    letter-spacing: 3px;
    outline: none;
    padding: 10px 36px 7px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: color .4s ease-in-out, background .4s ease-in-out, border .4s ease-in-out
}

.gastro-services .col.text .button.heizwerk {
    background: #e84936;
    color: #fff;
    border: 1px solid #e84936;

    cursor: pointer;
    font-family: DINEngschriftLTPro;
    font-size: 14pt;
    font-weight: 500;
    letter-spacing: 3px;
    outline: none;
    padding: 10px 36px 7px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: color .4s ease-in-out, background .4s ease-in-out, border .4s ease-in-out
}

.gastro-services .col.text .button.foodbox {
    background: #FAA401;
    color: #fff;
    border: 1px solid #FAA401;

    cursor: pointer;
    font-family: DINEngschriftLTPro;
    font-size: 14pt;
    font-weight: 500;
    letter-spacing: 3px;
    outline: none;
    padding: 10px 36px 7px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: color .4s ease-in-out, background .4s ease-in-out, border .4s ease-in-out
}

.gastro-services .col.text .button.foodbox-pusdorf {
    background: #FAA401;
    color: #fff;
    border: 1px solid #FAA401;

    cursor: pointer;
    font-family: DINEngschriftLTPro;
    font-size: 14pt;
    font-weight: 500;
    letter-spacing: 3px;
    outline: none;
    padding: 10px 36px 7px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: color .4s ease-in-out, background .4s ease-in-out, border .4s ease-in-out
}

.gastro-services .col.text .button.foodbox-studio {
    background: #FAA401;
    color: #fff;
    border: 1px solid #FAA401;

    cursor: pointer;
    font-family: DINEngschriftLTPro;
    font-size: 14pt;
    font-weight: 500;
    letter-spacing: 3px;
    outline: none;
    padding: 10px 36px 7px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: color .4s ease-in-out, background .4s ease-in-out, border .4s ease-in-out
}

.gastro-services .col.text.menus {
    perspective: 500px;
    position: relative;
    overflow: hidden
}

.gastro-services .col.text.menus .wrapper {
    transition: transform .4s ease-in-out
}

.gastro-services .col.text.menus .wrapper.faded-out {
    transform: scale(0.6)
}

.gastro-services .col.text.menus .menu-list-overlay {
    background: #fff;
    display: flex;
    opacity: 0;
    padding: 48px;
    position: absolute;
    transform: translateX(100%);
    transition: opacity .4s ease-in-out, transform 0s .4s ease-in-out;
    align-items: stretch;
    justify-content: stretch;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1000
}

.gastro-services .col.text.menus .menu-list-overlay.open {
    opacity: 1;
    transform: translateX(0);
    transition: opacity .4s ease-in-out, transform 0s 0s ease-in-out
}

.gastro-services .col.text.menus .menu-list-overlay ul {
    border-top: 2px solid #000;
    border-bottom: 2px solid #000;
    display: flex;
    flex-direction: column;
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
    align-items: stretch;
    justify-content: center
}

.gastro-services .col.text.menus .menu-list-overlay ul li {
    display: block
}

.gastro-services .col.text.menus .menu-list-overlay ul li a {
    color: #000;
    display: block;
    font-family: DINEngschriftLTPro;
    font-size: 18pt;
    letter-spacing: 3px;
    margin: 4px 0;
    padding: 8px 8px 4px;
    text-decoration: none;
    text-align: center;
    text-transform: uppercase;
    transition: color .4s ease-in-out
}

.gastro-services .col.text.menus .menu-list-overlay ul li a:hover {
    color: #ccc
}

.gastro-services .col.text.menus .menu-list-overlay ul li a:hover.riva {
    color: #F18815
}

.gastro-services .col.text.menus .menu-list-overlay ul li a:hover.deck20 {
    color: #B2927A
}

.gastro-services .col.text.menus .menu-list-overlay ul li a:hover.q1 {
    color: #9C6FAE
}


.gastro-services .col.text.menus .menu-list-overlay ul li a:hover.justus {
    color: #0e4782
}

.gastro-services .col.text.menus .menu-list-overlay ul li a:hover.neo-bremen {
    color: #636c3e
}

.gastro-services .col.text.menus .menu-list-overlay ul li a:hover.q-career {
    color: #0e2243
}

.gastro-services .col.text.menus .menu-list-overlay ul li a:hover.events {
    color: #4d59a4
}

.gastro-services .col.text.menus .menu-list-overlay ul li a:hover.foodbox {
    color: #FAA401
}

.gastro-services .col.text.menus .menu-list-overlay ul li a:hover.foodbox-pusdorf {
    color: #FAA401
}

.gastro-services .col.text.menus .menu-list-overlay ul li a:hover.foodbox-studio {
    color: #FAA401
}

.gastro-services .col.text.menus .menu-list-overlay .overlay-close-btn {
    background: #fff;
    border-radius: 50%;
    color: #000;
    padding: 8px;
    position: absolute;
    transform: translate(-50%, -50%);
    width: 48px;
    height: 48px;
    top: 36px;
    right: -12px;
    z-index: 2
}

.gastro-services .col.text.menus .menu-list-overlay .overlay-close-btn:hover.riva {
    color: #F18815
}

.gastro-services .col.text.menus .menu-list-overlay .overlay-close-btn:hover.deck20 {
    color: #B2927A
}

.gastro-services .col.text.menus .menu-list-overlay .overlay-close-btn:hover.q1 {
    color: #9C6FAE
}

.gastro-services .col.text.menus .menu-list-overlay .overlay-close-btn:hover.justus {
    color: #0e4782
}

.gastro-services .col.text.menus .menu-list-overlay .overlay-close-btn:hover.neo-bremen {
    color: #636c3e
}

.gastro-services .col.text.menus .menu-list-overlay .overlay-close-btn:hover.q-career {
    color: #0e2243
}

.gastro-services .col.text.menus .menu-list-overlay .overlay-close-btn:hover.events {
    color: #4d59a4
}

.gastro-services .col.text.menus .menu-list-overlay .overlay-close-btn:hover.foodbox {
    color: #FAA401
}

.gastro-services .col.text.menus .menu-list-overlay .overlay-close-btn:hover.foodbox-pusdorf {
    color: #FAA401
}

.gastro-services .col.text.menus .menu-list-overlay .overlay-close-btn:hover.foodbox-studio {
    color: #FAA401
}

.gastro-services .col.text.colored-bg {
    color: #fff
}

.gastro-services .col.text.colored-bg .icon {
    border-top: 2px solid #fff;
    border-bottom: 2px solid #fff
}

.gastro-services .col.text.colored-bg .button {
    border: 1px solid #fff;
    color: #fff;
    transition: color .4s ease-in-out, background .4s ease-in-out
}

.gastro-services .col.text.colored-bg .button:hover.riva {
    background: #fff;
    color: #F18815;
    border: 1px solid #fff
}

.gastro-services .col.text.colored-bg .button:hover.deck20 {
    background: #fff;
    color: #B2927A;
    border: 1px solid #fff
}

.gastro-services .col.text.colored-bg .button:hover.q1 {
    background: #fff;
    color: #9C6FAE;
    border: 1px solid #fff
}

.gastro-services .col.text.colored-bg .button:hover.justus {
    background: #fff;
    color: #0e4782;
    border: 1px solid #fff
}

.gastro-services .col.text.colored-bg .button:hover.neo-bremen {
    background: #fff;
    color: #636c3e;
    border: 1px solid #fff
}

.gastro-services .col.text.colored-bg .button:hover.q-career {
    background: #fff;
    color: #0e2243;
    border: 1px solid #fff
}

.gastro-services .col.text.colored-bg .button:hover.events {
    background: #fff;
    color: #4d59a4;
    border: 1px solid #fff
}

.gastro-services .col.text.colored-bg .button:hover.foodbox {
    background: #fff;
    color: #FAA401;
    border: 1px solid #fff
}

.gastro-services .col.text.colored-bg .button:hover.foodbox-pusdorf {
    background: #fff;
    color: #FAA401;
    border: 1px solid #fff
}

.gastro-services .col.text.colored-bg .button:hover.foodbox-studio {
    background: #fff;
    color: #FAA401;
    border: 1px solid #fff
}

.gastro-info {
    margin: 0 0 60px
}

.gastro-info .container {
    display: flex
}

.gastro-info .col {
    background: #fff;
    color: #000;
    flex: 0 0 calc(100% / 3)
}

.gastro-info .col img {
    max-width: 100%
}

.gastro-info .col.gastro-address,
.gastro-info .col.gastro-opening-times {
    flex: 0 0 calc(100% / 3 - 96px);
    font-family: DINEngschriftLTPro;
    font-size: 13pt;
    letter-spacing: 3px;
    padding: 48px;
    text-transform: uppercase;
    height: calc(433.33px - 96px)
}

.gastro-info .col.gastro-address .icon {
    padding: 10px 0 24px;
    height: calc(170px - 34px)
}

.gastro-info .col.gastro-address hr {
    border: 0;
    border-top: 2px solid #000
}

.gastro-info .col.gastro-address .address {
    margin: 24px 0
}

.gastro-info .col.gastro-opening-times h3 {
    font-size: 22pt;
    font-weight: 300;
    margin: 0
}

.gastro-info .col.gastro-opening-times hr {
    border: 0;
    border-top: 2px solid #000;
    margin: 24px 0
}

.gastro-info .col.gastro-opening-times p {
    margin: 0;
    margin-top: 24px;
    padding-bottom: 0
}

.gastro-info .col.gastro-opening-times p.riva {
    color: #F18815
}

.gastro-info .col.gastro-opening-times p.deck20 {
    color: #B2927A
}

.gastro-info .col.gastro-opening-times p.q1 {
    color: #9C6FAE
}

.gastro-info .col.gastro-opening-times p.justus {
    color: #0e4782;
}

.gastro-info .col.gastro-opening-times p.neo-bremen {
    color: #636c3e;
}

.gastro-info .col.gastro-opening-times p.q-career {
    color: #0e2243;
}

.gastro-info .col.gastro-opening-times p.events {
    color: #4d59a4;
}

.gastro-info .col.gastro-opening-times p.foodbox {
    color: #FAA401
}

.gastro-info .col.gastro-opening-times p.foodbox-pusdorf {
    color: #FAA401
}

.gastro-info .col.gastro-opening-times p.foodbox-studio {
    color: #FAA401
}

.gastro-info .col.gastro-opening-times p.heizwerk {
    color: #e84936
}

.gastro-info .col.gastro-opening-times p.q-catering {
    color: #8c9091
}

.gastro-info .col.gastro-opening-times p.text-element {
    margin-top: 4px
}

.gastro-info .col.image span {
    display: block;
    width: 100%;
    height: 100%
}

.gastro-weserterrasse ul {
    display: flex;
    flex-wrap: nowrap;
    list-style: none;
    margin: 0;
    overflow: hidden;
    padding: 0
}

.gastro-weserterrasse ul li {
    background: #fff;
    color: #000;
    flex: 0 0 calc(50% - 12px);
    position: relative;
    margin-right: 12px;
    padding: 48px;
    box-sizing: border-box;
    min-height: 638px
}

.gastro-weserterrasse ul li:nth-child(2n) {
    margin-left: 12px;
    margin-right: 0
}

.gastro-weserterrasse ul li .background {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0
}

.gastro-weserterrasse ul li h3 {
    color: #fff;
    display: flex;
    font-family: DINEngschriftLTPro;
    font-size: 100pt;
    font-weight: 300;
    letter-spacing: 3px;
    margin: 0;
    opacity: 1;
    position: absolute;
    text-transform: uppercase;
    transition: all .4s ease-in-out;
    align-items: center;
    justify-content: center;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2
}

.gastro-weserterrasse ul li h4 {
    font-family: DINEngschriftLTPro;
    font-size: 24pt;
    font-weight: 300;
    letter-spacing: 3px;
    line-height: 24pt;
    margin: 0;
    text-transform: uppercase
}

.gastro-weserterrasse ul li hr {
    border: 0;
    border-bottom: 2px solid #000;
    display: block;
    margin: 48px 0
}

@media only screen and (max-width: 767px) {
    .gastro-intro .container {
        flex-direction: column
    }
    .gastro-intro .col {
        flex: 0 0 100%;
        max-width: 100%;
        margin-right: 0;
        height: auto !important;
    }
    .gastro-intro .col hr {
        max-width: 100%
    }
    .gastro-intro .col.text {
        flex: 0 0 calc(100% - 96px);
        max-width: calc(100% - 40px);
        padding:20px;
    }
    .gastro-intro .col.text h1 {
        text-align: center
    }
    .gastro-intro .col.text h3 {
        font-size: 32pt;
        line-height: 32pt;
        text-align: center
    }
    .gastro-intro .col.text h4 {
        font-size: 18pt;
        line-height: 22pt;
        text-align: center
    }
    .gastro-intro .col.image {
        max-height: 100vw
    }
    .gastro-intro .col.image .glide__track {
        max-height: 100vw
    }
    .gastro-intro .col.image .glide__track .glide__slides .glide__slide {
        width: 100vw;
        height: 100vw
    }
    .gastro-intro .col:nth-child(2n) {
        margin-top: 0;
        margin-left: 0
    }
    .gastro-intro .col {
        margin-top: 0;
    }
    .gastro-boulevard .container {
        flex-direction: column;
        margin-top: 0;
    }
    .gastro-boulevard .col {
        flex: 0 0 100%;
        max-width: 100%;
        margin-right: 0;
        height: auto !important;
    }
    .gastro-boulevard .col hr {
        max-width: 100%
    }
    .gastro-boulevard .col.text {
        flex: 0 0 calc(100% - 96px);
        max-width: calc(100% - 40px);
        padding:20px;
    }
    .gastro-boulevard .col.text h1 {
        text-align: center
    }
    .gastro-boulevard .col.text h3 {
        font-size: 32pt;
        line-height: 32pt;
        text-align: center
    }
    .gastro-boulevard .col.text h4 {
        font-size: 18pt;
        line-height: 22pt;
        text-align: center
    }
    .gastro-boulevard .col.image {
        max-height: 100vw
    }
    .gastro-boulevard .col.image .glide__track {
        max-height: 100vw
    }
    .gastro-boulevard .col.image .glide__track .glide__slides .glide__slide {
        width: 100vw;
        height: 100vw
    }
    .gastro-boulevard .col:nth-child(2n) {
        margin-top: 0;
        margin-left: 0
    }
    .gastro-boulevard .col {
        margin-top: 0;
    }
    .gastro-specials .container ul {
        flex-direction: column
    }
    .gastro-specials .container ul li {
        margin: 24px 0
    }
    .gastro-specials .container ul li h3 {
        font-size: 50pt
    }
    .gastro-specials .container ul li .overlay {
        grid-template-rows: 20% 20% 60%;
        grid-template-areas: "date date" "location location" "text text"
    }
    .gastro-specials .container ul li .overlay .top-left {
        flex-direction: row
    }
    .gastro-specials .container ul li .overlay .top-left__headline {
        border: 0;
        border-right: 1px solid #fff;
        font-size: 50pt;
        line-height: 50pt;
        padding: 16px 12px 0 0;
        margin-right: 12px
    }
    .gastro-specials .container ul li .overlay .top-left__second-headline {
        font-size: 40pt;
        line-height: 40pt
    }
    .gastro-specials .container ul li .overlay .location {
        padding: 0 0 24px 0
    }
    .gastro-specials .container ul li .overlay .location-wrapper {
        display: flex;
        align-items: center
    }
    .gastro-specials .container ul li .overlay .location-wrapper img {
        padding: 0 24px 0 0
    }
    .gastro-specials .container ul li .overlay .location-text {
        font-size: 16pt
    }
    .gastro-specials .container ul li .overlay .text h4 {
        margin-bottom: 24px
    }
    .gastro-specials .container ul li .overlay .text p {
        font-size: 13pt;
        line-height: 15pt
    }
    .gastro-specials .container .info {
        padding: 0 24px
    }
    .gastro-services .container {
        flex-direction: column
    }
	
	.gastro-services .col {
		flex: inherit;
	}
	
    .gastro-info .container {
        flex-direction: column
    }
    .gastro-info .container .image {
        height: 100vw
    }
    .gastro-info .container .gastro-address {
        text-align: center
    }
    .gastro-info .container .gastro-opening-times {
        text-align: center
    }
    .gastro-weserterrasse ul {
        flex-direction: column
    }
    .gastro-weserterrasse ul li {
        flex: 0 0 100%;
        margin-right: 0
    }
    .gastro-weserterrasse ul li h3 {
        font-size: 54pt
    }
    .gastro-weserterrasse ul li:nth-child(2n) {
        margin-left: 0
    }
}


/* Event Styles */

.event-intro {
    margin: 60px 0
}

.event-intro .headline {
    font-family: DINEngschriftLTPro;
    font-size: 48pt;
    font-weight: 300;
    letter-spacing: 3px;
    line-height: 48pt;
    margin: 0;
    padding: 0 24px;
    text-align: center;
    text-transform: uppercase
}

.event-intro .second-headline {
    font-family: DINEngschriftLTPro;
    font-size: 24pt;
    letter-spacing: 3px;
    margin: 0 0 60px;
    padding: 0 24px;
    text-align: center;
    text-transform: uppercase
}

.event-intro-text,
.event-intro .p1 {
    font-size: 13pt;
    line-height: 16pt;
    padding: 0 100px
}

.event-intro-text a,
.event-intro .p1 a {
    position: relative;
    text-decoration: none
}

.event-intro-text a::before,
.event-intro .p1 a::before {
    background: #fff;
    content: '';
    position: absolute;
    transform-origin: left;
    transform: scaleX(0);
    transition: color .2s .4s ease-in-out, transform .4s ease-in-out;
    height: 2px;
    bottom: -2px;
    left: -2px;
    right: -2px;
    z-index: -1
}

.event-intro-text a:hover,
.event-intro .p1 a:hover {
    color: #000
}

.event-intro-text a:hover::before,
.event-intro .p1 a:hover::before {
    transform: scaleX(1)
}

.event-intro-overviewtext {
    background: #fff;
    color: #000;
    margin: 0 100px;
    padding: 48px 48px 36px 48px
}

.event-intro-overviewtext .p1 {
    margin: 0 0 12px 0;
    padding: 0
}

@media only screen and (max-width: 767px) {
    .event-intro-overviewtext {
        padding: 48px 24px 36px 24px;
        margin: 0;
    }
}

.event-intro-images ul {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin: 60px 0 0 0;
    padding: 0
}

.event-intro-images ul li {
    display: block;
    flex: 0 0 calc(325px - 18px);
    margin: 0 24px 24px 0;
    height: calc(325px - 18px)
}

@media only screen and (max-width: 767px) {
    .event-intro-images ul li {
        margin: 0 0 24px 0;
    }
}

.event-intro-images ul li:nth-child(4n) {
    margin: 0
}

.event-intro.riva a,
.event-intro.riva-clubraum a {
    color: #F18815
}

.event-intro.riva a::before,
.event-intro.riva-clubraum a::before {
    background: #F18815
}

.event-intro.riva a:hover,
.event-intro.riva-clubraum a:hover {
    color: #fff
}

.event-intro.deck20 a {
    color: #B2927A
}

.event-intro.deck20 a::before {
    background: #B2927A
}

.event-intro.deck20 a:hover {
    color: #fff
}

.event-intro.q1 a {
    color: #9C6FAE
}

.event-intro.q1 a::before {
    background: #9C6FAE
}

.event-intro.q1 a:hover {
    color: #fff
}

.event-intro.justus a {
    color: #0e4782
}

.event-intro.justus a::before {
    background: #0e4782
}

.event-intro.justus a:hover {
    color: #fff
}

.event-intro.neo-bremen a {
    color: #636c3e
}

.event-intro.neo-bremen a::before {
    background: #636c3e
}

.event-intro.neo-bremen a:hover {
    color: #fff
}

.event-intro.q-career a {
    color: #0e2243
}

.event-intro.q-career a::before {
    background: #0e2243
}

.event-intro.events a {
    color: #4d59a4
}

.event-intro.events a::before {
    background: #4d59a4
}


.event-intro.foodbox a,
.event-intro.foodbox-pusdorf a,
.event-intro.foodbox-studio a {
color: #FAA401
}

.event-intro.foodbox a::before,
.event-intro.foodbox-pusdorf a::before,
.event-intro.foodbox-studio a::before {
    background: #FAA401
}

.event-intro.foodbox a:hover,
.event-intro.foodbox-pusdorf a:hover,
.event-intro.foodbox-studio a:hover {
    color: #fff
}

.event-intro.heizwerk a {
    color: #e84936
}

.event-intro.heizwerk a::before {
    background: #e84936
}

.event-intro.heizwerk a:hover {
    color: #fff
}

.event-intro.quai-dinnerschuppen a {
    color: #b2b2b2
}

.event-intro.quai-dinnerschuppen a::before {
    background: #b2b2b2
}

.event-intro.quai-dinnerschuppen a:hover {
    color: #fff
}

@media only screen and (max-width: 767px) {
    .event-intro .headline {
        font-size: 32pt;
        line-height: 32pt
    }
    .event-intro .second-headline {
        font-size: 15pt
    }
    .event-intro p {
        padding: 0 24px
    }
    .event-intro-images ul {
        flex-direction: column
    }
}

/* Video Slider */

.video-slider {
    width: 100%;
    flex: initial;
}

.video .container {
    margin-top: 0;
}

.video .col {
    margin-top: 0;
}

.video-slider .image-slide {
    height: 638px;
}

.video-slider .image-slide img {
    width: 100%;
}

.video-slider video {
    width: 100%;
    height: 638px;
    background: black;
}

.gastro-intro .col.video-slider {
    flex-basis: initial;
}

.gastro-boulevard .col.video-slider {
    flex-basis: initial;
}

/* Job Styles */

.joboffer,
.apprenticeship {
    background-color: #0e2243;
}

.job.contact-form hr {
    border: 0;
    border-top: 2px solid #000;
    display: inline-block;
    width: 360px;
}

.job-intro {
    padding-top: 60px;
}

.job-wrapper.join {
    margin-top: 0px;
}

.job-wrapper a {
    color: #0e2243;
}

.job-wrapper .col {
    background: #fff;
    color: #000;
    flex: 0 0 638px;
    font-size: 13pt;
    line-height: 18pt;
    margin: 24px 12px 0 0;
    overflow: hidden;
    height: 688px
}

.job-wrapper .col .image {
    height: 100%;
}

.job-wrapper.join .col {
   margin: 0 12px 0 0;
}

.job-wrapper .col:nth-child(2n) {
    flex: 0 0 638px;
    margin: 24px 0 0 12px
}

.job-wrapper.join .col:nth-child(2n) {
    margin: 0 0 0 12px
}


.job-wrapper .col.job-textbox {
    flex: 0 0 calc(638px - 96px);
    padding: 48px;
    height: calc(688px - 96px)
}

.job-wrapper .container {
    display: flex;
    flex-wrap: wrap; 
    margin: 0 auto 0;
}

.job-wrapper.join .container {
    display: flex;
    flex-wrap: wrap; 
    margin: 0 auto;
}

.job-textbox {
    background: #fff;
    color: #000;
    padding: 48px 48px 36px 48px;    
    font-size: 13pt;
    line-height: 18pt;
}

.job-textbox li {
    margin-bottom: .5rem;
}

.job-textbox hr {
    border: 0;
    border-top: 2px solid #000;
    display: inline-block;
    width: 360px;
}

.job-textbox h3 {
    font-family: DINEngschriftLTPro;
    font-size: 24pt;
    font-weight: 300;
    letter-spacing: 3px;
    line-height: 24pt;
    margin: 12px 0;
    position: relative;
    text-transform: uppercase;
}

.job-intro .headline {
    font-family: DINEngschriftLTPro;
    font-size: 48pt;
    font-weight: 300;
    letter-spacing: 3px;
    line-height: 48pt;
    margin: 0;
    padding: 0 24px;
    text-align: center;
    text-transform: uppercase
}

.job-infos {
    display: flex;
    justify-content: center;
    font-family: DINEngschriftLTPro;
    font-size: 30pt;
    font-weight: 300;
    letter-spacing: 3px;
    line-height: 48pt;
}

.job-infos .location::before {
    content: "";
    background: url('https://q-gastro.com/wp-content/uploads/2023/07/Ort_white.svg') no-repeat center/20px;
    position: absolute;
    width: 20px;
    height: 30px;
    left: -27px;
    top: 50%;
    transform: translateY(-57%);
}

.job-infos .date::before {
    content: "";
    background: url('https://q-gastro.com/wp-content/uploads/2023/07/Kalender_white.svg') no-repeat center/25px;
    position: absolute;
    width: 25px;
    height: 30px;
    left: -32px;
    top: 50%;
    transform: translateY(-57%);
}

.job-infos .position::before {
    content: "";
    background: url('https://q-gastro.com/wp-content/uploads/2023/07/Uhr_white.svg') no-repeat center/25px;
    position: absolute;
    width: 25px;
    height: 30px;
    left: -30px;
    top: 50%;
    transform: translateY(-57%);
  }

.job-infos p {
   margin: 1rem 1rem 1rem 2rem;
   position: relative;
}

.job.contact {
    padding-bottom: 60px;
}

.job h2 {
    color: #fff;
    font-family: DINEngschriftLTPro;
    font-size: 24pt;
    font-weight: 300;
    letter-spacing: 3px;
    margin: 0;
    padding: 60px 0 60px;
    position: relative;
    text-align: center;
    text-transform: uppercase
}

@media only screen and (max-width: 767px) {

    .job-intro {
        padding-top: 20px;
    }

    .job-intro .headline {
        font-size: 40pt;
    }

    .job-wrapper .col {
        flex: 0 0 100%;
        margin-left: 0;
        height: 350px;
    }

    .job-wrapper .col .image{
        height: 100%;
        width: 100%;
        object-fit: cover;
    }

    .job-wrapper .col.job-textbox {
        flex: 0 0 calc(100% - 96px);
        max-width: calc(100% - 96px);
        height: auto !important;
    }

    .job-wrapper .col:nth-child(2n) {
        flex: 0 0 100%;
        margin: 24px 0 0 0;
    }

    .job-wrapper.join .col:nth-child(2n) {
        margin: 24px 0 0 0
    }

    .job-textbox hr {
        width: 100%;
    }
    .job-textbox h3 {
        font-size: 32pt;
        line-height: 32pt;
        text-align: center;
    }

    .job-infos {
        flex-direction: column;
        align-items: center;
    }

    .job-infos p {
        margin: 0;
        font-size: 24pt;
    }

    .job.contact .contact-form {
        flex: 0 0 calc(100% - 72px);
        margin: 0;
        padding: 27px;
    }

}

/* Joblist Styles */

.jobs h2 {
    color: #fff;
    font-family: DINEngschriftLTPro;
    font-size: 24pt;
    font-weight: 300;
    letter-spacing: 3px;
    margin: 0;
    padding: 60px 0 60px;
    position: relative;
    text-align: center;
    text-transform: uppercase;
}

.job-list-intro .container {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto 0;
}

.size-job-thumbnail {
    display: block;
    margin-right: 1rem;
    width: 70px;
    height: auto;
}

.job-list {
    list-style: none;
    padding: 0;
    margin-top: 0;
}

.job-info__filter {
    display: flex;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.job-info__filter_buttons {
    display: flex;
    flex-basis: auto;
    justify-content: space-between;
    align-items: center;
}

.job-info__button {
    appearance: none;
    border: none;
    background: none;
    color: #0e2243;
    cursor: pointer;
    padding: 0.3rem 0.6rem;
    transition: all .3s;
    height: fit-content;
}

.job-info__button.selected {
    border: #0e2243;
    border-radius: 5px;
    background: #0e2243;
    color: white;
    padding: 0.3rem 0.6rem;
    transition: all .3s;
}

.job-info__button:hover {
    border: #0e2243;
    border-radius: 5px;
    background: #0e2243;
    color: white;
    padding: 0.3rem 0.6rem;
    transition: all .3s;
    
}

.job-info__textbox {
    width: 100%;
    background: #fff;
    color: #000;
    padding: 48px 200px;
    font-size: 13pt;
    line-height: 18pt;
}

.job-info__textbox_inner {
    overflow-y: scroll;
    max-height: 400px;
}

.job-info__textbox h3 {
    font-family: DINEngschriftLTPro;
    font-size: 30pt;
    font-weight: 300;
    letter-spacing: 3px;
    margin-bottom: 0;
    position: relative;
    text-transform: uppercase;
    margin-top: 0;
    line-height: initial;
}

.job-info__textbox_inner h4 {
    font-family: DINEngschriftLTPro;
    font-size: 20pt;
    font-weight: 300;
    letter-spacing: 3px;
    margin: 0;
    position: relative;
    text-transform: uppercase;
    margin-bottom: .3rem;
}

.job-list__link {
    color: black;
    text-decoration: none;
}

.job-list__item {
    display: flex;
    flex-direction: row;
    padding: 0.8rem 0;
    border-bottom: #7e7e7e 1px solid;
  }
  
  .job-list__item:first-child {
    border-top: #7e7e7e 1px solid;
  }
  

.job-list__infos_wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.job-list__infos {
    flex-direction: row;
    display: flex;
}

.job-list__infos .location::before {
    content: "";
    background: url('https://q-gastro.com/wp-content/uploads/2023/07/Ort.svg') no-repeat center/10px;
    position: absolute;
    width: 10px;
    height: 20px;
    left: -14px;
    top: 50%;
    transform: translateY(-57%);
}

.job-list__infos .date::before {
    content: "";
    background: url('https://q-gastro.com/wp-content/uploads/2023/07/Kalender.svg') no-repeat center/14px;
    position: absolute;
    width: 15px;
    height: 20px;
    left: -20px;
    top: 50%;
    transform: translateY(-57%);
}

.job-list__infos .position::before {
    content: "";
    background: url('https://q-gastro.com/wp-content/uploads/2023/07/Uhr.svg') no-repeat center/15px;
    position: absolute;
    width: 15px;
    height: 20px;
    left: -18px;
    top: 50%;
    transform: translateY(-57%);
  }

.job-list__infos p {
    position: relative;
    margin: 0;
    margin-right: 1.5rem;
    margin-left: 1rem;
    font-size: 12pt;
    opacity: 50%;
    line-height: inherit;
}

.job-list__button {
    appearance: none;
    background-color: #0e2243;
    border: 1px solid #0e2243;
    border-radius: 6px;
    padding: 0.3rem 0.6rem 0.2rem .6rem;
    color: white;
    cursor: pointer;
    transition: all .3s;
    text-decoration: none;

}

a.job-list__button {
    color: white;
}

.job-list__link:hover .job-list__button {
    border: 1px solid #7e7e7e;
    background-color: transparent;
    color: #7e7e7e;
    transition: all .3s;
}

.job-list__button:hover {
    border: 1px solid #7e7e7e;
    background-color: transparent;
    color: #7e7e7e;
    transition: all .3s;
}

.job-list__button_wrapper {
    display: flex;
    flex: 1;
    justify-content: end;
    align-self: center;

}

.justus .job-list__button {
    appearance: none;
    background-color:  rgb(15, 70, 130);
    border: 1px solid rgb(15, 70, 130);
    border-radius: 6px;
    padding: 0.3rem 0.6rem 0.2rem .6rem;
    color: white;
    cursor: pointer;
    transition: all .3s;
    text-decoration: none;

}

.justus a.job-list__button {
    color: white;
}

.justus .job-list__link:hover .job-list__button {
    border: 1px solid rgb(15, 70, 130);
    background-color: transparent;
    color: rgb(15, 70, 130);
    transition: all .3s;
}

.justus .job-list__button:hover {
    border: 1px solid rgb(15, 70, 130);
    background-color: transparent;
    color: rgb(15, 70, 130);
    transition: all .3s;
}

@media only screen and (max-width: 767px) {
    .job-info__textbox {
        padding: 19px 40px 40px 40px;
        width: calc(100% - 80px);
    }

    .job-info__filter {
        flex-direction: column;
        text-align: center;
    }

    .job-info__textbox h3 {
        text-align: center;
    }

    .job-info__textbox_inner {
        max-height: 430px;
    }

    .job-list__item {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
    }

    .size-job-thumbnail {
        margin-bottom: 1.5rem;
        margin-right: 0;
    }

    .job-list__infos {
        margin-bottom: 1rem;
        align-items: center;
    }

}


/* Job List Style END */

.imprint {
    line-height: 18pt
}

.imprint h2 {
    color: #fff;
    font-family: DINEngschriftLTPro;
    font-size: 24pt;
    font-weight: 300;
    letter-spacing: 3px;
    margin: 0;
    padding: 60px 0 60px;
    position: relative;
    text-align: center;
    text-transform: uppercase
}

.imprint .content {
    margin: 0 auto 60px;
    width: 600px
}

.imprint .content h3 {
    color: #fff;
    font-family: DINEngschriftLTPro;
    font-size: 18pt;
    font-weight: 300;
    letter-spacing: 3px;
    margin: 0;
    padding: 60px 0 60px;
    position: relative;
    text-align: center;
    text-transform: uppercase
}

.imprint .content a {
    color: #9C6FAE;
    position: relative;
    text-decoration: none;
    transition: color .4s ease-in-out
}

.imprint .content a::before {
    background: #9C6FAE;
    content: '';
    position: absolute;
    transform-origin: left;
    transform: scaleX(0);
    transition: transform 0.4s ease-in-out;
    height: 2px;
    bottom: -2px;
    left: -2px;
    right: -2px
}

.imprint .content a:hover {
    color: #fff
}

.imprint .content a:hover::before {
    transform: scaleX(1)
}

* {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

html,
body {
    background: #000;
    color: #fff;
    font-family: sans-serif;
    margin: 0;
    padding: 0;
    scroll-behavior: smooth
}

.container {
    margin: 0 auto;
    max-width: 1300px
}

::-webkit-scrollbar-track {
    background-color: #000
}

::-webkit-scrollbar {
    width: 6px;
    height: 6px;
    background-color: #000
}

::selection {
    background: #ccc
}

body::-webkit-scrollbar-thumb {
    background-color: #fff
}

body.riva .colored-bg {
    background: #F18815
}

body.riva::-webkit-scrollbar-thumb {
    background-color: #F18815
}

body.riva ::selection {
    background: #F18815;
    color: #fff
}

body.justus .colored-bg {
    background:  rgb(15, 70, 130);
}

body.justus::-webkit-scrollbar-thumb {
    background-color:  rgb(15, 70, 130);
}

body.justus ::selection {
    background:  rgb(15, 70, 130);
    color: #fff
}

body.neo-bremen .colored-bg {
    background:  #636c3e;
}

body.neo-bremen::-webkit-scrollbar-thumb {
    background-color:  #636c3e;
}

body.neo-bremen ::selection {
    background:  #636c3e;
    color: #fff
}

body.q-career .colored-bg {
    background:  #0e2243;
}

body.q-career::-webkit-scrollbar-thumb {
    background-color:  #0e2243;
}

body.q-career ::selection {
    background:  #0e2243;
    color: #fff
}

body.events .colored-bg {
    background:  #4d59a4;
}

body.events::-webkit-scrollbar-thumb {
    background-color:  #4d59a4;
}

body.events ::selection {
    background:  #4d59a4;
    color: #fff
}

body.deck20 .colored-bg {
    background: #B2927A
}

body.deck20::-webkit-scrollbar-thumb {
    background-color: #B2927A
}

body.deck20 ::selection {
    background: #B2927A;
    color: #fff
}

body.q1 .colored-bg {
    background: #9C6FAE
}

body.q1::-webkit-scrollbar-thumb {
    background-color: #9C6FAE
}

body.q1 ::selection {
    background: #9C6FAE;
    color: #fff
}

body.justus .colored-bg {
    background: #0e4782
}

body.justus::-webkit-scrollbar-thumb {
    background-color: #0e4782
}

body.justus ::selection {
    background: #0e4782;
    color: #fff
}

body.foodbox .colored-bg,
body.foodbox-pusdorf .colored-bg,
body.foodbox-studio .colored-bg {
    background: #FAA401
}

body.foodbox::-webkit-scrollbar-thumb,
body.foodbox-pusdorf::-webkit-scrollbar-thumb,
body.foodbox-studio::-webkit-scrollbar-thumb {
    background-color: #FAA401
}

body.foodbox::selection,
body.foodbox-pusdorf::selection,
body.foodbox-studio::selection {
    background: #FAA401;
    color: #fff
}

body.heizwerk .colored-bg {
    background: #e84936
}

body.heizwerk::-webkit-scrollbar-thumb {
    background-color: #e84936
}

body.heizwerk ::selection {
    background: #e84936;
    color: #fff
}

body.q-catering .colored-bg {
    background: #8c9091
}

body.q-catering::-webkit-scrollbar-thumb {
    background-color: #8c9091
}

body.q-catering ::selection {
    background: #8c9091;
    color: #fff
}

.menu-subtitle {
    display: flex;
    justify-content: space-evenly;
    width: 100%;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.menu-subtitle span {
    color: rgba(0, 0, 0, 0.7);
    display: block;
    font-family: DINEngschriftLTPro;
    font-size: 12pt;
    font-weight: 300;
    letter-spacing: 2px;
    margin: 0;
    position: relative;
    text-decoration: none;
    text-transform: uppercase;
    transition: color .4s ease-in-out, background .4s ease-in-out;
    z-index: 2;
    text-align: center;
    padding: 0;
}

.menu-subtitle::before {
    content: " ";
    display: block;
    height: 6px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.7);
    ;
    width: 32px;
    margin-right: 1rem;
}

.menu-subtitle::after {
    content: " ";
    display: block;
    height: 6px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.7);
    ;
    width: 32px;
    margin-left: 1rem;
}

.footer-content-info .footer-nav ul li a:hover {
    text-decoration: underline;
}

body.tresor .colored-bg { background: #124734; }

@media only screen and (max-width: 767px) {

    .overlay-content {

        /* display: flex;
        flex-direction: column;

        align-items: center;
        justify-content: center; */

        width: 100%;
        height: auto;

    }

    .overlay-content #primary-slider {

        width: 100%;
        height: calc(100% - 200px);
        
    }

}

/* 2020 */

.header .togo-menu {
    background: #fff;
    color: #000;
    font-family: DINEngschriftLTPro;
    font-size: 12pt;
    font-weight: 300;
    letter-spacing: 2px;
    list-style: none;
    padding: 12px;
    position: absolute;
    text-transform: uppercase;
    transform: translateY(-50%);
    top: 50%;
    left: 24px;
    z-index: 2
}

@media only screen and (max-width: 767px) {
    .header .togo-menu {
        display: none !important;
    }
}

.header .togo-menu li.headline,
.header .togo-menu li a {
    border-bottom: 0;
    display: block;
    color: #000;
    padding: 12px 12px !important;
    text-decoration: none;
    transition: color .4s ease-in-out
}

.header .togo-menu li:first-child.headline,
.header .togo-menu li:first-child a {
    padding-top: 0
}

.header .togo-menu li:nth-child(2) {
    display: none;
}

.header .togo-menu li:last-child a {
    border-bottom: 0;
    padding-bottom: 0
}

.header .togo-menu li.headline {
    border-bottom: 0
}

.header .togo-menu li.headline.riva {
    color: #F18815
}

.header .togo-menu li.headline.deck20 {
    color: #B2927A
}

.header .togo-menu li.headline.q1 {
    color: #9C6FAE
}

.header .togo-menu li.headline.justus {
    color: #0e4782
}

.header .togo-menu li.headline.neo-bremen {
    color: #636c3e
}

.header .togo-menu li.headline.q-career {
    color: #0e4782
}

.header .togo-menu li.headline.events {
    color: #4d59a4
}

.header .togo-menu li.headline.foodbox {
    color: #FAA401
}

.header .togo-menu li.headline.heizwerk {
    color: #e84936
}

.header .togo-menu li a:hover.riva {
    color: #F18815
}

.header .togo-menu li a:hover.deck20 {
    color: #B2927A
}

.header .togo-menu li a:hover.q1 {
    color: #9C6FAE
}

.header .togo-menu li a:hover.justus {
    color: #0e4782
}

.header .togo-menu li a:hover.neo-bremen {
    color: #636c3e
}

.header .togo-menu li a:hover.q-career {
    color: #0e4782
}

.header .togo-menu li a:hover.events {
    color: #4d59a4
}

.header .togo-menu li a:hover.foodbox {
    color: #FAA401
}

.header .togo-menu li a:hover.heizwerk {
    color: #e84936
}

.wpforms-field-label {
    display: none;
}

.contact-form__message-wrapper {
    background-color: rgba(0, 0, 0, .8);
    display: flex;
    opacity: 1;
    pointer-events: all;
    position: fixed;
    transition: opacity .4s ease-in-out;
    z-index: 46000;

    align-items: center;
    justify-content: center;

    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.contact-form__message-wrapper.hidden {
    opacity: 0;
    pointer-events: none;
}

.contact-form__message {
    background-color: #fff;
    display: flex;
    flex-direction: column;
    color: #000;
    padding: 24px;
    max-width: 480px;

    align-items: center;
    justify-content: center;
}

.contact-form__message h2 {
    margin: 0;
}

.contact-form__message svg {
    margin: 0 auto 48px;
    width: 50%;

    align-self: center;
}

.contact-form__message button {
    background: #ccc;
    border: 0;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-family: DINEngschriftLTPro;
    font-size: 12pt;
    margin: 12px 0 0;
    outline: none;
    padding: 8px 32px 4px;
    text-transform: uppercase;

    align-self: center;
}

.available-menus-mobile {
    display: none;
}

.buttons.riva:hover,
.buttons.deck20:hover,
.buttons.q1:hover,
.buttons.justus:hover,
.buttons.neo-bremen:hover,
.buttons.q-career:hover,
.buttons.events:hover,
.buttons.heizwerk:hover,
.buttons.q-catering:hover,
.buttons.foodbox:hover,
.buttons.foodbox-pusdorf:hover,
.buttons.foodbox-studio:hover {
    appearance: none;
    background: none;
    color: black;
    border: 1px solid black;
}

.buttons.riva {
    background: #F18815;
    border: 1px solid #F18815;
    color: white;

    cursor: pointer;
    padding: 0.3rem 0.6rem 0.2rem .6rem;
    text-align: center;
    text-decoration: none;
    transition: all .4s ease-in-out;
}

.buttons.riva-clubraum {
    background: #F18815;
    border: 1px solid #F18815;
    color: white;

    cursor: pointer;
    padding: 0.3rem 0.6rem 0.2rem .6rem;
    text-align: center;
    text-decoration: none;
    transition: all .4s ease-in-out;
}

.buttons.deck20 {
    background: #B2927A;
    border: 1px solid #B2927A;
    color: white;

    cursor: pointer;
    padding: 0.3rem 0.6rem 0.2rem .6rem;
    text-align: center;
    text-decoration: none;
    transition: all .4s ease-in-out;
}

.buttons.q1 {
    background: #9C6FAE;
    border: 1px solid #9C6FAE;
    color: white;

    cursor: pointer;
    padding: 0.3rem 0.6rem 0.2rem .6rem;
    text-align: center;
    text-decoration: none;
    transition: all .4s ease-in-out;
}

.buttons.justus {
    background: #0e4782;
    border: 1px solid #0e4782;
    color: white;

    cursor: pointer;
    padding: 0.3rem 0.6rem 0.2rem .6rem;
    text-align: center;
    text-decoration: none;
    transition: all .4s ease-in-out;
}

.buttons.neo-bremen {
    background: #636c3e;
    border: 1px solid #636c3e;
    color: white;

    cursor: pointer;
    padding: 0.3rem 0.6rem 0.2rem .6rem;
    text-align: center;
    text-decoration: none;
    transition: all .4s ease-in-out;
}

.buttons.q-career {
    background: #0e2243;
    border: 1px solid #0e2243;
    color: white;

    cursor: pointer;
    padding: 0.3rem 0.6rem 0.2rem .6rem;
    text-align: center;
    text-decoration: none;
    transition: all .4s ease-in-out;
}

.buttons.events {
    background: #4d59a4;
    border: 1px solid #4d59a4;
    color: white;

    cursor: pointer;
    padding: 0.3rem 0.6rem 0.2rem .6rem;
    text-align: center;
    text-decoration: none;
    transition: all .4s ease-in-out;
}

.buttons.heizwerk {
    background: #e84936;
    border: 1px solid #e84936;
    color: white;

    cursor: pointer;
    padding: 0.3rem 0.6rem 0.2rem .6rem;
    text-align: center;
    text-decoration: none;
    transition: all .4s ease-in-out;
}

.buttons.q-catering {
    background: #8c9091;
    border: 1px solid #8c9091;
    color: white;

    cursor: pointer;
    padding: 0.3rem 0.6rem 0.2rem .6rem;
    text-align: center;
    text-decoration: none;
    transition: all .4s ease-in-out;
}

.buttons.foodbox {
    background: #FAA401;
    border: 1px solid #FAA401;
    color: white;

    cursor: pointer;
    padding: 0.3rem 0.6rem 0.2rem .6rem;
    text-align: center;
    text-decoration: none;
    transition: all .4s ease-in-out;
}

.buttons.foodbox-pusdorf {
    background: #FAA401;
    border: 1px solid #FAA401;
    color: white;

    cursor: pointer;
    padding: 0.3rem 0.6rem 0.2rem .6rem;
    text-align: center;
    text-decoration: none;
    transition: all .4s ease-in-out;
}

.buttons.foodbox-studio {
    background: #FAA401;
    border: 1px solid #FAA401;
    color: white;

    cursor: pointer;
    padding: 0.3rem 0.6rem 0.2rem .6rem;
    text-align: center;
    text-decoration: none;
    transition: all .4s ease-in-out;
}

@media only screen and (max-width: 767px) {
    .available-menus-mobile {
        background: #fff;
        display: flex;
        flex-direction: column;
        list-style: none;
        margin: 0;
        padding: 12px;
        text-align: center;
    }

    .gastro h2 {
        padding: 30px 0 30px
    }

    .available-menus-mobile .headline {
        color: #000;
        font-family: DINEngschriftLTPro;
        font-size: 12pt;
        font-weight: 300;
        letter-spacing: 2px;
        text-transform: uppercase;
    }

    .available-menus-mobile li {
        padding: 0 0 12px;
    }
    .available-menus-mobile li:last-of-type {
        padding: 0;
    }
    .available-menus-mobile li a {
        color: #000;
        text-decoration: none;
    }
    .available-menus-mobile li img {
        margin: 48px 0 0;
        max-width: 50%;
    }
}

.justus-opening {
    position: absolute;

    width: 13vw;
    height: 18vw;

    top: 8vh;
    right: 18vh;
}

.header_icon {
    position: absolute;

    width: 13vw;
    height: auto;

    top: 9vh;
    right: 21vh;
	transform: rotate(10deg);
}

@media only screen and (max-width: 767px) {
    .justus-opening {
        width: 30vw;
		height: 30vw;
		
		top: 59%;
        left: 24px;
    }
	.header_icon {
		width: 30vw;
		height: auto;
		
		top: 59%;
        left: 24px;
	}
}

/* =================
/** FAQ
================== */
.faq__wrapper {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 60px 0 0 0;
}

/* ITEM */
.faq__item {
    position: relative;
    background: #f3f3f3;
}

/* TRIGGER */
.faq__trigger {
    width: 100%;
    background: transparent;
    border: 0;
    padding: 28px 100px 0 40px;
    display: block;
    text-align: left;
    cursor: pointer;
}

/* HEADLINE (24pt ≈ 32px) */
.faq__question {
    display: block;
    color: #000;
    font-size: 24pt;
    font-family: "DINEngschriftLTPro";
    text-transform: uppercase;
    margin-bottom: 20px;
}

/* TRENNLINIE (nur wenn offen) */
.faq__trigger::after {
    content: '';
    display: block;
    width: 70%;
    height: 2px;
    background: black;
    opacity: 0;
    transition: opacity 0.2s ease;
}

.faq__item.is-open .faq__trigger::after {
    opacity: 1;
}

/* ICON (rechts oben) */
.faq__icon {
    position: absolute;
    top: 24px;
    right: 32px;
    width: 45px;
    height: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.faq__icon::after {
    content: '';
    background: url('/wp-content/themes/qgastro/assets/img/arrow-faq.svg') no-repeat center/45px;
    width: 45px;
    height: 45px;
    display: block;
}

/* ICON ROTATION */
.faq__item.is-open .faq__icon {
    transform: rotate(180deg);
}

/* CONTENT (ANIMATION BASIS) */
.faq__content {
    overflow: hidden;
    max-height: 0;
    transition: all 0.35s ease;
    padding: 0 40px;
}

/* CONTENT OFFEN */
.faq__item.is-open .faq__content {
    padding: 20px 40px 28px;
}

/* TEXT */
.faq__answer {
    font-size: 18px;
    line-height: 1.5;
    color: #111;
}

.faq__answer > :first-child {
    margin-top: 0;
}

.faq__answer > :last-child {
    margin-bottom: 0;
}

/* RESPONSIVE */

@media (max-width: 991px) {
    .faq__trigger {
        padding: 24px 80px 0 24px;
    }

    .faq__question {
        font-size: 22px;
    }

   .faq__icon {
        width: 35px;
        height: 35px;
        right: 16px;
        top: 18px;
    }

    .faq__icon::after {
        content: '';
        background: url('/wp-content/themes/qgastro/assets/img/arrow-faq.svg') no-repeat center/35px;
        width: 35px;
        height: 35px;
        display: block;
    }

    .faq__content {
        padding: 0 24px;
    }

    .faq__item.is-open .faq__content {
        padding: 18px 24px 24px;
    }

    .faq__answer {
        font-size: 16px;
    }
}

@media (max-width: 575px) {
    .faq__trigger {
        padding: 20px 70px 0 20px;
    }

    .faq__question {
        font-size: 22px;
    }

    .faq__icon {
        width: 30px;
        height: 30px;
    }

    .faq__icon::after {
        content: '';
        background: url('/wp-content/themes/qgastro/assets/img/arrow-faq.svg') no-repeat center/30px;
        width: 30px;
        height: 30px;
        display: block;
    }

    .faq__content {
        padding: 0 20px;
    }

    .faq__item.is-open .faq__content {
        padding: 16px 20px 20px;
    }
}