/******************* 
     layout 
 ******************/
@charset "UTF-8";
@font-face {
    font-family: 'RedHat Display';
    src: local(RedHat Display),
    url(../font/RedHatDisplay-Bold.otf) format('otf'),
    url(../font/RedHatDisplay-Medium.otf) format('otf'),
    url(../font/RedHatDisplay-Regular.otf) format('otf');
}
@font-face {
    font-family: 'RedHat Text';
    src: local(RedHat Text),
    url(../font/RedHatText-Bold.otf) format('otf'),
    url(../font/RedHatText-Medium.otf) format('otf'),
    url(../font/RedHatText-Regular.otf) format('otf');
}


* {
    padding: 0;
    margin: 0;
}

html {
    overflow-x: hidden;
    scroll-behavior: smooth;
}

body {
    min-height: 100vh;
    position: relative;
    font-family: 'RedHat Display','RedHat Text', "微軟正黑體", "Helvetica Neue", Helvetica, Arial, sans-serif;
    /* font-family: 'RedHat Display','RedHat Text'; */
    /* font-family: "微軟正黑體", "Helvetica Neue", Helvetica, Arial, sans-serif; */
    color: #fff;
    font-size: 16px;
    line-height: 1.6;
    overflow: hidden;
    background-color: #101010;
}

@media (max-width: 768px) {
    body {
        min-height: 100%;
    }
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 20px 0 10px;
    line-height: 1.6;
}

h1,
h2,
h3 {
    font-weight: 800;
    line-height: 1.2;
}

h1 {
    font-size: 3rem;
    margin-bottom: 40px;
}

h2 {
    font-size: 2.5rem;
}

h3 {
    font-size: 1.85rem;
    line-height: 1.3;
}

h4 {
    font-size: 1.6rem;
}

h5 {
    font-size: 1.4rem;
    font-weight: 600;
}

h6 {
    font-size: 1.3rem;
    font-weight: 600;
}

strong {
    font-weight: 700;
}

p, .p {
    font-size: 1.2rem;
    line-height: 1.9;
}

p:last-child {
    margin-bottom: 0px;
}

small {
    font-weight: inherit;
}

ul {
    list-style: none;
    line-height: 1.9;
}

.ol {
    padding-left: 1.5em;
}

.ul {
    padding-left: 18px;
    position: relative;
}

.ul li {
    position: relative;
}

.ul li:before {
    content: '•';
    position: absolute;
    font-size: 20px;
    left: -14px;
    line-height: 1.3;
    color: #101010;
}

a {
    transition: all .3s ease;
    color: #30ffec;
    cursor: pointer;
}

a:focus,
a:hover {
    color: #ffffff;
    text-decoration: none;
}

button,
.btn {
    color: #101010;
    padding: 10px 20px;
    font-size: 18px;
    transition: all .3s ease;
}

button:focus,
button:hover,
.btn:focus,
.btn:hover {
    color: #101010;
}

.btn-theme {
    background-color: #30ffec;
    color: #154f69;
}
.btn-theme:focus,
.btn-theme:hover {
    background-color: #0ecab7;
}


section,
header,
nav,
footer {
    position: relative;
}

section {
    margin: 0;
    padding: 5% 0 6%;
}
@media screen and (max-width: 767px) {
    h1 {
        font-size: 34px;
        margin-bottom: 20px;
    }

    h2 {
        font-size: 28px;
        margin: 2% 0;
    }

    h3 {
        font-size: 24px;
        margin: 2% 0;
    }

    h4 {
        font-size: 20px;
        margin: 1% 0;
    }

    h5 {
        font-size: 18px;
        font-weight: 600;
        margin: 1% 0;
    }

    h6 {
        font-size: 16px;
        font-weight: 600;
        margin: 1% 0;
    }

    p, .p {
        font-size: 14px;
    }
}
@media (max-width: 767px) {
    section {
        padding: 5% 10px 5% 10px;
    }
}

section .ul li,
section .ol li {
    margin-bottom: .3rem;
}

section:last-of-type {
    margin-bottom: 0;
}

/*錨點位置調整*/
:target:before {
    content: "";
    display: block;
    height: 75px;
    }



/******************* 
        專案
 ******************/
.title {
    color: #fff;
}

/* section:nth-of-type(even) {
    background: #ffffff;
    color: #333;
} */


/***** nav ******/
.navbar {
    background: #060603;
}

.navbar .navbar-brand{
    text-align: center;
}

.navbar .navbar-brand img {
    max-width: 150px;
    width: 100%;
    padding: 8px;
    opacity: 0.8;
    transition: .3s ease;
}
.navbar .navbar-brand img:hover {
    opacity: 1;
}
.navbar .navbar-brand .logo-redhat {}
.navbar .navbar-brand .logo-ms {
    margin-left: 1rem;
}
@media (max-width: 767px) {
    .navbar .navbar-brand img {
        max-width: 120px;
        width: 80%;
    }
}

