@charset "UTF-8";
@font-face {
  font-family: 'Montserrat';
  src: url("../scss/fonts/montserrat-medium.woff2") format("woff2"), url("../scss/fonts/montserrat-medium.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url("../scss/fonts/montserrat-light.woff2") format("woff2"), url("../scss/fonts/montserrat-light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

/*
USE WITH CARE.

"links go somewhere, buttons do something" should remain true,
unless there is a very good reason to break this.

We can use this when it's very obvious what will happen if it's
pressed, and an `a` element can't be used.

For example Django uses HTTP POST for 'log out' to avoid automated
(e.g pre-fetch) GET requests from logging a user out. A link is
reasonable from a user's point of view, but we use a button for
technical reasons.

This isn't exposed as a component, to avoid ad-hoc use. It is used by higher order
components only.
*/
form.ds-logout button, .ds-language > form button, .ds-language > form li {
  border: 0;
  background: none;
  font-family: Montserrat, sans-serif;
  cursor: pointer;
}

.ds-stack-larger > *,
.ds-stack > *,
.ds-filter > *,
.ds-stack-smaller > *,
.ds-footer > *,
hgroup > *,
.ds-card .ds-card-body > *,
.ds-advanced-filters > *,
.ds-stack-smallest > * {
  margin: 0;
}

.ds-stack-larger > * + * {
  margin-top: 4.76837rem;
}

.ds-stack > * + * {
  margin-top: 3.05176rem;
}

.ds-filter > * + *, .ds-stack-smaller > * + *, .ds-footer > * + *, hgroup > * + *, .ds-card .ds-card-body > * + * {
  margin-top: 1.5625rem;
}

.ds-advanced-filters > * + *, .ds-stack-smallest > * + * {
  margin-top: 0.25rem;
}

.ds-date, .ds-filter-cluster > *, .ds-subnav > *, .ds-header nav a:not(.ds-cta) > *, .ds-language > *, .ds-language > form > *, .ds-cluster > *,
.ds-cluster-right > *,
.ds-cluster-center > * {
  padding-left: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  margin: calc(0.625rem * -1);
}

.ds-filter-cluster > * > *, .ds-subnav > * > *, .ds-header nav a:not(.ds-cta) > * > *, .ds-language > * > *, .ds-language > form > * > *, .ds-cluster > * > *,
.ds-cluster-right > * > *,
.ds-cluster-center > * > * {
  margin: 0.625rem;
}

.ds-language > *, .ds-language > form > *, .ds-cluster-right > * {
  justify-content: flex-end;
}

.ds-cluster-center > * {
  justify-content: center;
}

.ds-filter-cluster > *, .ds-cluster-tight > * {
  margin: calc(0.25rem * -1);
}

.ds-filter-cluster > * > *, .ds-cluster-tight > * > * {
  margin: 0.25rem;
}

.ds-grid {
  padding: 0;
}

.ds-grid > * {
  list-style: none;
  margin: 0;
  max-width: none;
}

.ds-grid > * + * {
  margin-top: 1.5625rem;
}

@supports (width: calc(min(20px, 100%))) {
  .ds-grid > * + * {
    margin-top: 0;
  }
  .ds-grid {
    display: grid;
    grid-gap: var(--gridGap, 1.25rem);
    --gridCellMin: 30ch;
    grid-template-columns: repeat(auto-fit, minmax(min(var(--gridCellMin), 100%), 1fr));
  }
}

.ds-with-sidebar > * {
  display: flex;
  flex-wrap: wrap;
  margin: calc(1rem * -1);
}

.ds-with-sidebar .ds-sidebar {
  margin: 1rem;
  flex-grow: 1;
}

.ds-with-sidebar .ds-not-sidebar {
  margin: 1rem;
  flex-basis: 0;
  flex-grow: 999;
  min-width: calc(50% - 1rem);
}

.ds-card {
  position: relative;
  border: 1px solid rgba(64, 63, 65, 0.2);
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
}

.ds-card .ds-card-link::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.ds-card a:not(.ds-card-link) {
  position: relative;
  z-index: 2;
}

.ds-card .ds-card-image {
  position: relative;
  padding-bottom: 37.5%;
}

.ds-card .ds-card-image img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ds-card .ds-card-body {
  padding: 1.95312rem;
}

.ds-card .ds-card-body h1, .ds-card .ds-card-body h2, .ds-card .ds-card-body h3, .ds-card .ds-card-body h4 {
  font-weight: 500;
}

.ds-dark .ds-header .ds-logo span {
  color: #fff;
}

.ds-dark .ds-header .ds-logo span em {
  color: #fff;
}

.ds-dark .ds-logo span em {
  color: #fff;
}

.ds-footer {
  padding: 1.95312rem 1.25rem;
  border-top: 0.5rem solid #007CAD;
  margin-top: 4.76837rem;
  background-color: #403F41;
  color: #fff;
}

.ds-footer form {
  background-color: #403F41;
}

.ds-footer * {
  color: #fff;
  margin-left: auto;
  margin-right: auto;
  max-width: 70ch;
}

.ds-footer-links > * {
  --gridCellMin: 20ch;
}

.ds-footer-links nav {
  margin-top: 1.25rem;
}

.ds-footer-links nav ul {
  list-style: none;
  padding: 0;
}

.ds-copyright {
  padding: 1.95312rem;
  background-color: #403F41;
  max-width: 100%;
}

.ds-dark {
  color: #fff;
  background-color: #403F41;
}

.ds-dark * {
  color: #fff;
}

.ds-dark .ds-card,
.ds-dark form,
.ds-dark .ds-candidate {
  border: 1px solid;
}

.ds-dark code {
  background-color: rgba(255, 255, 255, 0.2);
}

.ds-dark .ds-select::after {
  border-top-color: #fff;
}

.ds-dark .ds-logo span {
  font-weight: 300;
  font-size: 1.5625rem;
  text-decoration: none;
  color: white;
}

.ds-dark [class*="ds-button"]:not(:active) {
  border-bottom-color: #000;
}

.ds-visually-hidden {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.ds-padded {
  padding: 1rem;
}

.ds-padded-large {
  padding: 2.44141rem;
}

.ds-bordered {
  border: 2px solid;
}

.ds-text-left {
  text-align: left;
}

.ds-text-centered, .ds-footer, .ds-footer-links {
  text-align: center;
}

.ds-text-right {
  text-align: right;
}

.ds-block-centered,
.ds-block-centered-narrow {
  display: block;
  max-width: 70ch;
  margin-left: auto;
  margin-right: auto;
}

.ds-block-centered-narrow {
  max-width: 50ch;
}

.ds-width-full, .ds-switcher > *, .ds-footer-links > * {
  display: block;
  max-width: none;
  width: auto;
}

.ds-width-full-text {
  max-width: 70ch;
}

.ds-width-reduced-text {
  max-width: 50ch;
}

.ds-width-half-text {
  max-width: 35ch;
}

.ds-width-third-text {
  max-width: 23ch;
}

:root {
  font-size: clamp(1rem, 2vw, 1.25rem);
  font-family: Montserrat, sans-serif;
  font-weight: 500;
  line-height: 1.125;
  color: #403F41;
}

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

body {
  margin: 0;
}

input,
button,
select {
  font: inherit;
}

* {
  margin: 0;
  color: #403F41;
}

*:focus {
  outline: 0.25rem solid #FFC037;
}

header, main, footer, nav, aside, section, details, summary {
  display: block;
}

img {
  display: inline-block;
  max-width: 100%;
  height: auto;
}

code {
  color: #403F41;
  background-color: rgba(64, 63, 65, 0.2);
  word-break: break-word;
  padding: 0 0.375rem;
}

div:focus,
[tabindex="-1"]:focus,
body:focus {
  outline: none;
}

.ds-skip-link {
  position: absolute;
  top: -5rem;
  display: inline-block;
  padding: 1rem;
  background-color: #fff;
}

.ds-skip-link:focus {
  top: 0.5rem;
  left: 0.5rem;
}

p, blockquote {
  font-family: Georgia, serif;
  font-weight: normal;
  line-height: 1.5;
  color: #403F41;
}

:is(p,ul,ol) + :is(p,ul,ol) {
  margin-top: 1rem !important;
}

blockquote {
  font-size: 1.25rem;
  font-style: italic;
  border-left: 0.5rem solid #FFC037;
  padding-left: 1rem;
}

p, li, dt, dd, blockquote,
h1, h2, h3, h4, h5, h6 {
  max-width: 70ch;
}

small {
  font-size: 0.875rem;
}

h1, .ds-h1,
h2, .ds-h2,
h3, .ds-h3
h4, .ds-h4, .ds-showcase strong {
  word-break: break-word;
  font-family: Montserrat, sans-serif;
  font-weight: 300;
}

h1, .ds-h1 {
  font-size: 3.8147rem;
  font-size: clamp(1.95312rem, 7vw, 3.8147rem);
}

h2, .ds-h2 {
  font-size: 3.05176rem;
  font-size: clamp(1.95312rem, 6vw, 3.05176rem);
}

h3, .ds-h3 {
  font-size: 2.44141rem;
  font-size: clamp(1.5625rem, 5vw, 2.44141rem);
}

h4, .ds-h4, .ds-showcase strong {
  font-size: 1.95312rem;
  font-size: clamp(1.25rem, 4vw, 1.95312rem);
}

h5, .ds-h5, .ds-footer-links h2 {
  font-size: 1.5625rem;
  font-size: clamp(1rem, 3vw, 1.5625rem);
}

h6, .ds-h6 {
  font-size: 1.25rem;
  font-size: clamp(0.75rem, 2vw, 1.25rem);
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 300;
  word-break: break-word;
}

a {
  color: #E6007C;
  text-decoration: underline;
}

a * {
  color: #E6007C;
  text-decoration: underline;
}

a[role="button"],
a[role="button"] * {
  text-decoration: none;
}

ul, ol {
  font-family: Georgia, serif;
  font-weight: normal;
  line-height: 1.5;
  color: #403F41;
  padding-left: 1.95312rem;
}

ul[class], ol[class],
[class] > ul:first-child,
[class] > ol:first-child {
  font-family: Montserrat, sans-serif;
  font-weight: 500;
  line-height: 1.125;
  color: #403F41;
  padding-left: 0;
}

dd {
  font-family: Georgia, serif;
  font-weight: normal;
  line-height: 1.5;
  color: #403F41;
  margin-left: 1.5625rem;
}

dl > * + * {
  margin-top: 0.75rem;
}

form {
  background-color: #E4F4FB;
}

form, fieldset {
  padding: 1.5625rem;
}

form * {
  margin: 0;
}

fieldset {
  border: 2px solid;
}

legend {
  padding: 0 0.625rem;
}

form > * + *, fieldset > *:not(legend) + * {
  margin-top: 1.95312rem;
}

.ds-field label {
  display: block;
}

.ds-field label small {
  display: block;
  margin-top: 0.25rem;
}

.ds-field > * + * {
  margin-top: 0.5rem;
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="url"],
textarea,
select {
  color: #403F41;
  padding: 0.5rem;
  border: 2px solid;
  width: 100%;
  max-width: 50ch;
  box-shadow: inset 0.25rem 0.25rem 0 rgba(64, 63, 65, 0.2);
  box-sizing: border-box;
}

.ds-field-error {
  color: #D91714;
  display: block;
}

.ds-error {
  padding: 1.25rem;
  background-color: #D91714;
  max-width: 50ch;
}

.ds-error, .ds-error * {
  color: #fff;
}

.ds-error span[role="img"] {
  filter: invert(1) grayscale(1) contrast(100);
}

.ds-dark form {
  background-color: #403F41;
}

.ds-dark .ds-field-error {
  color: #FF6347;
  font-size: 1em;
}

.ds-stack > :is(h1,h2,h3,h4,h5,hgroup) + *:not(article) {
  margin-top: 1rem;
}

/*dl.ds-descriptions > div {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
  }

  dl.ds-descriptions dt,
  dl.ds-descriptions dd {
    margin: 0;
    padding: 0;
    max-width: none;
  }

  dl.ds-descriptions dt {
    line-height: 1.25;
    padding-right: $s2;
  }

  dl.ds-descriptions > div + div {
    margin-top: $ss6;
    padding-top: $ss6;
    border-top: 1px solid $blackOpacity;
  }

  dl.ds-descriptions dd + dd {
    margin-top: $ss6;
  }

  dl.ds-descriptions > div > * {
    flex-grow: 1;
    flex-shrink: 0;
  }

  dl.ds-descriptions dt {
    flex-basis: calc(25% - 1.25rem);
  }

  dl.ds-descriptions dt + * {
    flex-basis: 75%;
    min-width: min(20rem, 100%);
  }*/
dl.ds-descriptions > div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

dl.ds-descriptions > div + div {
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(64, 63, 65, 0.2);
}

dl.ds-descriptions dt,
dl.ds-descriptions dd {
  margin: 0;
  padding: 0;
  max-width: none;
}

dl.ds-descriptions > div > dt {
  line-height: 1.125;
  flex-basis: 10rem;
  padding-right: 1.25rem;
  flex-grow: 1;
}

dl.ds-descriptions dt + * {
  flex-basis: calc(100% - 12rem);
  flex-grow: 666;
  min-width: 50%;
}

dl.ds-descriptions dt + * {
  word-break: break-word;
}

dl.ds-descriptions dd + dd {
  margin-top: 0.75rem;
}

button[class*="ds-button"] {
  border: 0;
  cursor: pointer;
  color: #fff;
  background-color: #E6007C;
  font-size: 1.25rem;
  padding: 0.625rem 1.25rem;
  border-bottom: 0.375rem solid #403F41;
}

button[class*="ds-button"]:active:not([disabled]) {
  position: relative;
  top: 0.375rem;
  border-bottom: 0;
  outline: none;
  margin-bottom: 0.375rem;
}

button.ds-button-blue {
  background-color: #007CAD;
}

button[class*="ds-button"][disabled] {
  cursor: not-allowed;
  opacity: 0.666;
}

.ds-dark button[class*="ds-button"][disabled]:active {
  border-bottom-color: #000;
}

a.ds-cta {
  display: inline-block;
  color: #E6007C;
  background-color: #fff;
  font-size: 1.25rem;
  padding: 0.875rem 1.25rem;
  border: 0.25rem solid;
  text-decoration: none;
}

a.ds-cta[href]:hover {
  transform: scale(1.05);
}

a.ds-cta-blue {
  color: #007CAD;
}

a.ds-cta:not([href]) {
  opacity: 0.666;
  cursor: not-allowed;
  border-style: dashed;
}

.ds-dark a.ds-cta {
  background: transparent;
  color: #fff;
}

.ds-dark a.ds-cta-blue {
  color: #00B6FF;
}

ul.ds-details {
  padding: 0;
  list-style: none;
}

details {
  padding: 1rem 0;
  border-style: solid;
  border-width: 1px 0;
}

details + details,
ul.ds-details li + li details {
  margin-top: 0;
  border-top-width: 0;
}

summary {
  font-family: Montserrat, sans-serif;
  font-weight: 500;
  line-height: 1.125;
  color: #403F41;
  font-style: normal;
  cursor: pointer;
  font-size: 1.5625rem;
  color: #E6007C;
}

summary > * {
  font: inherit;
  display: inline;
}

details[open] summary {
  margin-bottom: 1rem;
}

summary::marker,
summary::-webkit-details-marker {
  display: none;
}

summary::before {
  line-height: 1;
  content: '▸\0020\0020';
}

details[open] summary::before {
  content: '▾\0020\0020';
}

.ds-candidate {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  border: 1px solid rgba(64, 63, 65, 0.2);
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
}

.ds-candidate-body {
  padding: 1.5625rem;
  flex-grow: 999;
  align-self: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-basis: 50%;
}

.ds-candidate-name {
  hyphens: auto;
  word-break: break-word;
  font-weight: 500;
}

.ds-candidate-name a::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
}

.ds-candidate-image {
  background-color: #efefef;
  flex-grow: 1;
  min-width: 10rem;
  min-width: min(10rem, 100%);
  min-height: 10rem;
  max-width: 100%;
  position: relative;
  aspect-ratio: 1/1;
}

.ds-candidate-image img {
  display: block;
  height: 100%;
  position: absolute;
}

@supports (object-fit: cover) {
  .ds-candidate-image img {
    object-fit: cover;
    width: 100%;
  }
}

@media (max-width: 400px) {
  li.ds-candidate {
    flex-wrap: nowrap;
  }
  li .ds-candidate-body, li .ds-candidate-image {
    padding: 1rem;
  }
  li .ds-candidate-image {
    background-color: transparent;
    min-width: 0;
    display: flex;
    align-items: center;
    min-height: 0;
  }
  li .ds-candidate-image img {
    position: static;
    object-fit: inherit;
    height: 12vh;
    width: auto;
    margin-left: auto;
  }
}

.ds-candidate:focus-within {
  outline: 0.25rem solid #FFC037;
}

.ds-candidate:focus-within a:focus {
  outline: none;
}

:not(li).ds-candidate .ds-candidate-body {
  flex-basis: 50%;
}

:not(li).ds-candidate .ds-candidate-image {
  min-width: 20rem;
  min-width: min(20rem, 100%);
}

nav.ds-breadcrumbs ol {
  font-family: Montserrat, sans-serif;
  font-weight: 500;
  line-height: 1.125;
  color: #403F41;
  line-height: 1.5;
  margin: 0;
  list-style: none;
}

nav.ds-breadcrumbs li {
  display: inline-block;
}

nav.ds-breadcrumbs li:not(:last-child)::after {
  content: '\00a0\00a0/\00a0';
}

.ds-table {
  overflow-x: auto;
}

.ds-table table {
  position: relative;
  border-top: 0;
  border-collapse: collapse;
  min-width: 100%;
  text-align: left;
}

.ds-table th, .ds-table td, .ds-table caption {
  padding: 1rem;
}

.ds-table caption {
  padding-left: 0;
}

.ds-table td {
  font-family: Georgia, serif;
}

.ds-table tr:nth-child(even) {
  background-color: #E4F4FB;
}

.ds-table caption {
  font-size: 1.5625rem;
  text-align: left;
  font-weight: bold;
  border-bottom: 1px solid;
}

.ds-table caption > * {
  font-size: inherit;
  font-weight: inherit;
}

.ds-table td + td,
.ds-table th + th,
.ds-table th + td {
  border-left: 1px solid;
}

.ds-table th:not([scope="row"]) {
  border-bottom: 1px solid;
}

.ds-table code {
  word-break: normal;
}

.ds-dark .ds-table tr:nth-child(even) {
  background-color: rgba(255, 255, 255, 0.2);
}

.ds-language, .ds-language > form {
  padding: 0.625rem;
  font-size: 1rem;
  background-color: #403F41;
}

.ds-language * {
  color: white;
}

.ds-language [aria-current] {
  text-decoration: underline;
  text-decoration-thickness: 0.125rem;
  color: #00B6FF;
}

.ds-dark .ds-language, .ds-dark .ds-language > form {
  background-color: #0D1117;
  border: none;
}

.ds-logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  line-height: 1;
  color: inherit;
}

.ds-logo img {
  height: 4.5rem;
  margin-right: 0.375rem;
}

.ds-logo span {
  font-weight: 300;
  font-size: 1.5625rem;
  text-decoration: none;
  text-align: left;
  color: #403F41;
}

.ds-header .ds-logo span em {
  color: #403F41;
}

.ds-logo em {
  display: block;
  font-size: 1.25rem;
  font-weight: normal;
  font-style: normal;
  margin-top: 0.375rem;
  color: #403F41;
}

form.ds-logout {
  border: 0;
  background: none;
  padding: 0;
  display: inline-block;
}

form.ds-logout button {
  color: #E6007C;
  text-decoration: underline;
  border-bottom: 2px solid #fff;
}

.ds-header form.ds-logout button:hover {
  border-bottom-color: #007CAD;
}

.ds-header form.ds-logout button {
  padding: 0.5rem;
  color: inherit;
  text-decoration: none;
}

.ds-dark form.ds-logout button {
  color: inherit;
  border-bottom-color: transparent;
}

.ds-dark .ds-header form.ds-logout button:hover {
  border-bottom-color: #00B6FF;
}

.ds-header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  padding: 1.25rem;
  margin-bottom: clamp(0.125rem, 2vw, 1.95312rem);
  background-color: #fff;
}

