body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto",
    "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans",
    "Helvetica Neue", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

code {
  font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New",
    monospace;
}

html,
body,
body > #root {
  position: relative;
  width: 100%;
  height: 100%;
}

body > #root {
  display: flex;
  flex-direction: column;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin: 0;
}

.media-onclick-cover:hover {
  background: #cee3f59e;
}

.sqleditor > section {
  flex: 1;
}

.monaco-editor:not(:focus-within) .view-overlays .current-line {
  border: unset !important;
}

/* Dark mode */
@media (prefers-color-scheme: dark) {
  body {
    background-color: black;
  }
}

*,
body,
html {
  box-sizing: border-box;
}

body {
  overflow: hidden;
}

.page-content {
  padding-top: 1em;
}

.active-code-block-decoration {
  background: lightblue;
  width: 5px !important;
  margin-left: 3px;
}

.active-code-block-play {
  margin-left: 4px;
}

.dark-theme .active-code-block-decoration {
  background: #14708f;
}

.dark-theme * {
  color-scheme: dark;
}

.loader {
  font-size: 10px;
  margin: 50px auto;
  text-indent: -9999em;
  width: 11em;
  height: 11em;
  border-radius: 50%;
  background: #ffffff;
  background: -moz-linear-gradient(
    left,
    #ffffff 10%,
    rgba(255, 255, 255, 0) 42%
  );
  background: -webkit-linear-gradient(
    left,
    #ffffff 10%,
    rgba(255, 255, 255, 0) 42%
  );
  background: -o-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  background: -ms-linear-gradient(
    left,
    #ffffff 10%,
    rgba(255, 255, 255, 0) 42%
  );
  background: linear-gradient(
    to right,
    #ffffff 10%,
    rgba(255, 255, 255, 0) 42%
  );
  position: relative;
  -webkit-animation: load3 1.4s infinite linear;
  animation: load3 1.4s infinite linear;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  will-change: transform;
}
.loader:before {
  width: 50%;
  height: 50%;
  background: #ffffff;
  border-radius: 100% 0 0 0;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
}
.loader:after {
  background: #0dc5c1;
  width: 75%;
  height: 75%;
  border-radius: 50%;
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
@-webkit-keyframes load3 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: translateZ(0) rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: translateZ(0) rotate(360deg);
  }
}
@keyframes load3 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: translateZ(0) rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: translateZ(0) rotate(360deg);
  }
}

/* $offset: 187;
$duration: 1.4s; */

.spinner {
  animation: rotator 1.4s linear infinite;
  will-change: transform;
}

@keyframes rotator {
  0% {
    transform: translateZ(0) rotate(0deg);
  }
  100% {
    transform: translateZ(0) rotate(270deg);
  }
}

.path {
  stroke-dasharray: 187;
  stroke-dashoffset: 0;
  transform-origin: center;
  stroke: currentColor;
  will-change: transform;
  animation: dash 1.4s ease-in-out infinite;
}

.path.color-animation {
  animation:
    dash 1.4s ease-in-out infinite,
    colors 5.6s ease-in-out infinite;
}

@keyframes colors {
  0% {
    stroke: #4285f4;
  }
  25% {
    stroke: #de3e35;
  }
  50% {
    stroke: #f7c223;
  }
  75% {
    stroke: #1b9a59;
  }
  100% {
    stroke: #4285f4;
  }
}

@keyframes dash {
  0% {
    stroke-dashoffset: 187;
  }
  50% {
    stroke-dashoffset: 47.65;
    transform: translateZ(0) rotate(135deg);
  }
  100% {
    stroke-dashoffset: 187;
    transform: translateZ(0) rotate(450deg);
  }
}

