@charset "UTF-8";

/* latin */
@font-face {
    font-family: Roboto;
    font-style: normal;
    font-weight: 100;
    src: url("../fonts/Roboto-Thin.eot");
    src:
        url("../fonts/Roboto-Thin.eot?#iefix") format("embedded-opentype"),
        url("../fonts/Roboto-Thin.woff2") format("woff2"),
        url("../fonts/Roboto-Thin.woff") format("woff"),
        url("../fonts/Roboto-Thin.ttf") format("truetype"),
        url("../fonts/Roboto-Thin.svg") format("svg");
}

/* latin */
@font-face {
    font-family: Roboto;
    font-style: normal;
    font-weight: 300;
    src: url("../fonts/Roboto-Light.eot");
    src:
        url("../fonts/Roboto-Light.eot?#iefix") format("embedded-opentype"),
        url("../fonts/Roboto-Light.woff2") format("woff2"),
        url("../fonts/Roboto-Light.woff") format("woff"),
        url("../fonts/Roboto-Light.ttf") format("truetype"),
        url("../fonts/Roboto-Light.svg") format("svg");
}

/* latin */
@font-face {
    font-family: Roboto;
    font-style: normal;
    font-weight: 400;
    src: url("../fonts/Roboto-Regular.eot");
    src:
        url("../fonts/Roboto-Regular.eot?#iefix") format("embedded-opentype"),
        url("../fonts/Roboto-Regular.woff2") format("woff2"),
        url("../fonts/Roboto-Regular.woff") format("woff"),
        url("../fonts/Roboto-Regular.ttf") format("truetype"),
        url("../fonts/Roboto-Regular.svg") format("svg");
}

/* latin */
@font-face {
    font-family: Roboto;
    font-style: normal;
    font-weight: 700;
    src: url("../fonts/Roboto-Bold.eot");
    src:
        url("../fonts/Roboto-Bold.eot?#iefix") format("embedded-opentype"),
        url("../fonts/Roboto-Bold.woff2") format("woff2"),
        url("../fonts/Roboto-Bold.woff") format("woff"),
        url("../fonts/Roboto-Bold.ttf") format("truetype"),
        url("../fonts/Roboto-Bold.svg") format("svg");
}

/* latin */
@font-face {
    font-family: Roboto;
    font-style: normal;
    font-weight: 900;
    src: url("../fonts/Roboto-Black.eot");
    src:
        url("../fonts/Roboto-Black.eot?#iefix") format("embedded-opentype"),
        url("../fonts/Roboto-Black.woff2") format("woff2"),
        url("../fonts/Roboto-Black.woff") format("woff"),
        url("../fonts/Roboto-Black.ttf") format("truetype"),
        url("../fonts/Roboto-Black.svg") format("svg");
}

/* See http://type-scale.com/ regarding font size strategy */

/* Common */
:root {
    --book-header-scroll-offset: 0;
}

html,
body {
    font-size: 16px;
}

body {
    background-color: #fff;
    color: #1a1a1a;
    font-family: Roboto, sans-serif;
    font-weight: 400;
    line-height: 1.45;
}

header {
    padding: 5px;
}

main {
    background-color: white;
}

p {
    margin-bottom: 1.3em;
}

select {
    background: black;
    color: white;
    padding: 20px;
}

br {
    font-family: Roboto, sans-serif;
    font-weight: 300;
}

.nowrap {
    overflow: hidden;
    white-space: nowrap;
}

.copyright {
    height: 30px;
    text-align: right;
}

.subheader-separator {
    background: #e6dfdf;
    display: block;
    height: 1px;
    margin: 10px 0 30px;
    width: 100%;
}

.booking-select {
    background: white;
    color: black;
    padding: inherit;
}

.book-container .message-box a {
    color: #6f42c1;
}

a.underlined-link,
.book-container p.text a,
.booking-container .add-card-link,
.booking-container a,
.booking-container .code-login-submit {
    color: #337ab7;
}

.booking-container .add-card-link:hover {
    text-decoration: underline;
}

.bg-light-green {
    background-color: #ebf3eb;
    border-radius: 4px;
    margin-top: 20px;
    padding-left: 10px;
    padding-top: 5px;
}

.booking-container .code-login-submit {
    font-weight: 400;
    background-color: unset;
}

.booking-container .select-existing-card,
.booking-container .select-existing-card:focus {
    color: #000;
    border-top: none;
    border-left: none;
    border-right: none;
    border-bottom: 2px solid #000;
    background-color: unset;
    padding: 2px 10px;
    min-width: 300px;
    min-height: 40px;
}

.booking-container .select-existing-card:focus-visible {
    outline: none;
}

.booking-container .select-existing-card option:hover {
    background: #e6e6e6;
}

.code-login-submit:hover {
    text-decoration: underline;
}

.left-col {
    padding: 10px 50px 40px;
}

.right-col {
    padding: 20px 20px 20px 0;
}

.languages-menu .btn-link {
    color: #fff;
    height: 30px;
    text-decoration: none;
}

.languages-menu .btn-link:hover {
    text-decoration: none;
}

.languages-menu .glyphicon {
    color: #fff;
}

.languages-menu .dropdown-menu {
    background-color: #666;
    border-radius: 0;
    margin-top: 0;
}

.languages-menu .dropdown-menu li > .language-title:hover {
    background: #666;
    color: #fff;
    font-weight: 700;
}

.languages-menu .language-title {
    color: white;
    font-weight: 300;
    padding: 3px 14px;
}

.dropdown-label {
    color: #fff;
    display: block;
    font-style: italic;
    font-weight: 400;
    padding: 3px 14px;
}

.submit {
    bottom: -25px;
    color: #fff;
    position: relative;
    z-index: 1;
}

.waiting-submit {
    bottom: 45px;
}

.checkboxes {
    margin-top: 60px;
    padding: 0 190px;
}

/* Font sizes */

.font-small {
    font-size: 0.813em;
}

.font-medium {
    font-size: 0.938em;
}

.font-large {
    font-size: 1.125em;
}

.font-xl {
    font-size: 1.25em;
}

h4,
.font-x-large {
    font-size: 1.25em;
    font-weight: inherit;
    line-height: 1.2;
    margin: 1.414em 0 0.5em;
}

.font-x-large-nob {
    font-size: 1.25em;
    font-weight: inherit;
    line-height: 1.2;
    margin: -0.5em 0 0.5em;
}

h3,
.font-xx-large {
    font-size: 1.375em;
    font-weight: inherit;
    line-height: 1.2;
    margin: 1.414em 0 0.5em;
}

h2,
.font-xxx-large {
    font-size: 1.625em;
    font-weight: inherit;
    line-height: 1.2;
    margin: 1.414em 0 0.5em;
}

h1,
.font-xxxx-large {
    font-size: 2.125em;
    font-weight: inherit;
    line-height: 1.2;
    margin: 0 0 0.5em;
}

h1.cancel-subheader {
    font-size: 2.441em;
    line-height: 45px;
}

.booking-picture-fixed-container {
    position: fixed;
    top: calc(var(--book-header-scroll-offset) * 1px);
    bottom: 0;
    right: 0;
}

.img-cook {
    display: inline-block;
    width: 100%;
    height: 100vh;
    object-fit: cover;
}

.img-logo {
    display: inline-block;
    height: 20px;
    margin-top: 5px;
    width: auto;
}

.img-book-progress {
    display: inline-block;
    margin-bottom: 5px;
}

.book-progress-link {
    color: #000;
    font-size: 0.938em;
    font-weight: 400;
    white-space: nowrap;
}

/* Pax */
.campaign-code-container {
    margin: 0 auto;
    width: 300px;
}

.number-spinner {
    border: none;
    margin: 60px auto 10px;
    position: relative;
    width: 300px;
}

.border-bottom .spinner {
    line-height: 50px;
    padding: 5px;
}

.submit[disabled] {
    background-color: #b3b3b3;
    cursor: not-allowed;
}

.text-over {
    color: #000;
    font-weight: 300;
    padding-left: 8px;
    vertical-align: middle;
}

.number-spinner button.ui-spinner-button[disabled] span,
.number-spinner button.ui-spinner-button[disabled] span:hover {
    color: #b3b3b3;
    cursor: not-allowed;
}

button.ui-spinner-button.black-button-spinner[disabled],
button.ui-spinner-button.black-button-spinner[disabled]:hover {
    background-color: #b3b3b3;
    cursor: not-allowed;
}

.number-spinner .ui-widget-content {
    background-color: #e6e6e6;
    border-radius: 58px;
    line-height: 58px;
    text-align: left;
    width: 300px;
}

.ui-spinner {
    position: relative;
    overflow: visible;
}

.ui-spinner button.ui-spinner-button {
    border-radius: 60px;
    cursor: pointer;
    font-family: Robot, sans-serif;
    height: 60px;
    outline: 0 none;
    position: absolute;
    width: 60px;
    z-index: 2;
    line-height: 60px;
    background-color: #fff;
}

.number-spinner.group-page .ui-spinner button.ui-spinner-button {
    z-index: 0;
}

.valid-giftcard.input .ui-spinner,
.points-input.input .ui-spinner {
    border-radius: 40px;
    height: 40px !important;
    min-height: 45px;
}

.valid-giftcard button.ui-spinner-button,
.points-input button.ui-spinner-button {
    border-radius: 45px;
    height: 45px;
    width: 45px;
    min-height: 45px;
}

.valid-giftcard .ui-spinner button.ui-spinner-button,
.points-input .ui-spinner button.ui-spinner-button {
    height: 45px;
    width: 45px;
    line-height: 42px;
}

.valid-giftcard .ui-spinner button.ui-spinner-button .ui-spinner-text,
.points-input .ui-spinner button.ui-spinner-button .ui-spinner-text {
    line-height: 45px;
    font-size: 50px;
}

.valid-giftcard button.ui-spinner-button .ui-spinner-text,
.points-input button.ui-spinner-button .ui-spinner-text {
    font-size: 50px;
}

.valid-giftcard .ui-spinner .ui-spinner-input,
.points-input .ui-spinner .ui-spinner-input {
    font-size: 1.125em;
    height: 45px;
}

button.ui-spinner-button > .fa {
    font-size: 68px;
    line-height: inherit;
    color: #000;
    margin: 0;
    padding: 0;
    font-weight: bold;
}

button.ui-spinner-button.black-button-spinner {
    background-color: #000;
}

button.ui-spinner-button > .fa-plus-circle {
    content: url("/img/icons/plus.svg");
    position: relative;
    top: 8px;
}

button.ui-spinner-button > .fa-minus-circle {
    content: url("/img/icons/minus.svg");
    position: relative;
    bottom: 2px;
}

button.ui-spinner-button.black-button-spinner:hover {
    background-color: #4b4b4b;
}

button.ui-spinner-button > .fa:hover {
    color: #4b4b4b;
}

