@import url('https://fonts.googleapis.com/css2?family=Barlow:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

:root {
--black: #000;
--orange: #f18c40;
--white: #fff;
--green: #006400;
}

input:focus,
.form-select:focus,
.form-control:focus,
button:focus,
.btn:focus,
.navbar-toggler:focus {
box-shadow: unset;
}

* {
margin: 0;
padding: 0;
box-sizing: border-box;
}

body {
font-family: "Barlow", sans-serif;
font-weight: 400;
font-style: normal;
overflow-x: hidden;
}

/* ============<!--top-nav-->============= */

.top-nav {
background: var(--green);
color: white;
padding: 8px 0;
font-size: 0.85rem;
}

.top-nav a {
color: white;
text-decoration: none;
transition: 0.3s;
}

.top-nav a:hover {
color: var(--orange);
}

.form-btn {
background-color: var(--orange);
padding: 4px 8px;
border-radius: 5px;
font-weight: 600;
}

.top-nav .form-btn:hover {
color: var(--black) !important;
}

.top-nav i.fa-brands {
font-size: large;
}

.input-group input.form-control.border-success {
border-color: #006400 !important;
}

.input-group button.btn.btn-success {
background: #006400 !important;
}

/* ==============<!--brand-logo-section-->================= */

.brand-section {
padding-block: 10px;
}

/* =============<!--nav-bar-section-->============ */

.navbar {
padding: 0;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
border-top: 2px solid var(--green);
}

.dropdown-toggle::after {
vertical-align: .35em !important;
}

.nav-link {
color: var(--black) !important;
font-weight: 500;
padding: 18px 15px !important;
text-transform: uppercase;
font-size: 0.9rem;
transition: all 0.3s;
}

.nav-link:hover,
.nav-link.active {
color: var(--orange) !important;
}

nav.navbar.navbar-expand-lg.sticky-top {
background: var(--white);
}

/* Sub-menu Level 1 (Green) */
.dropdown-menu {
border: none;
border-top: 3px solid var(--orange);
border-radius: 0;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
padding: 0;
min-width: 220px;
}

.dropdown-item {
padding: 12px 25px;
border-bottom: 1px solid rgba(255, 255, 255, 0.3);
color: var(--white);
font-weight: 500;
position: relative;
background-color: var(--green);
}

/* Sub-menu Level 2 (Orange Side-Menu) */
.dropdown-submenu {
position: relative;
}

.dropdown-submenu>.submenu-orange {
top: 0;
left: 100%;
margin-top: 0px;
display: none;
position: absolute;
background-color: var(--green);
border-top: 3px solid var(--orange);
min-width: 300px;
box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.1);
}

.dropdown-submenu:hover>.submenu-orange {
display: block;
}

