/* Font Google */
@import url('https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,200..900;1,200..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Sumana:wght@400;700&display=swap');

/* Root styling start */
:root {
  --green: #095042;
  --light-green: #0D6E58;
  --dark-green: #053B50;
  --light-gray: #EBE3D6;
  --dark-gray: #333;
  --white: #FFF;
  --black: #000;
  --bg-cream: #FEFAF2;
  --full-size: 9999px;
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  /* scroll-behavior: smooth; */
}

html {
  scroll-behavior: smooth;
}

body {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
}

.ms-auto-lg {
  margin-left: auto !important;
}

.top-40 {
  top: 40% !important;
}

/* Root styling end */


/* ==> Datagrid Style <== */
.datagrid thead tr th {
  font-weight: 500 !important;
}

#paging li {
  padding: 2px;
}

#paging li.active a {
  background-color: #97a6f4;
  padding: 8px 16px;
  border-radius: 10px;
  color: #fff;
  text-decoration: none;
}

#paging li.disabled a {
  background-color: #eee;
  padding: 8px 16px;
  border-radius: 10px;
  color: #000;
  text-decoration: none;
}

#paging li a {
  background-color: #eee;
  padding: 8px 16px;
  border-radius: 10px;
  color: #000;
  text-decoration: none;
}

#paging li a:hover {
  background-color: #d3d3d3;
}

/* Custom Button Base Boostrap */
.btn-custom {
  border-radius: 20px !important;
  padding: 6px 20px !important;
}

.btn-blue-violet {
  color: #fff !important;
  background-color: #8b23e6 !important;
  border-color: #8b23e6 !important;
}

.btn-brilliant-rose {
  color: #fff !important;
  background-color: #ff52b6 !important;
  border-color: #ff52b6 !important;
}

.btn-info-outline {
  background-color: white !important;
  outline: 1.5px solid #97a6f4 !important;
  color: #97a6f4;
  border: none;
  font-weight: 600;
  letter-spacing: 1px;
}

.btn-magic-potion {
  color: #fff !important;
  background-color: #f44e5a !important;
  border-color: #f44e5a !important;
}

.btn-purple {
  color: #fff !important;
  background-color: #a42ee5 !important;
  border-color: #a42ee5 !important;
}

.btn-ruber {
  color: #fff !important;
  background-color: #d1436d !important;
  border-color: #d1436d !important;
}

.btn-steel-pink {
  color: #fff !important;
  background-color: #cc30d9 !important;
  border-color: #cc30d9 !important;
}

.btn-teal {
  color: #fff !important;
  background-color: #008080 !important;
  border-color: #008080 !important;
}

html, body {
  padding: 0 !important;
  overflow-x: hidden;
}

