@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap');
:root{
  --accent: #d92e27;
  --card-radius: 14px;
  --shadow: 0 6px 18px rgba(0,0,0,0.08);
  --muted: #6b6b6b;
  --bg: #f7f7f9;
  --max-width: 1200px;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  user-select: none;
}

body {
  font-family: "Plus Jakarta Sans", sans-serif;
  background-color: #ffffff;
}

/* Style Header Default Awal */
/* Header Default */
header {
  background-color: #ffffff;
  box-shadow: 10px 10px 10px 0px rgba(0, 0, 0, 0.63);
  padding: 10px;
  margin: 20px 50px;
  border-radius: 15px;
  position: absolute;
  width: calc(100% - 100px);
  z-index: 2;
}

.container {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.logo {
  display: flex;
  gap: 20px;
  align-items: center;
  margin-left: 30px;
}

.logo .logo1 {
  height: 50px;
  width: auto;
}

.logo .logo2 {
  height: 35px;
  width: auto;
}

.navbar{
  margin-right: 20px;
}

.navbar .nav-links {
  list-style: none;
  display: flex;
  gap: 20px;
  align-items: center;
}

.navbar .nav-links li {
  position: relative;
}

.navbar .nav-links li a {
  text-decoration: none;
  color: #000000;
  font-size: 15px;
  padding: 10px;
  cursor: pointer;
  display: flex;
  align-items: center;
}

.navbar .nav-links li a:hover {
  color: #000000;
}

.navbar .nav-links > li > a::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 0;
  height: 2px;
  background-color: #d92e27;
  transition: width 0.3s ease, left 0.3s ease;
  transform: translateX(-50%);
}

.navbar .nav-links > li > a:hover::after {
  width: 100%;
}

.dropdown-menu::after {
  display: none;
}

.dropdown-toggle {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.dropdown-toggle:hover {
  color: #d92e27;
}

.dropdown-icon {
  font-size: 12px;
  transition: transform 0.3s ease;
  color: #000000;
}

.dropdown:hover .dropdown-icon,
.dropdown.open .dropdown-icon {
  transform: rotate(90deg);
  color: #d92e27;
}

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  background-color: #fff;
  padding: 10px;
  width: 220px;
  visibility: hidden;
  opacity: 0;
  transform: translateY(-10px);
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
  z-index: 999;
}

.dropdown:hover .dropdown-menu,
.dropdown.open .dropdown-menu {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

.dropdown-menu li {
  list-style: none;
}

.dropdown-menu li a {
  text-decoration: none;
  display: block;
  padding: 10px;
  font-size: 15px;
  border-radius: 6px;
  transition: color 0.25s ease, background-color 0.25s ease;
  cursor: pointer;
}

.dropdown-menu li a.sub-menu:hover {
  color: #ff0202;
  text-decoration: none;
}

.dropdown:hover>.dropdown-toggle,
.dropdown.open>.dropdown-toggle {
  color: #ff0202;
}

.dropdown:hover>.dropdown-toggle::after,
.dropdown.open>.dropdown-toggle::after {
  width: 100%;
  left: 50%;
  transform: translateX(-50%);
  background-color: #ff0202;
}

.navbar .nav-links li a.active {
  color: #d92e27;
  font-weight: 600;
  position: relative;
}

.dropdown-menu li a.active {
  background-color: #f0e8ff;
  color: #d92e27;
  font-weight: 600;
}

.dropdown-sub {
  position: relative;
}

.dropdown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  background-color: #fff;
  padding: 10px;
  min-width: 150px;
  visibility: hidden;
  opacity: 0;
  transform: translateY(-10px);
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
  z-index: 1000;
}

.dropdown-sub:hover .dropdown-submenu {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

.dropdown-submenu li a {
  padding: 10px;
  display: block;
  font-size: 14px;
  border-radius: 4px;
  transition: background-color 0.3s ease;
}

.dropdown-submenu li a:hover {
  background-color: #f0f0f0;
  color: #d92e27;
}

.dropdown-sub .dropdown-sub-icon {
  font-size: 10px;
  margin-left: auto;
  color: #000;
  transition: transform 0.3s ease;
}

.dropdown-sub:hover .dropdown-sub-icon {
  transform: rotate(90deg);
  color: #d92e27;
}

.navbar .nav-links li a.sub-menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}

.dropdown-menu li a.active {
  background-color: #f0e8ff; 
  color: #d92e27;          
  font-weight: 600;
  border-radius: 6px;
}
/* Style Header Default End */



/* Style Header Scroll Awal */
/* Header Scroll */
.header-scroll {
  border-bottom: 3px solid;
  border-image: linear-gradient(to right, #d92e27, #edaa03) 1;
  background-color: #ffffff;
  padding: 10px;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-30px);
  transition: opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1), transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.header-scroll.active {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.container-scroll {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.logo-scroll {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-left: 30px;
}

.logo1-scroll {
  height: 40px;
}

.logo2-scroll {
  height: 30px;
}

.navbar-scroll .nav-links-scroll {
  list-style: none;
  display: flex;
  gap: 30px;
  align-items: center;
}

.navbar-scroll .nav-links-scroll li {
  position: relative;
}

.navbar-scroll .nav-links-scroll a {
  text-decoration: none;
  color: #000;
  font-size: 15px;
  padding: 10px;
  transition: 0.3s ease;
}

.navbar-scroll .nav-links-scroll a:hover {
  color: #d92e27;
}

.dropdown-scroll:hover .dropdown-menu-scroll {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

.dropdown-toggle-scroll {
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px; 
}

.dropdown-icon-scroll {
  font-size: 10px;
  transition: transform 0.3s ease;
  color: #555;
}

.dropdown-scroll:hover .dropdown-icon-scroll {
  transform: rotate(90deg);
  color: #d92e27; 
}

.dropdown-menu-scroll {
  position: absolute;
  top: 100%;
  left: 0;
  width: 210px;
  padding: 10px 0; 
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 0.3s ease;
  background: #fff;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  border-radius: 6px;
  z-index: 100;
}

.dropdown-menu-scroll li {
  list-style: none;
}

.dropdown-menu-scroll li a {
  padding: 10px 20px; 
  color: #000;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 8px; 
  transition: background 0.2s ease, color 0.2s ease;
}

.navbar-scroll .nav-links-scroll li a.active {
  color: #d92e27;
  font-weight: 600;
}

.dropdown-menu-scroll li a.active {
  color: #d92e27;
  font-weight: 600;
}

.sidebar-submenu,
.submenu-news {
  list-style: none;
  padding-left: 20px;
  display: none; 
  margin: 0;
}

.sidebar-links a {
  text-decoration: none;
  color: #000;
  padding: 8px 15px;
  display: block;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.sidebar-links a:hover {
  background-color: #f0f0f0;
}

.sidebar-dropdown.open > .sidebar-submenu {
  display: block;
}

.sidebar-dropdown-sub.open > .submenu-news {
  display: block;
}

.sidebar-links a i {
  float: right;
  transition: transform 0.3s ease;
}

.dropdown-toggle-sub{
  display: flex;
  justify-content: space-between;
}

.sidebar-dropdown.open > a.dropdown-toggle i,
.sidebar-dropdown-sub.open > a.dropdown-toggle-sub i {
  transform: rotate(90deg);
}

.sidebar-links a.active,
.sidebar-links a.active-parent {
  background-color: #f0e8ff;
  color: #d92e27;
  font-weight: 600;
}

/* Style Halaman Gambar Awal */
/* Halaman Gambar */
.halaman-gambar {
  background-image: url(../img/Cover_Web.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100vh;
  width: 100%;
  position: relative;
  z-index: 0;
}

.halaman-gambar::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.584);
  z-index: 1;
}

.konten-flex {
  position: absolute;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 40%; 
  padding: 0 80px;
  color: #fff;
  bottom: 0;
}

.halaman-tulisan h1 {
  font-size: 40px;
  margin-bottom: 20px;
}

.halaman-tulisan p{
  font-size: 18px;
  line-height: 1.9;
}

.button-register {
  border: 3px solid rgb(255, 255, 255);
  color: #ffffff;
  padding: 12px 20px;
  border-radius: 20px;
  text-decoration: none;
  font-weight: bold;
  transition: background-color 0.3s ease;
}

.button-register:hover {
  color: black;
  background-color: #ddd;
  border: 3px solid #ddd;
}

/* Halaman Isi */
.halaman-bawah {
  padding: 30px 50px;
  min-height: 200px; 
  overflow-x: hidden;
}

.halaman-banner{
  display: flex;
  justify-content: center;
  align-items: center;
  height: 50vh;

}

.slider {
  position: relative;
  width: 100%;
  max-width: 800px;
  height: 50vh;          
  overflow: visible;
  margin: auto;
}

.item {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100%;
  height: 100%;          
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  transition: transform 0.7s ease, opacity 0.5s ease, filter 0.5s ease;
  transform-origin: center center;
}

.item img {
  width: 100%;
  height: 100%;
  object-fit: fill;
  border-radius: 20px;
}

.item.active {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%) scale(1);
  z-index: 10;
  filter: none;
}

.item.next {
  opacity: 0.5;
  pointer-events: none;
  transform: translateX(calc(100% - 50%)) scale(0.8) rotateY(-15deg);
  z-index: 5;
  filter: blur(10px);
  box-shadow: 0 5px 15px rgba(0,0,0,0.15);
}

.item.prev {
  opacity: 0.5;
  pointer-events: none;
  transform: translateX(calc(-100% - 50%)) scale(0.8) rotateY(15deg);
  z-index: 5;
  filter: blur(6px);
  box-shadow: 0 5px 15px rgba(0,0,0,0.15);
}

#prev, #next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.623);
  border: none;
  font-size: 2.5rem;
  color: #fff;
  cursor: pointer;
  padding: 10px;
  border-radius: 10%;
  z-index: 20;
}

#prev { left: 20px; }
#next { right: 20px; }

button:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

.halaman-about-us {
  display: flex;
  align-items: flex-start;   
  gap: 40px;
  width: 100%;         
  margin-top: 100px;
  box-sizing: border-box;
}

.halamangambar {
  width: 50%;
}

.halamangambar img {
  width: 100%;
  height: 100%;
  border-radius: 10px;
  border: 1px solid black;
  object-fit: cover;
  display: block;
}

.halaman-tulisan-gambar {
  width: 50%;
}

.halaman-tulisan-gambar h1 {
  font-size: 36px;
  margin-bottom: 20px;
  color: #d92e27;
}

.halaman-tulisan-gambar p {
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 25px;
  text-align: justify;
}

.liatdetail {
  display: inline-block;
  background-color: #d92e27;
  color: white;
  padding: 10px 50px;
  border-radius: 50px;
  text-decoration: none;
  font-weight: 600;
  transition: background-color 0.3s ease;
}

.liatdetail:hover {
  background-color: #070b68;
}

.halaman-profile{
  margin-top: 100px;
}

.halaman-profile h1{
  color: #d92e27;
  margin-bottom: 40px;
  border-left: 3px solid #d92e27;

  border-left: 5px solid #d92e27;
  padding-left: 20px;
}

.halaman-profile p{
  line-height: 30px;
  margin-bottom: 20px;
  text-align: justify;
}

.halaman-profile .buttonprofile{
  display: inline-block;
  background-color: #d92e27;
  color: white;
  padding: 10px 50px;
  border-radius: 20px;
  text-decoration: none;
  font-weight: 600;
  transition: background-color 0.3s ease;
}

.buttonprofile:hover {
  background-color: #070b68;
}

.event-gallery{
  margin-top: 100px;
}

.halaman-judul-event{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
  color: #d92e27;
}

.halaman-judul-event h1{

  border-left: 5px solid #d92e27;
  padding-left: 20px;
}

.halaman-judul-event .seemore{
  color: #070b68;
  text-decoration: none;
  font-size: 17px;
}

.halaman-judul-event .seemore:hover{
  color: #d92e27;
}

.halaman-judul-event i{
  margin-left: 5px;
}

.event-gallery .pembuka{
  margin-bottom: 50px;
}

.event-gallery p{
  line-height: 30px;
  text-align: justify;
}

.card-container {
  display: flex;
  flex-wrap: wrap;
  justify-content:space-around;
  margin-top: 30px;
  gap: 20px ;
}

.card-event {
  width: auto;
  border-radius: 10px;
  overflow: hidden;
  background-color: #ffffff;
  box-shadow: 0px 3px 10px 5px rgba(0, 0, 0, 0.305);
  transition: transform 0.2s ease;
}

.card-event:hover {
  transform: translateY(-5px);
}

.card-event img {
  width: 100%;
  height: 180px;
  object-fit: cover;
}

.card-content {
  padding: 15px;
}

.card-title {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 20px;
  color: #000000;
  text-align: center;
}

.card-description {
  font-size: 14px;
  color: #898989;
  margin-bottom: 20px;
  text-align: justify;
}

.card-date {
  font-size: 13px;
  color: #000000;
  margin-bottom: 20px;
}

.card-button {
  display: block;
  text-align: center;
  background-color: #d92e27;
  color: white;
  padding: 10px;
  border-radius: 20px;
  text-decoration: none;
  font-weight: bold;
  transition: background-color 0.2s ease;
}

.card-button:hover {
  background-color: #070b68;
}


/* Section wrapper */
.magazine-section {
  margin-top: 100px;
}

.magazine-header {
  text-align: center;
  margin-bottom: 50px;
}

.magazine-header h2 {
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 20px;
  color: #d92e27;
}

.magazine-header p {
  font-size: 15px;
  color: #666;
  margin-bottom: 20px;
}

.see-more-button {
  display: inline-block;
  background-color: #070b68;
  color: white;
  padding: 10px 50px;
  border-radius: 10px;
  font-weight: bold;
  text-decoration: none;
  transition: background-color 0.2s ease;
}

.see-more-button:hover {
  background-color: #d92e27;
}

/* Container dan card (dari sebelumnya) */
.halaman-paper {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 30px;
}

.magazine-card {
  background-color: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0px 3px 10px 5px rgba(0, 0, 0, 0.305);
  transition: transform 0.2s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 20px;
}

.magazine-card:hover {
  transform: translateY(-5px);
}

.magazine-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.magazine-title {
  font-size: 18px;
  font-weight: bold;
  margin: 15px 0 10px;
  color: #333;
  text-align: center;
}

.magazine-buttons {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 10px;
}

.magazine-buttons a {
  text-decoration: none;
  padding: 10px 20px;
  border-radius: 6px;
  font-weight: bold;
  font-size: 14px;
  transition: background-color 0.2s ease;
}

.btn-view {
  background-color: #28a745;
  color: white;
}

.btn-view:hover {
  background-color: #218838;
}

.kurikulum-section {
  margin-top: 100px;
  background-color: #fefefe;
  text-align: center;
}

.main-title {
  font-size: 36px;
  color: #d92e27;
  margin-bottom: 20px;
  font-weight: bold;
}

.subtitles {
  margin-bottom: 40px;
  padding: 0 20px;
}

.subtitles h2 {
  font-size: 16px;
  color: #000000;
  line-height: 1.4;
}

.subtitles p {
  font-size: 15px;
  color: #555;
  margin-top: 50px;
  line-height: 1.9;
  text-align: justify;
}

.card-container-modul {
  display: flex;
  gap: 30px;
}

.card-modul {
  width: 50%;
  background-color: #fff;
  box-shadow: 0px 3px 10px 5px rgba(0, 0, 0, 0.305);
  border-radius: 10px;
  overflow: hidden;
  transition: transform 0.3s ease;
}

.card-modul:hover {
  transform: translateY(-6px);
}

.card-image-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 5 / 2.2;
  background-color: #ccc;
}

