/* Basic reset and styling */
body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    min-height: 100vh; /* Ensure the body takes full height */
    display: flex;
    flex-direction: column; /* Allow footer to be at the bottom */
    overflow-x: hidden; /* Prevent horizontal scrolling */
}

header {
    background-color: #183641;
    color: #fff;
    padding: 10px 0;
    text-align: center;
    position: relative;
    z-index: 2; /* Ensure header is above other elements */
}

nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}

#menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
}

#menu li {
    margin: 0 15px;
}

#menu a {
    color: #fff;
    text-decoration: none;
    padding: 10px;
    display: block;
    transition: background-color 0.3s, color 0.3s;
}

#menu a:hover,
#menu a.active {
    background-color: #3a5966;
    color: #fff;
}

/* Menu toggle button styles */
#menu-toggle {
    display: none; /* Hidden by default, shown in mobile view */
    background-color: #183641;
    color: #fff;
    border: none;
    padding: 10px;
    cursor: pointer;
    position: absolute;
    right: 10px;
    top: 10px;
    z-index: 3; /* Ensure menu toggle is above other elements */
    font-size: 24px; /* Adjust font size for better visibility */
}

.container {
    display: flex;
    flex: 1; /* Allow container to grow and push footer down */
    padding: 20px;
    flex-wrap: wrap; /* Allow wrapping on small screens */
    gap: 20px; /* Add space between main and aside */
}

main {
    flex: 1;
    padding-right: 20px;
    min-width: 0; /* Prevent main from growing too wide */
}

aside {
    width: 370px; /* Fixed width for desktop view */
    background-color: #f4f4f4;
    padding: 20px;
    border-left: 1px solid #ddd;
    position: relative; /* Ensure content is positioned correctly */
    z-index: 1; /* Ensure it is below the mobile menu */
    box-sizing: border-box; /* Ensure padding is included in width */
}

.content-section {
    display: none; /* Hide by default */
}

.ranking {
    margin-top: 20px;
}

table {
    width: 100%;
    border-collapse: collapse;
}

table, th, td {
    border: 1px solid #ddd;
}

th, td {
    padding: 8px;
    text-align: left;
}

th {
    background-color: #f2f2f2;
}

footer {
    background-color: #183641;
    color: #fff;
    text-align: center;
    padding: 10px 0;
    margin-top: auto; /* Push footer to the bottom */
}

/* General pagination styling */
.pagination {
    text-align: center;
    margin: 20px 0;
}

.page-link {
    display: inline-block;
    padding: 10px 15px;
    margin: 0 5px;
    text-decoration: none;
    color: #183641;
    border: 1px solid #183641;
    border-radius: 5px;
    transition: background-color 0.3s, color 0.3s;
    cursor: pointer;
}

.page-link:hover {
    background-color: #183641;
    color: #fff;
}

.page-link.active {
    background-color: #183641;
    color: #fff;
    border: 1px solid #183641;
}

.pagination-online {
    text-align: center;
    margin: 20px 0;
}

.page-link-online {
    display: inline-block;
    padding: 10px 15px;
    margin: 0 5px;
    text-decoration: none;
    color: #183641;
    border: 1px solid #183641;
    border-radius: 5px;
    transition: background-color 0.3s, color 0.3s;
    cursor: pointer;
}

.page-link-online:hover {
    background-color: #183641;
    color: #fff;
}

.page-link-online.active {
    background-color: #183641;
    color: #fff;
    border: 1px solid #183641;
}



.pagination-banned {
    text-align: center;
    margin: 20px 0;
}

.page-link-banned {
    display: inline-block;
    padding: 10px 15px;
    margin: 0 5px;
    text-decoration: none;
    color: #183641;
    border: 1px solid #183641;
    border-radius: 5px;
    transition: background-color 0.3s, color 0.3s;
    cursor: pointer;
}

.page-link-banned:hover {
    background-color: #183641;
    color: #fff;
}

.page-link-banned.active {
    background-color: #183641;
    color: #fff;
    border: 1px solid #183641;
}

/* News Container */
#news-container {
    max-width: 100%;
    margin: 20px auto;
    padding: 20px; /* Increased padding for better spacing */
    background-color: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    box-sizing: border-box; /* Ensures padding is included in width */
}

