html {
    font-size: var(--pt-font-size, 16px);
}

body {
    padding: 0;
    margin: 0;
    height: calc(var(--pt-vh, 1vh) * 100);
    width: calc(var(--pt-vw, 1vw) * 100);
    --bs-primary: #198754;
    --bs-success: #0d6efd;
    --bs-primary-rgb: 25, 135, 84;
    --bs-success-rgb: 13, 110, 253;
    --agenda-primary-rgb: 183, 19, 19;
    --agenda-secondary-rgb: 255, 221, 0;
}

::selection {
    color: white;
    background-color: var(--bs-primary);
}

::-moz-selection {
    color: white;
    background-color: var(--bs-primary);
}

:focus-visible {
    outline: none;
}

/* for bootstrap */
.w-40 {
    width: 40% !important;
}

.btn-primary,
.form-check-input:checked {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
}

.form-control:focus,
.btn-primary:focus,
.form-check-input:focus {
    border-color: var(--bs-primary) !important;
    box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .25) !important;
}

.btn-primary:active:focus {
    box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .25) !important;
}

.form-switch .form-check-input {
    width: 2.4rem !important;
    height: 1.2rem !important;
}

.form-switch .form-check-input:focus {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2326CA7E'/%3e%3c/svg%3e") !important;
}

.form-switch .form-check-input:checked:focus {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e") !important;
}

.form-check-input:checked~label {
    font-weight: bold;
    color: var(--bs-primary);
}

.modal input[type="range"]::-webkit-slider-runnable-track {
    background-color: rgba(var(--bs-primary-rgb), .5);
}

.modal input[type="range"]::-moz-range-track {
    background-color: rgba(var(--bs-primary-rgb), .5);
}

.modal input[type="range"]::-webkit-slider-thumb {
    background-color: var(--bs-primary) !important;
}

.modal input[type="range"]:focus::-webkit-slider-thumb {
    box-shadow: 0 0 0 0.0625rem white, 0 0 0 0.25rem rgba(var(--bs-primary-rgb), .25);
}

.modal input[type="range"]::-moz-range-thumb {
    background-color: var(--bs-primary) !important;
}

.modal input[type="range"]:focus::-moz-range-thumb {
    box-shadow: 0 0 0 0.0625rem white, 0 0 0 0.25rem rgba(var(--bs-primary-rgb), .25);
}

.form-floating>.form-control:focus~label {
    transform: scale(.85) translateY(-.6rem) translateX(.15rem);
}

/* 通用 */
.break-any-all {
    line-break: anywhere;
    word-break: break-all;
}

/* for toast */
.toast {
    z-index: 1070;
    margin-bottom: .25rem;
    /* max-width: 90% !important; */
    margin-left: auto;
    margin-right: auto;
    width: calc(min((var(--pt-vw, 1vw) * 100), 24rem)) !important;
}

.toast-body {
    font-size: 1rem;
}

.toast-body b {
    color: yellow;
}

.toast.text-bg-primary {
    background-color: rgba(var(--bs-primary-rgb), .8) !important;
}

.toast.text-bg-danger {
    background-color: rgba(var(--bs-danger-rgb), .8) !important;
}

.toast-body a {
    color: yellow;
    text-decoration: none;
}

/* for leaflet */
#pt-map {
    height: calc(var(--pt-vh, 1vh) * 100);
    width: calc(var(--pt-vw, 1vw) * 100);
}

.leaflet-control-scale-line {
    color: rgba(var(--bs-primary-rgb), 1) !important;
    border-color: rgba(var(--bs-primary-rgb), 1) !important;
}

/* Leaflet.markercluster */
.marker-cluster div {
    font-weight: bold !important;
    /* outline: 5px ridge #fff8; */
}

/* modal: #pt-config-modal, #pt-config-cpoi-modal, #pt-config-cgpx-modal, #pt-input-link-modal, #pt-popup, #pt-lightbox, #pt-tooltip-box */
.pt-info {
    cursor: pointer;
}

.modal {
    --bs-modal-padding: .75rem;
    --bs-modal-header-padding: .75rem;
}

.modal-content,
.leaflet-popup-content {
    font-family: system-ui;
    font-size: 1rem !important;
    -webkit-touch-callout: text;
    -webkit-user-select: text;
    -khtml-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
    user-select: text;
}

.leaflet-popup-content {
    margin: .75rem !important;
}

#pt-popup .modal-content,
#pt-lightbox .modal-content,
#pt-tooltip-box .modal-content {
    max-height: 80%;
}

#pt-spinner-modal .modal-content,
#pt-tooltip-box .modal-content {
    width: 90%;
    margin-left: 5%;
    margin-right: 5%;
}

#pt-tooltip-box .modal-content {
    background-color: #fffff4;
}

#pt-config-modal .modal-content .modal-title,
#pt-config-cpoi-modal .modal-content .modal-title,
#pt-config-cgpx-modal .modal-content .modal-title,
#pt-input-link-modal .modal-content .modal-title {
    font-size: 1.25rem;
}

#pt-config-modal .form-check-input~label {
    /* 前面的 ms-2 佔了 0.5rem，後面的 switch 佔了 2.4rem */
    width: calc(100% - 2.9rem);
}

#pt-config-modal .form-check-input~label.indent,
#pt-config-modal .btn~label.indent {
    /* 前面的 ::before 佔了 2rem，後面的 switch 佔了 2.4rem */
    margin-left: 2rem !important;
    width: calc(100% - 4.4rem);
}

#pt-config-modal .form-check-input~label.indent::before,
#pt-config-modal .btn~label.indent::before {
    display: inline-block;
    margin-left: -1.5rem;
    /* 用中文空白來撑出空間 */
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    content: "　";
    font-size: 1.25rem;
    height: 1.25rem;
    width: 1.25rem;
    line-height: 1.25rem;
    vertical-align: text-bottom;
    text-align: center;
    background-size: 1.25rem 1.25rem;
    background-repeat: no-repeat;
}

