/*
 loader
 */

.rgbc-loader {
    position: relative;
    display: inline-flex !important;
    align-items: center;
    pointer-events: none;
}

.rgbc-loader::after {
    content: '';
    position: relative;
    border: 0.2rem solid #000;
    border-radius: 50%;
    border-top: 0.2rem solid transparent;
    min-width: 0.5rem;
    min-height: 0.5rem;
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
    margin: 0 6px;
}

/* Safari */
@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
    }
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.rgbc-selected-location {
    font-size: 16px;
    font-weight: bold;
}

.rgbc-controls {
    margin-top: 10px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    min-height: 40px;
    outline: none;
    padding: 0.3em;
    box-shadow: 0 0 0 transparent;
    border-radius: 4px;
    border: 1px solid #8c8f94;
    background-color: #fff;
    color: #2c3338;
}

/**
 * Modals ($modals)
 */

/* 1. Ensure this sits above everything when visible */

body.rgbc-modal-open {
    overflow: hidden;
}

.rgbc-modal {
    position: fixed;
    z-index: 10000; /* 1 */
    top: 0;
    left: 0;
    visibility: hidden;
    width: 100%;
    height: 100%;
    overflow-y: scroll;
    display: flex;
    justify-content: center;
    align-items: center;
}

.rgbc-modal-body {
    flex-grow: 1;
    overflow: hidden;
    padding: 1rem;
}

.rgbc-modal.rgbc-is-visible {
    visibility: visible;
}

.rgbc-modal-overlay {
    position: fixed;
    z-index: 10;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: hsla(0, 0%, 0%, 0.5);
    visibility: hidden;
    opacity: 0;
    transition: visibility 0s linear 0.3s, opacity 0.3s;
}

.rgbc-modal.rgbc-is-visible .rgbc-modal-overlay {
    opacity: 1;
    visibility: visible;
    transition-delay: 0s;
}

.rgbc-modal-wrapper {
    position: relative;
    z-index: 9999;
    width: 70%;
    background-color: #fff;
    box-shadow: 0 0 1.5em hsla(0, 0%, 0%, 0.35);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

#rgbc-cheetah-map {
    width: 100%;
    height: 93%;
    min-height: 15rem;
    margin-bottom: 1rem;
    flex-grow: 1;
    color: #000000 !important;
}

#rgbc-pickup-location-container p {
    margin: 0;
}

/* Smartphones (portrait and landscape) ----------- */
@media only screen and (min-device-width: 320px) and (max-device-width: 480px) {
    /* Styles */
    #rgbc-cheetah-map {
        height: 93%;
    }

    .rgbc-modal-wrapper {
        width: 90%;
        height: 95%;
    }
}

/* iPads (portrait and landscape) ----------- */
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
    /* Styles */
    .rgbc-modal-wrapper {
        width: 90%;
        height: 70%;
    }
}

/* Desktops and laptops ----------- */
@media only screen and (min-width: 1224px) {
    /* Styles */
    .rgbc-modal-wrapper {
        width: 80%;
        height: 87%;
    }
}

/* Large screens ----------- */
@media only screen and (min-width: 1824px) {
    /* Styles */
    #rgbc-cheetah-map {
        height: 95%;
    }

    .rgbc-modal-wrapper {
        width: 80%;
        height: 90%;
    }
}

.rgbc-modal-transition {
    transition: all 0.3s 0.12s;
    transform: translateY(-10%);
    opacity: 0;
}

.rgbc-modal.rgbc-is-visible .rgbc-modal-transition {
    transform: translateY(0);
    opacity: 1;
}

