@import url(../fonts/fonts.css);
body {
  font-family: 'Ubuntu', 'Noto Sans TC', sans-serif; }

/* Works on Firefox */
* {
  scrollbar-width: thin;
  scrollbar-color: #222 #f3f3f3; }

/* Works on Chrome, Edge, and Safari */
*::-webkit-scrollbar {
  width: 12px; }

*::-webkit-scrollbar-track {
  background: #f3f3f3; }

*::-webkit-scrollbar-thumb {
  background-color: #222;
  border-radius: 25px;
  border: 4px solid #f3f3f3; }

body {
  font-size: 16px; }
  @media (min-width: 769px) {
    body {
      font-size: 18px; } }

a {
  text-decoration: none;
  transition: all 0.2s ease-in; }

.index-about, .index-prods, .index-news {
  padding: 3em 0; }
  .index-about .block-title, .index-prods .block-title, .index-news .block-title {
    font-size: 1.65em;
    color: #222;
    font-weight: bold;
    margin-bottom: 1.5em;
    text-transform: uppercase; }
    @media (min-width: 769px) {
      .index-about .block-title, .index-prods .block-title, .index-news .block-title {
        font-size: 2em;
        margin-bottom: 2em; } }
  .index-about .block-subtitle, .index-prods .block-subtitle, .index-news .block-subtitle {
    font-size: 1.2em;
    color: #003399;
    font-weight: bold;
    margin-bottom: 1em;
    display: flex;
    align-items: center; }
    @media (min-width: 769px) {
      .index-about .block-subtitle, .index-prods .block-subtitle, .index-news .block-subtitle {
        font-size: 1.35em; } }
    .index-about .block-subtitle:before, .index-prods .block-subtitle:before, .index-news .block-subtitle:before {
      content: "";
      display: inline-flex;
      width: 1em;
      height: 1em;
      background-image: url("../images/icon-block-subtitle.svg");
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      margin-right: 0.3em; }

.btn {
  font-size: 0.85em;
  text-align: center;
  padding: 0.45em 2.5em;
  border-radius: 0;
  text-transform: uppercase; }

.btn-outline-dark {
  border: 1px solid #333;
  color: #333; }

.main-slider {
  width: 100%;
  margin-bottom: -7px;
  padding: 0 0 50px 0;
  background-image: url("../images/bg-main-slider.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center bottom; }
  @media (min-width: 769px) {
    .main-slider {
      padding: 50px 0; } }
  .main-slider .slider-wrap .container {
    position: relative; }
    .main-slider .slider-wrap .container .slider-img img {
      width: 90%;
      height: auto;
      margin-left: 5%; }
    @media (min-width: 520px) {
      .main-slider .slider-wrap .container .slider-img img {
        width: 70%;
        height: auto;
        margin-left: 30%; } }
    @media (min-width: 769px) {
      .main-slider .slider-wrap .container .slider-img img {
        width: 55%;
        height: auto;
        margin-left: 45%; } }
    @media (min-width: 1200px) {
      .main-slider .slider-wrap .container .slider-img img {
        width: 65%;
        height: auto;
        margin-left: 35%; } }
    .main-slider .slider-wrap .container .slider-caption {
      position: inherit;
      width: 100%;
      left: auto;
      top: auto;
      transform: none;
      padding: 2em 1em 1em 1em; }
      .main-slider .slider-wrap .container .slider-caption h3 {
        color: white;
        font-size: 1.6rem;
        font-weight: normal; }
      @media (min-width: 520px) {
        .main-slider .slider-wrap .container .slider-caption {
          position: absolute;
          width: 55%;
          left: 0;
          top: 25px;
          transform: none;
          padding: 2em 1em 1em 1em; }
          .main-slider .slider-wrap .container .slider-caption h3 {
            color: white;
            font-size: 1.6rem;
            font-weight: normal; } }
      @media (min-width: 769px) {
        .main-slider .slider-wrap .container .slider-caption {
          position: absolute;
          width: 55%;
          left: 0;
          top: 35%;
          transform: translateY(-35%);
          padding: 0; }
          .main-slider .slider-wrap .container .slider-caption h3 {
            font-size: 1.7rem; } }
      @media (min-width: 1200px) {
        .main-slider .slider-wrap .container .slider-caption {
          width: 50%;
          top: 45%;
          transform: translateY(-45%);
          padding: 0; }
          .main-slider .slider-wrap .container .slider-caption h3 {
            font-size: 2.67rem; } }

.index-prods {
  background-color: #f3f3f3; }
  .index-prods .slider-wrap {
    position: relative;
    border-left: 0;
    border-top: 0;
    border-bottom: 0; }
    .index-prods .slider-wrap .prods-caption {
      position: inherit;
      left: auto;
      bottom: auto;
      width: 100%;
      padding: 0;
      text-align: center;
      z-index: 1; }
      @media (min-width: 769px) {
        .index-prods .slider-wrap .prods-caption {
          position: absolute;
          left: 0;
          bottom: 0;
          padding: 1.5em; } }
    .index-prods .slider-wrap a:link, .index-prods .slider-wrap a:visited {
      display: block;
      color: #999;
      position: relative;
      overflow: hidden;
      padding: 0 1.5em 2em 1.5em; }
      .index-prods .slider-wrap a:link h4, .index-prods .slider-wrap a:visited h4 {
        font-size: 1.5em;
        font-weight: bold;
        margin-bottom: 0.25em; }
      .index-prods .slider-wrap a:link p, .index-prods .slider-wrap a:visited p {
        font-size: 1em;
        margin-bottom: 0; }
      .index-prods .slider-wrap a:link img, .index-prods .slider-wrap a:visited img {
        transition: all 0.3s linear; }
      .index-prods .slider-wrap a:link:after, .index-prods .slider-wrap a:visited:after {
        position: absolute;
        left: 50%;
        top: 50%;
        width: 100%;
        height: 100%;
        content: "";
        background-color: #003399;
        opacity: 0;
        transform: translate(-50%, -50%);
        z-index: 0;
        transition: all 0.3s linear; }
      .index-prods .slider-wrap a:link:before, .index-prods .slider-wrap a:visited:before {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 0;
        height: 0;
        content: "";
        background-image: url("../images/icon-light-search.png");
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        z-index: 1;
        transition: all 0.3s linear; }
      @media (min-width: 769px) {
        .index-prods .slider-wrap a:link, .index-prods .slider-wrap a:visited {
          padding: 0 0 4.5em 0;
          color: #222; }
          .index-prods .slider-wrap a:link h4, .index-prods .slider-wrap a:visited h4 {
            font-size: 1.5em; } }
      @media (min-width: 1200px) {
        .index-prods .slider-wrap a:link, .index-prods .slider-wrap a:visited {
          padding: 0 0 3em 0;
          color: #222; }
          .index-prods .slider-wrap a:link h4, .index-prods .slider-wrap a:visited h4 {
            font-size: 2em; } }
    .index-prods .slider-wrap a:hover, .index-prods .slider-wrap a:active {
      display: block;
      color: white;
      position: relative;
      overflow: hidden;
      padding: 0 1.5em 4.5em 1.5em; }
      .index-prods .slider-wrap a:hover h4, .index-prods .slider-wrap a:active h4 {
        font-size: 1.5em;
        font-weight: bold;
        margin-bottom: 0.25em; }
      .index-prods .slider-wrap a:hover p, .index-prods .slider-wrap a:active p {
        font-size: 1em;
        margin-bottom: 0; }
      .index-prods .slider-wrap a:hover img, .index-prods .slider-wrap a:active img {
        transform: scale(1.15); }
      .index-prods .slider-wrap a:hover:after, .index-prods .slider-wrap a:active:after {
        position: absolute;
        left: 50%;
        top: 50%;
        width: 100%;
        height: 100%;
        content: "";
        background-color: #003399;
        opacity: 0.85;
        transform: translate(-50%, -50%);
        z-index: 0; }
      .index-prods .slider-wrap a:hover:before, .index-prods .slider-wrap a:active:before {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 60px;
        height: 60px;
        content: "";
        background-image: url("../images/icon-light-search.png");
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        z-index: 1; }
      @media (min-width: 1200px) {
        .index-prods .slider-wrap a:hover, .index-prods .slider-wrap a:active {
          padding: 0 0 3em 0; }
          .index-prods .slider-wrap a:hover h4, .index-prods .slider-wrap a:active h4 {
            font-size: 2em; }
          .index-prods .slider-wrap a:hover:before, .index-prods .slider-wrap a:active:before {
            width: 80px;
            height: 80px; } }
    @media (min-width: 769px) {
      .index-prods .slider-wrap {
        border-left: 1px solid #cdcdcd;
        border-top: 1px solid #cdcdcd;
        border-bottom: 1px solid #cdcdcd; } }
  @media (min-width: 769px) {
    .index-prods {
      background-color: transparent; } }

.index-news {
  text-align: center; }
  .index-news .news-list {
    position: relative;
    display: block;
    overflow: hidden; }
    .index-news .news-list .post-time {
      position: absolute;
      right: 0;
      top: 0;
      background-color: #003399;
      color: white;
      padding: 15px;
      font-size: 1.2rem;
      text-align: center;
      font-weight: bold;
      transition: all 0.3s linear; }
      .index-news .news-list .post-time .year {
        display: block;
        font-size: 0.8rem;
        font-weight: normal; }
    .index-news .news-list p {
      color: #222;
      text-align: center;
      margin-top: 1em;
      line-height: 1.2em;
      letter-spacing: 0;
      transition: all 0.3s linear; }
    .index-news .news-list:after {
      position: absolute;
      left: 50%;
      bottom: 0;
      transform: translateX(-50%);
      width: 0;
      height: 1px;
      content: "";
      background-color: #003399;
      transition: all 0.3s linear; }
    .index-news .news-list:hover .post-time {
      background-color: #29629b; }
    .index-news .news-list:hover p {
      color: #003399; }
    .index-news .news-list:hover:after {
      position: absolute;
      left: 50%;
      bottom: 0;
      transform: translateX(-50%);
      width: 30%;
      height: 1px;
      content: "";
      background-color: #003399; }