.navbar .navbar-nav {
    width: 100%;
}
.navbar .nav-item {
    padding: 0px 10px;
}
.navbar .navbar-nav .nav-link {
    padding: 0.8rem 1rem;
    color: #30ffec;
    opacity: 0.8;
    transition: .3s ease;
}
.navbar .navbar-nav .nav-link:hover {
    color: #fff;
    opacity: 1;
}
.kv {
    background: url('../img/kv.jpg') no-repeat center center / cover;
    width: 100%;
    position: relative;
    height: 60vh;
    overflow: hidden;
}
.kv img {
    width: 100%;
}
.kv-txt {
    position: absolute;
    top: 50%;
    left: 40%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
}
.kv-title {
    color: #30ffec;
    font-size: 4.5rem;
    line-height: 1.5;
}
.kv-title .sub {
    display: block;
    font-size: 3rem;
}
@media(max-width:991px){
    .kv {
        height: 35vh;
    }
    .kv-title {
        font-size: 2rem;
    }
    .kv-title .sub {
        font-size: 1.4rem;
    }
}


/* forward  */
.forward {
    background: #0b0b0b;
    color: #fff;
}
.forward-imgbox {
    padding: 15px;
}
.forward-txtbox {}



/*  */
.trendStep {
    background-color: #133a3a;
    color: #fff;
}
.trendStep .title {}

.step01, .step02, .step03 {
    font-size: 18px;
    text-align: right;
}
.step01 span, .step02 span, .step03 span {
    font-size: 2rem;
    background-color: #fff;
    color: #264657;
    display: block;
    text-align: center;
    border-radius: 50px;
    line-height: 50px;
    margin: 15px 5px 20px;
}
.step01 {}
.step01 span {}
.step01 span .txt {}
.step02 {}
.step02 span {}
.step02 span .txt {}
.step03 {}
.step03 span {}
.step03 span .txt {}


/*  */
.connected {
    background: #0b0b0b;
    color: #fff;
}
.connected .title {

}
.connected-imgbox {
    padding: 10px;
}
.connected-imgbox img {
    width: 100%;
    max-width: 500px;
}
.connected-txtbox {}


/*  */
.connected2 {
    background: #154f69;
    color: #fff;
}
.connected2 .title {

}
.connected2-imgbox {
    padding: 10px;
}
.connected2-imgbox img {
    width: 100%;
}
.connected2-txtbox {}



/*  */
.success {
    background-color: #bdd4db;
    color: #101010;
}
.success .title {
    color: #101010;
}

.company-title {
    padding: 10px 30px;
    width: 100%;
    text-align: center;
}

.company-title img {
    max-height: 60px;
}

.success-item01 {
    
}
.success-item02 {
    
}

.success-imgbox01 {
    height: 200px;
    overflow: hidden;
    padding: 0px;
    border-radius: 20px 20px 0 0;
    /* background: url('../img/success01.jpg') no-repeat center center /cover; */
}
.success-imgbox02 {
    height: 200px;
    overflow: hidden;
    padding: 0px;
    border-radius: 20px 20px 0 0;
    /* background: url('../img/success02.jpg') no-repeat center center /cover; */
}
.success-imgbox01 img, .success-imgbox02 img {
    width: 150%;
    max-width: 150%;
    margin-left: -25%;
}
.success-txtbox {
    background-color: #fff;
    color: #101010;
    text-align: justify;
    padding: 20px;
    
}
.success-txtbox p {
    font-size: 16px;
    line-height: 1.6;
    height: 100px;
}
@media (max-width: 1200px) {
    .success-imgbox01, .success-imgbox02 {
        height: auto;
    }
}



/* Gift */
.gift {
    background-color: #fff;
    color: #333;
}
.gift-imgbox {}
.gift-imgbox img {}
.gift-txtbox {}
.gift-txtbox .t-light {
    color: #007ca3;
}
.gift .title {
    color: #333;
}






/* footer */
footer {
    color: #999999;
    background-color: #101010;
    font-size: 16px;
    padding: 2% 0;
    line-height: 1.4em;
}
.footer-logo {
    text-align: center;
}
.footer-logo img {
    width: 45%;
    max-width: 140px;
    display: inline-block;
    margin: 2%;
    opacity: 0.6;
    transition: .3s ease;
}
.footer-logo img:nth-child(2) {
    margin-left: 5%;
}
.footer-logo img:hover {
    opacity: 1;
}
.footer-logo .logo-redhat {}
.footer-logo .logo-ms {}


#gotopBtn {
    display: none;
    /* Hidden by default */
    position: fixed;
    /* Fixed/sticky position */
    bottom: 20px;
    /* Place the button at the bottom of the page */
    right: 30px;
    /* Place the button 30px from the right */
    z-index: 99;
    /* Make sure it does not overlap */
    border: none;
    /* Remove borders */
    outline: none;
    /* Remove outline */
    background-color: #30ffec7e;
    color: #232323;
    cursor: pointer;
    /* Add a mouse pointer on hover */
    padding: 12px 20px;
    border-radius: 50%;
    font-size: 18px;
}

#gotopBtn:hover {
    background-color: #999;
}


.signup-form .control-label {
    text-align: right;
}



/* content kv */
.content-kv {
    height: 40vh;

}
.kv-txt {
    /* top: 60%; */
}

/* Thanks page */
.thanks {
    background-color: #fff;
    color: #333;
}
.thanks-logo img {
    max-width: 250px;
}

.thanks .btn-theme {
    width: 100%;
    max-width: 300px;
    margin: auto;
    padding: 15px 0;
    font-size: 20px;
}