/* Navbar styling start */
nav {
  border-bottom: 1px solid var(--light-gray);
  padding: 16px 40px !important;
  position: fixed !important;
  width: 100%;
  z-index: 100;
  background-color: var(--white);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.nav-link:hover {
  color: var(--light-green);
}
/* Navbar styling end */

.masuk-btn-user {
	border-radius: 14px !important;
	font-weight: 600;
	box-shadow: inset 0 0 0 2px #212529;
	height: 35.5px;
}

.btnYellowPrimary,
.btnYellowPrimary:hover {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 23px;
  height: 40px;
  border-radius: 12px;
  background: var(--green);
  color: var(--white);
  font-size: 14px;
  font-weight: 500;
  border: none;
  outline: none;
}

.btnYellowPrimary.md {
  height: 52px;
}

.btn-login-navbar-user-pc {
  display: flex !important;
}

.btn-login-navbar-user-mobile {
  display: none !important;
}

/* HISTORY */
section.history {
  position: relative;
  max-width: 1000px;
  margin: 0 auto 6rem auto;
  padding: 7rem 0;
}

/* Untuk elemen history yang memiliki elemen child class main-layer */
.history:has(> .main-layer) {
  padding: 1rem 0;
}

.history .containerHead {
  display: flex;
  justify-content: start;
  align-items: center;
  gap: 0.6rem;
}
.history .containerHead .user {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  color: #000;
  border: 2px solid var(--green);
  display: flex;
  justify-content: center;
  align-items: center;
}
.history .containerHead .identity .name {
  display: flex;
  justify-content: start;
  align-items: center;
  gap: 0.8rem;
  color: #000;
  font-size: 21px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
}
.history .containerHead .identity .name img {
  width: 20px;
  margin-bottom: 4px;
}
.history .containerHead .identity .desc {
  font-size: 12px;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
}
.history .containerSaldo {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.history .containerSaldo .icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 45px;
  height: 45px;
  border-radius: 12px;
  background: var(--green);
}
.history .containerSaldo .desc {
  color: #000;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  margin: 6px 0;
}
.history .containerSaldo .price {
  color: #000;
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  margin-bottom: -40px;
}

.history .cards {
  background-color: #fff;
}

.hisTabs {
  position: relative;
  bottom: -65px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}
.hisTabs .btnHisTabs {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 80px;
  height: 80px;
  border-radius: 12px;
  border: 1px solid #e5e9f2;
  background: var(--white);
}
.hisTabs .btnHisTabs i {
  font-size: 22px;
}
.hisTabs .btnHisTabs .text {
  text-align: center;
  font-size: 14px;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
  margin-top: -4px;
}
.hisTabs .btnHisTabs.active {
  border: 1px solid var(--green);
  background: #CBE4FF;
}
.hisTabs .btnHisTabs.active i,
.hisTabs .btnHisTabs.active .text {
  color: var(--green);
}

/* Card Saldo History */
.cards-saldo {
  position: relative;
  border-radius: 15px;
  padding: 24px 26px;
  background: #fff;
  background-repeat: no-repeat;
  background-size: cover;
}

/* Panel Footer History */
.history .panel-footer {
  background-color: #fff;
  min-height: auto;
  padding: 0;
}

/* Hero styling start */
.hero {
  background-color: var(--bg-cream);
  width: 100%;
  height: auto;
  padding: 160px 0;
}
.container-img-hero {
  width: fit-content;
  height: 440px;
  display: flex;
  align-items: center;
  flex-direction: column;
  background-color: var(--white);
  overflow: hidden;
  border-radius: 16px;
}
@keyframes slide-up {
  0% {
    transform: translateY(0%);
  }
  100% {
    transform: translateY(-100%);
  }
}
@keyframes slide-down {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0%);
  }
}
.img-hero {
  display: flex;
  gap: 8px;
}
.container-img-hero .img-hero .slider-hero:nth-child(1),
.container-img-hero .img-hero .slider-hero:nth-child(3) {
  animation: slide-down 15s infinite linear;
}
.container-img-hero .img-hero .slider-hero:nth-child(2),
.container-img-hero .img-hero .slider-hero:nth-child(4) {
  animation: slide-up 15s infinite linear;
}
.container-img-hero .img-hero .slider-hero img {
  border-radius: 16px;
  width: 160px;
  height: 320px;
  object-fit: cover;
  margin-bottom: 8px;
}
/* Hero styling end */

/* Carousel styling start */
.carousel-item h1 {
  font-size: 60px;
  font-weight: 400;
  font-family: 'Crimson Pro', serif;
  padding-bottom: 16px;
}
.carousel-item p {
  font-size: 18px;
  font-weight: 400;
  font-family: 'Inter', sans-serif;
  padding-bottom: 16px;
}
/* Carousel styling end */

/* Tutorial styling start */
.tutorial {
  background-color: var(--bg-cream);
  width: 100%;
  height: auto;
  padding: 80px;
}
.tutorial h2 {
  font-size: 60px;
  font-weight: 400;
  font-family: 'Crimson Pro', serif;
  text-align: center;
}
.tutorial p {
  font-size: 18px;
  font-weight: 400;
  font-family: 'Inter', sans-serif;
  text-align: center;
}
.container-title-tutorial {
  gap: 16px;
}
.container-video-tutorial {
  padding: 40px;
}
/* .container-video-tutorial iframe {
  width: 100%;
  height: 480px;
} */
/* Tutorial styling end */

/* About styling start */
.about {
  background-color: var(--bg-cream);
  width: 100%;
  height: auto;
  padding: 80px;
}
.about h2 {
  font-size: 60px;
  font-weight: 400;
  font-family: 'Crimson Pro', serif;
  padding-bottom: 16px;
}
.about p {
  font-size: 18px;
  font-weight: 400;
  font-family: 'Inter', sans-serif;
  padding-bottom: 16px;
}
/* About styling end */

