/* Base page decorations */
body {
    min-height: 100vh;
    position: relative;
    overflow-x: hidden;
}

/* Decorative floating blobs behind main content (not sidebar) */
.decor-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(40px);
    opacity: 0.18;
    z-index: 0;
    pointer-events: none;
}
.decor-blob.blob-1 { width: 360px; height: 360px; background: #0059FF; top: 40px; left: 10%; }
.decor-blob.blob-2 { width: 280px; height: 280px; background: #ff6a2b; bottom: 40px; right: 10%; }
.decor-blob.blob-3 { width: 200px; height: 200px; background: #00b4ff; top: 200px; right: 20%; }

/* Main content wrapper sits above blobs */
.col-md-9 {
    position: relative;
    z-index: 2;
}

/* Card style for bins (the red boxes) */
.decor-card {
    background: #0059FF;
    color: #fff;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    overflow: hidden;
    border-radius: 20px;
    position: relative;
}
.decor-card:hover {
    transform: translateY(-6px) scale(1.01);
    box-shadow: 0 18px 40px rgba(0,0,0,0.2);
}
.decor-card .fs-4 {
    display: flex;
    align-items: center;
    gap: 12px;
}
.decor-card .pill-icon {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    background: rgba(255,255,255,0.12);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 18px;
}

/* Section headers (main-content) decoration */
.main-content {
    position: relative;
    overflow: visible;
    box-shadow: 0 8px 30px rgba(0,0,0,0.08);
}
.main-content::after {
    content: "";
    position: absolute;
    right: -40px;
    top: 50%;
    transform: translateY(-50%) rotate(14deg);
    width: 140px;
    height: 140px;
    background: rgba(255,255,255,0.04);
    border-radius: 20px;
    filter: blur(8px);
    pointer-events: none;
}

/* Accent bar for smaller headings */
h1[style*="border-left: 5px solid"] {
    padding-left: 14px;
    background: linear-gradient(90deg, rgba(255,72,0,0.06), transparent 50%);
    border-radius: 6px;
}

/* Make text blocks more legible */
.col-md-9 .p-3 div {
    color: rgba(255,255,255,0.95);
}

/* Subtle card description background */
.decor-card .desc {
    background: rgba(255,255,255,0.06);
    padding: 10px;
    border-radius: 8px;
    margin-top: 10px;
    color: rgba(255,255,255,0.95);
    font-size: 0.95rem;
}

/* Small decorative stripe under header */
.page-underline {
    height: 6px;
    width: 140px;
    background: linear-gradient(90deg, #ff4800, #ffd100);
    border-radius: 6px;
    margin-top: 10px;
}

/* Responsive tweaks */
@media (max-width: 767px) {
    .decor-blob.blob-1 { left: -80px; top: -40px; opacity: 0.12; }
    .decor-blob.blob-2 { right: -80px; bottom: -60px; opacity: 0.12; }
}

.sidebar-wrapper,
.sidebar-wrapper * {
    z-index: 3;
}

/* raw css */

.ibm{
  font-family: 'IBM Plex Sans', sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}

#navbar{
  background-color: #0059FF;
}
#logo{
  width: 60px;
}

.guru-section {
  background: #0059FF;
  padding: 60px 20px;
  text-align: center;
  color: white;
}

.judul {
  font-size: 48px;
  margin-bottom: 40px;
  font-weight: 700;
}

@media(max-width: 768px) {
  .item { min-width: 100%; }
  .item img { width: 200px; height: 200px; }
  .item.active img { width: 260px; height: 260px; }
  .judul { font-size: 32px; }
}

@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,100..700;1,100..700&family=Oswald:wght@200..700&family=Poppins: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&family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&display=swap');

#carousel{
  margin: 100px auto;
  width: 100%;
  display: flex;
  overflow-x: auto;
}
#carousel::-webkit-scrollbar{
  display: none;
}
#group{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1em;
  animation: spin 15s infinite linear;
  padding-right: 1em;
}
#card{
  flex: 0 0 10em;
  height: 10em;
  padding: 1em;
  align-content: center;
}
@keyframes spin{
  from {translate: 0;}
  to {translate: -100%;}
}

#wanimasi{
  background-color: rgba(255, 255, 255, 0.1); 
  backdrop-filter: blur(10px); 
  border: 1px solid rgba(255, 255, 255, 0.2); 
  transition: all 0.3s ease; 
  cursor: pointer;
}
#wanimasi:hover {
  box-shadow: 0 10px 25px rgba(0,0,0,0.2);
  transform: translateY(-10px);
  background-color: rgba(255, 255, 255, 0.15);
}
#vmanimasi{
  background-color: rgba(255, 255, 255, 0.1); 
  backdrop-filter: blur(10px); 
  transition: all 0.3s ease; 
  cursor: pointer;
}
#vmanimasi:hover {
  box-shadow: 0 10px 25px rgba(0,0,0,0.2);
  transform: translateY(-10px);
}
.dropdown {
  position: relative;
  display: inline-block;
}

.dropbtn {
  background-color: transparent;
  color: white;
  cursor: pointer;
  border: none;
}

.dropdown-content {
  display: none;
  position: absolute;
  background-color: white;
  min-width: 180px;
  box-shadow: 0px 8px 16px rgba(0,0,0,0.2);
  padding: 10px 0;
  z-index: 100;
}

.dropdown-content a {
  display: block;
  padding: 10px 15px;
  text-decoration: none;
  color: black;
}

.dropdown-content a:hover {
  background-color: #0059FF;
  color: white;
}

.dropdown-content a{
  font-size: smaller;
}

.dropdown:hover .dropdown-content {
  display: block;
}