.main-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  aspect-ratio: 5 / 2.2;
}

.logo-overlay {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 80px;
  height: 50px;
  object-fit: contain;
  border-radius: 8px;
  background: white;
  border: 1px solid #ccc;
  padding: 6px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

.card-body {
  padding: 20px;
  text-align: center;
}

.card-body h3 {
  font-size: 22px;
  color: #000000;
  margin-bottom: 12px;
}

.card-body p {
  line-height: 1.9;
  font-size: 14px;
  color: #444;
  margin-bottom: 20px;
  min-height: 48px;
}

.btn-data {
  padding: 10px 50px;
  background-color: #d92e27;
  color: white;
  border: none;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.3s ease;
}

.btn-data:hover {
  background-color: #070b68;
}

.review-section {
  margin-top: 100px;
  overflow: hidden;
}

.review-section h1{
  text-align: center;
  font-size: 40px;
  color: #d92e27;
  margin-bottom: 40px;
}

.rail-wrapper {
  width: 100%;
  overflow: hidden;
}

.rail-track {
  display: flex;
  gap: 1rem;
  will-change: transform;
}

.card-review {
  min-width: 300px;
  max-width: 300px;
  height: fit-content;
  background: white;
  border-radius: 20px;
  border: 1px solid black;
  padding: 10px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.halaman-atas-ulasan{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
}

.quote {
  font-size: 2rem;
  color: #000000;
}

.content  {
  max-height: 60px;
  min-height: 20vh;
  overflow: auto;
}

.content p {
  text-align: justify;
  line-height: 20px;
}

.reviews {
  display: flex;
  gap: 10px;
}

.star {
  width: 20px;
  height: 20px;
  background-color: #ccc;
  -webkit-mask: url('https://cdn-icons-png.flaticon.com/512/1828/1828884.png') no-repeat center;
  mask: url('https://cdn-icons-png.flaticon.com/512/1828/1828884.png') no-repeat center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.star.active {
  background-color: gold;
}

.user-review {
  text-align: center;
  margin: 20px;
}

.details-review h3{
  margin-bottom: 10px;
}

.review-form-container {
  width: 100%;
  padding:30px;

  margin-top: 50px;
  box-shadow: 0px 3px 10px 5px rgba(0, 0, 0, 0.305);
  border-radius: 20px;
}

.review-form .form-group {
  margin-bottom: 1.5rem;
}

.review-form label {
  display: block;
  margin-bottom: 0.5rem;
  color: #444;
  font-weight: 600;
}

.review-form input[type="text"],
.review-form textarea {
  width: 100%;
  padding: 0.75rem;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 1rem;
  transition: border-color 0.3s;
}

.review-form input:focus,
.review-form textarea:focus {
  border-color: #007bff;
  outline: none;
}

.star-rating {
  display: flex;
  gap: 0.5rem;
  font-size: 2rem;
  color: #ccc;
  cursor: pointer;
  user-select: none;
}

.star-rating span.active {
  color: gold;
}

.review-form button {
  width: 100%;
  padding: 0.75rem;
  background-color: #007bff;
  border: none;
  color: white;
  font-size: 1rem;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 0.3s;
}

.review-form button:hover {
  background-color: #0056b3;
}

.review-form select {
  width: 100%;
  padding: 0.75rem;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 1rem;
  transition: border-color 0.3s;
  background-color: white;
  appearance: none; 
  cursor: pointer;
}

.review-form select:focus {
  border-color: #007bff;
  outline: none;
}

.footer {
  margin-top: 50px;
  background-color: #ebebeb;
  padding: 30px 20px;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  color: #333;
}

.footer-top {
  position: relative; 
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 30px;
  border-bottom: 1px solid #000000;
  padding-bottom: 50px; 
}

.footer-brand {
  max-width: 400px;
  flex: 1 1 400px;
  margin-right: 40px;
}

.logo-group {
  display: flex;
  gap: 20px;
  margin-bottom: 20px;
  align-items: center;
}

.logos1 {
  width: 180px;
  height: auto;
  display: block;
}

.logos {
  width: 100px;
  height: auto;
  display: block;
}

.footer-brand h3 {
  font-size: 20px;
  margin-bottom: 12px;
  font-weight: 700;
}

.footer-brand p {
  font-size: 15px;
  margin-bottom: 20px;
  line-height: 1.4;
  text-align: left;
}

.footer-contact {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.contact-item {
  display: flex;
  align-items: center;
  gap: 15px;
  font-size: 15px;
  color: #333;
}

.contact-item i {
  color: #cc0000;
  font-size: 18px;
  min-width: 24px;
  text-align: center;
}

.contact-item a {
  color: #333;
  text-decoration: none;
  font-weight: 600;
  transition: color 0.3s ease;
}

.contact-item a:hover {
  color: #cc0000;
  text-decoration: underline;
}

.contact-item p {
  margin: 0;
}

.footer-links {
  flex: 1 1 160px;
  min-width: 160px;
}

.footer-social {
  flex: 1 1 175px;
  min-width: 175px;
}

.footer-links h4,
.footer-social h4 {
  font-size: 18px;
  color: #cc0000;
  margin-bottom: 15px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.footer-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-links ul li {
  margin-bottom: 12px;
}

.footer-links ul li a {
  color: #333;
  text-decoration: none;
  transition: color 0.3s ease;
  font-weight: 500;
  font-size: 15px;
}

.footer-links ul li a:hover {
  color: #cc0000;
  text-decoration: underline;
}

.social-icons a {
  display: inline-block;
  margin-right: 15px;
  font-size: 22px;
  color: #333;
  transition: color 0.3s ease;
}

.social-icons a:hover {
  color: #cc0000;
}

.footer-logos {
  position: absolute;
  right: 0;
  bottom: 10px; 
  display: flex;
  align-items: center;
  gap: 30px;
}

.footer-logos img {
  height: 60px;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.footer-logos img:hover {
  transform: scale(1.05);
}

.footer-bottom {
  text-align: center;
  margin-top: 20px;
  font-size: 14px;
  color: #000000;
  font-weight: 500;
}

.menu-toggle {
  display: none;
  font-size: 20px;
  cursor: pointer;
  color: #000;
}

.sidebar {
  position: fixed;
  top: 0;
  right: -120%;
  width: 300px; /* Lebar sidebar */
  height: 100vh;
  background-color: #1a1a1a;
  color: #fff;
  transition: right 0.3s ease;
  z-index: 1001;
  padding: 20px;
  box-shadow: -2px 0 8px rgba(0, 0, 0, 0.1);
  overflow-y: auto;
}

.sidebar.active {
  right: 0;
}

.sidebar-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.sidebar-header h2 {
  font-size: 20px;
  color: #fff;
  font-weight: bold;
  margin: 0;
}

.close-btn {
  background: none;
  border: none;
  color: #fff;
  font-size: 24px;
  cursor: pointer;
}

.sidebar-links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.sidebar-links li {
  margin-bottom: 20px;
}

.sidebar-links a {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: #bbb;
  font-size: 16px;
  padding: 10px 15px;
  border-radius: 6px;
  transition: background-color 0.3s ease, color 0.3s ease;
}

.sidebar-links a:hover {
  background-color: #333;
  color: #fff;
}

.sidebar-links a.active {
  background-color: #ff0000;
  color: #fff;
}

/* Dropdown Styles */
.sidebar-dropdown .sidebar-submenu {
  display: none;
  margin-top: 10px;
  padding-left: 20px;
}

.sidebar-dropdown.open .sidebar-submenu {
  display: block;
}

.sidebar-submenu li {
  margin-bottom: 10px;
}

.sidebar-dropdown > a {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.sidebar-dropdown i {
  transition: transform 0.3s ease;
}

.sidebar-dropdown.open i {
  transform: rotate(180deg);
}

/* Sidebar - Icons */
.sidebar-links a i {
  margin-right: 10px;
}

/* Overlay */
.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.4);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease;
  z-index: 1000;
}

.overlay.active {
  opacity: 1;
  visibility: visible;
}

.halaman-ey{
  background-image: url(../img/bird-eye-2048x1152.jpg);
  width: 100%;
  height: 35vh;
  background-position: center;
  background-size: fill;
}

.halaman-isi-ey{
  padding: 20px;
}

.halaman-judul-ey {
  font-size: 14px;
}

.breadcrumb a {
  text-decoration: none;
  color: #d62828;
  font-weight: 500;
  transition: color 0.3s;
}

.breadcrumb a:hover {
  color: #a61b1b; 
}

.breadcrumb span {
  color: #333;
  font-weight: 500;
}

.section-title-ey {
  margin: 20px 0 30px;
}

.section-title-ey h1 {
  border-left: 5px solid #d92e27;
  padding-left: 20px;
  font-size: 2rem;
  color: #d62828;
}

.section-title-ey5 {
  margin-top: 100px;
  margin-bottom: 35px;
}

.section-title-ey5 h1 {
  border-left: 5px solid #d92e27;
  padding-left: 20px;
  font-size: 2rem;
  color: #d62828;
}

.section-title-ey-1 {
  text-align: center;
  margin-top: 100px;
}

.section-title-ey-1 h1 {
  font-size: 2rem;
  color: #d62828;
}

.top-leaders {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
  margin-bottom: 20px;
}

.top-leaders-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
}

.big-card {
  display: flex;
  width: 100%;
  max-width: 500px;
  background: #f6f6f6;
  border-radius: 20px;
  box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.304);
  overflow: hidden;
  transition: transform 0.3s ease;
  height: 250px; 
  border: 3px solid black;
}

.big-card:hover {
  transform: translateY(-5px);
}

.halamaan-orang {
  width: 35%;
  display: flex;
  justify-content: center;
}

.halamaan-orang img {
  max-height: 100%;
  max-width: 100%;
  object-fit: cover;
  border-radius: 12px;
}

.right-info {
  width: 70%;
  display: flex;
  flex-direction: column;
  align-items: center;
 
  position: relative;
}

.label-jabatan {
  width: 85%;
  border: 0px solid black;
  border-left: 1px solid black;
  border-bottom: 1px solid black;
  border-right: 1px solid black;
  color: rgb(0, 0, 0);
  font-weight: 700;
  text-align: center;
  padding: 10px;
  font-size: 18px;
  border-radius: 0 0 20px 20px;
}

.nama-orang {
  margin-top: 20%;
  font-size: 1.4rem;
  font-weight: bold;
  text-align: center;
  padding-bottom: 10px;
}

.team-grid {
  margin-top: 40px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
}

.small-card {
  background: #f6f6f6;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.304);
  text-align: center;
  transition: transform 0.3s ease;
  height: fit-content;
}

.small-card:hover {
  transform: scale(1.02);
}

.image-container-team {
  width: 100%;
  height: 25vh;
  aspect-ratio: 3 / 4;
  
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.image-container-team img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: top;
}

.small-card .info {
  background-color: #222;
  color: #fff;
  padding: 15px;
}

.small-card .info h2 {
  font-size: 1rem;
  margin-bottom: 3px;
}

.small-card .info p {
  font-size: 13px;
  color: #ccc;
}

.news-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));

  gap: 30px;
  width: 100%;
}

