@import url('https://fonts.googleapis.com/css2?family=Prompt:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');



#tilt {
  transform-origin: center;
  /* ตั้งจุดหมุนให้อยู่กึ่งกลาง */
  will-change: transform;
  /* ช่วยลดการโหลดของเบราว์เซอร์ */
  transition: transform 0.2s ease-out;
  /* การเคลื่อนไหวสมูด */
}


@keyframes fadeInUp2 {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade-in-up2 {
  animation: fadeInUp 1s forwards;
}

.svg-hidden {
  opacity: 0;
}

.navbar .navbar-nav {
  justify-content: center !important;
}

.reposfoot {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.btn-xl-square.bg-primary.text-white.rounded.p-4.me-4 {
  background-color: #5f2d8c !important;
}

.footer {
  background: #5f2d8c !important;
}

a.btn.btn-primary.btn-lg-square.rounded-circle.back-to-top {
  background: #5f2d8c !important;
}

@media only screen and (max-width: 600px) {
  .reposfoot {
    align-items: flex-start !important;
  }

  .reline {
    display: none;
  }

  .reporow {
    display: flex;
    flex-direction: column-reverse;
  }

  .reposimg {
    height: 100% !important;
  }

  .repostext {
    margin-top: 0px;
    display: flex;
    justify-content: center;
    flex-direction: column;
  }

  .repostext2 {
    margin-right: 0px !important;
  }

  .reposcon {
    margin-top: 0px !important;
    padding-top: 0px !important;
  }

  .reposcon3 {
    margin-top: 0px !important;
  }

  .reposcon2 {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
  }

  .repade {
    padding: 0px 35px;
  }

  .reposimI {
    padding-top: 3rem !important;
    padding-left: 3rem;
    padding-right: 3rem;
    padding-bottom: 0rem !important;

  }

  .reimpole {
    display: flex;
    flex-direction: column-reverse;
  }

  .navh {
    font-size: calc(1.275rem + -0.2vw) !important;
  }

  .reconpadbottom {
    padding-bottom: 70px;
  }

  i.bi.bi-arrow-left {
    transform: rotateY(360deg) !important;
  }

  i.bi.bi-arrow-right {
    transform: rotateY(360deg) !important;
  }
}

.reposimI {
  padding-top: 0rem;
  padding-left: 3rem;
  padding-right: 3rem;
  padding-bottom: 3rem;

}

.repostext {
  margin-top: 120px;
  display: flex;
  justify-content: center;
}

.repostextnopa {
  display: flex;
  justify-content: center;
}

.repostext2 {
  margin-right: 20px;
}

h6,
.h6,
h5,
.h5,
h4,
.h4,
h3,
.h3,
h2,
.h2,
h1,
.h1,
p,
a,
.fontt {
  font-family: "Prompt", serif !important;


}

.carousel-caption {
  background: rgba(255, 255, 255, 0) !important;
}

.service .service-item .service-content .service-content-inner h6 {
  transition: 0.5s;
}

.service .service-item:hover .service-content .service-content-inner h6:hover {
  color: var(--bs-dark);
}

.service .service-item:hover .service-content .service-content-inner h6 {
  color: var(--bs-white);
}

.service .service-item .service-content .service-content-inner .h2 {
  transition: 0.5s;
}

.service .service-item:hover .service-content .service-content-inner .h2:hover {
  color: var(--bs-dark);
}

.service .service-item:hover .service-content .service-content-inner .h2 {
  color: var(--bs-white);
}


.btn-primary {
  background-color: #5f2d8c !important;
}
i.bi.bi-arrow-right {
  transform: rotateY(180deg);
}

i.bi.bi-arrow-left {
  transform: rotateY(180deg);
}


/*** Project Portfolio ***/
#portfolio-flters li {
  display: inline-block;
  font-weight: 500;
  color: var(--dark);
  cursor: pointer;
  transition: .5s;
  border-bottom: 2px solid transparent;
}

#portfolio-flters li:hover,
#portfolio-flters li.active {
  color: var(--primary);
  border-color: var(--primary);
}

.btn-immg {
  color: white !important;
  border-color: white !important;
}

.btn-immg:hover {
  color: white !important;
  border-color: #5f2d8c !important;
  background-color: #5f2d8c;
}

.portfolio-img {
  position: relative;
}

.portfolio-btn {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgb(47 47 47 / 22%);
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  padding: 30px;
  padding-bottom: 100px !important;
  opacity: 0;
  transition: .5s;
}

.portfolio-item:hover .portfolio-btn {
  opacity: 1;
  padding-bottom: 30px !important;
}


.navbar-light .navbar-nav .nav-link {
  color: #16243d;
}

.copyright {
  background: #381259;
  border-top: 1px solid rgba(255, 255, 255, .08);
}

.nav-link.active {
  color: #5f2d8c !important;
}