.top-bar-loader {
  background: #eee;
  background: linear-gradient(110deg, #ececec 8%, #f5f5f5 18%, #ececec 33%);
  border-radius: 5px;
  background-size: 200% 100%;
  animation: 1.5s shine linear infinite;
}

@keyframes shine {
  to {
    background-position-x: -200%;
  }
}

button.disabled {
  cursor: not-allowed !important;
}
button.disabled:not(.no-fade):not(.hidden) {
  opacity: 0.5 !important;
}

button {
  background: transparent;
}

button.fade-in,
.fade-in-2 {
  -webkit-animation: fadein 2s; /* Safari, Chrome and Opera > 12.1 */
  -moz-animation: fadein 2s; /* Firefox < 16 */
  -ms-animation: fadein 2s; /* Internet Explorer */
  -o-animation: fadein 2s; /* Opera < 12.1 */
  animation: fadein 2s;
}

.fade-in {
  -webkit-animation: fadein 0.5s; /* Safari, Chrome and Opera > 12.1 */
  -moz-animation: fadein 0.5s; /* Firefox < 16 */
  -ms-animation: fadein 0.5s; /* Internet Explorer */
  -o-animation: fadein 0.5s; /* Opera < 12.1 */
  animation: fadein 0.5s;
}

@keyframes fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Firefox < 16 */
@-moz-keyframes fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Safari, Chrome and Opera > 12.1 */
@-webkit-keyframes fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Internet Explorer */
@-ms-keyframes fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Opera < 12.1 */
@-o-keyframes fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.btn-color-default {
  --color: var(--gray-600);
  --filled-bg: var(--gray-400);
  --border-color: var(--gray-400);
  --faded-bg: #7d7d7d38;
  --faded-bg-hover: #5252525e;
}
.dark-theme .btn-color-default {
  --filled-bg: #5d5d5d;
  --border-color: var(--gray-400);
  --color: var(--gray-200);
  --faded-bg: #7d7d7d61;
  --faded-bg-hover: #7d7d7dc4;
}

.btn-color-action {
  /* --color: #5dabff; */
  --filled-bg: var(--blue-500);
  --border-color: var(--blue-500);
  --color: var(--blue-500);
  --faded-bg: var(--blue-100);
  --faded-bg-hover: var(--blue-200);
}
.dark-theme .btn-color-action {
  --filled-bg: #3079c5;
  --border-color: #5292d7;
  --color: var(--blue-200);
  /* --faded-bg: #3988ffa6; */
  --faded-bg: #004fa3cc;
  --faded-bg-hover: #6195e4ee;
}
.dark-theme .btn-color-action.btn-faded {
  --color: white;
}

.btn-outline.btn-color-action {
  --color: #479dff;
}
.dark-theme .btn-default.btn-color-action {
  --color: #5ba4ff;
}

.btn-color-green {
  --filled-bg: var(--green-500);
  --border-color: var(--green-500);
  --color: var(--green-800);
  --faded-bg: var(--green-100);
  --faded-bg-hover: var(--green-200);
}
.btn-color-danger {
  --color: var(--text-danger);
  --filled-bg: #b31010;
  --border-color: var(--text-danger);
  --faded-bg: var(--red-100);
  --faded-bg-hover: #be181833;
}

.btn-color-warn {
  --filled-bg: var(--yellow-500);
  --border-color: var(--yellow-700);
  --color: var(--yellow-800);
  --faded-bg: #f2eaa0;
  --faded-bg-hover: #e6d96c;
}
.dark-theme .btn-color-danger {
  --filled-bg: #890808;
  --faded-bg: #5900003b;
  --faded-bg-hover: #7e020288;
  /* --color: #9c2a2a; */
}

.btn-color-inherit {
  --color: inherit;
  --filled-bg: inherit;
  --border-color: inherit;
  --faded-bg: inherit;
  --faded-bg-hover: inherit;
}
.btn-color-transparent {
  --color: transparent;
  --filled-bg: transparent;
  --border-color: transparent;
  --faded-bg: transparent;
  --faded-bg-hover: transparent;
}
.btn-color-white {
  --color: white;
  --filled-bg: white;
  --border-color: white;
  --faded-bg: white;
  --faded-bg-hover: var(--gray-100);
}
.btn-color-indigo {
  --filled-bg: var(--indigo-600);
  --border-color: var(--indigo-400);
  --color: var(--indigo-800);
  --faded-bg: var(--indigo-200);
  --faded-bg-hover: var(--indigo-300);
}

.btn-filled {
  background: var(--filled-bg);
  color: white;
}
.btn.btn-filled:hover {
  filter: brightness(1.2);
}

.btn-outline {
  border: 1px solid var(--border-color);
  color: var(--color);
  background: var(--bg-color-0);
}
.btn-outline:hover {
  background: var(--filled-bg);
  border-color: var(--filled-bg) !important;
  color: white;
}

:root {
  --btn-hover-bg: #dbdbdb;
}
:root.dark-theme {
  --btn-hover-bg: var(--li-hover-bg);
}

.btn-default,
.btn-icon,
.btn-text {
  color: var(--color);
}
.btn-default:hover {
  filter: brightness(1.5);
}

.btn-icon:hover {
  background: var(--btn-hover-bg);
}

.btn-faded {
  background: var(--faded-bg);
  color: var(--color);
}

.btn.btn-faded:hover {
  background-color: var(--faded-bg-hover);
}

.custom-animations.success-checkmark {
  width: 80px;
  height: 115px;
  margin: 0 auto;
}

.custom-animations.success-checkmark .check-icon {
  width: 80px;
  height: 80px;
  position: relative;
  border-radius: 50%;
  box-sizing: content-box;
  border: 4px solid #4caf50;
}

.custom-animations.success-checkmark .check-icon::before {
  top: 3px;
  left: -2px;
  width: 30px;
  transform-origin: 100% 50%;
  border-radius: 100px 0 0 100px;
}

.custom-animations.success-checkmark .check-icon::after {
  top: 0;
  left: 30px;
  width: 60px;
  transform-origin: 0 50%;
  border-radius: 0 100px 100px 0;
  animation: rotate-circle 4.25s ease-in;
}

.custom-animations.success-checkmark .check-icon::before,
.custom-animations.success-checkmark .check-icon::after {
  content: "";
  height: 100px;
  position: absolute;
  transform: rotate(-45deg);
}

.custom-animations.success-checkmark .check-icon .icon-line {
  height: 5px;
  background-color: #4caf50;
  display: block;
  border-radius: 2px;
  position: absolute;
  z-index: 10;
}

.custom-animations.success-checkmark .check-icon .icon-line.line-tip {
  top: 46px;
  left: 14px;
  width: 25px;
  transform: rotate(45deg);
  animation: icon-line-tip 0.75s;
}

.custom-animations.success-checkmark .check-icon .icon-line.line-long {
  top: 38px;
  right: 8px;
  width: 47px;
  transform: rotate(-45deg);
  animation: icon-line-long 0.75s;
}

.custom-animations.success-checkmark .icon-circle {
  top: -4px;
  left: -4px;
  z-index: 10;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  position: absolute;
  box-sizing: content-box;
  border: 4px solid rgba(76, 175, 80, 0.5);
}

.custom-animations.success-checkmark .icon-fix {
  top: 8px;
  width: 5px;
  left: 26px;
  z-index: 1;
  height: 85px;
  position: absolute;
  transform: rotate(-45deg);
}

@keyframes rotate-circle {
  0% {
    transform: rotate(-45deg);
  }
  5% {
    transform: rotate(-45deg);
  }
  12% {
    transform: rotate(-405deg);
  }
  100% {
    transform: rotate(-405deg);
  }
}

@keyframes icon-line-tip {
  0% {
    width: 0;
    left: 1px;
    top: 19px;
  }
  54% {
    width: 0;
    left: 1px;
    top: 19px;
  }
  70% {
    width: 50px;
    left: -8px;
    top: 37px;
  }
  84% {
    width: 17px;
    left: 21px;
    top: 48px;
  }
  100% {
    width: 25px;
    left: 14px;
    top: 45px;
  }
}

@keyframes icon-line-long {
  0% {
    width: 0;
    right: 46px;
    top: 54px;
  }
  65% {
    width: 0;
    right: 46px;
    top: 54px;
  }
  84% {
    width: 55px;
    right: 0px;
    top: 35px;
  }
  100% {
    width: 47px;
    right: 8px;
    top: 38px;
  }
}

.custom-animations.checkmark {
  width: 1em;
  height: 1em;
  font-size: 36px;
  border-radius: 50%;
  display: block;
  stroke-width: 2;
  stroke: #fff;
  stroke-miterlimit: 10;
  margin: 10% auto;
  box-shadow: inset 0px 0px 0px #7ac142;
  animation:
    fill 0.4s ease-in-out 0.4s forwards,
    scale 0.3s ease-in-out 0.9s both;
  stroke: #7ac142;
}

.custom-animations .checkmark__circle {
  stroke-dasharray: 166;
  stroke-dashoffset: 166;
  stroke-width: 2;
  stroke-miterlimit: 10;
  stroke: #7ac142;
  fill: white;
  /* animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards; */
  animation: stroke 0.5s ease-out forwards;
}

.custom-animations .checkmark__check {
  transform-origin: 50% 50%;
  stroke-dasharray: 48;
  stroke-dashoffset: 48;
  animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.5s forwards;
}

@keyframes stroke {
  100% {
    stroke-dashoffset: 0;
  }
}
@keyframes scale {
  0%,
  100% {
    transform: none;
  }
  50% {
    transform: scale3d(1.1, 1.1, 1);
  }
}
@keyframes fill {
  100% {
    box-shadow: inset 0px 0px 0px 30px #7ac142;
  }
}

.chip {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  line-height: 1rem;
  font-size: 0.75rem;
  font-weight: 500;

  align-items: center;
  /* text-transform: capitalize; */
  border-radius: 1em;
  white-space: nowrap;

  width: fit-content;
  height: fit-content;
  text-align: start;
}

.chip.lg {
  font-size: 1em;
  padding-top: 0.4rem;
  padding-bottom: 0.4rem;
}

.chip.green {
  color: var(--green-500);
}
.chip.variant-naked {
  gap: 4px;
}
.chip.variant-default,
.chip.variant-outline {
  background-color: var(--bg-color-1);
}
.chip.variant-outline {
  border: 1px solid var(--text-2);
}

.chip.green.variant-default,
.chip.green.variant-outline {
  background-color: var(--green-100);
}
.chip.yellow {
  color: var(--yellow-500);
}
.chip.yellow.variant-default,
.chip.yellow.variant-outline {
  background-color: var(--yellow-100);
}
.chip.red {
  color: var(--red-500);
}
.chip.red.variant-default,
.chip.red.variant-outline {
  background-color: var(--red-100);
}
.chip.gray.variant-default,
.chip.gray.variant-outline {
  background-color: var(--bg-color-1);
}
.chip.blue {
  color: var(--blue-500);
}
.chip.blue.variant-default,
.chip.blue.variant-outline {
  background-color: var(--blue-100);
}

.dark-theme .chip.blue.variant-default,
.chip.blue.variant-outline {
  background-color: #242d37;
}

.box {
  clip-path: circle(15% at 50% 10%);
  /* transition: clip-path 1s; */
}

.box:hover {
  clip-path: circle(25%);
}

.ClickCatchOverlay {
  background: #2c2c2c6b;
}

.dark-theme .ClickCatchOverlay {
  background: #0000002e;
}

.checkbox input:checked {
  /* background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.707 7.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4a1 1 0 00-1.414-1.414L7 8.586 5.707 7.293z'/%3E%3C/svg%3E"); */
  border-color: transparent;
  background-color: currentColor;
  background-size: 100% 100%;
  background-position: 50%;
  background-repeat: no-repeat;
}

.Checkbox_inner_label {
  outline-color: var(--focus-color);
}

.checkbox {
  align-items: center;
}

.checkbox * {
  cursor: pointer;
}

.checkbox label {
  margin-left: 0.5em;
}

.Label_QuestionButton {
  position: relative;
}

.Label_QuestionButton:hover::after {
  content: "?";
  position: absolute;
  top: 0;
  right: 0;
}

.Switch-root {
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0;
  font-weight: 400;
  font-family: Arial;
  display: inline-flex;
  width: 58px;
  height: 38px;
  overflow: hidden;
  padding: 12px;
  box-sizing: border-box;
  position: relative;
  flex-shrink: 0;
  z-index: 0;
  vertical-align: middle;
}

.SwitchBase-root {
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  color-scheme: light;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0;
  font-weight: 400;
  font-family: Arial;
  display: inline-flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
  background-color: transparent;
  outline: 0;
  margin: 0;
  user-select: none;
  vertical-align: middle;
  -webkit-appearance: none;
  text-decoration: none;
  padding: 9px;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  transition:
    left 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,
    transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
}

.Switch-input {
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  box-sizing: inherit;
  cursor: inherit;
  position: absolute;
  opacity: 0;
  height: 100%;
  top: 0;
  margin: 0;
  padding: 0;
  z-index: 1;
  left: -100%;
  width: 300%;
}

.Switch-thumb {
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0;
  font-weight: 400;
  --google-font-color-materialiconstwotone: none;
  font-family: Arial;
  -webkit-tap-highlight-color: transparent;
  cursor: pointer;
  user-select: none;
  box-sizing: inherit;
  box-shadow:
    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);
  background-color: currentColor;
  width: 20px;
  height: 20px;
  border-radius: 50%;
}

