html {
    scroll-behavior: smooth;
}

body {
    font-size: 17px;
    line-height: 1.8;
    color: #333;
    font-family: 'Roboto', 'Noto Sans TC', Arial, '微軟正黑體', '新細明體', Helvetica, sans-serif;
}

:root {
    scroll-padding-top: 1rem;
    --main-color: #f26738;
    --second-color: #fbad41;
    --third-color: #f6821f;
    --lightY: #ffe578;
}

p {
    font-size: 18px;
    line-height: 1.8;
}

a {
    color: var(--Blue);
    text-decoration: none;
}

a:hover {
    color: var(--main-color);
    text-decoration: none;
}

section {
    padding-top: 70px;
    padding-bottom: 70px;
    overflow: hidden;
}

.top-title,
.top-title-w {
    margin-bottom: 22px;
    font-weight: 600;
    font-size: 30px;
    padding: 6px 20px;
    letter-spacing: 3px;
    line-height: 1.5;
    color: var(--main-color);
    text-align: center;
}

.top-title-w {
    color: #fff;
}

/* btn-main */
.btn-main,
.btn-main:focus {
    position: relative;
    border: none;
    border-radius: 50px;
    background-position: center;
    background-color: #fff;
    color: var(--main-color);
    font-size: 20px;
    letter-spacing: 2px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: all .2s;
    padding: 16px 0;
}

.btn-main:hover {
    background: #f7f7f7;
    color: var(--main-color);
}



/*--------------------------------------------------------------
# Back to top button
--------------------------------------------------------------*/
.back-to-top {
    position: fixed;
    visibility: hidden;
    opacity: 0;
    right: 15px;
    bottom: 15px;
    z-index: 996;
    background: var(--main-color);
    border: 2px solid #fff;
    width: 40px;
    height: 40px;
    border-radius: 4px;
    transition: all 0.4s;
}

.back-to-top i {
    font-size: 28px;
    color: #fff;
    line-height: 0;
    padding-top: 10px;
}

.back-to-top:hover {
    background: var(--third-color);
    color: #fff;
}

.back-to-top.active {
    visibility: visible;
    opacity: 1;
}


/*sidebar*/
#sidebarReg .register {
    color: var(--main-color);
    position: fixed;
    bottom: 7%;
    right: 0;
    border-left: 2px solid var(--third-color);
    border-top: 2px solid var(--third-color);
    border-bottom: 2px solid var(--third-color);
    writing-mode: vertical-lr;
    font-size: 18px;
    padding: 12px 13px;
    z-index: 10;
    line-height: 1.2;
    letter-spacing: 2px;
    border-radius: 20px 0 0 20px;
    transition-duration: 0.2s;
    background-color: #fff;
    box-shadow: inset 0 0 5px #eee;
}


#sidebarReg .register:hover {
    background-color: var(--main-color);
    color: #fff;
}

#sidebarReg .register i {
    transform: translateX(2px);
    font-size: 24px;
}

#sidebarReg .register .shake {
    height: auto;
    width: 50px;
    -webkit-animation: wobble-hor-bottom 1.2s ease-out infinite both;
    animation: wobble-hor-bottom 1.2s ease-out infinite both;
}

@media screen and (max-width: 768px) {
    #sidebarReg .register {
        padding: 5px 3px;
        font-size: 14px;
        border-radius: 10px 0 0 10px;
        border-left: 1px solid var(--third-color);
        border-top: 1px solid var(--third-color);
        border-bottom: 1px solid var(--third-color);
    }

    #sidebarReg .register .shake {
        width: 30px;
    }
}

@-webkit-keyframes shake {

    0%,
    100% {
        -webkit-transform: translateX(0%);
        transform: translateX(0%);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
    }

    15% {
        -webkit-transform: translateX(-10px) rotate(-6deg);
        transform: translateX(-10px) rotate(-6deg);
    }

    30% {
        -webkit-transform: translateX(5px) rotate(6deg);
        transform: translateX(5px) rotate(6deg);
    }

    45% {
        -webkit-transform: translateX(-5px) rotate(-3.6deg);
        transform: translateX(-5px) rotate(-3.6deg);
    }

    60% {
        -webkit-transform: translateX(3px) rotate(2.4deg);
        transform: translateX(3px) rotate(2.4deg);
    }

    75% {
        -webkit-transform: translateX(-1px) rotate(-1.2deg);
        transform: translateX(-1px) rotate(-1.2deg);
    }
}

