/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v7.0.29,
* Autoprefixer: v9.7.6
* Browsers: last 4 version
*/

:root {
    --apply-primary: #f5da2f;
    --apply-dark: #cd970d;
    --apply-light: #fff6cf;
    --value-primary: #41C1F3;
    --value-dark: #1d8cb7;
    --value-light: #b4e7ff;
    --training-primary: #FF723E;
    --training-dark: #c73f0d;
    --training-light: #ffcbb8;
    --primary: #1f6b9a;
    --primary-light: #e3f3ff;
    --primary-dark: #154969;
    --primary-15: rgba(31, 107, 154, 0.15);
    --primary-20: rgba(31, 107, 154, 0.2);
    --primary-25: rgba(31, 107, 154, 0.25);
    --primary-50: rgba(31, 107, 154, 0.5);
    --primary-70: rgba(31, 107, 154, 0.7);
    --primary-90: rgba(31, 107, 154, 0.9);
    --primary-gray: #3f3f3f;
    --primary-gray-dark: #262626;
    --info: #0487D9;
    --info-light: #bde6ff;
    --info-15: rgba(4, 135, 217, 0.15);
    --success: #2CBF6C;
    --success-dark: #125630;
    --success-light: #6effad;
    --success-15: rgba(44, 191, 108, 0.15);
    --warning: #ffb748;
    --warning-light: #ffc772;
    --warning-30: rgba(242, 160, 61, 0.3);
    --warning-15: rgba(242, 160, 61, 0.15);
    --warning-dark: #98662a;
    --danger: #E23434;
    --danger-dark: #aa1818;
    --danger-light: #ffd7d7;
    --danger-15: rgba(226, 52, 52, 0.15);
    --white: #FFFFFF;
    --white-25: rgba(255, 255, 255, 0.25);
    --white-50: rgba(255, 255, 255, 0.5);
    --white-90: rgba(255, 255, 255, 0.9);
    --gray-01: #F4F4F4;
    --gray-02: #F2F2F2;
    --gray-06: #E8E8E8;
    --gray-10: #DDDDDD;
    --gray-25: #B9B9B9;
    --gray-45: #878787;
    --gray-65: #565656;
    --gray-85: #242424;
    --black: #000000;
    --font-family: "Noto Sans TC", "微軟正黑體", "Microsoft JhengHei", sans-serif;
    --title-font-family: "Noto Sans TC", "Heiti TC", "微軟正黑體", "Microsoft JhengHei", sans-serif;
}

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;300;400;500;700;900&display=swap');

.dev {
    position: relative;
    padding: 0.5rem 0;
    color: #03A696;
}

.dev:before {
    content: "開發說明";
    padding: 0.25rem;
    margin: 0.25rem;
    border-radius: 0.5rem;
    color: #ffffff;
    background-color: #03A696;
    font-size: 0.875rem;
}


.dev-block {
    position: relative;
    margin: 1rem 0;
    border: 2px solid var(--danger);
    border-style: dashed;
    padding: 1rem;
    border-radius: 1rem;
}

.dev-block:before {
    content: "開發中";
    color: var(--danger);
    font-size: 1.25rem;
}


* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

html {
    width: 100%;
    font-size: 18px;
    scroll-behavior: smooth;
}

body {
    position: relative;
    background-color: #ffffff;
    color: var(--gray-85);
    font-family: var(--font-family);
    font-size: 1rem;
    font-weight: normal;
    line-height: 1.5;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6, a, .btn {
    font-family: var(--title-font-family);
    font-weight: normal;
    line-height: 1.5;
}

:focus {
    outline: none;
}

figure {
    margin: 0;
}

@media (min-width: 768.01px) {
    :focus {
        outline: 2px dashed var(--black) !important;
    }
}


/* === COLOR === */
.bg-light {
    background-color: var(--gray-02) !important;
}

.bg-gray-25 {
    background-color: var(--gray-25) !important;
}

.bg-primary {
    background-color: var(--primary) !important;
    color: var(--white) !important;
}

.bg-primary-light {
    background-color: var(--primary-15) !important;
}

.bg-warning {
    background-color: var(--warning) !important;
}

.bg-warning-light {
    background-color: var(--warning-30) !important;
}

.bg-warning-dark {
    background-color: var(--warning-dark) !important;
}

.bg-apply {
    background-color: var(--apply-primary) !important;
}

.bg-apply-light {
    background-color: var(--apply-light) !important;
}

.bg-apply-recheck {
    background-color: var(--danger-light) !important;
    color: var(--black);
}

.main-apply .bg-apply-recheck .function-btn {
    color: var(--danger-dark);
}

.bg-value {
    background-color: var(--value-primary) !important;
}

.bg-value-light {
    background-color: var(--value-light) !important;
}

.bg-training{
    background-color: var(--training-primary) !important;
}

.bg-training-light{
    background-color: var(--training-light) !important;
}

.alert-warning {
    color: var(--warning-dark);
    background-color: var(--warning-15);
    border-color: var(--warning-dark);
}

.text-primary {
    color: var(--primary) !important;
}

.list-group-item.active {
    z-index: 2;
    color: var(--primary-gray);
    background-color: var(--gray-10);
    border-color: var(--gray-45);
}

[class*="sidebar-dark-"] {
    background-color: var(--primary-gray);
}

/* === Button Color === */
.btn:focus-visible {
    background-color: var(--primary-gray);
    box-shadow: var(--gray-10);
}

.btn-primary {
    background-color: var(--primary);
    border-color: var(--primary);
    color: var(--white);
}

.btn-primary:hover {
    background-color: var(--primary-dark);
    border-color: var(--primary-dark);
    color: var(--white);
}

.bg-apply .btn-primary, .bg-apply-light .btn-primary, .btn-apply-primary {
    background-color: var(--apply-primary);
    border-color: var(--apply-primary);
    color: var(--black);
}

.bg-apply .btn-primary:hover, .bg-apply-light .btn-primary:hover, .btn-apply-primary:hover {
    background-color: var(--apply-dark);
    border-color: var(--apply-dark);
    color: var(--white);
}

.bg-apply .btn-outline-primary, .bg-apply-light .btn-outline-primary, .btn-apply-outline-primary {
    background-color: transparent;
    border: 1px solid var(--apply-dark);
    color: var(--black);
}

.bg-apply .btn-outline-primary:hover, .bg-apply-light .btn-outline-primary:hover, .btn-apply-outline-primary:hover {
    background-color: var(--apply-dark);
    border-color: var(--apply-dark);
    color: var(--white);
}

.bg-apply .modal-footer, .bg-apply-light .modal-footer{
    padding: 0.5rem;
    display: block;
    color: var(--apply-dark);
}

.bg-apply-light .modal-header {
    border-bottom: 1px solid var(--apply-dark);
}

.bg-apply-light .modal-footer {
    border-top: 1px solid var(--apply-dark);
}

.bg-value .btn-primary, .bg-value-light .btn-primary {
    background-color: var(--value-primary);
    border-color: var(--value-primary);
    color: var(--black);
}

.bg-value .btn-primary:hover, .bg-value-light .btn-primary:hover {
    background-color: var(--value-dark);
    border-color: var(--value-dark);
    color: var(--white);
}

.bg-value .btn-outline-primary, .bg-value-light .btn-outline-primary {
    background-color: transparent;
    border-color: var(--value-dark);
    color: var(--black);
}

.bg-value .btn-outline-primary:hover, .bg-value-light .btn-outline-primary:hover {
    background-color: var(--value-dark);
    border-color: var(--value-dark);
    color: var(--white);
}

.bg-value .modal-footer, .bg-value-light .modal-footer{
    padding: 0.5rem;
    display: block;
    color: var(--value-dark);
}

.bg-value-light .modal-header {
    border-bottom: 1px solid var(--value-dark);
}

.bg-value-light .modal-footer {
    border-top: 1px solid var(--value-dark);
}

.bg-training .btn-primary, .bg-training-light .btn-primary {
    background-color: var(--training-primary);
    border-color: var(--training-primary);
    color: var(--white);
}

.bg-training .btn-primary:hover, .bg-training-light .btn-primary:hover {
    background-color: var(--training-dark);
    border-color: var(--training-dark);
    color: var(--white);
}

.bg-training .btn-outline-primary, .bg-training-light .btn-outline-primary {
    background-color: transparent;
    border-color: var(--training-dark);
    color: var(--black);
}

.bg-training .btn-outline-primary:hover, .bg-training-light .btn-outline-primary:hover {
    background-color: var(--training-dark);
    border-color: var(--training-dark);
    color: var(--white);
}

.bg-training .modal-footer, .bg-training-light .modal-footer{
    padding: 0.5rem;
    display: block;
    color: var(--training-dark);
}

.bg-training-light .modal-header {
    border-bottom: 1px solid var(--training-dark);
}

.bg-training-light .modal-footer {
    border-top: 1px solid var(--training-dark);
}

.btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active, .show > .btn-primary.dropdown-toggle {
    background-color: var(--primary-dark);
    border-color: var(--primary-dark);
    color: var(--white);
}

.btn-outline-primary {
    border: 1px solid var(--primary);
    color: var(--primary);
}

.btn-outline-primary:hover {
    border-color: var(--primary);
    color: var(--primary);
    background-color: var(--gray-10);
}

.btn-outline-primary:not(:disabled):not(.disabled).active, .btn-outline-primary:not(:disabled):not(.disabled):active, .show > .btn-outline-primary.dropdown-toggle {
    border-color: var(--primary);
    color: var(--primary);
    background-color: var(--gray-10);
}

.btn-primary.disabled, .btn-primary:disabled {
    border-color: var(--gray-25);
    color: var(--black);
    background-color: var(--gray-25);
}

/* === UTILITY === */
.clearfix:after {
    content: "";
    display: block;
    clear: both;
}

i.left {
    padding-right: 0.25rem;
}

i.right {
    padding-left: 0.25rem;
}

.mask-content {
    display: none;
    position: fixed;
    top: auto;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(28, 28, 28, .8);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    z-index: 101;
}

.img-thumbnail {
    border: none;
    padding: 0;
}

.cursor-pointer {
    cursor: pointer;
}

.noscript {
    background-color: var(--secondary);
    padding: 1rem;
}


/* === GRID === */
.row {
    margin-right: -7.5px;
    margin-left: -7.5px;
}

.col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-auto, .col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-auto, .col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-auto, .col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-auto, .col-xl, .col-xl-1, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-auto {
    padding-left: 7.5px;
    padding-right: 7.5px;
}

.grid-layout {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(calc(100vw / 10), 1fr));
    grid-gap: 1px;
    grid-auto-rows: minmax(calc(100vw / 10), auto);
    grid-auto-flow: dense;
    margin: 0 -1px;
    padding: 1px;
}

.grid-item {
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
    padding: .5rem;
    font-size: 1rem;
    position: relative;
    transition: .5s ease-in-out;
    border: 1px solid var(--white);
}

.grid-item:before {
    content: '';
    height:100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: var(--primary-gray);
    opacity: 0;
    transition: .5s ease-in-out;
    transform-origin: left;
}

.grid-item:hover:before{
    opacity: 1;
}

.grid-item:hover {
    color: var(--white);
}

.grid-item a {
    transition: .5s ease-in-out;
    border: 1px solid var(--primary-gray);
    border-radius: .25rem;
    padding: .125rem .25rem;
    margin: 0 .25rem;
    color: var(--primary-gray);
}

.grid-item:hover a {
    color: var(--white);
    border-color: var(--white);
}

.grid-item a:hover {
    background-color: var(--warning);
    border-color: var(--warning);
    color: var(--primary-gray);
}

.grid-item img {
    object-fit: contain;
    transition: .5s ease-in-out;
    width: 100%;
    height: auto;
    position: absolute;
    top: 0;
}

.colored-img {
    opacity: 0;
}

.grid-item__img {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
}

.grid-item__img img {
    padding-bottom: 0.5rem;
}

.grid-item__block {
    width: 100%;
    z-index: 10;
    transition: .5s ease-in-out;
}

.grid-item__block a {
    display: inline-flex;
    align-items: center;
    height: fit-content;
    align-self: end;
    text-align: center;
}

.grid-item__block span {
    align-self: end;
    font-family: var(--title-font-family);
}

.grid-col-2 {
    justify-content: space-between;
    grid-column-end: span 2;
    /*flex-direction: row;*/
    text-align: left;
}

.grid-col-2 .grid-item__block {
    margin-left: 1rem;
}