/* Feature styling start */
.feature {
  background-color: var(--bg-cream);
  width: 100%;
  height: auto;
  padding: 80px;
}
.container-feature {
  background-color: var(--green);
  width: 100%;
  height: auto;
  padding: 80px 0;
  border-radius: 16px;
}
.container-title-feature {
  padding: 0px 40px 40px 40px;
}
.container-title-feature h2 {
  font-size: 60px;
  font-weight: 400;
  font-family: 'Crimson Pro', serif;
  color: var(--white);
  width: 80%;
}
.container-title-feature p {
  font-size: 18px;
  font-weight: 400;
  font-family: 'Inter', sans-serif;
  color: var(--white);
  width: 50%;
}
.container-content-feature {
  overflow: hidden;
  display: flex;
  position: relative;
}
.container-content-feature:hover 
.container-content-feature-slide {
  animation-play-state: paused;
}
.container-content-feature h2 {
  font-size: 28px;
  font-weight: 400;
  font-family: 'Crimson Pro', serif;
  padding: 12px 0px;
}
.container-content-feature p {
  font-size: 14px;
  font-weight: 400;
  font-family: 'Inter', sans-serif;
}
@keyframes slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
.container-content-feature-slide {
  gap: 40px;
  padding-right: 40px;
  display: flex;
  animation: 20s slide infinite linear;
}
.container-content-feature-slide
.img-feature {
  width: 100%;
  height: 80px;
}
/* Feature styling end */

/* Order styling start */
.order {
  background-color: var(--bg-cream);
  width: 100%;
  height: auto;
  padding: 80px;
}
.container-title-order {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  margin-bottom: 40px;
}
.order h2 {
  font-size: 60px;
  font-weight: 400;
  font-family: 'Crimson Pro', serif;
  text-align: center;
}
.order p {
  font-size: 18px;
  font-weight: 400;
  font-family: 'Inter', sans-serif;
  text-align: center;
  width: 80%;
}
.order h3 {
  font-size: 28px;
  font-weight: 400;
  font-family: 'Crimson Pro', serif;
  margin-bottom: 16px;
}

/* Custom Selection */
.custom_selection {
  width: 100%;
  padding: 1.5rem 1.5rem;
  border: 1px solid var(--light-gray);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
  cursor: pointer;
}

.custom_selection:hover, .custom_selection.active {
  background-color: #F5FFFD;
  border: 1px solid #00B591;
}

