@import url('https://fonts.googleapis.com/css?family=Roboto:400,500&display=swap');
@import url('https://fonts.googleapis.com/css?family=Courgette&display=swap');
@import url('https://fonts.googleapis.com/css?family=Playfair+Display&display=swap');

html {
  overflow-x: hidden;
}

body {
  overflow-x: hidden;
  padding-top: 90px;
}

.navbar .navbar-nav .nav-item .nav-link {
	font-family: 'Roboto';
	font-weight: 500;
	font-size: 18px;
	margin: 0 5px;
}

.navbar .navbar-nav .nav-item .dropdown-menu a{
	font-family: 'Roboto';
	font-weight: 500;
}

.navbar ul li a:hover {
	color: orange !important;
}

.navbar .dropdown-menu a:hover {
	color: orange !important;
	background-color: white;
}

/* Carousel */
.carousel-inner{
	width:100%;
	max-height: 550px !important;
 }

.carousel .carousel-inner .carousel-item img {
	background-size: cover;
}

.carousel-caption {
	width:600px;
   color:#fff;
	text-align:center;
	top:38%;
	margin: auto;
	bottom:auto;
	-webkit-transform:translate(0, -50%);
	-ms-transform:translate(0, -50%);
	transform:translate(0, -50%);
}

.carousel-caption h1 {
	text-shadow: 2px 2px 5px black;
	font-size: 52px;
	margin-bottom: 30px;
	font-family: 'Courgette';
}

.carousel-caption p {
	text-shadow: 2px 2px 5px black;
	font-size: 24px;
	font-family: 'Roboto', cursive;
}
/* End of Carousel */

/* Sambutan */
.sambutan h2{
   text-align: center;
   font-family: 'Courgette';
}

.sambutan p {
  font-family: 'Roboto', sans-serif;
  font-size: 16px;
  line-height: 28px;
}

.sambutan hr {
	width: 50%;
	border: 1px solid rgb(207, 207, 207);
}

.sambutan img {
   border-radius: 50%;
}

@media only screen and (max-width: 575px) {
	.sambutan img {
		height: 150px;
	}
 }
/* End of Sambutan */

/* Jurusan */
.bg-cover {
   background-image: url('/img/banner/cca3fa09b3548e40e61eb437390b8480.jpg');
   background-position: center center;
   /* height: 300px; */
   background-size: cover;
   background-attachment: fixed;
   background-repeat: no-repeat;
}

.bg-cover img {
	opacity: 0.9;
	height: 100px;
	width: 100px;
}

.bg-cover h2{
	font-family: 'Courgette';
	color: white ;
	text-shadow: 2px 2px 1px black ;
}

.bg-cover hr {
	width: 50%;
	border: 1px solid white;
	opacity: 0.4;
}

.bg-cover h5 {
	padding-top: 15px;
	/* font-family: 'Roboto'; */
	color: white;
	text-shadow: 2px 2px 1px black ;
}
/* End of Jurusan */

/* Berita */
.card {
	margin: 0 auto; 
	float: none; 
	margin-bottom: 20px; 
}

.last-news h2 {
	text-align: center;
   font-family: 'Courgette';
}

.last-news hr {
	width: 50%;
	border: 1px solid rgb(235, 235, 235);
}
/* End of Berita */

/* Blog */
.blog h1 {
	font-family: 'Playfair Display';
}

.blog img {
	width: 100%;
	/* height: 400px; */
}

.blog .konten  {
	font-family: 'Roboto';
	font-size: 16px;
	line-height: 30px;
}
.media {
    border-left: 3px solid orange;
    padding-left: 15px;
}

.card-body label {
    font-weight: 500;
}
/* End of Blog */

/* Banner Area */
.jumbotron.banner_area {
	/* height: 150px; */
	background-position: center bottom;
   background-size: cover;
   background-attachment: fixed;
	background-repeat: no-repeat;
}

.banner_area h1{
	font-family: 'Courgette';
	top: 50%;
	/* font-size: 32; */
}
/* End of Banner Are */


