
/*-------------------------
           All 
-------------------------*/

.center   {   text-align: center;  }
.left     {   text-align: left;    }
.mobile   {   display: none;       }
.desktop  {   display: inline;     }
.left     {   text-align:left;     }
.center   {   text-align:center;   }
.right    {   text-align:right;   }
.logo     {   width: 50%;  margin:auto; }

.main-title{
    font-weight: 500;
    line-height: 65px;
    font-size: 60px;
    padding-left:130px;
    padding-top:55px;
}

.main-small-title{
    font-weight: 400;
    line-height: 47px;
    font-size: 30px;
    padding-left:130px;
}

.title{
    font-weight: 500;
    line-height: 65px;
    font-size: 60px;
}

.small-title{
    font-weight: 400;
    line-height: 47px;
    font-size: 30px;
}

.en-title{
    font-weight: 300;
    /* line-height: 65px; */
    font-size: 25px;
    color:rgb(160, 160, 160);
}
.en-big-title{
    font-weight: 100 !important;
    line-height: 65px;
    font-size: 60px;
    color:rgb(14, 14, 14);
}
.p-white{
    font-weight: 100;
    line-height: 2rem;
    font-size: 16px;
    color:rgb(255, 255, 255);
}

.p{
    font-weight: 400;
    line-height: 2rem;
    font-size: 16px;
    /* text-align: justify; */
text-justify:inter-ideograph;
}
.p-title{
    font-weight: 500;
    line-height: 2rem;
    font-size: 18px;
}
.p-more{
    font-weight: 300;
    line-height: 2rem;
    font-size: 18px;
}
.bg-dark{
    background: -webkit-linear-gradient(rgb(62, 62, 62),rgb(23, 23, 23));
    background: -o-linear-gradient(rgb(62, 62, 62),rgb(23, 23, 23));
    background: -moz-linear-gradient(rgb(62, 62, 62),rgb(23, 23, 23));
    background: linear-gradient(rgb(62, 62, 62),rgb(23, 23, 23));
}

.bg-grey      {  background-color: rgb(245, 245, 245);}

.title-icon{
    width: 4.5rem;
}
.circle-square{
    border-radius:50%;
}
.yellow-bdr{
position: relative;
z-index: 1;
color:black;
}
.yellow-bdr:before{
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 5px;
    height: 5px;
    background: #ff0;
    z-index: -1;
}
.green-bdr{
    position: relative;
    z-index: 1;
    color:black;
    }
    .green-bdr:before{
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        bottom: 5px;
        height: 15px;
        background: rgba(12,242,143,.2);
        z-index: -1;
    }


.text-grey{
    color:rgb(123, 123, 123);
}
.text-red{
    color:#d73a49;
}
.text-blue{
    color:#005cc5;
}
/*-------------------------
          index 
-------------------------*/

/* 首頁大圖 */
#computer{
    width:100%;
    margin: auto;
}

/* 成功案例保險公司背景圖 */
#part-2{
    background: url(../images/insur-bg.png) no-repeat bottom right;
    background-size: cover;
    background-attachment: fixed;
}

/* 會動的線 */
svg#line_1{
    position: absolute;
    z-index: 999;
    top: 10rem;
    left: 20rem;
}

/* 首頁箭頭動畫 */
span.fa{
    font-size: 2em;
    font-weight: 200;
    color: rgb(0, 0, 0);
    position: absolute;
    top: 20.3rem;
    left: 75%;
  }
  .bounce {
    -webkit-animation-name: bounce;
    animation-name: bounce;
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    animation-iteration-count: infinite;
    -webkit-animation-iteration-count: infinite;
  }
  .animated {
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
  }
  @-webkit-keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
      -webkit-transform: translateY(0);
    }
    40% {
      -webkit-transform: translateY(-20px);
    }
    60% {
      -webkit-transform: translateY(-10px);
    }
  }
  @keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
      transform: translateY(0);
    }
    40% {
      transform: translateY(-20px);
    }
    60% {
      transform: translateY(-10px);
    }
  }
  

/*-------------------------
           About 
-------------------------*/
.main-img{
    width: 100%;
    height: 31rem;
    object-fit: cover;
}

#fintech{
    width: 90%;
    margin-top:40%;
}

.big-comma{
    font-weight: 500;
    line-height: 65px;
    font-size: 130px;
    color: #CCCCCC;
}

/*-------------------------
          Service 
-------------------------*/

.jasmine{
    padding-left:150px;
}

