/* --------------------------------------------------------------------------------------------------
STYLES RADIO & CHECKBOX
---------------------------------------------------------------------------------------------------*/
.choices {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
}

/* Sembunyikan radio native, tapi tetap aksesibel */
.choices input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* Opsi */
.option {
  display: flex;
  align-items: center;
  gap: 14px;
  border: 1px solid #e2e8f0;
  border-radius: 5px;
  padding: 7px 40px;
  min-width: 100px;
  justify-content: flex-start;
  font-size: 14px;
  font-weight: 600;
  background: #fff;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
}

/* Lingkaran indikator (outer) */
/*.option::before {
  content: "";
  width: 15px;
  height: 15px;
  border: 3px solid #d5dbea;
  border-radius: 50%;
  display: inline-block;
  transition: all 0.2s ease;
  background: #fff;
  box-sizing: border-box;
}*/

/* === STATE TERPILIH === */
.choices input[type="radio"]:checked + .option {
  background: #171819;
  color: #fff;
  border-color: #171819;
}

.choices input[type="radio"]:checked + .option::before {
  border-color: #fff;
  background: rgba(255, 255, 255, 0.15);
}

.choices input[type="radio"]:checked + .option::after {
  background: #fff;
}

/* Variasi: saat bukan terpilih, tetap outline abu */
.choices input[type="radio"]:not(:checked) + .option {
  background: #fff;
  color: #808592;
}

/* Radio For Simbol */
/* Container box untuk simbol */
.boxSimbol {
  position: relative;
  display: inline-block;
  width: 100%;
  text-align: center;
  margin-bottom: 10px;
}

/* Radio button disembunyikan */
.boxSimbol input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* Label berisi semua gambar simbol */
.simbolOption {
  display: inline-block;
  padding: 8px;
  border-radius: 10px;
  border: 2px solid transparent;
  background-color: #fff;
  cursor: pointer;
  transition: all 0.3s ease;
}

/* Saat box aktif (radio terpilih) → ubah background & border */
.boxSimbol input[type="radio"]:checked + .simbolOption {
  background-color: #e6f0ff; /* biru muda */
  border-color: #007bff;
}

/* Gaya untuk gambar */
.simbolOption img {
  width: 25px;
  margin: 2px;
  filter: grayscale(100%);
  transition: filter 0.3s ease;
}

/* Saat box aktif → semua gambar berwarna */
.boxSimbol input[type="radio"]:checked + .simbolOption img {
  filter: grayscale(0%);
}

/* --------------------------------------------------------------------------------------------------
PESERTA
---------------------------------------------------------------------------------------------------*/
.spanName,
.spanNoPeserta {
  font-size: 12px !important;
  font-weight: 600;
  position: relative;
  padding-right: 8px;
}
.spanBullet {
  background-color: #808592;
  width: 10px;
  height: 2px;
  border-radius: 100px;
  position: relative;
  display: inline-block;
  margin-right: 8px;
  line-height: 0px;
}
.spanEmail {
  font-size: 10px !important;
  font-weight: 400;
  position: relative;
  color: #fff;
  background-color: #808592;
  padding: 3px 10px;
  border-radius: 3px;
  margin-right: 5px;
}
.spanPhone {
  font-size: 10px !important;
  font-weight: 400;
  position: relative;
  color: #fff;
  background-color: #808592;
  padding: 3px 5px;
  border-radius: 3px;
}
.spanClient {
  font-size: 12px !important;
  font-weight: 600;
  position: relative;
  display: block;
}
.spanEvent {
  font-size: 10px !important;
  font-weight: 400;
  position: relative;
  display: block;
  color: #808592;
}
.badge-active {
  padding: 3px 5px;
  border-radius: 3px;
  font-size: 10px;
  background-color: #62bf20;
  color: #fff;
}
.badge-not-active {
  padding: 3px 5px;
  border-radius: 3px;
  font-size: 10px;
  background-color: #f82424;
  color: #fff;
}

