/* styles/style.css */

:root {
    --color-chbe-green: #4d7a2f;
    --color-ubc-blue: #2F5F8F;
    --color-navy-blue: #1B365D;
    --color-eng-red: #8B0000;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}

*, *::before, *::after {
    box-sizing: border-box;
}

html {
    overflow-x: hidden;
}

body {
    margin: 0;
    font-family: var(--font-family);
    background-color:var(--color-chbe-green);
    color: #212529;
    line-height: 1.6;
    overflow-x: hidden; /* Prevent horizontal scroll on body */
    height: 100vh;
}

/* REMOVED: Duplicate body rule that was overriding overflow-x: hidden */

a {
    color: var(--color-ubc-blue);
    text-decoration: none;
    transition: color 0.2s ease-in-out;
}

a:hover {
    color: var(--color-navy-blue);
}

@keyframes fadeIn {to {opacity: 1;}}

@keyframes slideInUp { 
    from { 
        transform: translateY(30px); 
        opacity: 0; 
    } 
    to { 
        transform: translateY(0); 
        opacity: 1; 
    } 
}

@keyframes slideInDown { 
    from { 
        transform: translateY(-30px); 
        opacity: 0; 
    } 
    to { 
        transform: translateY(0); 
        opacity: 1; 
    } 
}

@keyframes slideInLeft {
    from { 
        transform: translateX(-30px); 
        opacity: 0; 
    } 
    to { 
        transform: translateX(0); 
        opacity: 1; 
    } 
}

@keyframes slideInRight {
    from { 
        transform: translateX(30px); 
        opacity: 0; 
    } 
    to { 
        transform: translateX(0px); 
        opacity: 1; 
    } 
}

@keyframes slideOutLeft {
    from {
        transform: translateX(0);
        opacity: 1;
    }
    to {
        transform: translateX(-30px);
        opacity: 0;
    }
}

@keyframes slideOutRight {
    from {
        transform: translateX(0);
        opacity: 1;
    }
    to {
        transform: translate(30px);
        opacity: 0;
    }
}