:root{
	--yellow:#ffc800;
	--black:#0f0f0f;
	--bg:#f5f5f5;
	--radius:12px;
	--shadow:0 4px 18px rgba(0,0,0,.08);
}
*{
	margin:0;
	padding:0;
	box-sizing:border-box;
}
body{
	font-family:Arial,sans-serif;
	background:var(--bg);
	color:#222;
	overflow-x:hidden;
	line-height:1.5;
}

.popup-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 999999;
}
.popup {
  position: relative;
  background: white;
  padding: 0px;
  border-radius: 10px;
  max-width: 75%;
  text-align: center;
  border: none;
}
.popup img {
  width: 100%;
  border-radius: 10px;
}
.popup .close-btn {
  position: absolute;
  top: 5px;
  right: 5px;
  background: transparent;
  border: none;
  font-size: 30px !important;
  font-weight: bold;
  color: #333;
  cursor: pointer;
  text-shadow: 0px 0px 5px  #fff;
}

/* ================= HEADER ================= */
.top-header{
	background:#000;
	height:72px;
	display:flex;
	align-items:center;
	color:#fff;
}
.top-header a{
	color: #fff;
}
.logo{
	width:54px;
	flex-shrink:0;
}
.title{
	font-size:18px;
	font-weight:700;
	line-height:1.1;
}
.subtitle{
	font-size:12px;
	color:var(--yellow);
	margin-top:4px;
}
.top-right{
	display:flex;
	justify-content:flex-end;
	align-items:center;
	gap:14px;
	font-size:14px;
}
.top-right i{
	cursor:pointer;
	transition:.3s;
}
.top-right i:hover{
	color:var(--yellow);
	transform:translateY(-2px);
}


/* ================= LANGUAGE ================= */
.lang-switch{
	display:flex;
	align-items:center;
	gap:8px;
	margin-right:8px;
}
.lang-btn{
	border:0;
	background:none;
	color:white;
	opacity:.5;
	font-weight:700;
	cursor:pointer;
	transition:.3s;
}
.lang-btn.active{
	opacity:1;
	color:var(--yellow);
}
#google_translate_element{
	position:absolute;
	opacity:0;
	pointer-events:none;
	width:0;
	height:0;
	overflow:hidden;
}
.goog-logo-link,
.goog-te-banner-frame{
	display:none!important;
}
body{
	top:0!important;
}

/* ================= MENU ================= */
.menu-header{
	background:var(--yellow);
	height:52px;
	display:flex;
	align-items:center;
	position:relative;
	z-index:999;
}
.main-menu{
	display:flex;
	justify-content:space-between;
	align-items:center;
	list-style:none;
	width:100%;
	margin:0;
	padding:0;
}
.main-menu>li{
	position:relative;
}
.main-menu>li>a{
	height:52px;
	display:flex;
	align-items:center;
	padding:0 15px;
	font-size:14px;
	font-weight:700;
	text-decoration:none;
	color:#111;
	position:relative;
}
.main-menu>li>a:hover,
.main-menu>li:hover>a{
	background:transparent;
	color:#fff;
}
.main-menu>li:hover{
	background:#0d2c52;
}

.main-menu>li>a::after{
	content:''; 
	position:absolute; 
	bottom:0;
	left:50%;
	transform:translateX(-50%);
	width:0;
	height:3px;
	background:#111;
	transition:.3s;
}

.main-menu>li>a:hover::after{
	width:70%;
}

/* ================= MEGA MENU UGM STYLE ================= */
.menu-header{
    background:var(--yellow);
    height:52px;
    position:relative;
    z-index:9999;
}
.menu-header .container{
    position:static;
}
.main-menu{
    position:static;
}
.main-menu > li{
    position:static;
}

/* PANEL SUBMENU */
.mega-menu{
    position:absolute;
    left:0;
    top:52px;
    width:100vw; /* FULL */
    margin-left:calc(-50vw + 50%);
    min-height:320px;
    padding:35px 0;
    background: rgba(15,15,15,.96);
    border-top: 4px solid var(--yellow);
    box-shadow: 0 20px 45px rgba(0,0,0,.3);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform: translateY(15px);
    transition: all .35s ease;
    overflow:hidden;
}

/* background tema kampus */
.mega-menu::before{
	content:'';
	position:absolute;
	inset:0;
	background-size:cover;
	background-position:center;
	opacity:.07;
	z-index:-1;
}

/* tampil */
.mega-parent:hover .mega-menu{
	opacity:1;
	visibility:visible;
	pointer-events:auto;
	transform:translateY(0);
}

/* pembatas kolom */
.mega-menu .col-md-3,
.mega-menu .col-md-4{
	position:relative;
	padding:0 30px;
}
.mega-menu .col-md-3:not(:last-child)::after,
.mega-menu .col-md-4:not(:last-child)::after{
	content:'';
	position:absolute;
	right:0;
	top:0;
	width:1px;
	height:100%;
	background: rgba(255,255,255,.15);
}

/* wrapper isi agar simetris */
.mega-menu .row{
	max-width:1200px;
	margin:auto;
}

/* heading */
.mega-menu h6{
	font-size:16px;
	font-weight:600;
	margin-bottom:18px;
	color:var(--yellow);
}

/* item */
.mega-menu a{
	display:block;
	padding:8px 0;
	font-size:15px;
	text-decoration:none;
	color:#eee;
	transition:.25s;
}
.mega-menu a:hover{
	padding-left:8px;
	color:var(--yellow);
}

/* active menu */
.main-menu>li:hover{
	background:#111;
}
.main-menu>li:hover>a{
	color:#fff;
}

/* ================= MINI MENU ================= */
.mini-menu{
	height:42px;
	background:#111;
	display:flex;
	align-items:center;
	border-bottom:1px solid rgba(255,255,255,.08);
}
.mini-links{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:18px;
}

/* link */
.mini-links a{
	text-decoration:none;
	color:white;
	font-size:14px;
	font-weight:600;
	letter-spacing:.3px;
	transition:.3s;
	display:flex;
	align-items:center;
	gap:4px;
}

/* jumlah */
.mini-links a span{
	color:var(--yellow);
	font-weight:700;
}

/* hover */
.mini-links a:hover{
	color:var(--yellow);
	transform:translateY(-1px);
}

/* titik besar */
.dot{
	width:6px;
	height:6px;
	border-radius:50%;
	background:var(--yellow);
	opacity:.8;
	margin-top:1px;
}
 
/* ================= BREAKING NEWS ================= */
.ticker{ 
	padding:25px 0;
}
.ticker-box{
	display:flex;
	align-items:center;
	height:42px;
	background:white;
	overflow:hidden;
	border-radius: 5px;
}
.ticker-label{
	background:var(--yellow);
	padding:0 10px;
	font-weight:600;
	height:100%;
	font-size: 0.9em;
	display:flex;
	align-items:center;
	flex-shrink:0;
}
.ticker-wrap{
    overflow:hidden;
    flex:1;
    position:relative;
    padding-left:15px;
}