/* --------------------------------------------------------------------------------------------------
SOAL
---------------------------------------------------------------------------------------------------*/
.spanPilihanGanda {
  font-size: 10px !important;
  font-weight: 600;
  position: relative;
  background-color: #808592;
  color: #fff;
  text-align: center;
  width: 15px;
  height: 15px;
  display: inline-block;
  border-radius: 100px;
  line-height: 15px;
}
.spanJawaban {
  font-size: 12px !important;
  font-weight: 400;
  position: relative;
  padding-left: 3px;
}
.spanEvent2 {
  display: inline-block;
  position: relative;
  font-size: 12px;
  color: #475569;
  font-weight: 600;
  border-radius: 8px;
  margin-bottom: 5px;
  margin-right: 15px;
}
.spanEvent3 {
  display: block;
  position: relative;
  font-size: 12px;
  font-weight: 400;
  margin-top: 5px;
  margin-bottom: 5px;
}
.spanEvent4 {
  display: inline-block;
  position: relative;
  font-size: 10px;
  color: #475569;
  font-weight: 600;
  border-radius: 8px;
  margin-bottom: 5px;
  margin-right: 0px;
}
.fs-8 {
  font-size: 9px !important;
}
.mar-r {
  margin-right: 3px;
}
@media only screen and (min-width: 1400px) and (max-width: 1799px) {
  .main-content2 {
    padding-left: 0px !important;
    transition: all ease 0.5s;
    padding-right: 12px;
  }
}
.gradient-bg {
  background: linear-gradient(180deg, #89db14, #BFEF6C);
}

.aCus {
  font-size: 16px;
  text-decoration: none;
  color: #808592;
  font-weight: 400;
}
.aCus:hover {
  color: #d5dbea;
}
.iconHome {
  position: relative;
  display: inline-block;
  background-color: #796df6;
  width: 40px;
  height: 40px;
  text-align: center;
  color: #fff;
  font-size: 16px;
  border-radius: 100px;
  line-height: 40px;
  margin-right: 10px;
}
a {
  text-decoration: none !important;
}

.boxTime {
  position: relative;
  display: inline-block;
  background-color: #796df6;
  padding: 5px 15px;
  border-radius: 8px;
  color: #fff;
  font-weight: 600;
  letter-spacing: 2px;
}

/* --------------------------------------------------------------------------------------------------
RADIO
---------------------------------------------------------------------------------------------------*/
.mcq {
  display: grid;
  gap: 14px;
  color: #475569;
}
/* --------------------------------------------------------------------------------------------------
SWEATALERT
---------------------------------------------------------------------------------------------------*/
.my-toast-success {
  background: #dcedc8 !important;
  color: #28a745 !important;
}
.swal2-icon.swal2-success {
  border-color: #28a745 !important; /* lingkaran luar */
  color: #28a745 !important;
}

.my-toast-success .swal2-timer-progress-bar {
  background-color: #28a745 !important;
}

/* ubah tanda centang (path dalam svg) */
.swal2-icon.swal2-success .swal2-success-ring {
  border: 4px solid #28a745 !important;
}
.swal2-icon.swal2-success [class^="swal2-success-line"] {
  background-color: #28a745 !important;
}

.my-toast-error {
  background: #ffccbc !important;
  color: #b71c1c !important;
}
.swal2-icon.swal2-error {
  border-color: #b71c1c !important; /* lingkaran luar */
  color: #b71c1c !important;
}
.my-toast-error .swal2-timer-progress-bar {
  background-color: #b71c1c !important;
}

/* ubah tanda centang (path dalam svg) */
.swal2-icon.swal2-error .swal2-success-ring {
  border: 4px solid #b71c1c !important;
}
.swal2-icon.swal2-error [class^="swal2-error-line"] {
  background-color: #b71c1c !important;
}

/* --------------------------------------------------------------------------------------------------
CHECKBOX
---------------------------------------------------------------------------------------------------*/
.kategori {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.kategori input[type="checkbox"] {
  display: none; /* sembunyikan checkbox */
}

.kategori label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #dae0ec; /* abu-abu */
  border-radius: 10px;
  padding: 10px 15px;
  font-weight: 400;
  color: #6b7280; /* teks abu */
  cursor: pointer;
  transition: all 0.3s ease;
  user-select: none;
  font-size: 13px;
}

/* kalau dipilih */
.kategori input[type="checkbox"]:checked + label {
  background-color: #dae0ec; /* abu gelap */
  border-color: #dae0ec;
  color: #475569;
}

/* --------------------------------------------------------------------------------------------------
LOGIN & REGISTER
---------------------------------------------------------------------------------------------------*/
/* @extend display-flex; */
.padCusLogin {
  padding-top: 0px;
  padding-bottom: 15px;
}

/* --------------------------------------------------------------------------------------------------
PILIHAN GANDA
---------------------------------------------------------------------------------------------------*/
.spanPG {
  position: relative;
  background: #475569;
  font-size: 10px;
  width: 15px;
  height: 15px;
  display: inline-block;
  border-radius: 100%;
  line-height: 15px;
  font-weight: bold;
  color: #fff;
}
.btnDel {
  height: 27px;
  width: 27px;
  line-height: 25px;
  display: inline-block;
  margin-top: 5px;
  border: none;
  border-radius: 100px;
  font-size: 16px;
  background: transparent;
  color: #db2a39;
}
.btnAdd {
  position: relative;
  border: none;
  background: #475569;
  border-radius: 50px;
  padding: 4px 10px;
  font-size: 12px;
  margin-bottom: 15px;
  color: #fff;
}

.spanJWB {
  position: relative;
  display: block;
}
.spanJWBLabel {
  position: relative;
  display: inline-block;
  width: 15px;
  height: 15px;
  background: #475569;
  color: #fff;
  border-radius: 50px;
  line-height: 15px;
  text-align: center;
  font-size: 10px;
  font-weight: 600;
  margin-right: 5px;
}
.lbl {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.3rem; /* diameter */
  height: 1.3rem;
  border-radius: 999px; /* lingkaran */
  font-size: 8px;
  font-weight: 600;
  letter-spacing: 0.3px;
  color: var(--text-on);
  user-select: none;
}
.lbl--PG {
  background: #2563eb;
  color: #fff;
}
.lbl--PG2 {
  background: #2563eb;
  color: #fff;
}
.lbl--PG-I {
  background: #2563eb;
  color: #fff;
}
.lbl--S {
  background: #480480;
  color: #fff;
}
.lbl--E {
  background: #16a34a;
  color: #fff;
}
.lbl--E2 {
  background: #16a34a;
  color: #fff;
}
.lbl--M {
  background: #ea580c;
  color: #fff;
}
.lbl--DD {
  background: #7c3aed;
  color: #fff;
}

.containerJWB {
  display: grid;
  grid-auto-flow: column; /* isi grid dialirkan ke kolom */
  grid-auto-rows: auto; /* tinggi tiap baris menyesuaikan */
  grid-template-columns: repeat(3, 1fr); /* 3 kolom sama rata */
  row-gap: 5px;
}

/* element item */
.containerJWB > .spanJWB2 {
  display: flex;
  align-items: center;
  font-size: 10px;
  color: #344055;
}

/* circle label */
.spanJWBLabel2 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #475569;
  color: #fff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
  margin-right: 5px;
  font-size: 10px;
  font-weight: 600;
}

