@import url('https://fonts.googleapis.com/css2?family=Baumans&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Jura:wght@700&display=swap');

html {
    min-height: 100%;
    background-color: var(--default_opposite);
    /*font-family: 'Baumans', 'Jura', 'Times New Roman', Times, serif;*/
    font-family: 'Jura', 'Times New Roman', Times, serif;
    letter-spacing: -.25px;

    transition: all .5s ease-in-out;
}

body {
    min-height: -webkit-fill-available;
    display: flex;
    flex-direction: column;
    color: var(--default);
    margin: 0 4px;
}

:root {
    --main: wheat;
    --blurple: #5865f2;
    --mav: #003b73;
    --hev: #005e3b;
    --gysev: #00952c;
    --default: white;
    --default_dark: color-mix(in srgb, var(--default), black 20%);
    --default_darker: color-mix(in srgb, var(--default), black 40%);
    --default_darkest: color-mix(in srgb, var(--default), black 60%);
    --default_opposite: black;
    --default_dark_opposite: color-mix(in srgb, var(--default_opposite), white 20%);
    --default_darker_opposite: color-mix(in srgb, var(--default_opposite), white 40%);
    --default_darkest_opposite: color-mix(in srgb, var(--default_opposite), white 60%);
    --background-color: rgba(0, 0, 0, 0.5);
    --background-color_opposite: rgba(255, 255, 255, 0.5);
    --background-color_light: rgba(0, 0, 0, 0.3);
    --background-color_light_opposite: rgba(255, 255, 255, 0.3);
    --background-color_default: color-mix(in srgb, var(--default), rgba(0, 0, 0, 0) 80%);
    --background-color_light_default: color-mix(in srgb, var(--default), rgba(0, 0, 0, 0) 90%);
    --background-color_default_opposite: color-mix(in srgb, var(--default_opposite), rgba(255, 255, 255, 0) 80%);
    --background-color_light_default_opposite: color-mix(in srgb, var(--default_opposite), rgba(255, 255, 255, 0) 90%);
    --disabled-display: initial;
}
html.light:root {
    --main: #ebbd68;
    --default: black;
    --default_dark: color-mix(in srgb, var(--default), white 20%);
    --default_darker: color-mix(in srgb, var(--default), white 40%);
    --default_darkest: color-mix(in srgb, var(--default), white 60%);
    --default_opposite: white;
    --default_dark_opposite: color-mix(in srgb, var(--default_opposite), black 20%);
    --default_darker_opposite: color-mix(in srgb, var(--default_opposite), black 40%);
    --default_darkest_opposite: color-mix(in srgb, var(--default_opposite), black 60%);
    --background-color: rgba(255, 255, 255, 0.5);
    --background-color_opposite: rgba(0, 0, 0, 0.5);
    --background-color_light: rgba(255, 255, 255, 0.3);
    --background-color_light_opposite: rgba(0, 0, 0, 0.3);
}
html.custom:root {
    --default: white;
    --default_opposite: black;
}

::placeholder {
    font-family: 'Jura', 'Times New Roman', Times, serif;
}
::-webkit-input-placeholder {
    font-family: 'Jura', 'Times New Roman', Times, serif;
}
::-moz-placeholder {
    font-family: 'Jura', 'Times New Roman', Times, serif;
}
input[type="number"]::placeholder {
    font-size: 6px;
}
input[type="number"]::-webkit-input-placeholder {
    font-size: 6px;
}
input[type="number"]::-moz-placeholder {
    font-size: 6px;
}

@font-face {
    font-family: nasalization;
    src: url('../fonts/nasalization-rg.otf');
}
  
.background {
    position: fixed;
    min-height: -webkit-fill-available;
    width: 98%;
    /*background-image: url('../img/background/cetli.png');*/
    /*background-size: contain;*/
    background-size: 40%;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: scroll;
    z-index: -1;

    /*filter: blur(5px);*/
    /*opacity: .75;*/

    transition: all .5s ease-in-out;
}

@media (hover: none) {
    .background {
        background-size: 70%;
    }
}

.background-hidden {
    filter: blur(50px);
    opacity: 0;
}

footer {
    margin-top: auto;
    /*position: absolute;*/
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;
    padding: 5px;
    background-color: var(--background-color);
    border-top: var(--default_darker) 1px solid;
    color: var(--default);
    font-size: 7px;

    border-radius: 20px 20px 0 0;

    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);

    transition: all .5s ease-in-out;
}

footer.absolute {
    position: absolute;
}

body.absoluteFooter {
    min-height: 0;
}

footer:hover {
    border-color: var(--default);

    border-radius: 10px 10px 0 0;
}

footer .footerLang {
    display: inline !important;
    margin-right: 20%;
}

footer .footerLangCode {
    display: inline !important;
}

footer #code {
    width: 15%;
    float: right;
    margin-right: 5%;
    padding: 1px 3.5px;
    font-size: 5px;
    font-family: 'Times New Roman', Times, serif;
}
footer #code:hover,
footer #code:active,
footer #code:focus {
    border-radius: 3.5px;
}