.grid-row-2 {
    justify-content: flex-end;
    align-items: center;
    grid-row-end: span 2;
}

.grid-row-2 .grid-item__block {
    margin-top: 1rem;
}

.grid-item > span {
    position: absolute;
    bottom: .5rem;
}

.grid-item img {
    margin: auto 0;
}

.grid-row-2 img {
    margin: 0;
}

/* RWD */

@media (max-width: 1700px) {
    .grid-item img {
        width: 90%;
    }
}

@media (max-width: 1439px) {
    .grid-item img {
        width: 80%;
        top: 10%;
        transform: translateY(-5%);
    }
}

@media (max-width: 1280px) {
    .grid-layout {
        grid-template-columns: repeat(auto-fill, minmax(calc(100vw/6), 1fr));
        grid-auto-rows: minmax(calc(100vw / 6), auto);
    }
}

@media (max-width: 810px) {
    .grid-layout {
        grid-template-columns: repeat(auto-fill, minmax(calc(100vw/4), 1fr));
        grid-auto-rows: minmax(calc(100vw / 4), auto);
    }
    .single-color-img {
        /*opacity: 0;*/
    }
    .colored-img, .grid-item::before {
        /*opacity: 1;*/
    }
    .grid-item {
        padding: 1rem;
    }
    .grid-item a {
        /*border-color: var(--white);*/
    }
    .blank-block {
        display: none;
    }
}

@media (max-width: 430px) {
    .grid-layout {
        grid-template-columns: repeat(auto-fill, minmax(calc(100vw/2), 1fr));
        grid-auto-rows: minmax(calc(100vw / 2), auto);
    }
}

/* === TEXT === */
a {
    color: var(--black);
    text-decoration: none;
    cursor: pointer;
}

a:hover {
    color: var(--apply-dark);
    text-decoration: none;
    cursor: pointer;
}

.text-sm {
    font-size: 0.875rem !important;
}

.text-md {
    font-size: 1.25rem !important;
}

.text-primary {
    color: var(--primary) !important;
}

.text-secondary {
    color: var(--secondary) !important;
}

.text-muted {
    color: var(--gray-45) !important;
}

ul {
    padding-left: 0;
}

ul li {
    list-style: none;
    line-height: 1.5;
}

ul.list-styled {
    margin-left: 2rem;
}

ul.list-styled > li {
    list-style: disc;
}

ol li {
    line-height: 1.5;
}

ul li:not(.list-group-item):not(:last-of-type), ol li:not(:last-of-type) {
    /*margin-bottom: 0.75rem;*/
}


/* === NAVBAR === */
.navbar {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
    -webkit-transition: 0.4s ease;
    -o-transition: 0.4s ease;
    transition: 0.4s ease;
    z-index: 1000;
}

.navbar .navbar-brand {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: var(--primary-gray);
}

.navbar.navbar-dark .navbar-brand {
    color: #FFFFFF;
}

.navbar .navbar-brand img {
    width: 50px;
    margin-right: 0.5rem;
}

.navbar .font-size-mode, .navbar-top .navbar-nav .search {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: auto 0.125rem auto;
    border-radius: 50%;
}

.navbar .font-size-mode {
    width: 1.75rem;
    height: 1.75rem;
    border: none;
    background-color: transparent;
    color: var(--primary-gray);
    cursor: pointer;
    transition: 0.3s ease;
}

.navbar.navbar-dark .font-size-mode {
    color: #ffffff;
}

.navbar .font-size-mode:first-of-type {
    margin-left: 1rem;
}

.navbar .font-size-mode:last-of-type {
    margin-right: 0;
}

.navbar-top .navbar-nav .font-size-mode:hover {
    background-color: var(--primary);
    color: var(--primary-gray);
}

.navbar-top .navbar-nav .font-size-mode.active {
    color: var(--gray-85);
    background-color: var(--secondary);
}

.navbar-top .navbar-nav .search {
    height: 2.5rem;
    width: 2.5rem;
    margin-left: 0.5rem;
    background-color: var(--primary);
    color: var(--white);
}

.navbar-top .navbar-nav .search:hover {
    background-color: var(--primary);
}

.navbar-top .navbar-nav .search:focus, .navbar-top .navbar-nav .search:active {
    background-color: var(--primary-dark);
}

.nav-item {
    position: relative;
}

.nav-item .dropdowns {
    display: none;
    position: absolute;
    left: 0;
    width: 12rem;
    z-index: 2;
    text-align: left;
    background-color: var(--white);
    -webkit-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15) !important;
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15) !important;
    -webkit-transition: top 0.4s ease;
    -o-transition: top 0.4s ease;
    transition: top 0.4s ease;
    border-radius: 0 0 0.5rem 0.5rem;
}

.nav-item:last-of-type .dropdowns {
    left: initial;
    right: 0;
}

@media (min-width: 576px) {
    .nav-item .dropdowns {
        /*padding: 0 0.75rem;*/
    }
}

/* Search area */
.navbar .search-content {
    position: fixed;
    top: 0;
    left: 0;
    display: none;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 160px;
    width: 100%;
    background-color: var(--white);
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
    cursor: default;
    z-index: 10000;
}

.navbar .search-form {
    position: relative;
}

.navbar .search-form input {
    padding: 0 5.5rem 0 1rem;
    border: 1px solid var(--gray-06);
    border-radius: 25px;
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 1px;
}

.navbar .search-form button {
    position: absolute;
    right: 0;
    top: 0;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    border: 1px solid var(--primary);
    background-color: var(--primary);
    font-size: 1rem;
    border-radius: 1.25rem;
    color: var(--white);
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
}

.navbar .search-form button:hover {
    background-color: var(--primary);
}

.navbar .search-form button:focus, .navbar .search-form button:active {
    background-color: var(--primary-dark);
}

.navbar.navbar-dark .search-form button {
    background-color: var(--secondary);
    color: var(--primary);
    border-color: var(--secondary);
}

.navbar .search-close {
    position: absolute;
    top: 1.25rem;
    right: 1.25rem;
    color: var(--gray-85);
    font-size: 1.25rem;
    line-height: 1.5rem;
    text-align: center;
    cursor: pointer;
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
}

.navbar .search-close:hover {
    color: var(--primary);
}

.navbar .search-close:focus, .navbar .search-close:active {
    color: var(--primary-dark);
}

/* Desktop - Search area */
.navbar-top .search-content.show {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

/* Mobile - Search area */
.navbar-mobile .search-form {
    width: 80%;
}

@media (min-width: 576px) {
    .navbar .search-close {
        top: 24px;
        right: 2rem;
        font-size: 1.5rem;
    }
}

@media (min-width: 1080px) {
    .navbar-top .navbar-nav .search, .navbar-top .search-close {
        display: none;
    }

    .navbar-top .search-content {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        position: relative;
        top: unset;
        left: unset;
        height: unset;
        width: unset;
        background-color: unset;
        z-index: unset;
    }

    .navbar-top .search-form {
        height: 40px;
        width: 240px;
        margin: auto 0 auto 1rem;
    }

    .navbar-top .search-form input, .navbar-top .search-form button {
        height: 100%;
    }

    .navbar-top .search-form button {
        padding-top: 0;
        padding-bottom: 0;
    }

}


/* Mobile - navbar */
.navbar-mobile {
    display: block;
}

.mobile-topnav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: fixed;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    top: 0;
    width: 100%;
    height: 64px;
    padding: 0 1.25rem;
    z-index: 100;
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
}

.navbar-mobile .navbar-brand {
    margin-left: auto;
    margin-right: auto;
}

.navbar-mobile .navbar-brand img {
    width: 30px;
}

.navbar-mobile .navbar-brand span {
    font-size: 1.125rem;
}

.topnav-right > span, .mobile-topnav > .menu-open, .mobile-accordion .menu-close {
    font-size: 1.25rem;
    cursor: pointer;
}

.topnav-right > span:hover, .mobile-topnav > .menu-open:hover, .mobile-accordion .menu-close:hover {
    color: var(--white);
}

.mobile-accordion .menu-close {
    padding-left: 2rem;
}

.mobile-accordion .nav-top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 64px;
}

.topnav-right > a:not(:first-child) {
    margin-left: 1rem;
}

.topnav-right .menu-open[aria-expanded="false"] i.fa-times {
    display: none;
    -webkit-transition: 0.4s ease;
    -o-transition: 0.4s ease;
    transition: 0.4s ease;
}

.topnav-right .menu-open[aria-expanded="true"] i.fa-bars {
    display: none;
    -webkit-transition: 0.4s ease;
    -o-transition: 0.4s ease;
    transition: 0.4s ease;
}

