*
{
    transition : background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}

.timed-task
{
    flex-direction: row;
    padding: .5em;
    width: calc(100% - 1em);
    background-color: #2b2b2b;
    margin-bottom: 3px;
    border-radius: 4px;
    transition: filter 0.5s;
    align-items: center;
}

.timed-task.late
{
    background-color: #bf0000;
}

.timed-task._1h-left
{
    background-color: #813000;
}

.timed-task._3h-left
{
    background-color: #815300;
}

.timed-task._10h-left
{
    background-color: #7f8100;
}

.timed-task._50h-left
{
    background-color: #0e8100;
}

.timed-task._500h-left
{
    background-color: #008163;
}

.list .elmts
{
    max-height: 80vh;
    overflow: auto;
    padding: 0;
    margin-top: 0.5em;
}

.timed-task label
{
    padding: 0;
    margin-left: 1em;
    font-weight: bold;
    font-style: italic;
}

.timed-task .chrono
{
    flex-direction: row;
    width: initial;
    margin-left: auto;
    margin-right: 1em;
    background-color: #6d6d6d;
    border-radius: 5px;
    padding: 0.2em;
    padding-right: 0.8em;
}

.timed-task .chrono .nombre 
{
    width: initial;
    margin: 0;
    margin-left: 1em;
}

.timed-task .chrono .labels
{
    font-size: 0.8em;
    color: #afafaf;
    font-style: italic;
    text-align: left;
    width: initial;
    margin-left: 0.6em;
}

.timed-task button.valid
{
    width: initial;
    border-radius: 100px;
    padding: 10px;
}

.timed-task img.icon
{
    width: 32px;
    filter: invert(1);
}

.timed-task.validating
{
    pointer-events: none;
    background-color: #414141;
    cursor: not-allowed;
}

.timed-task.error
{
    background-color: #ff0000;
}

.timed-task.validating label
{
    color: grey;
}

.timed-task.validating .chrono
{
    background-color: transparent;
}

.timed-task.validating .nombres
{
    color: grey;
}

.timed-task.valid
{
    background-color: #40574f;
}

.timed-task.valid button.valid
{
    background-color: #007d49;
}

.timed-task.valid .time
{
    width: initial;
    margin: auto;
    margin-right: 1em;
    font-style: italic;
    color: #5fffbc;
}

.timed-task .time
{
    text-align: right;
    margin-right: 1em;
}

div.reward-card
{
    position: absolute;
    top: 0px;
    left: 0px;
    margin: 1em;
    padding: 0.5em 1em;
    background: #212121;
    border-radius: 5px;
    box-shadow: 0 0 8px 0 #00000052;
    pointer-events: none;
    width: initial;
    font-size: 0.8em;
}

div.page main > button.add-task,
div.page main > button.add-reward,
div.page main > button.add-optional-task
{
    position: fixed;
    bottom: 0;
    right: 0;
    width: initial;
    border-radius: 118px;
    font-size: 3em;
    padding: 36px 23px;
    line-height: 0;
    margin: 20px;
    z-index: 10;
}

.timed-task.pending,
.reward.pending,
.add-optional-task.pending
{
    filter: contrast(0.3) brightness(0.4);
}

div.page main > button.money
{
    width: initial;
    position: fixed;
    z-index: 10;
    bottom: 0;
    left: 0;
    margin: 20px;
    border-radius: 200px;
}

button.money div
{
    flex-direction: row;
}

button.money div img
{
    width: 49px;
}

button.money div label
{
    width: initial;
    font-size: 2em;
    padding: 0;
    margin-left: 0.5em;
    font-weight: bold;
}

.reward,
.optional-task
{
    background: #1f1f1f;
    border-radius: 3px;
    padding: 0.5em;
    width: calc(100% - 1em);
    cursor: pointer;
    margin-bottom: 2px;
    transition: filter 0.5s;
}

.reward .head,
.optional-task .head
{
    flex-direction: row;
    align-items: center;
}

.reward .head label.name,
.optional-task .head label.name
{
    width: initial;
    margin-left: 0;
}

.reward .head .cost,
.optional-task .head .value
{
    flex-direction: row;
    width: initial;
    margin-left: auto;
    margin-right: 1em;
}

.reward .head .cost img,
.optional-task .head .value img
{
    width: 32px;
}

.reward .head .cost label,
.optional-task .head .value label
{
    font-weight: bold;
}

.reward .head button,
.optional-task .head button
{
    width: initial;
}

b
{
    display: inline-block;
}

.new-reward-form input[type=checkbox]
{
    text-align: right;
    margin-right: 0;
    width: initial;
}

.label-container.houres
{
    background: #036049;
    border-radius: 4px;
    padding: 0.5em 1em;
    width: calc(100% - 2em);
}

.label-container.houres.empty
{
background: #600303;
}

@media screen and (max-width: 520px)
{
    .timed-task
    {
        font-size: 0.7em;
    }
    .timed-task button.valid
    {
        padding: 5px;
    }
    .timed-task img.icon
    {
        width: 16px;
    }
}
