:root {
  --jvm-border-color: #E5E6E7;
  --jvm-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --jvm-tooltip-font-size: 0.9rem;
  --jvm-tooltip-bg-color: #337FFA;
  --jvm-tooltip-color: #FFF;
  --jvm-tooltip-padding: 3px 5px;
  --jvm-tooltip-shadow: var(--jvm-box-shadow);
  --jvm-tooltip-radius: 3px;
  --jvm-zoom-btn-bg-color: #292929;
  --jvm-zoom-btn-color: #FFF;
  --jvm-zoom-btn-size: 15px;
  --jvm-zoom-btn-radius: 3px;
  --jvm-series-container-right: 15px;
  --jvm-legend-bg-color: #FFF;
  --jvm-legend-radius: 0.15rem;
  --jvm-legend-margin-left: 0.75rem;
  --jvm-legend-padding: 0.6rem;
  --jvm-legend-title-padding-bottom: 0.5rem;
  --jvm-legend-title-margin-bottom: 0.575rem;
  --jvm-legend-tick-margin-top: 0.575rem;
  --jvm-legend-tick-sample-radius: 0;
  --jvm-legend-tick-sample-height: 12px;
  --jvm-legend-tick-sample-width: 30px;
  --jvm-legend-tick-text-font-size: 12px;
  --jvm-legend-tick-text-margin-top: 3px;
}