.navbar-mobile .search-content.show {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.mobile-accordion {
    width: 80vw;
    height: 100vh;
    /*padding-top: 64px;*/
    background-color: var(--white);
    overflow-y: auto;
}

.slide {
    position: fixed;
    left: -100vw;
    -webkit-transition: 0.5s ease;
    -o-transition: 0.5s ease;
    transition: 0.5s ease;
    overflow: hidden;
}

.slide.in {
    left: 0;
}

.slide-mask {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(28, 28, 28, .8);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    z-index: 101;
}

.mobile-accordion .nav-custom {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    margin-bottom: 0;
    background: var(--primary);
    border-bottom: 1px solid var(--white);
}

.mobile-accordion li {
    margin-bottom: 0 !important;
}

.mobile-accordion .nav-custom > a {
    padding: 0.5rem 1rem;
    border-bottom: none;
    color: var(--white);
    font-size: 1rem;
    line-height: 1.5;
}

.mobile-accordion .nav-custom .font-size-mode {
    display: none;
    color: var(--white);
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.mobile-accordion .nav-custom .font-size-mode:hover {
    background-color: var(--secondary);
}

.mobile-accordion .nav-custom .font-size-mode.active {
    background-color: var(--secondary);
}

.mobile-accordion li a {
    padding: 0.75rem 2rem;
    color: var(--gray-85);
    border-bottom: 1px solid var(--gray-06);
    font-size: 1.125rem;
    line-height: 1.5;
}

.mobile-accordion .nav-has-submenu > a[aria-expanded="true"] {
    color: var(--white);
    background-color: var(--primary);
    -webkit-transition: 0.4s ease;
    -o-transition: 0.4s ease;
    transition: 0.4s ease;
}

.mobile-accordion .nav-has-submenu > a:before {
    float: right;
    content: "\f054";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    -webkit-transition: 0.4s ease;
    -o-transition: 0.4s ease;
    transition: 0.4s ease;
}

.mobile-accordion .nav-has-submenu > a[aria-expanded="true"]:before {
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
}

.mobile-accordion ul.mobile-submenu > li a {
    padding-left: 3rem;
    background-color: var(--primary-15);
}

.mobile-accordion ul.mobile-submenu > li:hover a, .mobile-accordion ul.mobile-submenu > li:focus a {
    background-color: var(--primary-25);
    color: var(--primary);
}

.mobile-accordion ul.mobile-submenu .nav-link {
    border-bottom: 1px solid var(--primary-25);
}

.mobile-accordion ul.mobile-submenu li:last-child .nav-link {
    border-bottom: none;
}


@media (min-width: 900px) {
    .navbar-mobile {
        display: none;
    }
}

@media (min-width: 768px) {
    .mobile-accordion .nav-custom > a:hover {
        color: var(--secondary);
    }

    .mobile-accordion .nav-custom .font-size-mode {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
    }
}

@media (min-width: 576px ) {
    .mobile-topnav {
        padding: 0 2rem;
        height: 80px;
    }

    .navbar-mobile .navbar-brand img {
        width: 36px;
    }

    .navbar-mobile .navbar-brand h1 {
        font-size: 1.25rem;
    }

    .mobile-accordion {
        width: 60vw;
    }

    .mobile-accordion .nav-top {
        height: 80px;
    }

    .mobile-accordion .nav-custom > a {
        padding: 0.75rem 1.5rem;
        -webkit-transition: 0.3s;
        -o-transition: 0.3s;
        transition: 0.3s;
    }

    .mobile-accordion li a {
        padding: 1rem 2rem;
    }

    .navbar-mobile .search-form {
        width: 50%;
    }
}


/* === ACCESSKEY === */
.accesskey {
    position: absolute;
    /*z-index: 10000;*/
    color: var(--gray-25);
    left: -.5rem;
    top: 0;
}

.accesskey:focus {
    color: var(--primary);
}

/* skip to main */
.jump-to-main {
    position: absolute;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
    z-index: -999;
}

.jump-to-main:focus, a.jump-to-main:active {
    color: white;
    background-color: var(--primary);
    left: 50%;
    width: 200px;
    height: auto;
    overflow: auto;
    margin: 1rem auto;
    padding: 0.5rem;
    border-radius: 0.5rem;
    text-align: center;
    font-size: 1rem;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    -webkit-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
    z-index: 999;
}

@media (max-width: 768px) {
    .accesskey, .jump-to-main {
        display: none;
    }
}



/* === BORDER === */
.border-primary {
    border-color: var(--primary) !important;
}


/* === MAIN === */
main {
    position: relative;
}

.main-content {
    /*background-color: var(--apply);*/
}

.container {
    position: relative;
}

h2.title {
    margin-bottom: 1rem;
    font-size: 1.5rem;
    font-weight: 700;
}

section {
    position: relative;
}

@media (min-width: 768px) {
    h2.title {
        margin-bottom: 1.25rem;
        /*font-size: 2rem;*/
        font-weight: 400;
    }
}

@media (min-width: 992px) {
    h2.title {
        margin-bottom: 1.5rem;
        /*font-size: 2.5rem;*/
        font-weight: 400;
    }
}


@media (min-width: 1400px) {
    .container {
        max-width: 1370px;
    }
}

/*=== Landing Page ===*/

.landing-block {
    position: relative;
    gap: 5px;
}

.portal-block{
    position: relative;
    display: inline-block;
    width: 100%;
    height: 30vh;
    cursor: pointer;
}

.portal-block img {
    transition: 0.25s ease-in-out;
}

/* 資格審定 */
.portal-block.bg-apply .img-main{
    height: 120%;
    position: absolute;
    right: 40%;
    top: 5%;
}

.portal-block.bg-apply:hover .img-main {
    height: 130%;
}

.portal-block.bg-apply .img-bg{
    height: 100%;
    position: absolute;
    right: 5%;
}

/* 資料管理 */
.portal-block.bg-value .img-main{
    height: 150%;
    position: absolute;
    top: -30%;
    left: 15%;
}

.portal-block.bg-value:hover .img-main {
    height: 160%;
    top: -50%;
}

.portal-block.bg-value .img-bg{
    height: 100%;
    position: absolute;
    left: 5%;
}

/* 增能研習 */
.portal-block.bg-training .img-main{
    height: 80%;
    position: absolute;
    top: -10%;
    left: 25%;
}

.portal-block.bg-training:hover .img-main {
    height: 85%;
    left: 30%;
}

.portal-block.bg-training .img-bg{
    height: 50%;
    position: absolute;
    top: 40%;
    left: 5%;
}

/*標題*/
.portal-block .title-block {
    position: absolute;
    top: 50%;
    right: -5%;
    transform: translateY(-50%);
    transition: 0.25s ease-in-out;
}

.portal-block .title-block{
    padding: 1.5rem 2rem;
}

.portal-block .title-block h1{
    color: var(--black);
    font-size: 3.5rem;
    font-weight: 900;
    transition: 0.25s ease-in-out;
}

.enter-icon {
    opacity: 0;
    margin: 0 1rem;
    transition: 0.25s ease-in-out;
}

.portal-block:hover .enter-icon{
    opacity: 1;
}

.portal-block:hover .title-block {
    right: 0;
}

.portal-block-child.bg-apply .enter-icon:hover {
    background-color: var(--apply-primary) !important;
    color: var(--white) !important;
}

.portal-block-child.bg-value .enter-icon:hover {
    background-color: var(--value-primary) !important;
    color: var(--white) !important;
}

/* === CONTENT === */
.content-wrap {
    position: relative;
}

.content-wrap.content-full {
    padding-left: 0;
}

.content-wrap .header {
    position: relative;
    display: block;
    margin-bottom: 2rem;
}


.content-wrap .header h2.title {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 0;
}

.content-wrap .header nav {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
}

.content-wrap .header .breadcrumb {
    margin-bottom: 1rem;
}

.content-wrap .content {
    min-height: calc(100vh - 140px - 40px * 2 - 2rem - 1.75rem * 1.2 - 303px);
}

.content-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 1rem;
}

.content-wrap .header .breadcrumb li,
.content-wrap .content .content-header h3 {
    margin-bottom: 0;
}


@media (min-width: 576px) {
    .content-wrap .header {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        /*flex-direction: row-reverse;*/
        -ms-flex-wrap: wrap-reverse;
        flex-wrap: wrap-reverse;
    }

    .content-wrap .header .breadcrumb {
        margin: 1rem 0;
    }

    .content-wrap .header h2.title {
        font-size: 1.75rem;
    }
}

/* content submenu */
.content-submenu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 1.5rem -0.5rem;
}

.content-submenu li {
    position: relative;
    margin: 0.5rem;
    width: 100%;
}

.content-submenu li > a {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 1rem 1.5rem;
    font-size: 1.25rem;
    width: 100%;
    height: 100%;
    white-space: normal;
    text-align: center;
    color: var(--gray-85);
    background: var(--gray-06);
    border-radius: 0.15rem;
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
}

.content-submenu li > a:hover, .content-submenu li > a:focus {
    background: var(--primary-15);
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
}

.content p {
    line-height: 2;
}

@media (min-width: 576px) {
    .content-submenu li {
        width: calc(100% / 2 - 1rem);
    }
}

@media (min-width: 768px) {
    .content-submenu li {
        width: calc(100% / 3 - 1rem);
    }
}

/* announcement content */
.content-wrap .content h2.content-title {
    margin-bottom: 1rem;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.5;
}

.content-wrap .content h3 {
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
}

.content-wrap .content h3:not(:first-of-type) {
    margin-top: 2rem;
}

.content-wrap .content h4 {
    margin-bottom: 1rem;
    font-size: 1.125rem;
}

.content-wrap .content h4:not(:first-of-type) {
    margin-top: 1.5rem;
}

.content-wrap .content .content-info {
    margin-bottom: 2rem;
    padding-top: 1rem;
    color: var(--gray-65);
}


.content-wrap .content .content-detail {
    margin-bottom: 1rem;
    /*border-bottom: 1px solid var(--gray-06);*/
    padding-bottom: 2rem;
}

.content-detail h3 {
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

@media (min-width: 576px) {
    .content-wrap .content h2.content-title {
        font-size: 1.75rem;
        font-weight: 400;
    }

    .content-wrap .content h3 {
        font-size: 1.5rem;
    }

    .content-wrap .content h4 {
        font-size: 1.25rem;
    }

    .content-wrap .content .content-info {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-bottom: 2rem;
        padding-top: 1rem;
        color: var(--gray-65);
    }

    .content-info .info-front, .content-info .info-end {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .content-info .info-front {
        margin-right: 1rem;
    }

    .content-info .info-front div:not(:first-child):before {
        content: '';
        display: inline-block;
        position: relative;
        width: 1px;
        height: .875rem;
        margin: 0 0.5rem;
        vertical-align: middle;
        background: var(--gray-10);
    }

}

/* content file */
.content-detail .attachment {
    margin-top: 2rem;
}

/* content picture */
.content-detail .attachment-photo {
    margin-left: -0.25rem;
    margin-right: -0.25rem;
}

.content-detail .attachment-photo li {
    position: relative;
    display: inline-block;
    width: 33%;
    padding: 0.25rem;
    overflow: hidden;
}

.content-detail .attachment-photo li img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.content-detail .attachment-photo.photo-sm li {
    width: 10%;
}

.content-wrap .content .content-footer, .c-nav-tab .tab-content .tab-pane .tab-pane-footer {
    padding-top: 1rem;
    border-top: 1px solid var(--gray-06);
    color: var(--gray-65);
    line-height: 1.5;
}

@media (min-width: 1400px) {
    .content-detail .attachment-photo li {
        width: 25%;
    }
}

/* school intro */
.c-nav-tab .tab-content .tab-pane .tab-pane-footer {
    margin-top: 3rem; /* ref .content-detail bottom distance */
}


/* activity content */
.activity-list li {
    margin-bottom: 0 !important;
}

.activity-list li > a {
    display: block;
}

.activity-block {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 1rem;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
    border-bottom: 1px solid var(--gray-06);
}

.activity-block .activity-img {
    width: 100%;
}

.activity-block .activity-img figure,
.content-detail .attachment-photo li a,
.content-detail .attachment-photo li .more-container {
    display: block;
    width: 100%;
    padding-bottom: 66.67%;
    margin-bottom: 0;
    position: relative;
    border-radius: 0.5rem;
    overflow: hidden;
}

.activity-block .activity-img svg {
    padding: 0;
}

.activity-block .activity-img figure > img,
.content-detail .attachment-photo li a > img {
    display: block;
}

.content-detail .attachment-photo li.more {
    display: none;
}

.activity-block .activity-img figure > img,
.activity-block .activity-img figure > div.img-thumbnail,
.content-detail .attachment-photo li a > img,
.content-detail .attachment-photo li .more-container > span {
    position: absolute;
}

.activity-block .activity-img figure > img,
.activity-block .activity-img figure > div.img-thumbnail,
.content-detail .attachment-photo li a > img {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    -o-object-fit: cover;
    object-fit: cover;
}

.activity-block .activity-img figure > div.img-thumbnail {
    background-color: var(--gray-02);
}

.activity-block .activity-img figure > div.img-thumbnail > span {
    position: absolute;
    top: 10%;
    left: 10%;
    color: var(--gray-65);
    font-size: 80%;
}

.activity-block .activity-img figure > div.img-thumbnail:before {
    content: '';
    z-index: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../img/vector/mt-10.svg) no-repeat bottom var(--secondary-15);
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease
}

.content-detail .attachment-photo li .more-container > span {
    display: block;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    white-space: nowrap;
}

.content-detail .attachment-photo.square li a {
    padding-bottom: 100%;
}

.content-detail .attachment-photo.square li a > img {
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    -o-object-fit: contain;
    object-fit: contain;
}

.activity-block .activity-info {
    width: 100%;
    padding-top: 1rem;
    color: var(--gray-85);
}

.content-wrap .content .activity-info h3 {
    margin-bottom: 1rem;
    font-weight: 600;
    font-size: 1.25rem;
    line-height: 1.3;
}

.activity-block:hover .activity-info .activity-title {
    color: var(--primary);
}

.activity-info .activity-note {
    margin-bottom: 0.5rem;
    color: var(--gray-65);
    line-height: 1.5;
}

.activity-info .activity-note > span:not(:first-child):before {
    content: '';
    display: inline-block;
    position: relative;
    width: 1px;
    height: .875rem;
    margin: 0 0.5rem;
    vertical-align: middle;
    background: var(--gray-06);
}

.activity-info p {
    margin-bottom: 0;
}

.activity-info p {
    display: none;
    max-height: 6rem;
    line-height: 1.5;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

@media (min-width: 576px) {
    .activity-block {
        padding: 1.5rem 1rem;
    }

    .activity-block .activity-img {
        width: 25%;
    }

    .activity-block .activity-img figure {
        -webkit-transition: 0.3s ease;
        -o-transition: 0.3s ease;
        transition: 0.3s ease;
    }

    .activity-block:hover .activity-img figure {
        -webkit-transform: translate(0, -8px);
        -ms-transform: translate(0, -8px);
        transform: translate(0, -8px);
        -webkit-box-shadow: 0 0 0 .2rem var(--primary-25);
        box-shadow: 0 0 0 .2rem var(--primary-25);
    }

    .activity-block .activity-info {
        width: 75%;
        padding-left: 1.5rem;
        padding-top: 0;
    }

    .content-wrap .content .activity-info h3 {
        font-size: 1.5rem;
    }

    .activity-info .activity-note {
        margin-bottom: 0.5rem;
    }

    .activity-info p {
        display: -webkit-box;
    }
}

@media (min-width: 992px) {
    /* only show top 5 items */
    .content-detail .attachment-photo li.item:nth-child(n+6) {
        display: none;
    }

    .content-detail .attachment-photo li a > img {
        opacity: 0.75;
        -webkit-transition: all 0.3s;
        -o-transition: all 0.3s;
        transition: all 0.3s;
    }

    .content-detail .attachment-photo li a:hover > img {
        opacity: 1;
    }

    .content-detail .attachment-photo li.more {
        display: block;
    }
}

/* logo intro */
.logo {
    margin-bottom: 3rem;
    text-align: center;
}

.logo img {
    height: 10rem;
}

@media (min-width: 576px) {
    .logo img {
        height: 20rem;
    }
}


/* director intro */
.director-block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    border-radius: 0.5rem;
    margin-bottom: 1.5rem;
    overflow: hidden;
}

.director-img {
    position: relative;
    overflow: hidden;
}

.director-img::before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 75%;
}