.containerJWB > .spanJWB2:nth-child(-n + 4) {
  grid-column: 1;
}
.containerJWB > .spanJWB2:nth-child(n + 5):nth-child(-n + 8) {
  grid-column: 2;
}
.containerJWB > .spanJWB2:nth-child(n + 9):nth-child(-n + 12) {
  grid-column: 3;
}

/* responsive: di layar kecil jadikan 2 kolom atau 1 kolom */
@media (max-width: 900px) {
  .containerJWB {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  /* adjust mapping: 4 per column -> sekarang tiap kolom tetap 4 item
     agar tetap rapi, atur ulang range jika perlu (opsional) */
}

@media (max-width: 520px) {
  .containerJWB {
    grid-template-columns: 1fr;
  }
}

/* --------------------------------------------------------------------------------------------------
COVER YOUTUBE
---------------------------------------------------------------------------------------------------*/
.youtube-cover {
  position: relative;
  display: inline-block;
}
.youtube-cover img {
  max-width: 100%;
  border-radius: 12px;
}
.play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 30px;
  height: 30px;
  background: #db2e36;
  border-radius: 50%;
}

.play-button::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 55%;
  transform: translate(-50%, -50%);
  width: 0;
  height: 0;
  border-left: 10px solid white;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
}

.play-button-big {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 60px;
  height: 60px;
  background: #db2e36;
  border-radius: 50%;
}
.play-button-big::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 55%;
  transform: translate(-50%, -50%);
  width: 0;
  height: 0;
  border-left: 18px solid white;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}