.ds-header-home {
  flex-basis: 15rem;
  flex-grow: 0;
  margin-right: 1.25rem;
}

.ds-header-home img {
  width: 100%;
  max-width: 20rem;
  height: auto;
}

.ds-header nav a:not(.ds-cta) {
  margin: 1rem 0 1rem;
}

.ds-header ul {
  font-size: clamp(0.875rem, 3vw, 1rem);
}

.ds-header li {
  font-family: Montserrat, sans-serif;
  font-weight: 500;
  line-height: 1.125;
  color: #403F41;
  display: inline-block;
}

.ds-header nav a {
  text-decoration: none;
  color: inherit;
  display: block;
  padding: 0.5rem;
  border-bottom: 2px solid #fff;
}

.ds-header a:hover {
  border-bottom-color: #007CAD;
}

.ds-header [aria-current] {
  border-bottom-color: #E6007C;
}

.ds-dark .ds-header {
  background-color: #0D1117;
  border-bottom: 1px solid #fff;
}

.ds-dark .ds-header li {
  color: #fff;
}

.ds-dark .ds-header a {
  border-bottom-color: transparent;
}

.ds-dark .ds-header a:hover {
  border-bottom-color: #00B6FF;
}

.ds-dark .ds-header [aria-current] {
  border-bottom-color: #E6007C;
}

