/* Copyright 2014 Mozilla Foundation
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
:root {
  --react-pdf-annotation-layer: 1;
  --annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");
  --input-focus-border-color: Highlight;
  --input-focus-outline: 1px solid Canvas;
  --input-unfocused-border-color: transparent;
  --input-disabled-border-color: transparent;
  --input-hover-border-color: black;
  --link-outline: none;
}
@media screen and (forced-colors: active) {
  :root {
    --input-focus-border-color: CanvasText;
    --input-unfocused-border-color: ActiveText;
    --input-disabled-border-color: GrayText;
    --input-hover-border-color: Highlight;
    --link-outline: 1.5px solid LinkText;
  }
  .annotationLayer .textWidgetAnnotation :is(input, textarea):required,
  .annotationLayer .choiceWidgetAnnotation select:required,
  .annotationLayer .buttonWidgetAnnotation:is(.checkBox, .radioButton) input:required {
    outline: 1.5px solid selectedItem;
  }
  .annotationLayer .linkAnnotation:hover {
    backdrop-filter: invert(100%);
  }
}
.annotationLayer {
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  transform-origin: 0 0;
  z-index: 3;
}
.annotationLayer[data-main-rotation='90'] .norotate {
  transform: rotate(270deg) translateX(-100%);
}
.annotationLayer[data-main-rotation='180'] .norotate {
  transform: rotate(180deg) translate(-100%, -100%);
}
.annotationLayer[data-main-rotation='270'] .norotate {
  transform: rotate(90deg) translateY(-100%);
}
.annotationLayer canvas {
  position: absolute;
  width: 100%;
  height: 100%;
}
.annotationLayer section {
  position: absolute;
  text-align: initial;
  pointer-events: auto;
  box-sizing: border-box;
  margin: 0;
  transform-origin: 0 0;
}
.annotationLayer .linkAnnotation {
  outline: var(--link-outline);
}
.textLayer.selecting ~ .annotationLayer section {
  pointer-events: none;
}
.annotationLayer :is(.linkAnnotation, .buttonWidgetAnnotation.pushButton) > a {
  position: absolute;
  font-size: 1em;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.annotationLayer :is(.linkAnnotation, .buttonWidgetAnnotation.pushButton) > a:hover {
  opacity: 0.2;
  background: #ffff00;
  box-shadow: 0 2px 10px #ffff00;
}
.annotationLayer .textAnnotation img {
  position: absolute;
  cursor: pointer;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.annotationLayer .textWidgetAnnotation :is(input, textarea),
.annotationLayer .choiceWidgetAnnotation select,
.annotationLayer .buttonWidgetAnnotation:is(.checkBox, .radioButton) input {
  background-image: var(--annotation-unfocused-field-background);
  border: 2px solid var(--input-unfocused-border-color);
  box-sizing: border-box;
  font: calc(9px * var(--scale-factor)) sans-serif;
  height: 100%;
  margin: 0;
  vertical-align: top;
  width: 100%;
}
.annotationLayer .textWidgetAnnotation :is(input, textarea):required,
.annotationLayer .choiceWidgetAnnotation select:required,
.annotationLayer .buttonWidgetAnnotation:is(.checkBox, .radioButton) input:required {
  outline: 1.5px solid red;
}
.annotationLayer .choiceWidgetAnnotation select option {
  padding: 0;
}
.annotationLayer .buttonWidgetAnnotation.radioButton input {
  border-radius: 50%;
}
.annotationLayer .textWidgetAnnotation textarea {
  resize: none;
}
.annotationLayer .textWidgetAnnotation :is(input, textarea)[disabled],
.annotationLayer .choiceWidgetAnnotation select[disabled],
.annotationLayer .buttonWidgetAnnotation:is(.checkBox, .radioButton) input[disabled] {
  background: none;
  border: 2px solid var(--input-disabled-border-color);
  cursor: not-allowed;
}
.annotationLayer .textWidgetAnnotation :is(input, textarea):hover,
.annotationLayer .choiceWidgetAnnotation select:hover,
.annotationLayer .buttonWidgetAnnotation:is(.checkBox, .radioButton) input:hover {
  border: 2px solid var(--input-hover-border-color);
}
.annotationLayer .textWidgetAnnotation :is(input, textarea):hover,
.annotationLayer .choiceWidgetAnnotation select:hover,
.annotationLayer .buttonWidgetAnnotation.checkBox input:hover {
  border-radius: 2px;
}
.annotationLayer .textWidgetAnnotation :is(input, textarea):focus,
.annotationLayer .choiceWidgetAnnotation select:focus {
  background: none;
  border: 2px solid var(--input-focus-border-color);
  border-radius: 2px;
  outline: var(--input-focus-outline);
}
.annotationLayer .buttonWidgetAnnotation:is(.checkBox, .radioButton) :focus {
  background-image: none;
  background-color: transparent;
}
.annotationLayer .buttonWidgetAnnotation.checkBox :focus {
  border: 2px solid var(--input-focus-border-color);
  border-radius: 2px;
  outline: var(--input-focus-outline);
}
.annotationLayer .buttonWidgetAnnotation.radioButton :focus {
  border: 2px solid var(--input-focus-border-color);
  outline: var(--input-focus-outline);
}
.annotationLayer .buttonWidgetAnnotation.checkBox input:checked::before,
.annotationLayer .buttonWidgetAnnotation.checkBox input:checked::after,
.annotationLayer .buttonWidgetAnnotation.radioButton input:checked::before {
  background-color: CanvasText;
  content: '';
  display: block;
  position: absolute;
}
.annotationLayer .buttonWidgetAnnotation.checkBox input:checked::before,
.annotationLayer .buttonWidgetAnnotation.checkBox input:checked::after {
  height: 80%;
  left: 45%;
  width: 1px;
}
.annotationLayer .buttonWidgetAnnotation.checkBox input:checked::before {
  transform: rotate(45deg);
}
.annotationLayer .buttonWidgetAnnotation.checkBox input:checked::after {
  transform: rotate(-45deg);
}
.annotationLayer .buttonWidgetAnnotation.radioButton input:checked::before {
  border-radius: 50%;
  height: 50%;
  left: 30%;
  top: 20%;
  width: 50%;
}
.annotationLayer .textWidgetAnnotation input.comb {
  font-family: monospace;
  padding-left: 2px;
  padding-right: 0;
}
.annotationLayer .textWidgetAnnotation input.comb:focus {
  /*
   * Letter spacing is placed on the right side of each character. Hence, the
   * letter spacing of the last character may be placed outside the visible
   * area, causing horizontal scrolling. We avoid this by extending the width
   * when the element has focus and revert this when it loses focus.
   */
  width: 103%;
}
.annotationLayer .buttonWidgetAnnotation:is(.checkBox, .radioButton) input {
  appearance: none;
}
.annotationLayer .popupTriggerArea {
  height: 100%;
  width: 100%;
}
.annotationLayer .fileAttachmentAnnotation .popupTriggerArea {
  position: absolute;
}
.annotationLayer .popupWrapper {
  position: absolute;
  font-size: calc(9px * var(--scale-factor));
  width: 100%;
  min-width: calc(180px * var(--scale-factor));
  pointer-events: none;
}
.annotationLayer .popup {
  position: absolute;
  max-width: calc(180px * var(--scale-factor));
  background-color: #ffff99;
  box-shadow: 0 calc(2px * var(--scale-factor)) calc(5px * var(--scale-factor)) #888888;
  border-radius: calc(2px * var(--scale-factor));
  padding: calc(6px * var(--scale-factor));
  margin-left: calc(5px * var(--scale-factor));
  cursor: pointer;
  font: message-box;
  white-space: normal;
  word-wrap: break-word;
  pointer-events: auto;
}
.annotationLayer .popup > * {
  font-size: calc(9px * var(--scale-factor));
}
.annotationLayer .popup h1 {
  display: inline-block;
}
.annotationLayer .popupDate {
  display: inline-block;
  margin-left: calc(5px * var(--scale-factor));
}
.annotationLayer .popupContent {
  border-top: 1px solid #333333;
  margin-top: calc(2px * var(--scale-factor));
  padding-top: calc(2px * var(--scale-factor));
}
.annotationLayer .richText > * {
  white-space: pre-wrap;
  font-size: calc(9px * var(--scale-factor));
}
.annotationLayer .highlightAnnotation,
.annotationLayer .underlineAnnotation,
.annotationLayer .squigglyAnnotation,
.annotationLayer .strikeoutAnnotation,
.annotationLayer .freeTextAnnotation,
.annotationLayer .lineAnnotation svg line,
.annotationLayer .squareAnnotation svg rect,
.annotationLayer .circleAnnotation svg ellipse,
.annotationLayer .polylineAnnotation svg polyline,
.annotationLayer .polygonAnnotation svg polygon,
.annotationLayer .caretAnnotation,
.annotationLayer .inkAnnotation svg polyline,
.annotationLayer .stampAnnotation,
.annotationLayer .fileAttachmentAnnotation {
  cursor: pointer;
}
.annotationLayer section svg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.annotationLayer .annotationTextContent {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  color: transparent;
  user-select: none;
  pointer-events: none;
}
.annotationLayer .annotationTextContent span {
  width: 100%;
  display: inline-block;
}

