/************************
	Bootstrap v5.1.1
************ ************/
h1,
.h1,
.fs-1 {
    font-size: calc(1.2rem + 1.5vw) !important;
}

h2,
.h2,
.fs-2 {
    font-size: calc(1.1rem + 1vw) !important;
}

h3,
.h3,
.fs-3 {
    font-size: calc(1.1rem + 0.75vw) !important;
}

h4,
.h4,
.fs-4 {
    font-size: calc(1rem + 0.5vw) !important;
}

h5,
.h5,
.fs-5 {
    font-size: 1.1rem !important;
}

h6,
.h6,
.fs-6 {
    font-size: 0.9rem !important;
}

.btn-check:focus + .btn,
.btn:focus {
    box-shadow: none;
}

.btn {
    white-space: nowrap;
}

.rounded {
    border-radius: 1.5vmin !important;
}
.rounded-1 {
    border-radius: 3vmin !important;
}
.rounded-2 {
    border-radius: 5vmin !important;
}
.rounded-3 {
    border-radius: 8vmin !important;
}

.vh-100 {
    height: var(--100vh) !important;
}

.breadcrumb * {
    font-size: 0.95em;
}

/* dropdown 增加滑入觸發 */
.dropdown:hover .dropdown-menu {
    display: block;
    left: 0;
    /* 校準點擊位置 */
    transform: translate(0, 2px);
}

.dropdown-toggle {
    border: 0;
    background-color: transparent;
}
.dropdown-toggle.show {
    color: var(--color_ci);
}

.dropdown-menu {
    padding: 0;
    border-radius: 0;
    border: 0;
    /* 解決間隙造成滑出 */
    margin-top: -1px !important;
    background-color: rgba(255, 255, 255, 0.8);
    filter: var(--filter_drop_shadow);
    backdrop-filter: var(--drop-shadow);
}
.dropdown-menu.show {
    transform: translate3d(0px, 36px, 0px) !important;
}

.dropdown-item {
    padding: 0.75rem 1rem;
}
.dropdown-item:hover {
    background-color: var(--color_ci);
    color: #ffffff;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    background-image: url('data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 8 8%27%3e%3cpath fill=%27%23198754%27 d=%27M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z%27/%3e%3c/svg%3e') !important;
}

.form-label {
    padding-left: 0.25rem;
    padding-right: 0.25rem;
}

.form-select {
    padding: 0.375rem 1.75rem 0.375rem 0.75rem;
    background-position: right 0.5rem center;
}

.btn-dark {
    background-color: var(--dark_bg_deep);
}

.form-select {
    background-image: url(images/icon_select.svg);
    background-size: 15px;
}

.invalid-feedback {
    padding: 0 0.5rem;
}
.popover {
    border-radius: 999rem;
}
.popover > * {
    padding: 0.25rem 1rem;
}

.accordion-item {
    background-color: transparent;
    border: 0;
    margin-bottom: 0.75rem;
}
.accordion-button {
    background-color: transparent;
    color: var(--color_ci);
    font-weight: bold;
    padding: 0.75rem 1.25rem;
}
#accordion_faq .accordion-button::before {
    flex-shrink: 0;
    width: 1.25rem;
    height: 1.25rem;
    content: '';
    background-image: url(images/icon_down.svg);
    background-repeat: no-repeat;
    background-size: 1.25rem;
    transition: transform 0.2s ease-in-out;
    margin-right: 0.5rem;
}
#accordion_faq .accordion-button:not(.collapsed) {
    background-color: #ffffff;
    color: var(--color_ci);
    border-color: transparent;
    box-shadow: none;
}
.accordion-body {
    transform: translateY(-2px);
    background-color: #ffffff;
}
.accordion-button:hover {
    z-index: unset;
}

#accordion_faq .accordion-button:not(.collapsed)::before {
    background-image: url(images/icon_down.svg);
    transform: rotate(-90deg);
}
#accordion_faq .accordion-button::after {
    display: none;
}