.ds-subnav {
  color: #E6007C;
  font-size: clamp(1.25rem, 2.5vw, 1.5625rem);
}

.ds-subnav > * {
  margin: calc(0.75rem * -1) calc(1.95312rem * -1);
}

.ds-subnav > * > * {
  margin: 0.75rem 1.95312rem;
  position: relative;
}

.ds-subnav a {
  text-decoration: none;
}

.ds-subnav li:not(:last-child) a::after {
  content: '\00b7';
  position: absolute;
  right: calc(1.95312rem * -1 - 4px);
}

.ds-subnav [aria-current] {
  border-bottom: 2px solid;
}

.ds-dark .ds-footer {
  background-color: #0D1117;
}

.ds-dark .ds-footer .ds-copyright {
  color: #fff;
  background-color: #0D1117;
}

.ds-dark .ds-footer form {
  background-color: #0D1117;
  border: none;
}

.ds-field-radio {
  display: flex;
  align-items: center;
  cursor: pointer;
}

.ds-field-radio input {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.ds-field-radio > span {
  order: 1px solid #dee0e2;
  background-color: #dee0e2;
  padding: 1em;
  margin: 0.25rem;
  display: inline-block;
}

.ds-field-radio > span::before {
  content: '';
  border-radius: 50%;
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  border: 2px solid #403F41;
  margin-right: 0.5rem;
  vertical-align: middle;
  background-color: #fff;
}

.ds-field-radio > input:checked + span {
  background-color: white !important;
}

.ds-field-radio > input:checked + span::before {
  background-color: #E6007C;
  box-shadow: inset 0 0 0 0.25rem #fff;
}

.ds-field-radio > input:focus + span {
  text-decoration: underline;
  text-decoration-color: #FFC037;
  text-decoration-thickness: 2px;
  outline: solid #FFC037;
}

.ds-dark .ds-field-radio > span::before,
.ds-dark .ds-field-radio > span {
  background-color: rgba(255, 255, 255, 0.2);
}

.ds-dark .ds-field-radio > input:checked + span {
  color: #403F41;
  background-color: #fff;
}

.ds-field-checkbox {
  display: flex;
  align-items: center;
  cursor: pointer;
}

.ds-field-checkbox input {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.ds-field-checkbox > span {
  display: flex;
  align-items: center;
}

.ds-field-checkbox > span::before {
  content: '';
  width: 1em;
  height: 1em;
  border: 2px solid #403F41;
  margin-right: 0.375rem;
  background-color: #fff;
  float: left;
}

.ds-field-checkbox > input:checked + span::before {
  text-align: center;
  content: '✓';
  color: #E6007C;
}

.ds-field-checkbox > input:focus + span {
  text-decoration: underline;
  text-decoration-color: #FFC037;
  text-decoration-thickness: 2px;
}

.ds-select {
  display: block;
  display: inline-block;
  width: 100%;
  max-width: 50ch;
  position: relative;
}

@supports (-moz-appearance: none) or (-webkit-appearance: none) or (appearance: none) {
  .ds-select select {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    padding-right: 2.44141rem;
  }
  .ds-select::after {
    content: '';
    height: 0;
    width: 0;
    border: 1rem solid transparent;
    border-top-color: #E6007C;
    border-top-width: 0.9rem;
    position: absolute;
    right: 0.75rem;
    top: 50%;
    transform: translateY(-12.5%);
    pointer-events: none;
  }
}

.ds-dark .ds-select select {
  background-color: #403F41;
}

.ds-filter {
  background-color: #E4F4FB;
  padding: 1.25rem;
}

.ds-filter ul {
  font-family: Montserrat, sans-serif;
  font-weight: 500;
  line-height: 1.125;
  color: #403F41;
}

.ds-filter ul a {
  display: inline-block;
  text-decoration: none;
  padding: 0.375rem 1rem;
  border: 2px solid;
}

.ds-filter ul a[aria-current] {
  display: inline-block;
  color: #fff;
  background-color: #E6007C;
  border-color: #E6007C;
}

.ds-filter > a {
  padding: 1rem 0;
}

.ds-filter-label {
  text-transform: uppercase;
}

.ds-filter summary {
  font-size: inherit;
}

.ds-filter details ul {
  font-size: 0.85em;
}

.ds-dark .ds-filter {
  background-color: #403F41;
}

.ds-status ul {
  list-style: none;
}

.ds-status ul li {
  max-width: none;
}

[class*="ds-status-"] {
  padding: 0.625rem;
  font-size: 1rem;
  background-color: #403F41;
  color: #fff;
}

.ds-status-message {
  background-color: #007CAD;
}

.ds-status-message a {
  color: #fff;
}

.ds-status-success {
  background-color: #32841A;
}

.ds-status-error {
  background-color: #D91714;
}

pre.ds-codeblock {
  padding: 1rem;
  background-color: rgba(64, 63, 65, 0.2);
  line-height: 1.125;
  scrollbar-width: thin;
  scrollbar-color: #007CAD #403F41;
}

pre.ds-codeblock code {
  display: block;
  white-space: pre-wrap;
  padding: 0;
  background-color: transparent;
}

pre.ds-codeblock.ds-codeblock-scroll {
  overflow-x: auto;
}

pre.ds-codeblock.ds-codeblock-scroll code {
  white-space: pre;
}

::-webkit-scrollbar {
  width: 1rem;
}

::-webkit-scrollbar-track {
  background-color: #403F41;
}

::-webkit-scrollbar-thumb {
  background-color: #007CAD;
}

.ds-party {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  border: 1px solid rgba(64, 63, 65, 0.2);
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
}

.ds-party-body {
  padding: 1.5625rem;
  flex-grow: 999;
  align-self: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-basis: 50%;
}

.ds-party-name {
  hyphens: auto;
  word-break: break-word;
}

.ds-party-name a::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
}

.ds-party-image {
  background-color: #fff;
  flex-grow: 1;
  min-width: 10rem;
  min-width: min(10rem, 100%);
  min-height: 10rem;
  max-width: 100%;
  position: relative;
  order: 2;
}

.ds-party-image img {
  padding: 1.5625rem;
  display: block;
  height: 100%;
  position: absolute;
}

@supports (object-fit: contain) {
  .ds-party-image img {
    object-fit: contain;
    width: 100%;
  }
}

@media (max-width: 400px) {
  li.ds-party {
    flex-wrap: nowrap;
  }
  li .ds-party-body, li .ds-party-image {
    padding: 1rem;
  }
  li .ds-party-image {
    background-color: transparent;
    min-width: 0;
    display: flex;
    align-items: center;
    min-height: 0;
  }
  li .ds-party-image img {
    position: static;
    object-fit: inherit;
    height: 12vh;
    width: auto;
    margin-left: auto;
  }
}

.ds-party:focus-within {
  outline: 0.25rem solid #FFC037;
}

.ds-party:focus-within a:focus {
  outline: none;
}

:not(li).ds-party .ds-party-body {
  flex-basis: 50%;
}

:not(li).ds-party .ds-party-image {
  min-width: 20rem;
  min-width: min(20rem, 100%);
}

.ds-dark .ds-party-image {
  background-color: transparent;
}

.ds-map-leaflet {
  width: 100%;
  aspect-ratio: 1 / 1;
  max-width: 1000px;
}

.ds-dark .ds-map-leaflet .leaflet-control,
.ds-dark .ds-map-leaflet .leaflet-control * {
  background-color: #403F41;
}

div.ds-map-maplibre {
  font-family: Georgia, serif;
  font-weight: normal;
  line-height: 1.5;
  color: #403F41;
  width: 100%;
  aspect-ratio: 1 / 1;
  max-width: 1000px;
}

.maplibregl-ctrl-attrib-button::before {
  display: none;
}

.ds-dark div.ds-map-maplibre .maplibregl-ctrl,
.ds-dark div.ds-map-maplibre .maplibregl-ctrl * {
  background-color: #403F41;
  color: #fff;
}

.ds-date .ds-field input {
  margin: 10px 15px 5px 0;
  border: 2px solid #403F41;
  padding: 0.5rem;
  max-width: 5em;
  color: #403F41;
  box-shadow: inset 0.25rem 0.25rem 0 rgba(64, 63, 65, 0.2);
  box-sizing: border-box;
}

.ds-date .ds-field:last-child input {
  max-width: 6em;
}

.ds-switcher, .ds-footer-links {
  --gridGap: 1.25rem;
  --gridCellMin: 30ch;
  display: flex;
  flex-wrap: wrap;
  gap: var(--gridGap);
}

.ds-switcher > *, .ds-footer-links > * {
  flex-grow: 1;
  flex-basis: var(--gridCellMin);
}

.ds-showcase li {
  font-family: Georgia, serif;
}

.ds-showcase strong {
  color: #E6007C;
  display: block;
  font-family: Montserrat, sans-serif;
}

.ds-dark .ds-showcase strong {
  color: #fff;
  font-weight: bold;
}

.ds-page {
  overflow-x: hidden;
}

.ds-page main {
  margin-left: auto;
  margin-right: auto;
  max-width: 70ch;
  padding: 0 1.25rem;
}

.ds-page main {
  max-width: 120ch;
}

h1, .ds-h1 {
  font-size: 2rem;
}

h2, .ds-h2 {
  font-size: 1.5rem;
}

h3, .ds-h3 {
  font-size: 1.25rem;
}

h4, .ds-h4, .ds-showcase strong {
  font-size: 1.125rem;
}

h1, h2, h3, h4, .ds-h1, .ds-h2, .ds-h3, .ds-h4, .ds-showcase strong {
  font-family: Montserrat, sans-serif;
  font-weight: 400;
  line-height: 1.125;
}

.ds-table th,
.ds-table td {
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  vertical-align: top;
}

.dc-grouped tr:nth-child(even) {
  background-color: transparent;
}

.dc-grouped tbody:nth-of-type(even) {
  background-color: #E4F4FB;
}

.dc-grouped tbody + tbody {
  border-top: 1px solid rgba(64, 63, 65, 0.2);
}

.dc-grouped th[scope="rowgroup"] {
  border-bottom: 0;
  font-weight: 500;
}

.dc-grouped td {
  border-left: 1px solid;
}

.dc-plain-form {
  padding: 0;
  background: none;
}

.dc-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.75rem;
  align-items: center;
}

