/* Header Styling */
.header-container {
    display: flex; /* Use flexbox for layout */
    justify-content: space-between; /* Space items between left (logo) and right (menu & user info) */
    align-items: center; /* Vertically center items */
    padding: 10px 20px; /* Padding around the container */
    background-color: #364f6b; /* Dark blue background */
    color: #ffffff; /* White text color */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */
    position: relative; /* Maintain relative positioning for layout */
}

/* Logo Styling */
.header-container .logo img {
    height: 50px;                  /* Set the logo height */
    object-fit: contain;           /* Ensure the image scales correctly */
    cursor: pointer;               /* Make the logo clickable (optional) */
}

/* Desktop Navigation Menu */
.top-menu {
    display: flex; /* Use flexbox for horizontal layout */
    margin-left: auto; /* Push the menu towards the user info section on the right */
}

/* Top Menu Styling */
.header-container .top-menu ul {
    list-style-type: none;         /* Remove default bullet points */
    margin: 0;                     /* Reset margins */
    padding: 0;                    /* Reset padding */
    display: flex;                 /* Flex layout for horizontal menu */
    gap: 15px;                     /* Space between menu items */
}

.header-container .top-menu ul li a {
    text-decoration: none;         /* Remove underline from menu links */
    color: #ffffff;                /* White text color */
    font-size: 1rem;               /* Standard font size */
    font-weight: 500;              /* Medium font weight */
    padding: 8px 14px;             /* Add spacing around menu links */
    border-radius: 5px;            /* Rounded edges for better aesthetics */
    transition: background-color 0.3s ease, color 0.3s ease; /* Smooth hover effect */
}

.header-container .top-menu ul li a:hover {
    background-color: #3fc1c9;     /* Teal hover background */
    color: #ffffff;                /* Ensure text remains white */
}

/* Mobile Menu Toggle */
.mobile-menu-toggle {
    font-size: 1.8rem; /* Adjust size for the hamburger icon */
    cursor: pointer; /* Change cursor to pointer on hover */
    color: #ffffff; /* White color for the icon */
    display: none; /* Hide by default (for desktops) */
};

/* Hamburger Alignment */
.mobile-menu-toggle i {
    position: relative; /* Set alignment for the icon */
    z-index: 1000; /* Ensure it's on top of the other items */
}

/* Hamburger Icon */
.mobile-menu-toggle span {
    font-size: 1.8rem; /* Increase icon size for better visibility */
    color: #ffffff; /* Match header text color */
}

.mobile-menu-toggle span:hover {
    color: #3fc1c9; /* Teal hover effect */
    transition: color 0.3s ease;
}

/* Style the Dropdown Menu Items */
.top-menu-dropdown {
    display: none; /* Hidden by default */
    position: absolute;
    right: 20px; /* Align dropdown to the right of the header */
    top: 60px; /* Dropdown appears below the header */
    background-color: #364f6b; /* Match the header background color */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Subtle shadow for dropdown */
    border-radius: 5px; /* Round corners */
    overflow: hidden; /* Prevent menu items from overflowing */
    z-index: 1000;
}

.top-menu-dropdown ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.top-menu-dropdown ul li a {
    display: block; /* Block links for full-width clicks */
    text-decoration: none;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 500;
    padding: 10px 15px;
    transition: background-color 0.3s ease;
}

.top-menu-dropdown ul li a:hover {
    background-color: #3fc1c9; /* Teal hover color */
    color: #ffffff;
}


/* Global styles */
body {
    font-family: 'Arial', sans-serif;
    margin: 0;
    padding: 0;
    background-color: #f8f9fa; /* Light gray background */
}

/* Content Area */
.content {
    padding: 20px;
    min-height: 70vh; /* Keeps the content area visible */
    display: flex;
    justify-content: center;
    align-items: center; /* Center the content vertically */
}

