/* Basic Reset and Global Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    /* Optional: Use a similar font */
    font-family: Poppins, sans-serif; 
}

:root {
    /* Define color variables based on the image */
    --primary-yellow: #FFD700; /* A bright yellow */
    --secondary-green: #4CAF50; /* A vibrant green */
    --text-dark: #333;
    --text-light: #fff;
    --hero-overlay-color: rgba(255, 255, 255, 0.75); /* White foggy overlay */
}

/* --- Navigation Bar (Header) --- */
.navbar {
    background-color: var(--primary-yellow);
    /* Ensures the navbar is at the top */
    position: sticky; 
    top: 0;
    z-index: 1000;
    margin: 0;
}

/* Landing page: let the video carry the header until the hero has scrolled away. */
.navbar--hero {
    position: fixed;
    right: 0;
    left: 0;
    background-color: transparent;
    transition: background-color 220ms ease, box-shadow 220ms ease;
}

.navbar--hero:not(.navbar--solid) .university-name,
.navbar--hero:not(.navbar--solid) .nav-links a {
    color: #fff;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
}

.navbar--hero:not(.navbar--solid) .nav-links a:hover {
    color: #fff4ad;
}

.navbar--hero:not(.navbar--solid) .nav-menu-toggle {
    border-color: #fff;
}

.navbar--hero:not(.navbar--solid) .nav-menu-toggle-bar {
    background: #fff;
}

.navbar--hero:not(.navbar--solid) .nav-links.is-open {
    background: rgba(0, 45, 20, 0.9);
}

.navbar--hero.navbar--solid {
    background-color: var(--primary-yellow);
}

.navbar-content {
    /* Set max width to mimic typical web layouts */
    max-width: 1200px; 
    margin: 0 auto;
    padding: 10px clamp(14px, 3vw, 20px);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    min-width: 0;
}

.logo-section {
    display: flex;
    align-items: center;
    min-width: 0;
}

.logo {
    /* Adjust size to match the small logo in the image */
    height: 40px; 
    margin-right: 10px;
}

.university-name {
    color: var(--text-dark);
    font-size: 10px;
    font-weight: bold;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.nav-links {
    display: flex;
    align-items: center;
    gap: clamp(10px, 1.45vw, 25px);
    min-width: 0;
}

.nav-links a {
    color: var(--text-dark);
    text-decoration: none;
    font-size: 14px;
    font-weight: bold;
    margin-left: 0;
    /* Animation: Subtle transition for hover effect */
    transition: color 0.3s ease; 
    transition: color 0.3s ease, transform 0.3s ease;
    white-space: nowrap;
}

.nav-links a:hover {
    color: var(--secondary-green);
}

.nav-links .highlight {
    /* To match the slightly different look/emphasis of ROOM RESERVATIONS */
    /* Could be colored green, or just a different shade */
    color: var(--text-dark); 
}


/* --- Hero Section (Main Content) --- */
/*.hero-section {*/
/*     Set height to cover the visible screen */
    /*height: calc(100vh - 60px); /* Adjust based on your header height 
    width: 100%;
     Replace 'library-bg.jpg' with the path to your actual image 
    background-image: url('img/kplrc_banner_2-2048x881.png'); 
    background-size: cover;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
}*/

/*.overlay {*/
    /* This creates the foggy, white washout effect */
/*    background-color: var(--hero-overlay-color); */
/*    width: 100%;*/
/*    height: 100%;*/
/*    display: flex;*/
/*    flex-direction: column;*/
/*    justify-content: center;*/
/*    align-items: center;*/
/*}*/

.welcome-text {
    /* Match the green color and font style */
    color: var(--secondary-green);
    font-size: 4vw; /* Responsive font size */
    font-weight: 900;
    margin-bottom: 30px;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);
    /* Initial state for a JS animation (e.g., fade in from below) */
    /* opacity: 0; 
    transform: translateY(20px); 
    transition: opacity 1s ease-out, transform 1s ease-out; */
}

.login-button {
    background-color: var(--secondary-green);
    color: var(--text-light) !important;
    border: none;
    padding: 12px 30px;
    font-size: 16px;
    font-weight: bold;
    border-radius: 5px;
    cursor: pointer;
    /* Animation: Click/Hover effect */
    transition: background-color 0.3s ease, transform 0.1s ease;
}

.login-button:hover {
    background-color: #388E3C; /* Darker shade on hover */
}

