* {
    font-family: verdana, arial, sans-serif;
    font-size: 12px;
}
a {
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
a:link {
  color: #bdbdbd;
}
a:visited {
  color: #bdbdbd;
}
a:hover {
  color: #bdbdbd;
}
a:active {
  color: #bdbdbd;
}

body {
  background-color: #252525;
  color: #f2f2f2;
  margin: 0;
  padding: 0;
}

section {
    height: 100%;
    width: 100%;
}
section pre {
    padding: 0.5em;
}

.center {
  margin: auto;
  text-align: center;
  list-style-position: inside;
}

.leftAligned {
    display: inline-block;
    text-align: left;
    margin: 0;
    padding-left: 2rem;
}

.fullWidth {
    width: 100%;
}
img.fullWidth {
    width: 100%;
    height: auto;
}

#siteBanner {
    background-image: url('../img/acviewer_banner.jpg');
    background-size: cover;
    background-position: center;
    aspect-ratio: 12.118;
}
#siteBanner > .siteTitle {
    position: relative;
    top: 15%;
    text-align: center;
    padding: 10px;
    background: rgba(0, 0, 0, 0.7);
    border-radius: 1em;
    padding: 0.3em 1em;
    display: inline-block;
}

#listFilter {
    display: flex;
    flex-flow: row;
    padding: 3px;
    background-color: #ac0f0f;
}
#listFilter form {
    width: 25%;
}
#listFilter form input {
    margin: 0 5px;
    width: calc(100% - 40px);
}

#input-cars, #input-tracks, button {
    height: 20px;
    border: none;
    background-color: #252525;
    color: #f2f2f2;
    border-radius: 0;

    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

input:focus {
    outline: none;
}

input[type="checkbox"] {
    cursor: pointer;
}
button[type="reset"] {
    margin-left: 5px;
}
button {
    background-color: #161616;
    border: 1px solid rgba(0, 0, 0, 0.3);
    margin-left: 3px;
    border-radius: 6px;
    box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.2);
}
button:not(:disabled):hover {
    cursor: pointer;
    border: 1px solid rgba(120, 120, 120, 0.3);
    box-shadow: none;
}

input,
button {
  vertical-align: middle;
}

button:disabled {
    cursor: default !important;
    background-color: #4f4f4f;
}

img.imgicon {
    width: 14px;
    height: 14px;
    margin: 1px;
}

button > img.imgicon {
    vertical-align: middle;
}

#dblist {
    width: 100%;
    margin-bottom: 15px;
}
#dblist th, td {
    text-align: center;
}
#dblist thead tr {
    background-color: #ac0f0f;
}
#dblist tbody tr:hover {
    background-color: #3794c9;
}
#dblist tr, #dblist td {
    line-height: 12px;
}
#dblist td > a.big {
    font-size: 20px;
    line-height: 12px;
    font-weight: bold;
}
#dblist td button {
    max-height: 14px;
    font-size: 10px;
}
#dblist tr.tableHorCombo > td {
    --border-top: 1px solid #085b8a;
    --border-top-style: dashed;
}
#dblist {
  border-collapse: collapse;
}
#dblist tr.tableHorCombo {
  border-top: 1px solid #085b8a;
  border-top-style: dashed;
}
#dblist .hasTitle {
    color: rgb(240, 180, 90);
}
#dblist td[data-label="fastestLap"]:not(:hover) {
    background-color: #2e2e2e;
}

.cursor {
    cursor: pointer;
}

td.newStint:before {
  content: '●';
  color: #ac0f0f;
  margin-right: 0.2em;
}

[data-title] {
    position: relative;
  }

[data-title]:after {
    pointer-events: none;
    content: attr(data-title);
    position: absolute;
    white-space: pre;
    text-align: left;
    left: 10%;
    top: 110%;
    background-color: rgba(0, 0, 0, 1);
    color: #f2f2f2;
    --width: max-content;
    padding: 7px;
    z-index: 10;
    box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.35);
    opacity: 0;
    -webkit-transition: opacity 0.25s ease-in-out;
  }

td.popupLeft[data-title]:after {
    left: -80%;
}

[data-title]:hover:after,
[data-title]:active:after {
    opacity: 1;
}


button.rightButton {
    position: absolute;
    right: 10px;
    top: 5px;
}
/* Modal styles */
.modal {
    display: none;
    position: fixed;
    z-index: 1;
    left: 0; top: 0;
    width: 100%; height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.5);
}
.modal-content {
    background-color: rgba(0.5, 0.5, 0.5, 0.75);
    margin: 15% auto;
    padding: 20px;
    width: 300px;
}
.modal-content label, input {
    float: left;
}
.modal-content label {
    clear: left;
    display: block;
    width: 60px;
}
.modal-content button {
    margin-top: 20px;
}
.modal-content button {
    display: block;
    margin: 0 auto;
    margin-top: 20px;
}
span.close {
    position: relative;
    top: -20px;
    right: -10px;
    float: right;
    font-size: 24px;
    cursor: pointer;
}


#footer {
    position: fixed;
    width: 100%;
    background-color: #252525;
    bottom: 0;
    text-align: center;
    font-size: 11px;
    color: #555555;
    margin-top: 13px;
}
#footer > span {
    margin-left: 50px;
    font-size: 11px;
}

@media (max-width: 1400px) {
    #dblist th,
    #dblist td,
    #dblist a {
      font-size: 11px;
    }

    td.popupLeft[data-title]:after {
        left: -100%;
    }

    #dblist tr:nth-child(even) {
        background: #363636;
    }
}

@media (max-width: 1200px) {
    #dblist th,
    #dblist td,
    #dblist a {
      font-size: 10px;
    }
}

@media (max-width: 900px) {
    #siteBanner > .siteTitle {
        font-size: 11px;
        top: 5%;
    }
    #dblist thead,
    #dblist td > a.big {
        display: none;
    }
     #dblist tr {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        margin-bottom: 10px;
        padding: 5px;
    }
    #dblist td {
        display: block;
        padding: 5px;
        text-align: right;
    }
    #dblist td:before {
        content: attr(data-label);
        float: left;
        font-weight: bold;
        padding-right: 5px;
    }
}