@charset "utf-8";
/****************** 基本 ******************/
*{	
    font-family: "微軟正黑體", "Microsoft JhengHei", Arial, Geneva,sans-serif;
     /* outline: 1px solid #f11a1a;*/
} 
body {
    font-size: 17px;    
    font-weight: 400;
    line-height: 1.8;
    color: #323232;
    background-color: #fff;
    height: 100%;
    position: relative;
    overflow-x: hidden !important;
}

img{
    max-width: 100%;
}

a{
    text-decoration: none !important;
    color: #009999;
}

a:hover{
    color: #1bbbbb;
}

.btn.btn-primary{
    background-color: #1bbbbb;
    border: #1bbbbb 1px solid;
}

.btn.btn-primary:hover{
    background-color: #0b9898;
    border: #0b9898 1px solid;
}

.form-label{
    color: #1bbbbb;
    font-weight: 600;
}

/****************** 導覽列 navbar ******************/
.navbar {
    background-color: #f8f8f8;
    /* border-bottom: 1px solid #e8e8e8; */
    border-bottom: 0;
    padding: 0 !important;
    height: 60px;
}
/*
--- 聯邦LOGO navbar-brand ---*/
.navbar-brand {
	padding-right: 0;
}
.navbar .navbar-brand {
    margin-right: 50px;
    margin-left: 20px;
    width: 250px;
    height: 50px;
    background: url(../images/logo.png) no-repeat 0 50%;
    background-size: contain;
}
@media screen and (max-width:768px){
    .navbar .navbar-brand{
        margin-right: 0;
        margin-left: 0;
        width: 160px;
        height: 40px;
    }
    .navbar .logOutBtn{
        width: 80px;
    }
}

/************************* 主視覺 *************************/
.kv {
    padding-top: 60px;    
    position: relative;
    display: flex;
    justify-content: center;
 }
