/* #page-header it just included for the examples */
#page-header {
    display: block;
    float: left;
    max-width: 800px;
}

    #page-header .bh-sl-title {
        color: #797874;
        font: normal 20px/1.4 Arial, Helvetica, sans-serif;
    }

@media (min-width: 1024px) {
    #page-header .bh-sl-title {
        font-size: 30px;
    }
}

/* Infowindow Roboto font override */
.gm-style div, .gm-style span, .gm-style label, .gm-style a {
    font-family: Arial, Helvetica, sans-serif;
}

/* InfoBubble font size */
.bh-sl-window {
    font-size: 13px;
}

.bh-sl-error {
    clear: both;
    color: #ae2118;
    float: left;
    font-weight: bold;
    padding: 10px 0;
    width: 100%;
}

/* Avoid image issues with Google Maps and CSS resets */
.bh-sl-map-container img {
    border-radius: 0 !important;
    box-shadow: none !important;
    max-height: none !important;
    max-width: none !important;
}

.bh-sl-container {
    box-sizing: border-box;
    color: #555;
    float: left;
    font: normal 14px/1.4 Arial, Helvetica, sans-serif;
    padding: 0 15px;
    width: 100%;
    /* Avoid issues with Google Maps and CSS frameworks */
}

    .bh-sl-container > * {
        box-sizing: content-box !important;
    }

    .bh-sl-container .bh-sl-form-container {
        clear: left;
        float: left;
        margin-top: 15px;
        width: 100%;
    }

    .bh-sl-container .form-input {
        float: left;
        margin-top: 3px;
        width: 100%;
    }

    .booking-file-upload-container input[type="file"] {
        display: none;
    }

    .custom-file-upload {
        border: 1px solid #ccc;
        display: inline-block;
        padding: 13px 12px;
        cursor: pointer;
        background-color: #ffffff;
        color:#FFF;
    }

    .custom-file-upload:hover,
    .custom-file-upload:active,
    .custom-file-upload:focus {
        background-color: #f7111d;
    }

.loc-raiting {
    white-space: nowrap;
}

    @media (min-width: 768px) {
        .bh-sl-container .form-input {
            width: auto;
        }
    }

    .bh-sl-container .form-input label {
    display: block;
    font-weight: bold;
    width: 100%;
}

@media (min-width: 768px) {
    .bh-sl-container .form-input label {
        display: inline-block;
        width: auto;
    }
}

.bh-sl-container .form-input input, .bh-sl-container .form-input select {
    box-sizing: border-box;
    border: 1px solid #ccc;
    border-radius: 4px;
    font: normal 14px/1.4 Arial, Helvetica, sans-serif;
    margin: 15px 0;
    padding: 6px 12px;
    width: 100%;
    -webkit-border-radius: 4px;
}

@media (min-width: 768px) {
    .bh-sl-container .form-input input, .bh-sl-container .form-input select {
        width: auto;
        margin: 0 15px 0 10px;
    }
}

.bh-sl-container .loc-alt-dist {
    display: none;
}

.bh-sl-container button {
    background: #00447a;
    border: none;
    border-radius: 4px;
    color: #fff;
    cursor: pointer;
    float: left;
    font: bold 14px/1.4 Arial, Helvetica, sans-serif;
    margin-top: 3px;
    padding: 6px 12px;
    white-space: nowrap;
    -webkit-border-radius: 4px;
}

.bh-sl-container .bh-sl-loading {
    background: url(../img/ajax-loader.gif) no-repeat;
    float: left;
    margin: 4px 0 0 10px;
    height: 16px;
    width: 16px;
}

