/* Ensure no margins or padding */
html, body {
    margin: 0;
    padding: 0;
    height: 100%;
    font-family: 'Arial', sans-serif;
}

/* Flexbox container for layout */
.container {
    display: flex;
    flex-direction: column; /* Stack navbar on top of the content */
}

/* Navbar styles */
nav {
    position: fixed; /* Stick the navbar to the top */
    top: 0; /* Position at the top */
    left: 0; /* Align it to the left */
    width: 100%; /* Full width for the navbar */
    height: 60px; /* Fixed height for the navbar */
    background-color: #00A9E0; /* Navbar color */
    color: white;
    display: flex; /* Flexbox for layout */
    align-items: center; /* Center items vertically */
    z-index: 1000; /* Ensure the navbar is always on top */
}

/* List inside the navbar */
nav ul {
    list-style: none; /* Remove bullet points */
    padding: 0; /* Remove padding */
    margin: 0; /* Remove margin */
    display: flex; /* Flexbox for horizontal layout */
}

/* Navbar list items */
nav ul li {
    margin: 0 15px; /* Space between menu items */
}

/* Links inside the navbar */
nav ul li a {
    text-decoration: none; /* Remove underline */
    color: white; /* Link color */
    font-weight: bold; /* Bold text */
    padding: 15px 20px; /* Padding for links */
    display: flex; /* Flex for better alignment */
    align-items: center; /* Center items vertically */
    transition: background-color 0.3s ease; /* Smooth background change */
}

/* Hover effect on the navbar links */
nav ul li a:hover {
    background-color: #00A9E0; /* Darken background on hover */
}

/* Active link styling */
nav ul li a.active {
    background-color: #00A9E0; /* Color for the active link */
    color: white; /* Ensure text is visible */
}

/* The side navigation menu */
.sidebar {
    margin: 0;
    padding: 0;
    width: 200px;
    background-color: white;
    position: fixed;
    height: 100%;
    overflow: auto;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}

/* Sidebar links */
.sidebar a {
    display: block;
    color: black;
    padding: 16px;
    text-decoration: none;
}

/* Active/current link */
.sidebar a.active {
    background-color: #00A9E0;
    color: white;
}

/* Links on mouse-over */
.sidebar a:hover:not(.active) {
    background-color: #555;
    color: white;
}

/* Page content. The value of the margin-left property should match the value of the sidebar's width property */
.content {
    margin-left: 200px; /* Match this with the sidebar width */
    height: 1000px;
}

/* On screens that are less than 700px wide, make the sidebar into a topbar */
@media screen and (max-width: 700px) {
    .sidebar {
        width: 100%;
        height: auto;
        position: relative;
    }
    .sidebar a { float: left; }
    div.content { margin-left: 0; }
}

/* On screens that are less than 400px, display the bar vertically, instead of horizontally */
@media screen and (max-width: 400px) {
    .sidebar a {
        text-align: center;
        float: none;
    }
}

/* Content styles */
.content {
    padding: 80px 20px 20px; /* Add padding for top navbar */
    display: flex;
    flex-direction: column; /* Vertical layout */
    justify-content: flex-start; /* Align items to the start */
    align-items: flex-start; /* Align items to the left */
}

/* Heading and paragraph styles */
h1 {
    font-size: 48px; /* Main heading size */
    font-weight: bold; /* Main heading weight */
    margin: 0; /* Remove margin */
}

p {
    font-size: 20px; /* Paragraph text size */
    margin: 5px 0; /* Margin for paragraphs */
}

/* Styles for the gym information box */
.gym-info {
    border: 2px solid #333; /* Border style */
    border-radius: 10px; /* Rounded corners */
    padding: 20px; /* Padding inside the box */
    margin-top: 20px; /* Margin above the box */
    font-size: 18px; /* Font size */
    max-width: 500px; /* Maximum width of the box */
    position: relative; /* Position for icon */
}

/* Title inside gym info box */
.gym-info h2 {
    margin: 0; /* Remove margin */
    font-size: 32px; /* Font size for heading */
}

/* Paragraph inside gym info box */
.gym-info p {
    display: flex; /* Flex layout for icon and text */
    align-items: center; /* Center items vertically */
    margin: 10px 0; /* Margin for paragraphs */
}

/* Icon inside gym info box */
.gym-info i {
    margin-right: 10px; /* Space between icon and text */
}

/* Icon positioning */
.gym-info::before {
    content: ''; /* Empty content */
    position: absolute; /* Positioning */
    top: 10px; /* Positioning from the top */
    right: 10px; /* Positioning from the right */
    background-image: url('edit_icon.png'); /* Icon image */
    background-size: cover; /* Cover the space */
    width: 24px; /* Width of icon */
    height: 24px; /* Height of icon */
}

/* Image styles */
img {
    height: 60px; /* Height of images in navbar */
    width: auto; /* Automatic width */
}

/* Responsive styles for smaller screens */
@media (max-width: 768px) {
    nav ul {
        flex-direction: column; /* Stack items vertically */
    }

    nav ul li {
        margin: 10px 0; /* Space between items */
    }

    .content {
        padding: 100px 10px 10px; /* Adjust padding for smaller screens */
    }
}

/* Logo styles in sidebar */
.sidebar .logo {
    display: block; /* Make logo a block element */
    margin: 20px auto; /* Center the logo and add vertical margin */
    max-height: 80px; /* Limit the height of the logo */
    width: auto; /* Maintain aspect ratio */
    padding: 10px; /* Optional padding around the logo */
}

/* Line separator styles */
.separator {
    border: 0; /* Remove default border */
    height: 0.5px; /* Height of the line */
    background-color: #ccc; /* Color of the line */
    margin: 10px 0; /* Space above and below the line */
}