.section-guru {
  background: #006aff;
  padding: 60px 0;
  text-align: center;
  width: 100%;
}

.section-guru {
  background: #006aff;
  padding: 60px 0;
}

.swiper {
  width: 90%;
  margin: auto;
  overflow: visible !important;
}

.swiper-slide {
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: 0.3s;
}

.foto {
  width: 150px;
  height: 150px;
  background: #ddd;
  border-radius: 50%;
}

.swiper-slide-active .foto {
  width: 230px;
  height: 230px;
}

.swiper-button-next,
.swiper-button-prev {
  color: white;
}
.container {
  overflow: hidden;
}
/* .row {
  overflow: hidden;
} */

.navbar-nav > .dropdown:hover > .dropdown-menu {
  display: block !important;
}
* {
  font-family: 'Poppins', sans-serif;
  font-weight: 100;
  font-style: normal;
}

.sidebar {
position: sticky;
top: 100px;
padding: 20px;
}

.sidebar .btn {
transition: all 0.3s ease;
background-color: rgba(255, 255, 255, 0.3);
backdrop-filter: blur(90px);
border: 1px solid #b6b6b6;
border-radius: 5px;
}

.sidebar .btn:hover {
color: white !important;
transform: translateX(5px);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.sidebar .btn:focus {
outline: none;
box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}

.toggle-sidebar {
display: none;
position: fixed;
top: 80px;
left: 20px;
z-index: 1000;
background-color: rgba(255, 255, 255, 0.3);
backdrop-filter: blur(90px);
border: 1px solid #b6b6b6;
}

@media (max-width: 768px) {
.toggle-sidebar {
  display: block;
}

.sidebar-wrapper {
  position: fixed;
  left: -100%;
  top: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.5);
  transition: left 0.3s ease;
  z-index: 999;
}

.sidebar-wrapper.active {
  left: 0;
}

.sidebar {
  position: relative;
  top: 0;
  width: 75%;
  height: 100vh;
  padding: 20px;
  overflow-y: auto;
}
}

.newsImgContainer{
  height: 140px;
}

.newsImgContainer img{
  height: 100%;
  width: 100%;
  object-fit: cover;
  border-radius: 15px;
}

.facImgContainer{
  width: 300px;
}

.facImgContainer img{
  height: 100%;
  width: 100%;
  object-fit: cover;
  border-radius: 15px;
}

.crlImgContainer {
  height: 500px;
}
.crlImgContainer img{
  height: 100%;
  width: 100%;
  object-fit: cover;
  border-radius: 15px;
}

.inkImgContainer {
  height: 300px;
  width: 300px;
}
.inkImgContainer img{
  height: 100%;
  width: 100%;
  object-fit: cover;
  border-radius: 50%;
  margin-bottom: 1rem;
}

:root{
  --card-bg: rgba(255,255,255,0.85);
  --accent: #ff6a1a;
  --muted: #6b7280;
  --glass-border: rgba(0,0,0,0.04);
}

.activities-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}
.activities-title{
  margin:0;
  font-size:1.1rem;
  font-weight:700;
  color:#111827;
}
.activity-grid{ 
  display:flex; 
  flex-wrap:wrap; 
  gap:1.25rem; }

.activity-card{
  background:var(--card-bg);
  border:1px solid var(--glass-border);
  border-radius:14px;
  overflow:hidden;
  display:flex;
  gap:1rem;
  align-items:flex-start;
  padding:1rem;
  width:100%;
  transition:transform .18s ease, box-shadow .18s ease;
  box-shadow:0 8px 24px rgba(12,18,36,0.06);
  backdrop-filter: blur(6px);
}
.activity-card:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 40px rgba(12,18,36,0.12);
}

.activity-media{
  flex:0 0 110px;
  height:110px;
  border-radius:10px;
  overflow:hidden;
  background:#eee;
  box-shadow: inset 0 6px 18px rgba(0,0,0,0.04);
}
.activity-media img{ 
  width:100%; 
  height:100%; 
  object-fit:cover; 
  display:block; }

.activity-body{ 
  flex:1; 
  min-width:0; }
.activity-meta{ 
  display:flex; 
  align-items:center; 
  gap:.5rem; 
  margin-bottom:.35rem; 
  color:var(--muted); 
  font-size:.85rem; }
.activity-title{ 
  margin:0; 
  font-size:1rem; 
  font-weight:700; 
  color:#0f1724; 
  line-height:1.15; }
.activity-desc{ 
  margin:.45rem 0 0; 
  color:var(--muted); 
  font-size:.9rem; }

.activity-cta{ 
  margin-top:.7rem; 
  display:inline-flex; 
  gap:.5rem; 
  align-items:center; }
.btn-visit{
  background:linear-gradient(90deg,var(--accent), #ff8a3d);
  color:#fff;
  border:0;
  padding:.35rem .7rem;
  border-radius:999px;
  font-size:.85rem;
  text-decoration:none;
}

@media(min-width:768px){
  .activity-card{ 
    padding:1.1rem; }
  .activity-media{ 
    width:140px;
    height:100px; 
    border-radius:12px; }
}

.col-split{ 
  width:100%; }
@media(min-width:768px){
  .col-split{ 
    width:calc(50% - .625rem); } 
  }

.card-hover { 
  transition: transform .15s ease, box-shadow .15s ease; 
  border-radius: 12px; 
  overflow: hidden; 
}

.card-hover:hover { 
  transform: translateY(-6px); 
  box-shadow: 0 10px 24px rgba(0,0,0,0.08); 
}

.img-fit { 
  width:100%; 
  height:100%; 
  object-fit:cover; 
  display:block; 
}


