@font-face {
  font-family: "Solway";
  src: url("fonts/Solway-Medium.ttf") format("woff2");
  font-weight: normal;
  font-display: swap;
}
*:focus {
  /* ensure high-contrast mode still has an indicator */
  outline: 2px transparent solid;
  /* Apply a thick yellow box-shadow with 
     a thin dark blue indicator in the middle */
  box-shadow: 0 0 0 2px #E1BB70, 0 0 0 4px #9E4640, 0 0 4px 6px #E1BB70;
}
html, body {
  padding: 0;
  background: #f7f3f1;
}
html {
  margin: 0;
  scroll-behavior: smooth;
}
body {
  margin: 0 auto;
  max-width: 1400px;
  background: #fff;
  color: #153D4F;
  font-size: 18px;
  line-height: 1.67;
  font-family: 'Work Sans', Helvetica, Arial, sans-serif;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5 {
  font-family: 'Solway', Helvetica, Arial, sans-serif;
  font-weight: 500;
  line-height: 1.3;
  word-break: break-word;
  hyphens: auto;
}
h1 {
  max-width: 700px;
  margin: 4vw auto 3rem;
  padding: 0 1rem;
  font-weight: 700;
}
.sitename {
  max-width: 700px;
  margin: 0 auto 0;
  padding: 0;
  font-family: 'Solway', Helvetica, Arial, sans-serif;
  font-size: 36px;
  font-weight: 100;
  color: #FFFFFF;
}
  .sitename .logo {
    height:36px;
    float: right;
    padding-top:14px;
  }
@media (min-width: 992px) { h1 {
  font-size: 36px;
} }
h2 {
  font-size: 28px;
}
h3 {
  font-size: 26px;
}
h4 {
  font-size: 22px;
  font-weight: 500;
}
h5 {
  font-size: 20px;
  font-weight: 300;
}
li::marker {
  color: #663096;
}
input, button, textarea, select {
  font-family: inherit;
}
a {
  color: inherit;
  word-break: break-word;
}
a:hover, a:focus {
  text-decoration: none;
}
figure {
  margin: 0;
  padding: 0;
}
figcaption {
  font-size: 14px;
  font-style: italic;
  color: #727272;
}
figcaption:first-child {
  margin-bottom: 1rem;
}
figcaption:last-child {
  margin-top: 1rem;
}
table {
  width: 100%;
  border-collapse: collapse;
}

details {
  background: #E9DEC4;
  padding: .5rem 1rem;
  border: 2px solid #DFD6C2;
  border-radius: 1rem;
}
  details summary { 
    cursor: pointer;
  }
    details[open] summary ~ * {
      animation: sweep .5s ease-in-out;
    }
@keyframes sweep {
  0%    {opacity: 0; transform: translateX(-10px)}
  100%  {opacity: 1; transform: translateX(0)}
}

/* Sections */
.header {
  padding: 0;
  height: 160px;
  color: #ffffff;
  background: #663096;
  xbackground: linear-gradient(to top, #d33f4f 15px, #663096 15px);
  xbackground: #663096 url('img/header@2xx.png') no-repeat bottom center;
  background: #663096 url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1682 178.3" style="background:%23663096;"><circle r="20" cx="0" cy="22" fill="%23FFFFFF" /><circle r="20" cx="0" cy="67" fill="%23FFFFFF" /><circle r="20" cx="0" cy="112" fill="%23FFFFFF" /><line x1="0" y1="172" x2="1700" y2="172" style="stroke:%23A98D8A;stroke-width:12" /></svg>') no-repeat bottom center;
  background-size: 100% auto;
}
  .header > div {
    max-width: 1200px;
    margin: 0 auto;
    height: 100%;
  }

.logo {
  color: #fff;
  padding-top: 20px;
}
  .logo svg,
  .logo img {
    height: 40px;
    margin-top: 10px;
    width: auto;
    max-width: 235px;
    transform-origin: bottom left;
    fill: #FFF;
    color: #FFF;
  }

/* Overview ---- */
.logolist {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
  .logolist li {
    display:list-item;
    width:100%;
  }
    .logolist li img {
      height:24px;
      width:105px;
      float:left;
    }
    .logolist li div {
      padding-left:105px;
      text-indent:0px;
      line-height:28px;
    }
  .logolist  a {
    text-decoration: none;
  }
    .logolist  a:hover {
      text-decoration: underline;
    }

/* Report style -------------------------------------------------------------------- */
/* rapport resultaat */
.outcome {
  border: 1px solid #663096;
  background: #f3ecf9;
  border-radius: 12px;
  padding:1em;
  margin-bottom: 1em;
}
  .outcome .canttell {
    background: url("img/sign-canttell.png");
  }
  .outcome .failed {
    background: url("img/sign-failed.png");
  }
  .outcome .untested {
    background: url("img/sign-untested.png");
  }
  .outcome .passed {
    background: url("img/sign-passed.png");
  }
  .outcome .inapplicable {
    background: url("img/sign-inapplicable.png");
  }
  .outcome .canttell,
  .outcome .failed,
  .outcome .untested,
  .outcome .passed,
  .outcome .inapplicable {
    text-indent: 1.7em;
    background-repeat: no-repeat;
    background-size: 1.5em 1.5em;
    background-position: 0em 0em;
  }
  .outcome img {
    max-width: 99%;
    outline: 3px solid #00aa00;
  }
    .outcome p img {
      margin-left: center;
      margin-right: center;
      clear: both;
    }

  .outcome code {
    padding: .1em .2em;
    margin: 0;
    font-style: monospace;
    font-size: 85%;
    white-space: break-spaces;
    background-color:#FFFFFF;
    border-radius: 6px;    
  }
  .outcome pre {
    padding:.3em;
    position: relative;
    top: -.5em;
    overflow: auto;
    line-height: 1.45;
    background-color: #FFFFFF;
    border-radius: 6px;
  }
  .outcome pre+p {
    position: relative;
    margin-top: 0;
  }
  .outcome p~pre {
    margin-bottom:0;
  }

.finding-heading {
  line-height: 1; 
  margin-top:0;
}
  .finding-heading span {
    display: table;
    margin-top: 14px;
    font-size: 14px;
  }
.readMore,
.metaText {
  font-size: 12px;
}

/* Certificate --------------------------------------------------------------------- */
.certified h1,
section.certificate {
  text-align: center;
}

/* Form ---------------------------------------------------------------------------- */
/* work in progress */
.form {
  margin:10px auto;
  max-width: 400px;
  padding: 20px 12px 10px 20px;
}
.form-style div,
.form-style fieldset {
  padding: 0 0 10px 0;
  display: block;
  margin: 10px 0 0 0;
}
.form-style fieldset {
  border-color: #E8E1D2;
}
.form-style label{
  margin: 3px 0 0 0;
  padding: 0px;
  display: block;
  font-weight: bold;
}
textarea {
  display: block;
}
.form-style input[type=text], 
.form-style input[type=date],
.form-style input[type=datetime],
.form-style input[type=number],
.form-style input[type=search],
.form-style input[type=time],
.form-style input[type=url],
.form-style input[type=email],
textarea, 
select{
  box-sizing: border-box;
  border:1px solid #BEBEBE;
  padding: 7px;
  margin:0px;
  transition: all 0.30s ease-in-out;
  outline: none;  
}
.form-style legend {
  font-weight: bold;
}
.form-style input[type=radio], 
.form-style input[type=radio]+label, 
.form-style input[type=checkbox],
.form-style input[type=checkbox]+label {
  display: inline-block;
  margin: 0 0 0 10px;
}
.form-style input[type=radio] + label, 
.form-style input[type=checkbox] + label {
  width: calc(100% - 40px);
  font-weight: 500;
}
.form-style input[type=text]:focus, 
.form-style input[type=date]:focus,
.form-style input[type=datetime]:focus,
.form-style input[type=number]:focus,
.form-style input[type=search]:focus,
.form-style input[type=time]:focus,
.form-style input[type=url]:focus,
.form-style input[type=email]:focus,
.form-style textarea:focus, 
.form-style select:focus {
  box-shadow: 0 0 6px #35977B;
  border: 2px solid #35977B;
}
.form-style input[type=radio]:focus {
  box-shadow: 0 0 4px #35977B;
  border: 4px solid #FFFFFF;
  border-radius: 50%;
}
.form-style .field-divided{
  width: 49%;
}
.form-style .field-long{
  width: 100%;
}
.form-style .field-select{
  width: 100%;
}
.form-style .field-textarea{
  height: 100px;
}
.form-style button,
.form-style input[type=submit],
.form-style input[type=button] {
  background: #2A7295;
  padding: .5rem;
  border: 1px solid black;
  border-radius: 3px;
  color: #fff;
}
  .form-style button:hover,
  .form-style input[type=submit]:hover,
  .form-style input[type=button]:hover{
    background: #4691A4;
    box-shadow:none;
  }
.form-style .required{
  color:rebeccapurple;
}
input[type=file]::file-selector-button {
  background-color: #E9E9ED;
  color: black;
  padding: 0.5rem;
  font-family: sans-serif;
  border-radius: 3px;
  border: 1px solid black;
  cursor: pointer;
  margin-bottom: 1rem;
}
button,
input[type=submit] {
  padding: 0.5rem;
}
input[type=file]::file-selector-button:hover,
input[type=file]::file-selector-button:focus {
  background-color: #bFbFc2;
  border: 1px solid black;
}
.field-wide {
  width:100%;
}
.field-medium {
  width:50%;
}
.invulhulp button.copyButton {
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  float: right;
}
.invulhulp button.copyButton:focus,
.invulhulp button.copyButton:hover {
  outline: 2px solid black;
}
.invulhulp section div li {
  margin-top:10px;  
}
.invulhulp textarea {
  width: 100%;
}
  .invulhulp textarea.multiline {
    height: 100px;
  }

/* Navigation ---------------------------------------------------------------------- */
:root {--nav-color: #ffff00;  }

#NavWrapper {
  top: 2em;
  max-width: 1200px;
  display: flex;
  justify-content: right;
}
nav {
}
  nav ul, nav li {
    margin: 0;
    padding: 0;
    list-style-type: none;
  }
    nav li span {
      display: inline-block;
      width:20em;
    }
nav > ul > li > button[aria-expanded="false"] + ul {
  display: none;
  transition: height 200ms;
}

nav > ul li > ul {
  position: relative;
  font-size: 80%;
  background: #CBB5AC;
  clip: initial;
  height: auto;
  overflow: visible;
  transition: height 200ms;
}
nav > ul li > ul a {
  text-decoration: none;
  display: inline-block;
  width:calc(100% - 1em);
  color: #000000;
  padding: .5em .5em .5em .5em;
}
#mainmenu a {
  box-shadow: none;
  line-height: 2em;
}
  #mainmenu a:focus,
  #mainmenu a:hover {
    text-decoration: underline;
    background: #E0D2CD;
  }

button:focus { 
  box-shadow: none;
  background: #A98D8A;
}
nav > ul > li > button {
  border: none;
  line-height: 1;
  background: transparent;
}
nav > ul > li > button svg {
  background-color: #A98D8A;
  border: .1em solid #A98D8A;
  padding: 5px;
  border-radius: 50%;
}
nav > ul > li >button span {
  color: #000000;
  font-size: 1.2em;
  font-weight: 500;
  text-align: left;
  vertical-align: top;
  padding-top: .25em;
  padding-left: .5em;
  line-height: 1.5;
}

nav > ul > li > span + button:hover,
nav > ul > li > span + button:focus,
nav > ul > li > span + button[aria-expanded=true] {
  background-color: #387F97;
  outline: none;
  padding-right:0;
}
nav > ul > li > span + button svg {
  width: 1.25em;
  height: 1.25em;
  fill: #fff;
  transition: transform .25s ease-in;
/*  transform-origin: center 45%; */
}
/*
nav > ul > li > span + button:hover svg, nav > ul > li > span + button:focus svg, nav > ul > li > span + button[aria-expanded=true] svg
    { fill: #fff; }
*/
button[aria-expanded=true] svg {
  transform: rotate(180deg);
  transition: transform .15s ease-in;
}
button[aria-expanded=false] svg {
  transition: transform .15s ease-in;
}

/* Breadcrumb yet not in use ----------------------------------------------- */
/*--------------------------------------------------------------
breadcrumb
--------------------------------------------------------------*/
.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  max-width: 1120px;
  margin: 0 auto;
  padding: 1rem;
  font-size: 16px;
}
  .breadcrumb > span {
    display: flex;
    align-items: center;
  }
  .breadcrumb > span::after {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    margin: 0 .5rem;
    background: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="8" height="8"><path d="M6 4l20 12-20 12z" fill="%23663096"></path></svg>') no-repeat center;
  }
  .breadcrumb > span:last-child::before {
    content: '' / 'Bovenliggende pagina: ';
  }
  .breadcrumb > span:last-child::after {
    margin-right: .5rem;
  }

