@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; }

.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; }

.intro-main {
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  margin-bottom: 1.5rem; }
  @media (min-width: 769px) {
    .intro-main {
      -webkit-line-clamp: 7; } }
  @media (min-width: 1200px) {
    .intro-main {
      -webkit-line-clamp: 10; } }

.prods-list .prods-name {
  color: #003399;
  font-size: 1.8em;
  font-weight: bold; }
.prods-list:nth-child(even) {
  display: flex;
  flex-direction: row-reverse; }
.prods-list .col-12.col-lg-6:nth-child(even) {
  padding: 0 3em; }

.intro {
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  margin: 0 0 30px;
  transition: all 0.3s ease; }
  .intro.active {
    display: block; }

.intro-more {
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.3s ease; }

.prods-list2 {
  background-color: #f3f3f3;
  border-bottom: 1px solid white;
  border-right: 1px solid white;
  padding: 0; }
  .prods-list2 a:link, .prods-list2 a:visited {
    color: #222;
    position: relative;
    display: block;
    padding: 1em 1.5em 2.5em 1.5em;
    overflow: hidden; }
    .prods-list2 a:link:before, .prods-list2 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; }
    .prods-list2 a:link:after, .prods-list2 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; }
    .prods-list2 a:link img, .prods-list2 a:visited img {
      transition: all 0.3s linear; }
    .prods-list2 a:link p, .prods-list2 a:visited p {
      position: absolute;
      font-size: 1.2em;
      font-weight: bold;
      left: 0.5em;
      bottom: 0.5em;
      text-align: center;
      width: calc(100% - 1em);
      z-index: 1; }
  .prods-list2 a:hover, .prods-list2 a:active {
    color: white;
    position: relative;
    display: block;
    padding: 1em 1.5em 2.5em 1.5em;
    overflow: hidden; }
    .prods-list2 a:hover:before, .prods-list2 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; }
    .prods-list2 a:hover:after, .prods-list2 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; }
    .prods-list2 a:hover img, .prods-list2 a:active img {
      transform: scale(1.15); }
    .prods-list2 a:hover p, .prods-list2 a:active p {
      position: absolute;
      font-size: 1.2em;
      font-weight: bold;
      left: 0.5em;
      bottom: 0.5em;
      text-align: center;
      width: calc(100% - 1em);
      z-index: 1; }

.prods-name2 {
  font-size: 1.3em;
  color: #003399;
  font-weight: bold; }
  @media (min-width: 769px) {
    .prods-name2 {
      font-size: 1.67em; } }

.prods-series {
  font-size: 1em;
  color: white;
  padding: 0.3em 1em;
  background-color: orange;
  float: left;
  font-weight: bold;
  margin-bottom: 1.5em;
  text-transform: uppercase;
  letter-spacing: 0.1em; }
  @media (min-width: 769px) {
    .prods-series {
      font-size: 1.1em; } }

