body {
  font-family: "Poppins", "Noto Sans Thai", "Noto Sans Thai Bold", sans-serif;
  color: #202124;
}

.preloader-invisible {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  text-align: center;
  background: none;
  z-index: 999999;
  opacity: 0;
}

.title-with-color,
.title-text,
a,
span,
button,
li {
  font-family: "Poppins", "Noto Sans Thai", "Noto Sans Thai Bold", sans-serif;
}

a:focus {
  outline: none !important;
}

section {
  text-align: center;
  margin: 40px 0;
}

.section_title {
  font-family: "Poppins", "Noto Sans Thai", "Noto Sans Thai Bold", sans-serif;
  font-weight: 700 !important;
}

.section_desc {
  font-family: "Poppins", "Noto Sans Thai", "Noto Sans Thai Bold", sans-serif;
  max-width: 720px;
  font-size: 20px;
  font-weight: 400;
  color: rgba(0, 0, 0, 0.89);
  margin: auto;
}

.img-100 {
  width: 100%;
}

.btn-pink-icon {
  display: flex;
  padding: 16px 20px;
  justify-content: center;
  align-items: center;
  color: #FFF;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  border-radius: 20px;
  background: linear-gradient(180deg, #B87CFD 0%, #8D7DF7 100%);
  box-shadow: 0 4px 25px 0 rgba(0, 112, 226, 0.15);
  margin: 16px auto;
  border: none;
  transition: .2s;
}

.btn-pink-icon .icon {
  color: #FFF;
  font-size: 22px;
}

.btn-pink-icon:hover {
  filter: brightness(1.1);
}

.arrow-right .bx-right-arrow-alt {
  width: 22px;
}

.btn-plans-mb {
  width: 100% !important;
}

.w-100 {
  width: 100%;
}

.d-flex-space-between {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  justify-content: space-between;
}

.title-with-color {
  font-size: 42px;
  font-weight: 600;
  margin: auto;
  margin-top: 20px;
  margin-bottom: 10px;
  line-height: 1.3;
}

.desc {
  color: #657285;
  font-size: 14px;
  font-weight: 500;
  margin: 0;
}

.text-gradient-mint {
  background: linear-gradient(90deg, #40ACFD 40%, #FF42DA 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.color-personal {
  color: #03ABE6;

}

.gradient-purple-light {
  background: linear-gradient(180deg, #B87CFD 0%, #8D7DF7 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.fs-16 {
  font-size: 16px;
}

.fadeLeft {
  animation-duration: .4s;
  animation-name: slideLeftin;
}

@keyframes slideLeftin {
  0% {
    opacity: 0;
    transform: translateX(-10px);
  }

  100% {
    opacity: 1;
    transform: translateX(0px);
  }
}

.fadeIn {
  animation-duration: .4s;
  animation-name: fade_in;
}

@keyframes fade_in {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.hide-mobile {
  display: none;
}

.show-desktop {
  display: block;
}

/* ai image style */
.swiper-image_style.swiper {
  padding-top: 12px;
  max-width: 1296px;
}

.swiper-image_style .swiper-slide {
  width: unset;
}

.swiper-image_style .swiper-slide img {
  border-radius: 8px;
  min-height: 179px;
}

.box-swiper-image_style .swiper-button-next,
.box-swiper-image_style .swiper-button-prev {
  border-radius: 50px;
  background: #000;
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.25);
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
}

.box-swiper-image_style .swiper-button-next {
  right: -16px;
}

.box-swiper-image_style .swiper-button-prev {
  left: -16px;
}

.box-swiper-image_style .swiper-button-next:after,
.box-swiper-image_style .swiper-button-prev:after {
  font-size: 16px;
}

.box-swiper-image_style .swiper-button-disabled {
  opacity: 0 !important;
}

.checkbox-ai {
  display: inline-block;
  position: relative;
  width: unset;
}

.checkbox-ai input[type=checkbox],
.checkbox-ai input[type=radio] {
  display: none;
}

.btn-radio-image-style {
  position: relative;
  font-size: 14px;
  font-weight: 400;
  white-space: nowrap;
  border: 3px solid #dfe0e100;
  /* padding: 4px 8px; */
  border-radius: 8px;
  margin: 0;
  line-height: 1.42857143;
  transition: 0.2s;
  width: 140px;
  cursor: pointer;
  color: var(--mandala-white);
  background-repeat: no-repeat !important;
  background-size: 100% !important;
}

.btn-radio-image-style.active {
  border: 3px solid #4B62E6;
}

.btn-radio-image-style.active .lazy-image {
  border-radius: 4px;
}

.btn-radio-image-style.active .text-style-image {
  border-radius: 0 0 4px 4px;
}

.btn-image-style-close {
  display: inline-block;
  position: absolute;
  top: 5px;
  right: 5px;
  z-index: 10;
  border-radius: 50px;
  width: 24px;
  height: 24px;
  border: none;
  background: rgb(0 0 0 / 77%);
}

.btn-image-style-close span {
  font-size: 18px;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  margin-top: 2px;
}

.text-style-image {
  transition: 0.2s;
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 8px;
  font-size: 14px;
  border-radius: 0 0 8px 8px;
  text-align: center;
  line-height: 1.4;
  color: #fff;
  background: #000;
}

#section-1 {
  /* height: 750px; */
  background: radial-gradient(circle, rgba(255, 255, 255, 1) 36%, #eaedf7 100%);
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
}

#section-1 .content_box {
  display: flex;
  justify-content: center;
  flex-direction: column;
  margin-top: 80px;
}

#section-1 .box_banner {
  max-width: 970px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  flex-direction: column;
}

#section-1 .banner_title {
  font-size: 62px;
  font-weight: 600;
  margin: 0 auto;
  margin-bottom: 10px;
  text-align: center;
  background: linear-gradient(180deg, #4B62E6 0%, #8D7DF7 24.04%, #B87CFD 54.81%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

#section-1 .banner_title_2 {
  font-family: "Poppins", "Noto Sans Thai", "Noto Sans Thai Bold", sans-serif;
  color: #202124;
  font-size: 46px;
  font-style: normal;
  font-weight: 500;
  margin: 0 auto 8px auto;
}

#section-1 .box_banner_buttons {
  display: flex;
  width: 100%;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin: 20px 0;
}