.login-button:active {
    /* Push-down effect on click */
    transform: scale(0.98); 
}



/* --- Styling for the New Image Gallery Section --- */

.image-gallery-section {
    padding: 50px 20px;
    background-color: #ffffff; /* White background for the section */
    text-align: center;
}

.gallery-header h2 {
    color: #4CAF50; /* Green color for the title */
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 30px;
}

/* Gallery Container - Grid Layout (3 columns) */
.gallery-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px; /* Space between images */
    max-width: 1200px;
    margin: 0 auto; /* Center the grid container */
}

/* Individual Image Card Styling */
.image-card {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.gallery-image {
    width: 100%;
    /* Maintain aspect ratio */
    height: auto; 
    object-fit: cover;
    border-radius: 8px; /* Rounded corners for the images */
    /* Optional: Add a subtle border or shadow to mimic the original look */
    border: 1px solid #ddd;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    margin-bottom: 10px;
}

/* Caption Styling */
.caption {
    font-size: 14px;
    font-weight: 500;
    color: #333;
    margin-top: 0;
}

/* Responsive adjustment for the gallery */
@media (max-width: 768px) {
    .gallery-container {
        /* Stack images vertically on small screens */
        grid-template-columns: 1fr;
    }
}



.vm-section {
    padding: 60px 20px;
    background-color: #ffffff; /* Light gray background to separate from other sections */
    text-align: center;
}

.vm-container {
    display: flex;
    justify-content: center;
    gap: 50px; /* Space between Vision and Mission columns */
    max-width: 900px;
    margin: 0 auto 50px auto; /* Center the V/M block and add space at the bottom */
}

.vm-item {
    flex: 1; /* Both items take equal space */
    max-width: 400px; /* Limit width for readability */
    padding: 0 10px;
}

.vm-title {
    color: #4CAF50; /* Green color for the titles */
    font-size: 26px;
    font-weight: bold;
    margin-bottom: 20px;
}

.vm-item p {
    color: #4CAF50; /* Green text color for the body text */
    font-size: 16px;
    line-height: 1.6;
}

/* Styling for the Kundo E. Pahm LRC Description */
.keplrc-description {
    max-width: 1000px;
    margin: 0 auto;
    padding: 20px;
    background-color: #ffffff; /* White background for the large text block */
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

.keplrc-description p {
    color: #333; /* Darker text for readability in the main block */
    font-size: 16px;
    line-height: 1.8;
    text-align: justify; /* Justify the text block for a clean look */
}

/* Media Query for responsiveness (Vision/Mission stack on mobile) */
@media (max-width: 768px) {
    .vm-container {
        flex-direction: column; /* Stack V/M vertically */
        gap: 30px;
    }
}


/* --- Styling for Philosophy Section --- */

.philosophy-section {
    padding: 60px 20px;
    background-color: #ffffff; /* White background */
    text-align: center;
}

.philosophy-container {
    max-width: 1000px;
    margin: 0 auto;
    text-align: left; /* Align text within the container to the left, as in the image */
}

.philosophy-title {
    color: #4CAF50; /* Green color for the title */
    font-size: 32px;
    font-weight: bold;
    margin-bottom: 30px;
    text-align: left;
}

.philosophy-intro {
    color: #4CAF50; /* Green text color */
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 20px;
}

.philosophy-list {
    list-style: none; /* Remove default list markers */
    padding-left: 0;
    counter-reset: philosophy-counter; /* Initialize a counter */
}

.philosophy-list li {
    color: #4CAF50; /* Green text color */
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 15px;
    position: relative;
    padding-left: 25px; /* Space for the custom counter */
}

/* Custom numbering style using CSS counters */
.philosophy-list li:before {
    counter-increment: philosophy-counter;
    content: counter(philosophy-counter) ".";
    font-weight: bold;
    color: #4CAF50; /* Ensure the number is also green */
    position: absolute;
    left: 0;
    top: 0;
}


/* --- Styling for Goals and Objectives Section --- */

.goals-objectives-section {
    padding: 60px 20px;
    background-color: #ffffff; /* Light gray background to distinguish the section */
    text-align: center;
}

.goals-container {
    max-width: 1000px;
    margin: 0 auto;
    text-align: left;
}

.goals-main-title {
    color: #4CAF50; /* Green color for the main title */
    font-size: 32px;
    font-weight: bold;
    margin-bottom: 20px;
}

.goals-subtitle {
    color: #4CAF50; /* Green text color */
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 40px;
}

.goals-heading {
    color: #FFD700; /* Gold/Yellow color for the "Goals" heading */
    font-size: 28px;
    font-weight: bold;
    margin-top: 40px;
    margin-bottom: 20px;
}

.goals-list {
    list-style: decimal; /* Use standard numbered list */
    padding-left: 25px;
}

.goals-list li {
    color: #4CAF50; /* Green text color for list items */
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 15px;
}


/* --- Footer Styling --- */
.site-footer {
    background-color: #FFD700; /* University Yellow */
    padding: 5px 20px;
    text-align: center;
    border-top: 3px solid #4CAF50; /* Green accent line */
}

.footer-content {
    max-width: 1000px;
    margin: 0 auto;
}

.footer-logo {
    width: 50px; /* Adjust size as needed */
    height: auto;
    margin-bottom: 5px;
}

.footer-university-name {
    color: #006400; /* Dark Green */
    font-size: 10px;
    font-weight: bold;
    margin: 10px 0;
    letter-spacing: 1px;
}

.footer-tagline {
    color: #006400; /* Dark Green */
    font-size: 10px;
    margin-bottom: 5px;
}

.footer-copyright {
    color: #006400; /* Dark Green */
    font-size: 10px;
    margin-top: 20px;
    border-top: 1px solid rgba(0, 100, 0, 0.2);
    padding-top: 15px;
}

.hero-section {
    position: relative;
    width: 100%;
    margin: 0;
    border: 0;
    min-height: clamp(520px, calc(100vh - 64px), 760px);
    min-height: clamp(520px, calc(100svh - 64px), 760px);
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: clamp(28px, 6vw, 76px) clamp(16px, 5vw, 72px);
    background: #052c17 url('img/kplrc_banner_2-2048x881.png') center / cover no-repeat;
}

.hero-section.video-fallback .bg-video,
.zendy-banner.video-fallback .bg-video {
    opacity: 0;
    pointer-events: none;
}

.zendy-banner.video-fallback {
    background: #052c17 url('img/kplrc_banner_2-2048x881.png') center / cover no-repeat;
}

.bg-video {
    display: block;
    position: absolute;
    padding: 0;
    margin: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

/* Standalone video banner below the hero. */
.zendy-banner {
    position: relative;
    width: 950px;
    height: 550px;
    margin: 0 auto 42px;
    overflow: hidden;
    background: #052c17;
    border-radius: 16px;
    box-shadow: 0 16px 36px rgba(0, 55, 24, 0.16);
}

.zendy-banner .bg-video {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 950px;
    height: 550px;
    padding: 0;
    margin: 0;
    object-fit: cover;
    object-position: center;
}

@media (max-width: 1240px) {
    .zendy-banner {
        width: 960px;
        height: 360px;
    }

    .zendy-banner .bg-video {
        width: 960px;
        height: 360px;
    }
}

@media (max-width: 1000px) {
    .zendy-banner {
        width: 720px;
        height: 300px;
    }

    .zendy-banner .bg-video {
        width: 720px;
        height: 300px;
    }
}

@media (max-width: 760px) {
    .zendy-banner {
        width: 520px;
        height: 260px;
    }

    .zendy-banner .bg-video {
        width: 520px;
        height: 260px;
    }
}

@media (max-width: 560px) {
    .zendy-banner {
        width: 280px;
        height: 220px;
    }

    .zendy-banner .bg-video {
        width: 280px;
        height: 220px;
    }
}


.hero-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(2, 24, 12, 0.04), rgba(2, 28, 14, 0.18));
    z-index: 1;
    pointer-events: none;
}

.hero-video-feature {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}

.hero-video-feature::after {
    content: "";
    position: absolute;
    inset: 0;
    background: transparent;
    pointer-events: none;
}

.hero-video-caption {
    position: absolute;
    left: 22px;
    right: 22px;
    bottom: 20px;
    z-index: 1;
    display: grid;
    gap: 4px;
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 16px;
    background: rgba(0, 55, 24, 0.18);
    color: rgba(255, 255, 255, 0.86);
    text-align: left;
    backdrop-filter: blur(14px) saturate(150%);
    -webkit-backdrop-filter: blur(14px) saturate(150%);
}

.hero-video-caption span {
    color: rgba(255, 215, 0, 0.82);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.hero-video-caption strong {
    font-size: clamp(1rem, 1.6vw, 1.35rem);
    line-height: 1.2;
}

.overlay {
    position: relative;
    z-index: 2;
    min-width: 0;
    width: 1000px;
    height: auto;
    display: flex;  
    justify-content: center;
    align-items: center;
    color: white;
    text-align: center;
}

.hero-search-feature,
.hero-search-feature .home-search-react-root {
    justify-content: flex-start;
}

.hero-search-feature {
    text-align: center;
}

.home-search-react-root {
    display: flex;
    width: 100%;
    justify-content: center;
}

.home-search-panel {
    position: relative;
    overflow: hidden;
    width: min(100%, 960px);
    max-width: 960px;
    min-width: 0;
    padding: clamp(18px, 2.5vw, 24px);
    border: 1px solid rgba(255, 255, 255, 0.52);
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.2), rgba(236, 255, 242, 0.08));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.68),
        0 28px 80px rgba(0, 35, 15, 0.24);
    backdrop-filter: blur(9px) saturate(120%);
    -webkit-backdrop-filter: blur(9px) saturate(120%);
}

