a.ext {
    text-decoration: underline;
}

/* - - - */

#dataStatus {
    /*display: none;*/
    position: absolute;
    top: .5em;
    right: 1em;
    font-size: 80%;
}

#dataStatus a {
    display: inline-block;
    background: #FFFF00;
    color: #FFFFFF;
    margin-left: .5em;
    padding: 0 .25em;
    text-decoration: none;
}

#dataStatus a.loading {
    background-color: #FF9900;
}

#dataStatus a.complete {
    background-color: #009900;
}

/* - - - */

nav ul {
    list-style: none;
}

nav ul li {
    display: inline-block;
}

nav ul li a,
nav ul li span {
    display: block;
    padding: .125em .25em;
    color: #000;
}

nav ul li span {
    color: #666;
}

@media screen and (min-width: 700px) {
    nav ul li a:hover {
        color: #000;
        text-decoration: none;
        background-color: #EEE;
    }
}

/* - - - */

header {
    margin-top: 0;
    margin-bottom: 0;
}

#header-logo {
    width: 4em;
}

@media screen and (min-width: 700px) {
    header h1 {
        line-height: 2em;
    }
}

header h1 span {
    display: none;
}

header nav {
    margin-left: 1em;
    line-height: 4em;
    display: none;
    flex-grow: 1;
}

/*header nav ul li:last-child {
    float: right;
}*/

form.login input {
    display: block;
    margin: 2em auto;
    font-size: 1.2;
    padding: 1em;
    border: 1px solid #000;
}

form.login button {
    display: block;
    margin: 2em auto;
    padding: 1em 3em;
    background: #000;
    color: #FFF;
    border: none;
}

.clickData {
    display: none !important;
}

table.dataTable {
    width: 100%;
}

table.dataTable th {
    font-family: "Averia Sans Libre", sans-serif;
}

table.dataTable thead th,
table.dataTable thead td,
table.dataTable tbody th,
table.dataTable tbody td {
    padding: 2.5px 5px;
}

table.dataTable thead th span.time,
table.dataTable thead td span.time {
    display: block;
    color: #CCC;
    font-size: 80%;
    font-weight: normal;
}

table.dataTable th,
table.dataTable td {
    vertical-align: top;
    text-align: left;
}

table.dataTable.monthly thead th,
table.dataTable.monthly thead td,
table.dataTable.monthly tbody th,
table.dataTable.monthly tbody td {
    white-space: nowrap;
}

.timeblock {
    display: block;
    height: 240px;
    background: #EEE;
    /*border: 1px solid #999;*/
    position: relative;
    overflow: hidden;
}

.timeblock span {
    /*  top and height set dynamically as percentages of container height */
    /*border: 1px solid #EEE;*/
    min-height: 2px;
    opacity: .75;
    position: absolute;
    left: 0;
    right: 0;
}

.timeblock span.now {
    border-top: 1px solid #000;
    background-color: transparent;
}

.timeblock span.running {
    border: 1px solid #F00;
}

.timeblock span:nth-child(odd) {
    right: 5px;
}

.timeblock span:nth-child(even) {
    left: 5px;
}

#timer {
    background: #cdffb2;
    padding: 5px;
    display: none;
}

#report {
    overflow: auto;
}

#report nav {
    text-align: center;
}

#entries {
    overflow: auto;
}

#entries table span.time {
    display: block;
    color: #CCC;
    font-size: 80%;
}

#entries table.dataTable thead th,
#entries table.dataTable thead td,
#entries table.dataTable tbody th,
#entries table.dataTable tbody td {
    padding: 0 10px;
}

#entries table.dataTable thead th:first-child,
#entries table.dataTable thead td:first-child,
#entries table.dataTable tbody th:first-child,
#entries table.dataTable tbody td:first-child {
    padding-left: 0;
}

#entries table.dataTable thead th:last-child,
#entries table.dataTable thead td:last-child,
#entries table.dataTable tbody th:last-child,
#entries table.dataTable tbody td:last-child {
    padding-right: 0;
}

.time-percentage,
.time-percentage span {
    text-indent: 3px;
}

.time-percentage {
    /* color set by other class */
    display: block;
    background-color: #EEE;
    position: relative;
    border-bottom: 1px solid #DDD;
}

.time-percentage span {
    /* background-color set by other class */
    /* width set inline */
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    color: #EEE;
    display: block;
    overflow: hidden;
}

.time-percentage span span {
    display: block;
    width: 100em;
}

.no-tags::before {
    content: "-";
    background-color: #EEE;
    display: block;
}

.spinner {
    display: none !important;
}

.spinner.active {
    display: inline-block !important;
}

/* Whiteboard */

table.whiteboard {
    width: 100%;
    border-collapse: collapse;
}

table.whiteboard th,
table.whiteboard td {
    text-align: left;
    vertical-align: top;
    width: 20%;
}

table.whiteboard th {
    padding: 5px 15px;
}

table.whiteboard td {
    padding: 5px;
}

table.whiteboard .note {
    background: lightyellow;
    border: 1px solid #EEE;
    margin: 5px 0 10px 0;
    padding: 10px;
    min-height: 75px;
    position: relative;
}

table.whiteboard .color {
    position: absolute;
    top: 5px;
    right: 5px;
    display: block;
    border-radius: 100px;
    width: 10px;
    height: 10px;
    line-height: 20px;
    text-align: center;
}

/* Sprint */

.sprint-type-header {
    background-color: #999;
    color: #FFF;
    padding: 0 15px;
    margin: 15px 0;
}

