/*
 * Framework shared styles.
 */
/*
 * Framework shared variables.
 */
/*
 * Framework shared utilities.
 */
code {
  color: lightgray;
}
.cursor-default {
  cursor: default !important;
}
.cursor-help {
  cursor: help !important;
}
.cursor-pointer {
  cursor: pointer !important;
}
.cursor-not-allowed {
  cursor: not-allowed !important;
}
.cursor-move {
  cursor: move !important;
}
.fadein {
  opacity: 1;
  transition: opacity 400ms;
}
.fadeout {
  opacity: 0;
  transition: opacity 400ms;
}
.center,
.centre {
  margin-left: auto;
  margin-right: auto;
}
.superscript {
  vertical-align: super;
}
.subscript {
  vertical-align: sub;
}
.framed {
  font-size: 1.5rem;
  padding: 0.5rem 1rem;
  border: 5px solid #dddddd;
  border-radius: 5px;
}
@keyframes blink {
  50% {
    border-color: var(--bs-primary-text);
  }
}
.blinking-frame {
  font-size: 1.5rem;
  padding: 0.5rem 1rem;
  border: 5px solid #dddddd;
  border-radius: 5px;
  animation: blink 0.5s step-end infinite alternate;
}
.menu-not-translated,
.element-not-translated {
  background-color: rgba(249, 255, 154, 0.3);
}
.square-16 {
  height: 16px;
  width: 16px;
}
.square-24 {
  height: 24px;
  width: 24px;
}
.square-32 {
  height: 32px;
  width: 32px;
}
.square-35 {
  height: 35px;
  width: 35px;
}
.square-36 {
  height: 36px;
  width: 36px;
}
.square-38 {
  height: 38px;
  width: 38px;
}
.square-42 {
  height: 42px;
  width: 42px;
}
.square-48 {
  height: 48px;
  width: 48px;
}
.square-50 {
  height: 50px;
  width: 50px;
}
.square-64 {
  height: 64px;
  width: 64px;
}
.square-100 {
  height: 100px;
  width: 100px;
}
.square-128 {
  height: 128px;
  width: 128px;
}
.square-150 {
  height: 150px;
  width: 150px;
}
.square-160 {
  height: 160px;
  width: 160px;
}
.square-190 {
  height: 190px;
  width: 190px;
}
.square-200 {
  height: 200px;
  width: 200px;
}
.square-240 {
  height: 240px;
  width: 240px;
}
.height-50 {
  height: 50px;
}
.height-100 {
  height: 100px;
}
.height-150 {
  height: 150px;
}
.height-200 {
  height: 200px;
}
.width-50 {
  width: 50px;
}
.width-100 {
  width: 100px;
}
.width-150 {
  width: 150px;
}
.width-200 {
  width: 200px;
}
.min .height-50 {
  min-height: 50px;
}
.min .height-100 {
  min-height: 100px;
}
.min .height-150 {
  min-height: 150px;
}
.min .height-200 {
  min-height: 200px;
}
.min .width-50 {
  min-width: 50px;
}
.min .width-100 {
  min-width: 100px;
}
.min .width-150 {
  min-width: 150px;
}
.min .width-200 {
  min-width: 200px;
}
.max .height-50 {
  max-height: 50px;
}
.max .height-100 {
  max-height: 100px;
}
.max .height-150 {
  max-height: 150px;
}
.max .height-200 {
  max-height: 200px;
}
.max .width-50 {
  max-width: 50px;
}
.max .width-100 {
  max-width: 100px;
}
.max .width-150 {
  max-width: 150px;
}
.max .width-200 {
  max-width: 200px;
}
.item-shadow {
  -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
}
/*
 * Framework Flag Icons extensions.
 */
