/**
 * Theme Name:     Hiroshi Lord
 * Author:         Hiroshi Lord
 * Template:       flatsome
 * Description:    Theme Build by Hiroshi Lord
 * Version:        2025
 */

/* 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;
}

.custom-btn {
  border-radius: 4px;
  border: 3px solid #F0BF1E;
  background: #FFF !important;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25) inset;
  padding: 10px 20px;
  line-height: unset;
  margin-top: 50px;
  animation: jump 0.9s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite alternate;

  span {

    background: linear-gradient(90deg, #880010 0%, #D22700 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-align: center;
    font-family: Inter;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 40px;

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

  &:hover {
    background: linear-gradient(90deg, #880010 0%, #D22700 100%) !important;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25) inset;
    border: 3px solid transparent;

    span {
      color: #FFF;
      text-align: center;
      font-family: Inter;
      font-size: 24px;
      font-style: normal;
      -webkit-text-fill-color: unset;
      font-weight: 700;
      line-height: 40px;

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

.mfp-close-btn-in .mfp-close {
  color: #fff;
  top: 6px !important;
  right: 14px;
  mix-blend-mode: unset;
}



.mfp-close {
  mix-blend-mode: unset;
  right: 32% !important;
  top: 40px !important;

  @media screen and (max-width:768px) {
    right: 14% !important;

  }
}

@media screen and (min-width: 850px) {


  .mfp-wrap button.mfp-close {
    mix-blend-mode: unset;
    right: 32% !important;
    top: 70px !important;
  }
}

/* END */

.sec-banner {
  .section-bg-overlay {
    background-color: transparent !important;
    background-image: url('../../uploads/2026/04/Rectangle-42128.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
  }

  .ux-timer {
    padding: 20px;
    background: #ffe8e9;
    gap: 30px;
    display: flex;
    border-radius: 16px;
    overflow: hidden;

    span {
      flex: 1;
      background-color: #960202;
      position: relative;

      strong {
        color: #fff;
        font-weight: 500;
        text-transform: capitalize;
      }

      &::after {
        content: ':';
        position: absolute;
        top: 44%;
        right: -30px;
        width: 30px;
        /* height: 0; */
        font-size: 58px;
        color: #000;
        transform: translateY(-50%);
      }

      &:last-child::after {
        content: '';
      }
    }
  }

  .custom-text-banner {
    p {
      color: #fff;
      font-family: Inter;
      font-size: 24px;
      font-style: normal;
      font-weight: 500;
      line-height: 140%;
      /* 28px */
      margin-bottom: 0;
    }
  }

  &.is-full-height {
    @media screen and (max-width:768px) {
      height: unset !important;
    }
  }
}

.sec-course {
  .custom-img {
    margin-top: -12%;

    @media screen and (max-width:768px) {
      margin-top: 0%;
    }
  }

  .custom-stack {
    position: relative;
    gap: 20px;

    @media screen and (max-width:768px) {
      flex-direction: row;
		flex-wrap:wrap;
		gap:10px;
    }

    &::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      height: 12px;
      background-image: url(../../uploads/2026/04/Line-5.svg);
      background-repeat: no-repeat;
      background-position: 100%;
      background-size: cover;
      width: 100%;

      @media screen and (max-width:768px) {
        display: none;

      }
    }

    .custom-text {
      margin-top: 40px !important;
      padding: 26px 10px;
      border-radius: 8px;
      background: rgba(255, 255, 255, 0.84);
      box-shadow: 0 4px 13.9px 0 rgba(183, 0, 0, 0.16);
      flex: 1;
      height: 141px;
      width: 100%;
      position: relative;

      &::before {
        content: '';
        position: absolute;
        top: -38%;
        left: 50%;
        transform: translateX(-50%) translateY(50%);
        width: 20px;
        height: 20px;
        background: #fff;
        border-radius: 50%;

        @media screen and (max-width:768px) {
          display: none;

        }
      }

      p {
        color: #BF0F0F;
        text-align: center;
        font-family: Inter;
        font-size: 19px;
        font-style: normal;
        font-weight: 700;
        line-height: 29px;
        height: 100%;
        display: flex;
        align-items: center;
      }

      @media screen and (max-width:768px) {
        margin-top: unset !important;
        padding: 30px 20px;
		flex:0 0 48%;
		  
		  &.last-child {
			  flex:1;
		  }
      }
    }
  }



}