.Switch-track {
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0;
  font-weight: 400;
  font-family: Arial;
  box-sizing: inherit;
  height: 100%;
  width: 100%;
  border-radius: 7px;
  opacity: 0.38;
  z-index: -1;
  transition:
    opacity 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,
    background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
  background-color: #999999;
}

.Switch-root.checked .Switch-track {
  background-color: #76a9fa;
}

.Switch-root {
  color: white;
}

.dark-mode .Switch-root {
  color: #d3d3d3;
}

.Switch-root.checked {
  color: #3f83f8;
}
.dark-theme .Switch-root.checked {
  color: #76a9fa;
}

.Switch-root.checked > .SwitchBase-root {
  transform: translateX(20px);
}

input.custom-input {
  -webkit-appearance: none !important;
  padding: 0.5em;
  padding-bottom: 4px;
  font-size: 16px;
  outline: none;
  font-weight: 600;
  /* border: 1px solid rgb(223, 223, 223); */
  border: unset;
}

.input-focus.error:focus,
/* input.custom-input:focus, */
.focus-border.error:focus-within {
  -webkit-appearance: none !important;
  border: 1px solid rgb(255, 0, 0);
  outline: none;
  -webkit-box-shadow: 0 0 0 3px rgba(255, 0, 0, 0.151);
  box-shadow: 0 0 0 3px rgba(255, 0, 0, 0.151);
}