.custom_selection i {
  width: 20px;
  height: 20px;
  border: 1px solid #eee;
  border-radius: 50%;
  font-size: .8rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.custom_selection small {
  color: #095042;
}
.custom_selection.active small {
  color: #00B591;
}

.custom_selection i::before {
  content: '';
}

.custom_selection.active i {
  background-color: #00B591 !important;
}

.custom_selection.active i::before {
  content: '\f00c';
}

.outline-success {
  border: 1px solid #095042;
  padding: .5rem 1rem;
  border-radius: 10px;
  color: #095042 !important;
}
.outline-success:hover {
  border: 1px solid #095042;
  color: #095042 !important;
}

.table.detail_pesanan tr {
  border-bottom: 1px solid #202020;
  border-style: dashed;
}
.table.detail_pesanan tr:nth-last-child(-n + 2) {
  border-bottom: none;
}
.table.detail_pesanan tr td {
  padding: 1.2rem;
  vertical-align: middle;
}
.table.detail_pesanan tr td span {
  color: #095042;
}
.table.detail_pesanan tr td:nth-child(2) span {
  white-space: nowrap;
  float: right;
}

.table.detail_pesanan tr td:nth-child(1) {
  width: 60%;
} 
.table.detail_pesanan tr td:nth-child(2) {
  width: 40%;
}

.table.detail_pesanan tr td:nth-child(2), 
.table.detail_pesanan tr td:nth-child(2) button {
  color: black;
  font-weight: 700;
}

.table.detail_pesanan tr:nth-last-child(1) td:nth-child(2) button {
  color: var(--light-green) !important;
}

.accordion-custom {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.accordion-custom .accordion-item {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color) !important;
}
.accordion-custom .accordion-item .accordion-button {
  background-color: #FFFFFF;
  box-shadow: none;
  color: var(--bs-accordion-btn-color) !important;
}
.accordion-custom .accordion-item .accordion-button::after {
  content: "\f067"; /* Unicode Font Awesome (✓) */
  font-family: "Font Awesome 5 Free";
  font-weight: 900; /* Pastikan menggunakan font-weight 900 agar ikon solid */
  font-size: .8rem;
  
  display: flex; /* Agar bisa diatur ukuran */
  align-items: center;
  justify-content: center;
  
  width: 1.25rem;
  height: 1.25rem;
  margin-left: auto;

  background-color: #008080; /* Warna latar belakang */
  color: #FFFFFF; /* Warna ikon */
  border-radius: 50%; /* Bikin ikon dalam lingkaran */

  background-image: none !important;
  background-repeat: no-repeat;
  background-size: contain;
  transition: none !important;
}
.accordion-custom .accordion-item .accordion-button:not(.collapsed)::after {
  content: "\f068";
}

/* Order styling end */

/* Gallery styling start */
.gallery {
  background-color: var(--bg-cream);
  width: 100%;
  height: auto;
  padding: 80px 20px;
}
.container-title-gallery {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  margin-bottom: 40px;
}
.gallery h2 {
  font-size: 60px;
  font-weight: 400;
  font-family: 'Crimson Pro', serif;
  text-align: center;
}
.gallery p {
  font-size: 18px;
  font-weight: 400;
  font-family: 'Inter', sans-serif;
  text-align: center;
}
.container-gallery {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
/* Gallery styling end */

/* Layanan styling start */
.layanan {
  background-color: var(--bg-cream);
  width: 100%;
  height: auto;
  padding: 80px;
}
.container-title-layanan {
  margin-bottom: 40px;
}
.layanan h2 {
  font-size: 40px;
  font-weight: 400;
  font-family: 'Crimson Pro', serif;
}
.layanan h3 {
  font-size: 28px;
  font-weight: 400;
  font-family: 'Crimson Pro', serif;
}
.layanan h4 {
  font-size: 24px;
  font-weight: 400;
  font-family: 'Crimson Pro', serif;
}
.layanan p {
  font-size: 18px;
  font-weight: 400;
  font-family: 'Inter', sans-serif;
}
.layanan .card {
  padding: 16px;
}
.layanan-item {
  display: flex;
  gap: 16px;
  margin-bottom: 8px;
}
.layanan-item .bi-check {
  color: var(--light-green);
  font-size: 20px;
}
.layanan-item p {
  font-size: 16px;
  font-weight: 400;
  font-family: 'Inter', sans-serif;
  align-content: center;
  color: var(--black);
}
.layanan-item .layanan-tambahan {
  color: var(--green);
  font-weight: 700;
}

.price-list-custom {
  margin-left: -5rem;
  padding: 0 5rem;
}
.price-list-custom .col-md-3 {
  width: 28%;
}
.price-list-custom::-webkit-scrollbar {
  display: none;
}
.price-list-radio {
  display: none;
}
.price-list-radio[type="radio"]:checked ~ .card-price-list {
  border: 1px solid #00B591;
  background-color: #F5FFFD;
}
.radio-circle-custom {
  width: 25px;
  height: 25px;
  border-radius: 50%;
  border: 1px solid #DBD6D1;
  position: relative;
}
.price-list-radio[type="radio"]:checked ~ .card-price-list .radio-circle-custom {
  background-color: #00B591;
  border: 1px solid #00B591;
}
.price-list-radio[type="radio"]:checked ~ .card-price-list .radio-circle-custom::after {
  content: '\f00c';
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  font-size: 14px;
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.price-list-radio[type="radio"]:checked ~ .card-price-list .button-primary {
  background-color: #00B591;
}

/* Layanan styling end */

/* Katalog styling start */
.katalog {
  background-color: var(--bg-cream);
  width: 100%;
  height: auto;
  padding: 80px;
}
.container-title-katalog {
  margin-bottom: 40px;
}
.katalog h2 {
  font-size: 40px;
  font-weight: 400;
  font-family: 'Crimson Pro', serif;
}
.katalog p {
  font-size: 18px;
  font-weight: 400;
  font-family: 'Inter', sans-serif;
}
.katalog .container-title-katalog .col-lg-4 {
  display: flex;
  align-items: center;
  justify-content: end;
}
.detail-katalog {
  gap: 16px;
  padding-top: 16px;
  align-content: center;
}
.detail-katalog h3 {
  font-size: 24px;
  font-weight: 400;
  font-family: 'Crimson Pro', serif;
}
.detail-katalog p {
  font-size: 16px;
  font-weight: 400;
  font-family: 'Inter', sans-serif;
}

#katalogTab.nav {
  border: none;
  margin: 30px 0 30px 0;
  background: #095042;
  width: auto;
  border-radius: 50px;
  padding: 5px;
  gap: 5px;
}
#katalogTab.nav .nav-item .nav-link {
  margin: 0;
  color: #ffffff !important;
}
#katalogTab.nav .nav-item .nav-link:hover, #katalogTab.nav .nav-item .nav-link.active {
  margin: 0;
  background-color: #ffffff;
  color: #095042 !important;
  border-radius: 30px;
}