/* Sections ---------------------------------------------------------------- */
.section {
  padding: 1rem;
  --background: #fff;
  --highlight: #f7f3f1;
}
  .section > div {
    box-sizing: border-box;
    max-width: 700px;
    margin: 0 auto;
  }

.section-alternate {
  padding: 5vw 1rem;
  --background: #f7f3f1;
  --highlight: #fff;
  background: #f7f3f1;
  background: #f7f3f1 url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1682 178.3" style="background:%23fff;"><path fill-rule="evenodd" clip-rule="evenodd" fill="%23f7f3f1" d="m0,100 l440,0 l100,-100 l1142,0 l0,178.3 l-1682,0z" id="svg_15"/><circle fill="%23FFFFFF" cx="440" cy="50" r="50"/><circle fill="%23f7f3f1" cx="540" cy="50" r="50"/></svg>') no-repeat top center;
  background-size: 100% auto;
}
.section-alternate:not(:last-of-type) {
  background:
            url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1682 178.3" style="background:%23fff;" transform="rotate(180)"><path fill-rule="evenodd" clip-rule="evenodd" fill="%23f7f3f1" d="m0,100 l440,0 l100,-100 l1142,0 l0,178.3 l-1682,0z" id="svg_15"/><circle fill="%23FFFFFF" cx="440" cy="50" r="50"/><circle fill="%23f7f3f1" cx="540" cy="50" r="50"/></svg>') no-repeat bottom center,
    #f7f3f1 url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1682 178.3" style="background:%23fff;"><path fill-rule="evenodd" clip-rule="evenodd" fill="%23f7f3f1" d="m0,100 l440,0 l100,-100 l1142,0 l0,178.3 l-1682,0z" id="svg_15"/><circle fill="%23FFFFFF" cx="440" cy="50" r="50"/><circle fill="%23f7f3f1" cx="540" cy="50" r="50"/></svg>') no-repeat top center;
}