.list-comp ul,
ul {
  padding: 0;
  margin: 0;
  text-decoration: none;
  list-style: none;
}

.list-comp label {
  text-align: start;
}

.list-comp li:not(.no-hover, :active, :focus):hover ,
.list-comp li:not(.no-hover, :active, :focus).hover 
/* .list-comp li:not(.no-hover):active, */
/* .list-comp li:not(.no-hover):focus { */ {
  background-color: var(--li-hover-bg);
  border: none;
  outline: none;
}

::placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: var(--gray-400);
  opacity: 1; /* Firefox */
  user-select: none;
}

:-ms-input-placeholder {
  /* Internet Explorer 10-11 */
  color: var(--gray-400);
  user-select: none;
}

::-ms-input-placeholder {
  /* Microsoft Edge */
  color: var(--gray-400);
  user-select: none;
}

.SearchList_InputWrapper {
  border-color: var(--gray-300);
}
.dark-theme .SearchList_InputWrapper {
  border-color: var(--gray-500);
}
.dark-theme .SearchList_InputWrapper input {
  background-color: #1c1c1c;
  color: var(--gray-100);
}

.dark-theme .search-text-endings {
  color: #969696;
}
.dark-theme .search-text-match {
  color: #dddddd;
}

.select-wrapper {
  /* border-color: #d2d6dc;
  border-width: 1px;
  border-style: solid; */
  box-sizing: border-box;
  border-radius: 0.375rem;
  overflow: hidden;
}

