/**
 * Theme Name:     Hiroshi Lord
 * Author:         Hiroshi Lord
 * Template:       flatsome
 * Description:    Theme Build by Hiroshi Lord
 * Version:        2025
 */
body {
  /* font-family: 'Neurial Grotesk', sans-serif; */
}

h1,
h2,
h3,
h4,
h5,
h6 {
  /* font-family: 'Neurial Grotesk', sans-serif; */
  font-weight: 700;

  span {
    font-weight: 700;
  }
}

p,
span,
li,
a {
  font-size: 20px;
  /* font-family: 'Neurial Grotesk', sans-serif; */
  /*   font-weight: 400; */
}

/* DEFAULT NO BORDER AND LINE-THROUGH */
.section-title-center b {
  opacity: 0;
}

.section-title-normal {
  border-bottom: none;
}

.section-title-normal span {
  border-bottom: none;
}

.text-cap {
  span {
    text-transform: capitalize;
  }
}

.border-radius {
  border-radius: 8px;
  overflow: hidden;

  img {
    border-radius: 8px;
  }
}

.sec-footer {
  .custom-menu-white .ux-menu-link__text {
    color: #ffff !important;
    text-align: left !important;
  }
}

.text-overflow {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  /* Giới hạn tối đa 2 dòng */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  /* Hiện dấu ... nếu vượt quá */
  white-space: normal;
  /* Cho phép xuống dòng */

  a {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    /* Giới hạn tối đa 2 dòng */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    /* Hiện dấu ... nếu vượt quá */
    white-space: normal;
    /* Cho phép xuống dòng */
  }
}

.d-none {
  display: none !important;
}

.post-item {
  .box {
    .box-text {
      a {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        /* Giới hạn tối đa 2 dòng */
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
        /* Hiện dấu ... nếu vượt quá */
        white-space: normal;
        /* Cho phép xuống dòng */
      }

      .from_the_blog_excerpt {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        /* Giới hạn tối đa 2 dòng */
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
        /* Hiện dấu ... nếu vượt quá */
        white-space: normal;
        /* Cho phép xuống dòng */
      }
    }
  }
}

.category {
  .page-title {
    span {
      font-size: 35px;
      color: var(--fs-color-primary);
    }
  }
}

/* END */
.sec-footer-img-fixed {
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  height: 350px;
  background-image: url("../../uploads/2026/04/foot-bnnr.jpg");
  background-attachment: fixed;
  background-repeat: no-repeat;
  background-position: center;

  .text {
    small {
      font-size: 20px;
      font-weight: 600;
      line-height: 1.28;
      letter-spacing: 1px;
      color: rgba(255, 255, 255, 0.2);
    }

    h3 {
      padding: 20px 0 40px;
      font-size: 55px;
      font-weight: normal;
      line-height: 1.41;
      color: #ffffff;

      @media screen and (max-width: 768px) {
        padding: 10px 0 20px;
        font-size: 30px;
      }
    }

    p {
      font-size: 18px;
      font-weight: 300;
      line-height: 1.4;
      letter-spacing: -0.9px;
      color: #ffffff;
    }
  }
}

.sec-form-footer {
  .wpcf7-form-control {
    box-shadow: none;
    outline: none;
    height: 45px;
  }

  .text-info-contact {
    h3 {
      font-size: 24px;
      font-weight: 500;
      color: #ffffff;
    }

    p {
      margin-bottom: 10px;
    }
  }
}

.sec-menu-footer {
  .row {
    .col-inner {
      height: 100%;
    }
  }

  .custom-menu {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    gap: 10px;

    .ux-menu-link__link {
      color: #000;

      .ux-menu-link__text {
        font-size: 18px !important;
        font-weight: 500;
      }
      &:hover {
        color: var(--fs-color-primary);
      }
    }
  }

  .ux-logo {
    .ux-logo-link {
      padding: 0 15px !important;
    }
  }
}