.btn-prods {
  padding: 0.45em 0.5em;
  display: flex;
  align-items: center;
  background-color: #f3f3f3;
  margin-bottom: 0.5em;
  justify-content: center;
  color: #999;
  transition: all 0.3s linear; }
  .btn-prods i {
    color: #003399;
    font-size: 1.7em;
    transition: all 0.3s linear; }
  .btn-prods:hover {
    color: #6699cc; }
    .btn-prods:hover i {
      color: #6699cc; }
  @media (min-width: 769px) {
    .btn-prods {
      padding: 0.45em 2.5em;
      display: inline-flex;
      align-items: center;
      background-color: transparent;
      margin-bottom: 0;
      justify-content: end; }
      .btn-prods i {
        color: #003399;
        font-size: 2.2em;
        transition: all 0.3s linear; } }

.control-bar {
  width: 100%;
  margin-bottom: 2em;
  margin: 0 !important; }
  .control-bar a:link, .control-bar a:visited {
    display: inline-block;
    background-color: #6699cc;
    color: white;
    font-size: 1em;
    text-transform: uppercase;
    text-align: center;
    padding: 0.45em 0.7em;
    border: 1px solid white;
    border-bottom: 0; }
  .control-bar a:hover, .control-bar a:active {
    color: white;
    background-color: #003399;
    border-bottom: 0; }
  .control-bar.active {
    border-bottom: 0;
    background-color: #003399; }
  @media (min-width: 769px) {
    .control-bar a:link, .control-bar a:visited {
      display: inline-block;
      background-color: #f3f3f3;
      color: #999;
      font-size: 1.2em;
      text-transform: uppercase;
      text-align: center;
      padding: 0.7em;
      border: 1px solid white;
      border-bottom: 2px solid transparent; }
    .control-bar a:hover, .control-bar a:active {
      color: #003399;
      background-color: #f3f3f3;
      border-bottom: 2px solid #003399; } }

.feature-block {
  padding: 2em 0; }
  .feature-block .block-title {
    font-size: 2.3em;
    font-weight: bold;
    text-align: center;
    text-shadow: -1px -1px 0 #999, 1px -1px 0 #999, -1px 1px 0 #999, 1px 1px 0 #999;
    color: white;
    margin-bottom: 1em; }
    @media (min-width: 769px) {
      .feature-block .block-title {
        font-size: 2.67em; } }
  .feature-block .row .col-12.col-lg-6 {
    align-self: center; }
    .feature-block .row .col-12.col-lg-6 .title {
      color: orange;
      font-size: 1.3em;
      font-weight: bold; }
      @media (min-width: 769px) {
        .feature-block .row .col-12.col-lg-6 .title {
          font-size: 1.67em; } }
    .feature-block .row .col-12.col-lg-6 img {
      width: 100%;
      height: auto;
      margin-bottom: 3em; }
    .feature-block .row .col-12.col-lg-6:nth-child(even) {
      padding: 1em 2em; }
  .feature-block .row:nth-child(odd) {
    display: flex;
    flex-direction: row-reverse; }

.spec-block {
  padding: 2rem 0; }
  .spec-block .block-title {
    font-size: 2.3rem;
    font-weight: bold;
    text-align: center;
    text-shadow: -1px -1px 0 #999, 1px -1px 0 #999, -1px 1px 0 #999, 1px 1px 0 #999;
    color: white;
    margin-bottom: 1rem; }
    @media (min-width: 769px) {
      .spec-block .block-title {
        font-size: 2.67rem; } }
  .spec-block .table-head {
    background-color: #003399;
    color: white;
    text-align: center;
    text-transform: uppercase;
    font-weight: bold; }
  .spec-block .table-body th {
    min-width: 250px; }
  .spec-block .table-body .item {
    font-weight: bold;
    text-transform: uppercase; }
  @media (min-width: 769px) {
    .spec-block .table-body .item {
      text-transform: none; } }
  .spec-block .table-body .sub-title {
    color: #003399;
    background-color: transparent;
    padding: 0.5rem;
    text-align: left;
    position: relative;
    border-bottom: 0;
    font-weight: bold;
    font-size: 1.25rem;
    margin: 1rem 0 0 0; }
    .spec-block .table-body .sub-title:after {
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      content: "";
      background-color: #6699cc;
      opacity: 0.3;
      z-index: 0;
      display: none; }
    @media (min-width: 769px) {
      .spec-block .table-body .sub-title {
        background-color: white;
        text-align: center;
        border-bottom: 1px solid #cdcdcd;
        font-size: 1rem;
        margin: 0; }
        .spec-block .table-body .sub-title:after {
          display: block; } }

.accessories-block {
  padding: 2em 0; }
  .accessories-block .block-title {
    font-size: 2.3em;
    font-weight: bold;
    text-align: center;
    text-shadow: -1px -1px 0 #999, 1px -1px 0 #999, -1px 1px 0 #999, 1px 1px 0 #999;
    color: white;
    margin-bottom: 1em; }
    @media (min-width: 769px) {
      .accessories-block .block-title {
        font-size: 2.67em; } }
  .accessories-block .accordion-item {
    border-radius: 0;
    border: 0;
    border-bottom: 1px solid white; }
    .accessories-block .accordion-item .accordion-button:not(.collapsed) {
      border-radius: 0;
      background-color: #999;
      color: white;
      font-size: 1.15rem;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      padding: 1rem;
      box-shadow: none; }
      .accessories-block .accordion-item .accordion-button:not(.collapsed):after {
        background-image: url("data:image/svg+xml,<svg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='M2 8a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11A.5.5 0 0 1 2 8Z' clip-rule='evenodd'/></svg>");
        transform: none; }
      .accessories-block .accordion-item .accordion-button:not(.collapsed):hover {
        background-color: #6699cc; }
      @media (min-width: 769px) {
        .accessories-block .accordion-item .accordion-button:not(.collapsed) {
          padding: 1.5rem 2.5rem; } }
    .accessories-block .accordion-item .accordion-button.collapsed {
      border-radius: 0;
      background-color: #cdcdcd;
      color: white;
      font-size: 1.15rem;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      padding: 1rem;
      box-shadow: none; }
      .accessories-block .accordion-item .accordion-button.collapsed:after {
        background-image: url("data:image/svg+xml,<svg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='M8 2a.5.5 0 0 1 .5.5v5h5a.5.5 0 0 1 0 1h-5v5a.5.5 0 0 1-1 0v-5h-5a.5.5 0 0 1 0-1h5v-5A.5.5 0 0 1 8 2Z' clip-rule='evenodd'/></svg>");
        transform: none; }
      .accessories-block .accordion-item .accordion-button.collapsed:hover {
        background-color: #6699cc; }
      @media (min-width: 769px) {
        .accessories-block .accordion-item .accordion-button.collapsed {
          padding: 1.5rem 2.5rem; } }
  .accessories-block .accordion-body {
    background-color: #f3f3f3;
    padding: 1.5rem 1rem; }
    .accessories-block .accordion-body ul {
      display: block;
      flex-wrap: wrap; }
      .accessories-block .accordion-body ul li {
        min-width: 100%;
        flex: 0 0 auto; }
    @media (min-width: 769px) {
      .accessories-block .accordion-body {
        padding: 1.5rem 2.5rem; }
        .accessories-block .accordion-body ul {
          display: inline-flex; }
          .accessories-block .accordion-body ul li {
            min-width: 50%; } }
