/**
 * CONTENTS
 *
 * SETTINGS
 * Global...............Globally-available variables and config.
 *
 * BASE
 * Headings.............H1–H6 styles.
 * Margin & Paddings
 * Colors
 *
 * OBJECTS
 * Wrappers.............Wrapping and constraining elements.
 *
 * COMPONENTS
 * Page-head............The main page header.
 * Page-foot............The main page footer.
 * Buttons..............Button elements.
 *
 */


/*------------------------------------*\
  SETTINGS
\*------------------------------------*/

body {
    background: url(../webp/page-bg.webp) no-repeat;
    background-position: 50% 576.328px;
    overflow-x: hidden;
    overflow-y: auto;
    font-family: "Microsoft JhengHei","微軟正黑體","sans-serif",arial;
}

body.fixed {
    overflow: hidden;
}

a:hover {
    text-decoration: none;
}

a:focus {
    outline: none;
}

p {
    line-height: 2;
}





/*------------------------------------*\
  BASE
\*------------------------------------*/


/**
 *  Font
 */

.font-style-italic {
    font-style: italic;
}

.text-small {
    font-size: 12px;
}

.text-uppercase {
    text-transform: uppercase;
}

.block-title {
    color: #075482;
    font-size: 20px;
    font-weight: 700;
}


/**
 *  Grid
 */

.grid {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
}

.grid__item {
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 30px;
    width: 100%;
}

    .grid-2 .grid__item {
        width: 50%;
    }

    .grid-4 .grid__item {
        width: 25%;
    }


@media(min-width: 576px) {
    .grid-md-2 .grid__item {
        width: 50%;
    }

    .grid__item {
        width: unset;
    }
}

@media(min-width: 1211px) {
    .grid-lg-3 .grid__item {
        width: 33.33333333%;
    }

    .grid-lg-4 .grid__item {
        width: 25%;
    }


    .order-lg-2 {
        order: 2;
    }

    .order-lg-1 {
        order: 1;
    }
}


/**
 *  Display
 */

.d-block {
    display: block;
}

.d-flex {
    display: flex;
}

.d-none {
    display: none;
}

.list-style-none {
    list-style: none;
}


.justify-space-between {
    justify-content: space-between;
}

.justify-center {
    justify-content: center;
}


.flex-1 {
    flex: 1;
}

.flex-2 {
    flex: 2;
}

.flex-3 {
    flex: 3;
}

.flex-4 {
    flex: 4;
}

@media(min-width: 1211px) {
    .flex-lg-1 {
        flex: 1;
    }

    .flex-lg-2 {
        flex: 2;
    }
}


/**
 *  Atom
 */

.m-d-none {
    display: none !important;
}

.m-d-show {
    display: block;
}

.w-30 {
    width: 30%;
}

.w-40 {
    width: 40%;
}

.w-50 {
    width: 50%;
}

.w-60 {
    width: 60%;
}

.w-70 {
    width: 70%;
}

.w-xs-100 {
    width: 100%;
}

@media (min-width: 1211px) {
    .m-d-none {
        display: block !important;
    }

    .m-d-none--flex {
        display: flex !important;
    }

    .m-d-show {
        display: none !important;
    }

    .container {
        max-width: 1440px;
    }

    .w-lg-40 {
        width: 40%;
    }

    .w-lg-60 {
        width: 60%;
    }
}




/**
 *  Animate
 */

.animate {
    animation-duration: 3s;
}

@keyframes fadeInLeft {
    from {
      opacity: 0;
      transform: translate3d(-40px, 0, 0);
    }
  
    to {
      opacity: 1;
      transform: none;
    }
}

@keyframes fadeInRight {
    from {
      opacity: 0;
      transform: translate3d(40px, 0, 0);
    }
  
    to {
      opacity: 1;
      transform: none;
    }
}

@keyframes fadeInDown {
    from {
      opacity: 0;
      transform: translate3d(0, -40px, 0);
    }
  
    to {
      opacity: 1;
      transform: none;
    }
}

@keyframes fadeInUp {
    from {
      opacity: 0;
      transform: translate3d(0, 40px, 0);
    }
  
    to {
      opacity: 1;
      transform: none;
    }
}

.animate__delay-800ms {
    animation-delay: 800ms;
}

.animate__delay-1s {
    animation-delay: 1s;
}


/*------------------------------------*\
  OBJECTS
\*------------------------------------*/


/**
 *  Image Container
 */

 .image-container {
    display: flex !important;
}

    .image-container__wrapper {
        width: 100%;
        padding-bottom: 100%;
        position: relative;
        overflow: hidden;
        margin: 0;
        line-height: 0;
    }

    .image-container__wrapper.ratio-16-9 {
        padding-bottom: 56.25%;
    }

    .image-container__wrapper.ratio-4-3 {
        padding-bottom: 75%;
    }

    .image-container__wrapper.ratio-3-2 {
        padding-bottom: 66.66%;
    }

        .thumb-image {
            position: absolute;
            top: 0;
            left: 0;
            bottom: 0;
            right: 0;
            transition: 0.53s;
        }

        .thumb-image:hover {
            transform: scale(1.1);
        }

            .thumb-image img {
                width: 100%;
                height: 100%;
                object-position: 50% 50%;
                object-fit: cover;
            }

            .thumb-image .object-fit-contain {
                object-fit: contain;
            }
           

/**
 *  Image Box
 */

.img-box {
    position: relative;
}

    .img-box__caption {
        position: absolute;
        bottom: 10px;
        left: 0px;
        width: 68%;
        margin-left: 8%;
        color: #ffffff;
        font-size: 30px;
    }





/*------------------------------------*\
  COMPONENTS
\*------------------------------------*/

/**
 *  custom style for Checkbox / Radio Button
 */

.option-wrap {
    display: block;
    position: relative;
    padding-left: 30px;
    cursor: pointer;
    font-size: 15px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
  
.option-wrap input {
    position: absolute;
    opacity: 0;
    left: 0;
    width: 100%;
    height: 35px;
    cursor: pointer;
    z-index: 1;
}

.checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 18px;
    width: 18px;
    background-color: transparent;
    border: 1px solid #ddd;
    border-radius: 1px;
}
  