/* Copyright 2014 Mozilla Foundation
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
:root {
  --react-pdf-text-layer: 1;
  --highlight-bg-color: #b400aa;
  --highlight-selected-bg-color: #006400;
}
@media screen and (forced-colors: active) {
  :root {
    --highlight-bg-color: Highlight;
    --highlight-selected-bg-color: ButtonText;
  }
}
[data-main-rotation='90'] {
  transform: rotate(90deg) translateY(-100%);
}
[data-main-rotation='180'] {
  transform: rotate(180deg) translate(-100%, -100%);
}
[data-main-rotation='270'] {
  transform: rotate(270deg) translateX(-100%);
}
.textLayer {
  position: absolute;
  text-align: initial;
  inset: 0;
  overflow: hidden;
  line-height: 1;
  text-size-adjust: none;
  forced-color-adjust: none;
  transform-origin: 0 0;
  z-index: 2;
}
.textLayer :is(span, br) {
  color: transparent;
  position: absolute;
  white-space: pre;
  cursor: text;
  margin: 0;
  transform-origin: 0 0;
}
/* Only necessary in Google Chrome, see issue 14205, and most unfortunately
 * the problem doesn't show up in "text" reference tests. */
.textLayer span.markedContent {
  top: 0;
  height: 0;
}
.textLayer .highlight {
  margin: -1px;
  padding: 1px;
  background-color: var(--highlight-bg-color);
  border-radius: 4px;
}
.textLayer .highlight.appended {
  position: initial;
}
.textLayer .highlight.begin {
  border-radius: 4px 0 0 4px;
}
.textLayer .highlight.end {
  border-radius: 0 4px 4px 0;
}
.textLayer .highlight.middle {
  border-radius: 0;
}
.textLayer .highlight.selected {
  background-color: var(--highlight-selected-bg-color);
}
/* Avoids https://github.com/mozilla/pdf.js/issues/13840 in Chrome */
.textLayer br::selection {
  background: transparent;
}
.textLayer .endOfContent {
  display: block;
  position: absolute;
  inset: 100% 0 0;
  z-index: -1;
  cursor: default;
  user-select: none;
}
.textLayer.selecting .endOfContent {
  top: 0;
}
.hiddenCanvasElement {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  display: none;
}

.json-view {
  display: block;
  color: #4d4d4d;
  text-align: left;
  --json-property: #009033;
  --json-index: #676dff;
  --json-number: #676dff;
  --json-string: #b2762e;
  --json-boolean: #dc155e;
  --json-null: #dc155e;
}
.json-view .json-view--property {
  color: var(--json-property);
}
.json-view .json-view--index {
  color: var(--json-index);
}
.json-view .json-view--number {
  color: var(--json-number);
}
.json-view .json-view--string {
  color: var(--json-string);
}
.json-view .json-view--boolean {
  color: var(--json-boolean);
}
.json-view .json-view--null {
  color: var(--json-null);
}
.json-view .jv-indent {
  padding-left: 1em;
}
.json-view .jv-chevron {
  display: inline-block;
  vertical-align: -20%;
  cursor: pointer;
  opacity: 0.4;
  width: 1em;
  height: 1em;
}
:is(.json-view .jv-chevron:hover, .json-view .jv-size:hover + .jv-chevron) {
  opacity: 0.8;
}
.json-view .jv-size {
  cursor: pointer;
  opacity: 0.4;
  font-size: 0.875em;
  font-style: italic;
  margin-left: 0.5em;
  vertical-align: -5%;
  line-height: 1;
}
.json-view :is(.json-view--copy, .json-view--edit),
.json-view .json-view--link svg {
  display: none;
  width: 1em;
  height: 1em;
  margin-left: 0.25em;
  cursor: pointer;
}
.json-view .json-view--input {
  width: 120px;
  margin-left: 0.25em;
  border-radius: 4px;
  border: 1px solid currentColor;
  padding: 0px 4px;
  font-size: 87.5%;
  line-height: 1.25;
  background: transparent;
}
.json-view .json-view--deleting {
  outline: 1px solid #da0000;
  background-color: #da000011;
  text-decoration-line: line-through;
}
:is(.json-view:hover, .json-view--pair:hover) > :is(.json-view--copy, .json-view--edit),
:is(.json-view:hover, .json-view--pair:hover) > .json-view--link svg {
  display: inline-block;
}
.json-view .jv-button {
  background: transparent;
  outline: none;
  border: none;
  cursor: pointer;
  color: inherit;
}
.json-view .cursor-pointer {
  cursor: pointer;
}
.json-view svg {
  vertical-align: -10%;
}
.jv-size-chevron ~ svg {
  vertical-align: -16%;
}
/* Themes */
.json-view_a11y {
  color: #545454;
  --json-property: #aa5d00;
  --json-index: #007299;
  --json-number: #007299;
  --json-string: #008000;
  --json-boolean: #d91e18;
  --json-null: #d91e18;
}
.json-view_github {
  color: #005cc5;
  --json-property: #005cc5;
  --json-index: #005cc5;
  --json-number: #005cc5;
  --json-string: #032f62;
  --json-boolean: #005cc5;
  --json-null: #005cc5;
}
.json-view_vscode {
  color: #005cc5;
  --json-property: #0451a5;
  --json-index: #0000ff;
  --json-number: #0000ff;
  --json-string: #a31515;
  --json-boolean: #0000ff;
  --json-null: #0000ff;
}
.json-view_atom {
  color: #383a42;
  --json-property: #e45649;
  --json-index: #986801;
  --json-number: #986801;
  --json-string: #50a14f;
  --json-boolean: #0184bc;
  --json-null: #0184bc;
}
.json-view_winter-is-coming {
  color: #0431fa;
  --json-property: #3a9685;
  --json-index: #ae408b;
  --json-number: #ae408b;
  --json-string: #8123a9;
  --json-boolean: #0184bc;
  --json-null: #0184bc;
}
.json-view_vitesse {
  color: #393a34;
  --json-property: #998418;
  --json-index: #2f798a;
  --json-number: #2f798a;
  --json-string: #b56959;
  --json-boolean: #1e754f;
  --json-null: #ab5959;
}