#pt-config-modal .btn~label.cpoi::before {
    content: "\f3c5" !important;
    color: var(--bs-primary);
}

#pt-config-modal .btn~label.cgpx::before {
    content: "\f4d7" !important;
    color: var(--bs-primary);
}

#pt-config-modal #pt-config-font-size-container,
#pt-config-modal #pt-config-zoom-default-container {
    display: flex;
    align-items: center;
    font-family: "Font Awesome 5 Free";
    font-size: .8rem;
    color: var(--bs-primary);
    line-height: 1rem;
}

#pt-config-modal #pt-config-font-size-container::before {
    content: "\f146";
    margin-right: .25rem;
}

#pt-config-modal #pt-config-font-size-container::after {
    content: "\f0fe";
    margin-left: .25rem;
}

#pt-config-modal #pt-config-zoom-default-container::before {
    content: "\f78c";
    font-weight: bold;
    margin-right: .25rem;
}

#pt-config-modal #pt-config-zoom-default-container::after {
    content: "\f31e";
    font-weight: bold;
    margin-left: .25rem;
}

#pt-config-modal .form-check .btn-sm,
#pt-config-cpoi-modal .form-check .btn-sm,
#pt-config-cgpx-modal .form-check .btn-sm,
#pt-input-link-modal .form-check .btn-sm {
    min-width: 2.4rem;
    height: 1.7rem;
    padding: 0;
    font-size: 1rem;
    line-height: 1rem;
    color: white;
}

#pt-config-modal .form-check .btn-sm.btn-next {
    color: var(--bs-primary);
}

#pt-tooltip-box a {
    text-decoration: none;
    color: var(--bs-primary);
    font-weight: bold;
}

#pt-tooltip-box .modal-content div.title {
    color: var(--bs-primary);
    font-size: 1.1rem;
    font-weight: bold;
    margin-bottom: .25rem;
}

#pt-tooltip-box .modal-content ul {
    padding-left: 1rem;
    margin-bottom: 0;
}

#pt-tooltip-box .modal-content ul li {
    list-style-type: none;
    margin-left: 0.25rem;
}

#pt-tooltip-box .modal-content ul li::before {
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    content: "\f138";
    color: var(--bs-primary);
    font-weight: bold;
    display: inline-block;
    width: 1.25rem;
    margin-left: -1.25rem;
    margin-right: 0;
}

#pt-popup .modal-content div.title-svg,
#pt-popup .modal-content div.title-span,
#pt-lightbox .modal-content div.title-svg,
.leaflet-popup-content div.title-svg,
.leaflet-popup-content div.title-span {
    line-height: 1.5rem;
    margin-bottom: .5rem;
    font-size: 1.25rem;
    font-weight: bold;
    color: var(--bs-primary);
    display: flex;
    justify-content: center;
}

#pt-popup .modal-content div.title-svg>svg,
#pt-lightbox .modal-content div.title-svg>svg,
.leaflet-popup-content div.title-svg>svg {
    width: 1.5rem;
    height: 1.5rem;
    margin-right: .375rem;
    margin-top: auto;
    margin-bottom: auto;
    fill: var(--bs-primary);
}

#pt-popup .modal-content div.title-svg.track>svg {
    fill: rgba(var(--agenda-primary-rgb), 1);
}

#pt-popup .modal-content div.title-span>span,
.leaflet-popup-content div.title-span>span {
    margin-right: .375rem;
    margin-top: auto;
    margin-bottom: auto;
}


#pt-popup .modal-content div.title-svg.metro>span,
.leaflet-popup-content div.title-svg.metro>span {
    padding-left: .375rem;
    padding-right: .375rem;
    margin-right: .375rem;
    margin-top: auto;
    margin-bottom: auto;
    border-radius: .375rem;
}

#pt-popup .modal-content div.title-span.cpoi>span>span {
    padding-left: .125rem;
    padding-right: .125rem;
    border-radius: .375rem;
}

#pt-popup .modal-content div.entries,
#pt-popup .modal-content p,
#pt-lightbox .modal-content p,
.leaflet-popup-content p {
    line-height: 1.5rem;
    margin: .125rem 0 .125rem 1.375rem !important;
}

#pt-popup .modal-content div.entries {
    display: flex;
}

#pt-popup .modal-content p.seq {
    margin: .5rem 0 .5rem 0 !important;
    text-wrap: nowrap;
}

#pt-popup .modal-content p.seq::before {
    content: none;
}

#pt-popup .modal-content p a,
#pt-popup .modal-content div.value a {
    text-decoration: none;
    color: var(--bs-primary);
}

#pt-popup .modal-content div.entries::before,
#pt-popup .modal-content p::before,
.leaflet-popup-content p::before,
#pt-lightbox .modal-content p::before {
    display: inline-block;
    /* icon 是字型的 1.2 倍 */
    /* margin-top 是 0.125rem，所以要調節 background 的高度及起點 */
    width: 1.2rem;
    height: 1.315rem;
    background-size: 1.2rem 1.2rem;
    background-position: 0 0.125rem;
    background-repeat: no-repeat;
    line-height: 1.5rem;
    /* vertical-align: text-bottom; */
    /* 先退縮 1.375rem，且與右邊的文字空 0.125rem */
    margin-left: -1.375rem;
    margin-right: 0.125rem;
    /* 用中文空白，撐出與後面 label 一樣的高度 */
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    content: "　";
    color: var(--bs-primary);
    text-align: center;
}

#pt-popup .modal-content div.entries::before {
    content: "\f2f6";
}

#pt-popup .modal-content p.address::before,
.leaflet-popup-content p.address::before {
    content: "\f3c5";
}

#pt-popup .modal-content p.phone::before {
    content: "\f095";
}

#pt-popup .modal-content p.memo::before {
    content: "\f249";
}