.director-img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.director-info {
    padding: 1rem;
    color: var(--gray-85);
    background: var(--primary-15);
}

.director-info-title {
    color: var(--gray-65);
    font-size: 1.25rem;
}

.director-info-name {
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--gray-25);
    font-size: 2rem;
}

.director-info-text {
    margin-top: 1rem;
}

.director-info-text > span {
    display: block;
    color: var(--gray-65);
    font-size: 1rem;
}

.director-title {
    display: block;
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--primary);
    color: var(--primary);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 2.5;
}

.director-content {
    /*margin-bottom: 2rem;*/
    padding-left: 1.25rem;
    line-height: 2;
}

@media (min-width: 768px) {
    .director-block {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
    }

    .director-img, .director-info {
        width: 50%;
    }

    .director-info {
        padding: 1.5rem;
    }

    .director-info-name {
        padding-bottom: 2rem;
        font-size: 2.5rem;
    }

    .director-info-title {
        font-size: 1.5rem;
    }

    .director-info-text {
        margin-top: 1.5rem;
    }

    .director-info-text > span {
        font-size: 1.25rem;
        margin-bottom: 0.5rem;
    }

    .director-content {
        padding-left: 1.5rem;
    }
}

/* === ORGANIZATION === */
.org-chart {
    margin-bottom: 3rem;
}

.org-chart .level {
    position: relative;
    display: block;
    margin-bottom: 1rem;
    text-align: center;
}

.org-chart .level:not(:last-of-type) > div:before {
    content: "";
    position: absolute;
    bottom: -1rem;
    left: 50%;
    height: 1rem;
    width: 5px;
    background-color: var(--primary);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
}

.org-chart .level:nth-last-child(2) > div:before {
    background-color: var(--secondary);
}

.org-chart .level a {
    display: block;
    width: 100%;
    border-radius: 0.5rem;
    margin: 0.25rem;
    padding: 1rem;
    background-color: var(--primary-15);
    color: var(--white);
    cursor: inherit;
}

.org-chart .level.has-section {
    background-color: var(--secondary);
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.org-chart .level > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.org-chart .level .has-section {
    padding: 0.5rem;
    background-color: var(--secondary);
    border-radius: 0.5rem;
}

.level.one a {
    background-color: var(--primary);
    color: var(--primary-gray);
}

.level.two a {
    background-color: var(--primary);
    color: var(--primary-gray);
}

.level.three a {
    background-color: var(--primary);
    color: var(--primary-gray);
}

.level.one a:hover, .level.two a:hover, .level.three a:hover {
    -webkit-box-shadow: 0 0 0 .2rem var(--primary-25);
    box-shadow: 0 0 0 .2rem var(--primary-25);
}

.level.four a {
    background-color: var(--primary-25);
    color: var(--primary);
}

.level.four a:hover {
    -webkit-box-shadow: 0 0 0 .2rem var(--primary-50);
    box-shadow: 0 0 0 .2rem var(--primary-50);
}

.level.five a {
    background-color: var(--secondary);
}

.level.six a {
    background-color: var(--secondary);
}

.level.five a:hover, .level.six a:hover {
    -webkit-box-shadow: 0 0 0 .2rem var(--secondary);
    box-shadow: 0 0 0 .2rem var(--secondary);
}

@media (min-width: 576px) {
    .org-chart .level a {
        display: inline-block;
        width: 15rem;
    }

    .org-chart .level > div {
        display: block;
    }
}


/* Traffic */
.content-wrap .content.traffic h4 {
    position: relative;
    padding-left: 1rem;
}

.content-wrap .content.traffic h4:before {
    content: '';
    position: absolute;
    display: inline-block;
    top: 50%;
    left: 0;
    width: 4px;
    height: 1.25rem;
    background: var(--primary);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

/* contact */
.custom-control-label:before {
    border-color: var(--gray-25);
}

.custom-control-input:checked ~ .custom-control-label:before {
    color: #fff;
    border-color: var(--primary);
    background-color: var(--primary);
}

.custom-control-input:not(:disabled):active ~ .custom-control-label:before {
    color: #fff;
    background-color: var(--primary-15);
    border-color: var(--primary-15);
}

.custom-checkbox.invalid .custom-control-label {
    color: var(--danger);
}

.custom-checkbox.invalid .custom-control-label:before {
    border-color: var(--danger);
}

.custom-checkbox.valid .custom-control-label {
    color: var(--success);
}

.custom-checkbox.valid .custom-control-label:before {
    border-color: var(--success);
    background-color: var(--success);
}

#sendForm .form-group {
    margin-bottom: 1.5rem;
}

@media (max-width: 576px) {
    #sendForm input, #sendForm select, #sendForm textarea {
        margin-left: 7.5px;
        margin-right: 7.5px;
    }

    #sendForm .invalid-feedback, #sendForm .form-text {
        padding-left: 7.5px;
    }

    #sendForm .form-group {
        margin-right: 7.5px;
        margin-bottom: 1rem;
    }
}

@media (min-width: 768px) {
    #sendForm .invalid-feedback, #sendForm .form-text {
        padding-left: 33.333333%;
    }
}

@media (min-width: 1200px) {
    #sendForm .invalid-feedback, #sendForm .form-text {
        padding-left: 25%;
    }
}


.custom-radio .custom-control-label::before {
    border-radius: 50%;
}

.custom-control-input:checked ~ .custom-control-label::after {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23ffffff'/%3E%3C/svg%3E");
}

.row > .col-form-label {
    padding-left: 0;
}

.row.custom-radio .form-check:first-of-type {
    padding-left: 0.5rem;
}


/* === SIDEBAR === */
.sidebar {
    display: none;
    position: relative;
    float: left;
    width: 240px;
    z-index: 10;
}

.sidebar .filter {
    border-radius: 0.5rem;
    border: 1px solid var(--primary);
}

.sidebar .sidebar-title {
    margin-bottom: 0;
    border-radius: 0.15rem 0.15rem 0 0;
    background: var(--brand-linear);
    font-size: 1.5rem;
    font-weight: 400;
    font-family: var(--title-font-family);
}

.sidebar .filter .sidebar-title {
    background-color: transparent;
    color: var(--gray-85);
    font-size: 1.25rem;
}

.sidebar .sidebar-title,
.sidebar .panel a {
    padding: 1rem 2rem;
}

/*.sidebar .sidebar-title:before {*/
/*    content: '';*/
/*    position: absolute;*/
/*    width: 5rem;*/
/*    height: 5rem;*/
/*    right: 0;*/
/*    top: -50%;*/
/*    transform: rotate(180deg);*/
/*    background-image: url("../img/icon/icon-stu.png");*/
/*    background-repeat: no-repeat;*/
/*    background-position: center;*/
/*    background-size: contain;*/
/*}*/

.sidebar .sidebar-panel {
    background-color: var(--primary-15);
    border-radius: 0 0 0.15rem 0.15rem;
    /*padding-top: 1rem;*/
    /*padding-bottom: 1rem;*/
}

.sidebar .filter .sidebar-panel {
    padding-top: 0;
    padding-bottom: 0;
    margin-bottom: 0;
    background-color: transparent;
}

.sidebar .panel,
.sidebar .filter .panel {
    position: relative;
    margin-bottom: 0;
}

.sidebar .filter .panel:not(:last-of-type):before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: calc(100% - 2rem * 2);
    height: 1px;
    background-color: var(--gray-06);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
}

.sidebar .filter .panel > a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    color: var(--primary);
}

.sidebar .panel:hover {
    background-color: var(--primary-25);
}

.sidebar .panel a {
    display: block;
    color: var(--gray-85);
    background-color: var(--primary-light);
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    overflow: hidden;
}

.sidebar .panel.active a {
    background-color: var(--primary);
    color: #ffffff;
    font-weight: 400;
}

.sidebar .panel a:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 3rem;
    height: 100%;
    padding-right: 0.5rem;
    /*background: url("../img/sign.png") center no-repeat;*/
    /*background-size: 1rem;*/
    opacity: 0;
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.sidebar .panel:hover a:before, .sidebar .panel.active a:before {
    left: .5rem;
    opacity: 1;
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.sidebar .panel:hover a, .sidebar .panel.active a {
    padding-left: 4rem;
}

@media (min-width: 992px ) {
    .sidebar {
        display: block;
    }
}


/* === BREADCRUMB === */
.breadcrumb {
    padding: 0;
    margin-bottom: 1.5rem;
    background-color: unset;
}

.breadcrumb-item + .breadcrumb-item::before {
    content: ">";
    color: var(--gray-45);
}

.breadcrumb-item.active {
    color: var(--gray-85);
}

.breadcrumb-item a {
    color: var(--gray-45);
}

.breadcrumb-item a:hover {
    color: var(--primary);
}

@media (min-width: 576px) {
    .breadcrumb {
        -webkit-box-pack: right;
        -ms-flex-pack: right;
        justify-content: right;
    }
}

/* === JUMBOTRON === */
.jumbotron {
    position: relative;
    margin-bottom: 0;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}

.jumbotron h2 {
    position: relative;
    /*padding-left: calc(36px + 0.5rem);*/
    font-size: 1.5rem;
    font-weight: 700;
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
}

.animation-section {
    position: absolute;
    left: 15px;
    top: 0;
}


@media (min-width: 576px) {
    .jumbotron {
        padding-top: 3rem;
        padding-bottom: 2rem;
    }

    .jumbotron h2 {
        /*padding-left: calc(50px + 0.5rem);*/
        font-size: 3rem;
        font-weight: 400;
    }
}


@media (min-width: 992px) {
    .jumbotron {
        padding-bottom: 2.5rem;
    }
}

@media (min-width: 1200px) {
    .jumbotron {
        padding-top: 2.5rem;
    }

    .animation-section {
        top: calc(3rem + (3.5rem * 1.2 - 50px) / 2);
    }

    .jumbotron h2 {
        position: absolute;
        /*left: calc(50px + 0.5rem + 15px);*/
        top: 3rem;
        width: calc(50% - 1rem);
        height: 40%;
        padding-left: 0;
        font-size: 3.5rem;
        z-index: 100;
    }

}

/* jumbotron loading default height */
@media (min-width: 1200px) {
    .tab-pane {
        /* 算出.owl-carousel高度：.container寬 / 2 再 * 4/6（照片比例高） + padding-top + .nav-dot高 */
        min-height: calc(1140px / 2 * 4 / 6 + 4rem + 1rem);
    }
}

@media (max-width: 576px) {
    .tab-pane {
        /* 算出.owl-carousel高度：.container寬 * 4/6（照片比例高）+ 照片margin + padding-top + .nav-dot高 */
        min-height: calc((100vw - 30px) * 4 / 6 + 4px + 3.5rem + 10px + 1rem + 20px);
    }
}


.custom-carousel.owl-carousel .owl-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 1rem;
    margin-bottom: 1rem; /* for shadowing */
    border-radius: 0.5rem;
    background: var(--white);
    color: var(--gray-85);
    -webkit-box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 4px 5px 0 rgba(0, 0, 0, 0.14);
    box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 4px 5px 0 rgba(0, 0, 0, 0.14);
    overflow: hidden;
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
}

.custom-carousel.owl-carousel .owl-item .item {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    /*padding: 1rem;*/
    text-align: center;
}


.custom-carousel .item.default:after {
    content: '';
    z-index: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../img/icon/icon-stu-tea.png) no-repeat bottom var(--secondary-15);
    background-size: 60%;
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease
}

/*.custom-carousel .item.default:hover:after {*/
/*    background: url(../img/vector/mt-11.svgs) no-repeat bottom var(--primary-50);*/
/*}*/

.custom-carousel .item .item-text {
    position: absolute;
    bottom: -8px;
    left: calc(50% - 1rem);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    background: var(--primary);
    color: #FFFFFF;
    white-space: normal;
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    -webkit-transform: translate(calc(-50% + 1rem), calc(-50% + 1rem));
    -ms-transform: translate(calc(-50% + 1rem), calc(-50% + 1rem));
    transform: translate(calc(-50% + 1rem), calc(-50% + 1rem));
    z-index: 1;
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease
}