.rgbc-modal-content {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.rgbc-modal-header {
    position: relative;
    background-color: #fff;
    box-shadow: 0 1px 2px hsla(0, 0%, 0%, 0.06);
    border-bottom: 1px solid #e8e8e8;
    padding: 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rgbc-modal-close {
    position: absolute;
    top: 0;
    right: 0;
    padding: 1em;
    color: #aaa;
    background: none;
    border: 0;
}

.rgbc-modal-close:hover {
    color: #777;
}

.rgbc-modal-wrapper .rgbc-modal-header .rgbc-modal-heading {
    font-size: 1.125em;
    margin: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.rgbc-modal-content > *:first-child {
    margin-top: 0;
}

.rgbc-modal-content > *:last-child {
    margin-bottom: 0;
}

.rgbc-modal-footer {
    padding: 0 1rem 1rem 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

button.rgbc-button,
.rgbc-button {
    margin: 1rem 0;
    border: none;
    border-radius: 2px;
    box-shadow: none;
    cursor: pointer;
    display: inline-block;
    line-height: 1;
    padding: 1em 2em;
    text-shadow: none;
    transition: background 0.2s ease 0s;
    background-color: #781bf4 !important;
    color: #fff;
}

.rgbc-modal-footer button.rgbc-button {
    margin: 0;
}

.rgbc-button:disabled,
.rgbc-button[disabled] {
    color: #a7aaad !important;
    background: #f6f7f7 !important;
    border-color: #dcdcde !important;
    box-shadow: none !important;
    text-shadow: none !important;
    cursor: default;
}

button.rgbc-button.rgbc-map-cancel,
.rgbc-button.rgbc-map-cancel {
    background-color: #444444 !important;
    color: #fff;
}

button.rgbc-button.rgbc-map-submit,
.rgbc-button.rgbc-map-submit {
    background-color: #1d63d3 !important;
    color: #fff;
}

button.rgbc-button.rgbc-map-reset,
.rgbc-button.rgbc-map-reset {
    background-color: #d31d1d !important;
    color: #fff;
}


.rgbc-admin-button-preview {
    margin: 0.5rem 0;
}

button.rgbc-simple-button,
.rgbc-simple-button {
    cursor: pointer;
    outline: 0;
    color: #fff;
    background-color: #0d6efd;
    border-color: #0d6efd;
    display: inline-block;
    font-weight: 400;
    line-height: 1.5;
    text-align: center;
    border: 1px solid transparent;
    padding: 1em 2em;
    border-radius: 0.25rem;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

button.rgbc-simple-button:hover,
.rgbc-simple-button:hover {
    color: #fff;
    background-color: #0b5ed7;
    border-color: #0a58ca;
}

button.rgbc-modern-button,
.rgbc-modern-button {
    display: inline-block;
    outline: 0;
    cursor: pointer;
    padding: 1em 2em;
    font-weight: 500;
    line-height: 20px;
    vertical-align: middle;
    border: 1px solid;
    border-radius: 6px;
    color: #ffffff;
    background-color: #2ea44f;
    border-color: #1b1f2326;
    box-shadow: rgba(27, 31, 35, 0.04) 0px 1px 0px 0px, rgba(255, 255, 255, 0.25) 0px 1px 0px 0px inset;
    transition: 0.2s cubic-bezier(0.3, 0, 0.5, 1);
    transition-property: color, background-color, border-color;
}

button.rgbc-modern-button:hover,
.rgbc-modern-button:hover {
    background-color: #2c974b;
    border-color: #1b1f2326;
    transition-duration: 0.1s;
}

button.rgbc-rounded-button,
.rgbc-rounded-button {
    display: inline-block;
    outline: none;
    cursor: pointer;
    line-height: 1;
    border-radius: 500px;
    transition-property: background-color, border-color, color, box-shadow, filter;
    transition-duration: 0.3s;
    border: 1px solid transparent;
    letter-spacing: 2px;
    min-width: 160px;
    white-space: normal;
    font-weight: 700;
    text-align: center;
    padding: 1em 2em;
    color: #fff;
    background-color: #1ED760;
}

button.rgbc-rounded-button:hover,
.rgbc-rounded-button:hover {
    transform: scale(1.04);
    background-color: #21e065;
}

button.rgbc-3d-button,
.rgbc-3d-button {
    display: inline-block;
    outline: 0;
    border: 0;
    cursor: pointer;
    transition: box-shadow 0.15s ease, transform 0.15s ease;
    will-change: box-shadow, transform;
    background: #FCFCFD;
    box-shadow: 0px 2px 4px rgba(45, 35, 66, 0.4), 0px 7px 13px -3px rgba(45, 35, 66, 0.3), inset 0px -3px 0px #d6d6e7;
    padding: 1em 2em;
    border-radius: 6px;
    color: #ffffff;
    transition: box-shadow 0.15s ease, transform 0.15s ease;
}

button.rgbc-3d-button:hover,
.rgbc-3d-button:hover {
    box-shadow: 0px 4px 8px rgba(45, 35, 66, 0.4), 0px 7px 13px -3px rgba(45, 35, 66, 0.3), inset 0px -3px 0px #d6d6e7;
    transform: translateY(-2px);
}

button.rgbc-3d-button:active,
.rgbc-3d-button:active {
    box-shadow: inset 0px 3px 7px #d6d6e7;
    transform: translateY(2px);
}

button.rgbc-simple-button,
button.rgbc-modern-button,
button.rgbc-rounded-button,
button.rgbc-3d-button,
.rgbc-simple-button,
.rgbc-modern-button,
.rgbc-rounded-button,
.rgbc-3d-button {
    background-color: var(--rgbc-button-color) !important;
}

button.rgbc-3d-button,
.rgbc-3d-button {
    box-shadow: 0 0 0 0px transparent inset, 0 0 0 2px rgb(255 255 255 / 15%) inset, 0 8px 0 0 var(--rgbc-button-color), 0 8px 8px 1px rgb(0 0 0 / 50%) !important;
}

button.rgbc_button_style_normal,
.rgbc_button_style_normal {
    display: inline-block;
    outline: 0;
    border: 0;
    cursor: pointer;
    font-weight: 600;
    color: rgb(72, 76, 122);
    font-size: 14px;
    padding: 8px 24px;
    border-radius: 50px;
    background-image: linear-gradient(180deg, #fff, #f5f5fa);
    box-shadow: 0 4px 11px 0 rgb(37 44 97 / 15%), 0 1px 3px 0 rgb(93 100 148 / 20%);
    transition: all .2s ease-out;
}

button.rgbc_button_style_normal:hover,
.rgbc_button_style_normal:hover {
    box-shadow: 0 8px 22px 0 rgb(37 44 97 / 15%), 0 4px 6px 0 rgb(93 100 148 / 20%);
}

.rgbc-map-info-window {
    text-align: center;
}

.pac-container {
    z-index: 10051 !important;
}

#rgbc-pac-input {
    background-color: #fff;
    text-overflow: ellipsis;
    width: 100%;
    padding: 0.5rem;
}

.gm-style .gm-style-iw-c {
    padding: 1em !important;
}

#rgbc-pickup-location-container {
    visibility: hidden;
}

#rgbc-pickup-location-container.rgbc-selected {
    visibility: visible;
}

.rgbc-modal-footer button {
    margin-top: 0;
}

/*
 OpenStreet Autocomplete
 */
:root {
    --rgbc-close-button: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.984 6.422L13.406 12l5.578 5.578-1.406 1.406L12 13.406l-5.578 5.578-1.406-1.406L10.594 12 5.016 6.422l1.406-1.406L12 10.594l5.578-5.578z'/%3E%3C/svg%3E%0A");
    --rgbc-loupe-icon: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"%3E%3Cpath fill="%23929292" d="M16.041 15.856a.995.995 0 00-.186.186A6.97 6.97 0 0111 18c-1.933 0-3.682-.782-4.95-2.05S4 12.933 4 11s.782-3.682 2.05-4.95S9.067 4 11 4s3.682.782 4.95 2.05S18 9.067 18 11a6.971 6.971 0 01-1.959 4.856zm5.666 4.437l-3.675-3.675A8.967 8.967 0 0020 11c0-2.485-1.008-4.736-2.636-6.364S13.485 2 11 2 6.264 3.008 4.636 4.636 2 8.515 2 11s1.008 4.736 2.636 6.364S8.515 20 11 20a8.967 8.967 0 005.618-1.968l3.675 3.675a.999.999 0 101.414-1.414z"/%3E%3C/svg%3E');
}

.rgbc-auto-search-wrapper {
    display: block;
    width: 100%;
}

.rgbc-auto-search-wrapper input {
    font-size: 13px;
    width: 100%;
    box-shadow: none;
    box-sizing: border-box;
    padding-right: 25px;
    border: none;
}

.rgbc-auto-search-wrapper input:focus {
    border: none;
    outline: none;
    box-shadow: none;
}

.rgbc-auto-search-wrapper input::-ms-clear {
    display: none;
}

.rgbc-auto-search-wrapper ul {
    list-style: none;
    padding: 0;
    margin: 0;
    overflow: auto;
    max-height: 21rem;
}

.rgbc-auto-search-wrapper ul li {
    position: relative;
    cursor: pointer;
    margin: 0;
    padding: 10px;
    overflow: hidden;
}

.rgbc-auto-search-wrapper ul li:not(:last-child) {
    border-top: none;
}

.rgbc-auto-search-wrapper ul li[disabled] {
    pointer-events: none;
    opacity: 0.5;
    background: #ececec;
}

.rgbc-auto-search-wrapper .auto-expanded {
    border: none;
    outline: none;
}

.rgbc-auto-search-wrapper.loupe:before {
    filter: invert(60%);
}

.auto-is-loading:after {
    content: "";
    box-sizing: border-box;
    position: absolute;
    top: 0px;
    bottom: 0;
    margin: auto;
    right: 0;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 2px solid #808080;
    border-left-color: #d9d9d9;
    border-top-color: #d9d9d9;
    animation: auto-spinner 0.6s linear infinite;
}

html[dir="rtl"] .auto-is-loading:after {
    right: unset;
    left: 0;
}


.auto-is-loading .auto-clear {
    display: none;
}

@keyframes auto-spinner {
    to {
        transform: rotate(1turn);
    }
}

li.loupe:before {
    top: 15px;
    bottom: auto;
}

.loupe input {
    padding: 12px 45px 12px 40px;
}

.loupe:before {
    position: absolute;
    content: "";
    width: 17px;
    height: 17px;
    top: 0;
    bottom: 0;
    left: 10px;
    margin: auto;
    background-image: var(--rgbc-loupe-icon);
}

.auto-selected:before {
    opacity: 1;
}

.auto-clear {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    top: 0;
    bottom: 0;
    right: -10px;
    margin: auto;
    width: 40px;
    height: auto;
    cursor: pointer;
    background-color: transparent;
    border: none;
}

html[dir="rtl"] .auto-clear {
    right: unset;
    left: -10px;
}

.auto-clear:before {
    content: var(--rgbc-close-button);
    line-height: 100%;
    height: 24px;
    width: 24px;
}

.auto-clear span {
    display: none;
}

.auto-results-wrapper {
    display: none;
    border: 1px solid #858585;
    border-top: none;
    overflow: hidden;
    box-sizing: border-box;
    background-color: #fff;
}

.auto-results-wrapper ul > .loupe {
    padding-left: 40px;
}

.auto-results-wrapper.auto-is-active {
    display: block;
    position: absolute;
    width: 100%;
    z-index: 99999;
    top: 80%;
    left: 0;
}

.auto-selected {
    background-color: #e6e6e6;
}

.auto-selected + li:before {
    border-top: none;
}

.auto-error {
    border: 1px solid #ff3838;
}

.auto-error::placeholder {
    color: #ff6666;
    opacity: 1;
}

.rgbc-hidden {
    display: none;
}

.rgbc-leaflet-search {
    width: 17px;
    height: 17px;
}

.rgbc-leaflet-autocomplete {
    background: #fff;
    padding: 5px;
    width: 26px;
    height: 26px;
    border: 1px solid #ccc;
    display: flex;
    cursor: pointer;
    justify-content: center;
    align-items: center;
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.65);
    border-radius: 4px;
    transition: width 200ms ease-in;
}

.rgbc-leaflet-autocomplete svg {
    position: absolute;
    width: 17px;
    left: 3px;
}

html[dir="rtl"] .rgbc-leaflet-autocomplete svg {
    left: unset;
    right: 3px;
}

.rgbc-leaflet-autocomplete .rgbc-auto-search-wrapper {
    display: none;
    padding-left: 5px;
}

.rgbc-leaflet-autocomplete .loupe:before {
    left: 0;
    top: 4px;
    width: 15px;
    background-repeat: no-repeat;
}

.rgbc-leaflet-autocomplete .rgbc-auto-search-wrapper ul li {
    padding: 5px;
    border-top: 1px solid rgb(240, 240, 240);
    font-size: 12px;
}

.rgbc-leaflet-autocomplete.rgbc-active-autocomplete {
    width: 100%;
    max-width: 250px;
    position: relative;
}

.rgbc-leaflet-autocomplete.rgbc-active-autocomplete .auto-results-wrapper.auto-is-active {
    margin-top: 7px;
    border-top: 1px solid #858585;
    border-radius: 0 0 5px 5px;
}

.rgbc-leaflet-autocomplete.rgbc-active-autocomplete .rgbc-auto-search-wrapper {
    display: block;
}

.leaflet-touch .rgbc-leaflet-autocomplete {
    padding: 3px;
    display: flex;
    gap: 5px;
}

.leaflet-touch .rgbc-leaflet-autocomplete svg {
    width: 20px;
    left: 5px;
    top: 5px;
}

html[dir="rtl"] .leaflet-touch .rgbc-leaflet-autocomplete svg {
    left: unset;
    right: 5px;
}

.rgbc-simple-popup__close {
    background: transparent;
    border: none;
    user-select: none;
    margin: 0;
    padding: 0;
    cursor: pointer;
}

.rgbc-simple-popup__close {
    position: relative;
    width: 30px;
    height: 30px;
}

.rgbc-simple-popup__close .rgbc-simple-popup__line {
    width: 30px;
    height: 2px;
    background: black;
    display: inline-block;
    transform: rotate(45deg);
    position: absolute;
    top: 13px;
    left: 0;
}

.rgbc-simple-popup__close .rgbc-simple-popup__line:last-child {
    transform: rotate(-45deg);
}

#rgbc-pac-container {
    max-width: 250px;
    max-height: 288px;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 0.5rem;
    margin: 0.5rem;
    background: #ffffff;
    box-shadow: 0 2px 6px rgb(0 0 0 / 30%);
}

.rgbc-pac-pickuppoints-container {
    height: 100%;
    width: 100%;
    overflow-x: hidden;
    overflow-y: auto;
}

.rgbc-leaflet-pac-container {
    max-width: 255px;
    max-height: 260px;
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    background: #ffffff;
}

#rgbc-pac-pickuppoints {
    direction: rtl;
    font-family: inherit;
    font-size: 13px;
    color: #3c434a;
}

