/* Base HTML and Body settings */
html {
    font-size: 14px;
    position: relative;
    min-height: 100%;
}

body {
    margin-bottom: 80px; /* Space for footer */
    background-image: url('/images/CypherSec_BG.png');
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    background-position: center;
    min-height: 100vh;
    padding-bottom: 60px; /* Additional padding for footer */
}

/* Force vertical scrollbar to always appear */
body {
    overflow-y: scroll !important;
}

html, body {
    overflow-x: hidden; /* Prevent horizontal scrolling */
}

/* Responsive font sizes */
@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

/* Focus styles for interactive elements */
.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

/* Custom scrollbar styling */
/* For Webkit browsers (Chrome, Safari, Edge) */
::-webkit-scrollbar {
    width: 12px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 10px;
}

    ::-webkit-scrollbar-thumb:hover {
        background: #555;
    }

/* For Firefox */
* {
    scrollbar-width: thin;
    scrollbar-color: #888 #f1f1f1;
}

/* Fix for footer */
.footer {
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 1000;
}

/* Add main content area padding to ensure content isn't hidden behind footer */
main {
    padding-bottom: 70px;
}

/* Optional: Add custom container styling if needed */
.container {
    /* Uncomment and modify if you need semi-transparent background */
    /* background-color: rgba(255, 255, 255, 0.9); */
    /* padding: 20px; */
    /* border-radius: 8px; */
}
