code {white-space: pre-wrap;}
span.smallcaps {font-variant: small-caps;}
span.underline {text-decoration: underline;}
div.column {display: inline-block; vertical-align: top; width: 50%;}
q { quotes: "“" "”" "‘" "’"; }

body {
    padding: 0px;
    margin: 0px;
    background-color: #00A1FF;
}

#page {
    margin: auto;
    width: 100%;
    font-family: Lora,'Helvetica Neue',Helvetica,Arial,sans-serif;
}

@media ( max-width: 84ch ), ( max-device-width: 84ch ) {
	#page {
		border-style: none;
		max-width: none;
	}
}

#content {
    padding: 1em;
}

.headfoot {
    margin-bottom: 0px;
    background-color: #00507f;
    color: white;
}

#header {
    padding: 1em;
    font-size: 115%;
    font-weight: bold;
    display: flex;
    text-transform: uppercase;
    font-family: Cabin,'Helvetica Neue',Helvetica,Arial,sans-serif;
}

#header a {
    padding: 0.1em;
    padding-right: 1em;
    display: inline-flex;
    height: 1.2em;
}

#header a.icon {
    display: inline-block;
}

#header a.icon img {
    height: 1.2em;
    vertical-align: top;
}

.menuleft {
    margin-right: auto;
}

#header #logo a {
    color: inherit;
    text-decoration: none;
}

.menuright {
    margin-left: auto;
}

#header #navigation a {
    color: inherit;
    margin-left: 1em;
    text-decoration: none;
    text-transform: uppercase;
}

#foother {
    padding: 0.8em 1em;
    font-size: 80%;
    color: #ccc;
}

#content {
    hyphens: auto;
    text-align: justify;
}

.ragged {
    hyphens: none;
    text-align: start;
}

a:link, a:visited, a:active { text-decoration: none; color: darkred; }
a:link:hover, a:visited:hover, a:active:hover { text-decoration: none; color: darkblue; }
.headfoot a:link, .headfoot a:visited, .headfoot a:active { color: #8bd4ff; }
.headfoot a:link:hover, .headfoot a:visited:hover, .headfoot a:active:hover { color: #00a1ff; }

.cz {
    vertical-align: super;
    font-size: 60%;
}

h1, h2, h3, h4 { font-family: Cabin,'Helvetica Neue',Helvetica,Arial,sans-serif; text-transform: uppercase; }
h1 { font-size: 125%; }
h2 { font-size: 115%; }
h3 { font-size: 107%; }
h4 { font-size: 100%; }

#photo_preview {
    max-width: 100%;
}

table {
    border-collapse: collapse;
}

td, th {
    border-left: 1px solid;
    padding: 0.1em 0.4em;
    hyphens: none;
    text-align: start;
}
td:first-child, th:first-child { border-left: none; padding-left: 0.4em; }
td:last-child, th:last-child { padding-right: 0.4em; }

tr { border-top: 1px dotted; }
tr:first-child { border-top: none;  }

.entry {
    padding: 1em;
    margin: 1em 0;
    border: 1px solid;
    position: relative;
}

.entry img.big {
    max-width: 100%;
}

.entry img.small {
    max-width: min(30em, 100%);
}

.marking label {
    padding-right: 1em;
}

.ralign {
    text-align: right;
}

.fixed {
    font-family: 'Inconsolata', monospace;
}

#stats { margin-top: 1em; }
table { margin-bottom: 1em; }
table:last-child: { margin-bottom: 0; }

@media print {
    .headfoot, #header, .noprint { display: none; }
    a, a:link, a:visited, a:active, a:link:hover, a:visited:hover, a:active:hover { color: black; }
    body { background-color: white; }
}

.warning {
    background-color: #C81818;
    color: white;
    font-weight: bold;
    font-size: large;
    padding: 1em;
}

.overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    color: white;
    text-align: center;
    z-index: 9999; /* Ensure it's above other content */
}

.loader {
    border: 4px solid #f3f3f3;
    border-top: 4px solid #3498db;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    margin: 20% auto; /* Adjust to center the loader */
    animation: spin 2s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