.ticker-track{
    display:flex;
    width:max-content;
}
.ticker-content{
    display:flex;
    align-items:center;
    white-space:nowrap;
}
.news-item{
    flex-shrink:0;
    padding-right:15px;
	font-size: 0.9em;
}
.news-item a{
	text-decoration:none;
	color:#111;
	transition:.3s;
}
.news-item a:hover{
	color:var(--yellow);
}
.ticker-content:hover{
	animation-play-state:paused;
}
.sep{
    flex-shrink:0;
    color:var(--yellow);
    padding-right:15px;
    font-size:18px;
    font-weight:bold;
}
.news-item{
    padding-left:0px;
}

/* ================= HERO ================= */
.hero{
	height:380px;
	position:relative;
	overflow:hidden;
}
.hero img{
	width:100%;
	height:100%;
	object-fit:cover;
}
.overlay{
	position:absolute;
	inset:0;
	background:rgba(0,0,0,.45);
}
.hero-content{
	position:absolute;
	top:50%;
	left:90px;
	transform:translateY(-50%);
	z-index:4;
	color:white;
}
.hero h1{
	font-size:58px;
	font-weight:800;
	line-height:1;
}
.hero h3{
	font-size:22px;
	color:var(--yellow);
	margin-top:10px;
}
.hero p{
	font-size:18px;
}
.btn-yellow,
.btn-video{
	border-radius:30px;
	padding:10px 22px;
}
.btn-yellow{
	background:var(--yellow);
}
.btn-video{
	border:2px solid white;
	color:white;
	margin-left:10px;
}
.hero-arrow{
	position:absolute;
	top:50%;
	width:46px;
	height:46px;
	border-radius:50%;
	background:rgba(0,0,0,.5);
	display:flex;
	align-items:center;
	justify-content:center;
	color:white;
	transform:translateY(-50%);
	z-index:4;
}
.left{left:25px}
.right{right:25px}


/* ================= STATS ================= */
.stats{
	margin-top:-40px;
	position:relative;
	z-index:8;
}
.stat-card{
	background:white;
	height:95px;
	padding:18px;
	display:flex;
	align-items:center;
	gap:15px;
	border-radius:var(--radius);
	box-shadow:var(--shadow);
}
.icon{
	width:50px;
	height:50px;
	border-radius:50%;
	background:var(--yellow);
	display:flex;
	justify-content:center;
	align-items:center;
}
.stat-card h2{
	margin:0;
	font-size:30px;
}

/* ================= CONTENT ================= */
.body-content{
	margin-top:25px;
}
.card-box,
.agenda-box{
	background:white;
	padding:20px;
	border-radius:var(--radius);
	box-shadow:var(--shadow);
	margin-bottom:20px;
}
.head{
	display:flex;
	justify-content:space-between;
	margin-bottom:15px;
	font-weight:700;
}
.post,
.news{
	display:flex;
	gap:12px;
	margin-bottom:12px;
}
.post .content-text,
.news .content-text{
	font-size: 0.9em;
	line-height: 1.25em !important;
	width: 70%;
}
.post .content-text a,
.news .content-text a{
	color : #333;
	text-decoration: none;
}
.post .content-text a:hover,
.news .content-text a:hover{
	text-decoration: underline;
}
.date{
	font-size: 0.8em;
	width:25%;
	height:60px;
	background:var(--yellow);
	border-radius:8px;
	font-weight:600;
	text-align:center;
	padding-top:2px;
}
.news img{
	width:25%;
	height:auto;
	border-radius:8px;
	object-fit:cover;
}
.counter{
	font-size:34px;
	font-weight:800;
	color:var(--yellow);
	line-height:1;
	display:block;
	transition:.3s;
}

/* ================= WEBMAIL ================= */
.webmail-box{
	text-align:center;
	padding:25px;
	height:100%;
}
.mail-icon{
	width:60px;
	height:60px;
	margin:auto;
	border-radius:50%;
	background:#f2f2f2;
	display:flex;
	align-items:center;
	justify-content:center;
	margin-bottom:15px;
}
.mail-icon i{
	color:var(--yellow);
	font-size:25px;
}
.webmail-btn{
	background:var(--yellow);
	border-radius:25px;
	padding:8px 20px;
}

/* ================= CTA ================= */
.cta{
	height:75px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:0 30px;
	border-radius:var(--radius);
	background:var(--yellow);
	font-size:22px;
	font-weight:700;
}

/* ================= FOOTER ================= */
footer{
	margin-top:40px;
	background:#070707;
	padding:50px 0;
	color:white;
}
.footer-social i{
	margin-right:14px;
}
.footer-social a i{
	color: #fff;
}

/* ================= HERO CAROUSEL ================= */
.hero{
	height:500px;
	overflow:hidden;
	position:relative;
}
.carousel,
.carousel-inner,
.carousel-item{
	height:100%;
}
.carousel-item img,
.carousel-item video{
	width:100%;
	height:100%;
	object-fit:cover;
}
.overlay{
	position:absolute;
	inset:0;
	background: rgba(0,0,0,.5);
	z-index:1;
}
.hero-content{
	position:absolute;
	left:0;
	right:0;
	top:50%;
	transform:translateY(-50%);
	z-index:10;
	color:white;
}
.hero-arrow{
	width:50px;
	height:50px;
	border-radius:50%;
	background: rgba(0,0,0,.45);
	display:flex;
	align-items:center;
	justify-content:center;
}
.carousel-indicators{
	bottom:25px;
}
.carousel-indicators button{
	width: 22px!important;
	border-radius:50%;
	background: var(--yellow)!important;
}

/* HERO VIDEO */
.hero-video{
	width:100%;
	height:100%;
	display:block;
	object-fit:cover;
}
/* supaya video tidak ketutup carousel */
.carousel-item{
	position:relative;
	overflow:hidden;
}
.carousel-item video{
	position:absolute;
	inset:0;
	z-index:0;
}
.overlay{
	z-index:1;
}
.hero-content{
	z-index:2;
}

