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

body {
    height: 100vh;
    background: linear-gradient(45deg, #8ec5fc 0.000%, #8dd3ff 25.000%, #a1d8ff 50.000%, #c1d2ff 75.000%, #e0c3ff 100.000%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.todo-container {
    border-radius: 10px;
    background: linear-gradient(225deg, #ff6f70 0.000%, #ffa091 20.000%, #ffc7b1 40.000%, #ffe4d0 60.000%, #fff6ee 80.000%, #fffcff 100.000%);
    min-height: 40vh;
    min-width: 70vw;
    box-shadow: 0 0 5px white;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1rem 0;
}

.title {
    font-size: 2rem;
    color: white;
}

.tasks-container {
    width: 94%;
    height: 80%;
    background: conic-gradient(from 210deg, #c5bbb8 0.000deg, #c5bbb8 24.000deg, #b8b5b8 calc(24.000deg + 0.1deg), #b8b5b8 48.000deg, #a9afb7 calc(48.000deg + 0.1deg), #a9afb7 72.000deg, #9aa8b5 calc(72.000deg + 0.1deg), #9aa8b5 96.000deg, #8ba1b3 calc(96.000deg + 0.1deg), #8ba1b3 120.000deg, #7d98af calc(120.000deg + 0.1deg), #7d98af 144.000deg, #7090ab calc(144.000deg + 0.1deg), #7090ab 168.000deg, #6587a6 calc(168.000deg + 0.1deg), #6587a6 192.000deg, #5c7ea1 calc(192.000deg + 0.1deg), #5c7ea1 216.000deg, #55759b calc(216.000deg + 0.1deg), #55759b 240.000deg, #516c94 calc(240.000deg + 0.1deg), #516c94 264.000deg, #4f638d calc(264.000deg + 0.1deg), #4f638d 288.000deg, #505a85 calc(288.000deg + 0.1deg), #505a85 312.000deg, #54537d calc(312.000deg + 0.1deg), #54537d 336.000deg, #5b4b74 calc(336.000deg + 0.1deg) 360.000deg) no-repeat center / contain;
    border-radius: 10px;
    box-shadow: 2px 2px 5px black;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 10px;
}

/* task */
.add-task {
    display: flex;
    justify-content: space-between;
    background-color: rgba(240, 240, 240, 0.5);
    padding: 10px;
    border-radius: 10px;
}

.task-input, .task-time {
    padding: 5px 10px;
    border-radius: .5em;
    border: none;
    margin: 0 5px;
}

/* buttons */
.add-task-btn, .delete-task-btn, .edit-task-btn, .save-task-btn, .cancel-edit-btn, .cancel-add-btn {
    border: none;
    padding: 5px 10px;
    border-radius: 5px;
    color: white;
    box-shadow: 2px 2px 2px black;
    cursor: pointer;
}

.add-task-btn, .save-task-btn {
    background-color: green;
}

.delete-task-btn, .cancel-edit-btn, .cancel-add-btn {
    background-color: red;
}

.edit-task-btn {
    background-color: gray;
}

.task {
    background: transparent;
    border-radius: 10px;
    box-shadow: 0 0 4px 1px rgba(0, 0, 0, 0.7) inset;
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
    min-height: 2rem;
    margin: 5px 10px;
    padding: 10px;
}

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

.task:hover {
    transform: translateY(-2px);
}

.todo-task {
    width: 50%;
    background-color: rgba(255, 255, 255, 0.7);
    border-radius: .5rem;
    padding: 5px 10px;
}

.todo-time {
    width: 15%;
    background-color: rgba(255, 255, 255, 0.7);
    border-radius: .5rem;
    padding: 5px 10px;
}

button:hover {
    opacity: 0.85;
}

/* Editing content */
.task-edit {
    padding: .4rem .5rem;
    border-radius: .5rem;
    border: none;
    width: 50%;
}

.task.editing {
    background-color: rgba(255,255,255,0.2);
    box-shadow: 0 0 8px rgba(255,255,255,0.6);
}

/* Feature Area */
.feature {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-around;
    align-items: center;
    width: 100%;
    margin: 1rem 0;
}

.filter {
    position: relative;
    display: flex;
    background-color: rgb(144, 53, 197);
    padding: 4px;
    border: 2px solid gray;
    border-radius: 1rem;
}

.filter-btn {
    padding: .5rem 1rem;
    background-color: #7f24c6;
    border-radius: .7rem;
    border: none;
    color: white;
    box-shadow: 2px 2px 2px rgb(10,10,10);
}

.filter-btn:active {
    transform: translate(2px, 2px);
    box-shadow: none;
}

.filter-option {
    position: absolute;
    background: #353535;
    min-width: 120px;
    z-index: 2;
    border-radius: .5rem;
    border: 2px solid rgb(80,80,80);
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    top: 2rem;
}

.options {
    color: white;
    padding: .5rem;
    border-radius: inherit;
}

.options:hover {
    background-color: #222;
    cursor: pointer;
}

.filter-mode {
    padding: .5rem 1rem;
    border: 2px solid #7f24c6;
    border-radius: 1rem;
    font-weight: bolder;
    color: #7f24c6;
    background-color: white;
    margin: 0 1rem;
    box-shadow: 0 0 5px rgba(0,0,0,0.7) inset;
}

/* toggle visibility */
.disabled {
    display: none;
}

/* Animation */
.place {
    width: 100%;
    background-color: rgba(0,0,0, 0.3);
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-radius: 1em;
}

.bush {
    height: 100px;
    width: 100px;
    animation-name: rotateBush;
    animation-timing-function: linear; 
    animation-duration: 5s;
    animation-iteration-count: infinite;
    position: relative;
}

@keyframes rotateBush {
    from {
        left: 0;
        transform: rotate(0deg)
    }
    to {
        left: calc(100% - 100px);
        transform: rotate(calc(360deg * 2)) ;
    }
}

.empty-filter-container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

.empty-filter {
    font-size: large;
    color: white;
    background: #353535;
    text-align: center;
    padding: .5rem 1rem;
    border-radius: 1rem;
    border: 2px solid gray;
}