/* Katalog styling end */

/* Testimonial styling start */
.testimonial {
  background-color: var(--bg-cream);
  width: 100%;
  height: auto;
  padding: 80px;
}
.container-title-testimonial {
  margin-bottom: 40px;
}
.testimonial h2 {
  font-size: 60px;
  font-weight: 400;
  font-family: 'Crimson Pro', serif;
  text-align: center;
}
.testimonial p {
  font-size: 18px;
  font-weight: 400;
  font-family: 'Inter', sans-serif;
  text-align: center;
}
.testimonial h3 {
  font-size: 20px;
  font-weight: 400;
  font-family: 'Crimson Pro', serif;
  margin-bottom: 16px;
}
.testimonial h6 {
  font-size: 12px;
  font-weight: 400;
  font-family: 'Inter', serif;
}
.testimonial h5 {
  font-size: 16px;
  font-weight: 400;
  font-family: 'Crimson Pro', serif;
  margin-bottom: 4px;
}
/* Testimonial styling end */

/* Footer styling start */
.footer {
  background-color: var(--green);
  width: 100%;
  height: auto;
  padding: 80px;
}
.footer h3 {
  font-size: 24px;
  font-weight: 400;
  font-family: 'Crimson Pro', serif;
  color: var(--white);
}
.footer p {
  font-size: 16px;
  font-weight: 400;
  font-family: 'Arial', sans-serif;
  color: var(--white);
  margin-bottom: 0;
}
.logo-footer-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 20px;
  margin-bottom: 40px;
}
.logo-footer-container img {
  width: 160px;
  height: auto;
}
.sosmed-container {
  display: flex;
  gap: 16px;
  margin-bottom: 20px;
}
.sosmed-container a {
  color: var(--white);
  border-radius: 80px;
  padding: 4px;
  text-align: center;
  line-height: 20px;
  border: solid 1px var(--white);
}
.sosmed-container a i {
  width: 24px;
  height: 24px;
  text-align: center;
  line-height: 24px;
  font-size: 20px;
}
.sosmed-container a:hover {
  background-color: var(--white);
  color: var(--green);
}
.menu-footer {
  display: flex;
  gap: 40px;
}
.menu-footer ul {
  list-style: none;
  padding: 0;
  gap: 8px;
  display: flex;
  flex-direction: column;
  margin-top: 8px;
}
.menu-footer ul a {
  font-size: 16px;
  font-weight: 400;
  color: var(--white);
  text-decoration: none;
  width: fit-content;
  font-family: 'Arial', sans-serif;
}
.menu-footer ul a:hover {
  color: var(--light-gray);
  border-bottom: solid 1px var(--light-gray);
}
/* Footer styling end */



/* Button primary styling start */
.button-primary {
  background-color: var(--green);
  color: var(--white);
  border: none;
  padding: 8px 20px;
  border-radius: 80px;
  font-weight: 500;
  cursor: pointer;
  text-decoration: none;
}
.button-primary:hover {
  background-color: var(--light-green);
}
/* Button primary styling end */

/* Button secondary styling start */
.button-secondary {
  background-color: var(--white);
  color: var(--black);
  border: 1px solid var(--black);
  padding: 8px 20px;
  border-radius: 80px;
  font-weight: 500;
  cursor: pointer;
  text-decoration: none;
}
.button-secondary:hover {
  background-color: var(--light-gray);
}
/* Button secondary styling end */

/* Button footer styling start */
.button-footer {
  background-color: var(--white);
  color: var(--green);
  border: none;
  padding: 0px 20px;
  border-radius: 80px;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  font-family: 'Sumana', serif;
}
.button-footer:hover {
  background-color: var(--light-gray);
}
/* Button footer styling end */