#code,
#code_edit,
#codeC_edit,
#codeW_edit,
#codeD_edit {
    -webkit-text-security: disc;
}
#code:hover,
#code:active,
#code:focus,
#code_edit:hover,
#code_edit:active,
#code_edit:focus,
#codeC_edit:hover,
#codeC_edit:active,
#codeC_edit:focus,
#codeW_edit:hover,
#codeW_edit:active,
#codeW_edit:focus,
#codeD_edit:hover,
#codeD_edit:active,
#codeD_edit:focus {
    -webkit-text-security: none;
}

#langSelect {
    /*
    background-color: rgba(0, 0, 0, 0.3);
    color: var(--default);
    border-radius: 10px;
    border-radius: 7.5px;*/
    margin-top: 0px;
    width: 15%;
    float: left;
    margin-left: 5%;
    padding: 0.5px 1.5px;
    font-size: 5px;
    font-family: 'Times New Roman', Times, serif;

    border-width: 1px;

    /*margin-left: 10px;*/
}
#langSelect:hover {
    border-radius: 4px;
}

label {
    font-size: 10px;
}

.switch {
    position: relative;
    display: inline-block;
    width: 18.75px;
    height: 12.75px;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--default_opposite);
    -webkit-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
    border-radius: 10.5px;

    border: 1px solid var(--default_darker);
}

.slider_bg {
    -webkit-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
}

.slider:before {
    position: absolute;
    content: "";
    height: 9px;
    width: 9px;
    left: 1.25px;
    bottom: 1px;
    background-color: var(--default_darker);
    -webkit-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
    border-radius: 50%;
}

.slider_bg:before {
    -webkit-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
}

.slider:hover {
    border-color: var(--default);
    border-radius: 5px;
}
.slider.disabled:hover {
    border-radius: 8px;
    cursor: default;
    border-color: var(--default_darker);
}
input:checked+.slider.disabled:hover {
    border-color: var(--default_darker_opposite);
}

.slider:hover:before {
    background-color: var(--default);
    border-radius: 3px;
}
.slider.disabled:hover:before {
    border-radius: 5px;
}

input:checked+.slider {
    background-color: var(--default_dark);
    border-color: var(--default_darker_opposite);
}

input:checked+.slider:hover {
    background-color: var(--default);
}
input:checked+.slider.disabled:hover {
    background-color: var(--default_dark);
}

input:checked+.slider::before {
    background-color: var(--background-color);
}

input:focus+.slider {
    box-shadow: 0 0 2.5px black;
}

input:checked+.slider:before {
    -webkit-transform: translateX(5.75px);
    -ms-transform: translateX(5.75px);
    transform: translateX(5.75px);
}


::-webkit-scrollbar {
    width: 15px;
}

::-webkit-scrollbar-track {
    background: var(--default_opposite);
}

/*::-webkit-scrollbar-track:hover {
    background: var(--default_opposite);
}*/

::-webkit-scrollbar-thumb {
    background: var(--main);
    border: 2px solid var(--default_opposite);
    border-radius: 30px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--default);
    border: 2px solid var(--default_opposite);
}

@supports (scrollbar-color: red blue) {
    * {
        scrollbar-color: var(--main) var(--default_opposite);
        scrollbar-width: thin;
    }
}

.container p {
    font-size: 7px;
}

.brand {
    font-weight: bold;
    font-size: 90%;
    letter-spacing: -.1px;
    font-family: nasalization;
    transition: all .5s ease-in-out;
}

/*a ataggiczy, a RangerBot, a UMSZKI {
    opacity: 90%;
}
a ataggiczy:hover, a RangerBot:hover, a UMSZKI:hover {
    opacity: 100%;
}*/
a ataggiczy::before, a RangerBot::before {
    transition: all .5s ease-in-out;
}
a ataggiczy:hover::before, a RangerBot:hover::before {
    color: var(--default);
}

::before, ::after {
    transition: all .5s ease-in-out;
}

Cetli::after {
    content: 'Cetli';
    color: var(--main);
}

mavdot::before {
    content: 'mav';
    color: var(--mav);
}
mavdot::after {
    content: '.';
    color: var(--default_darker);
}

mav::after {
    content: 'MÁV';
    color: var(--mav);
}
hev::after {
    content: 'HÉV';
    color: var(--hev);
}
gysev::after {
    content: 'GySEV';
    color: var(--gysev);
}

aggiczyhu::before {
    content: 'aggiczy';
    color: var(--blurple);
}
aggiczyhu::after {
    content: '.hu';
    color: var(--default_darker);
}

aggiczy::after {
    content: 'aggiczy';
    color: var(--blurple);
}

ataggiczy::before, RangerBot::before {
    content: '@';
    color: var(--default_darker);
}

ataggiczy::after {
    content: 'aggiczy';
    color: var(--blurple);
}

