/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[6].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[6].rules[0].oneOf[0].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[6].rules[1].use[0]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[6].rules[1].use[1]!./src/styles.scss?ngGlobalStyle ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* Functional styling;
 * These styles are required for noUiSlider to function.
 * You don't need to change these rules to apply your design.
 */
.noUi-target,
.noUi-target * {
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-user-select: none;
  touch-action: none;
  user-select: none;
  box-sizing: border-box;
}

.noUi-target {
  position: relative;
}

.noUi-base,
.noUi-connects {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
}

/* Wrapper for all connect elements.
 */
.noUi-connects {
  overflow: hidden;
  z-index: 0;
}

.noUi-connect,
.noUi-origin {
  will-change: transform;
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  height: 100%;
  width: 100%;
  -ms-transform-origin: 0 0;
  -webkit-transform-origin: 0 0;
  -webkit-transform-style: preserve-3d;
  transform-origin: 0 0;
  transform-style: flat;
}

/* Offset direction
 */
.noUi-txt-dir-rtl.noUi-horizontal .noUi-origin {
  left: 0;
  right: auto;
}

/* Give origins 0 height/width so they don't interfere with clicking the
 * connect elements.
 */
.noUi-vertical .noUi-origin {
  top: -100%;
  width: 0;
}

.noUi-horizontal .noUi-origin {
  height: 0;
}

.noUi-handle {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  position: absolute;
}

.noUi-touch-area {
  height: 100%;
  width: 100%;
}

.noUi-state-tap .noUi-connect,
.noUi-state-tap .noUi-origin {
  transition: transform 0.3s;
}

.noUi-state-drag * {
  cursor: inherit !important;
}

/* Slider size and handle placement;
 */
.noUi-horizontal {
  height: 18px;
}

.noUi-horizontal .noUi-handle {
  width: 34px;
  height: 28px;
  right: -17px;
  top: -6px;
}

.noUi-vertical {
  width: 18px;
}

.noUi-vertical .noUi-handle {
  width: 28px;
  height: 34px;
  right: -6px;
  bottom: -17px;
}

.noUi-txt-dir-rtl.noUi-horizontal .noUi-handle {
  left: -17px;
  right: auto;
}

/* Styling;
 * Giving the connect element a border radius causes issues with using transform: scale
 */
.noUi-target {
  background: #FAFAFA;
  border-radius: 4px;
  border: 1px solid #D3D3D3;
  box-shadow: inset 0 1px 1px #F0F0F0, 0 3px 6px -5px #BBB;
}

.noUi-connects {
  border-radius: 3px;
}

.noUi-connect {
  background: #3FB8AF;
}

/* Handles and cursors;
 */
.noUi-draggable {
  cursor: ew-resize;
}

.noUi-vertical .noUi-draggable {
  cursor: ns-resize;
}

.noUi-handle {
  border: 1px solid #D9D9D9;
  border-radius: 3px;
  background: #FFF;
  cursor: default;
  box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #EBEBEB, 0 3px 6px -3px #BBB;
}

.noUi-active {
  box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #DDD, 0 3px 6px -3px #BBB;
}

/* Handle stripes;
 */
.noUi-handle:before,
.noUi-handle:after {
  content: "";
  display: block;
  position: absolute;
  height: 14px;
  width: 1px;
  background: #E8E7E6;
  left: 14px;
  top: 6px;
}

.noUi-handle:after {
  left: 17px;
}

.noUi-vertical .noUi-handle:before,
.noUi-vertical .noUi-handle:after {
  width: 14px;
  height: 1px;
  left: 6px;
  top: 14px;
}

.noUi-vertical .noUi-handle:after {
  top: 17px;
}

/* Disabled state;
 */
[disabled] .noUi-connect {
  background: #B8B8B8;
}

[disabled].noUi-target,
[disabled].noUi-handle,
[disabled] .noUi-handle {
  cursor: not-allowed;
}

/* Base;
 *
 */
.noUi-pips,
.noUi-pips * {
  box-sizing: border-box;
}

.noUi-pips {
  position: absolute;
  color: #999;
}

/* Values;
 *
 */
.noUi-value {
  position: absolute;
  white-space: nowrap;
  text-align: center;
}

.noUi-value-sub {
  color: #ccc;
  font-size: 10px;
}

/* Markings;
 *
 */
.noUi-marker {
  position: absolute;
  background: #CCC;
}

.noUi-marker-sub {
  background: #AAA;
}

.noUi-marker-large {
  background: #AAA;
}

/* Horizontal layout;
 *
 */
.noUi-pips-horizontal {
  padding: 10px 0;
  height: 80px;
  top: 100%;
  left: 0;
  width: 100%;
}

.noUi-value-horizontal {
  transform: translate(-50%, 50%);
}

.noUi-rtl .noUi-value-horizontal {
  transform: translate(50%, 50%);
}

.noUi-marker-horizontal.noUi-marker {
  margin-left: -1px;
  width: 2px;
  height: 5px;
}

.noUi-marker-horizontal.noUi-marker-sub {
  height: 10px;
}

.noUi-marker-horizontal.noUi-marker-large {
  height: 15px;
}

/* Vertical layout;
 *
 */
.noUi-pips-vertical {
  padding: 0 10px;
  height: 100%;
  top: 0;
  left: 100%;
}

.noUi-value-vertical {
  transform: translate(0, -50%);
  padding-left: 25px;
}

.noUi-rtl .noUi-value-vertical {
  transform: translate(0, 50%);
}

.noUi-marker-vertical.noUi-marker {
  width: 5px;
  height: 2px;
  margin-top: -1px;
}

.noUi-marker-vertical.noUi-marker-sub {
  width: 10px;
}

.noUi-marker-vertical.noUi-marker-large {
  width: 15px;
}

.noUi-tooltip {
  display: block;
  position: absolute;
  border: 1px solid #D9D9D9;
  border-radius: 3px;
  background: #fff;
  color: #000;
  padding: 5px;
  text-align: center;
  white-space: nowrap;
}

.noUi-horizontal .noUi-tooltip {
  transform: translate(-50%, 0);
  left: 50%;
  bottom: 120%;
}

.noUi-vertical .noUi-tooltip {
  transform: translate(0, -50%);
  top: 50%;
  right: 120%;
}

.noUi-horizontal .noUi-origin > .noUi-tooltip {
  transform: translate(50%, 0);
  left: auto;
  bottom: 10px;
}

.noUi-vertical .noUi-origin > .noUi-tooltip {
  transform: translate(0, -18px);
  top: auto;
  right: 28px;
}

.draw-attention {
  animation-name: draw-attention;
  animation-duration: 1.64s;
  animation-iteration-count: 1;
  animation-timing-function: cubic-bezier(0.36, 0.07, 0.19, 0.97);
  animation-fill-mode: both;
  transform: translate3d(0, 0, 0);
}

@keyframes draw-attention {
  5%, 95% {
    transform: translate3d(-1px, 0, 0);
  }
  10%, 90% {
    transform: translate3d(2px, 0, 0);
  }
  15%, 25%, 75%, 85% {
    transform: translate3d(-4px, 0, 0);
  }
  20%, 30%, 70%, 80% {
    transform: translate3d(4px, 0, 0);
  }
  35%, 45%, 55%, 65% {
    transform: translate3d(-6px, 0, 0);
  }
  40%, 50%, 60% {
    transform: translate3d(6px, 0, 0);
  }
}
.box {
  background-color: var(--page-background);
  border: solid 0.1rem color-mix(in srgb, var(--primary-color) 50%, transparent);
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: var(--spacing-medium);
  margin-bottom: var(--spacing-medium);
  position: relative;
  border-radius: 0.4rem;
}
.box > .title {
  font-weight: bold;
  border-bottom: 0.1rem solid var(--divider-color);
  padding-bottom: var(--spacing-small);
  margin-bottom: var(--spacing-medium);
}
.box > .title.has-menu {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.box > .title.has-menu .overflow-ellipsis {
  flex: 1 1 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.box > .title.has-menu button {
  padding: 0;
}
.box > .title mat-slide-toggle {
  --mat-switch-label-text-weight: bold;
}
.box > .title .mat-slide-toggle.mat-slide-toggle-label-before {
  margin: 0;
  flex: 1 1 0;
}
.box > .title .menu {
  box-sizing: content-box;
  width: 1em;
  height: 1em;
  margin: calc(var(--spacing-small) / -2) calc(var(--spacing-small) / -2 - 0.25em) calc(var(--spacing-small) / -2) 0;
  line-height: 1em;
  font-size: calc(1.4em + var(--spacing-small));
}
.box > .title .menu .mat-button-wrapper {
  width: 1em;
  height: 1em;
  line-height: 1em;
  display: block;
}
.box > .title .menu .mat-button-wrapper mat-icon.mat-icon {
  display: block;
  position: relative;
  width: 1em;
  height: 1em;
  line-height: 1em;
  font-size: 1em;
  top: 0.05em;
}
.box > .title:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}
.box > .title.no-padding {
  padding: 0;
}
.box > .title.no-padding table thead > tr:first-child > td {
  border-top: none;
}
.box > .title.no-padding table tbody > tr:last-child > td {
  border-bottom: none;
}
.box > .title.no-padding table td:first-child, .box > .title.no-padding table th:first-child {
  border-left: none;
}
.box > .title.no-padding table td:first-child, .box > .title.no-padding table th:last-child {
  border-right: none;
}
.box table {
  width: 100%;
}
.box:last-child {
  margin-bottom: 0;
}
.box.borderless {
  border: none;
  border-radius: 0;
  margin-bottom: 0;
}

table.box {
  display: table;
  padding: 0;
}

.module-item-list {
  padding: var(--spacing-medium) 0;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-medium);
  overflow-y: scroll;
  overflow-x: hidden;
  box-shadow: inset 0 0 0.4rem rgba(0, 0, 0, 0.5);
  border-radius: var(--corner-radius);
}
.module-item-list .module-item {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-small);
  width: 100%;
  box-sizing: border-box;
  padding: var(--spacing-medium);
  position: relative;
  box-shadow: 0 0 0.4rem rgba(0, 0, 0, 0.5);
}
.module-item-list .module-item > .header {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  border-bottom: 0.1rem solid var(--divider-color);
  padding-bottom: var(--spacing-small);
}
.module-item-list .module-item > .header > * {
  height: var(--line-height);
}
.module-item-list .module-item > .header > * > .mat-mdc-icon-button {
  position: relative;
  top: calc(-1 * var(--spacing-medium));
  right: calc(-1 * var(--spacing-medium));
}
.module-item-list .module-item > .header > .title {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--spacing-small);
  font-weight: bold;
  height: auto;
}

fieldset {
  border: solid 0.1rem var(--divider-color);
  border-radius: var(--corner-radius);
  padding: 0 var(--spacing-small) var(--spacing-small);
}
fieldset legend {
  padding: 0 var(--spacing-small);
  line-height: 1;
}

/* modeled from Tailwind CSS framework https://tailwindcss.com/docs */
/* flex box */
.flex {
  display: flex;
}

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

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

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

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

.flex-1 {
  flex: 1 1 0%;
}

.flex-auto {
  flex: 1 1 auto;
}

.flex-initial {
  flex: 0 1 auto;
}

.flex-none {
  flex: none;
}

.flex-grow-0 {
  flex-grow: 0;
}

.flex-grow {
  flex-grow: 1;
}

.flex-shrink-0 {
  flex-shrink: 0;
}

.flex-shrink {
  flex-shrink: 1;
}

.justify-items-auto {
  justify-items: auto;
}

.justify-items-start {
  justify-items: start;
}

.justify-items-end {
  justify-items: end;
}

.justify-items-center {
  justify-items: center;
}

.justify-items-stretch {
  justify-items: stretch;
}

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

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

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

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

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

.justify-evenly {
  justify-content: space-evenly;
}

.justify-self-auto {
  justify-self: auto;
}

.justify-self-start {
  justify-self: start;
}

.justify-self-end {
  justify-self: end;
}

.justify-self-center {
  justify-self: center;
}

.justify-self-stretch {
  justify-self: stretch;
}

.items-start {
  align-items: flex-start;
}

.items-end {
  align-items: flex-end;
}

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

.items-baseline {
  align-items: baseline;
}

.items-stretch {
  align-items: stretch;
}

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

.content-start {
  align-content: flex-start;
}

.content-end {
  align-content: flex-end;
}

.content-between {
  align-content: space-between;
}

.content-around {
  align-content: space-around;
}

.content-evenly {
  align-content: space-evenly;
}

.self-auto {
  align-self: auto;
}

.self-start {
  align-self: flex-start;
}

.self-end {
  align-self: flex-end;
}

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

.self-stretch {
  align-self: stretch;
}

.vertical-super {
  vertical-align: super;
}

.vertical-bottom {
  vertical-align: bottom;
}

.vertical-middle {
  vertical-align: middle;
}

.scroll-y-auto {
  overflow-y: auto;
}

/* spacing (margins, padding, and box sizing) */
/* generates things lkie e.g. m-0, m-4 and ml-2, mr-2, mx-2 for single and
double sided margins (mx being horitonal and my being vertical)
*/
.m-0 {
  margin: 0rem;
}

.mt-0 {
  margin-top: 0rem;
}

.mb-0 {
  margin-bottom: 0rem;
}

.ml-0 {
  margin-left: 0rem;
}

.mr-0 {
  margin-right: 0rem;
}

.mx-0 {
  margin-left: 0rem;
  margin-right: 0rem;
}

.my-0 {
  margin-top: 0rem;
  margin-bottom: 0rem;
}

.m-1 {
  margin: 0.4rem;
}

.mt-1 {
  margin-top: 0.4rem;
}

.mb-1 {
  margin-bottom: 0.4rem;
}

.ml-1 {
  margin-left: 0.4rem;
}

.mr-1 {
  margin-right: 0.4rem;
}

.mx-1 {
  margin-left: 0.4rem;
  margin-right: 0.4rem;
}

.my-1 {
  margin-top: 0.4rem;
  margin-bottom: 0.4rem;
}

.m-2 {
  margin: 0.8rem;
}

.mt-2 {
  margin-top: 0.8rem;
}

.mb-2 {
  margin-bottom: 0.8rem;
}

.ml-2 {
  margin-left: 0.8rem;
}

.mr-2 {
  margin-right: 0.8rem;
}

.mx-2 {
  margin-left: 0.8rem;
  margin-right: 0.8rem;
}

.my-2 {
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
}

.m-3 {
  margin: 1.2rem;
}

.mt-3 {
  margin-top: 1.2rem;
}

.mb-3 {
  margin-bottom: 1.2rem;
}

.ml-3 {
  margin-left: 1.2rem;
}

.mr-3 {
  margin-right: 1.2rem;
}

.mx-3 {
  margin-left: 1.2rem;
  margin-right: 1.2rem;
}

.my-3 {
  margin-top: 1.2rem;
  margin-bottom: 1.2rem;
}

.m-4 {
  margin: 1.6rem;
}

.mt-4 {
  margin-top: 1.6rem;
}

.mb-4 {
  margin-bottom: 1.6rem;
}

.ml-4 {
  margin-left: 1.6rem;
}

.mr-4 {
  margin-right: 1.6rem;
}

.mx-4 {
  margin-left: 1.6rem;
  margin-right: 1.6rem;
}

.my-4 {
  margin-top: 1.6rem;
  margin-bottom: 1.6rem;
}

.m-5 {
  margin: 2rem;
}

.mt-5 {
  margin-top: 2rem;
}

.mb-5 {
  margin-bottom: 2rem;
}

.ml-5 {
  margin-left: 2rem;
}

.mr-5 {
  margin-right: 2rem;
}

.mx-5 {
  margin-left: 2rem;
  margin-right: 2rem;
}

.my-5 {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.m-6 {
  margin: 2.4rem;
}

.mt-6 {
  margin-top: 2.4rem;
}

.mb-6 {
  margin-bottom: 2.4rem;
}

.ml-6 {
  margin-left: 2.4rem;
}

.mr-6 {
  margin-right: 2.4rem;
}

.mx-6 {
  margin-left: 2.4rem;
  margin-right: 2.4rem;
}

.my-6 {
  margin-top: 2.4rem;
  margin-bottom: 2.4rem;
}

.m-7 {
  margin: 2.8rem;
}

.mt-7 {
  margin-top: 2.8rem;
}

.mb-7 {
  margin-bottom: 2.8rem;
}

.ml-7 {
  margin-left: 2.8rem;
}

.mr-7 {
  margin-right: 2.8rem;
}

.mx-7 {
  margin-left: 2.8rem;
  margin-right: 2.8rem;
}

.my-7 {
  margin-top: 2.8rem;
  margin-bottom: 2.8rem;
}

.m-8 {
  margin: 3.2rem;
}

.mt-8 {
  margin-top: 3.2rem;
}

.mb-8 {
  margin-bottom: 3.2rem;
}

.ml-8 {
  margin-left: 3.2rem;
}

.mr-8 {
  margin-right: 3.2rem;
}

.mx-8 {
  margin-left: 3.2rem;
  margin-right: 3.2rem;
}

.my-8 {
  margin-top: 3.2rem;
  margin-bottom: 3.2rem;
}

/* generates things lkie e.g. m-0, m-4 and ml-2, mr-2, mx-2 for single and
double sided margins (mx being horitonal and my being vertical)
*/
.p-0 {
  padding: 0rem;
}

.pt-0 {
  padding-top: 0rem;
}

.pb-0 {
  padding-bottom: 0rem;
}

.pl-0 {
  padding-left: 0rem;
}

.pr-0 {
  padding-right: 0rem;
}

.px-0 {
  padding-left: 0rem;
  padding-right: 0rem;
}

.py-0 {
  padding-top: 0rem;
  padding-bottom: 0rem;
}

.p-1 {
  padding: 0.4rem;
}

.pt-1 {
  padding-top: 0.4rem;
}

.pb-1 {
  padding-bottom: 0.4rem;
}

.pl-1 {
  padding-left: 0.4rem;
}

.pr-1 {
  padding-right: 0.4rem;
}

.px-1 {
  padding-left: 0.4rem;
  padding-right: 0.4rem;
}

.py-1 {
  padding-top: 0.4rem;
  padding-bottom: 0.4rem;
}

.p-2 {
  padding: 0.8rem;
}

.pt-2 {
  padding-top: 0.8rem;
}

.pb-2 {
  padding-bottom: 0.8rem;
}

.pl-2 {
  padding-left: 0.8rem;
}

.pr-2 {
  padding-right: 0.8rem;
}

.px-2 {
  padding-left: 0.8rem;
  padding-right: 0.8rem;
}

.py-2 {
  padding-top: 0.8rem;
  padding-bottom: 0.8rem;
}

.p-3 {
  padding: 1.2rem;
}

.pt-3 {
  padding-top: 1.2rem;
}

.pb-3 {
  padding-bottom: 1.2rem;
}

.pl-3 {
  padding-left: 1.2rem;
}

.pr-3 {
  padding-right: 1.2rem;
}

.px-3 {
  padding-left: 1.2rem;
  padding-right: 1.2rem;
}

.py-3 {
  padding-top: 1.2rem;
  padding-bottom: 1.2rem;
}

.p-4 {
  padding: 1.6rem;
}

.pt-4 {
  padding-top: 1.6rem;
}

.pb-4 {
  padding-bottom: 1.6rem;
}

.pl-4 {
  padding-left: 1.6rem;
}

.pr-4 {
  padding-right: 1.6rem;
}

.px-4 {
  padding-left: 1.6rem;
  padding-right: 1.6rem;
}

.py-4 {
  padding-top: 1.6rem;
  padding-bottom: 1.6rem;
}

.p-5 {
  padding: 2rem;
}

.pt-5 {
  padding-top: 2rem;
}

.pb-5 {
  padding-bottom: 2rem;
}

.pl-5 {
  padding-left: 2rem;
}

.pr-5 {
  padding-right: 2rem;
}

.px-5 {
  padding-left: 2rem;
  padding-right: 2rem;
}

.py-5 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.p-6 {
  padding: 2.4rem;
}

.pt-6 {
  padding-top: 2.4rem;
}

.pb-6 {
  padding-bottom: 2.4rem;
}

.pl-6 {
  padding-left: 2.4rem;
}

.pr-6 {
  padding-right: 2.4rem;
}

.px-6 {
  padding-left: 2.4rem;
  padding-right: 2.4rem;
}

.py-6 {
  padding-top: 2.4rem;
  padding-bottom: 2.4rem;
}

.p-7 {
  padding: 2.8rem;
}

.pt-7 {
  padding-top: 2.8rem;
}

.pb-7 {
  padding-bottom: 2.8rem;
}

.pl-7 {
  padding-left: 2.8rem;
}

.pr-7 {
  padding-right: 2.8rem;
}

.px-7 {
  padding-left: 2.8rem;
  padding-right: 2.8rem;
}

.py-7 {
  padding-top: 2.8rem;
  padding-bottom: 2.8rem;
}

.p-8 {
  padding: 3.2rem;
}

.pt-8 {
  padding-top: 3.2rem;
}

.pb-8 {
  padding-bottom: 3.2rem;
}

.pl-8 {
  padding-left: 3.2rem;
}

.pr-8 {
  padding-right: 3.2rem;
}

.px-8 {
  padding-left: 3.2rem;
  padding-right: 3.2rem;
}

.py-8 {
  padding-top: 3.2rem;
  padding-bottom: 3.2rem;
}

.box-border {
  box-sizing: border-box;
}

.box-content {
  box-sizing: content-box;
}

/* typography */
.italic {
  font-style: italic;
}

.text-black {
  color: #000000;
}

.text-sm {
  font-size: 1rem;
  line-height: 1.4;
}

.text-base {
  font-size: 1.2rem;
  line-height: 1.4;
}

.text-lg {
  font-size: 1.4rem;
  line-height: 1.4;
}

.text-xl {
  font-size: 1.6rem;
  line-height: 1.4;
}

.text-2xl {
  font-size: 1.8rem;
  line-height: 1.4;
}

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

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

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

.text-underline {
  text-decoration: underline;
}

.font-normal {
  font-weight: 400;
}

.font-bold {
  font-weight: 700;
}

.color-green {
  color: #45cf75;
}

.color-grey {
  color: #666;
}

.display-none {
  display: none;
}

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

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

.flex-column.flex-column {
  display: flex;
  flex-direction: column;
}
.flex-column.flex-column.center {
  justify-content: center;
}
.flex-column.flex-column.justify {
  justify-content: space-between;
}
.flex-column.flex-column.even {
  justify-content: space-evenly;
}
.flex-column.flex-column.around {
  justify-content: space-around;
}
.flex-column.flex-column.top {
  align-items: start;
}
.flex-column.flex-column.middle {
  align-items: center;
}
.flex-column.flex-column.baseline {
  align-items: baseline;
}
.flex-column.flex-column.bottom {
  align-items: end;
}
.flex-column.flex-column.stretch {
  align-items: stretch;
}
.flex-column.flex-column.fill > * {
  flex-grow: 1;
}
.flex-column.flex-column.gap-small {
  gap: var(--spacing-small);
}
.flex-column.flex-column.gap-medium {
  gap: var(--spacing-medium);
}
.flex-column.flex-column.gap-large {
  gap: var(--spacing-large);
}
.flex-column.flex-column.gap-extra-large {
  gap: var(--spacing-huge);
}
.flex-column.flex-column.wrap {
  flex-wrap: wrap;
}
.flex-column.flex-column > .flex-size-fill {
  height: 0;
}

.flex-row.flex-row {
  display: flex;
  flex-direction: row;
}
.flex-row.flex-row.center {
  justify-content: center;
}
.flex-row.flex-row.justify {
  justify-content: space-between;
}
.flex-row.flex-row.even {
  justify-content: space-evenly;
}
.flex-row.flex-row.around {
  justify-content: space-around;
}
.flex-row.flex-row.end {
  justify-content: flex-end;
}
.flex-row.flex-row.top {
  align-items: start;
}
.flex-row.flex-row.middle {
  align-items: center;
}
.flex-row.flex-row.baseline {
  align-items: baseline;
}
.flex-row.flex-row.bottom {
  align-items: end;
}
.flex-row.flex-row.stretch {
  align-items: stretch;
}
.flex-row.flex-row.fill > * {
  flex-grow: 1;
}
.flex-row.flex-row.gap-small {
  gap: var(--spacing-small);
}
.flex-row.flex-row.gap-medium {
  gap: var(--spacing-medium);
}
.flex-row.flex-row.gap-large {
  gap: var(--spacing-large);
}
.flex-row.flex-row.gap-extra-large {
  gap: var(--spacing-huge);
}
.flex-row.flex-row.wrap {
  flex-wrap: wrap;
}
.flex-row.flex-row > .flex-size-fill {
  width: 0;
}

.flex-grow-1 {
  flex-grow: 1;
}

.flex-grow-2 {
  flex-grow: 2;
}

.flex-shrink-1 {
  flex-shrink: 1;
}

.flex-size-fixed {
  flex: 0 0 auto;
}

.flex-size-fill {
  flex: 1 1 0;
}

.grid-2x2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
}
.grid-2x2.gap-small {
  gap: var(--spacing-small);
}
.grid-2x2.gap-medium {
  gap: var(--spacing-medium);
}
.grid-2x2.gap-large {
  gap: var(--spacing-large);
}