.fi.flag-border-aliceblue {
  border: 1px solid aliceblue;
}
.fi.flag-border-antiquewhite {
  border: 1px solid antiquewhite;
}
.fi.flag-border-aqua {
  border: 1px solid aqua;
}
.fi.flag-border-aquamarine {
  border: 1px solid aquamarine;
}
.fi.flag-border-azure {
  border: 1px solid azure;
}
.fi.flag-border-beige {
  border: 1px solid beige;
}
.fi.flag-border-bisque {
  border: 1px solid bisque;
}
.fi.flag-border-black {
  border: 1px solid black;
}
.fi.flag-border-blanchedalmond {
  border: 1px solid blanchedalmond;
}
.fi.flag-border-blue {
  border: 1px solid blue;
}
.fi.flag-border-blueviolet {
  border: 1px solid blueviolet;
}
.fi.flag-border-brown {
  border: 1px solid brown;
}
.fi.flag-border-burlywood {
  border: 1px solid burlywood;
}
.fi.flag-border-cadetblue {
  border: 1px solid cadetblue;
}
.fi.flag-border-chartreuse {
  border: 1px solid chartreuse;
}
.fi.flag-border-chocolate {
  border: 1px solid chocolate;
}
.fi.flag-border-coral {
  border: 1px solid coral;
}
.fi.flag-border-cornflowerblue {
  border: 1px solid cornflowerblue;
}
.fi.flag-border-cornsilk {
  border: 1px solid cornsilk;
}
.fi.flag-border-crimson {
  border: 1px solid crimson;
}
.fi.flag-border-cyan {
  border: 1px solid cyan;
}
.fi.flag-border-darkblue {
  border: 1px solid darkblue;
}
.fi.flag-border-darkcyan {
  border: 1px solid darkcyan;
}
.fi.flag-border-darkgoldenrod {
  border: 1px solid darkgoldenrod;
}
.fi.flag-border-darkgray {
  border: 1px solid darkgray;
}
.fi.flag-border-darkgrey {
  border: 1px solid darkgrey;
}
.fi.flag-border-darkgreen {
  border: 1px solid darkgreen;
}
.fi.flag-border-darkkhaki {
  border: 1px solid darkkhaki;
}
.fi.flag-border-darkmagenta {
  border: 1px solid darkmagenta;
}
.fi.flag-border-darkolivegreen {
  border: 1px solid darkolivegreen;
}
.fi.flag-border-darkorange {
  border: 1px solid darkorange;
}
.fi.flag-border-darkorchid {
  border: 1px solid darkorchid;
}
.fi.flag-border-darkred {
  border: 1px solid darkred;
}
.fi.flag-border-darksalmon {
  border: 1px solid darksalmon;
}
.fi.flag-border-darkseagreen {
  border: 1px solid darkseagreen;
}
.fi.flag-border-darkslateblue {
  border: 1px solid darkslateblue;
}
.fi.flag-border-darkslategray {
  border: 1px solid darkslategray;
}
.fi.flag-border-darkslategrey {
  border: 1px solid darkslategrey;
}
.fi.flag-border-darkturquoise {
  border: 1px solid darkturquoise;
}
.fi.flag-border-darkviolet {
  border: 1px solid darkviolet;
}
.fi.flag-border-deeppink {
  border: 1px solid deeppink;
}
.fi.flag-border-deepskyblue {
  border: 1px solid deepskyblue;
}
.fi.flag-border-dimgray {
  border: 1px solid dimgray;
}
.fi.flag-border-dimgrey {
  border: 1px solid dimgrey;
}
.fi.flag-border-dodgerblue {
  border: 1px solid dodgerblue;
}
.fi.flag-border-firebrick {
  border: 1px solid firebrick;
}
.fi.flag-border-floralwhite {
  border: 1px solid floralwhite;
}
.fi.flag-border-forestgreen {
  border: 1px solid forestgreen;
}
.fi.flag-border-fuchsia {
  border: 1px solid fuchsia;
}
.fi.flag-border-gainsboro {
  border: 1px solid gainsboro;
}
.fi.flag-border-ghostwhite {
  border: 1px solid ghostwhite;
}
.fi.flag-border-gold {
  border: 1px solid gold;
}
.fi.flag-border-goldenrod {
  border: 1px solid goldenrod;
}
.fi.flag-border-gray {
  border: 1px solid gray;
}
.fi.flag-border-grey {
  border: 1px solid grey;
}
.fi.flag-border-green {
  border: 1px solid green;
}
.fi.flag-border-greenyellow {
  border: 1px solid greenyellow;
}
.fi.flag-border-honeydew {
  border: 1px solid honeydew;
}
.fi.flag-border-hotpink {
  border: 1px solid hotpink;
}
.fi.flag-border-indianred {
  border: 1px solid indianred;
}
.fi.flag-border-indigo {
  border: 1px solid indigo;
}
.fi.flag-border-ivory {
  border: 1px solid ivory;
}
.fi.flag-border-khaki {
  border: 1px solid khaki;
}
.fi.flag-border-lavender {
  border: 1px solid lavender;
}
.fi.flag-border-lavenderblush {
  border: 1px solid lavenderblush;
}
.fi.flag-border-lawngreen {
  border: 1px solid lawngreen;
}
.fi.flag-border-lemonchiffon {
  border: 1px solid lemonchiffon;
}
.fi.flag-border-lightblue {
  border: 1px solid lightblue;
}
.fi.flag-border-lightcoral {
  border: 1px solid lightcoral;
}
.fi.flag-border-lightcyan {
  border: 1px solid lightcyan;
}
.fi.flag-border-lightgoldenrodyellow {
  border: 1px solid lightgoldenrodyellow;
}
.fi.flag-border-lightgray {
  border: 1px solid lightgray;
}
.fi.flag-border-lightgrey {
  border: 1px solid lightgrey;
}
.fi.flag-border-lightgreen {
  border: 1px solid lightgreen;
}
.fi.flag-border-lightpink {
  border: 1px solid lightpink;
}
.fi.flag-border-lightsalmon {
  border: 1px solid lightsalmon;
}
.fi.flag-border-lightseagreen {
  border: 1px solid lightseagreen;
}
.fi.flag-border-lightskyblue {
  border: 1px solid lightskyblue;
}
.fi.flag-border-lightslategray {
  border: 1px solid lightslategray;
}
.fi.flag-border-lightslategrey {
  border: 1px solid lightslategrey;
}
.fi.flag-border-lightsteelblue {
  border: 1px solid lightsteelblue;
}
.fi.flag-border-lightyellow {
  border: 1px solid lightyellow;
}
.fi.flag-border-lime {
  border: 1px solid lime;
}
.fi.flag-border-limegreen {
  border: 1px solid limegreen;
}
.fi.flag-border-linen {
  border: 1px solid linen;
}
.fi.flag-border-magenta {
  border: 1px solid magenta;
}
.fi.flag-border-maroon {
  border: 1px solid maroon;
}
.fi.flag-border-mediumaquamarine {
  border: 1px solid mediumaquamarine;
}
.fi.flag-border-mediumblue {
  border: 1px solid mediumblue;
}
.fi.flag-border-mediumorchid {
  border: 1px solid mediumorchid;
}
.fi.flag-border-mediumpurple {
  border: 1px solid mediumpurple;
}
.fi.flag-border-mediumseagreen {
  border: 1px solid mediumseagreen;
}
.fi.flag-border-mediumslateblue {
  border: 1px solid mediumslateblue;
}
.fi.flag-border-mediumspringgreen {
  border: 1px solid mediumspringgreen;
}
.fi.flag-border-mediumturquoise {
  border: 1px solid mediumturquoise;
}
.fi.flag-border-mediumvioletred {
  border: 1px solid mediumvioletred;
}
.fi.flag-border-midnightblue {
  border: 1px solid midnightblue;
}
.fi.flag-border-mintcream {
  border: 1px solid mintcream;
}
.fi.flag-border-mistyrose {
  border: 1px solid mistyrose;
}
.fi.flag-border-moccasin {
  border: 1px solid moccasin;
}
.fi.flag-border-navajowhite {
  border: 1px solid navajowhite;
}
.fi.flag-border-navy {
  border: 1px solid navy;
}
.fi.flag-border-oldlace {
  border: 1px solid oldlace;
}
.fi.flag-border-olive {
  border: 1px solid olive;
}
.fi.flag-border-olivedrab {
  border: 1px solid olivedrab;
}
.fi.flag-border-orange {
  border: 1px solid orange;
}
.fi.flag-border-orangered {
  border: 1px solid orangered;
}
.fi.flag-border-orchid {
  border: 1px solid orchid;
}
.fi.flag-border-palegoldenrod {
  border: 1px solid palegoldenrod;
}
.fi.flag-border-palegreen {
  border: 1px solid palegreen;
}
.fi.flag-border-paleturquoise {
  border: 1px solid paleturquoise;
}
.fi.flag-border-palevioletred {
  border: 1px solid palevioletred;
}
.fi.flag-border-papayawhip {
  border: 1px solid papayawhip;
}
.fi.flag-border-peachpuff {
  border: 1px solid peachpuff;
}
.fi.flag-border-peru {
  border: 1px solid peru;
}
.fi.flag-border-pink {
  border: 1px solid pink;
}
.fi.flag-border-plum {
  border: 1px solid plum;
}
.fi.flag-border-powderblue {
  border: 1px solid powderblue;
}
.fi.flag-border-purple {
  border: 1px solid purple;
}
.fi.flag-border-rebeccapurple {
  border: 1px solid rebeccapurple;
}
.fi.flag-border-red {
  border: 1px solid red;
}
.fi.flag-border-rosybrown {
  border: 1px solid rosybrown;
}
.fi.flag-border-royalblue {
  border: 1px solid royalblue;
}
.fi.flag-border-saddlebrown {
  border: 1px solid saddlebrown;
}
.fi.flag-border-salmon {
  border: 1px solid salmon;
}
.fi.flag-border-sandybrown {
  border: 1px solid sandybrown;
}
.fi.flag-border-seagreen {
  border: 1px solid seagreen;
}
.fi.flag-border-seashell {
  border: 1px solid seashell;
}
.fi.flag-border-sienna {
  border: 1px solid sienna;
}
.fi.flag-border-silver {
  border: 1px solid silver;
}
.fi.flag-border-skyblue {
  border: 1px solid skyblue;
}
.fi.flag-border-slateblue {
  border: 1px solid slateblue;
}
.fi.flag-border-slategray {
  border: 1px solid slategray;
}
.fi.flag-border-slategrey {
  border: 1px solid slategrey;
}
.fi.flag-border-snow {
  border: 1px solid snow;
}
.fi.flag-border-springgreen {
  border: 1px solid springgreen;
}
.fi.flag-border-steelblue {
  border: 1px solid steelblue;
}
.fi.flag-border-tan {
  border: 1px solid tan;
}
.fi.flag-border-teal {
  border: 1px solid teal;
}
.fi.flag-border-thistle {
  border: 1px solid thistle;
}
.fi.flag-border-tomato {
  border: 1px solid tomato;
}
.fi.flag-border-turquoise {
  border: 1px solid turquoise;
}
.fi.flag-border-violet {
  border: 1px solid violet;
}
.fi.flag-border-wheat {
  border: 1px solid wheat;
}
.fi.flag-border-white {
  border: 1px solid white;
}
.fi.flag-border-whitesmoke {
  border: 1px solid whitesmoke;
}
.fi.flag-border-yellow {
  border: 1px solid yellow;
}
.fi.flag-border-yellowgreen {
  border: 1px solid yellowgreen;
}
/*
 * Framework Bootstrap-related shared styles.
 */