.dropdown-item.active, .dropdown-item:active {
  color: #fff;
  text-decoration: none;
  background-color: #5f2d8c;
}

.houp {
  transition: 0.5s ease;
}

.houp:hover {
  transform: translateY(-10px);
}

.repbb {
  padding-bottom: 165px !important;
}

.reptt {
  padding-top: 0px !important;
}

.refont_size18pxxx {
  font-size: 1.2rem;
}

@media only screen and (max-width: 600px) {
  .reptt {
    padding-top: 45px !important;
  }

  .reitem_footer {
    padding-left: 0px !important;
    padding-right: 0px !important;
  }

  .reitem_footer_B {
    padding-bottom: 0px !important;
  }

  .reitem_footer-div {
    justify-content: flex-start !important;
    align-items: center !important;
  }

  .navh {
    font-size: calc(1.0rem + -0.2vw) !important;
  }

  .capeple {
    margin-left: 0px !important;
  }

  .repx0 {
    padding-left: 0px !important;
    padding-right: 0px !important;
  }

  .repx4 {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }

  .rept-0 {
    padding-top: 0px !important;
  }

  .repb-0 {
    padding-bottom: 0px !important;
  }

  .remt-5 {
    margin-top: 2rem !important;
  }

  .remt-1 {
    margin-top: 1rem !important;
  }

  .remb-5 {
    margin-bottom: 2rem !important;
  }

  .remb-3 {
    margin-bottom: 1rem !important;
  }

  .remb0 {
    margin-bottom: 0rem !important;
  }

  .notborder {
    border-right: 0px solid #7070706b !important;
  }

  .redisplay-6 {
    font-size: calc(1.65rem + 1.5vw) !important;
  }

  .redisplay-6re {
    font-size: calc(1.25rem + 1.5vw) !important;
  }

  .reh3re {
    font-size: calc(1rem + 0.6vw) !important;
  }

  .redisplay-5 {
    font-size: calc(1.35rem + 1.7vw) !important;
  }

  .rehp {
    font-size: 1.1rem !important;
  }

  .redisplay-4 {
    font-size: calc(1.075rem + 2.7vw) !important;
  }

  .reh {
    font-size: calc(1.175rem + 0.3vw) !important;
  }

  .rehbig {
    font-size: calc(1.8rem + 0.3vw) !important;
  }

  .rewidth {
    width: 100px !important;
  }

  .red-none {
    display: none;
  }

  .reshowd {
    display: block !important;
  }

  .reflex {
    display: flex !important;
    flex-direction: column !important;
  }

  .refont-W {
    font-weight: 500 !important;
  }

  .resize20px {
    font-weight: 300;
    padding-left: 10px;
    font-size: 20px !important;
  }

  .resize16px {
    font-size: 16px !important;
  }

  .redisplay-6rere {
    font-size: calc(1.5rem + 1.5vw) !important;
  }

  .fa-checkre {
    color: white;
    background: #ff1d25;
    padding: 5px !important;
    border-radius: 5px;
    font-size: 13px !important;
    height: 100%;
  }

  .redisplay-6rerere {
    font-size: calc(1.23rem + 1.5vw) !important;
  }

  .fauk {
    color: white;
    background: #ff1d25;
    padding: 10px !important;
    border-radius: 10px;
    font-size: 18px !important;
    height: 100%;
  }

  .recheckre2 {
    color: white;
    background: #EB0000;
    padding: 4px !important;
    border-radius: 5px;
    font-size: 10px !important;
    height: 100%;
  }

  .recarousel {
    height: 180px !important;
  }

  .rep0 {
    padding: 0px !important;
  }

  .refont15 {
    font-size: 1.5rem !important;
  }

  .retop0 {
    top: 0px !important;
  }

  .repfont {
    padding-left: 8px !important;
    font-size: 13px !important;
  }

  .rewidth100 {
    width: 100% !important;
  }

  .rescale {
    scale: 0.8 !important;
  }

  .refontp3 {
    font-size: 0.9rem !important;
    padding-left: 10px !important;
  }

  .repnotb {
    padding-left: 0px !important;
    padding-right: 0px !important;
    padding-top: 0px !important;
    padding-bottom: 1rem !important;
  }

  .repnothave {
    padding-left: 0px !important;
    padding-right: 0px !important;
    padding-top: 0px !important;
    padding-bottom: 0rem !important;
  }

  .bannerrr1 {
    height: 90px !important;
    object-fit: cover !important;
  }

  .repnott {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    padding-top: 0rem !important;
    padding-bottom: 2rem !important;
  }

  .repx05 {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }

  .repfontre {
    padding-left: 6px !important;
    font-size: 11px !important;
  }

  .repfontrere {
    padding-left: 6px !important;
    font-size: 19px !important;
  }

  .refontp33 {
    font-size: 0.86rem !important;
    padding-left: 5px !important;
  }

  .repbb {
    padding-bottom: 40px !important;
  }

  .rebottom20 {
    bottom: -20px !important;
  }

  .fs-5 {
    font-size: 1rem !important;
  }

  .repadbot {
    padding-bottom: 100px !important;
  }

  .repx0x {
    padding-left: 0px !important;
    padding-right: 0px !important;
  }

  .retextcenter {
    text-align: center !important;
    font-size: calc(1.475rem + 1.5vw) !important;
  }

  .dropdown12-content {
    position: absolute;
    visibility: hidden;
    top: 100%;
    transform: rotateX(-75deg);
    transform-origin: 0% 0%;
    border: 0;
    border-radius: 10px;
    transition: 0.5s;
    opacity: 0;
    background-color: var(--bs-light);
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
    min-width: 0px !important;
    z-index: 1;
  }

  .repleft15px {
    padding-left: 15px !important;
  }

  .redisplayIT {
    font-size: calc(1.075rem + 2.7vw) !important;
  }

  .card .card-body p {
    font-size: 0.9rem !important;
  }

  .owl-carousel .owl-item img {
    object-fit: cover;
    height: 175px !important;
  }

  .bannerrr {
    height: 110px !important;
    object-fit: cover !important;
  }

  .rept1 {
    padding-top: 1rem !important;
  }

  .refontsize0_9 {
    font-size: 0.85rem !important;
  }

  .refontsize1_2 {
    font-size: 1.1rem !important;
  }
}