#pt-popup .modal-content p.share::before,
.leaflet-popup-content p.share::before {
    content: "\f064";
}

#pt-popup .modal-content p.coexist::before,
#pt-popup .modal-content p.capacity::before {
    content: "\f206";
}

#pt-popup .modal-content p.timer::before {
    content: "\f017";
}

#pt-popup .modal-content p.route::before {
    content: "\f4d7";
}

#pt-popup .modal-content p.news::before {
    content: "\f143";
}

#pt-popup .modal-content p.globe::before {
    content: "\f0ac";
}

#pt-popup .modal-content p.info::before,
#pt-lightbox .modal-content p.info::before {
    content: "\f05a";
}

#pt-popup .modal-content p.ban::before {
    content: "\f05e";
}

#pt-popup .modal-content p.facilities::before {
    content: "\f7d9";
}

#pt-popup .modal-content div.entries .form-check,
#pt-popup .modal-content div.entries .form-check-input {
    margin-top: 0;
    margin-bottom: 0;
}

#pt-popup .modal-content div.entries .form-check-input~label {
    /* 後面的 switch 佔了 2rem */
    width: calc(100% - 2.4rem);
}

#pt-popup .modal-content p.ban span,
#pt-popup .modal-content p.bikes span,
#pt-popup .modal-content p.parks span,
#pt-popup .modal-content p.facilities span,
#pt-popup .modal-content p.seq span,
.leaflet-popup-content p.stairs span {
    color: #fff;
    padding: 0 .25rem;
    border-radius: .25rem;
    margin-left: .125rem;
    margin-right: .125rem;
    font-weight: bold;
}

#pt-popup .modal-content p.facilities span {
    font-weight: normal;
    background-color: rgba(var(--bs-primary-rgb), 1);
}

#pt-popup .modal-content p.facilities span:first-child {
    margin-left: 0;
}

#pt-popup .modal-content p.facilities span:last-child {
    margin-right: 0;
}

#pt-popup .modal-content p.seq span {
    color: #000;
}

#pt-popup .modal-content p.bikes span.bikes,
#pt-popup .modal-content p.bikes span.ebikes {
    background-color: #ff9d19;
}


#pt-popup .modal-content p.bikes.moovo span.bikes,
#pt-popup .modal-content p.bikes.moovo span.ebikes {
    background-color: #B9D300;
}

#pt-popup .modal-content p.parks span.parks {
    background-color: #1fc3e0;
}

#pt-popup .modal-content p.ban span.danger,
#pt-popup .modal-content p.bikes span.danger,
#pt-popup .modal-content p.parks span.danger {
    background-color: var(--bs-danger);
}

#pt-popup .modal-content p.seq span.seq {
    border: 0.125rem solid;
    background-color: #eee;
    display: inline-block;
    text-align: center;
    width: 3.24rem;
    margin-left: 0.25rem;
    margin-right: 0.25rem;
    padding: 0;
}

#pt-popup .modal-content p.seq span:nth-child(-n + 1 of span.seq) {
    margin-left: 0;
}

#pt-popup .modal-content p.seq span:nth-last-child(-n + 1 of span.seq) {
    margin-right: 0;
}

#pt-popup .modal-content p.footers,
.leaflet-popup-content p.footers {
    font-size: .875rem;
    text-align: right;
    margin: .75rem 0 0 0 !important;
}

#pt-popup .modal-content p.footers::before,
.leaflet-popup-content p.footers::before {
    content: none;
}

#pt-popup .modal-content p.footers a,
.leaflet-popup-content p.footers a {
    text-decoration: none;
}

#pt-popup .modal-content p.footers span,
.leaflet-popup-content p.footers span {
    display: inline-block;
    color: #fff;
    background-color: var(--bs-primary);
    padding: .125rem .5rem .125rem .5rem;
    border-radius: .25rem;
    margin-bottom: .25rem;
}

#pt-popup .modal-content p.footers span::before,
.leaflet-popup-content p.footers span::before {
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    content: "　";
    background-size: .875rem .875rem;
    background-repeat: no-repeat;
    width: 1.25rem;
    text-align: left;
}

#pt-popup .modal-content p.footers span.search::before {
    content: "\f002";
}

#pt-popup .modal-content p.footers span.info::before {
    content: "\f05a";
}

#pt-popup .modal-content p.footers span.url_tt::before {
    content: "\f017";
}

#pt-popup .modal-content p.footers span.url::before {
    content: "\f35d";
}

#pt-popup .modal-content p.footers span.yb-table::before {
    content: "\f0ce";
}

#pt-popup .modal-content p.footers span.map::before,
.leaflet-popup-content p.footers span.map::before {
    content: "\f5a0";
}

#pt-popup .modal-content hr,
.leaflet-popup-content hr {
    margin: .5rem 0;
}

/* 以下請參見 js 中的 _popup_max() */
#pt-popup .modal-content div.google-chart {
    width: calc(500 - 2 - 2 * var(--pt-font-size, 16px));
    height: 6rem;
}

@media screen and (max-width: 575px) {
    #pt-popup .modal-content div.google-chart {
        width: calc(100vh - 2 - 3 * var(--pt-font-size, 16px));
    }
}

/* leaflet popup */
.leaflet-popup-content p.stairs span {
    background-color: var(--bs-primary);
}

/* table */
#pt-config-cpoi-modal table,
#pt-config-cgpx-modal table,
#pt-lightbox table {
    width: 100%;
    border-collapse: separate;
    overflow-x: auto;
}

#pt-config-cpoi-modal table thead tr th,
#pt-config-cgpx-modal table thead tr th,
#pt-lightbox table tr th {
    color: #fff;
    background-color: var(--bs-primary);
    text-align: center;
}

#pt-config-cpoi-modal table tbody tr:nth-child(2n),
#pt-config-cgpx-modal table tbody tr:nth-child(2n),
#pt-lightbox table tbody tr:nth-child(2n) {
    background-color: rgba(var(--bs-primary-rgb), 0.2);
}