#section-1 .banner_buttons {
  display: flex;
  width: 100%;
  justify-content: center;
  gap: 10px;
}

#section-1 .btn-getstarted {
  font-size: 16px;
  font-weight: 700;
  background: linear-gradient(118deg, #007BF2 0.07%, #565EF0 78.15%);
  box-shadow: 0px 5px 20px rgba(1, 114, 255, 0.2);
  color: #FFFFFF;
}

#section-1 .btn-getstarted a {
  color: #FFFFFF;
  display: flex;
  align-items: center;
}

#section-1 .btn-plans a {
  color: #202124;
}

#section-1 .btn-plans:hover a {
  text-decoration: underline;
}

#section-1 .arrow-right {
  padding-left: 0;
  -webkit-transition: padding 0.3s ease-in-out;
  transition: padding 0.3s ease-in-out;
  width: 10px;
  display: inline-block;
  height: 22px;
}

#section-1 .btn-getstarted:hover .arrow-right {
  padding-left: 5px;
}

#section-1 .banner_text {
  max-width: 820px;
  margin: auto;
  margin-bottom: 8px;
}

.section_title.product_title {
  font-size: 36px;
}

#section-1 .box-tab_ai {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;

}

#section-1 .box-tab_ai .tab_ai {
  display: flex;
  width: fit-content;
  padding: 4px 18px 4px 12px;
  align-items: center;
  gap: 3px;
  border-radius: 10px;
}

#section-1 .box-tab_ai .tab_ai .icon {
  width: 24px;
  height: auto;
}

#section-1 .box-tab_ai .tab_ai .text {
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  margin: 0;
}

.box-btn-mobile-app img {
  width: 130px;
  border-radius: 5px;
}