.news-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: white;
  border-radius: 16px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
  padding: 20px;
  border: 1px solid black;
  height: 100%;
  min-height: 300px;
  text-decoration: none;
  overflow: hidden;
  color: inherit;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.news-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
}

.quote-mark {
  font-size: 30px;
  color: #d32f2f;
  margin-bottom: 10px;
}

.news-text {
  font-size: 16px;
  line-height: 1.6;
  color: #333;
  flex-grow: 1;
}

.source {
  margin-top: 16px;
  font-size: 14px;
  color: #d32f2f;
  font-weight: 600;
}

.article-container {
  max-width: 900px;
  margin: auto;
  background: #fff;
  padding: 24px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.05);
  margin-top: 30px;
  margin-bottom: 60px;
  border-radius: 12px;
}

.article-header {
  margin-bottom: 24px;
}

.article-title {
  font-size: 28px;
  font-weight: 700;
  color: #222;
  margin-bottom: 8px;
}

.article-meta {
  font-size: 14px;
  color: #777;
}

.article-image {
  width: 100%;
  max-height: 400px;
  object-fit: cover;
  border-radius: 10px;
  margin: 24px 0;
}

.article-content p {
  font-size: 17px;
  line-height: 1.8;
  margin-bottom: 20px;
  text-align: justify;
}

.back-button {
  display: inline-block;
  margin-top: 20px;
  padding: 10px 18px;
  background-color: #007bff;
  color: white;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 500;
  transition: background 0.3s ease;
}

.back-button:hover {
  background-color: #0056b3;
}

.gambar-kecil-container {
  max-width: 850px;
  margin: 0 auto;
  padding: 0 16px;
}

.gambar-flex {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: 24px 0;
  flex-wrap: wrap;
}

.gambar-flex img {
  width: 100%;
  max-width: 250px;
  height: auto;
  border-radius: 10px;
  object-fit: cover;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
  flex: 1 1 30%;
}

.event-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
  /* max-width: 1200px; */
  /* margin: auto; */
}

.event-card {
  background: #fff;
  border-radius: 16px;
  border: 1px solid black;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: 0.3s ease-in-out;
}

.event-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 12px 24px rgba(0,0,0,0.12);
}

.event-image {
  width: 100%;
  height: 180px;
  object-fit: cover;
}

.event-content {
  padding: 16px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.event-title {
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 8px;
  color: #333;
}

.event-date {
  font-size: 14px;
  color: #ff0000;
  margin-bottom: 15px;
}

.event-description {
  flex: 1;
  font-size: 15px;
  color: #b3b3b3;
  margin-bottom: 30px;
}

.event-button {
  align-self: flex-start;
  background: #d92e27;
  color: white;
  width: 100%;
  text-align: center;
  padding: 10px;
  border-radius: 20px;
  font-size: 14px;
  text-decoration: none;
  transition: 0.3s ease;
}

.event-button:hover {
  background: #070b68;
}

@keyframes shimmer {
  0%{ background-position: 200% 0; }
  100%{ background-position: -200% 0; }
}

.controls{
  display:flex;
  justify-content:center;;
  padding-top: 50px;
}

#loadMoreBtn {
  padding: 10px;
  background: #232323;
  color:#fff;
  width: 50%;
  border:none;
  border-radius:20px;
  cursor:pointer;
  font-weight:700;
  box-shadow: 0 6px 18px rgba(217,46,39,0.16);
  transition: transform .12s ease, opacity .12s ease;
}
    
#loadMoreBtn:active{ 
  transform: translateY(2px); 
}

#loadMoreBtn.hidden{ 
  display:none;
}

.embet-ig {
  display: flex;
  justify-content: center;
  margin-top: 80px;
  gap: 20px;
  flex-wrap: wrap;
}

.embed-container {
  border-radius: 20px;
  box-shadow: 0px 3px 10px 5px rgba(0, 0, 0, 0.305);
  padding: 20px;
  overflow: auto;
  max-width: 700px;
  
  width: 100%;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.embed-container:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
}

.embed-container h3 {
  font-size: 18px;
  margin-bottom: 16px;
  color: #333;
  font-weight: 600;
  text-align: center;
}

.styled-embed,
.tiktok-embed {
  width: 100% !important;
  border-radius: 12px;
  overflow: hidden;
}


#load-tiktok-embed {
  padding: 10px;
  width: 100%;
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  background-color: #d92e27;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.2s ease;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  text-align: center;
}

