/* ========================================================
1. OJS DEFAULT THEME HEADER OVERRIDES
Color Scheme: #000099 (Deep Blue) & White
======================================================== */

/* Fix header spacing without breaking mobile view */
.pkp_site_name {
padding-top: 10px;
padding-bottom: 10px;
}

.pkp_site_name .is_img img {
max-height: 150px; /* Reduced slightly to fit default theme better */
width: auto;
}

/* Primary Navigation Bar (The main blue bar) */
.pkp_navigation_primary_row {
background-color: #000099; /* MAIN COLOR */
color: #fff;
padding-top: 5px;
padding-bottom: 5px;
}

.pkp_navigation_primary,
.pkp_navigation_primary a {
color: #fff !important;
}

.pkp_navigation_primary a:hover {
color: #e6e6ff !important; /* Lighter blue on hover */
background-color: rgba(255,255,255, 0.1);
border-radius: 4px;
}

/* Page Structure Margins (Fixed missing 'px' from original code) */
.pkp_structure_page {
margin-top: 20px !important;
margin-bottom: 20px !important;
padding-bottom: 20px !important;
}

/* ========================================================
2. CUSTOM VERTICAL MENU
(Requires HTML in a Custom Block)
======================================================== */

.vertical-menu {
width: 100%;
border: 1px solid #ddd; /* Added border for definition */
border-radius: 5px;
overflow: hidden;
}

.vertical-menu a {
background-color: #fff;
color: #000099; /* Blue text */
display: block;
padding: 12px;
text-decoration: none;
font-family: Arial, sans-serif;
border-bottom: 1px solid #eee;
transition: all 0.3s ease;
}

.vertical-menu a:hover {
background-color: #e6e6ff; /* Very light blue hover */
padding-left: 15px; /* Slight movement effect */
}

.vertical-menu a.active {
background-color: #000099; /* Active Blue */
color: white;
}

/* ========================================================
3. CUSTOM ABOUT SECTION STYLING
======================================================== */
.jv-judul {
display: flex;
align-items: center;
margin-bottom: 25px;
border-bottom: 2px solid #eee; /* Added separator */
padding-bottom: 10px;
}

.jv-borderkr {
width: 6px;
height: 40px;
background: linear-gradient(to bottom, #000099, #4d4dff); /* Blue Gradient */
border-radius: 3px;
margin-right: 15px;
}

.jv-jdlh1 {
margin: 0 !important;
color: #000099 !important; /* Blue Title */
font-size: 24px !important;
font-weight: bold;
}

/* ========================================================
4. CUSTOM ANNOUNCEMENT GRID
======================================================== */
.announcement-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 20px;
margin-bottom: 30px;
}

.announcement-card {
background: #fff;
border: 1px solid #e0e0e0;
border-top: 4px solid #000099; /* Blue top accent */
border-radius: 10px;
padding: 20px;
text-align: center;
box-shadow: 0 4px 10px rgba(0,0,0,0.05);
transition: transform 0.2s ease;
}

.announcement-card:hover {
transform: translateY(-4px);
box-shadow: 0 8px 15px rgba(0,0,153,0.15); /* Blue shadow hint */
}

.announcement-title a {
color: #000099; /* Blue Title */
text-decoration: none;
font-weight: 700;
font-size: 1.1em;
}

.announcement-date {
margin: 10px 0 15px;
color: #666;
font-size: 14px;
font-style: italic;
}

.announcement-button {
display: inline-block;
padding: 8px 20px;
background-color: #000099; /* Blue Button */
color: white;
text-decoration: none;
font-weight: bold;
border-radius: 30px;
font-size: 14px;
transition: background-color 0.3s;
}

.announcement-button:hover {
background-color: #000066; /* Darker Blue on hover */
color: white;
text-decoration: none;
}

