html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Noto Sans TC', sans-serif;
}

a, a:hover {
    text-decoration: none;
}

button {
    border: none;
    outline: none; 
}

.text_orange {
    color: #FF5F22
}

.text_white {
    color: #ffffff
}

.btn_center {
    margin: 0px auto;
}

/* navbar */
#navbar {
    height: 80px;
    width: 100%; 
    position: fixed; 
    z-index: 10; 
    background-color: rgb( 250, 250, 250, 0.9);
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.75);
}

.navbar-brand img {
    width: 10vw;
    margin-left: 3vw;
}

#navbar_main {
    width: auto; 
    position: relative; 
    display: flex; 
    align-items: center; 
    margin-right: 2vw;
}

#navbar_main li a{
    font-size: 12pt;
}

.cc_orange {
    color: #2E2E2E;
    transition: 0.5s;
}

.cc_orange:hover {
    color: #FF5F22;
}

#language {
    width: auto; 
    height: auto; 
    padding: 5px 10px; 
    background-color: #666666; 
    border-radius: 50px; 
    color: white; 
    position: relative; 
    display: flex; 
    align-items: center; 
    margin-right: 2vw;
    cursor: pointer; 
}

.language {
    margin-left: 0.5vw;
    font-size: 10pt;
}

#menu {
    width: 70px; 
    height: 70px; 
    color: black; 
    margin-right: 1vw;
    font-size: 10pt;
    background-color: rgba(250, 250, 250, 0);
    position: relative;
}

#menu_text{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: center;
}

/* main menu */
#menu_main {
    position: fixed; 
    z-index: 15; 
    width: 100%;
    height: 100%;
    top: -100%;
    right: 0;
    background-color: #2E2E2E;
    display: none;
    transition: 0.75s;
    color: white;
    overflow-x: hidden;
}

.menu_btn {
    width: auto;
    user-select: none;
    position: absolute; 
    display: flex; 
    align-items: center;
    top: 2vw;
    right: 2vw;
}

#menu_language {
    position: relative; 
    display: flex; 
    align-items: center;
    cursor: pointer;
    width: auto;
    height: auto;
    border-radius: 50px;
    background-color: #666666;
    padding: 0.1vw 0.5vw;
    font-size: 15px;
    color: #ffffff;
}

#menu_language span{
    margin-left: 0.5vw;
}

#menu_close{
    cursor: pointer;
    margin-left: 10vw;
}

.menu_bar{
    width: 100%;
    user-select: none;
    position: absolute; 
    display: flex; 
    top: 8vw;
}

.menu_icon{
    width: 50%;
    position: absolute; 
    display: flex;
    padding-left: 5vw;
}

.icon_box{
    width: 50px;
    height: 50px;
    border: 2px solid #4d4d4d;
    border-radius: 50px;
    color: #4D4D4D;
    transition: 0.5s;
    position: relative; 
    display: flex; 
    align-items: center;
    margin: 0 1vw;
}

.icon_box:hover{
    border: none;
    background-color: #FF5F22;
    color: #ffffff;
}

.icon_box div{
    width: 100%;
    text-align: center;
}

.menu_text{
    width: 50%;
    position: absolute;
    right: 5vw;
}

.text_box{
    width: 50%;
    padding: 0vw 2vw 2vw 2vw;
    font-size: 15pt;
    display: flex;
    flex-direction: column;
}

.text_box a{
    line-height: 23pt;
    color: #ffffff;
    transition: 0.5s;
}

.text_box a:hover{
    color: #FF5F22;
}

.main_title{
    font-size: 15pt;
    text-decoration: underline;
}

.main_details{
    font-size: 15pt;
}

.menu_logo{
    position: absolute;
    bottom: 2vw;
    left: 5vw;
}

.menu_logo img{
    width: 50%;
}

/* main contact */
.contact{
    position: relative; 
    display: flex; 
}

.contact_main{
    width: 100%;
    height: 100%;
    padding-left: 0%;
}

.contact_text{
    width: 100%;
    font-size: 15pt;
    line-height: 40px;
    position: relative; 
    display: flex; 
}

.contact_Box{
    width: 50%;
}