.dc-row-actions form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  padding: 0;
  background: none;
}

.dc-row-actions label {
  margin: 0;
}

.dc-row-actions input,
.dc-row-actions .ds-button {
  font-size: 0.875rem;
  padding: 0.25rem 0.625rem;
  margin: 0;
}

.dc-num {
  text-align: right;
  white-space: nowrap;
}

.dc-count {
  display: inline-block;
  min-width: 1.5em;
  padding: 0 0.375rem;
  margin-right: 0.25rem;
  border-radius: 1em;
  background-color: #FFC037;
  color: #403F41;
  font-weight: 600;
  text-align: center;
}

.dc-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.dc-badge {
  display: inline-block;
  padding: 0.1rem 0.5rem;
  font-size: 0.78rem;
  font-family: Montserrat, sans-serif;
  font-weight: 500;
  border-radius: 2px;
}

.dc-badge-bot {
  background-color: #E4F4FB;
  color: #403F41;
}

.dc-badge-human {
  background-color: #E6007C;
  color: #fff;
}

.dc-badge-gdpr {
  background-color: #D91714;
  color: #fff;
}

.dc-badge-conflict {
  background-color: #FFC037;
  color: #403F41;
}

.dc-badge-system {
  background-color: rgba(64, 63, 65, 0.2);
  color: #403F41;
}