/* --------------------------------------------------------------------------------------------------
DOWNLOAD REPORT
---------------------------------------------------------------------------------------------------*/
.boxDownload {
  position: relative;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: normal;
  color: #475569;
}
.boxDownload a {
  display: inline-block;
  background-color: #62bf20;
  width: 20px;
  height: 20px;
  text-align: center;
  line-height: 20px;
  border-radius: 100px;
  color: #fff;
  font-weight: 600;
}
.boxDownload a:hover {
  background: rgba(98, 191, 32, 0.6);
  color: #000;
}

/* --------------------------------------------------------------------------------------------------
READONLY
---------------------------------------------------------------------------------------------------*/
select[readonly] {
  pointer-events: none;
  background-color: #e9ecef; /* mirip disabled look */
}

/* --------------------------------------------------------------------------------------------------
FRONTEND
---------------------------------------------------------------------------------------------------*/
.box-section-ujian {
  position: relative;
  width: 100%;
  min-height: 100vh;
  padding-top: 20px;
  padding-bottom: 80px;
}

.box-ujian-title {
  position: relative;
  width: 100%;
  text-align: center;
}
.box-ujian-title h1 {
  font-size: 24px !important;
  text-transform: uppercase;
  font-weight: 600;
}
.box-ujian-title h3 {
  font-size: 24px !important;
  text-transform: capitalize;
  font-weight: 600;
}
.box-ujian-title h6 {
  font-size: 12px !important;
  text-transform: capitalize;
  font-weight: normal;
  display: inline-block;
  background-color: #171819;
  padding: 5px 10px;
  color: #fff !important;
  margin-top: 10px;
  border-radius: 50px;
}
.box-ujian-content-intro {
  position: relative;
  width: 100%;
  color: #475569;
  font-size: 15px;
  font-weight: 400;
}
.box-ujian-contoh-soal {
  position: relative;
  width: 100%;
  color: #475569;
  font-size: 15px;
  font-weight: 400;
}
.box-ujian-contoh-soal h5 {
  font-size: 15px;
  font-weight: 600;
  text-transform: uppercase;
}

.box-ujian-content {
  position: relative;
  width: 100%;
  color: #475569;
}
.box-ujian-soal-no hr {
  background-color: #441d73 !important;
  padding: 0px;
  margin: 0px;
  margin-top: 10px;
}
.btn-custome {
  background-color: #171819 !important;
}
.btn-custome:hover {
  background-color: #6D7175 !important;
}
.btn-custome.disabled-link {
  pointer-events: none;
  background-color: #e0e0e0 !important;
  color: #888 !important;
  opacity: 0.7;
  cursor: not-allowed;
  text-decoration: none;
  border-radius: 10px;
}
.TotalSoal {
  position: relative;
  background-color: #441d73;
  display: inline-block;
  padding: 9px 40px;
  color: #fff;
  border-radius: 50px;
  font-size: 18px;
  font-weight: normal;
  margin: 0px;
  color:#fff !important;
}
.TimerSoal {
  position: relative;
  background-color: #441d73;
  display: inline-block;
  padding: 9px 40px;
  color: #fff;
  border-radius: 50px;
  font-size: 18px;
  font-weight: normal;
  margin: 0px;
  color:#fff !important;
}
.sticky-header {
  position: sticky;
  top: 0;
  z-index: 1000; /* supaya di atas elemen lain */
}
.navigator-soal {
  position: sticky;
  top: 70px; /* atur sesuai tinggi timer card */
  background: #fff; /* supaya tidak transparan saat scroll */
  z-index: 1000;
  padding: 10px 0;
}
/* ----------------------------------------------------------------------------------------
PERTANYAAN & JAWABAN
------------------------------------------------------------------------------------------*/
.box-ujian-soal-no {
  position: relative;
  width: 100%;
  margin-bottom: 15px;
  font-size: 14px;
  font-weight: 500;
}
.box-ujian-soal-text,
.box-ujian-soal-pertanyaan,
.box-ujian-soal-PG {
  position: relative;
  width: 100%;
}
.box-ujian-soal-pertanyaan {
  font-size: 15px;
  font-weight: 500;
  padding-bottom: 10px;
}