/* Button carousel styling start */
.button-carousel-prev {
  left: 20px
}
.button-carousel-next {
  right: 20px;
}
.button-carousel-next, .button-carousel-prev {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: var(--white);
  color: var(--black);
  border: 2px solid var(--black);
  border-radius: var(--full-size);
  cursor: pointer;
  text-align: center;
  padding: 2px 8px;
}
.button-carousel-prev-icon, .button-carousel-next-icon {
  font-size: 16px;
}
.button-carousel-prev-icon {
  margin-right: 2px;
}
.button-carousel-next-icon {
  margin-left: 2px;
}
.button-carousel-custom-next, .button-carousel-custom-prev {
  background-color: var(--green);
  color: var(--white);
  border: 2px solid var(--green);
  border-radius: var(--full-size);
  cursor: pointer;
  text-align: center;
  padding: 4px 14px;
}
.button-carousel-custom-prev-icon, .button-carousel-custom-next-icon {
  font-size: 28px;
}
.button-carousel-custom-prev-icon {
  margin-right: 4px;
}
.button-carousel-custom-next-icon {
  margin-left: 4px;
}
/* Button carousel styling end */

/* Button modal styling start */
.swal2-popup .swal2-styled.swal2-confirm {
  background-color: var(--green) !important;
}
.swal2-popup .swal2-styled.swal2-confirm:focus {
  box-shadow: none !important;
}
.swal2-popup .swal2-styled.swal2-confirm:hover {
  background-color: var(--light-green) !important;
}
/* Button modal styling end */

/* Input styling start */
select {
  cursor: pointer;
}
input:focus, textarea:focus, select:focus {
  border: 1px solid transparent !important;
  box-shadow: 0 0 0 2px rgb(13, 110, 88, 0.5) !important;
}
/* Input styling end */

/* Navbar styling start */
.navbar-toggler {
  border: none !important;
}
.navbar-toggler:focus {
  box-shadow: none !important;
}
.navbar-toggler-icon {
  font-size: 24px;
}
/* Navbar styling end */

/* Modal styling start */
#myImg {
  cursor: pointer;
  transition: 0.3s;
}
#myImg:hover {
  opacity: 0.7;
}
.modal-custom {
  display: none;
  position: fixed;
  z-index: 1000;
  padding: 80px 8px;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0,0,0,0.9);
}
.modal-content-custom {
  margin: auto;
  display: block;
  width: 100%;
  max-width: 700px;
  border-radius: 32px !important; 
}
#caption {
  margin: auto;
  display: block;
  width: 80%;
  max-width: 700px;
  text-align: center;
  color: var(--white);
  padding: 16px 0;
  font-size: 16px;
}
.modal-content-custom, #caption {  
  animation: zoom 0.5s;
}
@keyframes zoom {
  from {transform:scale(0)} 
  to {transform:scale(1)}
}
.close {
  position: absolute;
  top: 16px;
  right: 36px;
  color: #f1f1f1;
  font-size: 40px;
  font-weight: bold;
  transition: 0.3s;
}
.close:hover,
.close:focus {
  color: #bbb;
  text-decoration: none;
  cursor: pointer;
}
.ftco-animate {
  opacity: 0;
  visibility: hidden;
}

.modal {
  overflow-y: auto !important;
}

.modal-struk {
  border-radius: 15px;
  border: 3px solid var(--green);
}
.modal-struk .modal-body::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0%;
  /* transform: translate(-50%, -50%); */
  width: 100%;
  height: 0;
  /* border-top: 1px dashed transparent;
  border-image: repeating-linear-gradient(to right, var(--green) 0, var(--green) 10px, transparent 10px, transparent 20px) 1; */
}

.line-striped::after {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 0;
  /* transform: translate(-50%, -50%); */
  width: 100%;
  height: 0;
  border-top: 1px dashed transparent;
  border-image: repeating-linear-gradient(to right, var(--green) 0, var(--green) 10px, transparent 10px, transparent 20px) 1;
}
.modal-struk .form-control,
.modal-custom-simple .form-control {
  /* background: transparent; */
  /* border: 1px solid rgba(255, 255, 255, .20); */
  border-radius: 15px;
  margin: 1rem 0;
  padding: .75rem;
}

.modal-struk table tr, .modal-struk table th, .modal-struk table td {
  border:none;
}

.modal-struk table tr td {
  padding: .2rem 0;
}

.modal-struk table tr td p {
  padding: 0;
  margin: 0;
}

/* Modal styling end */


/* Image custom styling start */

.img-bukti {
	width: 120px;
	height: 80px;
	border-radius: 5%;
	object-fit: cover;
}

.img-icon {
	width: 50px;
	height: 50px;
	border-radius: 5%;
	object-fit: cover;
	display: block;
}

.img-show {
	width: 240px;
	height: 160px;
	border-radius: 10%;
	object-fit: cover;
	display: block;
}

.img-show-cover {
	width: 240px;
	border-radius: 10%;
	object-fit: cover;
	display: block;
}