@keyframes wobble-hor-bottom {

    0%,
    100% {
        -webkit-transform: translateX(0%);
        transform: translateX(0%);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
    }

    15% {
        -webkit-transform: translateX(-10px) rotate(-6deg);
        transform: translateX(-10px) rotate(-6deg);
    }

    30% {
        -webkit-transform: translateX(5px) rotate(6deg);
        transform: translateX(5px) rotate(6deg);
    }

    45% {
        -webkit-transform: translateX(-5px) rotate(-3.6deg);
        transform: translateX(-5px) rotate(-3.6deg);
    }

    60% {
        -webkit-transform: translateX(3px) rotate(2.4deg);
        transform: translateX(3px) rotate(2.4deg);
    }

    75% {
        -webkit-transform: translateX(-1px) rotate(-1.2deg);
        transform: translateX(-1px) rotate(-1.2deg);
    }
}

@media screen and (max-width: 768px) {
    @-webkit-keyframes shake {

        0%,
        100% {
            -webkit-transform: translateX(0%);
            transform: translateX(0%);
            -webkit-transform-origin: 50% 50%;
            transform-origin: 50% 50%;
        }

        15% {
            -webkit-transform: translateX(-5px) rotate(-6deg);
            transform: translateX(-5px) rotate(-6deg);
        }

        30% {
            -webkit-transform: translateX(3px) rotate(6deg);
            transform: translateX(3px) rotate(6deg);
        }

        45% {
            -webkit-transform: translateX(-3px) rotate(-3.6deg);
            transform: translateX(-3px) rotate(-3.6deg);
        }

        60% {
            -webkit-transform: translateX(1px) rotate(2.4deg);
            transform: translateX(1px) rotate(2.4deg);
        }

        75% {
            -webkit-transform: translateX(-0px) rotate(-0.2deg);
            transform: translateX(-0px) rotate(-1.2deg);
        }
    }

    @keyframes wobble-hor-bottom {

        0%,
        100% {
            -webkit-transform: translateX(0%);
            transform: translateX(0%);
            -webkit-transform-origin: 50% 50%;
            transform-origin: 50% 50%;
        }

        15% {
            -webkit-transform: translateX(-5px) rotate(-6deg);
            transform: translateX(-5px) rotate(-6deg);
        }

        30% {
            -webkit-transform: translateX(3px) rotate(6deg);
            transform: translateX(3px) rotate(6deg);
        }

        45% {
            -webkit-transform: translateX(-3px) rotate(-3.6deg);
            transform: translateX(-3px) rotate(-3.6deg);
        }

        60% {
            -webkit-transform: translateX(1px) rotate(2.4deg);
            transform: translateX(1px) rotate(2.4deg);
        }

        75% {
            -webkit-transform: translateX(-0px) rotate(-1.2deg);
            transform: translateX(-0px) rotate(-1.2deg);
        }
    }
}

/*--------------------------------------------------------------
  # Disable aos animation delay on mobile devices
  --------------------------------------------------------------*/
@media screen and (max-width: 768px) {
    [data-aos-delay] {
        transition-delay: 0 !important;
    }
}

/*====================================
# nav
==================================== */

.main-nav {
    padding: 0.5rem 0.6rem;
    background-color: var(--main-color);
    z-index: 100;
    box-shadow: 0 2px 3px #85361255;
}

.nav-main .navbar-brand {
    width: 330px;
}

