/**** Importation des polices Alan Sans et Pacifico ****/

@import url('https://fonts.googleapis.com/css2?family=Alan+Sans:wght@300..900&family=Pacifico&display=swap');

/**** Reset ****/

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

button,
input,
select {
    border: none;
    outline: none;
    font-family: "Alan Sans", sans-serif;
}

ul {
    list-style-type: none;
}

/**** Style général de la page ****/

body {
    background-color: #0f0e17;
    color: #a7a9be;
    font-family: "Alan Sans", sans-serif;
    min-height: 100vh;
    width: 100%;
    display: flex;
    flex-direction: column;
}

header,
footer {
    padding: 16px;
}

h1 {
    font-size: 30px;
    text-align: center;
    margin: 0;
    font-family: "Pacifico", sans-serif;
}

main {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

form {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

form input,
form button {
    padding: 16px;
    padding-left: 16px;
    font-size: 20px;
    font-weight: 600;
    background-color: #fffffe;
    border: 3px solid transparent;
    border-radius: 12px;
    cursor: pointer;
}

form input {
    transition: border 0.3s ease-in-out;
}

form input:focus {
    border: 3px solid #ff8906;
}

form button {
    background-color: #ff8906;
    color: #fffffe;
    transition: background-color 0.3s ease-in-out,
        color 0.3s ease-in-out;
    margin-inline: 20px;
    padding: 18px;
}

form button:hover {
    background-color: #fffffe;
    color: #ff8906;
}

.todo__container {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-block: 60px;
}

.todo__list {
    min-width: 30%;
}

.todo {
    margin: 8px;
    padding-left: 8px;
    background-color: #fffffe;
    color: #0f0e17;
    font-size: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: 0.5s;
    border-radius: 8px;
}

.todo li {
    flex: 1;
}

.trash-btn,
.complete-btn {
    color: #fffffe;
    padding: 16px;
    cursor: pointer;
    font-size: 24px;
}

.complete-btn {
    background-color: #2cb67d;
}

.trash-btn {
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    background-color: #e53170;
}

.todo-item {
    padding: 0 8px;
}

.fa-trash,
.fa-check-circle {
    pointer-events: none;
}

.completed {
    text-decoration: line-through;
    opacity: 0.5;
}

.slide {
    transform: translateX(160px);
    opacity: 0;
}

.select {
    margin-block: 16px;
    overflow: hidden;
    border-radius: 12px;
}

select {
    color: #ff8906;
    width: 250px;
    height: 64px;
    cursor: pointer;
    font-weight: 600;
    background-color: #ffffff;
    font-size: 20px;
    text-align: center;
    border-radius: 12px;
}

footer {
    text-align: center;
    font-size: 20px;
    font-weight: 500;
    font-family: "Pacifico", sans-serif;
}

/**** Responsive design ****/

@media screen and (max-width: 991px) {
    body {
        padding-inline: 16px;
    }

    form {
        display: block;
        margin: 0;
    }

    form button,
    .select,
    .todo {
        margin-inline: 0;
    }

    form input,
    form button,
    .select select,
    .todo__list {
        width: 100%;
        margin-block: 20px;
    }

    .select select {
        margin-top: 0;
    }
}