.dc-conflict-warning {
  padding: 1rem 1.25rem;
  border-left: 4px solid #FFC037;
  background-color: #fff6e1;
}

.dc-merged-notice {
  padding: 1rem 1.25rem;
  border-left: 4px solid #007CAD;
  background-color: #E4F4FB;
}

.dc-redacted {
  color: #403F41;
  font-style: italic;
  opacity: 0.6;
}

.dc-lede {
  font-size: 1.125rem;
  max-width: 70ch;
}

.dc-muted {
  color: rgba(64, 63, 65, 0.75);
}

.dc-hero {
  padding: 0;
}

.dc-search label {
  display: block;
  font-family: Montserrat, sans-serif;
  font-weight: 500;
  margin-bottom: 0.5rem;
}

.dc-search-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: stretch;
}

.dc-search-row input,
.dc-search-row select {
  flex: 1 1 18rem;
  min-width: 0;
  font-size: 1.05rem;
  padding: 0.625rem;
  border: 2px solid #403F41;
}

.dc-plain-list {
  list-style: none;
  padding: 0;
}

.dc-plain-list li + li {
  margin-top: 0.75rem;
}

.dc-columns {
  columns: 18rem;
  padding: 0;
  list-style: none;
}

.dc-columns li {
  break-inside: avoid;
  padding: 0.25rem 0;
}

