@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Thai&family=Roboto:wght@300;400;500;700&display=swap');
:root {

  /*========== Color ==========*/
  --first-color: #0A654F;
  --second-color: #29EE2F;
  --third-color: #73EB54;
  --text-color: #3B3B3B;
  --text-color-gray: #999999;
  --white-color: #FAF9F6;

  /*========== Font and typography ==========*/
  --prompt-100: "Prompt-100", sans-serif;
  --prompt-300: "Prompt-300", sans-serif;
  --prompt-400: "Prompt-400", sans-serif;
  --prompt-500: "Prompt-500", sans-serif;
  --prompt-600: "Prompt-600", sans-serif;
  --prompt-700: "Prompt-700", sans-serif;
  --prompt-800: "Prompt-800", sans-serif;
  --prompt-900: "Prompt-900", sans-serif;
  --topic-font-size: 46px;
  --normal-font-size: 16px;
  --biggest-font-size: 1.95rem;
  --h1-font-size: 1.5rem;
  --h2-font-size: 1.25rem;

  /*========== z index ==========*/
  --z-tooltip: 10;
  --z-fixed: 100;

  /*========== Hover overlay ==========*/
  --img-transition: all .3s ease;
  --img-hidden: hidden;
  --img-scale: scale(1.1);

  /*========== Margin ==========*/
  --margin-1: 15px;
  --margin-2: 30px;
  --margin-3: 40px;
  --margin-4: 50px;
}
.header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  background-color: transparent;
  & .navbar {
    padding-top: 0;
    padding-bottom: 0;
    height: 115px;
    background-color: #303030;
    transition: height 0.3s ease;
    @media screen and (max-width: 991px) {
      height: 100px;
    }
    @media screen and (max-width: 767px) {
      height: 80px;
    }
  }
  .navLogo{
    & img{
      @media screen and (max-width: 767px) {
        height: 45px;
      }
    }
  }
  .borderHeader{
    height: 8px;
    background-color: #898B88;
    position: relative;
    @media screen and (max-width: 767px) {
      height: 5px;
    }
    &::after{
      content: '';
      height: 100%;
      background-color: var(--second-color);
      position: absolute;
      top: 0;
      right: 0;
      width: 53%;
    }
  }
}