.navbar-light .navbar-nav .nav-link {
    color: #fff;
    text-align: center;
    font-weight: 600;
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus {
    color: var(--lightY);
}

.navbar-toggler {
    background-color: var(--main-color);
}


.main-nav .dropdown-menu {
    border: none;
    background-color: var(--main-color);
    border-radius: 5px;
    padding: 0;
}

.main-nav .dropdown-menu .dropdown-item {
    color: #fff;
    padding-top: 10px;
    padding-bottom: 10px;
}

.main-nav .dropdown-menu .dropdown-item:hover {
    background-color: var(--main-color);
    border-radius: 5px;
    color: var(--Blue);
}

.btn-signup {
    background-color: var(--lightY);
    padding: 8px 25px;
    border-radius: 30px;
    color: var(--main-color);
    font-weight: 600;
    transition: all .3s ease;
}

.btn-signup:hover {
    background-color: #fff;
}


.custom-toggler.navbar-toggler {
    border: none;
}



@media (max-width:992px) {


    .main-nav .btn-signup {
        display: block;
        text-align: center;
        margin-bottom: 20px;
    }

    .main-nav .dropdown-menu .dropdown-item {
        text-align: center;
    }

}

@media(max-width: 576px) {
    .nav-item {
        text-align: center;
        padding-bottom: 10px;
    }

}

/*******************
    KV
 *******************/

 .kv,
 .kv-2 {
     padding-top: 0;
     padding-bottom: 0;
 }
 
 .kv .content,
 .kv-2 .content {
     padding-left: 0;
     padding-right: 0;
     position: relative;
 }
/*******************
    challenge
 *******************/

.challenge {
    padding-top: 40px;
    padding-bottom: 30px;
    background-color: var(--third-color);
}

.challenge p {
    color: #fff;
}

.challenge p strong {
    background-color: #ee6638;
    padding: 2px 5px;
}

.challenge-box {
    background-color: #fffef6;
    border-radius: 20px;
    box-shadow: 0 5px 5px #852a0e50;
    border: 1px solid var(--main-color);
    margin: 20px;
}

.challenge-box h3 {
    color: var(--main-color);
    text-align: center;
}

.challenge-box p {
    color: #333;
}

@media screen and (max-width: 768px) {
    .challenge-box {
        margin: 20px 0;
    }
}

/*====================================
# solve
==================================== */

.solve {
    background: linear-gradient(180deg, #fff 10%, #f0f0f0 60% );
}
.solve .video-area{
    padding: 20px;
    background-color: #fff;
    box-shadow: inset 0 0 10px #89898b70;
}
.solve .video-box{
    margin: auto;
    border: 2px solid var(--third-color);
    box-shadow: 0 5px 5px #852a0e50;
}
.solve .video-content{
    padding: 10px 5px 10px 10px;
}
.solve .video-content h3{
    font-size: 24px;
    line-height: 1.8;
    text-align: center;
    color: var(--main-color);
}
.solve .video-content img{
    padding: 0 30px;
}
.solve .video-content a{
    border: 1px solid var(--main-color);
}

.solve strong {
    background-color: #ffde85;
    padding: 2px 5px;
}

.solve-box {
    background-color: var(--main-color);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 5px 5px #852a0e50;
    margin: 20px 20px 20px 0;
}

.solve-box h3 {
    color: #fff0ad;
    border-bottom: 1px solid #fff;
    padding: 0 0 10px;
}

.solve-box p {
    color: #fff;
    margin-bottom: 0;
}

.solve-box ul {
    color: #fff;
    margin-bottom: 0;
    padding-left: 20px;
}

@media screen and (max-width: 768px) {
    .solve-box {
        margin: 20px 0;
    }
}

/************************ 
    sec-gift
************************/

.sec-gift {
    background-color: var(--lightY);
}

.gift-box {
    /* max-width: 300px; */
    animation: move 2s infinite;
}

@keyframes move {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(5px);
    }

    100% {
        transform: translateY(0);
    }
}
@media screen and (max-width: 768px) {
    .gift-box  {
        max-width: 200px;
    }
}

/************************ 
        form 
************************/
.help-block {
    color: var(--main-color);
    font-size: 15px;
}

.form .box-area {
    background-color: #fffbdc;
    padding: 20px;
    margin: 0 15px 15px 15px;
}

.form h5 {
    color: var(--main-color);
    font-size: 18px;
}

.form .content {
    display: block;
    font-size: 14px;
    color: #747474;
}

.form .content a {
    color: var(--third-color);
    border-bottom: 1px solid var(--third-color);
}

.form .bottom-area {
    border-radius: 50px;
    padding: 15px;
    background-color: var(--main-color);
    border: none;
    font-size: 22px;
    transition: all .2s ease-in-out;
}

.form .bottom-area:hover {
    background-color: var(--second-color);
}

@media screen and (max-width:768px) {
    .form {
        padding-top: 0;
    }
}

/************************ 
        thanks  
************************/

.thanks {
    padding: 100px 20px;
}


.thanks-content p {
    font-size: 22px;
}

.thanks .btn-more {
    margin: 0 20px 15px;
}

.thanks .btn-more a {
    color: #fff;
    border-radius: 50px;
    padding: 10px 20px;
    font-size: 18px;
    background-color: var(--main-color);
}

.thanks .btn-more a:hover {
    background-color: var(--third-color);
}



/************************ 
        footer  
************************/

footer {
    padding-top: 30px;
    padding-bottom: 20px;
    overflow: hidden;
    background-color: var(--main-color);
}

footer img {
    width: 260px;
    height: auto;
    padding: 0 0 20px;
}

footer p {
    color: #fff;
    margin-bottom: 5px;
}

footer p {
    font-size: 16px;
}

footer i {
    color: #fff;
    font-size: 30px;
    padding: 0 5px;
}