.img-show-cover-v2 {
	object-fit: cover;
	display: block;
}

.img-show-large {
	width: 240px;
	height: 160px;
	border-radius: 10%;
	object-fit: contain;
	display: block;
}

.img-show-portrait {
	width: 200px;
	height: 350px;
	border-radius: 5%;
	object-fit: cover;
	display: block;
}

/* Image custom styling end */



/* Utility Class Start */
.px-80 {
  padding-left: 80px;
  padding-right: 80px;
}
.py-40 {
  padding-top: 40px;
  padding-bottom: 40px;
}
.w-360 {
  width: 360px !important;
}
.h-280 {
  height: 280px !important;
}
.aktif {
  color: var(--green) !important;
  font-weight: 600 !important;
}
/* Utility Class End */



/* Responsive Start */

/* Medium Device */
@media screen and (max-width: 992px) {
  nav {
    padding: 8px 0px !important;
  }
  .hero {
    padding: 80px 0;
  }
  .container-img-hero {
    width: fit-content;
    height: 360px;
  }
  .container-img-hero .img-hero .slider-hero img {
    width: 120px;
    height: 240px;
  }
  .carousel-item h1 {
    font-size: 40px;
  }
  .carousel-item p {
    font-size: 16px;
  }
  .tutorial {
    padding: 40px 20px;
  }
  .tutorial h2 {
    font-size: 40px;
  }
  .tutorial p {
    font-size: 16px;
  }
  .container-video-tutorial {
    padding: 20px 0px;
  }
  .about {
    padding: 40px 20px;
  }
  .about h2 {
    font-size: 40px;
  }
  .about p {
    font-size: 16px;
  }
  .feature {
    padding: 40px 20px;
  }
  .container-feature {
    padding: 40px 0;
  }
  .container-title-feature {
    padding: 0px 20px 20px 20px;
  }
  .container-title-feature h2 {
    font-size: 40px;
    width: 100%;
  }
  .container-title-feature p {
    font-size: 16px;
    width: 100%;
  }
  .container-content-feature h2 {
    font-size: 24px;
  }
  .container-content-feature p {
    font-size: 14px;
  }
  .container-content-feature:hover 
  .container-content-feature-slide {
    animation-play-state: running;
  }
  .order {
    padding: 40px 20px;
  }
  .order h2 {
    font-size: 40px;
  }
  .order p {
    font-size: 16px;
  }
  .gallery {
    padding: 40px 20px;
  }
  .gallery h2 {
    font-size: 40px;
  }
  .gallery p {
    font-size: 16px;
  }
  .layanan {
    padding: 40px 20px;
  }
  .layanan h2 {
    font-size: 32px;
  }
  .layanan h3 {
    font-size: 24px;
  }
  .layanan h4 {
    font-size: 20px;
  }
  .layanan p {
    font-size: 16px;
  }
  .container-layanan .row .col-lg-3 {
    justify-content: center;
  }
  .layanan .card {
    width: 100%;
  }
  .layanan-item p {
    font-size: 14px;
  }
  .katalog {
    padding: 40px 20px;
  }
  .katalog .container-title-katalog .col-lg-4 {
    justify-content: center;
  }
  .katalog h2 {
    font-size: 32px;
  }
  .katalog p {
    font-size: 16px;
  }
  .detail-katalog h3 {
    font-size: 20px;
  }
  .detail-katalog p {
    font-size: 14px;
  }
  .testimonial {
    padding: 20px;
  }
  .testimonial h2 {
    font-size: 40px;
  }
  .testimonial p {
    font-size: 16px;
  }
  .testimonial h3 {
    font-size: 16px;
  }
  .testimonial h6 {
    font-size: 10px;
  }
  .footer {
    padding: 40px;
  }
  .button-primary {
    width: 100%;
  }
  .button-carousel-next, .button-carousel-prev {
    display: none;
  }

  /* History */
  section.history {
    margin: 0;
    padding: 6rem 1rem 2rem 1rem;
  }

  /* Untuk elemen history yang memiliki elemen child class main-layer */
  .history:has(> .main-layer) {
      padding: 4rem 1rem;
  }

  /* Utility */
  .px-80 {
    padding-left: 20px;
    padding-right: 20px;
  }
  .w-360 {
    width: 240px !important;
  }
  .h-280 {
    height: auto !important;
  }
}