.custom-carousel .item.default:hover .item-text,
.custom-carousel .item.upload:hover .item-text {
    font-weight: bold;
    color: var(--gray-85);
    background: var(--secondary);
}

.custom-carousel .item figure {
    display: block;
    position: relative;
    width: 100%;
    padding-bottom: calc((4 / 6) * 100%);
    margin-bottom: 0;
    border-radius: 0.5rem;
    color: var(--gray-45);
    overflow: hidden;
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
}

.custom-carousel.owl-links .item figure {
    padding-bottom: calc((2 / 5) * 100%);
    font-size: 0.875rem;
}

.custom-carousel.owl-links .item.default:after {
    background-size: 30%;
}

.custom-carousel .item img, .custom-carousel .item iframe {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    -o-object-fit: cover;
    object-fit: cover;
}


.custom-carousel.owl-carousel .owl-nav {
    position: absolute;
    display: none;
    top: calc((100% - 37px) / 2); /* 100% - owl-dots height */
    width: 100%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    text-align: center;
}

.custom-carousel.owl-carousel.owl-activity .owl-item {
    justify-content: left;
    background: var(--gray-65);
}

.custom-carousel.owl-carousel.owl-activity .item figure {
    padding-bottom: calc((4 / 6) * 50%);
    width: 50%;
}

.custom-carousel.owl-carousel.owl-activity .owl-item .item .content {
    width: 50%;
    color: var(--white);
    padding: 0 2rem;
}

.custom-carousel.owl-carousel.owl-activity .owl-item h2 {
    position: static;
    width: auto;
    font-size: 2rem;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    white-space: normal;
}

.custom-carousel.owl-carousel.owl-activity .owl-item p {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    white-space: normal;
}

@media (max-width: 575.9px) {
    .custom-carousel.owl-carousel.owl-activity .owl-item p {
        display: none;
    }

    .custom-carousel.owl-carousel.owl-activity .owl-item .item .content {
        width: 100%;
        position: absolute;
        bottom: 0;
        background-color: var(--primary-90);
    }

    .custom-carousel.owl-carousel.owl-activity .owl-item .item .content h2 {
        font-size: 1rem;
        margin: .5rem;
    }

    .custom-carousel.owl-carousel.owl-activity .owl-item .item figure {
        padding-bottom: calc((4 / 6) * 100%);
        width: 100%;
    }

    .custom-carousel.owl-carousel.owl-activity .owl-item .item {
        display: block;
    }
}

@media (min-width: 576px) {
    .custom-carousel .owl-item:hover, .custom-carousel.owl-item:focus {
        -webkit-transform: translate(0, -8px);
        -ms-transform: translate(0, -8px);
        transform: translate(0, -8px);
        -webkit-box-shadow: 0 0 0 .2rem var(--primary-25);
        box-shadow: 0 0 0 .2rem var(--primary-25);
    }

    .custom-carousel .item:hover {
        -webkit-box-shadow: 0 0 0 .2rem var(--primary-25);
        box-shadow: 0 0 0 .2rem var(--primary-25);
    }

    .custom-carousel .item:focus {
        border: 1px dashed var(--primary);
    }
}

@media (min-width: 768px) {
    .owl-carousel.owl-links .owl-nav button.owl-next,
    .owl-carousel.owl-links .owl-nav button.owl-prev {
        width: 2rem;
        height: 2rem;
        font-size: 1.25rem;
        background: var(--primary);
    }

    .owl-carousel.owl-links .owl-nav button.owl-next:active,
    .owl-carousel.owl-links .owl-nav button.owl-prev:active {
        background: var(--secondary-dark);
        color: var(--white);
    }

    .owl-carousel.owl-links .owl-nav button.owl-next {
        margin-right: -1.25rem;
    }

    .owl-carousel.owl-links .owl-nav button.owl-prev {
        margin-left: -1.25rem;
    }

    .owl-carousel.owl-links .owl-nav button.owl-next > i {
        padding-left: 0.125rem;
    }

    .owl-carousel.owl-links .owl-nav button.owl-prev > i {
        padding-right: 0.125rem;
    }
}

@media (min-width: 992px) {
    .custom-carousel.owl-carousel .owl-nav {
        display: block;
    }
}


/* 常用連結頁 */
#often-link .card {
    position: relative;
    margin-bottom: 1rem;
    border-radius: 0.15rem;
    text-align: center;
    overflow: hidden;
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
}

#often-link .card:hover {
    -webkit-transform: translate(0, -8px);
    -ms-transform: translate(0, -8px);
    transform: translate(0, -8px);
    -webkit-box-shadow: 0 0 0 .2rem var(--primary-25);
    box-shadow: 0 0 0 .2rem var(--primary-25);
}

#often-link .card-header {
    border: none;
    color: var(--gray-85);
    background-color: transparent;
    text-align: center;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#often-link .card:hover .card-header {
    color: var(--primary);
    white-space: normal;
}


#often-link .card figure {
    display: block;
    position: relative;
    width: 100%;
    padding-bottom: calc((2 / 5) * 100%);
    margin-bottom: 0;
    overflow: hidden;
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
}


#often-link .card figure img {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    color: var(--gray-45);
    object-fit: cover;
}

#often-link .card.default figure:after {
    content: '';
    z-index: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../img/icon/icon-stu-tea.png) no-repeat bottom var(--secondary-15);
    background-size: 30%;
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
}


.album .card {
    margin-bottom: 1rem;
    border-radius: 0.125rem;
    overflow: hidden;
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
}

.album .card:hover {
    -webkit-transform: translate(0, -8px);
    -ms-transform: translate(0, -8px);
    transform: translate(0, -8px);
    -webkit-box-shadow: 0 0 0 .2rem var(--primary-25);
    box-shadow: 0 0 0 .2rem var(--primary-25);
}

.album .card-header {
    border: none;
    color: var(--gray-85);
    background-color: transparent;
    text-align: center;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.album .card:hover .card-header {
    color: var(--primary);
    white-space: normal;
}

/* limit ratio */
.album .card figure {
    display: block;
    position: relative;
    width: 100%;
    padding-bottom: calc((4 / 6) * 100%);
    margin-bottom: 0;
    text-align: center;
    overflow: hidden;
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
}

.album .card.default figure:after {
    content: '';
    z-index: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../img/icon/icon-stu-tea.png) no-repeat bottom var(--secondary-15);
    background-size: 60%;
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
}


.album .card figure img {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    -o-object-fit: cover;
    object-fit: cover;
}


/* Announcement Section */
@media (max-width: 575.99px) {
    #announcement .c-tb-title > span {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
}

#announcement .c-tb-title .badge {
    margin-left: 0.5rem;
}


/* === NAV TAB === */
ul.nav li.nav-item {
    margin-bottom: 0;;
}

.c-nav-tab .nav {
    position: relative;
}

.c-nav-tab .nav:after {
    content: "";
    height: 3px;
    width: 100%;
    position: absolute;
    top: calc(100% - 3px);
    left: 0;
    background-color: var(--primary);
    -webkit-transition: .3s ease-in-out;
    -o-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}

.c-nav-tab.secondary .nav:after {
    background-color: var(--secondary);
}

.c-nav-tab .nav-item {
    width: 33.3333%;
}

.c-nav-tab .nav-link {
    height: 100%;
    text-align: center;
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
}

.c-nav-tab .nav-link:hover {
    background-color: var(--primary-15);
    color: var(--primary);
}

.c-nav-tab .nav-link.active:hover {
    color: var(--white);
}

.c-nav-tab.secondary .nav-link {
    color: var(--secondary);
}


.c-nav-tab.secondary .nav-link:hover {
    background-color: var(--secondary-15);
    color: var(--secondary);
}

.c-nav-tab .nav-pills .nav-link.active,
.c-nav-tab .nav-pills .show > .nav-link {
    background-color: var(--primary);
}

.c-nav-tab.secondary .nav-pills .nav-link.active,
.c-nav-tab.secondary .nav-pills .show > .nav-link {
    background-color: var(--secondary);
    color: var(--white);
}

.c-nav-tab table tbody tr:first-of-type td {
    border-top: none;
}

.c-nav-tab table.table-bordered tbody tr:first-of-type td {
    border-top: 1px solid var(--primary-s50);
}

.c-nav-tab .table .td-organization {
    white-space: nowrap;
}

.c-nav-tab .table .td-date {
    width: 7rem;
}

@media (min-width: 576px) {
    .c-nav-tab .nav-item {
        width: unset;
    }
}


/* === PAGINATION === */
.pagination {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 1rem;
    gap: .25rem;
}

.page-item.disabled {
    opacity: 0.65;
}

.page-item .page-link {
    display: flex;
    flex-direction: row;
    margin: 0.125rem;
    justify-content: center;
    align-items: center;
    border: 1px solid var(--apply-dark);
    color: var(--apply-dark);
    text-align: center;
    white-space: nowrap;
}

.bg-training-light .page-item .page-link {
    border: 1px solid var(--training-dark);
    color: var(--training-dark);
}

.page-item:first-child .page-link, .page-item:last-child .page-link {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
}

.page-item.active .page-link,
.page-item .page-link:hover,
.page-item .page-link:active {
    height: 2rem;
    width: 2rem;
    border-radius: 50%;
    background-color: var(--apply-primary);
    border-color: var(--apply-primary);
    color: var(--black);
}

.bg-training-light .page-item.active .page-link,
.bg-training-light .page-item .page-link:hover,
.bg-training-light .page-item .page-link:active {
    background-color: var(--training-primary);
    border-color: var(--training-primary);
    color: var(--white);
}

.page-item .page-link:active {
    background-color: var(--apply-dark);
}


.page-link:focus {
    -webkit-box-shadow: none;
    box-shadow: none;
}

.secondary .page-item .page-link {
    color: var(--secondary);
}

.secondary .page-item.active .page-link,
.secondary .page-item .page-link:hover,
.secondary .page-item .page-link:active {
    background-color: var(--secondary);
    border-color: var(--secondary);
    color: var(--white);
}

.secondary .page-item .page-link:active {
    background-color: var(--secondary);
}

/* === FOOTER === */
footer {
    position: absolute;
    bottom: 0;
    width: 100%;
}

/* footer nav */
.footer-nav {
    position: relative;
}

.footer-nav .sign-tea:before {
    content: '';
    background-image: url("../img/icon/icon-stu-tea.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 12rem;
    height: 10rem;
    position: absolute;
    bottom: 0;
    left: 3rem;
    opacity: 50%;
}

.footer-nav .g-blackboard:before {
    content: '';
    background-image: url("../img/icon/icon-blackboard.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 12rem;
    height: 15rem;
    position: absolute;
    bottom: 0;
    right: 3rem;
    opacity: 50%;
}

.footer-nav-control {
    position: relative;
    margin-bottom: -1.25rem;
    text-align: center;
}

.footer-nav-control > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    padding: .5rem 1rem;
    background: var(--brand-linear);
    color: var(--gray-85);
    border-radius: 2rem;
    text-align: center;
    -webkit-transition: 0.4s ease;
    -o-transition: 0.4s ease;
    transition: 0.4s ease;
    cursor: pointer;
}

.footer-nav-control a > i {
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}

.footer-nav-control a > span {
    z-index: 1;
}

.footer-nav-content {
    background-color: var(--gray-02);
    width: 100%;
    overflow: hidden;
}

.footer-nav-content .container {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}

.footer-nav.show .footer-nav-control a > i {
    padding-left: 0;
    padding-right: 0.25rem;
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    transform: rotate(-180deg);
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}

.footer-nav-content a {
    color: var(--gray-65);
}

.footer-nav-item {
    position: relative;
    -webkit-box-flex: 0;
    flex: 0 0 20%;
    -ms-flex: 0 0 20%;
    max-width: 20%;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
}

.footer-nav-title {
    margin-bottom: 0.5rem;
}

.footer-nav-title a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 1rem 0;
    border-bottom: 1px solid var(--gray-65);
    font-size: 1.25rem;
    font-weight: 600;
}

.footer-nav-list {
    padding: 0 0 0.5rem;
    font-size: 0.875rem;
}

.footer-nav-list li {
    margin-bottom: 0 !important;
}