/* Login Page Styling */
.login-page {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.form-container {
    max-width: 400px;
    width: 100%; /* Ensures responsiveness */
    background-color: #ffffff; /* White background for cleaner design */
    padding: 30px; /* Add padding for spacing */
    border-radius: 10px; /* Rounded corners */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */
    text-align: center; /* Center-align form content */
}

.form-title {
    font-size: 1.5rem; /* Larger font size for the form title */
    color: #364f6b; /* Dark blue color */
    margin-bottom: 20px;
    font-weight: 700;
}

/* Form Labels */
.form-label {
    display: block;
    font-size: 0.9rem;
    color: #364f6b;
    text-align: left; /* Align labels to the left */
    margin-bottom: 5px;
}

/* Form Inputs */
.form-input {
    width: 100%; /* Full width inside the container */
    padding: 10px;
    font-size: 1rem;
    margin-bottom: 15px; /* Space between fields */
    border: 1px solid #ccc; /* Light gray border */
    border-radius: 5px; /* Rounded edges */
    box-sizing: border-box; /* Consistent box model */
    transition: border-color 0.3s;
}

.form-input:focus {
    border-color: #3fc1c9; /* Blue border on focus */
    outline: none; /* Remove default focus outline */
}

/* Form Submit Button */
.form-button {
    width: 100%; /* Full width button */
    padding: 10px;
    background-color: #3fc1c9; /* Teal color for the button */
    color: #fff; /* White text color */
    border: none; /* Remove border */
    font-size: 1rem;
    font-weight: bold;
    border-radius: 5px; /* Rounded edges */
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.form-button:hover {
    background-color: #364f6b; /* Dark blue hover effect */
}

/* Form Text (Bottom Links) */
.form-text {
    margin-top: 10px;
    color: #52616b; /* Subtle gray-blue for additional text */
    font-size: 0.9rem;
}

.form-text a {
    color: #3fc1c9; /* Teal color for links */
    text-decoration: none;
    font-weight: bold;
    transition: color 0.3s;
}

.form-text a:hover {
    color: #364f6b; /* Dark blue hover color */
}

/* Footer Styling */
.main-footer {
    background-color: #364f6b; /* Dark blue background matching the header */
    color: #ffffff; /* White text color for footer */
    padding: 20px 0; /* Top and bottom spacing */
    text-align: center; /* Center-align content */
    border-top: 3px solid #3fc1c9; /* Teal accent border on top */
    z-index: 1100;
}

.main-footer-content {
    display: flex; /* Flexbox for alignment */
    flex-direction: column; /* Stack items vertically */
    justify-content: center; /* Center items */
    align-items: center; /* Center horizontally */
}

.main-footer-content p {
    margin: 0 0 10px 0; /* Spacing below the paragraph */
    font-size: 1rem; /* Set a readable font size */
    font-weight: 400; /* Normal font weight */
}

.main-footer-content .social-media {
    list-style-type: none; /* Remove bullet points */
    padding: 0; /* Remove padding */
    margin: 0; /* Reset margins */
    display: flex; /* Display links inline */
    gap: 15px; /* Space between social media links */
}

.main-footer-content .social-media li a {
    text-decoration: none; /* Remove underline */
    color: #ffffff; /* White text color */
    font-size: 1rem; /* Standard font size */
    transition: color 0.3s ease; /* Smooth hover effect */
}

.main-footer-content .social-media li a:hover {
    color: #3fc1c9; /* Teal hover effect */
}

/* The root container for the entire page */
.main-wrapper {
    display: flex;
    flex-direction: column;
    min-height: 90vh; /* Ensures the wrapper container takes up the full viewport height */
}

/* The main content of the page adjusts based on content */
.main-div {
    flex: 1; /* Ensures main content takes up all remaining space if content doesn’t fill the page */
}

/* Body and general styling */
.main-body {
    margin: 0;
    padding: 0;
    font-family: Arial, sans-serif; /* Default font */
    box-sizing: border-box; /* Ensure consistent padding and margins */
}



/* Logo Styling */
.logo-img {
    height: 50px; /* Adjust to your logo's height */
    object-fit: contain;
}

/* User Info (Greeting and Logout Button) */
.user-info {
    display: flex; /* Horizontal alignment */
    align-items: center; /* Center vertically */
    gap: 15px; /* Space between username and logout button */
    margin-left: auto; /* Push user info to the far right */
}

/* Username Text */
.user-name {
    font-size: 1rem;
    color: #ffffff; /* White text color */
    font-weight: bold;
    padding-right: 10px;
}

/* Login Button */
.login-btn {
    color: #fff;
    background-color: #3fc1c9; /* Teal color */
    border-radius: 5px;
    padding: 8px 14px;
    text-decoration: none;
    font-weight: bold;
    transition: background-color 0.3s ease;
}

.login-btn:hover {
    background-color: #2ca3a0; /* Darker teal on hover */
}

/* Logout Button */
.logout-btn {
    background-color: #e63946; /* Red background */
    color: #ffffff; /* White text */
    border-radius: 5px; /* Rounded corners */
    padding: 8px 14px; /* Add padding for better button size */
    text-decoration: none; /* Remove underline */
    font-size: 1rem; /* Standard font size */
    font-weight: bold; /* Bold text */
    transition: background-color 0.3s ease; /* Add hover transition */
}
.logout-btn:hover {
    background-color: #d62839; /* Darker red on hover */
}

/* Mobile Menu Dropdown */
.top-menu-dropdown {
    display: none; /* Hidden by default */
    position: absolute;
    top: 60px;
    right: 20px;
    background-color: #364f6b; /* Match header background */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    border-radius: 5px;
    z-index: 1000;
}
.top-menu-dropdown ul {
    list-style: none;
    margin: 0;
    padding: 10px 0;
}
.top-menu-dropdown ul li a {
    display: block;
    text-decoration: none;
    color: #fff;
    padding: 10px 15px;
    border-radius: 5px;
    transition: background-color 0.3s ease;
}
.top-menu-dropdown ul li a:hover {
    background-color: #3fc1c9; /* Teal background */
}

/* Mobile Menu Toggle */
.mobile-menu-toggle span {
    font-size: 1.5rem;
    color: #ffffff;
    cursor: pointer;
}

/* Top Menu (Desktop) */
.top-menu ul {
    display: flex;
    list-style: none;
    gap: 15px;
    margin: 0;
    padding: 0;
}
.top-menu ul li a {
    text-decoration: none;
    color: #ffffff;
    font-size: 1rem;
    font-weight: bold;
    padding: 8px 14px;
    border-radius: 5px;
    transition: background-color 0.3s ease;
}
.top-menu ul li a:hover {
    background-color: #3fc1c9; /* Teal background */
}

/* Responsive Design for Mobile */
@media (max-width: 768px) {
    .top-menu {
        display: none; /* Hide desktop menu on mobile */
    }
    .user-info {
        flex-direction: column; /* Stack login/logout buttons */
	align-items: flex-start;
        gap: 5px;
    }

    .mobile-menu-toggle {
        display: block; /* Show three dots on mobile */
    }

    .top-menu-dropdown {
        width: 90%; /* Dropdown takes most of the screen width */
    }

    .header-container {
        justify-content: space-between; /* Keep logo on the left, dots on the right */
    }

    .main-footer-container {
        flex-direction: column; /* Stack content vertically */
        align-items: center;    /* Center-align on smaller screens */
    }

    .social-media {
        justify-content: center; /* Center the social media links */
        gap: 8px;                /* Reduce spacing between links */
    }

    .social-media li a {
        font-size: 0.85rem;        /* Slightly smaller font size on mobile */
        padding: 5px 8px;          /* Adjust spacing for smaller screens */
    }
}

/* Hide Dropdown on Larger Screens */
@media (min-width: 769px) {
    .top-menu-dropdown {
        display: none !important; /* Ensure dropdown is hidden on desktop */
    }
}

