/* Styles for the Navigation Bar */
:root {
    /* --main-purple: #6A0DAD; Vibrant purple */
}

body {
    background-color: #181818; /* Dark gray background color for dark mode */
    color: #FFF; /* White text color for better readability */
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    font-size: 18px;
}

.nav-container {
    position: fixed;
    top: 8%;
    left: -250px; /* Adjust for the width of the navigation bar */
    width: 250px;
    height: 85%;
    background-color: #121212; /* Dark background for the navigation bar */
    box-shadow: 2px 0 5px rgba(0, 0, 0, 0.2); /* Subtle shadow */
    color: #FFF;
    z-index: 2;
    transition: left 0.3s ease; /* Add a transition for smoother animation */
    overflow-y: auto;
}

    .nav-container.open {
        left: 0;
    }

.nav-header {
    display: flex;
    align-items: center;
    padding: 20px;
    color: #FFF;
}

    .nav-header h1 {
        color: #FFF;
        text-shadow: 2px 2px 4px rgba(86, 13, 173, 0.5); /* Purple shadow */
        font-size: 24px; /* Adjust font size as needed */
    }

.nav-list {
    list-style-type: none;
    padding: 0;
    color: #FFF;
}

.nav-item {
    padding: 15px 20px;
    border-bottom: 3px solid #333; /* Dark separator */
    font-size: 18px;
    color: #FFF;
    display: flex;
    align-items: flex-start;
    position: relative;
}

    .nav-item a,
    .nav-item a:visited {
        color: #FFF; /* Set the color for both unvisited and visited links to white */
        text-decoration: none;
    }

    .nav-item::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0; /* Adjusted position to start from the top */
        width: 40%;
        height: 100%;
        background-color: rgba(0, 128, 128, 0.5); /* Teal shadow */
        z-index: -1; /* Set the z-index to place it behind the text */
        transform: scaleY(0);
        transform-origin: left;
        transition: transform 0.3s;
    }

    .nav-item:hover::before {
        transform: scaleY(1);
    }

    .nav-item ul .nav-item::before {
        width: 90%; /* Adjusted width for dropdown items */
        left: 10%;
    }

    .nav-item ul {
        padding-left: 35%; /* Reset the left padding for submenu items */
    }

        .nav-item ul .nav-item {
            padding-left: 20px; /* Indent submenu items */
        }

.parent {
    flex-direction: column; /* Stack parent menu items vertically */
    justify-content: flex-start; /* Align parent items to the top (left) */
}

    .parent a {
        padding: -15px -20px; /* Adjust padding for parent menu items */
    }

    .parent ul .nav-item {
        padding-left: 20px;
    }

.content {
    margin-left: 5%; /* Adjust for the width of the navigation bar */
    margin-top: 1%;
    margin-right: 1%;
    background-color: #121212; /* Dark gray background color */
    padding: 3px;
    color: #FFF; /* White text color */
    min-height: 90%; /* Set the desired minimum height */
}

h1, h2 {
    color: #FFF;
    text-shadow: 2px 2px 4px rgba(86, 13, 173, 0.5); /* Purple shadow */
    font-size: 28px;
}

.footer {
    background: #121212;
    color: #EEE;
    text-align: center;
    padding: 10px;
    position: fixed;
    bottom: 0;
    left: 5%;
    width: 93%;
}

.social-link {
    font-size: 20px; /* Adjust icon size */
    margin: 0 10px; /* Add spacing between icons */
    color: #EEE; /* Adjust icon color */
    text-decoration: none;
}

/* Add this CSS to style the sidebar */
.sidebar {
    position: fixed;
    top: 0;
    left: 0;
    width: 80px; /* Adjust the width as needed */
    height: 100%;
    background-color: #121212; /* Sidebar background color */
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 1;
}

.icon-links {
    display: flex;
    flex-direction: column;
    height: 100%; /* Ensure the icon links fill the sidebar */
    margin-top: 100px;
}

.icon-link {
    display: block; /* Make the link a block-level element to occupy the entire space of the icon */
    padding: 10px; /* Adjust the padding as needed */
    color: #FFF;
    text-decoration: none;
    text-align: center;
}

    .icon-link img {
        display: block; /* Make the image a block-level element for consistent link behavior */
        margin: 0 auto; /* Center the image horizontally within the link */
        width: 40px; /* Adjust the icon size as needed */
        height: 40px;
        background-color: white;
    }