.sec-why {
  .custom-icon-box {
    .col-inner {
      border-radius: 9px;
      overflow: hidden;
      border-bottom: 15px solid #FFFFC0;
      background: #FFF;
      box-shadow: 0 4px 9.7px 0 rgba(0, 0, 0, 0.44);
      padding: 20px;
      height: 100%;
    }
  }
}

.sec-if {
  .custom-img-text {
    position: absolute;
    top: 10%;

    .img-inner {
      img {
        width: 90%;
        display: flex;
        align-items: center;
        margin: auto;
        justify-content: center;
      }
    }
  }

  .custom-mb {
    @media screen and (max-width:768px) {
      .custom-img-home {
        top: calc(78% - 3px);

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

          left: -12px;

        }
      }

      .custom-img-staff {
        top: 66%;
      }
    }
  }

  .custom-img-home {
    position: absolute;
    top: 41%;
    left: -62px;

    /* @media screen and (max-width: 768px) {

      left: -18px;

    } */

    img {
      width: 90%;
      display: flex;
      align-items: center;
      margin: auto;
      justify-content: center;
    }
  }

  .custom-img-staff {
    position: absolute;
    top: 47%;
    right: -10px;
  }
}

.sec-why-u {
  .custom-text {
    .col-inner {
      border-radius: 25px;
      background: #FFF;
      /* overflow: hidden; */
      position: relative;

      &::before {
        content: '';
        position: absolute;
        top: calc(-50% - 1px);
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url('../../uploads/2026/04/Vector.png');
        background-repeat: no-repeat;
        background-position: 0 100%;
        background-size: contain;

        @media screen and (max-width: 768px) {
          display: none;

        }
      }

      &::after {
        content: '';
        position: absolute;
        top: 15px;
        left: 15px;
        width: 100%;
        height: 100%;
        border-radius: 25px;
        background: #930000;
        overflow: hidden;
        z-index: -1;
      }

      p {
        position: relative;
        z-index: 2;
        color: #FFF;
        text-align: center;
        font-family: Inter;
        font-size: 18px;
        font-style: normal;
        font-weight: 500;
        line-height: 35px;
        letter-spacing: 3px;
        transform: translateY(5px);

        strong {
          color: #FFF;
          font-family: Inter;
          font-size: 30px;
          font-style: normal;
          font-weight: 700;
          line-height: 35px;
          letter-spacing: 3.75px;
        }

        @media screen and (max-width: 768px) {
          padding: 15px 10px;
          font-size: 16px;
          color: #FFF;
          background: var(--fs-color-primary);
          transform: translateY(0px);
          border-radius: 25px;

          strong {
            font-size: 24px;
            color: #fff;
          }

        }
      }
    }

    ul {
      padding: 40px 45px;

      li {
        color: #000;
        font-family: Inter;
        font-size: 20px;
        font-style: normal;
        font-weight: 500;
        line-height: 154%;
        margin-bottom: 7px;
      }
      @media screen and (max-width:768px){
        padding: 20px
      }
    }
  }
}

