@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;300;400;500;700;900&display=swap');


/*////////////////////////////// 首頁 //////////////////////////////*/

html,
body {
    /* overflow-x: hidden; */
    font-family: Arial, 'Noto Sans TC', sans-serif;
    font-weight: 300;
    /* height: 100%; */
}

* {
    /* outline: 1px solid red; */
}

html.driver-active,
body.driver-active {
    scroll-behavior: auto !important;
}



#app {
    overflow-x: hidden;
}

#app>div {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

#app>div .main {
    flex-grow: 1;
}

.accesskey {
    position: absolute;
    color: #2A2A2A;
    text-decoration: none;
}

.accesskey_go {
    clip: rect(0, 0, 0, 0);
    width: 180px;
    text-align: center;
    top: 5px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 55;
    border: 1px solid #2A2A2A;
    border-radius: 5px;
    padding: 3px 10px;
    color: #2A2A2A;
    font-weight: 500;
}

.accesskey_go:focus-visible {
    clip: auto;
}



.head_box {
    position: relative;
}

.head_box .border_bg {
    height: 5px;
    background: linear-gradient(45deg, #CE59A1 30%, #5E1A92 100%);
}

.head_box .box {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.head_box .box .logo h1 {
    margin: 0;
    max-width: 300px;
}

.head_box .box .logo img {
    /* max-width: 300px; */
    width: 100%;
}

.head_box .menu .link_box {
    display: flex;
}

.head_box .menu .link {
    border: 1px solid #570E64;
    border-radius: 5px;
    padding: 2px 15px 0px 15px;
    background-color: transparent;
    margin-left: 15px;
    color: #570E64;
    font-size: 1.2em;
    font: fallback;
    font-weight: 500;

    transition: 0.3s;
}

.head_box .menu .link:hover {
    background-color: #570E64;
    color: #fff;
}

.head_box .menu .link.language_link {
    font-weight: 800;

    display: flex;
}

.head_box .menu .link.language_link img {
    width: 25px;
    margin-right: 5px;
}

.head_box .menu .link.language_link svg {
    width: 25px;
    margin-right: 5px;
}

.head_box .menu .link.language_link:hover svg path {
    transition: 0.3s;
}

.head_box .menu .link.language_link:hover svg path {
    fill: #fff;
}

@media (max-width: 767.98px) {

    .head_box .box {
        flex-wrap: wrap;
    }

    .head_box .box .menu {
        width: 100%;
        margin: 5px 0;
    }

    .head_box .menu .link_box {
        justify-content: flex-end;
    }

    .head_box .menu .link {
        font-size: 1.05rem;
    }
}





.footer {
    background: linear-gradient(180deg, #CE59A1 0%, #5E1A92 70%);
    padding: 20px 0;
    position: relative;
}

.footer .box {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.footer .list {
    padding: 0;
    margin: 0;
    list-style: none;
}

.footer .list li {
    display: flex;
    align-items: center;
    margin: 5px 0;
}

.footer .list li p {
    margin: 0;
    color: #fff;
    font-size: 1.1rem;
    font-weight: 400;
    margin-left: 8px;
}

.footer .social_list a {
    margin: 0 8px;
}


.breadcrumb_box {
    background-color: #FBFBFB;
}

.breadcrumb {
    padding: 15px 0;
    margin: 0;
}

.breadcrumb a {
    text-decoration: none;
    color: #5E1A92;
    font-weight: 500;
}

.breadcrumb li.active {
    color: #585858;
}







.main {
    position: relative;
}

/* 表單 */
.form {
    background-color: #FBFBFB;
}

.form .box {
    padding: 20px 0;
}

/* 標題 */
.form .box .title {
    overflow: hidden;
    border-bottom: 1px solid #570E64;
    border-radius: 0 0 5px 0;
}

.form .box h2 {
    font-size: 1.7rem;
    color: #570E64;
    display: inline-block;
    margin: 4px 0;
    font-weight: 600;
}

/* 使用說明 */
.form .title .btn_box {
    float: right;
    margin: 0;
    margin-left: 10px;
}

.form .title .tours_btn {
    border: 1px solid #570E64;
    border-radius: 5px;
    padding: 6px 12px 3px 12px;
    background-color: transparent;
    color: #570E64;
    font-size: 1.2rem;
    font-weight: 500;
    display: inline-block;
    transition: 0.3s;

    display: flex;
    box-shadow: 2px 2px 0 #580D63;
}

.form .title .tours_btn:hover {
    background-color: #570E64;
    color: #fff;

    box-shadow: 0px 0px 0 #580D63;
    transform: translateY(2px);
}

.form .title .tours_btn svg {
    margin-right: 3px;
}

.form .title .tours_btn svg path {
    transition: 0.3s;
}

.form .title .tours_btn:hover svg path {
    fill: #fff;
}




/* 進度步驟 */
.form .progress_bar {
    margin: 30px -3px;
    padding: 0;
    list-style: none;
    display: flex;
}

.form .progress_bar li {
    width: 100%;
    padding: 0 3px;
}

.form .progress_bar .step_box {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
    height: 100%;

    background-color: #e7e7e7;
    color: #8e8e8e;
    border-radius: 5px;
    padding: 5px 5px;

    text-decoration: none;
    transition: 0.3s;
}

.form .progress_bar .step_box:hover {
    transform: scale(1.02);
}

.form .progress_bar .step_box.done {
    background-color: #580D63;
    color: #fff;
    border-radius: 5px;
}

.form .progress_bar .step_box.filling {
    background-color: #9a3ea8;
    color: #fff;
    border-radius: 5px;

    pointer-events: none;
}

.form .progress_bar .step_box .step {
    margin: 3px;
    text-decoration: none;
}

.form .progress_bar .step_box p {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 400;
}

.form .progress_bar .step_box p:nth-child(1) {
    font-weight: 600;
    font-size: 1.2rem;

    position: relative;
}

.form .progress_bar .step_box.done p:nth-child(1) {
    background-image: url(../img/icon_check.svg);
    background-repeat: no-repeat;
    background-size: 30px;
    background-position: center right;
}

.form .progress_bar .step_box p:nth-last-child(1) {
    font-size: 1rem;
}

.form .progress_bar .step_box .line {
    background-color: #a0a0a0;
    width: 100%;
    height: 6px;
    border-radius: 5px;
    margin-bottom: 2px;
}

.form .progress_bar .step_box.done .line {
    background-color: #9e3eac;
}

.form .progress_bar .step_box.filling .line {
    background-color: #c961d8;
}



@media (max-width: 991.98px) {

    .form .progress_bar {
        flex-wrap: wrap;
    }

    .form .progress_bar li {
        flex-basis: calc(100% / 3);
        padding: 3px;
    }
}

@media (max-width: 575.98px) {

    .form .progress_bar li {
        flex-basis: 100%;
    }
}



/* 大框框 */
.form .box .bg {
    background-color: #fff;
    border: 1px solid #F1F1F1;
    padding: 20px 15px 20px 15px;
    border-radius: 10px;
    margin: 30px 0;
    box-shadow: 1px 1px 7px #1313130e;

    display: flex;
    flex-wrap: wrap;

    padding-bottom: 30px;
}



/* 說明區塊樣式 */
.form .bg .text_box {
    padding: 0px 15px 0px 15px;
    font-size: 1.1rem;
}

.form .bg .text_box p {
    margin: 5px 0;
}

/* 重點粗體 */
.form .bg .text_box .important_p {
    color: #580D63;
    font-weight: 600;
}

/* 連結按鈕樣式 */
.form .bg .text_box a {
    border: 1px solid #580D63;
    border-radius: 5px;
    padding: 2px 7px;
    padding-bottom: 1px;
    color: #580D63;
    text-decoration: none;
    font-size: 1rem;
    display: inline-block;

    transition: 0.3s;
}

.form .bg .text_box a:hover {
    background-color: #580D63;
    color: #fff;
    transform: scale(1.02);
}

/* 分隔線 */
.form .bg .line_hr {
    width: 100%;
    margin: 15px 15px;
    opacity: 1;
    background-color: transparent;
    border-top: 1px dotted #580D63;
}



/* 欄位區塊 */
.form .box .form-group {
    flex-basis: 50%;
    padding: 10px 15px;

    position: relative;
}

.form .box .form-group.full {
    flex-basis: 100%;
}

/* 必填選項 */
.required {
    font-weight: 800;
    font-size: 1.5rem;
    color: #F44A6C;
    line-height: 10px;
}

/* 欄位 */
/* 欄位點選動畫 */
.form .box .form-control+label {
    position: absolute;
    top: 30px;
    left: 25px;

    /* transform: translateX(10px) translateY(-30px); */
    line-height: 15px;

    z-index: 1;
    transition: 0.3s;

    color: #585858;
    background-color: #F6F6F6;
    font-size: 1.1rem;

    pointer-events: none;
}

.form .box .form-control:focus {
    background-color: #fff;
}

.form .box .form-control:focus+label,
.form .box .form-group.active .form-control+label,
.form .box .form-group.focused .form-control+label {
    top: 10px;
    left: 22px;
    color: #2A2A2A;
    background-color: transparent;
    font-size: 1.1rem;
    color: #2A2A2A;
    padding: 0px 8px 0px 8px;
    background-color: #fff;
    /* transform: translateX(10px) translateY(-55px); */
}

.form .box .form-group .form-control:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px #fff inset;
}

.form .box .form-group.active .form-control+label {
    background-color: white;
}

.form .box .form-control:focus+label .required,
.form .box .form-group.active .form-control+label .required,
.form .box .form-group.focused .form-control+label .required {
    font-size: 0.7rem;
}



.form .box .form-control {
    border: none;
    background-color: #F6F6F6;
    font-size: 0.95rem;
    color: #585858;
    font-weight: 400;

    margin-top: 10px;
    border: 1px solid transparent;

    /* position: relative; */

    box-shadow: inset 1px 1px 3px #1313130e;
}

.form .box .form-control:focus {
    box-shadow: none;
    border: 1px solid #dcdbdb;
    background-color: #F6F6F6;
}

.form .box .form-group .form-control:focus::placeholder {
    color: #AC9CB9;
}

.form .box .form-group.active .form-control {
    background-color: #fff;
    border: 1px solid #AC9CB9;
    box-shadow: none;
}

.form .box .form-group.active .form-control::placeholder {
    color: #AC9CB9;
}

.form .box .form-group.focused .form-control::placeholder {
    color: #AC9CB9;
}

.form .box .form-control:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px #fff inset;
}

/* 下拉選單箭頭 */
.form .box select.form-control {
    padding-right: 38px;
}

.form .box .arrow_bg {
    position: relative;
}

.form .box .arrow_bg img {
    position: absolute;
    top: 33px;
    right: 28px;
    width: 14px;

    pointer-events: none;
}


.form .box .form-control[type=file] {
    /* color: #2A2A2A; */
}


/* 英文名字欄位 三格 */
.form .box .englishName_box {
    display: flex;
}

.form .box .englishName_box input {
    margin-right: 5px;
}

.form .box .englishName_box input:nth-child(3) {
    margin-right: 0;
}

.form .box .englishName_box input::placeholder {
    color: #F6F6F6;
}

.form .box .focused .englishName_box input {
    background-color: #fff;
    box-shadow: none;
    border: 1px solid #dcdbdb;
}

/* 手機欄位 三格 */
.form .box .phone_box {
    display: flex;
}

.form .box .phone_box input {
    flex-basis: 20%;
    margin-right: 5px;
}

.form .box .phone_box input:nth-child(3) {
    flex-basis: 60%;
    margin-right: 0;
}

.form .box .phone_box input::placeholder {
    color: #F6F6F6;
}

/* 地址複製 */
.form .box .form-group input[readonly] {
    background-color: #fff;
    border: 1px solid #F6F6F6;
}

/* 單選多選欄位 水平橫的 */
.form .bg .checkForm_group>label {
    transform: translateY(6px);
    margin-top: 5px;
}

.form .bg .check_group {
    display: flex;
    margin-left: 5px;
}

.form .bg .form-check {
    display: flex;
    align-items: center;
    margin: 5px 0;
    margin-right: 15px;
    min-width: 150px;
}

.form .bg .form-check label {
    margin: 0;
    margin-left: 5px;
}

.form .bg .form-check .form-check-input {
    margin-bottom: 4px;
}

.form .bg .form-check-input:checked {
    background-color: #580D63;
    border-color: #580D63;
}




/* 單選多選欄位 垂直向下 */
.form .bg .check_block>label {
    font-size: 1.2rem;
    margin-top: 10px;
}

.form .bg .check_block .check_group {
    display: block;
}

.form .bg .check_block .form-check {
    margin: 10px 0;
}

.form .bg .check_block .form-check .form-check-label {
    flex-basis: 100%;
}

/* 其他填寫欄位 */
.form .bg .check_block .form-check input.form-control {
    margin-top: 0;
}

.form .bg .check_block .form-check input.form-control::placeholder {
    /* color: #AC9CB9; */
}

.form .bg .check_block .form-check input.form-control:valid {
    background-color: #fff;
    border: 1px solid #AC9CB9;
}


/* financialSupport 選到才展開填寫位置 */
.form .bg .financialSupport_box .form-check {
    flex-wrap: wrap;
}

.form .bg .check_block .financialSupport_box .form-check input.form-control {
    display: none;
}

.form .bg .check_block .financialSupport_box .form-check-input:checked~input.form-control {
    display: block;
}


/* ITRI & NTHU Coordinated Graduate Program(Scholarship & Internship) 裡面的yes展開填寫欄位 */
.form .bg .label_title {
    width: 100%;
    padding-left: 15px;
    font-size: 1.2rem;
    margin-top: 10px;
}

.form .bg .check_block .ITRI_yes_box .received_group .check_group {
    display: flex;
}

.form .bg .check_block .ITRI_yes_box .received_group .form-check .form-check-label {
    flex-basis: initial;
}

.form .bg .check_block .ITRI_yes_box .received_group .form-check input.form-control {
    flex-basis: calc(100% - 115px);
    margin-left: 10px;
}

.form .bg .check_block .ITRI_yes_box .interest_box .check_group {
    display: flex;
    flex-wrap: wrap;
}

.form .bg .check_block .ITRI_yes_box .interest_box .check_group .form-check {
    flex-basis: calc(100% / 3);
}


/* 語言能力 Language Proficiency */
.form .bg .language_box>label {
    font-size: 1.2rem;
}

.form .bg .language_box .check_group {
    margin: 0 -5px;
}

.form .bg .language_box .check_group .form-check {
    /* flex-grow: 1; */
    padding: 0;
    margin: 0 0px;
    width: 100%;
    min-width: initial;
    position: relative;
}

.form .bg .language_box .check_group .form-check input {
    position: absolute;
    left: 30px;
    opacity: 0 !important;
}

.form .bg .language_box .check_group .form-check label {
    background-color: #fff;
    border: 1px solid #dcdbdb;
    width: 100%;
    margin: 0 10px;
    padding: 5px 0;
    text-align: center;
    border-radius: 0.25rem;
    transition: 0.3s;

    cursor: pointer;
}

.form .bg .language_box .check_group .form-check label:hover {
    background-color: #dcdbdb;
}

.form .bg .language_box .check_group .form-check input:checked+label {
    background-color: #580D63;
    border: 1px solid #580D63;
    color: #fff;
}

.form .language_box label input.form-control {
    margin: 0;
    margin-bottom: 10px;
    margin-left: 10px;
    width: 170px;
    float: right;
    transform: translateY(-2px);
}

.form .language_box label input.form-control:valid {
    background-color: #fff;
    border: 1px solid #AC9CB9;
}


/* 消息來源 */
.form .messageSource_box {
    display: flex;
    flex-wrap: wrap;
}

.form .bg .messageSource_box .form-check {
    flex-wrap: nowrap;
    flex-basis: calc(100% / 3);
    margin: 5px 0;
}

.form .messageSource_box .form-check.other_box {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
}

.form .messageSource_box .form-check.other_box input:nth-last-child(1) {
    margin-top: 0;
    margin-left: 10px;
}

.form .messageSource_box .form-check.other_box input:nth-last-child(1):valid {
    background-color: #fff;
    border: 1px solid #AC9CB9;
}



/* 標題附贈連結 */
.form .bg .file_a {
    color: #580D63;
    border: 1px solid #580D63;
    border-radius: 5px;
    background-color: #fff;
    padding: 3px 10px;
    padding-bottom: 1px;
    margin: 5px 0;
    margin-right: 5px;
    margin-left: 2px;
    font-size: 1rem;
    text-decoration: none;
    transition: 0.3s;
    display: inline-block;
    font-weight: 400;
}

.form .bg .file_a:hover {
    background-color: #580D63;
    color: #fff;
}

.form .bg .title_box .file_a {
    margin-left: 30px;
}

.form .bg h3 .file_a {
    padding: 5px 10px;
    margin-left: 10px;
    position: absolute;
    transform: translateY(-6px);
}

/* 檔案上傳欄位樣式 */
.form .box .file_input {
    position: relative;
    overflow: hidden;

    border: 1px solid #dcdbdb;
    border-radius: 5px;
}

.form .box .file_input:hover {
    border: 1px solid #580D63;
}

.form .box .file_input input {
    transform: translateX(-86px);
    width: calc(100% + 86px);
    margin: 0;
    border: none;
}

.form .box .file_box label {
    transform: translateY(7px);
    font-size: 1.2rem;
}

.form .box .file_box .upload {
    background-color: #fff;
    border-left: 1px solid #dcdbdb;
    border-radius: .25rem;
    width: 100px;

    position: absolute;
    bottom: 0;
    right: 0;
    text-align: center;
    padding: 6px 0;

    pointer-events: none;
    transition: 0.3s;

    box-shadow: inset 1px 1px 3px #1313130e;
}

.form .box .file_input:hover .upload {
    background-color: #580D63;
    border-left: 1px solid #580D63;
    color: #fff;
}

/* 檔案分隔線 */
.form .bg .file_hr {
    opacity: 1;
    margin: 10px 15px;
    margin-bottom: 0;
    border-top: 1px dotted #cccccc;
    background-color: transparent;
}






/* 大頭照 */
/* 左邊基本資料 */
.form .box .personal_box {
    width: 70%;
    display: flex;
    flex-wrap: wrap;
}

.form .box .personal_box .form-check {
    min-width: initial;
}

/* 右邊大頭照位置 */
.form .box .personal_box2 {
    width: 30%;
}

.form .box .personal_box2 .file_box {
    position: relative;
    height: 100%;
}

.form .box .personal_box2 .file_box .file {
    height: calc(100% - 10px);
}

.form .box .personal_box2 .file_box input {
    background-color: #fff;
    border: 1px solid #dcdbdb;

    /* height: 389px; */
    height: 100%;
}

.form .box .personal_box2 .file_box label {
    transform: translateY(0px);
    font-size: 1.1rem;
}

/* 按鈕 */
.form .box .personal_box2 .file_box .upload {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    height: 35px;
    border: 1px solid #eaeaea;

    pointer-events: none;
    box-shadow: none;
}

.form .box .personal_box2 .file_box .file:hover .upload {
    background-color: #580D63;
    color: #fff;
}

/* 小字 */
.form .box .personal_box2 .notice {
    position: absolute;
    bottom: 15px;
    padding: 0 10px;
    z-index: 1;
    width: calc(100% - 30px);
    pointer-events: none;
}

/* 預覽照片 */
.form .box .personal_box2 .file_box .preview_box {
    background-color: #F6F6F6;
    width: calc(100% - 30px);
    height: calc(100% - 30px);

    position: absolute;
    top: 20px;
    left: 15px;
    border-radius: 5px;
    box-shadow: inset 1px 1px 3px #1313130e;

    pointer-events: none;

    overflow: hidden;
}

.form .box .personal_box2 .file_box.active .preview_box {
    z-index: 5;
    border: 1px solid #AC9CB9;
    pointer-events: all;
}

.form .box .personal_box2 .file_box .preview_box .preview {
    width: 100%;
    height: 100%;
}

.form .box .personal_box2 .file_box .preview_box img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* 刪除按鈕 */
.form .box .personal_box2 .file_box .preview_box .clear_btn {
    position: absolute;
    z-index: 5;
    background-color: #fff;
    border: none;
    border-radius: 5px;
    width: 75px;
    right: 0;
    top: 0;
}

.form .box .personal_box2 .file_box .preview_box .clear_btn:hover {
    background-color: #580D63;
    color: #fff;
}



@media (max-width: 1199.98px) {

    .form .box .personal_box {
        flex-basis: 60%;
    }

    .form .box .personal_box2 {
        flex-basis: 40%;
    }
}

@media (max-width: 991.98px) {


    .form .box .personal_box {
        flex-basis: 100%;
    }

    .form .box .personal_box2 {
        flex-basis: 36%;
        order: -1;
        height: 280px;
    }

    .form .box .personal_box_order {
        order: -1;
    }
}

@media (max-width: 767.98px) {

    .form .box .personal_box2 {
        flex-basis: 50%;
    }
}

@media (max-width: 575.98px) {

    .form .box .personal_box2 {
        flex-basis: 100%;
    }
}






.form .box .notice {
    font-size: 0.95rem;
    font-weight: 400;
    color: #570E64;
    margin: 0;
    padding: 2px 0;
    padding-left: 5px;
}

.form .box .title_box .notice {
    /* margin-left: 25px; */
    padding-left: 2px;
}

.form .title_box {
    flex-basis: 100%;
    padding: 15px 15px 5px 15px;
}

.form .title_box h3 {
    font-size: 1.3rem;
    color: #570E64;
    padding: 0;
    margin: 0;
    background-image: url(../img/icon_title.svg);
    background-repeat: no-repeat;
    background-position: 0px 0px;
    padding-left: 30px;
    font-weight: 600;
}

.form .title_box.description h3 {
    background-image: url(../img/icon_description.svg);
    /* background-repeat: no-repeat; */
    /* background-position: 0px 0px; */
    padding-left: 30px;
    background-size: 25px;
    font-weight: 600;
}

.form .btn_box {
    text-align: right;
    margin: 30px 0;
}

.form .btn_box .btn {
    color: #580D63;
    border: 1px solid #580D63;
    border-radius: 5px;
    background-color: #fff;
    padding: 3px 20px;
    margin-left: 15px;

    transition: 0.3s;
}

.form .btn_box .btn:hover {
    background-color: #580D63;
    color: #fff;
}


@media (max-width: 991.98px) {

    .form .box .form-group {
        flex-basis: 100%;
    }

    .form .bg .check_block .ITRI_yes_box .received_group .check_group {
        flex-direction: column;
    }

    .form .bg .check_block .ITRI_yes_box .interest_box .check_group .form-check {
        flex-basis: calc(100% / 2);
    }

    .form .bg .messageSource_box .form-check {
        flex-basis: calc(100% / 2);
    }
}

@media (max-width: 767.98px) {

    .form .bg .language_box .check_group {
        flex-direction: column;
    }

    .form .bg .language_box .check_group .form-check {
        margin: 5px 0;
    }
}

@media (max-width: 575.98px) {

    .form .box .bg {
        padding: 20px 5px;
    }

    .form .bg .check_block .ITRI_yes_box .interest_box .check_group .form-check {
        flex-basis: 100%;
    }

    .form .bg .messageSource_box .form-check {
        flex-basis: 100%;
    }

    .form .box .form-control+label {
        font-size: 1rem;
    }

    .form .box .englishName_box,
    .form .box .phone_box {
        flex-wrap: wrap;
    }

    .form .box .phone_box input {
        /* flex-basis: calc( 50% - 2.5px); */
        flex-basis: 37%;
    }

    .form .box .phone_box input:nth-child(2) {
        /* margin-right: 0; */
    }

    .form .box .phone_box input:nth-child(3) {
        flex-basis: 100%;
    }

    .form .box .ITRI_yes_box .form-group {
        padding: 10px 10px;
    }
}


/* 申請第二步 */
.form_2 .box .arrow_bg img {
    top: 15px;
    right: 12px;
}

.form_2 .box .form-group {
    margin: 0 -15px;
}

/* 語言分類 */
/* .form_2 .bg .language_type {
    margin: 10px 15px;
    padding: 0;
    list-style: none;

    display: flex;
    justify-content: flex-end;

    width: 100%;
}

.form_2 .bg .language_type li {
    display: flex;
    align-items: center;
    margin-left: 15px;
}

.form_2 .bg .circle {
    width: 16px;
    height: 16px;
    border-radius: 16px;
    margin-right: 5px;
    border: 2px solid #e6e6e6;
}

.form_2 .bg .circle.circle_mandarin {
    background-color: #ce59a1;
}

.form_2 .bg .circle.circle_english {
    background-color: #5976ce;
}

.form_2 .bg .circle.circle_english2 {
    background-color: #59ce9b;
}

.form_2 .bg .language_type p {
    margin: 0;
} */









/* 選擇系所列表 */
.form_2 .application_programs {
    margin: 0 15px;
    padding: 0;
    list-style: none;
    width: 100%;
}

.form_2 .application_programs>li {
    padding: 15px 15px;
    border: 1px dotted #AC9CB9;
    border-radius: 10px;
    box-shadow: 1px 1px 7px #1313130e;
    margin: 20px 0;

    position: relative;
}

/* 選擇系所欄位 */
.form_2 .application_programs .department {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 5px;
}

.form_2 .application_programs .department .group {
    flex-basis: 47%;
    padding-right: 10px;
}

.form_2 .application_programs .department .group:nth-child(1) {
    flex-basis: 15%;
}

.form_2 .application_programs .department .group:nth-child(2) {
    flex-basis: 35%;
}

.form_2 .application_programs .department .group select.form-control {
    margin-top: 0;
}

/* 刪除按鈕 */
.form_2 .application_programs .department .btn_box {
    flex-basis: 3%;
    margin: 0;
}

.form_2 .application_programs .department .btn_box .btn {
    padding: 3px 10px;
    margin: 0;
}


/* 文字說明 */
.form_2 .box .application_programs .text_box {
    width: 100%;
    margin: 10px 0;
    padding: 0px;
    font-size: 1rem;

    border-top: 1px dotted #AC9CB9;
    border-bottom: 1px dotted #AC9CB9;
    padding-bottom: 10px;
}

.form_2 .application_programs .text_box p {
    margin: 0;
}

.form_2 .application_programs .text_box .title {
    color: #580D63;
    border-radius: 0;
    width: 100%;
    border: none;
    margin: 0;
    margin-top: 10px;
    font-weight: 600;
}

/* 要求文件列表 */
.form_2 .application_programs .text_box .file {
    width: 100%;
}

.form_2 .application_programs .text_box .file .file_list {
    margin: 0;
    list-style: decimal-leading-zero;
}

.form_2 .application_programs .text_box .file .file_list a {
    margin: 0;
    margin-bottom: 5px;
}

/* 價錢 */
.form_2 .application_programs .price {
    display: flex;
    justify-content: flex-end;
}

.form_2 .application_programs .price p {
    font-size: 1.2rem;
    font-weight: 600;
    color: #580D63;
    margin: 5px 0;
    margin-left: 10px;
}

/* 新增按鈕 */
.form_2 .bg .btn_box {
    margin: 0 15px;
    text-align: right;
    width: 100%;
}

.form_2 .bg .btn_box .btn:disabled {
    color: #fff;
    background-color: #AC9CB9;
    border: 1px solid #AC9CB9;
}



/* 刪除按鈕 */
.form_2 .btn.delete {
    color: #F44A6C;
    border: 1px solid #F44A6C;
    border-radius: 5px;
    background-color: #fff;
    padding: 3px 20px;
    font-weight: 600;
    transition: 0.3s;
}

.form_2 .btn.delete:hover {
    background-color: #F44A6C;
    /* border: 1px solid #F44A6C; */
    color: #fff;

}



@media (max-width: 1399.98px) {

    .form_2 .application_programs .department .group:nth-child(1) {
        flex-basis: calc(100% - 33px);
        margin-bottom: 10px;
        padding-right: 10px;
        order: -1;
    }

    .form_2 .application_programs .department .group:nth-child(1) .arrow_bg {
        width: 35%;
    }

    .form_2 .application_programs .department .group:nth-child(2) {
        flex-basis: 50%;
        padding-right: 10px;
    }

    .form_2 .application_programs .department .group {
        flex-basis: 50%;
        padding-right: 0;
    }

    .form_2 .application_programs .department .btn_box {
        order: -1;
        flex-basis: 32px;
        margin-bottom: 10px;
    }
}

@media (max-width: 991.98px) {

    .form_2 .application_programs .department .group:nth-child(1) .arrow_bg {
        width: 100%;
    }

    .form_2 .application_programs .department .group:nth-child(2) {
        flex-basis: 100%;
        margin-bottom: 10px;
        padding-right: 0;
    }

    .form_2 .application_programs .department .group {
        flex-basis: 100%;
    }
}


/* form_3 推薦信 */
.form_3 .bg .block {
    width: 100%;
    /* padding: 10px 0; */
}

/* 表格列表 */
.form_3 .bg .list {
    margin: 0 15px;
    padding: 0;
    list-style: none;
}

.form_3 .bg .list li {
    display: flex;
    align-items: center;
    width: 100%;
    border-bottom: 1px solid #cccccc;

    padding: 15px 5px;
}

.form_3 .bg .list li.title {
    background-color: #580D63;
    color: #fff;
    border: none;
    padding: 10px 8px;
    border-radius: 5px;
}

/* 欄位寬度 */
.form_3 .bg .list li>div {
    padding: 0 5px;
}

.form_3 .bg .list li div.basis_40 {
    flex-basis: 40px;
    text-align: center;
}

.form_3 .bg .list li div.basis_60 {
    flex-basis: 60px;
    text-align: center;
}

.form_3 .bg .list li div.basis_150 {
    flex-basis: 150px;
    flex-grow: 1;
}

.form_3 .bg .list li div.basis_250 {
    flex-basis: 250px;
    flex-grow: 1;
}

/* 刪除按鈕 */
.form_3 .bg .list li button.delete {
    color: #2A2A2A;
    border: 1px solid #2A2A2A;
    border-radius: 5px;
    background-color: #fff;
    padding: 3px 8px;
    padding-bottom: 1px;
    font-size: 0.9rem;
    transition: 0.3s;
}

.form_3 .bg .list li button.delete:hover {
    background-color: #2A2A2A;
    color: #fff;
}

/* 新增按鈕 */
.form_3 .bg .btn_box {
    margin: 15px;
    margin-bottom: 0;
}

/* 文字 */
.form_3 .bg .block .list li p {
    margin: 0;
}

/* 系所數量 */
.form_3 .bg .block .list .number {
    border: 2px solid #ffacdf;
    border-radius: 30px;
    background-color: #CE59A1;
    color: #fff;
    font-weight: 600;
    width: 30px;
    height: 30px;
    display: inline-block;
    text-align: center;
    line-height: 28px;
}

/* 寄送按鈕 */
.form_3 .bg .list li button.send_btn {
    color: #580D63;
    border: 1px solid #580D63;
    border-radius: 5px;
    background-color: #fff;
    padding: 3px 15px;
    padding-bottom: 1px;
    font-size: 0.9rem;
    transition: 0.3s;
    margin-left: 10px;
}

.form_3 .bg .list li button.send_btn:hover {
    background-color: #580D63;
    color: #fff;
}

/* 新增教授 彈跳視窗 */
.form_3 .modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
}

.form_3 .box .block .modal .bg {
    max-width: 800px;
    margin: 0 10px;
    padding: 15px 10px;
}

.form_3 .modal .btn_box {
    width: 100%;
}

.form_3 .modal .btn_box .btn {
    padding: 3px 25px;
}

.form_3 .modal .btn_box .btn:disabled {
    border: 1px solid #dcdbdb;
    background-color: #dcdbdb;
    color: #2A2A2A;
}

@media (max-width: 991.98px) {

    .form_3 .bg .list {
        overflow-x: auto;
    }

    .form_3 .bg .block .list li {
        width: 800px;
    }
}




/* form_4 form_5 資料上傳頁 */
.form_4 .bg .block {
    width: 100%;
    padding: 15px 0;
}

.form_4 .box .bg .block.bg {
    padding: 10px 0px;
    padding-bottom: 15px;
    margin: 0px;
    margin-bottom: 15px;
}

/* 只有下載檔案欄位 */
.form_4 .bg .application_form {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.form_4 .box .form-control:focus {
    border: none;
}


/* 新增其他文件欄位 */
.form_4 .box .other_file {
    display: flex;
    width: 100%;
}

.form_4 .box .other_file .file_input {
    width: calc(100% - 50px);
}

/* 新增其他文件按鈕 */
.form_4 .bg .btn_box {
    margin: 15px 15px;
}

.form_4 .bg .btn_box .btn {
    margin: 0;
}

/* 新增其他文件刪除按鈕 */
.form_4 .bg button.delete {
    color: #2A2A2A;
    border: 1px solid #2A2A2A;
    border-radius: 5px;
    background-color: #fff;
    padding: 3px 8px;
    padding-bottom: 1px;
    font-size: 0.9rem;
    transition: 0.3s;
    display: inline-block;
    width: 40px;
    height: 100%;
    margin-left: 10px;
}

.form_4 .bg button.delete:hover {
    background-color: #2A2A2A;
    color: #fff;
}







/* form_6 付款頁面 */

.attention_box.modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
}

.attention_box.modal .bg {
    max-width: 800px;
    margin: 0 10px;
    padding: 15px 10px;
}

.attention_box .title_box h3 {
    color: #F44A6C;
    font-size: 1.5rem;
    background-image: url(../img/icon_attention.svg);
    padding-left: 35px;
}

.attention_box .bg .text_box p {
    padding: 0 5px;
}

.attention_box .bg .btn_box {
    width: 100%;
    margin: 15px;
}



/* 確認系所 購物車欄位 */
.form .bg .department_list {
    margin: 15px 15px;
    padding: 0;
    list-style: none;
    width: 100%;
}

.form .bg .department_list li {
    display: flex;
    align-items: center;
    width: 100%;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #cccccc;
}

.form .bg .department_list li .number {
    border: 2px solid #ffacdf;
    border-radius: 30px;
    background-color: #CE59A1;
    color: #fff;
    font-weight: 600;

    width: 35px;
    height: 35px;
    display: inline-block;
    text-align: center;
    line-height: 32px;
}

.form .bg .department_list li .department {
    margin: 0 15px;
    flex-grow: 1;
    flex-basis: 100px;
}

.form .bg .department_list li .department p {
    margin: 0;
    font-size: 1.2rem;
}

.form .bg .department_list li .department p:nth-child(1) {
    font-weight: 600;
}

/* 價錢 */
.form .bg .department_list li .price {
    flex-basis: 150px;
}

.form .bg .department_list li .price p {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: #580D63;
    text-align: right;
}

.form .bg .department_list li .price p span {
    display: inline-block;
    /* min-width: 58px; */
    color: #CE59A1;
    font-size: 1.3rem;
}

/* 總金額 */
.form .bg .fees_box {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin: 0 10px;
}

.form .bg .fees_box div {
    margin: 0;
    font-size: 1.2rem;
    color: #580D63;
    font-weight: 600;
    padding: 0 5px;
    text-align: right;
    margin-left: 15px;

}

.form .bg .fees_box div.total_price {
    display: flex;
    flex-direction: column;
    font-size: 1.2rem;

    color: #580D63;
}

.form .bg .fees_box div.total_price p {
    margin: 0;
}

.form .bg .fees_box div.total_price p:nth-child(1) {
    font-size: 1.48rem;
}

.form .bg .fees_box div.total_price p span {
    color: #CE59A1;
}

/* 注意文字 */
.form .box .bg .bg {
    padding: 15px 0;
    border: 1px dotted #AC9CB9;
}

/* 付錢按鈕 */
.form .box .Pay_btn {
    text-align: left;
    margin: 0;
}

.form .box .Pay_btn .btn {
    margin: 0;
}


@media (max-width: 767.98px) {

    .form .bg .department_list li {
        flex-wrap: wrap;
    }

    .form .bg .department_list li .price {
        flex-basis: 100%;
    }
}








/* QualificationForm 資格審查 */

.qualificationForm .box .title {
    border-radius: 0;
}

/* 進度樣式 */
.qualificationForm .progress_bar .step_box p:nth-last-child(1) {
    font-size: 1.3rem;
    /* font-weight: 600; */
    margin-left: 20px;
    transform: translateY(-1px);
}

.qualificationForm .progress_bar .step_box .step {
    display: flex;
    align-items: center;
}

.qualificationForm .progress_bar .step_box.done p:nth-child(1) {
    padding-left: 38px;
    background-position: center left;
}

/* 單選樣式 */
.qualificationForm .bg .check_block .form-check {
    flex-wrap: wrap;
}

.qualificationForm .bg .check_block .form-check .form-check-label {
    font-size: 1.1rem;
    margin-left: 10px;
    flex-basis: calc(100% - 26px);
}

/* 選項內的第二層選項 */
.qualificationForm .box .form-group .form-group {
    flex-basis: 100%;
    margin: 5px -3px;
    padding: 12px 15px;
    border: 1px dotted #AC9CB9;
}

.qualificationForm .subField_box .subField input.form-control {
    width: 50%;
}

.qualificationForm .bg .subField_box .subField input.form-control:valid {
    background-color: #F6F6F6;
    border: 1px solid transparent;
    padding: 5px 8px;
    padding-bottom: 4px;
}

.qualificationForm .box .subField {
    display: none;
}

.qualificationForm .box .subField_box .form-check-input:checked~.subField {
    display: flex;
}

.qualificationForm .box .subField_box .subField>label.form-check-label {
    font-size: 1.25rem;
    margin: 5px 5px;
}



/* 審核通過 不通過 */
.qualificationForm .eligibility_box {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 800px;
    margin: 0 auto;
    padding: 20px 0;

    width: 100%;
}

.qualificationForm .eligibility_box .title_box {
    padding: 0;
    margin-bottom: 30px;
}

.qualificationForm .eligibility_box img {
    width: 300px;
}


/* 標題樣式 */
.qualificationForm .describes_box label.title_box {
    padding: 0;
}

/* 按鈕 */
.qualificationForm .btn_box .reset_btn {
    border-color: #F44A6C;
    color: #F44A6C;
}

.qualificationForm .btn_box .reset_btn:hover {
    background-color: #F44A6C;
    color: #fff;
}

/* 已選擇項目 */
.qualificationForm .selected_item span {
    font-size: 1rem;
}

.qualificationForm .selected_p {
    color: #580D63;
    font-size: 1.1rem;
}

/* 勾選圖示 */
.qualificationForm .check_icon {
    background-image: url(../img/icon_done.svg);
    background-size: 25px;
    background-repeat: no-repeat;
    background-position: center;
}

/* 結果頁 */
.qualificationForm .eligibility_box .text_box{
    width: 100%;
}

.eligibility_box .btn_box {
    align-items: center;
}


@media (max-width: 991.98px) {

    .qualificationForm .progress_bar .step_box .step {
        flex-direction: column;
        align-items: flex-start;
    }

    .qualificationForm .eligibility_box img {
        display: none;
    }

    .qualificationForm .eligibility_box .btn_box {
        margin: 0;
        margin-top: 15px;
    }

    .qualificationForm .subField_box .subField input.form-control {
        width: 100%;
    }

    .eligibility_box .btn_box div .btn {
        margin-left: 0;
        margin-right: 15px;
    }
}


@media (max-width: 575.98px) {

    .qualificationForm .progress_bar .step_box .step {
        flex-direction: row;
    }


    .qualificationForm .eligibility_box .btn_box {
        flex-direction: column;
        align-items: flex-end;
    }

    .eligibility_box .btn_box div .btn {
        margin-bottom: 10px;
        margin-right: 0;
        margin-left: 15px;
    }

}


/* 使用條款 / 個資使用聲明 / 同意書 */
.disclaimer .bg .text_box p {
    margin: 15px 0px;
    font-size: 1.15rem;
}

.disclaimer .btn_box {
    text-align: center;
}

.disclaimer .btn_box .btn {
    font-size: 1.2rem;
    padding: 3px 30px;
}

















/* driver.js的css */
.driver-active .driver-overlay,
.driver-active * {
    pointer-events: none
}

.driver-active .driver-active-element,
.driver-active .driver-active-element *,
.driver-popover,
.driver-popover * {
    pointer-events: auto
}

@keyframes animate-fade-in {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.driver-fade .driver-overlay {
    animation: animate-fade-in .2s ease-in-out
}

.driver-fade .driver-popover {
    animation: animate-fade-in .2s
}

.driver-popover {
    all: unset;
    box-sizing: border-box;
    color: #2d2d2d;
    margin: 0;
    padding: 15px;
    border-radius: 5px;
    min-width: 250px;
    max-width: 300px;
    box-shadow: 0 1px 10px #0006;
    z-index: 1000000000;
    position: fixed;
    top: 0;
    right: 0;
    background-color: #fff
}

.driver-popover-title[style*=block]+.driver-popover-description {
    margin-top: 5px
}

.driver-popover-footer {
    margin-top: 15px;
    text-align: right;
    zoom: 1;
    display: flex;
    align-items: center;
    justify-content: space-between
}

.driver-popover-footer .driver-popover-btn-disabled {
    opacity: .5;
    pointer-events: none
}

:not(body):has(>.driver-active-element) {
    overflow: hidden !important
}

.driver-no-interaction,
.driver-no-interaction * {
    pointer-events: none !important
}

.driver-popover-footer button:hover,
.driver-popover-footer button:focus {
    background-color: #f7f7f7
}

.driver-popover-navigation-btns {
    display: flex;
    flex-grow: 1;
    justify-content: flex-end
}

.driver-popover-arrow {
    content: "";
    position: absolute;
    border: 5px solid #fff
}

.driver-popover-arrow-side-over {
    display: none
}

.driver-popover-arrow-side-left {
    left: 100%;
    border-right-color: transparent;
    border-bottom-color: transparent;
    border-top-color: transparent
}

.driver-popover-arrow-side-right {
    right: 100%;
    border-left-color: transparent;
    border-bottom-color: transparent;
    border-top-color: transparent
}

.driver-popover-arrow-side-top {
    top: 100%;
    border-right-color: transparent;
    border-bottom-color: transparent;
    border-left-color: transparent
}

.driver-popover-arrow-side-bottom {
    bottom: 100%;
    border-left-color: transparent;
    border-top-color: transparent;
    border-right-color: transparent
}

.driver-popover-arrow-side-center {
    display: none
}

.driver-popover-arrow-side-left.driver-popover-arrow-align-start,
.driver-popover-arrow-side-right.driver-popover-arrow-align-start {
    top: 15px
}

.driver-popover-arrow-side-top.driver-popover-arrow-align-start,
.driver-popover-arrow-side-bottom.driver-popover-arrow-align-start {
    left: 15px
}

.driver-popover-arrow-align-end.driver-popover-arrow-side-left,
.driver-popover-arrow-align-end.driver-popover-arrow-side-right {
    bottom: 15px
}

.driver-popover-arrow-side-top.driver-popover-arrow-align-end,
.driver-popover-arrow-side-bottom.driver-popover-arrow-align-end {
    right: 15px
}

.driver-popover-arrow-side-left.driver-popover-arrow-align-center,
.driver-popover-arrow-side-right.driver-popover-arrow-align-center {
    top: 50%;
    margin-top: -5px
}

.driver-popover-arrow-side-top.driver-popover-arrow-align-center,
.driver-popover-arrow-side-bottom.driver-popover-arrow-align-center {
    left: 50%;
    margin-left: -5px
}

.driver-popover-arrow-none {
    display: none
}

.driver-popover {
    min-width: 400px;
    max-width: 400px;
}

.driver-popover-close-btn {
    font-weight: 800;
    font-size: 1.5rem;
    color: #580D63;
    background-color: transparent;
    border: 1px solid #580D63;

    position: absolute;
    top: 18px;
    right: 15px;
    padding: 5px;
    line-height: 16px;
    border-radius: 6px;
    transition: 0.3s;
}

.driver-popover-close-btn:hover {
    background-color: #580D63;
    color: #fff;
}

.driver-popover-description {
    font-size: 1.1rem;
    font-weight: 400;
    padding: 5px 0;
    padding-right: 35px;
}

.driver-popover-progress-text {
    font-weight: 600;
    font-size: 0.95rem;
    color: #580D63;
    letter-spacing: 1px;
}

.driver-popover-footer button {
    color: #580D63;
    border: 1px solid #580D63;
    border-radius: 6px;
    background-color: #fff;
    padding: 3px 15px;
    padding-bottom: 1px;
    transition: 0.3s;
}

.driver-popover-navigation-btns button+button {
    margin-left: 10px;
}

.driver-popover-footer button:hover {
    background-color: #580D63;
    color: #fff;
}

@media (max-width: 575.98px) {

    .driver-popover {
        min-width: 300px;
        max-width: 300px;
    }
}

/* driver.js的css */









/* 登入頁 */
/* 背景圖 */
.login_bg {
    display: flex;
}

.bg_box {
    width: 300px;
    position: relative;
}

.bg_box .bg_bg {
    position: fixed;
    height: 100%;
    bottom: 0;
    left: 0;
}

.bg_box .bg_img {
    position: fixed;
    bottom: 0;
    left: 20px;
    width: 580px;
}

/* 內容 */
.login_box {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100vh;
}

.login_text {
    position: relative;
    z-index: 1;
}

.login_text .container {
    padding-right: 50px;
    padding-left: 150px;
}

/* 頭 */
.login_text .nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.login_text .nav .logo {
    transform: translateX(-30%);
    width: 300px;
}

.login_text .nav .logo img {
    width: 100%;
}

.login_text .nav .home_btn {
    border: 1px solid #570E64;
    border-radius: 5px;
    padding: 3px 20px 1px 20px;
    background-color: transparent;
    color: #570E64;
    font-size: 1em;
    font-weight: 500;

    transition: 0.3s;
}

.login_text .nav .home_btn:hover {
    background-color: #570E64;
    color: #fff;
}

/* 登入內容 */
.login_text .login {
    max-width: 500px;
    padding: 20px 0;
    margin: 0 auto;
}

/* 標題 */
.login_text .login .title {
    text-align: center;
    padding: 10px 0;
}

.login_text .login .title h1 {
    color: #4D167D;
    margin: 0;
    font-size: 1.5rem;
    font-weight: 800;
    margin-bottom: 5px;
}

.login_text .login .title p {
    color: #4D167D;
    margin: 0;
    font-size: 1.25rem;
    font-weight: 800;
}

/* 欄位 */
.login_text .login .form_group {
    position: relative;
    margin: 20px 0;
}

.login_text .login .form_group label {
    position: absolute;
    top: 10px;
    left: 12px;
}

.login_text .login .form_group label img {
    width: 28px;
}

.login_text .login .form_group input {
    background-color: #f8f8f8f3;
    border: none;
    font-size: 1.2rem;
    padding: 10px;
    padding-left: 50px;
    transition: 0.3s;
    line-height: 30px;
}

.login_text .login .form_group input:focus {
    font-size: 1.1rem;
}

.login_text .login .form_group input::placeholder {
    color: #AC9CB9;
}

/* 按鈕 */
.login_text .login .btn_box {
    text-align: right;
}

.login_text .login button {
    background-color: transparent;
    border: none;
    padding: 0;
    margin: 2px 0;
    font-weight: 600;
    transition: 0.3s;
    font-size: 0.9rem;
}

.login_text .login .forgot_btn {
    color: #878787;
    transform: translateY(-12px);
}

.login_text .login .forgot_btn:hover {
    opacity: 0.8;
}

.login_text .login .login_btn {
    background-color: #ffffffe5;
    color: #4D167D;
    width: 100%;
    border-radius: 5px;
    padding: 8px;
    font-size: 1.4rem;
    border: 1px solid #4D167D;
}

.login_text .login .login_btn:hover {
    background-color: #4D167D;
    color: #fff;
}

.login_text .login .register_btn {
    color: #4D167D;
    border-bottom: 1px solid transparent;
}

.login_text .login .register_btn:hover {
    opacity: 0.8;
    border-bottom: 1px solid #4D167D;
}

.login_text .login .register_btn svg {
    transform: translateY(-1px);
}

/* 分隔線 */
.login_text .login .line {
    border-top: 1px solid #D8BDF1;
    opacity: 1;
    margin: 20px 0;
}

/* 連結 */
.login_text .login .link_list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.login_text .login .link_list li {
    padding: 12px 0;
}

.login_text .login .link_list li a {
    display: flex;
    color: #2A2A2A;
    background-color: #F8F8F8;
    text-decoration: none;
    font-size: 1.1rem;
    border-radius: 10px;
    box-shadow: 1px 1px 5px #2a2a2a1b;
    overflow: hidden;
    transition: 0.3s;
}

.login_text .login .link_list li a .img_box {
    background-color: #7E46B0;
    padding: 10px 12px;
    display: flex;
    align-items: center;
    transition: 0.3s;
}

.login_text .login .link_list li a .img_box svg g line {
    stroke: #fff;
}

.login_text .login .link_list li a p {
    margin: 0;
    padding: 10px;
}

.login_text .login .link_list li a:hover {
    background-color: #fff;
    color: #4D167D;
    box-shadow: 1px 1px 8px #2a2a2a1b;
}

.login_text .login .link_list li a:hover .img_box {
    background-color: #FFDF7E;
}


.login_text .login .link_list li a:hover .img_box svg g line {
    stroke: #7E46B0;
}

/* 頁尾 */
.footer_box {
    background-color: #F6F6F6;
}

.footer_box .container {
    padding-right: 50px;
}

.footer_box .box {
    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 20px 0;
    padding-left: 320px;
}

/* 聯絡資訊 */
.footer_box .box .list {
    padding: 0;
    margin: 0;
    list-style: none;
}

.footer_box .box .list li {
    display: flex;
    align-items: center;
    margin: 8px 0;
    max-width: 550px;
}

.footer_box .box .list li img {
    width: 25px;
    transform: translateY(1px);
}

.footer_box .box .list li p {
    margin: 0;
    color: #570E64;
    font-size: 1rem;
    font-weight: 400;
    margin-left: 8px;
}

/* 社交軟體 */
.footer_box .box .social_list a {
    margin: 0 3px;
    transition: 0.3s;
    display: inline-block;
}

.footer_box .box .social_list a img {
    width: 30px;
}

.footer_box .box .social_list a:hover {
    opacity: 0.8;
    transform: scale(1.05);
}



@media (max-width: 1399.98px) {

    .footer_box .box {
        flex-direction: column;
        align-items: initial;
    }

    .footer_box .box .list {
        margin-bottom: 10px;
    }
}

@media (max-width: 1199.98px) {

    .bg_box {
        width: 250px;
    }

    .bg_box .bg_bg {
        left: -50px;
    }

    .bg_box .bg_img {
        width: 500px;
        left: 0;
    }
}

@media (max-width: 991.98px) {

    .bg_box {
        width: 0px;
    }

    .bg_box .bg_bg {
        left: -250px;
    }

    .bg_box .bg_img {
        width: 280px;
    }

    .login_text .container {
        padding-right: 0;
    }

    .login_text .container {
        padding-right: 0;
    }

    .footer_box .box {
        padding-left: 210px;
        z-index: 1;
        position: relative;
        padding-right: 50px;
    }
}

@media (max-width: 767.98px) {

    .bg_box {
        width: 0;
        display: none;
    }

    .login_text .container {
        padding-left: 0;
    }

    .login_text .nav .logo {
        transform: translate(0);
        width: 220px;
    }

    .login_text .nav .home_btn {
        margin-right: 10px;
        padding: 3px 15px 1px 15px;
    }

    .login_text .login {
        padding: 20px 10px;
    }

    .footer_box .box {
        padding-left: 0;
        padding-right: 0;
    }

    .footer_box {
        background-color: #F6F6F6;
    }
}



/* 註冊頁 */
.register .bg_box {
    order: 2;
}

.register .bg_box .bg_bg {
    left: initial;
    right: 0;
    transform: rotateY(180deg);
}

.register .bg_box .bg_img {
    left: initial;
    right: 20px;
    transform: rotateY(180deg);
}

.register .login_text .container {
    padding-left: 50px;
}

.register .login_text .nav .logo {
    transform: translateX(0%);
}

.register .login_text .login {
    padding: 50px 0;
}

.register .footer_box .box {
    padding-left: 50px;
    padding-right: 250px;
}




.notes {
    font-size: 0.95rem;
    font-weight: 400;
    color: #570E64;
    margin: 0;
    padding: 2px 0;
    padding-left: 5px;
}

.captcha_box {
    display: flex;
    align-items: center;
}

.captcha_box .captcha_input {
    flex-grow: 1;
    padding-right: 15px;
}

.captcha_box .captcha_img {
    background-color: #F6F6F6;
    width: 150px;
    border-radius: 10px;
    text-align: center;
}

.captcha_box .captcha_img img {
    width: 100px;
}

@media (max-width: 1399.98px) {

    .register .bg_box .bg_img {
        width: 500px;
    }
}

@media (max-width: 1199.98px) {

    .register .bg_box .bg_bg {
        right: -110px;
    }

    .register .bg_box .bg_img {
        right: 0;
        width: 440px;
    }
}

@media (max-width: 991.98px) {

    .register .bg_box .bg_bg {
        right: -350px;
    }

    .register .bg_box .bg_img {
        /* right: 0; */
        width: 350px;
    }

    .register .login_text .container {
        padding-left: 0;
    }

    .register .footer_box .box {
        padding-left: 0;
    }
}

@media (max-width: 767.98px) {

    .register .footer_box .box {
        padding-right: 0;
    }

    .register .login_text .login {
        padding: 20px 10px;
    }

    .footer_box .container {
        padding-right: 10px;
    }
}


/* 忘記密碼 */
.ForgetPassword .login_text .login {
    padding: 100px 0;
}

@media (max-width: 767.98px) {
    .ForgetPassword .login_text .login {
        padding: 80px 10px;
    }
}







/* Profile 會員資料 */
.profile_box .box .title {
    border-radius: 0;
}

/* 頁籤切換按鈕 */
.profile_box .tab_box {
    margin: 0 -5px;
    padding: 0;
    list-style: none;
    display: flex;
}

.profile_box .tab_box li {
    padding: 0px 5px;
    padding-top: 30px;
}

.profile_box .tab_box .tab_btn {
    background-color: #fff;
    padding: 0;
    width: 100%;
    transition: 0.3s;
    font-weight: 600;

    border: none;
}

.profile_box .tab_box .tab_btn.active {
    pointer-events: none;
    transform: scaleY(1.05);
}

.profile_box .tab_box .tab_btn p {
    color: #580D63;
    margin-bottom: 2px;
    padding: 7px 20px;
    border: 1px solid #AC9CB9;
    border-radius: 5px;
    transition: 0.3s;
}

.profile_box .tab_box .tab_btn.active p {
    background-color: #580D63;
    border: 1px solid #580D63;
    color: #fff;
    padding: 7px 30px;
}

.profile_box .tab_box .tab_btn:hover p {
    background-color: #AC9CB9;
    color: #fff;
}

.profile_box .tab_box .line {
    background-color: #AC9CB9;
    width: 100%;
    height: 3px;
    border-radius: 5px;
}

.profile_box .tab_box .tab_btn.active .line {
    background-color: #580D63;
}





/* 會員基本資料 */
.profile_box .box .title_box {
    /* padding: 10px 15px; */
}

.profile_box .box .title_box h3 span {
    margin-left: 10px;
    font-weight: 800;
}

/* 基本資料 */
.profile_box .information_box .basic_list {
    margin: 0;
    padding: 0;
    list-style: none;
    padding: 0px 15px;
    /* padding-bottom: 15px; */
    display: flex;
    flex-wrap: wrap;
}

.profile_box .information_box .basic_list>li {
    flex-basis: 50%;
    padding: 10px 0px;

    display: flex;
    align-items: center;

    border-bottom: 1px solid #AC9CB9;
}

.profile_box .information_box .basic_list>li:nth-child(1) {
    /* padding-top: 0; */
}

.profile_box .information_box .basic_list>li:nth-last-child(1) {
    border-bottom: none;
}

.profile_box .information_box .basic_list li.full {
    flex-basis: 100%;

}

.profile_box .information_box .basic_list li p {
    margin: 0;
    font-size: 1rem;
}

.profile_box .information_box .basic_list>li>p:nth-child(1) {
    font-size: 1.1rem;
    font-weight: 600;
    color: #580D63;
    width: 65px;
}

/* 申請系所 */
.profile_box .information_box li.programs_box {
    flex-direction: column;
    align-items: flex-start;
}

.profile_box .information_box .basic_list li.programs_box p {
    width: 100%;
}

.profile_box .information_box .programs {
    margin: 0;
    padding: 0;
    list-style: none;
    width: 100%;
}

.profile_box .information_box .programs li {
    padding: 10px 0;
    border-bottom: 1px dotted #AC9CB9;

    display: flex;
    align-items: center;
}

.profile_box .information_box .programs li:nth-last-child(1) {
    border-bottom: none;
    padding-bottom: 0;
}

.profile_box .box .tab_content .number {
    border: 2px solid #ffacdf;
    border-radius: 30px;
    background-color: #CE59A1;
    color: #fff;
    font-weight: 600;
    width: 30px;
    height: 30px;
    display: inline-block;
    text-align: center;
    line-height: 28px;
    margin-right: 10px;
}

.profile_box .information_box .programs div {
    width: calc(100% - 32px);
}

/* 申請進度查看 */
.profile_box .information_box .progress_bar {
    margin: 10px 10px;
    width: 100%;
    flex-wrap: wrap;
}

.profile_box .information_box .progress_bar li {
    padding: 5px 5px;
    flex-basis: calc(100% / 3);
}

.profile_box .information_box .progress_bar .step_box {
    padding: 8px 8px;
    /* background-color: #f2f2f2; */
    /* background-color: #fff; */
    border: 1px solid #F44A6C;
    background-color: #fffdfd;
}

.profile_box .information_box .progress_bar .step_box.done {
    border: 1px solid #17bd43;
    background-color: #fefefe;
}

e.profile_box .information_box .progress_bar .step_box:hover {
    transform: scale(1);
    box-shadow: 1px 1px 3px #0000001f;
    background-color: #fff;
}

.profile_box .information_box .progress_bar .step_box .line {
    background-color: #F44A6C;
    /* height: 8px; */
}

.profile_box .information_box .progress_bar .step_box.done .line {
    background-color: #17bd43;
}

.profile_box .information_box .progress_bar .step_box p {
    color: #2A2A2A;
    /* color: #F44A6C; */
    padding: 2px 0;
}

.profile_box .information_box .progress_bar .step_box.done p {
    /* color: #17bd43; */
}

.profile_box .information_box .progress_bar .step_box.done p:nth-child(1) {
    background-position: center left;
    padding-left: 45px;
    background-image: url(../img/icon_done.svg);
    background-size: 35px;
}

.profile_box .information_box .progress_bar .progress_link {
    border: 1px solid #F44A6C;
    border-radius: 5px;
    padding: 2px 15px;
    padding-top: 3px;
    color: #F44A6C;
    text-decoration: none;
    font-weight: 600;
    display: inline-block;
    margin: 5px 0;
    transition: 0.3s;
}

.profile_box .information_box .progress_bar .progress_link:hover {
    background-color: #F44A6C;
    border: 1px solid #F44A6C;
    color: #fff;
}

.profile_box .information_box .progress_bar .step_box.done .progress_link {
    color: #17bd43;
    border: 1px solid #17bd43;
}

.profile_box .information_box .progress_bar .step_box.done .progress_link:hover {
    background-color: #17bd43;
    color: #fff;
}

/* 審核狀態 */
.profile_box .information_box .reviewStatus_box {
    margin: 10px 15px;
    display: flex;
    align-items: center;
    width: 100%;
    flex-wrap: wrap;
}

.profile_box .information_box .reviewStatus_box p {
    margin: 0;
    font-size: 1.3rem;
    font-weight: 600;
    color: #580D63;
    margin-right: 15px;
    color: #AC9CB9;
    padding: 10px;

    display: flex;
    align-items: center;
}

.profile_box .information_box .reviewStatus_box p.done {
    color: #17bd43;
}

.profile_box .information_box .reviewStatus_box p:nth-child(1) {
    font-size: 1.1rem;
    font-weight: 600;
    color: #580D63;
    margin-right: 15px;
    border-bottom: none;
    padding: 0;
}

.profile_box .information_box .reviewStatus_box p img {
    width: 30px;
    margin-right: 10px;
}

.profile_box .information_box .pendingDocuments_box {
    width: 100%;
    margin: 0px 15px;

    border-top: 1px solid #AC9CB9;
    padding-top: 10px;
}

.profile_box .information_box .pendingDocuments_box .program {
    padding: 10px;
    margin: 0;
    margin-bottom: 15px;
    display: flex;
    flex-direction: column;
}

.profile_box .information_box .pendingDocuments_box .title {
    display: flex;
    align-items: center;

    border-bottom: 1px dotted #AC9CB9;
    padding-bottom: 5px;
    margin-bottom: 10px;
}

.profile_box .information_box .pendingDocuments_box .title div:nth-last-child(1) {
    flex-basis: calc(100% - 32px);
}

.profile_box .information_box .pendingDocuments_box .title p {
    font-weight: 600;
    margin: 0;
    font-size: 1rem;
    color: #580D63;
}

.profile_box .information_box .pendingDocuments_box .title p:nth-child(1) {
    font-size: 0.9rem;
}

.profile_box .information_box .pendingDocuments_box .text_box {
    padding: 0;
}

.profile_box .information_box .pendingDocuments_box .file_list {
    margin: 0;
    list-style: none;
    font-size: 1rem;
    padding: 0 0px;
}

.profile_box .information_box .pendingDocuments_box .file_list li {
    padding-bottom: 20px;
    margin-bottom: 15px;
    color: #580D63;
    border-bottom: 1px solid #580D63;
}

.profile_box .information_box .pendingDocuments_box .file_list li:nth-last-child(1) {
    border-bottom: none;
}

.profile_box .information_box .pendingDocuments_box .file_list p {
    font-size: 1.1rem;
    margin: 0;
    padding: 0 9px;
    padding-bottom: 5px;
}

.profile_box .information_box .pendingDocuments_box .file_list p.text {
    font-size: 0.9rem;
    color: #2A2A2A;
    border-top: 1px dotted #AC9CB9;
    padding: 0 9px;
    padding-top: 8px;
}

.profile_box .information_box .pendingDocuments_box .file_list .num {
    display: inline-block;
    margin-right: 5px;
    font-weight: 800;
}

.profile_box .information_box .pendingDocuments_box .file_list a {
    font-size: 0.9rem;
    padding: 1px 25px;
    padding-bottom: 0px;
    margin: 6px 9px;
    margin-bottom: 0;
}

/* 資格審查失敗 */
.profile_box .failed_box.bg {
    max-width: 600px;
    margin: 30px auto;

    /* display: flex; */
}

.profile_box .failed_box h3 {
    background-image: url(../img/icon_attention.svg);
    line-height: 28px;
    padding-left: 35px;
}

.profile_box .failed_box .text_box {
    /* display: flex; */
    width: 100%;
    padding: 10px 15px;
}


.profile_box .failed_box .text_box .text {
    padding: 5px 0;
    font-size: 1rem;
}

.profile_box .failed_box .text_box .btn_box {
    text-align: center;
    margin: 0;
    margin-top: 15px;
}


/* 還沒申請 */
.start_box {
    width: 100%;
    padding: 10px 15px;
}

.start_box>div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #AC9CB9;
}

.start_box p {
    font-size: 1.2rem;
    color: #F44A6C;
    font-weight: 600;
    margin: 0;
}


@media (max-width: 991.98px) {

    .profile_box .information_box .basic_list>li {
        flex-basis: 100%;
    }

    .profile_box .information_box .progress_bar li {
        flex-basis: 100%;
    }
}





/* 修改密碼 */
.profile_box .changePassword_box.bg {
    max-width: 600px;
    margin: 30px auto;
}

.profile_box .changePassword_box .btn_box {
    width: 100%;
    text-align: center;
    margin-bottom: 0;
}

.profile_box .changePassword_box .btn_box .btn {
    margin: 0;
}





/* 推薦人填寫 */
.recommenders_box .information_box .basic_list {
    width: 100%;
}

.recommenders_box .information_box .basic_list>li:nth-last-child(1) {
    /* border-bottom: 1px solid #AC9CB9; */
}

.recommenders_box .information_box .basic_list>li>p:nth-child(1) {
    width: 170px;
}

.recommenders_box .recommendation_letter .title_box p {
    margin: 0;
    font-size: 1.1rem;
    padding: 2px;
}

.recommenders_box .recommendation_letter .title_box p span {
    /* font-size: 1.2rem; */
    font-weight: 600;
    color: #CE59A1;
    /* margin: 0; */
    padding: 0px 2px;
    /* padding-left: 5px; */
}

.recommenders_box .recommendation_letter .text_box {
    width: 100%;
}

.recommenders_box .recommendation_letter .text_box textarea {
    width: 100%;

    background-color: #fff;
    box-shadow: inset 1px 1px 3px #1313130e;

    border-radius: 5px;
    border: 1px solid #dcdbdb;

    color: #585858;
    padding: 10px;

    transition: 0.3s;
}

.recommenders_box .recommendation_letter .text_box textarea::placeholder {
    font-size: 1rem;
    color: #AC9CB9;
}

.recommenders_box .recommendation_letter .text_box textarea:focus-visible {
    outline: none;
    border: 1px solid #AC9CB9;
}

.recommenders_box .recommendation_letter .btn_box {
    width: 100%;
    text-align: center;
    margin: 15px;
    margin-bottom: 0;
}

@media (max-width: 767.98px) {

    .profile_box .information_box .basic_list>li {
        flex-direction: column;
        align-items: flex-start;
    }

    .recommenders_box .information_box .basic_list>li>p:nth-child(1) {
        width: 100%;
        margin-bottom: 3px;
    }
}

/* 登入頁 沒有下方連結 */
.login.no_links {
    padding: 60px 0;
}

.login_text .login.no_links .line {
    display: none;
}

/* 選擇學期頁面 */
.selectSemester .title_box {
    display: flex;
    align-items: center;

    cursor: pointer;
    transition: 0.3s;

    flex-basis: initial;
}

.selectSemester .title_box:hover {
    transform: scale(1.02);
}

.selectSemester .title_box .btn_add div {
    width: 18px;
    height: 18px;
    background-color: #580D63;
    clip-path: polygon(0 40%, 40% 40%, 40% 0%, 60% 0%, 60% 40%, 100% 40%, 100% 60%, 60% 60%, 60% 100%, 40% 100%, 40% 60%, 0 60%);
    margin-left: 10px;
    transform: translateY(-1px);
    transition: 0.3s;
}

.selectSemester .title_box .btn_add.active div {
    clip-path: polygon(0 40%, 40% 40%, 100% 40%, 100% 40%, 60% 40%, 100% 40%, 100% 60%, 60% 60%, 0% 60%, 0% 60%, 40% 60%, 0 60%);
    transform: rotate(180deg);
}

.selectSemester .text_box {
    width: 100%;

    opacity: 0;
    overflow: hidden;
    height: 0;
    transition: 0.3s;
}

.selectSemester .text_box.add {
    opacity: 1;
    overflow: auto;
    height: initial;
}

.selectSemester .text_box .btn_box {
    margin: 0;
}