RangerBot::after {
    content: 'RangerBot';
    color: #0087ff;
}

UMSZKI::after {
    content: 'UMSZKI';
    color: #273e6f;
}

.statistics {
    padding: 5px;
    margin: 10px 2.5px 5px 2.5px;
    border-radius: 20px;
    background-color: var(--background-color_light_default);
    border: 1px solid var(--default_darker);

    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);

    transition: all .5s ease-in-out !important
}
.statistics:hover {
    border-color: var(--default);
    border-radius: 15px;
}

.train, .vehicle {
    padding: 5px;
    margin: 10px 2.5px 5px 2.5px;
    border-radius: 20px;
    background-color: var(--background-color_light);
    border: 1px solid var(--default_darker);

    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);

    transition: all .5s ease-in-out !important
}
.train:hover, .vehicle:hover {
    border-color: var(--default);
    border-radius: 15px;
}

.day {
    margin-top: 16px;
    margin-bottom: 8px;
}
.day:first-child {
    margin-top: 12px;
}
.day:last-child {
    margin-bottom: 0;
}
.day .statistics {
    border-radius: 10px 10px 20px 20px;
}
.day .statistics:hover {
    border-radius: 7.5px 7.5px 15px 15px;
}

.dateanddayofweek {
    font-size: 12px;
    color: var(--default);
    margin: 10px 2.5px 5px 2.5px;
    background-color: var(--background-color);
    border: 1px solid var(--default_darker);
    backdrop-filter: blur(1px);
    margin-top: 12px;
    font-family: nasalization;
    display: block;
    position: sticky;
    top: 0;
    z-index: 1;
    padding: 10px;
    border-radius: 20px 20px 10px 10px;
    transition: all .5s ease-in-out;
}
.dateanddayofweek:hover {
    border-color: var(--default);
    border-radius: 15px 15px 7.5px 7.5px;
}
.date {
    font-size: 12px;
    color: var(--default);
    transition: all .5s ease-in-out;
}
.dayofweek {
    font-size: 11px;
    color: var(--default_dark);
    transition: all .5s ease-in-out;
}

.dateScroll, .dateanddayofweek_noclick {
    font-size: 8px;
    color: var(--default);
    margin-top: 4px;
    font-family: nasalization;
    transition: all .5s ease-in-out;
}
.date_noclick {
    font-size: 8x;
    color: var(--default);
    transition: all .5s ease-in-out;
}
.dayofweek_noclick {
    font-size: 7px;
    color: var(--default_dark);
    transition: all .5s ease-in-out;
}

.statistics {
    font-size: 10px;
    color: var(--default);
}

.trainCount, .viszonylats, .trainNames, .trainTypes, .locoTypes, .firstAndLastDepartureTime, .firstAndLastArrivalTime, .delayStat, .vehicle_data {
    display: block;
    margin: 10px 5px;
}

.viszonylats .station {
    white-space: nowrap;
    color: var(--default_dark);
    transition: all .5s ease-in-out;
}

.viszonylats .occurrence {
    font-size: 8px;
    color: var(--default_darker);
    transition: all .5s ease-in-out;
}

.trainNames .trainname {
    white-space: nowrap;
    color: var(--default_dark);
    transition: all .5s ease-in-out;
}

.trainNames .occurrence {
    font-size: 8px;
    color: var(--default_darker);
    transition: all .5s ease-in-out;
}

.trainTypes .traintype {
    white-space: nowrap;
    color: var(--default_dark);
    transition: all .5s ease-in-out;
}

.trainTypes .occurrence {
    font-size: 8px;
    color: var(--default_darker);
    transition: all .5s ease-in-out;
}

.train_name, .train_viszonylat, .train_type, .vehicle_name {
    font-family: nasalization;
    font-weight: bold;
}

.locoTypes .locotype {
    white-space: nowrap;
    color: var(--default_dark);
    transition: all .5s ease-in-out;
}

.locoTypes .occurrence {
    font-size: 8px;
    color: var(--default_darker);
    transition: all .5s ease-in-out;
}

.firstAndLastDepartureTime .value {
    font-size: 10px;
    color: var(--default_dark);

}
.firstAndLastArrivalTime .value {
    font-size: 10px;
    color: var(--default_dark);
}

.delayStat .value {
    font-size: 10px;
    color: var(--default_dark);
}

.train_number {
    font-size: 10px;
    color: var(--default_darker);
    transition: all .5s ease-in-out;
}
train_name {
    font-size: 10px;
    color: var(--default_darker);
    transition: all .5s ease-in-out;
}
.train_number, train_name {
    margin-top: 6px;
    transition: all .5s ease-in-out;
}

loco_nickname, train_name {
    font-weight: bold;
    letter-spacing: -.1px;
    font-family: nasalization;
    transition: all .5s ease-in-out;
}