.footer-nav-list a {
    display: block;
    padding: 0.25rem 0;
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.footer-nav-title a:hover, .footer-nav-list a:hover {
    padding-left: 1rem;
    color: var(--primary);
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

@media (max-width: 767.99px) {
    .footer-nav {
        display: none;
    }
}

/* footer info */
.footer {
    color: var(--gray-85);
    font-size: 0.875rem;
    padding: 1rem;
    height: 20vh;
}

.footer a {
    color: var(--gray-85);
    -webkit-transition: .3s ease;
    -o-transition: .3s ease;
    transition: .3s ease;
}

.footer a:hover {
    background-color: var(--secondary);
}

.footer .text-secondary:hover {
    color: var(--primary) !important;
}

.footer .brand-image {
    height: 6rem;
}

.footer .footer-link {
    text-align: center;
    padding-bottom: 2rem;
}

.footer .footer-info a {
    line-height: 2;
}

.footer .footer-info a:not(:first-child)::before {
    content: '';
    display: inline-block;
    position: relative;
    width: 1px;
    height: .875rem;
    margin: 0 0.5rem;
    vertical-align: middle;
    background: var(--gray-85);
}

.footer .copyright {
    text-align: right;
    font-size: 0.75rem;
    padding: 1rem 0 0 1.25rem;
}

.footer .footer-icon {
    /*padding-top: 1.5rem;*/
    font-size: 0; /* clear space */
    text-align: center;
}

.footer .footer-icon a {
    display: inline-block;
    height: 2.5rem;
    margin-right: 0.5rem;
}

.footer .footer-icon a:last-of-type {
    padding-right: 0;
}

.footer .footer-icon a img {
    height: 100%;
}

.scroll-top {
    position: fixed;
    display: none;
    right: 2rem;
    bottom: 2rem;
    transition: 0.4s ease;
    z-index: 999;
}

.scroll-top:hover, .scroll-top:focus {
    bottom: calc(2rem + 8px);
}

.scroll-top .scroll-top-btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    color: var(--primary-gray);
    background-color: var(--primary-yellow);
    font-size: 1.125rem;
    transition: 0.4s ease;
}

.scroll-top .scroll-top-btn:hover,
.scroll-top .scroll-top-btn:focus {
    color: var(--white);
    background-color: var(--primary);
    -webkit-box-shadow: 0 0 0 .2rem var(--primary-25);
    box-shadow: 0 0 0 .2rem var(--primary-25);
}

.scroll-top .scroll-top-btn > span {
    position: absolute;
    font-size: 0.75rem;
    color: transparent;
}


@media (max-width: 575.98px) {
    .footer {
        font-size: 1rem;
    }

    .footer-info {
        text-align: center;
    }

    .scroll-top {
        bottom: 4rem;
    }

    .scroll-top:hover, .scroll-top:focus {
        bottom: calc(4rem + 8px);
    }

    .scroll-top .scroll-top-btn:hover, .scroll-top .scroll-top-btn:focus {
        background-color: var(--primary-dark);
        box-shadow: none;
    }
}

@media (min-width: 768px) {
    .footer .footer-icon a {
        height: 3rem;
    }
}

@media (min-width: 992px) {
    .footer .footer-icon {
        /*padding: 1rem 0;*/
        text-align: right;
    }
}


/* === TABLE === */
.table {
    color: var(--gray-85);
}

.table-hover tbody tr:hover {
    background-color: var(--gray-02);
}

.table.table-bordered th {
    border-top: 1px solid var(--gray-06);
}

.table > h1,
.table > h2,
.table > h3,
.table > h4,
.table > h5,
.table > h6 {
    margin-bottom: 0;
}

.table th {
    border-top: 1px solid var(--gray-06);
}

.table thead th {
    vertical-align: middle;
    border-bottom: 2px solid var(--apply-dark);
}

.table td {
    border-top: 1px solid var(--gray-06);
}

.table th, .table td {
    vertical-align: middle;
}

.table-borderless tbody + tbody, .table-borderless td, .table-borderless th, .table-borderless thead th {
    border: 0;
}

.table-btn {
    color: var(--primary);
    cursor: pointer;
    white-space: nowrap;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}

.table-btn:hover, .table-btn.active {
    color: var(--primary-dark);
}

.tr-with-link tr {
    cursor: pointer;
}

.td-organization {
    white-space: nowrap;
}

.td-type {
    white-space: nowrap;
}


.table-toolbar {
    float: right;
    margin-bottom: 1rem;
}

.table td[data-th="類型"] a {
    white-space: nowrap;
}

.table td[data-th="類型"] a:hover {
    color: var(--secondary);
}

.table td[data-th="類型"] a.btn.btn-outline-primary {
    color: var(--primary);
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
}

.table td[data-th="類型"] a.btn.btn-outline-primary:hover {
    color: var(--white);
    border-color: var(--secondary);
    background-color: var(--secondary);
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
}


@media (max-width: 575.99px) {
    .table-toolbar .btn {
        width: 100%;
    }
}


/* table bordered */
.table.table-bordered thead th,
.table.table-bordered tbody th,
.table.table-bordered tbody td {
    border: 1px solid var(--black);
}

.table.table-bordered thead th:not(:first-child) {
    border-left-color: var(--gray-25);
}

.table.table-bordered thead th:not(:last-child) {
    border-right-color: var(--gray-25);
}

@media (min-width: 576px) {
    .table.table-bordered-sm thead th,
    .table.table-bordered-sm tbody th,
    .table.table-bordered-sm tbody td {
        border: 1px solid var(--primary-s50);
    }
}

/* table striped */
.table.table-striped tbody tr:nth-of-type(2n+1) {
    background-color: var(--primary-15);
}

.table.table-striped.table-hover tbody tr:nth-of-type(2n+1):hover {
    background-color: var(--gray-02);
}

/* 內文中table */
.content .table thead tr {
    background-color: var(--primary);
    color: var(--white);
    text-align: center;
}

.content .tab-pane .table thead th {
    border-bottom-color: var(--gray-10);
}

/* table collapse */
.table tbody .collapse td, .content .table tbody .collapse td {
    text-align: left;
}

.table .collapse td ol {
    margin-bottom: 0;
}

.table .collapse td li:not(:last-child) {
    padding-bottom: 0.5rem;
}

a.collapse-toggler[aria-expanded="true"] {
    color: var(--primary);
}

a[aria-expanded="false"] span > i {
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}

a[aria-expanded="true"] span > i {
    padding-right: 0.25rem;
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}


/* Custom Table */
.c-tb-table {
    /*margin-bottom: 1rem;*/
    border-radius: .25rem;
    border-collapse: separate;
    border-spacing: 0;
}

.c-tb-thead, .c-tb-tbody {
    vertical-align: middle;
}

.c-tb-thead {
    display: table-header-group;
    border-top: 1px solid var(--primary);
    border-bottom: 1px solid var(--primary);
    background: var(--primary);
    color: var(--white);
}

.c-nav-tab .c-tb-thead {
    border-top: none;
    border-bottom-width: 2px;
    background-color: transparent;
    color: var(--primary);
}

.c-tb-tbody .c-tb-tr {
    padding: 1rem;
    color: var(--gray-85);
}

.c-tb-tbody .c-tb-tr:nth-child(odd) .c-tb-td {
    background-color: var(--primary-light);
}

.c-tb-tbody .c-tb-tr:nth-child(2n) .c-tb-td {
    background-color: var(--primary-15);
}

.c-tb-tbody .c-tb-tr:hover .c-tb-td {
    background-color: var(--gray-10);
}

.c-tb-tbody .c-tb-tr:hover .c-tb-title {
    color: var(--primary);
}

.c-tb-tbody .c-tb-tr:active .c-tb-title {
    color: var(--primary-dark);
}

.c-tb-tbody .c-tb-tr .c-tb-td:first-child {
    border-radius: 0.25rem 0 0 0.25rem;
}


.c-tb-tbody .c-tb-tr .c-tb-td:last-child {
    border-radius: 0 0.25rem 0.25rem 0;
}

.secondary .c-tb-hover .c-tb-tbody .c-tb-tr:hover {
    background-color: var(--secondary-15);
}

.secondary .c-tb-tbody .c-tb-tr:hover .c-tb-title {
    color: var(--secondary);
}

.secondary .c-tb-tbody .c-tb-tr:active .c-tb-title {
    color: var(--secondary-dark);
}


.c-tb-th {
    font-weight: 700;
}

.c-tb-td a {
    display: inline-block;
    width: 100%;
    height: 100%;
    color: var(--gray-85);
    vertical-align: middle;
    text-decoration: none;
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
}

.c-tb-td a:hover, .c-tb-td a:focus {
    color: var(--primary);
}

.c-tb-td a:active {
    color: var(--primary-dark);
}

.secondary .c-tb-td a:hover, .secondary .c-tb-td a:focus {
    color: var(--secondary);
}

.secondary .c-tb-td a:active {
    color: var(--secondary-dark);
}

.c-tb-td a.btn.btn-outline-primary {
    color: var(--primary);
}

.c-tb-td a.btn.btn-outline-primary:hover,
.c-tb-td a.btn.btn-outline-primary:focus {
    background-color: var(--primary);
    color: var(--white);
}

/* 多檔 list-group*/
.c-tb-td .list-group .list-group-item {
    border-color: var(--primary);
    border-bottom-color: var(--primary-25);
    background-color: transparent;
}

.c-tb-td .list-group .list-group-item:last-of-type {
    border-bottom-color: var(--primary);
}

.c-tb-td .list-group .list-group-item:hover {
    background-color: var(--primary-15);
}

.c-tb-title {
    text-align: left !important;
}

.c-tb-nowrap {
    white-space: nowrap;
}

.c-tb-truncate {
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.c-tb-table .collapse .c-tb-td ol {
    margin-bottom: 0;
}

/* 無障礙需求：desktop合至標題td中 */
.c-tb-td.c-tb-type {
    display: none !important;
}

@media (min-width: 576px) {
    .c-tb-table {
        display: table;
        width: 100%;
        border-collapse: collapse;
    }

    .c-tb-thead, .c-tb-tbody {
        vertical-align: middle;
        border-color: inherit;
    }

    .c-tb-thead {
        display: table-header-group;
        background-color: var(--primary);
        color: var(--white);
    }

    .c-tb-tbody {
        display: table-row-group;
    }

    .c-tb-tbody .c-tb-tr {
        padding: 0;
    }

    .c-tb-tr {
        display: table-row;
        vertical-align: inherit;
        border-color: inherit;
    }

    .c-tb-thead .c-tb-th, .c-tb-tbody .c-tb-th, .c-tb-tbody .c-tb-td {
        display: table-cell;
        padding: 0.75rem;
        text-align: center;
        vertical-align: middle;
    }

    .c-tb-truncate {
        white-space: normal;
    }

    .c-tb-col-6 {
        width: 60px;
    }

    .c-tb-col-8 {
        width: 80px;
    }

    .c-tb-col-10 {
        width: 100px;
    }

    .c-tb-col-11 {
        width: 110px;
    }

    .c-tb-col-12 {
        width: 120px;
    }

    .c-tb-col-15 {
        width: 150px;
    }

    .c-tb-col-18 {
        width: 180px;
    }
}

@media (max-width: 575.99px) {
    .c-tb-xs-none {
        display: none;
    }

    .c-tb-tbody .c-tb-tr {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .c-tb-tbody .c-tb-tr.collapse:not(.show) {
        display: none;
    }

    .c-tb-title a {
        display: flex;
    }

    .c-tb-title {
        width: 100%;
        -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
        order: 0;
    }

    .c-tb-date,
    .c-tb-sector,
    .c-tb-counter,
    .c-tb-td.c-tb-type,
    .c-tb-category {
        display: inline-block;
        margin: 0.25rem 0.5rem 0 0;
    }

    .c-tb-sector,
    .c-tb-category {
        padding: 0.25rem 0.5rem !important;
        border-radius: 0.25rem;
        color: white;
        text-align: center;
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
    }

    .c-tb-sector {
        background-color: var(--primary-70);
        font-size: 0.875rem;
    }

    .c-tb-category {
        background-color: var(--secondary-70);
        font-size: 0.875rem;
    }

    .c-tb-date {
        padding: 0.25rem 0.25rem 0 0 !important;
        color: var(--gray-65);
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    }

    .c-tb-counter {
        display: none;
        padding: 0.25rem 0.25rem 0 0 !important;
        color: var(--gray-65);
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
    }

    .c-tb-counter:before {
        content: attr(data-label);
        color: var(--primary);
    }

    .c-tb-type {
        padding: 0.25rem 0.25rem 0 0 !important;
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
    }


    /* traditional table rwd under tablet view */
    .c-tb-responsive table thead {
        display: none;
    }

    .c-tb-responsive .table thead th, .c-tb-responsive .table tbody td {
        text-align: left;
    }

    .c-tb-responsive .table.table-striped tbody tr:nth-of-type(2n+1) {
        background-color: unset;
    }

    .c-tb-responsive table tr,
    .c-tb-responsive table td {
        display: block;
    }

    .c-tb-responsive table tr {
        position: relative;
        margin-bottom: 1rem;
        border: 1px solid var(--primary-15);
        border-radius: 0.5rem;
        -webkit-box-shadow: rgba(99, 99, 99, 0.2) 0 2px 8px 0;
        box-shadow: rgba(99, 99, 99, 0.2) 0 2px 8px 0;
        -webkit-transition: 0.3s ease;
        -o-transition: 0.3s ease;
        transition: 0.3s ease;
    }

    .c-tb-responsive table.table-hover tr:focus,
    .c-tb-responsive table.table-hover tr:active,
    .c-tb-responsive .table.table-hover.table-striped tbody tr:focus,
    .c-tb-responsive .table.table-hover.table-striped tbody tr:active {
        background-color: var(--primary-50);
    }

    .c-tb-responsive table td {
        min-height: 3rem;
        padding-left: 30%;
        padding-right: 1.25rem;
        border-top: none;
    }

    .c-tb-responsive.c-tb-pl-4 table td {
        padding-left: 40%;
    }

    .c-tb-responsive.c-tb-pl-5 table td {
        padding-left: 50%;
    }

    .c-tb-responsive table td:nth-child(1) {
        padding-top: 1.25rem;
    }

    .c-tb-responsive table td:last-child {
        padding-bottom: 1.25rem;
        min-height: 3.5rem;
    }

    .c-tb-responsive table td:before {
        content: attr(data-th);
    }

    .c-tb-responsive table td:before {
        position: absolute;
        left: 1.25rem;
        font-weight: bold;
    }

}


/* 單位介紹 > 各級學校 > 基本資料 */
@media (max-width: 575.99px) {
    #school-info .table th {
        display: none;
    }
}


/* 科室業務＞人員業務職掌 */
@media (min-width: 576px) {
    .division-business tbody tr td {
        white-space: nowrap;
        vertical-align: top;
    }

    .division-business tbody tr td[data-th="業務執掌"] {
        text-align: left;
        white-space: normal;
    }

    .division-business .division-section td {
        color: var(--white);
        background-color: var(--primary-70);
        font-weight: 600;
    }

    .division-job .table td {
        position: relative;
        padding: 1rem;
        border: none;
        text-align: left !important;
    }

    .division-job .division-section td {
        padding: 1rem;
        color: var(--white);
        background-color: var(--primary);
        border-radius: 0.25rem;
        font-size: 1.25rem;
        font-weight: 600;
    }

    .division-job .division-section .division-sign {
        display: inline-block;
        width: 2.5rem;
        margin-right: 1rem;
        text-align: center;
    }

    .division-job .division-section img {
        height: 2.5rem;
    }

    .division-job .title {
        width: 7rem;
        font-weight: bold;
    }

    .division-job td.cursor-pointer:hover {
        background-color: var(--primary);
        color: var(--white);
        opacity: 0.7;
        transition: 0.3s ease;
    }

    .division-job td.cursor-pointer[aria-expanded=true] i {
        transform: rotate(-180deg);
        transform-origin: center;
        transition: 0.3s all;
    }


}

@media (max-width: 575.99px) {
    .division-business .division-section td {
        padding-left: 1.25rem;
    }

    .division-business .division-section:nth-of-type(even) {
        background-color: var(--primary);
        border-color: var(--primary);
        color: var(--white);
    }

    .division-business .division-section:nth-of-type(odd) {
        background-color: var(--secondary);
        border-color: var(--secondary);
        color: var(--white);
    }

    .division-business td ol {
        padding-left: 1.5rem;
    }

    .division-job .division-section {
        background-color: var(--primary);
        color: var(--white);
    }

    .division-job .division-section td {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding-left: 1.25rem;
        font-weight: bold;
    }

    .division-job .division-section img {
        height: 2rem;
        padding-right: 1rem;
    }
}


/* Sitemap */
kbd {
    display: inline-block;
    font-weight: 400;
    font-size: .875rem;
    text-align: center;
    padding: .5rem .75rem;
    margin: .25rem;
    line-height: 1.5;
    min-width: 2.5rem;
    vertical-align: middle;
    border-radius: .25rem;
    -webkit-box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .2), inset 0 -2px 0 rgba(0, 0, 0, .06);
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .2), inset 0 -2px 0 rgba(0, 0, 0, .06);
    background-color: var(--white);
    color: var(--gray-65)
}