.bh-sl-container .bh-sl-filters-container {
    clear: both;
    float: left;
    margin: 15px 0;
    width: 100%;
}

    .bh-sl-container .bh-sl-filters-container .bh-sl-filters {
        float: left;
        list-style: none;
        margin: 0 100px 0 0;
        padding: 0;
    }

        .bh-sl-container .bh-sl-filters-container .bh-sl-filters li {
            clear: left;
            display: block;
            float: left;
            margin: 5px 0;
            width: 100%;
        }

            .bh-sl-container .bh-sl-filters-container .bh-sl-filters li label {
                display: inline;
                vertical-align: text-bottom;
            }

            .bh-sl-container .bh-sl-filters-container .bh-sl-filters li input {
                display: block;
                float: left;
                margin-right: 8px;
            }

            .bh-sl-container .bh-sl-filters-container .bh-sl-filters li select {
                box-sizing: border-box;
                border: 1px solid #ccc;
                border-radius: 4px;
                font: normal 14px/1.4 Arial, Helvetica, sans-serif;
                padding: 6px 12px;
                -webkit-border-radius: 4px;
            }

.bh-sl-container .bh-sl-map-container {
    clear: left;
    float: left;
    margin-top: 27px;
    width: 100%;
}

@media (min-width: 1024px) {
    .bh-sl-container .bh-sl-map-container {
        margin-bottom: 60px;
    }
}

.bh-sl-container .bh-sl-map-container a {
    color: #005293;
    text-decoration: none;
}

    .bh-sl-container .bh-sl-map-container a:active, .bh-sl-container .bh-sl-map-container a:focus, .bh-sl-container .bh-sl-map-container a:hover {
        text-decoration: underline;
    }

.bh-sl-container .bh-sl-loc-list {
    font-size: 18px;
    color: #383838;
    height: 640px;
    overflow-x: auto;
    width: 100%;
    overflow-y: scroll; /* has to be scroll, not auto */
    -webkit-overflow-scrolling: touch;
}

    /* Hide scrollbar for Chrome, Safari and Opera */
    .bh-sl-container .bh-sl-loc-list::-webkit-scrollbar {
        display: none;
    }

/* Hide scrollbar for IE, Edge and Firefox */
.bh-sl-container .bh-sl-loc-list {
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
}

@media (min-width: 1024px) {
    .bh-sl-container .bh-sl-loc-list {
        width: 100%;
    }
}

.bh-sl-container .bh-sl-loc-list ul {
    display: block;
    clear: left;
    float: left;
    width: 100%;
    list-style: none;
    margin: 0;
    padding: 0;
}

    .bh-sl-container .bh-sl-loc-list ul li {
        border: 1px solid #fff;
        /* Adding this to prevent moving li elements when adding the list-focus class*/
        box-sizing: border-box;
        clear: left;
        cursor: pointer;
        display: block;
        float: left;
        width: 100%;
        padding: 15px 5px;
    }

.bh-sl-container .bh-sl-loc-list .list-label {
    background: #f7111d;
    border-radius: 15px;
    color: #fff;
    display: block;
    float: left;
    font-weight: bold;
    margin: 10px 0 0 15px;
    padding: 4px 7px;
    text-align: center;
    width: auto;
    min-width: 30px;
}

.bh-sl-container .bh-sl-loc-list .list-details {
    float: left;
    display: inline-block;
    margin-left: 0px;
    width: 45%;
}

    .bh-sl-container .bh-sl-loc-list .list-details .list-content {
        padding: 10px;
    }

    .bh-sl-container .bh-sl-loc-list .list-details .loc-dist {
        color: #8e8e8e;
        font-weight: bold;
        font-style: italic;
    }

.bh-sl-container .bh-sl-loc-list .list-focus {
    border: 1px solid rgba(0, 82, 147, 0.4);
    transition: border 0.2s linear 0s, box-shadow 0.2s linear 0s;
}

.bh-sl-container .bh-sl-loc-list .bh-sl-close-directions-container {
    height: 20px;
    position: relative;
    width: 100%;
}

    .bh-sl-container .bh-sl-loc-list .bh-sl-close-directions-container .bh-sl-close-icon {
        right: 6px;
        top: 0;
    }

