@font-face {
  font-family: "Carlito";
  font-weight: 600;
  src: url("/frm/css/fonts/Carlito-Bold.woff2");
}
@font-face {
  font-family: "Redhat";
  font-weight: 300;
  src: url("/web/css/fonts/Red/RedHatDisplay-Light.ttf");
}
@font-face {
  font-family: "Redhat";
  font-weight: 400;
  font-style: normal;
  src: url("/web/css/fonts/Red/RedHatDisplay-Medium.ttf");
}
@font-face {
  font-family: "Redhat";
  font-weight: 400;
  font-style: italic;
  src: url("/web/css/fonts/Red/RedHatDisplay-MediumItalic.ttf");
}
@font-face {
  font-family: "Redhat";
  font-weight: 600;
  font-style: normal;
  src: url("/web/css/fonts/Red/RedHatDisplay-SemiBold.ttf");
}
@font-face {
  font-family: "Redhat";
  font-weight: 600;
  font-style: italic;
  src: url("/web/css/fonts/Red/RedHatDisplay-SemiBoldItalic.ttf");
}
@font-face {
  font-family: "K2D";
  font-weight: 400;
  font-style: normal;
  src: url("/web/css/fonts/K2D/K2D-Medium.ttf");
}
@font-face {
  font-family: "K2D";
  font-weight: 400;
  font-style: italic;
  src: url("/web/css/fonts/K2D/K2D-MediumItalic.ttf");
}
@font-face {
  font-family: "K2D";
  font-weight: 600;
  font-style: normal;
  src: url("/web/css/fonts/K2D/K2D-Bold.ttf");
}
@font-face {
  font-family: "K2D";
  font-weight: 600;
  font-style: italic;
  src: url("/web/css/fonts/K2D/K2D-BoldItalic.ttf");
}
:root {
  --genBc: #363849;
  --boxBg: #eef3ff;
  --boxActiveBg: #d9e0f4;
  --boxActiveColor: #363849;
  --boxTextActive: #a1a5c3;
  --boxText: #001796;
  --boxTextH: #bc1414;
  --inBodyBoxBg: #4a4a5b;
  --pgWidth: 90em;
  --pW: calc(100vw - 2em);
  --pageWidth: MIN(var(--pW), var(--pgWidth));
}

body {
  background: var(--genBc);
  margin-top: 2.5em;
  padding: 0.3em;
}

main {
  max-width: var(--pageWidth);
  margin: 0.6em auto 0.1em auto;
  background: #ffffff;
  padding: 3px;
}

h1, h2, h3 {
  color: var(--boxTextH);
  font-family: "K2D";
  text-wrap-style: balance;
}

body,
p {
  font-family: "Redhat";
}

p {
  font-size: 0.9rem;
}

h1 {
  text-align: center;
  font-size: 2rem;
  padding: 1.5rem;
}

@media (min-width: 35em) {
  h1 {
    font-size: 4rem;
    padding: 3rem;
  }
}
h2 {
  font-size: 1.4rem;
  text-align: left;
}

h3 {
  font-size: 1.2em;
  text-align: left;
}

p {
  text-align: left;
}

mark {
  background: transparent;
  color: #780000;
  letter-spacing: 2px;
}

.buttonBoxes {
  display: flex;
  flex-flow: row;
  flex-wrap: wrap;
  justify-content: space-between;
}

.subsection {
  border: solid 3px var(--genBc);
  border-radius: 4px;
  margin: 3px;
  padding: 3px;
}

.subsection p {
  font-size: 0.8rem;
}

.pageButton {
  display: flex;
  flex-flow: row;
  flex-wrap: nowrap;
  text-decoration: none;
  width: 15em;
  min-width: 11em;
  min-height: 4em;
  background-color: var(--boxBg);
  border: solid 2px #8e9269;
  margin: 1em;
  border-radius: 0.5em;
  box-shadow: 2px 2px 2px 0 rgba(95, 95, 93, 0.5764705882);
  padding: 0.5em;
  text-align: center;
  text-wrap-style: balance;
  transition: color 0.5s;
}

.pageButton img {
  height: 3em;
  margin: 0.5em;
  width: auto;
}

.pageButton div {
  margin: auto auto;
  color: var(--boxText);
}

.pageButton:hover {
  background-color: var(--boxActiveBg);
  color: var(--boxTextActive);
  transition: all 0.5s;
}

summary h2 {
  display: inline;
}

.box-subbox {
  margin: 1em;
  max-width: 25em;
  border: solid 3px var(--genBc);
  border-radius: 4px;
  padding: 6px;
  background-color: var(--boxBg);
  box-shadow: 3px 3px 3px 0 rgba(95, 95, 93, 0.5764705882);
}

.box-subbox h3 {
  color: var(--boxText);
}

.buttonBoxes {
  margin: 1em;
}

@media (max-width: 29.9em) {
  .buttonBoxes {
    flex-flow: column;
    flex-wrap: nowrap;
    align-items: stretch;
  }
}
@media (min-width: 30em) {
  .buttonBoxes {
    flex-flow: row;
    flex-wrap: wrap;
    justify-content: space-evenly;
  }
  .box-subbox {
    flex-grow: 1;
    flex-shrink: 1;
    min-width: 12em;
    max-width: 18em;
    margin: 0.5em;
  }
}
.inBodyInvBox {
  justify-content: space-around;
  margin-top: 1rem;
  margin-bottom: 1rem;
  background-color: var(--inBodyBoxBg);
  border-radius: 5px;
}
.inBodyInvBox h2 {
  padding: 0;
  text-align: center;
  color: white;
  font-size: 2rem;
}
.inBodyInvBox p.subtitle {
  color: #ebc7c7;
  font-size: 1.6rem;
  text-align: center;
  text-wrap-style: balance;
}
.inBodyInvBox .tb-image {
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
}

@media (min-width: 30em) {
  .inBodyInvBox .tb-image {
    width: min(35vw, 40em);
  }
  .inBodyInvBox .tb-image img {
    max-width: 25em;
    max-height: 30em;
  }
}
.inBodyInvBox .tb-image img {
  max-height: 15em;
}

.twoBoxes {
  display: flex;
  flex-flow: row;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
}

.twoBoxes div.subHeader,
div.subHeader {
  padding: 2em;
  font-size: 1.5rem;
  text-wrap-mode: wrap;
  text-wrap-style: balance;
}

.twoBoxes.topHeader .tbLarger {
  max-width: 45em;
}

.twoBoxes.inBodyInvBox .tbLarger {
  max-width: 35em;
  margin: 6px;
  border: solid 6px var(--genBc);
  border-radius: 8px;
  padding: 1em;
  background-color: white;
}

.twoBoxes.inBodyInvBox .tbLarger p {
  font-size: 1.1rem;
  color: var(--genBc);
}

.twoBoxes .tbLarger details {
  width: 80%;
  max-width: 90%;
}

.twoBoxes .tbLarger details[open] {
  width: 90%;
}

details summary h2,
details summary h3 {
  display: inline;
  margin: 0px 0px 3px 0;
}

summary p {
  margin: 3px 3px 0 1em;
  text-wrap-style: balance;
}

details h3,
details h4 {
  margin: 6px;
}

.singleBox {
  max-width: calc(100% - 2em);
  margin: 1m auto;
  border: solid 0.5em var(--genBc);
  border-radius: 0.5em;
  padding: 1em;
}
.singleBox p {
  font-size: 1.1em;
}

.tb-image {
  text-align: center;
}