html, body{
    width: 100vw;
    height: 100%;
    margin: 0;
    padding: 0;
    background-color: rgb(47, 47, 47);
    display: flex;
    flex-direction: column;
    color: white;
    font-family: 'Open Sans', sans-serif;
}
header, nav, footer {
    background-color: rgb(0, 128, 0);
    color: white;
    padding: 0.5em;
    width: 100%;
    text-align: center;
    flex-shrink: 0;
}
footer{
    background-color: rgb(0, 128, 0); /* Adjust as needed */
    color: white;
    text-align: center;
    padding: 1em;
    flex-shrink: 0;
}
.center {
    display: flex; /* Arrange aside and section horizontally */
    flex: 1; /* Allow this container to grow and fill vertical space */
    overflow: hidden; 

}
h1.header {
    margin: 0;
    padding: 0;
}
article{
    margin: 0;
    padding: 0;
}
ul {
    list-style-type: none;
    width: 100%;
    /* float: left; */
    padding: 0;
    margin: 0;
}
/* Navigation Bar */
nav {
    background-color: rgb(0, 0, 0);
    width: 100%;
    height: fit-content;
    display: flex;
    justify-content: center;
}
nav ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    display: flex;
}
nav li {
    margin: 0;
    padding: 0;
}
nav a{
    display: block;
    float: left;
    background-color: rgb(0, 0, 0);
    color: white;
    padding: 0.2em 0.6em;
    width: fit-content;
    text-decoration: none;
    margin: 1.5px 5px;
}
nav a:hover:not(.active) { 
    background-color: rgb(59, 59, 59);
    border-radius: 5px;
}
.active{
    background-color: rgb(0, 128, 0);
    border-radius: 5px;
}
fieldset {
    border: 2px solid rgb(0, 128, 0); /* Set the border style and color here */
    border-radius: 5px; /* Optional: Add rounded corners */
    padding: 1em; /* Add padding inside the fieldset */
    margin-bottom: 1em; /* Add space below the fieldset */
}
aside {
    /* float: left; */
    width: 160px;
    margin: 0;
    padding: 1em;
    flex-shrink: 0;
}
section {
    display: flex;
    flex: 1;
    flex-direction: column;
    border-left: 3px solid rgb(0, 128, 0);
    /* margin-left: 190px; */
    padding-left: 1em;
    box-sizing: border-box;
    overflow-y: auto;
}
.employee-form {
    margin-bottom: 10px;
    padding: 10px;
    /* margin: auto; */
    /* width: 50%; */
}
.employees-table {
    /* border-style: solid; */
    padding: 10px;
    width: auto;
}
body > table{
    width: 80%;
}
table {
    border-collapse: separate; /* Change from collapse to separate */
    border-spacing: 0; /* Remove space between borders */
    border-radius: 8px; /* Adjust the radius value for desired smoothness */
    overflow: hidden; /* Clip the content within the rounded corners */
    width: 100%; /* Ensure table takes full width if needed */
    border: 2px solid rgb(0, 128, 0); /* Apply border to the table itself */
}

table.list {
    width: 100%;
}

td, th {
    border: none; /* Remove individual cell borders */
    border-bottom: 1px solid rgb(0, 128, 0); /* Add bottom border for separation */
    border-right: 1px solid rgb(0, 128, 0); /* Add right border for separation */
    text-align: left;
    padding: 8px;
}

/* Remove border from the last cell in each row */
td:last-child, th:last-child {
    border-right: none;
}

/* Remove bottom border from cells in the last row */
tbody tr:last-child td {
    border-bottom: none;
}

tr:nth-child(even), table.list thead > tr {
    background-color: rgb(0, 128, 0);
}

input[type=text], input[type=number], input[type=search]{
    width: 100%;
    padding: 8px 20px;
    margin: 8px 0;
    display: inline-block;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
}

input[type=submit] {
    width: 30%;
    background-color: black;
    color: white;
    padding: 10px 18px;
    /* margin: 0px 0; */
    border: none;
    border-radius: 5px;
    cursor: pointer;
}

form div.form-action-buttons{
    text-align: right;
}

.delete{
    display: right;
    cursor: pointer;
    text-decoration: none;
    color: #ffffff;
    padding: 5px;
    background-color: #ff0000;
    border-radius: 5px;
}

.edit{
    display: right;
    cursor: pointer;
    text-decoration: none;
    color: #ffffff;
    padding: 5px;
    background-color: #4ab900;
    margin-right: 10px;
    border-radius: 5px;
}

label.validation-error{
    color:   red;
    margin-left: 5px;
}

.hide{
    display:none;
}

.web-worker{
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.with{
    border: solid 1px gray;
    margin-left: 15px;
    padding: 5px;
    width: 50%;
}

.without{
    border: solid 1px gray;
    padding: 5px;
    width: 50%;
}

#sse-result{
    height: 150px;
    overflow-y: auto;
    border: 1px solid #ccc;
    padding: 5px;
    background-color: rgb(0, 0, 0);
    color: #4ab900;
}

.Geolocation{
    display: flex;
}

