﻿body {
    font-size: 16px;
    line-height: 1.8;
    font-family: "Guardians Sans", "Tahoma", "微軟正黑體", "新細明體", Helvetica,
        sans-serif;
    background-color: #ffffff;
    color: #333;
    padding-top: 80px;
}

i {
    margin-right: 5px;
}

a {
    color: #333;
    text-decoration: none;
}

a:hover,
a:active {
    color: #333;
    text-decoration: none;
}

img {
    margin: 0 auto;
}

section,
footer {
    margin: 0 auto;
}

h3 {
    line-height: 1.5;
    font-weight: bold;
}

p {
    text-align: justify;
    line-height: 2;

}

mark {
    background-color: #00c0eb;
}

mark>a:hover,
a:active {
    color: #fff;
    text-decoration: none;
}

.title {
    font-size: 4.5vh;
    text-align: center;
    margin: 0.8em 0;
    color: #07415F;
    font-weight: bold;
}

.title:after {
    content: "";
    display: block;
    width: 120px;
    height: 6px;
    margin: 15px auto 0;
    border-radius: 8px;
    background: #fee002;
}

.form-group {
    margin-right: 0;
    margin-left: 0;
    float: left;
    width: 100%;
}

.btn-block {
    padding: 10px;
    font-size: 1.2em;
    font-weight: 700;
}

.btn-primary btn-blockBorder {
    color: #3da9fc;
    font-size: 18px;
    line-height: 1.8;
    border-radius: 0px;
    padding: 5px 15px;
    font-weight: bold;
    border: 1px solid #094067;
    transition: 0.3s ease-in-out;
    -webkit-transition: 0.3s ease-in-out;
}

.btn-primary btn-blockBorder:hover,
.btn-primary btn-blockBorder:active {
    border: 1px solid #3da9fc;
    color: #3da9fc;
}

.btn-primary btn-blockBorder i {
    color: #094067;
}

.btn-primary btn-blockBorder:hover i,
.btn-primary btn-blockBorder:active i {
    color: #3da9fc;
}

.btn-primary btn-block {
    background-color: #3da9fc;
    color: #fff;
    font-size: 18px;
    line-height: 1.8;
    border-radius: 0px;
    padding: 5px 15px;
    margin: 10px 5px;
    font-weight: bold;
    border: 0px solid #3da9fc;
    text-shadow: none;
    transition: 0.3s ease-in-out;
    -webkit-transition: 0.3s ease-in-out;
}

.btn-primary btn-block:hover,
.btn-primary btn-block:active {
    background-color: #3da9fc;
    color: #eeeee1;
}

.btn-primary {
    background-color: #FF7F00;
    font-size: 18px;
    line-height: 1.8;
    letter-spacing: 1px;
}



/*sidebar*/
#sidebarReg .register {
    background-color: #FF7F00;
    color: #fff;
    position: fixed;
    bottom: 15%;
    right: 0;
    border: none;
    display: block;
    font-weight: bold;
    font-size: 20px;
    writing-mode: vertical-lr;
    padding: 20px 10px;
    z-index: 10;
    border-radius: 10px 0 0 10px;
    box-shadow: 7px 7px 3px 0px rgb(0 0 0 / 10%);
    ;
}

#sidebarReg .register:hover {
    opacity: 0.8;
}



/* utilities */

.mt10 {
    margin-top: 10px;
}

.mt20 {
    margin-top: 20px;
}

.mt30 {
    margin-top: 30px;
}

.mt50{
    margin-top: 50px;
}

.mb10 {
    margin-bottom: 10px;
}

.mb20 {
    margin-bottom: 20px;
}

.mb30 {
    margin-bottom: 30px;
}

.pt10 {
    padding-top: 10px;
}

.pt20 {
    padding-top: 20px;
}

.pt30 {
    padding-top: 30px;
}

.pb50 {
    padding-bottom: 50px;
}

/*錨點位置調整*/
:target:before {
    content: "";
    display: block;
    height: 40px;
}


/* =====nav===== */

nav {
    background-color: #29c7c7;
    position: fixed;
    top: 0;
    margin: auto;
    left: 0;
    right: 0;
    z-index: 1000;
    padding: 10px 0;
}