#load-tiktok-embed:hover {
  background-color: #070b68; /* Sedikit lebih gelap saat hover */
  transform: translateY(-2px); /* Efek angkat sedikit saat hover */
}

#load-tiktok-embed:active {
  background-color: #070b68; /* Warna lebih gelap saat tombol diklik */
  transform: translateY(2px); /* Efek tekan tombol */
}

#load-tiktok-embed:disabled {
  background-color: #ccc;
  cursor: not-allowed;
  transform: none;
}

.facility-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 24px;
  max-width: 1200px;
  margin: auto;
}

.facility-card {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.1);
  overflow: hidden;
  position: relative;
  transition: transform 0.3s, box-shadow 0.3s;
}

.facility-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 24px rgba(0,0,0,0.2);
}

.facility-image {
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
}

.facility-info {
  text-align: center;
  padding: 16px;
}

.facility-title {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: #333;
}

.view-icon {
  position: absolute;
  top: 10px;
  right: 10px;
  background: rgba(255, 255, 255, 0.85);
  padding: 8px;
  border-radius: 50%;
  font-size: 16px;
  cursor: pointer;
  transition: background 0.3s;
}

.view-icon:hover {
  background: #e0e0e0;
}

.lightbox {
  position: fixed;
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  top: 0; 
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.85);
  z-index: 99999;
  text-align: center;
  padding: 20px;
  overflow-y: auto;
}

.lightbox img {
  width: 100%;
  max-width: 800px;
  height: auto;
  border-radius: 12px;
}

.lightbox-title {
  color: white;
  font-size: 20px;
  margin: 20px 0 10px;
  padding: 0 10px;
  word-break: break-word;
}

.lightbox-controls {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 12px;
}

.lightbox-button {
  background: white;
  padding: 10px 16px;
  border-radius: 8px;
  border: none;
  font-weight: bold;
  cursor: pointer;
  transition: background 0.3s;
  font-size: 14px;
}

.lightbox-button:hover {
  background: #ddd;
}

.close-btn {
  position: absolute;
  top: 16px;
  right: 16px;
  background: #edaa03;
  color: white;
  border: none;
  font-size: 14px;
  padding: 6px 12px;
  border-radius: 6px;
  cursor: pointer;
}

body.no-scroll {
  overflow: hidden;
  pointer-events: none;
}

.lightbox {
  pointer-events: auto; 
}

/* Faq Style */
.faq-container {
  width: 80%;
  margin: 0 auto;
}

.faq-item {
  margin-bottom: 15px;
  border-radius: 5px;
  overflow: hidden;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.faq-question {
  background-color: #d92e27;
  color: #fff;
  padding: 16px 20px;
  font-weight: 600;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  transition: background 0.3s ease;
}

.faq-question:hover {
  background-color: #bb1e1e;
}

.faq-answer {
  background-color: #fff;
  color: #333;
  padding: 15px 20px;
  display: none;
  border: 1px solid #d62828;
  border-top: none;
  line-height: 1.6;
  border-radius: 0px 0px 20px 20px;
}

.faq-item.active .faq-answer {
  display: block;
}

.faq-item.active .faq-question i::before {
  content: "\f068"; 
}

.faq-question i {
  margin-left: 10px;
}

/* Ceo Style */
.container-ceo {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  gap: 40px;
  align-items: stretch; 
}

.photo-ceo {
  flex: 1;
  max-width: 500px;
}

.photo-ceo img {
  width: 100%;
  height: 100%;
  object-fit: cover; 
  border-radius: 12px;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
}

.message-ceo {
  flex: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  font-size: 1rem;
  line-height: 1.8;
  padding: 0 10px;
}

.message-ceo p {
  text-align: justify;
  margin: 0;
}

.container-ceo-1 {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  gap: 40px;
  align-items: stretch; 
}

/* .photo-ceo-1 {
  flex: 1;
  max-width: 400px;
  border-radius: 20px;
  display: flex;
  align-items: stretch;
}

.photo-ceo-1 img {
  width: 100%;
  object-fit: fill;
  border-radius: 12px;
  box-shadow: 2px 5px 10px 10px rgba(0, 0, 0, 0.1);
} */

.photo-ceo-1 {
  flex: 1;
  max-width: 400px;
  border-radius: 20px;
  display: flex;
  align-items: stretch;
  justify-content: center;
  background: linear-gradient(210deg, #d92e27, #f9f9f9); 
  padding: 5px; 
  box-shadow: 0 8px 20px rgba(42, 5, 255, 0.1);
}

.photo-ceo-1 img {
  width: 100%;
  object-fit: contain;
  border-radius: 12px;
  box-shadow: 2px 5px 10px rgba(0, 0, 0, 0.15);
}


.message-ceo-1 {
  flex: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  font-size: 1rem;
  line-height: 1.8;
  padding: 0 10px;
}

.message-ceo-1 .data1-1ceo{
  line-height: 1.9;
  text-align: justify;
  margin-bottom: 10px;
}



.signature-ceo {
  margin-top: 30px;
}

.signature h3 {
  margin: 0;
  color: #d62828;
  font-weight: 700;
  font-size: 1.2rem;
}

.signature-ceo p {
  font-weight: 500;
  color: #666;
  font-size: 0.95rem;
  margin-top: 5px;
}

/* Academik */
.section-academik-pesan {
  margin-top: 50px;
  max-width: 100%;
}

.block-academik {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;

  align-items: stretch; /* Ini penting */
}

.block-image-academik {
  flex: 1;
  max-width: 600px; 
}

.block-image-academik img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 20px;
  background: linear-gradient(210deg, #d92e27, #f9f9f9);  
  box-shadow: 0 5px 10px 5px rgba(0, 0, 0, 0.301);
}

.block-content-academik {
  flex: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
}


.block-content-academik h3 {
  color: #d62828;
  font-size: 1.5rem;
}

.block-content-academik .titleacademik{
  font-size: 15px;
  font-weight: 200;
  margin-bottom: 50px;
  color: #d62828;
}

.block-content-academik .dear{
  margin-bottom: 5px;
}

.block-content-academik .peace{
  margin-top: 0;
  margin-bottom: 10px;
}

.block-content-academik ol{
  margin-left: 20px;
  line-height: 1.5;
}

.block-content-academik ol li{
  padding-bottom: 10px;
}


.block-content-academik .kata-academik {
  text-align: justify;
  font-size: 1rem;
  margin-bottom: 10px;
  line-height: 1.6;
}

.block-content-academik .footer-kata {
  margin-top: 30px;
}

.block-content-academik .footer-kata p{
  margin-bottom: 5px;
}

.block-footer-academik {
  margin-top: 30px;
  font-size: 1rem;
  line-height: 1.7;
  color: #555;
  text-align: justify;
}

.block-footer-academik p{
  margin-bottom: 20px;
}

/* Scholl Profile */
.scroll-profile {
  width: 100%;  
}

.scroll-profile-1 {
  margin-top: 40px;
  width: 100%;  
}

.scroll-profile-1 p {
  margin-bottom: 20px;
  text-align: justify;
  line-height: 1.7;
  font-weight: 10;
}

.scroll-profile-1 strong{
  font-weight: 700;
}

.scroll-profile p {
  margin-bottom: 20px;
  text-align: justify;
  line-height: 1.7;
  font-weight: 10;
}

.scroll-profile .miring{
  font-style: italic;
}

.scroll-profile strong{
  font-weight: 700;
}

.scroll-profile ul {
  padding-left: 20px;
  margin: 20px 0;
  list-style-type: disc;
  color: #333;
}

.scroll-profile ul li {
  margin-bottom: 12px;
  line-height: 1.7;
}

.vision-mission {
  margin-top: 40px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 100%;
  gap: 30px;
}

.vision, .mission {
  flex: 1;
  background: #fff;
  transition: 0.3s ease;
  overflow: hidden;
  height: fit-content;
}

.vision:hover, .mission:hover {
  transform: translateY(-4px);
}

.vision h3, .mission h3 {
  border-left: 5px solid #d92e27;
  font-size: 1.5rem;
  padding: 10px;

}

.vision p{
  padding: 20px;
  line-height: 1.7;
}

.mission ul {
  padding: 10px 30px;
  list-style-type: disc;
  color: #d92e27;
  line-height: 1.7;
  text-align: justify;
}

.mission ul span{
  color: black;
}

.mission ul li {
  margin-bottom: 10px;
}

/* Why STJB */
.why-stjb {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
  margin-top: 30px;
}

.why-card {
  background-color: white;
  border-radius: 12px;
  padding: 20px;
  border: 1px solid black;
  box-shadow: 0 8px 16px rgba(0,0,0,0.05);
  transition: transform 0.3s ease;
}

.why-card:hover {
  transform: translateY(-5px);
}

.why-card h4 {
  margin-bottom: 10px;
  color: #d62828;
}

.why-card p {
  font-size: 0.95rem;
  line-height: 1.6;
}

.section-profile h2{
  color: #d62828;
  margin-top: 60px;
  font-size: 2.2rem;
  text-align: center;
  margin-top: 100px;
}

.image-container {
  width: 100%;
  height: 180px;
  overflow: hidden;
  border-radius: 8px;
  margin-bottom: 15px;
}

.image-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Exskul */
.why-stjb1 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
  margin-top: 30px;
}

.why-card1 {
  background-color: white;
  border-radius: 20px;

  box-shadow: 0 8px 16px rgba(0,0,0,0.05);
  transition: transform 0.3s ease;
  overflow: hidden;
}

.why-card1:hover {
  transform: translateY(-5px);
}

.why-card1 h4 {
  text-align: center;
  padding: 10px;
  background-color: #d62828;
  color: #ffffff;
}

.image-container1 {
  width: 100%;
  height: 250px;
  overflow: hidden;
}

.image-container1 img {
  width: 100%;
  height: 100%;
  object-fit: fill;
  display: block;
}


/* Exskul */
.why-stjb2 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(450px, 1fr));
  gap: 20px;
  margin-top: 30px;
}

.why-card2 {
  background-color: white;
  border-radius: 20px;

  box-shadow: 0 8px 16px rgba(0,0,0,0.05);
  transition: transform 0.3s ease;
  overflow: hidden;
}

.why-card2:hover {
  transform: translateY(-5px);
}

.why-card2 h4 {
  text-align: center;
  padding: 10px;
  background-color: #d62828;
  color: #ffffff;
}

.image-container2 {
  width: 100%;
  height: 250px;
  overflow: hidden;
}