#content-holder{
    margin-left: 20px;
}

.sse{
    display:flex;
    margin-bottom: 5px;
}

.ssebutton{
    height: 20px;
    margin-left: 5px;
    margin-top: 15px;
}

#div1, #div2 {
    float:left;
    width:200px;
    height:150px;
    margin:10px;
    padding:10px;
    border:1px solid #aaaaaa;
}
#drag1{
    margin-top: 10px;
}
#testcanva{
    width: fit-content;
    height: fit-content;
}
.svg{
    display: flex;
}

#dataTable {
    /* Your existing table styles */
    width: 100%;
    margin-bottom: 20px;
}

#dataTable th, #dataTable td {
    /* Your existing cell styles */
    padding: 8px;
    text-align: left;
}

/* Style for clickable rows */
.data-row {
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.data-row:hover {
    background-color: rgba(0, 128, 0, 0.3); /* Highlight on hover */
}

#chartContainer {
    background-color: #fff; /* Give chart a white background */
    padding: 15px;
    border-radius: 8px;
    border: 1px solid #ccc;
}

.animal-card {
    border: 2px solid #ddd;
    border-radius: 8px;
    padding: 15px;
    margin: 10px;
    max-width: 300px;
}
  
button {
    margin: 5px;
    padding: 8px 12px;
    cursor: pointer;
}
  
.animal-sound {
    color: #4caf50; /* Green for sounds */
}

.animal-action {
    color: #ff5722; /* Orange for actions */
}
#message-container {
    background-color: rgba(0, 0, 0, 0.8); /* Dark semi-transparent background */
    color: white; /* White text for contrast */
    padding: 1em; /* Add some padding */
    margin: 1em 0; /* Add spacing above and below */
    border-radius: 8px; /* Rounded corners */
    max-height: 200px; /* Limit the height */
    overflow-y: auto; /* Add a scrollbar if messages exceed the height */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Subtle shadow for depth */
    width: 200px;
}
.animal-sound, .animal-action {
    margin: 0.5em 0; /* Add spacing between messages */
    font-size: 1em; /* Adjust font size */
    font-family: Arial, sans-serif; /* Use a clean font */
}

/* ... your existing styles ... */

/* Styles for the React components container */
#root {
    /* Add any specific container styles if needed, 
       but background should come from .center or section/article */
    padding: 1em; /* Example padding */
}

/* Styles for the navigation within the React app */
.react-component-nav {
    display: flex;
    gap: 10px;
    margin-bottom: 20px; /* Space below the buttons */
    padding: 10px;
    /* background-color: rgba(0, 0, 0, 0.1);  */
    border-radius: 8px; /* Optional rounded corners */
    justify-content: center; /* Center the buttons */
}

/* Style for the buttons within the React nav */
.react-component-nav .nav-btn {
    /* Inherit general button styles or define specific ones */
    border: 1px solid #ccc; /* Example border */
    padding: 8px 15px;
    background-color: #f0f0f0; /* Default button color */
    color: #333; /* Default text color */
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.2s, color 0.2s;
}

.react-component-nav .nav-btn:hover {
    background-color: #e0e0e0; /* Hover color */
}

/* Style for the active button in the React nav */
.react-component-nav .nav-btn.active {
    background-color: #007bff; /* Active color - match your site's theme */
    color: white;
    border-color: #0056b3;
}

/* Container for the active React component (Tip or RPS) */
.wrap {
    /* This class was used for centering in the inline styles. 
       Adjust if needed based on your main layout. 
       Maybe just add padding/margin. */
    padding: 20px 0; 
}

/* Styling for the "card" look of each component */
.component-card {
    background-color: #ffffff; /* White background for the card */
    color: #333333; /* Dark text color for the card */
    padding: 25px;
    border-radius: 8px; /* Match other elements */
    box-shadow: 0 2px 5px rgba(0,0,0,0.1); /* Subtle shadow */
    max-width: 500px; /* Limit width */
    margin: 0 auto; /* Center the card if needed */
}

.component-card h2 {
    margin-bottom: 20px;
    color: #0056b3; /* Heading color - match theme */
    text-align: center;
}

.component-card label {
    display: block;
    font-weight: 600;
    margin-top: 15px;
    margin-bottom: 5px;
}

.component-card input,
.component-card select {
    width: 100%;
    padding: 10px;
    margin-bottom: 15px; /* Space below inputs */
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 1rem;
}

/* Styles specific to Rock-Paper-Scissors */
.rps-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin: 20px 0;
}

.rps-btn {
    /* Style RPS buttons like other site buttons */
    padding: 10px 15px;
    background-color: #468624; /* Example color - match theme */
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-weight: 600;
    transition: background-color 0.2s;
}

.rps-btn:hover {
    background-color: #4a57a3; /* Darker hover */
}

/* Style for result text */
.result {
    margin-top: 20px;
    font-weight: 600;
    text-align: center;
    padding: 10px;
    background-color: #468624; /* Light background for result */
    border-radius: 4px;
}

/* ... rest of your existing styles ... */
  