/* Jasmine電腦圖 */
.pd-img-jasmine{
    width: 100%;
    position: absolute;
    top: -15rem;
}
.pd-jasmine{
    width: 100%;
    padding:2rem;
    /* padding-left: 17rem; */
    /* background-image: url(../images/jasmine-background.png); */
    background-size: cover;
    margin-bottom:3rem; 
    /* border-top: 1px solid #CCCCCC;
    border-bottom: 1px solid #CCCCCC; */
}

/* 模糊漸層圓 */
#ball{
    width: 25rem;
    position: absolute;
    left:-3rem;
    opacity: 1;
}
.pd-block{
    width: 100%;
    padding:2rem;
    background-color: rgb(245, 245, 245);
    margin-bottom:3rem; 
}

.pd-bg  {   padding: 3rem; }
.pd-img {   width: 100%;   }



/*-------------------------
           News 
-------------------------*/

.news-padding {  padding: 0 1rem;}
.news-p-top   {  margin: 3rem 0;}
.a-news       {  color: #333333; }
.news-header{
    padding: 5rem 0;
}
.p-news-type{
    font-size: 10px;
    color:rgb(123, 123, 123);
}
.news-div{
    border-radius: 3px;
    border: 1px solid rgba(0,0,0,.1);
    padding:15px;
    text-align: justify;
    color:#797979;
    margin-bottom:20px;
}
.news-div p{
    line-height: 1.7rem;
    text-justify: auto;
    
}
.news-div p.p-title{
    color:#3f3f3f;
}
.code-div{
    background: #f1f4f7;
    padding: 20px;
    font-family: 'Inconsolata', monospace;
    font-size: 17px;
}
.code-span{
    position: relative;
    z-index: 1;
    color:black;
    background: #f1f4f7;
    font-family: 'Inconsolata', monospace;
    font-size: 17px;
    padding: 0 7px;
    border-radius: 3px;
}
.news-alert{
    font-size: 15px;
    padding: .8em 1.5em;
    background-color: #ffeebf;
    border-radius: 4px;
    color: #856404;
    overflow: hidden;
}
.news-category-img{
    width:100%;
    height: 15rem;
    object-fit: cover;
    margin-bottom:.5rem;
}
.circle-square-small{
    border-radius:50%;
    width:70px;
}
.circle-square-middle{
    border-radius:50%;
    width:80%;
}

.grid-container-auther{
  display: grid;
  grid-column-gap: 5px;
  grid-template-columns: 10% 90%;
}
p.img-source{
    margin-top:10px;
    color:rgb(167, 167, 167);
}
.text-lock{
    color: rgb(240, 120, 107);
    font-size: 15px;
}
.text-ligrey{
    color:rgb(187, 187, 187);
}
/*-------------------------
           Case 
-------------------------*/

.grid-container {
    display: grid;
    grid-template-columns: auto auto auto auto auto auto;
    grid-gap: 10px;
    background-color: rgb(255, 255, 255);
    padding: 10px;
  }
  .grid-container > div {
    background-color: rgba(255, 255, 255, 0.8);
    border: 1px solid rgb(198, 198, 198);
    text-align: center;
    font-size: 30px;
  }

  .client-img {
    grid-area: img;
    /* border-right: 1px solid #CCCCCC; */
  }
  .client-description {
    grid-area: dis;
  }
  .grid-container2 {
    display: grid;
    grid-template-areas: 'img dis dis dis dis';
    grid-gap: 20px;
    /* background-color: rgb(255, 255, 255); */
    padding: 10px;
  }
  .case-block{
      padding:3rem 15rem;
  }
  .grid-container4 {
    display: grid;
    grid-template-areas: 'img dis dis dis dis dis dis dis';
    grid-gap: 0px;
    /* background-color: rgb(255, 255, 255); */
    padding: 0 30px;
  }

  .grid-container3 {
    grid-template-columns: auto auto auto auto auto;
    display: grid;
    grid-template-areas: 'car cardis';
    grid-gap: 15px 30px;
    /* background-color: rgb(255, 255, 255); */
    padding: 10px;
  }
.item1 { grid-area: 1 / 1 / 2 / 2; }
.item2 { grid-area: 2 / 1 / 3 / 2; }
.item3 { grid-area: 1 / 2 / 2 / 3; }
.item4 { grid-area: 2 / 2 / 3 / 3; }
.item5 { grid-area: 1 / 3 / 2 / 4; }
.item6 { grid-area: 2 / 3 / 3 / 4; }
.item7 { grid-area: 1 / 4 / 2 / 5; }
.item8 { grid-area: 2 / 4 / 3 / 5; }
.item9 { grid-area: 1 / 5 / 2 / 6; }
.item10 { grid-area: 2 / 5 / 3 / 6; }

.buttom-area{
    padding: 5rem;
}
/*-----------------------------
       Career Slider
-----------------------------*/
/* html要用<div>把<img>包起來
但下面.slide寬度不能用百分比，很困擾 */
.slide {
    width: 350px;
    height: 350px;
    overflow: hidden;
    position: relative;
  }
  .slide > div {
    width: 100%;
    height: 100%;
    background-size: cover;
    position: absolute;
    animation: slide 10s infinite;
    opacity: 0;
  }
  .slide > div:nth-child(2) {
    animation-delay: 5s;
  }

  
  @keyframes slide {
    10% {
      opacity: 1;
    }

    50% {
      opacity: 1;
    }
    60% {
        opacity: 0;
      }
  }

/*-----------------------------
            Footer
-----------------------------*/
.footer{
    padding: 5rem 12rem;
    color:white;
}

.footer > div > h5,.footer > div > h5 > a
{
    font-size: 1.1rem;
    font-weight: 400;
    line-height: 2rem;
    color:#CCCCCC;
}

.footer > div > h4
{
    line-height: 2.5rem;
    font-weight: 500;
    /* color:#CCCCCC; */
}

.footer > div > h6
{
    font-size: 1rem;
    font-weight: 400;
    line-height: 2rem;
    color:rgb(147, 147, 147);
}






/*-----------------------------
            Button
-----------------------------*/

/* btn style */
.btn-cir    { border-radius: 20px; }
.circle     { border-radius: 100%; }
.circle-env { padding: 1% 1.5%; }

.btn-xs, .btn-group-xs {
  padding: 0.1rem 0.25rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.2rem;
}
.btnDownload{ 
    margin-top:0.5rem;
    padding: 1.5rem;
    font-size: 1.3rem;
    letter-spacing: 3px;
    border-radius: 0.5rem;
    margin-right: 1rem;
}

/* btn color */
.btn-blue                 { background-color: #426af0; color: white; }
.btn-blue:hover           { background-color: #354b93; color: white; }

.btn-dark                 { background-color: #2e2e2e; color: #ffffff; }
.btn-dark:hover           { background-color: #426af0; color: #ffffff; }

.btn-download                 { background-color: #3e3e3e; color: #ffffff; }
.btn-download:hover           { background-color: #414b68; color: white; }

.btn-career                 { background-color: #335185; color: #ffffff; }
.btn-career:hover           { background-color: #3a4461; color: #ffffff; }




@media screen and (max-width: 1000px) {

    .mobile   {  display: inline; }
    .desktop  {  display: none;   }
    .pd-bg  {   padding: 1rem !important;  }
    .pd-block{
        padding:1rem;
    }

    .main-title{
        font-weight: 500;
        line-height: 65px;
        font-size: 40px;
        padding-left:20px !important;
        padding-top:5rem !important;
    }
    
    .main-small-title{
        font-weight: 400;
        line-height: 30px;
        font-size: 25px;
        padding-left:20px !important;
    }

    .title{
        font-weight: 500;
        line-height: 65px;
        font-size: 35px;
        padding-left:5px;
        padding-top:10px;
    }

    .small-title{
        font-weight: 400;
        line-height: 35px;
        font-size: 30px;
        padding-left:5px;
    }

    .pd-block{
        width: 100%;
        padding:20px;
        background-color: rgb(245, 245, 245);
        margin-bottom:3rem; 
    }

    .pd-jasmine{
        width: 100%;
        padding:10px;
        background-color: rgb(245, 245, 245);
        margin-bottom:3rem; 
    }

    #downSpan { display: none; }
    #ball     { display: none; }

    .jasmine{ padding-left:0px; }

    .pd-img-jasmine{
        width: 60%;
        position: absolute;
        top:-30rem;
        right: -6rem;
    }

    .big-comma{
        margin-top:70px;
        font-weight: 500;
        line-height: 0px;
        font-size: 130px;
        color: #CCCCCC;
    }
    .buttom-area{
        padding: 1rem;
    }


    .case-block   {  padding:1.5rem;}

    .news-padding {  padding: 1rem;}
    .news-p-top   {  margin: 0;}

    .footer{ padding: 5rem 2rem; }
    .news-header{
    padding: 3rem 0;
}
.grid-container-auther{
    grid-template-columns: 15% 85%;
  }

}
@media screen and (max-width: 450px) {
    .news-header > .main-title{
        padding-top: 30px !important;
    }
    .main-title{
        padding-top:0px !important;
    }
    .en-title,.small-title{
        font-size: 1.6rem;
    }
    .pd-img-jasmine{
        width: 90%;
        position: absolute;
        top:-32rem;
        right: -6rem;
    }
    .grid-container {
        grid-template-columns: auto auto auto;
      }
      .grid-container-auther{
        grid-template-columns: 25% 75%;
      }
}