/*
 * Leaflet.BootstrapDropdowns v1.0.1 - 2024-6-15
 *
 * Copyright 2024 mfhsieh
 * mfhsieh@gmail.com
 *
 * Licensed under the MIT license.
 *
 * Demos:
 * https://mfhsieh.github.io/leaflet-bootstrap-dropdowns/
 *
 * Source:
 * git@github.com:mfhsieh/leaflet-bootstrap-dropdowns.git
 *
 */
@-moz-document url-prefix() {

    .leaflet-bootstrap-dropdowns button .fa,
    .leaflet-bootstrap-dropdowns button .fab,
    .leaflet-bootstrap-dropdowns button .far,
    .leaflet-bootstrap-dropdowns button .fas {
        margin-top: .05rem;
        margin-bottom: -.05rem;
    }
}

.leaflet-bootstrap-dropdowns .btn {
    display: flex;
    align-items: center;
    justify-content: center;
    /* to make webkit and moz consistent */
    box-sizing: border-box;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    margin: 0;
    font-size: 1.375rem;
    color: white;
    background-color: rgba(var(--bs-primary-rgb), 1) !important;
    border: .125rem solid white !important;
    border-radius: 2.5rem;
    box-shadow: rgba(0, 0, 0, .33) 0 .125rem .375rem;
    /* opacity: .5;
    transition: opacity .2s; */
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -khtml-user-select: none;
    text-size-adjust: none;
    -webkit-text-size-adjust: none;
    -moz-text-size-adjust: none;
    -ms-text-size-adjust: none;
    -khtml-text-size-adjust: none;
}

.leaflet-bootstrap-dropdowns .btn svg {
    fill: white;
    width: 1.375rem;
    height: 1.375rem;
}

/* .leaflet-bootstrap-dropdowns .btn:hover,
.leaflet-bootstrap-dropdowns .btn.show {
    opacity: 1;
} */

.leaflet-bootstrap-dropdowns .btn.show {
    color: rgba(var(--bs-primary-rgb), 1);
    background-color: white !important;
    border-color: rgba(var(--bs-primary-rgb), 1) !important;
}

.leaflet-bootstrap-dropdowns .btn.show svg {
    fill: rgba(var(--bs-primary-rgb), 1);
}

.leaflet-bootstrap-dropdowns .btn:focus {
    box-shadow: 0 0 0 .25rem rgba(255, 255, 255, .5);
}

.leaflet-bootstrap-dropdowns .btn:focus-visible {
    /* border-color: black !important; */
    border-color: rgba(var(--bs-primary-rgb), 1) !important;
}

.leaflet-bootstrap-dropdowns.menu {
    position: absolute;
    margin: 0 !important;
    left: .5rem;
    top: .5rem;
}

.leaflet-bootstrap-dropdowns .dropdown-item {
    font-family: var(--bs-body-font-family);
    font-size: 1.25rem;
    font-weight: normal;
    color: black;
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -khtml-user-select: none;
}

.leaflet-bootstrap-dropdowns .dropdown-item i {
    width: 1.75rem;
    text-align: center;
}

.leaflet-bootstrap-dropdowns .dropdown-item.current {
    font-weight: bold;
    color: rgba(var(--bs-primary-rgb), 1);
    cursor: default;
}

.leaflet-bootstrap-dropdowns .dropdown-item:active,
.leaflet-bootstrap-dropdowns .dropdown-item:hover,
.leaflet-bootstrap-dropdowns .dropdown-item.current:active {
    color: white;
    background-color: rgba(var(--bs-primary-rgb), 1) !important;
}

.leaflet-bootstrap-dropdowns .dropdown-item.current:hover {
    color: white;
    background-color: rgba(128, 128, 128, 1) !important;
}
/*
 * Leaflet.IconEx v1.0.1 - 2024-06-15
 *
 * Copyright 2024 mfhsieh
 * mfhsieh@gmail.com
 *
 * Licensed under the MIT license.
 *
 * Demos:
 * https://mfhsieh.github.io/leaflet-iconex/
 *
 * Source:
 * git@github.com:mfhsieh/leaflet-iconex.git
 *
 */
