html,
body,
div,
p,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
li,
dl,
dt,
dd,
form,
fieldset,
caption,
table,
tr,
td,
th,
address,
blockquote,
img,
button {
  margin: 0;
  padding: 0;
}

details.detailsMenu summary::-webkit-details-marker,
details.detailsMenu summary::marker {
  display: none;
  content: '';
}
summary:focus {
  outline: 0;
}

img,
fieldset,
button {
  border: none;
}

*,
*::after,
*::before {
  box-sizing: border-box;
}

img {
  max-width: 100%;
}

a {
  text-decoration: none;
  color: var(--primary-color);
}

body,
button,
input,
table,
textarea,
select {
  font: normal 1em/1.5 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI',
    Roboto, Ubuntu, 'Open Sans', sans-serif;
}

h2,
h3,
h4,
h5,
h6 {
  line-height: 1.25;
  color: var(--text-color-dark);
}

p,
label {
  color: var(--text-color-base);
}

hr {
  border: none;
  margin: 0;
  border-top: 1px solid var(--text-color-light);
}

body {
  --base-scale: calc(100vw / 75);
  --h2-font-size: max(1.2em, min(4em, calc(var(--base-scale) * 4)));
  --padding-size: max(1rem, min(2rem, calc(var(--base-scale) * 2)));
  --margin-size: max(0.5rem, min(2rem, calc(var(--base-scale) * 2)));
  --border-radius: clamp(0.5rem, 2vh, 0.8rem);
  --drop-shadow: 4px 4px 25px rgba(0, 0, 0, 0.2);
  --primary-color: #0e92c7;
  --secondary-color: #0dbaea;
  --text-color-light: #bdbdbd;
  --text-color-base: #444444;
  --text-color-dark: #242424;
  --background-color: #f7f7f7;
  --foreground-color: #ffffff;
  --alert-fail-color: #b94e4e;
  --alert-warn-color: #d68539;
  --alert-neutral-color: #39a4d6;
  --alert-success-color: #70b94e;
  --alert-info-color: #575757;
  --splash-image: linear-gradient(
    45deg,
    var(--primary-color),
    60%,
    var(--secondary-color)
  );
}

header,
symbol,
.splash,
aside,
nav,
button,
.screen,
.sr-only {
  display: none;
}

table {
  width: 100%;
  border-collapse: collapse;
}

.tableHeading {
  text-transform: uppercase;
  font-size: 18pt;
}

thead th,
tbody td,
thead td {
  border: 1px solid;
}
th,
td {
  font-size: 9pt;
}
td {
  padding: 0 4px;
}
th[scope="row"] {
  text-align: left;
}
th {
  padding: 4px;
}

tfoot th,
tfoot td {
  border: none;
}

table { page-break-after:auto }
tr    { page-break-inside:avoid; page-break-after:auto }
td    { page-break-inside:avoid; page-break-after:auto }
thead { display: table-header-group; }
tfoot { display: table-footer-group; }

img {
  height: 50px;
}

@page {
  size: A4 landscape;
}

.vertical span {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  text-align: left;
}