/* News Item */
#news-container div {
    border-bottom: 1px solid #ddd;
    padding: 20px 0; /* Increased padding for readability */
}

#news-container div:last-child {
    border-bottom: none;
}

#page-container {
    max-width: 100%;
    margin: 20px auto;
    padding: 20px; /* Increased padding for better spacing */
    background-color: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    box-sizing: border-box; /* Ensures padding is included in width */
}

/* News Item */
#page-container div {
    border-bottom: 1px solid #ddd;
    padding: 20px 0; /* Increased padding for readability */
}

#page-container div:last-child {
    border-bottom: none;
}

#online-container {
    max-width: 100%;
    margin: 20px auto;
    padding: 20px; /* Increased padding for better spacing */
    background-color: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    box-sizing: border-box; /* Ensures padding is included in width */
}

/* News Item */
#online-container div {
    border-bottom: 1px solid #ddd;
    padding: 20px 0; /* Increased padding for readability */
}

#online-container div:last-child {
    border-bottom: none;
}



#banned-container {
    max-width: 100%;
    margin: 20px auto;
    padding: 20px; /* Increased padding for better spacing */
    background-color: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    box-sizing: border-box; /* Ensures padding is included in width */
}

/* News Item */
#banned-container div {
    border-bottom: 1px solid #ddd;
    padding: 20px 0; /* Increased padding for readability */
}

#banned-container div:last-child {
    border-bottom: none;
}



textarea {
    background-color: #dedfe0; /* Background color */
    color: #183641; /* Font color */
    width: 100%; /* Full width of its container */
    max-width: 300px; /* Maximum width */
    border: 1px solid #183641; /* Border color */
    padding: 10px; /* Padding inside the textarea */
    box-sizing: border-box; /* Include padding and border in element's total width and height */
    font-family: monospace; /* Monospace font for uniform character width */
    white-space: pre-wrap; /* Preserve whitespace and new lines */
    overflow: hidden; /* Hide scrollbars */
    resize: none; /* Prevent manual resizing */
    line-height: 1.5; /* Line height for text */
    min-height: 10px; /* Minimum height */
}

#client-select {
    width: 100%;
    max-width: 400px;
    padding: 10px;
    font-size: 16px;
    border: 1px solid #ccc;
    border-radius: 5px;
    margin-top: 10px;
    box-sizing: border-box;
    background-color: #fff;
}

#client-info {
    margin-top: 20px;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    background-color: #f9f9f9; /* Adds a subtle background color */
    max-width: 100%;
}

#client-description {
    margin-bottom: 15px;
    font-size: 16px;
    color: #333;
    line-height: 1.5; /* Improves readability by increasing line height */
    font-weight: 400; /* Sets the font weight to normal */
    font-family: 'Arial', sans-serif; /* Specifies a modern, clean font */
    text-align: left; /* Aligns text to the left, can be changed to center or right */
    padding: 10px; /* Adds padding inside the element for better spacing */
}

#client-link {
    display: inline-block;
    font-size: 16px;
    font-weight: bold;
    color: #ffffff;
    text-decoration: none;
    background-color: #183641;
    border-radius: 5px;
    transition: background-color 0.3s ease;
    margin-left: 20px;
    margin-top: 10px;
    max-width: 140px;
    padding: 10px;
    text-align: center;
}

#client-link:hover {
    background-color: #0e2229;
}

a {
    color: #007BFF; /* Link color */
    text-decoration: none; /* Remove underline */
    font-weight: bold; /* Optional: make text bold */
    transition: color 0.3s ease; /* Smooth color transition */
}

/* Hover state */
a:hover {
    color: #0056b3; /* Darker color on hover */
}

/* Active state (while the link is being clicked) */
a:active {
    color: #004080; /* Even darker color while clicking */
}

/* Visited state */
a:visited {
    color: #007BFF; /* Same color as the default state */
}

img.screenshot {
    /* Default styles, which apply to desktop and larger screens */
    display: block; /* Ensures image is a block element */
    margin: 0; /* Default margin */
}