image, text, .jvm-zoom-btn {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.jvm-container {
  position: relative;
  height: 100%;
  width: 100%;
}

.jvm-tooltip {
  border-radius: var(--jvm-tooltip-radius);
  background-color: var(--jvm-tooltip-bg-color);
  color: var(--jvm-tooltip-color);
  font-size: var(--jvm-tooltip-font-size);
  box-shadow: var(--jvm-tooltip-shadow);
  padding: var(--jvm-tooltip-padding);
  white-space: nowrap;
  position: absolute;
  display: none;
}

.jvm-tooltip.active {
  display: block;
}

.jvm-zoom-btn {
  background-color: var(--jvm-zoom-btn-bg-color);
  color: var(--jvm-zoom-btn-color);
  border-radius: var(--jvm-zoom-btn-radius);
  height: var(--jvm-zoom-btn-size);
  width: var(--jvm-zoom-btn-size);
  box-sizing: border-box;
  position: absolute;
  left: 10px;
  line-height: var(--jvm-zoom-btn-size);
  text-align: center;
  cursor: pointer;
}

.jvm-zoom-btn.jvm-zoomin {
  top: var(--jvm-zoom-btn-size);
}

.jvm-zoom-btn.jvm-zoomout {
  top: calc(var(--jvm-zoom-btn-size) * 2 + var(--jvm-zoom-btn-size) / 3);
}

.jvm-series-container {
  position: absolute;
  right: var(--jvm-series-container-right);
}

.jvm-series-container.jvm-series-h {
  bottom: 15px;
}

.jvm-series-container.jvm-series-v {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.75rem;
  top: 15px;
}

.jvm-legend {
  background-color: var(--jvm-legend-bg-color);
  border: 1px solid var(--jvm-border-color);
  margin-left: var(--jvm-legend-margin-left);
  border-radius: var(--jvm-legend-radius);
  padding: var(--jvm-legend-padding);
  box-shadow: var(--jvm-box-shadow);
}

.jvm-legend-title {
  line-height: 1;
  border-bottom: 1px solid var(--jvm-border-color);
  padding-bottom: var(--jvm-legend-title-padding-bottom);
  margin-bottom: var(--jvm-legend-title-margin-bottom);
  text-align: left;
}

.jvm-legend-tick {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  min-width: 40px;
}

.jvm-legend-tick:not(:first-child) {
  margin-top: var(--jvm-legend-tick-margin-top);
}

.jvm-legend-tick-sample {
  border-radius: var(--jvm-legend-tick-sample-radius);
  margin-right: 0.45rem;
  height: var(--jvm-legend-tick-sample-height);
  width: var(--jvm-legend-tick-sample-width);
}

.jvm-legend-tick-text {
  font-size: var(--jvm-legend-tick-text-font-size);
  text-align: center;
  line-height: 1;
}

.jvm-line[animation=true] {
  -webkit-animation: jvm-line-animation 10s linear forwards infinite;
  animation: jvm-line-animation 10s linear forwards infinite;
}

@-webkit-keyframes jvm-line-animation {
  from {
    stroke-dashoffset: 250;
  }
}
@keyframes jvm-line-animation {
  from {
    stroke-dashoffset: 250;
  }
}
.jvm-tooltip {
  padding: 0;
  font-size: inherit;
  user-select: none;
}
.jvm-tooltip:not(.active) {
  display: none !important;
}

.jvm-zoom-btn {
  width: auto;
  height: auto;
  left: 1rem;
}
.jvm-zoom-btn.jvm-zoomin {
  top: 1rem;
}
.jvm-zoom-btn.jvm-zoomout {
  top: 2.5rem;
}

:root {
  --primary: #7f7fff;
  --secondary: #ff4080;
  --major: #ffc84f;
  --minor: #afafbf;
  --info: #40d8e8;
  --success: #40cf80;
  --warning: #ffc030;
  --danger: #ff4040;
  --error: #ff4040;
  --muted: #6f7880;
  --white: #efefff;
  --black: #1f1f2f;
  --img-sm-w: 160px;
  --img-sm-h: 90px;
  --img-md-w: 256px;
  --img-md-h: 144px;
  --img-lg-w: 480px;
  --img-lg-h: 270px;
}
:root.dark-theme {
  color-scheme: dark;
  --contrast: #efefff;
  --bg-1: #1e1e28;
  --bg-2: #282832;
  --bg-3: #32323c;
  --bg-alpha: rgba(32, 32, 48, 0.8);
  --text-1: #a1a1a9;
  --text-2: #b6b6bc;
  --text-3: #cbcbcf;
  --alpha: 0.8;
}
:root.light-theme {
  color-scheme: light;
  --contrast: #1f1f2f;
  --bg-1: #efefef;
  --bg-2: #b6b6bc;
  --bg-3: #a1a1a9;
  --bg-alpha: rgba(239, 239, 239, 0.8);
  --text-1: #28283c;
  --text-2: #242438;
  --text-3: #202030;
  --alpha: 0.3;
}

.bg-primary {
  background-color: rgb(89.9607843137%, 89.9607843137%, 100%);
  color: rgb(0%, 0%, 29.9607843137%);
  border-color: rgb(0%, 0%, 29.9607843137%);
}

.text-primary {
  color: #7f7fff !important;
}

.border-primary {
  border-color: #7f7fff !important;
}

.bg-secondary {
  background-color: rgb(100%, 85.0196078431%, 90.0392156863%);
  color: rgb(25.0196078431%, 0%, 8.3835335181%);
  border-color: rgb(25.0196078431%, 0%, 8.3835335181%);
}

.text-secondary {
  color: #ff4080 !important;
}

.border-secondary {
  border-color: #ff4080 !important;
}

.bg-major {
  background-color: rgb(100%, 95.6862745098%, 86.1960784314%);
  color: rgb(26.1960784314%, 18.0098039216%, 0%);
  border-color: rgb(26.1960784314%, 18.0098039216%, 0%);
}

.text-major {
  color: #ffc84f !important;
}

.border-major {
  border-color: #ffc84f !important;
}

.bg-minor {
  background-color: rgb(93.7254901961%, 93.7254901961%, 94.9803921569%);
  color: rgb(12.7581699346%, 12.7581699346%, 15.9477124183%);
  border-color: rgb(12.7581699346%, 12.7581699346%, 15.9477124183%);
}

.text-minor {
  color: #afafbf !important;
}

.border-minor {
  border-color: #afafbf !important;
}

.bg-info {
  background-color: rgb(85.0196078431%, 96.9411764706%, 98.1960784314%);
  color: rgb(2.4951438519%, 18.9847901778%, 20.7205424226%);
  border-color: rgb(2.4951438519%, 18.9847901778%, 20.7205424226%);
}

.text-info {
  color: #40d8e8 !important;
}

.border-info {
  border-color: #40d8e8 !important;
}

.bg-success {
  background-color: rgb(85.0196078431%, 96.2352941176%, 90.0392156863%);
  color: rgb(4.268766921%, 16.9861350398%, 9.960456149%);
  border-color: rgb(4.268766921%, 16.9861350398%, 9.960456149%);
}

.text-success {
  color: #40cf80 !important;
}

.border-success {
  border-color: #40cf80 !important;
}

.bg-warning {
  background-color: rgb(100%, 95.0588235294%, 83.7647058824%);
  color: rgb(23.7647058824%, 16.5319693095%, 0%);
  border-color: rgb(23.7647058824%, 16.5319693095%, 0%);
}

.text-warning {
  color: #ffc030 !important;
}

.border-warning {
  border-color: #ffc030 !important;
}

.bg-danger {
  background-color: rgb(100%, 85.0196078431%, 85.0196078431%);
  color: rgb(25.0196078431%, 0%, 0%);
  border-color: rgb(25.0196078431%, 0%, 0%);
}

.text-danger {
  color: #ff4040 !important;
}

.border-danger {
  border-color: #ff4040 !important;
}

.bg-error {
  background-color: rgb(100%, 85.0196078431%, 85.0196078431%);
  color: rgb(25.0196078431%, 0%, 0%);
  border-color: rgb(25.0196078431%, 0%, 0%);
}

.text-error {
  color: #ff4040 !important;
}

.border-error {
  border-color: #ff4040 !important;
}

.bg-muted {
  background-color: rgb(88.616621544%, 89.4170153417%, 90.1284764952%);
  color: rgb(8.7058823529%, 9.4117647059%, 10.0392156863%);
  border-color: rgb(8.7058823529%, 9.4117647059%, 10.0392156863%);
}

.text-muted {
  color: #6f7880 !important;
}

.border-muted {
  border-color: #6f7880 !important;
}

.bg-white {
  background-color: rgb(98.7450980392%, 98.7450980392%, 100%);
  color: rgb(0%, 0%, 38.7450980392%);
  border-color: rgb(0%, 0%, 38.7450980392%);
}

.text-white {
  color: #efefff !important;
}

.border-white {
  border-color: #efefff !important;
}

.bg-black {
  background-color: rgb(79.5837104072%, 79.5837104072%, 86.5339366516%);
  color: rgb(2.431372549%, 2.431372549%, 3.6862745098%);
  border-color: rgb(2.431372549%, 2.431372549%, 3.6862745098%);
}

.text-black {
  color: #1f1f2f !important;
}

.border-black {
  border-color: #1f1f2f !important;
}

.text-contrast {
  color: var(--contrast) !important;
}

.border-contrast {
  border-color: var(--contrast) !important;
}

.bg-1 {
  background-color: var(--bg-1);
  color: var(--text-1);
}

.text-1 {
  color: var(--text-1);
}

.border-1 {
  border-color: var(--text-1);
}

.bg-2 {
  background-color: var(--bg-2);
  color: var(--text-2);
}

.text-2 {
  color: var(--text-2);
}

.border-2 {
  border-color: var(--text-2);
}

.bg-3 {
  background-color: var(--bg-3);
  color: var(--text-3);
}

.text-3 {
  color: var(--text-3);
}

.border-3 {
  border-color: var(--text-3);
}

.bg-alpha {
  background-color: var(--bg-alpha);
  color: var(--text-2);
}

.text-alpha {
  color: var(--text-2);
}

.border-alpha {
  border-color: var(--text-2);
}

html,
body {
  height: 100%;
}

body {
  margin: 0;
  padding: 0;
  line-height: 1.5;
  font-weight: 400;
  font-size: 1rem;
  font-family: "Segoe UI", "Segoe UI Emoji", "Segoe UI Symbol";
}

* {
  box-sizing: border-box;
}

ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
ul.styled {
  list-style-type: disc;
  padding-inline-start: 40px;
}

p {
  margin: 0;
}

a {
  color: inherit;
  text-decoration: none;
}
a.styled {
  color: #7f7fff;
  text-decoration: underline;
}
a[disabled] {
  cursor: not-allowed;
  color: var(--muted);
}

button {
  cursor: pointer;
  color: inherit;
  background-color: transparent;
  border: none;
  font-size: inherit;
  line-height: inherit;
  font-family: inherit;
}

input,
select,
textarea {
  color: inherit;
  background-color: transparent;
  border: none;
  font-size: inherit;
  appearance: none;
}

h1 {
  margin: 0;
  padding: 0;
  font-size: 2.5rem;
  font-weight: 500;
}

h2 {
  margin: 0;
  padding: 0;
  font-size: 2rem;
  font-weight: 500;
}

h3 {
  margin: 0;
  padding: 0;
  font-size: 1.75rem;
  font-weight: 500;
}

h4 {
  margin: 0;
  padding: 0;
  font-size: 1.5rem;
  font-weight: 500;
}

h5 {
  margin: 0;
  padding: 0;
  font-size: 1.25rem;
  font-weight: 500;
}

::selection {
  color: #efefff;
  background-color: #7f7fff;
}

::-webkit-scrollbar {
  width: 0.5rem;
  height: 0.5rem;
  background: inherit;
}

::-webkit-scrollbar-track {
  background: var(--bg-3);
  border-radius: 100rem;
}

::-webkit-scrollbar-thumb {
  background: var(--text-1);
  border-radius: 100rem;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--text-2);
}

