:root {
	--dark-bg: #0d0d0f;
	--card-bg: #1a1a1c;
	--accent-color: #00ff9d;
	--ribbon-color: #008f58;
	--title-color: #00bc76;
	--text-color: #e0e0e0;
	--text-muted: #aaaaaa;
	--border-color: #333333;
	--white-color: #ffffff;
	--black-color: #000000;
}

body {
	font-family: 'Montserrat', sans-serif;
	background-color: var(--dark-bg);
	font-size: 16px;
	color: var(--text-color);
}

.navbar-inverse {
	background-color: rgba(13, 13, 15, 0.95);
	border-bottom: 1px solid var(--accent-color);
}

.jumbotron {
	background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)); 
	background-attachment: fixed;
	background-position: center top;
	background-size: cover;
	color: #ffffff;
	border-bottom: 1px solid var(--accent-color);
	padding-bottom: 65vh;
	padding-bottom: 65dvh;
	transition: background-image 0.8s ease-in-out;
}

.jumbotron p{
    padding: 20px 0;
}

.jumbotron .media{
    margin: 50px 0;
}
.jumbotron .media-body h1{
    margin-top: 50px;
}

.jumbotron.lazy-bg {
	background-image: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url(images/smanu-bg.webp);
}

.jumbotron h1.title span {
	color: var(--accent-color);
}

.jumbotron .media{
	margin: 0px 0;
}

.spmb-overlay.active {
	opacity: 1; visibility: visible;
}

.spmb-content {
	position: relative;
	max-width: 500px;
	width: 90%;
	transform: scale(0.7);
	transition: 0.3s ease-in-out;
}
.spmb-overlay.active .spmb-content {
	transform: scale(1);
}

.spmb-img {
	width: 100%;
	border-radius: 12px;
	box-shadow: 0 0 30px rgba(0, 255, 157, 0.3);
}

.spmb-close {
	position: absolute;
	top: -15px; 
	right: -15px;
	width: 35px; 
	height: 35px;
	background: transparent;
	color: white;
	border: 2px solid white;
	border-radius: 50%;
	font-size: 20px; 
	font-weight: bold;
	cursor: pointer;
	z-index: 10001;
	line-height: 1;
	padding: 0;
}			

.spmb-overlay {
	display: flex;
	position: fixed;
	top: 0; left: 0; width: 100%; height: 100%;
	background: rgba(0, 0, 0, 0.85);
	z-index: 9999;
	justify-content: center;
	align-items: center;
	opacity: 0; visibility: hidden;
	transition: 0.3s ease-in-out;
}

.container { 
	background-color: transparent; 
}

.single-fet h1 {
	color: var(--accent-color);
}

.single-fet h2 {
	color: var(--text-color);
}

.text-justify p {
	color: var(--text-color);
}

.item-inner {
	background: var(--card-bg);
	border: 1px solid var(--border-color);
	padding: 5px;
	border-radius: 8px;
}

.item-inner img {
	border-radius: 8px;
}

.form-control {
	background-color: #222;
	border: 1px solid #444;
	color: #fff;
}

.form-control:focus {
	border-color: var(--accent-color);
	box-shadow: 0 0 8px rgba(0, 255, 157, 0.2);
}

label { 
	color: var(--text-muted); 
}

footer {
	background-color: #080808;
	border-top: 1px solid var(--accent-color);
	font-size: 0.9em;
	padding: 30px 0 0;
	position: relative;
}

.footer-copyright {
	background-color: #080808;
}

.footer-ribbon {
	background: var(--ribbon-color) !important;
}

.footer-ribbon span { 
	color: #000; 
}

footer div.footer-ribbon {
	background: #005a37;
	margin: -50px 0 0 30px;
	padding: 10px 20px 6px;
	position: absolute;
	color: #ffffff;
	font-weight: 700;
}

footer div.footer-ribbon span{
	color: #ffffff;
	font-weight: 700;
}

footer div.footer-ribbon:before {
	border-right: 10px solid #005a37;
	border-top: 16px solid rgba(0, 0, 0, 0);
	content: "";
	display: block;
	height: 0;
	left: -10px;
	position: absolute;
	top: 0;
	width: 7px;
}

h1, h2, h3, h4, h5, h6, strong {
	font-weight: 700;
	letter-spacing: -0.5px;
	color: #ffffff;
}

p { 
	color: var(--text-color); 
}

.btn-green, 
.btn-green:visited { 
	padding: 12px 35px;
	background: var(--ribbon-color); 
	color: var(--white-color);
	border-radius: 5px; 
	display: inline-block;
	font-weight: bold;
	text-decoration: none !important; 
	outline: none !important;
	box-shadow: none !important;
    border-radius: 50px;
	border: 0 !important;
}

.btn-green:hover, 
.btn-green:active {
	background-color: var(--accent-color);
	color: var(--black-color);
	text-decoration: none !important; 
	outline: none !important;
	box-shadow: none !important;
    border-radius: 50px;
	border: 0 !important;
}

.btn-glow,
.btn-glow:visited {
    display: inline-block;
    padding: 12px 28px;
    background-color: var(--ribbon-color); 
    color: white !important;
    font-weight: bold;
    text-decoration: none;
    border-radius: 50px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    position: relative;
    overflow: hidden;
    border: none;
    cursor: pointer;
    animation: pulseGlow 2.5s infinite;
}

.btn-glow:hover,
.btn-glow:active  {
    transform: translateY(-2px);
    filter: brightness(1.1);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.3);
	text-decoration: none !important; 
}

@keyframes pulseGlow {
    0% {
        box-shadow: 0 0 0 0 rgba(0, 143, 88, 0.6);
    }
    70% {
        box-shadow: 0 0 0 12px rgba(0, 143, 88, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(0, 143, 88, 0);
    }
}

.btn-glow::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -60%;
    width: 25%;
    height: 200%;
    background: rgba(255, 255, 255, 0.25);
    transform: rotate(25deg);
    animation: flashPass 4s infinite;
}

@keyframes flashPass {
    0% { left: -60%; }
    15% { left: 120%; }
    100% { left: 120%; }
}

.lazy-img {
	opacity: 0;
	transition: opacity 0.3s ease-in-out;
}

.lazy-img.loaded {
	opacity: 1;
}

.lazy-video {
	background-color: #0d0d0f;
	background-size: cover;
	background-position: center;
	opacity: 0;
	transition: opacity 0.3s ease-in-out; 
}

.lazy-video.loaded {
	opacity: 1;
}

.link-kontak {
    color: var(--accent-color);
    text-decoration: none;
    transition: all 0.3s ease;
}

.link-kontak:visited {
    color: var(--accent-color);
	text-decoration: none;
}

.link-kontak:hover {
    color: var(--white-color);
    text-shadow: 0 0 8px var(--accent-color);
    text-decoration: none;
}

.link-kontak:active {
    color: var(--white-color);
    transform: scale(0.98); 
	text-decoration: none;
}

.link-kontak:focus {
    color: var(--accent-color) !important;
    text-decoration: none;
}

.shine-nu {
	background: linear-gradient(to right, var(--title-color) 20%, var(--accent-color) 40%, var(--title-color) 60%);
	background-size: 200% auto;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	animation: shineEffect 4s linear infinite;
	font-weight: bold;
	display: inline-block;
	transform: none !important;
}

@keyframes shineEffect {
    from { 
        background-position: 200% center; 
    }
    to { 
        background-position: -200% center; 
    }
}