.points-input .ui-spinner-button > .fa {
    font-size: 66px;
    line-height: 58px;
}

.ui-spinner-down {
    left: 0;
    top: 0;
}

.ui-spinner .ui-spinner-input {
    border: 1px solid #ddd;
    box-sizing: border-box;
    color: #000;
    font-size: 1em;
    font-weight: 700;
    height: 60px;
    margin: 0;
    outline: 0 none;
    width: 200px;
}

.number-spinner .ui-spinner .ui-spinner-input {
    border: none;
    margin: 0 0 0 80px;
    text-align: right;
    width: 46px;
}

input[type="number"] {
    -moz-appearance: textfield;
    -webkit-appearance: textfield;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -moz-appearance: none;
    -webkit-appearance: none;
}

#booking-pax-spinner .ui-widget.ui-widget-content,
#inline_calendar_container .ui-widget.ui-widget-content,
.ui-widget-content,
.number-spinner.group-page .ui-widget-content {
    border: none;
}

.clear-button {
    background-color: #f1f1f1;
    border: none;
}

.previous-bookings {
    font-weight: 700;
}

.concierges {
    cursor: pointer;
}

.concierge-name {
    color: #a51946;
    margin-left: 22px;
    text-align: left;
}

.concierge-contact {
    color: #808080;
    font-size: 12px;
    font-weight: 500;
    margin-left: 22px;
    margin-top: 10px;
    text-align: left;
}

.concierge-contact .fa {
    margin-right: 5px;
}

.concierge-chevron {
    color: #a51946;
    font-size: 22px;
    margin-right: 12px;
}

.slider-row {
    margin: 0;
    padding: 0;
    position: relative;
}

.slider-container {
    display: none;
    margin-top: 30px;
}

.slick-arrow {
    background: black;
    border-radius: 50px;
    color: white;
    cursor: pointer;
    display: inline-block;
    font-family: FontAwesome;
    font-weight: normal;
    height: 40px;
    line-height: 40px;
    min-width: 40px;
    position: absolute;
    text-align: center;
    text-decoration: none;
    top: 50%;
    transform: translateY(-50%);
    z-index: 999;
}

.slick-arrow:hover {
    color: white;
    text-decoration: inherit;
}

.slick-disabled {
    background: #a6a6a6;
    cursor: not-allowed;
}

.slick-active:focus {
    outline: 1px solid #d5f5d2;
}

.slick-track {
    font-size: 0;
}

.times-carousel-message {
    font-weight: 300;
    margin-top: 20px;
}

.booking-blue-link {
    color: #4a90e2;
    cursor: pointer;
    font-weight: 300;
}

.which-time-wrap {
    border: 1px solid #d3d3d3;
    border-bottom: none;
    margin-top: 20px;
    position: relative;
}

.which-time-triangle,
.which-time-triangle-small {
    border-style: solid;
    height: 0;
    left: 50%;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    width: 0;
}

.which-time-triangle {
    border-color: #d3d3d3 transparent transparent;
    border-width: 14px 16px 0;
}

.which-time-triangle-small {
    border-color: #fff transparent transparent;
    border-width: 14px 16px 0;
    top: -1px;
}

.no-padding {
    padding: 0;
}

.time-slots-grid {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
}

.time-slot-box {
    position: relative;
    padding-bottom: 16%;
    overflow: hidden;
}