.home-search-panel::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background:
        radial-gradient(circle at 18% 0%, rgba(255, 215, 0, 0.18), transparent 34%),
        linear-gradient(120deg, rgba(255, 255, 255, 0.32), transparent 42%);
    opacity: 0.5;
    pointer-events: none;
}

.home-search-panel > * {
    position: relative;
    z-index: 1;
}

.home-search-kicker {
    color: #276b36;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.18em;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.home-search-title {
    color: #123b22;
    font-size: clamp(1.45rem, 2.8vw, 2.2rem);
    font-weight: 900;
    line-height: 1.05;
    margin-bottom: 10px;
    text-shadow: none;
}

.home-search-copy {
    color: #486552;
    font-size: clamp(0.88rem, 1.6vw, 1rem);
    margin-bottom: 14px;
}

.home-opac-search {
    position: relative;
    overflow: hidden;
    display: flex;
    flex: 0 0 880px;
    flex-shrink: 0;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    width: 880px;
    max-width: calc(100vw - 72px);
    margin: 0 auto;
    padding: 4px;
    border: 1px solid rgba(255, 255, 255, 0.58);
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.34), rgba(230, 255, 239, 0.14));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.78),
        inset 0 -1px 0 rgba(20, 82, 39, 0.08),
        0 16px 38px rgba(0, 35, 15, 0.2);
    backdrop-filter: blur(22px) saturate(145%);
    -webkit-backdrop-filter: blur(22px) saturate(145%);
}