.card a,
.card a:link,
.card a:visited {
  color: var(--bs-primary-text-emphasis);
  font-weight: bold;
  text-decoration: none;
}
.card a:hover {
  filter: brightness(120%);
}
.list-group-item.active {
  color: white !important;
  background-color: #3b71ca;
  border-color: #3b71ca;
}
.navbar {
  border-bottom: 1px solid var(--bs-secondary-color);
}
.navbar-toggler {
  border: 0;
}
.navbar-toggler:focus {
  box-shadow: 0 0 0 0;
}
.selectpicker .filter-option-inner-inner small {
  display: block;
}
.modal-min-height-50vh {
  min-height: clamp(320px, 50vh, 500px);
}
.modal-min-height-60vh {
  min-height: clamp(360px, 60vh, 600px);
}
.modal-min-height-70vh {
  min-height: clamp(400px, 70vh, 700px);
}
.modal-min-height-80vh {
  min-height: clamp(440px, 80vh, 800px);
}
.modal-min-width-50vw {
  min-width: clamp(320px, 50vw, 500px);
}
.modal-min-width-60vw {
  min-width: clamp(360px, 60vw, 600px);
}
.modal-min-width-70vw {
  min-width: clamp(400px, 70vw, 700px);
}
.modal-min-width-80vw {
  min-width: clamp(440px, 80vw, 800px);
}
/*
 * Framework shared page layout.
 */
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
}
header {
  position: sticky;
  top: 0;
  z-index: 1039;
  flex: 0 0 auto;
}
header #main-navbar {
  position: relative;
  top: auto;
  right: auto;
  left: auto;
  z-index: auto;
}
main {
  flex: 1 0 auto;
  min-width: 0;
  padding-bottom: 50px;
}
#main-content {
  min-height: 100%;
}
#contact-nav-link,
#sign-in-nav-link {
  text-align: center;
}
#help-nav-button {
  width: 38px;
  height: 38px;
  --bs-btn-hover-bg: var(--bs-info);
  --bs-btn-hover-border-color: var(--bs-info);
  --bs-btn-hover-color: var(--bs-dark);
}
#help-nav-button .bi.bi-question {
  margin-top: -0.25rem;
}
#help-nav-button .bi.bi-question div {
  font-weight: bold;
  font-style: normal;
  font-size: 0.7rem;
  margin-top: -0.5rem;
  color: darkred;
}
#theme-toggler {
  line-height: 0.8;
}
#sidebar-menu {
  width: 240px;
  max-width: 240px;
}
.sidebar-accordion-element:hover {
  background-color: var(--bs-secondary-bg);
}
@media (min-width: 992px) {
  #sidebar-menu {
    position: absolute;
    top: 100%;
    left: 0;
    height: calc(100vh - 100%);
    height: calc(100dvh - 100%);
    overflow: hidden;
  }
  #sidebar-content {
    margin-top: 9px;
    height: 100%;
    display: block;
    overflow-y: auto;
    overflow-x: hidden;
    padding: calc(var(--bs-offcanvas-padding-y) + 9px) var(--bs-offcanvas-padding-x) 62px var(--bs-offcanvas-padding-x) !important;
  }
  main {
    margin-left: 240px;
    border-left: 1px solid var(--bs-secondary-color);
  }
}
footer {
  position: fixed;
  bottom: 0;
  width: 100%;
  text-align: center;
  background-color: var(--bs-body-bg);
  border-top: 1px solid var(--bs-secondary-color);
  z-index: 1039;
}
footer .copyright {
  font-size: 0.85rem;
  padding: 0.2rem 0;
}
/*
 * Framework shared components.
 */