.dc-steps li + li {
  margin-top: 0.75rem;
}

.dc-callout {
  padding: 1.25rem;
  border-left: 6px solid #007CAD;
  background-color: #E4F4FB;
}

.dc-callout > * + * {
  margin-top: 0.75rem;
}

.dc-callout-warning {
  border-left-color: #FFC037;
  background-color: #fff6e1;
}

.dc-callout-done {
  border-left-color: #32841A;
  background-color: #ebf3e8;
}

.dc-tag {
  display: inline-block;
  white-space: nowrap;
  padding: 0 0.5rem;
  font-family: Montserrat, sans-serif;
  font-size: 0.8rem;
  font-weight: 500;
  border: 1px solid rgba(64, 63, 65, 0.2);
  border-radius: 2px;
}

.dc-tag-pending {
  background-color: #ffecc3;
  border-color: #FFC037;
}

.dc-tag-done {
  background-color: #e0eddd;
  border-color: #32841A;
}

.dc-source {
  display: block;
  font-size: 0.85rem;
  color: rgba(64, 63, 65, 0.75);
}

.dc-small-link {
  font-size: 0.85rem;
}

.dc-progress {
  width: 100%;
  height: 1rem;
  accent-color: #32841A;
}

.dc-progress-summary p {
  margin-top: 0.5rem;
}

