/* ===== BASE ===== */
body { 
  margin: 0; 
  font-family: "Jost", sans-serif; 
  background: #f4f4f4; 
}

/* ===== MAIN SLIDER ===== */
.slider-container1 {
  position: relative;
  width: 100%;
  height: 700px;
  overflow: hidden;

  background:
    linear-gradient(to bottom, #0f4c75, transparent 50%) top,
    linear-gradient(to top, #0f4c75, transparent 50%) bottom,
    #0f4c75;

  background-repeat: no-repeat;
  background-size: 100% 40px;
  padding: 40px;
}


.slider-container {
  position: relative;
  width: 100%;
  height: 640px;       /* match vertical nav height */
  /*margin: 40px auto;*/
  overflow: hidden;
  background-repeat: no-repeat;
  background-size: 100% 40px;
  border-radius: 0px;
  padding: 0px 0px;
}

.slides-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
}

.slide {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% - 454px); /* leave space for vertical nav */
  height: 100%;
  opacity: 0;
  transition: opacity 1s ease-in-out;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  background: #0f4c75;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.slide img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}

.slide.active {
  opacity: 1;
  z-index: 1;
}

/* Overlay for text readability */
.text-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 70%;
  max-width: 900px;
  height: auto;
  background: linear-gradient(
    to top,
    rgba(0,0,0,0.65) 0%,
    rgba(0,0,0,0.45) 40%,
    rgba(0,0,0,0.15) 75%,
    rgba(0,0,0,0) 100%
  );
  padding: 40px 35px;
  box-sizing: border-box;
  pointer-events: none;
}

.text-overlay a { pointer-events: auto; }

/* ===== TEXT LAYERS ===== */
.layer {
  position:absolute;
  z-index:2;
  opacity:0;
  transform:translateY(15px);
  transition: all 0.8s ease;
  color:#fff;
  font-weight:600;
  max-width:90%;
  line-height:1.6;
  text-shadow:
    0 2px 6px rgba(0,0,0,0.85),
    0 0 18px rgba(0,0,0,0.55),
    0 0 35px rgba(0,0,0,0.35);
  background: linear-gradient(
    to right,
    rgba(0,0,0,0.55),
    rgba(0,0,0,0.35),
    rgba(0,0,0,0)
  );
  backdrop-filter: blur(2px);
  padding:6px 10px;
  border-radius:1px;
  display:inline-block;
}

.slide.active .layer { opacity:1; transform:translateY(0); }

.layer.category {
  font-size:12px;
  bottom:248px;
  left:30px;
  font-weight:700;
  font-family:"Jost",sans-serif;
  padding:4px 5px;
  background-color:#20963cb1;
  text-transform:uppercase;
  border-radius:3px;
}

.layer.title { font-size:25px; bottom:200px; left:30px; font-weight:700; }
.layer.subheading { font-size:18px; bottom:120px; left:30px; font-weight:500; }
.layer.excerpt { font-size:16px; bottom:95px; left:30px; right:30px; max-height:55px; overflow:hidden; text-overflow:ellipsis; }
.layer.info { font-size:18px; bottom:170px; left:30px; font-style:italic; font-weight:500; color:#ddd; font-family:"Jost",sans-serif; }
.layer.btn { bottom:40px; left:30px; padding:3px 10px; border:#82898e solid; border-radius:6px; text-decoration:none; font-weight:600; }

/* ===== ARROWS ===== */
.arrow {
  position:absolute;
  bottom:5px;
  font-size:25px;
  color:#fff;
  background:rgb(7, 41, 77);
  padding:10px;
  border-radius:3px;
  cursor:pointer;
  z-index:25;
  transition:0.3s;
}
.arrow.left { right:490px; }
.arrow.right { right:455px; }
.arrow:hover { background:#0f4c75; }

/* ===== VERTICAL NAV ===== */
.vertical-nav {
  position: absolute;
  top: 0;
  right: 0;
  width: 450px;
  height: 650px;  /* total height for 7 items */
  display: flex;
  flex-direction: column;
  overflow: hidden;  
  background: #f3f5f7;
  box-shadow: 0 10px 35px rgba(0,0,0,0.18);
}

.nav-box {
  flex: 1 1 0;              /* evenly divide vertical nav among 7 items */
  display: flex;
  align-items: center;
  gap: 8px;                 /* small gap between image and text */
  padding: 2px 5px;         /* minimal padding */
  border-bottom: 1px solid #fff;
  border-right: 2px solid transparent;
  cursor: pointer;
  box-sizing: border-box;   /* include padding & border in height */
}

.nav-box:last-child { border-bottom: none; }

.nav-box img {
  width: 80px;              
  height: 60px;
  object-fit: cover;
  border-radius: 4px;
  border: 2px solid #fff;
}

.nav-box .text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 60px;
  line-height: 22px;        /* keep line height as requested */
}

.nav-box span { font-size:16px; font-weight:700; color:#6b6b6b;  font-family: "Poppins", "Open Sans", Arial, sans-serif;;}
.nav-box .date { font-size:15px; font-weight:700; color:#6b6b6b;  font-family: "Poppins", "Open Sans", Arial, sans-serif;; }

.nav-box.active { background:#e9eef3; border-right-color:#0f4c75; }
.nav-box:hover { background:#eef2f6; }

/* ===== RESPONSIVE ===== */
@media(max-width:992px){ .vertical-nav { width:320px; display: none !important;} }
@media(max-width:768px){
  .slider-container { width:100%; height:520px; margin:20px auto; padding:8px; }
  .slide { width:100%; }
  .text-overlay { width:100%; max-width:none; padding:25px 20px; background:linear-gradient(to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.45) 50%, rgba(0,0,0,0) 100%); }

  .layer.category { bottom:210px; font-size:11px; }
  .layer.title { bottom:165px; font-size:20px; }
  .layer.info { bottom:135px; font-size:13px; }
  .layer.subheading { bottom:110px; font-size:14px; }
  .layer.excerpt { bottom:70px; font-size:13px; max-height:45px; }
  .layer.btn { bottom:25px; font-size:12px; padding:6px 14px; }

  .vertical-nav { width:320px; height:520px; }
  .nav-box { flex-direction:column; min-width:160px; max-width:160px; text-align:center; border:none; padding:10px; background:#f3f5f7; border-radius:8px; }
  .nav-box img { width:100%; height:90px; border:4px solid #fff; }
  .nav-box span { font-size:12px; margin-top:6px; }
  .nav-box.active { border-bottom:4px solid #0f4c75; background:#e9eef3; }

  .arrow { bottom:35px; font-size:18px; }
  .arrow.left { right:70px; }
  .arrow.right { right:38px; }

  .slider-container1 {
  position: relative;
  width: 100%;
  height: 580px;       /* match vertical nav height */
  /*margin: 40px auto;*/
  overflow: hidden;
  background:
    linear-gradient(to bottom, #0f4c75, transparent 50%) top,
    linear-gradient(to top, #0f4c75, transparent 50%) bottom,
    #0f4c75;
  background-repeat: no-repeat;
  background-size: 100% 10px;
  border-radius: 0px;
  padding: 10px 10px 10px  ;
}
}

/* ===== AUTHOR UNDERLINE EFFECT ===== */
.author {
  text-decoration: underline;
  text-decoration-color: #ff6b6b;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}