/* "See All Announcements" Button */
.all-announcements-btn {
background: linear-gradient(to right, #000099, #0044cc); /* Blue Gradient */
color: white;
padding: 12px 24px;
border-radius: 30px;
text-decoration: none;
font-weight: 600;
box-shadow: 0 4px 10px rgba(0,0,0,0.1);
display: inline-block;
}

.all-announcements-btn:hover {
background: linear-gradient(to right, #000066, #000099);
transform: translateY(-2px);
color: white;
box-shadow: 0 6px 15px rgba(0,0,0,0.2);
}

/* ========================================================
5. CUSTOM TIMELINE
(Requires HTML in a Custom Block)
======================================================== */
.timeline-container {
background: #fff;
border-radius: 20px;
box-shadow: 0 12px 30px rgba(0, 0, 153, 0.05); /* Slight blue tint shadow */
padding: 40px 30px;
width: 100%;
margin-top: 30px;
box-sizing: border-box;
}

/* Unified Title Style for all timeline titles */
.timeline-title, .timeline-title-2, .timeline-title-3 {
display: flex;
align-items: center;
justify-content: center;
font-size: clamp(16px, 4vw, 20px);
font-weight: 700;
color: #000099; /* ALL TITLES BLUE */
margin-bottom: 40px;
position: relative;
padding-bottom: 10px;
}

.timeline-title svg, .timeline-title-2 svg, .timeline-title-3 svg {
width: 30px;
height: 30px;
margin-right: 12px;
fill: #000099; /* Icons Blue */
}

/* The underline animation */
.timeline-title::after, .timeline-title-2::after, .timeline-title-3::after {
content: "";
position: absolute;
bottom: 0;
width: 80px;
height: 4px;
background: #000099; /* Line Blue */
border-radius: 2px;
animation: underline 1.2s ease forwards;
}

@keyframes underline {
from { width: 0; }
to { width: 80px; }
}

.timeline-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); /* Responsive Grid */
gap: 20px;
}

.timeline-card {
border-radius: 16px;
padding: 20px;
color: #fff;
text-align: center;
transition: transform 0.3s ease, box-shadow 0.3s ease;
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

.timeline-card:hover {
transform: translateY(-8px);
box-shadow: 0 12px 25px rgba(0, 0, 153, 0.2);
}

/* Card Gradients - Shades of Blue/Indigo */
.card-1 {
background: linear-gradient(




/* ========================================================
6. MODERN HERO CARD (Pena Wimaya)
======================================================== */

.ojs-modern-card {
display: flex;
background: #fff;
border-radius: 15px;
box-shadow: 0 10px 30px rgba(0, 0, 153, 0.15); /* Soft Blue Shadow */
overflow: hidden; /* Keeps the image corners rounded */
margin: 30px 0;
font-family: 'Open Sans', Arial, sans-serif;
border: 1px solid #eef;
}

/* LEFT SIDE: TEXT */
.ojs-card-content {
flex: 2; /* Takes up 2/3 of the space */
padding: 40px;
display: flex;
flex-direction: column;
justify-content: center;
}

.ojs-head {
color: #000099; /* Deep Blue */
font-weight: 800;
font-size: 2.5rem;
margin: 0 0 10px 0;
line-height: 1.2;
text-transform: uppercase;
letter-spacing: -1px;
}

.ojs-sub {
color: #444;
font-weight: 600;
font-size: 1.1rem;
margin: 0 0 25px 0;
border-bottom: 3px solid #000099; /* Blue Accent Line */
display: inline-block;
padding-bottom: 10px;
}

.ojs-card-content p {
color: #555;
line-height: 1.8; /* Improves readability */
margin-bottom: 20px;
font-size: 15px;
}

/* The Quote Box */
.ojs-quote-box {
background-color: #f0f4ff; /* Very light blue bg */
border-left: 5px solid #000099;
padding: 15px 20px;
margin-top: 10px;
border-radius: 0 8px 8px 0;
}

.ojs-quote-box p {
margin: 0;
font-style: italic;
color: #000099;
font-weight: 600;
}

/* RIGHT SIDE: IMAGE */
.ojs-card-image {
flex: 1; /* Takes up 1/3 of the space */
background: linear-gradient(135deg, #000099, #0044cc); /* Gradient Blue */
display: flex;
align-items: center;
justify-content: center;
padding: 30px;
position: relative;
}

/* Adds a subtle texture overlay to the blue part (optional) */
.ojs-card-image::before {
content: "";
position: absolute;
top: 0; left: 0; right: 0; bottom: 0;
background: radial-gradient(circle at top right, rgba(255,255,255,0.1), transparent);
}

.ojs-card-image img {
max-width: 100%;
height: auto;
filter: drop-shadow(0 5px 15px rgba(0,0,0,0.3)); /* Makes white logo float */
transition: transform 0.3s ease;
}

.ojs-card-image:hover img {
transform: scale(1.05); /* Slight zoom effect on hover */
}

/* MOBILE RESPONSIVENESS */
@media (max-width: 768px) {
.ojs-modern-card {
flex-direction: column-reverse; /* Puts image on top on mobile */
}

.ojs-card-image {
padding: 40px;
}

.ojs-card-content {
padding: 25px;
}

.ojs-head {
font-size: 2rem;
}
}