.navi {
    margin: 0 2%;
}

.mobile-btn {
    cursor: pointer;
    height: 40px;
    line-height: 30px;
    position: fixed;
    z-index: 1000;
    top: 20px;
    right: 10px;
}

nav ul {
    list-style: none;
    text-align: center;
}

nav ul li {
    display: inline-block;
}

nav ul li a {
    display: block;
    padding: 15px 5px;
    text-decoration: none;
    font-size: 16px;
    font-weight: 700;
    color: #ffffff;
    line-height: 22px;
    margin: 0 10px;
    text-align: left;
}

nav ul li a,
nav ul li a:after,
nav ul li a:before {
    transition: all 0.5s;
}

nav ul li a:hover {
    color: #AAF9E4;
}

/* stroke */
nav.stroke ul li a,
nav.fill ul li a {
    position: relative;
}

nav.stroke ul li a:after,
nav.fill ul li a:after {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 0%;
    content: ".";
    color: transparent;
    background: #fee002;
    height: 5px;
}

nav.stroke ul li a:hover:after {
    width: 100%;
}

nav.fill ul li a {
    transition: all 2s;
}

nav.fill ul li a:after {
    text-align: left;
    content: ".";
    margin: 0;
    opacity: 0;
}

nav.fill ul li a:hover {
    color: #fff;
    z-index: 1;
}

nav.fill ul li a:hover:after {
    z-index: -10;
    animation: fill 1s forwards;
    -webkit-animation: fill 1s forwards;
    -moz-animation: fill 1s forwards;
    opacity: 1;
}


.focus {
    color: #fff;
    background-color: #3da9fc;
}

.focus:hover {
    color: #fff;

}

.naviLink {
    writing-mode: vertical-lr;

}

/* ====hamburger===== */

.bar,
.bar:after,
.bar:before {
    width: 40px;
    height: 5px;
}

.bar {
    position: relative;
    transform: translateY(8px);
    background: #444;
    transition: all 0ms 300ms;
}

.bar.animate {
    background: rgba(255, 255, 255, 0);
}

.bar:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 10px;
    background: #444;
    transition: bottom 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1),
        transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
}

.bar:after {
    content: "";
    position: absolute;
    left: 0;
    top: 10px;
    background: #444;
    transition: top 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1),
        transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
}

.bar.animate:after {
    top: 0;
    background: #fff;
    transform: rotate(45deg);
    transition: top 300ms cubic-bezier(0.23, 1, 0.32, 1),
        transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);
}

.bar.animate:before {
    bottom: 0;
    background: #fff;
    transform: rotate(-45deg);
    transition: bottom 300ms cubic-bezier(0.23, 1, 0.32, 1),
        transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);
}

.mobile-btn i {
    font-size: 30px;
    display: block;
}

.navi-logo {
    float: left;
    width: 25%;
}

.navibar {
    position: absolute;
    right: 2%;
    bottom: 0;
    list-style: none;
    padding: 0;
    margin: 0;
}

/* mobile-navi */

.mobile-navi {
    width: 100%;
    height: 100%;
    background-color: rgba(22, 22, 22, 0.6);
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    padding: 20% 10%;
    list-style: none;
    display: none;
    z-index: 100;
}

.mobile-navi>li>a {
    /*height: 50px;*/
    line-height: 50px;
    padding: 0 8px;
    font-weight: bold;
    color: #fff;
    font-size: 20px;
    display: block;
    text-align: center;
}

/* ====head==== */
.masthead {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align: left;
    width: 100%;
    height: 60vh;
    /* if you don't want it to take up the full screen, reduce this number */
    overflow: hidden;
    background-size: cover !important;
    background: url(../img/kv.png) no-repeat center top scroll;
}

h1 {
    font-style: normal;
    font-weight: bold;
    color: #eee;
    font-size: 9vmin;
    letter-spacing: 0.03em;
    line-height: 1.2;
    text-shadow: 1px 2px 4px rgba(0, 0, 0, 0.8);
    margin-bottom: 40px;
}