.navMenu {
  @media screen and (max-width: 991px) {
    display: none;
  }
  .navList {
    display: flex;
    align-items: center;
    gap: 26px;
    margin-bottom: 0;
    @media screen and (max-width: 1050px) {
      gap: 15px;
    }
    @media screen and (max-width: 991px) {
      flex-direction: column;
    }
    .dropdown-item{
      padding: .25rem .5rem;
      display: flex;
      align-items: center;
      & img{
        height: 25px;
        margin-right: 5px;
      }
    }
  }
  & .navLink {
    color: var(--white-color);
    font-size: var(--normal-font-size);
    font-family: var(--prompt-400);
    @media screen and (max-width: 991px) {
    }
    &.active{
      border-radius: 4px;
      background-color: var(--second-color);
      color: #303030;
      height: 32px;
      padding: 0 12px;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    &:hover{
      color: var(--second-color);
    }
    @media screen and (max-width: 991px) {
      color: #fff !important;
      padding-top: 0.7rem;
      padding-bottom: 0.7rem;
      font-size: 14px;
    }
    &.navCart{
      position: relative;
      .valueCart{
        width: 20px;
        height: 20px;
        position: absolute;
        background-color: #fad938;
        color: #000;
        font-family: var(--prompt-600);
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 100%;
        top: -10px;
        right: -10px;
        font-size: 12px;
        @media screen and (max-width: 991px) {
          top: 0;
        }
      }
    }
  }
}

.btnHamburger {
  display: none;
  margin-left: 25px;
  z-index: 1000;
  width: 23px;
  height: 17px;
  position: relative;
  background-color: transparent;
  transform: rotate(0deg);
  cursor: pointer;
  border: none;
  box-shadow: none;
  outline: none !important;
  align-items: center;
  justify-content: space-between;
  flex-direction: column;
  @media screen and (max-width: 991px) {
    display: flex;
  }
  @media screen and (max-width: 767px){
    margin-left: 15px;
  }
  & span {
    position: relative;
    height: 3px;
    width: 100%;
    border-radius: 9px;
    background: var(--white-color);
    opacity: 1;
    left: 0;
    transform: rotate(0deg);
    transition: transform 0.25s ease-in-out;
    box-shadow: none;
    outline: none !important;
  }
  &.open span {
    background-color: #fff;
    position: absolute;
    &:nth-child(1) {
      top: 8px;
      transform: rotate(135deg);
    }
    &:nth-child(2) {
      opacity: 0;
      left: -60px;
      top: 8px;
    }
    &:nth-child(3) {
      top: 8px;
      transform: rotate(-135deg);
    }
  }
}

.menuBg {
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  opacity: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  transition: opacity 0.4s ease-in-out;
  visibility: hidden;
  &.menuBgActive {
    opacity: 1;
    visibility: inherit;
    transition: opacity 0.3s ease-in-out;
  }
}

.menu {
  position: fixed;
  left: auto;
  top: 0%;
  right: -68em;
  bottom: 0%;
  z-index: 999;
  display: flex !important;
  width: 100%;
  height: 100%;
  max-width: 30em;
  padding: 1.5em;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: #2d2f2d;
  transition: right 0.35s ease-in-out, left 0.5s ease-in-out;
  transform-style: preserve-3d;
  overflow-x: hidden;
  overflow-y: auto;
  &.menuOpen {
    right: 0;
    transition: right 0.35s ease-in-out, left 0.5s ease-in-out;
  }
  & .menuContain {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 15em;
    max-width: 100%;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    position: inherit;
    top: auto;
    left: auto;
    padding: inherit;
    text-align: inherit;
    background-color: inherit;
    transition: inherit;
    box-shadow: none;
    border-radius: 0;
    z-index: inherit;
  }
}

footer{
  background-color: #303030;
  padding-top: 42px;
  padding-bottom: 30px;
  @media screen and (max-width: 767px) {
    padding: 30px 0;
  }
  .gridFooter{
    display: grid;
    grid-template-columns: 60% auto;
    gap: 70px;
    @media screen and (max-width: 991px) {
      grid-template-columns: 100%;
      gap: 30px;
    }
    @media screen and (max-width: 767px) {
      gap: 15px;
    }
    .leftFooter{
      & h3{
        color: #fff;
        font-size: 32px;
        line-height: 42px;
        margin-bottom: 10px;
        font-family: var(--prompt-400) !important;
        @media screen and (max-width: 991px) {
          font-size: 26px;
          line-height: 32px;
        }
      }
      & p{
        font-size: 16px;
        color: #fff;
        font-family: var(--prompt-100);
        margin-bottom: 30px;
        @media screen and (max-width: 767px) {
          font-size: 14px;
          margin-bottom: 20px;
        }
      }
      .listLink{
        display: flex;
        align-items: center;
        gap: 23px;
        .itemLink{
          font-size: 21px;
          color: var(--third-color);
          @media screen and (max-width: 991px) {
            font-size: 18px;
          }
          @media screen and (max-width: 767px) {
            font-size: 14px;
          }
          &:last-child{
            color: #E6FBE2;
          }
        }
      }
    }
    .rightFooter{
      & h4{
        font-size: 21px;
        line-height: 32px;
        color: var(--third-color);
        font-family: var(--prompt-400);
        margin-top: 10px;
        margin-bottom: 7px;
        @media screen and (max-width: 767px) {
          font-size: 18px;
        }
      }
      .input-group{
        margin-bottom: 5px;
        display: flex;
        .form-control{
          border-radius: 0;
          border: none;
          &:focus{
            border-color: var(--first-color);
            box-shadow: 0 0 0 0.2rem rgba(10 101 79 / 25%)
          }
        }
        & button{
          background-color: var(--second-color);
          color: #fff;
          border: none;
          @media screen and (max-width: 767px) {
            font-size: 14px;
          }
        }
      }
      .form-check{
        margin-bottom: 30px;
        @media screen and (max-width: 991px) {
          margin-bottom: 20px;
        }
        & label{
          color: #fff;
          font-size: 16px;
          @media screen and (max-width: 767px) {
            font-size: 14px;
          }
        }
      }
      .listSocial{
        display: flex;
        align-items: center;
        justify-content: space-between;
        @media screen and (max-width: 991px) {
          max-width: 300px;
        }
        & a{
          display: block;
          &:hover{
            & img{
              transform: scale(1.3);
            }
          }
          & img{
            max-width: 100%;
            max-height: 36px;
            transition: all .3s;
            @media screen and (max-width: 991px) {
              max-height: 25px;
            }
          }
        }
      }
    }
  }
  .bottomFooter{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 30px;
    @media screen and (max-width: 991px) {
      flex-direction: column;
      align-items: flex-start;
    }
    .copyright{
      color: var(--third-color);
      font-size: 16px;
      @media screen and (max-width: 991px) {
        font-size: 14px;
        margin-bottom: 10px;
      }
    }
    & p{
      color: #fff;
      font-size: 16px;
      @media screen and (max-width: 991px) {
        font-size: 14px;
      }
    }
  }
}

@media screen and (max-width: 767px) {
  :root{
    --normal-font-size: 14px;
  }
}