#rgbc-pac-pickuppoints p, .rgbc-mobile-pickuppoints p {
    font-size: inherit;
    font-family: inherit;
    color: inherit;
    margin: 0.3rem 0;
}

#rgbc-pac-pickuppoints p {
    margin: 0 0 0.2rem 0;
}

#rgbc-pac-pickuppoints p.rgbc-pickup-remarks {
    line-height: 1rem;
}

#rgbc-pac-pickuppoints .rgbc-pickpoint {
    padding: 0.5rem 1.2rem;
    border-bottom: 1px solid;
    cursor: pointer;
    display: flex;
    align-items: center;
}

.rgbc-pickpoint .rgbc-pickpoint-icon {
    height: 16px;
    width: auto;
}

.leaflet-top .leaflet-right {
    display: flex;
    flex-direction: column;
}

.rgbc-leaflet-autocomplete.leaflet-control.rgbc-active-autocomplete {
    z-index: 900;
}

.rgbc-mobile-location-list {
    margin-bottom: 1rem;
    width: 100%;
    height: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.rgbc-mobile-pickuppoints-container {
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    direction: rtl;
}

.rgbc-mobile-pickuppoints {
    position: relative;
    width: 100%;
    height: 100%;
    font-weight: 500;
    color: #3c434a;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.rgbc-mobile-pickuppoint {
    width: 100%;
    border-bottom: 1px solid;
    padding: 1rem 0;
}

.rgbc-pickup-name {
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
    align-items: center;
}

.rgbc-mobile-pickuppoints img.rgbc-pickuppoint-icon {
    width: auto;
    height: 28px;
}

.rgbc-pickup-street {
    color: #ffa700;
}

.rgbc-mobile-pickuppoints .rgbc-mobile-pickuppoint.rgbc-preselected {
    order: -1;
}

.rgbc-location-list-search {
    width: 100%;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    box-shadow: rgb(0 0 0 / 10%) 0 3px 8px;
}

.rgbc-mobile-location-list .rgbc-location-list-search label {
    margin: 0;
}

.rgbc-location-list-search input {
    min-width: 40%;
    margin-top: 0;
}

.rgbc-mobile-pickuppoints.rgbc-loader::after {
    position: absolute;
    min-width: 2rem;
    min-height: 2rem;
    top: 50%;
    left: 50%;
    z-index: 10;
}

.rgbc-mobile-pickuppoints.rgbc-loader::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: #c7c6c6;
    opacity: 0.5;
    z-index: 5;
}

.rgbc-mobile-pickuppoints .rgbc-no-points {
    text-align: center;
    width: 100%;
}