* {
    outline: none;
}
html {
    font-size: 16px;
}
body {
    width: 100%;
    margin: 0px;
    padding: 0px;
    background: #EEEEEE;
    color: #4F4F4F;
    font-family: Arial, 'Noto Sans TC', '微軟正黑體', 'Microsoft JhengHei', sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.8;
    overflow-x: hidden;
    overflow-y: auto;
}
@media (min-width: 576px) {}
@media (min-width: 768px) {}
@media (min-width: 992px) {}
@media (min-width: 1200px) {}
@media (min-width: 1400px) {}

/* 文章元素 */
h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
    line-height: 1.8;
    margin: 0;
    margin-bottom: 0rem;
}
h1 {font-size: 2.0rem;}
h2 {font-size: 1.625rem;}
h3 {font-size: 1.25rem;}
h4 {font-size: 1.125rem;}
h5 {font-size: 1rem;}
h6 {font-size: 0.875rem;}
b, strong {
    font-weight: 700;
}
hr {
    border-top: 2px solid #DEE2E6;
    opacity: 1;
}
a {
    --bs-link-color-rgb: 2, 85, 139;
    word-break: break-all;
    text-decoration: none;
    display: inline-block;
    transition: 0.2s ease-out;
}
a:hover,
a:focus,
a:active {
    --bs-link-color-rgb: 228, 45, 158;
    text-decoration: none;
}

/* 取消藍陰影 */
a:hover, a:focus, a:active,
button:hover, button:focus, button:active {
    outline: none !important;
}
input:hover, input:focus, input:active,
select:hover, select:focus, select:active,
textarea:hover, textarea:focus, textarea:active {
    outline: none !important;
    box-shadow: none !important;
}

/* card */
.card {
    --bs-card-border-color: #9b9ea1;
    --bs-card-border-radius: 12px;
    --bs-card-inner-border-radius: 12px;
}
@media (min-width: 768px) {
    .card-body {
        --bs-card-spacer-y: 1.5rem;
        --bs-card-spacer-x: 1.5rem;
    }
    .card-footer {
        --bs-card-cap-padding-y: 0.8rem;
        --bs-card-cap-padding-x: 1.5rem;
    }
}

/* card-sign-in */
.card-sign-in {
    box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.75);
    border: none;
    border-radius: 24px;
}
.card-sign-in .card-header {
    text-align: center;
    background: #F0F0F0;
    position: relative;
    border: none;
    padding: 0px;
}
.card-sign-in .card-header .logo {
    display: inline-block;
    background: linear-gradient(to bottom, #7ad0f9 0%, #3064ac 100%);
    border: 6px solid #F0F0F0;
    border-radius: 50%;
    position: absolute;
    top: -75px;
    left: calc(50% - 75px - 3px);
    z-index: 1;
}
.card-sign-in .card-header .logo img {
    max-width: 150px;
    height: auto;
}
.card-sign-in .card-body {
    padding-top: 115px;
    background: #F0F0F0;
    border-radius: 24px;
}
@media (min-width: 768px) {
    .card-sign-in .card-header .logo {
        border: 12px solid #F0F0F0;
        top: -100px;
        left: calc(50% - 100px - 6px);
    }
    .card-sign-in .card-header .logo img {
        max-width: 200px;
    }
    .card-sign-in .card-body {
        padding-top: 148px;
    }
}

/* alert */
.alert {
    border-radius: 8px;
    padding: 12px;
}
.alert-dismissible .btn-close {
    border-radius: 8px;
    padding: 20px 16px;
    font-size: 0.875rem;
}

/* 表單 */
.form-label {
    color: #3064AC;
    font-size: 1.125rem;
    font-weight: bold;
    cursor: pointer;
}
.form-control,
.form-select {
    font-size: 1rem;
    color: #212529;
    background-color: #FFFFFF;
    border: 1px solid #BDBDBD;
    border-radius: 8px;
    transition: border 0.2s ease-out, background-color 0.2s ease-out, box-shadow 0.2s ease-out;
    padding: 8px 12px;
}
.input-group>.form-control,
.input-group>.form-floating,
.input-group>.form-select {
    border: 1px solid #268fff;
}
.input-group .input-group-text {
    color: #FFFFFF;
    font-weight: bold;
    border: 1px solid #268fff;
    border-radius: 8px;
    background: #268fff;
}

/* btn */
.btn {
    font-size: 1.125rem;
    border-radius: 8px;
    transition: 0.2s ease-out;
}
.btn i,
.btn span {
    transition: unset;
    pointer-events: none;
}
.btn-xs {
    font-size: 0.875rem;
    padding: 2px 4px;
}

/* btn-submit */
.btn-submit {
    --bs-btn-color: #FFFFFF;
    --bs-btn-bg: #268fff;
    --bs-btn-border-color: #268fff;
    --bs-btn-hover-color: #FFFFFF;
    --bs-btn-hover-bg: #02558B;
    --bs-btn-hover-border-color: #02558B;
    --bs-btn-focus-box-shadow: 0 0 0 2px rgba(49, 132, 253, .5);
    --bs-btn-active-color: #FFFFFF;
    --bs-btn-active-bg: #02558B;
    --bs-btn-active-border-color: #02558B;
    --bs-btn-disabled-color: #FFFFFF;
    --bs-btn-disabled-bg: #268fff;
    --bs-btn-disabled-border-color: #268fff;
}

/* 工具類 */
.min-w-110 {
    min-width: 110px;
}
.min-w-120 {
    min-width: 120px;
}

/* 背景 */
.background-body {
    background: #234459 url(../image/background-body.webp) center center / cover no-repeat fixed;
}

/* 主體 */
.page-container {
    position: relative;
}

/* 上方區塊 */
.page-header {
    border: none;
}
.page-header .navbar-brand {
    color: #FFFFFF;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.8;
    margin: 0px;
    padding: 0px;
}
@media (min-width: 576px) {
    .page-header .navbar-brand {
        font-size: 2.0rem;
    }
}

/* 中間區塊 */
.page-content {
    min-height: calc(100vh - 67.83px - 107.59px);
    padding: 7.5px 0px;
}
@media (min-width: 576px) {
    .page-content {
        min-height: calc(100vh - 73.59px - 57.2px);
    }
}
@media (min-width: 768px) {
    .page-content {
        padding: 15px 0px;
    }
}

/* 下方區塊 */
.page-footer {
    padding: 16px 0px;
}
.page-footer .copyright {
    font-size: 0.875rem;
    text-align: center;
    color: #FFFFFF;
}

/* 中間區塊 */
.section .section-header,
.section .section-body,
.section .section-footer {
    padding: 7.5px 0px;
}
.section .section-title {
    color: #FFFFFF;
    text-align: center;
}
@media (min-width: 768px) {
    .section .section-header,
    .section .section-body,
    .section .section-footer {
        padding: 15px 0px;
    }
}

/* section-sign-in */
.section.section-sign-in .section-body .card-sign-in {
    max-width: 500px;
    margin: 81px auto 0;
}
@media (min-width: 576px) {
    .section.section-sign-in .section-body .card-sign-in {
        margin: 112px auto 0;
    }
}