.uic {
    font-size: 10px;
    color: var(--default_dark);
    transition: all .5s ease-in-out;
}
.uic_unknown {
    font-size: 10px;
    color: var(--default_darkest);
    transition: all .5s ease-in-out;
}
.uic_trainType, .uic_countryCode, .uic_seriesNumber_1, .uic_checkDigit {
    font-size: 10px;
    color: var(--default_darker);
    transition: all .5s ease-in-out;
}
.uic_seriesNumber_3, .uic_locoNumber {
    font-size: 10px;
    color: var(--default_dark);
    transition: all .5s ease-in-out;
}

.destination {
    font-size: 8px;
    color: var(--default_darkest);
    transition: all .5s ease-in-out;
}
.stationname {
    font-size: 8px;
    color: var(--default_dark);
    transition: all .5s ease-in-out;
}
.track {
    color: var(--default_darker);
}
.time, .time-nc {
    font-size: 6px;
    color: var(--default_darker);
    transition: all .5s ease-in-out;
}
.delay, .arrivalDelay, .departureDelay {
    font-style: italic;
}

.open_timetable {
    color: var(--default);
}
.timetable {
    margin-top: 5px;
    margin-right: 2px;
    font-size: 6px;
    color: var(--default_darker);
}
.timetable .station {
    display: inline-block;
    /*margin-left: 2px;*/
    font-size: 8px;
    color: var(--default_darkest);
}
.timetable .station .separator {
    margin-inline: 2px;
    color: var(--default_darker);
}
.kozlekedesiRend {
    margin-top: 5px;
    display: block;
    font-size: 6px;
    color: var(--default_dark);
}
.kozlekedesiRend .value {
    color: var(--default_darker);
}

/* Locomotive Monthly Statistics Styling */
.loco-stats-container {
    display: flex;
    flex-direction: column;
    margin: 15px 0;
    border: 0.1px solid var(--default_darkest);
    border-radius: 10px;
    overflow-x: scroll;
    font-family: inherit;
    padding: 5px;
}

.loco-stats-header,
.loco-stats-row {
    display: flex;
    align-items: center;
    height: 20px;
}

.loco-stats-header {
    font-weight: bold;
    position: sticky;
    top: 0;
    z-index: 1;
    /*border-bottom: 1px solid #ddd;*/
}

.uic-label, 
.uic-number {
    flex: 0 0 130px;
    /*padding: 0 10px;*/
    text-align: left;
    font-weight: bold;
    /*display: flex;*/
    align-items: center;
    /*border-right: 1px solid #ddd;*/
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 10px;
    color: var(--default_dark);
}

.day-header {
    flex: 0 0 14px;
    text-align: center;
    font-size: 8px;
    color: var(--default_dark);
    /*border-right: 1px solid #eee;*/
}

/*.loco-stats-row {
    border-bottom: 1px solid #eee;
}

.loco-stats-row:last-child {
    border-bottom: none;
}*/

/*.loco-stats-row:nth-child(even) {
    background-color: #f9f9f9;
}*/

.day-box {
    flex: 0 0 10px;
    height: 10px;
    margin: 2px;
    /*background-color: #f2f2f2;*/
    position: relative;
    /*border: 1px solid #ddd;*/
    border-radius: 2px;
    overflow: hidden;
    cursor: help;
    transition: all 0.3s ease-in-out;
}

.day-box.no-data {
    flex: 0 0 9px;
    height: 9px;
    background-color: transparent;
    border: 1px dashed var(--default_dark);
}

.train-type-segment {
    width: 100%;
}
.dayTrainNumber {
    position: absolute;
    position-area: center;
    font-size: 6px;
}

/* Add hover effect for better user experience */
.day-box:hover {
    transform: scale(1.1);
    z-index: 10;
    box-shadow: 0 0 5px rgba(0,0,0,0.2);
}

/* Make the tooltip appear on hover */
.day-box:hover::after {
    content: attr(title);
    position: absolute;
    background: var(--background-color);
    color: var(--default);
    padding: 5px;
    border-radius: 3px;
    font-size: 8px;
    white-space: pre-line;
    z-index: 1000;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    pointer-events: none;
    min-width: 100px;
}

.custom-tooltip {
    position: fixed;
    background-color: var(--background-color);
    padding: 4px 8px;
    border-radius: 4px;
    color: var(--default);
    font-size: 8px;
    z-index: 9999;
    white-space: nowrap;
    pointer-events: none;
    box-shadow: 0 0 4px var(--background-color);
}

.line-base {
    margin-top: 5px;
    width: 100%;
    height: 10px;
    background-color: var(--default_darkest);
    border-radius: 5px;
    overflow: hidden;
    transition: opacity 1s ease-in-out;
}
.line-fill {
    height: 100%;
    width: 0%;
    background-color: var(--default);
    transition: width .5s ease;
}

.font-nasalization {
    font-family: nasalization;
}

#slogan {
    font-size: 6px;
    font-weight: bold;
    color: var(--default);
    float: right;
    margin-top: 8px;
}
#slogan span {
    transition: all .5s ease-in-out;
}