.image-container2 img {
  width: 100%;
  height: 100%;
  object-fit: fill;
  display: block;
}

/* Form kontak tengah full width max 600px */
.contact-container {
  max-width: 100%;
}

.contact-info-map {
  display: flex;
  gap: 30px;
  justify-content: space-between;
  align-items: stretch; 
  flex-wrap: wrap;
}

.contact-info {
  flex: 1 1 10%;
  border: 2px solid #d92e27;
  background: #fff;
  border-radius: 20px;      
  min-width: 300px;
  overflow: hidden;
}

.contact-info h3 {
  background-color: #d92e27;
  margin-bottom: 20px;
  padding: 10px;
  text-align: center;
  color: #ffffff;
}

.info-list {
  list-style: none;
  padding: 0px 20px;
  line-height: 30px;
}

.info-list li {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
  font-size: 16px;
}

.info-list li i {
  color: #d92e27;
  margin-right: 20px;
  font-size: 18px;
  min-width: 24px;
  text-align: center;
}

.contact-map {
  flex: 1 1 50%;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
  min-width: 300px;
  overflow: hidden;
  border: 2px solid #d92e27;
}

.contact-map iframe {
  width: 100%;
  height: 350px;
  border: 0;
  border-radius: 0px;
  display: block;
}

.contact-form {
  background: #fff;
  margin-top: 100px;
  border-radius: 20px;
  border: 2px solid black;
  width: 100%;
  padding: 30px;
}

.contact-form h3 {
  margin-bottom: 20px;
  color: #d92e27;
  text-align: center;
  font-size: 25px;
}

.contact-form form {
  display: flex;
  flex-direction: column;
}

.contact-form input,
.contact-form textarea {
  margin-bottom: 20px;
  padding: 10px 20px;
  border: 1px solid #ccc;
  border-radius: 10px;
  font-size: 15px;
  resize: none;
}