/* Footer */
.footer {
	background-color: rgb(58, 58, 58);
	color: white;
	/* height: 280px; */
	font-family: 'Roboto';
	box-sizing: content-box;
	/* padding-bottom: 0; */
}

.footer h5 {
	background-color:  rgb(92, 92, 92);
	padding: 10px;
	border-left: 4px solid orange;
}

.footer ul a{
	text-decoration: none;
	color: rgb(167, 166, 166);
}

.footer ul a:hover{
	color: orange;
}

.footer p {
	color: rgb(167, 166, 166);
}
/* End of Footer */

/* Pagination */
.page-link {
	color: orange;
}

.page-item.active .page-link {
	background-color: orange;
	border-color: orange;
}
/* End of Pagination */

.btn-info {
	color: #fff;
	background-color: orange;
	border-color: orange;
}

.btn-info:hover {
	color: orange;
	background-color: white;
	border-color: orange;
}

.navbar-light .navbar-nav .active>.nav-link, .navbar-light .navbar-nav .nav-link.active, .navbar-light .navbar-nav .nav-link.show, .navbar-light .navbar-nav .show>.nav-link {
	color: orange;
}

.news-ticker {
   width: 100%;
   display: flex;
   align-items: center;
   background: #0059ff;
   color: white;
   padding: 7px 10px;
   overflow: hidden;
   border-bottom: 3px solid #003bb3;
   font-family: 'Roboto', sans-serif;
}

.news-ticker .ticker-title {
   background: #002e80;
   padding: 6px 12px;
   font-weight: bold;
   margin-right: 15px;
   border-radius: 4px;
   white-space: nowrap;
}

.ticker-wrap {
   overflow: hidden;
   flex: 1;
}

.ticker-wrap ul {
   display: flex;
   list-style: none;
   margin: 0;
   padding: 0;
   animation: tickerMove 22s linear infinite;
}

.ticker-wrap li {
   padding-right: 50px;
   white-space: nowrap;
}

.ticker-wrap li a {
   color: yellow;
   font-weight: bold;
   text-decoration: none;
}

.ticker-wrap li a:hover {
   color: #fff;
   text-decoration: underline;
}

.ticker-wrap:hover ul {
   animation-play-state: paused;
}

@keyframes tickerMove {
   0% { transform: translateX(100%); }
   100% { transform: translateX(-100%); }
}

/* ====== STYLE HALAMAN SEJARAH ====== */
.content-text {
    font-size: 17px;
    color: #333;
    line-height: 1.85;
    text-align: justify;
    text-justify: inter-word;
}

.content-text h4 {
    margin-top: 25px;
    margin-bottom: 12px;
    font-weight: 700;
}

.content-text p {
    margin-bottom: 18px;
}

/* =========================
   LUXURY CAROUSEL CAPTION
   ========================= */

/* Safety: pastikan carousel relative */
.carousel {
    position: relative;
}

/* Caption utamanya */
.carousel-caption {
  position: absolute;
  left: 50%;
  top: 36%;
  transform: translate(-50%, -50%);
  width: min(900px, 88%);
  text-align: center;
  padding: 18px 24px;
  box-sizing: border-box;
  z-index: 10;
  pointer-events: none;
}

/* biar isi caption tetap bisa diklik */
.carousel-caption * {
    pointer-events: auto;
}

/* Judul */
.carousel-caption h1 {
  margin: 0 0 12px;
  font-family: "Playfair Display", serif;
  font-size: clamp(30px, 4.4vw, 54px);
  line-height: 1.08;
  color: #fff;
  font-weight: 700;
  text-shadow: 0 6px 18px rgba(0,0,0,0.55);
}

/* Paragraf */
.carousel-caption p {
  margin: 0;
  color: rgba(255,255,255,0.96);
  font-size: clamp(15px, 1.9vw, 22px);
  font-weight: 400;
  font-family: 'Roboto', sans-serif;
  text-shadow: 0 4px 10px rgba(0,0,0,0.45);
}

/* =======================================
   RESPONSIVE SETTINGS
   ======================================= */