/*slogan::after {
    content: '<span style="color: var(--main);">„Ennyit mára a <span style="color: #d9884e;">tudomány</span> és a <span style="color: #d9884e;">technika</span> újdonságaiból.”</span>';
}*/

p {
    margin-block: 0;
}

/*.navbar,
.navbar h1,
.navbar .point,
.navbar h2,
.navbar .urls {
    vertical-align: middle !important;
}*/

.navbar .urls {
    text-align: center;
    text-wrap: balance;
    font-size: 12.5px;
}

@media (max-width: 382px) {
    .navbar .urls {
        margin-top: 12.5px !important;
    }
}

.navbar .urls a {
    transition: all .3s ease-in-out;
}

.navbar .urls a:hover {
    color: var(--default);
    opacity: 100%;
}

.navbar .urls .active {
    color: var(--default);
    opacity: 100%;
}

/*.navbar .urls span,
.navbar .urls a {
    vertical-align: initial;
}*/

.navbar .urls {
    margin: 0 5px
}

.navbar h1 {
    margin: 2px 5px 2px 0;
}

.navbar .point {
    font-size: 10px !important;
    margin: 2px 5px 2px 0;
}

.navbar h2 {
    /*margin: 2.5px 5px 2px 0;*/
    margin: 0;
    vertical-align: 15%;
}

.container {
    padding: 5px;
    margin: 5px 2.5px 25px 2.5px;
    border-radius: 20px;
    background-color: var(--background-color);
    border: 1px solid var(--default_darker);

    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);

    transition: all .5s ease-in-out !important
}

.container:hover {
    border-color: var(--default);
}

.container-center {
    text-align: center !important;
}

.container-bottom-fix {
    padding-bottom: 10px;
}

.home {
    font-size: 7px;
    display: inline-block;
}

a {
    color: var(--default_darker);
}
a:hover {
    color: var(--default_dark);
}
.navbar {
    transition: all .5s ease-in-out;
    color: var(--default_dark);
}

h1 {
    font-size: 10px !important;
    display: inline-block;
    /*color: lightgreen;*/
}
h1 i {
    margin-bottom: -1px;
}

/*h1 i::before,
buton i::before {
    vertical-align: initial;
}*/

h2 {
    margin-top:auto;
    font-size: 6px !important;
    display: inline-block;
    /*color: lightgreen;*/
}

h3 {
    margin-block: -10px 0;
}

ul {
    list-style-type: none;
    padding: 0;
}

li {
    margin: 5px 0;
}

/*#topics-container a, #fulltext-container a {
    color: lightgreen;
}*/

a {
    opacity: 100%;

    transition: all .4s ease-in-out;
}

a:enabled:hover {
    opacity: 80%;
    /*letter-spacing: 3px;*/
}
.urls a {
    /*letter-spacing: 0px;*/
    opacity: 100%;
}
.urls a:enabled:hover {
    /*letter-spacing: 0px;*/
    opacity: 100%;
}
a#discord {
    color: var(--blurple);
    text-decoration: none;
}
a#discord:hover {
    color: var(--default);
    /*letter-spacing: 0px;*/
    opacity: 100%;
}
/*i::before {
    vertical-align: -2px;
}*/

.highlight {
    background-color: yellow;
    color: black;
    font-weight: bold;
    border: solid yellow;
    border-width: 0px 1px;
    border-radius: 4px;

    transition: all .3s ease-in-out;
}

.highlight:hover {
    border-radius: 2.5px;
}

.highlight-minimal {
    background-color: rgba(255, 255, 0, 0.3);
    color: var(--default);
    font-weight: bold;
    border: solid transparent;
    border-width: 0 1px;
    border-radius: 4px;

    transition: all .3s ease-in-out;
}

.highlight-minimal:hover {
    border-radius: 2.5px;
}

.bold-underline {
    font-weight: bold;
    text-decoration: underline;

    transition: all .3s ease-in-out;
}

.highlight-minimal:hover {
    border-radius: 2.5px;
}

input,
textarea {
    color: var(--default);
    background-color: var(--background-color_light);
    border: 1px solid var(--default_darker);

    transition: all .3s ease-in-out;
    font-family: 'Times New Roman', Times, serif;
    font-size: 8px;
}

input:focus,
input:active,
textarea:focus,
textarea:active {
    border-color: var(--default_dark);
    background-color: var(--background-color);
}

input {
    padding: 2.5px 5px;
    border-radius: 7.5px;
    height: 10px;
    width: 70%;
}

input:enabled:hover {
    border-radius: 5px;
    background-color: var(--background-color);
    border-color: var(--default_dark);
}
input:enabled:focus,
input:enabled:active {
    border-radius: 5px;
    background-color: var(--background-color);
    border-color: var(--default);
}

textarea {
    padding: 5px;
    border-radius: 12.5px;

    margin: 10px 0;
    width: 85%;
    position: relative;
    left: auto;
    right: auto;

    resize: vertical;
    min-height: 30px;
    max-height: 132px;
}