.select-wrapper select {
  background: white;
  padding: 0.5rem 0.75rem;
  border: none;
  outline: 0;
  flex: 1;
  text-decoration: none;
  cursor: pointer;
}

@keyframes indeterminateAnimation {
  0% {
    background-position-x: 0px;
  }
  50% {
    background-position-x: 100px;
  }
  100% {
    background-position-x: 200px;
  }
}

.MonacoEditor .monaco-editor-overlaymessage .message {
  background-color: var(--red-100) !important;
  color: var(--red-900) !important;
  border-color: var(--red-400) !important;
  padding: 5px !important;
}

.MonacoEditor .monaco-editor-overlaymessage .anchor {
  border-top-color: var(--red-900) !important;
}

.MonacoEditor .monaco-editor {
  outline: none !important;
}

/** string token. defineTheme for dark theme not working */
.dark-theme .mtk20 {
  color: #dd7575 !important;
}

/** function token */
.dark-theme .mtk18 {
  color: #df77df !important;
}

.form-field input:not([type="checkbox"]) {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  /* background-color: #fff; */
  border: none;
  padding: 4px 6px 0px;
  font-size: 1rem;
  font-size: 16px;
  line-height: 1;
  width: 100%;
  flex: 1;
  box-sizing: border-box;
  outline: none;

  min-width: 80px;
}

.input-wrapper,
/* .form-field .input-wrapper.focus-border:has(.ContentRight:focus-within) { 
  Used to prevent input border active when the content right also has an active border.
  Disabled because it is not working in firefox 
*/
.form-field .input-wrapper.focus-border {
  /* min-width: 150px; <- not sure what this was for */
  border-radius: var(--rounded);
  border: 1px solid var(--gray-300);
  box-sizing: border-box;
}

.dark-theme .form-field .input-wrapper.focus-border {
  border: 1px solid var(--b-default);
}

.form-field .input-wrapper {
  /* background-color: #fff; */
  min-width: 80px;
  border-radius: var(--rounded);
  border-style: solid;
  box-sizing: border-box;
  overflow: hidden;
  /* overflow: visible; */
}
.form-field
  .input-wrapper
  > :first-child:not(textarea, .ChipArrayEditor, .Checkbox) {
  border-radius: 0 !important;
  color: var(--text-0);
}

.dark-theme
  .form-field
  .input-wrapper
  > :first-child:not(.ChipArrayEditor, .Checkbox) {
  color: var(--text-0);
  background-color: var(--input-bg-color);
}

/* .form-field input:focus, */
.form-field label.checkbox:focus {
  outline: none;
  /* box-shadow: inset 0 0 0 3px rgba(164,202,254,.45); */
  box-shadow: inset 0 0 5px 1px rgba(59, 153, 252, 0.7);
  border-color: #a4cafe;
}

/* .form-field .input-wrapper.error input:focus, <- input-wrapper below already does this */
.form-field .input-wrapper.error label.checkbox:focus,
.form-field .input-wrapper.error {
  border: 1px solid var(--red-700);
  box-shadow: inset 0 0 5px 1px rgb(253 158 158 / 70%);
}

/* .form-field .input-wrapper.error input {
  border: 1px solid var(--red-700);
} */

.form-field label.main-label {
  flex: 1;
  line-height: 2em;
  min-width: 80px;
}