.option-wrap:hover input ~ .checkmark {
    background-color: transparent;
}

.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

.option-wrap input:checked ~ .checkmark {
    border-color: #f08300;
    background-color: #f08300;
}

.option-wrap input:checked ~ .checkmark:after {
   display: block;
   background-color: #f08300;
}

.option-wrap .checkmark:after {
    left: 5px;
    top: 1px;
    width: 6px;
    height: 11px;
    border: solid #fff;
    border-width: 0 1.5px 1.5px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}


/* radio button */
.radio-option .checkmark {
    height: 25px;
    width: 25px;
    border: 1px solid #bbb;
    border-radius: 50%;
    background-color: #fff;
}

.radio-option input:checked ~ .checkmark {
    border-color: #bbb;
    background-color: #fff;
}

.radio-option .checkmark:after {
    left: 7px;
    top: 6px;
    width: 10px;
    height: 10px;
    background-color: #7f7d7d;
    border-radius: 50%;
    transform: none;
}

.radio-option input:checked ~ .checkmark:after {
    background-color: #7f7d7d;
}



/**
 *  Button
 */

.button {
    display: inline-block;
    padding: 10px 20px;
    font-size: 20px;
    border-radius: 50px;
    border: 1px solid transparent;
    transition: 0.3s;
    cursor: pointer;
    /* border: none; */
}

.button:focus {
    outline: none;
}

.button > i {
    position: relative;
    top: -1px;
}

.button-primary {
    color: #fff;
    background: #64d0da;
}

.button-primary:hover {
    color: #64d0da;
    background: #fff;
    border: 1px solid #64d0da;
}

.button-outline--white {
    color: #fff;
    border: 1px solid #fff;
}

.button-outline--white:hover {
    color: #64d0da;
    background-color: #fff;
}

.button-gradient {
    position: relative;
    font-size: 16px;
    color: #fff;
    overflow: hidden;
    border: 1px solid transparent;
}