.contact_Box i{
    width: 30px; 
    text-align: center; 
    margin-right: 15px;
}

.contact_detail{
    width: 45%;
    margin: 0px auto;
    margin-left: 5%;
    line-height: 30px;
}

.contact_bar{
    width: 100%;
    margin-top: 1vw;
    font-size: 15pt;
}

.contact_bar input, .contact_bar textarea{
    width: 100%;
    padding: 0.25vw;
    margin-top: 0.2vw;
    border: none;
    border-radius: 5px;
}

.contact_bar input:focus, .contact_bar textarea:focus {
    outline: none;
}

.submit {
    display: flex;
    justify-content: center; 
    align-items: center; 
}

#submit{
    width: 35%;
    height: auto;
    padding: 0.3vw;
    margin-top:  1vw;
    border: none;
    border-radius: 50px;
    background-color: #FF5F22;
    color: white;
}

/* back to top */
#backToTop{
    width: 50px;
    height: 50px;
    background-color: rgb(0, 0, 0, 0.5);
    color: white;
    position: fixed;
    bottom: 80px;
    right: 80px;
    z-index: 10;
    border-radius: 50px;
    text-align: center;
    font-size: 25pt;
    line-height: 35pt;
    cursor: pointer;
    transition: 0.5s;
    box-shadow: 2px 3px 5px 0px rgb(0, 0, 0, 0.5);
}

#backToTop:hover{
    width: 60px;
    height: 60px;
    bottom: 75px;
    right: 75px;
    font-size: 30pt;
    line-height: 40pt;
    background-color: rgb(0, 0, 0, 1);
}

.contactIcon{
    color: white;
    transition: 0.5s;
    margin-right: 20px;
}

.contactIcon:hover{
    color: #FF5F22;
}

.contactIcon img{
    width: 100px;
    height: auto;
}

/* footer */
.footer {
    width: 100%;
    position: relative; 
    margin: 0px auto;
}

.footer_main {
    width: 100%;
    position: relative; 
    display: flex; 
}

.footer_main2 {
    width: 100%;
    position: relative; 
    display: flex; 
}

.footer_box {
    width: 15%;
    color: #646464;
    position: relative; 
    display: flex; 
    flex-direction: column;
}

.footerbox_title {
    font-size: 15pt;
    text-decoration: underline;
}

.footer_box a {
    margin-top: 0.5vw;
    line-height: 15pt;
    font-size: 12pt;
    color: #646464;
    transition: 0.5s;
}

.footer_box a:hover {
    color: #FF5F22;
}

.footer_icon {
    width: 50%;
    position: relative; 
    display: flex; 
    align-items: center; 
}

.icon {
    width: 50px;
    height: 50px;
    border-radius: 50px;
    border: 1px solid #4D4D4D;
    background-color: none;
    margin-right: 5%;
    position: relative; 
    display: flex; 
    align-items: center; 
    color: #4D4D4D;
    transition: 0.5s;
    cursor: pointer; 
}

.icon:hover {
    border: none;
    background-color: #FF5F22;
    color: #ffffff;
}

.icon div {
    width: 100%; 
    text-align: center;
}

#footer_copyright{
    position: absolute;
    bottom: 0.5vw;
    right: 0;
    width: auto;
    font-size: 12pt;
}

/* rwd */
@media (max-width: 1024px){
    /* navbar */
    #navbar {
        height: 120px; 
        width: 100%; 
        position: fixed; 
        z-index: 10; 
        box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.75);
    }

    .navbar-brand img {
        width: 35vw;
        margin-left: 3vw;
    }

    #navbar_main {
        display: none;
    }

    /* footer */
    .footer {
        width: 100%;
    }

    .footer_main {
        width: 100%;
    }

    .footerbox_title {
        font-size: 15pt;
    }
    
    .footer_box a {
        font-size: 15pt;
        line-height: 3vw;
    }
}