#pt-config-cpoi-modal table tbody tr td,
#pt-config-cgpx-modal table tbody tr td,
#pt-lightbox td {
    text-align: center;
}

#pt-lightbox table tr td.danger {
    color: var(--bs-danger);
    font-weight: bold;
}

#pt-config-cpoi-modal table tbody tr td,
#pt-config-cgpx-modal table tbody tr td {
    min-width: calc(2rem + 6px);
}

#pt-config-cpoi-modal table tbody tr td:nth-child(1) .form-check,
#pt-config-cgpx-modal table tbody tr td:nth-child(1) .form-check {
    width: 1rem;
    padding-left: unset;
}

#pt-config-cpoi-modal table tbody tr td:nth-child(1) .form-check .form-check-input,
#pt-config-cgpx-modal table tbody tr td:nth-child(1) .form-check .form-check-input {
    margin-left: unset;
    cursor: pointer;
}

#pt-config-cpoi-modal table tbody tr td:nth-child(2) span,
#pt-config-cgpx-modal table tbody tr td:nth-child(2) span {
    color: var(--bs-primary);
    cursor: pointer;
}

#pt-config-cpoi-modal table tbody tr td:nth-child(3),
#pt-config-cgpx-modal table tbody tr td:nth-child(3) {
    color: var(--bs-primary);
    cursor: pointer;
    text-align: left;
}

#pt-config-cpoi-modal table tbody tr td:nth-child(3) p,
#pt-config-cgpx-modal table tbody tr td:nth-child(3) p {
    margin: .25rem;
}

#pt-config-cpoi-modal table tbody tr td:nth-child(3) p i,
#pt-config-cgpx-modal table tbody tr td:nth-child(3) p i {
    margin-right: .5rem;
}

#pt-config-cpoi-modal table tbody tr td:nth-child(3) .local,
#pt-config-cgpx-modal table tbody tr td:nth-child(3) .local {
    color: black;
}

/* logo */
#pt-popup .modal-content p.parks::before {
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle style='fill:%231fc3e0' cx='8' cy='8' r='8' /%3E%3Cpath style='fill:%23ffffff' d='M 8.6874723,10.25 H 6.999984 v 1.687499 C 6.999984,12.246874 6.7468608,12.5 6.437488,12.5 H 5.312496 C 5.0031232,12.5 4.75,12.246874 4.75,11.937499 V 4.0625 C 4.75,3.7531249 5.0031232,3.5 5.312496,3.5 H 8.6874723 C 10.547226,3.5 12.06245,5.0152345 12.06245,6.8750003 12.06245,8.734766 10.547226,10.25 8.6874723,10.25 Z m 0,-4.4999998 H 6.999984 v 2.2500002 h 1.6874883 c 0.618745,0 1.1249921,-0.5062502 1.1249921,-1.1250002 0,-0.6187501 -0.5062464,-1.1250001 -1.1249921,-1.125 z' /%3E%3C/svg%3E");
}

.leaflet-popup-content p.stairs::before {
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath style='fill:%23198754' d='M 15.271875,6.1796874 H 16 c 0,-1.20625 -0.978125,-2.18125 -2.18125,-2.18125 h -3.209375 l -7.275,7.2718746 H 2.1812502 c -0.5968751,0 -1.1499999,0.24375 -1.540625,0.6375 C 0.2437502,12.298438 2e-7,12.851563 2e-7,13.451563 c 0,1.20625 0.9781251,2.18125 2.18125,2.18125 H 5.39375 l 7.271875,-7.2718757 h 1.153125 c 0.596875,0 1.15,-0.24375 1.540625,-0.6374999 C 15.753125,7.3296873 16,6.7796874 16,6.1765624 H 15.271875 14.54375 c 0,0.409375 -0.321876,0.7249999 -0.728125,0.7281249 H 12.0625 L 4.7906251,14.179688 H 2.1812502 c -0.3968749,0 -0.7249999,-0.328124 -0.7249999,-0.728125 0,-0.409375 0.3218759,-0.725 0.7281248,-0.728125 H 3.9406252 L 11.2125,5.4515623 h 2.609375 c 0.396875,0 0.725,0.328125 0.725,0.7281251 z m -10.9093747,0 v 0.728125 c 0.803125,0 1.4531248,-0.6500001 1.4531248,-1.453125 0,-0.803125 -0.6499998,-1.4531251 -1.4531248,-1.4531251 -0.8031251,0 -1.4531252,0.6500001 -1.4531252,1.4531251 0,0.8031249 0.6500001,1.453125 1.4531252,1.453125 v -0.728125 -0.7281251 0 0 0 z m 0,4.3656246 H 5.0906251 V 8.7234374 H 4.7218755 L 4.9812494,8.9890622 C 5.0437477,8.9296872 5.0906251,8.8328123 5.0906251,8.7234374 H 4.7218755 L 4.9812494,8.9890622 4.7281231,8.7296872 v 0.3625001 c 0.10625,0 0.1937499,-0.04062 0.2531263,-0.1031251 L 4.7281231,8.7296872 v 0.3625001 -0.365625 l -0.256252,0.25625 c 0.06875,0.06875 0.1687483,0.109375 0.256252,0.1062501 v -0.365625 l -0.256252,0.25625 0.2500006,-0.2531248 H 4.3624954 c -0.00313,0.08125 0.037493,0.1843749 0.1093757,0.2531248 L 4.7218717,8.7265626 H 4.3624954 v 0.7875 L 3.8499952,10.029688 4.3624954,10.545313 H 5.0906202 4.3624954 l 0.5156299,0.515624 0.9406251,-0.940625 V 8.7328123 C 5.8218754,8.4390621 5.7000014,8.1515623 5.4968744,7.9546873 5.2968732,7.7546872 5.0156245,7.6390624 4.7281246,7.6390624 c -0.3,0 -0.5687501,0.121875 -0.7625001,0.3125 -0.1937499,0.190625 -0.3281234,0.465625 -0.3281234,0.775 V 12.304688 L 4.8781253,11.064062 Z M 8,2.5453125 v 0.7281249 c 0.8031251,0 1.4531252,-0.6500002 1.4531252,-1.4531252 C 9.4531252,1.0171875 8.8031251,0.3671874 8,0.3671874 c -0.8031247,0 -1.4531248,0.6500001 -1.4531248,1.4531248 0,0.803125 0.6500001,1.4531252 1.4531248,1.4531252 v -0.7281249 -0.7281252 0 0 0 z M 8,6.9078124 H 8.7281252 V 5.0859373 H 8.3593756 L 8.6187495,5.3515625 C 8.6812478,5.2921877 8.7281252,5.1953127 8.7281252,5.0859373 H 8.3593756 L 8.6187495,5.3515625 8.3656232,5.0921876 v 0.3625001 c 0.1062501,0 0.1937499,-0.04062 0.2531263,-0.1031252 L 8.3656232,5.0921876 V 5.4546877 5.0890626 l -0.256252,0.2562501 c 0.06875,0.06875 0.1687522,0.109375 0.256252,0.1062501 V 5.0859377 L 8.1093712,5.3421878 8.3593719,5.0890626 H 7.9999955 c -0.00312,0.08125 0.037493,0.1843752 0.1093757,0.2531252 L 8.3593719,5.0890626 H 7.9999955 v 0.7875 l -0.5156247,0.515625 0.5156247,0.515625 H 8.7281207 7.9999955 l 0.5156251,0.515625 0.940625,-0.940625 V 5.0921876 C 9.4593656,4.7984378 9.3374966,4.5109376 9.1343697,4.3140626 8.9343684,4.1140625 8.6531194,3.9984377 8.3656194,3.9984377 c -0.3,0 -0.5687497,0.121875 -0.7625,0.3125 -0.1937499,0.190625 -0.3281235,0.465625 -0.3281235,0.775 v 3.578125 l 1.240625,-1.240625 z' /%3E%3C/svg%3E");
}