@media (min-width: 1200px) and (max-width: 1540px) {

  .repx0 {
    padding-left: 0px !important;
    padding-right: 0px !important;
  }

  .repx1re {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }

  .repxpt {
    padding: 1.2rem 0.5rem !important;
  }


  .fs-4re {
    font-size: 1.4rem !important;
  }

  .refont_size18pxxx {
    font-size: 18px !important;
  }
  .reflex{
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }
}

@media (min-width: 1540px) {
  .fs-4re {
    font-size: 1.4rem !important;
  }
  .reflex{
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }
  .row .repx0x .reflex{
    padding-left: 0rem !important;
    padding-right: 0rem !important;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1024px) {

  /* CSS สำหรับหน้าจอเล็กกว่าโน้ตบุ๊ก */
  .repCnothave {
    padding-left: 0px !important;
    padding-right: 0px !important;
    padding-top: 0px !important;
    padding-bottom: 0rem !important;
  }

  .reflex {
    display: flex !important;
    flex-direction: column !important;
  }

  .rept-0 {
    padding-top: 0px !important;
  }

  .retop0 {
    top: 0px !important;
  }

  .reitem_footer {
    padding-left: 1rem !important;
    padding-right: 0px !important;
  }

  .reitem_footer_B {
    padding-bottom: 0px !important;
  }

  .reitem_footer-div {
    justify-content: flex-start !important;
    align-items: center !important;
  }

  .fs-5 {
    font-size: 1.1rem !important;
  }

  .remb0 {
    margin-bottom: 0rem !important;
  }

  .reimpole {
    display: flex;
    flex-direction: column-reverse;
  }

  .red-none {
    display: none;
  }

  .reshowd {
    display: block !important;
  }
  .resize2rem {
    font-size: 2rem !important;
}
  .notborder {
    border-right: 0px solid #7070706b !important;
  }

  .rewidthpad {
    width: 100% !important;
    padding: 0rem 3rem !important;
  }

  .redisplay-6re {
    font-size: calc(1.9rem + 1.5vw) !important;
  }

  .refont_size18pxxx {
    font-size: 2rem !important;
    padding-left: 20px !important;
  }

  .d-flexrerere {
    display: flex !important;
    align-items: center !important;
  }

  .fauk {
    color: white;
    background: #ff1d25;
    padding: 12px !important;
    border-radius: 10px;
    font-size: 25px !important;
    height: 100%;
  }

  .rewidth {
    width: 220px !important;
  }

  .repx3x {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }

  .refont-W {
    font-weight: 500 !important;
  }

  .repx0x {
    padding-left: 0rem !important;
    padding-right: 0rem !important;
  }

  .reh4p1_6 {
    font-size: calc(1.575rem + 0.3vw) !important;
  }

  .bannerrr {
    height: 225px !important;
    object-fit: cover !important;
  }

  .mt_15px {
    margin-top: 15px !important;
  }

  .remt-1 {
    margin-top: 2rem !important;
  }

  .recard-body {
    flex: 1 1 auto;
    padding: 1.2rem 1rem;
  }

  .rehcard {
    font-size: 1.45rem !important;
  }
  .rewidth100 {
    width: 100% !important;
  }
  .refontp33 {
    font-size: 1.4rem !important;
    padding-left: 5px !important;
  }
  .rewidth {
    width: 150px !important;
  }
  
}