textarea#inputRender {
    min-height: 60px;
    max-height: 264px;
    margin: 0 5px 0 15px;
    margin: 10px 0 5px 0;
}

input.small {
    min-height: 7.5px;
    max-height: 7.5px;
    margin: 5px 0 0 0;

    padding: 2.5px 5px;
    border-radius: 7.5px;

    width: 85%;
}
input.small:enabled:hover,
input.small:enabled:focus,
input.small:enabled:active {
    border-radius: 5px;
}

/*@supports (-webkit-touch-callout: none) {
    textarea,
    input {
        position:fixed;
    }
}*/

textarea:enabled:hover {
    border-radius: 7.5px;
    background-color: var(--background-color);
    border-color: var(--default_dark);
}
textarea:enabled:focus,
textarea:enabled:active {
    border-radius: 7.5px;
    background-color: var(--background-color);
    border-color: var(--default);
}

#search-input {
    margin-bottom: 7.5px;
}
#search-time {
    display: block;
    margin-top: 7.5px;
    font-size: 8px;
    color: var(--default_darker);
    font-family: nasalization;
}
#search-time span {
    font-size: 8px;
    color: var(--default_dark);
}
#search-result-count {
    display: block;
    margin-bottom: 7.5px;
    font-size: 8px;
    color: var(--default_darker);
    font-family: nasalization;
}
#search-result-count span {
    font-size: 8px;
    color: var(--default_dark);
}

/*
button disabled
*/
button:disabled, textarea:disabled, input:disabled, select:disabled {
    /*color: rgb(150, 150, 150);
    border-color: rgb(150, 150, 150);*/
    /*50% opacity*/
    opacity: 50%;
    /*no display
    display: None;*/
    display: var(--disabled-display);
}
.disabled {
    /*color: rgb(150, 150, 150);
    border-color: rgb(150, 150, 150);*/
    /*50% opacity*/
    opacity: 50%;
    /*no display
    display: None;*/
    display: var(--disabled-display_class);
}


/*button:disabled:hover {
    color: rgb(120, 120, 120);
    border-color: rgb(120, 120, 120);
    background-color: rgba(0,0,0,0.4);
    opacity: 75%;
}

button:disabled:active {
    color: rgb(90, 90, 90);
    border-color: rgb(90, 90, 90);
    background-color: rgba(0,0,0,0.6);
    opacity: 75%;
}*/

button,
select {
    color: var(--default_darker);
    background-color: var(--background-color_light); /*was .2*/
    border: 1px solid var(--default_darker);
    border-radius: 7.5px;
    padding: 2.5px 5px;
    margin-block: 1.25px;
    vertical-align: middle;

    transition: all .3s ease-in-out;
    font-size: 8px;
}

button:enabled:hover,
select:enabled:hover {
    color: var(--default_dark);
    background-color: var(--background-color); /*.light was .1*/
    border-color: var(--default_dark);
    border-radius: 5px;

    cursor: pointer;
}

button:enabled:active,
select:enabled:active {
    color: var(--default); /*was .8*/
    border-color: var(--default);
}
button:enabled:active {
    background-color: currentColor;
}
select:enabled:active {
    background-color: var(--default_opposite);
}

button.small {
    border-radius: 7.5px;
    padding: 1.5px 4px;
    transition: all .4s ease-in-out;
}

button.small:enabled:hover {
    border-radius: 4px;
}

select {
    padding-inline: 2.5px;
    width: 71px;
}

/*select#chooseButton {
    color: var(--default);
}
select#chooseButton:hover {
    background-color: rgba(0, 0, 0, 0.6);
}
select#chooseButton:active {
    background-color: rgba(0, 0, 0, 0.8);
}*/

button#deleteButton,
button#newButton,
select#chooseButton,
button#commitButton {
    margin-inline: 2.5px;
}

button#deleteButton, button#deleteUserButton {
    color: red;
}
button#deleteButton:enabled:hover, button#deleteUserButton:enabled:hover {
    background-color: rgba(255, 0, 0, 0.3);
}
button#deleteButton:enabled:active, button#deleteUserButton:enabled:active {
    background-color: rgba(255, 0, 0, 0.6);
}

button#newButton, button#newUserButton {
    color: var(--topic-color);
}
button#newButton:enabled:hover, button#newUserButton:enabled:hover {
    background-color: rgba(144, 238, 144, 0.3);
}
button#newButton:enabled:active, button#newUserButton:enabled:active {
    background-color: rgba(144, 238, 144, 0.6);
}

button#commitButton {
    color: orange;
}
button#commitButton:enabled:hover {
    background-color: rgba(255, 165, 0, 0.3);
}
button#commitButton:enabled:active {
    background-color: rgba(255, 165, 0, 0.6);
}

button#┌ {
    color: var(--main);
}

button#└ {
    color: var(--main);
}

button#ni {
    /*color: rgb(90, 90, 90);*/
    color: var(--default_darkest);
}