@-moz-document url-prefix() {

    /* .leaflet-div-icon div:last-child,
    .leaflet-iconex div:last-child, */
    .leaflet-div-icon div:last-child .fa,
    .leaflet-div-icon div:last-child .fab,
    .leaflet-div-icon div:last-child .far,
    .leaflet-div-icon div:last-child .fas,
    .leaflet-iconex div:last-child .fa,
    .leaflet-iconex div:last-child .fab,
    .leaflet-iconex div:last-child .far,
    .leaflet-iconex div:last-child .fas {
        margin-top: .05rem;
        margin-bottom: -.05rem;
    }
}

.leaflet-div-icon {
    background: transparent;
    border: none;
}

.leaflet-div-icon,
.leaflet-iconex {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -khtml-user-select: none;
    text-size-adjust: none;
    -webkit-text-size-adjust: none;
    -moz-text-size-adjust: none;
    -ms-text-size-adjust: none;
    -khtml-text-size-adjust: none;
}

.leaflet-iconex-thsr div div:last-child>svg,
.leaflet-iconex-tra div div:last-child>svg,
.leaflet-iconex-metro div div:last-child>svg,
.leaflet-iconex-yb div div:last-child>svg,
.leaflet-iconex-moovo div div:last-child>svg {
    width: 20px;
    height: 20px;
}

.leaflet-iconex-yb div div:last-child>svg,
.leaflet-iconex-moovo div div:last-child>svg {
    margin-top: -1px;
    margin-bottom: 1px;
}

.leaflet-iconex-pcsc711 div div:last-child>svg,
.leaflet-iconex-family div div:last-child>svg,
.leaflet-iconex-px div div:last-child>svg {
    width: 18px;
    height: 18px;
}

.leaflet-iconex-pcsc711 div div:last-child>svg {
    margin-top: 1px;
    margin-bottom: -1px;
}

.leaflet-iconex-cpoi div div:last-child>span {
    font-size: 16px;
    width: 20px;
    height: 20px;
    line-height: 20px;
    border-radius: 5.5px;
}/*
 * Leaflet.SimpleButton v1.0.1 - 2024-06-15
 *
 * Copyright 2024 mfhsieh
 * mfhsieh@gmail.com
 *
 * Licensed under the MIT license.
 *
 * Demos:
 * https://mfhsieh.github.io/leaflet-simple-button/
 *
 * Source:
 * git@github.com:mfhsieh/leaflet-simple-button.git
 *
 */
@-moz-document url-prefix() {

    .leaflet-simple-button .fa,
    .leaflet-simple-button .fab,
    .leaflet-simple-button .far,
    .leaflet-simple-button .fas {
        margin-top: .05rem;
        margin-bottom: -.05rem;
    }
}

.leaflet-simple-button {
    display: flex;
    align-items: center;
    justify-content: center;
    /* to make webkit and moz consistent */
    box-sizing: border-box;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    margin: 0;
    font-size: 1.375rem;
    color: rgba(var(--bs-primary-rgb), 1);
    background-color: rgba(255, 255, 255, 1) !important;
    border: .125rem solid rgba(var(--bs-primary-rgb), 1) !important;
    border-radius: 2.5rem;
    box-shadow: rgba(0, 0, 0, .33) 0 .125rem .375rem;
    /* opacity: .5;
    transition: opacity .2s; */
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -khtml-user-select: none;
    text-size-adjust: none;
    -webkit-text-size-adjust: none;
    -moz-text-size-adjust: none;
    -ms-text-size-adjust: none;
    -khtml-text-size-adjust: none;
}

.leaflet-simple-button svg {
    fill: rgba(var(--bs-primary-rgb), 1);
    width: 1.375rem;
    height: 1.375rem;
}

/* .leaflet-simple-button:hover,
.leaflet-simple-button:active {
    opacity: 1;
} */

.leaflet-simple-button:active {
    color: white;
    background-color: rgba(var(--bs-primary-rgb), 1) !important;
    border-color: white !important;
}

.leaflet-simple-button:active svg {
    fill: white;
}

.leaflet-simple-button:focus {
    box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .25);
}

.leaflet-simple-button:focus-visible {
    border: .125rem solid rgba(0, 0, 0, 1);
}