.sitemap-row {
    display: block;
}

.content .sitemap h3 {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--primary);
    border-bottom: 1px solid var(--primary);
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

.content .sitemap h3 a:hover {
    color: var(--primary-dark);
}

ul.sitemap-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

ul.sitemap-item > li {
    width: 100%;
    padding-right: 0.5rem;
    padding-left: 0.5rem;
}

ul.sitemap-item > li > a {
    display: block;
    padding: 0.5rem 1rem;
    margin-bottom: 0.25rem;
    color: var(--white) !important;
    background-color: var(--primary);
    border: 1px solid var(--primary);
    border-radius: 0.5rem;
}

ul.sitemap-item li a {
    color: var(--gray-85);
}

ul.sitemap-item li a:hover {
    color: var(--primary);
}

ul.sitemap-item > li > a:hover {
    background-color: var(--primary-dark);
    border-color: var(--primary-dark);
}

.sitemap-item-2 {
    padding-top: 0.5rem;
    padding-bottom: 1rem;
}

.sitemap-item-2 > li {
    padding-left: 1rem;
}

#sitemap .sitemap-item-2 > li:last-child {
    padding-bottom: 0;
}

@media (min-width: 576px) {
    ul.sitemap-item > li {
        width: 33.333333%;
    }
}

@media (min-width: 1200px) {
    ul.sitemap-item > li {
        width: 25%;
    }
}


/*===== COLLAPSE =====*/
a[aria-expanded="false"] .rotate-icon {
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}

a[data-toggle][aria-expanded="true"] .rotate-icon {
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    transform: rotate(-180deg);
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}

a[data-toggle][aria-expanded="true"] .left.rotate-icon {
    padding-left: 0.5rem;
    padding-right: 0;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}


/* === FORM === */
label {
    font-weight: 600;
    color: var(--gray-85);
}

label.required::after {
    content: ' *';
    color: var(--danger);
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    padding: 0.5rem 1.5rem 0.5rem 0.5rem;
    background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px;
}

.form-control {
    color: var(--gray-85);
    border: 1px solid var(--gray-25);
}

.form-control:focus {
    color: var(--gray-65);
    border-color: var(--primary);
    outline: 0;
    -webkit-box-shadow: 0 0 0 .2rem var(--primary-25);
    box-shadow: 0 0 0 .2rem var(--primary-25);
}

.form-control::-webkit-input-placeholder,
.form-control::-moz-placeholder,
.form-control:-ms-input-placeholder,
.form-control::-ms-input-placeholder,
.form-control::placeholder {
    color: var(--gray-45);
}

.top-bar .form-group.form-daterange .form-daterange-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.top-bar .form-group.form-daterange .form-control {
    width: 45%;
}

.top-bar .form-group.form-daterange .form-daterange-group span {
    width: 10%;
    text-align: center;
}

.top-bar .btn {
    margin-top: 0;
}

.top-bar:not(.expand) .btn.h-label {
    margin-top: calc(1rem * 1.5 + 0.5rem); /* label height */
}

.top-bar .more-btn {
    display: block;
    margin-bottom: 1rem;
    color: var(--primary);
    text-align: center;
}

/* form > .card {
    padding: 1.5rem;
} */

.card {
    border-radius: 0.5rem;
}


@media (max-width: 575.99px) {
    .top-bar .btn {
        width: 100%;
    }

    .top-bar.top-bar-keyword .btn {
        width: auto;
    }
}

@media (max-width: 765.99px) {
    .top-bar .btn:after {
        content: "搜尋";
        padding-left: 0.25rem;
    }
}

@media (min-width: 576px) {
    .top-bar .more-btn {
        display: none;
    }

    .top-bar .collapse:not(.show) {
        display: block;
    }
}

@media (min-width: 768px) {
    .top-bar .btn.h-md-label {
        margin-top: calc(1rem * 1.5 + 0.5rem) !important; /* label height */
    }

    .top-bar.top-bar-keyword .form-group {
        width: calc(100% - (0.75rem * 2 + 1rem + 2px) - 1rem); /* btn px*2 + i + border */
    }

    /* form > .card {
        padding: 2.5rem 4rem;
    } */
}

@media (min-width: 1200px) {
    /* form > .card {
        padding: 2.5rem 8rem;
    } */
}


/* === Animation === */
/* Mountain In */
.MT-animation-wrapper {
    display: none;
    position: absolute;
    width: 80%;
    height: 100%;
    top: 0;
    left: 0;
}

.MT {
    position: absolute;
    bottom: 0;
}

