/* Import Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;700&family=Open+Sans:wght@400;600&display=swap');

body {
    padding-top: 80px;
    padding-bottom: 20px;
}

/* set the background color */
.light-blue-background {
    background-color: #5ca7f2;
}

.light-purple-background {
    background-color: #f2e6ff; /* #eee6ff */
}

.light-green-background {
    background-color: #ecf9ec;
}

.soft-gray-background {
    background-color: #f2f2f2;
}

/* Set padding to keep content from hitting the edges */
.body-content {
    padding-left: 15px;
    padding-right: 15px;
}

/* My custom stuff */

/* navbar stuff */
.navbar.bg-dark-blue {
    background-color: #003366; /* blue background #0057AD #5CA7F2 #0099ff*/
    color: white;
}

/* navbar stuff */
.navbar.bg-dark-purple {
    background-color: #4d0099;
    color: white;
}

/* navbar stuff */
.navbar.bg-dark-green {
    background-color: #184e18;
    color: white;
}

/* navbar font color */
.nav-link {
    color: goldenrod;
    font-size:larger;
}

.my-bluetext {
    color: #333333;
}

.my-darkblue {
    color: #0074D9
}

.custom-dropdown {
    background-color: #343a40; /* Example dark color */
}

    .custom-dropdown .dropdown-item {
        color: white; /* Ensure text is visible on darker background */
    }

        .custom-dropdown .dropdown-item:hover {
            background-color: #495057; /* Optional: change background on hover */
        }

/* Make the picture be square */
.square-background {
    background-size: cover;
    background-position: center;
    width: 100%; /* Makes it fill the full width of the column */
    padding-top: 100%; /* Sets the height equal to the width, making it a square */
    position: relative; /* Ensure absolute positioning inside this works */
}

    .square-background::after {
        content: '';
        display: block;
        padding-bottom: 100%; /* Ensures the height is always equal to the width */
    }

    .square-background > * {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
    }

/* format the pictures to be circle shaped icons */
.picture-icon {
    display: flex;
    align-items: center;
    margin-bottom: 1.5rem;
}

    .picture-icon img {
        margin-right: 1rem;
        max-width: 80px; /* Control the max width */
        max-height: 80px; /* Control the max height */
    }

    .picture-icon h3, .picture-icon h5 {
        margin: 0;
    }

.bordered-image {
    border: 2px solid black;
}

/* format the contact modal */
.modal-header {
    background-color: #5ca7f2;
    color: #003366;
    /* Add other custom styles here */
}

.contact-input {
    border: 2px solid #adebeb; /* Change the border color here */
    padding: 0.375rem 0.75rem; /* Add some padding to make it look nice */
    border-radius: 0.25rem; /* Optionally, add some border radius */
}

/* user-table configuration */
.user-table {
    font-family: Arial, Helvetica, sans-serif;
    border-collapse: collapse;
    width: 100%;
    overflow-y: auto;
}

    .user-table thead th {
        position: sticky;
        top: 0;
        z-index: 1; /* Ensure the header stays above other elements */
        background-color: #385706;
        color: white;
        font-weight: bold;
        font-family: Arial, Helvetica, sans-serif;
        font-size: 15px;
        border: 1px solid #ddd;
    }

    .user-table td, .user-table th {
        border: 1px solid #ddd;
        padding: 3px;
        font-size: 14px;
        vertical-align: middle; /* Center content vertically */
    }

    .user-table tr:nth-child(even) {
        background-color: #f2f2f2;
    }

    .user-table tr:hover {
        background-color: #ddd;
    }

    .user-table th {
        padding-top: 3px;
        padding-bottom: 3px;
        text-align: left;
        background-color: #143d15;
        color: white;
        font-size: 15px;
    }

    .user-table td:nth-child(1),
    .user-table td:nth-child(2),
    .user-table td:nth-child(3),
    .user-table td:nth-child(5),
    .user-table td:nth-child(7) {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .user-table tfoot {
        background-color: cadetblue;
    }

/* Custom form styles */
.form-floating {
    margin-bottom: 15px;
}

.btn-primary {
    background-color: #007bff;
    border-color: #007bff;
}

    .btn-primary:hover {
        background-color: #0056b3;
        border-color: #0056b3;
    }

.form-check-label {
    margin-left: 5px;
}

/* Root Variables */
:root {
    --bs-primary: #0074D9; /* Trust Blue */
    --bs-secondary: #FF851B; /* Vital Orange */
    --bs-light: #F2F2F2;
    --bs-dark: #333333;
    --font-heading: 'Montserrat', sans-serif;
    --font-body: 'Open Sans', sans-serif;
}

/* Typography Overrides */
body {
    font-family: var(--font-body);
    background-color: var(--bs-light);
    color: var(--bs-dark);
}

h1, h2, h3, h4 {
    font-family: var(--font-heading);
    color: var(--bs-dark);
}

a {
    color: var(--bs-primary);
    text-decoration: none;
}

    a:hover {
        color: var(--bs-secondary);
    }

/* Custom Buttons */
.btn-orange {
    background-color: var(--bs-secondary);
    color: #fff;
    border: none;
}

    .btn-orange:hover {
        background-color: #e67300;
        color: #fff;
    }

/* Hero Section */
.hero {
    background-color: #fff;
    padding: 4rem 2rem;
    text-align: center;
}

    .hero h2 {
        font-size: 2.5rem;
        font-weight: 700;
    }

    .hero p {
        font-size: 1.25rem;
        color: var(--bs-dark);
    }

/* Footer */
footer {
    background-color: transparent;
    color: var(--bs-dark);
    padding: 2rem 1rem;
    text-align: center;
    font-size: 0.9rem;
}

.bs-dark {
    color: #333333; 
}