@media (max-width: 768px) {
    #menu {
        display: none;
        flex-direction: column;
        width: calc(100% - 20px); /* Adjust width to create space from edges */
        position: static; /* Static position to push content down */
        top: 0;
        left: 10px; /* Add space from the left edge */
        background-color: #183641;
        align-items: center; /* Center items horizontally */
        z-index: 2; /* Ensure it is above other content but below the header */
        height: auto; /* Adjust height based on content */
        overflow-y: auto; /* Allow scrolling if needed */
        padding: 10px; /* Add padding for better spacing */
    }

    #client-link {
        display: block; /* Ensure it is block-level for margin auto to work */
        margin: 10px auto; /* Center horizontally, 10px margin-top */
        max-width: 140px;/* Optional: Set a max-width to avoid full width */
        text-align: center;
    }

    main {
        flex: 1;
        padding-right: 0px;
        min-width: 0; /* Prevent main from growing too wide */
    }

    img.screenshot {
        /* Center image on mobile screens */
        display: block; /* Ensures image is a block element */
        margin: 0 auto; /* Centers the image horizontally */
        max-width: 100%; /* Ensures the image scales down properly */
        height: auto; /* Maintains aspect ratio */
    }

    #page-container {
        max-width: 100%; /* Ensure it uses full width on mobile */
        margin: 10px; /* Adjust margin for mobile view */
        padding: 10px; /* Adjust padding for mobile */
    }

    #online-container {
        max-width: 100%; /* Ensure it uses full width on mobile */
        margin: 10px; /* Adjust margin for mobile view */
        padding: 10px; /* Adjust padding for mobile */
    }

    #menu.show {
        display: flex;
    }

    #menu-toggle {
        display: block;
    }

    .container {
        flex-direction: column;
        padding: 1; /* Remove padding for mobile view */
    }

    aside {
        width: 100%;
        border-left: none;
        border-top: 1px solid #ddd;
        padding: 10px; /* Adjust padding for mobile view */
    }

    select {
        width: 100%; /* Ensure select takes full width */
        margin: 0; /* Remove margin */
        display: block; /* Ensure block display for margin auto to work */
    }

    /* Hide columns by their nth-of-type index */
    #player-table th:nth-of-type(3),
    #player-table td:nth-of-type(3), /* Experience column */
    #player-table th:nth-of-type(4),
    #player-table td:nth-of-type(4)  /* Created column */
    {
        display: none;
    }
}

/* Dropdown styles */
select {
    width: 100%;
    padding: 8px;
    margin-bottom: 15px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 16px;
    box-sizing: border-box;
}

.status-line {
    display: table;
    width: 255px; /* Adjust width as needed */
}

.status-label {
    display: table-cell;
    width: 100%;
}

.status {
    display: table-cell;
    text-align: right;
    width: 60px; /* Enough width for the word "Offline" */
}

.status.online {
    color: green;
}

.status.offline {
    color: red;
}

.status.private {
    color: rgb(218, 119, 7);
}

.status.checking {
    color: rgb(0, 0, 0);
}

/* Styles specific to the payment form */
.form-container {
    max-width: 600px;
    margin: 0 auto;
    padding: 20px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background-color: #f9f9f9;
}

.form-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

.form-table td {
    padding: 10px;
    vertical-align: middle; /* Ensures vertical alignment in table cells */
}

.form-label {
    display: inline-block;
    width: 150px;
    font-weight: bold;
    text-align: right;
    margin-right: 10px;
}

.form-input,
.form-select {
    width: 100%;
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
    /* Ensure consistent height for form elements */
    max-height: 2.5em; /* Adjust as needed */
}

.form-number {
    max-width: 120px; /* Adjust width for number input */
}

.form-select {
    /* Ensure select box fits well within the cell */
    max-height: 2.5em; /* Match this height with .form-input if needed */
}

.form-image {
    display: block;
    margin: 20px auto;
    border: none;
    cursor: pointer;
}

.error-message {
    color: red;
    font-size: 0.9em;
    margin-top: 5px;
}

.countdown {
    font-size: 2em;
    color: #183641;
}

.custom-button {
    background-color: #183641;
    color: white;
    border: none;
    padding: 10px 20px;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.3s ease;
    margin-top: 20px; /* Adds space above the button */
}

.custom-button:hover {
    background-color: #183641;
    transform: scale(1.05);
}

.custom-button:active {
    background-color: #183641;
    transform: scale(0.95);
}

.button-container {
    display: flex;
    justify-content: center; /* Ensure the button container centers its content */
    width: 100%; /* Take the full width */
    margin-top: 20px;
}