.box-ujian-soal-PG {
  font-size: 15px;
  font-weight: 300;
}
.box-ujian-soal-PG .radio {
  display: grid !important;
  grid-template-columns: 26px 1fr !important;
  align-items: start !important;
  gap: 12px !important;
  cursor: pointer !important;
  padding: 5px 4px !important;
  border-radius: 12px !important;
}

.box-ujian-soal-PG .radio input {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  color: #475569 !important;
}

.box-ujian-soal-PG .radio .control {
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  border: 2px solid #9aa0a6 !important;
  display: inline-block !important;
  position: relative !important;
  margin-top: 2px !important;
  flex: 0 0 26px !important;
  box-sizing: border-box !important;
}

.box-ujian-soal-PG .radio .text {
  user-select: none !important;
  color: #475569 !important;
  font-size: 14px !important;
  padding-top: 3px !important;
}

.box-ujian-soal-PG .radio:hover .control {
  box-shadow: inset 0 0 0 4px rgba(0, 0, 0, 0.04);
}

.box-ujian-soal-PG .radio input:checked + .control {
  border-color: #441d73;
}

.box-ujian-soal-PG .radio input:checked + .control::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #441d73;
  transform: translate(-50%, -50%);
}

.box-ujian-soal-PG .radio input:focus-visible + .control {
  outline: 3px solid color-mix(in srgb, #441d73 40%, transparent);
  outline-offset: 2px;
}

/* Simbol */
.radioSimbol {  
  cursor: pointer;
  padding: 5px 4px;
  border-radius: 12px;
  width: 100%;  
  
}

.radioSimbol input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  color: #475569;
}

.radioSimbol .control {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 2px solid #9aa0a6;
  display: inline-block;
  position: relative;
  margin-top: 2px;
  flex: 0 0 26px;
  box-sizing: border-box;
}

.radioSimbol .text {
  user-select: none;
  color: #475569;
  font-size: 14px;
  padding-top: 3px;
  display: block;
  font-weight: 600;
}

.radioSimbol:hover .control {
  box-shadow: inset 0 0 0 4px rgba(0, 0, 0, 0.04);
}

.radioSimbol input:checked + .control {
  border-color: #441d73;
}

.radioSimbol input:checked + .control::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #441d73;
  transform: translate(-50%, -50%);
}

