﻿/* Modal */
.modal-fullscreen {
    max-width: 95%;
    height: 90vh;
}

.modal-fullscreen .modal-content {
    height:100%;
    border-radius: 15px;
}

#news-content-container section {
    display: flex;
    flex-direction: column;
    height: 700px;
}

    #news-content-container section .scrollable-container {
        border: none;
        flex: 1;
    }

/* font */
@font-face {
    font-family: 'MJ';
    unicode-range: U+7db0, U+78A7, U+7B75;
    font-style: normal;
    font-weight: bold;
    src: local(MS Gothic), local(Yu Gothic);
}

@font-face {
    font-family: 'MJ';
    unicode-range: U+7db0, U+78A7, U+7B75;
    font-style: normal;
    font-weight: normal;
    src: local(微軟正黑體), local(Microsoft JhengHei);
}

@font-face {
    font-family: 'CHWA-kai';
    src: url('../../fonts/CHWA-kai.woff') format("woff");
}

@font-face {
    font-family: 'EUDCKAI';
    src: url('../../fonts/EUDCKAI.woff') format("woff");
}

@font-face {
    font-family: 'EUDCMING';
    src: url('../../fonts/EUDCMING.woff') format("woff");
}

body {
    /*font-family: 'MJ', "Microsoft JhengHei", arial, sans-serif;*/
    /*font-family: 'Noto Sans TC', serif;*/
    font-family: 'CHWA-kai', sans-serif;
    background-color: #F0F2F2;
    line-height: 125%;
    letter-spacing: 1px;
    color: #585757;
}

.h7 {
    font-size: .875rem;
}

.fa {
    padding-right: 4px;
}

.icon-sm {
    transform: scale(.7);
}
/* theme */
.border,
.border-top,
.border-right,
.border-bottom,
.border-left {
    border-color: #9D9D9E !important;
}

.bg-theme {
    background-color: #223a56 !important;
}

.bg-warning {
    background-color: #f7931e !important;
}

.text-theme {
    color: #8167AB;
}

.text-theme.active {
    background-color: #bfd9f6;
}

.cursor-pointer {
    cursor: pointer;
}

.select-none {
    user-select: none;
}

.vertical-middle,
.vertical-middle::before {
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}

    .vertical-middle::before {
        content: '';
    }

.pre {
    white-space: pre !important;
}
/* spacing */
section {
    padding: 0 15px;
    margin: 0 auto;
    /*overflow-x: auto;*/
}
/* img */
img {
    margin-left: auto;
    margin-right: auto;
}

.background-img {
    width: 100%;
    height: 100%;
    background: transparent no-repeat 50% 50%;
    background-size: cover;
}
/* element */
a {
    cursor: pointer;
    opacity: 1;
    transition: opacity .3s;
}

    a:hover {
        text-decoration: none;
        opacity: .7;
    }

.text-justify {
    min-width: 9.375rem;
    text-align: justify;
    text-align-last: justify;
    text-justify: inter-ideograph;
    white-space: nowrap;
}
/* layout */
body {
    min-height: 100vh;
    padding-top: 100px;
}

body,
.container-fluid {
    max-width: 1920px;
    margin-left: auto;
    margin-right: auto;
}

/* navbar */
nav.navbar {
    background: linear-gradient(0deg, rgba(156,188,133,1) 0%, rgba(134,173,108,1) 25%, rgba(156,188,133,1) 100%);
}

.logo {
    width: 100%;
    max-width: 280px;
}

.logo,
.navbar .nav-item {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100px;
    border-right: 1px solid rgba(156,188,133,1);
    border-bottom: 1px solid rgba(134,173,108,1);
    border-left: 1px solid rgba(134,173,108,1);
}

.navbar .nav-link {
    font-size: 1.25rem;
    font-weight: 700;
}

.nav-breadcrumb {
    padding-top: 2rem;
}

.breadcrumb {
    background-color: transparent;
    margin-bottom: 0;
}

.breadcrumb-item {
    font-size: 1.375rem;
    font-weight: 900;
}

    .breadcrumb-item.active {
        color: #585757;
    }

    .breadcrumb-item + .breadcrumb-item::before {
        content: '>';
    }

.pagination {
    justify-content: center;
    margin-bottom: 0;
}

    .pagination li + li {
        margin-left: .5rem;
    }

    .pagination li a {
        display: block;
        position: relative;
        padding: 0.5rem 0.75rem;
        line-height: 1.25;
        background-color: #fff;
        border: 1px solid #223a56;
        font-weight: 900;
        color: #223a56;
    }

    .pagination li:first-child a {
        letter-spacing: 2px;
        border-top-left-radius: 0.25rem;
        border-bottom-left-radius: 0.25rem;
    }

    .pagination li:last-child a {
        border-top-right-radius: 0.25rem;
        border-bottom-right-radius: 0.25rem;
    }

    .pagination li a:hover {
        background-color: #e9ecef;
        border-color: #223a56;
    }

    .pagination li a.active {
        background-color: #223a56;
        color: #fff;
    }

.login-bar {
    /*height: 35px;*/
    padding: 4px;
    border: 1px solid rgba(134,173,108,1);
    border-radius: 4px;
    background: linear-gradient(0deg, rgba(156,188,133,1) 0%, rgba(134,173,108,1) 85%, rgba(156,188,133,1) 100%);
}

.button-border {
    border: 1px solid #B9B9B9;
    border-radius: 16px;
    background: rgb(179,179,179);
    background: linear-gradient(325deg, rgba(179,179,179,1) 0%, rgba(255,255,255,1) 100%);
    box-shadow: 8px 8px 6px 0px rgba(0, 0, 0, .1);
}