/* Tablet */
@media (max-width: 992px) {
    .carousel-caption {
        top: 40%;
        width: 90%;
        padding: 18px 18px;
    }
    .carousel-caption.panel {
        padding: 22px 20px;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .carousel-caption {
        top: 44%;
        width: 92%;
        padding: 14px 14px;
    }
    .carousel-caption.panel {
        padding: 20px 16px;
    }
    .carousel-caption h1 {
        font-size: clamp(22px, 5.8vw, 34px);
    }
    .carousel-caption p {
        font-size: clamp(13px, 3.4vw, 16px);
    }
}

/* Small Mobile */
@media (max-width: 480px) {
    .carousel-caption {
        top: 48%;
        padding: 14px 12px;
    }
    .carousel-caption.panel {
        padding: 18px 12px;
    }
}

.lux-parallax {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    background-attachment: scroll;
    position: relative;
    overflow: hidden;
    transition: background-position 0.1s linear;
}

.jurusan {
    min-height: 420px;
    padding-top: 80px;
    padding-bottom: 60px;
}

/* Sambutan – rata tengah di tablet & mobile */
@media (max-width: 992px) {
    .sambutan p {
        text-align: center !important;
    }
}

@media (max-width: 992px) {
    .sambutan h2 {
        text-align: center !important;
    }
}

/* ============================================
   MOBILE MENU — APPLE VISIONOS STYLE
   Glass • Floating • Depth • Borderless
   ============================================ */

/* OVERLAY — Spatial depth */
.mobile-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.45);
  backdrop-filter: blur(22px) saturate(1.25);
  z-index: 1040;
  opacity: 0;
  visibility: hidden;
  transition: opacity .5s cubic-bezier(.22,.61,.36,1);
}
.mobile-overlay.show {
  opacity: 1;
  visibility: visible;
}

/* PANEL — Floating glass sheet */
.mobile-panel {
  position: fixed;
  top: 0;
  right: 0;
  width: clamp(320px, 86vw, 420px);
  height: 100vh;
  background: linear-gradient(
    160deg,
    rgba(255,255,255,0.88),
    rgba(245,247,255,0.82)
  );
  backdrop-filter: blur(28px) saturate(1.3);
  box-shadow:
    0 40px 80px rgba(0,0,0,0.35),
    inset 0 1px 0 rgba(255,255,255,0.95);
  transform: translateX(100%);
  transition: transform .65s cubic-bezier(.22,.61,.36,1);
  display: flex;
  flex-direction: column;
  z-index: 1050;
  overflow: hidden;
}
.mobile-overlay.show .mobile-panel {
  transform: translateX(0);
}

/* HEADER — Floating bar */
.mobile-header {
  position: sticky;
  top: 0;
  padding: clamp(22px,5vw,28px) clamp(28px,7vw,40px);
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: rgba(255,255,255,0.65);
  backdrop-filter: blur(26px) saturate(1.4);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: clamp(1.45rem,4.4vw,1.65rem);
  font-weight: 600;
  color: #0b0b0d;
  z-index: 10;
}

/* CLOSE — Floating orb */
.mobile-close {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: radial-gradient(
    circle at top,
    rgba(255,255,255,0.9),
    rgba(230,232,240,0.8)
  );
  border: none;
  color: #5c5f66;
  font-size: 1.9rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow:
    0 12px 24px rgba(0,0,0,0.18),
    inset 0 1px 0 rgba(255,255,255,1);
  transition: all .35s ease;
}
.mobile-close:hover {
  transform: translateY(-2px) scale(1.08);
  box-shadow: 0 18px 36px rgba(0,0,0,0.28);
}
.mobile-close:active {
  transform: scale(0.95);
}

/* BODY — Spatial spacing */
.mobile-body {
  flex: 1;
  overflow-y: auto;
  padding: clamp(32px,8vw,48px) clamp(28px,8vw,44px) clamp(56px,10vw,80px);
  display: flex;
  flex-direction: column;
  gap: clamp(14px,3.8vw,22px);
  scrollbar-width: none;
}
.mobile-body::-webkit-scrollbar { display: none; }

