@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap');

html {
    -webkit-font-smoothing: antialiased;
}

body {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 14px;
    padding: 0;
    border-top: 20px solid #ad0c33;
    color: #333;
}

a {
    text-decoration: none;
    color: #ad0c33;
}

a:hover, a:focus {
    color: #840a27;
    text-decoration: underline;
}

strong {
    color: #333;
}

h1, h2, h3, h4, #tootle h3 strong {
    color: #ad0c33;
}

h2 {
    font-size: 1.5em;
    margin: .83em 0 .415em 0;
}

h3 {
    font-size: 1.17em;
    margin: 1em 0 .5em 0;
}

input[type=text]:focus, textarea:focus, input[type=checkbox]:focus, select:active {
    border: 2px solid #840a27;
    box-shadow: 0 0 5px rgba(159, 18, 51, 0.41);
}

.constraint {
    width: 90%;
    margin: 0 auto;
    max-width: 66em;
}

.flex-section {
    display: flex;
    flex: 1;
    justify-content: flex-start;
    align-items: center;
}

.flex--end {
    justify-content: flex-end;
}

.col-left {
    width: 49%;
    float: left;
}

.col-right {
    width: 49%;
    float: right;
}

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

.no-right-margin.no-right-margin {
    margin-right: 0;
}

.header {
    background-color: #fff;
    padding: 0.5em 0;
    border-bottom: 1px solid #ddd;
}

.header__logo {
    width: 100%;
    max-width: 3.335em;
    padding-top: .2em;
}

.header-title {
    text-transform: uppercase;
}

.header a {
    text-decoration: none;
}

.grey-block {
    background-color: #f7f7f7;
}

.section-spacing.section-spacing {
    margin-top: 2.5em;
    margin-bottom: 2.5em;
}

.video-wrap {
    max-width: 43em;
    margin: 0 auto;
}

.box-padding {
    padding: 1.35em 1em;
}

.customer-intro-text {
    margin-top: 0;
}

.details-table {
    border-width: 0;
    margin-bottom: 2em;
}

.details-table tr, .details-table tr:nth-of-type(even) {
    background-color: transparent;
}

.details-table td, .details-table th {
    border-bottom-width: 0;
    padding: .175em;
}

.details-table__title {
    width: auto;
}

.booking-cta-container {
    display: inline-block;
    margin: 0;
}

.cta--map, .button, .cta, .evhc-cta {
    background-color: #ad0c33;
    display: inline-block;
    padding: 0.875em 1.5em;
    margin: 0 0 1em;
    border-radius: 4px;
    border-bottom: none;
    text-transform: uppercase;
    font-size: 0.875em;
    font-weight: 700;
    color: #fff;
    text-decoration: none;
    line-height: normal;
}

.cta--map:hover, .cta--map:focus, .button:hover, .button:focus, .cta:hover, .cta:focus, .evhc-cta:hover, .evhc-cta:focus {
	background-color: #840a27;
	border-bottom: none;
	color: #fff;
	text-decoration: none;
}

.social {
    display: table;
    width: 100%;
    text-align: right;
}

.social-text {
    color: #bbb;
    font-size: 0.625em;
    margin-right: 1em;
    border-right: 1px solid #bbb;
    padding: 0.6em 1em 0.6em 0;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.social a {
    color: #bbb;
    margin-right: 0.9375em;
    font-size: 0.6em;
    text-decoration: none;
    vertical-align: middle;
}

.social a .icon {
    vertical-align: middle;
}

.photo-gallery {
    text-align: center;
    margin: 3em 0;
}

.box {
    background-color: #fff;
    border-color: #ddd;
}

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

.flex {
    display: flex;
    flex-wrap: wrap;
}

.flex-center {
    justify-content: space-between;
}

.footer {
    background-color: #f7f7f7;
    margin-top: 3em;
    padding: 0.5em 0;
    color: #666;
}

.footer a {
    color: #666;
}

.footer a:hover, .footer a:focus {
    text-decoration: underline;
}

.legal-list {
    font-size: .9em;
}


/* ==========================================================================
   eVHC
   ========================================================================== */
.evhc-action__icon {
    margin-right: .5em;
}

.evhc-key {
    font-size: .85em;
}

.evhc-table, td {
    background: transparent;
    border-color: #ddd;
}

.evhc-table__cat td, .evhc-table__head, .evhc-table__total {
    background: #f7f7f7;
}

.evhc-approval-form {
    background: transparent;
    border: 1px solid #ddd;
}


.button-group a {
    color: #333;
    text-decoration: underline;
}

.button-group a:hover, .button-group a:hover {
    color: #c0392b;
    text-decoration: underline;
}

.bumper-ad .cta--primary {
    margin: 0;
}

#js-document-verification__form li {
    word-wrap: break-word;
}