.button-body {
    width: 100%;
    height: 100%;
    border-radius: 16px;
    background: rgb(251,251,251);
    background: linear-gradient(0deg, rgba(251,251,251,1) 0%, rgba(198,200,200,1) 100%);
    font-size: 12px;
}

.button-border.size-lg {
    border-radius: 20px;
}

.content-border {
    background: rgb(255,255,255);
    background: linear-gradient(280deg, rgba(255,255,255,1) 0%, rgba(209,209,209,1) 90%);
    box-shadow: 0 2px 2px 1px rgba(0, 0, 0, .2);
}

.summary-content {
    border: 1px solid #d1d1d1;
    outline: 2px solid #fff;
}
.custom-button {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
    border-radius: 50rem;
    transition: box-shadow 0.3s ease-in-out;
    width: 100%;
    margin-bottom: 60px;
}

.outer-pill {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(140,138,138,1) 100%);
    border-radius: 50rem;
    padding: 10px;
    width: 100%;
}

.inner-pill {
    display: flex;
    align-items: center;
    justify-content: left;
    background-color: white;
    border: 1px solid transparent;
    border-radius: 50rem;
    padding: 10px;
    padding-left: 20px;
    width: 100%;
    position: relative;
}
    .inner-pill .icon-circle {
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: rgba(182,149,194,1);
        color: white;
        border-radius: 50%;
        width: 40px;
        height: 40px;
        font-size: 40px;
        position: absolute;
        right: 10px;
    }
/* 按钮的发光效果 */
.custom-button:hover .outer-pill {
    box-shadow: 0 0 0px rgba(0, 0, 0, 0.6);
}
.scrollable-container {
    overflow-y: auto; 
    padding: 10px; 
    border: 1px solid #ddd;
}
.custom-close-button {
    position: absolute; /* 絕對定位按鈕 */
    top: 10px; /* 從上邊距 */
    right: 10px; /* 從右邊距 */
    width: 40px; /* 按鈕的直徑 */
    height: 40px; /* 按鈕的直徑 */
    border-radius: 50%; /* 圓形 */
    background-color: rgba(182,149,194,1); /* 紫色背景 */
    color: white; /* 叉叉的顏色 */
    font-size: 40px; /* 叉叉的大小 */
    display: flex;
    align-items: center;
    justify-content: center;
    border: none; /* 去掉按鈕邊框 */
    cursor: pointer; /* 鼠標懸停時顯示手型 */
    outline: none; /* 去掉焦點輪廓 */
}

    .custom-close-button span {
        margin: 0;
    }

.news-pagination {
    display: flex;
    justify-content: center;
    padding: 0;
    margin: 0;
    list-style: none;
}

.news-page-item {
    margin: 0 5px;
}

.news-page-link {
    display: inline-block;
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    border-radius: 50%;
    background-color: white;
    color: black;
    text-decoration: none;
    font-weight: bold;
    border: 1px solid black;
}

.news-page-item.active .news-page-link {
    background-color: black;
    color: white;
}

/* 箭頭樣式 */
.news-page-link.arrow {
    font-size: 18px;
    width: 40px; /* 圓形大小 */
    height: 40px; /* 圓形大小 */
    line-height: 40px; /* 垂直居中箭頭 */
    border-radius: 50%;
    background-color: white;
    color: black;
    text-decoration: none;
    border: 1px solid black;
}

    .news-page-link.arrow:hover {
        background-color: rgba(0, 0, 0, 0.1);
    }
.select-shadow-arrow {
    appearance: none; /* 移除大多數瀏覽器中的預設下拉箭頭 */
    -webkit-appearance: none; /* 移除Safari中的預設下拉箭頭 */
    -moz-appearance: none; /* 移除Firefox中的預設下拉箭頭 */
    background-color: white;
    border: none;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.6);
    padding: 10px; /* 增加一些內邊距，確保文字不被隱藏 */
    background-image: url(images/right-arrow.png);
    background-repeat: no-repeat;
    background-position: calc(100% - 10px) center; /* 調整箭頭位置 */
    border-radius: 50rem !important;
}
.title-shadow {
    background: url(images/title-shadow.png) 50% 100% no-repeat;
    background-size: contain;
}

.text-box {
    max-width: 230px;
    border: 1px solid #C6C8C8;
    background: rgb(255,249,232);
    background: linear-gradient(0deg, rgba(255,249,232,1) 0%, rgba(251,251,251,1) 100%), url(images/item-shadow.png);
    color: #015E94;
}

    .text-box .box-shadow {
        top: 100%;
        left: 50%;
        width: 100%;
        height: auto;
        transform: translateX(-50%);
    }

.button-info {
    background: rgb(21,171,205);
    background: linear-gradient(0deg, rgba(21,171,205,1) 0%, rgba(44,69,134,1) 35%, rgba(0,110,177,1) 100%);
}