.grid-2x1 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr;
}
.grid-2x1.gap-small {
  gap: var(--spacing-small);
}
.grid-2x1.gap-medium {
  gap: var(--spacing-medium);
}
.grid-2x1.gap-large {
  gap: var(--spacing-large);
}

.grid-1x2 {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr 1fr;
}
.grid-1x2.gap-small {
  gap: var(--spacing-small);
}
.grid-1x2.gap-medium {
  gap: var(--spacing-medium);
}
.grid-1x2.gap-large {
  gap: var(--spacing-large);
}

.grid-3x2 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr;
}
.grid-3x2.gap-small {
  gap: var(--spacing-small);
}
.grid-3x2.gap-medium {
  gap: var(--spacing-medium);
}
.grid-3x2.gap-large {
  gap: var(--spacing-large);
}
.grid-3x2.gap-large-dividers {
  gap: var(--spacing-large);
  position: relative;
}
.grid-3x2.gap-large-dividers::before {
  content: "";
  display: block;
  box-sizing: border-box;
  border-style: solid;
  border-color: var(--divider-color);
  border-width: 0 0 0.1rem 0;
  position: absolute;
  height: 50%;
  width: 100%;
  pointer-events: none;
}
.grid-3x2.gap-large-dividers::after {
  content: "";
  display: block;
  box-sizing: border-box;
  border-style: solid;
  border-color: var(--divider-color);
  border-width: 0 0.1rem 0 0.1rem;
  position: absolute;
  left: calc(33.3333333333% - 0.3rem);
  right: calc(33.3333333333% - 0.3rem);
  top: 0;
  height: 100%;
  pointer-events: none;
}

.grid-2x4 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr 1fr 1fr;
}
.grid-2x4.gap-small {
  gap: var(--spacing-small);
}
.grid-2x4.row-gap-small {
  row-gap: var(--spacing-small);
}
.grid-2x4.gap-medium {
  gap: var(--spacing-medium);
}
.grid-2x4.column-gap-medium {
  column-gap: var(--spacing-medium);
}
.grid-2x4.gap-large {
  gap: var(--spacing-large);
}

.grid-2x4 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr 1fr 1fr;
}
.grid-2x4.gap-small {
  gap: var(--spacing-small);
}
.grid-2x4.row-gap-small {
  row-gap: var(--spacing-small);
}
.grid-2x4.gap-medium {
  gap: var(--spacing-medium);
}
.grid-2x4.column-gap-medium {
  column-gap: var(--spacing-medium);
}
.grid-2x4.gap-large {
  gap: var(--spacing-large);
}