.contact-form button {
  background-color: #d92e27;
  color: white;
  padding: 10px;
  font-size: 15px;
  border: none;
  border-radius: 20px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.contact-form button:hover {
  background-color: #b8231e;
}

.card-grid-apps {
  display: grid;
  grid-template-columns: repeat(3, 1fr); 
  gap: 25px;
  padding: 40px 20px;
}

.card-apps {
  display: block;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  border: 3px solid #000000;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.card-apps:hover {
  transform: translateY(-6px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}

.card-img-app {
  width: 100%;
  height: 250px;
  overflow: hidden;
}

.card-img-app img {
  width: 100%;
  height: 100%;
  object-fit: fill;
  display: block;
  transition: transform 0.3s ease;
}

.card-apps:hover .card-img-app img {
  transform: scale(1.05);
}

.halaman-isi-team{
  text-align: justify;
  padding: 0px 40px;
  margin-bottom: 50px;
  line-height: 1.5;
}

.halaman-kurikulum-tulisan {
  padding: 0 20px;
  margin-bottom: 50px;
}

.halaman-kurikulum-tulisan p {
  line-height: 1.6;
  margin-bottom: 20px;
  text-align: justify;
}

.halaman-buku {
  padding: 0 20px;    
}

.halaman-buku table {
  width: 100%;
  border-collapse: collapse;
}

.halaman-buku td {

  padding: 12px;
  border: 1px solid #000000;
}

.halaman-buku .nomor {
  text-align: center;
}

.halaman-buku .tahun {
  text-align: center;
}

.halaman-buku th {
  background-color: #d32f2f;
  color: #ffff;
  text-align: center;
  padding: 10px;
  border: 1px solid #000000;
}

.card-container-section-profile {
  margin-top: 70px;
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: center;
  padding: 0 20px;
}

.wrapper-section-profile {
  position: relative;
  display: inline-block;
}

.box-top-section-profile {
  position: absolute;
  top: -25px;
  left: 50%;
  transform: translateX(-50%);
  width: 100px;
  height: 50px;
  background-color: #d92e27;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 25px;
  border-radius: 10px;
  color: #ffff;
}

.box-bottom-section-profile {
  background-color: #ffffff;
  padding: 20px;
  width: 270px;
  color: #000000;
  text-align: left;
  border-radius: 20px;
  box-sizing: border-box;
  height: 220px;
  display: flex;
  border: 2px solid black;
  flex-direction: column;
  justify-content: space-between;
  transition: all 0.3s ease; /* animasi halus saat resize */
}

.box-bottom-section-profile p {
  line-height: 2;
  margin-top: 15px;
  word-wrap: break-word;
  overflow-wrap: break-word;
  text-align: left;
}

.box-bottom-section-profile span {
  color: #d92e27;
  font-weight: 900;
}

.box-bottom-section-profile span {
  color: #d92e27;
  font-weight: 900;
  font-style: bold;
}

.section-profile-card-container h1 {
  margin-top: 50px;
  text-align: center;
  padding: 10px;
  background-color: #070b68;
  border-radius: 50px;
  color: #ffff;
}

.halaman-curiculum-2 {
  display: flex;
  border-radius: 50px;
}

.halaman-gambar-curiculum {

  width: 30%;
  height: 50vh;
  border-radius: 50px 0px 0px 50px;
  overflow: hidden;
  
}

.halaman-gambar-curiculum img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.halaman-kotak-curiculum {
  background-color: #d92e27;
  width: 70%;
  height: 50vh;
  overflow: hidden;
  border-radius: 0px 50px 50px 0px;
  padding: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.halaman-kotak-curiculum img{
  width: 85%;
  height: 100%;
  object-fit: fill;
  object-position: center;
}

.curriculum-container{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
}

.curriculum-container i {
  font-size: 50px;
  color: #d92e27;
}

.curriculum-container .card {
  background-color: #f6b609;
  color: white;
  border-radius: 20px;
  width: 400px;
  overflow: hidden;
}

.curriculum-container .card-header {
  color: black;
  font-weight: 900;
  text-align: center;
  font-size: 20px;
  padding: 15px;
}

.curriculum-container .card-title {
  font-weight: bold;
  font-size: 20px;
  padding-top: 10px;
  margin-top: 10px;
  border-radius: 50px 50px 0px 0px;
  color: #ffff;
  background-color: #d92e27;
  margin-bottom: 0px;
}

.curriculum-container .card-title1 {
  font-size: 20px;
  margin-top: 10px;
  border-radius: 50px 50px 0px 0px;
  color: #ffff;
  height: 5vh;
  background-color: #d92e27;
  margin-bottom: 0px;
}

.curriculum-container .halaman-ul{
  background-color: #d92e27;
  padding-top: 20px;
  border-radius: 0px 0px 0px 0px;
}

.curriculum-container .card .halaman-ul ul {
  text-align: left;
  padding-right: 15px;
  margin-left: 40px;
  list-style: disc;
  padding-bottom: 20px;
}

.curriculum-container .card .halaman-ul ul li {
  font-size: 16px;
  line-height: 1.5;
  padding-bottom: 10px;
}

.kurikulum-section-5 {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  align-items: flex-start;
}

.kurikulum-text {
  flex: 1 1 55%;
}

.kurikulum-image {
  flex: 1 1 40%;
  display: flex;

  align-items: center;
  min-width: 300px;
}

.kurikulum-image img {
  width: 100%;
  max-width: 400px;
  height: auto;
  object-fit: contain;
  display: block;
}

.section-title {
  font-size: 26px;
  font-weight: bold;
  color: #c00;
  margin-bottom: 10px;
  margin-left: 20px;
}

.sub-title {
  margin-top: 20px;
  font-size: 20px;
  font-weight: 600;
  margin-left: 20px;
  margin-bottom: 10px;
}

.kurikulum-list {
  margin-left: 40px;
  margin-top: 10px;
  padding-left: 20px;
}

.kurikulum-list li {
  font-size: 18px;
  line-height: 1.6;
  margin-bottom: 10px;
}

.halaman-judul-academic{
  margin-top: 100px;
}

.halaman-judul-academic h1{
  padding: 10px;
  text-align: center;
  background-color: #070b68;
  border-radius: 50px;
  color: #fff;
}

.halaman-judul-academic1{
  margin-top: 50px;
}

.halaman-judul-academic1 h1{
  color: #d92e27;
  font-size: 25px;
  border-left: 5px solid #d92e27;
  padding-left: 20px;
  margin-left: 25px;
}

.halaman-judul-academic8{
  margin-top: 100px;
}

.halaman-judul-academic8 h1{
  color: #d92e27;
  font-size: 30px;
  text-align: center;
  font-weight: 900;
  margin-bottom: 10px;
}

.halaman-judul-academic8 p{
  color: #d92e27;
  font-size: 20px;
  text-align: center; 
  margin-bottom: 50px;
}

.halaman-tulisna-academic-aja{
  margin-top: 20px;
}

.halaman-tulisna-academic-aja p{
  font-size: 18px;
  line-height: 1.9;
  text-align: justify;
}

.halaman-tulisna-academic-aja1{
  margin-top: 20px;
  padding-left: 30px;
}

.halaman-tulisna-academic-aja1 p{
  font-size: 18px;
  line-height: 1.9;
  text-align: justify;
  margin-bottom: 10px;
}

.halaman-tulisna-academic-aja1 ul {
  font-size: 18px;
}

.halaman-tulisna-academic-aja1 ul li{
  list-style: none;
  line-height: 2;
}

.formation-section {
  background: #fff;
  padding: 40px 20px;
  font-family: Arial, sans-serif;
  color: #fff;
}

.formation-header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
  text-align: center;
  font-weight: bold;
}

.formation-title {
  flex: 1;
  padding: 20px;
  font-size: 18px;
  color: #fff;
  clip-path: polygon(0 0, 95% 0, 100% 50%, 95% 100%, 0 100%);
}

.formation-title span {
  display: block;
  font-size: 14px;
  font-weight: normal;
  margin-top: 5px;
}

.literacy {
  background: #d92e27;
}

.values {
  background: #940019;
}

.service {
  background: #d92e27;
}

.formation-content {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
}

.formation-column {
  flex: 1;
  min-width: 300px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.box {
  background: #d92e27;
  padding: 10px;
  font-size: 16px;
  border-radius: 4px;
  line-height: 1.5;
  text-align: center;
}

.box5 {
  background: #d92e27;
  padding: 10px;
  font-size: 16px;
  border-radius: 4px;
  line-height: 1.5;
  text-align: justify;
}

.box2 {
  background: #940019;
  padding: 10px;
  font-size: 16px;
  border-radius: 4px;
  line-height: 1.5;
  text-align: center;
}

.box3 {
  border: 1px solid #940019;
  font-size: 16px;
  border-radius: 5px;
  line-height: 1.5;
}

.box3 p{
  background-color: #d92e27;
  padding: 10px;
  margin-bottom: 10px;
  text-align: center;
}

.box3 ul {
  padding-left: 40px;
  margin: 0;
  color: #d92e27;
}

.box3 li {
  margin-bottom: 10px;
}

.box7 {
  border: 1px solid #940019;
  font-size: 16px;
  border-radius: 5px;
  line-height: 1.5;
}

.box-scd {
  background: linear-gradient(90deg, #940019 0%, #d92e27 100%);
  font-size: 16px;
  border-radius: 5px;
  line-height: 1.5;
}

.box-scd p{
  padding: 10px;
  text-align: center;
  color: #ffffff;
}

.box7 p{
  padding: 10px;
  text-align: center;
  color: #d92e27;
}

.box span {
  font-size: 13px;
  color: #fdd;
}

.box2 span {
  font-size: 13px;
  color: #fdd;
}

.values-box {
  background: #d92e27;
}

.service-box {
  background: #940019;
}

.box ul {
  padding-left: 20px;
  margin: 0;
}

.box li {
  margin-bottom: 10px;
}

.box5 ul {
  padding-left: 35px;
  margin: 0;
}

.box5 li {
  margin-bottom: 10px;
}

.bg-1, .bg-2, .bg-3 {
  flex: 1;
  overflow: hidden;
}

.bg-1 {
  background-color: #940019;
}

.bg-2 {
  background-color: #d92e27;
}

.bg-4, .bg-5, .bg-6 {
  flex: 1;
  overflow: hidden;
}

.bg-4 {
  background-color: #edaa03;
}

.bg-5 {
  background-color: #d92e27;
}

.secnd {
  background: #d92e27;
}

.jc {
  background: #edaa03;
}

.curriculum-container11{
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 30px;
}

.curriculum-container11 .card {
  background-color: #d92e27;
  border-radius: 20px;
  width: 450px;
  overflow: hidden;
  border: 1px solid black;
}

.curriculum-container11 .card-header {
  color: rgb(255, 255, 255);
  font-weight: 900;
  text-align: center;
  font-size: 20px;
  padding: 15px;
  background-color: #d92e27;
}

.curriculum-container11 .card-title {
  font-weight: bold;
  font-size: 20px;
  padding-top: 10px;
  margin-top: 10px;
  border-radius: 50px 50px 0px 0px;
  color: #ffff;
  background-color: #ffffff;
  margin-bottom: 0px;
}

.curriculum-container11 .card-title1 {
  font-size: 20px;
  margin-top: 10px;
  border-radius: 50px 50px 0px 0px;
  color: #ffff;
  height: 5vh;
  background-color: #ffffff;
  margin-bottom: 0px;
}

.curriculum-container11 .halaman-ul{
  background-color: #ffffff;
  padding-top: 0px;
  border-radius: 0px 0px 0px 0px;
}

.curriculum-container11 .card .halaman-ul ul {
  text-align: left;
  padding-right: 15px;
  margin-left: 40px;
  list-style: disc;
  padding-bottom: 20px;
  color: #d92e27;
}

.curriculum-container11 .card .halaman-ul ul li {
  font-size: 16px;
  line-height: 1.5;
  padding-bottom: 10px;
}

.curriculum-container11 .halaman-ul .sub-list {
  list-style-type: none;
  margin-left: 20px;
  color: #d92e27;
  padding-left: 0;
}

.curriculum-container11 .halaman-ul .sub-list li::before {
  content: "-";
  color: #d92e27; /* warna bullet */
  display: inline-block;
  width: 1em;
  margin-left: -1em;
  font-weight: bold;
}

.curriculum-container11 .halaman-ul .sub-list li {
  font-size: 15px;
  padding-bottom: 8px;
  line-height: 1.4;
}


.halaman-head-karir {
  display: flex;
  justify-content: center;
}

.search-form {
  display: flex;
  gap: 0;
  width: 100%;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid #000000;
}

.search-input {
  flex: 2;
  padding: 10px 15px;
  border: none;
  outline: none;
  font-size: 14px;
}

.search-select {
  flex: 1;
  border: none;
  border-left: 1px solid #ddd;
  padding: 10px;
  font-size: 14px;
  background-color: #fff;
  cursor: pointer;
  outline: none;
}

.search-button {
  background-color: #007bff;
  color: white;
  padding: 10px 20px;
  font-size: 14px;
  border: none;
  cursor: pointer;
  font-weight: bold;
}

.search-button:hover {
  background-color: #0056b3;
}

.card-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  padding: 20px;
}

.job-card {
  background: #fff;
  border-radius: 10px;
  border: 1px solid #ddd;
  padding: 20px;
  display: flex;
  max-width: 100%;
  flex-direction: column;
  align-items: flex-start;
}

.logo-social {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
}

.company-logo {
  max-height: 100px;
  max-width: 100%;
}

.social-icons {
  margin-top: -10px;
  margin-right: -15px;
  display: flex;
}

.social-icons a {
  font-size: 20px;
  color: #000000;
  transition: color 0.2s;
}

.social-icons a.whatsapp:hover {
  color: #25D366;
}

.social-icons a.instagram:hover {
  color: #E1306C;
}

.social-icons a.youtube:hover {
  color: #FF0000;
}

.judul-job{
  width: 100%;
  padding: 10px;
  border: 1px solid black;
  border-radius: 20px;
  margin-bottom: 10px;
}

.judul-job h3 {
  text-align: center;
  font-size: 18px;
}

.company-aja{
  width: 100%;
  margin-bottom: 10px;
}

.company-aja p {
  color: #d92e27;
  text-align: center;
  margin-bottom: 20px;
}

.info {
  font-size: 14px;
  color: #555; 
}

.info i{
  margin-right: 10px;
  margin-bottom: 10px;
}

.card-buttons {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin-top: auto;
  gap: 10px;
  margin-top: 10px;
}

.btn-detail {
  text-decoration: none;
  text-align: center;
  font-size: 15px;
  color: black;
  flex: 1;
  padding: 8px;
  border-radius: 8px;
  font-weight: bold;
  border: 1px solid #ddd;
  cursor: pointer;
}

.btn-apply {
  text-decoration: none;
  text-align: center;
  font-size: 15px;
  color: black;
  flex: 1;
  padding: 8px;
  border-radius: 8px;
  font-weight: bold;
  border: 1px solid #ddd;
  cursor: pointer;
}

.btn-detail {
  background: #fff;
}

.btn-apply {
  background: #070b68;
  color: white;
  border: none;
}

.btn-apply:hover {
    background: #d92e27;
}

/* Resolusi 320px */
@media (max-width: 500px) {

  /* Header Default */
  /* Start */
  header {
    padding: 10px;
    margin: 10px;
    border: 1px solid #d92e27;
    border-radius: 5px;
    position: absolute;
    width: calc(100% - 20px);
    overflow: hidden;
  } 

  .halaman-ey{
    height: 20vh;
  }


  .logo {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin-left: 0px;
  }

  .logo .logo1 {
    height: 30px;
  }

  .logo .logo2 {
    height: 20px;
  }

  .container .navbar{
    display: none;
  }

  .menu-toggle {
    display: block;
    font-size: 15px;
    cursor: pointer;
    color: #000;
    margin-right: 10px;
  }

  .container-scroll .navbar-scroll{
    display: none;
  }

  .header-scroll {
    padding: 5px;
  }

  .logo-scroll {
    gap: 10px;
    margin-left: 10px;
  }

  .logo1-scroll {
    height: 25px;
  }

  .logo2-scroll {
    height: 15px;
  }

  .konten-flex {
    flex-direction: column;
    width: 100%;
    height: fit-content; 
    padding: 20px;
    margin-bottom: 50px;
  }

  .halaman-tulisan h1 {
    font-size: 20px;
    text-align: center;
    margin-bottom: 40px;
  }

  .halaman-tulisan p{
    font-size: 13px;
    margin-bottom: 15px;
    line-height: 15px;
    text-align: justify;
  }

  #tulisanaja{
    margin-bottom: 30px;
  }

  .button-register {
    display: block;
    width: 100%;
    padding: 8px 50px;
    border: 3px solid #fff;
    border-radius: 20px;
    color: #fff;
    font-size: 13px;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
    background-color: transparent;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
  }

  .halaman-bawah {
    padding: 20px;
    height: fit-content; 
  }

  .halaman-banner{
    height: fit-content;
  }

  .slider {
    height: 30vh;          
  }

  .item img {
    object-fit: fill;
    border-radius: 0px;
  }

  .item.prev {
    opacity: 0.5;
    pointer-events: none;
    transform: translateX(calc(-100% - 50%)) scale(0.8) rotateY(15deg);
    z-index: 5;
    filter: blur(6px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.15);
  }

  #prev, #next {
    font-size: 20px;
  }

  .halaman-about-us {
    flex-direction: column;
    align-items: center;
    gap: 20px;
    margin-top: 100px;
  }

  .halamangambar,
  .halaman-tulisan-gambar {
    width: 100%;
  }

  .halamangambar img {
    height: auto;
    border-radius: 8px;
  }

  .halaman-tulisan-gambar h1 {
    font-size: 25px;
    text-align: center;
  }

  .halaman-tulisan-gambar p {
    font-size: 13px;
    text-align: justify;
  }

  .liatdetail {
    padding: 10px 30px;
    font-size: 14px;
    display: block;
    margin: 0 auto;
    text-align: center;
  }

  .halaman-profile h1{
    font-size: 25px;
    margin-bottom: 20px;
    padding-bottom: 10px;
    text-align: left;
  }

  .halaman-profile p{
    font-size: 13px;
  }

  .halaman-profile .buttonprofile{
    padding: 10px;
    width: 100%;
    text-align: center;
  }

  .halaman-judul-event{
    font-size: 13px;
  }

  .halaman-judul-event .seemore{
    font-size: 13px;
  }

  .event-gallery .pembuka{
    text-align: center;
    margin-bottom: 20px;
  }

  .event-gallery p{
    font-size: 13px;
  }

  .event-gallery h1{
    font-size: 25px;
  }

  .card-container {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    justify-content:space-between;
    margin-top: 30px;
  }

  .magazine-section {
    margin-top: 50px;
  }

  .magazine-section {
    margin-top: 100px;
  }

  .magazine-header h2 {
    font-size: 25px;
  }

  .magazine-header p {
    font-size: 15px;
    text-align: center;
  }

  .see-more-button {
    width: 100%;
    padding: 10px;
  }

  .kurikulum-section {
    margin-top: 100px;
  }

  .main-title {
    font-size: 25px;
  }

  .subtitles {
    margin-bottom: 20px;
    padding: 0;
  }

  .subtitles h2 {
    font-size: 13px;
    color: #000000;
    line-height: 1.4;
  }

  .subtitles p {
    font-size: 14px;
    margin-top: 30px;
    line-height: 1.4;
  }

  .card-container-modul {
    flex-direction: column;
  }

  .card-modul {
    width: 100%;
  }

  .review-section h1{
    font-size: 25px;
  }

  .footer {
    padding: 20px 15px;
    text-align: center;
  }

  .footer-top {
    flex-direction: column;
    align-items: center;
    gap: 30px;
    padding-bottom: 30px;
  }

  .footer-brand {
    margin-right: 0;
  }

  .logo-group {
    gap: 10px;
    justify-content: center;
  }

  .logos1 {
    width: 140px;
  }

  .logos {
    width: 80px;
  }

  .footer-brand h3 {
    font-size: 20px;
  }

  .footer-brand p {
    font-size: 13px;
    text-align: center;
  }

  .footer-contact {
    gap: 10px;
    font-size: 14px;
  }

  .footer-links, .footer-social {
    min-width: 100%;
  }

  .footer-links h4,
  .footer-social h4 {
    font-size: 16px;
    margin-bottom: 10px;
  }

  .footer-links ul li a,
  .footer-contact a,
  .contact-item p {
    font-size: 14px;
  }

  .social-icons {
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
  }

  .social-icons a {
    font-size: 20px;
    margin-right: 10px;
  }

  .footer-logos {
    position: static;
    justify-content: center;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 20px;
  }  

  .footer-logos img {
    height: 40px;
  }

  .footer-bottom {
    font-size: 12px;
    margin-top: 15px;
  }

  .section-title-ey .faqh1 {
    font-size: 25px;
    color: #d62828;
  }

  .section-title-ey h1 {
    font-size: 25px;
  }

  .faq-container {
    width: 100%;
  }

  .faq-question {
    font-size: 13px;
    padding: 10px;
  }

  .faq-answer {
    padding: 10px;
    font-size: 13px;
  }

  .halaman-judul-ey {
    font-size: 12px;
  }

  .contact-info,
  .contact-map {
    min-width: 100%;
    flex: 1 1 100%;
  }

  .contact-form {
    margin-top: 50px;
    padding: 20px;
  }

  .contact-form h3 {
    font-size: 20px;
  }

  .contact-form input,
  .contact-form textarea {
    font-size: 14px;
    padding: 8px 14px;
  }

  .contact-form button {
    font-size: 14px;
    padding: 8px;
  }

  .info-list li {
    font-size: 14px;
  }

  .info-list li i {
    font-size: 16px;
    margin-right: 12px;
  }

  .card-grid-apps {
    grid-template-columns: 1fr; 
    padding: 20px 10px;
  }

  .card-img-app {
    height: 180px;
  }

  .card-title-app {
    font-size: 15px;
    padding: 10px;
  }

  .container-ceo {
    flex-direction: column;
    gap: 20px;
  }

  .message-ceo {
    padding: 0;
    font-size: 13px;
    line-height: 1.6;
  }

  .signature h3 {
    font-size: 1rem;
  }

  .signature-ceo p {
    font-size: 0.9rem;
  }

  .section-academik-pesan {
    margin-top: 50px;
    max-width: 100%;
  }

  .block-academik {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    flex-direction: column;
    align-items: flex-start;
  }

  .block-image-academik {
    flex: 1;
    max-width: 600px;
  }

  .block-image-academik img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
    box-shadow: 0 8px 16px rgba(0,0,0,0.1);
  }

  .block-content-academik {
    flex: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .block-content-academik h3 {
    color: #d62828;
    margin-bottom: 30px;
    font-size: 1.5rem;
  }

  .block-content-academik p {
    text-align: justify;
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 20px;
  }

  .block-footer-academik {
    margin-top: 30px;
    font-size: 1rem;
    line-height: 1.7;
    color: #555;
    text-align: justify;
  }

  .block-content-academik h3{
    font-size: 20px;
  }

  .block-content-academik p{
    font-size: 13px;
  }

  .block-footer-academik p{
    font-size: 13px;
  }

  .scroll-profile p{
    font-size: 13px;
  }

  .scroll-profile ul li{
    font-size: 13px;
  }

  .scroll-profile-1 p{
    font-size: 13px;
  }

  .vision h3{
    font-size: 20px;
  }

  .vision p{
    font-size: 13px;
    text-align: justify;
  }

  .mission h3{
    font-size: 20px;
  }

  .mission ul li{
    font-size: 13px;
  }

  .vision-mission {
    margin-top: 40px;
    flex-direction: column;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 100%;
    gap: 30px;
  }

  .section-profile h2{
    font-size: 25px;
  }

  .why-card h4{
    font-size: 18px;
  }

  .why-card p{
    font-size: 13px;
  }

  .section-title-ey-1 h1{
    font-size: 25px;
  }

  .big-card {
    flex-direction: column;
    height: auto;
    max-width: 100%;
  }

  .halamaan-orang {
    height: 25vh;
    width: 100%;
    justify-content: center;

  }

  .halamaan-orang img {
    width: 100%;
    height: auto;
    object-fit: contain;
    border-radius: 0;
    object-position: top;
  }

  .right-info {
    width: 100%;
    padding: 0;
  }

  .label-jabatan {
    width: 100%;
    font-size: 16px;
    padding: 8px;
    border-radius: 0px;
    border-top: 2px solid black;
    border-bottom: 2px solid black;
    border-left: 0px;
    border-right: 0px;
  }

  .nama-orang {
    margin-top: 10px;
    font-size: 1.1rem;
    padding-bottom: 8px;
  }

  .why-stjb2 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    margin-top: 30px;
  }

  
}