.leaflet-popup-content p.footers span.wikipedia::before {
    width: 1.1313rem;
    height: 1.5rem;
    background-size: 1.1313rem 0.875rem;
    background-position: 0 .3125rem;
    background-image: url("data:image/svg+xml,%3Csvg width='20.686' height='16' viewBox='0 0 20.686 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath style='fill:%23fff' d='M 15.918104,1.2 V 1.5627975 C 15.439562,1.64779 15.077343,1.7981396 14.831449,2.0138429 14.479186,2.3341624 14.063848,2.824429 13.791366,3.4846431 L 8.2474335,14.8 H 7.8785704 L 2.3130182,3.337563 C 2.0538135,2.7492547 1.7014281,2.389726 1.5950911,2.2589762 1.4289355,2.0563451 1.2245625,1.8978256 0.98197822,1.7834175 0.73938853,1.6690362 0.41206394,1.5954934 0,1.5627987 V 1.2 H 5.4154345 V 1.5627975 C 4.790684,1.6216426 4.492834,1.726232 4.3067459,1.8765687 4.1206465,2.0269296 4.0276,2.2197676 4.0276032,2.4550835 4.0275987,2.7819397 4.1804618,3.2918166 4.4861916,3.9847159 L 8.5963603,11.779957 12.614986,4.0827686 c 0.312361,-0.7582682 0.571514,-1.2844873 0.571526,-1.578659 -1.2e-5,-0.1895576 -0.09638,-0.3709562 -0.28911,-0.544196 -0.192753,-0.1732151 -0.410848,-0.2957815 -0.869426,-0.3677 -0.03324,-0.00652 -0.08973,-0.01632 -0.169477,-0.029427 V 1.2 Z' /%3E%3Cpath style='fill:%23fff' d='M 20.686089,1.2 V 1.5627975 C 20.207548,1.64779 19.845332,1.7981396 19.599436,2.0138429 19.247172,2.3341624 18.831835,2.824429 18.559353,3.4846431 L 13.693878,14.8 H 13.325016 L 8.1834993,3.337563 C 7.924294,2.7492547 7.5719091,2.389726 7.4655722,2.2589762 7.2994166,2.0563451 7.0950439,1.8978256 6.8524596,1.7834175 6.6098699,1.6690362 6.3901137,1.5954934 5.9780497,1.5627987 V 1.2 H 11.285916 V 1.5627975 C 10.661165,1.6216426 10.363315,1.726232 10.177227,1.8765687 9.9911278,2.0269296 9.8980809,2.2197676 9.8980843,2.4550835 9.89808,2.7819397 10.050943,3.2918166 10.356673,3.9847159 l 3.686132,7.7952411 3.340167,-7.6971884 c 0.312361,-0.7582682 0.571514,-1.2844873 0.571524,-1.578659 -10e-6,-0.1895575 -0.09638,-0.3709562 -0.289107,-0.544196 -0.192753,-0.173215 -0.518417,-0.2957814 -0.976996,-0.3677 -0.03324,-0.00652 -0.08973,-0.01632 -0.16948,-0.029427 V 1.2 Z' /%3E%3C/svg%3E");
}

/* about */
.content {
    /* 與 menu btn 與邊緣留 0.5rem 的空間一致 (bootstrap 是留 0.5 * --bs-gutter-x) */
    --bs-gutter-x: 1rem !important;
}

.content .row {
    /* 與 menu btn 與邊緣留 0.5rem 的空間一致 (bootstrap 是留 0.5 * --bs-gutter-x) */
    --bs-gutter-x: 1rem !important;
}

.content .header {
    padding-bottom: .5rem;
    background-color: rgba(var(--bs-primary-rgb), 1);
}

.content .header .title {
    font-size: 1.5rem;
    height: 2rem;
    line-height: 2rem;
    margin: .75rem 0 .25rem 2.5rem;
    color: #fff;
    font-weight: bold;
}