.img_frame {
  width: 100%;
  max-width: 1600px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

.btn-icon-md {
  color: #7C77FF;
  font-size: 16px;
  font-weight: 500;
  width: fit-content;
  display: flex;
  padding: 10px 15px;
  justify-content: center;
  align-items: center;
  gap: 14px;
  border-radius: 7px;
  border: 1px solid #7C77FF;
  transition: .2s;
}

.box-prompt {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0;
}

.box-prompt-tag {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0;
}

.box-prompt .tag-prompt {
  display: flex;
  justify-content: center;
  align-items: center;
  width: fit-content;
  gap: 4px;
  padding: 6px 12px;
  border-radius: 10px;
  border: 1px solid var(--Purple, #B87CFD);
  cursor: pointer;
  transition: .2s;
}

.box-prompt .tag-prompt:hover {
  background: #b87cfd1a;
}

.btn-icon-md .icon {
  width: 24px;
  height: auto;
}

.btn-icon-md:hover {
  background: #F8F8FF;
}


/* content */
.wrap-content {
  display: flex;
  justify-content: center;
}

.content-40 {
  width: 40%;
}

.content-50 {
  width: 50%;
}

.content-60 {
  width: 60%;
}

.wrap-content {
  display: flex;
  justify-content: center;
  justify-content: space-between;
  gap: 40px;
}

.ul-close {
  padding-inline-start: 20px;
  margin: 16px 0;
}

.ul-close::marker {
  content: none;
}

.ul-close li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  line-height: 1.6;
  font-size: 16px;
  font-weight: 400;
}

.ul-close li::before {
  font-family: "boxicons";
  content: "\ef06";
  font-size: 20px;
  color: #F74397;
  width: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  margin-top: 2px;
}


.ul-correct {
  padding-inline-start: 20px;
  margin: 16px 0;
}

.ul-correct::marker {
  content: none;
}

.ul-correct li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  line-height: 1.6;
  font-size: 16px;
  font-weight: 400;
}

.ul-correct li::before {
  font-family: "boxicons";
  content: "\ed31";
  font-size: 20px;
  color: #F74397;
  width: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  margin-top: 2px;
}

.ul-correct.blue li::before {
  color: #03ABE6;
}

.ul-correct.green li::before {
  color: #0FA6A6;

}

.ul-correct.purple li::before {
  color: #6040D7;
}

.ul-correct.red li::before {
  color: #ED4C7A;
}


@media screen and (max-width: 1340px) {
  .content_box {
    max-width: 95%;
  }
}

@media (max-width: 1024px) {
  .content_box {
    max-width: 90%;
  }

  .hide-mobile {
    display: block;
  }

  .show-desktop {
    display: none;
  }

  /* content */
  .wrap-content {
    flex-direction: column;
    align-items: center;
  }

  .wrap-content.column-reverse {
    flex-direction: column-reverse;
  }

  .content-40,
  .content-50,
  .content-60 {
    text-align: center;
    width: 100%;
  }

  .ul-close {
    width: fit-content;
    margin: 16px auto;
  }

  .ul-correct {
    width: fit-content;
    margin: 16px auto;
  }

  #section-1 .banner_title {
    max-width: 720px;
  }

  #section-1 .banner_text {
    max-width: 600px;
    margin: auto;
    margin-bottom: 8px;
  }

  #section-1 .banner_buttons {
    flex-direction: column;
    align-items: center;
  }
}

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

  .title-with-color {
    font-size: 38px;
  }

  #section-1 .banner_title_2 {
    font-size: 40px;

  }

  #section-1 .banner_title {
    font-size: 52px;
  }
}

@media (max-width: 740px) {

  .box-prompt .tag-prompt {
    width: 100%;
  }
}

@media (max-width: 620px) {
  #section-1 .content_box {
    margin-top: 90px;
  }

  #section-1 .banner_text {
    font-size: 16px;
  }

  .section_title.product_title {
    font-size: 28px;
  }

  #section-1 .banner_title {
    font-size: 40px;
  }

  #section-1 .banner_title_2 {
    font-size: 30px;
  }
}

@media (max-width: 440px) {
  .btn-icon-md {
    font-size: 14px;
    gap: 6px;
    padding: 10px;
  }
}

@media (max-width: 376px) {
  #section-1 .banner_text {
    max-width: 600px;
  }
}

.banner-home-animate {
  position: relative;
}

.banner-home-animate .img-home-left {
  position: absolute;
  left: 0;
}