.button-info-border {
    border-radius: 10px;
    background: rgb(179,179,179);
    background: linear-gradient(325deg, #014579 0%, #C1DAE0 100%);
}

    .button-info-border .button-body {
        border-radius: 8px;
        background: rgb(21,171,205);
        background: linear-gradient(0deg, rgba(21,171,205,1) 0%, rgba(44,69,134,1) 35%, rgba(0,110,177,1) 100%);
        font-size: 1rem;
    }

.button-cube-border {
    width: 110px;
    height: 90px;
    border-radius: 12px;
    background: rgb(165,165,165);
    background: linear-gradient(325deg, rgba(165,165,165,1) 0%, rgba(255,255,255,1) 100%);
    box-shadow: 6px 12px 9px 0px rgba(0, 0, 0, .1), 3px 3px 9px 0px rgba(0, 0, 0, .2);
}

    .button-cube-border .button-body {
        border-radius: 12px;
        background: rgb(255,255,255);
        background: linear-gradient(320deg, #fff 0%, #fff 25%, #DBC5CE 100%);
        font-size: 1rem;
    }

    .button-cube-border .theme-success {
        background: linear-gradient(320deg, #fff 0%, #fff 25%, #CCD8D2 100%);
    }

    .button-cube-border .theme-warning {
        background: linear-gradient(320deg, #fff 0%, #fff 25%, #DCCAC3 100%);
    }

    .button-cube-border .theme-primary {
        background: linear-gradient(320deg, #fff 0%, #fff 25%, #C1CCD5 100%);
    }

.form-theme {
    border-radius: 10px;
    background: rgb(238,237,238);
    background: linear-gradient(135deg, rgba(238,237,238,1) 0%, rgba(238,237,238,1) 20%, rgba(179,179,179,1) 100%);
}

.form-body {
    border-radius: 8px;
    background: rgb(255,255,255);
    background: linear-gradient(-45deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 42%, rgba(219,219,219,1) 100%);
}

/* checkbox */
.checkbox-box {
    position: relative;
}

.checkbox-box,
.checkbox-input {
    width: 1.375em;
    height: 1.375em;
}

.checkbox-input {
    opacity: 0;
    cursor: pointer;
    z-index: 2;
}

.checkbox-input,
.checkbox-icon {
    position: absolute;
    right: 5px;
}

[class*="flex"] .checkbox-input,
[class*="flex"] .checkbox-icon {
    right: 0;
}

.checkbox-input:checked + .checkbox-icon .tick {
    stroke-dashoffset: 0;
}

.checkbox-icon {
    width: 1.375em;
    height: 1.375em;
    flex-shrink: 0;
    overflow: visible;
}

    .checkbox-icon .tick {
        stroke-dasharray: 20px;
        stroke-dashoffset: 20px;
        transition: stroke-dashoffset 0.2s ease-out;
    }

.check-label {
    letter-spacing: 2px;
}

.form-control-plaintext {
    border-top: 0;
}

.form-control {
    /*移除箭頭樣式*/
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    /*改變右邊箭頭樣式*/
    background: url(images/right-arrow.png) 99% 50%, url(images/icon-news-2.png) 1% 50%;
    background-color: transparent;
    background-repeat: no-repeat;
    border: 0px;
    padding-left: 45px;
    padding-right: 55px;
    color: #8167AB;
}

    /*IE隱藏箭頭樣式*/
    .form-control::-ms-expand {
        display: none;
    }

    .form-control:focus {
        box-shadow: 0 0 5px 2px #467BF4;
    }

.bg-slash {
    background: repeating-linear-gradient( 135deg, #433981 0px, #EEEDEE 1px);
}

.button-body.bg-sliver {
    background: rgb(179,179,179);
    background: linear-gradient(315deg, #fff 0%, #fff 80%, rgba(179,179,179,1) 100%);
}

.down-item.active {
    background-color: #FFFDEB;
}

.icon-ex {
    width: 40px;
    height: 44px;
    background: url(images/icon-files-3.png) no-repeat 50% 50%;
}

.icon-pdf {
    width: 40px;
    height: 44px;
    background: url(images/icon-files-2.png) no-repeat 50% 50%;
}

.icon-expdf {
    width: 40px;
    height: 51px;
    background: url(images/icon-files-1.png) no-repeat 50% 50%;
}

.icon-download {
    width: 18px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18.43 19.1'%3E%3Cpath d='M8.75,15.65l.05,0a.62.62,0,0,0,.41.15.52.52,0,0,0,.24-.05.54.54,0,0,0,.16-.1l.05,0L15.31,10a.63.63,0,0,0,0-.9.65.65,0,0,0-.91,0L9.84,13.66V.64a.64.64,0,1,0-1.27,0v13L4,9.1a.65.65,0,0,0-.91,0,.63.63,0,0,0,0,.9Z' fill='%23c6c8c8'/%3E%3Cpath d='M17.79,17.83H.64a.64.64,0,1,0,0,1.27H17.79a.64.64,0,1,0,0-1.27Z' fill='%23c6c8c8'/%3E%3C/svg%3E");
}

.border-br {
    height: 85px;
    background: repeating-linear-gradient(0deg, #fff 0px, #fff 21px, #C6C8C8 22px);
    font-size: 14px;
    line-height: 22px;
}

.down-item.active .border-br {
    background: repeating-linear-gradient(0deg, #FFFDEB 0px, #FFFDEB 21px, #C6C8C8 22px);
}

/* report */
.box-title {
    background-color: #F0F2F2;
    transform: translateY(-50%);
}

.info-height {
    height: 13rem;
}

    .info-height .card {
        height: 100%;
    }

    .info-height .card-body {
        padding: 0 1rem;
        height: 100%;
        overflow-y: auto;
    }

        .info-height .card-body .form-check {
            padding-top: .5rem;
        }

            .info-height .card-body .form-check:first-child {
                margin-top: .5rem;
            }

            .info-height .card-body .form-check:last-child {
                margin-bottom: 1rem;
            }

.flex-wrapper {
    height: calc(100vh - 200px);
}

.sort-icon.is-up i:first-child,
.sort-icon.is-down i:last-child {
    color: red;
}

table.table-sticky {
    table-layout: fixed;
    min-width: 100%;
    width: auto;
    border-collapse: separate; /* Don't collapse */
    border-spacing: 0;
    border-bottom: 1px solid #000;
    overflow: unset !important
}

.table-sticky th,
.table-sticky td {
    border: 0;
}

.table-sticky th {
    position: -webkit-sticky; /* for Safari */
    position: sticky;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-right: 1px solid;
    background-color: #223a56;
    word-break: keep-all;
}

    .table-sticky th:first-child {
        border-left: 1px solid rgb(221, 235, 247);
    }

.table-sticky thead tr:nth-child(2) th {
    top: 53.8px;
}

.table-sticky td {
    border-top: 1px solid #223a56;
    border-right: 1px solid #223a56;
}

    .table-sticky td:first-child {
        border-left: 1px solid #223a56;
    }

.table-sticky thead th.sticky-th,
.table-sticky tbody td.sticky-td {
    position: -webkit-sticky; /* for Safari */
    position: sticky;
    left: 0;
    border-right: 0;
    box-shadow: -1px -1px 0 inset #000;
    word-break: keep-all;
    z-index: 3;
}

.table-sticky tbody td.sticky-td {
    background-color: #f1f1f1;
    box-shadow: -1px 0 0 inset #223a56;
    z-index: 1;
}

.table-sticky tbody tr:hover td {
    background-color: #a6c2cf;
}

.table-sticky thead tr th {
    top: 0;
    border-bottom: 0;
    border-right: 1px solid #000;
    background-color: rgb(155, 194, 230);
    box-shadow: 0 -1px 0 inset #000;
    z-index: 2;
}

.table-sticky tbody th {
    left: 0;
    box-shadow: -1px 0 0 inset #223a56;
    z-index: 2;
}

.table-sticky th[data-subject=CHINESE] {
    background-color: rgb(169, 208, 142);
}

.table-sticky th[data-subject=ENGLISH] {
    background-color: rgb(255, 217, 102);
}

.table-sticky th[data-subject=MATH] {
    background-color: rgb(155, 194, 230);
}

.table-sticky th[data-subject*=PRO1] {
    background-color: rgb(255, 205, 255);
}

.table-sticky th[data-subject*=PRO2] {
    background-color: rgb(253, 201, 191);
}

td[data-subject=CHINESE], th[data-subject=CHINESE][data-fixed] {
    background-color: rgb(226, 239, 218);
}

td[data-subject=ENGLISH], th[data-subject=ENGLISH][data-fixed] {
    background-color: rgb(255, 242, 204);
}

td[data-subject=MATH], th[data-subject=MATH][data-fixed] {
    background-color: rgb(221, 235, 247);
}

td[data-subject*=PRO1], th[data-subject*=PRO1][data-fixed] {
    background-color: rgb(255, 235, 255);
}

td[data-subject*=PRO2], th[data-subject*=PRO2][data-fixed] {
    background-color: rgb(254, 231, 226);
}

th[data-subject=ALL][data-fixed] {
    background-color: rgb(221, 235, 247);
}

@media screen and (max-width: 992px) {
    /* 取消固定左側資訊 */
    .table-sticky thead th.sticky-th {
        left: initial;
    }

    .table-sticky tbody td.sticky-td {
        position: static;
    }
}

/* 尚未翻新之頁面 */
/* EvaluLogin */
.form-login {
    max-width: 790px;
    padding: 3.6rem 3.5rem 4.5rem;
    margin: 0 auto;
    border-radius: 8px;
    border: 1px solid #d6d5d1;
    background: linear-gradient(rgba(255,255,255,1) 0%, rgba(233,238,243,1) 75%, rgba(255,255,255,1) 100%);
    box-shadow: 0px 0px 10px 5px rgba(142, 143, 143, .1), inset 0px 0px 16px 0px rgba(255,255,255,1);
}

.img-icon {
    display: inline-block;
    height: 46px;
    margin-right: 14px;
    text-align: center;
}

.input-style {
    display: block;
    position: relative;
    width: 100%;
    padding: 1.25rem 1rem;
    border-radius: 4px;
    border: 1px solid #cccac6;
    z-index: 2;
}

.input-box {
    position: relative;
}

    .input-box::before {
        content: '';
        display: block;
        position: absolute;
        left: 50%;
        bottom: 0;
        width: 100%;
        height: 25px;
        background: url(../Content/images/input-shadow.png) no-repeat 50% 50%;
        background-size: contain;
        transform: translate(-50%, 50%);
    }

.form-login .btn,
.bg-evalu .btn {
    width: 46%;
    padding-top: .8rem;
    padding-bottom: .8rem;
    border-radius: 2px;
}

.btn-box .btn-secondary,
.btn-box .btn-success {
    width: 32%;
}

.btn-box .forgot-password {
    width: 15%;
    color: #0099cc;
}

.form-login .btn:only-child {
    width: 100%;
}

.evalu-box .btn:only-child {
    max-width: 150px;
}
/* Inquiries */
.content1 {
    max-width: 960px;
}

    .content1 div {
        font-weight: 900;
        line-height: 1.5;
    }

.text-indent {
    text-indent: 2rem;
}

.office-nav .nav-item {
    width: 50%;
}

.input-group-text,
.custom-select {
    font-size: 1.2rem;
}

.input-group-text {
    font-weight: 900;
}

.chart-canvas .tab-title {
    padding: 1.5rem 0;
}

.chart-canvas .h3 {
    margin-bottom: 0;
    line-height: 3.25rem;
}

.chart-canvas .border {
    border-color: #223a56 !important;
}

.chart-canvas .item > .border {
    position: relative;
}

.unit-text::before,
.unit-text::after {
    position: absolute;
    font-weight: 900;
    white-space: pre-line;
    color: #223a56;
}

.unit-text::before {
    content: '得\A分\A率';
    top: .75rem;
    left: 0;
    transform: translate(50%, 0);
}

.unit-text::after {
    content: '單元';
    right: .75rem;
    bottom: 0;
    transform: translate(0, -50%);
}

.yAxis-title {
    position: absolute;
    top: calc(50% - 53px);
    left: 36px;
    width: 42px;
    padding: 0 10px;
    font-size: 22px;
    transform: translate(-50%, -50%);
}

.xAxis-title {
    position: absolute;
    left: 36px;
    bottom: 35px;
    transform: translateX(-50%);
}

    .xAxis-title > div {
        padding: 3px 0;
    }

.mark-item div {
    font-weight: 900;
}

.mark-item span {
    padding-right: 1rem;
}

.mark-item .blue {
    color: #2bd3e0;
}

.mark-item .orange {
    color: #fbb03b;
}

.mark-item .pink {
    color: #fc499f;
}

.mark-item .coffee {
    color: #c69c6d;
}

.mark-item .green {
    color: #39b54a;
}

.mark-border {
    display: inline-block;
    width: 230px;
    padding: .5rem 1rem;
    border: 1px solid #fff;
}

.mark-line,
.mark-bar {
    text-align: center;
}

    .mark-line::before,
    .mark-bar::before {
        content: '';
        display: block;
        float: left;
        width: 16px;
        height: 32px;
    }

    .mark-line::after,
    .mark-bar::after {
        content: '全校';
        float: left;
        padding-left: 1rem;
        line-height: 32px;
    }

.blue.mark-line::before {
    background: #2bd3e0;
    background: linear-gradient(rgba(201,235,202,1) 0%, rgba(29,182,214,1) 100%);
}

.orange.mark-line::before {
    background: #fbb03b;
    background: linear-gradient(rgba(255,235,108,1) 0%, rgba(255,82,41,1) 100%);
}

.pink.mark-line::before {
    background: #fc499f;
    background: linear-gradient(rgba(255,235,193,1) 0%, rgba(255,82,214,1) 100%);
}

.coffee.mark-line::before {
    background: #c69c6d;
    background: linear-gradient(rgba(255,235,193,1) 0%, rgba(159,82,61,1)100%);
}

.green.mark-line::before {
    background: #c69c6d;
    background: linear-gradient(rgba(194, 235, 193,1) 0%, rgba(62, 171, 61,1)100%);
}

.blue2.mark-line::before {
    background: #2f88e0;
    background: linear-gradient(rgba(47,136,224,1) 0%, rgba(12,15,137,1) 100%);
}

.mark-bar::before {
    display: inline-block;
    width: 30px;
    height: 6px;
    margin: 13px 0;
    border-radius: 3px;
    background-color: #999;
}

.mark-bar::after {
    content: '個人';
}

.mark-bar.text-class::after {
    content: '班級';
}
/* contact */
.form-contact {
    /*padding-top: 6.25rem;*/
    max-width: 820px;
    color: #223a56;
}

    .form-contact span {
        font-weight: 900;
    }

    .form-contact * {
        color: black;
    }
    .form-news {
        /*padding-top: 6.25rem;*/
        max-width: 1000px;
        color: #223a56;
    }
/* footer */
footer span {
    color: #603813;
}

footer .line {
    width: 1px;
    background-color: #603813;
}

.hr-line {
    display: flex;
}

    .hr-line::before,
    .hr-line::after {
        content: '';
        display: block;
        height: 1px;
        margin: auto;
        background-color: #fff;
    }

    .hr-line::before {
        flex-grow: 3;
        margin-right: 2.5rem;
    }

    .hr-line::after {
        flex-grow: 1;
        margin-left: 2.5rem;
    }

.footer {
    right: 0;
    bottom: 0;
    width: 100%;
    color: white;
    background-color: rgba(177, 176, 176, 1);
    line-height: 40px;
    border-radius: 6px;
    margin-top: 3rem;
}
/* form */

/* table */
.table-overflow {
    overflow-x: auto;
}

.table-top [class*="col"] {
    font-weight: 900;
    word-break: break-word;
}

.table-bordered {
    border-color: transparent;
}

.table {
    margin-top: 1rem;
}

    .table .name,
    .table .eval-text {
        min-width: 250px;
    }

    .table .min-div {
        max-width: 110px;
    }

    .table thead th,
    .table tbody th,
    .table tbody td {
        border-width: 1px;
        border-color: #000;
    }

    .table thead.border-0 th {
        border-color: transparent;
    }

.table-overflow .table tbody th,
.table-overflow .table tbody td {
    white-space: nowrap;
}

    .table-overflow .table tbody td.eval-text {
        white-space: normal;
    }

.table thead th,
.thead {
    vertical-align: middle;
    background-color: #39618e;
    text-align: center;
    color: black;
}

.table-overflow .table thead th {
    white-space: nowrap;
}

.table thead tr:nth-child(2) th {
    left: initial;
    z-index: 1;
}

.table tbody tr:nth-child(even) {
    background-color: #f2f2f2;
}

.table tbody tr:hover {
    background-color: rgba(141, 177, 196, .5);
}

.table tbody td,
.table tfoot th,
.table tfoot td {
    vertical-align: middle;
    text-align: center;
}

.td-middle tbody th,
.td-middle tbody td {
    vertical-align: middle !important;
}

.table tfoot th,
.table tfoot td {
    border-color: transparent;
}

td b {
    display: inline-block;
    padding: 0 .5rem;
    margin: .25rem .5rem;
    border-radius: 4px;
}

    td b:first-child {
        border: 2px solid #f7931e;
    }

    td b:last-child {
        border: 2px solid #2f88e0;
    }

.number-person::after {
    content: '人';
    padding-left: .5rem;
}

.formula .border-top {
    border-color: #000 !important;
}

[id^="scrollable"] .modal-body {
    padding-left: 30px;
    padding-right: 30px;
}

    [id^="scrollable"] .modal-body [class^="col"] {
        border-left: 1px solid #000;
        border-bottom: 1px solid #000;
    }

        [id^="scrollable"] .modal-body [class^="col"]:nth-child(2n+2) {
            border-right: 1px solid #000;
        }
/* Analysis */
.media-box .media {
    position: relative;
    height: 100%;
    border: 1px solid #333;
    overflow: hidden;
}

.media-box .media-title {
    width: 245px;
    height: 100%;
    min-height: 245px;
    background-color: #bc4170;
    font-size: 4rem;
    line-height: 1.3;
    color: #fff;
}

.media-box .media-body {
    padding-top: 4.5rem;
    padding-bottom: 2.5rem;
    color: #000;
}

.media-text-color {
    color: #bc4170;
}

.selection-item {
    position: relative;
    padding-top: 3rem;
}

    .selection-item + .selection-item::before {
        content: '';
        display: block;
        height: 1px;
        margin-bottom: 3rem;
        background-image: linear-gradient(to right, #333 50%, rgba(255, 255, 255, 0) 20%);
        background-position: top;
        background-size: 7px 5px;
        background-repeat: repeat-x;
    }

    .selection-item .btn-intro {
        position: absolute;
        right: 0;
        bottom: 0;
    }
/* OnlineEvalu */
.bg-evalu {
    max-width: 100%;
    padding-top: 3.5rem;
    padding-bottom: 7rem;
    background: url(../Content/images/bg-evalu.jpg) repeat;
}

.sub-navbar {
    position: relative;
    height: 80px;
    background-color: #efefef;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .2);
}

.form-login .text-title {
    color: #1282a8;
}

.evalu-student {
    width: 100%;
    max-width: 1520px;
    margin: 0 auto;
}

    .evalu-student .nav {
        margin: 0;
    }

    .evalu-student .nav-item {
        width: calc(25% - .5625rem);
        max-width: 190px;
    }

        .evalu-student .nav-item + .nav-item {
            margin-left: .75rem;
        }

    .evalu-student .nav-link {
        padding-top: 1rem;
        padding-bottom: .8rem;
        border-radius: 6px 6px 0 0;
        background-color: #dcdcdc;
        text-align: center;
        font-size: 1.2rem;
        letter-spacing: 2px;
        color: #000;
    }

        .evalu-student .nav-link.active {
            background-color: #fff !important;
        }

    .evalu-student .nav-item:nth-child(2) .nav-link {
        background-color: #fdd849;
    }

    .evalu-student .tab-content {
        border-width: 3.5rem 3rem 4rem 3rem;
        border-style: solid;
        border-color: #fff;
        background-color: #ebebeb;
    }

.tab-text {
    float: left;
    top: 0;
    width: 80%;
    height: calc(100% - 1px);
    padding-top: 1.375rem;
    padding-bottom: 1.375rem;
    margin-bottom: 1px;
    background-color: #f7f7f7;
}

.tab-subtitle {
    background-color: #b9d0e2 !important;
    margin-bottom: 0;
}

.tab-text:nth-child(2n) {
    float: right;
    width: calc(20% - 1px);
    margin-left: 1px;
}

.evalu-box {
    max-width: 1450px;
    margin: 0 auto;
}

    .evalu-box .card-header {
        background-color: #55a0d2;
    }

.evalu-item {
    padding-bottom: 2rem;
}

    .evalu-item > div {
        float: left;
    }

.evalu-input {
    width: 35px;
    height: 35px;
}

    .evalu-input input {
        width: 100%;
        height: 100%;
        border: 1px solid #0998db;
        border-radius: 4px;
        text-align: center;
        font-size: 24px;
    }

.evalu-text {
    width: calc(100% - 53px);
    margin-left: 18px;
}

    .evalu-text > div {
        display: inline;
        vertical-align: middle;
    }

.evalu-item::after {
    content: '';
    display: block;
    clear: both;
}

.bg-evalu .btn-primary,
.bg-evalu .btn-secondary,
.bg-evalu .btn-success {
    border: 0;
}

.bg-evalu .btn-primary {
    background: linear-gradient(180deg, rgba(31,161,234,1) 0%, rgba(29,156,233,1) 30%, rgba(23,130,228,1) 100%);
    text-shadow: 1px 1px 2px rgba(0, 0, 0, .5);
}

.bg-evalu .btn-secondary {
    background: linear-gradient(180deg, rgba(195,195,195,1) 0%, rgba(188,188,188,1) 30%, rgba(172,172,172,1) 100%);
    color: #000;
    text-shadow: 1px 1px 2px rgba(255, 255, 255, .5);
}

.bg-evalu .btn-success {
    background: linear-gradient(180deg, rgba(152,186,1,1) 0%, rgba(110,158,1,1) 100%);
    text-shadow: 1px 1px 2px rgba(0, 0, 0, .5);
}

.bg-evalu + footer {
    margin-top: 0 !important;
}
/* btn */
#gotop {
    position: fixed;
    right: 20px;
    bottom: 30px;
    width: 40px;
    height: 40px;
    border: 1px solid transparent;
    border-radius: 50%;
    background-color: rgba(184, 184, 184, .7);
    text-align: center;
    transition-duration: 300ms;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
    color: #fff;
    z-index: 10;
}

    #gotop:hover {
        background-color: #223a56;
        border: 1px solid #fff;
    }

    #gotop i::before {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

#gohome {
    position: fixed;
    right: 10px;
    bottom: 10px;
    width: 70px;
    height: 70px;
    background: url(images/icon-home.svg) no-repeat 50% 50%;
    background-size: cover;
    opacity: .8;
    z-index: 10;
}

#gohome:hover {
    opacity: 1;
}

.btn-more {
    padding: .75rem;
    padding-right: 1rem;
    margin-top: 3.125rem;
    border: 1px solid #603813;
    color: #603813;
    /*border-radius: 1.5rem;*/
}

    .btn-more:hover {
        background-color: #603813;
        color: #fff;
    }

.btn-theme {
    border-color: #223a56;
    background-color: #223a56;
    color: #fff;
}

    .btn-theme.active {
        background-color: #fff;
        color: #223a56 !important;
    }

    .btn-theme:hover {
        color: #fff;
    }

#SubjectType .btn-theme {
    border-color: #223a56;
    background-color: #fff;
    color: #223a56;
}

    #SubjectType .btn-theme.active {
        background-color: #223a56;
        color: #fff !important;
    }

    #SubjectType .btn-theme:hover {
        background-color: #223a56;
        color: #fff;
    }

.btn-go {
    position: absolute;
    top: 0;
    right: 0;
    width: 6.25rem;
    height: 5.3rem;
    background-color: #e07ca3;
    border-radius: 0 0 0 100%;
}

    .btn-go::before {
        content: 'Go';
        position: absolute;
        top: 40%;
        left: 60%;
        transform: translate(-50%, -50%);
        font-weight: 900;
        font-size: 2rem;
        color: #fff;
    }

.mark-step {
    width: 140px;
    height: 140px;
    background-color: #b3b3b3;
    border-radius: 50%;
}

.mark-step-bar {
    width: 131px;
    height: 18px;
    margin-left: -1px;
    background-color: #b3b3b3;
}

.mark-step-arrow {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 21px 0 21px 36px;
    border-color: transparent transparent transparent #b3b3b3;
}

.active .mark-step,
.active .mark-step-bar {
    background-color: #223a56;
}

.active .mark-step-arrow {
    border-color: transparent transparent transparent #223a56;
}
/* loaders */
.loaders {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(34, 58, 86, .6);
    transition: opacity .3s;
    opacity: 1;
    z-index: 1040;
}

    .loaders.invisible {
        opacity: 0;
    }

    .loaders .spinner-border {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 3rem;
        height: 3rem;
        margin-top: -1.5rem;
        margin-left: -1.5rem;
    }
/* coming soon */
.coming-soon {
    width: 100%;
    padding: 4rem;
    background-color: #e6e6e6;
}

    .coming-soon .pc {
        max-width: 930px;
    }

    .coming-soon .mobile {
        max-width: 210px;
    }

@media (min-width: 1921px) {
    #gotop {
        right: 50%;
        transform: translateX(940px);
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .row4-colr > div:nth-child(4n+3),
    .row4-colr > div:nth-child(4n+4) {
        background-color: #f2f2f2;
    }
}

@media (max-width: 1310px) {
    .navbar .nav-item {
        width: 100px;
        padding: 0 1.5rem 0 .75rem !important;
    }

    .nav-item .login-bar {
        font-size: 0.8rem;
    }
}

@media (max-width: 1199.98px) {
    .navbar .nav-item {
        width: 80px;
        padding: 0 .75rem 0 .3rem !important;
    }

    .border-top-xl-0 {
        border-top: 1px solid #223a56 !important;
    }

    .exam-border > .col > .h2,
    .exam-border .row-cols-xl-5 .col:nth-child(2n) > div,
    .exam-border .row-cols-xl-5 .col:last-child > div,
    .border-right-fix [class^="col"]:nth-child(2) div {
        border-right: 1px solid #000;
    }
}

@media (max-width: 1080px) {
    html {
        font-size: 12px;
    }

    .logo {
        max-width: 200px;
    }

    .navbar .nav-link {
        font-size: 1.5rem;
    }

    .table-sticky thead tr:nth-child(2) th {
        top: 40.6px;
    }
}

@media (max-width: 991.98px) {
    .row4-colr > div:nth-child(8n+5),
    .row4-colr > div:nth-child(8n+6),
    .row4-colr > div:nth-child(8n+7),
    .row4-colr > div:nth-child(8n+8) {
        background-color: #f2f2f2;
    }

    .row-cols-lg-4.row-border-black .col:nth-child(2n) {
        border-right: 1px solid #000;
    }

    .mark-step {
        width: 15vw;
        height: 15vw;
    }

    .mark-step-bar {
        width: 3.75vw;
        height: 9px;
    }

    .mark-step-arrow {
        border-width: 12px 0 12px 20px;
    }
}

@media (max-width: 767.98px) {
    body {
        padding-top: 70px;
    }

    .navbar {
        padding: 0;
    }

        .navbar .container-fluid {
            position: relative;
        }

        .navbar > div {
            height: auto;
            padding: 0;
        }

    .navbar-nav {
        height: calc(100vh - 70px);
        background-size: contain;
    }

    .logo,
    .navbar .nav-item {
        min-height: initial;
    }

    .logo {
        height: 70px;
        padding: 4px 0;
        margin: auto;
        transform: translateX(-42px);
    }

    .navbar .nav-item {
        width: 100%;
        height: auto;
        padding: 0 1rem;
        flex-grow: 1;
        background-image: none;
    }

        .navbar .nav-item.show {
            display: block;
        }

        .navbar .nav-item:nth-child(odd),
        .navbar .nav-item:nth-child(even),
        .navbar .nav-item:nth-child(2n+3) {
            margin-top: 0;
            transform: rotate(0);
        }

    .nav-item.active {
        background-color: #8db1c4;
    }

        .nav-item.active::after {
            display: none;
        }

    .navbar .nav-link {
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        top: 0;
        left: 0;
        width: 100%;
        height: 110px;
        font-family: 'MJ', "Microsoft JhengHei", arial, sans-serif;
        font-size: 2.5rem;
        color: #7C4E2C;
    }

        .navbar .nav-link:hover {
            transform: translateX(15px);
            color: #7C4E2C;
        }

    header {
        height: 37.5vw;
    }

    .news .nav-item {
        width: calc(50% - 1rem);
    }

    .hr-line::before {
        flex-grow: 1;
    }

    .row-cols-1.row-border-black .col {
        border-right: 1px solid #000;
    }

    .media-box .media,
    .media-box .media-title {
        height: inherit;
    }

    .media-box .media-title {
        width: 100%;
        height: 5.3rem;
        min-height: inherit;
    }

    .row4-colr > div:nth-child(2n+2) {
        background-color: #f2f2f2;
    }

    .mark-step {
        width: 20vw;
        height: 20vw;
    }
}

@media (max-width: 575.98px) {
    .navbar .nav-link {
        font-size: 2rem;
    }

    .navbar .dropdown-toggle::after {
        right: 30px;
        width: 64px;
        height: 60px;
    }

    .tab-pane.d-sm-active {
        display: block;
        opacity: 1;
    }

    .form-control {
        font-size: 1.5rem;
    }

    .exam-border .row-cols-xl-5 .col > div,
    .border-right-fix [class^="col"] div {
        border-right: 1px solid #000;
    }

    .mark-step {
        width: 75px;
        height: 75px;
    }

    .flex-wrapper {
        height: 100vh;
    }
}

@media (max-width: 400.98px) {
    .navbar .navbar-toggler {
        margin-left: 0;
    }

    .logo {
        width: 160px;
        transform: translateX(-30px);
    }
}
/* login */
.btn-visible {
    top: 50%;
    right: 0;
    font-size: 1.5rem;
    transform: translateY(-50%);
}

    .btn-visible i:first-child,
    .btn-visible.active i:last-child {
        display: block;
    }

    .btn-visible i:last-child,
    .btn-visible.active i:first-child {
        display: none;
    }

.btn-visible-account {
    top: 50%;
    right: 0;
    font-size: 1.5rem;
    transform: translateY(-50%);
}

    .btn-visible-account i:first-child,
    .btn-visible-account.active i:last-child {
        display: block;
    }

    .btn-visible-account i:last-child,
    .btn-visible-account.active i:first-child {
        display: none;
    }

#dataAreaContent::-webkit-scrollbar {
    background-color: #8db1c4;
}

#dataAreaContent::-webkit-scrollbar-thumb {
    background: #39618e;
}

.tooltip .tooltip-inner {
    text-align: end;
}

.d-flex-center {
   display: flex;
   justify-content: center;
   align-items: center;
}

.table-custom {
    width: 100%;
}
    .table-custom th, .table-custom td {
        text-align: center;
        padding: 1rem;
        border-bottom: 1px solid #9D9D9E;
    }
    .table-custom span {
        display: inline-block;
    }
    .table-custom img {
        height: 200px;
        width: auto;
    }
.table-custom p {
    white-space: pre;
    text-align: start;
}

@media(max-width: 996px){
    .table-custom img {
        height: 100px;
    }
}

.row-under {
    display: flex;
    margin-bottom: -0.25rem;
    position: relative;
}

.btn-account-label {
    border: 1px solid #9D9D9E;
    background-color: white;
    border-radius: 0.3rem;
    padding: 0.5rem 2rem;
}

.btn-account-label.active {
    background-color: #9D9D9E;
    padding: 1rem 2rem
}

.btn-account-label:focus {
    outline: 0;
}

.input-row {
    display: flex;
    border-bottom: 1px solid #9D9D9E;
    width: 100%;
}

.account-label-box {
    width: 40%;
    display: flex;
    align-items: center;
}

.account-label-box label{
    margin: 0;
}

.account-input-box {
    width: 60%;
    position: relative;
    padding: 1rem;
}

.account-input-box input {
    width: 100%;
    border: none;
}

.download-title {
    display: flex;
    background: linear-gradient(0deg, rgba(179,179,179,1) 0%, rgba(238,237,238,1) 100%);
    border-radius: .3rem;
    border: 1px solid #9D9D9E;
}

.download-item {
    width: 120px;
    padding: 1rem;
}

.contact-icon {
    width: 2rem;
    height: 2rem;
    object-fit: contain;
}