/* .content .header .title::before {
    display: inline-block;
    content: "　";
    width: 2.25rem;
    height: 2rem;
    background-size: 2rem 2rem;
    background-repeat: no-repeat;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' width='512' height='512' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle style='fill:%23fff' cx='256' cy='256' r='224' /%3E%3Cpath style='fill:%23198754;fill-opacity:1' d='m 201.26758,220.7 c -12.94011,0 -23.4375,10.49935 -23.4375,23.43945 0,12.94011 10.49739,23.4375 23.4375,23.4375 12.94011,0 23.43945,-10.49739 23.43945,-23.4375 0,-12.9401 -10.49934,-23.43945 -23.43945,-23.43945 z m 109.46484,0 c -12.94011,0 -23.43945,10.49935 -23.43945,23.43945 0,12.94011 10.49933,23.4375 23.43945,23.4375 12.94011,0 23.4375,-10.49739 23.4375,-23.4375 0,-12.9401 -10.49739,-23.43945 -23.4375,-23.43945 z m -131.0957,62.45508 c -11.13339,0 -22.12061,2.34352 -32.27734,6.83594 L 143.45312,291.7 c -16.01644,7.12925 -28.32196,20.70427 -33.88867,37.35547 l -1.26953,3.80859 c -2.7345,8.20351 1.65975,17.04084 9.86328,19.77539 8.20351,2.73449 17.04281,-1.65974 19.77735,-9.86328 l 1.26953,-3.80859 c 2.78337,-8.3012 8.93512,-15.08768 16.94336,-18.65235 l 3.90625,-1.70898 c 0.46937,-0.18776 0.89548,-0.37475 1.36133,-0.5625 l -8.2461,30.98242 c -2.7345,10.30325 -0.0492,21.29063 7.17774,29.15235 l 34.52343,37.64843 10.74414,43.01953 c 2.0997,8.39888 10.54647,13.47862 18.94532,11.37891 8.39885,-2.09971 13.47667,-10.59725 11.37695,-18.94727 l -11.23047,-44.97265 c -0.97663,-3.80882 -2.83188,-7.27526 -5.46875,-10.15625 l -24.17187,-26.36914 9.42382,-31.98438 4.68946,11.23047 c 2.14856,5.22489 6.1033,9.42568 11.13281,11.96485 l 13.08594,6.49414 c 7.71522,3.85761 17.0916,0.73281 20.94922,-6.98243 3.8576,-7.71525 0.73279,-17.0916 -6.98243,-20.94921 l -10.45117,-5.22461 -7.51953,-18.01758 c -8.35005,-20.06937 -27.97935,-33.15625 -49.75781,-33.15625 z m 152.72656,0 c -21.77846,0 -41.40776,13.08688 -49.75781,33.15625 l -7.51953,18.01758 -10.45117,5.22461 c -7.71521,3.85761 -10.84003,13.23396 -6.98243,20.94921 3.85762,7.71524 13.234,10.84004 20.94922,6.98243 l 13.08594,-6.49414 c 5.02951,-2.53917 8.98426,-6.73996 11.13281,-11.96485 l 4.68946,-11.23047 9.42382,31.98438 -24.17187,26.36914 c -2.63687,2.88099 -4.49212,6.34743 -5.46875,10.15625 l -11.23047,44.97265 c -2.09971,8.35002 2.9781,16.84756 11.37695,18.94727 8.39886,2.09971 16.84562,-2.98003 18.94532,-11.37891 l 10.74414,-43.01953 34.52343,-37.64843 c 7.22694,-7.86172 9.91224,-18.8491 7.17774,-29.15235 l -8.2461,-30.98242 c 0.46586,0.18775 0.89197,0.37474 1.36133,0.5625 l 3.90625,1.70898 c 8.00824,3.56467 14.15998,10.35115 16.94336,18.65235 l 1.26953,3.80859 c 2.73454,8.20354 11.57384,12.59777 19.77735,9.86328 8.20353,-2.73455 12.59778,-11.57188 9.86328,-19.77539 l -1.26953,-3.80859 C 396.86884,312.40427 384.56332,298.82925 368.54688,291.7 l -3.90626,-1.70898 c -10.15673,-4.49242 -21.14396,-6.83594 -32.27734,-6.83594 z m -186.9082,101.41992 -12.20703,30.4707 -16.52149,16.49414 a 224,224 0 0 0 26.22071,17.99805 l 13.54296,-13.54297 c 2.2462,-2.2462 4.00385,-4.93348 5.17579,-7.86328 l 7.08203,-17.67578 -19.875,-21.68164 c -1.2208,-1.36725 -2.39253,-2.7343 -3.41797,-4.19922 z m 221.08984,0 c -1.02544,1.46492 -2.19717,2.83197 -3.41797,4.19922 l -19.875,21.68164 7.08203,17.67578 c 1.17194,2.9298 2.92959,5.61708 5.17579,7.86328 l 13.54296,13.54297 a 224,224 0 0 0 26.22071,-17.99805 L 378.75195,415.0457 Z' /%3E%3Cpath style='fill:%23198754;stroke-width:0.639998' d='m 285.99996,65.000733 c 0,8.281654 -6.71907,15.000731 -15.00073,15.000731 -8.28165,0 -15.00073,-6.719077 -15.00073,-15.000731 C 255.9985,56.719077 262.71758,50 270.99923,50 c 8.28166,0 15.00073,6.719077 15.00073,15.000733 z m -40.47071,47.283547 c -0.31253,0.12501 -0.59378,0.25002 -0.90631,0.37504 l -2.50012,1.09377 c -5.12526,2.28139 -9.06293,6.62534 -10.84428,11.9381 l -0.81253,2.43761 c -1.75009,5.25026 -7.40663,8.0629 -12.65687,6.31283 -5.25025,-1.75012 -8.0629,-7.40662 -6.31282,-12.65686 l 0.81255,-2.43765 c 3.56268,-10.65676 11.43805,-19.34469 21.68855,-23.90741 l 2.50014,-1.093795 c 6.5003,-2.87514 13.53189,-4.37522 20.65725,-4.37522 13.93818,0 26.50127,8.375413 31.8453,21.219775 l 4.81274,11.53182 6.68782,3.34392 c 4.93773,2.46887 6.93782,8.46915 4.46896,13.4069 -2.46888,4.93774 -8.46916,6.93784 -13.4069,4.46897 l -8.37541,-4.15646 c -3.21889,-1.62506 -5.75027,-4.3127 -7.12535,-7.65663 l -3.00015,-7.18785 -6.03153,20.46975 15.4695,16.87584 c 1.68758,1.84383 2.87513,4.06269 3.50017,6.50032 l 7.18783,28.78265 c 1.34383,5.344 -1.90634,10.78177 -7.28159,12.12559 -5.37526,1.34381 -10.78178,-1.90635 -12.12558,-7.28162 l -6.87535,-27.53259 -22.09482,-24.09492 c -4.62522,-5.03148 -6.34405,-12.06309 -4.59398,-18.65717 l 5.28152,-19.84471 z m -18.0634,62.09678 7.81289,-19.50094 c 0.65628,0.93754 1.40631,1.81259 2.18761,2.68762 l 12.71936,13.87569 -4.53146,11.31306 c -0.75005,1.87507 -1.87509,3.59391 -3.31266,5.03147 l -19.28221,19.2822 c -3.90643,3.90645 -10.25048,3.90645 -14.15693,0 -3.90644,-3.90644 -3.90644,-10.2505 0,-14.15695 z' /%3E%3C/svg%3E");
} */