.section-callout { }
  .section-callout > div {
    padding: 1.5rem;
    border: 2px solid #DFD6C2;
    border-radius: 1rem;
  }
    .section-callout.alert > div {
      background: #FCE6EA;
      border-color: #D70022;
    }
    .section-callout > div > h2 {
      margin: 0;
    }
  @media (min-width: 550px) {
  .section-callout > div.with-figure {
    position: relative;
    padding-left: 240px;
    padding-left: calc(3rem + 200px);
  }
    .section-callout > div.with-figure > p:last-of-type {
      margin-bottom: 0;
    }
    .section-callout > div.with-figure > figure {
      position: absolute;
      top: 1.5rem;
      left: 1.5rem;
      margin: 0;
    }
  }

.section-wide {  }
  .section-wide > div {
    max-width: 1120px;
  }

.section-full {
  padding: 1rem 0;
}
  .section-full > div {
    max-width: none;
  }
  .section-full h2,
  .section-full h3,
  .section-full h4,
  .section-full h5,
  .section-full h6 {
    margin-left: 8px;
  }

.section-more {  }
  .section-more > div {
    padding: 2rem;
    border-radius: 1rem;
    background: #fff;
  }
    .section-more > div > h2 {
      margin: 0;
      font-size: 2rem;
      color: #663096;
    }