.dc-question {
  border-top: 6px solid #E6007C;
}

.dc-question-count {
  font-family: Montserrat, sans-serif;
  font-size: 0.9rem;
  color: rgba(64, 63, 65, 0.75);
  margin: 0;
}

.dc-question-list li + li {
  margin-top: 0.5rem;
}

.dc-question-list a[aria-current] {
  font-weight: bold;
}

.dc-best-guess-label {
  font-family: Montserrat, sans-serif;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0;
}

.dc-best-guess-answer {
  font-size: 1.125rem;
  font-weight: bold;
}

.dc-best-guess {
  padding: 1rem;
  background-color: #E4F4FB;
}

.dc-best-guess > * + * {
  margin-top: 0.75rem;
}

.dc-editor summary {
  font-size: 1rem;
  color: #403F41;
}

.dc-history td {
  vertical-align: top;
}

.dc-history td:first-child {
  white-space: nowrap;
}

.dc-history-details {
  display: grid;
  grid-template-columns: max-content 1fr;
  align-items: baseline;
  gap: 0.25rem 1rem;
  margin: 0.5rem 0 0;
}

.dc-history-details > div {
  display: contents;
}

.dc-history-details dt {
  font-family: Montserrat, sans-serif;
  font-size: 0.85rem;
  color: rgba(64, 63, 65, 0.75);
}