/* Small Device */
@media screen and (max-width: 768px) {
  .btn-login-navbar-user-pc {
    display: none !important;
  }

  .btn-login-navbar-user-mobile {
    display: flex !important;
  }

  .ms-none-sm {
    margin-left: 0 !important;
  }

  .w-100-sm {
    width: 100% !important;
  }

  .hisTabs {
    bottom: -58px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
  }
  .hisTabs .btnHisTabs {
    width: 70px;
    height: 70px;
  }
  .hisTabs .btnHisTabs i {
    font-size: 18px;
  }
  .hisTabs .btnHisTabs .text {
    font-size: 12px;
  }

  #katalogTab.nav {
    flex-wrap: nowrap;
    overflow-x: auto;
  }
  #katalogTab.nav::-webkit-scrollbar {
    display: none;
  }
  #katalogTab.nav .nav-item .nav-link {
    white-space: nowrap;
  }
  #katalogTab.nav .nav-item .nav-link:hover, #katalogTab.nav .nav-item .nav-link.active {
    margin: 0;
    background-color: #ffffff;
    color: #095042 !important;
    border-radius: 30px;
  }

  #layanan .price-list-custom {
      margin-left: -1.3rem;
      padding: 0 1.3rem;
  }

  .price-list-custom .col-md-3 {
    width: 100%;
  }
  #fixed-action {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .box-fixed-katalog {
    width: 100%;
    top: -70px !important;
  }
  .box-action {
    padding-top: 3rem;
    width: 100%;
  }
  #order-proses-pembayaran .container {
    padding: 0 !important;
  }
  .table.detail_pesanan tr td {
    padding: 1rem .7rem;
  }
}

/* Very Small Device */
@media screen and (max-width: 576px) {
  .text-center-xs {
    text-align: center !important;
  }

  .container {
    max-width: calc(100% - 30px);
    margin: 0 auto;
    padding: 0 15px;
  }
}

/* Responsive End */
#ftco-loader {
  position: fixed;
  width: 96px;
  height: 96px;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background-color: rgba(255, 255, 255, 0.9);
  -webkit-box-shadow: 0px 24px 64px rgba(0, 0, 0, 0.24);
  box-shadow: 0px 24px 64px rgba(0, 0, 0, 0.24);
  border-radius: 16px;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.2s ease-out, visibility 0s linear 0.2s;
  -o-transition: opacity 0.2s ease-out, visibility 0s linear 0.2s;
  transition: opacity 0.2s ease-out, visibility 0s linear 0.2s;
  z-index: 1000;
}
#ftco-loader.fullscreen {
  padding: 0;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
  background-color: #fff;
  border-radius: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
}
#ftco-loader.show {
  -webkit-transition: opacity 0.4s ease-out, visibility 0s linear 0s;
  -o-transition: opacity 0.4s ease-out, visibility 0s linear 0s;
  transition: opacity 0.4s ease-out, visibility 0s linear 0s;
  visibility: visible;
  opacity: 1;
}
#ftco-loader .circular {
  -webkit-animation: loader-rotate 2s linear infinite;
  animation: loader-rotate 2s linear infinite;
  position: absolute;
  left: calc(50% - 24px);
  top: calc(50% - 24px);
  display: block;
  -webkit-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  transform: rotate(0deg);
}
#ftco-loader .path {
  stroke-dasharray: 1, 200;
  stroke-dashoffset: 0;
  -webkit-animation: loader-dash 1.5s ease-in-out infinite;
  animation: loader-dash 1.5s ease-in-out infinite;
  stroke-linecap: round;
}
@-webkit-keyframes loader-rotate {
  100% {
      -webkit-transform: rotate(360deg);
      transform: rotate(360deg);
  }
}
@keyframes loader-rotate {
  100% {
      -webkit-transform: rotate(360deg);
      transform: rotate(360deg);
  }
}
@-webkit-keyframes loader-dash {
  0% {
      stroke-dasharray: 1, 200;
      stroke-dashoffset: 0;
  }
  50% {
      stroke-dasharray: 89, 200;
      stroke-dashoffset: -35px;
  }
  100% {
      stroke-dasharray: 89, 200;
      stroke-dashoffset: -136px;
  }
}
@keyframes loader-dash {
  0% {
      stroke-dasharray: 1, 200;
      stroke-dashoffset: 0;
  }
  50% {
      stroke-dasharray: 89, 200;
      stroke-dashoffset: -35px;
  }
  100% {
      stroke-dasharray: 89, 200;
      stroke-dashoffset: -136px;
  }
}