.content .main h1 {
    font-size: 1.25rem;
    line-height: 1.5rem;
    margin: 1rem 0 .25rem 1.75rem;
    color: var(--bs-primary);
    font-weight: bold;
}

.content .main h1::before {
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    content: "\f152";
    display: inline-block;
    width: 1.5rem;
    margin-left: -1.75rem;
    margin-right: .25rem;
}

.content .main ul {
    margin: 0 0 .25rem 0;
    padding: 0;
}

.content .main li {
    list-style-type: none;
    margin: .25rem 0 0 1.75rem;
}

.content .main li::before {
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    content: "\f138";
    color: var(--bs-primary);
    font-weight: bold;
    display: inline-block;
    width: 1.25rem;
    margin-left: -1.5rem;
    margin-right: .25rem;
}

.content .main li a {
    text-decoration: none;
}

.content .main li span {
    color: var(--bs-primary);
    font-weight: bold;
}

.content .main li span.external-link::after,
.content .main li span.internal-link::after {
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    content: "\f35d";
    margin-left: 0.25rem;
    margin-right: 0.25rem;
}

.content .main li span.internal-link::after {
    content: "\f0c1";
}

.content .main b {
    color: var(--bs-primary);
    font-weight: bold;
}

.content .main span.image,
.modal-content span.image {
    display: inline-block;
    width: 1rem;
    height: 1.5rem;
    line-height: 1.5rem;
    background-size: 1rem 1rem;
    background-position: 0 .25rem;
    background-repeat: no-repeat;
}

.content .main span.image.android-add-to-screen {
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath style='fill:%23198754' d='M 12.579276,0.00729456 5.3065508,4.8333334e-8 C 4.5065819,4.8333334e-8 3.8520051,0.65454545 3.8520051,1.4545451 v 2.1818195 c 0,0.4000037 0.3272644,0.7272681 0.7272969,0.7272681 0.4000325,0 0.7272968,-0.327274 0.7272968,-0.7272681 V 2.9091158 H 12.579327 V 13.090928 H 5.3065508 v -0.727297 c 0,-0.400032 -0.3272643,-0.727297 -0.7272968,-0.727297 -0.4000325,0 -0.7272969,0.327265 -0.7272969,0.727297 v 2.181823 C 3.8519571,15.345423 4.5064859,16 5.3065028,16 h 7.2727282 c 0.799969,0 1.454546,-0.654529 1.454546,-1.454546 V 1.4545672 c 0,-0.80000063 -0.654529,-1.44727265 -1.454501,-1.44727264 z M 7.4883674,10.181838 c 0.4000325,0 0.7272969,-0.3272639 0.7272969,-0.7272772 V 5.8182024 c 0,-0.4000037 -0.3272644,-0.7272681 -0.7272969,-0.7272681 H 3.852008 c -0.4000324,0 -0.7272968,0.327274 -0.7272968,0.7272681 0,0.4000036 0.3272644,0.727268 0.7272968,0.727268 H 5.7356454 L 2.1792829,10.101833 a 0.72510612,0.72510612 0 1 0 1.025454,1.025454 L 6.7610956,7.5709292 v 1.8836364 c 0,0.4000037 0.3272643,0.7272774 0.7272718,0.7272724 z' /%3E%3C/svg%3E");
}

.content .main span.image.ios-share,
.modal-content span.image.ios-share {
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath style='fill:%23198754' d='M 7.2,10.4 H 8.8 V 3.2000001 h 1.6 L 8,1e-7 l -2.4,3.2 h 1.6 z m 6.4,-4.7999998 h -2.4 v 1.6 h 1.6 V 14.4 H 3.2 V 7.2000002 h 1.6 v -1.6 H 2.4 a 0.80000002,0.80000002 0 0 0 -0.8,0.8 V 15.2 A 0.80000002,0.80000002 0 0 0 2.4,16 h 11.2 a 0.80000002,0.80000002 0 0 0 0.8,-0.8 V 6.4000002 a 0.80000002,0.80000002 0 0 0 -0.8,-0.8 z' /%3E%3C/svg%3E");
}