.sec-info-footer {
  h3 {
    font-size: 32px;
    font-weight: 500;
    color: #ffffff;
  }

  p {
    margin-bottom: 10px;
  }

  .col-logo {
    .ux-logo {
      margin-right: 10px;

      .ux-logo-link {
        padding: 8px !important;
        background-color: #f8f8f8;
        border-radius: 50%;
        overflow: hidden;
      }

      &.fb {
        .ux-logo-link {
          background-color: #f8f8f8;
        }
      }

      &.yt {
        .ux-logo-link {
          background-color: #f8f8f8;
        }
      }

      &.ins {
        .ux-logo-link {
          background-color: #f8f8f8;
        }
      }

      img {
        /* filter: brightness(0) invert(1); */
      }
    }
  }
}

.absolute-footer {
  display: none;
}

.sec-book-contact {
  .custom-row {
    margin-top: -120px;
  }

  .custom-col {
    .col-inner {
      padding: 80px 100px;
      box-sizing: border-box;
      background-color: #fff;
      box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;

      h3 {
        font-size: 30px;
        line-height: 1.38;
        letter-spacing: -2.25px;
      }

      table {
        td,
        th {
          border-bottom: none;
        }
      }
    }
  }

  .row-request {
    padding: 65px 90px;
    box-sizing: border-box;
    background-color: #f6ece7;
    margin-top: 30px;

    .large-6 {
      .col-inner {
        padding: 65px 90px;
        box-sizing: border-box;
        background-color: #fff;
        height: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;

        h4 {
          color: var(--fs-color-secondary);
        }
      }
    }
  }
}

.sec-banner-services {
  h1 {
    font-size: 80px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: -0.9px;
    color: #ffffff;
  }

  p {
    font-size: 18px;
    font-weight: 300;
    line-height: 1.78;
    letter-spacing: -0.9px;
    color: #ffffff;
    margin-bottom: 0;
  }
}

.sec-about-home {
  h3 {
    margin-bottom: 45px;
    font-size: 35px;
    font-weight: normal;
  }

  p {
    font-size: 20px;
  }
}

.sec-service-home {
  .large-3 {
    .col-inner {
      position: relative;

      h3 {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        font-size: 90px;
        font-weight: normal;
        line-height: 1;
        z-index: 10;
        width: max-content !important;
      }

      .text-tranfrom {
        position: absolute;
        bottom: -240px;
        left: 100px;
        transform: rotate(-90deg) translateX(-80%);
        transform-origin: left;
        height: 100%;
        width: 550px;

        p {
          &:first-child {
            font-size: 28px;
            font-weight: bold;
            margin-bottom: 0;
            text-align: left;
          }
          text-align: left;
          font-size: 16px;
        }

        @media screen and (max-width: 768px) {
          transform: unset;
          position: unset;
          width: unset !important;
        }
      }
    }
  }

  .custom-slider {
    .flickity-viewport {
      .row {
        &.is-selected {
          transform: scale(0.93) !important;
        }

        &:not(.is-selected) {
          opacity: 1 !important;
        }

        .box {
          h4 {
            font-size: 28px;
            font-weight: 500;
          }
        }
      }
    }

    .flickity-page-dots {
      display: flex;
      align-items: center;
      width: 95%;
      left: 5%;
      bottom: 30px;

      li {
        flex: 1;

        &:first-child {
          border-top-left-radius: 4px;
          border-bottom-left-radius: 4px;
        }

        &:last-child {
          border-top-right-radius: 4px;
          border-bottom-right-radius: 4px;
        }
      }
    }
  }
}

.sec-slider-home {
  .col-text {
    .col-inner {
      background-color: #f9f6f3;
      height: 100%;
      display: flex;
      align-items: center;
      flex-direction: column;
      justify-content: center;

      h3 {
        font-size: 30px;
        line-height: 1.38;
        letter-spacing: -2.25px;
      }

      .is-divider {
        width: 50px;
        height: 1px;
        background-color: #000;
        margin-bottom: 30px;
      }

      p {
        /* margin-bottom: 15px; */
      }
    }
  }
}