.button-gradient::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: -webkit-linear-gradient(left, #64d0da, #34b2e4);
    background: -o-linear-gradient(left, #64d0da, #34b2e4);
    background: linear-gradient(to right, #64d0da, #34b2e4);
    transition: all 0.5s ease-in-out;
    z-index: -1;
}

.button-gradient::after {
    content: '';
    position: absolute;
    top: 0;
    left: -150%;
    width: 150%;
    height: 100%;
    background: -webkit-linear-gradient(left, #ffffff 67%, #64d0da);
    background: -o-linear-gradient(left, #ffffff 67%, #64d0da);
    background: linear-gradient(to right, #ffffff 67%, #64d0da);
    transition: all 0.5s ease-in-out;
    z-index: -1;
}

.button-gradient:hover,
.button-gradient.active {
    color: #34b2e4;
    border: 1px solid #34b2e4;
}

.button-gradient.active::before,
.button-gradient:hover::before {
    left: 100%;
}

.button-gradient.active::after,
.button-gradient:hover::after {
    left: 0%;
}


.button--more {
    padding: 4px 20px;
    color: #fff;
    font-size: 16px;
    background-color: #64d0da;
    border: 1px solid #fff;
    border-radius: 50px;
    transition: 0.3s;
}

.button--more:hover {
    color: #64d0da;
    background: #fff;
    border: 1px solid #64d0da;
}

    .button--more i {
        margin-left: 15px;
    }


.button--add-to-cart {
    font-size: 14px;
    color: #075482;
    transition: 0.3s;
}

.button--add-to-cart:hover {
    color: #83a9c0;
}

    .button--add-to-cart i {
        margin-right: 5px;
    }


.button--large {
    padding: 6px 18px;
    font-size: 18px;
    color: #fff;
    border: 1px solid #fff;
    border-radius: 50px;
    background-color: #64d0da;
}

.button--large .text {
    display: none;
}


.button--large:hover {
    color: #64d0da;
    background-color: #fff;
    border: 1px solid #64d0da;
}

@media(min-width: 576px) {
    .button--large {
        padding: 17px 29px;
        font-size: 22px;
    }

    .button--large .text {
        display: inline-block
    }
}


.button--icon > i {
    font-size: 18px;
    margin-left: 15px;
}


.button--dark {
    color: #333;
}


.button--del {
    font-size: 28px;
    color: #64d0da;
    transition: 0.3s;
}


.button--del:hover {
    color: #34b2e4;
}


.button--close {
    cursor: pointer;
}


.button--round {
    background-color: #2eb3bf;
    padding: 10px 40px;
    border-radius: 50px;
    color: #fff;
    font-size: 18px;
    letter-spacing: 1px;
}

.button--round:hover {
    background-color: #43c6d2;
}


@keyframes swipeRight {
    0% {
        background-position-x: 0;
    }
    100% {
        background-position-x: 100%;
    }
}


/**
 *  Table
 */

.table-border {
    width: 100%;
    max-width: 600px;
}

.table-border td {
    border: 1px solid #333;
    padding: 5px;
}



/**
 *  Back to Top
 */

.back-to-top {
    position: fixed;
    bottom: 80px;
    right: 20px;
    cursor: pointer;
    display: none;
    z-index: 99;
}

.back-to-top img {
    width: 50px;
}



/**
 *  Side Floats
 */

.side-floats {
    position: fixed;
    bottom: 40%;
    right: 0;
}

.side-floats__contact {
    -webkit-writing-mode: vertical-lr;
    writing-mode: vertical-lr;
    padding: 10px 0px;
    color: #fff;
    font-size: 18px;
    text-align: center;
    letter-spacing: 3px;
    border-radius: 3px;
    background-color: #34b2e4;
    -webkit-box-shadow: 0 0 7px 0 rgb(0 0 0 / 40%);
    box-shadow: 0 0 7px 0 rgb(0 0 0 / 40%);
}

.side-floats__contact:hover {
    color: #fff;
}





/**
 *  Banner
 */

.banner {
    position: relative;
}

    .banner-text {
        position: absolute;
        top: 0;
        left: 0;
    }


/**
 *  Header
 */

.header {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 999999;
    transition: 0.3s;
}

.header.sticky {
    background-color: rgba(255, 255, 255, 0.9);
}

.header .header-row * {
    transition: 0.3s;
}

.header-row {
    display: flex;
}

.topbar {
    position: absolute;
    width: 1440px;
    max-width: 100%;
    padding: 0 40px;
}

.topbar__features {
    display: flex;
    margin-top: 9px;
    margin-bottom: 9px;
}

    .topbar__features .item {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 32px;
        height: 32px;
        margin: 0 7px;
        color: #64d0da;
        border: 1px solid #64d0da;
        border-radius: 50%;
    }

    .topbar__features .item:hover {
        opacity: 0.5;
    }


.site-logo {
    line-height: 90px;
}

.site-nav {
    position: relative;
    top: 50px;
    height: 90px;
    padding: 0 40px;
    background-color: rgba(255, 255, 255, 0.75);
    border-radius: 50px;
    transition: 0.2s;
}

    .site-nav__menu {
        display: flex;
        margin-bottom: 0;
        padding-left: 0;
        justify-content: space-between;
    }

        .site-nav__menu a {
            position: relative;
            display: inline-block;
            width: 108px;
            font-size: 18px;
            text-align: center;
            line-height: 90px;
            color: #075482;
            margin: 0 15px;
        }

        .site-nav__menu > li > a::before {
            content: '';
            position: absolute;
            top: 27px;
            left: 0;
            width: 104px;
            height: 35px;
            border: 1px solid #075482;
            border-radius: 50px;
            pointer-events: none;
            opacity: 0;
            transition: 0.3s;
        }

        .site-nav__menu > li > a.active::before,
        .site-nav__menu > li > a:hover::before {
            opacity: 1;
        }

    .site-nav__menu .drop__content ul {
        width: 60%;
        flex-wrap: wrap;
        padding-top: 10px;
        padding-bottom: 60px;
    }

    .site-nav__menu .drop__content ul > li {
        width: 25%;
    }

    .site-nav__menu .drop__content ul > li > a {
        border: 1px solid transparent;
        border-radius: 20px;
        padding: 10px 15px;
        line-height: initial;
        min-width: 134px;
        margin: 10px 0;
    }

    .site-nav__menu .drop__content ul > li > a:hover {
        border: 1px solid #075482;        
    }


.header.sticky .topbar {
    display: none;
}

.header.sticky .site-nav {
    top: 0;
    height: 60px;
    border-radius: 0;
    margin-left: -15px;
    margin-right: -15px;
    background-color: transparent;
}

    .header.sticky .site-logo{
        line-height: 60px;
        height: 60px;
    }

    .header.sticky .site-nav__menu > li > a {
        line-height: 60px;
        height: 60px;
    }  

    .header.sticky .site-nav__menu > li > a::before {
        top: 13px;
    }


/**
 *  Mobile Nav
 */

 .mobile__nav {
    display: none;
    z-index: 99;
    transition: 0.3s;
}
    .toggle {
        cursor: pointer;
        width: 16px;
        height: 14px;
    }

        .toggle-icon {
            width: 16px;
            height: 14px;
            position: relative;
            margin: 0;
            -webkit-transform: rotate(0deg);
            -moz-transform: rotate(0deg);
            -o-transform: rotate(0deg);
            transform: rotate(0deg);
            -webkit-transition: .5s ease-in-out;
            -moz-transition: .5s ease-in-out;
            -o-transition: .5s ease-in-out;
            transition: .5s ease-in-out;
            cursor: pointer;
        }
          
        .toggle-icon span {
            display: block;
            position: absolute;
            height: 2px;
            width: 100%;
            background-color: #333;
            border-radius: 12px;
            opacity: 1;
            left: 0;
            -webkit-transform: rotate(0deg);
            -moz-transform: rotate(0deg);
            -o-transform: rotate(0deg);
            transform: rotate(0deg);
            -webkit-transition: .25s ease-in-out;
            -moz-transition: .25s ease-in-out;
            -o-transition: .25s ease-in-out;
            transition: .25s ease-in-out;
        }
    
        .toggle-icon span:nth-child(1) {
            top: 0px;
            -webkit-transform-origin: left center;
            -moz-transform-origin: left center;
            -o-transform-origin: left center;
            transform-origin: left center;
        }
          
        .toggle-icon span:nth-child(2) {
            top: 5px;
            -webkit-transform-origin: left center;
            -moz-transform-origin: left center;
            -o-transform-origin: left center;
            transform-origin: left center;
        }
          
        .toggle-icon span:nth-child(3) {
            top: 10px;
            -webkit-transform-origin: left center;
            -moz-transform-origin: left center;
            -o-transform-origin: left center;
            transform-origin: left center;
        }

        .toggle-icon.open span:nth-child(1) {
            -webkit-transform: rotate(45deg);
            -moz-transform: rotate(45deg);
            -o-transform: rotate(45deg);
            transform: rotate(45deg);
            top: -1px;
            left: 0;
        }
          
        .toggle-icon.open span:nth-child(2) {
            width: 0%;
            opacity: 0;
        }
          
        .toggle-icon.open span:nth-child(3) {
            -webkit-transform: rotate(-45deg);
            -moz-transform: rotate(-45deg);
            -o-transform: rotate(-45deg);
            transform: rotate(-45deg);
            top: 11px;
            left: 0;
        }
    
    .slide-sidebar {
        position: fixed;
        top: 0;
        z-index: -2;
        width: 260px;
        height: 100%;
        background: #fff;
        right: -260px;
        opacity: 0;
        transition: .3s;
        pointer-events: none;
    }

    .slide-sidebar.active {
        opacity: 1;
        z-index: -1;
        pointer-events: initial;
    }

        .slide-sidebar > .content {
            padding-left: 0;
            position: sticky;
            top: 0;
        }

        .slide-sidebar > .content > ul {
            height: 100vh;
            overflow: auto;
        }

            .slide-sidebar li a {
                display: flex;
                justify-content: space-between;
                align-items: center;
                padding: 14px 20px;
                width: 100%;
                letter-spacing: 2px;
                font-size: 16px;
                border-bottom: 1px solid #eeeeee;
                color: #333;
            }


            .slide-sidebar .button--close {
                background: -webkit-gradient(linear, left top, right top, from(#34b2e4), to(#64d0da));
                background: -webkit-linear-gradient(left, #34b2e4, #64d0da);
                background: -o-linear-gradient(left, #34b2e4, #64d0da);
                background: linear-gradient(to right, #34b2e4, #64d0da);
            }

            .slide-sidebar .button--close > a {
                color: #fff;
            }

            .slide-sidebar .button--close > a svg {
                stroke: #fff;
            }

            


            .slide-sidebar .menu {
                border-bottom: 1px solid rgba(255, 255, 255, 0.80);
                padding-bottom: 10px;
            }

                .slide-sidebar .menu a {
                    border-bottom: none;
                    padding: 10px 0;
                }
            
            .slide-sidebar .collapse__button {
                transition: .3s;
            }

            .slide-sidebar .collapse__button.active {
                position: relative;
                background-color: #62cfda;
            }

            .slide-sidebar .collapse__button.active::after {
                position: absolute;
                content: url(../arrow-dropleft.html);
                bottom: -16px;
                left: 50%;
                transform: translateX(-50%);
            }

            .slide-sidebar .collapse__content {
                padding-left: 0;
            }

            .slide-sidebar .collapse__content > ul {
                background-color: #f4f4f4;
            }


    .site-content {
        position: relative;
        transition: 0.3s;
    }

    .site-content.pushed::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        background-color: rgba(0, 0, 0, 0.6);
        width: 100%;
        height: 100%;
        z-index: 9;
    }

    .site-content.pushed .header {
        background-color: rgb(99 100 102);
        box-shadow: none;
    }

    .site-content.pushed .locale {
        position: sticky;
    }

    .pushed {
        transform: translateX(-260px);
    }


@media (max-width: 1211px) {
    .header {
        background-color: rgba(255, 255, 255, 1);
        box-shadow: 0 0 20px 10px rgb(230 230 230 / 60%);
        transition: background-color 0s;
    }

    .header.sticky {
        position: sticky;
    }

    .mobile__nav {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-left: -15px;
        margin-right: -15px;
        padding: 15px;
    }

    .site-logo-mobile img {
        height: 35px;
    }

    .site-content {
        padding-bottom: 50px;
    }

}




/**
 *  Sidebar
 */



/**
 *  Dropdown
 */

.drop__content {
    display: none;
    position: absolute;
    left: 0;
    width: 100%;
}

.drop:hover .drop__content {
    display: flex;
}


/**
 * Collapse
 */

 .collapse__content {
    display: none;
    padding-left: 15px;
}

    .collapse__svg {
        display: none;
    }

    .collapse__button {
        display: -webkit-flex;
        display: flex;
        align-items: center;
    }

    .collapse__button.active {
        background-color: #F39800;
        color: #fff;
    }
    
    .collapse__item svg {
        width: 16px;
        height: 16px;
        stroke: #333;
        transition: .3s;
    }

    .slide-sidebar .collapse__content .collapse__button.active {
        background-color: #57a3ab;
    }

    .slide-sidebar .collapse__content .collapse__content {
        padding-left: 17px;
    }

/**
 * Popup
 */

.popup {
    position: relative;
    z-index: -9999999;
    opacity: 0;
    transition: opacity 0.5s;
}
 
.popup.active {
    z-index: 9999999;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(37, 37, 37, 0.8);
}

    .popup__content {
        position: fixed;
        top: 50%;
        left: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        transform: translate(-50%, -50%);
        width: 100%;
        height: 100%;
    }

    .popup--modal .popup__content {
        background-color: #fff;
        padding: 20px 40px;
        width: 800px;
        max-width: 95%;
        height: 200px;
    }

    .popup--media .popup__content {
        padding: 20px 40px;
    }

    .popup.active  {
        opacity: 1;
    }


.button--popup-close {
    position: absolute;
    right: 32px;
    top: 30px;
}

.button--popup-close svg {
    width: 18px;
    height: 18px;
}

.popup--media .button--popup-close svg {
    width: 20px;
    height: 20px;
    stroke: #fff;
    stroke-width: 5;
}


/**
 *  Search
 */

.search .form {
    display: flex;
    justify-content: space-between;
    width: 100%;
    text-align: center;
    flex-direction: column;
}

    .search-field {
        width: 100%;
        padding: 10px 15px;
        border: 2px solid #ebebeb;
        color: #4d4d4d;
        letter-spacing: 1px;
        margin-top: 20px;
        margin-bottom: 20px;
    }

    .search .button--popup-close {
        right: 12px;
        top: 15px;
    }

@media (min-width: 576px) {
    .search .form {
        width: 90%;
        flex-direction: row;
    }

    .search-field {
        width: 80%;
        margin-top: 0;
        margin-bottom: 0;
    }
}

/**
 *  Pagination
 */

.pagination__item a {
    position: relative;
    display: block;
    width: 100px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    transition: 0.3s;
}

.pagination__item .page-quick-link {
    width: 67px;
}

    .pagination__item .page-quick-link svg {
        position: absolute;
        top: 10px;
        stroke-width: 3;
    }

    .pagination__item.prev .page-quick-link svg {
        left: 10px;
    }

    .pagination__item.next .page-quick-link svg {
        right: 10px;
    }


.pagination .page-item a {
    background: url(../png/pagination.png) no-repeat;
}

.pagination .page-item a:hover,
.pagination .page-item a.active {
    background: url(../png/pagination_active.png) no-repeat;
}

.pagination .prev a {
    background: url(../png/pagination_prev.png) no-repeat;
}

.pagination .prev a:hover {
    background: url(../png/pagination_prev_active.png) no-repeat;
}

.pagination .next a {
    background: url(../png/pagination_next.png) no-repeat;
}

.pagination .next a:hover {
    background: url(../png/pagination_next_active.png) no-repeat;
}
 

/**
 *  Carousel
 */

.slick-arrow {
    cursor: pointer;
}

.carousel-container {
    position: relative;
}

.carousel-control {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    justify-content: space-between;
    width: 100%;
}

.carousel-control .slick-arrow {
    position: absolute;
}

    .carousel-control .prev {
        left: 0;
    }

    .carousel-control .next {
        right: 0;
    }

        .carousel-control .slick-arrow img {
            height: 30px;
        }


.carousel-news {
    width: 900px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.carousel-certificate .item {
    padding: 25px;
    cursor: pointer;
}

.carousel-certificate .carousel-control .slick-arrow img {
    height: 70px;
}


@media(max-width: 576px) {
    .carousel-news ~ .carousel-control, 
    .carousel-certificate ~ .carousel-control {
        display: none;
    }
}


.slick-lightbox {
    z-index: 999999;
}




/**
 *  Video
 */


.video__container {
    position: absolute;
    width: 60%;
    margin: 80px auto;
}

.video__play {
    position: relative;
    padding-bottom: 56.25%;
    overflow: hidden;
}

.video__play iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media (max-width: 576px) {
    .video__container {
        width: 90%;
    }
}



/**
 *  Info Card
 */

.ellipsis {
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ellipsis-2 {
    -webkit-line-clamp: 2;
}

.ellipsis-3 {
    -webkit-line-clamp: 3;
}


.info-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 15px 15px 25px 15px;
    border-radius: 20px;
    box-shadow: 0 0 5px 0 #f2f2f2;
    border: none;
    transition: 0.3s;
}

.info-card:hover {
    box-shadow: 0 0 7px 0 #d0d0d0;
}

    .info-card .category {
        color: #64d0da;
        transition: 0.3s;
    }


    .info-card .title {
        color: #34b2e4;
        display: -webkit-box;
        /* height: 52px; */
        margin-bottom: 10px;
        font-size: 18px;
        transition: 0.3s;
    }

    .info-card .summary {
        margin-bottom: 20px;
    }

    .info-card .title:hover {
        color: #075482;
    }

    .info-card .card-footer {
        display: flex;
        justify-content: space-between;
        align-items: center;
        background-color: transparent;
        border-top: none;
        padding: 0;
        margin-top: auto;
    }

    .info-card .card-footer .cart {
        flex: 1;
    }


.info-card--post {
    background: rgba(255, 255, 255, 0.5);
    box-shadow: 0 0 5px 0 #f2f2f2;
}

    .info-card--post .image-container__wrapper {
        border-radius: 10px;
        margin-bottom: 20px;
    }

    .info-card--post .title {
        color: #075482;
        font-size: 24px;
    }

    .info-card--post .title:hover {
        color: #64d0da;
    }

    .info-card--post .date {
        font-size: 14px;
        color: #b3b3b3;
    }



/**
 *  Tabs
 */

.tabs__content {
    padding: 20px 10px;
}

.tabs__menu {
    display: flex;
    width: 100%;
}

    .tab {
        position: relative;
        flex: 1;
        color: #34b2e4;
        font-size: 18px;
        font-weight: bold;
        line-height: 32px;
        text-align: left;
        padding: 6px 0;
        border-bottom: 2px solid #b3b3b3;
    }

    .tab:hover {
        color: #34b2e4;
    }

    .tab::before {
        content: '';
        position: absolute;
        left: 50%;
        bottom: -2px;
        width: 0;
        height: 2px;
        background-color: #34b2e4;
        transform: translateX(-50%);
        transition: all 0.3s ease-in-out;
    }

    .tab:hover::before,
    .tab.active::before {
        width: 100%;
    }

    


    [data-tab-content] {
        display: none;
        padding-top: 15px;
        padding-left: 15px;
        padding-right: 15px;
    }
    
    [data-tab-content].active {
        display: block;
    }
 

@media(min-width: 576px) {
    .tab {
        padding: 6px 20px;
        color: #34b2e4;
        font-size: 22px;
        font-weight: 700;
        text-align: center;
        line-height: 55px;
    }

    .tab::before {
        height: 4px;
        bottom: -3px;
    }

        .tabs__content {
            padding: 40px 30px;
        }

        [data-tab-content] {
            padding: 0;
        }
}


/**
 *  Section
 */

.section {
    padding-top: 30px;
    padding-bottom: 30px;
}

.section__header {
    margin-bottom: 20px;
}

.section__header .heading {
    font-size: 30px;
    font-weight: 700;
    color: #34b2e4;
    letter-spacing: 3px;
    margin-bottom: 0;
}

    .section__header .subheading {
        font-weight: 400;
        color: #64d0da;
        font-size: 20px;
    }


.section__header h1 {
    font-size: 30px;
}

.section__header h2 {
    font-size: 20px;
}

@media (min-width: 1211px) {
    .section__header h1 {
        font-size: 40px;
    }

}

.underline::after {
    content: url(../svg/heading-line.svg);
    display: block;
    margin-top: -18px;
}

.underline-2::after {
    content: url(../svg/heading-line-2.svg);
}

.underline-blue::after {
    content: url(../svg/heading-blue.svg);
}

.underline-gray::after {
    content: url(../svg/heading-gray.svg);
}


.section--new-product {
    width: 1440px;
    max-width: 100%;
    margin-top: 0;
    margin-left: 0;
    margin-right: 0;
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 50px;
}

    .section--new-product .section__header {
        display: table;
        margin: unset;
    }

        .section--new-product .heading {
            color: #075482;
        }

    .section--new-product .img-box {
        position: relative;
        overflow: hidden;
    }

    .section--new-product .img-box__image::before {
        position: absolute;
        content: '';
        width: 50px;
        height: 50px;
        background: url(../svg/plus.svg) no-repeat;
        background-size: 98%;
        top: 80%;
        left: 84%;
        z-index: 3;
        -webkit-transition: all 0.3s ease-in-out;
        -o-transition: all 0.3s ease-in-out;
        transition: all 0.3s ease-in-out;
    }

    .section--new-product .img-box__image::after {
        position: absolute;
        content: '';
        bottom: -100px;
        right: -100px;
        width: 200px;
        height: 200px;
        background: linear-gradient(to right, rgba(100, 208, 218, 0.5), rgba(7, 84, 130, 0.5));
        border-radius: 50%;
        -webkit-transition: all 0.3s ease-in-out;
        -o-transition: all 0.3s ease-in-out;
        transition: all 0.3s ease-in-out;
    }

    .section--new-product .img-box__image:hover::after {
        bottom: 0;
        right: 0;
        width: 100%;
        height: 100%;
        border-radius: 0;
    }

    .section--new-product .img-box__image:hover::before {
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .section--new-product .carousel-control {
        top: 45%;
        display: none;
    }

        .section--new-product .slick-arrow img {
            height: 60px;
        }

        .section--new-product .prev.slick-arrow {
            left: -50px;
        }

        .section--new-product .next.slick-arrow {
            right: -50px;
        }



    .section.section--home-about {
        padding: 60px 0 122px;
        background: url(../webp/home-about-bg.webp) no-repeat;
        background-size: cover;
        color: #fff;
    }


    .section--home-about .heading,
    .section--home-about .subheading {
        color: #fff;
    }

    .section--home-about .button-wrapper {
        text-align: center;
    }

    .section--home-about .media-play {
        position: relative;
        cursor: pointer;
    }

        .section--home-about .media-play i {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            transition: 0.3s;
            font-size: 80px;
            color: rgba(0, 0, 0, 0.8);
            transition: 0.3s;
        }

        .section--home-about .media-play i:hover {
            color: #ff0000;
        }

.section--home-slogan {
    padding: 70px 0 120px;
    text-align: center;
    background: url(../webp/home-slogan-bg.webp) center no-repeat;
    background-size: cover;
}

    .section--home-slogan .heading {
        margin-bottom: 30px;
        color: #64d0da;
        font-weight: 700;
        font-size: 20px;
        letter-spacing: 1px;
    }

    .section--home-slogan p {
        font-weight: 700;
        font-size: 16px;
        letter-spacing: 1px;
        line-height: 2;
    }


.section--home-adv {
    padding: 120px 0 190px;
    background: url(../webp/home-advantages-bg.webp) no-repeat;
    background-size: cover;
    background-position: 22% center;
}

.section--home-news .button-wrapper {
    text-align: center;
}

.section--home-news .carousel-control .slick-arrow img {
    height: 70px;
}

.seam {
    text-align: center;
    animation: rotate 0.8s forwards;
}

.seam-smaller img {
    width: 21px;
}

@keyframes rotate {
    0% {
        transform: none;
    }
    100% {
        transform: rotate(360deg);
    }
}


@media (min-width: 576px) {
    .section--new-product {
        max-width: 540px;
        margin-top: 100px;
        margin-left: auto;
        margin-right: auto;
        padding-bottom: 0;
    }

    .section--home-slogan .heading {
        font-size: 32px;
        letter-spacing: 6px;
    }

    .section--home-slogan p {
        line-height: 2.5;
        font-size: 18px;
        letter-spacing: 2px;
    }

    .section--home-adv {
        background-size: contain;
        background-position: center 80%;
    }
    
    .section--new-product .carousel-control {
        display: block;
    }

}


@media (min-width: 768px) {
    .section--new-product {
        max-width: 720px;
    }

    .section--home-about .button-wrapper {
        text-align: right;
    }

    .section.section--home-slogan {
        padding: 170px 0 180px;
    }
}


@media (min-width: 1211px) {
    .section {
        padding-top: 50px;
        padding-bottom: 50px;
    }

    .section__header .heading {
        font-size: 40px;
    }

    

    .section--home-about .grid__item--text {
        margin-right: 1.5em;
        padding-left: 1.5em;
        padding-right: 1.5em;
    }

    .section--new-product {
        max-width: 100%;
        
    }

    .section--new-product .section__header {
        margin: auto;
    }

    .section--home-news .button-wrapper {
        text-align: right;
    }
}




/**
 *  input
 */

.input__group .form-label {
    margin-bottom: 5px;
}

.input__group input,
.input__group select,
.input__group textarea {
    width: 100%;
    height: 40px;
    padding: 0 10px;
    border: 1px solid #bbb;
    border-radius: 5px;
    outline: none;
}

.input__group input:focus,
.input__group textarea:focus {
    border: 1px solid #34b2e4;
}

.input__group textarea {
    height: 150px;
    padding: 20px;
}

.required {
    color: #f5576c;
}


/**
 *  Page
 */

.menubar {
    display: flex;
    justify-content: center;
    align-items: center;
}

    .menubar--4 .item {
        width: 20%;
        margin: 15px;
    }


.desc img {
    max-width: 100%;
    height: auto;
}


/* timelime */

.timeline {
    position: relative;
    justify-content: space-between;
}

.timeline::before {
    position: absolute;
    content: "";
    top: 0;
    left: 50%;
    width: 4px;
    height: 100%;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(95%, #075481), to(transparent));
    background: -webkit-linear-gradient(top, #075481 95%, transparent);
    background: -o-linear-gradient(top, #075481 95%, transparent);
    background: linear-gradient(to bottom, #075481 95%, transparent);
    -webkit-transform: translate(-50%, 0%);
    -ms-transform: translate(-50%, 0%);
    transform: translate(-50%, 0%);
}

    .timeline .event {
        position: relative;
        width: calc(50% - 30px);
    }

        .event .content {
            width: 80%;
        }

    .event:nth-child(odd) {
        text-align: right;
    }

        .event:nth-child(odd) .content {
            margin-left: auto;
        }

    .event:nth-child(even) {
        margin-top: 80px;
    }

        .event:nth-child(even) .content {
            margin-right: auto;
        }

        .event .dot {
            position: absolute;
            display: block;
            top: 23px;
            width: 20px;
            height: 20px;
            background: #075481;
            border-radius: 50%;
        }

        .event .dot::before {
            position: absolute;
            display: block;
            content: '';
            top: 2px;
            left: 2px;
            width: 16px;
            height: 16px;
            background: #fff;
            border-radius: 50%;
        }

        .event:nth-child(odd) .dot {
            right: -40px;
        }

        .event:nth-child(even) .dot {
            left: -40px;
        }

        .event .date {
            color: #34b2e4;
            font-size: 36px;
            font-weight: 700;
        }

        .event .title {
            color: #075482;
            font-size: 24px;
            font-weight: 700;
        }

        .timeline img {
            max-width: 100%;
            margin-top: 15px;
        }


@media(max-width: 1211px) {
    .timeline {
        margin-left: 20px;
        margin-right: 0;
    }
    
    .timeline::before {
        left: 0;
    }

    .timeline .event {
        width: 100%;
        text-align: left;
        padding-left: 50px;
        margin-top: 80px;
    }

    .timeline .event .content {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

    .timeline .event .dot {
        left: -10px;
        right: unset;
    }
}


/* patent */


.patent {
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 50px;
    padding: 40px 20px;
    background-color: #fff;
    box-shadow: 2px 2px 10px 0 #ccc;
    border-radius: 40px;
    font-size: 18px;
}

    .patent .block--info {
        position: relative;
        margin-bottom: 30px;
        padding-right: 0;
        padding-bottom: 40px;
    }

    .patent .block--info::after {
        content: '';
        position: absolute;
        right: 0;
        top: unset;
        bottom: 0;
        width: 100%;
        height: auto;
        border-right: none;
        border-bottom: 1px dashed #34b2e4;
    }

        .patent .block--info .info {
            color: #003B8F;
            font-size: 18px;
        }

            .patent .block--info .info > i {
                margin-right: 3px;
            }

            .patent .block--info .info > img {
                margin-right: 5px;
            }


        .patent .block--awards {
            width: 100%;
            line-height: 1.2em;
        }
           
        .patent .block--awards ul {
            padding-left: 0;
        }

        .patent .block--awards ul li {
            margin-top: 5px;
            margin-bottom: 5px;
        }

        .patent .block--awards i {
            position: relative;
            color: #34b2e4;
            font-size: 14px;
            margin-right: 5px;
            line-height: 22px;
        }


        .patent .head {
            display: flex;
            align-items: center;
        }

        .patent .head .title {
            color: #34b2e4;
            font-size: 24px;
            font-weight: bold;
        }

        .patent p {
            line-height: inherit;
        }

       
@media (min-width: 1211px) {
    .patent {
        flex-direction: row;
        align-items: center;
        padding: 40px 50px;
    }

        .patent .block--info::after {
            top: 0;
            height: 100%;
            border-right: 1px dashed #34b2e4;
            border-bottom: none;
        }

        .patent .block--info {
            margin-bottom: 0;
            padding-bottom: 0;
            padding-right: 80px;
        }
        
            .patent .block--awards ul {
                padding-left: 1.5rem;
            }

            .patent .block--awards > ul > li > span:nth-child(1) {
                padding-right: 30px;
            }

            .patent .block--awards > ul > li > span:nth-child(2) {
                width: 100px;
            }
    
}

/* file */

.file {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 140px 14px 30px;
    background: rgba(100, 208, 218, 0.15);
    border-radius: 50px;
}

    .file__name {
        color: #075482;
        font-weight: 700;
        font-size: 22px;
        flex: 1;
    }

    .file__name:hover {
        color: #075482;
    }

        .file__name i {
            color: #34b2e4;
            margin-right: 15px;
        }


    .file__download {
        color: #64d0da;
        transition: 0.3s;
    }

    .file__download:hover {
        color: #34b2e4;
    }

        .file__download i {
            margin-right: 10px;
        }

@media(max-width: 576px) {
    .file {
        padding: 14px 30px;
        margin-bottom: 20px;
    }

    .file__name {
        font-size: 18px;
    }
}


/* page-news-details */

.page-news-details .heading {
    color: #075482;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0;
}

.page-news-details .heading::after {
    display: block;
    content: '';
    width: 100%;
    height: 5px;
    background: -webkit-gradient(linear, left top, right top, from(#34b2e4), to(#64d0da));
    background: -webkit-linear-gradient(left, #34b2e4, #64d0da);
    background: -o-linear-gradient(left, #34b2e4, #64d0da);
    background: linear-gradient(to right, #34b2e4, #64d0da);
    margin-top: 5px;
}

.page-news-details .date {
    color: #64d0da;
    font-size: 14px;
}

@media(min-width: 576px) {
    .page-news-details .heading {
        font-size: 32px;
    }
}




/* page-product */

.page-product .desc {
    color: #075482;
}



/* page-product-details */
.page-product-details .section__header h1 {
    font-size: 32px;
}

.page-product-details .p-info .button--add-to-cart.added {
    color:#64d0da;
    background-color: #fff;
    border: 1px solid #64d0da;
}

.product-summary {
    white-space: pre-line;
}



/* page-product-innovation */

.page-product-innovation .info-card {
    background: rgba(255, 255, 255, 0.5);
    -webkit-box-shadow: 0 0 5px 0 #f2f2f2;
    box-shadow: 0 0 5px 0 #f2f2f2;
}



/* page-partner */

.page-partner .heading {
    color: #075482;
    font-size: 32px;
    font-weight: 700;
}




/* page-contact */

.page-contact a {
    color: #64d0da;
}

.page-contact a:hover {
    color: #34b2e4;
}

.contact-info {
    font-size: 16px;
}



/* inquiry */

.inquiry-list .item-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

    .inquiry-list .item-row a {
        display: flex;
        align-items: center;
    }

    .inquiry-list .item-row .image-container {
        width: 160px;
        margin-right: 15px;
        border-radius: 15px;
        overflow: hidden;
        background-color: #fff;
    }

    .inquiry-list .item-row .title {
        color: #075482;
        font-size: 22px;
        font-weight: 700;
    }


.inquiry-list .cart-product-remove a {
    font-size: 22px;
}


/**
 *  Product
 */

.p-info__title {
    color: #075482;
    font-weight: 700;
}


.p-info__brand {
    color: #64d0da;
    font-size: 14px;
    overflow: hidden;
}


.p-info .underline-blue::after {
    margin-top: 5px;
}


.p-info__label {
    margin-top: 15px;
    margin-bottom: 10px;
    color: #34b2e4;
    font-size: 22px;
    font-weight: 700;
}


.p-info .desc {
    margin-bottom: 30px;
}



/* product table */

.p-details table {
	width: 100%;
	min-width: 900px;
	border: 1px solid #000;
    border-collapse: collapse;
}

.p-details table p {
    margin-bottom: 0;
}

.p-details table td {
	padding: 5px;
}

.p-details table tr:nth-child(1) td {
	background-color: #64d0da;
	text-align: center;
}

.p-details table tr:nth-child(1) td span {
	color: #FFFFFF;
	font-size: 18px;
	font-weight: bold;
}

.p-details table tr:not(:first-child) td:nth-child(1) {
	min-width: 125px;
	text-align: center;
	background: rgb(238, 238, 238);
}




/**
 *  Footer
 */

.footer {
    background: url(../png/footer-bg.png) top center no-repeat;
    background-size: cover;
    
    color: #fff;
}

    .footer__content {
        display: flex;
        justify-content: space-between;
        padding: 140px 0 45px;
    }

    .footer__info {
        flex: 2;
        line-height: 1.8;
        letter-spacing: 1px;
        font-weight: 500;
        font-size: 18px;
    }

    .footer__info li i {
        width: 18px;
        text-align: center;
        margin-right: 5px;
    }

    .footer__menu {
        display: flex;
        justify-content: space-between;
        flex: 4;
        padding-left: 30px;
        padding-right: 30px;
    }

        .menu-col {
            padding-left: 15px;
            padding-right: 15px;
        }

            .menu-col__title {
                position: relative;
                margin-bottom: 30px;
                color: #fff;
                font-size: 20px;
                font-weight: 700;
            }

            .menu-col__title::before {
                position: absolute;
                top: 3px;
                left: -15px;
                content: url(../svg/footer-seam.svg);
            }

    .footer a {
        color: #fff;
    }

    .media a {
        display: inline-block;
        width: 26px;
        line-height: 26px;
        text-align: center;
        color: #34b2e4;
        background-color: #fff;
        border-radius: 50%;
        margin-right: 10px;
    }

    .copyright {
        text-align: center;
        border-top: 1px solid #a5e0ef;
        padding-top: 8px;
        padding-bottom: 8px;
    }


@media(max-width: 1211px) {
    .footer__content {
        text-align: center;
    }

    .footer__menu {
        display: none;
    }

    .footer__content .media {
        justify-content: center;
    }
    
}




/**
 *  Bottom Nav
 */

.bottom-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50px;
    display: flex;
    align-items: center;
    background: #64d0da;
    box-shadow: 0 0 10px rgb(0 0 0 / 30%);
    -webkit-box-shadow: 0 0 10px rgb(0 0 0 / 30%);
}

    .bottom-nav .item {
        width: 50%;
        text-align: center;
        color: #fff;
    }

        .bottom-nav .item span {
            display: block;
            font-size: 14px;
        }



/**
 *  locale
 */

 .locale {
    position: fixed;
    top: 0;
    width: 100%;
    background-color: #252525;
    z-index: 9;
    display: none;
}

.locale.active {
    display: block;
}

.locale.active ~ .header {
    top: 130px;
}

.locale.active ~ .banner {
    margin-top: 130px;
}

    .locale-content {
        width: 90%;
        margin-left: auto;
        margin-right: auto; 
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding-top: 15px;
        padding-bottom: 15px;
        color: #fff;
        height: 130px;
    }

    .locale-content .form-control {
        background-color: rgb(254 254 254 / 90%);
    }

    .locale .button-go-lang {
        padding: 6px 20px;
        font-size: 16px;
        border-radius: 2px;
        background-color: #30b1e0;
        color: #fff;
    }

    .locale .button-close {
        position: absolute;
        top: 10px;
        right: 10px;
    }


@media (min-width: 991px) {
    .locale-content {
        width: 60%;
        flex-direction: row;
        justify-content: space-between;
        height: 78px;
    }

    .locale.active ~ .header {
        top: 78px;
    }

    .locale.active ~ .banner {
        margin-top: 78px;
    }
}





/*------------------------------------*\
  Language Ver. Coutom Css
\*------------------------------------*/

/**
 *  tw
 */

@media (min-width: 576px) {
    .site--zh-tw .section--home-slogan .heading {
        letter-spacing: 17px;
    }

    .site--zh-tw .section--home-slogan p {
        letter-spacing: 11px;
    }
    
}



/**
 *  cn
 */

.site--zh-cn .section--home-slogan .heading {
    letter-spacing: 17px;
    font-weight: 500;
}

.site--zh-cn .section--home-slogan p {
    letter-spacing: 11px;
    font-weight: 500;
}

.site--zh-cn .section__header .heading {
    font-weight: 500;
}

.site--zh-cn .menu-col__title {
    font-weight: 500;
}



/**
 *  En
 */
 

.site--en-us .section--home-slogan .heading {
    font-size: 32px;
    letter-spacing: 10px;
}

.site--en-us .section--home-slogan p {
    font-size: 20px;
    font-weight: 400;
    letter-spacing: 3px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

@media (min-width: 576px) {
    .site--en-us .section--home-slogan p {
        width: 60%;
    }
    
}


/**
 *  Jp
 */
 
 body.site--ja-jp {
    font-family: "Kosugi Maru","Microsoft JhengHei","微軟正黑體","sans-serif",arial;
}



/**
 *  Es
 */

@media (min-width: 576px) {
    .site--es-es .section--home-slogan p {
        width: 80%;
        margin-left: auto;
        margin-right: auto;
    }
}