button.ni {
    /*color: rgb(90, 90, 90);*/
    color: var(--default_darkest);
}

button#hl {
    color: yellow;
}

button#hl-m {
    color: rgb(220, 200, 0);
}

button.hl {
    color: yellow;
}

button#st {
    font-weight: bold;
}

button.st {
    font-weight: bold;
}

button#t {
    font-weight: bold;
}

pre {
    margin: 5px;
    text-align: left;
    overflow:scroll;
    font-size: 9px;
    font-family: 'Times New Roman', Times, serif;
}
pre span, p span {
    transition: all .5s ease-in-out;
}
span#currentYear {
    transition: all 0s ease-in-out;
}
.no-search-results {
    font-size: 8px;
    /*margin-top: -7.5px*/
}

.date-range input {
    width: 27%;
    margin-bottom: 7.5px
}
/*between the two childs*/
.date-range {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
}
.date-range input:first-child {
    margin-right: 0;
}
.date-range input:last-child {
    margin-left: 0;
}

.time-range input {
    width: 27%;
    margin-bottom: 7.5px
}
/*between the two childs*/
.time-range {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
}
.time-range input:first-child {
    margin-right: 0;
}
.time-range input:last-child {
    margin-left: 0;
}

.percentage-slider {
    -webkit-appearance: none;
    appearance: none;
    width: 72%;
    height: 10px;
    padding: 2.5px;
    background: var(--background-color_light);
    outline: none;
    transition: all .5s ease-in-out;
}
.percentage-slider:hover {
    background: var(--background-color) !important;
    cursor: crosshair;
}
.percentage-slider::-webkit-slider-thumb {
    content: --percentage;
    -webkit-appearance: none;
    appearance: none;
    width: 10px;
    height: 10px;
    border-radius: 50%; 
    background: var(--default_darker);
    border: 1px solid var(--default_dark);
    transition: all .5s ease-in-out;
}
.percentage-slider::-moz-range-thumb:hover {
    background: var(--default_dark);
    border: 1px solid var(--default);
    border-radius: 25%;
    cursor: pointer;
}
.percentage-slider::-moz-range-thumb {
    width: 10px;
    height: 10px;
    border-radius: 50%; 
    background: var(--default_darker);
    border: 1px solid var(--default_dark);
    transition: all .5s ease-in-out;
}
.percentage-slider::-webkit-slider-thumb:hover {
    background: var(--default_dark);
    border: 1px solid var(--default);
    border-radius: 25%;
    cursor: pointer;
}

input.delay {
    width: 33%;
}

.api {
    font-size: 8px;
    text-align: left;
}

span.subtitle {
    color: var(--default);
    font-weight: bold;
}

span.notImportant {
    /*color: rgb(150, 150, 150);*/
    color: var(--default_darkest);
}

.urls span {
    -webkit-transition: all .5s;
    transition: all .5s;
}

.└ {
    color: var(--default_darker);
    transition: all .5s ease-in-out;
}

.hidden {
    display: none;
}
.no-hide {
    display: initial !important;
}

.black {
    color: black !important;
}

.qrcode {
    /*should be a modal*/
    display: inline-block;
    margin: 0;
    padding: 100% 100% 100% 100%;
    background-color: var(--background-color); /*was .8*/

    position: fixed;
    top: 0;
    left: 0;

    transition: all .5s;
}
.qrcode-inner {
    position-area: center;
    position: fixed;

    height: auto;
    max-height: 50%;
    width: auto;
    max-width: 50%;

    border: 5px solid var(--default_darker);
    border-radius: 5px;
}

.progress {
    font-size: 8px;
    font-family: 'Times New Roman', Times, serif;
}
h1 .progress {
    font-size: 12px;
}

@keyframes progress {
    0% { --percentage: 0; }
    100% { --percentage: var(--value); }
}

@property --percentage {
    syntax: '<number>';
    inherits: true;
    initial-value: 0;
}

[role="progressbar"] {
    --percentage: var(--value);
    --primary: lightgreen;
    --secondary: lightcoral;
    /*--size: 8px;*/
    animation: progress 2s 0.5s forwards;
    width: 8px;
    aspect-ratio: 1;
    border-radius: 50%;
    position: relative;
    overflow: hidden;
    display: inline-block;
    place-items: center;
    opacity: 50%;
    margin-bottom: -1px;
}
h1 [role="progressbar"] {
    width: 10px;
}

[role="progressbar"]::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: conic-gradient(var(--primary) calc(var(--percentage) * 1%), var(--secondary) 0);
    mask: radial-gradient(white 55%, transparent 0);
    mask-mode: alpha;
    -webkit-mask: radial-gradient(#0000 25%, #000 0);
    -webkit-mask-mode: alpha;
}
  
/*[role="progressbar"]::after {
    counter-reset: percentage var(--value);
    content: counter(percentage) '%';
    font-family: Helvetica, Arial, sans-serif;
    font-size: calc(var(--size) / 5);
    color: var(--primary);
}*/