.home-opac-search::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(110deg, rgba(255, 255, 255, 0.42), transparent 38%, rgba(255, 215, 0, 0.08));
    pointer-events: none;
}

.home-opac-search > * {
    position: relative;
    z-index: 1;
}

.home-opac-search__icon {
    flex: 0 0 auto;
    margin-left: 10px;
    color: #174c2b;
}

.home-opac-search__input {
    flex: 1;
    min-width: 0;
    height: 38px;
    padding: 0 8px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #17331f;
    font-size: 0.92rem;
    outline: none;
    box-shadow: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.home-opac-search__input::placeholder {
    color: rgba(23, 51, 31, 0.48);
}

.home-opac-search__input:focus {
    background: transparent;
    box-shadow: none;
}

.home-opac-search:focus-within {
    border-color: rgba(30, 76, 119, 0.9);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.46), rgba(230, 255, 239, 0.22));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.6),
        0 0 0 4px rgba(30, 76, 119, 0.24),
        0 16px 38px rgba(0, 35, 15, 0.18);
}

.home-opac-search__clear {
    display: grid;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.38);
    color: #214d30;
    cursor: pointer;
}

.home-opac-search__button {
    flex: 0 0 126px;
    width: 126px;
    height: 38px;
    padding: 0 16px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 999px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0)),
        rgba(255, 215, 0, 0.62);
    color: rgba(16, 47, 26, 0.82);
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: 900;
    white-space: nowrap;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.42),
        0 12px 26px rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(10px) saturate(140%);
    -webkit-backdrop-filter: blur(10px) saturate(140%);
    transition: box-shadow 0.2s ease, filter 0.2s ease, transform 0.2s ease;
}