.radioSimbol input:focus-visible + .control {
  outline: 3px solid color-mix(in srgb, #441d73 40%, transparent);
  outline-offset: 2px;
}

.radioSimbolEx {  
  display: inline-flex !important;       /* sejajarkan horizontal */
  align-items: center !important;        /* sejajarkan vertikal */
  justify-content: flex-start !important;
  cursor: pointer !important;
  padding: 5px 8px !important;
  border-radius: 12px !important;
  width: auto !important;                /* ubah dari 100% → auto */
  gap: 6px !important;
}

.radioSimbolEx input {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  color: #475569 !important;
}

.radioSimbolEx {
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  border: 2px solid #9aa0a6 !important;
  display: inline-block !important;
  position: relative !important;
  margin-top: 2px !important;
  flex: 0 0 26px !important;
  box-sizing: border-box !important;
}

.radioSimbolEx .text {
  user-select: none !important;
  color: #475569 !important;
  font-size: 14px !important;   
  display: block !important;
  font-weight: 600 !important;
  display: inline-block !important;      /* ubah dari block → inline */
  padding-top: 30px !important;
}

.radioSimbolEx:hover {
  box-shadow: inset 0 0 0 4px rgba(0, 0, 0, 0.04) !important;
}

.radioSimbolEx input:checked + .control {
  border-color: #441d73 !important;
}

.radioSimbolEx input:checked + ::after {
  content: "";
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 12px !important;
  height: 12px !important;
  border-radius: 50% !important;
  background: #441d73 !important;
  transform: translate(-50%, -50%) !important;
}

.radioSimbolEx input:focus-visible + .control {
  outline: 3px solid color-mix(in srgb, #441d73 40%, transparent) !important;
  outline-offset: 2px !important;
}

/* ----------------------------------------------------------------------------------------
SWEART ALERT CUSTOME
------------------------------------------------------------------------------------------*/
/* Ubah ukuran font judul */
.swal-title-custom {
  font-size: 16px; /* atur sesuai kebutuhan */
  font-weight: 600;
}
.swal-text-custom {
  font-size: 13px; /* atur sesuai kebutuhan */
  font-weight: normal;
}

/* Tombol konfirmasi */
.swal-btn-confirm {
  background-color: #4e2c8e !important; /* ungu */
  color: #fff !important;
  border-radius: 50px !important; /* rounded-pill */
  padding: 10px 25px !important;
  font-size: 14px !important;
  border: none;
  margin-right: 5px;
}

/* Tombol batal */
.swal-btn-cancel {
  background-color: #d33 !important; /* merah */
  color: #fff !important;
  border-radius: 50px !important;
  padding: 10px 25px !important;
  font-size: 14px !important;
  border: none;
}
/* ----------------------------------------------------------------------------------------
DRAG & DROP
------------------------------------------------------------------------------------------*/
.drag {
  margin: 0px;
  padding: 0px;
}
.drag li {
  list-style: none;
  border: 1px solid #ccc;
  background: #f9f9f9;
  border-radius: 5px;
  cursor: grab;
  height: 30px;
  line-height: 30px;
  margin-bottom: 10px;
  padding: 0px 10px;
}
.drag li.dragging {
  opacity: 0.6;
}
.Boxcontainer {
  display: flex;
  width: 100%;
  gap: 5px;
}
.kolom-kecil {
  flex-basis: 15%;
  text-align: center;
}
.kolom-besar {
  flex-basis: 85%;
}
.boxNumber {
  position: relative;
  width: 30px;
  background-color: #475569;
  height: 30px;
  line-height: 30px;
  text-align: center;
  border-radius: 5px;
  color: #fff;
  font-weight: normal;
  margin-bottom: 10px;
  font-size: 13px;
  margin: auto;
  margin-bottom: 10px;
}

.HurufKecil {
  text-transform: lowercase;
}
.custom-check {
  display: inline-flex;
  align-items: center;
  margin-right: 10px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  position: relative;
}

/* Hide default checkbox */
.custom-check input {
  display: none;
}

/* Custom circle */
.custom-check .checkmark {
  width: 22px;
  height: 22px;
  border: 2px solid #9aa0a6;
  border-radius: 50%; /* jadi bulat */
  margin-right: 8px;
  position: relative;
}

/* Checked state */
.custom-check input:checked + .checkmark {
  border-color: #4b0082; /* warna border */
}

/* Inner dot saat dicentang */
.custom-check input:checked + .checkmark::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 12px;
  background: #4b0082; /* warna dot */
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.simbolSpan {
  position: relative;
  display: inline-block;
  margin-top: 10px;
  font-size: 18px;
  font-weight: 600;
  color: #000;
}

/* ----------------------------------------------------------------------------------------
SIGN IN & SIGN UP
------------------------------------------------------------------------------------------*/
.TextLogin{
  color: #171819;
}
.TextLogin a{
  text-decoration: underline !important; 
  color: #171819;
  font-weight: 600;
}
.TextLogin a:hover{
  text-decoration: none !important; 
  color: #171819;
  font-weight: 600;
}
#webcamPreview {
  position: fixed;    
  top: 0;  
  width: 200px;  
  background: #000;
  object-fit: cover;  
}
