* {
    outline: none;
}
html {
    font-size: 16px;
}
body {
    width: 100%;
    margin: 0px;
    padding: 0px;
    background-image: url(../image/background_sign_in.jpg);
    background-position-x: center;
    background-position-y: center;
    background-size: cover;
    background-attachment: fixed;
    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;
}

/* 取消藍陰影 */
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;
}

/* 字體大小 */
.fs-7 {
    font-size: 0.875rem;
}

/* card */
.card,
.card .card-header,
.card .card-body,
.card .card-footer {
    border: none;
    background: #FFFFFF;
}
.card {
    max-width: 500px;
    margin: 0px auto;
    overflow: hidden;
    padding: 55px;
    --bs-card-spacer-y: 0px;
    --bs-card-spacer-x: 0px;
    --bs-card-cap-padding-y: 0px;
    --bs-card-cap-padding-x: 0px;
    --bs-card-border-radius: 10px;
}
.card .card-header {
    font-size: 2.375rem;
    font-weight: bold;
    color: #333333;
    line-height: 1.2;
    text-align: center;
}
.card .card-body {
    padding-top: 26px;
}
.card .card-body .divider {
    position: relative;
    padding: 30px 0px;
    text-align: center;
}
.card .card-body .divider span {
    position: relative;
    font-size: 1.25rem;
    background: #FFFFFF;
    display: inline-block;
    padding: 0px 16px;
    color: #d9d9d9;
}
.card .card-body .divider:before {
    content: '';
    background: #d9d9d9;
    position: absolute;
    left: 0px;
    top: calc(50% - 1px);
    height: 2px;
    width: 100%;
}

/* alert */
.alert {
    --bs-alert-padding-x: 1rem;
    --bs-alert-padding-y: 0.85rem;
}

/* modal */
.modal-title {
    font-size: 1.2rem;
}

/* 表單 */
.form .form-label {
    color: #333333;
    font-size: 1rem;
    cursor: pointer;
}
.form-control {
    font-size: 1rem;
    font-weight: bold;
    border: none;
    background: transparent;
    border-radius: 0px;
    padding-left: 50px;
}
.form-control::placeholder {
    color: #adadad;
}
.input {
    position: relative;
    border-bottom: 2px solid #d9d9d9;
}
.input .focus:after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0px;
    height: 2px;
    width: 0%;
    background: #7f7f7f;
    transition: all .4s ease-out;
}
.input .focus.account:before,
.input .focus.password:before,
.input .focus.email:before {
    position: absolute;
    top: 0px;
    left: 0px;
    padding: 4px 12px;
    font-size: 1rem;
    color: #adadad;
    transition: all .4s ease-out;
}
.input .focus.account:before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: '\f007';
}
.input .focus.password:before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f084";
}
.input .focus.email:before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f0e0";
}
.input .form-control:focus+.focus:after,
.input .form-control:not(:placeholder-shown)+.focus:after {
    width: 100%;
}
.input .form-control:focus+.focus:before,
.input .form-control:not(:placeholder-shown)+.focus:before {
    color: #7f7f7f;
}

/* btn */
.btn {
    transition: 0.2s ease-out;
}
.btn i,
.btn span {
    transition: unset;
}

/* btn-submit */
.btn-submit {
    --bs-btn-active-color: #FFFFFF;
    --bs-btn-hover-color: #FFFFFF;
    font-size: 1.125rem;
    font-weight: bold;
    color: #FFFFFF;
    line-height: 1.2;
    width: 100%;
    border: none;
    border-radius: 25px;
    padding: 12px 14px;
    position: relative;
    overflow: hidden;
}
.btn-submit span {
    position: relative;
}
.btn-submit:before {
    content: '';
    position: absolute;
    top: 0px;
    bottom: 0px;
    left: 0%;
    width: 200%;
    background: #44ebfe;
    background: -webkit-linear-gradient(right, #fd107c, #b86ab5, #fdcb52, #44ebfe);
    background: -o-linear-gradient(right, #fd107c, #b86ab5, #fdcb52, #44ebfe);
    background: -moz-linear-gradient(right, #fd107c, #b86ab5, #fdcb52, #44ebfe);
    background: linear-gradient(right, #fd107c, #b86ab5, #fdcb52, #44ebfe);
    transition: 0.2s ease-out;
}
.btn-submit:hover:before,
.btn-submit:focus:before,
.btn-submit:active:before {
    left: -100%;
}

/* btn-google */
.btn-google {
    --bs-btn-active-bg: #333333;
    --bs-btn-active-color: #FFFFFF;
    --bs-btn-hover-bg: #333333;
    --bs-btn-hover-color: #FFFFFF;
    font-size: 1.125rem;
    font-weight: bold;
    color: #FFFFFF;
    line-height: 1.2;
    width: 100%;
    border: none;
    border-radius: 25px;
    padding: 12px 14px;
    background: #ea4335;
}
.btn-google:hover {
    color: #FFFFFF;
    background: #333333;
}

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

/* 上方區塊 */
.page-header {
    color: #4F4F4F;
    padding: 10px 0px;
}
.page-header h1,
.page-header h3 {
    line-height: 1.5;
    text-align: center;
}

/* 中間區塊 */
.page-content {
    min-height: calc(100vh - 98px - 82.39px);
    padding: 0px;
}
@media (min-width: 576px) {
    .page-content {
        min-height: calc(100vh - 98px - 57.2px);
    }
}

/* 下方區塊 */
.page-footer {
    background: rgba(255, 255, 255, 0.5);
    padding: 16px 0px;
}
.page-footer .copyright {
    font-size: 0.875rem;
    text-align: center;
    color: #4F4F4F;
}

/* 中間區塊 */
.section .section-header,
.section .section-body,
.section .section-footer {
    padding: 7.5px 0px;
}
@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 {
    padding-bottom: 26px;
}