.kv-btn {
    background-color: rgba(22, 22, 22, 0.8);
    border: 1px solid #ccc;
    color: #fff;
    border-radius: 5px;
    padding: 5px 15px;
    font-size: 25px;
}

.kv-btn:hover {
    background-color: rgba(22, 22, 22, 1);
    color: #fff;
}


.btn-primary-no {
    text-shadow: none;
}

/* ====contain==== */

.middle {
    float: none;
    display: inline-block;
    vertical-align: middle;
    padding: 2em 5em;
    margin-bottom: 3em;
}

.middle-p {
    margin: 0 25px;
    padding-top: 5%;   
}

.middle-p>h3{
    color: #0D5873;
    font-size: 2.8rem;
    margin-bottom: 20px;    
}


.pic-desc {
    font-weight: bolder;
    text-align: center;
    padding-top: 15px;
}


.section-three {
    background-color: #7CEEDA;
    background-image: url(../img/backgroud.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
}


.bg-gradient {
    background: linear-gradient(200deg, #7CEEDA 0%, #29c7c7 1000px);
}

.txt-list {
    font-size: 1.2em;
    border: 1px solid #29C7C7;
    border-radius: 10px;
    color: #028F8F;
    font-weight: bold;
}

.value-box {
    padding-top: 20px;

}

.value-box-txt {
    color: #fff;
    font-weight: bold;
    text-align: center;
    font-size: 22px;
    padding-top: 20px;
}



/*==填滿按鈕==*/

.btn-area {
    text-align: center;
}

button {
    color: #FF7F00;
    background: none;
    border: 2px solid;
    font-size: 18px;
    line-height: 1;
    margin: 0.5em;
    padding: 1em 2em;
    -webkit-transition: 0.25s;
    transition: 0.25s;
}

button:hover,
button:focus {
    border-color: #FF7F00;
    color: #fff;
}

.fill:hover,
.fill:focus {
    box-shadow: inset 0 0 0 2em #FF7F00;
}

/*==填滿按鈕end==*/


.feature-box,
.feature-box2,
.feature-box3 {
    border-radius: 10px;
    padding: 25px 15px 10px 22px;
    margin: 3% 0;
    box-shadow: 0.125rem .25rem rgba(0, 0, 0, .075);
    border: none;
}


.feature-box {
    background-color: #59DDD1;
}

.feature-box:hover {
    border: 2px solid #59DDD1;
    background-color: #7CEEDA;
}


.feature-box2 {
    background-color: #74EA7B;
}

.feature-box2:hover {
    border: 2px solid #74EA7B;
    background-color: #96F492;
}

.feature-box3 {
    background-color: #52A4FF;
}

.feature-box3:hover {
    border: 2px solid #52A4FF;
    background-color: #75BCFF;
}

.feature-box-title {
    color: #fff;
    text-align: center;
    font-size: 28px;
}

.feature-box-txt {
    height: 350px;
    font-weight: bolder;
}

.feature-box-txt ol {
    padding: 0 20px;
}



.download {
    background-color: #f6f6f6;
    padding-bottom: 50px;
}

.key-title {
    color: #1D9EAB;
    text-align: center;
    font-size: 2em;
    font-weight: bold;
    padding-bottom: 20px;
}

.key-panel {
    background-color: #fff;
    padding: 15px 22px;
    margin-bottom: 20px;
    border: 2px solid #29C7C7;

}

.key-panel-txt {
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    color: #393e46;
}

.key-panel-txt span {
    color: #FF7F00;
    font-size: 1.2em;
}

.highlight-title {
    display: inline-block;
    color: #fff;
    font-size: 1.6em;
    padding: 2px 30px;
    background: linear-gradient(-132deg, #59DDD1, #1D9EAB, #0D5873);
    transform: skewX(-15deg);
}

.gift-txt {
    color: #147A8F;
    font-size: 1.5em;
    font-weight: bolder;
    line-height: 1.5;
}

.gift-txt span {
    background: -webkit-linear-gradient(transparent 68%, #ffed00 68%, #ffed00 97%, transparent 100%);
}

/* ====footer==== */

footer {
    text-align: center;
    padding: 2% 0;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.footer-logo {
    display: inline-block;
}

.footer-txt {
    margin-top: 10%;
    font-size: 15px;
    line-height: 22px;
    text-align: left;
}




@media (max-width: 985px) {
    #case {
        padding-bottom: 0;
        padding-left: 0;
        padding-right: 0;
    }

    .navibar {
        display: none;
    }

    .mobile-btn {
        display: block;
    }

    .navi-logo {
        width: 40%;
        left: 2%;
        position: relative;
    }

    .side-btn {
        display: none;
    }

    .top-wording {
        height: 100%;
    }

    .feature-box-txt {
        height: auto;
    }
}

@media (max-width: 768px) {
    .navibar {
        display: none;
    }

    .mobile-btn {
        display: block;
    }

    .navi-logo {
        width: 40%;
    }


    .side-btn {
        display: none;
    }


    .top-wording {
        height: 100%;
    }

    section {
        /*margin-top: 5%;*/
    }

    #intro {
        margin-top: 10%;
    }

    .feature-box-txt {
        height: 480px;
    }

    .bg-txt:after {
        content: "";
    }
}

@media (min-width: 768px) {
    .navi {
        width: 760px;
    }

    nav,
    section,
    footer {
        width: 100%;
    }


}

@media (min-width: 986px) {

    nav,
    section,
    footer {
        width: 100%;
    }

    .navi {
        width: 976px;
    }

    .navibar {
        display: block;
    }

    .mobile-btn {
        display: none;
    }

    .navi-logo {
        width: 25%;
    }


    .side-btn {
        display: block;
    }


    .top-wording {
        height: 150px;
    }

    .feature-box-txt {
        height: 500px;
    }
}

@media (min-width: 1200px) {

    nav,
    section,
    footer {
        width: 100%;
    }

    .navi {
        width: 1150px;
    }

    .feature-box-txt {
        height: 400px;
    }
}

@media (min-width: 1400px) {
    /* nav,
  section,
  footer {
    width: 1440px;
  } */

    .navi {
        width: 1420px;
    }
}


/*-- 報名表單 --*/
.section-form {
    margin-top: 3%;
}

.section-form .intro .intro-main-desc {
    font-size: 18px;
}

.section-form .intro .intro-desc {}

.section-form .form-group label {
    padding-right: 5px;
}

.step-box-1 {
    background-color: #ECF7FA;
    padding: 15px 10px;
}

.step-box-2 {
    background-color: #ECF7FA;
    padding: 15px 10px;
}

.d-none {
    display: none;
}

/*==問答頁==*/
.QApart {
    padding-top: 8%;
    background-image: url(../img/qabg.jpg);
    max-width: 1440px;
    height: 80vh;
    position: relative;
    background-position: center;
    margin: 0 auto;
    color: #fff;
}

.QApart-txt {
    font-size: 2rem;
    padding-top: 2%;
}

.QApart-txt>li {
    padding: 2px 30px;
}

.QApart-txt>li:hover {
    background-color: #ffd369;
    color: #333;
    border-radius: 10px;
}

.wrong_answer {
    display: inline-block;
    position: relative;
    padding-left: 20px;
}

/*.correct_answer {
    display: inline-block;
    position: relative; 
    left: 20%;   
}*/

.QApart-txt>li.wrong {
    background-color: #fa582d;
    color: #fff;
    border-radius: 10px;
}

.QApart-txt>li.correct {
    background-color: #00cc66;
    color: #fff;
    border-radius: 10px;
}

.btn-warning {
    margin-top: 30px;
    padding: 10px 25px;
}


/*背景裝飾色塊*/

.test-box{
    position: relative;
}

.test-box:before {
    content: '';
    display: inline-block;
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    background:  rgba(41, 199, 199, 0.08);
}

@media screen and (min-width: 1160px) {
    .test-box:before {
        width: calc(50vw + 450px);
    }
}


@media screen and (min-width: 768px) {
    .test-box:before {
        right: auto;
        width: 80%;
    }
}

@media screen and (min-width: 768px)
{
    .test-box.right:before{
        right: 0px;
    left: auto;
    }
}