.kv_title {
    position: absolute;  
    height: calc(100% - 60px);
}
.kv_text {
    width: 40%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.kv_text h2 {
    color: #ffffff;
    font-weight: bold;
    font-size: 2.5rem;
    line-height: 2.5rem;
    margin-bottom: 0;
}
.kv_text h2 small {
    font-size: 1.8rem;
    margin-top: 20px;
    display: block;
    font-weight: 400;
}
.mainbanner {
    width: 100%;
    display: block;
}
.mainbanner_m {
    width: 100%;
    display: none;
}
@media screen and (max-width:1200px){
    .kv_text h2 {        
        font-size: 2rem;
        line-height: 2rem;
    }
    .kv_text h2 small {
        font-size: 1.44rem;
        margin-top: 16px;        
    }
}
@media screen and (max-width:992px){
    .kv_text h2 {        
        font-size: 1.6rem;
        line-height: 1.6rem;
    }
    .kv_text h2 small {
        font-size: 1.15rem;
        margin-top: 12px;        
    }
    .kv_text {
        width: 50%;       
    }
}
@media screen and (max-width:768px){
    .mainbanner {
        display: none;
    }
    .mainbanner_m {
        display: block;
    }
}
@media screen and (max-width:576px){
    .kv_text h2 {        
        font-size: 1.48rem;
        line-height: 1.48rem;
    }
    .kv_text h2 small {
        font-size: 1rem;
        margin-top: 5px;        
    }
    .kv_text {
        width: 60%;       
    }
}

/************************* 主要內容開始 *************************/
.mainArea{
    font-size: 20px;
    padding-top: 30px;
    padding-bottom: 30px;
    line-height: 2;
    overflow-x: hidden;
}
.mainArea .main_text p {
   font-size: 20px; 
   line-height: 24px;
   font-weight: bold;
}
.icon_box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.img_icon {
    width: 150px;
    padding: 20px 20px 5px 20px;
}
.icon_box h2 {
    font-weight: bold;
    font-size: 24px;
    color: #11aeae;
}
.icon_box h3 {
    font-weight: bold;
    font-size: 17px;
    color: #575757;
    margin-left: 15px;
    margin-right: 15px;
}
.fill_out {
    font-size: 1.2rem;
    border-radius: 30px;
    padding: 10px 50px;
    font-weight: bold;
    margin-top: 30px;
    margin-bottom: 30px;
}
@media screen and (max-width:768px){
    .mainArea{
        padding-top: 20px;
        padding-bottom: 20px;
    }
    .mainArea .main_text p {
        font-size: 16px; 
        line-height: 20px;
     }
     .icon_box h3 {
        margin-left: 45px;
        margin-right: 45px;
    }
    .fill_out {        
        padding: 10px 20px;
    }
}
/*-----分級-------*/
.level {
    background-color: #f3f3f3;
    padding-top: 50px;
}
.level h2{
    font-size: 2.5rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 10px;
}
.level h3{
    font-size: 1.8rem;
    line-height: 2.2rem;
    font-weight: bold;
    text-align: center;
}
.level_1 {
    color: #5d8fc8;
}
.level_2 {
    color: #9871aa;
}
.level_3 {
    color: #46b7c1;
}
.level_4 {
    color: #e79d28;
}
.level_5 {
    color: #df417b;
}
.textCenter{
    justify-content: center;
}
@media screen and (max-width:768px){
    .level h2{
        font-size: 1.8rem;
        text-align: center;
    }
    .level h3{
        font-size: 1.1rem;
        line-height: 1.6rem;
        text-align: center;
    }
}
/*--------*/
footer{
    font-size: 13px;
    padding: 10px 0px 0px;
    text-align: center;
    line-height: 1.5rem;
    color: #8F8F8F;
    background-color: #D0D0D0;   
}
/* .footerBox{   
} */
.footerInfo{
    display: flex;
    justify-content: center;
}
footer .box{
    margin-right: 30px;
    margin-left: 30px;
}
.allRights{
    background-color: #575757;
    color: #ffffff;
    padding-top: 5px;
    padding-bottom: 5px;
}
@media screen and (max-width:768px){
    .footerBox{
        flex-wrap: wrap;
    }
    .footerInfo{
        flex-wrap: wrap;
    }
    footer .box{
        margin-top: 10px;
        margin-bottom: 10px;
    }
    footer .box img{
        display: none;
    }
}

/*---身分驗證---*/

.topimg {
    background: url(../images/top.jpg) no-repeat center center;
    background-size: cover;
    min-height: 650px;
    height: 100vh;
    width: 100%;    
}
.mainbg {    
    padding: 40px 60px;
    border-radius: 20px;
    background-color: rgba(255, 255, 255, 0.80);
    margin: 75px 15px 15px;
}
.top-block {
    height:100vh;
}
.topimg h2 {
    font-family: "微軟正黑體", Arial, sans-serif;
    font-size: 24px;
    line-height: 48px;
    color: #009999;
    font-weight: bold;
    text-align: center;
}
.topimg .form-control {
    padding: .375rem .3rem;
    width: 100%;
    color: #6c757d;
    font-size: 1.25rem;
    border-radius: 6px;
    border: 1px solid #a9a9a9;
    padding-left: 36px;
}
.topimg svg {
    width: 25px;
    fill: #bebfbf;
    position: absolute;
    top: 10px;
    left: 8px;
}
.btn.btn-primary.main_bn {
    font-size: 1.2rem;
    border-radius: 30px;
    padding: 12px 30px;
    border: #1bbbbb 2px solid;
    /* font-weight: bold; */
    margin-top: 30px;
    margin-bottom: 30px;
}
.btn.btn-primary.main_bn:hover {
    background-color: #ffffff;
    border: #1bbbbb 2px solid;
    color: #1bbbbb;
}
.btn-outline-primary{
    border: #1bbbbb 2px solid ;
    color: #1bbbbb ;
    width: 120px;
}
.btn-outline-primary:disabled{
    border: #1bbbbb 2px solid ;
    color: #1bbbbb ;
    /* width: 100%; */
}
.btn-outline-primary:hover{
    border: #1bbbbb 2px solid ;
    color: white ;
    background-color: #1bbbbb ;
}
@media screen and (max-width:576px){
    .mainbg {
        padding: 40px 30px;
        border-radius: 20px;
        background-color: rgba(255, 255, 255, 0.80);
        margin: 65px 15px 15px;
    }

}
/*---login--*/
.login {
    background-image: url(../images/bg.jpg) ;
    background-position: center center;
    background-size: cover;
    width: 100%;
}
.login_ {
    background-image: url(../images/bg_.jpg) ;
    background-position: center center;
    background-size: cover;
    width: 100%;
}
.login .mainbg {    
    padding: 0 40px 60px;
    border-radius: 20px;
    background-color: rgba(255, 255, 255, 0.50);
    margin: 40px 15px;
    border: 1px solid #d2cece;
}
.login h2 {
    font-weight: bold;
    font-size: 24px;
    color: #11aeae;
    text-align: center;
    /* margin-bottom: 15px; */
}
.login .form-control {
    padding: .375rem .3rem;
    max-width: 20rem;
    width: 100%;
    color: #6c757d;
    font-size: 1.25rem;
    border-radius: 6px;
    border: 1px solid #a9a9a9;
    padding-left: 36px;
}
.login svg {
    width: 25px;
    fill: #bebfbf;
    position: absolute;
    top: 10px;
    left: 8px;
}
.login_text {
    text-align: left;
    font-size: 20px;
    line-height: 35px;
}
.replacementIdBtn {
    margin: 0px;
}
.termsCheckbox{
    width: 25px;
}

@media screen and (max-width:576px){
    .login .mainbg {
        padding: 0 10px 50px;
        margin: 20px 15px;
    }
    .agreeTerms{
        font-size: 16px;
    }
    .termsCheckbox{
        width: 18px;
    }
}
/*-----OTP---*/
.login .form-control.otp {
    padding: .375rem .3rem;
    max-width: 11rem;
    width: 100%;
    color: #6c757d;
    font-size: 1.25rem;
    border-radius: 6px;
    border: 1px solid #a9a9a9;
    text-align: center;
}
.Unmodifiable {
    color: #8F8F8F;
}
.modifiable {
    font-weight: bold;
}
.login table {
    margin-bottom: 15px;
}

.login table tr {
    border-bottom: 2px solid #d7dedd;
    height: 3rem;
}
.login table tr:last-child {
    height: 4rem;
}
.loginBtn{
    margin-top: 10px;
}
.loginBtn:disabled{
    background-color: #bfbfbf;
    color: black;
    border: 0px;
}
@media screen and (max-width:576px){
    .Unmodifiable,.modifiable{
        font-size: 13px;
        text-align: center;
    }
    .login .form-control.otp{
        font-size: 14px;
    }
    .text-end{
        width: 80px;
    }
    .login_text {
        font-size: 16px;
        line-height: 30px;
    }
    .loginBtn{
        margin: 0px;
    }
}
@media screen and (max-width:390px){
    .login .form-control.otp{
            font-size: 12px;
    }
}

/*-----STEP---*/
.stepArea {
    background-image: url(../images/bg.jpg) ;
    background-position: center center;
    background-size: cover;
    width: 100%;
}
.stepArea .mainbg {    
    padding: 40px;
    border-radius: 20px;
    background-color: rgba(255, 255, 255, 0.50);
    margin: 20px 15px 40px;
    border: 1px solid #d2cece;
}
.step_group {
    display: flex;
    justify-content: center;
    align-items: center;
}
.step_number {
    position: relative;
    background-color: #959595;
    color: #ffffff;
    border-radius: 50px;
    width: 14rem;
    font-size: 14px;
    line-height: 26px;
    padding-left: 20px;
    height: 56px;
    margin-left: 10px;
    margin-right: 10px;
}
.step_number.active {
    background-color: #12adaf;
}
.step_number span {
    font-size: 26px;
    line-height: 24px;
    display: block;
}
.active .step_text {    
    color: #12adaf;
    font-weight: bold;
}
.step_text {
    position: absolute;
    background-color: #ffffff;
    border-radius: 50px;
    top: 3px;
    right: 3px;
    bottom: 3px;
    left: 58px;
    color: #323232;
    font-size: 20px;    
    display: flex;
    justify-content: center;
    align-items: center;
}
.question_box {
    font-size: 17px;
}
.question_box h2 {
    font-weight: bold;
    font-size: 24px;
    line-height: 36px;
    color: #11aeae;
    text-align: center;
    margin-bottom: 15px;
}
.question_box h3 {
    font-weight: bold;
    font-size: 20px;
    color: #11aeae;
    margin-bottom: 15px;
}
.question_text {
    font-size: 16px;
}

@media screen and (max-width:992px){
    .step_number {
       
        width: 12rem;       
    }
    .step_text {        
        font-size: 17px;  
    }
}
@media screen and (max-width:576px){
    .stepArea .mainbg {
        padding: 25px 20px;
    }
    .step_number {
        position: static;
        background-color: #959595;
        color: #ffffff;
        border-radius: 50px;
        text-align: center;
        width: 3.5rem;
        font-size: 13px;
        line-height: 30px;
        padding-left: 0;
        height: 56px;
        margin-left: 30px;
        margin-right: 30px;
        margin-bottom: 20px;
        display: flex;
        flex-direction: column;
        /* justify-content: center; */
        align-items: center;
    }
   
    .step_number span {
        font-size: 24px;
        line-height: 24px;
        margin-top: -5px;
        display: block;
    }
    .step_text {
        position: static;
        background-color: unset;
        border-radius: 50px;
        width: 8rem;
        top: 3px;
        right: 3px;
        bottom: 3px;
        left: 58px;
        color: #323232;
        font-size: 16px;
        line-height: 42px;
        display: flex;
        justify-content: center;
        align-items: center;
    }
}