/*  

Difference between padding and margin

    margin is about the space between the border of an element and a neighbouring element
    padding is about the space between the border of an element and the element itself 

        +-----------------------------+
        |          Margin             |
        |  +-----------------------+  |
        |  |       Border          |  |
        |  |  +-----------------+  |  |
        |  |  |    Padding      |  |  |
        |  |  |  +-----------+  |  |  |
        |  |  |  |  Content  |  |  |  |
        |  |  |  +-----------+  |  |  |
        |  |  +-----------------+  |  |
        |  +-----------------------+  |
        +-----------------------------+

*/

body {
    font-family: Arial, sans-serif;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0;
    padding: 20px;
}

#input-container {
    display: flex;
    align-items: center;
}

#todo-input {
    flex: 1;
    margin-bottom: 12px;
}

#complete-buttons-container {
    margin-top: 20px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
}

#complete-buttons-container button {
    padding: 5px 10px;
    border: none;
    background-color: #0e0378;
    color: white;
    border-radius: 3px;
    cursor: pointer;
    margin: 5px 0; /* Adjust vertical margin */
}

#complete-buttons-container button:hover {
    background-color: #070256;
}

/* Remove vertical margin for input */
input {
    margin: 5px 0;
}

/* Adjust margin for other buttons */
button#add-btn, button#complete-all, button#uncomplete-all {
    margin: 5px;
}

ul {
    list-style-type: none;
    padding: 0;
}

li {
    display: flex;
    align-items: center;
    padding: 5px;
    border-bottom: 1px solid #ccc;
}

#todo-list li span {
    font-size: 16px;
    color: #333;
    font-weight: bold;
    margin-right: 10px;
}

#todo-list li .remove-btn {
    background-color: #ff4d4d;
    color: white;
    border: none;
    border-radius: 3px;
    padding: 5px 10px;
    cursor: pointer;
}

#todo-list li .remove-btn:hover {
    background-color: #ff0000;
}

#todo-list li .complete-btn {
    background-color: #4CAF50;
    color: white;
    border: none;
    border-radius: 3px;
    padding: 5px 10px;
    cursor: pointer;
    margin-left: auto; /* Push the complete button to the right */
    margin-right: 3px;
    border-color: rgba(128, 128, 128, 0.5); /* Lighter gray border color with reduced opacity */
}

#todo-list li .complete-btn:hover {
    background-color: #45a049;
}

#todo-list li span.completed {
    text-decoration: line-through;
    color: gray;
}

#todo-list li .remove-btn .material-icons {
    font-size: 14px;
    padding: 1px 1px;
}

#todo-list li .complete-btn .material-icons {
    font-size: 14px;
    padding: 1px 1px;
}

#todo-list li .complete-btn.postCompletion {
    background-color: lightgray;
    color: gray;
}

.hidden {
    display: none;
}

/* Add styles for the character limit message */
#character-limit-message {
    display: inline-block; /* Make it inline so it appears next to the input */
    background-color: #ffe6cc; /* Light orange background */
    color: #8c4510; /* Dark brown text color */
    border-radius: 5px; /* Rounded corners */
    padding: 5px 10px; /* Padding */
    font-size: 12px; /* Smaller font size */
    opacity: 0; /* Initially invisible */
    transition: opacity 0.5s; /* Fade effect transition */
}

/* Adjust position of the character limit message */
#input-container {
    position: relative; /* Relative positioning for absolute positioning of the message */
}

#character-limit-message {
    position: absolute; /* Absolute positioning to place it relative to the input */
    bottom: -25px; /* Adjust to position it just below the input text */
    left: 0; /* Align to the left of the input */
}

/* Fade in effect for the message */
#character-limit-message.fade-in {
    opacity: 1;
}