/* stylelint-disable */
html,
body {
  width: 100%;
  height: 100%;
}
input::-ms-clear,
input::-ms-reveal {
  display: none;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -ms-overflow-style: scrollbar;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
@-ms-viewport {
  width: device-width;
}
body {
  margin: 0;
}
[tabindex='-1']:focus {
  outline: none;
}
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: 0.5em;
  font-weight: 500;
}
p {
  margin-top: 0;
  margin-bottom: 1em;
}
abbr[title],
abbr[data-original-title] {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  border-bottom: 0;
  cursor: help;
}
address {
  margin-bottom: 1em;
  font-style: normal;
  line-height: inherit;
}
input[type='text'],
input[type='password'],
input[type='number'],
textarea {
  -webkit-appearance: none;
}
ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1em;
}
ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}
dt {
  font-weight: 500;
}
dd {
  margin-bottom: 0.5em;
  margin-left: 0;
}
blockquote {
  margin: 0 0 1em;
}
dfn {
  font-style: italic;
}
b,
strong {
  font-weight: bolder;
}
small {
  font-size: 80%;
}
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
pre,
code,
kbd,
samp {
  font-size: 1em;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;
}
pre {
  margin-top: 0;
  margin-bottom: 1em;
  overflow: auto;
}
figure {
  margin: 0 0 1em;
}
img {
  vertical-align: middle;
  border-style: none;
}
a,
area,
button,
[role='button'],
input:not([type='range']),
label,
select,
summary,
textarea {
  touch-action: manipulation;
}
table {
  border-collapse: collapse;
}
caption {
  padding-top: 0.75em;
  padding-bottom: 0.3em;
  text-align: left;
  caption-side: bottom;
}
input,
button,
select,
optgroup,
textarea {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
}
button,
input {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html [type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button;
}
button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
  padding: 0;
  border-style: none;
}
input[type='radio'],
input[type='checkbox'] {
  box-sizing: border-box;
  padding: 0;
}
input[type='date'],
input[type='time'],
input[type='datetime-local'],
input[type='month'] {
  -webkit-appearance: listbox;
}
textarea {
  overflow: auto;
  resize: vertical;
}
fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
legend {
  display: block;
  width: 100%;
  max-width: 100%;
  margin-bottom: 0.5em;
  padding: 0;
  color: inherit;
  font-size: 1.5em;
  line-height: inherit;
  white-space: normal;
}
progress {
  vertical-align: baseline;
}
[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
  height: auto;
}
[type='search'] {
  outline-offset: -2px;
  -webkit-appearance: none;
}
[type='search']::-webkit-search-cancel-button,
[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}
output {
  display: inline-block;
}
summary {
  display: list-item;
}
template {
  display: none;
}
[hidden] {
  display: none !important;
}
mark {
  padding: 0.2em;
  background-color: #feffe6;
}

/* required styles */
.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
  position: absolute;
  left: 0;
  top: 0;
}
.leaflet-container {
  overflow: hidden;
}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
}
/* Prevents IE11 from highlighting tiles in blue */
.leaflet-tile::selection {
  background: transparent;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
  image-rendering: -webkit-optimize-contrast;
}
/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
  width: 1600px;
  height: 1600px;
  -webkit-transform-origin: 0 0;
}
.leaflet-marker-icon,
.leaflet-marker-shadow {
  display: block;
}
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg {
  max-width: none !important;
  max-height: none !important;
}
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
  max-width: none !important;
  max-height: none !important;
  width: auto;
  padding: 0;
}
.leaflet-container img.leaflet-tile {
  /* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */
  mix-blend-mode: plus-lighter;
}
.leaflet-container.leaflet-touch-zoom {
  -ms-touch-action: pan-x pan-y;
  touch-action: pan-x pan-y;
}
.leaflet-container.leaflet-touch-drag {
  -ms-touch-action: pinch-zoom;
  /* Fallback for FF which doesn't support pinch-zoom */
  touch-action: none;
  touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
  -ms-touch-action: none;
  touch-action: none;
}
.leaflet-container {
  -webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
  -webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
  filter: inherit;
  visibility: hidden;
}
.leaflet-tile-loaded {
  visibility: inherit;
}
.leaflet-zoom-box {
  width: 0;
  height: 0;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  z-index: 800;
}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
  -moz-user-select: none;
}
.leaflet-pane {
  z-index: 400;
}
.leaflet-tile-pane {
  z-index: 200;
}
.leaflet-overlay-pane {
  z-index: 400;
}
.leaflet-shadow-pane {
  z-index: 500;
}
.leaflet-marker-pane {
  z-index: 600;
}
.leaflet-tooltip-pane {
  z-index: 650;
}
.leaflet-popup-pane {
  z-index: 700;
}
.leaflet-map-pane canvas {
  z-index: 100;
}
.leaflet-map-pane svg {
  z-index: 200;
}
.leaflet-vml-shape {
  width: 1px;
  height: 1px;
}
.lvml {
  behavior: url(#default#VML);
  display: inline-block;
  position: absolute;
}
/* control positioning */
.leaflet-control {
  position: relative;
  z-index: 800;
  pointer-events: visiblePainted;
  /* IE 9-10 doesn't have auto */
  pointer-events: auto;
}
.leaflet-top,
.leaflet-bottom {
  position: absolute;
  z-index: 1000;
  pointer-events: none;
}
.leaflet-top {
  top: 0;
}
.leaflet-right {
  right: 0;
}
.leaflet-bottom {
  bottom: 0;
}
.leaflet-left {
  left: 0;
}
.leaflet-control {
  float: left;
  clear: both;
}
.leaflet-right .leaflet-control {
  float: right;
}
.leaflet-top .leaflet-control {
  margin-top: 10px;
}
.leaflet-bottom .leaflet-control {
  margin-bottom: 10px;
}
.leaflet-left .leaflet-control {
  margin-left: 10px;
}
.leaflet-right .leaflet-control {
  margin-right: 10px;
}
/* zoom and fade animations */
.leaflet-fade-anim .leaflet-popup {
  opacity: 0;
  -webkit-transition: opacity 0.2s linear;
  -moz-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
  opacity: 1;
}
.leaflet-zoom-animated {
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
}
svg.leaflet-zoom-animated {
  will-change: transform;
}
.leaflet-zoom-anim .leaflet-zoom-animated {
  -webkit-transition: -webkit-transform 0.25s cubic-bezier(0, 0, 0.25, 1);
  -moz-transition: -moz-transform 0.25s cubic-bezier(0, 0, 0.25, 1);
  transition: transform 0.25s cubic-bezier(0, 0, 0.25, 1);
}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
  -webkit-transition: none;
  -moz-transition: none;
  transition: none;
}
.leaflet-zoom-anim .leaflet-zoom-hide {
  visibility: hidden;
}
/* cursors */
.leaflet-interactive {
  cursor: pointer;
}
.leaflet-grab {
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab;
}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
  cursor: crosshair;
}
.leaflet-popup-pane,
.leaflet-control {
  cursor: auto;
}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
  cursor: move;
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing;
}
/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
  pointer-events: none;
}
.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
  pointer-events: visiblePainted;
  /* IE 9-10 doesn't have auto */
  pointer-events: auto;
}
/* visual tweaks */
.leaflet-container {
  background: #ddd;
  outline-offset: 1px;
}
.leaflet-container a {
  color: #0078A8;
}
.leaflet-zoom-box {
  border: 2px dotted #38f;
  background: rgba(255, 255, 255, 0.5);
}
/* general typography */
.leaflet-container {
  font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.5;
}
/* general toolbar styles */
.leaflet-bar {
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.65);
  border-radius: 4px;
}
.leaflet-bar a {
  background-color: #fff;
  border-bottom: 1px solid #ccc;
  width: 26px;
  height: 26px;
  line-height: 26px;
  display: block;
  text-align: center;
  text-decoration: none;
  color: black;
}
.leaflet-bar a,
.leaflet-control-layers-toggle {
  background-position: 50% 50%;
  background-repeat: no-repeat;
  display: block;
}
.leaflet-bar a:hover,
.leaflet-bar a:focus {
  background-color: #f4f4f4;
}
.leaflet-bar a:first-child {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}
.leaflet-bar a:last-child {
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
  border-bottom: none;
}
.leaflet-bar a.leaflet-disabled {
  cursor: default;
  background-color: #f4f4f4;
  color: #bbb;
}
.leaflet-touch .leaflet-bar a {
  width: 30px;
  height: 30px;
  line-height: 30px;
}
.leaflet-touch .leaflet-bar a:first-child {
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
}
.leaflet-touch .leaflet-bar a:last-child {
  border-bottom-left-radius: 2px;
  border-bottom-right-radius: 2px;
}
/* zoom control */
.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
  font: bold 18px 'Lucida Console', Monaco, monospace;
  text-indent: 1px;
}
.leaflet-touch .leaflet-control-zoom-in,
.leaflet-touch .leaflet-control-zoom-out {
  font-size: 22px;
}
/* layers control */
.leaflet-control-layers {
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.4);
  background: #fff;
  border-radius: 5px;
}
.leaflet-control-layers-toggle {
  background-image: url(/416d91365b44e4b4f477.png);
  width: 36px;
  height: 36px;
}
.leaflet-retina .leaflet-control-layers-toggle {
  background-image: url(/8f2c4d11474275fbc161.png);
  background-size: 26px 26px;
}
.leaflet-touch .leaflet-control-layers-toggle {
  width: 44px;
  height: 44px;
}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
  display: none;
}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
  display: block;
  position: relative;
}
.leaflet-control-layers-expanded {
  padding: 6px 10px 6px 6px;
  color: #333;
  background: #fff;
}
.leaflet-control-layers-scrollbar {
  overflow-y: scroll;
  overflow-x: hidden;
  padding-right: 5px;
}
.leaflet-control-layers-selector {
  margin-top: 2px;
  position: relative;
  top: 1px;
}
.leaflet-control-layers label {
  display: block;
  font-size: 13px;
  font-size: 1.08333em;
}
.leaflet-control-layers-separator {
  height: 0;
  border-top: 1px solid #ddd;
  margin: 5px -10px 5px -6px;
}
/* Default icon URLs */
.leaflet-default-icon-path {
  /* used only in path-guessing heuristic, see L.Icon.Default */
  background-image: url(/2b3e1faf89f94a483539.png);
}
/* attribution and scale controls */
.leaflet-container .leaflet-control-attribution {
  background: #fff;
  background: rgba(255, 255, 255, 0.8);
  margin: 0;
}
.leaflet-control-attribution,
.leaflet-control-scale-line {
  padding: 0 5px;
  color: #333;
  line-height: 1.4;
}
.leaflet-control-attribution a {
  text-decoration: none;
}
.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
  text-decoration: underline;
}
.leaflet-attribution-flag {
  display: inline !important;
  vertical-align: baseline !important;
  width: 1em;
  height: 0.6669em;
}
.leaflet-left .leaflet-control-scale {
  margin-left: 5px;
}
.leaflet-bottom .leaflet-control-scale {
  margin-bottom: 5px;
}
.leaflet-control-scale-line {
  border: 2px solid #777;
  border-top: none;
  line-height: 1.1;
  padding: 2px 5px 1px;
  white-space: nowrap;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  background: rgba(255, 255, 255, 0.8);
  text-shadow: 1px 1px #fff;
}
.leaflet-control-scale-line:not(:first-child) {
  border-top: 2px solid #777;
  border-bottom: none;
  margin-top: -2px;
}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
  border-bottom: 2px solid #777;
}
.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
  box-shadow: none;
}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
  border: 2px solid rgba(0, 0, 0, 0.2);
  background-clip: padding-box;
}
/* popup */
.leaflet-popup {
  position: absolute;
  text-align: center;
  margin-bottom: 20px;
}
.leaflet-popup-content-wrapper {
  padding: 1px;
  text-align: left;
  border-radius: 12px;
}
.leaflet-popup-content {
  margin: 13px 24px 13px 20px;
  line-height: 1.3;
  font-size: 13px;
  font-size: 1.08333em;
  min-height: 1px;
}
.leaflet-popup-content p {
  margin: 17px 0;
  margin: 1.3em 0;
}
.leaflet-popup-tip-container {
  width: 40px;
  height: 20px;
  position: absolute;
  left: 50%;
  margin-top: -1px;
  margin-left: -20px;
  overflow: hidden;
  pointer-events: none;
}
.leaflet-popup-tip {
  width: 17px;
  height: 17px;
  padding: 1px;
  margin: -10px auto 0;
  pointer-events: auto;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
  background: white;
  color: #333;
  box-shadow: 0 3px 14px rgba(0, 0, 0, 0.4);
}
.leaflet-container a.leaflet-popup-close-button {
  position: absolute;
  top: 0;
  right: 0;
  border: none;
  text-align: center;
  width: 24px;
  height: 24px;
  font: 16px/24px Tahoma, Verdana, sans-serif;
  color: #757575;
  text-decoration: none;
  background: transparent;
}
.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
  color: #585858;
}
.leaflet-popup-scrolled {
  overflow: auto;
}
.leaflet-oldie .leaflet-popup-content-wrapper {
  -ms-zoom: 1;
}
.leaflet-oldie .leaflet-popup-tip {
  width: 24px;
  margin: 0 auto;
  -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
  filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
}
.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
  border: 1px solid #999;
}
/* div icon */
.leaflet-div-icon {
  background: #fff;
  border: 1px solid #666;
}
/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
  position: absolute;
  padding: 6px;
  background-color: #fff;
  border: 1px solid #fff;
  border-radius: 3px;
  color: #222;
  white-space: nowrap;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  pointer-events: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}