.submenu-orange a {
color: white !important;
padding: 12px 20px;
display: block;
text-decoration: none;
border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.submenu-orange a:hover,
.dropdown-item:hover {
background-color: var(--white);
color: var(--black) !important;
}

.navbar-toggler {
border: none;
outline: none;
}

.navbar-toggler-icon {
background-image: none;
width: 30px;
height: 2px;
background-color: #000;
position: relative;
transition: all 0.3s ease;
}

.navbar-toggler-icon::before,
.navbar-toggler-icon::after {
content: '';
position: absolute;
width: 30px;
height: 2px;
background-color: #000;
left: 0;
transition: all 0.3s ease;
}

.navbar-toggler-icon::before {
top: -8px;
}

.navbar-toggler-icon::after {
top: 8px;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
background-color: transparent;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::before {
transform: rotate(45deg);
top: 0;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::after {
transform: rotate(-45deg);
top: 0;
}

@media (max-width: 991px) {
.dropdown-submenu .submenu-orange {
    display: none;
    position: static;
    min-width: 100%;
    box-shadow: none;
}

.dropdown-submenu.show>.submenu-orange {
    display: block;
}
img.main-logo {
    height: 50px;
}
.navbar-nav li.nav-item {
    border-bottom: 1px solid #006400;
}
.top-nav a{
    font-size: 13px;
}
.content-card{
    flex-wrap: wrap;
    gap: 20px;
}
}

@media (max-width:567px) {
    .content-card img {
    max-width: 100% !important;
    border-radius: 5px !important;
    margin: 0 !important;
}
}

/* ==========<!--home-hero-section-->=========== */
.hero-slider {
height: 550px;
position: relative;
overflow: hidden;
z-index: 1;
}

.swiper-slide img {
width: 100%;
height: 100%;
object-fit: cover;
filter: brightness(0.8);
}

.hero-overlay {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: rgb(255 255 255 / 80%);
padding: 25px 50px;
border-left: 5px solid var(--orange);
width: 80%;
max-width: 900px;
box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
}

.swiper-pagination-bullets {
display: none;
}

.swiper-button-next,
.swiper-button-prev {
padding: 30px;
}

.swiper-button-next:hover,
.swiper-button-prev:hover {
background: #ffffff8c;
}


@media (max-width: 991px) {
.hero-slider {
    height: 350px;
}

.hero-overlay {
    width: 95%;
    padding: 15px;
    bottom: 10px;
}

.swiper-button-next,
.swiper-button-prev {
    padding: 10px;
}
}

/* ======<!--our-strip-section-->======= */


.our-strip {
background: #000;
overflow: hidden;
padding: 3px 0;
}

.marquee-wrapper {
overflow: hidden;
position: relative;
max-width: 100%;
}

.marquee-track {
display: flex;
gap: 20px;
animation: scroll-left 50s linear infinite;
}

.marquee-track p {
margin-bottom: 0;
}

.marquee-track:hover {
animation-play-state: paused;
}

.o-s {
display: flex;
align-items: center;
gap: 10px;
flex-shrink: 0;
}

.strip-text p a {
font-weight: bold;
font-size: 14px;
color: #fff;
text-decoration: none;
}

.strip-text p a:hover {
text-decoration: underline;
color: #ffcc00;
}

.strip-img img,
.upcoming-event-marquee img {
width: 30px !important;
height: 30px !important;
object-fit: contain !important;
}

@keyframes scroll-left {
0% {
    transform: translateX(100%);
}

100% {
    transform: translateX(-100%);
}
}


/* ============<!--about-contnet-section-->========== */
.about-content-sec {
padding: 50px 0;
}

.content-card {
background: white;
border: none;
border-radius: 5px;
border: 1px solid #eee;
overflow: hidden;
transition: 0.4s;
box-shadow: 0 5px 20px rgba(0, 0, 0, 0.03);
}

.content-card img {
max-width: 215px;
width: 100%;
height: 215px;
object-fit: cover;
}

.text-success {
color: var(--green) !important;
}

.text-warning {
color: var(--orange) !important;
}

.text-muted {
color: rgb(33 37 41) !important;
}

.btn-outline-success {
--bs-btn-color: var(--green) !important;
--bs-btn-border-color: var(--green) !important;
}

.btn-outline-warning:hover {
background-color: var(--orange) !important;
color: #ffffff;
border-color: var(--orange) !important;
}

.btn-outline-warning {
--bs-btn-color: var(--orange) !important;
--bs-btn-border-color: var(--orange) !important;
}

.badge-pulse {
background: var(--secondary);
color: white;
border-radius: 50px;
padding: 5px 15px;
}

.content-card button {
font-weight: 500;
}

.card-text ul li {
padding-block: 7px;
}

/* Unique Sidebar Dashboard */
.dashboard-pill {
background: white;
margin-bottom: 12px;
border-radius: 12px;
display: flex;
align-items: center;
border: 1px solid #eee;
overflow: hidden;
transition: 0.3s;
text-decoration: none;
}

.dashboard-pill:hover {
border-color: var(--orange);
background: #fffcf9;
}

.icon-sq {
background: var(--green);
color: white;
width: 50px;
height: 50px;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.2rem;
}

.pill-label {
padding: 0 15px;
font-weight: 600;
font-size: 1rem;
color: #444;
}

.upcoming-event-marquee li a {
color: var(--black);
padding-block: 10px;
text-align: left;
}

.upcoming-event h6 {
text-transform: uppercase;
}

.upcoming-event-marquee li {
margin-bottom: 10px;
}

.about-content-sec .card {
border: 1px solid #eee;
box-shadow: 0 5px 20px rgba(0, 0, 0, 0.03);
}

.card-content {
border-left: 5px solid var(--orange);
border-radius: 5px;
}

.card-content p {
line-height: 1.8;
}

/* ============<--our-research-->=========== */

.research-bento{
background-color: #fcfcfc;
}

.heading-2{
color: var(--green);
letter-spacing: 1px;
position: relative;
display: inline-block; 
padding-bottom: 10px;
}

.heading-2::after{
content: "";
display: block;
width: 70px;
height: 3px;
background: var(--orange);
margin-top: 8px;
}

.bento-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
grid-auto-rows: minmax(200px, auto);
gap: 20px;
}

.main-card {
grid-row: span 2;
background: var(--green) !important;
color: white !important;
}

.bento-item {
background: #fff;
border-radius: 15px;
padding: 25px;
border: 1px solid #f0f0f0;
transition: all 0.3s ease;
display: flex;
align-items: center;
}

.bento-item:hover {
transform: translateY(-8px);
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1) !important;
border-color: #ed8e43;
}

.bento-content {
width: 100%;
}

/* Typography */
.bento-item h4,
.bento-item h5 {
font-weight: 700;
margin-bottom: 12px;
text-transform: uppercase;
letter-spacing: 0.5px;
}

.bento-item p {
font-size: 0.88rem;
line-height: 1.5;
color: #555;
margin-bottom: 15px;
display: -webkit-box;
-webkit-line-clamp: 3;
/* Limit text lines to keep boxes even */
-webkit-box-orient: vertical;
overflow: hidden;
}

.main-card p {
color: rgba(255, 255, 255, 0.85);
-webkit-line-clamp: 6;
}

.icon-green {
color: #386918;
font-size: 1.5rem;
}

.main-card .icon-orange {
color: #ed8e43;
}

.read-more-btn {
display: inline-block;
background: #ed8e43;
color: white;
padding: 8px 20px;
border-radius: 50px;
text-decoration: none;
font-size: 0.85rem;
font-weight: 600;
transition: 0.3s;
}

.read-more-btn:hover {
background: #fff;
color: #386918;
}

.small-link {
color: var(--green);
text-decoration: none;
font-weight: 700;
font-size: 0.8rem;
text-transform: uppercase;
border-bottom: 2px solid transparent;
}

.small-link:hover {
border-bottom: 2px solid #ed8e43;
}

.accent-bg {
background: #fffcf9;
}

/* Responsive */
@media (max-width: 1100px) {
.bento-grid {
    grid-template-columns: repeat(3, 1fr);
}
}

@media (max-width: 991px) {
.bento-grid {
    grid-template-columns: repeat(2, 1fr);
}

.main-card {
    grid-row: span 1;
    background: white !important;
    color: #333 !important;
}

.main-card p {
    color: #555 !important;
}
}

@media (max-width: 576px) {
.bento-grid {
    grid-template-columns: 1fr;
}
}


/* ============<!--services-section-->========= */
.service-item-box {
padding: 30px;
background: #ffffff;border: 1px solid #f0f0f0;
border-radius: 15px;
transition: all 0.3s ease;
text-align: left;
}

.service-item-box:hover {
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
border-color: #ed8e43;
transform: translateY(-5px);
}

.icon-circle-green {
width: 60px;
height: 60px;
background-color: #386918;
color: #ffffff;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.5rem;
margin-bottom: 20px;
transition: 0.3s;
}

.service-item-box:hover .icon-circle-green {
background-color: #ed8e43;
}

.service-item-box h5 {
font-weight: 700;
color: #333;
margin-bottom: 20px;
font-size: 1.15rem;
}

.read-more-link {
text-decoration: none;
color: #ed8e43;
font-weight: 700;
font-size: 0.85rem;
text-transform: uppercase;
display: inline-flex;
align-items: center;
gap: 8px;
transition: 0.2s;
}

.read-more-link:hover {
color: #386918;
}

.read-more-link i {
font-size: 0.75rem;
}


/* =======<!--Quick Resources-section-->======== */
.quick-access{
background-color: #fcfcfc;
}

.link-card {
    background: #ffffff;
    border-radius: 12px;
    padding:20px;
    text-align: center;
    border: 1px solid #f0f0f0;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    height: 100%;
}

.link-card.horizontal {
    padding: 20px;
    display: flex;
    align-items: center;
    text-align: left;
}

.link-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.05) !important;
    border-color: #386918;
}

