/* Fonts */
/* Distances */
/* Colors */
/* Mixins */
/* Common */
html {
  color: #000;
  height: 100%;
  line-height: 1.6;
  font-family: "Fira Mono", monospace;
  font-size: 18px;
  background-color: #eee; }
  @media (max-width: 750px) {
    html {
      font-size: 12px; } }
h1,
h2,
h3 {
  font-weight: bold; }

h1 {
  font-size: 2rem;
  margin-top: 12px;
  margin-bottom: 12px; }

h2 {
  font-size: 1.5rem;
  margin-top: 6px;
  margin-bottom: 6px; }

a {
  color: #0058b2;
  text-decoration: underline; }

a:hover,
a:focus {
  color: white;
  background-color: #0058b2; }

*:visited {
  color: #0058b2; }

/* Breadcrumbs and navigation */
ul.breadcrumb,
.nav-horizontal ul {
  padding: 0; }
  ul.breadcrumb li,
  .nav-horizontal ul li {
    display: inline-block;
    margin-right: 9px;
    list-style-type: none; }
  ul.breadcrumb li:last-child,
  .nav-horizontal ul li:last-child {
    margin-right: 0; }
  ul.breadcrumb li > a,
  ul.breadcrumb li > span,
  ul.breadcrumb li > h1,
  .nav-horizontal ul li > a,
  .nav-horizontal ul li > span,
  .nav-horizontal ul li > h1 {
    display: block;
    box-sizing: border-box;
    padding: 0; }

ul.breadcrumb a,
ul.breadcrumb span,
ul.breadcrumb h1 {
  font-size: 2rem;
  font-weight: bold; }

.nav-horizontal ul {
  display: flex;
  flex-wrap: wrap; }

.nav-empty {
  margin-right: 0; }

/* Navigation menu dropdown entry */
.dropdown-wrapper {
  position: relative;
  line-height: 1.6;
  font-family: "Fira Mono", monospace;
  font-size: 1rem; }

ul.dropdown {
  display: none; }

.dropdown-wrapper:focus-within ul.dropdown,
.dropdown-wrapper:hover ul.dropdown {
  display: block;
  position: absolute;
  box-sizing: border-box;
  z-index: 11;
  border-style: solid;
  border-width: 2px;
  border-color: #000;
  border-radius: 0;
  top: 100%;
  left: 0;
  background-color: white;
  margin-left: -16px;
  margin-right: -16px;
  min-width: calc(100% + 32px); }
  .dropdown-wrapper:focus-within ul.dropdown li,
  .dropdown-wrapper:hover ul.dropdown li {
    display: block;
    box-sizing: border-box;
    margin: 9px;
    white-space: nowrap; }

.dropdown-wrapper:focus-within > a,
.dropdown-wrapper:hover > a {
  color: white;
  background-color: #0058b2; }

/* Vertical navigation */
.nav-vertical ul {
  padding: 0;
  list-style-type: none; }

/* Input fields */
input,
button,
textarea {
  padding: 6px;
  color: #0058b2;
  background-color: white;
  line-height: 1.6;
  font-family: "Fira Mono", monospace;
  font-size: 1rem; }

input[type="text"],
input[type="password"],
input[type="email"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="file"],
textarea {
  box-sizing: border-box;
  width: 100%; }

textarea {
  resize: vertical;
  border: dashed; }

input:not([type="submit"]) {
  border-style: solid;
  border-width: 2px;
  border-color: #0058b2;
  border-radius: 0;
  border-left: none;
  border-right: none;
  border-top: none;
  border-radius: 0; }

input[type="submit"],
button {
  cursor: pointer;
  margin: 6px;
  border-style: solid;
  border-width: 2px;
  border-color: #0058b2;
  border-radius: 0; }

input[type="submit"]:hover:enabled,
button:hover:enabled {
  color: white;
  background-color: #0058b2; }

input[type="submit"]:hover:active:enabled,
button:hover:active:enabled {
  color: white;
  background-color: #0058b2;
  padding-left: 5px;
  padding-right: 7px;
  padding-top: 7px;
  padding-bottom: 5px; }

input::placeholder {
  color: #eee; }

input:invalid {
  box-shadow: none;
  color: #ed0000;
  border-color: #ed0000; }

input:disabled,
button:disabled {
  box-shadow: none;
  color: #7f7f7f;
  border-color: #7f7f7f; }

fieldset {
  border-style: solid;
  border-width: 2px;
  border-color: #000; }

label {
  hyphens: auto; }

/* Scrollable table wrapper */
.table-wrapper {
  overflow-x: auto; }

/* Table for detailed views and forms */
.table-detail {
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
  border-style: solid;
  border-width: 2px;
  border-color: #000;
  border-radius: 0; }
  .table-detail thead th,
  .table-detail thead td {
    border-top-style: none; }
  .table-detail tbody:first-child tr:first-child th,
  .table-detail tbody:first-child tr:first-child td {
    border-top-style: none; }
  .table-detail th:first-child:not(:only-child),
  .table-detail td:first-child:not(:only-child) {
    border-left-style: none; }
  .table-detail th,
  .table-detail td {
    text-align: left;
    vertical-align: top;
    padding: 9px;
    border-style: solid;
    border-width: 2px;
    border-color: #000;
    border-right-style: none;
    border-bottom-style: none; }
    @media (max-width: 750px) {
      .table-detail th,
      .table-detail td {
        padding: 4.5px; } }
    .table-detail th input,
    .table-detail td input {
      margin: 0; }

.form-search {
  display: flex; }

/* Table for list views */
.table-list {
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
  border-style: solid;
  border-width: 2px;
  border-color: #000;
  border-radius: 0; }
  .table-list thead th,
  .table-list thead td {
    border-top-style: none; }
  .table-list tbody:first-child tr:first-child th,
  .table-list tbody:first-child tr:first-child td {
    border-top-style: none; }
  .table-list th:first-child:not(:only-child),
  .table-list td:first-child:not(:only-child) {
    border-left-style: none; }
  .table-list th,
  .table-list td {
    text-align: left;
    vertical-align: top;
    padding: 9px;
    border-style: solid;
    border-width: 2px;
    border-color: #000;
    border-right-style: none;
    border-bottom-style: none; }
    @media (max-width: 750px) {
      .table-list th,
      .table-list td {
        padding: 4.5px; } }
    .table-list th input,
    .table-list td input {
      margin: 0; }

.button-standalone-wrapper {
  margin-top: 9px;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 9px; }
  .button-standalone-wrapper button {
    margin: 0; }

.button-standalone-wrapper:first-child {
  margin-top: 0; }

.button-standalone-wrapper:last-child {
  margin-bottom: 0; }

/* Auxilliary classes */
table .cell-number {
  text-align: right; }

.hyphenated {
  hyphens: auto; }

.form-button-standalone {
  margin-top: 9px;
  margin-bottom: 9px; }
  .form-button-standalone button {
    margin: 0; }

.form-button-standalone:first-child {
  margin-top: 0; }

.form-button-standalone:last-child {
  margin-bottom: 0; }

/* Search input field */
.input-search-form {
  display: flex;
  align-items: start;
  width: 100%; }

.input-search-wrapper {
  display: block;
  position: relative;
  margin: 0;
  margin-right: 4.5px;
  flex-basis: 100%;
  line-height: 1.6;
  font-family: "Fira Mono", monospace;
  font-size: 1rem; }
  .input-search-wrapper .input-search-input {
    position: sticky;
    box-sizing: border-box;
    margin: 0;
    padding: 6px;
    width: 100%;
    z-index: 1; }

.input-search-dropdown {
  display: none; }

.input-search-wrapper:focus-within .input-search-dropdown {
  display: block;
  position: absolute;
  padding: 0;
  margin: 0;
  width: 100%; }

.input-search-list {
  overflow-y: scroll;
  max-height: 50vh;
  padding: 0;
  padding-top: 2px;
  margin: 0;
  margin-top: -2px;
  z-index: 2;
  font-size: 1rem;
  list-style: none;
  background-color: white;
  border-style: none;
  border-radius: 0; }
  .input-search-list li {
    position: relative;
    box-sizing: border-box;
    padding: 3px;
    width: 100%; }
    .input-search-list li a {
      display: inline-block;
      width: 100%;
      color: #000;
      background-color: white; }
    .input-search-list li a:hover,
    .input-search-list li a:focus {
      background-color: #0058b2; }

.input-search-wrapper:focus-within .input-search-dropdown-empty {
  display: none; }

.input-search-button {
  margin: 0;
  margin-left: 4.5px;
  display: inline-block; }

/* Layout */
body {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  margin: 0;
  padding-top: 15px;
  padding-bottom: 15px;
  background-size: cover;
  background-position: center; }
  @media (max-width: 750px) {
    body {
      padding-top: 7.5px;
      padding-bottom: 7.5px; } }
.layout {
  flex: 1; }

header,
main,
footer,
.main-block,
.main-blocks {
  margin: 15px; }
  @media (max-width: 750px) {
    header,
    main,
    footer,
    .main-block,
    .main-blocks {
      margin-left: 0;
      margin-right: 0; } }
header,
main,
footer,
.main-block {
  padding: 12px;
  background-color: white;
  border-style: none;
  border-radius: 0; }

footer {
  flex: 0;
  margin-bottom: 0; }

.block {
  margin-top: 12px;
  margin-bottom: 12px; }

/* First and last paragraphs */
*:first-child:not(.input-search-list) {
  margin-top: 0; }

*:last-child:not(.input-search-list) {
  margin-bottom: 0; }

/* Cards */
.card-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  margin: -6px; }

.card,
.card:first-child,
.card:last-child {
  display: flex;
  flex-direction: column;
  margin: 6px;
  padding: 9px;
  color: white;
  background-color: #000;
  border-radius: 0; }
  .card h2,
  .card p,
  .card a,
  .card:first-child h2,
  .card:first-child p,
  .card:first-child a,
  .card:last-child h2,
  .card:last-child p,
  .card:last-child a {
    margin-top: 4.5px;
    margin-bottom: 4.5px;
    color: white; }
  .card a:hover,
  .card a:focus,
  .card:first-child a:hover,
  .card:first-child a:focus,
  .card:last-child a:hover,
  .card:last-child a:focus {
    color: #000;
    background-color: #0058b2; }
  .card *:first-child,
  .card:first-child *:first-child,
  .card:last-child *:first-child {
    margin-top: 0; }
  .card *:last-child,
  .card:first-child *:last-child,
  .card:last-child *:last-child {
    margin-bottom: 0; }

.card-down {
  margin-top: auto;
  margin-bottom: 0;
  padding-top: 7.5px; }

/* Link-like form */
.link-form {
  display: inline; }
  .link-form button {
    box-sizing: content-box;
    margin: 0;
    padding: 0;
    text-decoration: underline;
    font-weight: unset;
    color: #0058b2;
    background-color: #0058b2;
    border-width: 2px;
    border-color: #000;
    border-radius: 0; }
  .link-form button:hover,
  .link-form button:focus {
    margin: 0;
    padding: 0;
    color: #000;
    background-color: white; }

/* Misc */
.hidden {
  display: none; }

.alert {
  color: #ed0000; }

.item-removed {
  text-decoration: line-through; }

/* Embedded YouTube player */
.youtube-embed {
  width: calc(min(100vw - 6px * 9, 90vh / 0.5625));
  height: calc(min((100vw - 6px * 9) * 0.5625, 90vh));
  border-style: none;
  border-radius: 0; }

.main-blocks .youtube-embed {
  width: calc(min(100vw - 6px * 9, 90vh / 0.5625));
  height: calc(min((100vw - 6px * 9) * 0.5625, 90vh)); }

/* Articles */
article {
  margin-top: 12px;
  margin-bottom: 12px; }

article:first-child {
  margin-top: 0; }

article:last-child {
  margin-bottom: 0; }

section {
  margin-top: 9px;
  margin-bottom: 9px; }

/* Pagination */
ul.pagination {
  list-style: none;
  margin-top: 6px;
  margin-bottom: 6px;
  padding-left: 0; }

/* Attached files */
.attachment-image {
  margin: 0; }
  .attachment-image img {
    max-width: 50vw;
    max-height: calc(max(200px, 50vh));
    border-radius: 0; }
  .attachment-image a {
    display: block;
    width: max-content; }
  .attachment-image a:hover,
  .attachment-image a:focus {
    background-color: #000;
    border-radius: 0; }

.table-list .attachment-image img {
  max-width: 100px;
  max-height: 100px; }