.leaflet-tooltip.leaflet-interactive {
  cursor: pointer;
  pointer-events: auto;
}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
  position: absolute;
  pointer-events: none;
  border: 6px solid transparent;
  background: transparent;
  content: "";
}
/* Directions */
.leaflet-tooltip-bottom {
  margin-top: 6px;
}
.leaflet-tooltip-top {
  margin-top: -6px;
}
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
  left: 50%;
  margin-left: -6px;
}
.leaflet-tooltip-top:before {
  bottom: 0;
  margin-bottom: -12px;
  border-top-color: #fff;
}
.leaflet-tooltip-bottom:before {
  top: 0;
  margin-top: -12px;
  margin-left: -6px;
  border-bottom-color: #fff;
}
.leaflet-tooltip-left {
  margin-left: -6px;
}
.leaflet-tooltip-right {
  margin-left: 6px;
}
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
  top: 50%;
  margin-top: -6px;
}
.leaflet-tooltip-left:before {
  right: 0;
  margin-right: -12px;
  border-left-color: #fff;
}
.leaflet-tooltip-right:before {
  left: 0;
  margin-left: -12px;
  border-right-color: #fff;
}
/* Printing */
@media print {
  /* Prevent printers from removing background-images of controls. */
  .leaflet-control {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}

.bento-charts--map--legend {
  background-color: white;
  padding: 12px;
  border-radius: 12px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.07);
}
.leaflet-bottom .bento-charts--map--legend {
  margin-bottom: 28px;
}
.bento-charts--map--legend ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.bento-charts--map--legend--patch {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  border: 1px solid white;
  vertical-align: top;
  margin-right: 12px;
  border-radius: 3px;
}
.bento-charts--map--legend--scale {
  height: 100px;
  display: flex;
  gap: 12px;
}
.bento-charts--continuous-scale {
  width: 1rem;
  height: 100%;
}
.bento-charts--map--legend--values {
  display: flex;
  flex-direction: column;
}
.bento-charts--map--legend--values > span:first-of-type {
  flex: 1;
}

.bfd--w-full {
  width: 100%;
}
.bento-pdf-display {
  width: calc(90vw - 32px);
  min-width: 660px;
}
.bento-pdf-display__header {
  position: absolute;
  right: 30px;
  top: -42px;
}
.bento-docx-display__container {
  max-width: 960px;
  /* Maximum width to roughly a nice page */
  overflow-x: auto;
}
.bento-html-display__iframe {
  width: 90vw;
  /*
    Height of the iframe is 100% of the view height
        minus its border (2px)
        minus the padding of the parent modal (40px)
        minus the header of the modal (32px)
        minus a top and bottom outside margin set by the modal (50px top, matched bottom)
     */
  height: calc(100vh - 2px - 40px - 32px - 100px);
  border: 1px solid #C6C6C6;
  border-radius: 3px;
}
.bento-image-blob-display {
  position: relative;
  text-align: center;
}
.bento-image-blob-display__img {
  max-width: 100%;
  /* 90vh is max height of modal, minus 50px top & symmetrical bottom absolute positioning: */
  max-height: calc(90vh - 100px);
  height: auto;
  position: relative;
  top: 0;
}
.bento-markdown-display {
  position: relative;
  max-width: 960px;
  overflow-x: auto;
}
.bento-markdown-display__header {
  position: absolute;
  right: 0;
  top: 0;
}