/* Footer ---------------------------------- */
.footer {
  background: #663096;
  background:
    url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1682 360" style="" transform="rotate(180)"><path fill-rule="evenodd" clip-rule="evenodd" fill="%23FFFFFF" d="M1682,285l-1682,0l0,75l1682,0z"></path><circle fill="%23833EC1" cx="1488" cy="236" r="36"/><circle fill="%23833EC1" cx="1488" cy="76" r="36"/><circle fill="%23833EC1" cx="1488" cy="156" r="36"/></svg>') no-repeat top center,
    #663096;

  background-size: 130% auto;
  color: #fff;
}

.outro {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
  .outro > section {
    position: relative;
    box-sizing: border-box;
    flex: 0 1 520px;
    min-height: 250px;
    margin: 0 1.5rem 6rem;
    padding: 2rem;
    border-radius: 1rem;
    background: #d33f4f;
    color: #FFFFFF;
  }
  .outro > section + section {
    background: #EC9C55;
    color: #000000;
  }
    .outro > section > h2 {
      margin: 0 0 1rem;
/*      font-size: 40px; */
      line-height: 1.1;
    }
    .outro > section > img {
      position: relative;
      top: 1.5rem;
      left: 1.5rem;
      width: 5rem;
      height: 5rem;
    }
    .outro > section > p {
      font-size: 20px;
    }
    .outro > section > p:last-child {
      margin-bottom: 0;
    }
    @media (min-width:550px) {
      .outro > section {
        padding: 2rem 2rem 2rem 2rem;
      }
      .outro > section.withimg {
        padding-left: 8rem;
      }
      .outro > section > img {
        position: absolute;
      }
    }

.about {
  box-sizing: border-box;
  max-width: 720px;
  margin: -5rem auto 3rem;
  padding: 1.5rem;
}
  .about > h2 {
    font-size: 40px;
    hyphens: none;
  }
  .about > .last-updated {
    margin-top: 2rem;
    padding-top: .5rem;
    border-top: 2px solid #FFFFFF;
  }

.contact {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1120px;
  margin: 0 auto;
  padding: 5rem 0;
  border-top: 12px solid #833EC1;
  border-radius: 9px;
}
  .contact > div {
    flex: 1 1 auto;
    margin: 0 1.5rem;
  }
    .contact > div > h2 {
      word-break: normal;
      hyphens: manual;
    }

.tagline {
  font-size: 14px;
}

.contact ul {
  padding-left: 0;
}

.social-media {
  display: flex;
  margin: 0 0 2.5rem;
  padding: 0;
  list-style: none;
}
  .social-media > li {
    margin: 0 1rem 0 0;
  }
    .social-media > li > a {
      box-sizing: border-box;
      display: block;
      width: 40px;
      height: 40px;
      padding: 10px;
      border-radius: 50%;
      background: #E87523;
      color: #fff;
    }
    .social-media > li > a:hover, .social-media > li > a:focus {
      box-shadow: 2px 5px 2px rgba(0,0,0,.3);
      -ms-transform: translatey(-2px);
      transform: translatey(-2px);
      outline: 0;
      background: #fff;
      color: #E87523;
    }
      .social-media > li > a > svg {
        display: block;
        fill: currentColor;
      }

/* Components -------------------------------- */
.subtext {
  font-size: 24px;
}

.intro {
  font-size: 20px;
}

.see-also {
  position: relative;
  margin: 1em 0;
  padding: 1.5rem;
  border: 2px solid #DFD6C2;
  border-radius: 1rem;
}
  .see-also > h3 {
    margin: 0;
    font-family: 'Work Sans', Helvetica, Arial, sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #663096;
  }
  .see-also > p {
    display: flex;
    justify-content: space-between;
    margin: 0;
    font-size: 22px;
    font-weight: 600;
  }
  .see-also > p::after {
/*    content: '→'; 
werkt niet:
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 64 64'%3E%3Cpolygon fill='currentColor' points='32.9688,13.7871 30.8477,15.9082 44.9395,30 13,30 13,33 44.9395,33 30.8477,47.0918 32.9688,49.2129 50.6816,31.5'/%3E%3C/svg%3E");
*/
    content: '⇢';
    margin-left: 1em;
    font-family: sans-serif;
  }
    .see-also > p > a {  }
    .see-also > p > a:hover, .see-also > p > a:focus { }
    .see-also > p > a::after {
      content: '';
      position: absolute;
      right: -2px;
      bottom: -2px;
      left: -2px;
      top: -2px;
      border: 2px solid transparent;
      border-radius: 1rem;
    }
    .see-also > p > a:hover::after, .see-also > p > a:focus::after {
      border-color: #EC9C55;
    }

.figure-callout {
  padding: 1.5rem;
  border: 2px solid #DFD6C2;
  border-radius: 1rem;
  background: white;
}
  .figure-callout > :first-child {
    margin-top: 0;
  }
  .figure-callout > :last-child {
    margin-bottom: 0;
  }

.call-to-action a {
  display: inline-block;
  padding: .6rem 1.5rem .65rem;
  border-radius: 2rem;
  background: #fff;
  color: #EC9C55;
  text-decoration: none;
  font-weight: 600;
  white-space: nowrap;
}
  .call-to-action.inverse a {
    background: #EC9C55;
    color: #fff;
  }
  .call-to-action a::after {
    content: '→';
    margin-left: 1em;
    font-family: sans-serif;
  }
  .call-to-action a:hover, .call-to-action a:focus {
    background: #EC9C55;
    color: #fff;
  }
    .call-to-action.inverse a:hover, .call-to-action.inverse a:focus {
      background: #fff;
      color: #EC9C55;
    }

.data-table-container {
  border: 2px solid #DFD6C2;
  border-radius: 1rem;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

/* declaration lists -------------------------------------- */
@media (min-width:550px) {
dl {
    display: flex;
    flex-wrap: wrap;
    line-height: normal;
  }
  dl > * {
    padding-top: 0.5em;
  }
  dt {
    width:30%;
    text-align:right;
    font-weight: bold;
  }
  dd {
    width:60%;
    padding-left:1em;
    margin-left: 0px;
  }
    dd + dd {
      width: 100%;
      padding-left: calc(30% + 1em);
    }
    dt + dt {
      padding-right: 60%;
    }
    dt + dt + dd {
      margin-top: -1.625em; /* own height including padding */
      padding-left: calc(30% + 1em);
    }
}

/* table overview ---------------------------------------- */
table.overview tr:nth-child(2n) {
  background: #f7f7f7;
}

table.overview a {
  text-decoration: none;
}

table a:hover {
  text-decoration: underline;
}

/* table and charts -------------------------------------- */
table:not(.chart-table):not(.chart-graph) { }
  table:not(.chart-table):not(.chart-graph) > caption {
    padding: .5rem;
    font-size: 14px;
    font-style: italic;
    background: #EC9C55;
    color: #fff;
  }
  table:not(.chart-table):not(.chart-graph) > thead > tr {
    background: #663096;
    color: #fff;
  }
    table:not(.chart-table):not(.chart-graph) > thead > tr > th {
      padding: .6rem;
      text-align: left;
      vertical-align: top;
      font-weight: 400;
    }
    table:not(.chart-table):not(.chart-graph) > thead > tr > th:first-child {
      padding-left: .8rem;
    }
    table:not(.chart-table):not(.chart-graph) > thead > tr > th:last-child {
      padding-right: .8rem;
    }
  table:not(.chart-table):not(.chart-graph) > tbody > tr { }
  table:not(.chart-table):not(.chart-graph) > tfoot > tr,
  table:not(.chart-table):not(.chart-graph) > tbody > tr + tr {
    border-top: 1px solid #DFD6C2;
  }
    table:not(.chart-table):not(.chart-graph) > thead > tr > th:first-child {
      padding-left: 1rem;
    }
    table:not(.chart-table):not(.chart-graph) > tbody > tr > th {
      padding: .4rem .6rem;
      vertical-align: top;
      text-align: left;
    }
    table:not(.chart-table):not(.chart-graph) > tbody > tr > td,
    table:not(.chart-table):not(.chart-graph) > tfoot > tr > td {
      padding: .4rem .6rem;
      vertical-align: top;
    }
    table:not(.chart-table):not(.chart-graph) > tbody > tr > td:first-child {
      padding-left: .8rem;
    }
    table:not(.chart-table):not(.chart-graph) > tbody > tr > td:last-child,
    table:not(.chart-table):not(.chart-graph) > tfoot > tr > td:last-child {
      padding-right: .8rem;
    }
    table:not(.chart-table):not(.chart-graph) > tbody > tr > td ul,
    table:not(.chart-table):not(.chart-graph) > tfoot > tr > td ul{
      margin-block-start: 0;
      margin-block-end: 0;
      padding-inline-start: 20px;
    }
    table:not(.chart-table):not(.chart-graph) > tr:last-child > td {
      padding-bottom: 1rem;
    }
    table.numeric:not(.chart-table):not(.chart-graph) > thead > tr > th:not(:first-child),
    table.numeric:not(.chart-table):not(.chart-graph) > tbody > tr > td,
    table.numeric:not(.chart-table):not(.chart-graph) > tfoot > tr > td {
       text-align: right;
    }
    table.total:not(.chart-table):not(.chart-graph) > tfoot > tr > td {
      font-weight:600;
    }

.chart-table { }
  .chart-table > thead > tr, .chart-table > tbody > tr {  }
  .chart-table > tbody > tr:nth-child(odd) {
    background: #fff;
  }
  .chart-table > tbody > tr:nth-child(even) {
    background: #f7f3f1;
  }
    .chart-table > thead > tr > th, .chart-table > tbody > tr > th, .chart-table > tbody > tr > td {
      padding: .5rem;
    }
    .chart-table > thead > tr > th {
      text-align: left;
      background: #187973;
      color: #f7f3f1;
    }
    .chart-table > tbody > tr > th {
      text-align: left;
    }

.chart-graph { margin-bottom: 5rem; }
  .chart-graph > thead {
    display: none;
  }
  .chart-graph > thead > tr > th {
    font-weight: normal;
    font-style: italic;
  }
  .chart-graph > tbody > tr {
    border-bottom: 4px solid #fff;
    border-color: var(--background);
  }
    .chart-graph > tbody > tr > td {
      padding: 0 1rem;
      white-space: nowrap;
    }
    .chart-graph > tbody > tr > td:first-child {
      width: 1rem;
      padding: 0 1rem 0 0;
      text-align: right;
    }
    .chart-graph > tbody > tr > td:last-child {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      padding: 0;
      background: #fff;
      background: var(--highlight);
    }
    .chart-graph > tbody > tr > td:last-child::before {
      content: '';
      display: inline-block;
      width: var(--percentage);
      height: 2.5rem;
      margin-right: .5rem;
      vertical-align: middle;
      background: #00AEA5;
    }

.chart-toggle {
  position: relative;
  margin: 1rem 0 0;
}
  .chart-toggle > fieldset {
    margin: 0;
    padding: 0;
    border: none;
    text-align: right;
    -webkit-appearance: none;
    appearance: none;
  }
    .chart-toggle > fieldset > legend {
      position: absolute;
      right: 11em;
      height: 100%;
      display: flex;
      align-items: center;
    }
    .chart-toggle > fieldset > div {
      display: flex;
      margin: 0 0 0 auto;
      width: 10em;
      width: max-content;
      border: 4px solid #f7f3f1;
      border-radius: 2rem;
      background: #f7f3f1;
    }
      .chart-toggle > fieldset > div > input {
        position: absolute;
        opacity: 0;
      }
      .chart-toggle > fieldset > div > label {
        position: relative;
        padding: .3rem 1rem .35rem;
        border-radius: 2rem;
        cursor: pointer;
        transition: background .2s ease-out;
      }
      .chart-toggle > fieldset > div > label:last-child {
        margin-left: -.5em;
      }
      .chart-toggle > fieldset > div > input:checked + label {
        z-index: 1;
        background: #d33f4f;
        font-weight: 600;
      }
      .chart-toggle > fieldset > div > input:hover + label, .chart-toggle > fieldset > div > input:focus + label {
        background: #DFD6C2;
      }
  .chart-toggle > button {
    position: absolute;
    top: 0;
    right: 0;
    visibility: hidden;
  }

/*
 * content only for printing
 */
.printonly {
  display:none;
}