.form-field select {
  background: white;
  padding: 0.5rem 0.75rem;
  border: none;
  outline: 0;
  flex: 1;

  cursor: pointer;
}

.input-wrapper .SELECTCOMPONENT {
  border-color: transparent !important;
}

html:not(.dark-theme) .FormField_Select {
  background-color: white !important;
}

.SearchList_InputWrapper input {
  /* transform: translate(0, 2px); */
  /* line-height: 20px; */
}

.table-component .sort-asc::after {
  content: "\25b2";
  color: var(--text-0);
  margin-left: 0.25em;
  height: fit-content;
}
.table-component .sort-desc::after {
  content: "\25bc";
  color: var(--text-0);
  margin-left: 0.25em;
  height: fit-content;
}
.table-component .sort-none::after {
  /*
    used to avoid content shift. Disabled to preserve space 
    content: "\25bc";     
  */
  color: transparent;
  margin-left: 0.25em;
  height: fit-content;
}

.table-component .hover:hover {
  background-color: rgba(0, 183, 255, 0.04);
}

.table-component .d-row {
  max-height: 100px;
}

.table-component .d-row.active-row {
  border: 1px solid #00d0ff;
  background: #def9ff;
}

.resizing-ew {
  border-right: 2px solid #00d0ff !important;
}

.table-component .table-column-label {
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  min-height: 0;
  display: block;
  -webkit-box-orient: vertical;
}

.table-component div[role="table"] {
  background-color: white;
}

.dark-theme .table-component div[role="table"] {
  background-color: #1e1e1e;
}

.fullscreen {
  position: fixed;
  z-index: 2;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: white;
}

.active-brush {
  border: 1px solid #00d0ffcf;
  background: #def9ff38;
}

/* #root > div > div > div.flex-row.f-1 > div.f-1.flex-col > div > div > span, */
.react-resizable-handle.react-resizable-handle-se {
  opacity: 0;
}

.d-row .show-on-row-hover:not(.hover) {
  opacity: 0;
}
.d-row:hover .show-on-row-hover {
  opacity: 1;
}

@keyframes rubberBand {
  0% {
    transform: scale(1);
  }
  30% {
    transform: scaleX(1.25) scaleY(0.75);
  }
  40% {
    transform: scaleX(0.75) scaleY(1.25);
  }
  60% {
    transform: scaleX(1.15) scaleY(0.85);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes colorFlick {
  0% {
    color: black;
  }
  30% {
    color: red;
  }
  60% {
    color: green;
  }
  100% {
    color: initial;
  }
}
.rubberBand {
  animation-duration: 1.5s;
  animation-fill-mode: both;
  animation-iteration-count: 1;
  animation-name: colorFlick;
}

.FilterWrapper_MinimisedRoot {
  background-color: var(--blue-50);
}
.FilterWrapper_Type {
  color: rgb(66, 66, 66);
}

.dark-theme .FilterWrapper_MinimisedRoot {
  background-color: #12477f;
}
.dark-theme .FilterWrapper_Type {
  color: rgb(196, 196, 196);
}

.filter-bg {
  background: #f1faff;
}

.dark-theme .filter-bg {
  background: #002445;
}

.hotkey {
  border-radius: 6px;
  background-color: var(--gray-100);
  border: 1px solid var(--gray-300);
  padding: 4px 5px;
  min-width: 1.5em;
  text-align: center;
}

.dark-theme .hotkey {
  background-color: var(--gray-700);
}

.map-controls-right > * {
  transform: translate(calc(100% + 20px), 0px);
}

.map-controls-right > *:nth-child(1) {
  transition: 0.3s transform;
}
.map-controls-right > *:nth-child(2) {
  transition: 0.6s transform;
}
.map-controls-right > *:nth-child(3) {
  transition: 0.9s transform;
}

.map-controls-right {
  padding: 1em;
  transition: 0.3s all;
  background-color: transparent;
  transform: translate(calc(100% - 30px), 0px);
}
.map-controls-right:hover {
  background-color: white;
  transform: translate(0, 0px);
  overflow: auto;

  box-shadow:
    0 1px 3px 0 rgba(0, 0, 0, 0.1),
    0 1px 2px 0 rgba(0, 0, 0, 0.06);
}

.dark-theme .map-controls-right:hover {
  background-color: var(--gray-900);
  /* background-color: transparent;
  backdrop-filter: blur(4px); */
}
.map-controls-right:hover > * {
  transform: translate(0, 0);
}

.in-map-hover-control {
  opacity: 0.45;
}
.in-map-hover-control:hover {
  opacity: 1;
}

.slidecontainer {
  width: 100%; /* Width of the outside container */
  margin-bottom: 1em;
}

/* The slider itself */
.slider {
  -webkit-appearance: none; /* Override default CSS styles */
  appearance: none;
  width: 100%; /* Full-width */
  height: 8px; /* Specified height */
  background: #d3d3d3; /* Grey background */
  outline: none; /* Remove outline */
  opacity: 0.7; /* Set transparency (for mouse-over effects on hover) */
  -webkit-transition: 0.2s; /* 0.2 seconds transition on hover */
  transition: opacity 0.2s;
  border-radius: 4px;
}

/* Mouse-over effects */
.slider:hover {
  opacity: 1;
}

/* The slider handle (use -webkit- (Chrome, Opera, Safari, Edge) and -moz- (Firefox) to override default look) */
.slider::-webkit-slider-thumb {
  -webkit-appearance: none; /* Override default look */
  appearance: none;
  width: 16px; /* Set a specific slider handle width */
  height: 16px; /* Slider handle height */
  border-radius: 50%;
  border: 1px solid gray;
  background: white; /* Green background */
  cursor: pointer; /* Cursor on hover */
}
.slider::-webkit-slider-thumb:hover {
  border: 1px solid rgb(0, 208, 255);
}

.slider::-moz-range-thumb {
  width: 16px; /* Set a specific slider handle width */
  height: 16px; /* Slider handle height */
  background: white; /* Green background */
  cursor: pointer; /* Cursor on hover */
}
.slider::-moz-range-thumb:hover {
  border: 1px solid rgb(0, 208, 255);
}

@media only screen and (max-width: 600px) {
  .slidecontainer {
    margin-bottom: 1.5em;
  }

  /* The slider handle (use -webkit- (Chrome, Opera, Safari, Edge) and -moz- (Firefox) to override default look) */
  .slider::-webkit-slider-thumb {
    width: 26px; /* Set a specific slider handle width */
    height: 26px; /* Slider handle height */
  }

  .slider::-moz-range-thumb {
    width: 26px; /* Set a specific slider handle width */
    height: 26px; /* Slider handle height */
  }
}

.add-wsp-btn button:hover {
  color: var(--action) !important;
}

#dashboard-menu-button {
  background-color: rgb(240 254 255);
  border: "1px solid #00d0ff";
}

.dark-theme #dashboard-menu-button {
  background-color: #002537;
  border-color: rgb(0 80 99);
}