.time-label {
    background-color: #d7f4d0;
    border-radius: 5px;
    color: #4a4a4a;
    cursor: pointer;
    display: flex;
    font-size: 16px;
    font-weight: normal;
    height: 85%;
    width: 85%;
    margin: 10%;
    position: absolute;
    inset: 0;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.time-slot-box.with-campaign-code .time-label {
    background-color: #7fc9ff;
    color: #fff;
    flex-direction: column;
    padding-top: 5px;
}

.calendar-legends {
    padding: 15px 0 0 5px;
}

.menu-label {
    font-size: 1.125em;
    font-weight: 600;
    font-family: Roboto, sans-serif;
    color: #000;
    overflow: hidden;
    cursor: pointer;
    margin: 0;
}

.booking-menu:not(.menu-clicked) .menu-label {
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

.event-time-label {
    background: #7074c2;
    color: white;
}

.dinner-saver-time-label {
    background: #6dabf2;
    color: white;
}

.dinner-saver-text-label {
    color: white;
    font-size: 0.7rem;
    padding: 5%;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 30%;
    width: 90%;
    margin: 5%;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.cc-error-message-container {
    padding-left: 9px;
    padding-right: 4px;
}

.time-slot-box.with-campaign-code .dinner-saver-text-label {
    margin: 0;
    margin-left: 5%;
    transform: translateY(-5px);
    padding: 0;
    position: relative;
}

.time-label:hover {
    background: #ebf9e7;
    color: black;
}

.time-label.event-time-label:hover {
    background: #b7b9e0;
    color: white;
}

.time-label.dinner-saver-time-label:hover {
    background: #a7cdf7;
    color: white;
}

.times-label-col {
    border-top: 1px solid lightgrey;
    margin-top: 20px;
}

.no-more-days-message {
    background-color: #000;
    border-radius: 0;
    color: #fff;
    display: none;
    font-size: 0.813em;
    font-weight: normal;
    max-width: 200px;
    padding: 3px 8px;
    position: absolute;
    right: 0;
    text-align: center;
    z-index: 999;
}

.no-more-days-message::before {
    border-color: transparent transparent #000;
    border-style: solid;
    border-width: 0 10px 10px;
    content: "";
    display: block;
    height: 0;
    position: absolute;
    right: 13px;
    top: -10px;
    width: 0;
    z-index: 999;
}

.img-radio-hover-early,
.img-radio-hover-later {
    display: none;
}

.img-radio,
.img-radio-early,
.img-radio-later,
.img-radio-hover-early,
.img-radio-hover-later {
    left: 50%;
    position: absolute;
    top: 62%;
    transform: translateX(-50%) translateY(-30%);
    z-index: 1;
}

.radio-waiting-text {
    font-weight: 300;
    left: 50%;
    position: absolute;
    top: 35%;
    transform: translateX(-50%) translateY(-70%);
}

.radio-waiting-name {
    display: block;
    font-size: 25px;
    font-weight: 900;
}

.custom-input {
    font-size: 20px;
    font-weight: 900;
    margin-bottom: 20px;
    margin-top: 20px;
    padding-left: 10px;
    padding-right: 10px;
}

.radio .disabled-waiting-list {
    cursor: not-allowed;
}

.img-radio-early,
.img-radio-later {
    display: none;
}

.btn-round-sm {
    border-radius: 20px;
    height: 40px;
    width: 40px;
}

.ui-datepicker-header .ui-datepicker-prev,
.ui-datepicker-header .ui-datepicker-next {
    border: none;
}

.ui-datepicker-next.ui-corner-all:hover,
.ui-datepicker-prev.ui-corner-all:hover {
    background: #4b4b4b;
}

.ui-datepicker-prev.ui-corner-all.ui-state-disabled:hover,
.ui-datepicker-next.ui-corner-all.ui-state-disabled:hover {
    opacity: 0.5;
}

.ui-datepicker {
    margin-top: 0.5rem;
}

.calendar-legend {
    font-weight: 300;
}

.border-bottom {
    border-bottom: 1px solid #efebeb;
    position: relative;
}

.m-top-medium {
    margin-top: 20px;
}

.m-top-large {
    margin-top: 60px;
}

.spinner-extend {
    display: none;
}

.btn {
    border-radius: 1em;
    padding-left: 5em;
    padding-right: 5em;
}

.btn-cancel {
    margin: 1em;
}

.top38 {
    top: -38px;
}

.top7 {
    top: -7px;
}

.padding-bottom-40 {
    padding-bottom: 40px;
}

.padding-bottom-5 {
    padding-bottom: 5px;
}

.tooltip {
    width: 20em;
}

.tooltip.show {
    z-index: 999;
}

.pl30 {
    padding-left: 30px;
}

.separator {
    background: #e6dfdf;
    display: block;
    height: 1px;
    width: 100%;
}

.tooltip .tooltip-inner {
    border-radius: 0;
    overflow: hidden;
    white-space: pre-wrap;
    max-width: inherit;
}

.info-padding-top {
    padding-top: 15px;
}

.span-waiting {
    display: block;
    padding-top: 10px;
}

.wait-list-choose-early,
.wait-list-choose-late {
    background-color: #f2f2f2;
    display: inline-block;
    height: 250px;
    width: 100%;
}

label.wait-list-choose-early,
label.wait-list-choose-late {
    border: 1px solid #d8d8d8;
}

.wait-list-active {
    background-color: #d7f4d0;
}

.disabled-radio-input {
    display: block;
    margin: 10px 0;
    position: relative;
}

.checkbox-align,
.info-align {
    padding-left: 0;
    text-align: left;
}

.checkbox-align {
    padding-top: 0;
}

.checkbox-container .checkbox-input {
    display: none;
}

.margin-top-40 {
    margin-top: 40px;
}

.restaurant-area-label {
    display: inline-block;
}

.restaurant-area-radio {
    -moz-opacity: 0;
    -o-opacity: 0;
    -webkit-opacity: 0;
    opacity: 0;
    position: absolute;
}

.restaurant-area-radio + .restaurant-area-label {
    cursor: pointer;
    line-height: 25px;
    margin: 0 0 10px;
    padding: 0 0 0 30px;
    position: relative;
}

.restaurant-area-radio + .restaurant-area-label::before {
    background: white;
    border: 1px solid gray;
    -moz-border-radius: 20px;
    -o-border-radius: 20px;
    -webkit-border-radius: 20px;
    border-radius: 20px;
    -moz-box-shadow: inset 0 0 0 4px white;
    -o-box-shadow: inset 0 0 0 4px white;
    -webkit-box-shadow: inset 0 0 0 4px white;
    box-shadow: inset 0 0 0 4px white;
    content: "";
    display: block;
    left: 0;
    min-height: 20px;
    min-width: 20px;
    position: absolute;
    top: 1px;
}

.restaurant-area-radio:checked + .restaurant-area-label::before {
    background: #000;
}

.concierge-area-label {
    border: 1px solid gray;
    cursor: pointer;
    line-height: 25px;
    margin: 0 0 10px;
    padding: 18px 0 18px 20px;
    position: relative;
}

.concierge-area-label::after {
    content: "\f105";
    font-family: FontAwesome;
    position: absolute;
    right: 25px;
}

.rectangular-concierge {
    background: #fff;
    border-bottom: 2px solid #ccc;
    cursor: pointer;
    margin: 0 auto;
    margin-bottom: 8px;
    min-height: 100px;
    padding-top: 10px;
}

.booking-container label {
    cursor: pointer;
    font-weight: normal;
}

.checkbox-align label {
    cursor: inherit;
    position: relative;
}

.checkbox-container .checkbox-input + label::before {
    background: #fff;
    border: 1px solid #b2b2b2;
    border-radius: 2px;
    content: "\00a0";
    display: inline-block;
    line-height: 13px;
    margin-right: 8px;
    min-width: 15px;
    text-align: center;
}

.checkbox-container .checkbox-input:checked + label::after {
    background: black;
    border-radius: 1px;
    content: " ";
    display: block;
    height: 11px;
    left: 0.16em;
    position: absolute;
    top: 0.3em;
    width: 11px;
}

@-moz-document url-prefix() {
    .checkbox-container .checkbox-input:checked + label::after {
        top: 0.35em;
    }
}

a.text-events,
a.text-events:hover {
    color: #3b8bb1;
}

.legend-calendar {
    display: inline-block;
    font-weight: 300;
    margin-right: 15px;
    padding: 0;
}

.comment textarea {
    background: #fff;
    border: none;
    border-bottom: 2px solid black;
    box-shadow: none;
    color: black;
    font-size: 16px;
    font-weight: 400;
    min-height: 30px;
    line-height: 1.2;
    margin-top: 0;
}

label.cust-comment-label-confirm {
    font-weight: 900;
    font-size: 16px;
}

.social-btns {
    margin-top: 40px;
    text-align: center;
}

.button {
    border: 0;
    -moz-border-radius: 25px;
    -webkit-border-radius: 25px;
    border-radius: 25px;
    color: white;
    display: inline-block;
    max-width: 250px;
    overflow: hidden;
    padding: 7px 14px;
}

.btn-round-lg {
    border-radius: 20px;
    height: 40px;
    min-width: 350px;
}

.no-decoration a {
    color: #fff;
    text-decoration: none;
}

.no-text-decoration,
.no-text-decoration:hover {
    color: inherit;
    text-decoration: none;
}

.black-button-prepayment,
.black-button,
.black-button-spinner {
    background: #000;
    border: none;
    border-radius: 50px;
    color: #fff;
    display: inline-block;
    font-weight: normal;
    height: 50px;
    line-height: 50px;
    padding: 0;
    text-decoration: none;
}

.black-button,
.black-button-spinner {
    width: 300px;
}

.black-button:hover {
    background: #4b4b4b;
}

.black-button-new-design {
    font-size: 1.25em;
    font-weight: 500;
}

.delete-waiting-list-button,
.cancel-booking-button {
    background: #a51946;
    border: none;
    border-radius: 50px;
    color: #fff;
    display: inline-block;
    font-weight: normal;
    height: 50px;
    line-height: 50px;
    padding: 0;
    text-decoration: none;
    width: 300px;
}

.black-button[disabled],
.black-button[disabled]:hover {
    background: #ececec;
    color: #6b6b6b;
    cursor: not-allowed;
}

.black-button-thankyou,
.black-button-thankyou-one-pax {
    background: #000;
    border: none;
    border-radius: 50px;
    color: #fff;
    display: inline-block;
    font-size: 1.125em;
    font-weight: normal;
    height: 50px;
    line-height: 50px;
    min-width: 50%;
    padding: 0;
    text-decoration: none;
}

.black-button-thankyou-one-pax {
    min-width: 44%;
}

.padding-buttons {
    padding: 0 10px;
}

.black-button:hover,
.black-button-thankyou:hover,
.black-button-spinner:hover,
.black-button-thankyou-one-pax:hover,
.delete-waiting-list-button:hover,
.cancel-booking-button:hover {
    color: #fff;
    text-decoration: none;
}

.button-ie11-fix {
    position: relative;
}

.form-select {
    -moz-appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='512'%20height='512'%20viewBox='0%200%20512%20512'%3E%3Cpath%20class='lexicon-icon-outline'%20d='M347.913%20199.336l-81.538-85c-5.413-5.642-14.188-5.642-19.6%200l-81.538%2085c-8.731%209.101-2.548%2024.664%209.8%2024.664h163.077c12.348%200%2018.531-15.563%209.8-24.664zM165.236%20312.664l81.538%2085c5.412%205.642%2014.188%205.642%2019.6%200l81.538-85c8.731-9.101%202.548-24.664-9.8-24.664H175.035c-12.347%200-18.531%2015.563-9.8%2024.664z'%20fill='%236B6C7E'/%3E%3C/svg%3E");
    background-position: right 0.1em center;
    background-repeat: no-repeat;
    background-size: 1.2em auto;
    border: 1px solid #aaa;
    border-radius: 4px;
    padding-left: 1em;
    padding-right: 2em;
}

.waiting-class-button {
    margin-left: 30%;
    top: -5px;
}

.black-button:focus,
.black-button-thankyou:focus,
.black-button-spinner:focus,
.delete-waiting-list-button:focus,
.cancel-booking-button:focus,
.btn-twitter {
    color: #fffffe;
    outline: none;
}

.btn-twitter {
    background: #1da1f2;
    border: none;
    border-radius: 50px;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    height: 50px;
    line-height: 50px;
    min-width: 89%;
    text-align: center;
}

.padding-right20 {
    padding-right: 20px;
}

.triangle-div {
    border-bottom: 13px solid #d7f4d0;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    display: block;
    margin: auto;
    max-width: 10px;
}

.triangle-div-grey {
    border-bottom: 13px solid #f1f1f1;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    display: block;
    margin: auto;
    max-width: 10px;
}

.triangle-div-blue {
    border-bottom: 13px solid #d8e8ef;
}

.message-box {
    margin-bottom: -60px;
    padding: 40px 0 60px;
    position: relative;
}

.close-message-box {
    cursor: pointer;
    font-family: Arial, sans-serif;
    font-weight: 300;
    padding: 6px;
    position: absolute;
    right: 10px;
    top: 10px;
}

.colored-message {
    background-color: #d8e8ef;
}

.profile-link {
    padding-top: 40px;
}

.glyphicon {
    color: #337ab7;
}

.glyphicon-plus,
.glyphicon-minus {
    position: absolute;
    top: 49%;
    transform: translateY(-50%);
}

.glyphicon-minus {
    left: 22px;
}

.glyphicon-plus {
    right: 21px;
}

.fa-chevron-right {
    color: #fff;
    float: right;
    margin-top: 18px;
    margin-right: 25px;
}

.fa-check {
    color: #7ed321;
}

.booking-container {
    background-color: #fff;
    padding-left: 0;
    padding-right: 0;
}

.booking-container.terms-container {
    background-color: transparent;
}

.booking-container-grey {
    background-color: #f1f1f1;
    padding-left: 0;
    padding-right: 0;
}

.background-grey {
    background-color: #f1f1f1;
}

.background-grey.event-container:not(:hover) {
    background-color: #fff;
}

.event-container .event-price > div {
    margin-top: 10px;
}

.add-card {
    position: relative;
}

.check-payment {
    background: #d7d7d7;
    height: 100%;
    width: 100%;
    right: 0;
    top: 0;
    opacity: 0.6;
    position: absolute;
}

.title {
    margin-top: 50px;
}

.cancel-booking {
    margin-top: 50px;
}

.font-link,
.font-link a {
    color: #295c75;
    font-weight: 400;
}

.cancel-link a {
    color: #337ab7;
}

.blue-link {
    font-size: 0.938em;
    color: #4a90e2;
    cursor: pointer;
    font-weight: 300;
    margin-bottom: 0.5rem;
}

.blue-link:hover {
    text-decoration: underline;
    color: #4a90e2;
}

.cancel-input ::-webkit-input-placeholder {
    color: #1e90ff;
}

.cancel-input :-moz-placeholder {
    color: #1e90ff;
}

.cancel-input ::-moz-placeholder {
    color: #1e90ff;
}

.cancel-input :-ms-input-placeholder {
    color: #1e90ff;
}

.email-container {
    margin: auto;
    max-width: 612px;
    padding: 30px;
}

.content-container {
    padding: 30px 30px 0;
    position: relative;
    text-align: left;
}

.book-email-container {
    padding: 20px 20px 0;
    position: relative;
    text-align: left;
}

.waiting-list-request-container {
    margin-right: 30px;
    padding: 30px;
    position: relative;
    text-align: left;
}

.contact-information-container {
    padding: 30px;
    position: relative;
    text-align: left;
    height: 50%;
}

.register-container {
    padding: 60px 30px 0;
}

.full-width {
    width: 100%;
}

.pt30 {
    padding-top: 30px;
}

.mt0 {
    margin-top: 0;
}

.mt50 {
    margin-top: 50px;
}

.centered {
    padding: 30% 0;
}

.mt20 {
    margin-top: 20px;
}

.mt60 {
    margin-top: 60px;
}

.mt30 {
    margin-top: 30px;
}

.mb5 {
    margin-bottom: 5px;
}

.mt5 {
    margin-top: 5px;
}

.mt10 {
    margin-top: 10px;
}

.mb40 {
    margin-bottom: 40px;
}

.mb0 {
    margin-bottom: 0;
}

.mr6 {
    margin-right: 6px;
}

.ml10 {
    margin-left: 10px;
}

.margin-top-1em {
    margin-top: 1em;
}

.margin-top-3em {
    margin-top: 3em;
}

.margin_bottom10 {
    margin-bottom: 10px;
}

.margin_bottom30 {
    margin-bottom: 30px;
}

.margin_bottom50 {
    margin-bottom: 50px;
}

.btn-margin {
    height: 210px;
    margin-top: 20px;
}

.vertical-border {
    border-right: 2px solid #e3e4e6;
}

.border-top {
    border-top: 2px solid #e3e4e6;
}

.padding-top-bottom-15 {
    padding-bottom: 15px;
    padding-top: 15px;
}

.event-price {
    font-size: 13px;
    text-align: right;
    word-spacing: 2px;
}

.event-picture {
    height: auto;
    width: 100%;
}

.thick-horizontal-line {
    border-bottom: 2px solid #ccc;
}

.container-register {
    margin: auto;
    max-width: 610px;
    padding: 0;
    position: relative;
    text-align: left;
}

.container-password {
    padding: 0;
    margin: 20px auto;
    width: 300px;
}

.container-register .container-inputs {
    width: 300px;
    margin: 0 auto;
    margin-bottom: 10px;
}

.font-size-12 {
    font-size: 12px;
}

.font-size-14 {
    font-size: 14px;
}

.font-size-15 {
    font-size: 15px;
}

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

.event-subtitle {
    font-size: 1.2em;
    margin-bottom: 15px;
    margin-top: 20px;
    text-align: center;
}

.events-container {
    padding: 0;
}

.float-label-control-padding {
    padding: 0 0.5em;
}

.confirm-reservation {
    font-size: 2.5rem;
    margin-bottom: 80px;
    margin-top: 100px;
}

.booking-confirm-content {
    padding-left: 0;
    padding-right: 0;
}

.confirm-booking-wrapper .confirm-booking-info {
    line-height: 2;
}

.confirm-booking-content {
    width: 95%;
}

#confirm-comment {
    width: calc(100% - 10px);
}

.form-group .form-control {
    width: 75%;
}

.mobile-div-prepare-cancel {
    height: 71px;
}

.prepare-cancel .custom-country-select-wrap {
    top: 61px;
}

.custom-country-select-wrap {
    background: white;
    border: 1px solid #a9a9a9;
    border-radius: 2px;
    display: none;
    left: 0;
    position: absolute;
    top: 63px;
    z-index: 999;
}

.custom-country-select {
    height: 250px;
    list-style: none;
    margin: 0;
    overflow-y: scroll;
    padding: 0;
    width: 255px;
}

.custom-country-select-option {
    padding: 3px 6px;
    text-align: left;
}

.border-bottom-grey {
    border-bottom: 2px solid #ababab;
}

.custom-country-select-option:hover {
    background: #1e90ff;
    color: white;
    cursor: pointer;
}

.custom-country-select-flag {
    display: inline-block;
    margin-right: 5px;
}

.custom-country-phone {
    color: #000;
    margin-left: 10px;
}

.custom-country-wrapper {
    display: inline-block;
    padding: 28px 10px 4px 0;
    position: relative;
}

.container-register .input-label,
.container-password .input-label {
    padding: 28px 10px 6px;
}

.container-register .custom-country-wrapper {
    padding-top: 23px;
}

.custom-country-button {
    background: none;
    border: none;
    border-bottom: 2px solid #4a4a4a;
    font-weight: 300;
    min-width: 100px;
    padding: 4px;
    position: relative;
    text-align: left;
}

.prepare-cancel .custom-country-button {
    min-width: 65px;
    border-color: #000;
}

.custom-country-button:focus {
    color: #3a8bb2;
    outline: none;
}

.container-register .custom-country-button {
    min-width: 75px;
    border-bottom: 2px solid black;
}

.custom-country-carret {
    color: black;
    line-height: 20px;
    margin-left: 5px;
    right: 4px;
}

.message-align {
    margin-top: 250px;
}

.alternative-restaurant-picture {
    height: auto;
    width: 100%;
}

.alternative-restaurant-separator {
    padding: 20px 0;
}

.comment-input {
    margin: 0 0 20px;
    width: 100%;
}

.comment-textarea {
    font-family: Roboto, sans-serif;
    font-weight: 300;
    resize: none;
}

.cond textarea {
    resize: none;
}

.booking-header {
    padding: 0 0 10px;
}

.booking-header-title {
    font-weight: 300;
    line-height: 20px;
}

.booking-header-title strong {
    font-weight: 900;
}

.color-black {
    color: #000;
}

.color-grey {
    color: #666;
}

.m-left-20 {
    margin-left: 20px;
}

.m-top-50 {
    margin-top: 50px;
}

.noselect {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.dropdown-toggle {
    padding-left: 0;
}

.dropdown-toggle::after {
    display: none;
}

/* Custom booking input with fancy label animation. */
.input-wrapper {
    border-bottom: 2px solid #4a4a4a;
    margin-bottom: 60px;
    position: relative;
}

.input-wrapper-new-design {
    border-bottom: 2px solid #000;
    position: relative;
}

.input-field.user-field,
.input-label.user-label {
    color: #616a71;
}

.input-filled .restaurant-booking-input-field,
.input-filled .phone-field,
.input-filled .phone-label,
.input-filled .restaurant-booking-input-label,
.prepare-cancel .custom-country-phone,
.input-filled .user-field,
.input-filled .user-label,
.input-wrapper-new-design.input-filled,
.input-wrapper-new-design.input-filled .input-label,
.input-wrapper-new-design.input-filled .input-field,
.input-field.user-field,
.input-wrapper-new-design .input-field:focus + .input-label {
    background: none;
    font-weight: 400;
}

.input-field {
    background: transparent;
    border: none;
    border-radius: 0;
    font-family: Roboto, sans-serif;
    font-weight: 300;
    left: 0;
    position: absolute;
    text-indent: 10px;
    top: 30px;
    transition: background 0.3s ease;
    width: 100%;
    z-index: 100;
}

.input-wrapper-transparent {
    background: none;
}

.input-wrapper-transparent .small-text-left {
    color: #656565;
    font-style: italic;
    left: 10px;
    margin-top: 6px;
    position: absolute;
    top: 100%;
}

.has-error {
    border-bottom: 2px solid #c0272d;
}

.input-field:focus,
.input-filled,
.input-filled .input-field {
    background: #fcfcfc;
    color: #010101;
    outline: none;
}

.input-field:focus + .input-label,
.input-filled .input-label {
    background: #fcfcfc;
}

.input-field:focus + .input-label .input-label-content,
.terms-container .comment-textarea:focus + .input-label .input-label-content,
.terms-container .comment-textarea:not(:placeholder-shown) + .input-label .input-label-content,
.terms-container .input-field[type="date"] + .input-label .input-label-content,
.input-filled .input-label .input-label-content {
    color: #757575;
    -ms-transform: translate3d(0, -110%, 0) scale3d(0.75, 0.75, 1);
    -webkit-transform: translate3d(0, -110%, 0) scale3d(0.75, 0.75, 1);
    transform: translate3d(0, -110%, 0) scale3d(0.75, 0.75, 1);
}

.input-field-disabled .input-label:hover,
.input-field-disabled .input-label .input-label-content:hover,
.input-field-disabled .input-field:hover {
    cursor: not-allowed;
}

.input-field:disabled + .input-label {
    background: #f1f1f1;
    cursor: not-allowed;
}

.input-email-calendar-invite {
    background: #fcfcfc;
    border: none;
    color: #010101;
    cursor: not-allowed;
    width: 100%;
}

/* To overwrite bootstrap.css rules. form-group is bootstrap's class */
.input-wrapper .input-label,
.input-wrapper-new-design .input-label {
    cursor: text;
    display: block;
    font-weight: 300;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.input-wrapper-new-design .input-label {
    color: #616a71;
    font-weight: 400;
}

.input-wrapper-new-design input:-webkit-autofill {
    background-color: white;
    -webkit-box-shadow: 0 0 0 1000px white inset;
}

.input-label {
    bottom: 6px;
    color: #000;
    -webkit-font-smoothing: antialiased;
    font-weight: 300;
    margin-bottom: 0;
    padding: 30px 10px 6px;
    text-align: left;
    -webkit-transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    user-select: none;
}

.input-label-content {
    display: block;
    -webkit-transform-origin: 0 50%;
    -ms-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
}

/* form-group is bootstrap's class */
.input-wrapper .danger {
    color: #e72530;
    font-style: italic;
    font-weight: 400;
    left: 10px;
    margin-left: 0;
    margin-top: 3px;
    padding-top: 5px;
    position: absolute;
    text-align: left;
    top: 100%;
}

.input-wrapper .notice {
    color: #757575;
    font-size: 0.625em;
    left: 10px;
    margin-left: 0;
    padding-top: 5px;
    position: absolute;
    text-align: left;
    top: 100%;
}

.container-password .input-wrapper,
.container-register .input-wrapper {
    margin-bottom: 15px;
}

.container-register .custom-country-phone {
    font-size: 16px;
}

.submit-register {
    font-size: 20px;
    bottom: 0;
    margin-top: 15px;
}

/* Flash messages */
.status {
    color: #e1b6c7;
    display: none;
    margin-bottom: 20px;
    margin-top: 25px;
    padding: 20px 15px;
    position: relative;
    z-index: 18;
}

.info {
    background-color: #4e7ac7;
}

.warning {
    background: #e88801;
}

.error {
    background-color: #b54c77;
}

.success {
    background-color: #77a737;
    color: #fbf6f7;
}

.flash-bg {
    background-color: #be5174;
}

.vertical-align {
    align-items: center;
    display: flex;
}

.status-badge {
    border: 1px solid black;
    border-radius: 50%;
    color: #000;
    display: inline-block;
    left: 6px;
    line-height: 30px;
    margin-left: 10px;
    margin-right: 10px;
    min-height: 30px;
    min-width: 30px;
    position: absolute;
    text-align: center;
    top: 50%;
    transform: translateY(-50%);
}

.status-message {
    color: #f2e1e7;
    display: inline-block;
    font-weight: 300;
    line-height: 30px;
    margin: 0;
    margin-left: 44px;
    vertical-align: top;
}

.flash-message .success-message,
.flash-message .error-message {
    border-radius: 4px;
    color: #000;
    padding: 20px 10px;
    font-size: 14px;
    font-weight: 300;
    line-height: 18px;
    text-align: left;
    display: flex;
}

.flash-message .success-message {
    border-left: 8px solid #4e9f4c;
    background-color: #ebf3eb;
}

.flash-message .error-message {
    border-left: 8px solid #d45353;
    background-color: #fdf6f6;
}

.flash-message .success-message .icon,
.flash-message .error-message .icon {
    text-align: left;
    padding-right: 10px;
    display: flex;
}

.flash-message .success-message .icon img,
.flash-message .error-message .icon img {
    width: 18px;
    height: 18px;
}

.flash-message .success-message .message,
.flash-message .error-message .message {
    display: inline-block;
}

.success-div-booking-information {
    border-radius: 4px;
    background-color: #ebf3eb;
    color: #000;
    padding: 20px 10px;
}

.booking-information-new-design {
    border-radius: 8px;
    background-color: #ebf3eb;
    color: #131313;
    padding: 20px 10px 10px 20px;
    margin-top: 20px;
}

.info-message {
    border-left: 11px solid #4c7ca3;
    border-radius: 4px;
    background-color: #ecf1f5;
    color: #131313;
    padding: 26px 26px 26px 50px;
}

.info-message .status-badge {
    background-color: #4c7ca3;
    border: 0;
    color: white;
    font-size: 0.8em;
    font-weight: bold;
    left: 31px;
    line-height: 21px;
    min-height: 21px;
    min-width: 21px;
}

.thankyou-color.info-message {
    border-left: 11px solid #4e9f4b;
    background-color: #ebf3eb;
}

.thankyou-color.info-message > .status-badge {
    background-color: #4e9f4b;
}

.thankyou-color.info-message .status-badge .fa.fa-check {
    color: #fff;
}

.background-grey .flash-error .status-message {
    color: #000;
}

.left-container .status {
    margin-top: 0;
}

.booking-top-details {
    font-weight: 300;
    color: #000;
    background-color: white;
    position: -webkit-sticky;
    position: sticky;
    z-index: 998;
    top: 0;
    box-shadow: 0 2px 4px #c6c6c6;
}

/* Smooth transition for height/spacing */
#booking-top-details {
    transition: padding 0.2s ease, background-color 0.2s ease;
}

#booking-top-details.scrolled {
    padding-top: 4px;
    padding-bottom: 4px;
    background-color: #fff;
}

.booking-subheader {
    font-weight: 200;
    margin-bottom: 0.5em;
}

.back-button a {
    color: #000;
}

.back-button a:hover {
    color: #0056b3;
}

.back-button {
    display: flex;
    min-height: 30px;
    font-size: 0.938em;
    font-weight: 400;
    left: 0;
    line-height: 1;
    position: absolute;
}

.area-info {
    font-weight: 300;
    padding-bottom: 10px;
    font-size: 1em;
    line-height: 1.625em;
    text-align: left;
    color: #656565;
    font-family: Roboto, sans-serif;
    margin-top: 5px;
    overflow: auto;
    white-space: normal;
}

.area-content {
    margin-right: 0;
    margin-left: 0;
}

.area-container .area-info > a {
    position: relative;
    z-index: 2;
}

.areas-container .area-container.area-disabled .area-info,
.areas-container .area-container.area-disabled .restaurant-area-image {
    opacity: 0.45;
}

.areas-container {
    padding-left: 30px;
}

.areas-container .area-container {
    border: 1px solid #e6e6e6;
    position: relative;
    margin-bottom: 10px;
    border-radius: 5px;
    padding: 20px;
}

.booking-menu:not(.menu-clicked):hover,
.bordered-menu:hover,
.areas-container .area-container:hover {
    background-color: #f1f1f1;
}

.booking-menu.menu-clicked:hover {
    cursor: default;
}

.areas-container .area-container.area-disabled {
    background: none;
    color: #1a1a1a;
}

.areas-container .area-container .area-pax-interval {
    position: absolute;
    top: 0;
    right: 0;
    padding: 5px 10px;
    border-radius: 4px;
    background-color: #eceaea;
    color: #656565;
    font-family: Roboto, sans-serif;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 20px;
    text-align: center;
    width: 143px;
    height: 27px;
}

.areas-container .area-container .area-pax-interval-without-image {
    padding: 5px 10px;
    border-radius: 4px;
    background-color: #eceaea;
    color: #656565;
    font-family: Roboto, sans-serif;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 20px;
    width: 143px;
    height: 27px;
    text-align: center;
    margin: 0 auto;
}

.areas-container .area-container .area-header {
    text-align: left;
    font-weight: bold;
    color: #131313;
    font-family: Roboto, sans-serif;
    font-size: 18px;
    letter-spacing: 0;
    line-height: 25px;
}

.areas-container .area-container.area-disabled .area-header {
    opacity: 0.45;
}

.areas-container .area-container .submit-area {
    position: absolute;
    top: 0;
    text-align: center;
    width: 100%;
    height: 100%;
    border: none;
    z-index: 1;
    background: none;
}

.restaurant-area-image {
    float: left;
    margin-right: 20px;
    height: 100%;
}

.restaurant-area-image img {
    height: 80px;
    width: 170px;
}

.light-text {
    font-weight: 300;
}

.thin-text {
    font-weight: 100;
}

.black-text {
    font-weight: 900;
}

.black-text-event {
    font-weight: 700;
}

.event-link > .event-container {
    border: 1px solid #e6e6e6;
    border-radius: 4px;
}

.event-link,
.event-link:hover {
    color: inherit;
    display: block;
    margin-bottom: 10px;
}

.event-link:hover {
    text-decoration: none;
}

.days-no-times-message {
    border: 1px solid #d3d3d3;
    display: none;
    margin-top: 20px;
    padding: 15px 37px;
    border-radius: 4px;
}

.condition-row {
    display: none;
}

.condition-row label {
    width: auto;
}

.condition-row input {
    margin-right: 8px;
}

.condition-row textarea {
    display: block;
}

/* Overrides */
.mb-3 {
    margin-bottom: 3px;
}

.mb3 {
    margin-bottom: 3px;
}

.mb10 {
    margin-bottom: 10px;
}

.mb20 {
    margin-bottom: 20px;
}

.mb25 {
    margin-bottom: 25px;
}

.mb30 {
    margin-bottom: 30px;
}

.submit-confirm {
    bottom: -34px;
}

.submit-continue {
    bottom: -25px;
}

.mb1em {
    margin-bottom: 1em;
}

.m-top-md {
    margin-top: 50px;
}

.no-margin {
    margin: 0;
}

.db-green {
    color: #d7f4d0;
}

.db-dark-green {
    color: #7fc57b;
}

.db-closed {
    color: #f4f4f4;
}

.db-blue {
    color: #6595ed;
}

.db-event {
    color: #7074c2;
}

.db-dinnerSaver {
    color: #6dabf2;
}

.db-campaign-code {
    color: #7fc9ff;
}

.db-gray {
    color: #ccc;
}

.gray-color {
    color: #666;
}

.db-pink {
    color: #f3bdd1;
}

.bottom0 {
    bottom: 0;
}

.register-prefix {
    text-align: right;
}

.title-text {
    color: white;
    font-weight: 200;
}

.title-text:hover {
    color: white;
    text-decoration: none;
}

.password-text {
    margin: 0 auto;
    width: 70%;
}

.phone-number-info {
    color: #000;
    display: none;
    font-weight: 400;
    margin: 10px 0;
}

.payment-info-table {
    margin-bottom: 30px;
    width: 100%;
}

.align-right {
    text-align: right;
}

.border-bottom-thick {
    border-bottom: 2px solid black;
}

.border-bottom-thin {
    border-bottom: 1px solid black;
}

.padding-tb10 {
    padding: 10px 0;
}

.nob-button-container {
    padding-top: 25px;
}

.order-column,
.quantity-column {
    width: 40%;
}

.price-column {
    width: 20%;
}

.grey-button {
    background: #aaa;
    color: #d7d7d7;
}

.payment-error-message {
    color: #d0021b;
    display: none;
    left: 0;
    margin: 0;
    position: absolute;
    text-align: center;
    top: 80px;
    width: 100%;
    z-index: 1;
}

.red-exclamation-mark {
    color: red;
    display: none;
    font-weight: bold;
    left: 3px;
    line-height: 22px;
    position: absolute;
}

.red-exclamation-mark.red-mark-align {
    margin-right: 25px;
    position: relative;
}

.epay-progress-bar .booking-top-details {
    margin-bottom: 2%;
    margin-top: 1.5%;
}

.underlined-link {
    text-decoration: underline;
}

.content-container iframe {
    max-height: 700px;
    width: 100%;
}

.medium-heading {
    font-size: 0.938em;
    margin-top: 0.5em;
}

.email-centered,
.button-centered {
    float: none;
    margin: 0 auto;
    max-width: 300px;
    padding: 50px 0 75px;
}

.guest-email {
    margin: 0 auto;
    max-width: 380px;
    padding: 12px 0 15px;
}

.center-link {
    margin: 0 auto;
}

.concierge-centered {
    float: none;
    margin: 0 auto;
    max-width: 360px;
    padding: 40px 0 75px;
}

.register-link {
    color: #4a90e2;
    text-decoration: underline;
}

.nodisplay {
    display: none;
}

/* Loyalty rewards points start */
.points-selector {
    border: 1px solid #ddd;
    text-align: center;
}

.points-selector .row div {
    padding: 8px;
}

.points-selector .total-price {
    background: #f2f2f2;
    border-top: 1px solid #ddd;
    min-height: 67px;
}

.total-price-label {
    margin: 5px 0 0;
}

.total-price .price-value {
    font-family: db-bold-condensed, arial, sans-serif;
}

.main-nob {
    background-color: #000;
    margin-right: -15px;
    margin-left: -15px;
}

.nob-first-page {
    position: relative;
    height: 100vh;
    text-align: center;
    background-position: center center;
    background-color: #000;
    background-repeat: no-repeat;
    background-size: cover;
    background-position-x: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.nob-first-page .logo {
    position: relative;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
}

.nob-first-page .logo img {
    max-width: 15rem;
    max-height: 15rem;
    display: block;
    width: 100%;
}

.content-block {
    display: block;
}

.nob-first-page h1 {
    position: relative;
    margin: 2rem auto 0;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    font-size: 1.125em;
}

.nob-first-page .link-first-page-nob {
    color: #fff;
    position: relative;
    margin: 1rem auto 0;
    display: flex;
    flex-flow: column;
    text-decoration: underline;
}

.copyright-left {
    height: 30px;
}

.text-align {
    height: 40px;
    line-height: 40px;
    text-align: right;
}

.img-logo-left {
    display: inline-block;
    height: 30px;
    padding: 5px 10px;
    width: auto;
}

.padding-left33 {
    padding-left: 33%;
}

.booking-header-black {
    background-color: #000;
    padding: 0;
}

.social-button {
    border: 1px solid #fff;
    border-radius: 50%;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #fff;
    display: inline-block;
    font-size: 18px;
    height: 35px;
    line-height: 35px;
    margin-left: 5px;
    text-align: center;
    width: 35px;
}

.ml0 {
    margin-left: 0;
}

.black-button-thankyou,
.black-button-thankyou-one-pax,
.epay_payment_button_light {
    background: #000;
}

.social-wrapper {
    padding-right: 2%;
}

.booking-menu {
    padding: 15px 37px;
    margin-bottom: 10px;
    border: 1px solid #e6e6e6;
    border-radius: 4px;
    cursor: pointer;
}

.bordered-menu {
    padding: 0;
    margin-bottom: 10px;
    border: 1px solid #e6e6e6;
    border-radius: 4px;
    cursor: pointer;
}

.full-clickable {
    display: block;
    padding: 15px 37px;
}

.menu-clicked {
    border: 1px solid #000;
    border-radius: 4px;
}

.time-separator {
    height: 1px;
    border: 1px;
    width: 100%;
    background: #eaeaea;
    margin-bottom: 5px;
    margin-top: 5px;
}

.menu-description {
    font-family: Roboto, sans-serif;
    font-weight: 300;
    color: #000;
    font-size: 1em;
    line-height: 1.25em;
    overflow: hidden;
    margin-bottom: 15px;
}

.booking-menu:not(.menu-clicked) .menu-description {
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

.booking-text-black {
    font-size: 0.938em;
    font-weight: 600;
    color: #1a1a1a;
    margin-bottom: 10px;
}

#giftcard-code-input {
    font-size: 1em;
    display: inline-block;
    margin-right: 2em;
    margin-bottom: 0.5em;
    max-width: 20em;
}

.giftcard-value .custom-btn {
    padding-left: 2em;
    padding-right: 2em;
    display: inline-block;
}

.see-our-restaurants {
    height: 46px;
    width: 334px;
    color: #000;
    font-family: Roboto;
    font-size: 39.06px;
    letter-spacing: -0.33px;
    line-height: 46px;
    text-align: center;
}

.no-restaurants-message {
    color: #000;
    font-family: Roboto;
    letter-spacing: -0.33px;
    text-align: center;
}

.group-container {
    margin-top: 1rem;
    display: flex;
    flex-flow: column wrap;
    align-items: center;
}

.group-item {
    height: 150px;
    width: 670px;
    border: 1px solid #e6e6e6;
    border-radius: 4px;
    color: unset;
    text-decoration: none;
    margin: 20px auto 0;
    cursor: pointer;
}

.group-item:hover {
    background-color: #f1f1f1;
    color: unset;
}

.group-card-link:hover {
    text-decoration: none;
}

.restaurant-picture {
    height: 114px;
    width: 242px;
    margin-top: 15px;
    margin-left: 16px;
    margin-right: 16px;
}

.wrapper-image.restaurant-image {
    float: left;
    height: 100%;
}

.restaurant-name {
    margin-top: 15px;
    height: 25px;
    width: 337px;
    color: #151515;
    font-family: Roboto, sans-serif;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 0;
    line-height: 25px;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
}

.restaurant-address {
    margin-left: 16px;
    margin-right: 16px;
    height: 22px;
    color: #313131;
    font-family: Roboto, sans-serif;
    font-size: 16px;
    font-weight: 300;
    letter-spacing: 0;
    line-height: 22px;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
}

.group-page .ui-spinner .ui-spinner-input {
    font-size: 20px;
}

.text-available-times,
.text-unavailable-times {
    margin-top: 20px;
    margin-left: 16px;
    margin-right: 16px;
    height: 44px;
    width: 361px;
    color: #313131;
    font-family: Roboto, sans-serif;
    font-size: 12.8px;
    font-weight: 300;
    letter-spacing: 0;
    line-height: 18px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
}

.text-available-times {
    height: 22px;
}

.available-times {
    height: 22px;
    width: 361px;
    color: #313131;
    font-family: Roboto, sans-serif;
    font-size: 13px;
    letter-spacing: 0;
    line-height: 22px;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
}

.one-pax-group,
.more-pax-group {
    font-size: 18px;
}

.booking-tags-input .group-tags,
.group-date {
    border-bottom: 2px solid #4a4a4a;
}

.group-date {
    width: 300px;
    height: 29px;
    margin-top: 20px;
}

.booking-tags-input .group-tags,
.booking-tags-dialog .tags-content {
    background-color: #fff;
}

.booking-tags-input .group-tags {
    display: flex;
}

.booking-tags-dialog .tags-content {
    padding: 20px;
}

.booking-tags-input .group-tags .tags-input-field {
    flex-grow: 1;
    padding: 5px;
    cursor: pointer;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

.booking-tags-input .group-tags .tags-input-field .custom-badge {
    border-radius: 30px;
    height: 30px;
    color: #fff;
    padding: 0 10px;
}

.booking-tags-input .group-tags .tag-button {
    width: 25px;
    text-align: center;
    padding-top: 5px;
}

.booking-tags-dialog .tag-label {
    border-radius: 30px;
    height: 30px;
    color: #fff;
    line-height: 30px;
    margin-left: 10px;
    padding: 0 10px;
}

.search-item-wrap {
    width: 300px;
}

.search-bar .datepicker input {
    height: 21px;
    width: 104px;
    color: #505050;
    font-family: Roboto;
    font-size: 18px;
    font-weight: 300;
    letter-spacing: 0;
    line-height: 21px;
    background-color: #464646;
    border: none;
    box-shadow: none;
    cursor: pointer;
    padding: 0;
}

.search-bar .datepicker input:focus,
.search-bar .datepicker input:active {
    box-shadow: none;
}

.search-bar .datepicker.group-date input::placeholder {
    color: black;
}

.search-bar .datepicker.group-date input,
.search-bar .datepicker.group-date.input-group .bootstrap-datetimepicker-widget,
.search-bar .datepicker.group-date .input-group-addon,
.search-bar .datepicker.group-date .input-group-addon:last-child span {
    background-color: white;
    color: black;
    margin-right: 0;
}

.nob-video-background {
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
}

.edit-booking-pax,
.edit-booking-area-name,
.edit-booking-calendar {
    color: #8d8d8d;
    font-family: Roboto;
    font-size: 14px;
    letter-spacing: 0;
}

.strikethrough-text {
    text-decoration: line-through;
}

.loading {
    inset: 0;
    display: none;
    height: 2em;
    margin: auto;
    position: fixed;
    width: 2em;
    z-index: 999;
}

.loading::before {
    background: rgb(54 72 89 / 40%);
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
}

.loading::after {
    -moz-animation: spinner 1500ms infinite linear;
    -ms-animation: spinner 1500ms infinite linear;
    -o-animation: spinner 1500ms infinite linear;
    -webkit-animation: spinner 1500ms infinite linear;
    animation: spinner 1500ms infinite linear;
    border-radius: 0.5em;
    -webkit-box-shadow: rgb(0 0 0 / 75%) 1.5em 0 0 0, rgb(0 0 0 / 75%) 1.1em 1.1em 0 0, rgb(0 0 0 / 75%) 0 1.5em 0 0, rgb(0 0 0 / 75%) -1.1em 1.1em 0 0, rgb(0 0 0 / 50%) -1.5em 0 0 0, rgb(0 0 0 / 50%) -1.1em -1.1em 0 0, rgb(0 0 0 / 75%) 0 -1.5em 0 0, rgb(0 0 0 / 75%) 1.1em -1.1em 0 0;
    box-shadow: rgb(0 0 0 / 75%) 1.5em 0 0 0, rgb(0 0 0 / 75%) 1.1em 1.1em 0 0, rgb(0 0 0 / 75%) 0 1.5em 0 0, rgb(0 0 0 / 75%) -1.1em 1.1em 0 0, rgb(0 0 0 / 75%) -1.5em 0 0 0, rgb(0 0 0 / 75%) -1.1em -1.1em 0 0, rgb(0 0 0 / 75%) 0 -1.5em 0 0, rgb(0 0 0 / 75%) 1.1em -1.1em 0 0;
    content: "";
    display: block;
    font-size: 10px;
    height: 1em;
    margin-top: -0.5em;
    width: 1em;
}

.tooltip.tooltip-book-day .tooltip-inner {
    text-align: left;
}

.tooltip.tooltip-book-day .tooltip-more-info {
    width: 100%;
    text-align: center;
    position: absolute;
    display: none;
}

.tooltip.tooltip-book-day .tooltip-more-info a {
    cursor: pointer;
}

.tooltip.tooltip-book-day .text-ellipsis {
    background-color: #000;
    color: #fff;
    line-height: 0.813em;
    padding: 0 0.5em;
    padding-bottom: 0.5em;
}

.tooltip.tooltip-book-day {
    max-width: 20em;
    width: auto;
}

.forward-datepicker-no-events {
    pointer-events: none;
}

.email-message,
.phone-message {
    color: #337ab7;
}

.datepicker-group-page.ui-datepicker.ui-widget.ui-widget-content {
    height: 272px;
    width: 300px;
    border-radius: 0 0 4px 4px;
    background-color: #fff;
    box-shadow: 0 2px 10px 0 #e6e6e6;
}

.datepicker-group-page.ui-datepicker .ui-datepicker-today .ui-state-default {
    background-color: #ececec;
    color: #777;
}

.datepicker-group-page.ui-datepicker .ui-datepicker-current-day .ui-state-default {
    border: 2px solid black;
    border-radius: 5px;
    box-shadow: none;
    color: #454545;
    background: #fff;
}

.datepicker-group-page.ui-datepicker .ui-datepicker-title {
    color: #505050;
    font-family: Roboto, sans-serif;
    font-size: 15px;
}

.time-select2-div {
    width: 300px;
    display: inline-flex;
    margin-top: 40px;
}

.form-group .form-control.select2-time {
    width: 100%;
}

.custom-select2.time-select2-div .select2-selection--single .select2-selection__arrow {
    -moz-appearance: none;
    -webkit-appearance: none;
    background-size: 1em auto;
    height: 100%;
    margin-right: 0;
    color: black;
    padding: 0.5rem;
}

.custom-select2.time-select2-div .select2-selection--single .select2-selection__arrow::before {
    content: "\f107";
}

.custom-select2.time-select2-div .select2-selection__arrow b {
    display: none;
}

.custom-select2.time-select2-div .select2-selection--single {
    height: calc(1.5em + 0.75rem + 2px);
    border: 0;
}

.custom-select2.time-select2-div .select2-selection--single .select2-selection__rendered {
    font-size: 18px;
    padding: 0.275rem 0.255rem;
    line-height: 26px;
    color: #495057;
    border-bottom: 2px solid #4a4a4a;
    text-align: left;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    color: #131313;
    background-color: #ececec;
}

.select2-container--default .select2-results__option[aria-selected="true"] {
    background-color: #ececec;
}

.time-dropdown {
    border-radius: 4px;
    background-color: #fff;
    box-shadow: 0 2px 10px 0 #e6e6e6;
    margin-top: 3px;
}

.select2-container--default .select2-results__option,
.select2-container--default .select2-search--dropdown .select2-search__field {
    font-size: 18px;
    padding: 15px;
    text-align: center;
    color: #131313;
    font-family: Roboto, sans-serif;
    letter-spacing: 0;
    line-height: 26px;
    height: 58px;
    width: 300px;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    background: url("../img/magnifier.png") no-repeat 12px;
    padding-left: 32px;
}

.select2-container--default .select2-search--dropdown .select2-search__field:focus {
    outline: none;
}

.select2-container--default .select2-results .select2-results__options {
    overflow-x: hidden;
    max-height: 230px;
}

.no-search .select2-container--default .select2-search--dropdown .select2-search {
    display: none;
}

.tags-content .tag-checkbox {
    display: inline-block;
}

.tags-content .tag-checkbox .checkbox-input {
    display: none;
}

.form-control.custom-comment-style {
    height: 30px;
    overflow-y: hidden;
}

.div-with-goto-calendar {
    margin-top: 40px;
}

.contact-information-wrapper .contact-information-div {
    margin-bottom: 40px;
}

.booking-info-div {
    margin-bottom: 1rem;
    margin-top: 1rem;
}

.thank-you-page-link {
    margin-top: 20px;
}

/* Media */
@media (width: 1366px) {
    .btn-twitter,
    .black-button-thankyou {
        font-size: 0.813em;
        width: 100%;
    }
}

/* Custom, iPhone Retina */
@media (min-width: 320px) {
    .button {
        text-overflow: ellipsis;
        white-space: nowrap;
        width: 100%;
    }
}

@media (max-width: 1599px) {
    .vertical-border {
        border-right: 0;
    }

    .email-submit {
        margin-bottom: 10px;
    }

    .checkboxes {
        padding: 0;
    }
}

@media (max-width: 1281px) and (orientation: landscape) {
    .confirm-container-on-mobile {
        padding-top: 34px;
    }

    .phone-wrapper {
        padding-left: 40px;
    }
}

@media (width: 1024px) and (orientation: landscape) {
    .submit-confirm {
        bottom: -48px;
    }

    .phone-wrapper {
        padding-left: 35px;
    }
}

@media (max-width: 1199px) {
    .black-button-thankyou-one-pax {
        min-width: 89%;
    }

    .contact-details-button {
        width: 300px;
    }

    .tooltip {
        margin-top: 0;
    }

    .back-button {
        position: relative;
    }

    .text-lg-center {
        text-align: center;
    }

    .register-prefix {
        text-align: left;
    }

    .checkboxes {
        padding: 0;
    }

    .m-top-large {
        margin-top: 0;
    }

    .phone-input {
        padding-left: 0;
    }
}

@media (max-width: 1025px) {
    .submit-continue {
        bottom: -25px;
    }
}

@media (max-width: 991px) {
    .black-button-thankyou-one-pax {
        min-width: 90%;
    }

    .center {
        margin-top: 0;
    }

    .centered {
        padding: 15% 0;
    }

    .back-button {
        position: absolute;
    }

    .text-md-left {
        text-align: left;
    }

    .text-md-right {
        text-align: right;
    }

    .submit-confirm {
        bottom: -32px;
    }

    .areas-container .area-container.area-disabled .area-pax-interval {
        top: 20px;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .restaurant-area-image img {
        object-fit: cover;
        width: 100%;
        height: 100%;
    }

    .restaurant-area-image {
        height: 100px;
        width: 297px;
        margin-bottom: 5px;
        overflow: hidden;
    }
}

@media (min-width: 992px) {
    .padding-right0 {
        padding-right: 0;
    }

    .cc-error-message-container {
        padding-left: 7px;
    }

    .radio-hover:hover {
        border: 5px solid black;
    }

    .radio-hover:hover .img-radio-hover-early {
        display: block;
    }

    .radio-hover:hover .img-radio-hover-later {
        display: block;
    }

    #times-row-parent-container > div,
    #inline_calendar_container,
    .booking-menus,
    .bordered-menu {
        min-width: 400px;
    }
}

/* Mobile Phones */
@media (max-width: 767px) {
    .checkboxes {
        margin-top: 0;
    }

    .custom-input {
        margin-bottom: 0;
    }

    .img-radio,
    .img-radio-early,
    .img-radio-later {
        top: 73%;
    }

    .radio-waiting-name {
        font-size: 20px;
    }

    .radio-waiting-text {
        top: 43%;
    }

    .img-logo {
        margin-right: 0;
    }

    .checkbox-container .checkbox-input:checked + label::after {
        left: -1.35em;
        top: 0.29em;
    }

    @-moz-document url-prefix() {
        .checkbox-container .checkbox-input:checked + label::after {
            top: 0.35em;
        }
    }

    .top22 {
        top: 22px;
    }

    .padding-bottom20 {
        padding-bottom: 20px;
    }

    .checkbox-align label {
        margin-left: 22px;
        text-indent: -1.5em;
    }

    .black-button-thankyou-one-pax {
        min-width: 97%;
    }

    .tooltip {
        font-size: 0.813em;
        margin-top: 0;
        width: 10em;
    }

    .tooltip.tooltip-book-day .tooltip-inner {
        max-height: calc(1.5em * 10 + 3px);
    }

    .tooltip.tooltip-book-day .tooltip-inner.display-more-info {
        padding-top: 1.5em;
        padding-bottom: 0;
    }

    .tooltip.tooltip-book-day .tooltip-inner.full-text {
        max-height: 100%;
        padding-bottom: 0.5em;
    }

    .tooltip.tooltip-book-day .tooltip-more-info {
        display: block;
    }

    .title {
        margin-top: 20px;
    }

    .prefix {
        text-align: left;
    }

    .color-black {
        font-size: 1.25em;
    }

    .copyright {
        text-align: center;
    }

    .languages-menu {
        text-align: center;
        width: 100%;
    }

    .languages-menu .dropdown-toggle {
        float: none;
        padding-left: 0;
        padding-right: 0;
    }

    .languages-menu .dropdown-menu {
        left: 50%;
        transform: translateX(-40px);
    }

    body {
        padding: 0;
    }

    .left-col {
        padding: 20px;
    }

    .booking-subheader,
    h1.cancel-subheader {
        font-size: 1.625em;
        margin-bottom: 20px;
        line-height: 29px;
    }

    .number-spinner {
        margin: 20px auto 10px;
        width: 250px;
    }

    .number-spinner .ui-widget-content {
        line-height: 45px;
        height: 45px;
        width: 250px;
    }

    .input .ui-spinner {
        border-radius: 40px;
        height: 40px !important;
        min-height: 45px;
    }

    .valid-giftcard .ui-spinner .ui-spinner-input,
    .points-input .ui-spinner .ui-spinner-input {
        width: 145px;
    }

    .points-input button.ui-spinner-button {
        border-radius: 45px;
        height: 45px;
        width: 45px;
        min-height: 45px;
    }

    .ui-spinner button.ui-spinner-button {
        height: 45px;
        width: 45px;
        line-height: 42px;
    }

    .ui-spinner button.ui-spinner-button .ui-spinner-text {
        line-height: 45px;
        font-size: 50px;
    }

    .points-input button.ui-spinner-button .ui-spinner-text {
        font-size: 50px;
    }

    .ui-spinner .ui-spinner-input {
        font-size: 1.125em;
        height: 45px;
    }

    .number-spinner .ui-spinner .ui-spinner-input {
        margin: 0 0 0 58px;
    }

    .text-over {
        font-size: 1.125em;
        top: 12px;
    }

    .delete-waiting-list-button,
    .black-button,
    .black-button-thankyou,
    .btn-twitter {
        font-size: 0.938em;
        height: 44px;
        line-height: 44px;
        min-width: 97%;
    }

    .black-button:focus,
    .black-button-thankyou:focus,
    .black-button-spinner:focus,
    .btn-twitter:focus,
    .delete-waiting-list-button:focus,
    .cancel-booking-button:focus {
        color: #fcfcfc;
        outline: none;
    }

    .back-button {
        position: relative;
    }

    .text-sm-center {
        text-align: center;
    }

    .profile-link {
        padding-top: 0;
    }

    .bottom0 {
        bottom: 0;
    }

    .mt25-sm {
        margin-top: 25px;
    }

    .waiting-submit {
        bottom: 52px;
    }

    .m-top-md {
        margin-top: 30px;
    }

    .content-container.confirm-container-on-mobile,
    .content-container.cancel-container-on-mobile {
        padding-bottom: 10px;
        padding-top: 14px;
    }

    .contact-information-wrapper .contact-information-div {
        margin-bottom: 5px;
    }

    .booking-info-div {
        margin-bottom: 0.125rem;
        margin-top: 0.125rem;
    }

    .thank-you-page-link {
        margin-top: 5px;
    }

    .payment-error-message {
        top: 16px;
    }

    .submit-bottom {
        bottom: -24px;
    }

    .submit {
        bottom: -20px;
    }

    .black-button-thankyou {
        bottom: 0;
    }

    .order-column,
    .quantity-column {
        width: 35%;
    }

    .price-column {
        width: 30%;
    }

    .contact-information-wrapper {
        margin-top: 5px;
    }

    .profile-link.cancel-link {
        padding-top: 33px;
    }

    .points-selector .points-input label {
        display: none;
    }

    .points-selector .points-input {
        background: #f2f2f2;
        border: 1px solid #ddd;
        border-bottom: 0;
        border-left: 0;
        border-right: 0;
    }

    .points-selector .total-price {
        border-left: 0;
    }

    .mb20-on-mobile {
        margin-bottom: 20px;
    }

    .div-with-goto-calendar {
        margin-top: 20px;
    }

    .mt15-sm {
        margin-top: 15px;
    }

    .nob-first-page h1 {
        bottom: 20px;
    }

    .booking-menu {
        padding: 15px;
    }

    .confirm-reservation {
        font-size: 1.56rem;
        display: flex;
        flex-direction: column;
    }

    .submit-register {
        bottom: 0;
        min-width: 0;
        font-size: 20px;
        margin-top: 10px;
        width: 320px;
    }

    .black-button.event-go-to-calendar {
        width: 320px;
        min-width: 0;
    }

    .event-price {
        text-align: left;
        font-size: 13px;
    }

    .event-price .font-large {
        font-size: 14px;
    }

    .event-subtitle {
        margin-top: 0;
        margin-bottom: 2px;
    }

    .black-text-event.font-large {
        font-size: 16px;
    }

    .restaurant-area-image {
        width: 100%;
    }

    .info-message {
        padding: 10px 26px 10px 50px;
    }

    .bg-light-green {
        margin-top: 5px;
    }
}

@media (max-width: 400px) {
    .delete-waiting-list-button,
    .black-button,
    .submit-register {
        width: 90%;
    }

    .black-button.event-go-to-calendar {
        width: 100%;
    }

    .checkboxes .col-xs-6 {
        padding: 0 8px;
    }

    .img-radio,
    .img-radio-early,
    .img-radio-later {
        top: 73%;
    }

    .radio-waiting-text {
        font-size: 0.938em;
    }
}

@media (max-width: 480px) {
    .cc-error-message-container {
        padding-left: 7px;
    }

    body {
        padding: 0;
    }

    .color-black {
        font-size: 1.125em;
    }

    .left-col {
        padding: 15px;
    }

    .restaurant-area-radio + .restaurant-area-label {
        font-size: 1.125em;
        line-height: 1em;
    }

    .ui-datepicker {
        padding: 10px 0 0;
    }

    .ui-datepicker .ui-datepicker-prev,
    .ui-datepicker .ui-datepicker-next {
        font-size: 0.938em;
        height: 40px;
        line-height: 40px;
        top: 60%;
        width: 40px;
    }

    .ui-datepicker .ui-datepicker-header {
        font-size: 1.125em;
    }

    .slick-arrow {
        height: 40px;
        line-height: 40px;
        min-width: 40px;
    }

    .booking-subheader {
        font-size: 1.625em;
        margin-top: 20px;
    }

    .times-carousel-message {
        font-size: 0.938em;
        margin-top: 10px;
    }

    .email-container {
        padding: 20px;
    }

    .medium-heading {
        font-size: 1.125em;
    }

    .input-wrapper {
        font-size: 1.125em;
    }

    .input-field {
        font-size: 1.125em;
    }

    .container-register .input-field,
    .container-password .input-field {
        font-size: 16px;
    }

    .input-wrapper .danger {
        font-size: 0.938em;
    }

    .content-container {
        font-size: 0.9375em;
        padding: 15px 15px 0;
    }

    .custom-country-wrapper {
        padding-left: 0;
        padding-top: 31px;
    }

    .container-register .custom-country-wrapper {
        padding-top: 25px;
    }

    .booking-subheader.register-subheader {
        margin-bottom: 10px;
    }

    .prepare-cancel .custom-country-wrapper {
        padding-top: 30px;
    }

    /* TODO to be removed when the buttons are uncommented on thank you page */
    .thankyou-container {
        padding: 15px;
    }

    .subheader-separator {
        margin: 10px 0 5px;
    }

    .areas-container {
        padding-left: 10px;
    }

    .thankyou-submit {
        bottom: 0;
        margin-bottom: 15px;
    }

    .font-link {
        font-size: 0.938em;
    }

    .bottom0 {
        bottom: 0;
    }

    .confirm-container-on-mobile {
        padding-top: 7px;
    }

    .confirm-booking-content {
        width: unset;
        margin-top: 50px;
    }

    .confirm-reservation {
        margin-bottom: 40px;
        margin-top: 50px;
    }

    .confirm-booking-button {
        min-width: 79%;
        width: 79%;
    }

    .top-confirm-on-mobile {
        padding: 0 26px 15px;
    }

    .confirm-on-mobile,
    .go-to-calendar-sticky-on-mobile {
        background-color: white;
        padding: 0 26px 15px;
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1030;
    }

    .go-to-calendar-sticky-on-mobile {
        padding: 0 15px 15px;
    }

    .go-to-calendar-sticky-on-mobile > .black-button.event-go-to-calendar {
        margin-bottom: 25px;
    }

    .div-with-goto-calendar {
        margin-top: -10px;
        margin-bottom: 30px;
    }

    .mb20-on-mobile {
        margin-bottom: 20px;
    }

    .or-text-event {
        display: none;
    }

    .thank-you-page-links-container {
        margin-bottom: 50px;
    }

    .px-xxs {
        padding-left: 0;
        padding-right: 0;
    }
}

@media (max-width: 360px) {
    .btn-twitter,
    .black-button-thankyou-one-pax {
        font-size: 0.813em;
    }

    .container-register .container-inputs,
    .container-password {
        width: 100%;
    }

    .px-xxs {
        padding-left: 15px;
        padding-right: 15px;
    }
}

@media (max-width: 345px) {
    .px-xxs {
        padding-left: 10px;
        padding-right: 10px;
    }
}

@media (max-width: 330px) {
    .delete-waiting-list-button,
    .black-button,
    .black-button-thankyou,
    .btn-twitter {
        font-size: 0.813em;
        height: 40px;
        line-height: 40px;
        min-width: 96%;
    }

    .content-container {
        padding: 10px 10px 0;
    }

    .container-register {
        padding: 10px 10px 0;
    }

    .thankyou-container {
        padding: 10px;
    }

    .number-spinner,
    .number-spinner .ui-widget-content {
        width: 220px;
    }

    .number-spinner .ui-spinner .ui-spinner-input {
        margin: 0 0 0 42px;
    }

    .submit:not(.submit-register) {
        bottom: -18px;
    }

    .ui-datepicker .ui-datepicker-title {
        margin: 0 1.85em;
    }
}

@media all and (max-width: 401px) and (min-width: 361px) {
    .btn-twitter {
        font-size: 0.938em;
    }

    .black-button-thankyou-one-pax {
        font-size: 0.938em;
    }
}

@media all and (max-width: 1200px) and (min-width: 991px) {
    .slider-row {
        margin: auto;
        max-width: 700px;
    }
}

@media (max-width: 319px) {
    .delete-waiting-list-button,
    .black-button,
    .black-button-thankyou,
    .black-button-thankyou-one-pax {
        font-size: 0.813em;
        height: 40px;
        line-height: 40px;
        min-width: 82%;
    }

    .btn-twitter {
        font-size: 0.813em;
        height: 40px;
        line-height: 40px;
        min-width: 86%;
    }

    .number-spinner {
        width: 200px;
    }

    .number-spinner .ui-widget-content {
        width: 200px;
    }

    .number-spinner .ui-spinner .ui-spinner-input {
        margin: 0 0 0 36px;
    }
}

@media (max-width: 315px) {
    .container-register .phone-input {
        margin-top: 1px;
    }
}

/* Custom col-xl-* CSS */

@media (min-width: 1600px) {
    .container {
        width: 1570px;
    }

    .col-xl-1,
    .col-xl-2,
    .col-xl-3,
    .col-xl-4,
    .col-xl-5,
    .col-xl-6,
    .col-xl-7,
    .col-xl-8,
    .col-xl-9,
    .col-xl-10,
    .col-xl-11,
    .col-xl-12 {
        float: left;
    }

    .col-xl-12 {
        width: 100%;
    }

    .col-xl-11 {
        width: 91.6667%;
    }

    .col-xl-10 {
        width: 83.3333%;
    }

    .col-xl-9 {
        width: 75%;
    }

    .col-xl-8 {
        width: 66.6667%;
    }

    .col-xl-7 {
        width: 58.3333%;
    }

    .col-xl-6 {
        width: 50%;
    }

    .col-xl-5 {
        width: 41.6667%;
    }

    .col-xl-4 {
        width: 33.3333%;
    }

    .col-xl-3 {
        width: 25%;
    }

    .col-xl-2 {
        width: 16.6667%;
    }

    .col-xl-1 {
        width: 8.3333%;
    }

    .col-xl-pull-12 {
        right: 100%;
    }

    .col-xl-pull-11 {
        right: 91.6667%;
    }

    .col-xl-pull-10 {
        right: 83.3333%;
    }

    .col-xl-pull-9 {
        right: 75%;
    }

    .col-xl-pull-8 {
        right: 66.6667%;
    }

    .col-xl-pull-7 {
        right: 58.3333%;
    }

    .col-xl-pull-6 {
        right: 50%;
    }

    .col-xl-pull-5 {
        right: 41.6667%;
    }

    .col-xl-pull-4 {
        right: 33.3333%;
    }

    .col-xl-pull-3 {
        right: 25%;
    }

    .col-xl-pull-2 {
        right: 16.6667%;
    }

    .col-xl-pull-1 {
        right: 8.3333%;
    }

    .col-xl-pull-0 {
        right: auto;
    }

    .col-xl-push-12 {
        left: 100%;
    }

    .col-xl-push-11 {
        left: 91.6667%;
    }

    .col-xl-push-10 {
        left: 83.3333%;
    }

    .col-xl-push-9 {
        left: 75%;
    }

    .col-xl-push-8 {
        left: 66.6667%;
    }

    .col-xl-push-7 {
        left: 58.3333%;
    }

    .col-xl-push-6 {
        left: 50%;
    }

    .col-xl-push-5 {
        left: 41.6667%;
    }

    .col-xl-push-4 {
        left: 33.3333%;
    }

    .col-xl-push-3 {
        left: 25%;
    }

    .col-xl-push-2 {
        left: 16.6667%;
    }

    .col-xl-push-1 {
        left: 8.3333%;
    }

    .col-xl-push-0 {
        left: auto;
    }

    .col-xl-offset-12 {
        margin-left: 100%;
    }

    .col-xl-offset-11 {
        margin-left: 91.6667%;
    }

    .col-xl-offset-10 {
        margin-left: 83.3333%;
    }

    .col-xl-offset-9 {
        margin-left: 75%;
    }

    .col-xl-offset-8 {
        margin-left: 66.6667%;
    }

    .col-xl-offset-7 {
        margin-left: 58.3333%;
    }

    .col-xl-offset-6 {
        margin-left: 50%;
    }

    .col-xl-offset-5 {
        margin-left: 41.6667%;
    }

    .col-xl-offset-4 {
        margin-left: 33.3333%;
    }

    .col-xl-offset-3 {
        margin-left: 25%;
    }

    .col-xl-offset-2 {
        margin-left: 16.6667%;
    }

    .col-xl-offset-1 {
        margin-left: 8.3333%;
    }

    .col-xl-offset-0 {
        margin-left: 0;
    }

    .calendar-legend {
        padding-left: 5px;
        margin-right: 13px;
    }

    .terms-text {
        padding-left: 0;
        padding-right: 0;
    }
}

@media (min-width: 1200px) {
    .cc-error-message-container {
        padding-left: 7px;
    }

    .booking-dimension {
        width: 20%;
    }

    .prefix {
        text-align: right;
    }

    .alternative-restaurant-picture {
        max-height: 120px;
        max-width: 255px;
    }

    .slider-row {
        margin-left: -5px;
        margin-right: -5px;
    }

    .confirm-reservation {
        white-space: nowrap;
    }
}

@media (max-width: 571px) {
    .register-link {
        display: block;
    }
}

@media (width: 1024px) {
    .phone-input {
        margin-left: 0;
    }
}

@media (width: 768px) {
    .custom-country-phone {
        margin-left: 0;
    }

    .phone-input {
        margin-left: 0;
    }

    .ui-datepicker {
        margin: auto;
        max-width: 580px;
    }
}

@media (max-width: 1025px) {
    .padding-left33 {
        padding-left: 0;
    }
}

@media (min-width: 768px) {
    .cc-error-message-container {
        padding-left: 9px;
    }

    .mobile-break {
        display: none;
    }
}

@media (max-width: 768px) {
    .copyright-left {
        text-align: center;
    }

    .padding-left33 {
        padding-left: 0;
    }

    .text-align {
        text-align: center;
        width: 100%;
    }

    .social-wrapper {
        padding-right: 0;
    }

    .mt8 {
        margin-top: 0;
    }

    .group-item {
        height: 309px;
        width: 325px;
        border: 1px solid #e6e6e6;
        border-radius: 4px;
    }

    .text-available-times,
    .text-unavailable-times {
        height: 40px;
        width: 297px;
        color: #313131;
        font-family: Roboto, sans-serif;
        line-height: 20px;
        margin-top: 40px;
    }

    .available-times {
        margin-left: 16px;
    }

    .see-our-restaurants {
        height: 29px;
        width: 214px;
        color: #151515;
        font-family: Roboto, sans-serif;
        font-size: 25px;
        letter-spacing: -0.21px;
        line-height: 29px;
        text-align: center;
    }

    .wrapper-image.restaurant-image {
        height: 141px;
        width: 297px;
        margin-bottom: 5px;
        overflow: hidden;
    }

    .restaurant-picture {
        object-fit: cover;
        width: 100%;
        height: 100%;
    }

    .restaurant-name {
        height: 25px;
        width: 297px;
        color: #000;
        font-family: Roboto, sans-serif;
        font-size: 16px;
        font-weight: bold;
        letter-spacing: 0;
        line-height: 25px;
        margin-left: 16px;
    }

    .search-item-wrap {
        width: 297px;
    }

    .restaurant-address {
        height: 27px;
        width: 297px;
        line-height: 27px;
    }

    .group-date,
    .time-group {
        width: 342px;
    }

    .edit-booking-breadcrumbs {
        padding-right: 5px;
        padding-left: 5px;
    }
}
