/* reset */
body,html{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-size: 21px;
    line-height: 21px;
    letter-spacing: 1px;
    color: #333;
    background: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    scroll-behavior: smooth;
    overflow-x: hidden;
    font-family: "Noto Sans TC", sans-serif;
}
a{
    text-decoration: none;
    color: inherit;
}

img{
    max-width:100%;
    height: auto;
}
button{
    cursor: pointer;
    border: none;
    background: none;
}
button:focus{
    outline: none;
}
ul,li{
    list-style: none;
    padding: 0;
    margin: 0;
}
header,footer,main,section,article,aside,nav{
    display: block;
}

/* Global */
.noto-sans-tc{
    font-family: "Noto Sans TC", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
}
.font-weight-normal{
    font-weight: normal;
}
.font-bold {
font-weight: bold;
}
.font-bolder {
    font-weight: bolder;
}
.font-464646{
    color:#464646;
}
.font-sm{
    font-size: 0.8rem;
}
.font-larger{
    font-size: 1.25rem;
}
.font-1{
    font-size: 1rem;
}
.font-1.5{
    font-size:1.5rem;
}
.font-2{
    font-size: 2rem;
}
.h5 {
    font-size: 1.25rem;
}
.p-2{
    padding: 2rem;
}
.p-4{
    padding: 4rem;
}
.py-2{
    padding: 2rem 0;
}
.py-4{
    padding: 4rem 0;
}
.plr-sm{
    padding-left: 0.8rem;
    padding-right: 0.8rem;
}
.plr-1{
    padding-left: 1rem;
    padding-right: 1rem;
}
.plr-2{
    padding-left: 2rem;
    padding-right: 2rem;
}
.m-2{
    margin: 2rem;
}
.m-4{
    margin: 4rem;
}
.my-2{
    margin-top: 2rem;
    margin-bottom: 2rem;
}
.my-4{
    margin-top: 2rem;
    margin-bottom: 2rem;
}
.mt-2{
    margin-top: 2rem;
}
.mb-2{
    margin: 2rem;
}
.text-center{
    text-align: center;
}
.text-right{
    text-align: right;
}
.text-left{
    text-align: left;
}
.d-block{
    display: block;
}
.d-flex{
    display: flex;
}
.flex-column{
    flex-direction: column;
}
.flex-row{
    flex-direction: row;
}
ul,li{display: flex;}
.nowrap{white-space: nowrap;}

.offcanvas-header{color:#333;border-bottom: 1px solid #cecece;}
.offcanvas-title{font-size: 1.75rem;}
.offcanvas-body{padding: 1rem;}
.offcanvas-body li.nav-item{border-bottom: 1px dotted #888;padding: 0 1rem;}
.navbar-light .navbar-nav .nav-link{padding: 1rem 1rem;color: rgba(0, 0, 0, .7);}
.navbar-light .navbar-nav .nav-link:hover{text-decoration: none;color: #333;}

:root {--header-height: 3rem;}