.banner-home-animate .img-home-right {
  position: absolute;
  right: 0;
  right: -220px;
  max-width: 340px;
}

.banner-home-animate .img-home-right.p-1 {
  top: -80px;
}

.banner-home-animate .img-home-right.p-2 {
  top: 50%;
}

.banner-home-animate .img-home-right.p-3 {
  bottom: 20px;
}

/* chat-container */
#chat-container {
  position: relative;
  width: 100%;
}

#chat-container label {
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
}

#chat-container .input-container {
  position: relative;
  display: block;
  padding: 0 0px 16px;
  /* max-width: 800px; */
  margin: 0 auto;
  width: 100%;
}

#chat-container .chat-input-bar {
  position: relative;
  margin: auto;
  width: 100%;
  border-radius: 12px;
  padding: 18px 15px;
  display: block;
  border: 1px solid transparent;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding-inline: 20px;
  background-color: #fff;
  /* box-shadow: 4px 4px 4px 0px rgba(241, 244, 249, 1); */
  /* box-shadow: 0px 1px 4px 2px rgba(234, 235, 243, 0.6); */
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 8px 24px rgba(15, 23, 42, 0.08);
  gap: 12px;
  z-index: 10;
  text-align: left;
}

#chat-container .chat-input-bar .textarea-wrapper {
  position: relative;
  padding: 8px 0 !important;
}

#chat-container .input-area {
  position: relative;
  display: flex;
  align-items: flex-end;
  background: #fff;
  flex: 1;
  padding: 8px 8px;
  border: none;
  outline: none;
  font-size: 14px;
  width: 100%;
  resize: none;
  min-height: 140px;
  max-height: calc(1.2em * 5 + 10px);
  line-height: 1.2em;
  overflow-y: auto;
  border-radius: 5px;
  border: 1px solid #8EB5DC;
}

#chat-container .icon-chat-box {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px !important;
  font-size: 15px;
  color: #fff;
  background-color: #4b62e6;
  border-radius: 50%;
  box-shadow: 0px 0px 3px 2px #4b62e675;
  transition: all 0.2s ease-in-out;
  /* transform: rotate(4deg); */
}

#chat-container .box-btn-right {
  position: absolute;
  right: 12px;
  bottom: 18px;
  z-index: 10;
}

.btn-icon-md {
  display: flex;
  font-size: 14px;
  font-weight: 600;
  height: auto;
  padding: 8px 16px 8px 14px !important;
  vertical-align: middle;
  gap: 6px;
  justify-content: space-evenly;
  align-items: center;
}

.btn-icon-md.blue {
  width: 100%;
  max-width: 320px;
  border-radius: 10px;
  background: #3A61F8;
  padding: 10px !important;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  color: #fff;
  margin: 20px auto 10px auto;
}

.btn-icon-md.blue:hover {
  filter: brightness(1.1);
}

.disabled {
  pointer-events: none;
  opacity: .9;
}

.btn-gradient-blue,
.btn-gradient-green {
  border: none;
  box-shadow: 0 4px 25px 0 rgba(0, 112, 226, 0.15);
  color: #FFFFFF;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 7px;
  padding: 10px 45px;
  gap: 10px;
  text-align: center;
  cursor: pointer;
  width: 100%;
  font-size: 16px;
  font-weight: 500;
}

.btn-gradient-blue {
  background: linear-gradient(299deg, #363BE6 22.13%, #4675F6 65.97%);
}

.btn-gradient-green {
  background: linear-gradient(300deg, #0FA958 28.23%, #17C18B 65.98%);

}

.btn-gradient-blue .arrow-right,
.btn-gradient-green .arrow-right {
  transition: .2s;
}

.btn-gradient-blue:hover .arrow-right,
.btn-gradient-green:hover .arrow-right {
  padding-left: 5px;
}

.loading-spinner {
  width: 20px;
  height: 20px;
  border: 3px dotted rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  animation: spinnerRotate 1.5s linear infinite, spinnerBlink 2s ease-in-out infinite;
}

@keyframes spinnerRotate {
  to {
    transform: rotate(360deg);
  }
}

@keyframes spinnerBlink {

  0%,
  100% {
    opacity: 0.35;
  }

  50% {
    opacity: 1;
  }
}