#js-document-verification_unlock__btn {
    background-color: #ad0c33;
    display: inline-block;
    padding: 0.875em 1.5em;
    margin: 0 0 1em;
    border-radius: 4px;
    border-bottom: none;
    text-transform: uppercase;
    font-size: 0.875em;
    font-weight: 700;
    color: #fff;
    text-decoration: none;
    line-height: normal;
}

#js-document-verification_unlock__btn:hover, #js-document-verification_unlock__btn:focus {
    background-color: #840a27;
    border-bottom: none;
    color: #fff;
    text-decoration: none;
}

#js-document-verification__form p {
    margin-top: 0;
}

#js-document-verification_modal__dialog ul {
    list-style-type: none;
}

#js-document-verification_modal__dialog li {
    margin-left: 0;
}


/* ==========================================================================
   Live Video Styles
   ========================================================================== */
.live-video {
    background: none !important;
    position: relative;
    z-index: 1;
    padding: 1em 0 0 0;
}

.live-video button.start-call {
    margin: 0 !important;
    font-size: 1.8em !important;
    line-height: 1 !important;
    padding: .5em 0 .6em 0 !important;
}

.live-video #onCall {
    width: 100% !important;
    margin: 0 !important;
}

@media screen and (min-width: 44em) {
    .live-video #onCall {
        width: 50% !important;
    }
}

.live-video .toolbar .button {
    margin: 0 .5em 1em .5em !important;
}

@media (orientation: landscape) {
    .live-video .media {
        display: block !important;
        width: 95% !important;
    }

    .live-video .toolbar .button {
        margin: 0 0 1em 0 !important;
    }
}

.lv-feature__explainer #explainerText {
    margin-top: 1em;
    margin-bottom: 3em;
}

.live-video .review {
    width: 100%;
    max-width: 64em;
}

@media (min-width: 1366px) and (orientation: landscape) {
    .live-video .review {
        width: 100%;
        max-width: 64em;
    }
}

.live-video .review h1, .live-video  .review h2, .live-video  .review h3,  .live-video  .review h4, .live-video  .review th,  .live-video  .review label {
    color: #333 !important;
    font-weight: normal;
}

.live-video textarea {
    display: block;
    width: 100%;
    min-height: 10em;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: .25em;
    background: #fff;
    padding: .25em .5em;
    margin-top: 1em;
    line-height: 1;
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}

.live-video button.send_review {
    background-color: #ad0c33;
    display: inline-block;
    padding: 0.875em 1.5em;
    margin: 0 0 2em 0;
    border-radius: 4px;
    border-bottom: none;
    text-transform: uppercase;
    font-size: 0.875em;
    font-weight: 700;
    color: #fff;
    text-decoration: none;
}

.live-video button.send_review:focus, .live-video button.send_review:hover {
    background-color: #840a27;
    border-bottom: none;
    color: #fff;
    text-decoration: none;
}

.lv-content__error--vppages .error {
    width: 100%;
    max-width: 64em;
}

.live-video .reqMark::after {
    content: '*';
    display: inline-block;
    color: #ec1b34;
}

.live-video .review-gratification h1, .live-video .review-gratification h2, .live-video .review-gratification h3, .live-video .review-gratification h4, .live-video .review-gratification th, .live-video .review-gratification label {
    color: #333;
}

.fullscreen .live-video {
    background: #000 !important;
}


/* ==========================================================================
   Media Queries
   ========================================================================== */
@media only screen and (min-width: 40em) {
    body {
        font-size: 15px;
    }
}

@media only screen and (min-width: 65em) {
    .header {
        margin-bottom: 2em;
    }

    .col-left-56 {
        width: 56%;
        float: left;
        padding-right: 0;
    }

    .col-right-44 {
        width: 44%;
        float: right;
    }

    .box-padding {
        padding: 2em;
    }
}

@media only screen and (max-width: 65em) {
    .margin-bottom-mobile {
        margin-bottom: 1.5em;
    }

    .customer-intro-text {
        margin-top: 1em;
    }

    .cta--map, .button, .cta, .evhc-cta {
        margin: 0 0 2em;
    }

    #cookieConsent .col-left, #cookieConsent .col-right {
        float: none;
        width: 100%;
        margin: 0;
    }
}