/* Resolusi 320px */
@media (max-width: 800px) {

  /* Header Default */
  /* Start */
  header {
    padding: 10px;
    margin: 10px;
    border: 1px solid #edaa03;
    border-radius: 5px;
    position: absolute;
    width: calc(100% - 20px);
    overflow: hidden;
  } 

  .halaman-ey{
    background-image: url(../img/stjbs_bg.png);
    width: 100%;
    height: 30vh;
    background-size: cover;
  }

  .logo {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin-left: 0px;
  }

  .logo .logo1 {
    height: 30px;
  }

  .logo .logo2 {
    height: 20px;
  }

  .container .navbar{
    display: none;
  }

  .menu-toggle {
    display: block;
    font-size: 20px;
    cursor: pointer;
    color: #000;
    margin-right: 10px;
  }

  .container-scroll .navbar-scroll{
    display: none;
  }

  .header-scroll {
    padding: 5px;
  }

  .logo-scroll {
    gap: 10px;
    margin-left: 10px;
  }

  .logo1-scroll {
    height: 40px;
  }

  .logo2-scroll {
    height: 30px;
  }

  .photo-ceo {
    flex: 0;
    max-width: 60%;
    margin: 0 auto;
    height: 30vh;
    max-height:  80vh;
    border-radius: 20px;
    display: flex;
    align-items: stretch;
  }

  .konten-flex {
    flex-direction: column;
    width: 100%;
    height: fit-content; 
    padding: 20px;
    margin-bottom: 50px;
  }

  .halaman-tulisan h1 {
    font-size: 30px;
    text-align: center;
    margin-bottom: 40px;
  }

  .halaman-tulisan p{
    font-size: 15px;
    margin-bottom: 15px;
    line-height: 15px;
    text-align: justify;
  }

  #tulisanaja{
    margin-bottom: 30px;
  }

  .button-register {
    display: block;
    width: 100%;
    padding: 8px 50px;
    border: 3px solid #fff;
    border-radius: 20px;
    color: #fff;
    font-size: 15px;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
    background-color: transparent;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
  }

  .halaman-bawah {
    padding: 20px;
    height: fit-content; 
  }

  .halaman-banner{
    height: fit-content;
  }

  .slider {
    height: 30vh;          
  }

  .item img {
    object-fit: fill;
    border-radius: 0px;
  }

  .item.prev {
    opacity: 0.5;
    pointer-events: none;
    transform: translateX(calc(-100% - 50%)) scale(0.8) rotateY(15deg);
    z-index: 5;
    filter: blur(6px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.15);
  }

  #prev, #next {
    font-size: 25px;
  }

  .halaman-about-us {
    flex-direction: column;
    align-items: center;
    gap: 20px;
    margin-top: 100px;
  }

  .halamangambar,
  .halaman-tulisan-gambar {
    width: 100%;
  }

  .halamangambar img {
    height: auto;
    border-radius: 8px;
  }

  .halaman-tulisan-gambar h1 {
    font-size: 30px;
    text-align: center;
  }

  .halaman-tulisan-gambar p {
    font-size: 15px;
    text-align: justify;
  }

  .liatdetail {
    padding: 10px 30px;
    font-size: 15px;
    display: block;
    margin: 0 auto;
    text-align: center;
  }

  .halaman-profile h1{
    font-size: 30px;
    margin-bottom: 20px;
    padding-bottom: 10px;
  }

  .halaman-profile p{
    font-size: 15px;
  }

  .halaman-profile .buttonprofile{
    padding: 10px;
    width: 100%;
    text-align: center;
  }

  .halaman-judul-event{
    font-size: 15px;
  }

  .halaman-judul-event .seemore{
    font-size: 15px;
  }

  .event-gallery .pembuka{
    text-align: center;
    margin-bottom: 20px;
  }

  .event-gallery p{
    font-size: 15px;
  }

  .event-gallery h1{
    font-size: 30px;
  }

  .card-container {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    justify-content:space-between;
    margin-top: 30px;
  }

  .card-event{
    width: 100%;
  }

  .magazine-section {
    margin-top: 50px;
  }

  .magazine-section {
    margin-top: 100px;
  }

  .magazine-header h2 {
    font-size: 30px;
  }

  .magazine-header p {
    font-size: 15px;
    text-align: center;
  }

  .see-more-button {
    width: 100%;
    padding: 10px;
  }

  .kurikulum-section {
    margin-top: 100px;
  }

  .main-title {
    font-size: 30px;
  }

  .subtitles {
    margin-bottom: 20px;
    padding: 0;
  }

  .subtitles h2 {
    font-size: 15px;
    color: #000000;
    line-height: 1.4;
  }

  .subtitles p {
    font-size: 15px;
    margin-top: 30px;
    line-height: 1.4;
  }

  .card-container-modul {
    flex-direction: column;
  }

  .card-modul {
    width: 100%;
  }

  .review-section h1{
    font-size: 30px;
  }

  .section-title-ey .faqh1 {
    font-size: 30px;
    color: #d62828;
  }

  .section-title-ey h1 {
    font-size: 30px;
  }

  .faq-container {
    width: 100%;
  }

  .faq-question {
    font-size: 15px;
    padding: 10px;
  }

  .faq-answer {
    padding: 10px;
    font-size: 15px;
  }

  .halaman-judul-ey {
    font-size: 13px;
  }

  .contact-info,
  .contact-map {
    min-width: 100%;
    flex: 1 1 100%;
  }

  .contact-form {
    margin-top: 50px;
    padding: 20px;
  }

  .contact-form h3 {
    font-size: 30px;
  }

  .contact-form input,
  .contact-form textarea {
    font-size: 15px;
    padding: 8px 14px;
  }

  .contact-form button {
    font-size: 15px;
    padding: 8px;
  }

  .info-list li {
    font-size: 15px;
  }

  .info-list li i {
    font-size: 16px;
    margin-right: 12px;
  }

  .card-grid-apps {
    grid-template-columns: 1fr; 
    padding: 20px 10px;
  }

  .card-img-app {
    height: 180px;
  }

  .card-title-app {
    font-size: 15px;
    padding: 10px;
  }

  .container-ceo {
    flex-direction: column;
    gap: 20px;
  }

  .message-ceo {
    padding: 0;
    font-size: 15px;
    line-height: 1.6;
  }

  .signature h3 {
    font-size: 1rem;
  }

  .signature-ceo p {
    font-size: 0.9rem;
  }

  .section-academik-pesan {
    margin-top: 50px;
    max-width: 100%;
  }

  .block-academik {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    flex-direction: column;
    align-items: flex-start;
  }

  .block-image-academik {
    flex: 1;
    max-width: 600px;
  }

  .block-image-academik img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
    box-shadow: 0 8px 16px rgba(0,0,0,0.1);
  }

  .block-content-academik {
    flex: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .block-content-academik h3 {
    color: #d62828;
    margin-bottom: 30px;
    font-size: 1.5rem;
  }

  .block-content-academik p {
    text-align: justify;
    font-size: 1rem;
    line-height: 1.6;
  }

  .block-footer-academik {
    margin-top: 30px;
    font-size: 1rem;
    line-height: 1.7;
    color: #555;
    text-align: justify;
  }

  .block-content-academik h3{
    font-size: 30px;
  }

  .block-content-academik p{
    font-size: 15px;
  }

  .block-footer-academik p{
    font-size: 15px;
  }

  .scroll-profile p{
    font-size: 15px;
  }

  .scroll-profile ul li{
    font-size: 15px;
  }

  .scroll-profile-1 p{
    font-size: 15px;
  }

  .vision h3{
    font-size: 20px;
  }

  .vision p{
    font-size: 15px;
    text-align: justify;
  }

  .mission h3{
    font-size: 20px;
  }

  .mission ul li{
    font-size: 15px;
  }

  .vision-mission {
    margin-top: 40px;
    flex-direction: column;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 100%;
    gap: 30px;
  }

  .section-profile h2{
    font-size: 30px;
  }

  .why-card h4{
    font-size: 18px;
  }

  .why-card p{
    font-size: 13px;
  }

  .section-title-ey-1 h1{
    font-size: 25px;
  }

  .big-card {
    flex-direction: column;
    height: auto;
    max-width: 60%;
  }

  .label-jabatan{
    background-color: #d92e27;
    color: #ffff;
  }

  .halamaan-orang {
    height: 25vh;
    width: 100%;
    justify-content: center;

  }

  .halamaan-orang img {
    width: 100%;
    height: auto;
    object-fit: contain;
    border-radius: 0;
    object-position: center;
  }

  .right-info {
    width: 100%;
    padding: 0;
  }

  .label-jabatan {
    width: 100%;
    font-size: 16px;
    padding: 8px;
    border-radius: 0px;
    border-top: 2px solid black;
    border-bottom: 2px solid black;
    border-left: 0px;
    border-right: 0px;
  }

  .nama-orang {
    margin-top: 10px;
    font-size: 1.1rem;
    padding-bottom: 8px;
  }

  .halaman-buku table, .halaman-buku thead, .halaman-buku tbody, .halaman-buku th, .halaman-buku td, .halaman-buku tr {
    display: block;
  }

  .halaman-buku thead {
    display: none;
  }

  .halaman-buku tr {
    margin-bottom: 15px;
    border: 1px solid #000000;
    border-radius: 8px;
    padding: 10px;
    background-color: #fff;
  }

  .halaman-buku td {
    padding-left: 50%;
    position: relative;
    text-align: center;
    border: none;
    border-bottom: 1px solid #eee;
  }

  .halaman-buku td::before {
    content: attr(data-label);
    position: absolute;
    left: 10px;
    top: 12px;
    font-weight: bold;
    white-space: nowrap;
  }

  .curriculum-container{
    flex-direction: column;
    gap: 30px;
  }

  .kurikulum-section-5 {
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  .section-title-ey h1 {
    border-left: 5px solid #d92e27;
    padding-left: 20px;
    font-size: 25px;
    color: #d62828;
  }

  .curriculum-container {
    flex-direction: column;
  }

  .curriculum-container .card {
    background-color: #f6b609;
    color: white;
    border-radius: 20px;
    width: 100%;
    overflow: hidden;
  }

  .curriculum-container11{
    flex-direction: column;
  }

  .curriculum-container11 .card {
    width: 100%;
  }

  .photo-ceo-1 {
    flex: 0;
    max-width: 60%;
    margin: 0 auto;
    height: 30vh;
    max-height:  80vh;
    border-radius: 20px;
    display: flex;
    align-items: stretch;
  }
}

@media (max-width: 1024px) {

  .formation-header {
    flex-direction: column;
    align-items: center;
    gap: 15px;
  }

  .formation-title {
    width: 100%;
    clip-path: none;
    border-radius: 10px;
  }

  .bg-1, .bg-2, .bg-3 {
    width: 100%;
  }

  .logo {
    margin-left: 10px;
  }

  .navbar .nav-links {
    gap: 10px;
  }

  .navbar .nav-links li a {
    font-size: 12px;
    padding: 5px;
  }

  .dropdown-menu {
    width: 170px;
  }

  .dropdown-submenu {
    padding: 10px;
    min-width: 100px;
  }

  .logo-scroll {
    margin-left: 10px;
  }

  .navbar-scroll .nav-links-scroll a {
    font-size: 13px;
    padding: 5px;
  }

  .dropdown-menu-scroll {
    width: 160px;
  }

  .konten-flex {
    flex-direction: column;
    width: 100%;
    height: fit-content; 
    padding: 20px;
    margin-bottom: 50px;
  }

  .halaman-tulisan h1 {
    font-size: 40px;
    text-align: center;
    margin-bottom: 40px;
  }

  .halaman-tulisan p{
    font-size: 20px;
    margin-bottom: 15px;
    line-height: 30px;
    text-align: center;
  }

  #tulisanaja{
    margin-bottom: 30px;
  }

  .button-register {
    display: block;
    width: 100%;
    padding: 8px 50px;
    border: 3px solid #fff;
    border-radius: 20px;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
    background-color: transparent;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
  }

  .halaman-about-us {
    display: flex;
    gap: 40px;
    width: 100%;         
    margin-top: 100px;
    box-sizing: border-box;
    align-items: stretch; 
  }

  .card-event {
    width: 100%;
  }

  .embet-ig {
    display: flex;
    justify-content: space-between;
    margin-top: 80px;
    gap: 20px;
    flex-wrap: wrap;
  }

  .embed-container {
    border-radius: 20px;
    border: 1px solid black;
    padding: 20px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
    overflow: auto;
    max-width: 100%;
    height: fit-content;
    width: 100%;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  }

  .container-ceo-1 {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    width: 100%;
    gap: 40px;
    align-items: stretch; 
  }
}