.bh-sl-container .bh-sl-loc-list .bh-sl-directions-panel {
    margin: 0 2%;
    /* Avoid issues with table-layout */
}

    .bh-sl-container .bh-sl-loc-list .bh-sl-directions-panel table {
        table-layout: auto;
        width: 100%;
    }

    .bh-sl-container .bh-sl-loc-list .bh-sl-directions-panel table, .bh-sl-container .bh-sl-loc-list .bh-sl-directions-panel td {
        vertical-align: middle;
        border-collapse: separate;
    }

    .bh-sl-container .bh-sl-loc-list .bh-sl-directions-panel td {
        padding: 1px;
    }

    .bh-sl-container .bh-sl-loc-list .bh-sl-directions-panel .adp-placemark {
        margin: 10px 0;
        border: 1px solid #c0c0c0;
    }

    .bh-sl-container .bh-sl-loc-list .bh-sl-directions-panel .adp-marker {
        padding: 3px;
    }

.bh-sl-container .bh-sl-loc-list .bh-sl-noresults-title {
    font-weight: bold;
    margin: 15px;
}

.bh-sl-container .bh-sl-loc-list .bh-sl-noresults-desc {
    margin: 0 15px;
}

.bh-sl-container .loc-name {
    /* Picked up by both list and infowindows */
    font-size: 22px;
    line-height: 28px;
    font-weight: bold;
    color: #222222;
}

.bh-sl-container .bh-sl-map {
    float: left;
    height: 300px;
    width: 100%;
}

form.no-gutters{
    margin-left: -15px;
    margin-right: -15px;
}

#custombookingform div {
    margin-bottom:15px;
}

    #custombookingform div label {
        font-size: 18px;
        color: #455a68;
    }

#custombookingform div input,
#custombookingform div textarea {
    width: 100%;
    color: #455a68;
    padding: 5px 6px;
    box-shadow: inset 1px 1px 3px #cccccc;
    border: 1px solid #cccccc;
    min-height: 50px;
    border-width: 1px;
    border-style: solid;
    border-color: #dedede;
    border-radius: 0;
    padding: 15px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    -webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
    -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
}

#custombookingform span.label-required {
    color: #e11935;
}

@media (min-width: 1024px) {
    .bh-sl-container .bh-sl-map {
        width: 100%;
    }
}

.bh-sl-container .bh-sl-pagination-container {
    clear: both;
}

    .bh-sl-container .bh-sl-pagination-container ol {
        list-style-type: none;
        margin: 0;
        padding: 10px 0;
        text-align: center;
    }

        .bh-sl-container .bh-sl-pagination-container ol li {
            color: #005293;
            cursor: pointer;
            display: inline-block;
            font: bold 14px Arial, Helvetica, sans-serif;
            padding: 10px;
        }

        .bh-sl-container .bh-sl-pagination-container ol .bh-sl-current {
            color: #555;
            cursor: auto;
            text-decoration: none;
        }

/* Modal window */
.bh-sl-overlay {
    background: url(../img/overlay-bg.png) repeat;
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 10000;
}

    .bh-sl-overlay .bh-sl-modal-window {
        background: #fff;
        border-radius: 10px;
        box-shadow: 0 0 10px #656565;
        position: absolute;
        left: 50%;
        margin-left: -460px;
        /* width divided by 2 */
        margin-top: 60px;
        height: 620px;
        width: 920px;
        z-index: 10010;
    }

        .bh-sl-overlay .bh-sl-modal-window .bh-sl-map-container {
            margin-top: 50px;
            /* increase map container margin */
        }

        .bh-sl-overlay .bh-sl-modal-window .bh-sl-modal-content {
            float: left;
            padding: 0 1%;
            /* there's already a margin on the top of the map-container div */
            width: 98%;
        }

        .bh-sl-overlay .bh-sl-modal-window .bh-sl-close-icon {
            right: 22px;
            top: 13px;
        }