:root {
  /* Variables can be overridden in /public/styles/instance.css, either on :root or on .bento-theme (for consistency
     with Ant Design theme tokens, which must be set on .bento-theme */
  /* sync with NAVBAR_HEIGHT in common.ts */
  --header-height: 64px;
  --sidebar-width-full: 360px;
  --sidebar-width-collapsed: 64px;
  --content-padding-v: 24px;
  --content-padding-h: 24px;
  --content-max-width: 1400px;
  --content-scoped-title-height: 48px;
  --content-scoped-title-margin-bottom: 24px;
  /* 90% opacity white */
  --white-90: rgba(255, 255, 255, 0.9);
  /* 80% opacity white */
  --white-80: rgba(255, 255, 255, 0.8);
  /* 70% opacity white */
  --white-70: rgba(255, 255, 255, 0.7);
  /* 90% opacity black */
  --black-90: rgba(0, 0, 0, 0.9);
  --antd-blue-5: #1677ff;
  --antd-gray-7: #595959;
  /* shared design tokens */
  /* Note: --ant-color-primary is intentionally NOT proxied here. antd injects its CSS vars scoped to
     a hash class, not :root, so a :root definition like `--foo: var(--ant-color-primary)` always
     hits the fallback. Use var(--ant-color-primary, <fallback>) directly at the usage site instead. */
  --border-subtle: #F0F0F0;
  --border-base: #D9D9D9;
  --text-secondary: rgba(0, 0, 0, 0.65);
  --text-muted: rgba(0, 0, 0, 0.45);
  /* catalogue status */
  --cat-status-ongoing-color: #389E0D;
  --cat-status-ongoing-bg: #F6FFED;
  --cat-status-ongoing-border: #B7EB8F;
  --cat-status-completed-border: #91CAFF;
  /* catalogue surfaces */
  --cat-surface-subtle: #F5F5F5;
  --border-hover: #E2E8EE;
  /* catalogue shadows */
  --cat-shadow-card: 0 2px 10px rgba(0, 0, 0, 0.05);
  --cat-shadow-card-hover: 0 4px 14px rgba(5, 74, 116, 0.1);
  /* catalogue insights — kept explicit; color-mix() from --ant-color-primary produced inconsistent results */
  --cat-insights-bg: #EEF3F7;
  --cat-insights-border: #E0E9F0;
  --cat-insights-row-hover: rgba(5, 74, 116, 0.07);
  --cat-insights-row-selected: rgba(5, 74, 116, 0.1);
  /* catalogue misc */
  --cat-chip-count-selected: rgba(255, 255, 255, 0.8);
  --cat-banner-gradient: linear-gradient(90deg, rgba(4, 30, 48, 0.8), rgba(4, 30, 48, 0.34));
  --cat-banner-eyebrow: rgba(255, 255, 255, 0.65);
  --cat-banner-subtitle: rgba(255, 255, 255, 0.78);
}
.range-separator {
  display: flex;
  align-items: center;
  padding: 0 8px;
  border-top: 1px solid #d9d9d9;
  border-bottom: 1px solid #d9d9d9;
  background: #fafafa;
  user-select: none;
}
html,
body {
  min-height: 100%;
  background-color: #f5f5f5;
  margin: 0;
}
/* BEGIN utility classes */
.no-margin-top {
  margin-top: 0 !important;
}
/* Name compatible with tailwind if needed */
.w-full {
  width: 100%;
}
.h-full {
  height: 100%;
}
.h-auto {
  height: auto;
}
.m-0 {
  margin: 0;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.mb-0,
.ant-typography.mb-0 {
  margin-bottom: 0;
}
.mb-4 {
  margin-bottom: 16px;
}
.p-0 {
  padding: 0;
}
.pb-content {
  padding-bottom: var(--content-padding-v);
}
.flex-1 {
  flex: 1;
}
.min-w-0 {
  min-width: 0;
}
.float-right {
  float: right;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.sticky {
  position: sticky;
}
.block {
  display: block;
}
.none {
  display: none;
}
.rounded-lg {
  border-radius: 8px;
}
/* also consistent with --ant-border-radius-lg */
.rounded-xl {
  border-radius: 12px;
}
.rounded-e-none {
  border-start-end-radius: 0;
  border-end-end-radius: 0;
}
.opacity-50 {
  opacity: 0.5;
}
.list-none {
  list-style-type: none;
}
.cursor-pointer {
  cursor: pointer;
}
.select-none {
  user-select: none;
}
.font-mono {
  font-family: ui-monospace, monospace;
}
.text-sm {
  font-size: 0.875rem;
}
.text-base {
  font-size: 1rem;
}
.text-center {
  text-align: center;
}
.underline,
a.underline {
  text-decoration-line: underline;
}
.decoration-dotted {
  text-decoration-style: dotted;
}
.italic {
  font-style: italic;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.grow {
  flex-grow: 1;
}
.items-stretch {
  align-items: stretch;
}
.mb-3 {
  margin-bottom: 12px;
}
.mt-2 {
  margin-top: 8px;
}
.mt-3 {
  margin-top: 12px;
}
.ml-2 {
  margin-left: 8px;
}
.pt-2 {
  padding-top: 8px;
}
.pt-5 {
  padding-top: 20px;
}
.z-0 {
  z-index: 0;
}
.self-start {
  align-self: flex-start;
}
/* custom, tailwind-esque */
.max-w-half-cmw {
  max-width: calc(var(--content-max-width) / 2);
}
.text-cat-primary {
  color: var(--ant-color-primary, #054A74);
}
.text-secondary {
  color: var(--text-secondary);
}
.shadow {
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}
.float-btn-pos {
  /* For normal computer screens */
  bottom: 3em;
  right: 5em;
}
:not(.ant-float-btn-group).float-btn-pos {
  scale: 125%;
}
.ant-float-btn-group.float-btn-pos {
  /* For normal screens, increase float button group gap size */
  gap: 24px;
}
.ant-float-btn-group.float-btn-pos .ant-float-btn {
  scale: 125%;
}
/* TODO: antd 6.x: gray-6 */
.antd-gray-7 {
  color: #8c8c8c;
}
.error-text {
  color: #f5222d;
  /* https://ant.design/docs/spec/colors red-6 */
}
.visually-hidden {
  /*
  For accessibility; visually hidden but available to screen readers. Taken from Bootstrap.

  The MIT License (MIT)

  Copyright (c) 2011-2026 The Bootstrap Authors

  Permission is hereby granted, free of charge, to any person obtaining a copy
  of this software and associated documentation files (the "Software"), to deal
  in the Software without restriction, including without limitation the rights
  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  copies of the Software, and to permit persons to whom the Software is
  furnished to do so, subject to the following conditions:

  The above copyright notice and this permission notice shall be included in
  all copies or substantial portions of the Software.

  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  THE SOFTWARE.
  */
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
/* END utility classes */
.select-dataset-item {
  transition: all 0.2s;
  border-radius: 8px;
  /* Consistent with --ant-border-radius-lg */
  cursor: pointer;
}
.select-dataset-item .ant-avatar {
  background-color: #8c8c8c;
}
.select-dataset-item:hover {
  background-color: #e6f4ff;
}
.select-dataset-item:hover .ant-avatar {
  color: #e6f4ff;
}
.select-dataset-item.selected,
.select-dataset-item.selected:hover {
  background-color: #91caff;
}
.select-dataset-item.selected .ant-avatar {
  background-color: #0958d9;
  color: #91caff;
}
.ant-tag.filters-applied-tag {
  transition: max-width 0.2s, padding 0.2s, border-width 0.2s, opacity 0.2s, margin-left 0.2s;
  height: 22px;
  vertical-align: top;
  margin-top: 2px;
  text-wrap: nowrap;
  overflow: hidden;
  box-sizing: border-box;
  font-weight: normal;
  margin-right: 0;
  /* overridden by has-filters class when we have filters applied: */
  max-width: 0;
  padding: 0;
  border-width: 0;
  margin-left: 1px;
}
.ant-tag.filters-applied-tag.has-filters {
  max-width: 150px;
  padding: 0 7px;
  border-width: 1px;
  margin-left: 1em;
}
#scope-header {
  z-index: 20;
  box-sizing: border-box;
  min-height: 48px;
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  padding-right: var(--content-padding-h);
  background-color: rgba(250, 250, 250, 0.8);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid #ebebeb;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.02);
}
#scope-header__sidebar-toggle {
  margin-top: 4px;
  margin-left: 4px;
  margin-right: 12px;
  color: rgba(0, 0, 0, 0.64);
}
#scope-header__sidebar-toggle.active {
  background-color: rgba(0, 0, 0, 0.2);
  color: rgba(0, 0, 0, 0.74);
}
.scoped-title {
  box-sizing: border-box;
  height: var(--content-scoped-title-height);
}
.scoped-title__back {
  margin-right: 12px;
  font-size: 1.2rem;
  color: rgba(0, 0, 0, 0.45);
}
.scoped-title__breadcrumb {
  font-size: 1.2rem;
  line-height: var(--content-scoped-title-height);
}
.scoped-title__breadcrumb a {
  height: calc(var(--content-scoped-title-height) - 8px);
  margin-top: 4px;
  line-height: calc(var(--content-scoped-title-height) - 8px);
}
.scoped-title__breadcrumb .anticon {
  font-size: 0.9em;
}
.scoped-title__breadcrumb .ant-breadcrumb-item a {
  height: 40px;
}
/* BEGIN react18-json-view styling */
.json-view {
  color: #002b36;
  --json-property: #002b36;
  --json-index: #6c71c4;
  --json-number: #268bd2;
  --json-string: #cb4b16;
  --json-boolean: #2aa198;
  --json-null: #dc322f;
}
/* END react18-json-view styling */
/* BEGIN layout HTML styling */
#default-layout {
  --sidebar-width: var(--sidebar-width-full);
  min-height: 100vh;
}
#default-layout.sidebar-collapsed {
  --sidebar-width: var(--sidebar-width-collapsed);
}
#site-header {
  position: fixed;
  height: var(--header-height);
  width: 100%;
  z-index: 100;
  top: 0;
  /* Header padding is reduced to 24px to provide more breathing room for buttons at small screen sizes and grid-align
     logo with sidebar icons. */
  padding: 0 24px;
}
#site-header h1.ant-typography {
  margin: 0;
  font-size: 1.5em;
  line-height: var(--header-height);
}
#site-header.light h1.ant-typography {
  color: var(--black-90);
}
#site-header.dark h1.ant-typography {
  color: var(--white-90);
}
#site-sider {
  position: relative;
  left: 0;
  z-index: 19;
  box-sizing: border-box;
  width: var(--sidebar-width-full);
  margin-top: -1px;
  padding: var(--content-padding-v) 0 var(--content-padding-v) var(--content-padding-h);
  background: none;
}
#site-sider.overlay {
  background-color: rgba(255, 255, 255, 0.88);
  border-right: 1px solid #f0f0f0;
  backdrop-filter: blur(10px);
  position: fixed;
  box-shadow: 3px 0 10px rgba(0, 0, 0, 0.06);
  padding: 0;
  height: calc(100vh - var(--header-height) - var(--content-scoped-title-height));
}
#site-sider.overlay.collapsed {
  left: calc(-1 * var(--sidebar-width-full) - 1px);
  box-shadow: none;
}
#site-sider.overlay .sidebar {
  background: none;
  border: none;
  box-shadow: none;
}
#default-layout.page-catalogue #site-sider__inner {
  top: 0;
  padding: var(--content-padding-v) var(--content-padding-h);
}
#content-layout {
  position: fixed;
  top: var(--header-height);
  left: var(--sidebar-width);
  right: 0;
  bottom: 0;
  display: block;
  width: calc(100% - var(--sidebar-width));
  overflow: auto;
  overscroll-behavior-y: none;
  transition: left 0.3s, width 0.3s;
}
#default-layout.sidebar-hidden #content-layout {
  left: 0;
  width: 100%;
}
#content-layout > .ant-layout .ant-layout-content {
  padding: var(--content-padding-v) var(--content-padding-h);
}
.page-phenopackets #content-layout main.ant-layout-content {
  padding: 0 var(--content-padding-h) var(--content-padding-v) var(--content-padding-h);
  background-color: white;
}
.margin-auto {
  margin: auto;
}
.container {
  width: 100%;
  max-width: var(--content-max-width);
}
#pcgl-footer {
  --pcgl-footer-bg: color-mix(in srgb, var(--ant-color-primary, #054A74) 60%, black);
  background-color: var(--pcgl-footer-bg);
  /* Hacky box-shadow protection against really short content revealing page background below: */
  box-shadow: 0 200px 0 var(--pcgl-footer-bg), 0 400px 0 var(--pcgl-footer-bg), 0 600px 0 var(--pcgl-footer-bg);
  border-top: 1px solid color-mix(in srgb, var(--ant-color-primary, #054A74) 60%, black);
  font-size: 13px;
}
#pcgl-footer img {
  margin-bottom: 12px;
  object-fit: contain;
}
#pcgl-footer p {
  color: rgba(255, 255, 255, 0.88);
  line-height: 1.4em;
}
#pcgl-footer a {
  text-decoration: underline;
  color: white;
  transition: color 0.15s ease-in-out;
}
#pcgl-footer a:hover {
  color: rgba(255, 255, 255, 0.84);
}
#pcgl-footer a:active {
  color: rgba(255, 255, 255, 0.76);
}
#pcgl-footer a.disabled {
  cursor: not-allowed;
  color: rgba(255, 255, 255, 0.4);
  text-decoration: none;
}
#pcgl-footer__links {
  display: grid;
  grid-template-columns: auto auto auto;
  column-gap: 12px;
  row-gap: 18px;
  text-align: center;
}
/* END layout HTML styling */
#dashboard-tabs {
  margin: 0 12px;
}
#dashboard-tabs.ant-tabs-card > .ant-tabs-nav .ant-tabs-tab {
  /* by default, antd card-style tab borders are too subtle. make them "pop" a bit more :-) */
}
#dashboard-tabs.ant-tabs-card > .ant-tabs-nav .ant-tabs-tab:not(.ant-tabs-tab-active) {
  /* by default, antd card-style unselected tabs are too subtle. make them "pop" a bit more :-) */
  border: 1px solid #e9e9e9;
  background: rgba(0, 0, 0, 0.03);
}
/* BEGIN catalogue banner */
.catalogue-banner {
  display: flex;
  align-items: center;
  border-radius: 10px;
  overflow: hidden;
  min-height: 104px;
  padding: 18px 26px;
}
.catalogue-banner.pcgl {
  background-size: cover;
  background-position: center;
}
.catalogue-banner.default {
  background: #fff;
  border: 1px solid var(--border-subtle);
}
.catalogue-banner__stat-icon {
  font-size: 20px;
}
.catalogue-banner.pcgl .catalogue-banner__stat-icon {
  color: rgba(255, 255, 255, 0.85);
}
.catalogue-banner.default .catalogue-banner__stat-icon {
  color: #000;
}
.catalogue-banner__stat-value {
  font-size: 20px;
  font-weight: 600;
  white-space: nowrap;
}
.catalogue-banner.pcgl .catalogue-banner__stat-value {
  color: #fff;
}
.catalogue-banner.default .catalogue-banner__stat-value {
  color: rgba(0, 0, 0, 0.88);
}
.catalogue-banner__eyebrow {
  color: rgba(255, 255, 255, 0.65);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
}
.catalogue-banner__title {
  color: #fff;
  font-size: 23px;
  font-weight: 600;
  line-height: 1.2;
}
.catalogue-banner__subtitle {
  color: rgba(255, 255, 255, 0.78);
  font-size: 13.5px;
}
/* END catalogue banner */
/* BEGIN catalogue charts */
.chart-card {
  flex: 1;
  min-width: 180px;
}
.chart-card__title {
  display: block;
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-secondary);
  margin-bottom: 12px;
}
.donut-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
}
.donut {
  flex: none;
}
.donut-num {
  font-size: 18px;
  font-weight: 700;
  fill: rgba(0, 0, 0, 0.88);
  text-anchor: middle;
}
.donut-lbl {
  font-size: 8px;
  color: var(--text-muted);
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 1.2;
}
.dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.provenance-tag {
  font-size: 11px;
  border-radius: 4px;
  margin: 0;
  background: var(--ant-color-primary-bg) !important;
  color: var(--ant-color-primary) !important;
  border: 1px solid var(--ant-color-primary-border) !important;
}
.chart-legend {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
  min-width: 0;
}
.legend-row {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
}
.legend-lbl {
  flex: 1;
  color: var(--text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.legend-val {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.bars {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.bar-row {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
}
.bar-label {
  width: 84px;
  color: var(--text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: none;
}
.bar-track {
  flex: 1;
  height: 7px;
  background: var(--border-subtle);
  border-radius: 5px;
  overflow: hidden;
}
.bar-fill {
  display: block;
  height: 100%;
  border-radius: 5px;
  min-width: 2px;
  transition: width 0.35s ease;
}
.bar-value {
  width: 42px;
  text-align: right;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  flex: none;
}
.legend-row.clk,
.bar-row.clk {
  cursor: pointer;
  border-radius: 6px;
  padding: 3px 6px;
  margin: -3px -6px;
  transition: background 0.12s;
}
.legend-row.clk:hover,
.bar-row.clk:hover {
  background: var(--cat-insights-row-hover);
}
.legend-row.sel,
.bar-row.sel {
  background: var(--cat-insights-row-selected);
  font-weight: 600;
}
.legend-row.sel .legend-lbl,
.bar-row.sel .bar-label {
  color: var(--ant-color-primary, #054A74);
}
/* END catalogue charts */
/* BEGIN catalogue toolbar */
.catalogue-search-input {
  flex-grow: 1;
  min-width: 200px;
  border-radius: 6px;
}
.catalogue-sort-select {
  width: 180px;
}
.catalogue-count-highlight {
  color: rgba(0, 0, 0, 0.88);
  font-weight: 600;
}
.catalogue-filter-tag {
  border-radius: 13px !important;
  margin: 0 !important;
}
.catalogue-filter-tag__facet-label {
  color: var(--text-muted);
  font-size: 11px;
  margin-right: 3px;
}
.catalogue-clear-tag {
  border-radius: 13px !important;
  margin: 0 !important;
  cursor: pointer;
  border-style: dashed;
}
/* END catalogue toolbar */
/* BEGIN catalogue insights */
.catalogue-insights {
  background: var(--cat-insights-bg);
  border: 1px solid var(--cat-insights-border);
  border-radius: 12px;
  padding: 14px 16px;
}
.catalogue-insights__header-title {
  color: var(--text-secondary);
  font-weight: 600;
  font-size: 14px;
}
.catalogue-insights__hint {
  font-size: 12px;
  color: var(--text-muted);
}
/* END catalogue insights */
/* BEGIN sidebar + catalogue rail */
.sidebar {
  position: sticky;
  top: calc(var(--content-scoped-title-height) + var(--content-padding-v));
  height: 100%;
  max-height: calc(100vh - var(--header-height) - var(--content-scoped-title-height) - (2 * var(--content-padding-v)));
  width: calc(var(--sidebar-width-full) - var(--content-padding-h));
  flex-shrink: 0;
  align-self: flex-start;
  overflow-y: auto;
  overflow-x: hidden;
  background: rgba(255, 255, 255, 0.88);
  border-radius: 10px;
  border: 1px solid var(--border-subtle);
}
#default-layout.scope-header-hidden .sidebar {
  top: var(--content-padding-v);
  max-height: calc(100vh - var(--header-height) - var(--content-padding-v) * 2);
}
.sidebar-section {
  padding: 12px 14px;
}
.sidebar-section__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}
.ant-typography.sidebar-section__header__title {
  font-size: 16px;
  font-weight: 600;
  margin: 0;
}
.sidebar-section__header__extra {
  font-size: 14px;
  color: var(--text-muted);
}
.sidebar-facet {
  border-bottom: 1px solid var(--border-subtle);
}
.sidebar-facet--expanded {
  padding-bottom: 8px;
}
.facet-head {
  width: 100%;
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.facet-head__label {
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-secondary);
}
.facet-head__icon {
  font-size: 10px;
  color: var(--text-muted);
}
.facet-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding-bottom: 4px;
}
.facet-chips--scroll {
  max-height: 128px;
  overflow-y: auto;
}
.fchip {
  display: inline-flex;
  align-items: center;
  border-radius: 13px;
  font-size: 12.5px;
  font-family: inherit;
  line-height: 1.4;
  padding: 3px 8px 3px 10px;
  border: 1px solid var(--border-base);
  background: #fff;
  color: var(--text-secondary);
  cursor: pointer;
  margin: 0;
  max-width: 100%;
  overflow: hidden;
}
.fchip:hover:not(:disabled) {
  border-color: var(--ant-color-primary, #054A74);
  color: var(--ant-color-primary, #054A74);
}
.fchip--on:hover:not(:disabled) {
  background: var(--color-primary-dark, color-mix(in srgb, var(--ant-color-primary, #054A74) 85%, #000));
  color: #fff;
}
.fchip--on {
  background: var(--ant-color-primary, #054A74);
  border-color: var(--ant-color-primary, #054A74);
  color: #fff;
  font-weight: 500;
}
.fchip:disabled {
  opacity: 0.38;
  cursor: default;
}
.fchip__label {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fchip__count {
  margin-left: 5px;
  font-size: 11px;
  color: var(--text-muted);
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
}
.fchip--on .fchip__count {
  color: var(--cat-chip-count-selected);
}
/* END catalogue rail */
/* BEGIN catalogue card */
.catalogue-card {
  border-radius: 10px !important;
  border: 1px solid var(--border-subtle) !important;
  box-shadow: var(--cat-shadow-card);
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.2s, border-color 0.2s;
}
.catalogue-card:hover {
  border-color: var(--border-hover) !important;
  box-shadow: var(--cat-shadow-card-hover) !important;
}
.catalogue-card .ant-card-body {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 16px;
  gap: 0;
}
.catalogue-card__title {
  margin: 0 !important;
  font-size: 16px;
  font-weight: 600;
  flex: 1;
}
.status-badge {
  flex-shrink: 0;
  font-size: 11px;
  font-weight: 600;
  padding: 1px 8px;
  border-radius: 10px;
  white-space: nowrap;
  border: 1px solid transparent;
}
.status-badge--ongoing {
  color: var(--cat-status-ongoing-color);
  background: var(--cat-status-ongoing-bg);
  border-color: var(--cat-status-ongoing-border);
}
.status-badge--completed {
  color: var(--ant-color-primary, #054A74);
  background: var(--ant-color-primary-bg, rgba(5, 74, 116, 0.1));
  border-color: var(--cat-status-completed-border);
}
.status-badge--unassigned {
  color: var(--text-muted);
  background: var(--cat-surface-subtle);
  border-color: var(--border-base);
}
.catalogue-card__meta {
  font-size: 11.5px;
  color: var(--text-muted);
  margin-top: 4px;
  margin-bottom: 0 !important;
}
.catalogue-card__expand-symbol {
  color: var(--text-muted);
  font-size: 11.5px;
}
.catalogue-card__description {
  font-size: 13px;
  color: var(--text-secondary);
  margin-top: 10px;
  margin-bottom: 0 !important;
}
.project-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--text-secondary);
  border: 1px solid var(--border-base);
  border-radius: 20px;
  padding: 2px 9px 2px 7px;
  background: none;
  cursor: pointer;
  font-family: inherit;
  transition: border-color 0.15s, color 0.15s;
}
.project-pill:hover {
  border-color: var(--ant-color-primary, #054A74) !important;
  color: var(--ant-color-primary, #054A74) !important;
}
.project-pill__dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
}
.catalogue-card__counts-row {
  border-top: 1px solid var(--border-subtle);
  margin-top: 12px;
  padding-top: 10px;
}
.count-item__icon {
  color: var(--text-muted);
  font-size: 13px;
}
.count-item__text {
  font-size: 13px;
}
/* END catalogue card */
.catalogue-section-label {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-secondary);
  white-space: nowrap;
}
.max-w-catalogue {
  max-width: var(--content-max-width);
}
.catalogue-insights-container {
  margin-top: 14px;
}
.catalogue-datasets-separator {
  margin-top: 18px;
  margin-bottom: 14px;
}
.catalogue-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
  gap: 14px;
}
.catalogue-grid--single-col {
  grid-template-columns: 1fr;
}
/* BEGIN about HTML styling */
/* Elements which are the first child of the about content container shouldn't have the default top margin */
.about-content *:first-child {
  margin-top: 0;
}
/* Elements which are the last child of the about content container shouldn't have the default bottom margin */
.about-content *:last-child {
  margin-bottom: 0;
}
/* Images should scale proportionally with container width */
.about-content img {
  max-width: 100%;
  height: auto;
}
/* END about HTML styling */
/* BEGIN overview */
.count-card {
  min-width: 150px;
  transition: height 0.3s ease-in-out, margin-bottom 0.3s ease-in-out, box-shadow 0.15s ease-in-out, opacity 0.15s ease-in-out;
}
.count-card .ant-statistic .ant-statistic-content {
  white-space: nowrap;
}
.count-card.shadow {
  border-color: #e9e9e9;
  /* a bit darker to contrast against box-shadow */
}
.count-card.shadow.count-card-clickable {
  cursor: pointer;
  opacity: 0.9;
}
.count-card.shadow.count-card-clickable:hover {
  box-shadow: 0 3px 15px rgba(0, 0, 0, 0.1);
  opacity: 1;
}
.count-card.shadow.count-card-clickable .counts-title {
  text-decoration: underline;
  transition: color 0.15s ease-in-out;
}
.count-card.shadow.count-card-clickable:hover .counts-title,
.count-card.shadow.count-card-clickable:hover .count-card__show-hide {
  color: #1677ff;
}
.count-card.shadow.count-card-selected {
  border-bottom: none;
  z-index: 3;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  margin-bottom: -12px;
}
.counts-title__text {
  white-space: nowrap;
}
.count-card__show-hide {
  position: absolute;
  left: 0;
  z-index: 4;
  height: 32px;
  width: 100%;
  text-align: center;
  font-size: 12px;
  transition: bottom 0.3s ease-in-out;
}
.count-card__show-hide:hover {
  color: #1677ff;
}
.dataset-provenance-card-grid {
  --dataset-grid-gap: 20px;
  display: grid;
  /* 690 * 2 + 20 (gap) = 1400 */
  grid-template-columns: repeat(auto-fit, minmax(250px, calc((var(--content-max-width) - var(--dataset-grid-gap)) / 2)));
  gap: var(--dataset-grid-gap);
}
.slick-arrow {
  color: black !important;
  /* override slick-next/slick-prev color */
}
.slick-dots li button {
  background-color: black !important;
  /* override slick-dots color */
}
.overview {
  transition: opacity 0.2s ease-in-out;
}
.overview.loading {
  opacity: 0.2;
}
/* END overview */
/* BEGIN search */
.search-results-pane {
  display: flex;
  justify-content: center;
  width: 100%;
}
.search-result-statistic.enabled {
  padding: 8px 16px;
  margin-left: -16px;
  border-radius: 8px;
  /* Consistent with --ant-border-radius-lg */
  cursor: pointer;
  border: 1px solid #d9d9d9;
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.02);
  transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  /* from antd */
}
.search-result-statistic.enabled:hover {
  border-color: #4096ff;
}
.search-result-statistic.selected {
  background-color: #fafafa;
}
.search-result-statistic.enabled.selected {
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.02), inset 0 2px 5px rgba(0, 0, 0, 0.08);
}
.ant-table-wrapper .ant-table.ant-table-empty .ant-table-tbody > tr.ant-table-placeholder {
  /* patch for ant background clip issue in empty tables with no headers */
  background: none;
}
/* END search */
/* BEGIN phenopackets/other clinical+phenotypic metadata views */
.fixed-item-label-width > .ant-descriptions-view > table > tbody > .ant-descriptions-row > .ant-descriptions-item-label {
  /* Align split line vertically in all descriptions */
  width: min(30vw, 250px);
}
.fixed-item-label-width-narrow > .ant-descriptions-view > table > tbody > .ant-descriptions-row > .ant-descriptions-item-label {
  /* Align split line vertically in all descriptions */
  width: min(15vw, 125px);
}
.fixed-item-label-width-very-narrow .ant-descriptions-item-label {
  /* Align split line vertically in all descriptions */
  width: min(15vw, 80px);
}
tr.ant-table-expanded-row .ant-descriptions-item-content .ant-descriptions > .ant-descriptions-view > table {
  width: auto;
}
/*  - compact descriptions and table */
.ant-descriptions.compact .ant-descriptions-row > td {
  padding-bottom: 2px;
}
.ant-descriptions.compact .ant-descriptions-item-content,
.ant-descriptions.compact .ant-descriptions-item-label {
  padding: 2px 12px !important;
}
.ant-descriptions-item-content .ant-descriptions.compact:not(.ant-descriptions-bordered) .ant-descriptions-item-label {
  /* nested non-bordered description items - kill horizontal padding */
  padding: 2px 0 !important;
}
.ant-descriptions:not(.ant-descriptions-bordered) .ant-descriptions-item-label {
  /* The default for non-bordered description labels is too light - darken it a bit for readability */
  color: rgba(0, 0, 0, 0.65) !important;
}
.ant-descriptions.compact > .ant-descriptions-header {
  margin-bottom: 4px;
}
.ant-descriptions.compact > .ant-descriptions-header > .ant-descriptions-title {
  font-size: 14px;
}
.ant-collapse.compact .ant-collapse-header {
  padding: 4px 0 !important;
}
.ant-collapse.compact .ant-collapse-content-box {
  padding: 8px 0 16px 0 !important;
}
.compact .ant-table-cell {
  padding: 2px 8px !important;
}
.compact .ant-table-expanded-row > .ant-table-cell {
  padding: 8px !important;
}
.ant-table-wrapper .ant-table-cell * .ant-table-container:first-child {
  /* undo border 0 set by ant design styling for tables nested directly in a cell if we have anything in between.
     border colour should be synced to global border colour. */
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}
.ontology-class {
  display: inline-block;
  padding: 0 2px;
  border-radius: 4px;
  transition: background-color 0.15s ease-in-out;
}
.ontology-class:hover {
  background-color: rgba(0, 0, 0, 0.04);
}
.ant-tooltip-inner a.iri-link {
  text-decoration: underline;
  color: var(--white-90);
}
.ant-tooltip-inner a.iri-link:hover {
  text-decoration: none;
  color: var(--white-80);
}
.ant-tooltip-inner a.iri-link:active {
  color: var(--white-70);
}
/* Persistent border — stays as long as the element should be highlighted */
.highlight-boundary {
  position: relative;
  border-radius: 10px;
}
/* The border itself lives on a pseudo-element so it can
   sit outside the element and respect border-radius */
.highlight-boundary::after {
  content: '';
  position: absolute;
  inset: -3px;
  /* expand outward by border width */
  border-radius: inherit;
  border: 3px solid rgba(22, 119, 255, 0.55);
  pointer-events: none;
}
/* Temporary pulse — added alongside highlight-boundary,
   removed after ~2.6s. Only adds animation to the
   already-existing ::after pseudo-element */
.highlight-animation::after {
  animation: highlightPulse 1s ease-out 0s 1;
}
@keyframes highlightPulse {
  0% {
    box-shadow: 0 0 0 0 color-mix(in srgb, var(--antd-blue-5) 35%, transparent);
  }
  70% {
    box-shadow: 0 0 0 14px color-mix(in srgb, var(--antd-blue-5) 0%, transparent);
  }
  100% {
    box-shadow: 0 0 0 0 color-mix(in srgb, var(--antd-blue-5) 0%, transparent);
  }
}
/* END phenopackets/other clinical+phenotypic metadata views */
@media (min-width: 1200px) {
  #pcgl-footer__links {
    column-gap: 40px;
    text-align: left;
  }
}
@media (min-width: 1400px) {
  #pcgl-footer__links {
    column-gap: 70px;
  }
}
@media (min-width: 1050px) and (max-width: 1550px) {
  .dataset-provenance-card-grid {
    /* This looks better at an intermediate screen width */
    grid-template-columns: repeat(auto-fit, minmax(350px, 0.5fr));
  }
}
@media (max-width: 768px) {
  /* Same breakpoint as constants/deviceBreakpoints DeviceBreakpoints.TABLET & Ant md -> sm */
  :root {
    --content-padding-v: 10px;
    --content-padding-h: 10px;
    --content-scoped-title-margin-bottom: 10px;
  }
  .ant-layout-footer {
    padding: 24px;
  }
  .dataset-provenance-card-grid {
    --dataset-grid-gap: 8px;
  }
  .scoped-title__breadcrumb {
    font-size: 1.2rem;
    line-height: 46px;
  }
  .float-btn-pos {
    /* For small screens */
    bottom: 1.5em;
    right: 1em;
  }
  .ant-float-btn-group.float-btn-pos .ant-float-btn {
    scale: 100%;
  }
  :not(.ant-float-btn-group).float-btn-pos {
    scale: 100%;
  }
  .ant-float-btn-group.float-btn-pos {
    /* For small screens, reset group gap size */
    gap: 16px;
  }
  #pcgl-footer__links {
    grid-template-columns: auto auto;
  }
}
@media (max-width: 576px) {
  /* Same breakpoint as constants/deviceBreakpoints DeviceBreakpoints.MOBILE & Ant sm -> xs */
  #pcgl-footer__links {
    grid-template-columns: auto;
    grid-row-gap: 8px;
    text-align: left;
  }
}


/*# sourceMappingURL=main961bda44d2ced00347fe.css.map*/