.dc-history-details dt,
.dc-history-details dd {
  margin: 0;
  word-break: break-word;
}

.dc-history-actor {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.8rem;
}

.dc-history-actor code,
.dc-history-events code {
  font-size: 0.75rem;
  background: none;
  padding: 0;
}

.dc-history-events {
  line-height: 1.6;
}

.dc-ids {
  display: block;
  font-family: Montserrat, sans-serif;
  font-size: 0.8rem;
  line-height: 1.5;
  color: rgba(64, 63, 65, 0.75);
  word-break: break-word;
}

.ds-table select {
  max-width: 100%;
  font-size: 1rem;
  padding: 0.375rem;
}

.dc-review-band + .dc-review-band {
  margin-top: 1.5625rem;
}

.dc-review-band > h4 {
  margin: 0;
}

.dc-review-band > .dc-ids {
  margin: 0.25rem 0 0.625rem;
}

.dc-review tr:nth-child(even) {
  background-color: transparent;
}

.dc-review td {
  border-top: 1px solid rgba(64, 63, 65, 0.2);
}

.dc-review td:first-child {
  width: 40%;
}

.dc-events {
  font-size: 0.875rem;
}

.dc-events code {
  overflow-wrap: anywhere;
}

.dc-payload {
  display: block;
  max-width: 40rem;
  white-space: pre-wrap;
}

.dc-differs {
  background: #fff4ce;
}

.dc-stored-wide {
  overflow-x: auto;
}

.dc-stored-heading {
  font-size: 1.125rem;
  margin-top: 1.5625rem;
}

.dc-stored-table th:first-child,
.dc-stored-table td:first-child {
  width: 1%;
  white-space: nowrap;
}

.dc-stored-wide th {
  white-space: nowrap;
}

.dc-code {
  background: rgba(64, 63, 65, 0.2);
  padding: 1rem;
  overflow-x: auto;
  font-size: 0.875rem;
  line-height: 1.5;
}

.dc-code code {
  background: none;
  padding: 0;
  font-size: inherit;
}

.dc-diagram {
  background: transparent;
  text-align: center;
}