/* copy-button */
.copy-button {
    display: inline-flex;
    position: relative;
    justify-content: center;
    align-items: center;
    height: 1.278rem;
    font-size: 0.7rem;
    padding: 0 0.5rem 0 0.5rem;
}

.copy-button:before {
    content: "已複製";
    display: none;
    position: absolute;
    top: -1.8rem;
    left: 0;
    font-size: 0.8rem;
    text-align: center;
    width: 3.8rem;
    padding: 0.1rem;
    background: rgba(96, 96, 96, 1);
    border-radius: 0.25rem;
}

.copy-button:after {
    content: "";
    display: none;
    position: absolute;
    top: -0.7rem;
    left: 0.5rem;
    width: 0.5rem;
    height: 0.5rem;
    background: rgba(96, 96, 96, 1);
    transform: rotate(45deg);
}

.copy-button.active:before,
.copy-button.active:after {
    display: block;
}

/* config-cpoi, config-cgpx */
#pt-config-cpoi-modal .nav-tabs,
#pt-config-cgpx-modal .nav-tabs {
    margin-bottom: 0;
    border-bottom-color: var(--bs-primary);
}

#pt-config-cpoi-modal .nav-tabs .nav-item.show .nav-link,
#pt-config-cpoi-modal .nav-tabs .nav-link.active,
#pt-config-cgpx-modal .nav-tabs .nav-item.show .nav-link,
#pt-config-cgpx-modal .nav-tabs .nav-link.active {
    color: var(--bs-primary);
    border-color: var(--bs-primary) var(--bs-primary) white var(--bs-primary);
}

#pt-config-cpoi-modal .tab-pane,
#pt-config-cgpx-modal .tab-pane {
    padding: .75rem;
    border: var(--bs-border-width) solid var(--bs-primary);
    border-top: none;
    border-bottom-left-radius: var(--bs-border-radius);
    border-bottom-right-radius: var(--bs-border-radius);
}

#pt-config-cpoi-local-text:focus,
#pt-config-cgpx-local-text:focus {
    margin-right: calc(.5rem + 1px);
}

#pt-config-cpoi-local-text:focus~#pt-config-cpoi-local-input~label,
#pt-config-cgpx-local-text:focus~#pt-config-cgpx-local-input~label {
    border-color: var(--bs-primary) !important;
    box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .25) !important;
}

/* cpoi */
#pt-popup .modal-content .cpoi-cgpx-prop~div.pair {
    margin-top: .25rem;
    margin-bottom: .25rem;
}

#pt-popup .modal-content div.pair div.key span {
    color: #fff;
    padding: 0 .25rem;
    border-radius: .25rem;
    margin-right: .375rem;
    font-weight: bold;
    background-color: rgba(var(--bs-primary-rgb), 1);
}

#pt-popup .modal-content div.pair .carousel img {
    display: block;
    border: 0.125rem solid var(--bs-primary);
    margin: 0.5rem auto;
    padding: 0.25rem;
    border-radius: .5rem;
    max-width: 100% !important;
    max-height: min(var(--pt-vw, 1vw) * 90, 450px) !important;
}

#pt-popup .modal-content div.pair .carousel .carousel-control-next-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23198754'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

#pt-popup .modal-content div.pair .carousel .carousel-control-prev-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23198754'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
}

#pt-popup .modal-content div.pair .form-control-color {
    width: 1.875rem;
    height: 1.25rem;
    padding: 0;
    margin: 0.125rem .25rem;
    border: none;
}

#pt-popup .modal-content div.pair .fitbounds {
    padding: 0 0.375rem;
    color: white;
    background-color: var(--bs-primary);
    border-radius: .25rem;
    margin-left: .25rem;
    cursor: pointer;
}

/* track */
.leaflet-simple-button.button-track svg {
    fill: rgba(var(--agenda-primary-rgb), 1);
}

/* confirm modal */
#pt-confirm-modal,
#pt-message-modal {
    z-index: 1060;
}

/* accordion */
.accordion-button {
    font-size: min(1.25rem, 6vw, 6vh) !important;
    font-weight: bold !important;
    color: rgba(var(--agenda-secondary-rgb), 1) !important;
    background-color: rgba(var(--agenda-primary-rgb), 1) !important;
    border-color: rgba(var(--agenda-secondary-rgb), 1) !important;
    box-shadow: 0 0 0 0.125rem rgba(var(--agenda-secondary-rgb), 1) !important;
}

.accordion-button.collapsed {
    font-weight: bold !important;
    color: black !important;
    background-color: rgba(var(--agenda-primary-rgb), 0.5) !important;
    border-color: white !important;
    box-shadow: 0 0 0 0.125rem white !important;
}

.accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffdd00'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e") !important;
}

.accordion-body .h3 {
    font-size: min(1.5rem, 6.667vw, 6.667vh) !important;
}

.accordion-body .h6 {
    font-size: min(1.25rem, 6.0vw, 6.0vh) !important;
}

.accordion-body .agenda-time {
    font-size: min(1.125rem, 5.333vw, 5.333vh) !important;
    height: min(1.6875rem, 7.2rem, 7.2rem) !important;
    line-height: min(1.6875rem, 7.2rem, 7.2rem) !important;
    vertical-align: middle !important;
    width: min(4.5rem, 21.5vw, 21.5vh) !important;
    text-align: center;
    color: rgba(var(--agenda-secondary-rgb), 1) !important;
    background-color: rgba(var(--agenda-primary-rgb), 1) !important;
}

.accordion-body .ml-agenda-q {
    font-size: min(1.125rem, 5.333vw, 5.333vh) !important;
    /* color: rgba(var(--agenda-primary-rgb), 1) !important; */
    color: black !important;
    text-decoration: none !important;
    font-weight: bold !important;
}

.accordion-body .ml-agenda-q-light {
    font-size: min(1.125rem, 5.333vw, 5.333vh) !important;
    color: gray !important;
    font-weight: normal !important;
}

.dropdown-menu li {
    line-height: 1.375;
}