.leaflet-simple-button.button-config {
    position: absolute;
    margin: 0 !important;
    right: .5rem;
    top: .5rem;
}
/*
 * Leaflet.SimpleLocate v1.0.4 - 2024-6-15
 *
 * Copyright 2024 mfhsieh
 * mfhsieh@gmail.com
 *
 * Licensed under the MIT license.
 *
 * Demos:
 * https://mfhsieh.github.io/leaflet-simple-locate/
 *
 * Source:
 * git@github.com:mfhsieh/leaflet-simple-locate.git
 *
 */
@-moz-document url-prefix() {

    .leaflet-simple-locate .fa,
    .leaflet-simple-locate .fab,
    .leaflet-simple-locate .far,
    .leaflet-simple-locate .fas {
        margin-top: .05rem;
        margin-bottom: -.05rem;
    }
}

.leaflet-simple-locate {
    display: flex;
    align-items: center;
    justify-content: center;
    /* to make webkit and moz consistent */
    box-sizing: border-box;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    margin: 0;
    font-size: 1.375rem;
    color: rgba(var(--bs-primary-rgb), 1);
    background-color: rgba(255, 255, 255, 1) !important;
    border: .125rem solid rgba(var(--bs-primary-rgb), 1) !important;
    border-radius: 2.5rem;
    box-shadow: rgba(0, 0, 0, .33) 0 .125rem .375rem;
    /* opacity: .5;
    transition: opacity .2s; */
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -khtml-user-select: none;
    text-size-adjust: none;
    -webkit-text-size-adjust: none;
    -moz-text-size-adjust: none;
    -ms-text-size-adjust: none;
    -khtml-text-size-adjust: none;
}

/* .leaflet-simple-locate:hover,
.leaflet-simple-locate:active {
    opacity: 1;
} */

.leaflet-simple-locate:active {
    color: white;
    background-color: rgba(var(--bs-primary-rgb), 1) !important;
    border-color: white !important;
}

.leaflet-simple-locate:active svg {
    fill: white;
}

.leaflet-simple-locate:focus {
    box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .25);
}

.leaflet-simple-locate:focus-visible {
    border: .125rem solid rgba(0, 0, 0, 1);
}

.leaflet-simple-locate svg {
    fill: rgba(var(--bs-primary-rgb), 1);
    width: 1.375rem;
    height: 1.375rem;
}

.leaflet-simple-locate.button-locate {
    position: absolute;
    margin: 0 !important;
    left: .5rem;
    top: calc(var(--pt-vh, 1vh) * 50);
    transform: translateY(-50%);
}

.leaflet-simple-locate-icon {
    fill: rgba(var(--bs-primary-rgb), 1);
    pointer-events: none !important;
    cursor: grab;
}

.leaflet-simple-locate-icon stop {
    stop-color: rgba(var(--bs-primary-rgb), 1);
}

.leaflet-simple-locate-icon .orientation {
    transform: rotate(calc(-1 * var(--leaflet-simple-locate-orientation, 0deg)));
}

.leaflet-simple-locate-circle {
    display: var(--leaflet-simple-locate-circle-display);
    fill: rgba(var(--bs-primary-rgb), 1);
    fill-opacity: .1;
    stroke: rgba(var(--bs-primary-rgb), 1);
    stroke-width: 1;
    stroke-opacity: .3;
    pointer-events: none !important;
    cursor: grab;
}

.leaflet-simple-locate-orientation {
    transform: rotate(var(--leaflet-simple-locate-orientation, 0deg));
}

#leaflet-simple-locate-icon-spot {
    pointer-events: auto;
    cursor: pointer;
}
/*
 * Leaflet.ZoomEx v1.0.1 - 2024-06-15
 *
 * Copyright 2024 mfhsieh
 * mfhsieh@gmail.com
 *
 * Licensed under the MIT license.
 *
 * Demos:
 * https://mfhsieh.github.io/leaflet-zoomex/
 *
 * Source:
 * git@github.com:mfhsieh/leaflet-zoomex.git
 *
 */
