/**
 * CSS Custom Layout & Responsivitas Website
 *
 * Dipakai oleh : Halaman Views Frontend & Layout (head.php, header.php, footer.php)
 * Dependensi  : Bootstrap, DataTables
 * Daftar Class: .tabelku, .tabelnya, .whatsapp-link, .banner-img, #homepageSlider, @media breakpoints
 * Side Effect : Mengatur tampilan banner full-width desktop, gambar jernih tanpa fade pada HP/Android, & responsivitas layout
 */

@import url('https://fonts.googleapis.com/css2?family=Varela+Round&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Dosis:wght@200..800&display=swap');

body {
	font-family: 'Varela Round', sans-serif;
  /* font-family: "Dosis", sans-serif;
  font-optical-sizing: auto;
  font-weight: normal;
  font-style: normal; */
}

p, h1, h2, h3, h4, h5, h6 {
	font-family: 'Varela Round', sans-serif !important;
}
.post-content img {
	max-width: 100%;
	height: auto;
	padding: 5px;
	border: solid thin #eee;
	border-radius: 10px;
	text-align: center;
}


  .loader {
    border: 16px solid #f3f3f3;
    border-radius: 50%;
    border-top: 16px solid #3498db;
    width: 50px;
    height: 50px;
    -webkit-animation: spin 2s linear infinite; /* Safari */
    animation: spin 2s linear infinite;
  }

  /* Safari */
  @-webkit-keyframes spin {
    0% { -webkit-transform: rotate(0deg); }
    100% { -webkit-transform: rotate(360deg); }
  }

  @keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
  }
  
/*  tabelku */
.tabelku {
	border-radius: 10px;
	border-collapse: separate;
	width: 100%;
	border-spacing: 0;
}
.tabelku th, .tabelku td {
	padding: 6px 12px;
	vertical-align: top;
}
.tabelku td {
	border-bottom: solid thin #dee2e6 !important;
}
.tabelku th {
  vertical-align: middle;
}
.tabelku thead {
	border-radius: 10px !important;
	border: solid thin #dee2e6 !important;
	background-color: #f5f5f5 !important;
  color: #fff !important;
}

.tabelku thead tr {
	border-radius: 10px !important;
	border-bottom: solid thin #dee2e6;
	background-color: #f5f5f5;
	border-collapse: collapse;
}
.tabelku th {
	border-bottom: solid thin #dee2e6;
	border-top: solid thin #dee2e6;
}
.tabelku th:first-child{
  border-radius:10px 0 0 10px;
  border-left: solid thin #dee2e6;
}
.tabelku th:last-child{
  border-radius:0 10px 10px 0;
  border-right: solid thin #dee2e6;
}
/* -------- */
.tabelnya {
  border-radius: 10px;
  border-collapse: separate;
  width: 100%;
  border-spacing: 0;
}
.tabelnya th, .tabelnya td {
  padding: 6px 12px;
  vertical-align: top;
}
.tabelnya td {
  border-bottom: solid thin #C4DFDF;
}
.tabelnya th {
  vertical-align: middle;
}
.tabelnya thead {
  border-radius: 10px !important;
  border: solid thin #C4DFDF;
  background-color: #E3F4F4;
}

.tabelnya thead tr {
  border-radius: 10px !important;
  border: solid thin #C4DFDF;
  background-color: #E3F4F4;
  border-collapse: collapse;
}
.tabelnya th {
  border-bottom: solid thin #C4DFDF;
  border-top: solid thin #C4DFDF;
}
.tabelnya th:first-child{
  border-radius:10px 0 0 10px;
  border-left: solid thin #C4DFDF;
}
.tabelnya th:last-child{
  border-radius:0 10px 10px 0;
  border-right: solid thin #C4DFDF;
}
/* end tabel */