/* Resolusi 320px */
@media (max-width: 1300px) {

  /* Header Default */
  /* Start */
  header {
    padding: 10px;
    margin: 10px;
    border: 1px solid #edaa03;
    border-radius: 5px;
    position: absolute;
    width: calc(100% - 20px);
    overflow: hidden;
  } 

  .logo {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin-left: 0px;
  }

  .logo .logo1 {
    height: 30px;
  }

  .logo .logo2 {
    height: 20px;
  }

  .container .navbar{
    display: none;
  }

  .menu-toggle {
    display: block;
    font-size: 20px;
    cursor: pointer;
    color: #000;
    margin-right: 10px;
  }

  .container-scroll .navbar-scroll{
    display: none;
  }

  .header-scroll {
    padding: 5px;
  }

  .logo-scroll {
    gap: 10px;
    margin-left: 10px;
  }

  .logo1-scroll {
    height: 40px;
  }

  .logo2-scroll {
    height: 30px;
  }
}

@media (max-width: 1500px) {
  .card-container-section-profile {
    gap: 10px;
  }

  .card-container {
    gap: 40px;
  }

  .embet-ig {
    display: flex;
    justify-content: center;
    margin-top: 80px;
    gap: 20px;
  }

.embed-container {
  border-radius: 20px;
  box-shadow: 0px 3px 10px 5px rgba(0, 0, 0, 0.305);
  padding: 20px;
  overflow: auto;
  max-width: 650px;
  
  width: 100%;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
}

@media (max-width: 1470px) {
  .card-container-section-profile {
    gap: 50px;
  }
}

@media (max-width: 340px) {
  .formation-content {
    overflow: hidden;
    margin-top: 0px;
    flex-direction: column;
    align-items: center;
    padding: 0;
    gap: 20px;
  }

  .formation-column {
    width: 100%;
    min-width: unset;
  }

  .box3 {
    width: 100%;
    font-size: 13px; 
    line-height: 1.4;
  }

  .box3 p {
    font-size: 15px;
    padding: 8px;
  }

  .box3 ul {
    padding-left: 30px; 
  }

  .box3 li {
    margin-bottom: 6px;
  }
}