.chat-container.chat-component .active-color {
  color: rgb(5, 149, 252);
}

.chat-container.chat-component .bg-active-hover:hover {
  background: rgba(5, 149, 252, 0.3);
}

.chat-container.chat-component {
  flex: 1 1 0%;
  display: flex;
  flex-direction: column;
  /* background: var(--gray-100); */
  /* border: 1px solid var(--gray-300); */
}


.chat-container.chat-component .send-wrapper {
  flex: 0 0 auto;
  min-width: 0px;
  min-height: 60px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  padding: 0.5em 0;
}

.chat-container.chat-component .send-wrapper textarea {
  flex: 1 1 0%; 
  resize: none;
  color: var(--text-1); 
  border: none; 
  font-size: 16px;
  field-sizing: content;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
    Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
}

.chat-container.chat-component .send-wrapper button {
  flex: 0 0 auto;
  cursor: pointer;
}

.chat-container.chat-component .send-wrapper svg {
  width: 1.5rem;
  height: 1.5rem;
}

.chat-container.chat-component .send-wrapper svg path {
  fill: currentColor;
}

.chat-container.chat-component .message-list {
  line-height: 1.75rem;
  position: relative;
  flex: 1 1 0%;
  min-width: 0px;
  min-height: 200px;
  display: flex;
  flex-direction: column;
  font-size: 16px;
  overflow: auto;
  padding: 1em;
  scroll-behavior: smooth; 
}