.m-0 {
  margin: 0 !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mr-0 {
  margin-right: 0 !important;
}

.ml-0 {
  margin-left: 0 !important;
}

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.mx-0 {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.m-1 {
  margin: 0.25rem !important;
}

.mt-1 {
  margin-top: 0.25rem !important;
}

.mb-1 {
  margin-bottom: 0.25rem !important;
}

.mr-1 {
  margin-right: 0.25rem !important;
}

.ml-1 {
  margin-left: 0.25rem !important;
}

.my-1 {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}

.mx-1 {
  margin-left: 0.25rem !important;
  margin-right: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.mt-2 {
  margin-top: 0.5rem !important;
}

.mb-2 {
  margin-bottom: 0.5rem !important;
}

.mr-2 {
  margin-right: 0.5rem !important;
}

.ml-2 {
  margin-left: 0.5rem !important;
}

.my-2 {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

.mx-2 {
  margin-left: 0.5rem !important;
  margin-right: 0.5rem !important;
}

.m-3 {
  margin: 1rem !important;
}

.mt-3 {
  margin-top: 1rem !important;
}

.mb-3 {
  margin-bottom: 1rem !important;
}

.mr-3 {
  margin-right: 1rem !important;
}

.ml-3 {
  margin-left: 1rem !important;
}

.my-3 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.mx-3 {
  margin-left: 1rem !important;
  margin-right: 1rem !important;
}

.m-4 {
  margin: 1.5rem !important;
}

.mt-4 {
  margin-top: 1.5rem !important;
}

.mb-4 {
  margin-bottom: 1.5rem !important;
}

.mr-4 {
  margin-right: 1.5rem !important;
}

.ml-4 {
  margin-left: 1.5rem !important;
}

.my-4 {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

.mx-4 {
  margin-left: 1.5rem !important;
  margin-right: 1.5rem !important;
}

.m-5 {
  margin: 3rem !important;
}

.mt-5 {
  margin-top: 3rem !important;
}

.mb-5 {
  margin-bottom: 3rem !important;
}

.mr-5 {
  margin-right: 3rem !important;
}

.ml-5 {
  margin-left: 3rem !important;
}

.my-5 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.mx-5 {
  margin-left: 3rem !important;
  margin-right: 3rem !important;
}

.m-auto {
  margin: auto !important;
}

.mt-auto {
  margin-top: auto !important;
}

.mb-auto {
  margin-bottom: auto !important;
}

.mr-auto {
  margin-right: auto !important;
}

.ml-auto {
  margin-left: auto !important;
}

.my-auto {
  margin-top: auto !important;
  margin-bottom: auto !important;
}

.mx-auto {
  margin-left: auto !important;
  margin-right: auto !important;
}

.p-0 {
  padding: 0 !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pr-0 {
  padding-right: 0 !important;
}

.pl-0 {
  padding-left: 0 !important;
}

.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.px-0 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.pt-1 {
  padding-top: 0.25rem !important;
}

.pb-1 {
  padding-bottom: 0.25rem !important;
}

.pr-1 {
  padding-right: 0.25rem !important;
}

.pl-1 {
  padding-left: 0.25rem !important;
}

.py-1 {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}

.px-1 {
  padding-left: 0.25rem !important;
  padding-right: 0.25rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.pt-2 {
  padding-top: 0.5rem !important;
}

.pb-2 {
  padding-bottom: 0.5rem !important;
}

.pr-2 {
  padding-right: 0.5rem !important;
}

.pl-2 {
  padding-left: 0.5rem !important;
}

.py-2 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.px-2 {
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}

.p-3 {
  padding: 1rem !important;
}

.pt-3 {
  padding-top: 1rem !important;
}

.pb-3 {
  padding-bottom: 1rem !important;
}

.pr-3 {
  padding-right: 1rem !important;
}

.pl-3 {
  padding-left: 1rem !important;
}

.py-3 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.px-3 {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

.p-4 {
  padding: 1.5rem !important;
}

.pt-4 {
  padding-top: 1.5rem !important;
}

.pb-4 {
  padding-bottom: 1.5rem !important;
}

.pr-4 {
  padding-right: 1.5rem !important;
}

.pl-4 {
  padding-left: 1.5rem !important;
}

.py-4 {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

.px-4 {
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}

.p-5 {
  padding: 3rem !important;
}

.pt-5 {
  padding-top: 3rem !important;
}

.pb-5 {
  padding-bottom: 3rem !important;
}

.pr-5 {
  padding-right: 3rem !important;
}

.pl-5 {
  padding-left: 3rem !important;
}

.py-5 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.px-5 {
  padding-left: 3rem !important;
  padding-right: 3rem !important;
}

.p-auto {
  padding: auto !important;
}

.pt-auto {
  padding-top: auto !important;
}

.pb-auto {
  padding-bottom: auto !important;
}

.pr-auto {
  padding-right: auto !important;
}

.pl-auto {
  padding-left: auto !important;
}

.py-auto {
  padding-top: auto !important;
  padding-bottom: auto !important;
}

.px-auto {
  padding-left: auto !important;
  padding-right: auto !important;
}

.overflow-auto {
  overflow: auto;
}

.overflow-hidden {
  overflow: hidden;
}

.w-0 {
  width: 0 !important;
}

.h-0 {
  height: 0 !important;
}

.w-25 {
  width: 25% !important;
}

.h-25 {
  height: 25% !important;
}

.w-50 {
  width: 50% !important;
}

.h-50 {
  height: 50% !important;
}

.w-75 {
  width: 75% !important;
}

.h-75 {
  height: 75% !important;
}

.w-100 {
  width: 100% !important;
}

.h-100 {
  height: 100% !important;
}

.w-auto {
  width: auto !important;
}

.h-auto {
  height: auto !important;
}

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

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

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

@media screen and (min-width: 680px) {
  .show-sm {
    display: none !important;
  }
}
@media screen and (max-width: 680px) {
  .hide-sm {
    display: none !important;
  }
  .full-sm {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 50;
  }
}
@media screen and (min-width: 768px) {
  .show-md {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .hide-md {
    display: none !important;
  }
}
@keyframes slide-left {
  from {
    margin-right: -1rem;
    opacity: 0;
  }
  to {
    margin-right: 0;
    opacity: 1;
  }
}
@keyframes slide-right {
  from {
    margin-left: -1rem;
    opacity: 0;
  }
  to {
    margin-left: 0;
    opacity: 1;
  }
}
@keyframes slide-up {
  from {
    margin-top: 1rem;
    opacity: 0;
  }
  to {
    margin-top: 0;
    opacity: 1;
  }
}
@keyframes slide-down {
  from {
    margin-bottom: 1rem;
    opacity: 0;
  }
  to {
    margin-bottom: 0;
    opacity: 1;
  }
}
@keyframes logo-spin {
  0% {
    transform: rotate(0deg);
    margin-left: 0;
    margin-right: 4px;
  }
  33% {
    transform: rotate(180deg);
    margin-left: 18px;
    margin-right: -18px;
  }
  66% {
    transform: rotate(180deg);
    margin-left: 18px;
    margin-right: -18px;
  }
  100% {
    transform: rotate(360deg);
    margin-left: 0;
    margin-right: 4px;
  }
}
@keyframes logo-pulse {
  0% {
    transform: scale(1);
    margin-left: 0;
    margin-right: 0;
  }
  33% {
    transform: scale(0.5);
    margin-left: -14px;
    margin-right: 18px;
  }
  66% {
    transform: scale(0.5);
    margin-left: -14px;
    margin-right: 18px;
  }
  100% {
    transform: scale(1);
    margin-left: 0;
    margin-right: 0;
  }
}
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.slide {
  animation-duration: 0.15s;
  animation-timing-function: ease-in-out;
}
.slide.slide-left {
  animation-name: slide-left;
}
.slide.slide-right {
  animation-name: slide-right;
}
.slide.slide-up {
  animation-name: slide-up;
}
.slide.slide-down {
  animation-name: slide-down;
}

.badge {
  display: inline-block;
  padding: 0.35em 0.7em;
  font-size: 0.7em;
  font-weight: 700;
  line-height: 1;
  border: 1px solid transparent;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}
.badge.square {
  border-radius: 3px;
}
.badge:not(.square) {
  border-radius: 100rem;
}
.badge[href]:hover {
  box-shadow: 0 0.25rem 0.5rem 0 rgba(31, 31, 47, var(--alpha));
}

.badge-primary {
  color: #efefff;
  background-color: #7f7fff;
  border: 1px solid rgba(127, 127, 255, 0.9);
}
.badge-primary[href]:active, .badge-primary[href]:focus, .badge-primary[href]:focus-within, .badge-primary[href]:hover {
  background-color: rgb(64.862745098%, 64.862745098%, 100%);
}

.badge-secondary {
  color: #efefff;
  background-color: #ff4080;
  border: 1px solid rgba(255, 64, 128, 0.9);
}
.badge-secondary[href]:active, .badge-secondary[href]:focus, .badge-secondary[href]:focus-within, .badge-secondary[href]:hover {
  background-color: rgb(100%, 47.568627451%, 65.137254902%);
}

.badge-major {
  color: #1f1f2f;
  background-color: #ffc84f;
  border: 1px solid rgba(255, 200, 79, 0.9);
}
.badge-major[href]:active, .badge-major[href]:focus, .badge-major[href]:focus-within, .badge-major[href]:hover {
  background-color: rgb(100%, 84.9019607843%, 51.6862745098%);
}

.badge-minor {
  color: #efefff;
  background-color: #afafbf;
  border: 1px solid rgba(175, 175, 191, 0.9);
}
.badge-minor[href]:active, .badge-minor[href]:focus, .badge-minor[href]:focus-within, .badge-minor[href]:hover {
  background-color: rgb(78.0392156863%, 78.0392156863%, 82.431372549%);
}

.badge-info {
  color: #efefff;
  background-color: #40d8e8;
  border: 1px solid rgba(64, 216, 232, 0.9);
}
.badge-info[href]:active, .badge-info[href]:focus, .badge-info[href]:focus-within, .badge-info[href]:hover {
  background-color: rgb(47.568627451%, 89.2941176471%, 93.6862745098%);
}

.badge-success {
  color: #efefff;
  background-color: #40cf80;
  border: 1px solid rgba(64, 207, 128, 0.9);
}
.badge-success[href]:active, .badge-success[href]:focus, .badge-success[href]:focus-within, .badge-success[href]:hover {
  background-color: rgb(47.568627451%, 86.8235294118%, 65.137254902%);
}

.badge-warning {
  color: #1f1f2f;
  background-color: #ffc030;
  border: 1px solid rgba(255, 192, 48, 0.9);
}
.badge-warning[href]:active, .badge-warning[href]:focus, .badge-warning[href]:focus-within, .badge-warning[href]:hover {
  background-color: rgb(100%, 82.7058823529%, 43.1764705882%);
}

.badge-danger {
  color: #efefff;
  background-color: #ff4040;
  border: 1px solid rgba(255, 64, 64, 0.9);
}
.badge-danger[href]:active, .badge-danger[href]:focus, .badge-danger[href]:focus-within, .badge-danger[href]:hover {
  background-color: rgb(100%, 47.568627451%, 47.568627451%);
}

.badge-error {
  color: #efefff;
  background-color: #ff4040;
  border: 1px solid rgba(255, 64, 64, 0.9);
}
.badge-error[href]:active, .badge-error[href]:focus, .badge-error[href]:focus-within, .badge-error[href]:hover {
  background-color: rgb(100%, 47.568627451%, 47.568627451%);
}

.badge-muted {
  color: #efefff;
  background-color: #6f7880;
  border: 1px solid rgba(111, 120, 128, 0.9);
}
.badge-muted[href]:active, .badge-muted[href]:focus, .badge-muted[href]:focus-within, .badge-muted[href]:hover {
  background-color: rgb(60.1581754041%, 62.959553696%, 65.4496677332%);
}

.badge-white {
  color: #1f1f2f;
  background-color: #efefff;
  border: 1px solid rgba(239, 239, 255, 0.9);
}
.badge-white[href]:active, .badge-white[href]:focus, .badge-white[href]:focus-within, .badge-white[href]:hover {
  background-color: rgb(95.6078431373%, 95.6078431373%, 100%);
}

.badge-black {
  color: #efefff;
  background-color: #1f1f2f;
  border: 1px solid rgba(31, 31, 47, 0.9);
}
.badge-black[href]:active, .badge-black[href]:focus, .badge-black[href]:focus-within, .badge-black[href]:hover {
  background-color: rgb(32.3559577677%, 32.3559577677%, 49.0558069382%);
}

.btn {
  display: inline-block;
  padding: 0.4rem 0.8rem;
  user-select: none;
  border-radius: 0.15rem;
  text-align: center;
  border: 1px solid transparent;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.btn:not([disabled]):hover {
  box-shadow: 0 0.25rem 0.5rem 0 rgba(31, 31, 47, var(--alpha));
}
.btn.btn-sm {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
}

.btn-primary {
  color: #efefff;
  background-color: #7f7fff;
  border: 1px solid rgba(127, 127, 255, 0.9);
}
.btn-primary:active, .btn-primary:focus, .btn-primary:focus-within, .btn-primary:hover {
  background-color: rgb(57.3333333333%, 57.3333333333%, 100%);
}

.btn-border-primary {
  color: #7f7fff;
  border-color: #7f7fff;
  border: 1px solid #7f7fff;
}
.btn-border-primary:active, .btn-border-primary:focus, .btn-border-primary:focus-within, .btn-border-primary:hover {
  color: #9f9fff;
  border-color: #9f9fff;
}

.btn-secondary {
  color: #efefff;
  background-color: #ff4080;
  border: 1px solid rgba(255, 64, 128, 0.9);
}
.btn-secondary:active, .btn-secondary:focus, .btn-secondary:focus-within, .btn-secondary:hover {
  background-color: rgb(100%, 36.3333333333%, 57.6666666667%);
}

.btn-border-secondary {
  color: #ff4080;
  border-color: #ff4080;
  border: 1px solid #ff4080;
}
.btn-border-secondary:active, .btn-border-secondary:focus, .btn-border-secondary:focus-within, .btn-border-secondary:hover {
  color: rgb(100%, 43.8235294118%, 62.6470588235%);
  border-color: rgb(100%, 43.8235294118%, 62.6470588235%);
}

.btn-major {
  color: #1f1f2f;
  background-color: #ffc84f;
  border: 1px solid rgba(255, 200, 79, 0.9);
}
.btn-major:active, .btn-major:focus, .btn-major:focus-within, .btn-major:hover {
  background-color: rgb(100%, 81.6666666667%, 41.3333333333%);
}

.btn-border-major {
  color: #ffc84f;
  border-color: #ffc84f;
  border: 1px solid #ffc84f;
}
.btn-border-major:active, .btn-border-major:focus, .btn-border-major:focus-within, .btn-border-major:hover {
  color: rgb(100%, 83.8235294118%, 48.2352941176%);
  border-color: rgb(100%, 83.8235294118%, 48.2352941176%);
}

.btn-minor {
  color: #efefff;
  background-color: #afafbf;
  border: 1px solid rgba(175, 175, 191, 0.9);
}
.btn-minor:active, .btn-minor:focus, .btn-minor:focus-within, .btn-minor:hover {
  background-color: rgb(73.3333333333%, 73.3333333333%, 78.6666666667%);
}

.btn-border-minor {
  color: #afafbf;
  border-color: #afafbf;
  border: 1px solid #afafbf;
}
.btn-border-minor:active, .btn-border-minor:focus, .btn-border-minor:focus-within, .btn-border-minor:hover {
  color: #c3c3cf;
  border-color: #c3c3cf;
}

.btn-info {
  color: #efefff;
  background-color: #40d8e8;
  border: 1px solid rgba(64, 216, 232, 0.9);
}
.btn-info:active, .btn-info:focus, .btn-info:focus-within, .btn-info:hover {
  background-color: rgb(36.3333333333%, 87%, 92.3333333333%);
}

.btn-border-info {
  color: #40d8e8;
  border-color: #40d8e8;
  border: 1px solid #40d8e8;
}
.btn-border-info:active, .btn-border-info:focus, .btn-border-info:focus-within, .btn-border-info:hover {
  color: rgb(43.8235294118%, 88.5294117647%, 93.2352941176%);
  border-color: rgb(43.8235294118%, 88.5294117647%, 93.2352941176%);
}

.btn-success {
  color: #efefff;
  background-color: #40cf80;
  border: 1px solid rgba(64, 207, 128, 0.9);
}
.btn-success:active, .btn-success:focus, .btn-success:focus-within, .btn-success:hover {
  background-color: rgb(36.3333333333%, 84%, 57.6666666667%);
}

.btn-border-success {
  color: #40cf80;
  border-color: #40cf80;
  border: 1px solid #40cf80;
}
.btn-border-success:active, .btn-border-success:focus, .btn-border-success:focus-within, .btn-border-success:hover {
  color: rgb(43.8235294118%, 85.8823529412%, 62.6470588235%);
  border-color: rgb(43.8235294118%, 85.8823529412%, 62.6470588235%);
}

.btn-warning {
  color: #1f1f2f;
  background-color: #ffc030;
  border: 1px solid rgba(255, 192, 48, 0.9);
}
.btn-warning:active, .btn-warning:focus, .btn-warning:focus-within, .btn-warning:hover {
  background-color: rgb(100%, 79%, 31%);
}

.btn-border-warning {
  color: #ffc030;
  border-color: #ffc030;
  border: 1px solid #ffc030;
}
.btn-border-warning:active, .btn-border-warning:focus, .btn-border-warning:focus-within, .btn-border-warning:hover {
  color: rgb(100%, 81.4705882353%, 39.1176470588%);
  border-color: rgb(100%, 81.4705882353%, 39.1176470588%);
}

.btn-danger {
  color: #efefff;
  background-color: #ff4040;
  border: 1px solid rgba(255, 64, 64, 0.9);
}
.btn-danger:active, .btn-danger:focus, .btn-danger:focus-within, .btn-danger:hover {
  background-color: rgb(100%, 36.3333333333%, 36.3333333333%);
}

.btn-border-danger {
  color: #ff4040;
  border-color: #ff4040;
  border: 1px solid #ff4040;
}
.btn-border-danger:active, .btn-border-danger:focus, .btn-border-danger:focus-within, .btn-border-danger:hover {
  color: rgb(100%, 43.8235294118%, 43.8235294118%);
  border-color: rgb(100%, 43.8235294118%, 43.8235294118%);
}

.btn-error {
  color: #efefff;
  background-color: #ff4040;
  border: 1px solid rgba(255, 64, 64, 0.9);
}
.btn-error:active, .btn-error:focus, .btn-error:focus-within, .btn-error:hover {
  background-color: rgb(100%, 36.3333333333%, 36.3333333333%);
}

.btn-border-error {
  color: #ff4040;
  border-color: #ff4040;
  border: 1px solid #ff4040;
}
.btn-border-error:active, .btn-border-error:focus, .btn-border-error:focus-within, .btn-border-error:hover {
  color: rgb(100%, 43.8235294118%, 43.8235294118%);
  border-color: rgb(100%, 43.8235294118%, 43.8235294118%);
}

.btn-muted {
  color: #efefff;
  background-color: #6f7880;
  border: 1px solid rgba(111, 120, 128, 0.9);
}
.btn-muted:active, .btn-muted:focus, .btn-muted:focus-within, .btn-muted:hover {
  background-color: rgb(51.6206415621%, 55.0223152022%, 58.0460251046%);
}

.btn-border-muted {
  color: #6f7880;
  border-color: #6f7880;
  border: 1px solid #6f7880;
}
.btn-border-muted:active, .btn-border-muted:focus, .btn-border-muted:focus-within, .btn-border-muted:hover {
  color: rgb(57.3123307901%, 60.3138075314%, 62.981786857%);
  border-color: rgb(57.3123307901%, 60.3138075314%, 62.981786857%);
}

.btn-white {
  color: #1f1f2f;
  background-color: #efefff;
  border: 1px solid rgba(239, 239, 255, 0.9);
}
.btn-white:active, .btn-white:focus, .btn-white:focus-within, .btn-white:hover {
  background-color: rgb(94.6666666667%, 94.6666666667%, 100%);
}

.btn-border-white {
  color: #efefff;
  border-color: #efefff;
  border: 1px solid #efefff;
}
.btn-border-white:active, .btn-border-white:focus, .btn-border-white:focus-within, .btn-border-white:hover {
  color: #f3f3ff;
  border-color: #f3f3ff;
}

.btn-black {
  color: #efefff;
  background-color: #1f1f2f;
  border: 1px solid rgba(31, 31, 47, 0.9);
}
.btn-black:active, .btn-black:focus, .btn-black:focus-within, .btn-black:hover {
  background-color: rgb(22.2564102564%, 22.2564102564%, 33.7435897436%);
}

.btn-border-black {
  color: #1f1f2f;
  border-color: #1f1f2f;
  border: 1px solid #1f1f2f;
}
.btn-border-black:active, .btn-border-black:focus, .btn-border-black:focus-within, .btn-border-black:hover {
  color: rgb(28.9894419306%, 28.9894419306%, 43.95173454%);
  border-color: rgb(28.9894419306%, 28.9894419306%, 43.95173454%);
}

.container {
  width: 100%;
}

.container-lg {
  width: clamp(300px, 85vw, 1360px);
}

.card {
  display: flex;
  flex-flow: column nowrap;
}
.card .card-body {
  padding: 1rem;
}

.scrollbar {
  overflow: auto !important;
}

.transition {
  transition: 0.15s ease-in-out;
}

.ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wrap {
  white-space: pre-wrap !important;
}

.nowrap {
  white-space: nowrap !important;
}

.image-wrapper {
  transition: 0.15s ease-in-out;
}
.image-wrapper img,
.image-wrapper video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.15s ease-in-out;
}

.spinner {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: -0.125rem;
  border-right-color: transparent !important;
  border-radius: 50%;
  animation: 0.75s linear infinite spin;
  border: 0.25rem solid var(--contrast);
}
.spinner.spinner-sm {
  width: 1.3rem;
  height: 1.3rem;
}

.alert {
  position: relative;
  padding: 1rem;
  margin-bottom: 1rem;
  border-radius: 0.15rem;
  border: 1px solid transparent;
}

.dropdown {
  position: relative;
  max-width: 15rem;
}
.dropdown .dropdown-button {
  display: contents;
}
.dropdown .dropdown-button > * {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dropdown .dropdown-menu {
  position: absolute;
  display: flex;
  flex-flow: column nowrap;
  min-width: 10rem;
  max-height: 20rem;
  padding: 1rem 0;
  right: 0;
  overflow: visible;
  z-index: 1000;
  box-shadow: 0 0.25rem 0.5rem 0 rgba(31, 31, 47, var(--alpha));
}
.dropdown .dropdown-menu .dropdown-header {
  flex: 0;
  display: flex;
  flex-flow: row wrap;
  margin-bottom: 1rem;
}
.dropdown .dropdown-menu .dropdown-items {
  flex: 1;
  display: flex;
  flex-flow: column nowrap;
  overflow: auto;
}
.dropdown .dropdown-menu .dropdown-footer {
  flex: 0;
  display: flex;
  flex-flow: row wrap;
  margin-top: 1rem;
}
.dropdown .dropdown-menu .dropdown-item {
  display: flex;
  align-items: center;
  padding: 0.25rem 1rem;
  width: 100%;
  white-space: nowrap;
  border: 1px solid rgba(0, 0, 0, 0.1);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}
.dropdown .dropdown-menu .dropdown-item:focus, .dropdown .dropdown-menu .dropdown-item:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.dropdown .dropdown-menu .dropdown-item:active {
  color: #ff4080;
  border-color: #ff4080;
}
.dropdown .dropdown-menu .dropdown-item.active {
  font-weight: 500;
  background-color: #ff4080;
  color: #efefff;
}
.dropdown .dropdown-menu .dropdown-divider {
  border-color: #6f7880;
}

@media screen and (max-width: 680px) {
  .dropdown .dropdown-menu {
    position: fixed;
    width: 100%;
    height: 100%;
    max-width: 100%;
    min-height: 100%;
    top: 0;
  }
}
.flex {
  display: flex;
}

.inline-flex {
  display: inline-flex;
}

.block {
  display: block;
}

.inline-block {
  display: inline-block;
}

.flex-0 {
  flex: 0 !important;
}

.flex-1 {
  flex: 1 !important;
}

.flex-2 {
  flex: 2 !important;
}

.flex-3 {
  flex: 3 !important;
}

.flex-4 {
  flex: 4 !important;
}

.flex-5 {
  flex: 5 !important;
}

.flex-6 {
  flex: 6 !important;
}

.flex-7 {
  flex: 7 !important;
}

.flex-8 {
  flex: 8 !important;
}

.flex-9 {
  flex: 9 !important;
}

.flex-100 {
  flex-basis: 100% !important;
}

.flex-row {
  display: flex;
  flex-direction: row;
}

.flex-row-wrap {
  display: flex;
  flex-flow: row wrap;
}

.flex-row-nowrap {
  display: flex;
  flex-flow: row nowrap;
}

.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-column-wrap {
  display: flex;
  flex-flow: column wrap;
}

.flex-column-nowrap {
  display: flex;
  flex-flow: column nowrap;
}

.content-top {
  display: flex;
  align-items: flex-start;
}

.content-top-left {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
}

.content-top-right {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
}

.content-top-justify {
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

.content-top-between {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.content-top-around {
  display: flex;
  align-items: flex-start;
  justify-content: space-around;
}

.content-bottom {
  display: flex;
  align-items: flex-end;
}

.content-bottom-left {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
}

.content-bottom-right {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}

.content-bottom-justify {
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.content-bottom-between {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

.content-bottom-around {
  display: flex;
  align-items: flex-end;
  justify-content: space-around;
}

.content-align {
  display: flex;
  align-items: center;
}

.content-align-left {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.content-align-right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.content-align-justify {
  display: flex;
  align-items: center;
  justify-content: center;
}

.content-align-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.content-align-around {
  display: flex;
  align-items: center;
  justify-content: space-around;
}

.content-left {
  display: flex;
  justify-content: flex-start;
}

.content-right {
  display: flex;
  justify-content: flex-end;
}

.content-justify {
  display: flex;
  justify-content: center;
}

.content-between {
  display: flex;
  justify-content: space-between;
}

.content-around {
  display: flex;
  justify-content: space-around;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

.flex-nowrap {
  flex-wrap: nowrap !important;
}

input.input,
select.input,
textarea.input {
  flex: 1;
  padding: 0.35rem 0.7rem;
  border-radius: 0.15rem;
  border: 1px solid transparent;
}
input.input:not(.readonly),
select.input:not(.readonly),
textarea.input:not(.readonly) {
  background-color: rgba(0, 0, 0, 0.1);
  border-color: rgba(255, 255, 255, 0.1);
}
input.input[type=color],
select.input[type=color],
textarea.input[type=color] {
  height: 3rem;
  width: 1.5rem;
}
input.input[type=color]:not(.readonly),
select.input[type=color]:not(.readonly),
textarea.input[type=color]:not(.readonly) {
  cursor: pointer;
}
input.input[type=checkbox],
select.input[type=checkbox],
textarea.input[type=checkbox] {
  width: 2em;
  height: 1em;
  margin: 0;
  background-color: #efefff;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
  background-position: left center;
  border-radius: 100rem;
  appearance: none;
  border: 1px solid #6f7880;
  transition: border-color 0.15s ease-in-out, background-color 0.15s ease-in-out, background-position 0.15s ease-in-out;
}
input.input[type=checkbox]:checked,
select.input[type=checkbox]:checked,
textarea.input[type=checkbox]:checked {
  background-color: #7f7fff;
  border-color: #7f7fff;
  background-position: right center;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}

select.input {
  cursor: pointer;
}
select.input option {
  color: var(--text-1);
  background-color: var(--bg-1);
}

.form {
  display: flex;
  flex-flow: column nowrap;
}
.form .form-header {
  flex: 0;
  margin-bottom: 1rem;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}
.form .form-content {
  flex: 1;
  display: flex;
  flex-flow: column nowrap;
  padding-left: 0.5rem;
}
.form .form-footer {
  flex: 0;
  margin-top: 1rem;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}

.form-field {
  display: flex;
  flex-flow: row wrap;
  min-width: 15rem;
  margin-bottom: 1.5rem;
}
.form-field .form-field {
  margin-bottom: 0;
}
.form-field .form-field-label {
  flex: 1;
  display: flex;
  align-items: center;
}
.form-field .form-field-input {
  flex: 3;
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  min-width: 15rem;
}

@media screen and (max-width: 680px) {
  .form {
    overflow: auto;
  }
  .form .form-content {
    overflow-x: hidden;
    overflow-y: auto;
    padding-right: 0.5rem;
  }
  .form-field {
    flex-flow: column nowrap;
  }
  .form-field .form-field-label {
    margin-bottom: 0.5rem;
  }
  .form-field .form-field-input {
    flex: 1;
  }
}
.img-sm {
  width: var(--img-sm-w);
  height: var(--img-sm-h);
}

.img-md {
  width: var(--img-md-w);
  height: var(--img-md-h);
}

.img-lg {
  width: var(--img-lg-w);
  height: var(--img-lg-h);
}

.list {
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  padding-right: 0.5rem;
}
.list .list-item {
  display: flex;
  align-items: center;
  padding: 0.5rem;
  width: 100%;
  white-space: nowrap;
  border: 1px solid rgba(0, 0, 0, 0.1);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}
.list .list-item:focus, .list .list-item:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.list .list-item.active, .list .list-item:active {
  color: #ff4080;
  border-color: #ff4080;
}

.nav,
.navbar {
  display: flex;
  align-items: center;
  padding: 0.25rem 0.5rem;
}

.nav-link {
  display: inline-block;
  color: var(--text-1);
  transition: color 0.15s ease-in-out;
}
.nav-link.active:not([disabled]), .nav-link:active:not([disabled]), .nav-link:focus:not([disabled]), .nav-link:hover:not([disabled]) {
  color: var(--text-3);
}

.text-shadow {
  text-shadow: 0 0.15rem 0.3rem rgba(31, 31, 47, var(--alpha));
}

.shadow {
  box-shadow: 0 0.25rem 0.5rem 0 rgba(31, 31, 47, var(--alpha));
}

.ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bold {
  font-weight: 700;
}

.italic {
  font-style: italic;
}

.underline {
  text-decoration: underline;
}

.Dropdown .dropdown-menu .inline {
  display: grid;
  grid-template-columns: repeat(4, auto);
}
.Dropdown .dropdown-menu .inline .dropdown-item {
  text-align: center;
}

.Gallery .image-list {
  flex: 1;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  box-shadow: inset 0px 1.5rem 1.5rem -1.5rem rgba(0, 0, 0, 0.6);
}
.Gallery .gallery-image {
  cursor: pointer;
  position: relative;
}
.Gallery .gallery-image .video-marker {
  position: absolute;
  font-size: 1.5rem;
  top: 0;
  left: 0;
  opacity: 0.9;
  text-shadow: 0 0 0.5rem black;
}
.Gallery .gallery-image .btn-quick-cover {
  position: absolute;
  opacity: 0;
  top: 0;
  right: 0;
}
.Gallery .gallery-image:hover {
  z-index: 1;
  transform: scale(1.1);
  box-shadow: 0 0 0.5rem 0.15rem rgba(0, 0, 0, 0.6);
}
.Gallery .gallery-image:hover .btn-quick-cover {
  opacity: 1;
}
.Gallery .gallery-image img:hover {
  filter: brightness(1.3);
}
.Gallery .gallery-image.cover {
  box-shadow: 0 0 0 0.25rem #ff4080;
}

.HolidayCardPlaceHolder {
  overflow: hidden;
  max-width: 95vw;
}
.HolidayCardPlaceHolder:not(.full) {
  width: var(--img-md-w);
}

.HolidayCard {
  transition: width 0.15s ease-in-out, height 0.15s ease-in-out, margin 0.15s ease-in-out, opacity 0.15s ease-in-out;
  overflow: hidden;
  max-width: 95vw;
}
.HolidayCard:not(.full) {
  width: var(--img-md-w);
}
.HolidayCard:not(.full).expanded {
  width: var(--img-lg-w);
}
.HolidayCard .card-image {
  width: var(--img-md-w);
  height: var(--img-md-h);
}
.HolidayCard .image-selection {
  display: grid;
  grid-auto-flow: row;
  grid-template-columns: repeat(3, var(--img-sm-w));
}
.HolidayCard .holiday-participant {
  overflow: hidden;
}
.HolidayCard.expanded .card-image {
  width: var(--img-lg-w);
  height: var(--img-lg-h);
}
.HolidayCard.expanded .Image img:hover {
  transform: scale(1.1);
  box-shadow: 0 0 0.5rem 0.15rem rgba(0, 0, 0, 0.6);
  cursor: pointer;
}
.HolidayCard:not(.expanded) {
  cursor: pointer;
}
.HolidayCard:not(.expanded) .holiday-participant {
  width: 12px;
  height: 12px;
  padding: 0;
  display: inline-block;
}
.HolidayCard:not(.expanded) .participant-line {
  display: inline-flex;
}

.Logo,
.Logo .logo-infinity {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
}
.Logo.animate .logo-infinity {
  animation: logo-spin 0.6s ease-in-out;
}
.Logo.animate .logo-o {
  animation: logo-pulse 0.6s ease-in-out;
}
.Logo .logo-circle {
  width: 32px;
  height: 32px;
  border: 8px solid #f8f8ff;
  border-radius: 50%;
  margin: 0;
  padding: 0;
}
.Logo .logo-infinity {
  margin-right: 4px;
}
.Logo .logo-infinity-left {
  margin-right: -8px;
  background-color: var(--primary);
}
.Logo .logo-infinity-right {
  background-color: var(--secondary);
}

@media screen and (min-width: 480px) and (max-width: 680px) {
  .SearchBar {
    position: fixed;
    top: 0;
    inset-inline-end: 3rem;
    z-index: 1;
  }
}
.Field.embedded {
  display: contents;
}
.Field input {
  max-width: 100%;
}

.GalleryPage {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: auto;
}
.GalleryPage .gallery-title {
  max-width: 50vw;
}

@media screen and (min-width: 680px) {
  .MemberSelectionPage .members-list {
    flex-flow: row wrap;
  }
  .MemberSelectionPage .members-list .member:not(:last-child) {
    margin-right: 2rem;
  }
}
@media screen and (max-width: 680px) {
  .MemberSelectionPage .members-list {
    flex-flow: column nowrap;
  }
  .MemberSelectionPage .members-list .member:not(:last-child) {
    margin-bottom: 2rem;
  }
}
.MemberSelectionPage .card {
  cursor: pointer;
}
.MemberSelectionPage .card:hover .member-icon {
  transform: scale(1.1);
}
.MemberSelectionPage .member-icon {
  font-size: 5em;
  transition: 0.15s ease-in-out;
}
.MemberSelectionPage .member-name {
  font-size: 1.5em;
  transition: 0.15s ease-in-out;
}

.ModelList {
  flex: 1;
  display: flex;
  overflow: auto;
  position: relative;
}
.ModelList .model-list {
  width: 100%;
  min-width: 30vw;
}
.ModelList .model-list .list {
  box-shadow: inset 0px 1.5rem 1.5rem -1.5rem rgba(0, 0, 0, 0.6);
}
.ModelList .field-container {
  display: flex;
}
.ModelList .field-container .field {
  flex: 1;
}
.ModelList .selected-info {
  width: 100%;
  min-width: 70vw;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 680px) {
  .ModelList .selected-info .form {
    height: 100%;
  }
}
.ModelList .btn-create {
  max-width: 30vw;
}
.ModelList .selected-preview {
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}

.ModelList.participant-list .selected-holidays {
  overflow: auto;
  display: flex;
  flex-direction: column;
}

.ModelList.tag-list .selected-holidays {
  overflow: auto;
  display: flex;
  flex-direction: column;
}

.TimelinePage {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow-x: auto;
}
.TimelinePage .timeline-items {
  display: flex;
  flex-direction: row-reverse;
}
@media screen and (max-width: 680px) {
  .TimelinePage .timeline-items {
    scroll-snap-type: x mandatory;
  }
}
.TimelinePage .timeline-item {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.TimelinePage .timeline-item .timeline-year {
  position: relative;
  font-weight: bold;
  cursor: pointer;
  user-select: none;
}
.TimelinePage .timeline-item .timeline-year:hover {
  filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.5));
}
.TimelinePage .timeline-item:not(:last-child) .timeline-year {
  padding-left: 32px;
}
@media screen and (min-width: 680px) {
  .TimelinePage .timeline-item:not(:first-child) .timeline-year:after {
    content: "";
    position: absolute;
    z-index: 1;
    border-bottom: 20px solid transparent;
    border-top: 20px solid transparent;
    border-left-width: 20px;
    border-left-style: solid;
    height: 0px;
    width: 0px;
    margin-right: -20px;
    right: 0;
  }
}
@media screen and (max-width: 680px) {
  .TimelinePage .timeline-item {
    min-width: 100vw;
    scroll-snap-align: start;
    scroll-snap-type: y;
  }
  .TimelinePage .timeline-item .card {
    width: 100%;
    scroll-snap-align: start;
  }
  .TimelinePage .timeline-item .card .card-image {
    width: 100%;
  }
}

.WorldMap .map-container {
  flex: 1;
  position: relative;
}
.WorldMap .side-panel {
  position: absolute;
  height: 100%;
  right: 0;
  top: 0;
}
.WorldMap .side-panel .side-panel-title {
  width: 256px;
}

.AlertManager {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 900;
  display: flex;
  flex-direction: column;
}

.App > .scrollbar {
  height: 100%;
}
.App > .scrollbar > :not(.height-auto) {
  height: 100%;
  overflow: hidden;
}

.Header .user-info {
  display: flex;
  align-items: center;
}

.Viewer {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  background-color: rgba(0, 0, 0, 0.8);
  width: 100%;
  height: 100%;
}
.Viewer .navbar {
  background-image: linear-gradient(rgba(0, 0, 0, 0.6), transparent);
  position: fixed;
  transition: transform 0.15s;
  width: 100vw;
  z-index: 20;
}
.Viewer .navbar.navbar-hidden {
  transform: translateY(-100%);
}
.Viewer .navbar .viewer-action {
  flex: 0;
}
.Viewer .navbar .displayed-image-title {
  flex: 1;
  text-align: center;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.Viewer .navbar .image-actions {
  text-align: right;
}
.Viewer .image-display {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: auto;
}
.Viewer .image-display > .btn {
  height: 100%;
  opacity: 0;
  position: absolute;
  top: 0;
  width: clamp(10%, 8rem, 25%);
  z-index: 5;
}
.Viewer .image-display > .btn.btn-play {
  font-size: 10rem;
  opacity: 0.6;
}
.Viewer .image-display > .btn:hover {
  opacity: 1;
}
.Viewer .image-display img,
.Viewer .image-display video {
  max-height: 100%;
  max-width: 100%;
}
.Viewer .btn-previous {
  left: 0;
}
.Viewer .btn-next {
  right: 0;
}

.Field.color .field-value > input {
  flex: 3;
}
.Field.color .field-value > *:not(input) {
  flex: 1;
}

.Field.date .field-value > :not(.separator) {
  flex: 1;
}

.Field.dropbox-folder .folder-part {
  cursor: pointer;
  transition: color 0.15s;
}
.Field.dropbox-folder .folder-part:hover {
  color: var(--danger);
}
.Field.dropbox-folder .dropdown {
  flex: 1;
  max-width: none;
}

.Field.input .field-value > input {
  flex: 3;
}
.Field.input .field-value > *:not(input) {
  flex: 1;
}

.Field.model .field-value {
  flex-flow: row wrap;
  border: 1px solid transparent;
  border-radius: 0.25rem;
}
.Field.model .remove-entry {
  cursor: pointer;
}

.Field.title input {
  border-radius: 0.25rem;
  border-width: 1px;
}