.bh-sl-close-icon {
    cursor: pointer;
    height: 24px;
    position: absolute;
    width: 24px;
}

    .bh-sl-close-icon:after, .bh-sl-close-icon:before {
        background: #ccc;
        content: '';
        display: block;
        height: 24px;
        margin: -3px 0 0 -1px;
        position: absolute;
        bottom: 0;
        left: 50%;
        right: 3px;
        top: 3px;
        width: 3px;
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        -o-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    .bh-sl-close-icon:hover:after, .bh-sl-close-icon:hover:before {
        background: #b3b3b3;
    }

    .bh-sl-close-icon:before {
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        -o-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

/*# sourceMappingURL=storelocator.css.map */

.list-details-table {
    display: inline-block;
    width: 50%;
}

    .list-details-table table {
        margin-top: 10px;
        margin-bottom: 0;
    }

.list-details-booking {
    display: block;
    width: 100%;
    text-align: center;
    float: left;
}

.booking-btn-helper {
    color: #ffffff !important;
    min-width: 300px;
}

    .booking-btn-helper:hover,
    .booking-btn-helper:focus,
    .booking-btn-helper:active {
        color: #ffffff !important;
    }

.loc-addr,
.loc-addr2,
.loc-addr3,
.loc-phone,
.loc-dist,
.loc-directions {
    font-size: 18px;
    line-height: 24px;
}

.loc-certs,
.loc-charities {
    font-size: 14px;
    line-height: 16px;
}

.store-hours tr th {
    font-size: 18px;
    text-align: center;
}

.list-details-booking p.store-book {
    margin-bottom: 0;
}

.loc-store-name {
    margin-right: 15px;
}

.loc-name i {
    margin-right: -2px !important;
}

.store-hours img {
    height: 35px;
    width: 35px;
    display: block;
    margin: -3px auto;
}

.list-details-table table td {
    padding: 5px 15px;
    text-align: center;
}

ul#shopAvailableTimes {
    list-style-type: none;
    margin:0;
}

ul#shopAvailableTimes li {
    margin: 0 3px 6px 0;
    padding: 0;
    display: inline-block;
}

    ul#shopAvailableTimes li a {
        display: block;
        padding: 10px 10px;
        border-radius: 3px;
        background: #eeeeee;
        border: 1px solid #ccc;
        text-decoration: none;
        color: #455a68;
        font-size: 18px;
        font-weight: bold;
        margin-right: 3px;
    }

    ul#shopAvailableTimes li a.selected {
        background: #6eaebe;
        color: #FFF;
    }

        ul#shopAvailableTimes li a.selected:hover {
            background: #222222;
            color: #FFF;
        }

#shopAvailableTimes li a.timeslot:hover {
    background: #222222;
    color: #FFF;
}

.custom-booking-submit,
.custom-file-upload {
    width: 100%;
    border-radius: 25px !important;
    margin: 0 !important;
    width: 100%;
    color: #222222 !important;
    font-size: 2.75rem !important;
    padding: 6.5px 15px !important;
    text-transform: capitalize;
    font-weight: 400 !important;
}

.custom-booking-submit {
    background-color: #CF0711 !important;
    border-color: #222222 !important;
    color: #fff !important;
}
    .custom-booking-submit:hover,
    .custom-booking-submit:focus,
    .custom-booking-submit:active {
        background-color: #ffffff !important;
        border-color: #CF0711 !important;
        color: #222222 !important;
    }


.goBack {
    background-color: #ffffff !important;
    border: none;
    color: #222222;
    padding: 12px 16px;
    font-size: 16px;
    cursor: pointer;
}

    .goBack:hover,
    .goBack:active,
    .goBack:focus {
        background-color: #0f9d58 !important;
    }


.goHome {
    background-color: #ffffff !important;
    border: none;
    color: white;
    padding: 4px 16px;
    font-size: 16px;
    cursor: pointer;
}

    .goHome:hover,
    .goHome:active,
    .goHome:focus {
        background-color: #0f9d58 !important;
    }


    @media only screen and (max-width:1199px) {
        .booking-table-hide-desktop {
        display: inline-block;
    }

    .booking-table-hide-mobile {
        display: none;
    }
}


@media only screen and (min-width:1200px) {
    .booking-table-hide-desktop {
        display: none;
    }

    .booking-table-hide-mobile {
        display: inline-block;
    }
}

@media only screen and (max-width:991px) {
    .list-details-table {
        width: 100%;
    }

    .bh-sl-container .bh-sl-loc-list .list-details {
        width: 85%;
    }
}

@supports (-webkit-touch-callout: none) {
    .bh-sl-container .bh-sl-loc-list {
        height: 100%;
    }
}