.chat-container.chat-component .message { 
  margin-top: 2em;
  /* max-width: 70%; */
  color: var(--text-1); 
  flex: 0 0 auto;
  opacity: 1; 
}
.chat-container.chat-component .message .content-wrapper {
  padding: 8px 12px;
  border-radius: 12px; 
  min-width: 2em; 
  text-align: start;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
.chat-container.chat-component .message:not(.incoming) {
  margin-left: auto;
}
.chat-container.chat-component .message:not(.incoming) .content-wrapper {
  background: var(--bg-color-2);
}

.chat-container.chat-component .message.incoming {
  margin-top: 1em;
  max-width: 100%;
  min-width: 2em;
  margin-left: unset;
}

/* .chat-container.chat-component .message:not(.incoming) video::-webkit-media-controls-panel, */
.chat-container.chat-component
  .message:not(.incoming)
  audio::-webkit-media-controls-panel {
  background: rgb(5, 149, 252);
}

.chat-container.chat-component
  .message:not(.incoming)
  audio::-webkit-media-controls-mute-button,
.chat-container.chat-component
  .message:not(.incoming)
  audio::-webkit-media-controls-mute-button,
.chat-container.chat-component
  .message:not(.incoming)
  audio::-webkit-media-controls-play-button,
.chat-container.chat-component
  .message:not(.incoming)
  audio::-webkit-media-controls-timeline-container,
.chat-container.chat-component
  .message:not(.incoming)
  audio::-webkit-media-controls-current-time-display,
.chat-container.chat-component
  .message:not(.incoming)
  audio::-webkit-media-controls-time-remaining-display,
.chat-container.chat-component
  .message:not(.incoming)
  audio::-webkit-media-controls-timeline,
.chat-container.chat-component
  .message:not(.incoming)
  audio::-webkit-media-controls-volume-slider,
.chat-container.chat-component
  .message:not(.incoming)
  audio::-webkit-media-controls-seek-back-button,
.chat-container.chat-component
  .message:not(.incoming)
  audio::-webkit-media-controls-seek-forward-button,
.chat-container.chat-component
  .message:not(.incoming)
  audio::-webkit-media-controls-fullscreen-button,
.chat-container.chat-component
  .message:not(.incoming)
  audio::-webkit-media-controls-rewind-button,
.chat-container.chat-component
  .message:not(.incoming)
  audio::-webkit-media-controls-return-to-realtime-button,
.chat-container.chat-component
  .message:not(.incoming)
  audio::-webkit-media-controls-toggle-closed-captions-button,
.chat-container.chat-component .message:not(.incoming) audio svg * {
  color: white !important;
  fill: white !important;
  stroke: white !important;
}

.chat-container.chat-component .message.media {
  padding: 0;
  background: none;
  width: fit-content;
  max-width: unset;
  height: fit-content;
}

.chat-container.chat-component .message video,
.chat-container.chat-component .message audio {
  outline: none;
}

.Marked p,
.Marked ul,
.Marked ol,
.Marked h1,
.Marked h2,
.Marked h3,
.Marked h4,
.Marked h5,
.Marked blockquote,
.Marked pre {
  margin-top: 0;
  margin-bottom: 0;
}

.Marked ul,
.Marked ol {
  line-height: 1em;
}

.Marked ol {
  list-style: none;
  padding-left: 0;
}

/* Used to ensure the li marker does not appear above li item  
.Marked ol > li {
  line-height: 0;
}
  */ 

/** Tones down the button hover brightness (1.5) */
button:hover .colored-icon {
  filter: brightness(0.8);
}

:root {
  --nav-height: 50px;
}
.bg-nav-color {
  background-color: black;
}

nav.main {
  /* box-shadow: #656565 0px 2px 4px; */
  z-index: 2;
  position: fixed;
  width: 100%;
}

.navwrapper {
  align-items: center;
}

.navwrapper a {
  padding: 12px 12px;
  border-top: 4px solid transparent;
  border-bottom-width: 4px;
  border-bottom-style: solid;
  border-bottom-color: transparent;
}

nav a {
  text-decoration: none;
}

nav a:focus {
  outline: none;
}

.navwrapper a.active {
  color: var(--active);
  border-bottom-color: var(--active);
}
.navwrapper a:hover:not(.active),
.navwrapper a:not(.active):focus {
  color: var(--active-hover);
  border-bottom-color: var(--active-hover);
}

@media only screen and (max-width: 600px) {
  nav {
    flex-direction: column;
  }
  nav.mobile-expanded {
    position: fixed;
  }
  nav .navwrapper {
    margin: 0;
    flex-direction: column;
    align-items: unset;
    justify-content: center;
  }

  nav .navwrapper > a {
    padding: 10px 0px;
    margin-left: 0;
    border-bottom: none;
    border-left-width: 4px;
    border-left-style: solid;
    border-left-color: transparent;
    padding-left: 2em;
  }

  .prgl-brand-icon {
    justify-content: start;
    margin-right: 0;
    height: fit-content;
  }

  .prgl-brand-icon img {
    margin-right: 0;
  }

  nav.mobile-collapsed .navwrapper > * {
    display: none !important;
  }
  nav.mobile-expanded .prgl-brand-icon {
    display: none !important;
  }

  nav button.hamburger {
    display: flex;
    background: transparent;
  }
}

/* 
.navwrapper > a:hover {
  border-bottom-color: #a7dfff;
} */

button.hamburger,
button.hamburger:focus {
  margin: 0.5em;
  padding: 0;
  border: none;
  outline: 0;
  width: fit-content;
  height: fit-content;
  border-radius: unset;
}
button.hamburger > * {
  width: 32px;
  height: 32px;
}