.sec-banner-home {
  .text-box-content {
    h3 {
      font-size: 32px;
    }
  }
}

.sec-device-home {
  .box {
    h3 {
      font-size: 28px;
      font-weight: 600;
    }

    hr {
      border-color: #000;
      opacity: 0.9;
    }

    p {
      &.equip-category {
        font-size: 18px;
        font-weight: 600;
        margin-bottom: 0;
        color: #000;
        margin-bottom: 10px;
      }
    }
  }
}

.sec-news-home {
  .tabbed-content {
    .nav-simple {
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 30px;

      li {
        flex: 1;
        text-align: center;
        border: 1px solid #ddd;
        margin-right: 0;
        line-height: 40px;

        &.active {
          background-color: #000;

          span {
            color: #fff;
          }
        }

        a {
          width: 100%;
          text-align: center;
          display: flex;
          justify-content: center;
        }
      }
    }

    .tab-panels {
    }
  }
}

.sec-privacy {
  .text {
    h3 {
      font-size: 80px;
      font-weight: 500;
      line-height: 1.4;
      letter-spacing: -0.9px;
    }
  }
}

.sec-des-privacy {
  h3 {
    font-size: 45px;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: 60px;
    margin-bottom: 0;

    small {
      font-size: 23px;
    }
  }

  .col-info {
    .col-inner {
      padding: 50px;
      border: 1px solid #ddd;
      box-sizing: border-box;
    }
  }
}

.sec-two-about {
  .col {
    .col-inner {
      position: relative;

      .text-transform {
        position: absolute;
        top: 0;
        left: 180px;
        padding: 40px 0;
        width: 100%;
        z-index: 2;

        h3 {
          font-size: 60px;
          font-weight: normal;
          line-height: 1.06;
          letter-spacing: -0.9px;
        }

        @media screen and (max-width: 768px) {
          left: 0;
          padding: 20px 0;
          font-size: 30px;
        }
      }
    }
  }
}

.sec-img-text {
  h3 {
    font-size: 30px;
    color: var(--fs-color-primary);
  }

  p {
    margin-bottom: 10px;
  }
}

#quick-side-menu {
  display: flex;
  align-items: flex-end;
  flex-flow: column;
  position: fixed;
  right: 0;
  top: 60%;
  min-width: 54px;
  max-width: 200px;
  transform: translateY(-50%);
  z-index: 20;

  .quick-icon {
    overflow: hidden;
    display: flex;
    position: relative;
    width: 54px;
    height: 54px;
    margin-top: -1px;
    border: 1px solid #ddd;
    box-sizing: border-box;
    background-color: #e9e9e9;
    transition: width 0.4s;
    align-items: center;
    justify-content: center;

    i {
      font-size: 24px;
    }

    .label {
      overflow: hidden;
      display: none;
      margin-top: -2px;
      color: #333;
      font-size: 16px;
      font-weight: 400;
      white-space: nowrap;
      vertical-align: middle;
      padding-left: 15px;
    }

    &:hover {
      width: 150px;
      justify-content: start;
      padding-left: 10px;

      .label {
        opacity: 1;
        display: block;
      }
    }
  }

  /* Mobile: ẩn label để tránh chiếm diện tích */
  @media screen and (max-width: 768px) {
    flex-direction: row;
    left: 0;
    bottom: 0;
    transform: unset;
    top: unset;

    max-width: 100%;

    .quick-icon {
      /* display: none; */
      flex: 1;

      &:hover {
        width: 100px;
        padding-left: unset;
        justify-content: center !important;

        .label {
          display: none !important;
        }
      }
    }
  }
}
.header-wrapper {
  &.stuck {
    .header_logo {
      display: none;
    }
    .header-logo-dark {
      display: block !important;
    }
  }
}