.sprint-type-header.open {
    background-color: #000;
}

.sprint-type-header small {
    padding-left: 7px;
    color: #666;
}

.sprint-type-container {
    margin: 15px 0;
    display: none;
}

.sprint-type-container.open {
    display: block;
}

.sprint-parent {
    margin: 15px 0;
}

.sprint-title {
    font-weight: 500;
    margin-bottom: 3px;
}

.sprint-title:hover .sprint-node-link {
    display: inline;
}

a.sprint-node-link:hover {
    text-decoration: none;
}

.sprint-node {
    border-top: 1px solid #EEE !important;
    border-left: 8px solid #FFF;
}

.sprint-node.menu-active {
    background-color: #EEE;
}

.sprint-node-content {
    padding: 3px 7px;
}

@media screen and (min-width: 700px) {
    .sprint-node-content:hover {
        background-color: #EEE;
    }
}

.sprint-node-path {
    list-style: none;
    font-size: smaller;
}

.sprint-node-path li {
    display: inline-block;
}

.sprint-node-path li:not(:last-child)::after {
    display: inline-block;
    margin: 0 .25rem;
    content: "→";
    opacity: .4;
}

.sprint-node-path li a {
    display: inline-block;
    opacity: .4;
}

.sprint-node-path li.is-project a {
    /* font-weight: bold; */
    opacity: 1;
}

.sprint-node-checked {
    opacity: 0.4;
}

.sprint-node-checkbox {
    margin-right: 7px;
}

.sprint-node-date {
    margin-right: 7px;
    font-weight: 500;
    color: #900;
}

.sprint-node-text {}

.sprint-node-children {
    margin-left: 7px;
    color: #666;
}

.sprint-node-link {
    float: right;
}

.sprint-node-menu {
    padding: 7px 7px 0 7px;
    display: none;
    border: 1px solid #999;
    background-color: #EFEFEF;
}

.sprint-node.menu-active .sprint-node-menu {
    display: block;
}

.sprint-node-menu-row {
    margin: 7px 0;
}

.sprint-node-menu-text {
    display: block;
    font-size: smaller;
    padding: 3px 7px;
    width: 98%;
    margin-bottom: 8px;
    border: 1px solid #999;
}

.sprint-node-menu-selector {
    list-style: none;
    margin: 0;
}

.sprint-node-menu-selector li {
    display: inline-block;
}

.sprint-node-menu-selector li {
    display: inline-block;
}

.sprint-node-menu-selector li a,
.sprint-node-menu-selector li span {
    display: inline-block;
    padding: 6px;
    border: 1px solid #DDD;
    margin-right: 3px;
}

.sprint-node-menu-selector li a:hover,
.sprint-node-menu-selector li.current a {
    border-color: #999;
}

.sprint-node-menu-selector li a.sprint-node-menu-color {
    padding: 0;
    display: inline-block;
    width: 22px;
    height: 22px;
    text-align: center;
    line-height: 22px;
}

/* .sprint-node-menu-selectDate {} */

.sprint-node-menu-selectDate input {
    border: 1px solid #999;
    padding: 1px;
}

.sprint-node-menu-selectDate button {
    display: inline-block;
    margin-left: 3px;
    border: 1px solid #999;
    padding: 3px 3px;
    background-color: #FFF;
}

@media screen and (min-width: 700px) {
    .sprint-node-link {
        display: none;
    }
}

.sprint-node:hover .sprint-node-link {
    display: inline;
}

.sprint-ext-link {
    color: #00F;
}

.sprint-context-filter {
    list-style: none;
    margin: 15px 0;
}

.sprint-context-filter li {
    display: inline-block;
}

.sprint-context-filter li {
    display: inline-block;
}

.sprint-context-filter li a {
    display: inline-block;
    padding: 7px;
}

@media screen and (min-width: 700px) {
    .sprint-context-filter li a:hover {
        background-color: #EEE;
    }
}

.sprint-context-filter li.current a {
    background-color: #FC9;
}

/* TV */

.tv-entry {
    /* margin-bottom: 3rem; */
}

.tv-entry h3 {
    margin-top: .4rem;
    line-height: 2;
}

.tv-entry-star {
    display: inline-block;
    padding: 0 1rem;
}

.tv-entry-content {
    position: relative;
    display: block;
    width: 100%;
    /* width of iframe wrapper */
    height: 0;
    margin: auto;
    padding: 0% 0% 56.25%;
    /* 16:9 ratio */
    overflow: hidden;
}

.tv-entry-content iframe {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.tv-nav {
    display: flex;
    gap: .5rem;
}

.tv-nav span {
    flex-grow: 1;
    display: flex;
}

.tv-nav a {
    display: block;
    padding: .25rem;
    text-align: center;
    color: #000;
    border: 1px solid #000;
    white-space: nowrap;
    margin-right: -1px;
    flex-grow: 1;
    /* margin-bottom: .5rem; */
}

.tv-nav a.active {
    /* font-weight: bold; */
    background-color: #000;
    color: #FFF;
}

.tv-list,
.tv-list ul {
    padding-left: 1rem;
}

.tv-list ul {
    list-style: none;
}

.tv-list ul li {
    line-height: 2;
    margin-bottom: 1px;
}

.tv-list-star,
.tv-list-read,
.tv-list-link {
    display: inline-block;
    padding: 0 .5rem;
    background-color: #EEE;
    border-radius: .5rem;
}

/* Misc */

.toggl-entry-edit {
    display: inline-block;
    padding-left: 10px;
}

.text-right {
    text-align: right;
}