.sec-for-who {
  .custom-icon-box {
    .col-inner {
      border-radius: 12px;
      border: 6px solid #FFFFC0;
      background: #FFF;
      box-shadow: 8px 8px 20px 3px rgba(147, 147, 147, 0.13);
      padding: 15px 20px;
      height: 100%;

      &:hover {
        border-radius: 12px;
        background: linear-gradient(90deg, #F0BF1E 0%, #F5EA75 100%);

        /* Shadow/Big Card */
        box-shadow: 8px 8px 20px 3px rgba(147, 147, 147, 0.13);
      }

      p {
        color: #370000;
        font-family: Inter;
        font-size: 18px;
        font-style: normal;
        font-weight: 600;
        line-height: 35px;
        /* 159.091% */
      }
    }
  }
}

.sec-share {
  .custom-img-text {
    @media screen and (max-width: 768px) {
      margin-bottom: 70px;

    }
  }

  .custom-row {
    .large-10 {
      &>.col-inner {
        border-radius: 11px;
        /* overflow: hidden; */
        background: linear-gradient(0deg, rgba(255, 255, 255, 0.48) 0%, rgba(255, 255, 255, 0.48) 100%);
        padding: 20px;

        .row-relative {
          position: relative;

          .col-img {
            margin-top: -120px;

            img {
              max-width: 120%;
              width: 120%;
              transform: translateX(-28px);
            }
          }

          .custom-icon-box {
            align-items: center;
            margin-bottom: 23px;

            p {
              color: #000;
              font-family: Inter;
              font-size: 20px;
              font-style: normal;
              font-weight: 500;
              line-height: 140%;
              /* 28px */
            }
          }
        }
      }
    }
  }
}

.sec-u-learn {
  .custom-col-icon {
    .col-inner {
      border-radius: 12px;
      border: 8px solid #FFFFC0;
      background: #FFF;
      height: 100%;
      padding: 12px;
      box-shadow: 32px 32px 124px 0 rgba(43, 56, 76, 0.10);

      .icon-box {
        align-items: center;
        margin-bottom: 20px;

        h3 {
          color: #000;
          font-family: Inter;
          font-size: 24px;
          font-style: normal;
          font-weight: 700;
          line-height: 28px;
          /* 116.667% */
        }
      }

      p {
        color: #000;
        font-family: Inter;
        font-size: 22px;
        font-style: normal;
        font-weight: 400;
        line-height: 36px;
        /* 163.636% */
      }
    }

  }
}

.sec-video {
  .custom-slider {
    .flickity-slider>:not(.is-selected) {
      opacity: 1;
      transform: scale(.93);
    }

    .row {
      .col {
        .col-inner {
          position: relative;

          img {
            border-radius: 4px;
            overflow: hidden;
          }

          .video-button-wrapper {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 60px;
            height: 60px;
            opacity: 0;
            transition: opacity 0.3s ease;

            a {
              border-color: #fff;

              i {
                color: #fff;
              }

              &:hover {
                border-color: var(--fs-color-primary);
              }
            }
          }

          &:hover {
            .video-button-wrapper {
              opacity: 1;
            }
          }
        }
      }
    }

    .flickity-button {
      top: unset;
      bottom: -13px;
      color: #fff;
      height: 20px;
      width: 48px;
      opacity: 1 !important;


      .flickity-button-icon {
        display: none;
      }

      &::before {
        position: absolute;
        content: '\f061';
        font-family: 'Font Awesome 7 Free';
        font-weight: 600;
        font-size: 28px;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
      }

      &.previous {
        left: 36%;

        &::before {
          content: '\f060';
        }
      }

      &.next {
        right: 36%;

      }

      @media screen and (max-width:768px) {
        display: unset;

        &.previous {
          left: 4%;
        }

        &.next {
          right: 4%;

        }
      }
    }

    .flickity-page-dots {
      background-color: rgba(255, 255, 255, 0.48);
      width: max-content;
      height: 4px;
      margin: auto;
      border-radius: 99px;

      li {
        transform: translateY(-10px);

        &.is-selected {
          height: 8px;
          transform: translateY(-8px);
          border-radius: 99px;
        }

        &:nth-child(1) {
          border-top-left-radius: 99px;
          border-bottom-left-radius: 99px;
        }

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

.sec-fb-home {
  .p-15 {
    @media screen and (max-width:768px) {
      padding: 15px !important;
    }
  }

  .col-img-fb {
    .col-inner {
      transform: translate(34px, -14px);

      position: relative;
      z-index: 9;

      img {
        border-radius: 16px;
        overflow: hidden;
      }

      @media screen and (max-width:768px) {
        transform: translate(0, 40px);

        img {
          width: 200px;
        }
      }
    }
  }

  .col-info-fb {
    .col-inner {
      display: flex;
      padding: 66px 20px 20px 56px;
      flex-direction: column;
      align-items: flex-start;
      gap: 16px;
      align-self: stretch;
      border-radius: 16px;
      border: 1px solid var(--fs-color-primary);
      background: #FAFAFA;
      box-shadow: 0 3.189px 20px 0 rgba(255, 2, 2, 0.12), 0 0 10px 0 rgba(255, 2, 2, 0.12);

      &::before {
        content: "";
        position: absolute;
        top: 34px;
        left: 66px;
        width: 36px;
        height: 30px;
        border-radius: 16px;
        transform: translate(-10px, -10px);
        background-image: url('../../uploads/2026/04/Vector-3.png');
        background-size: cover;
        background-repeat: no-repeat;

        @media screen and (max-width:768px) {
          left: 85% !important;
        }
      }

      .custom-text-fb {
        p {
          color: var(--color-text, #000);
          font-family: Arial;
          font-size: 18px;
          font-style: normal;
          font-weight: 400;
          line-height: 130%;
          /* 23.4px */
        }

        h3 {
          color: #00247B;
          font-family: Arial;
          font-size: 18px;
          font-style: normal;
          font-weight: 700;
          line-height: 130%;
          /* 23.4px */
          letter-spacing: 0.18px;
          margin-bottom: 0;
        }

        h4 {
          color: #000;
          font-family: Inter;
          font-size: 16px;
          font-style: normal;
          font-weight: 500;
          line-height: 130%;
          letter-spacing: 0.16px;
        }


      }

      @media screen and (max-width:768px) {
        padding: 66px 15px 15px !important;
      }
    }
  }

  .custom-stack-fb {
    display: flex;
    gap: 8px;

    .flex-1 {
      /* flex: 1; */

      &.text {
        border-radius: 99px;
        background: #25CC68;
        color: #FFF;
        overflow: hidden;
        width: 150px;
        display: flex;
        justify-content: center;
        padding: 8px;
        color: #FFF;
        font-family: Arial;
        font-size: 12px;
        font-style: normal;
        font-weight: 700;
        line-height: 130%;
        /* 15.6px */
        letter-spacing: 0.12px;
      }

      &.icon-box {
        border-radius: 99px;
        background: #E6E9F2;
        width: 150px;
        display: flex;
        align-items: center;
        justify-content: center;

        .icon-box-img {
          img {
            padding-top: 0;
            transform: translateY(-2px)
          }
        }

        .icon-box-text {
          flex: unset;
          padding-left: 8px;

          p {
            color: #000;
            font-family: Arial;
            font-size: 12px;
            font-style: normal;
            font-weight: 700;
            line-height: 130%;
            /* 15.6px */
            letter-spacing: 0.12px;
          }
        }
      }
    }

    @media screen and (max-width:768px) {
      flex-wrap: wrap;
    }
  }

  .row-slider {
    .slider-custom-exp {
      .flickity-viewport {
        height: 450px !important;
        padding-top: 20px !important;

        @media screen and (max-width: 768px) {
          height: 750px !important;
        }
      }

      & .flickity-viewport .flickity-slider>* {
        max-width: 65% !important;

        @media screen and (max-width:768px) {
          /* padding: 15px; */
        }
      }

      .flickity-button {
        top: unset;
        bottom: 12px;
        color: var(--fs-color-primary);
        border-radius: 10px;
        border: 0.727px solid var(--fs-color-primary);
        background: #fff !important;
        height: 48px !important;
        width: 48px !important;
        opacity: 1 !important;
        display: block !important;

        .flickity-button-icon {
          display: none;
        }

        &::before {
          position: absolute;
          content: '\f061';
          font-family: 'Font Awesome 7 Free';
          font-weight: 600;
          top: 5px;
          left: 0;
          height: 100%;
          width: 100%;
        }

        &.previous {
          left: 44%;

          &::before {
            content: '\f060';
          }

          @media screen and (max-width: 768px) {
            &.previous {
              left: 30%;
            }
          }
        }

        &.next {
          right: 44%;

          @media screen and (max-width: 768px) {
            &.next {
              right: 30%;
            }
          }
        }
      }

      .flickity-page-dots {
        bottom: 80px;

        .dot {
          transition: all ease-in 0.3s;
          background: rgba(255, 255, 255, 0.60);
          border-color: rgba(255, 255, 255, 0.60);

          &.is-selected {
            width: 36px;
            border-radius: 99px;
            background: #fff;
            border-color: #fff;
          }
        }
      }

      .slider-style-focus .flickity-slider>:not(.is-selected) {
        opacity: 1;
        transform: scale(1);
      }
    }
  }
}

.sec-room {
  p {
    color: #FFF !important;
    text-align: center;
    font-family: Inter;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
    /* 28px */
    text-transform: capitalize;

    @media screen and (max-width:768px) {
      font-size: 16px
    }
  }

  .flickity-button {
    bottom: 50% !important;
  }
}

.sec-footer {
  .row {
    p {
      margin-bottom: 0;
    }

    .col {
      .col-inner {
        height: 100%;
        padding: 20px 0;
      }

      &.col-clipath-1 {
        .col-inner {
          /* Tạo hình đa giác với 4 điểm */
          /* Điểm 1: góc trên trái (0% 0%) */
          /* Điểm 2: góc trên phải vát vào (80% 0%) */
          /* Điểm 3: góc dưới phải (100% 100%) */
          /* Điểm 4: góc dưới trái (0% 100%) */
          clip-path: polygon(0 0, 80% 0, 100% 100%, 0 100%);

          @media screen and (max-width: 768px) {
            clip-path: unset;
          }
        }
      }

      &:nth-child(2) {
        .col-inner {
          display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: center;

          p {
            color: #FFF;
            text-align: center;
            font-family: Inter;
            font-size: 16px;
            font-style: normal;
            font-weight: 400;
            line-height: 140%;
            text-transform: capitalize;
          }
        }
      }

      &.col-clipath-2 {
        .col-inner {
          /* Tạo hình đa giác với 4 điểm */
          /* Điểm 1: góc trên trái (0% 0%) */
          /* Điểm 2: góc trên phải vát vào (80% 0%) */
          /* Điểm 3: góc dưới phải (100% 100%) */
          /* Điểm 4: góc dưới trái (0% 100%) */
          clip-path: polygon(0 0, 100% 0, 100% 100%, 20% 100%);
          display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: center;

          @media screen and (max-width: 768px) {
            clip-path: unset;
          }

          p {
            strong {
              color: #FFF;
              font-family: Inter;
              font-size: 24px;
              font-style: normal;
              font-weight: 600;
              line-height: 130%;
              /* 31.2px */
              text-transform: capitalize;
            }

            color: #FFF;
            font-family: Inter;
            font-size: 24px;
            font-style: normal;
            font-weight: 400;
            line-height: 140%;
            text-transform: capitalize;
          }

          a.button {
            border-radius: 5px;
            background: linear-gradient(90deg, #D09615 0%, #EECD37 100%);
            box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.12);
            padding: 10px 32px;
            line-height: unset;
            margin-top: 30px;
          }
        }
      }
    }
  }
}

.wpcf7-spinner {
  display: none;
}

.sec-popup {
  padding: 60px;

  @media screen and (max-width:768px) {
    padding: 50px 15px !important;

    .col {
      padding-bottom: 0;
    }
  }

  .section-bg-overlay {

    background: linear-gradient(90deg, #d0051d99 0%, #f43c12a6 100%);
  }

  /* Khung tổng quát */
  .registration-form {
    max-width: 600px;
    margin: 0 auto;
    background: #fff;
    border: 5px solid #990000;
    /* Màu đỏ đô viền ngoài */
    border-radius: 10px;
    overflow: hidden;
    font-family: Arial, sans-serif;
  }

  /* Tiêu đề đỏ trên cùng */
  .form-header {
    background: #990000;
    color: #fff;
    text-align: center;
    padding: 20px;
    font-size: 24px;
    font-weight: bold;
  }

  .form-body {
    padding: 30px 20px;
  }

  /* Xử lý chia cột */
  .form-group-flex {
    display: flex;
    gap: 20px;
  }

  .form-row {
    position: relative;
    margin-bottom: 25px;
    width: 100%;
  }

  /* Hiệu ứng nhãn đè viền */
  .field-label {
    position: absolute;
    top: -10px;
    left: 15px;
    background: #fff;
    padding: 0 5px;
    font-size: 14px;
    font-weight: bold;
    color: #666;
    z-index: 1;
  }

  .required {
    color: red;
  }

  /* Style cho các ô Input của CF7 */
  .registration-form input[type="text"],
  .registration-form input[type="tel"],
  .registration-form input[type="email"] {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ccc;
    border-radius: 8px;
    box-sizing: border-box;
    outline: none;
    height: 56px;
    box-shadow: none;

    @media screen and (max-width:768px) {
      margin-bottom: 0;
    }
  }

  /* Nút bấm Đăng ký ngay */
  .form-footer {
    text-align: center;
    margin-top: 10px;
  }

  .registration-form input[type="submit"] {
    background: linear-gradient(to bottom, #d32f2f, #800000);
    color: white;
    border: none;
    padding: 15px 40px;
    font-size: 18px;
    font-weight: bold;
    border-radius: 5px;
    cursor: pointer;
    transition: 0.3s;
    line-height: unset;
  }

  .registration-form input[type="submit"]:hover {
    transform: scale(1.05);
    filter: brightness(1.2);
  }

  /* Responsive cho điện thoại */
  @media (max-width: 480px) {
    .form-group-flex {
      flex-direction: column;
      gap: 0;
    }
  }
}

#popup-khuyen-mai {
  padding: 0 !important;
  border-radius: 38px;
  overflow: hidden;
}

/* Định nghĩa hiệu ứng */
@keyframes jump {
  from {
    transform: translateY(0);
  }

  to {
    transform: translateY(-30px);
  }
}