@media (max-width: 575px){
    /* main navbar */
    #navbar{
        height: 80px;
    }

    .navbar-brand img{
        width: 40vw;
        margin-left: 1vw;
    }

    #language{
        width: auto;
        margin-right: 2vw;
        padding: 2px 5px;
        font-size: 3.5vw;
    }

    .language{
        margin-left: 2vw;
    }

    #menu{
        width: 45px; 
        height: 60px; 
        margin-right: 0.5vw;
    }

    /* main menu */
    #menu_main {
        top: -100%;
        display: block;
    }

    .menu_btn{
        width: 90%;
        user-select: none;
        position: relative; 
        display: flex; 
        align-items: center;
        top: 8vw;
        right: 0vw;
        margin: 0px auto;
    }

    #menu_language{
        position: relative; 
        display: flex; 
        align-items: center;
        cursor: pointer;
        width: auto;
        height: auto;
        border-radius: 50px;
        background-color: #666666;
        padding: 1vw 1.5vw;
        font-size: 3.5vw;
    }

    #menu_language span{
        margin-left: 2vw;
    }

    #menu_close{
        cursor: pointer;
        position: absolute;
        right: 0vw;
    }

    .menu_bar{
        width: 100%;
        user-select: none;
        position: relative; 
        display: block; 
        top: 10vw;
    }

    .menu_icon{
        width: auto;
        position: relative; 
        display: block; 
        margin-left: 5vw;
        top: 10vw;
        padding-left: 0;
        padding-bottom: 5vw;
    }

    .menu_text{
        width: auto;
        margin-left: 0%;
        position: relative;
    }
    
    .text_box{
        width: 82.5%;
        height: auto;
        padding: 3vw 0vw;
        font-size: 0.8vw;
        border-bottom: 1px solid white;
        margin-left: 10%;
        margin-top: 5vw;
    }

    .main_title{
        width: 100%;
        height: 100%;
        font-size: 5vw;
        position: relative; 
        text-decoration: none;
        z-index: 10;
    }

    .main_details{
        z-index: 5;
        font-size: 4vw;
        display: none;
        transition: 0.5s;
        opacity: 0.8;
        padding: 3vw 5vw;
    }
    
    .menu_logo{
        display: none;
    }

    /* main contact */
    .contact{
        position: relative; 
        display: block; 
        flex-direction: column;
    }

    .contact_text{
        width: 100%;
        font-size: 5vw;
        margin-bottom: 8vw;
        display: block; 
    }

    .contact_Box{
        width: 100%;
    }

    .contact_main{
        width: 100%;
    }
    
    .contact_text hr{
        width: 100%;
    }

    .contact_bar input, .contact_bar textarea{
        padding: 1vw;
    }

    #content{
        height: 20vw;
    }

    .contact_detail{
        width: 100%;
        margin-left: 0%;
    }

    .contact_bar{
        width: 100%;
        margin-top: 5vw;
    }
    
    #submit{
        width: 40%;
        padding: 1vw;
        margin-top: 10vw;
        border-radius: 50px;
        font-size: 5vw;
    }

    .contactIcon{
        margin-right: 10px;
    }

    .contactIcon img{
        width: 50px;
        height: auto;
    }

    /* back to top */
    #backToTop, #backToTop:hover{
        width: 40px;
        height: 40px;
        bottom: 50px;
        right: 10px;
        font-size: 15pt;
        line-height: 30pt;
        background-color: rgb(0, 0, 0, 0.5);
    }

    /* footer */
    .footer {
        width: 100%;
        position: relative; 
        display: flex; 
        align-items: center;
    }

    .footer_main {
        width: 50%;
        display: block; 
        flex-direction: column;
    }

    .footer_main2 {
        width: 50%;
        height: 100%;
        display: block; 
        flex-direction: column;
        top: 0vw;
    }

    .footer_box {
        width: 100%;
        margin-bottom: 10vw;
    }

    .footerbox_title {
        font-size: 5vw;
    }

    .footer_box a {
        font-size: 4vw;
        line-height: 6vw;
    }

    .footer_icon {
        width: auto;
        position: absolute; 
        display: block; 
        align-items: none; 
        flex-direction: column;
        right: 1vw;
        top: 1vw;
    }

    .icon {
        margin-right: 5%;
        margin-top: 15%;
    }

    #footer_copyright {
        font-size: 3vw;
        bottom: 0vw;
        left: 0;
    }
}