/* class untuk gambar kotak dengan rasio 1:1 */
.photo-square {
  width: 40%;
  aspect-ratio: 1 / 1; /* menjaga tinggi = lebar */
  object-fit: cover; /* crop jika proporsi berbeda */
  display: block;
}

.section-title div {
  font-size: calc(13px + 1vw);
}

.header .logo h1 {
  font-size: calc(15px + 1vw);
}

.jabguru {
  font-size: calc(10px + 0.5vw);
}

.text-justify {
  text-align: justify;
}

.photo-float {
  float: left;
  height: auto;
  margin-right: 15px; /* jarak teks ke foto */
  margin-bottom: 10px; /* jarak jika teks turun */
}

.photo-card::after {
  content: "";
  display: block;
  clear: both;
}

.text-footer {
  color: #084049 !important;
}

.bg-footer {
  background-color: #1180ed !important;
}

.bg-cyan-tua {
  background-color: #1c4950 !important;
}

.header {
  --background-color: rgba(255, 255, 255, 0);
  --default-color: #ffffff;
  --heading-color: #ffffff;
  color: var(--default-color);
  background-color: var(--background-color);
  padding: 18px 0;
  transition: all 0.5s;
  z-index: 997;
}

.detail p {
  color: color-mix(in srgb, var(--default-color), transparent 30%);
  margin: 5px 0 30px 0;
  font-size: 16px;
  font-weight: 400;
}

.fs-14 {
  font-size: 14px;
}
.fs-12 {
  font-size: 12px;
}

.photo-oto {
  width: 50%;
  min-width: 140px;
  border-radius: 20px;
  margin-bottom: 20px;
  /* min-width: 90px; */
  height: auto;
  /* margin-right: 15px; */
}
.breadcrumb ol li {
  padding-left: 0rem;
}

.read-more {
  background: var(--accent-color);
  /* background: #1c4950 !important; */
  color: var(--contrast-color);
  font-family: var(--heading-font);
  font-weight: 300;
  font-size: 12px;
  letter-spacing: 1px;
  padding: 5px 10px;
  border-radius: 5px;
  transition: 0.3s;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.read-more i {
  font-size: 18px;
  margin-left: 5px;
  line-height: 0;
  transition: 0.3s;
}

.read-more:hover {
  background: color-mix(in srgb, var(--accent-color), transparent 20%);
  padding-right: 19px;
}

.read-more:hover i {
  margin-left: 10px;
}

/*=============================================*/
.kotak img {
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}

.zoom-effect:hover .kotok {
  transform: translateY(-50px);
}

.kotok {
  transition: 0.5s ease;
}

.zoom-effect:hover .kotak img {
  filter: opacity(75%);
  /*  max-width: none;*/
  /*  width: calc(100% + 40px);*/
  -webkit-transform: scale(1.2);
  transform: perspective(500px);
  transform: scale(1.2);
  /*  transform: translate(40px,0);*/
}

.zoom-effect {
  overflow: hidden;
}

.efek-judul:hover {
  transform: translate(-20px, 0px);
}

.efek-judul {
  overflow: hidden;
}

.glowing-text {
  /* color: #fff; */
  text-shadow:
    0 0 5px #fff,
    0 0 10px #f0f,
    0 0 20px #f0f,
    0 0 40px #f0f,
    0 0 80px #f0f;
  /* font-size: 2rem; */
  /* font-weight: bold; */
}

.snippet {
  font-family: Arial, sans-serif;
  text-align: justify;
}

.snippet img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 10px 0;
}

.snippet a.read-more {
  display: inline-block;
  margin-top: 10px;
  color: #007bff;
  text-decoration: none;
  font-weight: bold;
}

.snippet a.read-more:hover {
  text-decoration: underline;
}

.post .user-block {
  margin-bottom: 15px;
  width: 100%;
}

.user-block {
  float: left;
}

.user-block img {
  float: left;
  height: 40px;
  width: 40px;
}

.user-block .username,
.user-block .description,
.user-block .comment {
  display: block;
  margin-left: 50px;
}

.user-block .username {
  font-size: 16px;
  font-weight: 600;
  margin-top: -1px;
}

.user-block .description {
  color: #6c757d;
  font-size: 13px;
  margin-top: -3px;
}

.user-block.user-block-sm img {
  width: 1.875rem;
  height: 1.875rem;
}

.user-block.user-block-sm .username,
.user-block.user-block-sm .description,
.user-block.user-block-sm .comment {
  margin-left: 40px;
}

.user-block.user-block-sm .username {
  font-size: 14px;
}

/* Ensure hero swiper fills hero section and images cover */
.hero .hero-swiper {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.hero .hero-swiper .swiper-wrapper,
.hero .hero-swiper .swiper-slide {
  height: 100%;
}
.hero .hero-swiper .hero-bg {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.table td {
  font-size: 14px;
  padding-top: 0.15rem;
  padding-bottom: 0.15rem;
  font-family: "Arial Unicode MS";
  font-weight: 400;
}