/* MAIN LINKS — Floating pills */
.mobile-body > a {
  width: 100%;
  text-align: center;
  text-decoration: none;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: clamp(1.15rem,3.9vw,1.35rem);
  font-weight: 550;
  color: #151517;
  padding: clamp(18px,4.8vw,24px) 0;
  border-radius: 22px;
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,0.9),
      rgba(240,242,250,0.85)
    );
  box-shadow:
    0 10px 30px rgba(0,0,0,0.14),
    inset 0 1px 0 rgba(255,255,255,1);
  transition: all .4s cubic-bezier(.22,.61,.36,1);
}
.mobile-body > a:hover {
  color: #ff9500;
  transform: translateY(-3px);
  box-shadow: 0 20px 48px rgba(0,0,0,0.28);
}
.mobile-body > a:active {
  transform: scale(0.97);
}

/* DROPDOWN — Floating control */
.mobile-dropdown-toggle {
  width: 100%;
  padding: clamp(18px,4.8vw,24px);
  border-radius: 22px;
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,0.9),
      rgba(240,242,250,0.85)
    );
  border: none;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: clamp(1.15rem,3.9vw,1.35rem);
  font-weight: 600;
  color: #151517;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-shadow:
    0 10px 30px rgba(0,0,0,0.14),
    inset 0 1px 0 rgba(255,255,255,1);
  transition: all .4s cubic-bezier(.22,.61,.36,1);
}
.mobile-dropdown-toggle:hover {
  color: #ff9500;
  transform: translateY(-3px);
}
.mobile-dropdown-toggle i {
  transition: transform .5s cubic-bezier(.34,1.56,.64,1);
}
.mobile-dropdown.active .mobile-dropdown-toggle i {
  transform: rotate(180deg) scale(1.1);
}

/* SUBMENU — Floating layer */
.mobile-dropdown-menu {
  max-height: 0;
  overflow: hidden;
  transition: max-height .6s cubic-bezier(.22,.61,.36,1), padding .6s ease;
  padding: 0 clamp(24px,6vw,36px);
  margin-top: 14px;
}
.mobile-dropdown.active .mobile-dropdown-menu {
  max-height: 900px;
  padding: clamp(18px,5vw,28px) clamp(24px,6vw,36px) clamp(28px,6vw,40px);
}
.mobile-dropdown-menu a {
  display: block;
  text-align: center;
  padding: 14px 0;
  margin-bottom: 12px;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: clamp(1.02rem,3.6vw,1.18rem);
  color: #4a4d55;
  border-radius: 14px;
  transition: all .35s ease;
}
.mobile-dropdown-menu a:hover {
  background: rgba(255,149,0,0.08);
  color: #ff9500;
  transform: translateY(-1px);
}

/* BODY LOCK */
body.mobile-open {
  position: fixed;
  overflow: hidden;
  width: 100%;
  height: 100vh;
}

/* DESKTOP HIDE */
@media (min-width: 992px) {
  .mobile-overlay, .navbar-toggler {
    display: none !important;
  }
}

/* SMALL DEVICES */
@media (max-width: 380px) {
  .mobile-panel { width: 100vw; }
  .mobile-body {
    padding: 24px 22px 48px;
    gap: 12px;
  }
}
body {
  padding-top: 80px; /* sesuaikan tinggi navbar */
}
/* === FIX TOTAL: LABEL & POSISI RATA KIRI === */

/* Link biasa (Beranda, Berita, dll) */
.mobile-body > a {
  text-align: left;
  padding-left: 28px;
}

/* Tombol dropdown */
.mobile-dropdown-toggle {
  justify-content: flex-start;   /* isi mulai dari kiri */
  text-align: left;
  padding-left: 28px;
}

/* Icon dropdown tetap di kanan */
.mobile-dropdown-toggle i {
  margin-left: auto;
}

/* Submenu item */
.mobile-dropdown-menu a {
  text-align: left;
  padding-left: 22px;
}





