/* site.css */
/* COMMON */
* {
    box-sizing: border-box;
    font-family: 'Inter-Regular', 'sans';
}

::selection {
    color: white;
    background: rgba(127, 127, 255);
}

html, body, div, h1, h2, h3, h4, h5, h6, form {
    margin: 0px;
    padding: 0px;
}

html {
    height: 100%;
}

body {
    position: relative;
    width: 100%;
    height: 100%;
    background-color: white;
    font-family: 'Inter-Regular';
}

input:focus, select:focus, textarea:focus {
    outline: none;
}

a, a:visited {
    color: #1a1a1a;
}

.container {
    display: block;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
}

.button {
    cursor: pointer;
    user-select: none;
}

.bold {
    font-weight: bold;
}

.hidden {
    display: none !important;
}

.invisible {
    visibility: hidden;
}

.center {
    text-align: center;
}

.flex {
    display: flex;
}

.left {
    text-align: left;
}

.right {
    text-align: right;
}

.red {
    color: red;
}

.rh2-row {
    width: 100%;
}

.rh2-row-fw {
    width: 100%;
}

.rh2-row-pw {
    width: 100%;
    max-width: 1280px;
    margin: auto;
}

.rh2-row-fh {
    height: 100%;
}

.rh2-row::after {
    content: ' ';
    display: block;
    height: 0px;
    clear: both;
}

.rh2-row-fw::after {
    content: ' ';
    display: block;
    height: 0px;
    clear: both;
}

.rh2-row-pw::after {
    content: ' ';
    display: block;
    height: 0px;
    clear: both;
}

/*
0
1 2 3 4 5 6
7 8 9 A B C
D E F G H I
J K L M N P
*/
.rh2-col {
    float: left;
    min-height: 1px;
}

.rh2-w-0 {
    width: 0.0000%;
}

.rh2-w-1 {
    width: 4.1666%;
}

.rh2-w-2 {
    width: 8.3333%;
}

.rh2-w-3 {
    width: 12.5000%;
}

.rh2-w-4 {
    width: 16.6666%;
}

.rh2-w-5 {
    width: 20.8333%;
}

.rh2-w-6 {
    width: 25.0000%;
}

.rh2-w-7 {
    width: 29.1666%;
}

.rh2-w-8 {
    width: 33.3333%;
}

.rh2-w-9 {
    width: 37.5000%;
}

.rh2-w-A {
    width: 41.6666%;
}

.rh2-w-B {
    width: 45.8333%;
}

.rh2-w-C {
    width: 50.0000%;
}

.rh2-w-D {
    width: 54.1666%;
}

.rh2-w-E {
    width: 58.3333%;
}

.rh2-w-F {
    width: 62.5000%;
}

.rh2-w-G {
    width: 66.6666%;
}

.rh2-w-H {
    width: 70.8333%;
}

.rh2-w-I {
    width: 75.0000%;
}

.rh2-w-J {
    width: 79.1666%;
}

.rh2-w-K {
    width: 83.3333%;
}

.rh2-w-L {
    width: 87.5000%;
}

.rh2-w-M {
    width: 91.6666%;
}

.rh2-w-N {
    width: 95.8333%;
}

.rh2-w-P {
    width: 100.0000%;
}

.rh2-h-0 {
    height: 0.0000%;
}

.rh2-h-1 {
    height: 4.1666%;
}

.rh2-h-2 {
    height: 8.3333%;
}

.rh2-h-3 {
    height: 12.5000%;
}

.rh2-h-4 {
    height: 16.6666%;
}

.rh2-h-5 {
    height: 20.8333%;
}

.rh2-h-6 {
    height: 25.0000%;
}

.rh2-h-7 {
    height: 29.1666%;
}

.rh2-h-8 {
    height: 33.3333%;
}

.rh2-h-9 {
    height: 37.5000%;
}

.rh2-h-A {
    height: 41.6666%;
}

.rh2-h-B {
    height: 45.8333%;
}

.rh2-h-C {
    height: 50.0000%;
}

.rh2-h-D {
    height: 54.1666%;
}

.rh2-h-E {
    height: 58.3333%;
}

.rh2-h-F {
    height: 62.5000%;
}

.rh2-h-G {
    height: 66.6666%;
}

.rh2-h-H {
    height: 70.8333%;
}

.rh2-h-I {
    height: 75.0000%;
}

.rh2-h-J {
    height: 79.1666%;
}

.rh2-h-K {
    height: 83.3333%;
}

.rh2-h-L {
    height: 87.5000%;
}

.rh2-h-M {
    height: 91.6666%;
}

.rh2-h-N {
    height: 95.8333%;
}

.rh2-h-P {
    height: 100.0000%;
}

@media (max-width: 481px) {
    .rh2-col-s {
        float: left;
        min-height: 1px;
    }

    .rh2-w-0-s {
        width: 0.0000%;
    }

    .rh2-w-1-s {
        width: 4.1666%;
    }

    .rh2-w-2-s {
        width: 8.3333%;
    }

    .rh2-w-3-s {
        width: 12.5000%;
    }

    .rh2-w-4-s {
        width: 16.6666%;
    }

    .rh2-w-5-s {
        width: 20.8333%;
    }

    .rh2-w-6-s {
        width: 25.0000%;
    }

    .rh2-w-7-s {
        width: 29.1666%;
    }

    .rh2-w-8-s {
        width: 33.3333%;
    }

    .rh2-w-9-s {
        width: 37.5000%;
    }

    .rh2-w-A-s {
        width: 41.6666%;
    }

    .rh2-w-B-s {
        width: 45.8333%;
    }

    .rh2-w-C-s {
        width: 50.0000%;
    }

    .rh2-w-D-s {
        width: 54.1666%;
    }

    .rh2-w-E-s {
        width: 58.3333%;
    }

    .rh2-w-F-s {
        width: 62.5000%;
    }

    .rh2-w-G-s {
        width: 66.6666%;
    }

    .rh2-w-H-s {
        width: 70.8333%;
    }

    .rh2-w-I-s {
        width: 75.0000%;
    }

    .rh2-w-J-s {
        width: 79.1666%;
    }

    .rh2-w-K-s {
        width: 83.3333%;
    }

    .rh2-w-L-s {
        width: 87.5000%;
    }

    .rh2-w-M-s {
        width: 91.6666%;
    }

    .rh2-w-N-s {
        width: 95.8333%;
    }

    .rh2-w-P-s {
        width: 100.0000%;
    }
}

@media (max-width: 769px) {
    .rh2-w-0-m {
        width: 0.0000%;
    }

    .rh2-w-1-m {
        width: 4.1666%;
    }

    .rh2-w-2-m {
        width: 8.3333%;
    }

    .rh2-w-3-m {
        width: 12.5000%;
    }

    .rh2-w-4-m {
        width: 16.6666%;
    }

    .rh2-w-5-m {
        width: 20.8333%;
    }

    .rh2-w-6-m {
        width: 25.0000%;
    }

    .rh2-w-7-m {
        width: 29.1666%;
    }

    .rh2-w-8-m {
        width: 33.3333%;
    }

    .rh2-w-9-m {
        width: 37.5000%;
    }

    .rh2-w-A-m {
        width: 41.6666%;
    }

    .rh2-w-B-m {
        width: 45.8333%;
    }

    .rh2-w-C-m {
        width: 50.0000%;
    }

    .rh2-w-D-m {
        width: 54.1666%;
    }

    .rh2-w-E-m {
        width: 58.3333%;
    }

    .rh2-w-F-m {
        width: 62.5000%;
    }

    .rh2-w-G-m {
        width: 66.6666%;
    }

    .rh2-w-H-m {
        width: 70.8333%;
    }

    .rh2-w-I-m {
        width: 75.0000%;
    }

    .rh2-w-J-m {
        width: 79.1666%;
    }

    .rh2-w-K-m {
        width: 83.3333%;
    }

    .rh2-w-L-m {
        width: 87.5000%;
    }

    .rh2-w-M-m {
        width: 91.6666%;
    }

    .rh2-w-N-m {
        width: 95.8333%;
    }

    .rh2-w-P-m {
        width: 100.0000%;
    }
}

@media (max-width: 1024px) {
    .rh2-w-0-l {
        width: 0.0000%;
    }

    .rh2-w-1-l {
        width: 4.1666%;
    }

    .rh2-w-2-l {
        width: 8.3333%;
    }

    .rh2-w-3-l {
        width: 12.5000%;
    }

    .rh2-w-4-l {
        width: 16.6666%;
    }

    .rh2-w-5-l {
        width: 20.8333%;
    }

    .rh2-w-6-l {
        width: 25.0000%;
    }

    .rh2-w-7-l {
        width: 29.1666%;
    }

    .rh2-w-8-l {
        width: 33.3333%;
    }

    .rh2-w-9-l {
        width: 37.5000%;
    }

    .rh2-w-A-l {
        width: 41.6666%;
    }

    .rh2-w-B-l {
        width: 45.8333%;
    }

    .rh2-w-C-l {
        width: 50.0000%;
    }

    .rh2-w-D-l {
        width: 54.1666%;
    }

    .rh2-w-E-l {
        width: 58.3333%;
    }

    .rh2-w-F-l {
        width: 62.5000%;
    }

    .rh2-w-G-l {
        width: 66.6666%;
    }

    .rh2-w-H-l {
        width: 70.8333%;
    }

    .rh2-w-I-l {
        width: 75.0000%;
    }

    .rh2-w-J-l {
        width: 79.1666%;
    }

    .rh2-w-K-l {
        width: 83.3333%;
    }

    .rh2-w-L-l {
        width: 87.5000%;
    }

    .rh2-w-M-l {
        width: 91.6666%;
    }

    .rh2-w-N-l {
        width: 95.8333%;
    }

    .rh2-w-P-l {
        width: 100.0000%;
    }
}

@media (min-width: 1024px) {
    .rh2-w-0-h {
        width: 0.0000%;
    }

    .rh2-w-1-h {
        width: 4.1666%;
    }

    .rh2-w-2-h {
        width: 8.3333%;
    }

    .rh2-w-3-h {
        width: 12.5000%;
    }

    .rh2-w-4-h {
        width: 16.6666%;
    }

    .rh2-w-5-h {
        width: 20.8333%;
    }

    .rh2-w-6-h {
        width: 25.0000%;
    }

    .rh2-w-7-h {
        width: 29.1666%;
    }

    .rh2-w-8-h {
        width: 33.3333%;
    }

    .rh2-w-9-h {
        width: 37.5000%;
    }

    .rh2-w-A-h {
        width: 41.6666%;
    }

    .rh2-w-B-h {
        width: 45.8333%;
    }

    .rh2-w-C-h {
        width: 50.0000%;
    }

    .rh2-w-D-h {
        width: 54.1666%;
    }

    .rh2-w-E-h {
        width: 58.3333%;
    }

    .rh2-w-F-h {
        width: 62.5000%;
    }

    .rh2-w-G-h {
        width: 66.6666%;
    }

    .rh2-w-H-h {
        width: 70.8333%;
    }

    .rh2-w-I-h {
        width: 75.0000%;
    }

    .rh2-w-J-h {
        width: 79.1666%;
    }

    .rh2-w-K-h {
        width: 83.3333%;
    }

    .rh2-w-L-h {
        width: 87.5000%;
    }

    .rh2-w-M-h {
        width: 91.6666%;
    }

    .rh2-w-N-h {
        width: 95.8333%;
    }

    .rh2-w-P-h {
        width: 100.0000%;
    }
}

/* Utilities */

.rh2-form-input-invalid {
    border: 1px solid #f00 !important;
}

.rh2-clickable {
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}

@media (min-width: 770px) {
    .rh2-hide-on-desktop {
        display: none;
    }
}

@media (max-width: 769px) {
    .rh2-hide-on-mobile {
        display: none;
    }
}

/* Fragment */
.rh2-fragment-manager {
    position: relative;
    width: 100%;
    height: 100%;
}

.rh2-fragment {
    width: 100%;
}

@media (max-width: 769px) {
    .rh2-fragment {
        padding-bottom: 60px;
    }
}

.rh2-page-dialogue-overlay.rh2-page-dialogue-overlay-active {
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background-color: hsla(15, 0%, 20%, 0.5);
    z-index: 100;
}

.rh2-page-dialogue {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 240px;
    max-width: 320px;
    transform: translate(-50%, -50%);
    background-color: white;
    border: 1px solid #f94306;
    border-radius: 8px;
}

.rh2-page-dialogue-title {
    padding: 8px;
    border-bottom: 1px solid #f94306;
}

.rh2-page-dialogue-body {
    min-height: 160px;
    padding: 8px;
    text-align: center;
}

.rh2-page-dialogue-footer {
    width: 100%;
}

.rh2-page-dialogue-button {
    display: block;
    float: right;
    min-width: 48px;
    margin-top: 8px;
    margin-right: 8px;
    margin-bottom: 8px;
    padding: 4px;
    font-size: 14px;
    text-align: center;
    background-color: #f94306;
    color: white;
    border: 1px solid #f94306;
    border-radius: 4px;
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}

/* Home */

.rh2-home-row-0 {
    position: relative;
}

.rh2-home-row-0-col-right {
    float: right;
    padding: 12px;
}

.rh2-home-row-0-col-left {
    float: left;
    padding: 12px;
}

.rh2-home-row-1-col-left {
    padding: 12px;
}

.rh2-home-row-1-col-right {
    padding: 12px;
}

/* BEGIN HEADER */

.rh2-header {
    margin-bottom: 20px;
}

.rh2-header.desktop {
    /* if no dsp/search bar, header height is 0 because top part is fixed */
    min-height: 100px;
}

.rh2-header.desktop .container {
    min-width: 960px;
}

.rh2-header-top {
    position: fixed;
    top: 0px;
    width: 100%;
    height: 100px;
    background-color: white;
    z-index: 20;
}