.home-opac-search__button:hover,
.home-opac-search__button:focus-visible {
    filter: brightness(1.06);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.5),
        0 16px 32px rgba(0, 0, 0, 0.22);
    transform: translateY(-1px);
}

.home-opac-search__button:active {
    transform: scale(0.97);
}

.image-gallery-section,
.vm-section,
.goals-objectives-section,
.objectives-section {
    padding-left: clamp(14px, 4vw, 20px);
    padding-right: clamp(14px, 4vw, 20px);
}

.gallery-container,
.vm-container,
.keplrc-description,
.philosophy-container,
.goals-container,
.footer-content {
    width: 100%;
    min-width: 0;
}

/* Responsive Footer */
@media (max-width: 768px) {
    .footer-university-name {
        font-size: 18px;
    }
    .objectives-heading, .objectives-list, .library-hours-heading, .library-hours-text {
        max-width: 95%;
    }
}

/* ---------- Public site: mobile / tablet navigation ---------- */
.nav-menu-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 2px solid var(--text-dark);
    border-radius: 8px;
    background: transparent;
    cursor: pointer;
}

.nav-menu-toggle-bar {
    display: block;
    width: 22px;
    height: 3px;
    margin: 0 auto;
    background: var(--text-dark);
    border-radius: 2px;
}

@media (max-width: 1100px) {
    .navbar-content {
        flex-wrap: wrap;
        align-items: center;
        gap: 0.75rem;
    }

    .logo-section {
        flex: 1;
        min-width: 0;
    }

    .university-name {
        font-size: clamp(9px, 2.8vw, 11px);
        display: block;
        max-width: 100%;
    }

    .nav-menu-toggle {
        display: flex;
        flex-shrink: 0;
    }

    .nav-links {
        display: none;
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        order: 3;
        padding: 0.75rem 0 0;
        border-top: 2px solid rgba(0, 0, 0, 0.08);
        gap: 0.25rem;
    }

    .nav-links.is-open {
        display: flex;
    }

    .nav-links a {
        margin-left: 0 !important;
        padding: 0.65rem 0.5rem;
        border-radius: 6px;
    }

    .nav-links .login-button {
        text-align: center;
        margin-top: 0.35rem;
    }
}

@media (max-width: 991.98px) {
    .hero-section {
        min-height: clamp(480px, 72vh, 650px);
        min-height: clamp(480px, 72svh, 650px);
        padding: 32px 18px;
    }

    .hero-video-caption {
        left: 14px;
        right: 14px;
        bottom: 14px;
    }
}

/* Gallery: 2 columns on tablet */
@media (min-width: 480px) and (max-width: 991.98px) {
    .gallery-container {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Typography scales down on narrow screens */
@media (max-width: 576px) {
    .goals-main-title,
    .philosophy-title {
        font-size: clamp(1.25rem, 6vw, 1.75rem);
    }

    .vm-title {
        font-size: 1.35rem;
    }

    .hero-section {
        min-height: clamp(500px, 78svh, 620px);
        padding: 24px 14px;
    }

    .hero-video-feature {
        inset: 0;
    }

    .hero-video-caption {
        padding: 12px;
    }

    .home-search-panel {
        padding: 18px 14px;
        border-radius: 12px;
    }

    .home-opac-search {
        flex-basis: calc(100vw - 56px);
        width: calc(100vw - 56px);
        max-width: none;
    }

    .home-opac-search__icon,
    .home-opac-search__clear {
        display: none;
    }

    .home-opac-search__button {
        flex-basis: 106px;
        width: 106px;
        padding-inline: 12px;
    }

}

@media (max-width: 479px) {
    .home-opac-search {
        flex-basis: calc(100vw - 28px);
        width: calc(100vw - 28px);
        gap: 5px;
        padding: 3px;
    }

    .home-opac-search__input {
        font-size: 0.82rem;
    }

    .home-opac-search__button {
        flex-basis: 96px;
        width: 96px;
        padding-inline: 10px;
        font-size: 0.8rem;
    }
}

@media (max-height: 520px) and (orientation: landscape) {
    .hero-section {
        min-height: 400px;
        padding: 18px;
    }

    .home-search-panel {
        padding: 14px 18px;
    }

    .home-search-copy {
        margin-bottom: 8px;
    }
}

/* Prevent horizontal overflow */
body {
    overflow-x: hidden;
}

img {
    max-width: 100%;
    height: auto;
}