.tabel-responsive-wrapper {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* button */
.btn-purple {
  color: #fff;
  background-color: #8231D3;
}
.btn-purple:hover {
  color: #fff;
  background-color: #5840FF;
}
.btn-info-light {
  color: #fff;
  background-color: #00AAFF;
}
.btn-info-light:hover {
  color: #fff;
  background-color: #5840FF;
}
/* border-radius */
.btn {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}
.input-group .btn {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  margin-right: 2px;
}
.input-group input, .input-group select {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  margin-right: 2px;
}
.btn-lg {
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
  border-bottom-left-radius: 15px;
  border-bottom-right-radius: 15px;
}
.input-group .btn-lg {
  border-top-left-radius: 0px;
  border-top-right-radius: 15px;
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 15px;
}
.btn-sm {
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}
.input-group .btn-sm {
  border-top-left-radius: 0px;
  border-top-right-radius: 8px;
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 8px;
}
.btn-xs {
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
}
.input-group .btn-xs {
  border-top-left-radius: 0px;
  border-top-right-radius: 5px;
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 5px;
}
/* box urutkan */
.box
  {
    width:100%;
    padding:10px 2%;
    background-color:#fff;
    border:1px solid #ccc;
    border-radius:5px;
  }
  #page_list li
  {
    padding:10px 16px;
    background-color:#f9f9f9;
    border:1px dotted #ccc;
    cursor:move;
    margin-top:8px;
  }
  #page_list li.ui-state-highlight
  {
    padding:8px 16px;
    background-color:#ffffcc;
    border:1px dotted #ccc;
    cursor:move;
    margin-top:8px;
  }


/* Backgroud Color */
.bg-purple {
  color: #fff;
  background-color: #8231D3 !important;
}
/* Text Color */
.text-purple {
  color: #8231D3 !important;
}
.bg-haqi {
    color: #ffffff;
    background-color: #0090FF !important;
}
.text-haqi {
  color: #ccb43e;
}
.text-haqi-dark {
  color: #9c2424;
}

/* alert */
.alert, .alert-info, .alert-warning, .alert-success, .alert-danger {
  border-radius: 15px;
}
.dropdown-item {
	white-space: normal;
}
pre.language-php, pre.language-js, pre.language-markup {
  background-color: #f5f5f5;
  border:  solid thin #eee;
  margin-bottom: 1em;
}

/* Responsive General Images & Banner Slider Rules */
img {
  max-width: 100%;
  height: auto;
}

.banner-img,
#homepageSlider,
#homepageSlider .carousel-inner,
#homepageSlider .carousel-item,
#homepageSlider .carousel-item img {
  width: 100% !important;
  max-width: 100% !important;
}

.banner-img,
#homepageSlider .carousel-item img {
  display: block !important;
  margin: 0 auto;
  filter: none !important;
  opacity: 1 !important;
}

/* ==========================================================================
   RESPONSIVE MEDIA QUERIES (HP, TABLET, LAPTOP/DESKTOP)
   ========================================================================== */

/* --- HP / MOBILE (< 576px) --- */
@media (max-width: 575.98px) {
  .whatsapp-link {
    bottom: 15px !important;
    right: 15px !important;
    padding: 8px 14px !important;
    font-size: 0.85rem !important;
  }
  .whatsapp-link i {
    font-size: 1.8em !important;
  }
  .topbar-wrapper {
    flex-direction: column !important;
    text-align: center !important;
    justify-content: center !important;
    gap: 6px !important;
  }
  .topbar-wrapper .topbar-item {
    margin-right: 0 !important;
    margin-left: 0 !important;
    justify-content: center !important;
  }
  .tabelku, .tabelnya {
    display: block;
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;
  }
  .navbar-brand img {
    max-width: 180px !important;
    height: auto !important;
  }
  .container {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  .banner-img,
  #homepageSlider .carousel-item img {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: contain !important;
    filter: none !important;
    opacity: 1 !important;
  }
  #homepageSlider .carousel-caption {
    padding: 10px !important;
    background: transparent !important;
  }
  #homepageSlider .carousel-caption p {
    font-size: 0.85rem !important;
    margin-bottom: 10px !important;
  }
  #homepageSlider .carousel-caption .btn {
    padding: 6px 12px !important;
    font-size: 0.8rem !important;
  }
}

/* --- TABLET (576px - 991px) --- */
@media (min-width: 576px) and (max-width: 991.98px) {
  .whatsapp-link {
    bottom: 20px !important;
    right: 25px !important;
  }
  .topbar-wrapper {
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    gap: 8px !important;
  }
  .tabelku, .tabelnya {
    display: block;
    width: 100%;
    overflow-x: auto;
  }
  .navbar-brand img {
    max-width: 220px !important;
    height: auto !important;
  }
  .banner-img,
  #homepageSlider .carousel-item img {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: contain !important;
    filter: none !important;
    opacity: 1 !important;
  }
}

/* --- LAPTOP / DESKTOP (>= 992px) --- */
@media (min-width: 992px) {
  .topbar-wrapper {
    flex-direction: row !important;
  }
  .banner-img,
  #homepageSlider .carousel-item img {
    width: 100% !important;
    height: 75vh !important;
    min-height: 480px !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    margin: 0 auto;
  }
}