.MT-left-in.MT-1 {
    -webkit-animation: MT-1 linear infinite;
    animation: MT-1 linear infinite;
    -webkit-animation-play-state: paused;
    animation-play-state: paused;
    -webkit-animation-delay: calc(var(--scroll) * -1s);
    animation-delay: calc(var(--scroll) * -1s);
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

.MT-right-in.MT-2 {
    -webkit-animation: MT-2 linear infinite;
    animation: MT-2 linear infinite;
    -webkit-animation-play-state: paused;
    animation-play-state: paused;
    -webkit-animation-delay: calc(var(--scroll) * -1s);
    animation-delay: calc(var(--scroll) * -1s);
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

.MT-left-in.MT-3 {
    -webkit-animation: MT-3 linear infinite;
    animation: MT-3 linear infinite;
    -webkit-animation-play-state: paused;
    animation-play-state: paused;
    -webkit-animation-delay: calc(var(--scroll) * -1s);
    animation-delay: calc(var(--scroll) * -1s);
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

.MT-right-in.MT-4 {
    -webkit-animation: MT-4 linear infinite;
    animation: MT-4 linear infinite;
    -webkit-animation-play-state: paused;
    animation-play-state: paused;
    -webkit-animation-delay: calc(var(--scroll) * -1s);
    animation-delay: calc(var(--scroll) * -1s);
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

.MT.MT-1 {
    width: 60%;
    left: 5%;
    -webkit-animation-duration: 0.5s;
    animation-duration: 0.5s;
}

.MT.MT-1 svg path {
    fill: var(--secondary-s70);
}

.secondary .MT.MT-1 svg path {
    fill: var(--primary-s70);
}

.MT.MT-2 {
    width: 50%;
    right: -10%;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
}

.MT.MT-2 svg path {
    fill: var(--secondary-s25);
}

.secondary .MT.MT-2 svg path {
    fill: var(--primary-s25);
}

.MT.MT-3 {
    width: 50%;
    left: -20%;
    -webkit-animation-duration: 1.5s;
    animation-duration: 1.5s;
}

.MT.MT-3 svg path {
    fill: var(--secondary-s50);
}

.secondary .MT.MT-3 svg path {
    fill: var(--primary-s50);
}

.MT.MT-4 {
    width: 50%;
    right: 26%;
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
}

.MT.MT-4 svg path {
    fill: var(--secondary-s15);
}

.secondary .MT.MT-4 svg path {
    fill: var(--primary-s15);
}


@media (min-width: 576px) {
    .MT-animation-wrapper {
        width: 50%;
    }
}

@media (min-width: 1024px) {
    .MT-animation-wrapper {
        display: block;
    }
}

@-webkit-keyframes MT-1 {
    to {
        left: 10%;
    }
}

@keyframes MT-1 {
    to {
        left: 10%;
    }
}

@-webkit-keyframes MT-2 {
    to {
        right: 10%;
    }
}

@keyframes MT-2 {
    to {
        right: 10%;
    }
}

@-webkit-keyframes MT-3 {
    to {
        left: 0;
    }
}

@keyframes MT-3 {
    to {
        left: 0;
    }
}

@-webkit-keyframes MT-4 {
    to {
        right: 0;
    }
}

@keyframes MT-4 {
    to {
        right: 0;
    }
}

@-webkit-keyframes MT-right-in-4 {
    to {
        right: -10%;
        right: 25%;
    }
}

@keyframes MT-right-in-4 {
    to {
        right: -10%;
        right: 25%;
    }
}


/* index bg parallax */
[class^="gm-"] {
    position: absolute;
}

[class^="gm-"] path {
    fill: var(--primary-25);
}

.gm-01 {
    bottom: 120px;
    left: -66px;
    width: 240px;
}

.gm-02 {
    bottom: 57px;
    left: 30px;
    width: 122px;
    -webkit-transform: rotate(35deg);
    -ms-transform: rotate(35deg);
    transform: rotate(35deg);
}

.gm-03 {
    top: -53px;
    right: 108px;
    width: 108px;
}


.gm-04 {
    top: -42px;
    right: 200px;
    width: 100px;
}

.gm-05 {
    top: -16px;
    right: 288px;
    width: 88px;
}

.gm-06 {
    bottom: 12px;
    right: 75px;
    width: 144px;
    -webkit-transform: rotate(-30deg);
    -ms-transform: rotate(-30deg);
    transform: rotate(-30deg);
}


@media (max-width: 576px) {
    .gm-01 {
        top: -20px;
        left: -82px;
    }

    .gm-03 {
        top: -5px;
        right: 14px;
        width: 72px;
    }

    .gm-04 {
        top: -21px;
        right: 71px;
        width: 67px;
    }

    .gm-05 {
        top: -2px;
        right: 122px;
        width: 59px;
    }
}

/* === BADGE === */
.badge {
    font-weight: 400;
    line-height: 1.25;
}

.badge-md {
    font-size: 0.875rem;
    font-weight: 600;
}

.badge-light {
    color: var(--primary-gray);
    background-color: var(--gray-10);
}

.badge-primary {
    color: var(--gray-85);
    border: 1px solid var(--primary);
    background-color: var(--primary-15);
}

.badge-secondary {
    color: var(--gray-85);
    border: 1px solid var(--secondary);
    background-color: var(--secondary);
}

.badge-outline-secondary {
    color: var(--secondary);
    border: 1px solid var(--secondary);
    background-color: transparent;
}

.badge-success {
    color: var(--black);
    border: 1px solid #97D799;
    background-color: var(--success-light);
}

.badge-warning {
    color: var(--black);
    border: solid 1px #ECC384;
    background-color: var(--warning-light);
}

.badge-danger {
    color: var(--black);
    border: 1px solid #F69189;
    background-color: var(--danger-light);
}

.badge-info {
    color: var(--black);
    border: solid 1px #6BB8F4;
    background-color: var(--info-light);
}


/* === INFO BAR, MARQUEE === */
.info-bar {
    background-color: var(--gray-85);
    color: #ffffff;
    text-align: center;
    padding: 0.5rem 0;
}

.info-bar a {
    color: var(--secondary);
}

.info-bar a:hover {
    color: var(--secondary-dark);
    text-decoration: underline;
}


/* === MARQUEE === */
.marquee-wrapper {
    padding: 0.5rem 0 0 0;
}

.marquee {
    position: relative;
    height: 2.5rem;
    overflow: hidden;
}

.marquee:after {
    content: "";
    display: block;
    position: absolute;
    width: 2rem;
    height: 2rem;
    top: 0;
    background: url("../img/vector/bullhorn.svg") no-repeat center var(--white);
    color: var(--primary);
}

.marquee .item {
    color: var(--primary);
    margin-right: 3rem;
}

.marquee .item:hover {
    color: var(--secondary);
}

.js-marquee {
    padding-top: 0.25rem;
}

@media (min-width: 576px) {
    .marquee-wrapper {
        padding: 0.75rem 0 0.25rem 0;
    }

    .marquee:after {
        width: 3rem;
    }
}

/* === TOOLTIP === */
.tooltip-inner {
    background-color: var(--secondary);
}

.bs-tooltip-auto[x-placement^="top"] .arrow::before, .bs-tooltip-top .arrow::before {
    border-top-color: var(--secondary);
}


/* dataTable 操作欄位文字按鈕使用function-btn */
.function-btn {
    color: var(--primary);
    cursor: pointer;
    white-space: nowrap;
}

.bg-apply .function-btn, .main-apply .function-btn {
    color: var(--apply-dark);
}

.bg-value .function-btn {
    color: var(--value-dark);
}

.function-btn:not(:first-child):before {
    content: '';
    display: inline-block;
    position: relative;
    width: 1px;
    height: 1rem;
    margin: 0 0.5rem;
    vertical-align: middle;
    background: var(--gray-10);
}

.function-btn:hover {
    color: var(--black);
}

.function-btn:not(:disabled):not(.disabled).active,
.function-btn:not(:disabled):not(.disabled):active {
    color: var(--black);
}

.function-btn[disabled] {
    color: var(--gray-25);
    cursor: not-allowed;
    pointer-events: none;
}


/* === $CUSTOM-CHECKBOX === */
.custom-checkbox {
    padding-left: 2rem;
    width: 1.15rem;
    height: 1.15rem;
}

.custom-control {
    padding-left: 2rem;
}

.custom-multi-checkbox .custom-control {
    padding-left: 2rem;
}

.custom-control-input:checked ~ .custom-control-label::before {
    color: var(--white);
    border-color: var(--primary);
    background-color: var(--primary);
    -webkit-box-shadow: none;
    box-shadow: none;
}

.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {
    background-color: var(--primary-70);
    border-color: var(--primary-70);
}

.secondary .custom-control-input:checked ~ .custom-control-label::before {
    color: var(--white);
    border-color: var(--secondary);
    background-color: var(--secondary);
    -webkit-box-shadow: none;
    box-shadow: none;
}

.secondary .custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {
    background-color: var(--secondary-70);
    border-color: var(--secondary-70);
}

.custom-control-label::before {
    background-color: #ffffff;
}

.custom-control-label::before,
.custom-control-label::after {
    width: 1.25rem;
    height: 1.25rem;
}

.custom-control-label::before,
.custom-control-label::after {
    top: 0;
    left: -2rem;

}


.custom-radio .custom-control-input {
    margin-right: 1rem;
}


.custom-control-label, label:not(.form-check-label):not(.custom-file-label).custom-control-label {
    font-weight: normal !important;
    color: var(--gray-85);
}

.custom-checkbox .form-check {
    /*width: 100%;*/
    padding-left: 0;
}

/*.form-check + .form-check {*/
/*    margin-top: 0.5rem;*/
/*}*/


/*.custom-checkbox .form-check-inline:first-of-type {*/
/*    margin-left: -1.25rem;*/
/*}*/

.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
    background-color: var(--primary);
    opacity: 0.65;
}

/* custom checkbox validation */
.custom-checkbox.invalid .custom-control-label,
.custom-checkbox.invalid label:not(.form-check-label):not(.custom-file-label).custom-control-label {
    color: var(--danger);
}

.custom-checkbox.invalid .custom-control-label:before {
    border-color: var(--danger);
}

.custom-checkbox.valid .custom-control-label,
.custom-checkbox.valid label:not(.form-check-label):not(.custom-file-label).custom-control-label {
    color: var(--success);
}

.custom-checkbox.valid .custom-control-label:before {
    border-color: var(--success);
    background-color: var(--success);
}

.custom-control-input:not(:disabled):active ~ .custom-control-label::before {
    color: var(--white);
    background-color: var(--primary-15);
    border-color: var(--primary-15);
    -webkit-box-shadow: none;
    box-shadow: none;
}

.secondary .custom-control-input:not(:disabled):active ~ .custom-control-label::before {
    background-color: var(--secondary-15);
    border-color: var(--secondary-15);
}

.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
    border-color: var(--primary);
}


.custom-switch .custom-control-label::before {
    height: 1.5rem;
    border-radius: 1rem;
}


/*===== CKEDITOR FRONT VIEW =====*/ /*客製ckeditor內文的標題顯示（無障礙需求，不使用原始h1~h4設定*/
.ck-h1 {
    padding-bottom: 1rem;
    font-size: 1.5rem;
    font-weight: bold;
}

.ck-h2 {
    padding-bottom: 0.75rem;
    font-size: 1.25rem;
    font-weight: bold;
}

.ck-h3 {
    padding-bottom: 0.5rem;
    font-size: 1.125rem;
    font-weight: bold;
}

.ck-content ul {
    padding-left: 1.5rem;
}

.ck-content ul li:not(.list-group-item) {
    list-style: initial;
}

.ck-content ul, .ck-content ol {
    line-height: 2;
}

/* graphic */
.graphic {
    position: relative;
}

h2 .graphic {
    padding-left: 2.75rem;
}

.sign:before {
    content: '';
    position: absolute;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    background-image: var(--brand-linear);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

@media (max-width: 899.9px) {
    .sign:before {
        width: 1.5rem;
        height: 1.5rem;
    }
}

/*========= apply-custom ==========*/
.main-apply section {
    position: relative;
}

.main-apply .block-wrap {
    width: 100%;
    border: none;
    border-radius: 0;
    overflow: hidden;
}

.main-apply .bg-img {
    position: absolute;
    height: 125%;
    right: 0;
    top: 0;
}

@media (max-width: 767px) {
    .main-apply .bg-img {
        display: none;
    }
}

.main-apply h1 {
    font-weight: 900;
}

.main-apply h2 {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 2rem;
    position: relative;
    margin: 0;
}

.main-apply .content-detail {
    margin: 1rem 0;
    padding: 1rem;
    border-top: 2px solid var(--apply-dark);
    border-bottom: 2px solid var(--apply-dark);
}

.main-apply h2.apply-title.bg-warning:before {
    border-bottom: 2px solid var(--warning);
}

.main-apply .title-wrapper {
    border-bottom: 2px solid lightgrey;
}

.main-apply .title-lg {
    color: var(--black);
    font-size: 2rem;
}

.bs-stepper-header {
    overflow: scroll;
}

.active .bs-stepper-circle {
    background-color: var(--apply-dark);
}

.active .bs-stepper-circle.reCheckColor {
    background-color: var(--danger-dark);
}

.bs-stepper .step-trigger:focus {
    color: var(--gray-85);
}

.g-recaptcha {
    display: inline-block;
}

.apply-nav {
    width: 100%;
    background-color: var(--apply-dark);
    padding: 1rem;
}

.apply-nav .nav-link {
    display: inline;
    padding: 0 .25rem;
    margin: 0 1rem;
    color: var(--white);
    border-bottom: 2px solid transparent;
}

.nav-toggle-btn {
    background-color: var(--primary);
    position: relative;
    z-index: 9;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
    color: white;
    border: 2px solid white;
    cursor: pointer;
}

.nav-toggle-btn i {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.apply-nav-sm {
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    border-radius: 0;
}

.apply-nav.apply-nav-sm  .nav-link {
    display: block;
}

.apply-nav .nav-link.active,
.apply-nav .nav-link:hover {
    border-bottom: 2px solid white;
}

.rotate {
    -moz-transition: all .25s linear;
    -webkit-transition: all .25s linear;
    transition: all .25s linear;
}
.rotate.r-open.do{
    -ms-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}
.rotate.r-close.do{
    -ms-transform: rotate(-180deg);
    -moz-transform: rotate(-180deg);
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
}

@media (max-width: 767px) {
    .hidden-xs {
        display: none;
    }
}

@media (min-width: 767px) and (max-width: 991px){
    .hidden-sm {
        display: none;
    }
}

@media (min-width:992px) and (max-width:1199px) {
    .hidden-md {
        display: none;
    }
}

@media (min-width:1200px) {
    .hidden-lg {
        display: none;
    }
}

.form-check-input:checked {
    background-color: var(--apply-dark);
    border-color: var(--apply-dark);
}

/*=== 一般申請案件 ===*/
.data-title,
.content .table thead tr{
    background-color: var(--apply-dark) !important;
    color: var(--white);
}

.table thead th {
    border-bottom-color: var(--apply-dark);
}

/*=== 複查 ===*/
.isRecheck .form-check-input:checked {
    background-color: var(--danger-dark);
    border-color: var(--danger-dark);
}

.isRecheck .btn-primary{
    background-color: var(--danger-dark);
    border-color: var(--danger-dark);
    color: var(--white);
}

.isRecheck .btn-primary:not(:disabled):not(.disabled).active{
    background-color: var(--danger-dark);
    border-color: var(--danger-dark);
    color: var(--white);
}

.isRecheck .data-title,
.isRecheck .content .table thead tr{
    background-color: var(--danger-dark) !important;
    color: var(--white);
}

.isRecheck .table thead th {
    border-bottom-color: var(--danger-dark);
    color: var(--white);
}