.hamburger {
    display: block;
    background-color: #6A0DAD; /* Purple background for the hamburger menu */
    color: #FFF;
    font-size: 24px;
    padding: 10px 20px;
    border: none;
    cursor: pointer;
    position: fixed;
    top: 10px;
    left: 10px;
    z-index: 2;
}

    .hamburger.active + .nav-container {
        left: 0;
        transition: left 0.3s;
    }

    .hamburger:not(.active) + .nav-container {
        left: -100%;
        transition: left 0.3s;
    }

/* Add this CSS for the custom image icons */
.icon {
    margin-right: 10px;
    display: inline-block;
    width: 24px; /* Adjust icon size as needed */
    height: 24px;
    background-size: cover;
    background-color: white;
}

.icon-home {
    background-image: url('/img/home.png'); /* Replace with your icon path */
}

.icon-about {
    background-image: url('/img/about.png'); /* Replace with your icon path */
}

.icon-worlds {
    background-image: url('/img/galaxy.png'); /* Replace with your icon path */
}

.icon-wiki {
    background-image: url('/img/book.png'); /* Replace with your icon path */
}

.icon-maps {
    background-image: url('/img/map.png'); /* Replace with your icon path */
}

.icon-contact {
    background-image: url('/img/contact.png'); /* Replace with your icon path */
}

/* Add this CSS to style the maps grid as a 3xN grid */
.maps-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* Three columns */
    grid-gap: 20px; /* Spacing between items */
    margin-top: 20px;
}

.map-section {
    text-align: center;
    border: 1px solid #ddd;
    padding: 10px;
    border-radius: 5px;
}

    .map-section img {
        max-width: 100%;
        height: auto;
    }

    .map-section h3 {
        margin-top: 10px;
        font-size: 18px;
        color: #333;
    }

body {
    margin: 0;
    padding: 0;
    font-family: Arial, sans-serif;
    display: flex;
    flex-direction: column;
    height: 100vh;
}

.container {
    display: flex;
    flex: 1; /* Fill the remaining vertical space */
    max-width: 90%;
    margin: 0 auto;
    flex-direction: column;
    min-height: 90%; /* Set the desired minimum height */
}

.wiki-header {
    background-color: #333;
    color: white;
    padding: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.search-bar {
    display: flex;
    gap: 10px;
}

    .search-bar input {
        padding: 8px;
        border: 1px solid #ccc;
    }

    .search-bar button {
        padding: 8px 12px;
        background-color: #555;
        color: white;
        border: none;
        cursor: pointer;
    }

.flex-container {
    display: flex;
}

.wiki-navigation {
    background-color: #333;
    padding: 10px;
    width: 200px; /* Set the desired width for the navigation */
}

.page-info {
    flex: 1;
    padding: 10px;
    display: flex;
    flex-direction: column;
    align-items: center; /* Center horizontally */
    justify-content: center; /* Center vertically */
}

    .page-info h2 {
        margin-bottom: 10px; /* Add some space below the title */
    }

ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

li {
    margin-bottom: 10px; /* Add space between navigation items */
}

a {
    color: white;
    text-decoration: none;
    padding: 10px;
    border-radius: 5px;
}

    a:hover {
        background-color: #555;
    }

.breadcrumbs {
    margin-top: auto; /* Align to the bottom */
    margin-bottom: 10px; /* Add space between breadcrumbs and content */
    font-size: 14px;
    color: #555;
    flex-direction: row;
}

    .breadcrumbs a {
        color: #555;
        text-decoration: underline; /* Add underline for links within breadcrumbs */
    }

    .breadcrumbs span {
        color: #333;
        font-weight: bold;
    }


@media screen and (max-width: 768px) {
    body {
        font-size: 16px; /* Adjust font size for mobile */
    }

    .nav-container {
        left: -100%;
        width: 100%;
    }

    .nav-item {
        padding: 10px 20px; /* Adjust padding for mobile */
        margin-bottom: 10px; /* Add space between navigation items */
    }

        .nav-item a {
            padding: 15px; /* Increase padding for touch-friendly links */
            display: block; /* Ensure full width for touch interactions */
        }

    .content {
        margin-left: 0; /* Remove margin for mobile */
    }

    .icon {
        width: 16px; /* Adjust icon size for mobile */
        height: 16px;
    }

    .wiki-header {
        padding: 10px 20px; /* Adjust padding for mobile */
    }

    .footer {
        padding: 10px 5%; /* Adjust padding for mobile */
    }
}