.rh2-header-top .container {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.rh2-header-logo {
    display: inline-block;
    width: 260px;
    height: 50px;
    background-image: url('/rh2/static/image/logo-2x.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    text-indent: -1000em;
}

.rh2-header-area {
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 20px;
    justify-content: center;
}

.rh2-header-area.icon {
    display: block;
    width: 32px;
    height: 32px;
    background-image: url('/rh2/static/icon/site/map-point.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-header-area-label {
    color: #F15627;
    font-weight: bold;
    font-size: 20px;
    text-align: center;
}

.area-dropdown-icon {
    display: inline-block;
    width: 24px;
    height: 24px;
    background-image: url('/rh2/static/icon/site/s2-chevron.svg');
    background-size: 24px;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-header-nav {
    height: 100%;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    flex-direction: row;
    justify-content: center;
    gap: 20px;
    font-size: 14px;
}

.rh2-header-nav-item {
    display: inline-block;
    width: 32px;
    height: 32px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -1000em;
}

.rh2-header-nav-item.instagram {
    background-image: url('/rh2/static/icon/site/s2-instagram.svg');
}

.rh2-header-nav-item.facebook {
    background-image: url('/rh2/static/icon/site/s2-facebook.svg');
}

.rh2-header-nav-item.tiktok {
    background-image: url('/rh2/static/icon/site/s2-tiktok.svg');
}

.rh2-header-nav-item.account {
    background-image: url('/rh2/static/icon/site/s2-profile.svg');
    margin-left: 20px;
}

.rh2-header-bottom {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 320px;
    background-image: url('/rh2/static/image/rh/home/header.webp');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    margin-top: 100px;
    /* top part is fixed */
}

.rh2-header-form {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    height: 100px;
    background-color: white;
    border: solid 1px black;
    border-radius: 32px;
    padding: 0 40px;
}

.rh2-header-dsp {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    flex-grow: 1;
}

.rh2-header-dsp .dsp-select {
    flex: 1;
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
}

.dsp-date-icon, .dsp-session-icon, .dsp-pax-icon {
    display: inline-block;
    width: 24px;
    height: 24px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.dsp-date-icon {
    background-image: url('/rh2/static/icon/site/s2-pdt-calendar.svg');
}

.dsp-session-icon {
    background-image: url('/rh2/static/icon/site/s2-pdt-time.svg');
}

.dsp-pax-icon {
    background-image: url('/rh2/static/icon/site/s2-pdt-pax.svg');
}

.dsp-date-label, .dsp-session-label, .dsp-pax-label {
    font-size: 18px;
    font-weight: bold;
    white-space: nowrap;
}

.dsp-select-icon {
    display: inline-block;
    width: 24px;
    height: 24px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url('/rh2/static/icon/site/s2-dropdown.svg');
}

.dsp-date-dropdown, .dsp-session-dropdown, .dsp-pax-dropdown {
    position: absolute;
    top: 61px;
    left: 0;
    background: white;
    padding: 16px;
    min-width: 100%;
    border: solid 1px black;
    z-index: 20;
}

.dsp-date-dropdown {
    width: 324px;
    height: 350px;
}

.dsp-date-dropdown.rh2-calendar-container {
    width: 324px;
}

.dsp-session-dropdown {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.dsp-session-dropdown .dsp-session-value {
    font-size: 16px;
    font-weight: bold;
    padding: 8px;
    text-align: center;
}

.dsp-session-value.selected {
    background: #ddd;
    border-radius: 16px;
}

.dsp-pax-dropdown {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-height: 333px;
    overflow-y: scroll;
}

.dsp-pax-dropdown .dsp-pax-value {
    font-size: 16px;
    font-weight: bold;
    padding: 8px;
    text-align: center;
}

.dsp-pax-value.selected {
    background: #ddd;
    border-radius: 16px;
}

.rh2-header-search {
    flex-grow: 1;
    display: flex;
    align-items: center;
}

.rh2-header-search-input {
    flex-grow: 1;
    outline: none;
    border: none;
    font-size: 18px;
    padding: 8px;
    padding-left: 48px;
    background-position: 8px center;
    background-repeat: no-repeat;
    background-size: 24px;
    background-image: url('/rh2/static/icon/site/s2-search.svg');
    margin-right: 24px;
    /* fixed space for clear button */
}

.rh2-header-search-clear {
    width: 24px;
    height: 24px;
}

.rh2-header-search-clear .icon {
    display: inline-block;
    width: 100%;
    height: 100%;
    background-image: url('/rh2/static/icon/site/close.svg');
    background-size: 30px;
    /* visual part of icon is smaller than its size  */
    background-position: center;
    background-repeat: no-repeat;
}

.rh2-header-search-input:placeholder-shown {
    font-style: italic;
}

.rh2-header-form-submit {
    display: inline-block;
    font-size: 18px;
    font-weight: bold;
    color: white;
    background-color: #F15627;
    padding: 12px 16px;
    border-radius: 10px;
    white-space: nowrap;
}

/* mobile header adjustments */

.rh2-header.mobile {

    min-height: 70px;

    .rh2-header-top {
        height: 70px;
    }

    .rh2-header-logo {
        width: 256px;
        height: 44px;
        margin: 0;
    }

    .rh2-header-logo.icon {
        width: 44px;
        margin-left: 4px;
        background-image: url('/rh2/static/image/logo-icon-only.png');
    }

    .rh2-header-area-label {
        font-size: 16px;
    }

    .rh2-header-nav {
        width: 50px;
        height: 50px;
        background-image: url('/rh2/static/icon/site/s2-hamburger.svg');
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
    }

    .rh2-header-nav-menu {
        background: white;
        box-shadow: 0px 4px 8px 0px #aaa;
        margin-top: -1px;
        z-index: 20;
    }

    .rh2-header-nav-item {
        display: block;
        width: auto;
        height: auto;
        padding: 20px;
        border-bottom: solid 1px #ccc;
        font-size: 18px;
        font-weight: bold;
        text-underline-offset: 3px;
        text-indent: 0;
    }

    .rh2-header-nav-item.selected {
        color: #f15627;
    }

    .rh2-header-bottom {
        margin: 8px;
        margin-top: 70px;
        height: auto;
        background: white;
    }

    .rh2-header-form {
        height: auto;
        flex-direction: column;
        gap: 20px;
        border: none;
        padding: 0;
        margin: 20px auto;
    }

    .rh2-header-form * {
        font-size: 16px !important;
    }

    .rh2-header-dsp {
        width: 100%;
        gap: 10px;
    }

    .dsp-select {
        flex: auto;
        flex-grow: revert;
        gap: 8px;
        padding: 10px;
    }

    .rh2-header-search {
        width: 100%;
        gap: 10px;
    }

    .rh2-header-search-input {
        min-width: 120px;
        padding: 10px;
        padding-left: 40px;
        border: solid 1px black;
        border-radius: 10px;
        margin: 0;
    }
}

/* END HEADER */

.rh2-home-sections {
    margin: 0;
    padding: 0;
}

.rh2-home-section-intro {
    background-image: url('/rh2/static/image/logo-outline.png');
    background-position: 40px center;
    background-repeat: no-repeat;
    background-size: 94px;
    background-color: #FFA24C;
    color: black;
    padding: 40px;
    padding-left: 174px;
    border-radius: 16px;
    margin: 40px auto;
}

.rh2-home-section-intro h1 {
    font-size: 24px;
    margin-bottom: 8px;
}

.rh2-home-section-intro p {
    font-size: 18px;
    margin: 0;
}

.rh2-home-slider {
    position: relative;
}

.rh2-home-slider-content {
    height: 100%;
    overflow-x: scroll;
    overflow-y: hidden;
    -ms-overflow-style: none;
    scrollbar-width: none;
    scroll-behavior: smooth;
}

.rh2-home-slider-nav-left, .rh2-home-slider-nav-right {
    width: 40px;
    height: 40px;
    position: absolute;
    left: 10px;
    top: calc(50% - 20px);
    background-image: url(/rh2/static/icon/site/back.svg);
    background-size: 40px;
    background-repeat: no-repeat;
    background-position: center;
    border: solid 2px #F15627;
    border-radius: 50%;
    cursor: pointer;
}

.rh2-home-slider-nav-right {
    left: initial;
    right: 10px;
    top: calc(50% - 20px);
    background-image: url(/rh2/static/icon/site/next.svg);
}

.rh2-home-slider::-webkit-scrollbar {
    display: none;
}

.rh2-home-section-available {
    margin-bottom: 60px;
}

.rh2-home-section-available-header {
    margin-bottom: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rh2-home-section-available-title {
    font-family: 'Inter-Bold';
    font-size: 20px;
}

.rh2-home-section-available .rh2-home-slider {
    height: 300px;
}

.rh2-home-section-available-row {
    display: flex;
    gap: 20px;
    height: 100%;
}

.rh2-home-section-cuisines {
    margin-bottom: 40px;
}

.rh2-home-section-cuisines-title {
    font-family: 'Inter-Bold';
    font-size: 20px;
    margin-bottom: 1em;
    padding-left: 40px;
    background-image: url('/rh2/static/icon/site/plate.png');
    background-size: 32px;
    background-position: left center;
    background-repeat: no-repeat;
}

.rh2-home-section-cuisines .rh2-home-slider {
    height: 210px;
}

.rh2-home-section-cuisines-row {
    display: flex;
    flex-wrap: nowrap;
    gap: 20px;
    height: 100%;
}

.rh2-home-section-cuisines .cuisine {
    flex: 0 0 auto;
    width: 150px;
    text-align: center;
}

.rh2-home-section-cuisines .cuisine-img {
    width: 150px;
    height: 150px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border: solid 1px #F15627;
    border-radius: 50%;
    margin: 0 auto 16px;
}

.rh2-home-section-cuisines .cuisine-label {
    font-size: 16px;
    font-weight: bold;
}

.rh2-home-section-hd-banner {
    background-image: url('/rh2/static/icon/bookingform/star-hd-fill-outline.svg');
    background-position: 40px center;
    background-repeat: no-repeat;
    background-size: 90px;
    background-color: #F62451;
    color: white;
    padding: 30px;
    padding-left: 164px;
    border-radius: 16px;
    margin: 40px auto;
}

.rh2-home-section-hd-banner h1 {
    font-size: 20px;
    margin-bottom: 8px;
}

.rh2-home-section-hd-banner p {
    font-size: 18px;
    margin: 0;
}

.rh2-home-section-hotdeals {
    margin-bottom: 60px;
}

.rh2-home-section-hotdeals-header {
    margin-bottom: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rh2-home-section-hotdeals-title {
    font-family: 'Inter-Bold';
    font-size: 20px;
}

.rh2-home-section-hotdeals .rh2-home-slider {
    height: 300px;
}

.rh2-home-section-hotdeals-row {
    display: flex;
    gap: 20px;
    height: 100%;
}

.rh2-home-section-articles {
    margin-bottom: 60px;
}

.rh2-home-section-articles .rh2-home-slider {
    height: 240px;
}

.rh2-home-section-articles-title {
    font-family: 'Inter-Bold';
    font-size: 20px;
    margin-bottom: 1em;
    padding-left: 36px;
    background-image: url('/rh2/static/icon/site/news.svg');
    background-size: 24px;
    background-position: left center;
    background-repeat: no-repeat;
}

.rh2-home-section-articles-row {
    display: flex;
    gap: 24px;
    height: 100%;
}

.rh2-home-section-articles-item {
    height: 100%;
    width: 406px;
    position: relative;
    display: block;
    cursor: pointer;
    flex: 0 0 auto;
}

.rh2-home-section-articles-item-image {
    height: 100%;
    width: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-home-section-articles-item-image img {
    width: 100%;
    height: 100%;
    border-radius: 16px;
    object-fit: cover;
}

.rh2-home-section-articles-item-footer {
    position: absolute;
    bottom: 0px;
    right: 0px;
    padding-top: 8px;
    padding-bottom: 10px;
    padding-left: 8px;
    padding-right: 8px;
    width: 100%;
    background-color: hsla(0, 0%, 100%, 0.80);
}

.rh2-home-section-articles-item-title-row {
    line-height: 24px;
    max-width: 100%;
    overflow: hidden;
    font-family: 'Inter-SemiBold';
    font-size: 20px;
    margin-bottom: 4px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rh2-home-section-articles-item-author-row {
    height: 16px;
    padding-left: 8px;
}

.rh2-home-section-articles-item-author {
    display: inline-block;
    font-family: 'Inter-Regular';
    font-size: 14px;
    text-align: right;
    margin-bottom: 8px;
    padding-right: 8px;
}

.rh2-home-section-articles-item-published-at {
    display: inline-block;
    font-family: 'Inter-Regular';
    font-size: 14px;
    text-align: right;
    margin-bottom: 8px;
    padding-right: 8px;
}

.rh2-home-section-new {
    margin-bottom: 60px;
}

.rh2-home-section-new-header {
    margin-bottom: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rh2-home-section-new-title {
    font-family: 'Inter-Bold';
    font-size: 20px;
}

.rh2-home-section-new .rh2-home-slider {
    height: 300px;
}

.rh2-home-section-new-row {
    display: flex;
    gap: 20px;
    height: 100%;
}

.rh2-home-section-join {
    background-color: #F15627;
    padding: 40px;
    color: white;
    border-radius: 16px;
    font-size: 16px;
    font-weight: bold;
    margin-top: 60px;
}

.rh2-home-section-join-title {
    font-size: 24px;
    font-family: 'Inter-SemiBold';
    margin-bottom: 16px;
}

.rh2-home-section-join-button, .rh2-home-section-join-button:visited {
    display: inline-block;
    color: #F94306;
    font-family: 'Inter-Bold';
    font-size: 16px;
    line-height: 18px;
    padding: 16px;
    background-color: white;
    border-radius: 8px;
    cursor: pointer;
}

/* home sections mobile */

.rh2-home-sections.mobile {
    margin: 0 auto;
    padding-left: 8px;
    padding-right: 8px;

    .rh2-home-section-intro {
        margin: 0 auto 40px;
        padding: 20px;
        background-image: none;
    }

    .rh2-home-section-intro h1 {
        font-size: 24px;
    }

    .rh2-home-section-intro p {
        font-size: 16px;
    }

    .rh2-home-section-cuisines .rh2-home-slider {
        height: 180px;
    }

    .rh2-home-section-cuisines .cuisine {
        width: 120px;
    }

    .rh2-home-section-cuisines .cuisine-img {
        width: 120px;
        height: 120px;
    }

    .rh2-home-section-articles .rh2-home-slider {
        height: 220px;
    }

    .rh2-home-section-articles-row {
        gap: 20px;
    }

    .rh2-home-section-articles-item {
        width: 300px;
    }

    .rh2-home-section-articles-item-title-row {
        line-height: 18px;
        font-size: 18px;
    }

    .rh2-home-section-hd-banner {
        padding: 20px;
        padding-left: 80px;
        background-position: 20px 20px;
        background-size: 48px;
    }

    .rh2-home-section-hd-banner h1 {
        font-size: 20px;
    }

    .rh2-home-section-hd-banner p {
        font-size: 16px;
    }

    .rh2-home-section-available-header, .rh2-home-section-hotdeals-header, .rh2-home-section-new-header {
        flex-direction: column;
        gap: 10px;
    }
}

.rh2-home-footer-row-0 {
    margin-top: 64px;
    padding-left: 5%;
    padding-right: 5%;
    border-top: 1px solid #ebebeb;
}

.rh2-home-footer-heading {
    margin-top: 24px;
    margin-bottom: 24px;
    font-family: 'Inter-SemiBold';
    font-size: 14px;
    line-height: 24px;
    color: #f15627;
}

.rh2-home-footer-row-0 a {
    display: inline-block;
    font-size: 14px;
    line-height: 28px;
    text-decoration: none;
    color: black;
}

.rh2-home-footer-row-1 {
    margin-top: 48px;
    padding-top: 48px;
    padding-bottom: 48px;
    padding-left: 20%;
    padding-right: 20%;
    background-color: #393f46;
    font-size: 16px;
    line-height: 26px;
    color: white;
    text-align: center;
}

.rh2-home-footer-row-2 {
    padding-top: 24px;
    padding-bottom: 24px;
    text-align: center;
    font-size: 14px;
    line-height: 24px;
    color: #393f46;
}

.rh2-home-footer-row-2 a {
    display: inline-block;
    margin-left: 8px;
    margin-right: 8px;
    text-decoration: none;
}

.rh2-home-consumer-app-android, .rh2-home-consumer-app-ios {
    width: 160px;
    text-indent: -1000em;
    line-height: 0px !important;
}

.rh2-home-consumer-app-android-img {
    background-image: url('/rh2/static/image/apps/badge-playstore.png?r=1');
}

.rh2-home-consumer-app-ios-img {
    background-image: url('/rh2/static/image/apps/badge-appstore.png?r=1');
}

.rh2-home-consumer-app-android-img, .rh2-home-consumer-app-ios-img {
    width: 160px;
    height: 48px;
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-home-merchant-app-android, .rh2-home-merchant-app-ios {
    width: 160px;
    text-indent: -1000em;
    line-height: 0px !important;
}

.rh2-home-merchant-app-android-img {
    background-image: url('/rh2/static/image/apps/badge-playstore.png?r=1');
}

.rh2-home-merchant-app-ios-img {
    background-image: url('/rh2/static/image/apps/badge-appstore.png?r=1');
}

.rh2-home-merchant-app-android-img, .rh2-home-merchant-app-ios-img {
    width: 160px;
    height: 48px;
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center;
}

@media (max-width: 769px) {
    .rh2-home-row-0 {
        margin-top: 0px;
    }

    .rh2-home-row-0-col-right {
        padding: 16px;
    }

    .rh2-home-section-restaurants-body {
        min-height: 480px;
    }

    .rh2-home-section-body-restaurateurs {
        padding-top: 16px;
        height: 310px;
    }

    .rh2-home-section-restaurateurs-action-row {
        padding-top: 8px;
    }
}

.rh2-calendar-container {
    width: 100%;
}

.rh2-calendar-month {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.rh2-calendar-row-control {
    width: 100%;
    text-align: center;
    display: flex;
    flex-direction: row;
    margin-bottom: 16px;
}

.rh2-calendar-row-control-col-prev {
    flex: initial;
    width: 24px;
    display: inline-block;
    height: 24px;
    background-image: url('/rh2/static/icon/material/navigation/2x_web/ic_chevron_left_black_18dp.png');
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}

.rh2-calendar-row-control-col-value {
    flex: 1;
    text-align: center;
    display: inline-block;
    width: 128px;
    font-weight: bold;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}

.rh2-calendar-row-control-col-next {
    flex: initial;
    width: 24px;
    display: inline-block;
    height: 24px;
    background-image: url('/rh2/static/icon/material/navigation/2x_web/ic_chevron_right_black_18dp.png');
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}

.rh2-calendar-month thead tr th {
    width: 38px;
    font-size: 14px;
    line-height: 30px;
}

.rh2-calendar-month tbody tr {
    height: 38px;
}

.rh2-calendar-month tbody tr td {
    width: 38px;
    height: 38px;
    border-radius: 8px;
    font-size: 14px;
    line-height: 19px;
    text-align: center;
}

.rh2-calendar-month tbody tr td.rh2-calendar-unselectable {
    position: relative;
    color: #B1B1B1;
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}

.rh2-calendar-month tbody tr td.rh2-calendar-selectable {
    position: relative;
    color: #0D0F10;
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}

.rh2-calendar-month tbody tr td.rh2-calendar-selected {
    background-color: #f15627;
    color: white;
}

/*Scott small stars on booking form*/
.rh2-calendar-date-star {
    width: 12px;
    height: 12px;
    position: absolute;
    bottom: 1px;
    left: 50%;
    margin-left: -13px;
    background-image: url('/rh2/static/icon/bookingform/star-s-fill.svg?r');
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-calendar-date-star-hd {
    width: 12px;
    height: 12px;
    position: absolute;
    bottom: 1px;
    left: 50%;
    margin-left: 2px;
    background-image: url('/rh2/static/icon/bookingform/star-hd-fill.svg?r');
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-calendar-unselectable .rh2-calendar-date-star, .rh2-calendar-unselectable .rh2-calendar-date-star-hd {
    display: none;
}

.rh2-calendar-date-highlight {
    background-color: #ffe5eb;
}

.rh2-calendar-selected .rh2-calendar-date-star {
    background-image: url('/rh2/static/icon/bookingform/star-s-fill-selected.svg?r');
}

.rh2-calendar-selected .rh2-calendar-date-star-hd {
    background-image: url('/rh2/static/icon/bookingform/star-hd-fill-selected.svg?r');
}

/* BusinessList */
.rh2-business-list-desktop-page-row {
    font-family: 'Inter-Regular';
    margin-top: 40px;
    min-height: 640px;
    display: flex;
    flex-direction: row;
}

.rh2-business-list-desktop-page-left {
    flex: 7;
    padding-right: 16px;
}

.rh2-business-list-desktop-page-right {
    flex: 5;
    padding-left: 8px;
    position: sticky;
    top: 0;
}

.rh2-business-list-category-row {
    width: 100%;
    display: flex;
    border-bottom: solid 3px #f94306;
    margin-bottom: 20px;
}

.rh2-business-list-category-row-desktop {
    background-color: white;
    top: 100px;
}

.rh2-business-list-category-row-mobile {
    justify-content: space-evenly;
    background-color: white;
    top: 48px;
}

.rh2-business-list-category-row-mobile-map {
    display: none;
}

.rh2-business-list-category-row-item {
    height: 48px;
    padding: 0 12px 0 12px;
    font-size: 16px;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    background-color: white;
    cursor: pointer;
    user-select: none;
    text-wrap: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rh2-business-list-category-row-item-desktop {
    padding: 0 20px 0 20px;
    min-width: 100px;
}

.rh2-business-list-category-row-item-mobile {
    flex: 1;
}

.rh2-business-list-category-row-listview .rh2-business-list-category-row-item {}

.rh2-business-list-category-row-item-active {
    background-color: #f94306 !important;
    color: white;
    border-bottom-color: #f94306;
}

/* FILTER */

.rh2-business-list-dsp-row {
    padding: 10px;
    margin-bottom: 10px;
}

.rh2-business-filter-dsp-bar {
    position: relative;
    height: 42px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    border: solid 1px #777;
    border-radius: 12px;
    background-color: white;
    padding: 10px;
    font-size: 18px;
}

@media (min-width: 640px) {
    .rh2-business-filter-dsp-bar {
        min-width: 360px;
    }
}

@media (max-width: 360px) {
    .rh2-business-filter-dsp-bar {
        font-size: 16px;
        gap: 8px;
    }
}

@media (max-width: 320px) {
    .rh2-business-filter-dsp-bar {
        font-size: 14px;
        gap: 5px;
    }
}

.rh2-business-list-mobile-page-row .rh2-business-filter-dsp-bar {
    width: 100%;
}

.rh2-business-filter-dsp-pax-col {
    display: flex;
    align-items: center;
    gap: 5px;
    cursor: pointer;
}

.rh2-business-filter-dsp-pax-icon {
    width: 20px;
    height: 20px;
    background-image: url('/rh2/static/icon/site/s2-pdt-pax.svg');
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-business-filter-dsp-pax {
    border: 0;
    line-height: 20px;
    color: black;
}

.rh2-business-filter-dsp-pax-placeholder-hidden {
    display: none !important;
}

.rh2-business-filter-dsp-pax-dropdown {
    position: absolute;
    right: 0px;
    top: 41px;
    max-height: 360px;
    box-shadow: 0px 3px 13px #00000010;
    background-color: white;
    border: 1px solid #e6e6e6;
    overflow: auto;
    padding: 16px;
    padding-top: 0px;
    z-index: 10;
}

.rh2-business-filter-dsp-pax-dropdown-option {
    font-size: 16px;
    font-family: 'Inter-SemiBold';
    text-align: center;
    padding: 14px;
    cursor: pointer;
}

.rh2-business-filter-dsp-pax-dropdown-option-selected {
    border-radius: 24px;
    background-color: #eeeeee;
}

.rh2-business-filter-dsp-date-col {
    display: flex;
    align-items: center;
    gap: 5px;
    cursor: pointer;
}

.rh2-business-filter-dsp-date-icon {
    width: 20px;
    height: 20px;
    background-image: url('/rh2/static/icon/bookingform/calendar-event-line.svg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-business-filter-dsp-date {
    border: 0;
    line-height: 20px;
    color: black;
    white-space: nowrap;
}

.rh2-business-filter-dsp-date-dropdown {
    position: absolute;
    left: 0px;
    top: 41px;
    width: 324px;
    height: 360px;
    box-shadow: 0px 3px 13px #00000010;
    background-color: white;
    border: 1px solid #e6e6e6;
    overflow: auto;
    padding: 16px;
    z-index: 10;
}

.rh2-business-filter-dsp-session-col {
    position: relative;
    display: flex;
    align-items: center;
    gap: 5px;
    cursor: pointer;
}

.rh2-business-filter-dsp-session-icon {
    width: 20px;
    height: 20px;
    background-image: url('/rh2/static/icon/bookingform/time-line.svg');
    background-size: 125%;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-business-filter-dsp-session {
    border: 0;
    line-height: 20px;
    color: black;
}

.rh2-business-filter-dsp-session-dropdown {
    position: absolute;
    left: 110px;
    top: 41px;
    box-shadow: 0px 3px 13px #00000010;
    background-color: white;
    border: 1px solid #e6e6e6;
    overflow: auto;
    padding: 1em;
    z-index: 10;
}

.rh2-business-filter-dsp-session-dropdown-option {
    font-size: 16px;
    font-family: 'Inter-SemiBold';
    padding: 1em;
    cursor: pointer;
}

.rh2-business-filter-dsp-session-dropdown-option.selected {
    border-radius: 1em;
    background-color: #eeeeee;
}

.rh2-business-filter-dsp-dropdown-icon {
    width: 20px;
    height: 20px;
    background-image: url('/rh2/static/icon/site/s2-dropdown.svg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-business-list-filter-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 0px 10px;
}

.rh2-business-list-filter-row>* {
    flex-grow: 1;
    text-align: center;
    cursor: pointer;
    user-select: none;
    border: solid 2px #F15627;
    border-radius: 8px;
    color: #F15627;
    padding: 8px;
    font-size: 14px;
    font-weight: bold;
}

.rh2-business-list-filter-row>.selected {
    color: white;
    background-color: #00B41B;
    border-color: #00B41B;
}

@media (min-width: 480px) {
    .rh2-business-list-filter-row>* {
        padding: 8px 16px;
    }
}

@media (max-width: 360px) {
    .rh2-business-list-filter-row {
        gap: 5px;
    }

    .rh2-business-list-filter-row>* {
        font-size: 12px;
    }
}

.rh2-business-list-desktop-page-left .rh2-business-list-filter-row {
    justify-content: flex-start;
    gap: 10px;
    padding: 0;
}

.rh2-business-list-desktop-page-left .rh2-business-list-dsp-row {
    max-width: 400px;
    padding: 0;
    margin-bottom: 20px;
}

.rh2-business-list-filter-row .filter-button {
    position: relative;
}

.rh2-business-filter-dsp-filter-active-counter {
    position: absolute;
    top: -5px;
    right: -5px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    line-height: 20px;
    text-align: center;
    background-color: #f15627;
    color: white;
    font-size: 14px;
    font-weight: bold;
}

.rh2-business-filter-desktop-panel-overlay {
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    z-index: 90;
    background-color: hsla(0, 0%, 0%, 0.5);
}

.rh2-business-filter-desktop-panel-fixed {
    position: fixed;
    top: 15%;
    left: 15%;
    z-index: 100;
    width: 70%;
    height: 70%;
    background-color: white;
}

.rh2-business-filter-desktop-panel {
    width: 100%;
    height: 100%;
    padding-top: 0px;
    padding-bottom: 64px;
    overflow: auto;
}

.rh2-business-filter-desktop-panel-close {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 32px;
    height: 32px;
    background-image: url('/rh2/static/icon/site/close.svg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

/* BusinessFilter mobile */
.rh2-business-filter-mobile-heading {
    font-size: 32px;
    padding: 16px;
    padding-bottom: 16px;
}

.rh2-business-filter-mobile-panel-section {
    width: 100%;
    padding: 16px;
    padding-top: 0px;
    padding-bottom: 0px;
}

.rh2-business-filter-mobile-panel-section-heading {
    font-family: 'Inter-SemiBold';
    margin-bottom: 16px;
}

.rh2-business-filter-mobile-panel-section-item {
    background-size: cover;
    background-repeat: no-repeat;
}

.rh2-business-filter-mobile-panel-section-item-active {
    background-color: #f15627;
    color: #FFFFFF !important;
}

.rh2-business-filter-mobile-panel-section-item-inactive {
    background-color: #ccc;
}

.rh2-business-filter-mobile-panel-section-action-row {
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    padding: 16px;
    background-color: white;
}

.rh2-business-filter-desktop-panel .rh2-business-filter-mobile-panel-section-action-row {
    padding-right: 32px;
}

.rh2-business-filter-mobile-panel-section-action-row-apply {
    flex: initial;
    width: 80px;
    height: 36px;
    margin-left: 20px;
    padding: 6px;
    text-align: center;
    background-color: #f15627;
    color: #ffffff;
    border-radius: 10px;
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}

.rh2-business-filter-mobile-panel-section-action-row-reset {
    flex: initial;
    width: 80px;
    height: 36px;
    padding: 6px;
    text-align: center;
    border: 1px solid #ccc;
    border-radius: 10px;
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}

.rh2-business-filter-mobile-panel-section-promotion {}

.rh2-business-filter-mobile-panel-section-promotion-body {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.rh2-business-filter-mobile-panel-section-show-all {}

.rh2-business-filter-mobile-panel-section-show-all-body {
    margin-bottom: 20px;
}

.rh2-business-filter-mobile-panel-section-show-all-item {
    display: inline-block;
    padding: 8px 16px;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    border-radius: 8px;
    border: 1px solid #ccc;
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
    white-space: nowrap;
}

.rh2-business-filter-mobile-panel-section-price {}

.rh2-business-filter-mobile-panel-section-price-body {
    display: flex;
    margin-bottom: 20px;
    flex-wrap: wrap;
    align-content: flex-start;
    gap: 8px;
}

.rh2-business-filter-mobile-panel-section-price-item {
    flex: initial;
    width: 56px;
    padding: 8px;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    border-radius: 8px;
    border: 1px solid #ccc;
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
    white-space: nowrap;
}

.rh2-business-filter-mobile-panel-section-price-item-active {
    background-color: #f15627 !important;
    color: #FFFFFF !important;
}

.rh2-business-filter-mobile-panel-section-cuisine {}

.rh2-business-filter-mobile-panel-section-cuisine-body {
    display: flex;
    gap: 8px;
    margin-bottom: 20px;
    flex-wrap: wrap;
    align-content: flex-start;
}

.rh2-business-filter-mobile-panel-section-cuisine-item {
    flex: initial;
    width: 100px;
    height: 50px;
    font-size: 14px;
    text-align: center;
    border-radius: 8px;
    border: 1px solid #ccc;
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
    display: table;
    background-color: hsla(0, 0%, 0%, 0.25);
    background-blend-mode: saturation;
}

.rh2-business-filter-mobile-panel-section-cuisine-item.rh2-business-filter-mobile-panel-section-item-active {
    background-color: #f15627 !important;
    background-blend-mode: color-burn !important;
}

.rh2-business-filter-mobile-panel-section-cuisine-item-text {
    display: table-cell;
    vertical-align: middle;
    color: #ffffff;
    font-family: 'Inter-Bold';
}

.rh2-business-filter-mobile-panel-section-dietary {}

.rh2-business-filter-mobile-panel-section-dietary-body {
    display: flex;
    gap: 8px;
    margin-bottom: 20px;
    flex-wrap: wrap;
    align-content: flex-start;
}

.rh2-business-filter-mobile-panel-section-dietary-item {
    flex: initial;
    width: 100px;
    height: 50px;
    font-size: 14px;
    text-align: center;
    border-radius: 8px;
    border: 1px solid #ccc;
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
    display: table;
    background-color: hsla(0, 0%, 0%, 0.25);
    background-blend-mode: saturation;
}

.rh2-business-filter-mobile-panel-section-dietary-item.rh2-business-filter-mobile-panel-section-item-active {
    background-color: #f15627 !important;
    background-blend-mode: color-burn !important;
}

.rh2-business-filter-mobile-panel-section-dietary-item-text {
    display: table-cell;
    vertical-align: middle;
    color: #ffffff;
    font-family: 'Inter-Bold';
}

.rh2-business-filter-mobile-panel-section-feature {}

.rh2-business-filter-mobile-panel-section-feature-body {
    display: flex;
    gap: 8px;
    margin-bottom: 20px;
    flex-wrap: wrap;
    align-content: flex-start;
}

.rh2-business-filter-mobile-panel-section-feature-item {
    flex: initial;
    width: 100px;
    height: 50px;
    font-size: 14px;
    text-align: center;
    border-radius: 8px;
    border: 1px solid #ccc;
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
    display: table;
    background-color: hsla(0, 0%, 0%, 0.25);
    background-blend-mode: saturation;
}

.rh2-business-filter-mobile-panel-section-feature-item.rh2-business-filter-mobile-panel-section-item-active {
    background-color: #f15627 !important;
    background-blend-mode: color-burn !important;
}

.rh2-business-filter-mobile-panel-section-feature-item-text {
    display: table-cell;
    vertical-align: middle;
    color: #ffffff;
    font-family: 'Inter-Bold';
}

/* BusinessList */
.rh2-business-list-pib {
    padding: 8px;
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    background-color: #F15A2A;
    color: white;
}

.rh2-business-list-pib.hidden {
    display: none;
}

.rh2-business-list-pib-desktop {
    margin-top: 20px;
    margin-bottom: 20px;
}

.rh2-business-list-pib-border {
    border-radius: 8px;
}

.rh2-business-list-pib-close-button {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 24px;
    height: 24px;
    background-image: url('/rh2/static/icon/site/close-white.svg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    color: white;
}

.rh2-business-list-pib-icon {
    margin: 16px;
    height: 64px;
    width: 64px;
    min-width: 64px;
    /* for some reason, width won't stay the same size on smaller screen */
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-business-list-pib-icon-coupon {
    background-image: url('/rh2/static/icon/site/star-coupon.svg?r');
}

.rh2-business-list-pib-icon-special {
    background-image: url('/rh2/static/icon/bookingform/star-s-fill-outline.svg');
}

.rh2-business-list-pib-icon-special-hd {
    background-image: url('/rh2/static/icon/site/star-special-hd.svg?r');
}

.rh2-business-list-pib-icon-booking {
    background-image: url('/rh2/static/icon/site/star-booking.svg?r');
}

@media (min-width: 769px) {
    .rh2-business-list-pib-textarea {
        margin-top: 16px;
        margin-bottom: 16px;
    }
}

.rh2-business-list-pib-textarea-line {
    font-size: 14px;
    line-height: 16px;
    margin-top: 5px;
}

.rh2-business-list-pib-desktop .rh2-business-list-pib-textarea-line {
    font-size: 14px;
    line-height: 18px;
}

.rh2-business-list-pib-textarea-line.highlight {
    font-family: 'Inter-SemiBold';
    font-size: 14px;
    color: white;
}

.rh2-business-list-pib-desktop .rh2-business-list-pib-textarea-line.highlight {
    font-size: 16px;
}

.rh2-business-list-pib-mobile {
    margin: 12px;
}

.rh2-business-list-pib-mobile .rh2-business-list-pib-icon {
    display: none;
}

.rh2-business-list-search-result-text {
    text-align: center;
    margin-top: 2em;
    margin-bottom: 2em;
}

.rh2-business-list-desktop-list {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.scrolltop-button {
    position: fixed;
    bottom: 5%;
    left: 5%;
    width: 48px;
    height: 48px;
    background-image: url('/rh2/static/image/feather/arrow-up-circle.svg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    background-color: white;
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0px 0px 8px 4px hsla(15, 0%, 0%, 0.16);
}

.scrolltop-button.mobile {
    left: 16px;
    bottom: 16px;
    z-index: 10;
    background-image: url('/rh2/static/image/feather/arrow-up.svg');
    background-size: 80%;
}

.rh2-business-list-desktop-see-more {
    width: 100%;
    text-align: center;
    height: 32px;
    line-height: 32px;
    font-size: 14px;
    font-weight: bold;
    background-color: hsla(15, 95%, 50%, 0.1);
    color: hsla(15, 95%, 50%, 0.75);
    border-radius: 8px;
    margin-top: 8px;
    margin-bottom: 8px;
    cursor: pointer;
    user-select: none;
    position: relative;
    z-index: 10;
}

.rh2-business-list-mobile-list {
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin: 0 8px 0;
}

/* #BusinessList page right */
.rh2-business-list-desktop-sticky-right {
    position: sticky;
    top: 100px;
    width: 100%;
    display: flex;
    flex-direction: column;
}

.rh2-business-list-desktop-map-container {
    position: relative;
    flex: 14;
    width: 100%;
}

.rh2-business-list-desktop-map-wrapper {
    width: 100%;
    height: 100%;
}

.rh2-business-list-desktop-map-bookable-only {
    flex: initial;
    position: relative;
    background-color: #FFFFFF;
    border-radius: 8px;
    box-shadow: 0px 6px 18px hsla(15, 0%, 0%, 0.16);
    padding: 8px;
    padding-left: 36px;
    cursor: pointer;
}

.rh2-business-list-desktop-map-bookable-only-icon {
    position: absolute;
    left: 4px;
    top: 8px;
    width: 32px;
    height: 16px;
}

.rh2-business-list-desktop-map-bookable-only-icon-on {
    background-color: #FFFFFF;
    background-image: url('/rh2/static/icon/site/toggle_on.svg');
    background-size: 75%;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-business-list-desktop-map-bookable-only-icon-off {
    background-color: #FFFFFF;
    background-image: url('/rh2/static/icon/site/toggle_off.svg');
    background-size: 75%;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-business-list-desktop-map-zoom {
    position: absolute;
    z-index: 10;
    right: 12px;
    bottom: 80px;
    width: 40px;
    height: 80px;
    border-radius: 8px;
    background-color: #FFFFFF;
    box-shadow: 0px 6px 18px hsla(15, 0%, 0%, 0.16);
}

.rh2-business-list-desktop-map-zoom-in {
    width: 40px;
    height: 40px;
    border-bottom: 1px solid hsla(0, 0%, 0%, 0.16);
    background-color: #FFFFFF;
    background-image: url('/rh2/static/icon/material/content/2x_web/ic_add_black_36dp.png');
    background-size: 75%;
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}

.rh2-business-list-desktop-map-zoom-out {
    width: 40px;
    height: 40px;
    background-color: #FFFFFF;
    background-image: url('/rh2/static/icon/material/content/2x_web/ic_remove_black_36dp.png');
    background-size: 75%;
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}

.rh2-business-list-desktop-map-nearme {
    position: absolute;
    z-index: 8;
    bottom: 28px;
    right: 40px;
    height: 32px;
    font-size: 14px;
    padding: 6px;
    padding-right: 16px;
    background-color: #FFFFFF;
    border-radius: 8px;
    box-shadow: 0px 6px 18px hsla(15, 0%, 0%, 0.16);
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}

.rh2-business-list-desktop-map-locate {
    position: absolute;
    z-index: 10;
    bottom: 24px;
    right: 12px;
    width: 40px;
    height: 40px;
    border-radius: 20px;
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
    box-shadow: 0px 0px 8px 4px hsla(15, 0%, 0%, 0.16);
    background-image: url('/rh2/static/image/icon/awesome/locate.png');
}

.rh2-business-infowindow-desktop-book-button {
    width: 96px;
    height: 48px;
    float: right;
    background-image: url('/rh2/static/icon/site/book-button-coloured.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-business-list-desktop-page-right-ad {
    flex: 2;
}

/* #BusinessList mobile */
.rh2-business-list-mobile-page-row {
    font-family: 'Inter-Regular';
    padding-top: 0;
    min-height: 640px;
    width: 100%;
}

.rh2-business-list-mobile-map-container {
    position: fixed;
    top: 70px;
    left: 0px;
    width: 100%;
    height: 100%;
}

.rh2-business-list-mobile-map-wrapper {
    width: 100%;
    height: 100%;
}

.rh2-business-list-mobile-map-locate {
    position: fixed;
    z-index: 10;
    bottom: 16px;
    right: 16px;
    width: 48px;
    height: 48px;
    border-radius: 24px;
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
    box-shadow: 0px 0px 8px 4px hsla(15, 0%, 0%, 0.16);
    background-image: url('/rh2/static/image/icon/awesome/locate.png');
}

.rh2-business-list-mobile-mode-switch {
    position: fixed;
    z-index: 10;
    right: 50%;
    bottom: 16px;
    margin-right: -40px;
    width: 80px;
    height: 44px;
    border: 2px solid white;
    border-radius: 8px;
    background-color: #FFFFFF;
    box-shadow: 0px 2px 16px hsla(15, 0%, 0%, 0.5);
    display: flex;
    flex-direction: row;
}

.rh2-business-list-mobile-mode-switch-list {
    width: 40px;
    height: 40px;
    background-color: #FFFFFF;
    background-image: url('/rh2/static/icon/material/action/2x_web/ic_list_black_36dp.png');
    background-size: 75%;
    background-repeat: no-repeat;
    background-position: center;
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}

.rh2-business-list-mobile-mode-switch-map {
    width: 40px;
    height: 40px;
    background-color: #FFFFFF;
    background-image: url('/rh2/static/icon/material/maps/2x_web/ic_map_black_36dp.png');
    background-size: 75%;
    background-repeat: no-repeat;
    background-position: center;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}

.rh2-business-list-mobile-mode-switch-on {
    background-color: #f15627;
    background-blend-mode: color-burn;
}

/* #Restaurants */

.rh2-restaurant-item-full-screen-overlay {
    display: none;
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background-color: black;
    z-index: 20;
}

.rh2-restaurant-item-full-screen-overlay-active {
    display: initial;
}

.rh2-restaurant-item-full-screen-overlay-close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 48px;
    height: 48px;
    background-color: #FFFFFF;
    background-image: url('/rh2/static/icon/material/navigation/2x_web/ic_close_black_18dp.png');
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 25;
    cursor: pointer;
    opacity: 0.5;
    border: 1px solid black;
}

.rh2-restaurant-item-full-screen-overlay-close:hover {
    opacity: 1;
}

.rh2-restaurant-item-full-screen-overlay-translucent {
    display: none;
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background-color: hsla(0, 0%, 0%, 0.5);
    z-index: 20;
}

.rh2-restaurant-item-full-screen-overlay-translucent-active {
    display: initial;
}

.rh2-coupon-form-container {
    position: absolute;
    width: 800px;
    height: 500px;
    left: 50%;
    margin-left: -400px;
    top: 50%;
    margin-top: -250px;
}

.rh2-coupon-form-container-mobile {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 10;
    background: white;
}

.rh2-restaurant-item-photo-row-fw {
    margin-top: 16px;
}

.rh2-restaurant-item-photo-row {
    display: flex;
    flex-direction: row;
    height: 408px;
}

.rh2-restaurant-item-photo-row-left-col {
    position: relative;
    flex: 1;
    height: 100%;
    padding: 4px;
    padding-left: 0px;
}

.rh2-restaurant-item-photo-row-right-col {
    flex: initial;
    width: 424px;
    height: 100%;
}

.rh2-restaurant-item-photo-left {
    width: 100%;
    height: 400px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 16px 0px 0px 16px;
}

.rh2-restaurant-item-photo-show-all {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: 24px;
    bottom: 24px;
    width: 172px;
    height: 44px;
    background: #FFFFFF;
    border: 1px solid #C6C6C6;
    border-radius: 8px;
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}

.rh2-restaurant-item-photo-show-all-icon {
    width: 20px;
    height: 20px;
    background-image: url('/rh2/static/image/icon/gallery-line.svg');
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
    margin-right: 8px;
}

.rh2-restaurant-item-photo-show-all-text {
    font-size: 14px;
    color: #0D0F10;
}

.rh2-restaurant-item-photo-gallery-container {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.rh2-restaurant-item-photo-gallery-display-section {
    position: relative;
    flex: 1;
    min-height: 0;
    width: 100%;
}

.rh2-restaurant-item-photo-gallery-nav-left {
    position: absolute;
    top: 50%;
    margin-top: -16px;
    left: 32px;
    width: 64px;
    height: 64px;
    background-color: #FFFFFF;
    background-image: url('/rh2/static/icon/material/navigation/2x_web/ic_arrow_back_black_36dp.png');
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
    opacity: 0.5;
}

.rh2-restaurant-item-photo-gallery-nav-left:hover {
    opacity: 1;
}

.rh2-restaurant-item-photo-gallery-nav-right {
    position: absolute;
    top: 50%;
    margin-top: -16px;
    right: 32px;
    width: 64px;
    height: 64px;
    background-color: #FFFFFF;
    background-image: url('/rh2/static/icon/material/navigation/2x_web/ic_arrow_forward_black_36dp.png');
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
    opacity: 0.5;
}

.rh2-restaurant-item-photo-gallery-nav-right:hover {
    opacity: 1;
}

.rh2-restaurant-item-photo-gallery-display {
    display: block;
    width: 80%;
    max-width: 80%;
    margin-left: 10%;
    height: 100%;
    max-height: 100%;
    overflow: hidden;
}

.rh2-restaurant-item-photo-gallery-display-image {
    position: relative;
    width: 100%;
    height: 100%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: all 50ms linear;
}

.rh2-restaurant-item-photo-gallery-controller-section {
    flex: initial;
    height: 160px;
    max-height: 160px;
    overflow-x: scroll;
}

.rh2-restaurant-item-photo-gallery-controller-wrapper {
    height: 100%;
}

.rh2-restaurant-item-photo-thumbnail {
    display: inline-block;
    width: 100px;
    height: 100px;
    margin: 20px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
}

.rh2-restaurant-item-photo-right-container {
    float: left;
    width: 50%;
    height: 50%;
    padding: 4px;
}

.rh2-restaurant-item-photo-right {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-restaurant-item-photo-right-tl {
    background-size: contain;
}

.rh2-restaurant-item-photo-right-tr {
    border-radius: 0px 16px 0px 0px;
}

.rh2-restaurant-item-photo-right-br {
    border-radius: 0px 0px 16px 0px;
}

.rh2-restaurant-item-body-row-fw {
    position: relative;
    margin-top: 16px;
}

.rh2-restaurant-item-body-row {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: row;
}

.rh2-restaurant-item-body-row-left-col {
    flex: 1;
    padding-right: 64px;
    min-width: 0;
}

.rh2-restaurant-item-body-row-right-col {
    flex: initial;
    width: 380px;
    max-width: 100%;
}

.rh2-restaurant-item-desktop-reservation-form-wrapper {
    position: relative;
    width: 100%;
    padding-left: 16px;
    padding-right: 16px;
    padding-bottom: 32px;
    background-color: white;
}

.rh2-restaurant-item-reservation-form-container {
    width: 100%;
    border-radius: 16px;
    box-shadow: 0px 3px 12px #00000014;
    border: 1px solid #EAEAEA;
}

.rh2-restaurant-item-reservation-form-container .rh2-booking-dialogue-close {
    display: none;
}

.rh2-restaurant-item-topnav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 1em auto 2em;
}

.rh2-restaurant-item-topnav a {
    text-decoration: none;
    font-size: 1.1em;
    padding: 8px 16px;
    border: solid 1px grey;
    border-radius: 8px;
}

.rh2-restaurant-item-topnav a.booking {
    background-color: #ee5b2b;
    color: white;
    border-color: #ee5b2b;
}

.rh2-restaurant-item-nav-row {
    width: 100%;
    height: 48px;
}

.rh2-restaurant-item-nav-row-fixable {
    width: 100%;
    height: 48px;
    padding-top: 12px;
    padding-bottom: 12px;
    display: flex;
    flex-direction: row;
    border-bottom: 2px solid #EBEBEB;
    background-color: white;
}

.rh2-restaurant-item-nav-row-item {
    font-size: 14px;
    text-align: left;
    margin-right: 60px;
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}

.rh2-restaurant-item-nav-row-item:last-child {
    margin-right: 0;
}

.rh2-restaurant-item-nav-row-item-hidden {
    display: none !important;
}

.rh2-restaurant-item-nav-row-item:hover {
    color: #f45925;
}

.rh2-restaurant-item-name-row {
    display: flex;
    flex-direction: row;
    padding-top: 8px;
}

.rh2-restaurant-item-name-row-name-col {
    font-size: 32px;
    font-weight: bold;
    margin-right: 16px;
}

.rh2-restaurant-item-name-row-price-col {
    line-height: 48px;
    display: flex;
    flex-direction: row;
}

.rh2-restaurant-item-name-row-price-on {
    color: #f15627;
}

.rh2-restaurant-item-name-row-price-off {
    color: #d0d0d0;
}

.rh2-restaurant-item-cuisine-row {
    color: #8D8D8D;
    font-size: 14px;
    white-space: pre;
    margin-bottom: 16px;
    max-width: 100%;
    overflow: hidden;
}

.rh2-restaurant-item-dietary-row {
    color: #8D8D8D;
    font-size: 14px;
    white-space: pre;
    margin-bottom: 16px;
    max-width: 100%;
    overflow: hidden;
}

.rh2-restaurant-item-feature-row {
    color: #8D8D8D;
    font-size: 14px;
    white-space: pre;
    margin-bottom: 16px;
    max-width: 100%;
    overflow: hidden;
}

.rh2-restaurant-item-description {
    border-bottom: 2px solid #EBEBEB;
    padding-bottom: 16px;
    margin-bottom: 32px;
}

.rh2-restaurant-item-description-row {
    font-size: 16px;
    line-height: 22px;
}

.rh2-restaurant-item-address-row {
    margin-bottom: 16px;
}

.rh2-restaurant-item-phone-row {
    margin-bottom: 16px;
}

.rh2-restaurant-item-openinghours-table {
    width: 100%;
    border: 1px solid #EDEDED;
    border-collapse: collapse;
}

.rh2-restaurant-item-openinghours-td {
    width: 25%;
    height: 96px;
    overflow: hidden;
    border: 1px solid #EDEDED;
    text-align: center;
}

/* restaurants-list-item */
.rh2-restaurants-list-item {
    position: relative;
    width: 100%;
    height: 240px;
    background-color: white;
    border: 1px solid #ebebeb;
    margin-bottom: 24px;
}

.rh2-restaurants-list-item-narrow {
    position: relative;
    width: 100%;
    background-color: white;
    border: 1px solid #ebebeb;
    margin-bottom: 24px;
}

.rh2-restaurants-list-item-image {
    position: absolute;
    display: block;
    left: 0px;
    top: 0px;
    width: 260px;
    height: 240px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
    z-index: 1;
}

.rh2-restaurants-list-item-image-featured {
    position: absolute;
    left: 8px;
    top: 8px;
    padding-left: 4px;
    padding-right: 4px;
    border-radius: 4px;
    font-size: 12px;
    background-color: hsla(15, 0%, 100%, 0.75);
    border: 1px solid hsla(15, 0%, 80%, 0.75);
    color: #f94306;
}

.rh2-restaurants-list-item-details {
    position: relative;
    width: 100%;
    height: 100%;
    padding-left: 260px;
}

.rh2-restaurants-list-item-details-body {
    position: relative;
    width: 100%;
    height: 100%;
    overflow-y: hidden;
    padding-left: 2%;
    padding-right: 2%;
    padding-bottom: 4px;
}

.rh2-restaurants-list-item-details-row0 {
    min-height: 48px;
    margin-bottom: 4px;
}

.rh2-restaurants-list-item-name {
    display: inline-block;
    font-family: 'Inter-Bold';
    font-size: 18px;
    line-height: 30px;
    padding-top: 10px;
    color: #393f47;
    text-decoration: none;
}

.rh2-restaurants-list-item-price {
    display: inline-block;
    margin-left: 12px;
    font-size: 14px;
    color: #f15627;
}

.rh2-restaurants-list-item-details-row0-right {
    float: right;
    width: 30%;
}

.rh2-restaurants-list-item-details-row1 {}

.rh2-restaurants-list-item-details-row1-left {
    float: left;
    width: 100%;
}

.rh2-restaurants-list-item-address {
    font-size: 14px;
    line-height: 16px;
    font-family: 'Lato-Regular';
    color: #393f47;
    margin-bottom: 6px;
}

.rh2-restaurants-list-item-details-row1-right {
    float: right;
    width: 20%;
}

.rh2-restaurants-list-item-details-row2 {
    max-height: 54px;
    max-width: 100%;
    overflow: hidden;
}

.rh2-restaurants-list-item-cuisines {
    margin-top: 8px;
    font-size: 14px;
    line-height: 18px;
    max-height: 18px;
    text-overflow: ellipsis;
    color: #919191;
}

.rh2-restaurants-list-item-cuisines span {
    margin-right: 8px;
    color: #666;
}

.rh2-restaurants-list-item-tripadvisor-info {}

.rh2-restaurants-list-item-tripadvisor-image {
    float: left;
    width: 120px;
    height: 40px;
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-restaurants-list-item-tripadvisor-num-reviews {
    float: left;
    margin-left: 12px;
    font-size: 14px;
    margin-top: 4px;
    line-height: 34px;
    font-family: 'Lato-Regular';
    color: #393f47;
}

.rh2-restaurants-list-item-stardeal {
    position: relative;
    margin-bottom: 10px;
    border-radius: 4px;
    padding-left: 6px;
    padding-right: 6px;
    padding-top: 6px;
    padding-bottom: 6px;
    font-size: 14px;
    line-height: 16px;
    background-color: #fff7f5;
}

.rh2-restaurants-list-item-stardeal-short-name {
    display: inline;
    font-family: 'Inter-SemiBold';
    font-size: 12px;
    line-height: 12px;
    margin-right: 8px;
    background-color: hsla(15, 95%, 50%, 0.75);
    color: white;
}

.rh2-restaurants-list-item-stardeal-long-name {
    display: inline;
    font-family: 'Lato-Bold';
    color: #f15627;
    font-size: 14px;
    line-height: 18px;
}

.rh2-restaurants-list-item-details-footer {
    position: absolute;
    bottom: 0px;
    height: 60px;
    overflow: hidden;
    width: 100%;
    padding-left: 2%;
    padding-right: 2%;
}

.rh2-restaurants-list-item-reserve {
    position: absolute;
    bottom: 8px;
    right: 8px;
    min-width: 112px;
    float: right;
    height: 36px;
    padding-left: 8px;
    padding-right: 8px;
}

.rh2-restaurants-list-item-reserve-narrow {
    width: 100%;
    height: 100%;
    padding-left: 8px;
    padding-right: 8px;
    text-align: center;
    margin-top: 8px;
    margin-bottom: 8px;
}

.rh2-restaurants-list-item-reserve-button {
    display: inline-block;
    text-decoration: none;
    width: 96px;
    height: 36px;
    border-radius: 4px;
    text-align: center;
    font-family: 'Inter-Bold';
    font-size: 12px;
    line-height: 36px;
    background-color: #f2460d;
    color: white;
    cursor: pointer;
    box-shadow: 0px 3px 9px hsla(15, 0%, 0%, 0.16);
    margin: auto;
}

.rh2-restaurants-list-item-reserve-button-pax-session-unmet {
    background-color: white !important;
    color: #f2460d !important;
    border: 1px solid #f2460d;
    padding-top: 2px;
    line-height: 16px !important;
}

.rh2-restaurants-list-item-takeaway {
    min-width: 112px;
    float: right;
    height: 100%;
    padding-left: 8px;
    padding-right: 8px;
}

.rh2-restaurants-list-item-takeaway-button {
    display: inline-block;
    margin-right: 12px;
    vertical-align: top;
    text-decoration: none;
    width: 96px;
    height: 36px;
    border-radius: 4px;
    text-align: center;
    font-family: 'Inter-Bold';
    font-size: 12px;
    line-height: 36px;
    background-color: #0aa941;
    color: white;
    cursor: pointer;
    box-shadow: 0px 3px 9px hsla(15, 0%, 0%, 0.16);
}

.rh2-restaurants-list-item-takeaway-button:visited {
    color: white;
}

@media (max-width: 769px) {
    .rh2-restaurants-list-item {
        height: unset;
        margin-bottom: 24px;
    }

    .rh2-restaurants-list-item-image {
        float: none;
        position: static;
        width: 100%;
        height: 240px;
    }

    .rh2-restaurants-list-item-details {
        position: relative;
        width: 100%;
        height: unset;
        padding-left: 0px;
        padding-bottom: 48px;
    }

    .rh2-restaurants-list-item-details-body {
        height: unset;
        padding-bottom: 4px;
    }

    .rh2-restaurants-list-item-cuisines {
        margin-top: 0px;
    }

    .rh2-restaurants-list-item-tripadvisor-image {
        height: 24px;
    }

    .rh2-restaurants-list-item-tripadvisor-num-reviews {
        margin-top: 2px;
        line-height: 20px;
    }

    .rh2-restaurants-list-item-details-footer {
        height: unset;
        max-height: 112px;
    }

    .rh2-restaurants-list-item-reserve {
        left: 50%;
        margin-left: -56px;
        right: unset;
    }
}

/* #RestaurantItem */
.rh2-fragment-restaurant-item {
    background-color: white;
}

.rh2-restaurant-item-name {
    display: block;
    float: left;
    font-size: 22px;
    line-height: 32px;
    margin-top: 16px;
    margin-bottom: 16px;
    margin-left: 8px;
}

.rh2-restaurant-item-section {
    position: relative;
    margin-bottom: 16px;
}

.rh2-restaurant-item-section-header {
    font-family: 'Inter-SemiBold';
    font-weight: normal;
    font-size: 22px;
    color: #0D0F10;
    line-height: 26px;
    margin-bottom: 20px;
}

.rh2-restaurant-item-section-body {
    position: relative;
    margin-bottom: 32px;
}

.rh2-restaurant-item-section-info-map-container {
    height: 320px;
    margin-bottom: 14px;
    font-family: 'Inter-SemiBold';
    background-color: #d9d9d9;
    padding-top: 30%;
    text-align: center;
    font-size: 24px;
    color: #bfbfbf;
}

.rh2-restaurant-item-address {
    font-size: 16px;
    color: #0D0F10;
    margin-bottom: 14px;
}

.rh2-restaurant-item-section-info-openinghours-open {
    display: inline-block;
    font-size: 12px;
    min-width: 48px;
}

.rh2-restaurant-item-section-info-openinghours-close {
    display: inline-block;
    font-size: 12px;
    min-width: 48px;
}

.rh2-restaurant-item-images-thumbnails {
    text-align: center;
}

.rh2-restaurant-item-images-thumbnails-item {
    display: inline-block;
    width: 96px;
    height: 64px;
    margin-left: 2px;
    margin-right: 2px;
    margin-bottom: 4px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
}

.rh2-restaurant-item-section-reviews iframe {
    height: 1190px;
}

.rh2-restaurant-item-menu-m-container {
    border-bottom: 1px solid hsla(15, 0%, 60%, 0.5);
    color: #999;
    text-align: center;
    display: flex;
    flex-direction: row;
    max-width: 100%;
    overflow-x: auto;
    padding-bottom: 16px;
}

.rh2-restaurant-item-menu-m {
    display: table;
    width: 96px;
    min-width: 96px;
    height: 128px;
    border: 1px solid hsla(15, 0%, 60%, 0.5);
    border-radius: 16px;
    margin-left: 8px;
    margin-right: 16px;
    font-size: 14px;
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}

.rh2-restaurant-item-menu-m-selected {
    color: black;
    background: #f2f2f2;
}

.rh2-restaurant-item-menu-m:hover {
    background: #f2f2f2;
}

.rh2-restaurant-item-menu-m-text {
    display: table-cell;
    vertical-align: middle;
}

.rh2-restaurant-item-menu-m-image-row {
    padding-top: 8px;
    padding-bottom: 8px;
    overflow: auto;
}

.rh2-restaurant-item-menu-m-image-tile {
    display: inline-block;
    width: 96px;
    height: 96px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    margin: 8px;
}

.rh2-restaurant-item-menu-mg-container {
    border-bottom: 1px solid hsla(15, 0%, 60%, 0.5);
    color: #808080;
    display: flex;
    flex-direction: row;
    max-width: 100%;
    overflow-x: auto;
    padding-top: 16px;
    padding-bottom: 16px;
}

.rh2-restaurant-item-menu-mg {
    min-width: 64px;
    margin-left: 8px;
    margin-right: 16px;
    font-size: 12px;
    margin-right: 24px;
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}

.rh2-restaurant-item-menu-mg-selected {
    color: black;
    background: #f2f2f2;
}

.rh2-restaurant-item-menu-mg:hover {
    background: #f2f2f2;
}

.rh2-restaurant-item-menu-mg-image-row {
    display: flex;
    flex-direction: row;
    padding-top: 8px;
    padding-bottom: 8px;
}

.rh2-restaurant-item-menu-mg-image-tile {
    width: 96px;
    height: 96px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    margin: 8px;
}

.rh2-restaurant-item-menu-mi-container {}

.rh2-restaurant-item-menu-mi {
    padding-left: 8px;
    padding-right: 8px;
    padding-top: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #f2f2f2;
    font-size: 12px;
    line-height: 16px;
    background: white;
}

.rh2-restaurant-item-menu-mi:hover {
    background: #f2f2f2;
}

.rh2-restaurant-item-menu-mi-row-0 {
    display: flex;
    flex-direction: row;
}

.rh2-restaurant-item-menu-mi-name {
    flex: 1;
    font-family: 'Inter-SemiBold';
    line-height: 20px;
}

.rh2-restaurant-item-menu-mi-price {
    width: 48px;
    text-align: right;
}

.rh2-restaurant-item-menu-mi-row-1 {
    display: flex;
    flex-direction: row;
}

.rh2-restaurant-item-menu-mi-description {
    flex: 1;
    line-height: 14px;
}

.rh2-restaurant-item-menu-mi-image-tile {
    width: 96px;
    height: 96px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.rh2-restaurant-item-mobile-reservation-form-wrapper {
    width: 100%;
    padding-left: 0px;
    padding-right: 0px;
    margin-bottom: 32px;
}

@media (max-width: 769px) {
    .rh2-restaurant-item-full-screen-overlay-close {
        width: 32px;
        height: 32px;
    }

    .rh2-restaurant-item-photo-gallery-nav-left {
        display: none;
    }

    .rh2-restaurant-item-photo-gallery-nav-right {
        display: none;
    }

    .rh2-restaurant-item-photo-row-fw {
        margin-top: 0px;
    }

    .rh2-restaurant-item-photo-row {
        display: flex;
        flex-direction: column;
        height: 320px;
    }

    .rh2-restaurant-item-photo-row-left-col {
        flex: initial;
        width: 100%;
        height: 320px;
        padding: 4px;
    }

    .rh2-restaurant-item-photo-row-right-col {
        flex: initial;
        height: 416px;
        width: 100%;
    }

    .rh2-restaurant-item-photo-left {
        width: 100%;
        height: 100%;
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
        border-radius: 0px 0px 0px 0px;
    }

    .rh2-restaurant-item-photo-right-container {
        float: left;
        width: 50%;
        height: 50%;
        padding: 4px;
    }

    .rh2-restaurant-item-photo-right {
        width: 100%;
        height: 100%;
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
    }

    .rh2-restaurant-item-photo-right-tr {
        border-radius: 0px 0px 0px 0px;
    }

    .rh2-restaurant-item-photo-right-br {
        border-radius: 0px 0px 0px 0px;
    }

    .rh2-restaurant-item-photo-gallery-display-section {
        flex: 1;
        min-height: 0;
        width: 100%;
    }

    .rh2-restaurant-item-photo-gallery-display {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        height: 80%;
        max-height: 80%;
        margin-top: 20%;
    }

    .rh2-restaurant-item-photo-gallery-container {
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: column;
    }

    .rh2-restaurant-item-body-row-fw {
        position: relative;
        margin-top: 16px;
    }

    .rh2-restaurant-item-body-row {
        position: relative;
        width: 100%;
        display: flex;
        flex-direction: column;
    }

    .rh2-restaurant-item-body-row-left-col {
        flex: initial;
        padding-left: 8px;
        padding-right: 8px;
    }

    .rh2-restaurant-item-body-row-right-col {
        flex: initial;
        width: initial;
        padding-left: 8px;
        padding-right: 8px;
    }

    .rh2-restaurant-item-reservation-form-container {
        width: 100%;
        border-radius: 16px;
        box-shadow: 0px 3px 12px #00000014;
        border: 1px solid #EAEAEA;
    }

    .rh2-restaurant-item-nav-row {}

    .rh2-restaurant-item-nav-row-item {
        margin-right: 16px;
    }

    .rh2-restaurant-item-section-header {
        padding-left: 4px;
        padding-right: 4px;
    }

    .rh2-restaurant-item-menu-m-container {
        padding-left: 4px;
        padding-right: 4px;
    }

    .rh2-restaurant-item-menu-mg-container {
        padding-left: 4px;
        padding-right: 4px;
    }

    .rh2-restaurant-item-menu-mi-container {
        padding-left: 4px;
        padding-right: 4px;
    }

    .rh2-restaurant-item-menu-mi {}

    .rh2-restaurant-item-menu-mi-name {
        line-height: 12px;
    }

    .rh2-restaurant-item-menu-mi-price {
        line-height: 12px;
    }

    .rh2-restaurant-item-menu-mi-description {
        padding-top: 4px;
    }

    .rh2-restaurant-item-reservation-form-container {
        width: 100%;
    }
}

/* #EventfindaEvents */
.rh2-eventfinda-events-section-heading {
    padding-left: 12px;
    padding-right: 12px;
    margin-top: 32px;
    font-family: 'Inter-Bold';
    font-size: 24px;
    line-height: 30px;
    color: #393f46;
    margin-bottom: 12px;
}

.rh2-eventfinda-events-area-select {
    width: 160px;
    float: right;
    height: 30px;
    margin-right: 8px;
    font-size: 14px;
    font-family: 'Inter-Regular';
}

.rh2-events-list-item {
    float: left;
    position: relative;
    width: 23%;
    margin-left: 1%;
    margin-right: 1%;
    height: 320px;
    background-color: white;
    margin-bottom: 24px;
}

.rh2-events-list-item-photo {
    position: relative;
    width: 100%;
    height: 200px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-events-list-item-details {
    position: relative;
    width: 100%;
    height: 120px;
}

.rh2-events-list-item-details-body {
    position: relative;
    width: 100%;
    height: 100%;
    max-height: 100%;
    overflow-y: hidden;
    padding-left: 2%;
    padding-right: 2%;
    padding-bottom: 40px;
}

.rh2-events-list-item-name {
    font-family: 'Inter-SemiBold';
    font-size: 14px;
    padding-top: 8px;
}

.rh2-events-list-item-active-row span {
    font-size: 12px;
}

.rh2-events-list-item-place-and-area {
    font-size: 12px;
}

.rh2-events-list-item-details-footer {
    position: absolute;
    left: 0px;
    bottom: 0px;
    width: 100%;
    height: 40px;
}

.rh2-events-list-item-details-row2 {
    height: 100%;
}

.rh2-events-list-item-action {
    float: right;
    height: 100%;
    padding-top: 6px;
    padding-bottom: 6px;
    padding-right: 8px;
}

.rh2-events-list-item-action-button {
    width: 80px;
    height: 28px;
    border-radius: 4px;
    padding-top: 3px;
    text-align: center;
    font-size: 14px;
    background-color: #8f00cc;
    color: white;
    cursor: pointer;
    text-decoration: none;
    display: block;
    cursor: pointer;
}

.rh2-events-list-item-action-button:visited {
    color: white;
}

@media (max-width: 769px) {
    .rh2-eventfinda-events-section-heading {
        padding-left: 8px;
        padding-right: 8px;
    }

    .rh2-events-list-item {
        height: 320px;
        margin-bottom: 16px;
        width: 100%;
        margin-left: 0px;
        margin-right: 0px;
    }
}

/* Reservations */
.rh2-account-home-section-body-reservations {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 24px;
}

.rh2-account-reservations-list-item {
    color: #393f46;
}

.rh2-account-reservations-list-item-restaurant {
    font-size: 14px;
    font-weight: bold;
}

.rh2-account-reservations-list-item-reservation {}

.rh2-account-reservations-list-item-reservation div {
    margin-top: 8px;
}

.rh2-account-reservations-list-item-reservation div span {
    font-family: 'Lato-Regular';
    font-size: 14px;
}

/* #AccountCommon */
.rh2-account-page {
    position: relative;
    background-color: white;
    min-height: 100%;
}

.rh2-account-page-header {
    font-family: 'Inter-SemiBold';
    margin-top: 24px;
    font-size: 24px;
    text-align: center;
    margin-bottom: 16px;
}

.rh2-account-page-form {
    width: 100%;
    padding: 0 10px;
}

.rh2-account-page-form .rh2-row {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 40px;
    margin-bottom: 12px;
}

.rh2-account-page-form-label {
    font-size: 16px;
    flex: 1;
}

/* account form pages: between the phone layout and wide screens a third of the page is too
   narrow for a label next to the 250px input; keep the form column 420px wide and centred */
@media (min-width: 482px) and (max-width: 1260px) {
    .rh2-account-page > .rh2-row-fw > .rh2-row-pw > .rh2-w-8.rh2-w-0-s {
        width: calc((100% - 420px) / 2);
    }

    .rh2-account-page > .rh2-row-fw > .rh2-row-pw > .rh2-w-8.rh2-w-P-s {
        width: 420px;
    }
}

.rh2-account-page-form input:not([type="submit"]), .rh2-account-page-form select {
    width: 250px;
    padding: 8px;
    font-size: 16px;
    border: 1px solid #ccc;
    border-radius: 6px;
    background-color: white;
}

.rh2-account-page-form input:disabled {
    background: #eee;
}

.rh2-account-page-form-section-header {
    width: 100%;
    height: 16px;
    font-size: 14px;
    margin-bottom: 12px;
    text-align: center;
}

.rh2-account-form-validation-row {
    width: 100%;
    text-align: center;
    color: red;
    font-size: 14px;
}

.rh2-account-form-validation-row::after {
    clear: both;
}

.rh2-account-update-details-country-input {
    padding-left: 50px !important;
    background-size: 36px 24px;
    background-repeat: no-repeat;
    background-position: 10px center;
}

.rh2-account-update-details-country-input option {
    padding-left: 8px !important;
}

/* #AccountLogin */

.rh2-account-email-login-email-address-label {
    padding-top: 8px;
}

.rh2-account-email-login-password-label {
    padding-top: 8px;
}

.rh2-account-email-login-login-row {
    margin-top: 24px;
    justify-content: center;
}

.rh2-account-email-login-login {
    display: flex;
    align-items: center;
    height: 40px;
    background-color: #f2460d;
    color: white;
    font-size: 16px;
    padding: 8px 16px;
    border-radius: 8px;
    cursor: pointer;
    border: none;
}

.rh2-account-email-login-recover-password-row {}

.rh2-account-email-login-recover-password-label {
    font-size: 14px;
}

.rh2-account-email-login-recover-password {
    margin-left: 14px;
    font-size: 14px;
    text-decoration: underline;
    cursor: pointer;
}

.rh2-account-email-login-signup-row {
    margin-bottom: 12px;
    justify-content: center;
}

.rh2-account-email-login-signup-label {
    font-size: 14px;
    font-style: italic;
}

.rh2-account-email-login-signup, .rh2-account-email-login-signup:visited {
    display: flex;
    align-items: center;
    height: 24px;
    margin-left: 8px;
    padding: 0 8px;
    font-size: 14px;
    color: #f94306;
    border: 1px solid #f94306;
    border-radius: 4px;
    text-decoration: none;
    cursor: pointer;
}

.rh2-account-login-section-header {
    width: 100%;
    margin-top: 24px;
    margin-bottom: 8px;
    font-size: 14px;
    text-align: center;
}

.rh2-account-login-row {
    text-align: center;
    margin-top: 16px;
    margin-bottom: 24px;
}

.rh2-account-login-google {
    position: relative;
    display: block;
    width: 240px;
    height: 40px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 40px;
    color: white;
    background-color: black;
    border-radius: 4px;
    cursor: pointer;
}

.rh2-account-login-google-logo {
    position: absolute;
    float: left;
    top: 0px;
    left: 0px;
    width: 40px;
    height: 40px;
    background-image: url('/rh2/static/image/google/btn_google_dark_normal_ios.svg');
    background-size: 100%;
    background-repeat: no-repeat;
}

.rh2-account-login-google-text {
    float: left;
    font-size: 16px;
    padding: 8px;
    width: 100%;
    text-align: center;
}

.rh2-account-login-apple {
    position: relative;
    display: block;
    width: 240px;
    height: 40px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 40px;
    color: black;
    background-color: white;
    border-radius: 4px;
    border: solid 1px black;
    cursor: pointer;
}

.rh2-account-login-apple-logo {
    position: absolute;
    float: left;
    top: 0px;
    left: 0px;
    width: 40px;
    height: 40px;
    background-image: url('/rh2/static/image/apple/apple-logo-svgrepo-com.svg');
    background-size: 75%;
    background-repeat: no-repeat;
    background-position: center center;
}

.rh2-account-login-apple-text {
    float: left;
    font-size: 16px;
    padding: 8px;
    width: 100%;
    text-align: center;
}

.rh2-account-login-facebook {
    position: relative;
    display: block;
    width: 240px;
    height: 40px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 40px;
    color: white;
    background-color: black;
    border-radius: 4px;
    cursor: pointer;
}

.rh2-account-login-facebook-logo {
    position: absolute;
    float: left;
    top: 0px;
    left: 0px;
    width: 40px;
    height: 40px;
    background-image: url('/rh2/static/image/facebook/f_logo_RGB-Blue_58.png');
    background-size: 60% 60%;
    background-position: center;
    background-repeat: no-repeat;
    background-color: white;
    border: 3px solid black;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
}

.rh2-account-login-facebook-text {
    float: left;
    font-size: 16px;
    padding: 8px;
    width: 100%;
    text-align: center;
}

.rh2-account-login-email {
    position: relative;
    display: block;
    width: 240px;
    height: 40px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 40px;
    color: #f94306;
    background-color: white;
    border-radius: 4px;
    border: 1px solid #f94306;
    cursor: pointer;
}

.rh2-account-login-email:visited {
    color: #f94306;
}

.rh2-account-login-email-logo {
    position: absolute;
    float: left;
    top: 1px;
    left: 1px;
    width: 36px;
    height: 36px;
    background-image: url('/rh2/static/image/icon/email-login.png');
    background-size: 50% 50%;
    background-position: center;
    background-repeat: no-repeat;
    background-color: white;
}

.rh2-account-login-email-text {
    float: left;
    font-size: 16px;
    padding: 8px;
    width: 100%;
    text-align: center;
}

/* #AccountSignup */
.rh2-account-signup-email-address-label {
    padding-top: 8px;
}

.rh2-account-signup-password-label {
    padding-top: 8px;
}

.rh2-account-signup-repeat-password-label {
    padding-top: 0px;
}

.rh2-account-signup-submit {
    display: flex;
    align-items: center;
    height: 40px;
    background-color: #f2460d;
    color: white;
    font-size: 16px;
    padding: 8px 16px;
    border-radius: 8px;
    cursor: pointer;
    border: none;
}

/* #AccountHome */
.rh2-account-home-page-header {
    font-family: 'Inter-SemiBold';
    margin-top: 24px;
    font-size: 24px;
    margin-bottom: 16px;
    text-align: center;
}

.rh2-account-home-section-header {
    font-size: 18px;
    font-family: 'Inter-SemiBold';
    text-align: center;
    margin-top: 20px;
    margin-bottom: 12px;
}

.rh2-account-home-section-reservation {
    margin-bottom: 24px;
}

.rh2-account-home-section-reservation-item {
    flex: 1 1 30%;
    max-height: 200px;
    padding: 1em;
}

.rh2-account-home-update-details {
    display: block;
    text-decoration: none;
    width: 100%;
    height: 32px;
    padding-left: 8px;
    padding-top: 4px;
    background-color: white;
    color: #1a1a1a;
    border-bottom: 1px solid hsla(15, 0%, 20%, 0.2);
    cursor: pointer;
    text-align: center;
}

.rh2-account-home-change-password {
    display: block;
    text-decoration: none;
    width: 100%;
    height: 32px;
    padding-left: 8px;
    padding-top: 4px;
    background-color: white;
    color: #1a1a1a;
    border-bottom: 1px solid hsla(15, 0%, 20%, 0.2);
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
    text-align: center;
}

.rh2-account-home-logout {
    display: block;
    text-decoration: none;
    width: 100%;
    height: 32px;
    padding-left: 8px;
    padding-top: 4px;
    margin-top: 8px;
    margin-bottom: 24px;
    background-color: white;
    color: #f94306;
    border-bottom: 1px solid hsla(15, 0%, 20%, 0.2);
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
    text-align: center;
}

.rh2-account-home-mc {
    display: block;
    text-decoration: none;
    width: 100%;
    height: 32px;
    padding-left: 8px;
    padding-top: 4px;
    margin-top: 8px;
    margin-bottom: 24px;
    background-color: white;
    color: #1a1a1a;
    border-bottom: 1px solid hsla(15, 0%, 20%, 0.2);
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
    text-align: center;
}

@media (max-width: 860px) {
    .rh2-account-home-section-reservation-item {
        flex-basis: 100%;
        border-bottom: 1px solid #ccc;
    }
}

/* #AccountUpdateDetails */
.rh2-account-update-details-toolbar-back-button {
    float: left;
    margin-top: 12px;
    margin-left: 16px;
    height: 24px;
    width: 24px;
    background-image: url('/rh2/static/image/icon/left-arrow.png');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}

.rh2-account-update-details-submit-row {
    margin-top: 24px;
    justify-content: center;
}

.rh2-account-update-details-submit {
    display: flex;
    align-items: center;
    height: 40px;
    background-color: #f2460d;
    color: white;
    font-size: 16px;
    padding: 8px 16px;
    border-radius: 8px;
    cursor: pointer;
    border: none;
}

/* #AccountChangePassword */

.rh2-account-change-password-current-password-label {
    padding-top: 0px;
}

.rh2-account-change-password-current-password-input {}

.rh2-account-change-password-repeat-password-label {
    padding-top: 0px;
}

.rh2-account-change-password-submit-row {
    margin-top: 24px;
    justify-content: center;
}

.rh2-account-change-password-submit {
    display: flex;
    align-items: center;
    height: 40px;
    background-color: #f2460d;
    color: white;
    font-size: 16px;
    padding: 8px 16px;
    border-radius: 8px;
    cursor: pointer;
    border: none;
}

.rh2-account-recover-password-submit-row {
    margin-top: 24px;
    justify-content: center;
}

.rh2-account-recover-password-submit {
    display: flex;
    align-items: center;
    height: 40px;
    background-color: #f2460d;
    color: white;
    font-size: 16px;
    padding: 8px 16px;
    border-radius: 8px;
    cursor: pointer;
    border: none;
}

/* Article */
.rh2-article-header {
    margin-bottom: 20px;
    overflow: hidden;
}

.rh2-article-title {
    font-family: 'Inter-SemiBold';
    font-size: 24px;
    margin-bottom: 20px;
}

.rh2-article-author {
    font-family: 'Inter-Regular';
    font-size: 14px;
    width: 100%;
    margin-bottom: 8px;
    padding-right: 8px;
}

.rh2-article-published-at {
    font-family: 'Inter-Regular';
    font-size: 14px;
    width: 100%;
    margin-bottom: 8px;
    padding-right: 8px;
}

.rh2-article-content-container {
    margin-bottom: 48px;
    overflow: hidden;
}

.rh2-article-p-text {
    clear: both;
    font-family: 'Inter-Regular';
    font-size: 18px;
    line-height: 32px;
    margin-bottom: 24px;
}

.rh2-article-p-heading {
    clear: both;
    font-family: 'Inter-Bold';
    font-size: 18px;
    margin-top: 24px;
    margin-bottom: 24px;
}

.rh2-article-p-link {
    clear: both;
    display: block;
    text-align: center;
    font-family: 'Inter-Regular';
    font-size: 18px;
    margin-top: 24px;
    margin-bottom: 24px;
}

.rh2-article-p-restaurant {
    margin-bottom: 20px;
}

.rh2-article-p-image {
    clear: both;
    width: 100%;
    margin-bottom: 24px;
}

.rh2-article-p-image-body {
    width: 100%;
    height: 492px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    margin-bottom: 4px;
}

.rh2-article-p-image-caption {
    width: 100%;
    text-align: center;
    font-family: 'Inter-Regular';
    font-size: 14px;
    color: #404040;
}

@media (max-width: 769px) {
    .rh2-article-p-image-body {
        height: 240px;
    }
}

.rh2-article-list {
    background-color: #f2f2f2;
    margin-top: 64px;
    margin-bottom: 64px;
    padding: 8px;
}

.rh2-article-list-heading {
    font-family: 'Inter-SemiBold';
    font-size: 22px;
    margin-bottom: 36px;
    color: #333;
}

.rh2-article-list-item {
    position: relative;
    height: 240px;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 24px;
    cursor: pointer;
    background-color: white;
    color: #333;
    cursor: pointer;
}

.rh2-article-list-item-image {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-article-list-item-footer {
    position: absolute;
    bottom: 0px;
    right: 0px;
    padding-top: 8px;
    width: 100%;
    background-color: hsla(0, 0%, 100%, 0.80);
}

.rh2-article-list-item-title-row {
    height: 24px;
    max-height: 24px;
    overflow: hidden;
    line-height: 24px;
    margin-bottom: 4px;
    font-family: 'Inter-SemiBold';
    font-size: 20px;
    padding-left: 8px;
    padding-right: 4px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rh2-article-list-item-author-row {
    padding-left: 8px;
}

.rh2-article-list-item-author {
    display: inline-block;
    font-family: 'Inter-Regular';
    font-size: 14px;
    margin-bottom: 8px;
    padding-right: 8px;
}

.rh2-article-list-item-published-at {
    display: inline-block;
    font-family: 'Inter-Regular';
    font-size: 14px;
    margin-bottom: 8px;
    padding-right: 8px;
}

/* Header mobile */
.rh2-header-mobile-wrapper {
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 70px;
    background-color: white;
    z-index: 20;
    padding: ;
}

.rh2-home-tabs {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 15px;
}

/*SS changed*/
.rh2-home-tab-item {
    font-family: 'Inter-Bold';
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    padding: 0 12px 0;
    border-radius: 10px;
    border: 1px solid #ccc;
    background-color: white;
    line-height: 40px;
    font-size: 14px;
    text-decoration: none;
    font-weight: 400;
    white-space: nowrap;
}

@media (max-width: 500px) {
    .rh2-home-tab-item {
        flex: 1;
        flex-grow: 1;
        min-width: 40%;
    }
}

.rh2-home-tab-item.rh2-home-tab-bookable {}

.rh2-home-tab-item.rh2-home-tab-special {}

.rh2-home-tab-item.rh2-home-tab-special-hd {
    background: linear-gradient(79.89deg, #F62552 23.59%, #F15627 113.86%);
    font-style: italic;
    color: #FFFFFF;
    border: none;
}

.rh2-home-tab-item-text {
    display: inline-block;
}

.rh2-header-mobile-logo-row {
    position: relative;
    width: 100%;
    height: 100%;
    max-width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 10px;
}

.rh2-header-mobile-logo {
    width: 200px;
    height: 35px;
    background-image: url('/rh2/static/image/logo-2x.png');
    background-size: contain;
    background-repeat: no-repeat;
}

.rh2-header-mobile-logo-icon-only {
    width: 48px;
    height: 48px;
    background-image: url('/rh2/static/image/logo-icon-only.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-header-mobile-logo-row-search-col {
    flex: 1;
    height: 100%;
}

.rh2-header-mobile-nav-container {
    flex: initial;
    width: 48px;
    height: 100%;
    font-size: 14px;
    line-height: 48px;
    text-align: right;
}

.rh2-header-mobile-nav-item {
    display: inline-block;
    margin-left: 5%;
    text-decoration: none;
}

.rh2-header-mobile-nav-item-active {
    color: #f15627;
}

.rh2-header-mobile-nav-item-hamburger {
    width: 48px;
    height: 48px;
    background-image: url('/rh2/static/icon/site/s2-hamburger.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-color: white;
}

.rh2-header-mobile-search-row-pad {
    margin-bottom: 15px;
}

.rh2-header-mobile-search-row {
    position: relative;
    display: flex;
    flex-direction: row;
    background-color: white;
}

.rh2-header-mobile-map-wrapper .rh2-header-mobile-search-row {
    background-color: unset !important;
}

.rh2-header-mobile-search-col {
    flex: 1;
}

.rh2-header-mobile-search-container {
    position: relative;
    height: 48px;
    padding-top: 8px;
    padding-bottom: 8px;
    padding-left: 4px;
    padding-right: 4px;
    background-color: white;
    border: 1px solid #dddddd;
    border-radius: 8px;
    display: flex;
    flex-direction: row;
}

.rh2-header-mobile-map-wrapper .rh2-header-mobile-search-container {
    background-color: white;
}

.rh2-header-mobile-search-freetext-part {
    display: flex;
    align-items: center;
    flex: 6;
    position: relative;
}

.rh2-header-mobile-search-freetext-icon {
    width: 16px;
    height: 16px;
    background-image: url('/rh2/static/image/feather/search.svg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    margin-left: 4px;
}

.rh2-header-mobile-search-freetext-input {
    width: 100%;
    height: 100%;
    padding-left: 14px;
    font-family: 'Lato-Regular';
    font-size: 16px;
    line-height: 18px;
    border: 0;
    color: #f12727;
}

.rh2-header-mobile-search-freetext-input::placeholder {
    color: #8c8c8c;
}

.rh2-header-mobile-search-freetext-input:-ms-input-placeholder {
    color: #8c8c8c;
}

.rh2-header-mobile-search-freetext-input::-ms-input-placeholder {
    color: #8c8c8c;
}

.rh2-header-mobile-search-separator-part {
    flex: initial;
    width: 1px;
    margin-left: 4px;
    margin-right: 4px;
    border-right: 1px solid #dddddd;
}

.rh2-header-mobile-search-location-part {
    display: flex;
    align-items: center;
    flex: 5;
    position: relative;
}

.rh2-header-mobile-search-location-icon {
    width: 16px;
    height: 16px;
    background-image: url('/rh2/static/image/feather/navigation.svg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    margin-left: 4px;
}

.rh2-header-mobile-search-location-input {
    width: 100%;
    height: 100%;
    padding-left: 14px;
    font-family: 'Lato-Regular';
    font-size: 16px;
    line-height: 18px;
    border: 0;
    color: #f12727;
    padding-right: 24px;
}

.rh2-header-mobile-search-location-input::placeholder {
    color: #8c8c8c;
}

.rh2-header-mobile-search-location-input:-ms-input-placeholder {
    color: #8c8c8c;
}

.rh2-header-mobile-search-location-input::-ms-input-placeholder {
    color: #8c8c8c;
}

.rh2-header-mobile-search-location-dropdown {
    position: absolute;
    top: 48px;
    left: 1.5%;
    width: 97%;
    min-height: 256px;
    max-height: 400px;
    overflow-y: auto;
    background-color: #FFFFFF;
    border-radius: 8px;
    box-shadow: 0px 6px 18px hsla(15, 0%, 0%, 0.25);
    z-index: 20;
}

.rh2-header-mobile-hamburger-menu {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%;
    height: 100%;
    background-color: #f2f2f2;
    padding-top: 48px;
}

.rh2-header-mobile-hamburger-menu-close {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 32px;
    height: 32px;
    background-image: url('/rh2/static/icon/site/close.svg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-header-mobile-hamburger-menu-item {
    display: block;
    font-size: 24px;
    padding: 8px;
    margin-bottom: 0.5em;
}

.rh2-header-mobile-hamburger-menu-item.active {
    color: #f15627 !important;
}


.rh2-location-dialog {
    width: 100%;
    max-width: 400px;
    outline: none;
    border: none;
    border-radius: 8px;
    padding: 2em;
}

.rh2-location-dialog-title {
    font-size: 1.25em;
    font-weight: bold;
    margin-bottom: 30px;
    text-align: center;
}

.rh2-location-dialog-form {
    display: flex;
    flex-direction: column;
    margin-bottom: 10px;
}

.rh2-location-dialog-form .input {
    margin-bottom: 20px;
    border: solid 1px #333;
    border-radius: 5px;
    font-size: 18px;
    padding: 8px 10px;
    background: white;
    cursor: pointer;
}

.rh2-location-dialog .button {
    border: none;
    outline: none;
    border-radius: 8px;
    font-size: 18px;
    font-weight: bold;
    padding: 10px 15px;
    background: #f94306;
    color: white;
    cursor: pointer;
}

.rh2-location-dialog-confirm-row, .rh2-location-dialog-nz-row {
    text-align: center;
}

.rh2-location-dialog-nz-row {
    margin-top: 30px;
}

.rh2-location-dialog .rh2-location-count-row {
    margin-bottom: 20px;
    font-size: 14px;
}

/* BusinessCard */
/* BusinessCard desktop */
.rh2-business-card-desktop {
    width: 100%;
    height: 160px;
    display: flex;
    flex-direction: row;
    gap: 15px;
}

.rh2-business-card-desktop-image {
    display: block;
    border-radius: 8px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: 280px;
    position: relative;
    text-decoration: none;
}

.rh2-business-card-desktop-image .tag {
    display: inline-block;
    padding: 4px 12px;
    font-size: 12px;
    font-weight: bold;
}

.rh2-business-card-desktop-image .tag-row-top,
.rh2-business-card-desktop-image .tag-row-bottom {
    position: absolute;
    border-radius: 8px 0 8px 0;
}

.rh2-business-card-desktop-image .tag-row-top {
    left: 0;
    top: 0;
}

.rh2-business-card-desktop-image .tag-row-bottom {
    right: 0;
    bottom: 0;
}

.tag-row-top .tag:first-child,
.tag-row-bottom .tag:first-child {
    border-top-left-radius: 8px;
}

.tag-row-top .tag:last-child,
.tag-row-bottom .tag:last-child {
    border-bottom-right-radius: 8px;
}

.tag-highly-rated {
    background-color: #F15627;
    color: white;
}

.tag-featured {
    background-color: #007AFE;
    color: white;
}

.tag-new {
    background-color: #00B31B;
    color: white;
}

.tag-hd {
    background-color: #F52451;
    color: white;
    padding-left: 26px !important;
    background-image: url('/rh2/static/icon/site/star-special-hd.svg');
    background-repeat: no-repeat;
    background-position: 6px center;
    background-size: 14px;
}

.tag-popular {
    background-color: #FFCD34;
    color: white;
}

.rh2-business-card-desktop-attrs {
    flex: 1;
    position: relative;
}

.rh2-business-card-desktop-name {
    margin-bottom: 10px;
    margin-right: 150px;
}

.rh2-business-card-desktop-name a {
    font-family: 'Inter-SemiBold';
    font-size: 18px;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.rh2-business-card-desktop-address {
    font-size: 12px;
    height: 16px;
    color: black;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 8px;
}

.rh2-business-card-desktop-cuisine {
    font-size: 12px;
    font-weight: 600;
    height: 16px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rh2-business-card-desktop-ratings {
    position: absolute;
    top: 0px;
    right: 0px;
    background: white;
}

.rh2-business-card-times-header {
    position: absolute;
    bottom: 48px;
    right: 0;
}

.rh2-business-card-times-header a {
    font-size: 14px;
}

.rh2-business-card-desktop-review {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    height: 16px;
}

.rh2-business-card-desktop-review-ta-image {
    width: 80px;
    height: 16px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-business-card-desktop-review-ta-number {
    font-size: 12px;
    font-family: 'Lato-Regular';
    color: black;
}

.rh2-business-card-desktop-price {
    display: flex;
    flex-direction: row;
    justify-content: right;
    font-size: 12px;
    font-weight: bold;
}

.rh2-business-card-desktop-price-on {
    color: #f15627;
}

.rh2-business-card-desktop-price-off {
    color: #d0d0d0;
}

.rh2-business-card-desktop-action-row {
    width: 100%;
    display: flex;
    gap: 10px;
    flex-direction: row;
    justify-content: right;
    align-items: center;
    position: absolute;
    bottom: 0px;
    right: 0px;
}

.rh2-business-card-time {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 62px;
    height: 40px;
    background-color: #F15627;
    color: white !important;
    text-decoration: none;
    border-radius: 8px;
    font-family: 'Inter-SemiBold';
    font-size: 12px;
    cursor: pointer;
    user-select: none;
}

.rh2-business-card-time.hd {
    background-color: #F52451;
}

.rh2-business-card-time .hd-icon {
    display: block;
    width: 20px;
    height: 20px;
    position: absolute;
    bottom: -5px;
    right: -5px;
    background-image: url('/rh2/static/icon/site/star-special-hd.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 20px;
}

.rh2-business-card-book {
    display: flex;
    width: 70px;
    height: 40px;
    justify-content: center;
    align-items: center;
    background-color: #F15627;
    color: white !important;
    text-decoration: none;
    border-radius: 8px;
    font-family: 'Inter-SemiBold';
    font-size: 12px;
    cursor: pointer;
    user-select: none;
}

.rh2-business-card-desktop-action-hotdeal {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 40px;
    border-radius: 10px;
    border: none;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    cursor: pointer;
    color: #fff;
    font-style: italic;
    white-space: nowrap;
    background: linear-gradient(79.89deg, #F62552 23.59%, #F15627 113.86%);
    padding: 0 8px 0;
}

.rh2-business-card-desktop-action-hotdeal-icon {
    width: 20px;
    height: 20px;
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('/rh2/static/icon/site/star-special-hd.svg?r');
    margin-right: 8px;
}

.rh2-business-card-desktop-action-hotdeal-count {
    width: 20px;
    height: 20px;
    border-radius: 10px;
    line-height: 20px;
    text-align: center;
    background-color: #f62552;
    color: #ffffff;
    font-style: normal;
    margin-left: 8px;
}

.rh2-business-card-desktop-action-hotdeal-grey {
    border: 1px solid #ccc !important;
    color: #ccc !important;
    background: rgba(255, 255, 255, 0.7);
}

.rh2-business-card-desktop-action-hotdeal-grey .rh2-business-card-desktop-action-hotdeal-icon {
    background-image: url('/rh2/static/icon/site/star-special-hd-inactive.svg?r');
}

.rh2-business-card-desktop-action-hotdeal-count-hidden {
    display: none !important;
}

/*End Scott added hotdeals*/
.rh2-business-card-desktop-action-special-col {
    /* flex: 3; */
    /* margin-right: 16px; */
}

.rh2-business-card-desktop-action-special {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 40px;
    border: solid 1px #bcbcbc;
    border-radius: 10px;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    cursor: pointer;
    padding: 0 8px;
}

.rh2-business-card-desktop-action-special-icon {
    width: 20px;
    height: 20px;
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('/rh2/static/icon/site/star-special.svg?r');
    margin-right: 8px;
}

.rh2-business-card-desktop-action-special-count {
    width: 20px;
    height: 20px;
    border-radius: 20px;
    line-height: 20px;
    text-align: center;
    background-color: #F5214E;
    color: #FFFFFF;
    margin-left: 8px;
}

.rh2-business-card-desktop-action-special-grey {
    border-color: #ccc !important;
    color: #ccc !important;
}

.rh2-business-card-desktop-action-special-grey .rh2-business-card-desktop-action-special-icon {
    background-image: url('/rh2/static/icon/site/star-grey.svg');
}

.rh2-business-card-desktop-action-book {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    background: #FFA24C;
    text-align: center;
    color: #ffffff;
    height: 40px;
    padding: 0 20px 0;
}

.rh2-business-card-compact {
    display: block;
    width: 270px;
    height: auto;
    flex-direction: column;
    position: relative;
}

.rh2-business-card-compact .rh2-business-card-desktop-image {
    width: 270px;
    height: 160px;
    margin-bottom: 10px;
}

.rh2-business-card-compact .rh2-business-card-desktop-name {
    margin: 0;
    margin-bottom: 6px;
}

.rh2-business-card-compact .rh2-business-card-desktop-address {
    height: auto;
    font-size: 14px;
    margin: 0;
}

.rh2-business-card-compact .rh2-business-card-times-header {
    bottom: 60px;
}

.rh2-business-card-compact .rh2-business-card-desktop-action-row {
    bottom: 4px;
    justify-content: left;
}

.rh2-business-card-mobile {
    display: block;
    width: 100%;
    height: auto;
    flex-direction: column;
    position: relative;
}

.rh2-business-card-mobile .rh2-business-card-desktop-image {
    width: 100%;
    height: 160px;
    margin-bottom: 10px;
}

.rh2-business-card-mobile .rh2-business-card-desktop-name {
    margin: 0;
    margin-bottom: 6px;
}

.rh2-business-card-mobile .rh2-business-card-desktop-address {
    height: auto;
    font-size: 14px;
    margin: 0 auto 16px;
    float: left;
}

.rh2-business-card-mobile .rh2-business-card-times-header {
    position: unset;
    float: right;
    margin: 0 auto 16px;
}

.rh2-business-card-mobile .rh2-business-card-desktop-action-row {
    justify-content: left;
    position: unset;
}

.rh2-business-card-mobile .rh2-business-card-time {
    flex: 1;
    width: auto;
    max-width: 23%;
    height: 48px;
    font-size: 14px;
}

/* BusinessInfoWindow */
.rh2-business-infowindow-desktop {
    width: 100%;
    min-width: 280px;
}

.rh2-business-infowindow-desktop-attrs-row {
    width: 100%;
    padding: 4px;
    margin-bottom: 8px;
    display: flex;
    flex-direction: row;
}

.rh2-business-infowindow-desktop-coupon-row {}

.rh2-business-infowindow-desktop-special-row {}

.rh2-business-infowindow-desktop-book-row {
    display: flex;
    justify-content: center;
    padding: 16px 0 8px;
}

.rh2-business-infowindow-desktop-image {
    flex: 1;
    border-radius: 16px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-business-infowindow-desktop-attrs {
    flex: 3;
    padding-left: 8px;
    display: flex;
    flex-direction: column;
}

.rh2-business-infowindow-desktop-name {
    flex: initial;
    height: 32px;
    line-height: 20px;
    font-weight: bold;
    font-size: 18px;
    cursor: pointer;
}

.rh2-business-infowindow-desktop-cuisine {
    flex: initial;
    height: 24px;
    line-height: 24px;
    font-size: 14px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rh2-business-infowindow-desktop-review {
    flex: initial;
    height: 24px;
    display: flex;
    flex-direction: row;
}

.rh2-business-infowindow-desktop-review-ta-image {
    width: 120px;
    height: 24px;
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-business-infowindow-desktop-review-ta-number {
    margin-left: 8px;
    font-size: 14px;
    line-height: 24px;
    font-family: 'Lato-Regular';
    color: #393f47;
    overflow: hidden;
}

.rh2-business-infowindow-desktop-review-price {
    flex: 1;
    display: flex;
    flex-direction: row;
    padding-top: 4px;
    margin-left: 8px;
}

.rh2-business-infowindow-desktop-price-on {
    color: #f15627;
}

.rh2-business-infowindow-desktop-price-off {
    color: #d0d0d0;
}

.rh2-business-infowindow-desktop-coupon-heading-row {
    width: 100%;
    height: 24px;
    padding-left: 16px;
    font-size: 14px;
    font-weight: bold;
    padding-top: 4px;
    color: #3cbea0;
    background-color: hsla(166, 52%, 49%, 0.25);
}

.rh2-business-infowindow-desktop-coupon-body-row {
    padding-left: 8px;
    padding-right: 8px;
}

.rh2-business-infowindow-desktop-coupon-item-row {
    width: 100%;
    height: 36px;
    padding-top: 4px;
    padding-bottom: 4px;
    padding-left: 8px;
    padding-right: 8px;
    display: table;
    border-bottom: 1px solid #e6e6e6;
}

.rh2-business-infowindow-desktop-coupon-item-icon {
    display: table-cell;
    width: 16px;
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('/rh2/static/icon/site/star-live.svg?r');
}

.rh2-business-infowindow-desktop-coupon-item-title {
    display: table-cell;
    vertical-align: middle;
    padding-left: 8px;
    padding-right: 8px;
}

.rh2-business-infowindow-desktop-coupon-item-claim {
    display: table-cell;
    width: 48px;
    background-color: #3cbea0;
    color: white;
    padding-top: 6px;
    cursor: pointer;
    border-radius: 4px;
    padding-left: 2px;
}

.rh2-business-infowindow-desktop-special-heading-row {
    width: 100%;
    height: 24px;
    padding-left: 16px;
    font-size: 14px;
    font-weight: bold;
    padding-top: 4px;
    color: #f22652;
    background-color: hsla(347, 89%, 55%, 0.25);
}

.rh2-business-infowindow-desktop-special-body-row {
    padding: 0px;
}

.rh2-business-infowindow-desktop-special-item-row {
    width: 100%;
    height: 36px;
    padding: 8px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    border-bottom: 1px solid #e6e6e6;
}

.rh2-business-infowindow-desktop-special-item-icon {
    width: 16px;
    height: 16px;
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('/rh2/static/icon/site/star-special.svg?r');
}

.rh2-business-infowindow-desktop-special-item-icon.hotdeal {
    background-image: url('/rh2/static/icon/site/star-special-hd.svg?r');
}

.rh2-business-infowindow-desktop-special-item-title {
    padding-left: 8px;
    padding-right: 8px;
}

.rh2-business-infowindow-desktop-special-item-claim {
    background-color: #f22652;
    color: white;
    cursor: pointer;
    border-radius: 4px;
    margin-left: auto;
    padding: 4px 8px;
}

.rh2-business-infowindow-desktop-book-button {
    width: 98px;
    height: 46px;
    background-image: url('/rh2/static/icon/site/book-button-coloured.svg');
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
    font-size: 14px;
    font-weight: bold;
    padding-top: 16px;
    padding-left: 44px;
    color: #FFFFFF;
    cursor: pointer;
}

.rh2-business-infowindow-mobile {
    width: 100%;
}

.rh2-business-infowindow-mobile-attrs-row {
    width: 100%;
    padding: 4px;
    margin-bottom: 8px;
    display: flex;
    flex-direction: row;
}

.rh2-business-infowindow-mobile-coupon-row {}

.rh2-business-infowindow-mobile-special-row {}

.rh2-business-infowindow-mobile-book-row {
    padding: 8px 0;
}

.rh2-business-infowindow-mobile-attrs {
    flex: 3;
    padding-left: 8px;
    display: flex;
    flex-direction: column;
}

.rh2-business-infowindow-mobile-name {
    flex: initial;
    height: 32px;
    line-height: 20px;
    font-weight: bold;
    font-size: 18px;
    cursor: pointer;
}

.rh2-business-infowindow-mobile-cuisine {
    flex: initial;
    height: 24px;
    line-height: 24px;
    font-size: 14px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rh2-business-infowindow-mobile-review {
    flex: initial;
    height: 24px;
    display: flex;
    flex-direction: row;
}

.rh2-business-infowindow-mobile-review-ta-image {
    width: 120px;
    height: 24px;
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-business-infowindow-mobile-review-ta-number {
    margin-left: 8px;
    font-size: 14px;
    line-height: 24px;
    font-family: 'Lato-Regular';
    color: #393f47;
    overflow: hidden;
}

.rh2-business-infowindow-mobile-review-price {
    flex: 1;
    display: flex;
    flex-direction: row;
    padding-top: 4px;
    margin-left: 8px;
}

.rh2-business-infowindow-mobile-price-on {
    color: #f15627;
}

.rh2-business-infowindow-mobile-price-off {
    color: #d0d0d0;
}

.rh2-business-infowindow-mobile-coupon-heading-row {
    width: 100%;
    height: 24px;
    padding-left: 16px;
    font-size: 14px;
    font-weight: bold;
    padding-top: 4px;
    color: #3cbea0;
    background-color: hsla(166, 52%, 49%, 0.25);
}

.rh2-business-infowindow-mobile-coupon-body-row {
    padding-left: 8px;
    padding-right: 8px;
}

.rh2-business-infowindow-mobile-coupon-item-row {
    width: 100%;
    height: 36px;
    padding-top: 4px;
    padding-bottom: 4px;
    padding-left: 8px;
    padding-right: 8px;
    display: table;
    border-bottom: 1px solid #e6e6e6;
}

.rh2-business-infowindow-mobile-coupon-item-icon {
    display: table-cell;
    width: 16px;
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('/rh2/static/icon/site/star-live.svg?r');
}

.rh2-business-infowindow-mobile-coupon-item-title {
    display: table-cell;
    vertical-align: middle;
    padding-left: 8px;
    padding-right: 8px;
}

.rh2-business-infowindow-mobile-coupon-item-claim {
    display: table-cell;
    width: 48px;
    background-color: #3cbea0;
    color: white;
    padding-top: 6px;
    cursor: pointer;
    border-radius: 4px;
    padding-left: 2px;
}

.rh2-business-infowindow-mobile-special-heading-row {
    width: 100%;
    height: 24px;
    padding-left: 16px;
    font-size: 14px;
    font-weight: bold;
    padding-top: 4px;
    color: #f22652;
    background-color: hsla(347, 89%, 55%, 0.25);
}

.rh2-business-infowindow-mobile-special-body-row {
    padding: 0px;
}

.rh2-business-infowindow-mobile-special-item-row {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 36px;
    padding: 8px 0;
    border-bottom: 1px solid #e6e6e6;
}

.rh2-business-infowindow-mobile-special-item-icon {
    width: 16px;
    height: 16px;
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('/rh2/static/icon/site/star-special.svg?r');
}

.rh2-business-infowindow-mobile-special-item-icon.hotdeal {
    background-image: url('/rh2/static/icon/site/star-special-hd.svg?r');
}

.rh2-business-infowindow-mobile-special-item-title {
    vertical-align: middle;
    padding-left: 8px;
    padding-right: 8px;
}

.rh2-business-infowindow-mobile-special-item-claim {
    background-color: #f22652;
    color: white;
    text-align: center;
    padding: 4px 8px;
    cursor: pointer;
    border-radius: 5px;
    margin-left: auto;
}

.rh2-business-infowindow-mobile-book-button {
    width: 64px;
    height: 30px;
    background-image: url('/rh2/static/icon/site/book-button-coloured.svg?r');
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
    font-size: 12px;
    font-weight: bold;
    padding-top: 8px;
    padding-left: 28px;
    color: #FFFFFF;
    cursor: pointer;
    margin: 0 auto;
}

/* full screen overlay */
.rh2-full-screen-overlay {
    display: none;
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background-color: black;
    z-index: 20;
}

.rh2-full-screen-overlay-translucent {
    display: none;
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background-color: hsla(0, 0%, 0%, 0.5);
    z-index: 20;
}

.rh2-full-screen-overlay-translucent-active {
    display: initial;
}

.rh2-full-screen-overlay-translucent-close {
    position: absolute;
    right: 50%;
    top: 50%;
    margin-right: -440px;
    margin-top: -290px;
    width: 32px;
    height: 32px;
    background-color: #FFFFFF;
    background-image: url('/rh2/static/icon/material/navigation/2x_web/ic_close_black_18dp.png');
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 25;
    cursor: pointer;
    opacity: 0.5;
}

/* Dirty hacks */
/* Google Maps Marker Cluster */
.cluster {
    pointer-events: none !important;
}

.rh2-maintenance-warning {
    position: fixed;
    bottom: 0;
    text-align: center;
    color: white;
    background: red;
    font-size: 18px;
    font-weight: bold;
    padding: 20px;
    width: 100%;
}

.rh2-maintenance-warning .close {
    position: absolute;
    top: 10px;
    right: 10px;
    display: inline-block;
    width: 20px;
    height: 20px;
    line-height: 20px;
    background: white;
    color: black;
    cursor: pointer;
}

@font-face {
    font-family: 'Lato-Regular';
    font-style: normal;
    font-weight: normal;
    src: local('Lato-Regular'), local('Lato Regular'), url('/rh2/static/font/Lato/Lato-Regular.ttf') format('truetype');
    font-display: swap;
}

@font-face {
    font-family: 'Lato-Bold';
    font-style: normal;
    font-weight: normal;
    src: local('Lato-Bold'), local('Lato Bold'), url('/rh2/static/font/Lato/Lato-Bold.ttf') format('truetype');
    font-display: swap;
}

@font-face {
    font-family: 'Inter-Regular';
    font-style: normal;
    font-weight: normal;
    src: local('Inter-Regular'), local('Inter Regular'), url('/rh2/static/font/Inter/Inter-Regular.ttf') format('truetype');
    font-display: swap;
}

@font-face {
    font-family: 'Inter-SemiBold';
    font-style: normal;
    font-weight: normal;
    src: local('Inter-SemiBold'), local('Inter SemiBold'), url('/rh2/static/font/Inter/Inter-SemiBold.ttf') format('truetype');
    font-display: swap;
}

@font-face {
    font-family: 'Inter-Bold';
    font-style: normal;
    font-weight: normal;
    src: local('Inter-Bold'), local('Inter Bold'), url('/rh2/static/font/Inter/Inter-Bold.ttf') format('truetype');
    font-display: swap;
}
/* site-special.css */
.rh2-special-item-heading {
    position: relative;
    width: 100%;
    height: 48px;
    margin-top: 20px;
    flex: initial;
    padding-left: 12px;
    padding-right: 12px;
    font-size: 20px;
    font-family: "Inter-Bold";
    line-height: 24px;
}

.rh2-special-item-heading-mobile {
    display: none;
}

.rh2-special-item-section-image-mobile {
    flex: initial;
    height: 240px;
    margin-bottom: 16px;
}

.rh2-special-item-section-image-desktop {
    width: 100%;
    height: 440px;
    margin-bottom: 32px;
}

.rh2-special-item-section-image-image {
    position: relative;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-special-item-section-nav {
    margin-top: 8px;
    margin-bottom: 24px;
    padding-left: 8px;
    padding-right: 8px;
    display: flex;
    flex-direction: row;
    font-family: "Inter-SemiBold";
}

.rh2-special-item-section-nav-padding {
    flex: 1;
    border-bottom: 2px solid hsla(0, 0%, 90%, 1);
}

.rh2-special-item-section-nav-item-special {
    flex: initial;
    width: 150px;
    padding: 8px;
    border-bottom: 2px solid hsla(0, 0%, 90%, 1);
}

.rh2-special-item-section-nav-item-special-active {
    color: #F5214E;
    border-bottom: 2px solid #F5214E !important;
}

.rh2-special-item-section-nav-item-location {
    flex: initial;
    width: 150px;
    padding: 8px;
    border-bottom: 2px solid hsla(0, 0%, 90%, 1);
}

.rh2-special-item-section-nav-item-location-active {
    color: #F5214E;
    border-bottom: 2px solid #F5214E !important;
}

.rh2-special-item-body {
    width: 100%;
    display: flex;
    flex-direction: row;
}

.rh2-special-item-left-column-desktop {
    flex: 5;
    overflow: hidden;
}

.rh2-special-item-left-column-mobile {
    flex: 5;
    padding-left: 8px;
    padding-right: 8px;
}

.rh2-special-item-left-column-mobile-hidden {
    display: none;
}

.rh2-special-item-middle-column-desktop {
    flex: 1;
    border-right: 1px solid hsla(0, 0%, 80%, 1);
    margin-right: 32px;
}

.rh2-special-item-middle-column-mobile {
    display: none;
}

.rh2-special-item-right-column-desktop {
    flex: 3;
    overflow: hidden;
}

.rh2-special-item-right-column-mobile {
    flex: 3;
    padding-left: 8px;
    padding-right: 8px;
}

.rh2-special-item-right-column-mobile-hidden {
    display: none;
}

.rh2-special-item-title-row {
    font-size: 22px;
    font-family: "Inter-Bold";
    line-height: 24px;
    display: flex;
    align-items: center;
}

.rh2-special-item-title-star {
    width: 24px;
    height: 24px;
    background-image: url('/rh2/static/icon/bookingform/star-s-fill.svg?r');
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
    margin-right: 10px;
}

.rh2-special-item-title-star.hotdeal {
    background-image: url('/rh2/static/icon/bookingform/star-hd-fill.svg?r');
}

.rh2-special-item-description-row {
    margin-top: 16px;
}

.rh2-special-item-schedule-row {
    margin: 48px auto 20px;
    color: hsla(0, 0%, 35%, 1);
}

.rh2-special-item-schedule-item {
    display: block;
    margin-bottom: 1em;
}

.rh2-special-item-schedule-item-mobile {
    float: none;
    display: block;
}

.rh2-special-item-book-button-row {
    display: flex;
    justify-content: right;
}

.rh2-special-item-book-button-row.mobile {
    justify-content: center;
}

.rh2-special-item-book-button {
    display: flex;
    justify-content: center;
    align-items: center;
    float: right;
    width: 160px;
    height: 48px;
    border-radius: 8px;
    background-color: #F5214E;
    color: hsla(0, 0%, 100%, 1);
    text-decoration: none;
    font-size: 16px;
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}

.rh2-special-item-book-button-mobile {}

.rh2-special-item-book-button:visited {
    color: hsla(0, 0%, 100%, 1);
}

.rh2-special-item-condition-row {
    color: hsla(0, 0%, 35%, 1);
    clear: both;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 2px solid hsla(0, 0%, 90%, 1);
}

.rh2-special-item-guide-row {
    margin-top: 48px;
    background-color: hsla(0, 0%, 90%, 1);
    padding: 24px;
    border-radius: 8px;
}

.rh2-special-item-guide-title {
    font-family: "Inter-SemiBold";
    font-size: 16px;
    margin-bottom: 8px;
}

.rh2-special-item-guide-item {
    font-size: 14px;
    font-style: italic;
    margin-top: 4px;
    margin-bottom: 4px;
}

.rh2-special-item-business-basic-row {
    display: flex;
    flex-direction: row;
}

.rh2-special-item-business-logo-col {
    flex: initial;
    width: 96px;
    height: 96px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-special-item-business-attr-col {
    flex: 1;
    padding-left: 8px;
}

.rh2-special-item-business-title-row {
    display: block;
    font-family: "Inter-SemiBold";
    font-size: 18px;
    height: 40px;
    text-decoration: none;
}

.rh2-special-item-business-title-row:visited {
    color: initial;
}

.rh2-special-item-business-cuisine-row {
    color: hsla(0, 0%, 60%, 1);
}

.rh2-special-item-business-review-row {
    height: 32px;
    padding-top: 8px;
    display: flex;
}

.rh2-special-item-business-review-row-review-image {
    flex: initial;
    width: 96px;
    height: 24px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-special-item-business-review-row-review-number {
    margin-left: 8px;
    font-size: 14px;
    color: hsla(0, 0%, 60%, 1);
    line-height: 24px;
}

.rh2-special-item-business-review-row-price-col {
    margin-left: 8px;
    font-size: 14px;
    line-height: 24px;
}

.rh2-special-item-business-review-row-price-col-on {
    display: inline-block;
    color: hsla(14, 88%, 55%, 1);
}

.rh2-special-item-business-review-row-price-col-off {
    display: inline-block;
    color: #d0d0d0;
}

.rh2-special-item-business-photos-row {
    margin-top: 16px;

    border: 1px solid hsla(0, 0%, 80%, 1);

    width: 340px;
    margin-bottom: 16px;
    display: flex;
    flex-direction: row;
}

.rh2-special-item-business-photos-row-item {
    flex: initial;
    width: 72px;
    height: 72px;
    margin-right: 4px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-special-item-business-photos-row-item-more {
    flex: initial;
    width: 32px;
    height: 72px;
    line-height: 72px;
    text-align: center;
    text-decoration: none;
}

.rh2-special-item-business-section-links-row {
    padding-top: 8px;
    padding-bottom: 8px;
    border: 1px solid hsla(0, 0%, 80%, 1);
    border-radius: 8px;
    width: 340px;
    text-decoration: none;
}

.rh2-special-item-business-section-links-row-item {
    margin-left: 8px;
    margin-right: 8px;
    text-decoration: none;
}

.rh2-special-item-business-location-title-row {
    margin-top: 32px;
    font-family: "Inter-SemiBold";
    font-size: 18px;
}

.rh2-special-item-business-address-row {
    margin-top: 16px;
    font-size: 14px;
}

.rh2-special-item-business-map-row {
    margin-top: 16px;
    width: 100%;
    height: 192px;
}


.rh2-special-item-business-other-specials-row {
    margin-top: 32px;
    padding: 16px;
    border: 1px solid hsla(0, 0%, 80%, 1);
    border-radius: 16px;
}

.rh2-special-item-business-other-specials-title {
    font-family: "Inter-SemiBold";
    font-size: 18px;
}

.rh2-special-item-business-other-specials-item {
    margin-top: 16px;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.rh2-special-item-business-other-specials-icon {
    width: 22px;
    height: 22px;
    margin-right: 8px;
    background: url('/rh2/static/icon/site/star-special.svg?r') no-repeat center;
    background-size: contain;
}

.rh2-special-item-business-other-specials-item.hotdeal .rh2-special-item-business-other-specials-icon {
    background: url('/rh2/static/icon/site/star-special-hd.svg?r') no-repeat center;
    background-size: contain;
}

.rh2-special-link-business-other-specials-link {
    float: right;
    color: hsla(0, 0%, 60%, 1);
    margin-left: auto;
    white-space: nowrap;
}

.rh2-special-link-business-other-specials-link:visited {
    color: hsla(0, 0%, 60%, 1);
}




.rh2-business-item-special-card-desktop {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin-right: 8px;
    margin-bottom: 24px;
    border: 1px solid #DDDDDD;
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-direction: row;
}

.rh2-business-item-special-card-mobile {
    position: relative;
    display: block;
    width: 100%;
    max-width: 100%;
    margin-right: 8px;
    margin-bottom: 16px;
    border: 1px solid #DDDDDD;
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.rh2-business-item-special-card-part-image-desktop {
    flex: initial;
    width: 240px;
    margin: 10px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rh2-business-item-special-card-part-image-mobile {
    flex: initial;
}

.rh2-business-item-special-card-part-image-image {
    position: relative;
    width: 100%;
    height: 240px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 8px;
}

.rh2-business-item-special-card-part-image-mobile .rh2-business-item-special-card-part-image-image {
    height: calc(100vw - 18px);
    border-radius: 0;
}

/* share button for mobile */
.rh2-business-item-share {
    padding: 8px 10px 8px 32px;
    border: solid 1px grey;
    border-radius: 8px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 40px;
    border-radius: 8px;
    font-size: 16px;
    cursor: pointer;
    user-select: none;
    background: url('/rh2/static/image/feather/share-2.svg') no-repeat center;
    background-repeat: no-repeat;
    background-size: 24px;
    background-position: 8px center;
    padding-left: 40px;
    padding-right: 10px;
}

.rh2-business-item-share.copy-ok {
    background-color: lightgreen;
}

.rh2-business-item-special-card-part-text-desktop {
    flex: 1;
    height: 100%;
    padding-top: 16px;
    padding-bottom: 64px;
}

.rh2-business-item-special-card-part-text-mobile {
    min-height: 240px;
    padding-top: 16px;
    padding-bottom: 70px;
    position: relative;
}

.rh2-business-item-special-card-row-title {
    display: block;
    width: 100%;
    padding-left: 16px;
    color: #F5214E;
    font-family: "Inter-SemiBold";
    font-size: 18px;
    line-height: 20px;
    margin-bottom: 1em;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.rh2-business-item-special-card-row-title:visited {
    color: #F5214E;
}

.rh2-business-item-special-card-section-schedule {
    font-size: 14px;
    padding-left: 16px;
    padding-right: 16px;
    overflow: hidden;
    color: hsla(0, 0%, 50%, 1);
    margin-bottom: 8px;
}

.rh2-business-item-special-card-row-condition-0 {
    width: 100%;
    max-width: 100%;
    padding-left: 16px;
    padding-right: 16px;
    font-size: 14px;
    margin-bottom: 1em;
    overflow: hidden;
    color: hsla(0, 0%, 50%, 1);
}

.rh2-business-item-special-card-row-condition-1 {
    width: 100%;
    max-width: 100%;
    padding-left: 16px;
    padding-right: 16px;
    font-size: 14px;
    line-height: 16px;
    margin-bottom: 4px;
    color: hsla(0, 0%, 50%, 1);
}

.rh2-business-item-special-card-row-condition-2 {
    width: 100%;
    max-width: 100%;
    padding-left: 16px;
    padding-right: 16px;
    font-size: 14px;
    line-height: 16px;
    color: hsla(0, 0%, 50%, 1);
}

.rh2-business-item-special-card-section-description {
    margin-top: 8px;
    padding-left: 16px;
    padding-right: 16px;
    margin-bottom: 16px;
    color: hsla(0, 0%, 25%, 1);
}

.rh2-business-item-special-card-details-popup {
    display: none;
    position: absolute;
    width: 92%;
    left: 4%;
    height: 240px;
    max-height: 240px;
    top: 20px;
    background-color: hsla(0, 0%, 100%, 1);
    border: 1px solid #DDDDDD;
    border-radius: 8px;
    padding: 16px;
    overflow: auto;
}

.rh2-business-item-special-card-details-popup-active {
    display: block !important;
}

.rh2-business-item-special-card-details-popup-row {
    font-size: 16px;
    line-height: 20px;
    margin-bottom: 8px;
}

.rh2-business-item-special-card-details-popup-row-title {
    font-weight: bold;
}

.rh2-business-item-special-card-details-button {
    position: absolute;
    bottom: 8px;
    right: 8px;
    padding: 4px;
    border: 1px solid #F5214E;
    color: #F5214E;
    background-color: hsla(0, 0%, 100%, 1);
    border-radius: 4px;
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}

.rh2-business-item-special-card-details-button-active {
    background-color: #F5214E;
    color: #FFFFFF;
}

.rh2-business-item-special-card-details-button:hover {
    background-color: #F5214E;
    color: #FFFFFF;
}

.rh2-business-item-special-card-row-txt-col-1 {
    display: inline-block;
}

.rh2-business-item-special-card-row-txt-col-2 {
    display: inline-block;
}

.rh2-business-item-special-card-bottom-row {
    display: flex;
    gap: 10px;
    position: absolute;
    bottom: 15px;
    right: 15px;
    align-items: center;
}

.rh2-business-item-special-card-see-details-button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 160px;
    height: 32px;
    background-color: hsla(0, 0%, 100%, 1);
    border-radius: 8px;
    color: hsla(0, 0%, 35%, 1);
    border: 1px solid hsla(0, 0%, 35%, 1);
    text-decoration: none;
    text-align: center;
    font-size: 16px;
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}

.rh2-business-item-special-card-see-details-button:visited {
    color: hsla(0, 0%, 35%, 1);
}

.rh2-business-item-special-card-book-button {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 40px;
    border-radius: 8px;
    background-color: #F5214E;
    color: hsla(0, 0%, 100%, 1);
    text-decoration: none;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    user-select: none;
    background-image: url('/rh2/static/icon/bookingform/star-s-outline.svg?r');
    background-repeat: no-repeat;
    background-size: 28px;
    background-position: 8px center;
    padding-left: 40px;
    padding-right: 10px;
}

.rh2-business-item-special-card-book-button.special-hd {
    background-image: url('/rh2/static/icon/site/star-special-hd.svg?r');
}

.rh2-business-item-special-card-book-button:visited {
    background-color: #F5214E;
    color: hsla(0, 0%, 100%, 1);
}

.rh2-business-list-special-card-desktop {
    position: relative;
    width: 100%;
    max-width: 100%;
    max-height: 999px;
    border: 1px solid #DDDDDD;
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-direction: row;
    transition: max-height 0.25s ease-out;
}

.rh2-business-list-special-card-section-details {
    position: relative;
    max-height: 0px;
    opacity: 0;
    transition: max-height 0.25s ease-in, opacity 0.25s ease-in, margin 0.25s ease-in;
}

.rh2-business-list-special-card-desktop.open .rh2-business-list-special-card-section-details,
.rh2-business-list-special-card-mobile.open .rh2-business-list-special-card-section-details {
    max-height: 999px;
    opacity: 1;
    margin-bottom: 1em;
}

.rh2-business-list-special-card-desktop.open .rh2-business-list-special-card-section-details-description,
.rh2-business-list-special-card-mobile.open .rh2-business-list-special-card-section-details-description {
    margin: 1em 0;
}

.rh2-business-list-special-card-section-details-conditions {
    font-size: 14px;
    color: #666;
}

.rh2-business-item-special-card-desktop.open .rh2-business-list-special-card-section-details,
.rh2-business-item-special-card-mobile.open .rh2-business-list-special-card-section-details {
    max-height: 999px;
    opacity: 1;
}

.rh2-business-list-special-card-mobile {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin-bottom: 3em;
}

.rh2-business-list-special-card-mobile .row-main {
    display: flex;
    flex-direction: row;
    gap: 16px;
}

.rh2-business-list-special-card-part-image-desktop {
    flex: initial;
    width: 220px;
    height: 220px;
    padding: 10px;
}

.rh2-business-list-special-card-part-image-mobile {
    flex: initial;
    width: 190px;
    height: 190px;
}

.rh2-business-list-special-card-part-image-image {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 8px;
}

.rh2-business-list-special-card-mobile .rh2-business-list-special-card-part-image-image {
    width: 190px;
    height: 190px;
    box-shadow: 3px 3px 10px 6px #aaa;
    border-radius: 20px;
}

.rh2-business-list-special-card-part-image-desktop .rh2-business-list-special-card-part-image-image {
    border-radius: 8px;
}

.rh2-business-list-special-card-part-text-desktop {
    flex: 1;
    min-height: 100%;
    padding: 10px 10px 64px;
    position: relative;
}

.rh2-business-list-special-card-part-text-mobile {
    position: relative;
}

.rh2-business-list-special-card-row-title {
    display: block;
    width: 100%;
    color: #F5214E;
    font-family: "Inter-SemiBold";
    font-size: 16px;
    line-height: 20px;
    margin-bottom: 12px;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.rh2-business-list-special-card-row-title:visited {
    color: #F5214E;
}

.rh2-business-list-special-card-section-schedule {
    margin-top: 4px;
    font-size: 14px;
    overflow: hidden;
    color: hsla(0, 0%, 50%, 1);
    margin-bottom: 8px;
}

.rh2-business-list-special-card-section-hotdeal-price {
    margin-top: 4px;
    font-size: 14px;
    color: hsla(0, 0%, 50%, 1);
    margin-bottom: 8px;
}

.rh2-business-list-special-card-section-business {
    margin-top: 16px;
}

.rh2-business-list-special-card-section-business-name-row {
    margin-top: 8px;
    font-family: "Inter-SemiBold";
    font-size: 16px;
    text-underline-offset: 3px;
}

.rh2-business-list-special-card-section-business-name-row:visited {
    color: initial;
}

.rh2-business-list-special-card-section-business-attr-row-0 {
    margin-top: 4px;
    height: 20px;
    line-height: 20px;
    display: flex;
    flex-direction: row;
    font-size: 14px;
    color: hsla(0, 0%, 60%, 1);
    overflow: hidden;
}

.rh2-business-list-special-card-section-business-attr-row-0-ta-image {
    width: 100px;
    height: 20px;
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-business-list-special-card-section-business-attr-row-0-cuisine {
    margin-left: 8px;
}

.rh2-business-list-special-card-section-business-attr-row-1 {
    margin-top: 4px;
    height: 20px;
    line-height: 20px;
    display: flex;
    flex-direction: row;
    font-size: 14px;
    color: hsla(0, 0%, 60%, 1);
}

.rh2-business-list-special-card-section-business-attr-row-1-special-count {}

.rh2-business-list-special-card-section-business-attr-row-1-special-hd-count {
    margin-left: 10px;
}

.rh2-business-list-special-card-section-details-description {
    margin: 0;
    font-size: 15px;
    transition: margin 0.25s ease-in;
}

.rh2-business-list-special-card-buttons {
    position: absolute;
    bottom: 0px;
    right: 0px;
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: right;
    padding: 8px;
}

.rh2-business-list-special-card-mobile .rh2-business-list-special-card-buttons {
    width: 100%;
    justify-content: right;
    gap: 20px;
    position: relative;
    padding: 0;
}

.rh2-business-list-special-card-details-button {
    font-size: 14px;
    text-decoration: underline dashed;
    text-underline-offset: 3px;
    user-select: none;
    cursor: pointer;
    color: #666;
    white-space: nowrap;
    min-width: 62px;
}

.rh2-business-list-special-card-book-button {
    display: flex;
    align-items: center;
    height: 42px;
    border-radius: 8px;
    background-color: #F5214E;
    color: white;
    text-decoration: none;
    font-size: 16px;
    padding: 0 10px 0 42px;
    font-weight: bold;
    cursor: pointer;
    user-select: none;
    background-image: url('/rh2/static/icon/bookingform/star-s-outline.svg?r');
    background-size: 28px;
    background-position: 8px center;
    background-repeat: no-repeat;
}

.rh2-business-list-special-card-book-button.special-hd {
    background-image: url('/rh2/static/icon/site/star-special-hd.svg?r');
}

.rh2-business-list-special-card-restaurant-button {
    height: 42px;
    border-radius: 8px;
    background-color: #ffa24c;
    color: white;
    text-decoration: none;
    font-size: 16px;
    line-height: 42px;
    padding: 0 10px;
    cursor: pointer;
    user-select: none;
}

.rh2-business-list-special-card-desktop .rh2-business-list-special-card-restaurant-button {
    right: 210px;
    left: auto;
}

@media (max-width: 389px) {
    .rh2-business-list-special-card-restaurant-button {
        display: none;
    }
}

.rh2-business-list-special-card-book-button:visited {
    background-color: #F5214E;
    color: white;
}

.rh2-business-list-special-card-restaurant-button:visited {
    color: white;
}
/* site-bf.css */
/* RH BookingForm CSS */
.rh2-bf-generic {
    width: 100%;
    height: 100%;

    border: 1px solid #D3D3D3;
    border-radius: 16px;
    box-shadow: 0px 3px 12px #00000014;
}

.rh2-bf-generic-header {}

.rh2-bf-generic-body {}

.rh2-bf-generic-footer {}

.rh2-bf-generic-header {
    position: relative;

    width: 100%;
    height: 48px;
    margin-top: 20px;
    flex: initial;

    padding-left: 12px;
    padding-right: 12px;

    font-size: 20px;
    font-weight: bold;
    line-height: 24px;

}

.rh2-bf-generic-dsp-bar {
    position: relative;
    width: 192px;
    height: 52px;
    left: 50%;
    margin-left: -96px;

    margin-bottom: 20px;
    border-radius: 26px;
    border: 1px solid #DDDDDD;

    font-size: 14px;
    font-weight: bold;

    box-shadow: 0px 3px 13px #00000010;

    display: flex;
    flex-direction: row;

    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}

.rh2-bf-generic-dsp-label-col {
    padding-top: 16px;
    padding-left: 16px;
}

.rh2-bf-generic-pax-col {
    flex: initial;
    width: 32px;
    position: relative;
    height: 100%;
}

.rh2-bf-generic-pax-span {
    width: 100%;
    height: 32px;
    margin-top: 10px;
    padding-top: 6px;
    padding-left: 16px;
}

.rh2-bf-generic-dsp-overlay {
    position: absolute;
    width: 360px;
    max-width: 90%;
    max-height: 100%;
    height: 100%;
    display: none;
    z-index: 20;

    padding-top: 116px;
}

.rh2-bf-generic-dsp-overlay-active {
    display: flex !important;
    flex-direction: column;
}

.rh2-bf-dsp-overlay-content-area {
    max-width: 100%;

    padding: 16px;
    background: white;

    margin-top: 8px;
    height: 360px;
    max-height: 360px;
    overflow-y: auto;

    border: 1px solid #DDDDDD;
    box-shadow: 0px 3px 13px #00000010;
}

.rh2-bf-dsp-overlay-content-area-pax {
    position: absolute;
    left: 50%;
    width: 120px;

    padding-top: 0px;
}

.rh2-bf-dsp-overlay-content-area-date {}

.rh2-bf-dsp-overlay-content-area-time {
    position: absolute;
    right: 0px;
    width: 160px;

    padding-top: 0px;
}

.rh2-bf-overlay-pax-value-span {
    width: 20px;
    text-align: center;
    display: inline-block;
    position: relative;
    top: -10px;
}

.rh2-bf-generic-overlay-pax-row {
    width: 90%;
    font-size: 14px;
    font-weight: bold;
    padding: 14px;

    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}

.rh2-bf-generic-overlay-pax-row-selected {
    border-radius: 24px;
    background-color: #EEEEEE;
}

.rh2-bf-generic-calendar {
    position: relative;
    width: 90%;
    margin-left: 5%;
    height: 326px;
}

.rh2-bf-generic-calendar-container {
    position: relative;
    left: 50%;
    margin-left: -140px;
    width: 280px;
    height: 320px;
}

.rh2-bf-generic-continue-button {
    position: relative;
    width: 160px;
    height: 38px;
    left: 50%;
    margin-left: -80px;
    background-color: hsla(15, 85%, 55%, 1);
    border-radius: 8px;
    color: hsla(0, 0%, 100%, 1);

    padding-top: 10px;
    text-align: center;
    font-size: 16px;

    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}
/* booking.css */
.rh2-booking-text-input {
    display: inline-block;
    height: 36px;
    padding-left: 4px;
    padding-right: 4px;
    font-size: 16px;
    line-height: 36px;
    border-radius: 4px;
    border: 1px solid #E0E0E0;
    font-family: 'Inter-Regular';
}

.rh2-booking-heading {
    position: relative;

    width: 100%;
    margin: 20px 12px;
    flex: initial;

    font-size: 20px;
    font-family: "Inter-Bold";
    line-height: 24px;
}

.rh2-booking-heading-link {
    margin: 0 0 2em 12px;
    text-underline-offset: 4px;
    display: flex;
    gap: 20px;
}

.rh2-booking-heading-link a {
    display: inline-block;
    padding-left: 24px;
    background-position: left 1px;
    background-repeat: no-repeat;
    background-size: contain;
}

.rh2-booking-heading-link-restaurant {
    background-image: url('/rh2/static/icon/material/action/2x_web/ic_info_outline_black_18dp.png');
}

.rh2-booking-heading-link-restaurant-list {
    background-image: url('/rh2/static/icon/material/editor/2x_web/ic_format_list_bulleted_black_18dp.png');
}

.rh2-booking-ccform {
    border: none;
    outline: none;
    overflow: hidden;
}

.rh2-booking-message-row {
    padding-top: 4px;
    padding-bottom: 4px;
    font-size: 16px;
}

.rh2-booking-message-row-red {
    color: red;
}

.rh2-booking-body-desktop {
    width: 100%;
    display: flex;
    padding-bottom: 130px;
}

.rh2-booking-body-mobile {
    width: 100%;
    display: flex;
}

.rh2-booking-left-column-desktop {
    flex: 3;
}

.rh2-booking-left-column-mobile {
    flex: 3;
    padding-left: 8px;
    padding-right: 8px;
}

.rh2-booking-middle-column-desktop {
    flex: 1;
}

.rh2-booking-middle-column-mobile {
    display: none;
}

.rh2-booking-right-column-desktop {
    flex: 5;
}

.rh2-booking-right-column-mobile {
    display: none;
}

.rh2-booking-pax-overlay {
    position: absolute;
    width: 360px;
    max-width: 90%;
    max-height: 100%;
    height: 640px;
    display: none;
    z-index: 20;

    padding-top: 50px;
}

.rh2-booking-pax-overlay-active {
    display: flex !important;
    flex-direction: column;
}

.rh2-booking-dsp-bar {
    display: flex;
    flex-direction: row;

    width: 100%;
    height: 52px;
    margin-bottom: 20px;
    border-radius: 12px;
    border: 1px solid #DDDDDD;

    font-size: 14px;
    font-weight: bold;

    box-shadow: 0px 3px 13px #00000010;
}

.rh2-booking-dsp-pax-col {
    flex: 1;
    position: relative;
    height: 100%;
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}

.rh2-booking-dsp-pax-icon {
    position: absolute;
    top: 16px;
    left: 12px;
    width: 20px;
    height: 20px;
    background-image: url('/rh2/static/icon/bookingform/group-line.svg');
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-booking-dsp-pax-span {
    width: 100%;
    height: 32px;
    margin-top: 10px;
    padding-top: 6px;
    padding-left: 40px;
    border-right: 1px solid #EDEDED;
}

.rh2-booking-pax-overlay-content-area {
    max-width: 100%;
    padding: 16px;
    background: white;
    margin-top: 1px;
    border: 1px solid #DDDDDD;
    box-shadow: 0px 3px 13px #00000010;
}

.rh2-booking-pax-overlay-content-area-pax {
    position: absolute;
    left: 0px;
    padding-top: 0px;
    max-height: 320px;
    overflow-y: scroll;
}

.rh2-booking-overlay-pax-row {
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    padding: 14px;
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}

.rh2-booking-overlay-pax-row-selected {
    border-radius: 50%;
    background-color: #EEEEEE;
}

.rh2-booking-dsp-date-col {
    flex: 1;
    position: relative;
    height: 100%;
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}

.rh2-booking-dsp-date-icon {
    position: absolute;
    top: 16px;
    left: 12px;
    width: 20px;
    height: 20px;
    background-image: url('/rh2/static/icon/bookingform/calendar-event-line.svg');
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-booking-dsp-date-span {
    width: 100%;
    height: 32px;
    margin-top: 10px;
    padding-top: 6px;
    padding-left: 40px;
    border-right: 1px solid #EDEDED;
}

.rh2-booking-dsp-session-row {
    display: flex;
    flex-direction: row;
    border-bottom: 1px solid hsla(0, 0%, 80%, 1);
    padding-bottom: 10px;
}

.rh2-booking-dsp-session-row-item {
    flex: 1;
    text-align: center;
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}

.rh2-booking-dsp-session-row-item-showing {
    font-family: "Inter-Bold";
}

.rh2-booking-dsp-grid {
    min-height: 64px;
    margin-top: 16px;
    display: flex;
    flex-wrap: wrap;
}

.rh2-booking-dsp-grid-button {
    position: relative;
    width: 31%;
    height: 32px;

    margin-bottom: 16px;
    margin-left: 1%;
    margin-right: 1%;

    text-align: center;
    padding-top: 8px;
    border-radius: 8px;
    border: 1px solid #DDDDDD;

    font-size: 14px;
    font-weight: 600;

    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}

.rh2-booking-dsp-grid-button-unavailable {
    background-color: #EDEDED !important;
    color: #B7B7B7;
}

.rh2-booking-dsp-grid-button-available {
    cursor: pointer;
}

.rh2-booking-dsp-grid-button-selected {
    background-color: #F5214E !important;
    color: #FFFFFF;
}

.rh2-booking-dsp-grid-button-star {
    width: 16px;
    height: 16px;
    position: absolute;
    left: 5px;
    top: 7px;
    background-image: url('/rh2/static/icon/bookingform/star-s-fill.svg?r');
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-booking-dsp-grid-button-selected .rh2-booking-dsp-grid-button-star {
    background-image: url('/rh2/static/icon/bookingform/star-s-outline.svg?r');
}

.rh2-booking-dsp-grid-button-star-hd {
    width: 16px;
    height: 16px;
    position: absolute;
    right: 5px;
    top: 7px;
    background-image: url('/rh2/static/icon/bookingform/star-hd-fill.svg?r');
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-booking-dsp-grid-button-selected .rh2-booking-dsp-grid-button-star-hd {
    background-image: url('/rh2/static/icon/bookingform/star-hd-outline.svg?r');
}

.rh2-booking-dsp-time-note-row {
    clear: both;
}

.rh2-booking-dsp {
    margin-bottom: 30px;
}

.rh2-booking-details-area {
    clear: both;
    margin-top: 16px;
}

.rh2-booking-details-label-row {
    font-family: "Inter-SemiBold";
    margin-top: 16px;
    margin-bottom: 8px;
}

.rh2-booking-details-name-row {
    width: 100%;
}

.rh2-booking-details-first-name-col {
    display: inline-block;
    width: 45%;
    margin-right: 5%;
}

.rh2-booking-details-first-name-input {
    width: 100%;
}

.rh2-booking-details-last-name-col {
    display: inline-block;
    width: 45%;
    margin-left: 5%;
}

.rh2-booking-details-last-name-input {
    width: 100%;
}

.rh2-booking-details-email-address-input {
    width: 100%;
}

.rh2-booking-details-phone-number-row {
    display: flex;
}

.rh2-booking-details-phone-number-input {
    width: 100%;
    border-radius: 0 4px 4px 0;
}

.rh2-booking-details-phone-warning {
    font-size: 14px;
    font-style: italic;
    color: #666;
    margin: 8px 0 16px;
}

.rh2-booking-details-phone-cc-wrapper {
    position: relative;
    width: 100px;
}

.rh2-booking-details-phone-cc-wrapper::before {
    content: none;
}

.rh2-booking-details-phone-cc-wrapper::after {
    content: '▼';
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    color: #666;
    font-size: 12px;
}

.rh2-booking-details-phone-cc-input {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 100%;
    font-size: 0;
    cursor: pointer;
    outline: none;
    background-color: transparent;
    background-image: url('https://flagcdn.com/nz.svg');
    background-repeat: no-repeat;
    background-size: 50%;
    background-position: 10px center;
    border-radius: 4px 0 0 4px;
    border-right: none;
}

.rh2-booking-details-phone-cc-input option {
    font-size: 16px;
}

.rh2-booking-notes-input {
    width: 100%;
    height: auto;
    font-family: inherit;
    line-height: 1.5;
}

.rh2-booking-options-area {
    margin-top: 32px;
}

.rh2-booking-options-area-heading {
    font-family: "Inter-SemiBold";
    font-size: 18px;
    margin-bottom: 16px;
}

.rh2-booking-options-row {
    padding-bottom: 0.5em;
}

.rh2-booking-special-area {
    clear: both;
    margin-bottom: 20px;
}

.rh2-booking-special-heading-row {
    font-family: "Inter-SemiBold";
    font-size: 18px;
    margin-bottom: 32px;
}

.rh2-booking-special-heading-row-mobile {
    font-family: "Inter-SemiBold";
    font-size: 18px;
    margin-bottom: 16px;
}

.rh2-booking-special-conditions {
    margin-top: 25px;
    font-weight: bold;
}

.rh2-booking-special-conditions-accept {
    display: flex;
    gap: 6px;
    align-items: center;
    font-weight: normal;
    cursor: pointer;
}

.rh2-booking-special-item {
    padding-top: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid hsla(0, 0%, 80%, 1);
    color: #F5214E;
    display: flex;
    align-items: center;
    flex-direction: row;
    cursor: pointer;
}

.rh2-booking-special-item-inactive {
    opacity: 0.5;
}

.rh2-booking-special-item-regular {
    color: unset !important;
}

.rh2-booking-special-item-control {
    flex: initial;
    width: 20px;
    height: 20px;
    line-height: 20px;
    accent-color: #F5214E;
    cursor: pointer;
}

.rh2-booking-special-unavail-reason {}

.rh2-booking-special-unavail-reason .reason-icon {
    width: 24px;
    height: 24px;
    background: url('/rh2/static/icon/site/question.svg') no-repeat;
    background-size: cover;
}

.rh2-booking-special-item-star {
    width: 1em;
    height: 1em;
    line-height: 1em;
    /* 16px */
    background: url('/rh2/static/icon/bookingform/star-s-fill.svg') no-repeat center;
    background-size: cover;
    margin: 5px 0 5px 5px;
}

/* -hd stands for Hot Deals */
.rh2-booking-special-item-star-hd {
    width: 1em;
    height: 1em;
    line-height: 1em;
    /* 16px */
    background: url('/rh2/static/icon/bookingform/star-hd-fill.svg') no-repeat center;
    background-size: cover;
    margin: 5px 0 5px 5px;
}

.rh2-booking-special-item-title {
    flex: 1;
    padding-left: 8px;
    padding-top: 4px;
}

.rh2-booking-stripe-area {
    scroll-margin-top: 90px; /* below the fixed header when the page scrolls to it */
    margin: 40px auto 20px;
    /*    border: solid 1px black;*/
}

.rh2-booking-stripe-title {
    margin-bottom: 1em;
}

.rh2-booking-stripe-form {
    padding: 1em;
    border: solid 1px #ccc;
    border-radius: 10px;
    margin-bottom: 2em;
}

.rh2-booking-tc-text {
    font-size: 14px;
}

.rh2-booking-stripe-msg {
    color: red;
    margin: 20px auto;
}

/* Table Buzz: why a hold or payment failed (outside the card box, which is hidden until the hold is made) */
.rh2-booking-stripe-tb-msg {
    color: red;
    margin: 0 auto 1em;
}

.rh2-booking-stripe-tb-msg:empty {
    display: none;
}

.rh2-booking-stripe-area .rh2-booking-confirm-area-event-terms {
    margin: 0 0 1em;
}

.rh2-booking-stripe-area .rh2-booking-confirm-area-event-terms:empty {
    display: none;
}

.rh2-booking-email-reminder-dialog {
    border: solid 1px #ccc;
    border-radius: 10px;
}

/* copied from .rh2-booking-confirm-button */
.rh2-booking-email-reminder-dialog-close {
    display: inline-block;
    background-color: hsla(15, 85%, 55%, 1);
    border-radius: 8px;
    color: hsla(0, 0%, 100%, 1);
    padding: 10px 20px;
    text-align: center;
    font-size: 16px;
    line-height: 16px;
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}

.rh2-booking-confirm-area-fw-desktop {
    position: fixed;
    left: 0px;
    bottom: 0px;

    height: 120px;
    border-top: 1px solid hsla(0, 0%, 80%, 1);
    background-color: hsla(0, 0%, 100%, 1);
}

.rh2-booking-confirm-area-fw-mobile {
    margin-top: 16px;
    border-top: 1px solid hsla(0, 0%, 80%, 1);
}

.rh2-booking-confirm-area-pw-desktop {
    display: flex;
    flex-direction: row;
    height: 100%;
    align-items: center;
}

.rh2-booking-confirm-area-pw-mobile {
    margin-top: 16px;
    padding-left: 8px;
    padding-right: 8px;
}

.rh2-booking-confirm-area-agree-row-desktop {
    flex: 1;
}

.rh2-booking-confirm-area-agree-row-mobile {
    margin-bottom: 2em;
}

.rh2-booking-confirm-area-subscribe-row {
    margin-bottom: 8px;
}

.rh2-booking-confirm-area-confirm-row-desktop {
    line-height: 36px;
}

.rh2-booking-confirm-area-confirm-row-mobile {
    text-align: center;
    line-height: 36px;
}

.rh2-booking-confirm-area-confirm-row-mobile .rh2-booking-confirm-loader {
    margin-left: -44px;
}

.rh2-booking-confirm-loader {
    display: none;
    /* inline-block when not hidden */
    width: 36px;
    height: 36px;
    text-align: center;
    margin-right: 16px;
    background: url('/static/img/ajax-loader.gif') no-repeat center center;
}

.rh2-booking-confirm-button {
    display: inline-block;
    background-color: hsla(15, 85%, 55%, 1);
    border-radius: 8px;
    color: hsla(0, 0%, 100%, 1);
    padding: 10px 20px;
    text-align: center;
    font-size: 16px;
    line-height: 16px;
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}

.rh2-booking-confirm-button-disabled {
    background-color: hsla(0, 0%, 80%, 1) !important;
    color: hsla(0, 0%, 100%, 1) !important;
    cursor: not-allowed !important;
}


/* date form */

.rh2-booking-full-screen-overlay {
    display: none;
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background-color: hsla(0, 0%, 0%, 1);
    z-index: 20;
}

.rh2-booking-full-screen-overlay-active {
    display: initial;
}

.rh2-booking-full-screen-overlay-close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 48px;
    height: 48px;
    background-color: #FFFFFF;
    background-image: url('/rh2/static/icon/material/navigation/2x_web/ic_close_black_18dp.png');
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 25;
    cursor: pointer;
    opacity: 0.5;

    border: 1px solid hsla(0, 0%, 0%, 1);
}

.rh2-booking-full-screen-overlay-close:hover {
    opacity: 1;
}

.rh2-booking-full-screen-overlay-translucent {
    display: none;
    position: fixed;
    top: 0px;
    bottom: 0px;
    width: 100%;
    height: 100%;
    background-color: hsla(0, 0%, 0%, 0.5);
    z-index: 20;
    overflow: auto;
}

.rh2-booking-full-screen-overlay-translucent-active {
    display: initial;
}

.rh2-booking-full-screen-overlay-translucent-close {
    position: absolute;
    right: 50%;
    top: 50%;
    margin-right: -440px;
    margin-top: -290px;
    width: 32px;
    height: 32px;
    background-color: #FFFFFF;
    background-image: url('/rh2/static/icon/material/navigation/2x_web/ic_close_black_18dp.png');
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 25;
    cursor: pointer;
    opacity: 0.5;

}

.rh2-booking-dialogue-container-desktop {
    position: absolute;
    width: 800px;
    min-height: 440px;
    left: 50%;
    margin-left: -400px;
    top: 70px;
    background: hsla(0, 0%, 100%, 1);
    border-radius: 16px;
    padding: 16px;
}

.rh2-booking-dialogue-container-mobile {
    position: relative;
    width: 100%;
    z-index: 10;
    background: hsla(0, 0%, 100%, 1);
    padding: 16px;
    border-radius: 16px;
}

.rh2-booking-dialogue-heading {
    position: relative;

    width: 100%;
    height: 48px;
    margin-top: 20px;
    flex: initial;

    padding-left: 12px;
    padding-right: 12px;

    font-size: 20px;
    font-family: "Inter-Bold";
    line-height: 24px;
}

.rh2-booking-dialogue-close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 32px;
    height: 32px;
    background: url('/rh2/static/icon/site/close.svg') no-repeat center;
    background-size: contain;
    border: solid 1px #666;
    border-radius: 10px;
    cursor: pointer;
}

.rh2-booking-dialogue-body-desktop {
    width: 100%;
    display: flex;
}

.rh2-booking-dialogue-body-mobile {
    width: 100%;
}

.rh2-booking-dialogue-left-column-desktop {
    flex: 5;
    position: relative;
}

.rh2-booking-dialogue-left-column-mobile {
    position: relative;
}

.rh2-booking-dialogue-middle-column-desktop {
    flex: 1;
    position: relative;
}

.rh2-booking-dialogue-middle-column-mobile {
    display: none;
}

.rh2-booking-dialogue-right-column-desktop {
    flex: 6;
    position: relative;
}

.rh2-booking-dialogue-right-column-mobile {
    position: relative;
}

.rh2-booking-dialogue-dsp-area {
    width: 100%;
    position: relative;
}

.rh2-booking-dialogue-dsp-bar {
    display: flex;
    flex-direction: row;

    width: 100%;
    height: 52px;
    margin-bottom: 20px;
    border-radius: 12px;
    border: 1px solid #DDDDDD;

    font-size: 14px;
    font-weight: bold;

    box-shadow: 0px 3px 13px #00000010;
}

.rh2-booking-dialogue-dsp-pax-col {
    flex: 1;
    position: relative;
    height: 100%;
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}

.rh2-booking-dialogue-dsp-pax-icon {
    position: absolute;
    top: 16px;
    left: 12px;
    width: 20px;
    height: 20px;
    background-image: url('/rh2/static/icon/bookingform/group-line.svg');
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-booking-dialogue-dsp-pax-span {
    width: 100%;
    height: 32px;
    margin-top: 10px;
    padding-top: 6px;
    padding-left: 40px;
    border-right: 1px solid #EDEDED;
}

.rh2-booking-dialogue-pax-overlay-content-area {
    position: absolute;
    top: 140px;
    left: 16px;
    width: 120px;

    max-width: 100%;
    padding: 16px;
    background: white;

    margin-top: 8px;

    border: 1px solid #DDDDDD;
    box-shadow: 0px 3px 13px #00000010;
}

.rh2-booking-dialogue-overlay-pax-row {
    width: 90%;
    font-size: 14px;
    font-weight: bold;
    padding: 14px;

    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}

.rh2-booking-dialogue-overlay-pax-row-selected {
    border-radius: 24px;
    background-color: #EEEEEE;
}

.rh2-booking-dialogue-dsp-date-col {
    flex: 1;
    position: relative;
    height: 100%;
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}

.rh2-booking-dialogue-dsp-date-icon {
    position: absolute;
    top: 16px;
    left: 12px;
    width: 20px;
    height: 20px;
    background-image: url('/rh2/static/icon/bookingform/calendar-event-line.svg');
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-booking-dialogue-dsp-date-span {
    width: 100%;
    height: 32px;
    margin-top: 10px;
    padding-top: 6px;
    padding-left: 40px;
    border-right: 1px solid #EDEDED;
}

.rh2-booking-dialogue-dsp-calendar {
    position: relative;
    width: 100%;
    height: 320px;
}

.rh2-booking-dialogue-dsp-calendar-container {
    position: relative;
    left: 50%;
    margin-left: -140px;
    width: 280px;
    height: 320px;
}

.rh2-booking-dialogue-pax-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    display: none;
    z-index: 20;

    padding-top: 50px;
}

.rh2-booking-dialogue-pax-overlay-active {
    display: flex !important;
    flex-direction: column;
}

.rh2-booking-dialogue-highlight-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    display: none;
    z-index: 20;

    padding-top: 50px;
}

.rh2-booking-dialogue-specials-heading {
    font-family: "Inter-SemiBold";
}

.rh2-booking-dialogue-right-column-mobile .rh2-booking-dialogue-specials-heading {
    margin-top: 2em;
    margin-bottom: 1em;
}

.rh2-booking-dialogue-specials-area {
    margin-bottom: 50px;
    border-top: 1px solid hsla(0, 0%, 80%, 1);
}

.rh2-booking-dialogue-specials-item {
    display: flex;
    flex-direction: row;
    padding: 12px 10px 12px 10px;
    border-bottom: 1px solid hsla(0, 0%, 80%, 1);
    /*cursor: pointer;
    user-select: none;*/
}

.rh2-booking-dialogue-specials-item.selected {
    background-color: hsla(348, 100%, 95%, 1);
}

.rh2-booking-dialogue-specials-item-star {
    width: 1em;
    margin-right: 0.25em;
    flex: initial;
    background-image: url('/rh2/static/icon/bookingform/star-s-fill.svg?r');
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-booking-dialogue-specials-item-star-hd {
    width: 1em;
    margin-right: 0.25em;
    flex: initial;
    background-image: url('/rh2/static/icon/bookingform/star-hd-fill.svg?r');
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-booking-dialogue-specials-item-title {
    flex: 1;
    color: hsla(347, 91%, 55%, 1);
}

.rh2-booking-dialogue-specials-item-info {
    width: 24px;
    flex: initial;
}

.rh2-booking-dialogue-continue-button {
    position: absolute;
    left: 50%;
    bottom: 16px;

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

    width: 160px;
    height: 38px;
    margin-left: -80px;
    background-color: hsla(15, 85%, 55%, 1);
    border-radius: 8px;
    color: hsla(0, 0%, 100%, 1);

    text-align: center;
    font-size: 16px;

    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}

.rh2-booking-dialogue-continue-button.disabled {
    background-color: darkgrey;
}

.rh2-booking-dialogue-right-column-mobile .rh2-booking-dialogue-continue-button {
    position: relative;
}

/* result success */
.rh2-booking-result-success-mobile {
    text-align: center;
}

.rh2-booking-result-success-icon-row {
    width: 100%;
    margin-top: 32px;
}

.rh2-booking-result-success-icon {
    position: relative;
    left: 50%;
    margin-left: -32px;
    width: 64px;
    height: 64px;
    background-image: url('/rh2/static/icon/material/action/2x_web/ic_check_circle_black_36dp.png');
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
}

.rh2-booking-result-success-title-row {
    margin-top: 8px;
    font-family: "Inter-Bold";
    font-size: 28px;
    width: 100%;
    text-align: center;
}

.rh2-booking-result-success-email-label-row {
    margin-top: 16px;
    font-family: "Inter-SemiBold";
    font-size: 16px;
    width: 100%;
    text-align: center;
}

.rh2-booking-result-success-email-value-row {
    margin-top: 8px;
    font-size: 18px;
    width: 100%;
    text-align: center;
}

.rh2-booking-result-success-business-name-row {
    margin-top: 48px;
    font-family: "Inter-SemiBold";
    font-size: 20px;
}

.rh2-booking-result-success-details-table {
    margin-top: 32px;
    width: 160px;
}

.rh2-booking-result-success-mobile .rh2-booking-result-success-details-table {
    position: relative;
    width: 160px;
    left: 50%;
    margin-left: -80px;
}

.rh2-booking-result-success-details-th {
    font-family: "Inter-SemiBold";
    min-width: 64px;
    text-align: left;
}

.rh2-booking-result-error-message-label-row {
    font-family: "Inter-SemiBold";
    font-size: 20px;
    margin-bottom: 16px;
}

.rh2-booking-result-error-message-value-row {
    font-size: 16px;
    margin-bottom: 8px;
}

@font-face {
    font-family: 'Inter-Regular';
    font-style: normal;
    font-weight: normal;
    src: local('Inter-Regular'), local('Inter Regular'), url('/rh2/static/font/Inter/Inter-Regular.ttf') format('truetype');
    font-display: swap;
}

@font-face {
    font-family: 'Inter-SemiBold';
    font-style: normal;
    font-weight: normal;
    src: local('Inter-SemiBold'), local('Inter SemiBold'), url('/rh2/static/font/Inter/Inter-SemiBold.ttf') format('truetype');
    font-display: swap;
}

@font-face {
    font-family: 'Inter-Bold';
    font-style: normal;
    font-weight: normal;
    src: local('Inter-Bold'), local('Inter Bold'), url('/rh2/static/font/Inter/Inter-Bold.ttf') format('truetype');
    font-display: swap;
}
.rh2-booking-confirm-area-event-terms {
    margin-top: 12px;
    font-size: 14px;
}

.rh2-booking-confirm-area-event-terms-text {
    margin: 6px 0;
    padding: 8px 10px;
    max-height: 10em;
    overflow-y: auto;
    white-space: pre-line;
    border: 1px solid hsla(0, 0%, 80%, 1);
    border-radius: 4px;
}

.rh2-booking-confirm-area-event-terms label {
    display: flex;
    gap: 6px;
    align-items: center;
    cursor: pointer;
}

/* Table Buzz menus and add-ons (site-1-booking.js tb_render_addons) */
.rh2-booking-addons-section {
    margin-bottom: 16px;
}

.rh2-booking-addons-section-title {
    font-family: "Inter-SemiBold";
    margin-bottom: 4px;
}

.rh2-booking-addons-counter {
    font-size: 14px;
    color: hsla(0, 0%, 40%, 1);
}

.rh2-booking-addons-row {
    padding: 10px 0;
    border-bottom: 1px solid hsla(0, 0%, 80%, 1);
    display: flex;
    align-items: center;
    gap: 8px;
}

.rh2-booking-addons-row-child {
    padding-left: 28px;
}

.rh2-booking-addons-name {
    flex: 1;
}

.rh2-booking-addons-price {
    font-size: 14px;
    color: hsla(0, 0%, 40%, 1);
}

.rh2-booking-addons-stepper {
    display: flex;
    align-items: center;
    gap: 6px;
}

.rh2-booking-addons-stepper-button {
    width: 28px;
    height: 28px;
    line-height: 26px;
    text-align: center;
    border: 1px solid hsla(0, 0%, 70%, 1);
    border-radius: 4px;
    cursor: pointer;
    user-select: none;
}

.rh2-booking-addons-stepper-button-disabled {
    opacity: 0.4;
    cursor: default;
}

.rh2-booking-addons-text {
    width: 100%;
    box-sizing: border-box;
    margin-top: 6px;
}

.rh2-booking-addons-status {
    margin-top: 8px;
    color: #F5214E;
}