.grid-4xN {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--spacing-small);
}
.grid-4xN.gap-small {
  gap: var(--spacing-small);
}
.grid-4xN.gap-medium {
  gap: var(--spacing-medium);
}
.grid-4xN.gap-large {
  gap: var(--spacing-large);
}
.grid-4xN.gap-3rem {
  gap: 3rem;
}
.grid-4xN.gap-large-dividers {
  gap: var(--spacing-large);
  position: relative;
}
.grid-4xN.gap-large-dividers::before {
  content: "";
  display: block;
  box-sizing: border-box;
  border-style: solid;
  border-color: var(--divider-color);
  border-width: 0 0 0.1rem 0;
  position: absolute;
  height: 50%;
  width: 100%;
  pointer-events: none;
}
.grid-4xN.gap-large-dividers::after {
  content: "";
  display: block;
  box-sizing: border-box;
  border-style: solid;
  border-color: var(--divider-color);
  border-width: 0 0.1rem 0 0.1rem;
  position: absolute;
  left: calc(25% - 0.3rem);
  right: calc(25% - 0.3rem);
  top: 0;
  height: 100%;
  pointer-events: none;
}
@media (max-width: 1200px) {
  .grid-4xN {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 768px) {
  .grid-4xN {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .grid-4xN {
    grid-template-columns: 1fr;
  }
}

.vertical-spacer-small {
  width: var(--spacing-small);
  flex-shrink: 0;
  flex-grow: 0;
}

.vertical-spacer-medium {
  width: var(--spacing-medium);
  flex-shrink: 0;
  flex-grow: 0;
}

.vertical-spacer-large {
  width: var(--spacing-large);
  flex-shrink: 0;
  flex-grow: 0;
}

.row-centered {
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 100%;
}

.row-centered > * {
  width: auto;
  flex-grow: 1;
  margin: 0;
  margin-right: var(--spacing-small);
}

.row-centered > *:last-child {
  margin-right: 0;
}

.row-centered .mat-form-field {
  width: 100%;
}

.row-centered .mat-form-field-infix {
  width: auto;
}

.row-centered .mat-button-base {
  padding: 0;
}

.column-centered {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.column-centered > * {
  flex-grow: 1;
  margin: 0;
  margin-bottom: var(--spacing-small);
}

.column-centered > *:last-child {
  margin-bottom: 0;
}

.column-justified {
  display: flex;
  flex-direction: column;
  align-items: center;
}

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

.small-padding {
  padding: var(--spacing-small);
}

.medium-padding {
  padding: var(--spacing-medium);
}

.large-padding {
  padding: var(--spacing-large);
}

.padding-vert-small {
  padding-top: var(--spacing-small);
  padding-bottom: var(--spacing-small);
}

.padding-vert-medium {
  padding-top: var(--spacing-medium);
  padding-bottom: var(--spacing-medium);
}

.padding-vert-large {
  padding-top: var(--spacing-large);
  padding-bottom: var(--spacing-large);
}

.padding-horz-small {
  padding-left: var(--spacing-small);
  padding-right: var(--spacing-small);
}

.padding-horz-medium {
  padding-left: var(--spacing-medium);
  padding-right: var(--spacing-medium);
}

.padding-horz-large {
  padding-left: var(--spacing-large);
  padding-right: var(--spacing-large);
}

.padding-top-small {
  padding-top: var(--spacing-small);
}

.padding-top-medium {
  padding-top: var(--spacing-medium);
}

.padding-top-large {
  padding-top: var(--spacing-large);
}

.padding-bottom-small {
  padding-bottom: var(--spacing-small);
}

.padding-bottom-medium {
  padding-bottom: var(--spacing-medium);
}

.padding-bottom-large {
  padding-bottom: var(--spacing-large);
}

.padding-left-medium {
  padding-left: var(--spacing-medium);
}

.padding-left-large {
  padding-left: var(--spacing-large);
}

.padding-right-medium {
  padding-right: var(--spacing-medium);
}

.padding-right-large {
  padding-right: var(--spacing-large);
}

.font-bold {
  font-weight: bold;
}

.font-italic {
  font-style: italic;
}

.font-tiny.font-tiny.font-tiny {
  font-size: 1rem;
}

.font-small.font-small.font-small {
  font-size: 1.2rem;
}

.font-medium.font-medium.font-medium {
  font-size: 1.4rem;
}

.font-large.font-large.font-large {
  font-size: 1.6rem;
}

.font-extra-large.font-extra-large.font-extra-large {
  font-size: 1.8rem;
}

.font-icon-size.font-icon-size.font-icon-size {
  font-size: 2.4rem;
}

.font-smaller {
  font-size: calc(1em - 0.2rem);
}

.font-bigger {
  font-size: calc(1em + 0.2rem);
}

.scroll {
  overflow: auto;
}

.scroll-x {
  overflow-x: auto;
  overflow-y: hidden;
}

.scroll-y {
  overflow-x: hidden;
  overflow-y: auto;
}

.overflow-x-visible {
  overflow-x: visible;
}

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

.shadow {
  box-shadow: 0 0 0.4rem rgba(0, 0, 0, 0.5);
  z-index: 1;
}

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

.auto-margin {
  margin: auto;
}

.auto-margin-x {
  margin: 0 auto;
}

.auto-margin-y {
  margin: auto 0;
}

.small-margin {
  margin: var(--spacing-small);
}

.small-margin-top {
  margin-top: var(--spacing-small);
}

.small-margin-bottom {
  margin-bottom: var(--spacing-small);
}

.small-margin-right {
  margin-right: var(--spacing-small);
}

.small-margin-left {
  margin-left: var(--spacing-small);
}

.small-margin-x {
  margin: 0 var(--spacing-small);
}

.small-margin-y {
  margin: var(--spacing-small) 0;
}

.medium-margin {
  margin: var(--spacing-medium);
}

.medium-margin-top {
  margin-top: var(--spacing-medium);
}

.medium-margin-bottom {
  margin-bottom: var(--spacing-medium);
}

.medium-margin-right {
  margin-right: var(--spacing-medium);
}

.medium-margin-left {
  margin-left: var(--spacing-medium);
}

.medium-margin-x {
  margin: 0 var(--spacing-medium);
}

.medium-margin-y {
  margin: var(--spacing-medium) 0;
}

.large-margin {
  margin: var(--spacing-large);
}

.large-margin-top {
  margin-top: var(--spacing-large);
}

.large-margin-bottom {
  margin-bottom: var(--spacing-large);
}

.large-margin-right {
  margin-right: var(--spacing-large);
}

.large-margin-left {
  margin-left: var(--spacing-large);
}

.large-margin-x {
  margin: 0 var(--spacing-large);
}

.large-margin-y {
  margin: var(--spacing-large) 0;
}

.extra-large-margin-tb {
  margin-top: var(--spacing-huge);
  margin-bottom: var(--spacing-huge);
}

.small-padding-top {
  padding-top: var(--spacing-small);
}

.small-padding-bottom {
  padding-bottom: var(--spacing-small);
}

.small-padding-right {
  padding-right: var(--spacing-small);
}

.small-padding-left {
  padding-left: var(--spacing-small);
}

.small-padding-x {
  padding: 0 var(--spacing-small);
}

.small-padding-y {
  padding: var(--spacing-small) 0;
}

.medium-padding-top {
  padding-top: var(--spacing-medium);
}

.medium-padding-bottom {
  padding-bottom: var(--spacing-medium);
}

.medium-padding-right {
  padding-right: var(--spacing-medium);
}

.medium-padding-left {
  padding-left: var(--spacing-medium);
}

.medium-padding-x {
  padding: 0 var(--spacing-medium);
}

.medium-padding-y {
  padding: var(--spacing-medium) 0;
}

.large-padding-top {
  padding-top: var(--spacing-large);
}

.large-padding-bottom {
  padding-bottom: var(--spacing-large);
}

.large-padding-right {
  padding-right: var(--spacing-large);
}

.large-padding-left {
  padding-left: var(--spacing-large);
}

.large-padding-x {
  padding: 0 var(--spacing-large);
}

.large-padding-y {
  padding: var(--spacing-large) 0;
}

.outline {
  outline: solid 0.1rem var(--divider-color);
}
.outline > table.data, .outline > table.items {
  border-left: none;
  border-right: none;
  margin-bottom: -0.1rem;
}
.outline > table.data thead > tr:first-child > th, .outline > table.items thead > tr:first-child > th {
  border-top: none;
}

.bordered {
  border: solid 0.1rem var(--divider-color);
}
.bordered > table.data, .bordered > table.items {
  border-left: none;
  border-right: none;
  margin-bottom: -0.1rem;
}
.bordered > table.data thead > tr:first-child > th, .bordered > table.items thead > tr:first-child > th {
  border-top: none;
}

input[type=file].pretend-parent {
  opacity: 0;
  position: absolute;
  z-index: 2;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  cursor: pointer;
}

.row, .mat-divider.row {
  margin-bottom: var(--spacing-medium);
}

.row {
  display: block;
}

.row-large {
  margin-bottom: var(--spacing-large);
}

table.row {
  display: table;
}

.row:last-child, .mat-divider.row:last-child {
  margin-bottom: 0;
}

.label-above {
  margin-bottom: var(--spacing-small);
}

.text-success {
  color: #008800;
}

.text-warn {
  color: #ecb22e;
}

.text-error {
  color: #E74C3C;
}

.text-red {
  color: red;
}

.text-green {
  color: green;
}

.text-gray {
  color: #5f5f5f;
}

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

.position-reference {
  position: relative;
}

.position-middle {
  position: absolute !important;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.gcp-image-nav-buttons .mat-icon {
  cursor: not-allowed;
}
.gcp-image-nav-buttons .mat-icon svg path {
  fill: #D8D8D8;
}
.gcp-image-nav-buttons.has-more-gcp-images .mat-icon {
  cursor: pointer;
}
.gcp-image-nav-buttons.has-more-gcp-images .mat-icon svg path {
  fill: #000000;
}

.confirm-ai-dialog ul li {
  padding: 0.5rem 0;
}

.large-text {
  word-wrap: break-word;
}

.color {
  background-color: currentColor;
  display: inline-block;
  width: 1em;
  height: 1em;
  border-radius: 0.4rem;
  box-sizing: border-box;
  box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.8);
  vertical-align: text-bottom;
}
.colorspan {
  margin-top: -0.15em;
}

.circled-text {
  border: 0.1rem solid;
  border-radius: 5rem;
  overflow: hidden;
  text-align: center;
  line-height: 1.8em;
  width: 1.8em;
  height: 1.8em;
  border-color: currentColor;
}

.error-snackbar {
  color: white !important;
  background-color: #A11517 !important;
}

.success-snackbar {
  color: white !important;
  background-color: #4bb543 !important;
}

.clickable {
  cursor: pointer;
}

.full-width.full-width {
  width: 100%;
  box-sizing: border-box;
}

.half-width {
  width: 50%;
  box-sizing: border-box;
}

.fit-content-width.fit-content-width {
  width: -moz-fit-content;
  width: fit-content;
}

.min-content-width {
  width: min-content;
}

.full-height {
  height: 100%;
  max-height: 100%;
  box-sizing: border-box;
}

.box-dialog {
  padding: var(--spacing-large);
  background-color: #f5f5f5;
}

.transparency-standin {
  background: 0/4px 4px linear-gradient(45deg, #ccc 25%, transparent 25%), 2px 0/4px 4px linear-gradient(135deg, #ccc 25%, transparent 25%), 2px -2px/4px 4px linear-gradient(45deg, transparent 75%, #ccc 75%), 0 2px/4px 4px linear-gradient(135deg, transparent 75%, #ccc 75%);
}

@keyframes pop-in {
  0% {
    opacity: 0;
    transform: scale(0.1);
  }
  66% {
    opacity: 1;
    transform: scale(1.1);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
.pop-in {
  animation: pop-in 0.5s;
}

.mat-icon.license-warning-icon {
  color: var(--error-color);
}

.dashboard-layout {
  --sidebar-width: 28rem;
  --title-container-height: 5rem;
  width: 100%;
  height: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  display: flex;
}
.dashboard-layout .sidebar {
  display: flex;
  flex-direction: column;
  width: var(--sidebar-width);
  background-color: var(--page-background);
  z-index: 1;
  gap: var(--spacing-large);
}
.dashboard-layout .sidebar .logo {
  color: var(--primary-color);
}
.dashboard-layout .sidebar .menubar {
  flex-basis: 80%;
  overflow: auto;
}
.dashboard-layout .sidebar .menubar mat-list mat-list-item {
  height: 4rem;
}
.dashboard-layout .sidebar .profile_details {
  padding: 1.5rem;
  background-color: var(--page-background);
}
.dashboard-layout .sidebar .profile_details .user-avatar {
  width: 5rem;
  height: 5rem;
  float: left;
  border-radius: 100%;
}
.dashboard-layout .sidebar .profile_details img {
  height: 5rem;
  width: 5rem;
  float: left;
  border-radius: 100%;
}
.dashboard-layout .sidebar .profile_details .details {
  float: left;
  margin-left: 2rem;
  text-align: left;
}
.dashboard-layout .sidebar .profile_details .details h2 {
  font-size: 1.8rem;
  color: #000000;
  margin: 0;
  margin-top: 1rem;
}
.dashboard-layout .sidebar .profile_details .details h4 {
  font-size: 1.2rem;
  color: #9e8f8f;
  margin: 0;
}
.dashboard-layout .sidebar .profile_details .mat-menu-content a {
  line-height: 3.2rem;
  height: 3.2rem;
}
.dashboard-layout .main_container {
  background-color: white;
  vertical-align: top;
  position: relative;
  padding: var(--spacing-large);
  width: calc(100% - var(--sidebar-width));
  height: 100%;
  overflow: auto;
}
.dashboard-layout .main_container .page_title {
  font-size: 2.4rem;
  color: #000000;
  margin-top: 2rem;
  margin-bottom: 3rem;
}
.dashboard-layout .is-active {
  width: 100%;
  border-radius: 0 100em 100em 0;
  background-color: #d3d3dd;
}
.dashboard-layout .title-container {
  height: var(--title-container-height);
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.dashboard-layout .title-container .left h3 {
  margin: 0;
  margin-bottom: 1rem;
}
.dashboard-layout .title-container .left h5 {
  color: #8d8d8d;
  margin: 0;
}
.dashboard-layout .form-container {
  width: 100%;
  max-width: 100vh;
  height: calc(100% - var(--title-container-height));
  overflow-y: auto;
  overflow-x: auto;
  padding: var(--spacing-small);
}
.dashboard-layout .form-container .submit {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
}
.dashboard-layout .form-container mat-form-field.date-picker {
  padding-right: 0.04rem;
}

.ol-dragbox {
  background-color: rgba(255, 255, 255, 0.1);
  border: solid 0.1rem white;
}

dataset-map > .controls, shot-hole-profile-panel > .controls {
  pointer-events: none;
}
dataset-map > .controls .control, shot-hole-profile-panel > .controls .control {
  box-shadow: 0 0 0.4rem rgba(0, 0, 0, 0.5333333333);
  color: white;
  pointer-events: auto;
}
dataset-map > .controls dialog-floating, shot-hole-profile-panel > .controls dialog-floating {
  pointer-events: auto;
}
dataset-map > .controls > .content-container, shot-hole-profile-panel > .controls > .content-container {
  width: 0;
  flex: 1 1 0;
  display: inherit;
  flex-direction: row;
  gap: inherit;
  justify-content: inherit;
  position: relative;
}
dataset-map > .controls > .content-container > .content-toggle, shot-hole-profile-panel > .controls > .content-container > .content-toggle {
  display: none;
}
dataset-map > .controls > .content-container > .content, shot-hole-profile-panel > .controls > .content-container > .content {
  display: flex;
  flex-direction: row;
  gap: var(--spacing-medium);
  justify-content: flex-end;
  pointer-events: none;
}
dataset-map div.control, shot-hole-profile-panel div.control {
  font-size: 1.4rem;
  background-color: rgba(0, 0, 0, 0.8);
  display: inline-block;
  padding: 0.4rem 0.8rem;
  border-radius: 0.8rem;
  line-height: 1.125em;
  height: -moz-fit-content;
  height: fit-content;
}
dataset-map div.control mat-slide-toggle, shot-hole-profile-panel div.control mat-slide-toggle {
  line-height: 2.4rem;
  height: 2.4rem;
  --mdc-switch-unselected-track-color: #88888888;
  --mdc-switch-unselected-focus-track-color: #99999988;
  --mdc-switch-unselected-hover-track-color: #99999988;
}
dataset-map div.control mat-checkbox .mat-checkbox-frame, shot-hole-profile-panel div.control mat-checkbox .mat-checkbox-frame {
  border-color: white;
}
dataset-map div.control .sub-controls, shot-hole-profile-panel div.control .sub-controls {
  font-size: 1.2rem;
}
dataset-map div.control table, shot-hole-profile-panel div.control table {
  margin-top: 0.4rem;
  width: 100%;
  border-collapse: collapse;
}
dataset-map div.control table thead, shot-hole-profile-panel div.control table thead {
  font-weight: normal;
}
dataset-map div.control table thead:first-child, shot-hole-profile-panel div.control table thead:first-child {
  border-top: solid 0.1rem white;
}
dataset-map div.control table tbody:first-child, shot-hole-profile-panel div.control table tbody:first-child {
  border-top: solid 0.1rem white;
}
dataset-map div.control table tbody:first-child tr:first-child td, shot-hole-profile-panel div.control table tbody:first-child tr:first-child td {
  padding-top: 0.5em;
}
dataset-map .control.mat-mdc-form-field.mat-mdc-form-field.mat-form-field-appearance-outline, shot-hole-profile-panel .control.mat-mdc-form-field.mat-mdc-form-field.mat-form-field-appearance-outline {
  box-shadow: 0 0 0;
}
dataset-map .control.mat-mdc-form-field.mat-mdc-form-field.mat-form-field-appearance-outline, shot-hole-profile-panel .control.mat-mdc-form-field.mat-mdc-form-field.mat-form-field-appearance-outline {
  --mat-form-field-container-vertical-padding: 0.7rem;
}
dataset-map .control.mat-mdc-form-field.mat-mdc-form-field.mat-form-field-appearance-outline > .mdc-text-field--outlined, shot-hole-profile-panel .control.mat-mdc-form-field.mat-mdc-form-field.mat-form-field-appearance-outline > .mdc-text-field--outlined {
  background-color: rgba(0, 0, 0, 0.8);
  border-radius: 0.8rem;
}
dataset-map .control.mat-mdc-form-field.mat-mdc-form-field.mat-form-field-appearance-outline > .mdc-text-field--outlined > .mat-mdc-form-field-flex > .mdc-notched-outline > .mat-mdc-notch-piece, shot-hole-profile-panel .control.mat-mdc-form-field.mat-mdc-form-field.mat-form-field-appearance-outline > .mdc-text-field--outlined > .mat-mdc-form-field-flex > .mdc-notched-outline > .mat-mdc-notch-piece {
  border: none;
}
dataset-map .control.mat-mdc-form-field.mat-form-field-appearance-outline, shot-hole-profile-panel .control.mat-mdc-form-field.mat-form-field-appearance-outline {
  --mdc-outlined-text-field-outline-color: var(--inverse-divider-color);
}
dataset-map .control.mat-mdc-form-field.mat-form-field-appearance-outline, shot-hole-profile-panel .control.mat-mdc-form-field.mat-form-field-appearance-outline {
  --mdc-outlined-text-field-label-text-color: var(--inverse-text-color);
}
dataset-map .control.mat-mdc-form-field.mat-form-field-appearance-outline > .mdc-text-field--outlined, shot-hole-profile-panel .control.mat-mdc-form-field.mat-form-field-appearance-outline > .mdc-text-field--outlined {
  background: transparent;
}
dataset-map .control.mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-select-value, shot-hole-profile-panel .control.mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-select-value {
  color: var(--inverse-text-color);
}
dataset-map .control.mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-select-arrow, shot-hole-profile-panel .control.mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-select-arrow {
  color: var(--inverse-text-color);
}
dataset-map .control.mat-mdc-form-field.mat-form-field-appearance-outline input, shot-hole-profile-panel .control.mat-mdc-form-field.mat-form-field-appearance-outline input {
  color: var(--inverse-text-color);
}
dataset-map .control.mat-mdc-form-field.mat-form-field-appearance-outline div, shot-hole-profile-panel .control.mat-mdc-form-field.mat-form-field-appearance-outline div {
  color: var(--inverse-text-color);
}
dataset-map .control .mat-mdc-form-field.mat-form-field-appearance-outline, shot-hole-profile-panel .control .mat-mdc-form-field.mat-form-field-appearance-outline {
  --mdc-outlined-text-field-outline-color: var(--inverse-divider-color);
}
dataset-map .control .mat-mdc-form-field.mat-form-field-appearance-outline, shot-hole-profile-panel .control .mat-mdc-form-field.mat-form-field-appearance-outline {
  --mdc-outlined-text-field-label-text-color: var(--inverse-text-color);
}
dataset-map .control .mat-mdc-form-field.mat-form-field-appearance-outline > .mdc-text-field--outlined, shot-hole-profile-panel .control .mat-mdc-form-field.mat-form-field-appearance-outline > .mdc-text-field--outlined {
  color: var(--inverse-text-color);
  background: transparent;
}
dataset-map .control .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-select-value, shot-hole-profile-panel .control .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-select-value {
  color: var(--inverse-text-color);
}
dataset-map .control .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-select-arrow, shot-hole-profile-panel .control .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-select-arrow {
  color: var(--inverse-text-color);
}
dataset-map .control .mat-mdc-form-field.mat-form-field-appearance-outline input, shot-hole-profile-panel .control .mat-mdc-form-field.mat-form-field-appearance-outline input {
  color: var(--inverse-text-color);
}
dataset-map .control .mat-mdc-form-field.mat-form-field-appearance-outline div, shot-hole-profile-panel .control .mat-mdc-form-field.mat-form-field-appearance-outline div {
  color: var(--inverse-text-color);
}
dataset-map button.mat-mini-fab.mat-mini-fab.control, shot-hole-profile-panel button.mat-mini-fab.mat-mini-fab.control {
  box-shadow: 0 0 0.4rem rgba(0, 0, 0, 0.5333333333);
}
dataset-map mat-button-toggle-group.control, dataset-map div.control mat-button-toggle-group, shot-hole-profile-panel mat-button-toggle-group.control, shot-hole-profile-panel div.control mat-button-toggle-group {
  display: inline-flex;
  border: solid 0.1rem var(--primary-color);
  border-radius: 0.8rem;
  height: 32px;
}
dataset-map mat-button-toggle-group.control *, dataset-map div.control mat-button-toggle-group *, shot-hole-profile-panel mat-button-toggle-group.control *, shot-hole-profile-panel div.control mat-button-toggle-group * {
  color: white;
}
dataset-map mat-button-toggle-group.control .mat-button-toggle, dataset-map div.control mat-button-toggle-group .mat-button-toggle, shot-hole-profile-panel mat-button-toggle-group.control .mat-button-toggle, shot-hole-profile-panel div.control mat-button-toggle-group .mat-button-toggle {
  background-color: rgba(0, 0, 0, 0.8);
  border: none !important;
}
dataset-map mat-button-toggle-group.control .mat-button-toggle button.mat-button-toggle-button, dataset-map mat-button-toggle-group.control .mat-button-toggle .mat-button-toggle-button:has(.mat-button-toggle-checkbox-wrapper), dataset-map div.control mat-button-toggle-group .mat-button-toggle button.mat-button-toggle-button, dataset-map div.control mat-button-toggle-group .mat-button-toggle .mat-button-toggle-button:has(.mat-button-toggle-checkbox-wrapper), shot-hole-profile-panel mat-button-toggle-group.control .mat-button-toggle button.mat-button-toggle-button, shot-hole-profile-panel mat-button-toggle-group.control .mat-button-toggle .mat-button-toggle-button:has(.mat-button-toggle-checkbox-wrapper), shot-hole-profile-panel div.control mat-button-toggle-group .mat-button-toggle button.mat-button-toggle-button, shot-hole-profile-panel div.control mat-button-toggle-group .mat-button-toggle .mat-button-toggle-button:has(.mat-button-toggle-checkbox-wrapper) {
  background-color: transparent;
  padding-top: 0;
  padding-bottom: 0;
  height: 100%;
}
dataset-map mat-button-toggle-group.control .mat-button-toggle:hover, dataset-map div.control mat-button-toggle-group .mat-button-toggle:hover, shot-hole-profile-panel mat-button-toggle-group.control .mat-button-toggle:hover, shot-hole-profile-panel div.control mat-button-toggle-group .mat-button-toggle:hover {
  background-color: var(--primary-color);
}
dataset-map mat-button-toggle-group.control .mat-button-toggle-checked, dataset-map mat-button-toggle-group.control .mat-button-toggle-checked:hover, dataset-map div.control mat-button-toggle-group .mat-button-toggle-checked, dataset-map div.control mat-button-toggle-group .mat-button-toggle-checked:hover, shot-hole-profile-panel mat-button-toggle-group.control .mat-button-toggle-checked, shot-hole-profile-panel mat-button-toggle-group.control .mat-button-toggle-checked:hover, shot-hole-profile-panel div.control mat-button-toggle-group .mat-button-toggle-checked, shot-hole-profile-panel div.control mat-button-toggle-group .mat-button-toggle-checked:hover {
  background: var(--primary-color);
}
dataset-map mat-button-toggle-group.control .mat-button-toggle-disabled, dataset-map div.control mat-button-toggle-group .mat-button-toggle-disabled, shot-hole-profile-panel mat-button-toggle-group.control .mat-button-toggle-disabled, shot-hole-profile-panel div.control mat-button-toggle-group .mat-button-toggle-disabled {
  color: rgba(5, 5, 5, 0.26);
  background-color: #eeeeee;
}
dataset-map mat-button-toggle-group.control .mat-button-toggle-disabled:hover, dataset-map div.control mat-button-toggle-group .mat-button-toggle-disabled:hover, shot-hole-profile-panel mat-button-toggle-group.control .mat-button-toggle-disabled:hover, shot-hole-profile-panel div.control mat-button-toggle-group .mat-button-toggle-disabled:hover {
  background-color: #eeeeee;
  pointer-events: none;
}
dataset-map mat-button-toggle-group.control .mat-button-toggle-disabled.mat-button-toggle-checked, dataset-map div.control mat-button-toggle-group .mat-button-toggle-disabled.mat-button-toggle-checked, shot-hole-profile-panel mat-button-toggle-group.control .mat-button-toggle-disabled.mat-button-toggle-checked, shot-hole-profile-panel div.control mat-button-toggle-group .mat-button-toggle-disabled.mat-button-toggle-checked {
  background-color: #bdbdbd;
}
dataset-map mat-button-toggle-group.control .mat-button-toggle-disabled *, dataset-map div.control mat-button-toggle-group .mat-button-toggle-disabled *, shot-hole-profile-panel mat-button-toggle-group.control .mat-button-toggle-disabled *, shot-hole-profile-panel div.control mat-button-toggle-group .mat-button-toggle-disabled * {
  color: rgba(5, 5, 5, 0.26);
}
dataset-map div.control mat-button-toggle-group, shot-hole-profile-panel div.control mat-button-toggle-group {
  margin: -0.4rem -0.8rem 0.4rem;
  width: calc(100% + 1.6rem);
  box-sizing: border-box;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
dataset-map div.control mat-button-toggle-group .mat-button-toggle, shot-hole-profile-panel div.control mat-button-toggle-group .mat-button-toggle {
  flex: 1 1 auto;
}
dataset-map div.control mat-button-toggle-group:only-child, shot-hole-profile-panel div.control mat-button-toggle-group:only-child {
  margin: -0.4rem -0.8rem;
  border-bottom-left-radius: 0.4rem;
  border-bottom-right-radius: 0.4rem;
}
dataset-map button.mat-mini-fab.mat-mini-fab, shot-hole-profile-panel button.mat-mini-fab.mat-mini-fab {
  font-size: 3.2rem;
}
dataset-map button.mat-mini-fab.mat-mini-fab .mat-button-wrapper, shot-hole-profile-panel button.mat-mini-fab.mat-mini-fab .mat-button-wrapper {
  padding: 0.4rem;
}
dataset-map button.mat-mini-fab.mat-mini-fab .mat-button-wrapper .mat-icon, shot-hole-profile-panel button.mat-mini-fab.mat-mini-fab .mat-button-wrapper .mat-icon {
  font-size: 2.4rem;
}
dataset-map button.control.align-view mat-icon[svgIcon=rotate], shot-hole-profile-panel button.control.align-view mat-icon[svgIcon=rotate] {
  font-size: 3.6rem;
  position: absolute !important;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
dataset-map button.control.align-view div.N, shot-hole-profile-panel button.control.align-view div.N {
  position: relative;
  font-size: 1em;
  font-weight: bold;
  top: 0.2em;
  left: 0.4em;
}
dataset-map button.control.align-view mat-icon[svgIcon=shotplan], shot-hole-profile-panel button.control.align-view mat-icon[svgIcon=shotplan] {
  position: relative;
  font-size: 1.5em;
  top: 0.2em;
  left: 0.3em;
}
@media (max-width: 1199px) {
  dataset-map:not(.full) .controls > .content-container > .content-toggle, shot-hole-profile-panel:not(.full) .controls > .content-container > .content-toggle {
    display: block;
  }
}
@media (max-width: 1199px) {
  dataset-map:not(.full) .controls > .content-container > .content, shot-hole-profile-panel:not(.full) .controls > .content-container > .content {
    display: none;
  }
  dataset-map:not(.full) .controls > .content-container > .content.show, shot-hole-profile-panel:not(.full) .controls > .content-container > .content.show {
    pointer-events: auto;
    display: flex;
    position: absolute;
    margin-top: var(--spacing-medium);
    right: 0;
    top: 100%;
    flex-direction: column;
    width: auto;
    background-color: rgba(0, 0, 0, 0.33333);
    padding: var(--spacing-medium);
    border-radius: var(--spacing-medium);
    transform: translateX(50%);
  }
  dataset-map:not(.full) .controls > .content-container > .content.show > *, shot-hole-profile-panel:not(.full) .controls > .content-container > .content.show > * {
    width: 100%;
  }
}

.popover-light {
  background-color: var(--page-background);
  color: var(--primary-text-color);
  box-shadow: 0 0 0.4rem rgba(0, 0, 0, 0.5333333333);
  text-align: left;
  padding: var(--spacing-medium);
  border-radius: 0.4rem;
}
.popover-light .title {
  font-size: 1.2em;
}
.popover-light button {
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
}
.popover-light button:focus {
  outline: none;
}
.popover-light .ol-popover-closer {
  position: absolute;
  right: var(--spacing-medium);
  top: var(--spacing-medium);
  line-height: 1em;
  cursor: pointer;
}
.popover-light .notes {
  width: 20rem;
  font-size: 0.8em;
}

.popover-dark {
  line-height: 1.125em;
  background-color: rgba(0, 0, 0, 0.8);
  color: white;
  text-align: center;
  padding: var(--spacing-small);
  border-radius: var(--spacing-small);
}
.popover-dark.arrow.center-left:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-width: 1rem;
  border-style: solid;
  border-top-color: transparent;
  border-left-color: transparent;
  border-bottom-color: transparent;
  border-right-color: rgba(0, 0, 0, 0.8);
  position: absolute;
  left: -2rem;
  top: calc(50% - 1rem);
}
.popover-dark.arrow.bottom-center:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-width: 1rem;
  border-style: solid;
  border-left-color: transparent;
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-top-color: rgba(0, 0, 0, 0.8);
  position: absolute;
  bottom: -2rem;
  left: calc(50% - 1rem);
}

.popover {
  position: absolute;
  z-index: 1;
  pointer-events: none;
  padding: 0.5em;
  border-radius: 0.5em;
}
.popover.dark {
  background-color: rgba(0, 0, 0, 0.9);
  color: white;
}
.popover.bottom-left {
  text-align: left !important;
  transform: translate(0, -100%);
}
.popover.center-left {
  text-align: left !important;
  transform: translate(0, -50%);
}
.popover.top-left {
  text-align: left !important;
}
.popover.bottom-right {
  text-align: right !important;
}
.popover.center-right {
  text-align: right !important;
}
.popover.top-right {
  text-align: right !important;
}
.popover.center-left {
  text-align: center;
}
.popover.center-center {
  text-align: center;
  transform: translate(-50%, -50%);
}
.popover.center-right {
  text-align: center;
}

.map-overlay {
  display: none;
  background-color: var(--page-background);
  color: var(--primary-text-color);
  box-shadow: 0 0 0.4rem rgba(0, 0, 0, 0.5333333333);
  text-align: left;
  padding: var(--spacing-medium);
  border-radius: 0.4rem;
}
.map-overlay .title {
  font-size: 1.2em;
}
.map-overlay .closer {
  position: absolute;
  right: var(--spacing-medium);
  top: var(--spacing-medium);
  line-height: 1em;
  cursor: pointer;
}
.map-overlay .notes {
  width: 20rem;
  font-size: 0.8em;
}

.ol-overlay-container .map-overlay {
  display: block;
}

.ol-overlay-container .mat-dialog-container.mat-dialog-container {
  cursor: auto;
  pointer-events: auto;
  padding: var(--spacing-medium);
  font-size: 1.2rem;
}
.ol-overlay-container .mat-dialog-container.mat-dialog-container dialog-title-fixed {
  margin: -var(--spacing-medium) -var(--spacing-medium) var(--spacing-medium) -var(--spacing-medium);
}
.ol-overlay-container .mat-dialog-container.mat-dialog-container dialog-title-fixed h1 {
  background-color: var(--divider-color);
  color: var(--primary-text-color);
  font-size: 1.2rem;
}
.ol-overlay-container .mat-dialog-container.mat-dialog-container dialog-title-fixed h1 .controls {
  pointer-events: auto;
}
.ol-overlay-container .mat-dialog-container.mat-dialog-container dialog-title-fixed h1 .controls button .mat-icon {
  color: var(--primary-text-color);
}
.ol-overlay-container .mat-dialog-container.mat-dialog-container .mat-dialog-actions {
  margin-top: var(--spacing-medium);
}

:root {
  --mat-text-button-horizontal-padding: var(--spacing-medium);
}
:root {
  --mat-text-button-with-icon-horizontal-padding: var(--spacing-medium);
}
:root {
  --mat-outlined-button-horizontal-padding: var(--spacing-medium);
}
:root {
  --mdc-text-button-container-height: fit-content;
}
:root {
  --mdc-outlined-button-container-height: fit-content;
}
:root {
  --mdc-text-button-container-shape: calc((0.4em + 0.4rem) / 2);
}
:root {
  --mdc-outlined-button-container-shape: calc((0.4em + 0.4rem) / 2);
}
:root {
  --mdc-filled-button-container-shape: calc((0.4em + 0.4rem) / 2);
}
:root {
  --mdc-text-button-label-text-transform: capitalize;
}
:root {
  --mdc-outlined-button-label-text-transform: capitalize;
}
:root {
  --mdc-text-button-label-text-color: var(--primary-text-color);
}
:root {
  --mdc-outlined-button-label-text-color: var(--primary-text-color);
}
:root {
  --mdc-text-button-disabled-label-text-color: var(--disabled-text-color);
}
:root {
  --mdc-outlined-button-disabled-label-text-color: var(--disabled-text-color);
}
:root {
  --mdc-filled-button-disabled-label-text-color: var(--disabled-text-color);
}
:root {
  --mdc-outlined-button-outline-width: 1px;
}
:root {
  --mdc-outlined-button-outline-color: var(--divider-color);
}
:root {
  --mat-filled-button-touch-target-display: none;
}
:root {
  --mat-outlined-button-touch-target-display: none;
}
:root {
  --mat-protected-button-touch-target-display: none;
}
:root {
  --mat-text-button-touch-target-display: none;
}

.mdc-button.mat-primary {
  --mdc-text-button-label-text-color: var(--primary-color);
}
.mdc-button.mat-primary {
  --mdc-outlined-button-label-text-color: var(--primary-color);
}

.mdc-button.mdc-button {
  flex: 0 0 auto;
  box-sizing: border-box;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-small);
  line-height: 1.125em;
  min-width: 0;
  min-height: 0;
  padding: calc(var(--spacing-medium) - 0.04em);
  border: solid 1px transparent;
}
.mdc-button.mdc-button:has(.material-icons, mat-icon, [matButtonIcon]) {
  padding: calc(var(--spacing-medium) - 0.04em);
}
.mdc-button.mdc-button.left-align .mdc-button__label {
  justify-content: flex-start;
}
.mdc-button.mdc-button.stuck {
  box-shadow: inset 0 0 2px 1px color-mix(in srgb, var(--primary-color) 50%, transparent);
}
.mdc-button.mdc-button > .mdc-button__label {
  flex: 1 1 auto;
  max-width: 100%;
  min-height: var(--line-height);
  height: 100%;
  margin: -1px 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-small);
}
.mdc-button.mdc-button > .mdc-button__label:empty {
  display: none;
}
.mdc-button.mdc-button.primary {
  color: var(--primary-color);
}
.mdc-button.mdc-button.primary.mat-mdc-button-disabled {
  color: var(--disabled-text-color);
}
.mdc-button.mdc-button.cta.secondary {
  color: var(--primary-text-color);
  background-color: var(--page-background);
  border-color: color-mix(in srgb, var(--primary-color) 25%, transparent);
}
.mdc-button.mdc-button.cta.secondary.mat-mdc-button-disabled {
  color: var(--disabled-text-color);
  background-color: var(--disabled-background);
  border-color: var(--disabled-background);
}
.mdc-button.mdc-button.cta.primary {
  color: var(--inverse-text-color);
  background-color: var(--primary-color);
}
.mdc-button.mdc-button.cta.primary.mat-mdc-button-disabled {
  color: var(--disabled-text-color);
  background-color: var(--disabled-background);
}
.mdc-button.mdc-button.cta.success {
  color: var(--inverse-text-color);
  background-color: var(--success-color);
}
.mdc-button.mdc-button.cta.success.mat-mdc-button-disabled {
  color: var(--disabled-text-color);
  background-color: var(--disabled-background);
}
.mdc-button.mdc-button .mat-icon, .mdc-button.mdc-button .mat-icon-wrapper > .mat-icon {
  font-size: 1.6em;
  height: 1em;
  width: 1em;
  margin-top: calc((1em - var(--line-height) / 1.6) / -2);
  margin-bottom: calc((1em - var(--line-height) / 1.6) / -2);
  margin-left: 0;
  margin-right: 0;
}
.mdc-button.mdc-button .mat-icon:not(:only-child).type-add, .mdc-button.mdc-button .mat-icon-wrapper > .mat-icon:not(:only-child).type-add {
  margin-left: -0.2em;
  margin-right: -0.2em;
}
.mdc-button.mdc-button.titled-icon {
  flex-direction: column;
  align-items: center;
}
.mdc-button.mdc-button.titled-icon > .mat-icon {
  font-size: 2.3em;
  margin: 0;
}

a.mdc-button:hover {
  text-decoration: none;
}

.mat-mini-fab.mat-accent {
  color: var(--page-background);
  background-color: var(--primary-color);
}

.mat-mdc-unelevated-button > .mat-mdc-button-touch-target {
  height: inherit !important;
}

:root {
  --mat-standard-button-toggle-text-color: var(--primary-text-color);
}
:root {
  --mat-standard-button-toggle-selected-state-background-color: var(--primary-color);
}
:root {
  --mat-standard-button-toggle-selected-state-text-color: var(--inverse-text-color);
}
:root {
  --mat-standard-button-toggle-divider-color: color-mix(in srgb, var(--primary-color) 50%, transparent);
}
:root {
  --mat-standard-button-toggle-shape: calc((0.4em + 0.4rem) / 2);
}
:root {
  --mat-standard-button-toggle-label-text-line-height: var(--line-height);
}
:root {
  --mat-standard-button-toggle-height: var(--line-height);
}

mat-button-toggle-group.mat-button-toggle-group .mat-button-toggle {
  flex: 1 1 auto;
}
mat-button-toggle-group.mat-button-toggle-group .mat-button-toggle-checkbox-wrapper {
  display: none;
}
mat-button-toggle-group.mat-button-toggle-group .mat-button-toggle-button {
  padding: var(--spacing-medium);
}
mat-button-toggle-group.mat-button-toggle-group .mat-button-toggle-button .mat-button-toggle-label-content {
  padding: 0;
}
mat-button-toggle-group.mat-button-toggle-group .mat-button-toggle-checked .mat-button-toggle-button:has(.mat-button-toggle-checkbox-wrapper) {
  padding: var(--spacing-medium);
}

:root {
  --mat-checkbox-label-text-color: var(--primary-text-color);
}
:root {
  --mdc-checkbox-unselected-icon-color: var(--primary-text-color);
}
:root {
  --mdc-checkbox-state-layer-size: 1.15em;
}

.mat-mdc-checkbox.mat-mdc-checkbox {
  height: auto;
  min-height: 1.4em;
  line-height: 1.125em;
}
.mat-mdc-checkbox.mat-mdc-checkbox .mat-internal-form-field {
  gap: var(--spacing-small);
}
.mat-mdc-checkbox.mat-mdc-checkbox .mat-internal-form-field .mdc-checkbox {
  padding: 0;
  width: var(--mdc-checkbox-state-layer-size);
  height: var(--mdc-checkbox-state-layer-size);
  flex-basis: var(--mdc-checkbox-state-layer-size);
}
.mat-mdc-checkbox.mat-mdc-checkbox .mat-internal-form-field .mdc-checkbox > .mat-mdc-checkbox-touch-target {
  width: 150%;
  height: 150%;
}
.mat-mdc-checkbox.mat-mdc-checkbox .mat-internal-form-field .mdc-checkbox > .mdc-checkbox__native-control {
  padding: 0;
  width: 100%;
  height: 100%;
}
.mat-mdc-checkbox.mat-mdc-checkbox .mat-internal-form-field .mdc-checkbox > .mdc-checkbox__background {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.mat-mdc-checkbox.mat-mdc-checkbox .mat-internal-form-field .mdc-label {
  margin: 0;
}

:root {
  --mdc-chip-container-shape-radius: var(--corner-radius);
}
:root {
  --mdc-chip-container-height: 30px;
}
:root {
  --mdc-chip-outline-color: #e0e0e0;
}
:root {
  --mdc-chip-elevated-container-color: #e0e0e0;
}
:root {
  --mdc-chip-elevated-selected-container-color: var(--primary-color);
}
:root {
  --mdc-chip-selected-label-text-color: var(--inverse-text-color);
}
:root {
  --mdc-chip-label-text-size: inherit;
}
:root {
  --mdc-chip-label-text-color: var(--primary-text-color);
}

mat-chip-listbox.hole-box {
  --mat-chip-trailing-action-opacity: 0.4;
}
mat-chip-listbox.hole-box .mat-mdc-chip-graphic {
  display: none;
}
mat-chip-listbox.hole-box .mdc-evolution-chip-set__chips {
  gap: 0.2rem;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
mat-chip-listbox.hole-box .mdc-evolution-chip-set__chips .mdc-evolution-chip {
  margin: 0;
  padding: var(--spacing-small);
}
mat-chip-listbox.hole-box .mdc-evolution-chip-set__chips .mdc-evolution-chip .mdc-evolution-chip__cell .mat-mdc-chip-graphic {
  padding: 0;
}
mat-chip-listbox.hole-box .mdc-evolution-chip-set__chips .mdc-evolution-chip .mdc-evolution-chip__cell .mat-icon {
  font-size: 1.29em;
  padding: 0;
}

:root {
  --mat-dialog-container-min-width: 0;
}
:root {
  --mat-dialog-container-max-width: 100vw;
}
:root {
  --mdc-dialog-container-shape: var(--corner-radius);
}
:root {
  --mat-dialog-content-padding: 0;
}
:root {
  --mat-dialog-with-actions-content-padding: 0;
}
:root {
  --mat-dialog-actions-padding: 0;
}
:root {
  --mat-dialog-container-elevation-shadow: 0 0 0.8rem rgba(0, 0, 0, 0.5019607843);
}
:root {
  --mdc-dialog-subhead-color: var(--page-background);
}
:root {
  --mdc-dialog-subhead-size: 120%;
}

.blast-sight-container .mat-mdc-dialog-surface {
  background-color: rgba(28, 29, 28, 0.7215686275);
}
.blast-sight-container .mat-mdc-dialog-container dialog-title h1.mat-mdc-dialog-title {
  background-color: black;
}

.site-timeline-container .mat-mdc-dialog-surface {
  background-color: rgba(28, 29, 28, 0.7215686275);
}
.site-timeline-container .mat-mdc-dialog-container dialog-title h1.mat-mdc-dialog-title {
  background-color: black;
}

.mat-mdc-dialog-surface.mat-mdc-dialog-surface {
  padding: var(--spacing-large);
  border-radius: var(--corner-radius);
  overflow: hidden;
}
.mat-mdc-dialog-surface.mat-mdc-dialog-surface .mat-mdc-dialog-actions {
  display: flex;
  place-content: flex-end;
  padding: 0;
  margin-top: var(--spacing-large);
  margin-bottom: 0;
  min-height: 0;
}

.cdk-overlay-pane.full-screen {
  max-width: 100vw !important;
  width: 100vw;
  height: 100vw;
}
.cdk-overlay-pane.full-screen .mat-mdc-dialog-container {
  width: 100vw;
  height: 100vw;
}
.cdk-overlay-pane.full-screen .mat-mdc-dialog-container > * {
  height: 100%;
}

.cdk-overlay-pane.unrestricted-width {
  max-width: 100vw !important;
  width: auto !important;
}

.cdk-overlay-pane.spinner .mat-mdc-dialog-surface {
  border-radius: 50%;
}

.cdk-overlay-backdrop.spinner {
  transition: opacity 400ms 200ms cubic-bezier(0.25, 0.8, 0.25, 1);
}

.mat-dialog-container.mat-dialog-container {
  width: auto;
  max-width: 100vw;
  max-height: 100vh;
  box-sizing: border-box;
  padding: var(--spacing-large);
  box-shadow: 0 0 0.8rem rgba(0, 0, 0, 0.5019607843);
  background-color: var(--page-background);
  border-radius: 1rem;
  overflow: visible;
}

dialog-title, dialog-title-fixed {
  display: block;
  margin: calc(-1 * var(--spacing-large)) calc(-1 * var(--spacing-large)) var(--spacing-large) calc(-1 * var(--spacing-large));
}
dialog-title h1.mat-mdc-dialog-title, dialog-title-fixed h1.mat-mdc-dialog-title {
  font-size: 120%;
  line-height: 1.125em;
  color: var(--page-background);
  background-color: var(--primary-color);
  border-radius: 0.4rem 0.4rem 0 0;
  cursor: default;
  -webkit-user-select: none;
          user-select: none;
  height: auto;
  margin: 0;
  padding: var(--spacing-small) var(--spacing-large);
  position: relative;
  display: flex;
  gap: 1rem;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}
dialog-title h1.mat-mdc-dialog-title > .content, dialog-title-fixed h1.mat-mdc-dialog-title > .content {
  flex: 1 1 0;
  vertical-align: middle;
  overflow: hidden;
  text-overflow: ellipsis;
}
dialog-title h1.mat-mdc-dialog-title .controls, dialog-title-fixed h1.mat-mdc-dialog-title .controls {
  box-sizing: border-box;
  height: 100%;
}
dialog-title h1.mat-mdc-dialog-title .controls .mat-mdc-slide-toggle, dialog-title-fixed h1.mat-mdc-dialog-title .controls .mat-mdc-slide-toggle {
  --mdc-switch-selected-track-color: color-mix(in srgb, var(--page-background) 54%, transparent);
}
dialog-title h1.mat-mdc-dialog-title .controls .mat-mdc-slide-toggle, dialog-title-fixed h1.mat-mdc-dialog-title .controls .mat-mdc-slide-toggle {
  --mdc-switch-selected-focus-track-color: color-mix(in srgb, var(--page-background) 54%, transparent);
}
dialog-title h1.mat-mdc-dialog-title .controls .mat-mdc-slide-toggle, dialog-title-fixed h1.mat-mdc-dialog-title .controls .mat-mdc-slide-toggle {
  --mdc-switch-selected-hover-track-color: color-mix(in srgb, var(--page-background) 54%, transparent);
}
dialog-title h1.mat-mdc-dialog-title .controls .mat-mdc-slide-toggle, dialog-title-fixed h1.mat-mdc-dialog-title .controls .mat-mdc-slide-toggle {
  --mdc-switch-selected-pressed-track-color: color-mix(in srgb, var(--page-background) 54%, transparent);
}
dialog-title h1.mat-mdc-dialog-title .controls .mat-checked .mat-slide-toggle-bar, dialog-title-fixed h1.mat-mdc-dialog-title .controls .mat-checked .mat-slide-toggle-bar {
  background-color: color-mix(in srgb, var(--page-background) 54%, transparent);
}
dialog-title h1.mat-mdc-dialog-title .controls .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb, dialog-title-fixed h1.mat-mdc-dialog-title .controls .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb {
  background-color: var(--page-background);
}
dialog-title h1.mat-mdc-dialog-title .controls button.close, dialog-title-fixed h1.mat-mdc-dialog-title .controls button.close {
  line-height: 1em;
  font-size: calc(1em + 0.8rem);
  width: 1em;
  height: 1em;
  display: block;
  padding: 0;
}
dialog-title h1.mat-mdc-dialog-title .controls button.close mat-icon, dialog-title-fixed h1.mat-mdc-dialog-title .controls button.close mat-icon {
  font-size: 1em;
  line-height: 1em;
  width: 1em;
  max-width: 1em;
  height: 1em;
  display: block;
  color: white;
}
dialog-title h1.mat-mdc-dialog-title::before, dialog-title-fixed h1.mat-mdc-dialog-title::before {
  display: none;
}

[mat-dialog-actions].mat-mdc-dialog-actions, mat-dialog-actions.mat-mdc-dialog-actions {
  display: flex;
  place-content: flex-end;
  padding: 0;
  margin-top: var(--spacing-large);
  margin-bottom: 0;
  min-height: 0;
}

.cdk-overlay-pane.minimized mat-dialog-container .mat-mdc-dialog-surface {
  padding-bottom: 0;
}
.cdk-overlay-pane.minimized mat-dialog-container .mat-mdc-dialog-component-host > * {
  display: none;
}
.cdk-overlay-pane.minimized mat-dialog-container .mat-mdc-dialog-component-host > dialog-title {
  display: block;
  margin-bottom: 0;
}

.mat-mdc-snack-bar-container.mat-mdc-snack-bar-container {
  color: rgba(255, 255, 255, 0.8);
  min-height: 0;
}
.mat-mdc-snack-bar-container.mat-mdc-snack-bar-container .mat-mdc-simple-snack-bar {
  font-size: 1.8rem;
}
.mat-mdc-snack-bar-container.mat-mdc-snack-bar-container .mat-simple-snack-bar-content {
  flex: 1 1 0;
  text-align: center;
}
.mat-mdc-snack-bar-container.mat-mdc-snack-bar-container .mat-mdc-snack-bar-label {
  text-align: center;
}
.mat-mdc-snack-bar-container.mat-mdc-snack-bar-container.subtle {
  margin: 1.2rem;
  padding: 1rem 1.4rem;
}
.mat-mdc-snack-bar-container.mat-mdc-snack-bar-container.subtle .mat-mdc-simple-snack-bar {
  font-size: 1.6rem;
}

:root {
  --mat-divider-color: var(--divider-color);
}

:root {
  --mat-expansion-container-text-color: inherit;
}
:root {
  --mat-expansion-container-text-size: inherit;
}
:root {
  --mat-expansion-header-text-color: inherit;
}
:root {
  --mat-expansion-header-text-size: inherit;
}
:root {
  --mat-expansion-header-collapsed-state-height: 2em;
}
:root {
  --mat-expansion-header-expanded-state-height: 2em;
}
:root {
  --mat-expansion-container-shape: var(--corner-radius);
}

.mat-expansion-panel.mat-expansion-panel .mat-expansion-panel-header {
  padding: 0 var(--spacing-medium);
}
.mat-expansion-panel.mat-expansion-panel .mat-expansion-panel-header .mat-expansion-indicator svg {
  width: 1.5em;
  height: 1.5em;
  margin: 0;
}
.mat-expansion-panel.mat-expansion-panel .mat-expansion-panel-body {
  padding: 0 var(--spacing-medium) var(--spacing-medium);
}

mat-expansion-panel.mat-expansion-panel[compact], mat-expansion-panel.mat-expansion-panel.compact {
  --mat-expansion-header-collapsed-state-height: auto;
}
mat-expansion-panel.mat-expansion-panel[compact], mat-expansion-panel.mat-expansion-panel.compact {
  --mat-expansion-header-expanded-state-height: auto;
}
mat-expansion-panel.mat-expansion-panel[compact] .mat-expansion-panel-header, mat-expansion-panel.mat-expansion-panel.compact .mat-expansion-panel-header {
  padding: 0 var(--spacing-small);
}
mat-expansion-panel.mat-expansion-panel[compact] .mat-expansion-panel-body, mat-expansion-panel.mat-expansion-panel.compact .mat-expansion-panel-body {
  padding: 0 var(--spacing-small) var(--spacing-small);
}

:root {
  --mat-mdc-form-field-label-transform: translateY(-50%) translateX(calc(1.5em - 4px));
}
:root {
  --mat-form-field-container-vertical-padding: 0.8em;
}
:root {
  --mat-form-field-container-height: calc(0.8em + var(--line-height) + 0.8em);
}
:root {
  --mat-form-field-container-text-line-height: var(--line-height);
}
:root {
  --mat-form-field-leading-icon-color: inherit;
}
:root {
  --mat-form-field-trailing-icon-color: inherit;
}
:root {
  --mdc-outlined-text-field-outline-width: 1px;
}
:root {
  --mdc-outlined-text-field-container-shape: var(--corner-radius);
}
:root {
  --mdc-outlined-text-field-outline-color: var(--divider-color);
}
:root {
  --mdc-outlined-text-field-label-text-color: var(--secondary-text-color);
}
:root {
  --mdc-filled-text-field-container-color: var(--off-color-background);
}
:root {
  --mat-form-field-filled-with-label-container-padding-top: 0.8em;
}
:root {
  --mat-form-field-filled-with-label-container-padding-bottom: 0.8em;
}

.mat-mdc-form-field.mat-mdc-form-field {
  display: block;
}
.mat-mdc-form-field.mat-mdc-form-field > .mat-mdc-text-field-wrapper > .mat-mdc-form-field-flex {
  align-items: center;
}
.mat-mdc-form-field.mat-mdc-form-field > .mat-mdc-text-field-wrapper > .mat-mdc-form-field-flex > .mat-mdc-form-field-icon-prefix {
  padding: 0;
}
.mat-mdc-form-field.mat-mdc-form-field > .mat-mdc-text-field-wrapper > .mat-mdc-form-field-flex > .mat-mdc-form-field-icon-prefix mat-icon {
  font-size: 1.5em;
  padding: 0;
}
.mat-mdc-form-field.mat-mdc-form-field > .mat-mdc-text-field-wrapper > .mat-mdc-form-field-flex > .mat-mdc-form-field-infix {
  width: auto;
}
.mat-mdc-form-field.mat-mdc-form-field > .mat-mdc-text-field-wrapper > .mat-mdc-form-field-flex > .mat-mdc-form-field-icon-suffix {
  padding: 0;
  height: var(--mat-form-field-container-height);
}
.mat-mdc-form-field.mat-mdc-form-field > .mat-mdc-text-field-wrapper > .mat-mdc-form-field-flex > .mat-mdc-form-field-icon-suffix mat-icon, .mat-mdc-form-field.mat-mdc-form-field > .mat-mdc-text-field-wrapper > .mat-mdc-form-field-flex > .mat-mdc-form-field-icon-suffix .mat-datepicker-toggle-default-icon {
  font-size: 1.5em;
  padding: 0;
}
.mat-mdc-form-field.mat-mdc-form-field > .mat-mdc-text-field-wrapper > .mat-mdc-form-field-flex > .mat-mdc-form-field-icon-suffix [matsuffix] {
  height: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
}
.mat-mdc-form-field.mat-mdc-form-field > .mat-mdc-text-field-wrapper > .mat-mdc-form-field-flex > .mat-mdc-form-field-icon-suffix .mat-mdc-icon-button[matsuffix] {
  font-size: 1.5em;
  width: 1em;
  padding: 0;
  color: inherit;
}
.mat-mdc-form-field.mat-mdc-form-field > .mat-mdc-text-field-wrapper > .mat-mdc-form-field-flex > .mat-mdc-form-field-icon-suffix .mat-datepicker-toggle button {
  font-size: inherit;
  color: inherit;
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0;
  width: auto;
  height: auto;
}
.mat-mdc-form-field.mat-mdc-form-field > .mat-mdc-text-field-wrapper > .mat-mdc-form-field-flex > .mat-mdc-form-field-icon-suffix .mat-datepicker-toggle button svg {
  width: 1em;
  height: 1em;
}
.mat-mdc-form-field.mat-mdc-form-field > .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-hint-wrapper, .mat-mdc-form-field.mat-mdc-form-field > .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-error-wrapper {
  padding-left: var(--spacing-medium);
  padding-right: var(--spacing-medium);
  position: static;
}
.mat-mdc-form-field.mat-mdc-form-field .mat-mdc-form-field-bottom-align::before {
  display: block;
  font-size: inherit;
  height: 0.25em;
}
.mat-mdc-form-field.mat-mdc-form-field .mat-mdc-select-arrow-wrapper {
  transform: none;
  width: auto;
  height: auto;
}
.mat-mdc-form-field.mat-mdc-form-field .mat-mdc-select-arrow-wrapper .mat-select-arrow {
  margin: 0;
}

.mat-mdc-form-field.mat-mdc-form-field.mat-form-field-appearance-outline {
  padding-top: 0.2em;
}
.mat-mdc-form-field.mat-mdc-form-field.mat-form-field-appearance-outline > .mdc-text-field--outlined {
  background-color: color-mix(in srgb, var(--dialog-background) 50%, var(--page-background));
  border-radius: var(--mdc-outlined-text-field-container-shape, var(--mat-sys-corner-extra-small));
  padding-left: var(--mat-form-field-container-vertical-padding);
  padding-right: var(--mat-form-field-container-vertical-padding);
}
.mat-mdc-form-field.mat-mdc-form-field.mat-form-field-appearance-outline > .mdc-text-field--outlined > .mat-mdc-form-field-flex > .mdc-notched-outline > .mdc-notched-outline__leading {
  width: var(--mat-form-field-container-vertical-padding);
}
.mat-mdc-form-field.mat-mdc-form-field.mat-form-field-appearance-outline > .mdc-text-field--outlined > .mat-mdc-form-field-flex > .mdc-notched-outline > .mdc-notched-outline__notch {
  max-width: min(var(--mat-form-field-notch-max-width, 100%), 100% - max(12px, var(--mdc-outlined-text-field-container-shape, var(--mat-form-field-container-vertical-padding))) * 2);
}
.mat-mdc-form-field.mat-mdc-form-field.mat-form-field-appearance-outline > .mdc-text-field--outlined > .mat-mdc-form-field-flex > .mdc-notched-outline > .mdc-notched-outline__notch > .mdc-floating-label {
  line-height: var(--line-height);
}
.mat-mdc-form-field.mat-mdc-form-field.mat-form-field-appearance-outline > .mdc-text-field--outlined > .mat-mdc-form-field-flex > .mdc-notched-outline > .mdc-notched-outline__notch > .mdc-floating-label--float-above {
  --mat-mdc-form-field-label-transform: translateY(calc(calc(4px + var(--mat-form-field-container-height, 56px) / 2) * -1)) scale(var(--mat-mdc-form-field-floating-label-scale, 0.75));
}

.mat-mdc-form-field.mat-mdc-form-field.mat-form-field-appearance-fill .mdc-text-field {
  padding-left: var(--mat-form-field-container-vertical-padding);
  padding-right: var(--mat-form-field-container-vertical-padding);
}

.mat-mdc-form-field.mat-mdc-form-field.mat-form-field-appearance-outline.mat-mdc-form-field-type-mat-select > .mdc-text-field--outlined > .mat-mdc-form-field-flex > .mdc-notched-outline > .mdc-notched-outline__notch {
  max-width: calc(100% - var(--mat-form-field-container-vertical-padding) * 2 - 10px);
}

.mat-mdc-form-field[compact], .mat-mdc-form-field.compact, [compact] .mat-mdc-form-field, .compact .mat-mdc-form-field {
  --mat-form-field-container-vertical-padding: 0.4em;
}
.mat-mdc-form-field[compact], .mat-mdc-form-field.compact, [compact] .mat-mdc-form-field, .compact .mat-mdc-form-field {
  --mat-form-field-container-height: calc(0.4em + var(--line-height) + 0.4em);
}
.mat-mdc-form-field[compact], .mat-mdc-form-field.compact, [compact] .mat-mdc-form-field, .compact .mat-mdc-form-field {
  --mat-form-field-filled-with-label-container-padding-top: 0.4em;
}
.mat-mdc-form-field[compact], .mat-mdc-form-field.compact, [compact] .mat-mdc-form-field, .compact .mat-mdc-form-field {
  --mat-form-field-filled-with-label-container-padding-bottom: 0.4em;
}
.mat-mdc-form-field[compact].mat-form-field-appearance-outline, .mat-mdc-form-field.compact.mat-form-field-appearance-outline, [compact] .mat-mdc-form-field.mat-form-field-appearance-outline, .compact .mat-mdc-form-field.mat-form-field-appearance-outline {
  padding-top: 0;
}

.mat-mdc-form-field .spin-buttons {
  display: flex;
  flex-direction: column;
  width: 1.5em;
  height: 100%;
  margin-right: -0.8em;
}
.mat-mdc-form-field .spin-buttons button.mat-mdc-button-base {
  font-size: inherit;
  box-sizing: border-box;
  width: 100%;
  height: 50%;
  min-width: 0;
  padding: 0;
  border: none;
}
.mat-mdc-form-field .spin-buttons button.mat-mdc-button-base.up {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.mat-mdc-form-field .spin-buttons button.mat-mdc-button-base.down {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.mat-mdc-form-field .spin-buttons button.mat-mdc-button-base mat-icon.mat-icon {
  font-size: 1.5em;
}

.mat-mdc-form-field[compact] .spin-buttons, .mat-mdc-form-field.compact .spin-buttons, [compact] .mat-mdc-form-field .spin-buttons, .compact .mat-mdc-form-field .spin-buttons {
  width: 1.1em;
  margin-right: -0.4em;
}
.mat-mdc-form-field[compact] .spin-buttons button.mat-mdc-button-base mat-icon.mat-icon, .mat-mdc-form-field.compact .spin-buttons button.mat-mdc-button-base mat-icon.mat-icon, [compact] .mat-mdc-form-field .spin-buttons button.mat-mdc-button-base mat-icon.mat-icon, .compact .mat-mdc-form-field .spin-buttons button.mat-mdc-button-base mat-icon.mat-icon {
  font-size: 1.1em;
}

.form-field-and-button {
  display: flex;
  align-items: baseline;
  gap: var(--spacing-small);
}
.form-field-and-button .mat-mdc-form-field {
  flex: 1 1 0;
}

.mat-icon.mat-icon {
  position: relative;
  width: 1em;
  height: 1em;
  line-height: 1em;
  font-size: 2.4rem;
}
.mat-icon.mat-icon.inline {
  font-size: inherit;
  width: 1em;
  line-height: inherit;
  vertical-align: middle;
}
.mat-icon.mat-icon.inline.big {
  width: 2em;
}
.mat-icon.mat-icon.big, .mat-icon.mat-icon.large {
  font-size: 3.2rem;
}
.mat-icon.mat-icon.huge {
  font-size: 4rem;
}
.mat-icon.mat-icon.small {
  font-size: 1.6rem;
}
.mat-icon.mat-icon .file-ext {
  font-size: 0.25em;
  font-weight: bold;
  display: block;
  position: absolute;
  left: 10%;
  top: 43%;
  font-family: "Lato";
  background-color: var(--primary-text-color);
  line-height: 1em;
  color: var(--page-background);
  padding: 0.2em;
  border-radius: 0.2em;
}
.mat-icon.mat-icon .file-ext::before {
  content: "■";
}
.mat-icon.mat-icon svg > *[fill="#5271ff"], .mat-icon.mat-icon svg g > *[fill="#5271ff"] {
  fill: var(--primary-color);
}
.mat-icon.mat-icon svg > *[stroke="#5271ff"], .mat-icon.mat-icon svg g > *[stroke="#5271ff"] {
  stroke: var(--primary-color);
}

.mat-icon.mat-icon.mat-icon-inline {
  width: 1em;
  line-height: inherit;
  vertical-align: bottom;
}

:root {
  --mdc-icon-button-state-layer-size: 40px;
}
:root {
  --mdc-icon-button-icon-size: 24px;
}

.mat-primary {
  --mdc-icon-button-icon-color: var(--primary-color);
}

.mat-mdc-icon-button.mat-mdc-icon-button {
  color: inherit;
}
.mat-mdc-icon-button.mat-mdc-icon-button > .mat-icon {
  max-width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}
.mat-mdc-icon-button.mat-mdc-icon-button.slim {
  --mdc-icon-button-state-layer-size: 24px;
}
.mat-mdc-icon-button.mat-mdc-icon-button.slim .mat-mdc-button-touch-target {
  width: 100%;
  height: 100%;
}

:root {
  --mdc-fab-small-container-shape: 9999px;
}
:root {
  --mdc-fab-small-container-color: var(--primary-color);
}
:root {
  --mat-fab-small-foreground-color: var(--inverse-text-color);
}

.mat-mdc-icon-button.mat-mdc-icon-button > .mat-icon {
  width: var(--mdc-icon-button-icon-size, 24px);
  height: var(--mdc-icon-button-icon-size, 24px);
}

.mat-mdc-icon-button.mat-mdc-icon-button.compact {
  --mdc-icon-button-state-layer-size: calc(24px + var(--spacing-small) * 2);
}

.mat-mdc-mini-fab.mat-mdc-mini-fab {
  width: 32px;
  height: 32px;
}
.mat-mdc-mini-fab.mat-mdc-mini-fab.slim {
  width: 24px;
  height: 24px;
}
.mat-mdc-mini-fab.mat-mdc-mini-fab.slim .mat-mdc-button-touch-target {
  width: 100%;
  height: 100%;
}

.mat-mdc-icon-button.mat-mdc-icon-button svg {
  width: 100%;
  height: 100%;
}

:root {
  --mdc-list-list-item-label-text-size: 1.6rem;
}
:root {
  --mdc-list-list-item-label-text-color: currentColor;
}
:root {
  --mdc-list-list-item-container-shape: 0;
}
:root {
  --mat-list-active-indicator-shape: 0;
}

.mat-mdc-list-base.mat-mdc-list-base .mat-mdc-list-item-unscoped-content {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--spacing-small);
}

:root {
  --mat-menu-container-color: var(--dialog-background);
}
:root {
  --mat-menu-item-label-text-color: var(--primary-text-color);
}
:root {
  --mat-menu-item-icon-color: var(--primary-text-color);
}
:root {
  --mat-menu-item-leading-spacing: var(--spacing-medium);
}
:root {
  --mat-menu-item-trailing-spacing: var(--spacing-medium);
}
:root {
  --mat-menu-item-with-icon-leading-spacing: var(--spacing-medium);
}
:root {
  --mat-menu-item-with-icon-trailing-spacing: var(--spacing-medium);
}

.mat-mdc-menu-panel.mat-mdc-menu-panel .mat-mdc-menu-content {
  padding: var(--spacing-small) 0;
}
.mat-mdc-menu-panel.mat-mdc-menu-panel .mat-mdc-menu-content .mat-mdc-menu-item {
  min-height: 40px;
}
.mat-mdc-menu-panel.mat-mdc-menu-panel.hide-arrow .mat-mdc-menu-submenu-icon {
  display: none;
}

:root {
  --mdc-linear-progress-track-height: 2rem;
}
:root {
  --mdc-linear-progress-track-shape: 0.4rem;
}
:root {
  --mdc-linear-progress-active-indicator-height: 2rem;
}

.mat-mdc-progress-bar.mat-mdc-progress-bar {
  border-radius: var(--mdc-linear-progress-track-shape, var(--mat-sys-corner-none));
  overflow: hidden;
}

.mat-mdc-progress-spinner.position-middle {
  position: absolute;
  z-index: 1;
}

.mat-mdc-progress-spinner svg circle {
  stroke-linecap: round;
}

:root {
  --mat-radio-label-text-color: var(--primary-text-color);
}
:root {
  --mdc-radio-unselected-icon-color: var(--primary-text-color);
}
:root {
  --mdc-radio-state-layer-size: 1.15em;
}

.mat-mdc-radio-button.mat-mdc-radio-button {
  height: auto;
  min-height: 1.4em;
  line-height: 1.125em;
}
.mat-mdc-radio-button.mat-mdc-radio-button .mat-internal-form-field {
  gap: var(--spacing-small);
  padding: var(--spacing-medium, 12px);
}
.mat-mdc-radio-button.mat-mdc-radio-button .mat-internal-form-field .mdc-radio {
  padding: 0;
}
.mat-mdc-radio-button.mat-mdc-radio-button .mat-internal-form-field .mdc-radio > .mat-mdc-radio-touch-target {
  width: 150%;
  height: 150%;
}
.mat-mdc-radio-button.mat-mdc-radio-button .mat-internal-form-field .mdc-radio > .mdc-radio__native-control {
  padding: 0;
  width: 100%;
  height: 100%;
}
.mat-mdc-radio-button.mat-mdc-radio-button .mat-internal-form-field .mdc-radio > .mdc-radio__background {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.mat-mdc-radio-button.mat-mdc-radio-button .mat-internal-form-field .mdc-label {
  margin: 0;
  padding: 0;
}

.mat-mdc-radio-button[labelPosition=before] .mat-internal-form-field {
  display: flex;
  justify-content: space-between;
}

.mat-mdc-radio-group.mat-mdc-radio-group.vertical {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-medium);
}
.mat-mdc-radio-group.mat-mdc-radio-group.vertical.no-gap {
  gap: 0;
}

mat-slide-toggle.mat-mdc-slide-toggle {
  --slide-toggle-color: var(--primary-color);
  height: auto;
  min-height: 1.4em;
  line-height: 1.125em;
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mat-switch-label-text-size: inherit;
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mdc-switch-track-width: 2.5em;
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mdc-switch-track-height: 1em;
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mat-switch-track-outline-width: 0;
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mat-switch-track-outline-color: transparent;
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mdc-switch-handle-width: 1.4em;
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mdc-switch-handle-height: 1.4em;
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mdc-switch-unselected-icon-size: 1.4em;
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mdc-switch-selected-icon-size: 1.4em;
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mat-switch-with-icon-handle-size: 1.4em;
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mat-switch-unselected-handle-horizontal-margin: 0;
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mat-switch-unselected-with-icon-handle-horizontal-margin: 0;
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mat-switch-unselected-pressed-handle-horizontal-margin: 0;
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mat-switch-selected-handle-horizontal-margin: 0 0 0 0.2em;
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mat-switch-selected-with-icon-handle-horizontal-margin: 0;
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mat-switch-selected-pressed-handle-horizontal-margin: 0 0 0 0.2em;
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mat-switch-label-text-color: currentColor;
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mdc-switch-unselected-track-color: var(--disabled-text-color);
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mdc-switch-unselected-focus-track-color: var(--disabled-text-color);
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mdc-switch-unselected-hover-track-color: var(--disabled-text-color);
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mdc-switch-unselected-pressed-track-color: var(--disabled-text-color);
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mdc-switch-selected-track-color: color-mix(in srgb, var(--slide-toggle-color) 50%, transparent);
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mdc-switch-selected-focus-track-color: color-mix(in srgb, var(--slide-toggle-color) 50%, transparent);
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mdc-switch-selected-hover-track-color: color-mix(in srgb, var(--slide-toggle-color) 50%, transparent);
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mdc-switch-selected-pressed-track-color: color-mix(in srgb, var(--slide-toggle-color) 50%, transparent);
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mdc-switch-unselected-handle-color: var(--page-background);
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mdc-switch-unselected-focus-handle-color: var(--page-background);
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mdc-switch-unselected-hover-handle-color: var(--page-background);
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mdc-switch-unselected-pressed-handle-color: var(--page-background);
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mdc-switch-selected-handle-color: var(--slide-toggle-color);
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mdc-switch-selected-focus-handle-color: var(--slide-toggle-color);
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mdc-switch-selected-hover-handle-color: var(--slide-toggle-color);
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mdc-switch-selected-pressed-handle-color: var(--slide-toggle-color);
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mdc-switch-unselected-icon-color: var(--primary-text-color);
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mdc-switch-selected-icon-color: var(--page-background);
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mdc-switch-handle-surface-color: var(--disabled-text-color);
}
mat-slide-toggle.mat-mdc-slide-toggle {
  --mdc-switch-handle-elevation-shadow: 0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f;
}
mat-slide-toggle.mat-mdc-slide-toggle .mdc-switch .mdc-switch__icon {
  display: none;
}

mat-slide-toggle.mat-mdc-slide-toggle[labelposition=before] {
  width: 100%;
  position: relative;
  display: block;
  z-index: 1;
}
mat-slide-toggle.mat-mdc-slide-toggle[labelposition=before] > .mat-internal-form-field {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
mat-slide-toggle.mat-mdc-slide-toggle[labelposition=before] > .mat-internal-form-field > label {
  margin-left: 0;
}
mat-slide-toggle.mat-mdc-slide-toggle[labelposition=before] label {
  flex: 1 0 0;
  display: flex;
  flex-direction: row;
  align-items: center;
}
mat-slide-toggle.mat-mdc-slide-toggle[labelposition=before] label::before {
  content: "";
  display: block;
  box-sizing: border-box;
  flex-grow: 1;
  flex-basis: 0;
  height: 0;
  border-top-style: dotted;
  border-top-width: 0.2rem;
  border-top-color: currentColor;
  opacity: 10%;
  order: 1;
}

:root {
  --mat-stepper-header-done-state-icon-background-color: var(--primary-color);
}
:root {
  --mat-stepper-header-done-state-icon-foreground-color: var(--dialog-background);
}

.mat-stepper-horizontal {
  background: unset;
}
.mat-stepper-horizontal .stepper-label {
  font-size: 1em;
}

:root {
  --mat-tab-header-inactive-label-text-color: var(--secondary-text-color);
}
:root {
  --mat-tab-header-label-text-line-height: var(--line-height);
}

.mat-mdc-tab-group.mat-mdc-tab-group .mat-mdc-tab {
  min-width: 0;
  padding: 0.857142857em;
  flex-grow: 1;
  flex-shrink: 1;
}
.mat-mdc-tab-group.mat-mdc-tab-group .mat-mdc-tab .mdc-tab__content {
  height: auto;
}
.mat-mdc-tab-group.mat-mdc-tab-group .mat-mdc-tab-body-wrapper {
  flex-grow: 1;
}
.mat-mdc-tab-group.mat-mdc-tab-group .mat-mdc-tab-body-wrapper .mat-mdc-tab-body-content {
  overflow-x: hidden;
}

.mat-mdc-tab-group.mat-mdc-tab-group[compact] .mat-mdc-tab, .mat-mdc-tab-group.mat-mdc-tab-group.compact .mat-mdc-tab {
  height: auto;
  min-width: 0;
  padding: 0.428571429em 0.5em;
}

mat-tab-group.no-pagination .mat-mdc-tab-header-pagination {
  display: none;
}
mat-tab-group.no-pagination .mdc-tab {
  white-space: normal;
}

.dataset-tabs .mdc-tab {
  white-space: normal;
}

.mat-mdc-cell, .mat-mdc-footer-cell, .mat-mdc-header-cell {
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
}

table[mat-table] tr.mat-mdc-header-row {
  height: 3em;
}
table[mat-table] tr.mat-mdc-row {
  height: 2.5em;
}
table[mat-table] .mat-mdc-table-sticky {
  position: inherit !important;
}

table[mat-table][compact] .mat-mdc-cell, table[mat-table][compact] .mat-mdc-footer-cell {
  font-size: 1.2rem;
}
table[mat-table][compact] tr.mat-mdc-row, table[mat-table][compact] tr.mat-mdc-footer-row {
  height: 1.7em;
}
table[mat-table][compact] tr.mat-mdc-header-row {
  height: 1.5em;
}
table[mat-table][compact] th.mat-mdc-header-cell, table[mat-table][compact] td.mat-mdc-cell, table[mat-table][compact] td.mat-mdc-footer-cell {
  padding-left: 0 0.17em;
}
table[mat-table][compact] th.mat-mdc-header-cell:first-of-type, table[mat-table][compact] td.mat-mdc-cell:first-of-type, table[mat-table][compact] td.mat-mdc-footer-cell:first-of-type {
  padding-left: 0.13em;
}
table[mat-table][compact] th.mat-mdc-header-cell:last-of-type, table[mat-table][compact] td.mat-mdc-cell:last-of-type, table[mat-table][compact] td.mat-mdc-footer-cell:last-of-type {
  padding-right: 0.13em;
}

table[mat-table][centered-content] {
  text-align: center;
}

table[mat-table][centered-content] th.mat-mdc-header-cell {
  text-align: center;
}

:root {
  --mdc-plain-tooltip-supporting-text-line-height: var(--line-height);
}

.mat-mdc-tooltip-panel {
  pointer-events: none;
}

.mat-mdc-tooltip-surface.mat-mdc-tooltip-surface {
  min-height: 0;
  min-width: 0;
}

report, report-v2 {
  display: block;
  width: 100%;
  min-height: 100%;
}
report .page-scroller > .page-scroller-inner > .page-list report-page, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page {
  background-color: white;
  color: black;
  font-size: 8.5pt;
  line-height: 1.3em;
  font-family: "Helvetica";
  padding: 7mm;
  height: 11in;
  width: 8.5in;
  min-width: 8.5in;
  max-width: 8.5in;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  transform-origin: top left;
}
report .page-scroller > .page-scroller-inner > .page-list report-page > .content-window, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page > .content-window {
  overflow: hidden;
  position: relative;
  flex-grow: 1;
}
report .page-scroller > .page-scroller-inner > .page-list report-page > .content-window > .content, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page > .content-window > .content {
  position: relative;
  min-height: 100%;
  height: 100%;
  max-height: 100%;
  overflow: hidden;
}
report .page-scroller > .page-scroller-inner > .page-list report-page > .content-window > .markup-annotations, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page > .content-window > .markup-annotations {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
}
report .page-scroller > .page-scroller-inner > .page-list report-page > .content-window > .annotate, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page > .content-window > .annotate {
  background-color: rgba(0, 0, 0, 0.1254901961);
}
report .page-scroller > .page-scroller-inner > .page-list report-page report-header, report .page-scroller > .page-scroller-inner > .page-list report-page .report-header, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page report-header, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page .report-header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-bottom: 2mm;
}
report .page-scroller > .page-scroller-inner > .page-list report-page report-header.has-sub-title, report .page-scroller > .page-scroller-inner > .page-list report-page .report-header.has-sub-title, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page report-header.has-sub-title, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page .report-header.has-sub-title {
  margin-bottom: calc(2mm + 1.5em);
}
report .page-scroller > .page-scroller-inner > .page-list report-page report-header .title, report .page-scroller > .page-scroller-inner > .page-list report-page .report-header .title, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page report-header .title, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page .report-header .title {
  font-size: 2em;
  line-height: 1em;
}
report .page-scroller > .page-scroller-inner > .page-list report-page report-header .title mat-icon, report .page-scroller > .page-scroller-inner > .page-list report-page .report-header .title mat-icon, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page report-header .title mat-icon, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page .report-header .title mat-icon {
  margin-left: -0.1em;
  font-size: inherit !important;
  height: 1em;
  width: 1em;
  color: var(--primary-color);
}
report .page-scroller > .page-scroller-inner > .page-list report-page report-header .title .report-name, report .page-scroller > .page-scroller-inner > .page-list report-page .report-header .title .report-name, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page report-header .title .report-name, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page .report-header .title .report-name {
  text-transform: uppercase;
  font-size: 1em;
  font-weight: bold;
  position: relative;
}
report .page-scroller > .page-scroller-inner > .page-list report-page report-header .title .project-name, report .page-scroller > .page-scroller-inner > .page-list report-page .report-header .title .project-name, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page report-header .title .project-name, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page .report-header .title .project-name {
  font-size: 0.6em;
  line-height: 1em;
}
report .page-scroller > .page-scroller-inner > .page-list report-page report-header .company, report .page-scroller > .page-scroller-inner > .page-list report-page .report-header .company, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page report-header .company, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page .report-header .company {
  font-size: 2em;
  line-height: 1em;
}
report .page-scroller > .page-scroller-inner > .page-list report-page report-header .company > *, report .page-scroller > .page-scroller-inner > .page-list report-page .report-header .company > *, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page report-header .company > *, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page .report-header .company > * {
  vertical-align: middle;
}
report .page-scroller > .page-scroller-inner > .page-list report-page report-header .company img, report .page-scroller > .page-scroller-inner > .page-list report-page .report-header .company img, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page report-header .company img, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page .report-header .company img {
  height: 1em;
}
report .page-scroller > .page-scroller-inner > .page-list report-page report-header .sub-title, report .page-scroller > .page-scroller-inner > .page-list report-page .report-header .sub-title, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page report-header .sub-title, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page .report-header .sub-title {
  position: absolute;
  left: 2em;
  top: calc(2em + 1mm);
}
report .page-scroller > .page-scroller-inner > .page-list report-page report-header .sub-title > span, report .page-scroller > .page-scroller-inner > .page-list report-page .report-header .sub-title > span, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page report-header .sub-title > span, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page .report-header .sub-title > span {
  font-size: 1.5em;
}
report .page-scroller > .page-scroller-inner > .page-list report-page report-page-footer, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page report-page-footer {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  position: relative;
  line-height: 1em;
  margin-top: 1em;
}
report .page-scroller > .page-scroller-inner > .page-list report-page report-page-footer > .left > *, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page report-page-footer > .left > * {
  vertical-align: middle;
}
report .page-scroller > .page-scroller-inner > .page-list report-page report-page-footer > .left mat-icon, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page report-page-footer > .left mat-icon {
  margin-left: -0.1em;
  margin-right: -0.1em;
  font-size: inherit !important;
  height: 1em;
  width: 1em;
  color: var(--primary-color);
}
report .page-scroller > .page-scroller-inner > .page-list report-page report-page-footer > .left img, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page report-page-footer > .left img {
  height: 1em;
}
report .page-scroller > .page-scroller-inner > .page-list report-page report-page-footer > .page-number, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page report-page-footer > .page-number {
  font-weight: bold;
  text-align: right;
}
report .page-scroller > .page-scroller-inner > .page-list report-page .graph, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page .graph {
  position: relative;
}
report .page-scroller > .page-scroller-inner > .page-list report-page .graph::before, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page .graph::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-color: transparent;
}
report .page-scroller > .page-scroller-inner > .page-list report-page.summary .content, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page.summary .content {
  font-size: 14pt;
  line-height: 1.3em;
  display: flex;
  flex-direction: column;
  gap: 1em;
}
report .page-scroller > .page-scroller-inner > .page-list report-page.summary .content .box, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page.summary .content .box {
  padding: 0.66em 1em;
  margin-bottom: 0;
}
report .page-scroller > .page-scroller-inner > .page-list report-page.summary .content .box > table.data, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page.summary .content .box > table.data {
  margin-top: -0.3em;
  margin-left: -1em;
  margin-right: -1em;
  width: calc(100% + 2em);
}
report .page-scroller > .page-scroller-inner > .page-list report-page.summary .content .box > table.data th, report .page-scroller > .page-scroller-inner > .page-list report-page.summary .content .box > table.data td, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page.summary .content .box > table.data th, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page.summary .content .box > table.data td {
  padding: 0.3em 0.3em 0.15em;
  border-color: rgba(0, 0, 0, 0.3333333333);
}
report .page-scroller > .page-scroller-inner > .page-list report-page.summary .content .box > table.data th:first-child, report .page-scroller > .page-scroller-inner > .page-list report-page.summary .content .box > table.data td:first-child, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page.summary .content .box > table.data th:first-child, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page.summary .content .box > table.data td:first-child {
  border-left: none;
  padding-left: 1em;
}
report .page-scroller > .page-scroller-inner > .page-list report-page.summary .content .box > table.data th:last-child, report .page-scroller > .page-scroller-inner > .page-list report-page.summary .content .box > table.data td:last-child, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page.summary .content .box > table.data th:last-child, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page.summary .content .box > table.data td:last-child {
  border-right: none;
  padding-right: 1em;
}
report .page-scroller > .page-scroller-inner > .page-list report-page.summary .content .box > table.data tr:first-child th, report .page-scroller > .page-scroller-inner > .page-list report-page.summary .content .box > table.data tr:first-child td, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page.summary .content .box > table.data tr:first-child th, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page.summary .content .box > table.data tr:first-child td {
  border-top: none;
  background-color: transparent;
}
report .page-scroller > .page-scroller-inner > .page-list report-page.summary .content .box > table.data tr:last-child th, report .page-scroller > .page-scroller-inner > .page-list report-page.summary .content .box > table.data tr:last-child td, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page.summary .content .box > table.data tr:last-child th, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page.summary .content .box > table.data tr:last-child td {
  border-bottom: none;
}
report .page-scroller > .page-scroller-inner > .page-list report-page.summary .content report-header, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page.summary .content report-header {
  font-size: 0.5em;
}
report .page-scroller > .page-scroller-inner > .page-list report-page.summary .content report-header .sub-title > span, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page.summary .content report-header .sub-title > span {
  font-size: 2em;
}
report .page-scroller > .page-scroller-inner > .page-list report-page.summary .content report-page-footer, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page.summary .content report-page-footer {
  font-size: 0.5em;
}
report .page-scroller > .page-scroller-inner > .page-list report-page.summary .content > .one-column, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page.summary .content > .one-column {
  width: -moz-fit-content;
  width: fit-content;
  min-width: 70%;
  max-width: 100%;
  padding: 0 1em;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  gap: 1em;
}
report .page-scroller > .page-scroller-inner > .page-list report-page.summary .content > .two-column, report-v2 .page-scroller > .page-scroller-inner > .page-list report-page.summary .content > .two-column {
  padding: 0 1em;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 70%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template: ". .";
  gap: 1em;
}
report .page-scroller > .page-scroller-inner > .page-list report-pages, report-v2 .page-scroller > .page-scroller-inner > .page-list report-pages {
  display: contents;
}
report .page-scroller > .page-scroller-inner > .page-list report-pages report-page > .content-window, report-v2 .page-scroller > .page-scroller-inner > .page-list report-pages report-page > .content-window {
  flex-grow: 0;
}
report .page-scroller > .page-scroller-inner > .page-list report-pages report-page > .content-window > .content, report-v2 .page-scroller > .page-scroller-inner > .page-list report-pages report-page > .content-window > .content {
  height: auto;
  max-height: none;
}

@media screen {
  report report-page-container {
    height: 100%;
    width: 0;
  }
  report-v2 report-page-container {
    height: 0;
    width: 100%;
  }
  report, report-v2 {
    display: flex;
    flex-direction: row;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
  report > .controls, report-v2 > .controls {
    box-shadow: 0 0 1.32mm rgba(0, 0, 0, 0.5);
    background-color: var(--page-background);
    box-sizing: border-box;
    flex: none;
    width: 72.76mm;
    height: 100%;
    z-index: 1;
    padding: var(--spacing-medium);
    overflow-x: hidden;
    overflow-y: auto;
  }
  report report-page-container, report-v2 report-page-container {
    display: block;
    flex: 1 1 0;
    position: relative;
  }
  report report-page-container > .page-scroller, report-v2 report-page-container > .page-scroller {
    background-color: grey;
    height: 100%;
    max-height: 100%;
    box-sizing: border-box;
    overflow-x: scroll;
    overflow-y: auto;
    position: relative;
    padding: var(--spacing-large);
  }
  report report-page-container > .page-scroller > .page-scroller-inner, report-v2 report-page-container > .page-scroller > .page-scroller-inner {
    height: 100%;
    max-height: 100%;
    width: -moz-fit-content;
    width: fit-content;
  }
  report report-page-container > .page-scroller > .page-scroller-inner > .page-list, report-v2 report-page-container > .page-scroller > .page-scroller-inner > .page-list {
    width: -moz-fit-content;
    width: fit-content;
    position: relative;
    height: auto;
    display: flex;
    flex-direction: row;
    gap: var(--spacing-large);
    align-items: center;
    background-color: grey;
  }
  report report-page-container > .page-scroller > .page-scroller-inner > .page-list.zoom-fit, report-v2 report-page-container > .page-scroller > .page-scroller-inner > .page-list.zoom-fit {
    height: 100%;
    max-height: 100%;
  }
  report report-page-container > .page-scroller > .page-scroller-inner > .page-list.zoom-rows2, report-v2 report-page-container > .page-scroller > .page-scroller-inner > .page-list.zoom-rows2 {
    display: grid;
    grid-template-areas: ". .";
    grid-auto-flow: column;
    grid-template-rows: repeat(2, auto);
    justify-items: center;
  }
  report report-page-container .page-scroller::-webkit-scrollbar, report-v2 report-page-container .page-scroller::-webkit-scrollbar {
    width: 1.6rem;
  }
  report report-page-container .page-scroller, report-v2 report-page-container .page-scroller {
    scrollbar-width: thin;
  }
  report report-page-container .page-scroller::-webkit-scrollbar-track, report-v2 report-page-container .page-scroller::-webkit-scrollbar-track {
    background: grey;
  }
  report report-page-container .page-scroller::-webkit-scrollbar-thumb, report-v2 report-page-container .page-scroller::-webkit-scrollbar-thumb {
    border-radius: 0.4rem;
  }
  report report-page-container > .scroll-buttons, report-v2 report-page-container > .scroll-buttons {
    position: absolute;
    bottom: var(--spacing-medium);
    left: var(--spacing-medium);
    width: -moz-fit-content;
    width: fit-content;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    pointer-events: none;
  }
  report report-page-container > .scroll-buttons button, report-v2 report-page-container > .scroll-buttons button {
    box-shadow: rgba(0, 0, 0, 0.533) 0px 0px 4px;
    pointer-events: all;
  }
}
@media print {
  .no-pdf {
    display: none !important;
  }
  iframe#launcher {
    display: none;
  }
  .report .controls {
    display: none;
  }
  .report .page-list {
    transform: none !important;
  }
  .report .header {
    display: none;
  }
  .report > .controls {
    display: none;
  }
  .report .pages-and-controls > .page-list {
    background-color: transparent;
    padding: 0;
  }
  .report .pages, .report .page {
    background-color: transparent;
    padding: none;
  }
}
.report report-page .font-large.font-large.font-large, .report-v2 report-page .font-large.font-large.font-large {
  font-size: 1.2em;
  line-height: 1.3em;
}
.report report-page .font-medium.font-medium.font-medium, .report-v2 report-page .font-medium.font-medium.font-medium {
  font-size: 1em;
  line-height: 1.3em;
}
.report report-page .font-small.font-small.font-small, .report-v2 report-page .font-small.font-small.font-small {
  font-size: 0.8em;
  line-height: 1.3em;
}
.report report-page .font-smaller.font-smaller.font-smaller, .report-v2 report-page .font-smaller.font-smaller.font-smaller {
  font-size: 0.4em;
  line-height: 1.3em;
}
.report report-page .avoid-page-break, .report-v2 report-page .avoid-page-break {
  break-inside: avoid;
}
.report report-page h1, .report-v2 report-page h1 {
  font-weight: bold;
  font-size: 1.2em;
  padding: 0;
  margin: 0;
}
.report report-page h2, .report-v2 report-page h2 {
  font-weight: bold;
  font-size: 1.1em;
  padding: 0;
  margin: 0;
}
.report report-page h3, .report-v2 report-page h3 {
  font-weight: bold;
  padding: 0;
  margin: 0;
}
.report report-page .row, .report-v2 report-page .row {
  margin-bottom: 2mm;
}
.report report-page .box, .report-v2 report-page .box {
  background-color: white;
  padding: 2mm;
  margin-bottom: 2mm;
  border-radius: 1mm;
}
.report report-page .box .title, .report-v2 report-page .box .title {
  white-space: nowrap;
  text-transform: uppercase;
  padding: 0;
  margin-bottom: 0.3em;
  border-bottom: 0.1rem solid rgba(0, 0, 0, 0.3333333333);
}
.report report-page .box table.label-value, .report-v2 report-page .box table.label-value {
  width: 100%;
}
.report report-page .box table.label-value td:first-child, .report-v2 report-page .box table.label-value td:first-child {
  white-space: nowrap;
  width: 0.1rem;
}
.report report-page .box > table.label-value:not(:first-child), .report-v2 report-page .box > table.label-value:not(:first-child) {
  margin-top: 0.3em;
}
.report report-page .box .flex-row, .report-v2 report-page .box .flex-row {
  gap: 2mm;
}
.report report-page .label-above.label-above.label-above, .report-v2 report-page .label-above.label-above.label-above {
  margin-bottom: 1mm;
  line-height: 1em;
}
.report report-page .color, .report-v2 report-page .color {
  border: 0.1rem solid gray;
  box-shadow: none;
}
.report report-page span.placeholder, .report-v2 report-page span.placeholder {
  opacity: 0.66;
}
.report report-page span.placeholder::before, .report-v2 report-page span.placeholder::before {
  content: "<";
}
.report report-page span.placeholder::after, .report-v2 report-page span.placeholder::after {
  content: ">";
}
.report report-page table.data, .report-v2 report-page table.data {
  border-collapse: collapse;
  border-width: 0;
}
.report report-page table.data tr, .report-v2 report-page table.data tr {
  break-inside: avoid;
}
.report report-page table.data thead, .report-v2 report-page table.data thead {
  break-inside: avoid;
}
.report report-page table.data th, .report report-page table.data td, .report-v2 report-page table.data th, .report-v2 report-page table.data td {
  padding: 1mm;
  border: 0.26mm solid gray;
}
.report report-page table.data td.left, .report-v2 report-page table.data td.left {
  text-align: left;
}
.report report-page table.data th, .report-v2 report-page table.data th {
  text-align: center;
  background-color: #eee;
  border-top-width: 0.26mm;
  font-weight: bold;
}
.report report-page table.data tr:nth-child(6n) td, .report-v2 report-page table.data tr:nth-child(6n) td {
  border-top: 0.26mm solid black;
}
.report report-page table.label-value, .report-v2 report-page table.label-value {
  border-collapse: collapse;
}
.report report-page table.label-value td, .report-v2 report-page table.label-value td {
  vertical-align: baseline;
  text-align: left;
  padding: 0;
  padding-top: 0.3em;
  box-sizing: border-box;
}
.report report-page table.label-value td > *, .report-v2 report-page table.label-value td > * {
  vertical-align: baseline;
}
.report report-page table.label-value td div.label-value-unaligned, .report-v2 report-page table.label-value td div.label-value-unaligned {
  display: flex;
  flex-direction: row;
}
.report report-page table.label-value td div.label-value-unaligned > *:first-child, .report-v2 report-page table.label-value td div.label-value-unaligned > *:first-child {
  text-transform: capitalize;
  padding-right: 1mm;
}
.report report-page table.label-value td div.label-value-unaligned > *:last-child, .report-v2 report-page table.label-value td div.label-value-unaligned > *:last-child {
  padding-left: 1mm;
  flex-grow: 1;
  border-bottom: solid 0.1rem rgba(0, 0, 0, 0.3333333333);
}
.report report-page table.label-value td:first-child:not(:only-child), .report-v2 report-page table.label-value td:first-child:not(:only-child) {
  text-transform: capitalize;
  padding-left: 0;
  padding-right: 1mm;
}
.report report-page table.label-value td:last-child:not(:only-child), .report-v2 report-page table.label-value td:last-child:not(:only-child) {
  padding-left: 1mm;
  padding-right: 1mm;
  text-align: left;
  vertical-align: bottom;
  border-bottom: solid 0.1rem rgba(0, 0, 0, 0.3333333333);
}
.report report-page table.label-value tr:first-child th, .report report-page table.label-value tr:first-child td, .report-v2 report-page table.label-value tr:first-child th, .report-v2 report-page table.label-value tr:first-child td {
  padding-top: 0;
}
.report report-page table.label-value-data, .report-v2 report-page table.label-value-data {
  border-collapse: collapse;
  border-width: 0;
}
.report report-page table.label-value-data tr, .report-v2 report-page table.label-value-data tr {
  break-inside: avoid;
}
.report report-page table.label-value-data td, .report-v2 report-page table.label-value-data td {
  padding: 0.5em;
  border: 0.26mm solid gray;
}
.report report-page table.label-value-data tr:nth-child(6n) td, .report-v2 report-page table.label-value-data tr:nth-child(6n) td {
  border-top: 0.26mm solid black;
}
.report report-page table.label-value-data td:first-child, .report-v2 report-page table.label-value-data td:first-child {
  padding-right: 0.75em;
}
.report report-page table.label-value-data td:not(:first-child), .report-v2 report-page table.label-value-data td:not(:first-child) {
  padding-left: calc(0.25em + 0.2rem);
}
.report report-page table.decks, .report-v2 report-page table.decks {
  border-collapse: collapse;
  background-color: white;
}
.report report-page table.decks td, .report report-page table.decks th, .report-v2 report-page table.decks td, .report-v2 report-page table.decks th {
  padding: 0.3em 1mm 0;
  text-align: left;
  border-bottom: solid 0.1rem rgba(0, 0, 0, 0.3333333333);
}
.report report-page table.decks th, .report-v2 report-page table.decks th {
  background-color: #F8F8F8;
}
.report report-page table.decks td:first-child, .report report-page table.decks th:first-child, .report-v2 report-page table.decks td:first-child, .report-v2 report-page table.decks th:first-child {
  padding-left: 0;
}
.report report-page table.decks td:last-child, .report report-page table.decks th:last-child, .report-v2 report-page table.decks td:last-child, .report-v2 report-page table.decks th:last-child {
  padding-right: 0;
}
.report report-page table.decks tr:first-child th, .report report-page table.decks tr:first-child td, .report-v2 report-page table.decks tr:first-child th, .report-v2 report-page table.decks tr:first-child td {
  padding-top: 0;
}
.report report-page table.decks tr:last-child th, .report report-page table.decks tr:last-child td, .report-v2 report-page table.decks tr:last-child th, .report-v2 report-page table.decks tr:last-child td {
  border-bottom: none;
}
.report report-page div.label-value > div, .report-v2 report-page div.label-value > div {
  gap: 1em;
  margin-bottom: 0;
}
.report svg, .report-v2 svg {
  display: block;
}

.report-v2 report-v2 .open-controls {
  display: none;
}
.report-v2 report-v2 > .controls-selector-sidebar {
  width: calc(60px + var(--spacing-small) * 2);
  height: 100%;
  padding: 0;
  box-shadow: 0 0 1.32mm rgba(0, 0, 0, 0.5019607843);
  z-index: 2;
  background-color: var(--dialog-background);
  display: flex;
  flex-direction: column;
}
.report-v2 report-v2 > .controls-selector-sidebar .logo {
  width: 100%;
  height: -moz-fit-content;
  height: fit-content;
  padding: var(--spacing-medium) var(--spacing-small);
  display: block;
}
.report-v2 report-v2 > .controls-selector-sidebar .logo mat-icon.mat-icon {
  font-size: 5rem;
  width: 1em;
  height: 1em;
}
.report-v2 report-v2 > .controls-selector-sidebar .logo mat-icon.mat-icon svg {
  color: var(--primary-color);
  width: 100%;
  height: 100%;
}
.report-v2 report-v2 > .controls-selector-sidebar mat-button-toggle-group {
  padding: 0 var(--spacing-small);
  box-shadow: none;
  border: none;
  width: 100%;
}
.report-v2 report-v2 > .controls-selector-sidebar mat-button-toggle-group mat-button-toggle.mat-button-toggle.mat-button-toggle {
  border: none;
}
.report-v2 report-v2 > .controls-selector-sidebar mat-button-toggle-group mat-button-toggle.mat-button-toggle .mat-button-toggle-label-content {
  padding: 0;
  line-height: 1em;
}
.report-v2 report-v2 > .controls-selector-sidebar mat-button-toggle-group mat-button-toggle.mat-button-toggle.mat-button-toggle-checked {
  background-color: var(--primary-color);
}
.report-v2 report-v2 > .controls-selector-sidebar mat-button-toggle-group mat-button-toggle.mat-button-toggle button {
  padding: var(--spacing-medium);
  height: 50px;
}
.report-v2 report-v2 > .controls-selector-sidebar mat-button-toggle-group button.mat-button {
  padding: var(--spacing-medium);
  height: 50px;
}
.report-v2 report-v2 .controls-selector-popup {
  width: -moz-fit-content;
  width: fit-content;
  height: 100%;
  padding: 0;
  box-shadow: 0 0 1.32mm rgba(0, 0, 0, 0.5019607843);
  z-index: 2;
  background-color: var(--dialog-background);
  display: flex;
  flex-direction: column;
}
.report-v2 report-v2 .controls-selector-popup .logo {
  width: 10rem;
  height: 10rem;
  padding: var(--spacing-medium) var(--spacing-small);
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  left: 30%;
}
.report-v2 report-v2 .controls-selector-popup .logo mat-icon.mat-icon {
  font-size: 5rem;
  width: 1em;
  height: 1em;
}
.report-v2 report-v2 .controls-selector-popup .logo mat-icon.mat-icon svg {
  color: var(--primary-color);
  width: 100%;
  height: 100%;
}
.report-v2 report-v2 .controls-selector-popup .button-group {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--spacing-medium);
}
.report-v2 report-v2 .controls-selector-popup .button-group button {
  width: 100%;
}
.report-v2 report-v2 .controls-selector-popup .button-group button .mat-button-wrapper {
  display: flex;
  flex-direction: row;
  gap: var(--spacing-medium);
  align-items: center;
}
.report-v2 report-v2 mat-drawer-container {
  flex: 1 1 0;
  height: 100%;
}
.report-v2 report-v2 mat-drawer-container mat-drawer.control-panel {
  width: 29rem;
  background-color: color-mix(in srgb, var(--primary-color) 20%, var(--dialog-background));
  padding: var(--spacing-medium);
  box-shadow: 0 0 1.32mm rgba(0, 0, 0, 0.5019607843);
}
.report-v2 report-v2 mat-drawer-container mat-drawer.control-panel report-control-panel {
  display: flex;
  flex-direction: column;
  gap: 2em;
}
.report-v2 report-v2 mat-drawer-container mat-drawer.control-panel report-control-panel .title {
  text-transform: uppercase;
}
.report-v2 report-v2 mat-drawer-container .main-container {
  width: 100%;
  height: 100%;
}
.report-v2 report-v2 mat-drawer-container .main-container .header {
  height: 4.2rem;
  padding: 0 0.8rem 0 0;
  box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.5);
}
.report-v2 report-v2 mat-drawer-container mat-drawer.sm-control-panel {
  width: 22.9rem;
}
.report-v2 report-v2.narrow .open-controls {
  display: block;
}

:root {
  --slider-track-background: var(--scroll-background);
  --slider-connect-background: var(--primary-color);
  --slider-thumb-color: var(--dialog-background);
}

slider {
  display: block;
  box-sizing: content-box;
}
slider.horizontal {
  height: 0.8em;
  padding: 0.4rem 0.5rem;
}
slider.vertical {
  height: auto;
  width: 0.8em;
  padding: 0.5rem 0.4rem;
}
slider > .slider {
  height: 100%;
}
slider > .slider.disabled {
  filter: grayscale(1);
}
slider > .slider .fake-slider {
  width: 100%;
  height: 100%;
  border-radius: 0.4rem;
  border-width: 1px;
  border-style: solid;
  border-color: var(--divider-color);
  background: var(--slider-track-background);
  margin-bottom: -0.8em;
}
slider > .slider.noUi-target {
  box-shadow: none;
  border-radius: 0.4rem;
  border-color: var(--divider-color);
  background: var(--slider-track-background);
}
slider > .slider.noUi-target .noUi-pips-horizontal {
  height: auto;
  min-height: 3rem;
  padding: var(--spacing-small);
}
slider > .slider.noUi-target .noUi-marker-horizontal.noUi-marker {
  height: var(--spacing-small);
}
slider > .slider.noUi-target .noUi-marker-horizontal.noUi-marker-large {
  height: var(--spacing-medium);
}
slider > .slider.noUi-target .noUi-marker-vertical.noUi-marker {
  width: var(--spacing-small);
}
slider > .slider.noUi-target .noUi-marker-vertical.noUi-marker-large {
  width: var(--spacing-medium);
}
slider > .slider.noUi-target .noUi-connect {
  width: calc(100% + 0.1rem);
  height: calc(100% + 0.1rem);
}
slider > .slider.noUi-target .noUi-connect:nth-child(odd) {
  background: var(--slider-connect-background);
}
slider > .slider.noUi-target .noUi-connect:nth-child(even) {
  background: transparent;
}
slider > .slider.noUi-target .noUi-handle {
  box-shadow: rgba(0, 0, 0, 0.5) 0 0 0.2rem;
  border-radius: 0.4rem;
  border-color: var(--divider-color);
  background: var(--slider-thumb-color);
}
slider > .slider.noUi-target .noUi-handle:focus {
  outline: none;
  border-color: var(--primary-color);
}
slider > .slider.noUi-target .noUi-handle::before {
  content: none;
}
slider > .slider.noUi-target .noUi-handle::after {
  content: none;
}
slider > .slider.noUi-target .noUi-tooltip {
  display: none;
  font-size: 1.2rem;
}
slider > .slider.noUi-target .noUi-active .noUi-tooltip {
  display: block;
}
slider > .slider.noUi-target[disabled=disabled] .noUi-touch-area {
  background: var(--disabled-background);
}
slider > .slider.noUi-target.noUi-horizontal {
  width: 100%;
  height: 100%;
}
slider > .slider.noUi-target.noUi-horizontal .noUi-handle {
  width: 10px;
  height: calc(0.8em + 8px);
  right: -5px;
  top: -5px;
}
slider > .slider.noUi-target.noUi-vertical {
  width: 100%;
  height: 100%;
}
slider > .slider.noUi-target.noUi-vertical .noUi-connect {
  right: auto;
}
slider > .slider.noUi-target.noUi-vertical .noUi-origin {
  top: 0;
  left: 0;
  width: 0;
}
slider > .slider.noUi-target.noUi-vertical .noUi-handle {
  width: calc(0.8em + 8px);
  height: 1rem;
  left: -0.45rem;
  top: -0.5rem;
}
slider > .slider.noUi-target.noUi-vertical .noUi-tooltip {
  top: 50%;
  right: -120%;
}
slider:hover .noUi-tooltip {
  display: block;
}
slider:hover .noUi-target .noUi-tooltip {
  display: block;
}
slider.readonly > * {
  pointer-events: none;
}
slider.readonly > .slider.noUi-target .noUi-handle {
  box-shadow: none;
}
slider.readonly > .slider.noUi-target.noUi-horizontal .noUi-handle {
  width: 6px;
  height: calc(0.8em + 4px);
  right: -3px;
  top: -3px;
}

table.split td {
  width: 50%;
}

table.mat-mdc-table.data, table.data {
  border-collapse: separate;
  border-spacing: 0;
  position: relative;
  border-left: 0.1rem solid var(--divider-color);
  border-right: 0.1rem solid var(--divider-color);
}
table.mat-mdc-table.data th, table.mat-mdc-table.data td, table.mat-mdc-table.data .td > *, table.data th, table.data td, table.data .td > * {
  padding: var(--spacing-small);
  border: 0.1rem solid var(--divider-color);
  border-width: 0 0 0.1rem 0.1rem;
}
table.mat-mdc-table.data th:first-child, table.mat-mdc-table.data td:first-child, table.data th:first-child, table.data td:first-child {
  border-left-width: 0;
}
table.mat-mdc-table.data th, table.data th {
  text-align: center;
  background-color: #eee;
  border-top-width: 0.1rem;
  font-weight: normal;
}
table.mat-mdc-table.data td, table.mat-mdc-table.data .td > *, table.data td, table.data .td > * {
  text-align: right;
}
table.mat-mdc-table.data tbody:first-child tr td, table.data tbody:first-child tr td {
  border-top-width: 0.1rem;
}
table.mat-mdc-table.data tfoot, table.data tfoot {
  background-color: #eee;
}

table.mat-mdc-table.data tr.mat-header-row, table.mat-mdc-table.data tr.mat-row, table.mat-mdc-table.data tr.mat-footer-row {
  height: auto;
}

table.mat-mdc-table.items, table.items {
  border-collapse: separate;
  border-spacing: 0;
  position: relative;
}
table.mat-mdc-table.items tr, table.items tr {
  border-top: 0.1rem solid var(--divider-color);
  border-bottom: 0.1rem solid var(--divider-color);
}
table.mat-mdc-table.items th, table.mat-mdc-table.items td, table.items th, table.items td {
  text-align: left;
  padding: 0.5em 0.75em;
  padding: var(--spacing-small);
  border: 0.1rem solid var(--divider-color);
  border-width: 0 0 0.1rem 0.1rem;
}
table.mat-mdc-table.items th:first-child, table.mat-mdc-table.items td:first-child, table.items th:first-child, table.items td:first-child {
  border-left-width: 0;
}
table.mat-mdc-table.items th, table.items th {
  text-align: center;
  background-color: #eee;
  border-top-width: 0.1rem;
  font-weight: normal;
}
table.mat-mdc-table.items td, table.items td {
  text-align: left;
}
table.mat-mdc-table.items tbody:first-child tr td, table.items tbody:first-child tr td {
  border-top-width: 0.1rem;
}
table.mat-mdc-table.items thead.subheader, table.items thead.subheader {
  font-size: 85.7142857%;
}
table.mat-mdc-table.items thead.subheader th, table.items thead.subheader th {
  padding: 0;
  font-weight: normal;
  border-top-width: 0;
}

table.mat-mdc-table.items-new, table.items-new {
  border-collapse: collapse;
  border-spacing: 0;
  position: relative;
}
table.mat-mdc-table.items-new tr, table.items-new tr {
  border-top: 1px solid var(--divider-color);
  border-bottom: 1px solid var(--divider-color);
}
table.mat-mdc-table.items-new tr.selected, table.items-new tr.selected {
  background-color: color-mix(in srgb, var(--primary-color) 50%, transparent);
}
table.mat-mdc-table.items-new th, table.mat-mdc-table.items-new td, table.items-new th, table.items-new td {
  text-align: left;
  padding: 0.5em 0.75em;
}

table.decks {
  border-collapse: collapse;
  background-color: var(--opaque-background);
  vertical-align: middle;
  border-radius: 0.4rem;
}
table.decks th {
  font-weight: normal;
}
table.decks th, table.decks td {
  padding: var(--spacing-small);
  vertical-align: middle;
}
table.decks th .mat-icon-button.slim:only-child, table.decks td .mat-icon-button.slim:only-child {
  display: block;
}
table.decks tr.clickable {
  cursor: pointer;
}
table.decks tr:not(:last-child) {
  border-bottom: solid 0.1rem var(--divider-color);
}
table.decks mat-icon {
  vertical-align: middle;
}

table.csv {
  border-collapse: collapse;
}
table.csv tr {
  border-top: 0.1rem solid var(--divider-color);
  border-bottom: 0.1rem solid var(--divider-color);
}
table.csv th, table.csv td {
  text-align: left;
  padding: 0.5em 1.5em 0.5em 0.5em;
}

table.label-value td {
  vertical-align: middle;
}
table.label-value td:last-child:not(:only-child) {
  text-align: right;
}

table.label-value-grid {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: var(--spacing-small);
  align-items: center;
}
table.label-value-grid > tr, table.label-value-grid > .label-value-grid-embed > tr {
  display: contents;
}
table.label-value-grid > tr > td, table.label-value-grid > .label-value-grid-embed > tr > td {
  text-align: right;
  overflow: hidden;
}
table.label-value-grid > tr > td > mat-checkbox, table.label-value-grid > .label-value-grid-embed > tr > td > mat-checkbox {
  display: block;
}
table.label-value-grid > tr > td > mat-slide-toggle, table.label-value-grid > .label-value-grid-embed > tr > td > mat-slide-toggle {
  display: block;
}
table.label-value-grid > tr > td:first-child, table.label-value-grid > .label-value-grid-embed > tr > td:first-child {
  text-align: left;
}
table.label-value-grid > tr > td[colspan="2"], table.label-value-grid > .label-value-grid-embed > tr > td[colspan="2"] {
  grid-column-start: 1;
  grid-column-end: 3;
}
table.label-value-grid > tr.indent > td:first-child, table.label-value-grid > .label-value-grid-embed > tr.indent > td:first-child {
  padding-left: 4ch;
}

div.label-value-grid {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: var(--spacing-small);
  align-items: center;
}

div.label-value > div {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--spacing-small);
  gap: var(--spacing-small);
}
div.label-value > div:last-child {
  margin-bottom: 0;
}
div.label-value > table td {
  width: 100%;
  text-align: right;
}
div.label-value > table td.label {
  width: -moz-fit-content;
  width: fit-content;
  text-align: left;
}
div.label-value > table td.label.to {
  font-size: 66%;
  vertical-align: baseline;
  font-style: italic;
}

.scroll-y > table.data thead:not(.subheader) th {
  position: sticky;
  top: 0;
  z-index: 2;
}

.scroll-y > table.items thead:not(.subheader) th {
  position: sticky;
  top: 0;
  z-index: 2;
}

.fragmentation-stats tr td, .fragmentation-stats tr th {
  text-align: left;
  padding-left: 1.2rem;
}
.fragmentation-stats tr td:first-child, .fragmentation-stats tr th:first-child {
  text-align: right;
  padding-right: 1.2rem;
}

.toolbar {
  display: inline-block;
  height: 4.6rem;
  border-radius: 0.4rem;
}
.toolbar.priority {
  background-color: var(--primary-color);
  color: white;
}
.toolbar.priority .mat-mdc-button.mat-mdc-button.stuck {
  box-shadow: inset 0 0 0.1rem 0.1rem currentColor;
}
.toolbar > * {
  display: inline-block;
  position: relative;
}
.toolbar > * > .below-button-popup {
  position: absolute;
  background: var(--primary-color);
  top: calc(100% + var(--spacing-small));
  left: 50%;
  transform: translateX(-50%);
  height: -moz-fit-content;
  height: fit-content;
  width: 300%;
  border-radius: var(--corner-radius);
  padding: var(--spacing-small);
  --slider-connect-background: var(--page-background);
}
.toolbar button.mat-mdc-button {
  text-align: center;
  display: inline-flex;
  box-sizing: border-box;
  padding: 0.4rem;
  width: calc(var(--header-height) - var(--spacing-medium) * 2);
  height: calc(var(--header-height) - var(--spacing-medium) * 2);
  min-width: 0;
}
.toolbar button.mat-mdc-button mat-icon.mat-icon {
  font-size: 24px !important;
  margin: 0;
}
.toolbar button.mat-mdc-button .subScript {
  position: absolute;
  right: 0;
  bottom: 0;
  line-height: 1em;
  font-size: 1.2rem;
}
.toolbar button.mat-mdc-button .tag {
  position: absolute;
  top: 0;
  right: -0.6rem;
  font-size: 0.6rem;
  color: #e74c3c;
  font-weight: bold;
  background-color: rgba(255, 255, 255, 0.5019607843);
  display: block;
  z-index: 1;
  line-height: 1em;
}

.signin-signup-container {
  width: 100%;
  height: 100%;
  display: flex;
}
.signin-signup-container .left {
  display: none;
}
.signin-signup-container .right {
  height: 100%;
  width: 100%;
  padding: 2rem;
}
.signin-signup-container .right .new-to-platform {
  font-size: 1.2rem;
  font-weight: 100;
  color: var(--secondary-text-color);
  text-shadow: 0 -0.04rem;
  letter-spacing: 0.09rem;
}
.signin-signup-container .right .new-to-platform button:hover {
  background-color: var(--primary-color);
  color: white;
}
.signin-signup-container .right .signin {
  height: 90%;
  width: 46rem;
  margin: 0 auto;
}
.signin-signup-container .right .signin h2 {
  font-size: 3.1rem;
  font-weight: 600;
  letter-spacing: 0.018rem;
  color: rgba(0, 0, 0, 0.7);
  margin: 0 0 1rem;
}
.signin-signup-container .right .signin small {
  font-size: 1.5rem;
  font-weight: 300;
  letter-spacing: 0.05rem;
  color: #6e6c68;
  margin-bottom: 2rem;
}
.signin-signup-container .right .signin form {
  width: 35rem;
}
.signin-signup-container .right .signin form .mat-mdc-form-field {
  margin: var(--spacing-small);
}
.signin-signup-container .right .signin .forgot-password {
  margin-top: 1.2rem;
  font-size: 1.2rem;
  font-weight: 500;
  align-self: flex-end;
}
.signin-signup-container .right .signin .forgot-password a {
  color: var(--mat-sys-error);
  text-decoration: underline;
}
.signin-signup-container .right .signin .submit, .signin-signup-container .right .signin .no-account {
  align-self: center;
}
.signin-signup-container .right .signin .submit {
  padding: 3.4rem;
}
.signin-signup-container .right .signin .submit button:disabled {
  filter: grayscale(1);
  cursor: not-allowed;
}
.signin-signup-container .right .signin .submit button .spinning-loader {
  animation: rotation 2s infinite linear;
}
.signin-signup-container .right .signin .no-account {
  font-size: 1.2rem;
  font-weight: 400;
  color: #666;
}
.signin-signup-container .right .signin .no-account a {
  color: var(--primary-color);
}

@media (min-width: 768px) {
  .signin-signup-container .left {
    display: flex;
    background-color: black;
    position: relative;
  }
  .signin-signup-container .left:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-image: url("/assets/images/strayos-drone-quarry.png");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
    opacity: 0.7;
  }
  .signin-signup-container .left .logo {
    position: absolute;
    left: 2.2rem;
    top: 3.2rem;
    color: white;
  }
  .signin-signup-container .left .logo {
    --mdc-icon-button-icon-size: 46px;
  }
  .signin-signup-container .left .logo {
    --mdc-icon-button-state-layer-size: 46px;
  }
  .signin-signup-container .left .logo {
    --mdc-icon-button-icon-color: var(--primary-color);
  }
  .signin-signup-container .left .brand-details {
    height: 100%;
    z-index: 1;
  }
  .signin-signup-container .left .brand-details h2, .signin-signup-container .left .brand-details h3 {
    text-transform: uppercase;
  }
  .signin-signup-container .left .brand-details h2 {
    font-size: 1.8rem;
    font-weight: 600;
    color: #fff;
    margin-bottom: 1.5rem;
  }
  .signin-signup-container .left .brand-details h3 {
    font-size: 2rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 4rem;
    text-align: center;
  }
}
.validation-hint {
  margin: 0 var(--spacing-small) var(--spacing-small);
  color: var(--warn-text-color);
}

.module-select {
  min-height: 100%;
  height: 100%;
  max-height: 100%;
  display: flex;
  flex-direction: column;
}
.module-select workspace-dataset-module-select {
  flex-grow: 1;
}

.module-window {
  min-height: 100%;
  height: 100%;
  max-height: 100%;
  display: flex;
  flex-direction: column;
}
.module-window workplace-switcher {
  flex: 0 0 auto;
}
.module-window .module-container {
  flex: 1 1 0;
  height: 0;
}
.module-window .module-container .module {
  display: block;
  height: 100%;
  max-height: 100%;
}

.module-loading {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.module-loading mat-spinner {
  margin-bottom: var(--spacing-large);
}

.body-right {
  width: 100%;
  height: 100%;
  position: absolute;
}

.toolbar-left .menu {
  display: none;
}
.toolbar-left .tools-container {
  display: inline-block;
}
.toolbar-left .tools-container .close {
  display: none;
}
@media (max-width: 1199px) {
  .toolbar-left .menu {
    display: inline-block;
  }
  .toolbar-left .tools-container {
    display: none;
  }
  .toolbar-left.show {
    display: inline-block;
  }
  .toolbar-left.show .menu {
    display: none;
  }
  .toolbar-left.show .tools-container {
    display: flex;
    height: var(--header-height);
    align-items: center;
    flex-direction: row;
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    background: #fff;
    z-index: 9;
  }
  .toolbar-left.show .tools-container .close {
    display: inline-block;
  }
}
@media (max-width: 767px) {
  .toolbar-left .left {
    display: flex;
    height: 10rem;
    flex-direction: row;
    flex-wrap: wrap;
    position: relative;
    top: 20px;
    background: white;
  }
  .toolbar-left .left.priority {
    background-color: var(--primary-color);
    color: white;
  }
  .toolbar-left .left.priority .mat-mdc-button.mat-mdc-button.stuck {
    box-shadow: inset 0 0 0.1rem 0.1rem currentColor;
  }
}

.map-target {
  width: 100%;
  height: 100%;
}

.model-loading {
  font-size: 1rem;
  text-transform: capitalize;
  text-align: center;
  color: white;
  background-color: rgba(0, 0, 0, 0.8);
  border-radius: 0.4rem;
  box-sizing: border-box;
  width: 12.5rem;
  padding: 0.8rem;
  position: absolute;
  left: auto;
  right: 1.2rem;
  top: 6rem;
  transform: none;
}
.model-loading mat-progress-bar {
  height: 1rem;
}

.model-loading.mode2D:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-width: 0.8rem;
  border-style: solid;
  border-top-color: transparent;
  border-left-color: transparent;
  border-right-color: transparent;
  border-bottom-color: rgba(0, 0, 0, 0.6);
  position: absolute;
  top: -1.6rem;
  left: calc(50% - 0.8rem);
}

.map {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
.map > .modePC {
  position: absolute;
  width: 100%;
  height: 100%;
}
.map > .mode {
  position: absolute;
  width: 100%;
  height: 100%;
}
.map > .divider {
  display: none;
  width: var(--spacing-small);
  background-color: var(--page-background);
  box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.5);
  z-index: 1;
}
.map.split {
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
.map.split > .mode {
  position: relative;
  width: 0;
  flex: 1 1 0;
}
.map.split > .divider {
  display: block;
}

.controls.top {
  position: absolute;
  top: var(--spacing-medium);
  right: var(--spacing-medium);
  left: var(--spacing-medium);
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: flex-end;
  gap: var(--spacing-medium);
}

.controls.right {
  position: absolute;
  bottom: calc(var(--spacing-medium) + 4rem + var(--spacing-medium));
  right: var(--spacing-medium);
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: var(--spacing-medium);
}
.controls.right.middle {
  bottom: calc(var(--spacing-medium) + 40vh + var(--spacing-medium));
}

.controls.right-top {
  position: absolute;
  top: calc(var(--spacing-medium) + 4rem + var(--spacing-medium));
  right: var(--spacing-medium);
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: var(--spacing-medium);
}
.controls.right-top.middle {
  top: calc(var(--spacing-medium) + 40vh + var(--spacing-medium));
}

.controls.bottom {
  position: absolute;
  bottom: var(--spacing-medium);
  right: calc(var(--spacing-medium) + 11rem + var(--spacing-medium));
  z-index: 3;
  display: flex;
  flex-direction: row;
  gap: var(--spacing-medium);
  align-items: center;
}

.controls.bottom-left {
  position: absolute;
  bottom: calc(var(--spacing-medium) + 3rem);
  left: var(--spacing-medium);
  display: flex;
  flex-direction: row;
  gap: var(--spacing-medium);
  align-items: center;
}

.status-bar {
  background-color: color-mix(in srgb, var(--page-background) 80%, transparent);
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  font-size: 1.4rem;
  line-height: 1.4rem;
  height: 3rem;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--spacing-medium);
  pointer-events: none;
  z-index: 1;
}
.status-bar button {
  pointer-events: all;
}
.status-bar > .coord-sys.mat-mdc-button:not(:disabled) {
  height: 100%;
  padding: 0 var(--spacing-medium);
  background-color: var(--primary-color);
  border-radius: 0;
  color: var(--page-background);
}
.status-bar .message {
  width: 100%;
  position: absolute;
  text-align: center;
}
.status-bar .message span {
  display: inline-block;
  background-color: #ECB22E;
  font-weight: bold;
  padding: var(--spacing-small) var(--spacing-medium);
  border-radius: var(--spacing-medium);
  margin-top: -var(--spacing-small);
}

.feedback-button.feedback-button {
  padding: 4px;
  border-radius: 100%;
  background-color: var(--primary-color);
}
.feedback-button.feedback-button mat-icon {
  font-size: 32px;
  margin: 0;
}

.bg-color-button {
  margin: 2px;
  color: white;
  border-radius: 999rem;
  background-color: var(--primary-color);
  font-weight: 700;
  font-size: 16px;
  text-transform: none;
  padding: 1rem 1rem;
}

.feedback-container.feedback-container {
  position: absolute;
  bottom: 4rem;
  width: 34.2rem;
  height: 45rem;
  background-color: white;
  color: #000 !important;
  right: -10rem;
  z-index: 999;
  padding: 0;
}
.feedback-container.feedback-container .header {
  background-color: var(--primary-color);
  color: rgb(255, 255, 255);
  width: 100%;
  border-top-left-radius: 0.7rem;
  border-top-right-radius: 0.7rem;
  padding: 0 0.8rem;
}
.feedback-container.feedback-container .content {
  padding: 1.6rem;
}
.feedback-container.feedback-container .content mat-icon:hover {
  color: var(--primary-color);
  transition: all 0.2s ease-in-out;
  transform: scale(1.1);
}
.feedback-container.feedback-container .content mat-icon.active {
  color: rgb(31, 115, 183);
}
.feedback-container.feedback-container .content single-point-slider {
  margin: 0.8rem;
}
.feedback-container.feedback-container .content textarea {
  margin: 0.8rem;
  background-color: rgba(217, 217, 217, 0.3215686275);
  padding: var(--spacing-small);
}

single-point-slider {
  height: 3.5rem;
}

:root {
  --line-height: calc(1.125em);
  --spacing-small: calc((0.33em + 0.33rem)/2);
  --spacing-medium: calc((0.66em + 0.66rem)/2);
  --spacing-large: calc((1em + 1rem)/2);
  --spacing-huge: calc((2em + 2rem)/2);
  --divider-color:rgba(0, 0, 0, .12);
  --inverse-divider-color:#fafafa;
  --corner-radius: calc((0.33em + 0.33rem)/2);
  --page-background: #fafafa;
  --dialog-background: white;
  --off-color-background: #00000009;
  --disabled-background: rgba(0, 0, 0, 0.12);
  --opaque-background: #e0e0e0;
  --mat-divider-color: rgba(0, 0, 0, .12);
  --mat-divider-width: 0.1rem;
  --mat-select-panel-background-color: white;
  --mat-table-background-color: white;
  --mat-table-row-item-outline-width: 0.1rem;
  --mat-table-row-item-outline-color: rgba(0, 0, 0, 0.12);
  --primary-text-color: rgba(0, 0, 0, .8);
  --inverse-text-color: #fefefe;
  --secondary-text-color: rgba(0, 0, 0, .54);
  --disabled-text-color: rgba(0, 0, 0, .38);
  --scroll-background: #e0e0e0;
  --primary-color: #5271ff;
  --primary-rgb-color: 82, 113, 255;
  --success-color: #2eb67d;
  --warn-text-color: #ecb22e;
  --error-color: #e01e5a;
  --scrollbarBG: #e0e0e0;
  --thumbBG: #fff;
  --header-inner-height: 4.6rem;
  --header-outer-height: 6.2rem;
  --left-side-panel-width: 27.5rem;
  --font-family: Lato, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  --volume-fill-color: #50a1f0;
  --volume-net-color: #c0cd56;
  --volume-cut-color: #cc3623;
  height: 100%;
  width: 100%;
  font-size: 62.5%;
  font-family: var(--font-family);
  --mat-sys-background: #faf9fd;
  --mat-sys-error: #ba1a1a;
  --mat-sys-error-container: #ffdad6;
  --mat-sys-inverse-on-surface: #f2f0f4;
  --mat-sys-inverse-primary: #abc7ff;
  --mat-sys-inverse-surface: #2f3033;
  --mat-sys-on-background: #1a1b1f;
  --mat-sys-on-error: #ffffff;
  --mat-sys-on-error-container: #93000a;
  --mat-sys-on-primary: #ffffff;
  --mat-sys-on-primary-container: #00458f;
  --mat-sys-on-primary-fixed: #001b3f;
  --mat-sys-on-primary-fixed-variant: #00458f;
  --mat-sys-on-secondary: #ffffff;
  --mat-sys-on-secondary-container: #3e4759;
  --mat-sys-on-secondary-fixed: #131c2b;
  --mat-sys-on-secondary-fixed-variant: #3e4759;
  --mat-sys-on-surface: #1a1b1f;
  --mat-sys-on-surface-variant: #44474e;
  --mat-sys-on-tertiary: #ffffff;
  --mat-sys-on-tertiary-container: #0000ef;
  --mat-sys-on-tertiary-fixed: #00006e;
  --mat-sys-on-tertiary-fixed-variant: #0000ef;
  --mat-sys-outline: #74777f;
  --mat-sys-outline-variant: #c4c6d0;
  --mat-sys-primary: var(--primary-color);
  --mat-sys-primary-container: #d7e3ff;
  --mat-sys-primary-fixed: #d7e3ff;
  --mat-sys-primary-fixed-dim: #abc7ff;
  --mat-sys-scrim: #000000;
  --mat-sys-secondary: #565e71;
  --mat-sys-secondary-container: #dae2f9;
  --mat-sys-secondary-fixed: #dae2f9;
  --mat-sys-secondary-fixed-dim: #bec6dc;
  --mat-sys-shadow: #000000;
  --mat-sys-surface: #faf9fd;
  --mat-sys-surface-bright: #faf9fd;
  --mat-sys-surface-container: #efedf0;
  --mat-sys-surface-container-high: #e9e7eb;
  --mat-sys-surface-container-highest: #e3e2e6;
  --mat-sys-surface-container-low: #f4f3f6;
  --mat-sys-surface-container-lowest: #ffffff;
  --mat-sys-surface-dim: #dbd9dd;
  --mat-sys-surface-tint: #005cbb;
  --mat-sys-surface-variant: #e0e2ec;
  --mat-sys-tertiary: #343dff;
  --mat-sys-tertiary-container: #e0e0ff;
  --mat-sys-tertiary-fixed: #e0e0ff;
  --mat-sys-tertiary-fixed-dim: #bec2ff;
  --mat-sys-neutral-variant20: #2d3038;
  --mat-sys-neutral10: #1a1b1f;
  --mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12)
  --mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12)
  --mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12)
  --mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12)
  --mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12)
  --mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12)
  --mat-sys-body-large: 400 1rem / 1.5rem inherit;
  --mat-sys-body-large-font: var(--font-family);
  --mat-sys-body-large-line-height: var(--line-height);
  --mat-sys-body-large-size: inherit;
  --mat-sys-body-large-tracking: normal;
  --mat-sys-body-large-weight: 400;
  --mat-sys-body-medium: 400 0.875rem / 1.25rem inherit;
  --mat-sys-body-medium-font: var(--font-family);
  --mat-sys-body-medium-line-height: var(--line-height);
  --mat-sys-body-medium-size: inherit;
  --mat-sys-body-medium-tracking: normal;
  --mat-sys-body-medium-weight: 400;
  --mat-sys-body-small: 400 0.75rem / 1rem inherit;
  --mat-sys-body-small-font: var(--font-family);
  --mat-sys-body-small-line-height: var(--line-height);
  --mat-sys-body-small-size: 75%;
  --mat-sys-body-small-tracking: normal;
  --mat-sys-body-small-weight: 400;
  --mat-sys-display-large: 400 3.562rem / 4rem inherit;
  --mat-sys-display-large-font: var(--font-family);
  --mat-sys-display-large-line-height: var(--line-height);
  --mat-sys-display-large-size: inherit;
  --mat-sys-display-large-tracking: normal;
  --mat-sys-display-large-weight: 400;
  --mat-sys-display-medium: 400 2.812rem / 3.25rem inherit;
  --mat-sys-display-medium-font: var(--font-family);
  --mat-sys-display-medium-line-height: var(--line-height);
  --mat-sys-display-medium-size: inherit;
  --mat-sys-display-medium-tracking: 0;
  --mat-sys-display-medium-weight: 400;
  --mat-sys-display-small: 400 2.25rem / 2.75rem inherit;
  --mat-sys-display-small-font: var(--font-family);
  --mat-sys-display-small-line-height: var(--line-height);
  --mat-sys-display-small-size: inherit;
  --mat-sys-display-small-tracking: 0;
  --mat-sys-display-small-weight: 400;
  --mat-sys-headline-large: 400 2rem / 2.5rem inherit;
  --mat-sys-headline-large-font: var(--font-family);
  --mat-sys-headline-large-line-height: var(--line-height);
  --mat-sys-headline-large-size: inherit;
  --mat-sys-headline-large-tracking: 0;
  --mat-sys-headline-large-weight: 400;
  --mat-sys-headline-medium: 400 1.75rem / 2.25rem inherit;
  --mat-sys-headline-medium-font: var(--font-family);
  --mat-sys-headline-medium-line-height: var(--line-height);
  --mat-sys-headline-medium-size: inherit;
  --mat-sys-headline-medium-tracking: 0;
  --mat-sys-headline-medium-weight: 400;
  --mat-sys-headline-small: 400 1.5rem / 2rem inherit;
  --mat-sys-headline-small-font: var(--font-family);
  --mat-sys-headline-small-line-height: var(--line-height);
  --mat-sys-headline-small-size: inherit;
  --mat-sys-headline-small-tracking: 0;
  --mat-sys-headline-small-weight: 400;
  --mat-sys-label-large: 500 0.875rem / 1.25rem inherit;
  --mat-sys-label-large-font: var(--font-family);
  --mat-sys-label-large-line-height: var(--line-height);
  --mat-sys-label-large-size: inherit;
  --mat-sys-label-large-tracking: normal;
  --mat-sys-label-large-weight: 500;
  --mat-sys-label-large-weight-prominent: 700;
  --mat-sys-label-medium: 500 0.75rem / 1rem inherit;
  --mat-sys-label-medium-font: var(--font-family);
  --mat-sys-label-medium-line-height: var(--line-height);
  --mat-sys-label-medium-size: inherit;
  --mat-sys-label-medium-tracking: normal;
  --mat-sys-label-medium-weight: 500;
  --mat-sys-label-medium-weight-prominent: 700;
  --mat-sys-label-small: 500 0.688rem / 1rem inherit;
  --mat-sys-label-small-font: var(--font-family);
  --mat-sys-label-small-line-height: var(--line-height);
  --mat-sys-label-small-size: inherit;
  --mat-sys-label-small-tracking: normal;
  --mat-sys-label-small-weight: 500;
  --mat-sys-title-large: 400 1.375rem / 1.75rem inherit;
  --mat-sys-title-large-font: var(--font-family);
  --mat-sys-title-large-line-height: var(--line-height);
  --mat-sys-title-large-size: inherit;
  --mat-sys-title-large-tracking: 0;
  --mat-sys-title-large-weight: 400;
  --mat-sys-title-medium: 500 1rem / 1.5rem inherit;
  --mat-sys-title-medium-font: var(--font-family);
  --mat-sys-title-medium-line-height: var(--line-height);
  --mat-sys-title-medium-size: inherit;
  --mat-sys-title-medium-tracking: normal;
  --mat-sys-title-medium-weight: 500;
  --mat-sys-title-small: 500 0.875rem / 1.25rem inherit;
  --mat-sys-title-small-font: var(--font-family);
  --mat-sys-title-small-line-height: var(--line-height);
  --mat-sys-title-small-size: inherit;
  --mat-sys-title-small-tracking: normal;
  --mat-sys-title-small-weight: 500
  --mat-sys-corner-extra-large: 28px;
  --mat-sys-corner-extra-large-top: 28px 28px 0 0;
  --mat-sys-corner-extra-small: 4px;
  --mat-sys-corner-extra-small-top: 4px 4px 0 0;
  --mat-sys-corner-full: 9999px;
  --mat-sys-corner-large: 16px;
  --mat-sys-corner-large-end: 0 16px 16px 0;
  --mat-sys-corner-large-start: 16px 0 0 16px;
  --mat-sys-corner-large-top: 16px 16px 0 0;
  --mat-sys-corner-medium: 12px;
  --mat-sys-corner-none: 0;
  --mat-sys-corner-small: 8px
  --mat-sys-dragged-state-layer-opacity: 0.16;
  --mat-sys-focus-state-layer-opacity: 0.12;
  --mat-sys-hover-state-layer-opacity: 0.08;
  --mat-sys-pressed-state-layer-opacity: 0.12 ;
}

* {
  box-sizing: border-box;
  font-size: inherit;
}

svg * {
  font-size: revert-layer;
}

*::-webkit-scrollbar {
  width: 1.5rem;
}

* {
  scrollbar-width: thin;
  scrollbar-color: var(--thumbBG) var(--scrollbarBG);
}

*::-webkit-scrollbar-track {
  background: var(--scrollbarBG);
}

*::-webkit-scrollbar-thumb {
  background-color: var(--thumbBG);
  border-radius: 0.4rem;
  border: 0.3rem solid var(--scrollbarBG);
}

body {
  height: 100%;
  width: 100%;
  background-color: var(--page-background);
  color: var(--primary-text-color);
  font-size: 1.4rem;
  margin: 0;
}

a {
  color: var(--primary-color);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

.export-drill-design.mdc-button.mdc-button > .mdc-button__label {
  flex: none;
}

/*# sourceMappingURL=styles.a886de39fe0f01bb.css.map*/