#loader {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 96px;
  max-height: 96px;
  width: auto;
  height: auto;
  z-index: 99999999;
}
#loader.fadein {
  pointer-events: auto;
  visibility: visible;
}
#loader.fadeout {
  pointer-events: none;
  visibility: hidden;
}
.accordion-element {
  cursor: pointer;
}
.accordion-element.active {
  color: var(--bs-primary-text-emphasis);
  background-color: var(--bs-primary-bg-subtle);
}
.header-title {
  font-size: 1.25rem;
}
.collection-pagination .page-link {
  border-color: var(--bs-border-color);
}
.collection-pagination .page-link:hover,
.collection-pagination .page-link:focus {
  border-color: var(--bs-primary);
  background-color: transparent;
  color: var(--bs-primary);
  box-shadow: none;
}
.collection-pagination .page-item.disabled .page-link {
  border-color: var(--bs-border-color);
}
/*
 * Framework file and image pickers.
 */
.file-picker {
  display: inline-flex;
  align-items: center;
}
.file-picker-button {
  cursor: pointer;
}
.file-picker-input {
  position: fixed;
  top: -1000px;
  left: -1000px;
  width: 1px;
  height: 1px;
  opacity: 0;
}
.image-picker {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}
.image-picker-cropper {
  position: relative;
  width: var(--image-picker-size, 240px);
  height: var(--image-picker-size, 240px);
}
.image-picker-cropper cropper-canvas {
  width: var(--image-picker-size, 240px);
  height: var(--image-picker-size, 240px);
}
.image-picker-img {
  display: block;
  max-width: 100%;
}
.image-picker-round cropper-selection {
  border-radius: 50%;
  overflow: hidden;
}
.image-picker-round cropper-selection::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.25);
  pointer-events: none;
}
