@import url("/css/variables.css");
* {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
	font-family: Arial, Helvetica, sans-serif;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	-ms-text-size-adjust: none;
	-moz-text-size-adjust: none;
	-webkit-user-drag: none;
    color: var(--navy);
    cursor: default;
}
iframe {
    border: none;
}
a, a * {cursor: pointer;}
html {
    font-size: 14px;
    background-color: black;
    background-image: linear-gradient(transparent, var(--navy)), url("/img/city.webp");
    background-size: cover;
    background-attachment: fixed;
}
body {
    display: flex;
    justify-content: center;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
#loadingScreen {
    transition: opacity 0.3s;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    background-color: var(--navy);
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 10rem;
    padding: 2rem 3rem;
    user-select: none;
    cursor: progress;
}
main {
    width: 100%;
    max-width: 1000px;
    border: 3px double var(--navy);
    background-color: var(--white);
    border-top: none;
    border-bottom: none;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    box-shadow: 0 0 1rem var(--navy);
}
section {
    padding: 0.5rem;
    background-color: var(--lighterblue);
    box-shadow: inset 0.125rem 0.125rem 0 color-mix(in srgb, var(--blue) 30%, transparent);
    flex-grow: 1;
    border: 1px solid var(--navy);
    border-left: none;
    border-right: none;
}
header {
    background-color: var(--navy);
    padding: 2rem 3rem;
    user-select: none;
    font-size: 6rem;
    color: var(--white);
}
footer {
    text-align: center;
    background-color: var(--navy);
    padding: 0.25rem;
}
footer * {
     color: var(--white);
}
.topFooter {
    border-bottom: 3px double var(--navy);
    background: var(--blue);
}
aside {
    display: flex;
    flex-direction: column;
    padding: 0.5rem;
    background-color: var(--lightblue);
    border: 1px solid var(--blue);
    margin-bottom: 0.5rem;
    box-shadow: 0.125rem 0.125rem 0 color-mix(in srgb, var(--blue) 30%, transparent);
}
aside fieldset, aside legend {
    background-color: var(--lighterblue);
}
p, li {line-height: 1.5;}
p, ul, ol {
    margin: 0.5rem;
}
u {font-weight: bold;}
h2, section summary {
    font-size: 1.25rem;
    padding: 0.5rem 0.75rem;
    background-color: var(--lightblue);
    margin-bottom: 0.5rem;
    border: 1px solid var(--blue);
    box-shadow: 0.125rem 0.125rem 0 color-mix(in srgb, var(--blue) 30%, transparent);
}
h1 {
    font-size: 2rem;
    margin-bottom: 0.5rem;
    padding: 1rem;
    text-align: center;
    background-color: var(--skyblue);
    border: 1px solid var(--blue);
    box-shadow: 0.125rem 0.125rem 0 color-mix(in srgb, var(--blue) 30%, transparent);
}
fieldset h2, fieldset h2:hover {
    font-size: 1.25rem;
    text-decoration: underline;
    background-color: transparent;
    border: none;
    box-shadow: none;
    margin-bottom: 0rem;
    padding: 0.5rem 0.5rem 0;
}
section summary {
    cursor: pointer;
    user-select: none;
}
section summary:hover {
    background-color: var(--skyblue);
    color: var(--white);
}
details {width: 100%;}
ul {list-style: none;}
ul li::before {content: "\27A2  ";}
ol {
    margin-left: 1.5rem;
}
hr {
    margin: 0.5rem 0;
    border: none;
    border-top: 1px solid var(--lightblue);
    border-bottom: 1px solid var(--white);
    width: 100%;
}
aside hr {
    border-top: 1px solid var(--skyblue);
    border-bottom: 1px solid var(--lighterblue);
}
fieldset {
    border: 1px solid var(--blue);
    margin: 0.5rem 0;
    padding: 0.5rem;
    width: 100%;
    display: flex;
    flex-direction: column;
    box-shadow: inset 0.125rem 0.125rem 0 color-mix(in srgb, var(--blue) 30%, transparent);
    background-color: var(--white);
    margin-top: 0;
    flex: 1;
}
legend {
    text-align: center;
    font-size: 1.125rem;
    font-weight: bold;
    margin: 0.25rem;
    background-color: var(--white);
    padding: 0.25rem 0.5rem;
    border: 1px solid var(--blue);
    box-shadow: 0.125rem 0.125rem 0 color-mix(in srgb, var(--blue) 30%, transparent);
    margin-top: 0;
}
nav {
    background-color: var(--blue);
    width: 100%;
    display: flex;
    border-top: 3px double var(--navy);
    padding: 0 0.5rem;
}
.navButton {
    font-size: 1.125rem;
    color: var(--white);
    text-decoration: none;
    font-weight: bold;
    margin: 0;
    cursor: pointer;
    padding: 0.5rem;
    user-select: none;
}
.navButton:hover {
    text-decoration: underline;
    background-color: color-mix(in srgb, var(--navy), var(--blue));
}
*::-webkit-scrollbar {width: 1rem;}
*::-webkit-scrollbar-track {
    border-left: 1px solid var(--navy);
    background-color: var(--white);
    box-shadow: inset 0.125rem 0.125rem 0 color-mix(in srgb, var(--blue) 30%, transparent);
}
*::-webkit-scrollbar-thumb {
    border: 1px solid var(--navy);
    border-right: none;
    background-color: var(--lightblue);
    box-shadow: 0 0.125rem 0 color-mix(in srgb, var(--blue) 30%, transparent);
}
*::-webkit-scrollbar-thumb:hover {background-color: var(--skyblue);}
*::-webkit-scrollbar-thumb:active {background-color: var(--navy);}
body::-webkit-scrollbar-track {
    background-color: var(--navy);
    box-shadow: none;
    border: none;
}
body::-webkit-scrollbar-thumb {
    background-color: var(--blue);
    box-shadow: none;
    border: none;
}
body::-webkit-scrollbar-thumb:hover {background-color: var(--skyblue);}
body::-webkit-scrollbar-thumb:active {background-color: var(--lightblue);}
textarea {
    border-radius: 0;
}
::selection {
    color: var(--white);
    background-color: var(--navy);
}
#statuscafe {
    margin: 0.5rem;
    margin-top: 0;
    width: calc(100% - 1rem);
}
#statuscafe-username, #statuscafe-username a {
    font-weight: bold;
    text-decoration: none;
    margin-bottom: 0.25rem;
    font-size: 1.25rem;
}
#statuscafe-username a {text-decoration: underline;}
#calendar {
    font-size: 1rem;
}
.calendarDayOfTheWeek, .calendarCell, #calendarHeader {
    border: 1px solid var(--navy);
    color: var(--navy);
    padding: 0.5rem 0;
}
.calendarDayOfTheWeek {
    background-image: linear-gradient(var(--lighterblue), var(--lightblue));
}
.calendarCell {
    box-shadow: inset 0.125rem 0.125rem 0 color-mix(in srgb, var(--blue) 30%, transparent);
}
.calendarToday {
    color: white;
}
.calendarCell:hover, .calendarDayOfTheWeek:hover {
    outline: 3px double var(--navy);
    outline-offset: 4px;
    z-index: 10;
}
.calendarNonMonthDay {
    background-color: var(--lighterblue);
    color: var(--skyblue);
}
.clickableText {
    font-weight: bold;
    text-decoration: underline;
    cursor: pointer;
}
#calendarHeader {
    background-image: linear-gradient(var(--lightblue), var(--skyblue));
}
#clock, #calendar {
    padding: 0.5rem;
    border-radius: 0.25rem;
    background-image: linear-gradient(var(--white), var(--lightblue));
    border: 1px solid var(--navy);
    box-shadow: 0.125rem 0.125rem 0 color-mix(in srgb, var(--blue) 30%, transparent);
    width: 100%;
    text-align: center;
    height: unset;
}
#clockDisplay {
    padding: 0.5rem 0;
    border-radius: 0.25rem;
    background-image: linear-gradient(var(--white), var(--lighterblue));
    border: 1px solid var(--blue);
    box-shadow: inset 0.125rem 0.125rem 0 color-mix(in srgb, var(--blue) 30%, transparent);
    font-size: 4rem;
    text-align: center;
    margin-top: 0.5rem;
}
textarea {
    border-color: var(--navy);
    cursor: text;
    box-shadow: inset 0.125rem 0.125rem 0 color-mix(in srgb, var(--blue) 30%, transparent);
}
textarea:hover, code:hover {
    outline: 3px double var(--navy);
    outline-offset: 1px;
}
code {
    display: block;
    font-family: monospace;
    margin: 0.5rem;
    padding: 1rem;
    border: 1px solid var(--blue);
    overflow: auto;
    cursor: text;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    word-break: break-all;
    background-color: var(--lighterblue);
    box-shadow: inset 0.125rem 0.125rem 0 color-mix(in srgb, var(--blue) 30%, transparent);
}
table {
    border: 1px solid var(--navy);
    border-collapse: collapse;
    border-spacing: 0;
    margin-bottom: 0.5rem;
    box-shadow: 0.125rem 0.125rem 0 color-mix(in srgb, var(--blue) 30%, transparent);
    width: 100%;
}
th, td {
    padding: 0.5rem;
    border: 1px solid var(--navy);
    white-space: nowrap;
}
th:hover, td:hover {
    outline: 3px double var(--navy);
    outline-offset: 2px;
}
th {
    color: var(--white);
    background-color: var(--skyblue);
}
td {
    background-color: var(--lightblue);
}
tr:nth-child(odd) td {
    background-color: var(--lighterblue);
}
.emptyFill {
    --s1-color: var(--lighterblue);
    --s2-color: var(--lightblue);
    background-image: linear-gradient(45deg, var(--s1-color) 25%, var(--s2-color) 25%, var(--s2-color) 50%, var(--s1-color)  50%, var(--s1-color) 75%, var(--s2-color) 75%);
    background-size: 80px 80px;
    display: flex;
    flex: 1;
    border: 1px solid var(--blue);
    margin-bottom: 0.5rem;
    box-shadow: 0.125rem 0.125rem 0 color-mix(in srgb, var(--blue) 30%, transparent);
}
@media (max-width: 1000px) {
    html {font-size: calc(1vw / 10 * 14)}
    main {border: none;}
}
@media (max-width: 768px) {
    html {font-size: 4vw}
    header {
        padding: 1rem 0;
        text-align: center;
        font-size: 3.5rem;
    }
    nav {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
    }
    .emptyFill {
        display: none;
    }
    #loadingScreen {font-size: 3rem;}
    .mobileOptimizedGrid {grid-template-columns: 1fr !important;}
}