@-moz-document url-prefix() {

    .leaflet-zoomex-out .fa,
    .leaflet-zoomex-out .fab,
    .leaflet-zoomex-out .far,
    .leaflet-zoomex-out .fas,
    .leaflet-zoomex-in .fa,
    .leaflet-zoomex-in .fab,
    .leaflet-zoomex-in .far,
    .leaflet-zoomex-in .fas {
        margin-top: .05rem;
        margin-bottom: -.05rem;
    }
}

.leaflet-zoomex {
    display: flex;
    align-items: center;
    /* to simplify the rules for adjusting positions with translate */
    box-sizing: border-box;
    padding: .375rem .375rem;
    background-color: rgba(255, 255, 255, .67);
    border: .125rem solid rgba(255, 255, 255, 1);
    border-radius: 2.5rem;
    box-shadow: rgba(0, 0, 0, .33) 0 .125rem .375rem;
    opacity: .5;
    transition: opacity .2s;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -khtml-user-select: none;
    text-size-adjust: none;
    -webkit-text-size-adjust: none;
    -moz-text-size-adjust: none;
    -ms-text-size-adjust: none;
    -khtml-text-size-adjust: none;
}

.leaflet-zoomex:hover {
    opacity: 1;
}

.leaflet-zoomex-slider-container {
    display: flex;
    align-items: center;
    flex: 1;
    padding: 0 .125rem;
}

.leaflet-zoomex-slider {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: .75rem;
    padding: 0;
    margin: 0;
    border-radius: .75rem;
    background: rgba(var(--bs-primary-rgb), .5) !important;
    outline: none;
    cursor: pointer;
}

.leaflet-zoomex-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    /* to make webkit and moz consistent */
    box-sizing: content-box;
    width: 1.125rem;
    height: 1.125rem;
    border: .1875rem solid rgba(255, 255, 255, 1);
    border-radius: 1.125rem;
    background: rgba(var(--bs-primary-rgb), 1) !important;
    cursor: grab;
}

.leaflet-zoomex-slider:focus::-webkit-slider-thumb {
    box-shadow: 0 0 0 .375rem rgba(var(--bs-primary-rgb), .25);
}

.leaflet-zoomex-slider:focus-visible::-webkit-slider-thumb {
    border: .1875rem solid rgba(0, 0, 0, 1);
}

.leaflet-zoomex-slider::-moz-range-thumb {
    -webkit-appearance: none;
    appearance: none;
    /* to make webkit and moz consistent */
    box-sizing: content-box;
    width: 1.125rem;
    height: 1.125rem;
    border: .1875rem solid rgba(255, 255, 255, 1);
    border-radius: 1.125rem;
    background: rgba(var(--bs-primary-rgb), 1) !important;
    cursor: grab;
}

.leaflet-zoomex-slider:focus::-moz-range-thumb {
    box-shadow: 0 0 0 .375rem rgba(var(--bs-primary-rgb), .25);
}

.leaflet-zoomex-slider:focus-visible::-moz-range-thumb {
    border: .1875rem solid rgba(0, 0, 0, 1);
}

.leaflet-zoomex-out,
.leaflet-zoomex-in {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    width: 1.5rem;
    padding: 0;
    margin: 0;
    border: none;
    color: rgba(var(--bs-primary-rgb), 1);
    background-color: transparent;
    cursor: pointer;
}

.leaflet-zoomex-out svg,
.leaflet-zoomex-in svg {
    fill: rgba(var(--bs-primary-rgb), 1);
    width: 1.5rem;
    height: 1.5rem;
}

.leaflet-zoomex-rightcenter {
    position: absolute;
    margin: 0 !important;
    right: .5rem;
    top: calc(var(--pt-vh, 1vh) * 50);
    width: calc(var(--pt-vh, 1vh) * 33);
    /* elem size: 33vh x 2.5rem  */
    transform: translateX(calc(50% - 2.5rem / 2)) translateY(-50%) rotate(-90deg);
}

.leaflet-zoomex-rightcenter {
    box-shadow: rgba(0, 0, 0, .33) -.125rem 0 .375rem;
}

.leaflet-zoomex-rightcenter .leaflet-zoomex-out,
.leaflet-zoomex-rightcenter .leaflet-zoomex-in {
    transform: rotate(90deg);
}