.link-icon-bg {
    max-width: 264px;
    height: auto;
    width: 100%;
    background: #f4f9f4;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 15px;
    transition: 0.3s;
}

.link-card:hover .link-icon-bg {
    background: #386918;
    color: white;
}

.link-card.horizontal i {
    font-size: 1.5rem;
    color: #386918;
}

.highlight-orange i { color: #ed8e43; }

.link-card h6 {
    font-weight: 700;
    color: #333;
    font-size: 1rem;
    margin-bottom: 10px;
}

.small-text {
    font-size: 0.8rem;
    color: #ed8e43;
    text-decoration: none;
    font-weight: 600;
}

.badge-new {
    background: #ed8e43;
    color: white;
    font-size: 0.65rem;
    padding: 2px 8px;
    border-radius: 4px;
    position: absolute;
    top: 15px;
    right: 15px;
    text-transform: uppercase;
}

.btn-link-overlay {
    font-size: 0.75rem;
    color: #ed8e43;
    text-decoration: none;
    font-weight: 700;
    text-transform: uppercase;
    display: block;
    margin-top: 10px;
    transition: 0.3s;
}



/* =======<!--footer-section-->======== */

.main-footer{
    background-color: #000; color: #fff; border-top: 3px solid var(--orange);
}

.f-title {
    color: var(--orange);
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 1px;
    position: relative;
}

.f-title::after{
content: "";
display: block;
width: 30px;
height: 2px;
background: var(--white);
margin-top: 8px;
}

.f-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.f-list li {
    margin-bottom: 8px;
}

.f-list li a {
    color: #ffffff; /* High contrast white */
    text-decoration: none;
    font-size: 0.88rem;
    opacity: 0.8;
    transition: 0.3s;
}

.f-list li a:hover {
    opacity: 1;
    color: #ed8e43;
    padding-left: 5px;
}

.two-col {
    display: grid;
    grid-template-columns: 1fr;
}

/* Visitor Counter Styling */
.visitor-label {
    font-size: 0.75rem;
    color: #ed8e43;
    font-weight: 800;
    margin-bottom: 8px;
}

.footer-inline-links{
    border: 1px solid rgba(255,255,255,0.2);
    padding-block: 20px;
    border-width: 1px 0 1px 0;
}

.counter-wrap span {
    background: #222;
    color: #fff;
    padding: 4px 8px;
    border-radius: 3px;
    font-weight: 700;
    border: 1px solid #444;
    font-family: monospace;
}

/* Inline Legal Links */
.footer-inline-links a {
    color: #fff;
    text-decoration: none;
    font-size: 0.8rem;
    margin: 0 8px;
    white-space: nowrap;
    opacity: 0.7;
}

.footer-inline-links a:first-child{
    margin-left: 0;
}

.footer-inline-links a:hover {
    opacity: 1;
    text-decoration: underline;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .f-title { margin-top: 15px; }
    .footer-inline-links a { display: inline-block; margin-bottom: 10px; }

    .link-icon-bg{
        max-width: 100% !important;
    }
    .link-icon-bg img{
        width: 100% !important;
    }
}