/* ================= AGENDA ================= */
.agenda-section{
	background:none;
	padding:0px;
	border-radius:15px;
}
.head-wrap{
	display:flex;
	justify-content:space-between;
	align-items:end;
	margin-bottom:25px;
}
.head-wrap h2{
	font-size:20px;
	font-weight:700;
	margin:0;
	color:#111;
}
.title-line{
	width:50px;
	height:4px;
	background:var(--yellow);
	border-radius:20px;
	margin-top:10px;
}
.agenda-more{
	padding:8px 18px;
	font-size: 0.9em;
	border-radius:6px;
	text-decoration:none;
	color:#111;
	font-weight:600;
	transition:.3s;
}
.agenda-more:hover{
	background:var(--yellow);
	color:#111;
}
.agenda-card{
	background:white;
	padding:25px;
	height:180px;
	border-radius:12px;
	box-shadow: 0 5px 18px rgba(0,0,0,.08);
	transition:.35s;
	position:relative;
	overflow:hidden;
}
.agenda-card::before{
	content:'';
	position:absolute;
	left:0;
	top:0;
	width:5px;
	height:100%;
	background:var(--yellow);
}
.agenda-card:hover{
	transform:translateY(-6px);
}
.agenda-date{
	display:flex;
	align-items:flex-start;
	margin-bottom:15px;
}
.day{
	font-size:28px;
	font-weight:700;
	color:#111;
	line-height:1;
}
.month{
	margin-top:8px;
	margin-left:6px;
	font-size:16px;
	color:var(--yellow);
	font-weight:700;
}
.agenda-content h5{
	font-size:14px; 
	margin-bottom:35px;
}

.agenda-content h5 a{
	text-decoration: none;
	color: black; 

}
.agenda-content h5 a:hover{
	text-decoration: underline;
}
.agenda-content small{
	position:absolute;
	bottom:20px;
	color:#666;
}

/* ================= INSTAGRAM ================= */
.insta-widget{
    padding:18px;
    border-radius:20px;
}

.insta-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:15px;
}

.insta-head small{
    letter-spacing:2px;
    color:#999;
    font-weight:700;
}

.insta-head h6{
    margin:0;
    font-size:14px;
    font-weight:700;
}
.insta-head h6 a{
	text-decoration: none;
	color :#333;
}

.insta-icon{
    color:#e1306c;
    font-size:28px;
}

.insta-area{
    position:relative;
}

.insta-scroll{
    display:flex;
    overflow:hidden;
    gap:10px;
    scroll-behavior:smooth;
    margin:0 30px;
}

.insta-item{
    min-width:150px;
    max-width:150px;
    overflow:hidden;
    background:#fff;
    flex:none;
}

.insta-item a{
	text-decoration: none;
	color: #333; 
}
.insta-item a:hover{
	text-decoration: underline;
}

.insta-item img{
    width:100%;
    height:120px;
    object-fit:cover;
    display:block;
}

.insta-caption{
    padding:8px;
    font-size:13px;
    line-height:1.4;
    height:150px;

    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.insta-btn{
    width:28px;
    height:28px;
    border:none;
    border-radius:50%;
    background:white;
    box-shadow:0 3px 12px rgba(0,0,0,.15);

    position:absolute;
    top:40%;
    z-index:10;
}

.prev{
    left:-5px;
}

.next{
    right:-5px;
}

/* ================= VIDEO GALLERY PAGE ================= */

.video-gallery-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:25px;
}

.video-card{
    background:#fff;
    border-radius:16px;
    overflow:hidden;
    border:1px solid #eee;
    transition:.3s;
}

.video-card:hover{
    transform:translateY(-6px);
    box-shadow:0 10px 25px rgba(0,0,0,.08);
}

.video-frame{
    position:relative;
    width:100%;
    padding-bottom:56.25%;
}

.video-frame iframe{
    position:absolute;
    width:100%;
    height:100%;
    left:0;
    top:0;
    border:none;
}

.video-info{
    padding:18px;
}

.video-info h4{
    font-size:18px;
    font-weight:700;
    line-height:1.4;
    margin-bottom:10px;
}

.video-info p{
    color:#666;
    font-size:14px;
}
/* ===== DETAIL VIDEO ===== */

.youtube-detail{
    position:relative;
    width:100%;
    padding-bottom:56.25%;
    overflow:hidden;
    border-radius:18px;
}

.youtube-detail iframe{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    border:none;
}

.related-video{
    display:block;
    text-decoration:none;
    color:#111;
    margin-bottom:20px;
}

.related-video img{
    width:100%;
    border-radius:12px;
    margin-bottom:10px;
    transition:.3s;
}

.related-video:hover img{
    transform:scale(1.03);
}

.related-video h6{
    font-size:14px;
    line-height:1.5;
}
/* ================= DOCUMENT PAGE ================= */
.doc-item{
    display:flex;
    align-items:center;
    gap:20px; 
    padding:25px 0; 
    border-bottom:1px solid #eee;
} 
.doc-item:last-child{
    border:none;
} 
.doc-icon{ 
    width:70px;
    height:70px; 
    flex-shrink:0; 
    border-radius:16px; 
    display:flex;
    align-items:center;
    justify-content:center; 
    color:white; 
    font-size:28px;
} 
.pdf{
    background:#e53935;
} 
.word{
    background:#1565c0;
} 
.excel{
    background:#2e7d32;
}  
.ppt{
    background:#ef6c00;
} 
.zip{
    background:#6d4c41;
} 
.rar{
    background:#7b1fa2;
}
.doc-content{
    flex:1;
} 
.doc-content h3{ 
    font-size:17px;
    margin-bottom:10px; 
    line-height:1.5;
    font-weight:700;
} 
.btn-download{ 
    background:#111; 
    color:white; 
    padding:10px 18px; 
    border-radius:30px; 
    text-decoration:none; 
    font-size:13px; 
    transition:.3s;
} 
.btn-download:hover{ 
    background:var(--yellow); 
    color:#111; 
    transform:translateY(-3px);
}

/* ================= VISITOR ================= */
.visitor-box{
	padding:0 !important;
	overflow:hidden;
	border-radius:12px;
}
.visitor-title{
	padding:18px;
	background:none;
	color:#111;
	font-size:14px;
	font-weight:600;
	display:flex;
	align-items:center;
	gap:5px;
}
.visitor-title i{
	color:var(--yellow);
}
.visitor-grid{
	display:grid;
	grid-template-columns: repeat(4,1fr);
	gap:5px;
	padding:10px;
	background:#f5f5f5;
}
.visitor-item{
	background:white;
	border-radius:10px;
	overflow:hidden;
	box-shadow: 0 3px 10px rgba(0,0,0,.08);
	transition:.3s;
}
.visitor-item:hover{
	transform:translateY(-4px);
}
.visitor-number{
	padding: 14px;
	text-align:center;
	font-size:13px;
	font-weight:600;
	background:#ececec;
	color:#111;
}
.visitor-label{
	padding:12px;
	text-align:center;
	font-size:9px;
	font-weight:700;
	color:white;
}
.today .visitor-label{
	background:#d35400;
}
.yesterday .visitor-label{
	background:#29b6f6;
}
.week .visitor-label{
	background:#0d6efd;
}
.months .visitor-label{
	background:#1f4e9d;
}
.total{
	grid-column:span 4;
}
.total .visitor-label{
	background:#111;
}
.total .visitor-number{
	background:var(--yellow);
}
/* ================= JOIN SECTION ================= */