[role="progressbar"] span {
    visibility: hidden;
    width: 120px;
    background-color: black;
    color: #fff;
    text-align: center;
    padding: 5px 0;
    border-radius: 6px;
   
    /* Position the tooltip text - see examples below! */
    position: absolute;
    z-index: 1;
}
[role="progressbar"]:hover span {
    visibility: visible;
}

[z] {
    display: none;
}

/*i {
    transition: all .5s ease-in-out;
}*/

.upload#loading {
    color: darkgreen;
}
.upload#queued {
    color: orange;
}
.upload#failed {
    color: orangered;
}
.upload#error {
    color: red;
}
.upload#complete {
    color: lightgreen;
}
html.light .upload#complete {
    color: green;
}

/*when screen width is 800 or lower, font-size is 5.75; when screen width is between 800 and 900, font-size is 6.25; when screen width is 900 or higher, font-size is 6.75; */
@media (min-width: 800px) {
    pre#docs_pre {
        font-size: 6.75px;
    }
}
@media (min-width: 1100px) {
    pre#docs_pre {
        font-size: 7px;
    }
}
@media (min-width: 1200px) {
    pre#docs_pre {
        font-size: 7.5px;
    }
}

.context-menu {
    height: auto;
    width: 120px;
    position: absolute;
    text-align: center;
    background-color: var(--background-color);
    border: 1px solid var(--default_darker);
    border-radius: 10px;
    padding: 5px;
    font-size: 7px;
    color: var(--default);

    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);

    transition: all .5s ease-in-out;
}
.context-menu:hover {
    background-color: var(--background-color_light);
    border-color: var(--default);
}

.context-menu ul {
    padding: 0px;
    margin: 0px;
    min-width: 75px;
    list-style: none;
}
.context-menu ul li {
    padding-bottom: 3.5px;
    padding-top: 3.5px;
    border: 1px solid var(--default_darker_opposite);
}
.context-menu ul li a {
    text-decoration: none;
    color: var(--default_darker_opposite);
}
.context-menu ul li:hover {
    background: var(--default_opposite);
}

.username {
    /*font-family: 'Times New Roman', Times, serif;*/
    color: var(--default);
}

#notification {
    display: none;
    position: fixed;
    opacity: 100%;
    top: 0;
    right: 0;
    background-color: var(--background-color_light);
    /*blur*/
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    color: var(--default_darker);
    text-align: center;
    align-content: center;
    /* padding: 10px; */
    height: 40px;
    /*width: 175px;*/
    /* padding-block: 12.5px; */
    padding-inline: 10px;
    z-index: 1000;
    border-radius: 0 0 0 20px;
    border-left: 1px solid var(--default);
    border-bottom: 1px solid var(--default);
}
#notification.show {
    display: block;
    /*opacity: 80%;*/
    animation: slidein 1s, slideout 1s 3s;
}
@keyframes slidein {
    from {
        top: -40px;
        /*based on current width*/
        right: calc(100%*-.5);
        /*opacity: 0%;*/
    }
    to {
        top: 0;
        right: 0;
        /*opacity: 80%;*/
    }
}
@keyframes slideout {
    from {
        top: 0;
        right: 0;
        /*opacity: 80%;*/
    }
    to {
        top: -40px;
        right: calc(100%*-.5);
        /*opacity: 0%;*/
    }
}
#notification.info {
    /*background-color: var(--default_opposite);*/
    color: var(--default_dark);
    border-color: var(--default);
}
#notification.error {
    /*background-color: var(--default_opposite);*/
    color: darkred;
    border-color: darkred;
}

video {
    width: auto;
    max-width: 100%;
    height: auto;
    border-radius: 20px;
    margin: auto;
}

.error {
    color: darkred;
}
.locked {
    color: var(--default_dark);
    border-color: var(--default_dark);
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
input[type=number] {
    appearance: none;
    -moz-appearance: none;
}

:focus {
    outline: none;
}

/* Bar chart container: horizontal layout with columns aligned at bottom and spaced */
.bar-chart {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    margin: 8px 0;
}

/* Chart title styling */
.bar-chart-title {
    font-weight: bold;
    margin-bottom: 4px;
    display: block;
}

/* Each column stacks count → bar → label, allows flexible sizing */
.bar-col {
    display: flex;
    flex-direction: column;  /* stack vertically: count, bar, label */
    align-items: center;
    flex: 1 1 0;             /* grow and shrink equally */
    min-width: 0;            /* enable shrinking */
    margin-right: 8px;
}
.bar-col:last-child {
    margin-right: 0;
}

/* count text above each bar */
.bar-count {
    display: block;
    margin-bottom: 4px;
    text-align: center;
}

/* Bar block: fills its column up to a max width, with background */
.bar-value {
    width: 100%;
    max-width: 40px;
    background-color: var(--default_darker);
    box-sizing: border-box;
}

/* Label below each bar */
.bar-label {
    margin-top: 4px;
}