.join-section{
	margin:30px 0;
}
.join-box{
	display:flex;
	align-items:center;
	overflow:hidden;
	background:#f5f5f5;
	border-radius:30px;
	min-height:420px;
	position:relative;
	box-shadow: 0 10px 30px rgba(0,0,0,.08);
}
/* kiri */
.join-left{
	width:35%;
	display:flex;
	justify-content:center;
	align-items:flex-end;
	padding:30px;
	z-index:2;
}
.join-left img{
	max-width:100%;
	max-height:370px;
	object-fit:contain;
}
/* kanan */
.join-right{
	width:65%;
	background:linear-gradient(135deg,#111,#f0b000);
	padding:70px;
	color:white;
	position:relative;
	border-top-left-radius:250px;
	border-bottom-left-radius:250px;
	display:flex;
	flex-direction:column;
	justify-content:center;
}
/* efek bulat */
.join-right::before{
	content:'';
	position:absolute;
	width:400px;
	height:400px;
	background: rgba(255,255,255,.05);
	border-radius:50%;
	top:-100px;
	right:-120px;
}
.rank-text{
	font-size:22px;
	font-weight:700;
	margin-bottom:25px;
}
.rank-text span{
	font-size:90px;
	line-height:1;
	color:#ffd000;
	font-weight:900;
	display:block;
}
.join-right h2{
	font-size:55px;
	font-weight:800;
	line-height:1.1;
	margin-bottom:15px;
}
.join-right p{
	font-size:16px;
	max-width:500px;
	opacity:.95;
	margin-bottom:30px;
}
.join-btn{
	display:inline-block;
	padding:14px 35px;
	background:white;
	color:#111;
	border-radius:40px;
	font-weight:700;
	text-decoration:none;
	transition:.3s;
	width:max-content;
}
.join-btn:hover{
	background:#111;
	color:#fff;
	transform:translateY(-3px);
}

/* ================= VIDEO USTJ ================= */
.video-section{
	width:100%;
	padding:0px 0px;
	margin-top:70px;
	background: none;
	position:relative;
	overflow:hidden;
	color:white;
}
/* ornamen */
.video-section::before{
	content:'';
	position:absolute;
	width:500px;
	height:500px;
	border-radius:50%;
	background: rgba(255,208,0,.04);
	right:-150px;
	top:-150px;
}
.video-section::after{
	content:'';
	position:absolute;
	width:350px;
	height:350px;
	border-radius:50%;
	background: rgba(255,208,0,.03);
	left:-120px;
	bottom:-120px;
}
/* isi baru container */
.video-section .container{
	position:relative;
	z-index:2;
}
/* header */
.video-header{
	display:flex;
	justify-content:space-between;
	align-items:end;
	margin-bottom:35px;
}
.video-header h2{
	font-size:26px;
	font-weight:700;
	margin:0;
	color:#111;
}
.video-line{
	width:70px;
	height:4px;
	background:var(--yellow);
	margin-top:10px;
	border-radius:20px;
}
.video-all{
	text-decoration:none;
	color:#111;
	font-weight:700;
	padding-bottom:8px;
	border-bottom:2px solid var(--yellow);
	transition:.3s;
	font-size: 0.9em;
}
.video-all:hover{
	color:var(--yellow);
}
/* video besar */
.main-video{
	background:#1b1b1b;
	padding:18px;
	border-radius:18px;
	box-shadow: 0 8px 25px rgba(0,0,0,.2);
	height:100%;
}
.video-thumb{
	position:relative;
	overflow:hidden;
	border-radius:12px;
}
.video-thumb img{
	width:100%;
	height:340px;
	object-fit:cover;
	transition:.5s;
}
.main-video:hover img{
	transform:scale(1.06);
}
.play-btn{
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
	width:75px;
	height:75px;
	border-radius:50%;
	background:var(--yellow);
	color:#111;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:24px;
	box-shadow: 0 0 25px rgba(255,208,0,.4);
}
.main-video h3{
	margin-top:20px;
	font-size:20px;
	line-height:1.4;
	font-weight:700;
}
.main-video h3 a{
	text-decoration: none;
	color: #fff;
}
.main-video h3 a:hover{
	color: #aaa;
}
.main-video small{
	color:#bbb;
}
/* list kanan */
.video-list{
	background:#1b1b1b;
	padding:15px 25px;
	border-radius:18px;
	height:100%;
}
.video-item{
	display:flex;
	gap:15px;
	padding:20px 0;
	border-bottom: 1px solid rgba(255,255,255,.08);
	text-decoration:none;
	color:white;
	transition:.3s;
}
.video-item:last-child{
	border:none;
}
.video-item:hover{
	padding-left:10px;
	color:var(--yellow);
}
.video-item img{
	width:150px;
	height:90px;
	border-radius:10px;
	object-fit:cover;
	flex-shrink:0;
}
.video-item h5{
	font-size:18px;
	line-height:1.5;
	margin-bottom:10px;
	font-weight:600;
}
.video-item h5 a{
	text-decoration: none;
	color: #fff;
}
.video-item h5 a:hover{
	color: #aaa;
}
.video-item small{
	color:#aaa;
}
.main-video{
	text-decoration:none;
	color:white;
	display:block;
}
.video-item{
	text-decoration:none;
}
.video-thumb::after{
	content:'';
	position:absolute;
	inset:0;
	background:
		linear-gradient(
		transparent,
		rgba(0,0,0,.2)
	);
}
.youtube-main{
	position:relative;
	padding-bottom:56.25%;
	height:0;
	overflow:hidden;
	border-radius:16px;
}
.youtube-main iframe{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	border:none;
}
/* ========= VIDEO LIST ========= */
.video-list{
	background:#1b1b1b;
	padding:20px;
	border-radius:18px;
	height:100%;
}
.video-item{
	display:flex;
	gap:15px;
	padding:18px 0;
	border-bottom: 1px solid rgba(255,255,255,.08);
}
.video-item:last-child{
	border:none;
}
/* mini iframe */
.youtube-mini{
	width:180px;
	height:100px;
	flex-shrink:0;
	border-radius:10px;
	overflow:hidden;
}
.youtube-mini iframe{
	width:100%;
	height:100%;
	border:none;
}
.video-item h5{
	font-size:16px;
	line-height:1.5;
	margin-bottom:8px;
	color:white;
}
.video-item small{
	color:#bbb;
}
footer a{
	text-decoration: none;
	color: #fff;
}
footer a:hover{
	text-decoration: underline;
}

/* ================= DETAIL USTJ ================= */
.detail-page{
	margin-top:5px;
	margin-bottom:60px;
}
/* header atas */
.detail-header{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	padding:25px;
	background:white;
	border-radius:15px 15px 0 0;
	border-top:5px solid var(--yellow);
	box-shadow:var(--shadow);
	position:relative;
	overflow:hidden;
}
/* ornamen */
.detail-header::after{
	content:'';
	position:absolute;
	right:-70px;
	top:-70px;
	width:220px;
	height:220px;
	border-radius:50%;
	background: rgba(255,208,0,.08);
}
/* kiri */
.detail-title-wrap{
	flex:1;
	padding-right:25px;
}
.detail-title-wrap h1{
	font-size:25px;
	font-weight:700;
	line-height:1.1;
	margin-bottom:15px;
	color:#111;
}
/* statistik */
.detail-view{
	display:inline-flex;
	align-items:center;
	gap:8px;
	background:#fff8db;
	padding:8px 14px;
	border-radius:30px;
	font-size:11px;
	font-weight:700;
	color:#111;
	border:1px solid rgba(255,208,0,.5);
}
.detail-view i{
	color:var(--yellow);
}
/* kanan */
.detail-tools{
	width:260px;
	padding-left:25px;
	border-left:1px solid #eee;
	position:relative;
	z-index:2;
}
.share-title{
	font-size:10px;
	font-weight:700;
	color:#888;
	margin-bottom:10px;
	text-transform:uppercase;
}
.share-title span{
	display:block;
	font-size:12px;
	font-weight:700;
	color:#111;
	margin-top:4px;
}
/* sosial */
.share-icons{
	display:flex;
	gap:10px;
	margin-bottom:18px;
}
.share-icons a{
	width:38px;
	height:38px;
	border-radius:50%;
	background:#111;
	color:white;
	display:flex;
	align-items:center;
	justify-content:center;
	text-decoration:none;
	transition:.3s;
}
.share-icons a:hover{
	background:var(--yellow);
	color:#111;
	transform:translateY(-3px);
}
/* tombol */
.detail-btns{
	display:flex;
	gap:10px;
}
.detail-btns button{
	flex:1;
	background:#111;
	color:white;
	border:none;
	padding:5px;
	border-radius:10px;
	font-weight:700;
	transition:.3s;
	font-size: 0.75em;
}
.detail-btns button:hover{
	background:var(--yellow);
	color:#111;
}
/* author */
.author-row{
	background:white;
	padding:13px 35px;
	display:flex;
	align-items:center;
	gap:15px;
	margin-top:2px;
	margin-bottom:20px;
	border-radius:0 0 20px 20px;
	box-shadow:var(--shadow);
}
.author-row img{
	width:55px;
	height:55px;
	border-radius:50%;
	border:3px solid var(--yellow);
}
.author-row strong{
	display:block;
	font-size:13px;
}
.author-row span{
	display:block;
	font-size:12px;
	color:#888;
}
.badge-news{
	margin-left:auto;
	background:var(--yellow);
	padding:8px 14px;
	border-radius:30px;
	color:#111!important;
	font-size:11px!important;
	font-weight:800;
}
/* konten */
.detail-card{
	background:white;
	padding:30px;
	border-radius:20px;
	box-shadow:var(--shadow);
}
/* gambar */
.detail-image{
	width:100%;
	border-radius:15px;
	margin-bottom:30px;
}
/* isi */
.detail-content{
	font-size:15px;
	line-height:2;
	color:#444;
}
.detail-content p{
	margin-bottom:25px;
}
.detail-content strong{
	color:#111;
}
/* sidebar */
.latest-box{
	background:white;
	border-radius:20px;
	overflow:hidden;
	box-shadow:var(--shadow);
	position:relative;
	top:20px;
}
.latest-head{
	background:none;
	color: var(--yellow);
	padding:18px;
	font-weight:500;
	font-size:13px;
}
.latest-item{
	display:flex;
	gap:12px;
	padding:18px;
	text-decoration:none;
	color:#111;
	border-bottom:1px solid #f2f2f2;
	transition:.3s;
}
.latest-item:hover{
	background:#fafafa;
	padding-left:25px;
	padding-left:25px;
}
.latest-item img{
	width:85px;
	height:70px;
	border-radius:10px;
	object-fit:cover;
}
.latest-item h6{
	font-size:14px;
	font-weight:700;
	line-height:1.4;
	margin-bottom:6px;
}
.latest-item p{
	font-size:12px;
	color:#777;
	margin-bottom:5px;
}
.latest-item small{
	color:var(--yellow);
	font-weight:700;
}

/* ================= LIST PAGE ================= */
.list-page{
	margin-top:10px;
	margin-bottom:50px;
}
/* judul */
.section-title{
	font-size:20px;
	font-weight:800;
	color:#111;
	margin-bottom:25px;
	position:relative;
	padding-bottom:10px;
}
.section-title::after{
	content:'';
	position:absolute;
	left:0;
	bottom:0;
	width:60px;
	height:4px;
	background:var(--yellow);
	border-radius:20px;
}
.section-title.dark{
	background:#111;
	color:var(--yellow);
	padding:15px 20px;
	border-radius:12px;
	margin-bottom:20px;
}
.section-title.dark::after{
	display:none;
}
/* populer */
.popular-box{
	background:white;
	padding:20px;
	border-radius:20px;
	box-shadow:var(--shadow);
	position:sticky;
	top:20px;
}
.popular-item{
	display:flex;
	gap:12px;
	padding:16px 0;
	border-bottom:1px solid #eee;
	text-decoration:none;
	color:#111;
	transition:.3s;
}
.popular-item:hover{
	padding-left:8px;
}
.popular-item img{
	width:75px;
	height:65px;
	border-radius:10px;
	object-fit:cover;
}
.popular-item h6{
	font-size:14px;
	line-height:1.3;
	font-weight:500;
	margin-bottom:8px;
}
.tag-news,
.tag-ann{
	display:inline-block;
	padding:4px 8px;
	font-size:11px;
	border-radius:30px;
	font-weight:700;
	margin-bottom:8px;
}
.tag-news{
	background:var(--yellow);
	color:#111;
}
.tag-ann{
	background:#111;
	color:white;
}
.popular-item small{
	display:block;
	color:#777;
}
/* list utama */
.list-box{
	background:white;
	padding:25px;
	border-radius:20px;
	box-shadow:var(--shadow);
}
.list-item{
	display:flex;
	gap:25px;
	padding:25px 0;
	border-bottom:1px solid #eee;
}
.list-item:last-child{
	border:none;
}
.list-item img{
	width:240px;
	height:160px;
	border-radius:15px;
	object-fit:cover;
}
.list-content{
	flex:1;
}
.list-content h3{
	font-size:18px;
	font-weight:800;
	margin-bottom:10px;
	line-height:1.1;
}
.meta{
	display:flex;
	gap:20px;
	font-size:11px;
	color:#888;
	margin-bottom:12px;
}
.meta i{
	color:var(--yellow);
}
.list-content p{
	color:#666;
	line-height:1.8;
	margin-bottom:15px;
}
.btn-read{
	display:inline-block;
	padding:5px 10px;
	background:#111;
	color:white;
	text-decoration:none;
	border-radius:30px;
	font-weight:600;
	transition:.3s;
	font-size: 0.8em;
}
.btn-read:hover{
	background:var(--yellow);
	color:#111;
	transform:translateY(-2px);
}

/* ================= PAGINATION ================= */
.pagination-wrap{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:10px;
	margin-top:35px;
	padding-top:30px;
	border-top:1px solid #eee;
	flex-wrap:wrap;
}
/* nomor */
.page-number{
	width:36px;
	height:36px;
	border-radius:50%;
	background:#f5f5f5;
	display:flex;
	align-items:center;
	justify-content:center;
	text-decoration:none;
	color:#111;
	font-weight:700;
	transition:.3s;
	border:1px solid transparent;
}
/* aktif */
.page-number.active{
	background:var(--yellow);
	color:#111;
	box-shadow: 0 5px 15px rgba(255,208,0,.3);
}
/* hover */
.page-number:hover{
	background:#111;
	color:white;
	transform:translateY(-3px);
}
/* prev next */
.page-btn{
	width:36px;
	height:36px;
	border-radius:50%;
	background:#111;
	display:flex;
	align-items:center;
	justify-content:center;
	text-decoration:none;
	color:white;
	transition:.3s;
}
.page-btn:hover{
	background:var(--yellow);
	color:#111;
}
/* titik */
.page-dots{
	padding:0 5px;
	font-weight:700;
	color:#999;
}

/* ================= SDGS GRID ================= */ 
.sdgs-grid{ 
    display:grid; 
    grid-template-columns:
    repeat(4,1fr);
    gap:25px;
}
.sdgs-item{
    background:#fff;
    border-radius:18px;
    text-align:center;
    padding:25px 15px;
    text-decoration:none;
    color:#111;
    transition:.35s;
    border:1px solid #eee;
}

.sdgs-item:hover{
    transform:translateY(-8px);
    box-shadow:
    0 15px 30px rgba(0,0,0,.08);
}
.sdgs-icon{
    width:90px;
    height:90px;
    margin:auto;
    margin-bottom:15px;
}
.sdgs-icon img{
    width:100%;
    height:100%;
    object-fit:contain;
}
.sdgs-no{
    display:block;
    font-size:12px;
    color:#888;
    margin-bottom:8px;
    font-weight:700;
}
.sdgs-item h6{
    font-size:14px;
    font-weight:700;
    line-height:1.6;
    margin:0;
}
/* ================= DETAIL SDGS ================= */
.sdg-detail-card{
    background:#fff;
    border-radius:24px;
    padding:40px;
    box-shadow:var(--shadow);
}
.sdg-header{
    display:flex;
    align-items:center;
    gap:35px;
    margin-bottom:35px;
    padding-bottom:30px;
    border-bottom:1px solid #eee;
}
.sdg-icon-big{
    width:180px;
    height:180px;
    flex-shrink:0;
    background:#fafafa;
    border-radius:25px;
    padding:15px;
}
.sdg-icon-big img{
    width:100%;
    height:100%;
    object-fit:contain;
}
.sdg-title-wrap{
    flex:1;
}
.sdg-badge{
    background:var(--yellow);
    padding:8px 15px;
    border-radius:30px;
    display:inline-block;
    font-size:12px;
    font-weight:700;
    margin-bottom:15px;
}
.sdg-title-wrap h1{
    font-size:35px;
    font-weight:800;
    margin-bottom:15px;
}
.sdg-title-wrap p{
    color:#666;
    font-size:17px;
    line-height:1.9;
}
.sdg-content h5{
    font-size:20px;
    font-weight:700;
    margin-bottom:20px;
    position:relative;
}
.sdg-content h5:after{
    content:'';
    width:50px;
    height:4px;
    background:var(--yellow);
    display:block;
    margin-top:10px;
    border-radius:20px;
}
.sdg-content p{
    color:#555;
    line-height:2;
    margin-bottom:20px;
}
/* ================= FAKULTAS DETAIL ================= */
.faculty-detail{
    background:#fff;
    border-radius:25px;
    overflow:hidden;
    box-shadow:var(--shadow);
}
/* banner */
.faculty-hero{
    height:340px;
    position:relative;
    overflow:hidden;
}
.faculty-hero img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.faculty-overlay{
    position:absolute;
    inset:0;
    background:
    linear-gradient(
    rgba(0,0,0,.2),
    rgba(0,0,0,.7)
    );
}
.faculty-content{
    position:absolute;
    bottom:40px;
    left:40px;
    z-index:5;
    color:#fff;
}
.faculty-label{
    background:var(--yellow);
    color:#111;
    padding:8px 15px;
    border-radius:30px;
    font-size:12px;
    font-weight:700;
}
.faculty-content h1{
    margin-top:15px;
    font-size:42px;
    line-height:1.2;
    font-weight:800;
    max-width:700px;
		text-shadow: 1px 1px 10px #333 !important;
}
/* isi */
.faculty-body{
    padding:35px;
}
.faculty-theme{
    display:flex;
    align-items:center;
    gap:15px;
    margin-bottom:35px;
    background:#f5f5f5;
    padding:15px;
    border-radius:12px;
}
.theme-color{
    width:35px;
    height:35px;
    border-radius:50%;
}
.faculty-description h4{
    margin-bottom:25px;
    font-size:22px;
    font-weight:800;
}
.faculty-description h4:after{
    content:'';
    display:block;
    width:60px;
    height:4px;
    margin-top:10px;
    border-radius:20px;
    background:var(--yellow);
}
.faculty-description p{
    line-height:2;
    color:#555;
    margin-bottom:20px;
}
.prodi-nav{
	display:flex;
	gap:10px;
	overflow:auto;
	margin-bottom:40px;
}
.prodi-nav a{
	padding:10px 18px;
	border-radius:30px;
	background:#f5f5f5;
	text-decoration:none;
	color:#111;
	font-weight:700;
	white-space:nowrap;
}
.prodi-nav a:hover{
	background:var(--yellow);
}
.prodi-section{
	padding:60px 0;
}
.prodi-section.dark{
	background:#0d2c52;
	color:white;
	padding:60px 30px;
	margin:0 -35px;
}
.prodi-section h2{
	font-size:32px;
	font-weight:800;
}
.career-grid{
	display:grid;
	grid-template-columns:
	repeat(3,1fr);
	gap:15px;
}
.career-grid div{
	padding:15px;
	background:#f5f5f5;
	border-radius:12px;
	text-align:center;
	font-weight:700;
}
.slider-section{
	padding:60px 0;
}
.slider-wrap{
	position:relative;
}
.custom-slider{
	display:flex;
	overflow:hidden;
	gap:20px;
	scroll-behavior:smooth;
}
.dosen-card,
.facility-card{
	min-width:260px;
	background:#fff;
	border-radius:20px;
	overflow:hidden;
	box-shadow:var(--shadow);
}
.dosen-card img,
.facility-card img{
	width:100%;
	height:240px;
	object-fit:cover;
}
.dosen-card h6,
.facility-card p{
	padding:15px;
	margin:0;
	text-align:center;
	font-weight:700;
}
.slide-prev,
.slide-next{
	position:absolute;
	top:45%;
	transform:translateY(-50%);
	width:45px;
	height:45px;
	border:none;
	border-radius:50%;
	background:#fff;
	box-shadow:0 5px 15px rgba(0,0,0,.2);
}
.slide-prev{
	left:-20px;
}
.slide-next{
	right:-20px;
}
.cost-img{
	width:100%;
	border-radius:15px;
}
.dosen-card{
	min-width:280px;
	max-width:280px;
	background:white;
	border-radius:22px;
	overflow:hidden;
	box-shadow:0 8px 20px rgba(0,0,0,.08);
	flex-shrink:0;
}
.dosen-card img{
	width:100%;
	height:280px;
	object-fit:cover;
}
.dosen-info{
	padding:18px;
}
.dosen-info h5{
	font-size:16px;
	font-weight:800;
	line-height:1.5;
	margin-bottom:12px;
	min-height:48px;
}
.dosen-skill{
	display:inline-block;
	padding:6px 12px;
	border-radius:30px;
	background:#fff6d9;
	font-size:12px;
	font-weight:700;
	margin-bottom:15px;
}
.dosen-email{
	font-size:13px;
	color:#666;
	margin-bottom:15px;
	overflow:hidden;
	text-overflow:ellipsis;
}
.dosen-email i{
	color:var(--yellow);
	margin-right:5px;
}
.btn-gs{
	display:block;
	text-align:center;
	padding:10px;
	background:#0d2c52;
	color:white;
	border-radius:12px;
	text-decoration:none;
	font-weight:700;
	transition:.3s;
}
.btn-gs:hover{
	background:var(--yellow);
	color:#111;
}
/* ================= MOBILE ================= */
.mobile-bars{
	display:none;
}
@media(max-width:768px){
	/* ========= HEADER ========= */ 
	.top-header{
		height:72px;
		padding:0 15px;
		background:#000;
	}
	.top-header .container,
	.top-header .row,
	.top-header .col-lg-6{
		height:100%;
	}
	.top-header .col-lg-6{
		display:flex!important;
		align-items:center;
		position:relative;
		padding-left:55px; /* ruang icon */
	}

	/* tombol hamburger */
	.mobile-bars{
		display:flex;
		position:absolute;
		left:0;
		top:50%;
		transform:translateY(-50%);
		font-size:24px;
		width:42px;
		height:42px;
		align-items:center;
		justify-content:center;
		padding:0;
		z-index:99;
	}

	/* logo */
	.logo{
		width:50px;
		height:auto;
		margin:0;
		margin-right:12px;
		flex-shrink:0;
	}

	/* area teks */
	.title-wrap{
		display:block;
		margin:0;
		max-width:calc(100% - 65px);
	}

	/* judul */
	.title{
		font-size:14px;
		line-height:1.25;
		font-weight:700;
		color:white;
	}

	/* sembunyikan slogan */
	.subtitle{
		display:none;
	}

	/* kanan disembunyikan */
	.top-right{
		display:none !important;
	}

	/* ========= MENU DESKTOP ========= */
	.menu-header{
		display:none !important;
	}

	/* ========= MINI MENU ========= */
	.mini-menu{
		display:flex;
		height:auto;
		padding:10px 0;
		overflow-x:auto;
		background:#111;
	}
	.mini-menu::-webkit-scrollbar{
		display:none;
	}

	.mini-links{
		display:flex;
		justify-content:flex-start;
		flex-wrap:nowrap;
		gap:12px;
		padding:0 15px;
		width:max-content;
	}

	/* model chip */
	.mini-links a{
		padding:8px 14px;
		border-radius:25px;
		background:#1d1d1d;
		font-size:13px;
		white-space:nowrap;
		border:1px solid rgba(255,255,255,.08);
	}
	.mini-links a:hover{
		transform:none;
		background:var(--yellow);
		color:#111;
	}
	.dot{
		display:none;
	}

	/* ========= TICKER ========= */
	.ticker{
		padding:8px 0;
	}
	.ticker .container{
		padding:0 10px;
	}
	.ticker-box{
		height:46px;
		border-radius:10px;
		overflow:hidden;
		box-shadow: 0 4px 15px rgba(0,0,0,.12);
	}
	.ticker-label{
		padding:0 12px;
		font-size:11px;
		font-weight:700;
	}
	.ticker-wrap{
		padding-left:10px;
	}
	.news-item{
		font-size:13px;
		padding-right:20px;
	}
	.news-item a{
		display:block;
		padding:6px 0;
	}

	/* ========= HERO ========= */
	.hero{
		height:240px;
	}
	.hero-content{
		left:20px;
		right:20px;
	}
	.hero h1{
		font-size:28px;
		line-height:1.1;
	}
	.hero h3{
		font-size:14px;
	}
	.hero p{
		font-size:13px;
		margin-bottom:15px;
	}
	.hero-btn{
		display:flex;
		gap:10px;
		flex-wrap:wrap;
	}
	.btn-yellow,
	.btn-video{
		padding:8px 15px;
		font-size:13px;
		margin-left:0;
	}
	.hero-arrow{
		display:none;
	}

	/* ========= STATS ========= */
	.stats{
		margin-top:10px;
	}
	.stat-card{
		height:75px;
		padding:10px;
	}
	.stat-card h2{
		font-size:20px;
	}
	.icon{
		width:35px;
		height:35px;
	}

	/* ========= OFFCANVAS ========= */
	.offcanvas{
		width:280px;
		background:#111;
		color:white;
	}
	.offcanvas-header{
		border-bottom: 1px solid rgba(255,255,255,.08);
	}
	.offcanvas-body a{
		display:block;
		padding:12px;
		border-bottom: 1px solid rgba(255,255,255,.06);
		text-decoration:none;
		color:white;
		font-weight:600;
	}
	.offcanvas-body a:hover{
		background:#1f1f1f;
		color:var(--yellow);
	}

	/* ================= MOBILE MENU ================= */
	.mobile-menu{
		margin-top:10px;
	}
	.menu-toggle{
		width:100%;
		background:none;
		border:0;
		padding:14px 0;
		display:flex;
		justify-content:space-between;
		align-items:center;
		color:white;
		font-weight:700;
		font-size:15px;
		border-bottom: 1px solid rgba(255,255,255,.08);
	}
	.menu-toggle i{
		font-size:12px;
		transition:.3s;
	}
	.menu-toggle[aria-expanded=true] i{
		transform:rotate(180deg);
	}
	.submenu{
		padding-left:12px;
		padding-bottom:10px;
	}
	.submenu a{
		display:block;
		padding:10px 0;
		color:#ccc;
		text-decoration:none;
		font-size:14px;
		border-bottom: 1px dashed rgba(255,255,255,.06);
	}
	.submenu a:hover{
		color:var(--yellow);
		padding-left:8px;
	}
	.single-link{
		display:block;
		padding:14px 0;
		font-weight:700;
		color:white;
		text-decoration:none;
		border-bottom: 1px solid rgba(255,255,255,.08);
	}
	.single-link:hover{
		color:var(--yellow);
	}
	
	/* ===== MOBILE TREE ===== */
	.mobile-tree{
		margin-top:0;
	}
	.lvl1{
		margin-bottom:2px;
	}
	.menu-btn{
		width:100%;
		background:none;
		border:none;
		padding:15px 0;
		display:flex;
		justify-content:space-between;
		align-items:center;
		color:white;
		font-size:15px;
		font-weight:700;
		text-align:left; /* rata kiri */
	}
	.menu-btn i{
		font-size:12px;
	}
	.lvl2{
		padding-left:15px;
		border-left: 2px solid rgba(255,255,255,.08);
	}
	.sub-btn{
		width:100%;
		background:none;
		border:none;
		padding:13px 0;
		display:flex;
		justify-content:space-between;
		align-items:center;
		color:#ddd;
		font-size:14px;
		text-align:left;
	}
	.lvl3{
		padding-left:15px;
	}
	.lvl3 a{
		display:block;
		padding:9px 0;
		text-decoration:none;
		color:#aaa;
		font-size:13px;
	}
	.lvl3 a:hover{
		color:var(--yellow);
		padding-left:8px;
		transition:.3s;
	}
	.mobile-link{
		display:block;
		padding:15px 0;
		color:white;
		text-decoration:none;
		font-weight:700;
		text-align:left;
	}
	.mobile-link:hover{
		color:var(--yellow);
	}
	.rotate{
		transform:rotate(180deg);
		transition:.3s;
	}
	.mobile-link{
		display:flex;
		align-items:center;
		width:100%;
		padding:15px 0 !important;
		margin:0;
		padding-left:0 !important;
		text-align:left;
		justify-content:flex-start;
		color:white;
		text-decoration:none;
		font-weight:700;
		font-size:15px;
		border:none;
		background:none;
	}

	/* samakan dengan menu utama */
	.menu-btn{
		padding:15px 0 !important;
		margin:0;
		padding-left:0 !important;
	}

	/* reset bootstrap */
	.offcanvas-body{
		padding:1rem 1rem 2rem;
	}
	.mobile-tree{
		margin:0;
		padding:0;
	}
	
	/* rapikan header mobile */
	.top-header .row{
		margin:0;
		align-items:center;
	}
	.top-header .col-lg-6:first-child{
		width:100%;
		flex:0 0 100%;
	}
	.logo{
		margin-left:55px;
	}
	.title-wrap{
		max-width:180px;
	}
	.mobile-bars{
		left:10px;
	} 
	

	/* sembunyikan seluruh kolom kanan */
	.top-header .row > .top-right{
		display:none !important;
	}
	/* kolom kiri ambil full lebar */
	.top-header .row > div:first-child{
		width:100% !important;
		max-width:100% !important;
		flex:0 0 100% !important;
	}
	/* rapikan posisi */
	.top-header .col-lg-6{
		padding-right:0 !important;
	}
	.title-wrap{
		max-width:170px;
	}
	.logo{
		margin-left:48px;
	}
	.hero{
		height:260px;
	}
	.hero h1{
		font-size:28px;
	}
	.hero h3{
		font-size:14px;
	}
	.hero p{
		font-size:13px;
	}
	.visitor-number{
		font-size:22px;
		padding:15px;
	}
	.visitor-label{
		font-size:12px;
	} 
	.join-box{
		flex-direction:column;
		min-height:auto;
		border-radius:20px;
	}
	.join-left{
		width:100%;
		padding:20px 20px 0;
	}
	.join-left img{
		max-height:220px;
	}
	.join-right{
		width:100%;
		padding:40px 25px;
		border-radius:40px 40px 0 0;
		text-align:center;
	}
	.rank-text span{
		font-size:55px;
	}
	.join-right h2{
		font-size:35px;
	}
	.join-right p{
		font-size:14px;
		max-width:100%;
	}
	.join-btn{
		margin:auto;
	} 
	.video-section{
		padding:50px 0;
	}
	.video-header{
		flex-direction:column;
		gap:20px;
	}
	.video-header h2{
		font-size:35px;
	}
	.video-thumb img{
		height:220px;
	}
	.main-video h3{
		font-size:24px;
	}
	.video-item{
		flex-direction:column;
	}
	.video-item img{
		width:100%;
		height:180px;
	}
	.video-item h5{
		font-size:18px;
	} 
	.video-item{
		flex-direction:column;
	}
	.youtube-mini{
		width:100%;
		height:180px;
	}  
	.detail-header{
		flex-direction:column;
		padding:20px;
	}
	.detail-title-wrap h1{
		font-size:28px;
	}
	.detail-tools{
		width:100%;
		border:none;
		padding:20px 0 0;
		margin-top:15px;
	}
	.author-row{
		padding:20px;
		flex-wrap:wrap;
	}
	.badge-news{
		margin-left:0;
	}
	.detail-card{
		padding:20px;
	}
	.detail-content{
		font-size:15px;
		line-height:1.8;
	}
	.list-item{
		flex-direction:column;
	}
	.list-item img{
		width:100%;
		height:220px;
	}
	.list-content h3{
		font-size:24px;
	}
	.popular-box{
		margin-bottom:20px;
		position:relative;
	} 
	.pagination-wrap{
		gap:8px;
	}
	.page-number,
	.page-btn{
		width:36px;
		height:36px;
		font-size:13px;
	} 	 
    .video-gallery-grid{
        grid-template-columns:1fr;
    }
	.doc-item{
		flex-direction:column;
		align-items:flex-start;
	}
	.btn-download{
		width:100%;
		text-align:center;
	} 
	.sdgs-grid{
		grid-template-columns:
		repeat(2,1fr);
		gap:15px;
	}
	.sdgs-icon{
		width:65px;
		height:65px;
	}
	.sdg-header{
		flex-direction:column;
		text-align:center;
	}
	.sdg-icon-big{
		width:130px;
		height:130px;
	}
	.sdg-title-wrap h1{
		font-size:28px;
		text-shadow: 1px 1px 10px #333 !important;
	}
	.sdg-detail-card{
		padding:25px;
	}
	.faculty-hero{ 
		height:220px;
	}
	.faculty-content{
		left:20px;
		bottom:20px;
	}
	.faculty-content h1{
		font-size:28px;
	}
	.faculty-body{
		padding:25px;
	}
}