:root {
  --toastify-color-light: #fff;
  --toastify-color-dark: #121212;
  --toastify-color-info: #3498db;
  --toastify-color-success: #07bc0c;
  --toastify-color-warning: #f1c40f;
  --toastify-color-error: hsl(6, 78%, 57%);
  --toastify-color-transparent: rgba(255, 255, 255, 0.7);

  --toastify-icon-color-info: var(--toastify-color-info);
  --toastify-icon-color-success: var(--toastify-color-success);
  --toastify-icon-color-warning: var(--toastify-color-warning);
  --toastify-icon-color-error: var(--toastify-color-error);

  --toastify-container-width: fit-content;
  --toastify-toast-width: 320px;
  --toastify-toast-offset: 16px;
  --toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));
  --toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));
  --toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));
  --toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));
  --toastify-toast-background: #fff;
  --toastify-toast-padding: 14px;
  --toastify-toast-min-height: 64px;
  --toastify-toast-max-height: 800px;
  --toastify-toast-bd-radius: 6px;
  --toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
  --toastify-font-family: sans-serif;
  --toastify-z-index: 9999;
  --toastify-text-color-light: #757575;
  --toastify-text-color-dark: #fff;

  /* Used only for colored theme */
  --toastify-text-color-info: #fff;
  --toastify-text-color-success: #fff;
  --toastify-text-color-warning: #fff;
  --toastify-text-color-error: #fff;

  --toastify-spinner-color: #616161;
  --toastify-spinner-color-empty-area: #e0e0e0;
  --toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);
  --toastify-color-progress-dark: #bb86fc;
  --toastify-color-progress-info: var(--toastify-color-info);
  --toastify-color-progress-success: var(--toastify-color-success);
  --toastify-color-progress-warning: var(--toastify-color-warning);
  --toastify-color-progress-error: var(--toastify-color-error);
  /* used to control the opacity of the progress trail */
  --toastify-color-progress-bgo: 0.2;
}

.Toastify__toast-container {
  z-index: var(--toastify-z-index);
  -webkit-transform: translate3d(0, 0, var(--toastify-z-index));
  position: fixed;
  width: var(--toastify-container-width);
  box-sizing: border-box;
  color: #fff;
  display: flex;
  flex-direction: column;
}

.Toastify__toast-container--top-left {
  top: var(--toastify-toast-top);
  left: var(--toastify-toast-left);
}
.Toastify__toast-container--top-center {
  top: var(--toastify-toast-top);
  left: 50%;
  transform: translateX(-50%);
  align-items: center;
}
.Toastify__toast-container--top-right {
  top: var(--toastify-toast-top);
  right: var(--toastify-toast-right);
  align-items: end;
}
.Toastify__toast-container--bottom-left {
  bottom: var(--toastify-toast-bottom);
  left: var(--toastify-toast-left);
}
.Toastify__toast-container--bottom-center {
  bottom: var(--toastify-toast-bottom);
  left: 50%;
  transform: translateX(-50%);
  align-items: center;
}
.Toastify__toast-container--bottom-right {
  bottom: var(--toastify-toast-bottom);
  right: var(--toastify-toast-right);
  align-items: end;
}

.Toastify__toast {
  --y: 0;
  position: relative;
  touch-action: none;
  width: var(--toastify-toast-width);
  min-height: var(--toastify-toast-min-height);
  box-sizing: border-box;
  margin-bottom: 1rem;
  padding: var(--toastify-toast-padding);
  border-radius: var(--toastify-toast-bd-radius);
  box-shadow: var(--toastify-toast-shadow);
  max-height: var(--toastify-toast-max-height);
  font-family: var(--toastify-font-family);
  /* webkit only issue #791 */
  z-index: 0;
  /* inner swag */
  display: flex;
  flex: 1 auto;
  align-items: center;
  word-break: break-word;
}

@media only screen and (max-width: 480px) {
  .Toastify__toast-container {
    width: 100vw;
    left: env(safe-area-inset-left);
    margin: 0;
  }
  .Toastify__toast-container--top-left,
  .Toastify__toast-container--top-center,
  .Toastify__toast-container--top-right {
    top: env(safe-area-inset-top);
    transform: translateX(0);
  }
  .Toastify__toast-container--bottom-left,
  .Toastify__toast-container--bottom-center,
  .Toastify__toast-container--bottom-right {
    bottom: env(safe-area-inset-bottom);
    transform: translateX(0);
  }
  .Toastify__toast-container--rtl {
    right: env(safe-area-inset-right);
    left: initial;
  }
  .Toastify__toast {
    --toastify-toast-width: 100%;
    margin-bottom: 0;
    border-radius: 0;
  }
}

.Toastify__toast-container[data-stacked='true'] {
  width: var(--toastify-toast-width);
}

.Toastify__toast--stacked {
  position: absolute;
  width: 100%;
  transform: translate3d(0, var(--y), 0) scale(var(--s));
  transition: transform 0.3s;
}

.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,
.Toastify__toast--stacked[data-collapsed] .Toastify__close-button {
  transition: opacity 0.1s;
}

.Toastify__toast--stacked[data-collapsed='false'] {
  overflow: visible;
}

.Toastify__toast--stacked[data-collapsed='true']:not(:last-child) > * {
  opacity: 0;
}

.Toastify__toast--stacked:after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  height: calc(var(--g) * 1px);
  bottom: 100%;
}

.Toastify__toast--stacked[data-pos='top'] {
  top: 0;
}

.Toastify__toast--stacked[data-pos='bot'] {
  bottom: 0;
}

.Toastify__toast--stacked[data-pos='bot'].Toastify__toast--stacked:before {
  transform-origin: top;
}

.Toastify__toast--stacked[data-pos='top'].Toastify__toast--stacked:before {
  transform-origin: bottom;
}

.Toastify__toast--stacked:before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  transform: scaleY(3);
  z-index: -1;
}

.Toastify__toast--rtl {
  direction: rtl;
}

.Toastify__toast--close-on-click {
  cursor: pointer;
}

.Toastify__toast-icon {
  margin-inline-end: 10px;
  width: 22px;
  flex-shrink: 0;
  display: flex;
}

.Toastify--animate {
  animation-fill-mode: both;
  animation-duration: 0.5s;
}

.Toastify--animate-icon {
  animation-fill-mode: both;
  animation-duration: 0.3s;
}

.Toastify__toast-theme--dark {
  background: var(--toastify-color-dark);
  color: var(--toastify-text-color-dark);
}

.Toastify__toast-theme--light {
  background: var(--toastify-color-light);
  color: var(--toastify-text-color-light);
}

.Toastify__toast-theme--colored.Toastify__toast--default {
  background: var(--toastify-color-light);
  color: var(--toastify-text-color-light);
}

.Toastify__toast-theme--colored.Toastify__toast--info {
  color: var(--toastify-text-color-info);
  background: var(--toastify-color-info);
}

.Toastify__toast-theme--colored.Toastify__toast--success {
  color: var(--toastify-text-color-success);
  background: var(--toastify-color-success);
}

.Toastify__toast-theme--colored.Toastify__toast--warning {
  color: var(--toastify-text-color-warning);
  background: var(--toastify-color-warning);
}

.Toastify__toast-theme--colored.Toastify__toast--error {
  color: var(--toastify-text-color-error);
  background: var(--toastify-color-error);
}

.Toastify__progress-bar-theme--light {
  background: var(--toastify-color-progress-light);
}

.Toastify__progress-bar-theme--dark {
  background: var(--toastify-color-progress-dark);
}

.Toastify__progress-bar--info {
  background: var(--toastify-color-progress-info);
}

.Toastify__progress-bar--success {
  background: var(--toastify-color-progress-success);
}

.Toastify__progress-bar--warning {
  background: var(--toastify-color-progress-warning);
}

.Toastify__progress-bar--error {
  background: var(--toastify-color-progress-error);
}

.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,
.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,
.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,
.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error {
  background: var(--toastify-color-transparent);
}

.Toastify__close-button {
  color: #fff;
  position: absolute;
  top: 6px;
  right: 6px;
  background: transparent;
  outline: none;
  border: none;
  padding: 0;
  cursor: pointer;
  opacity: 0.7;
  transition: 0.3s ease;
  z-index: 1;
}

.Toastify__toast--rtl .Toastify__close-button {
  left: 6px;
  right: unset;
}

.Toastify__close-button--light {
  color: #000;
  opacity: 0.3;
}

.Toastify__close-button > svg {
  fill: currentColor;
  height: 16px;
  width: 14px;
}

.Toastify__close-button:hover,
.Toastify__close-button:focus {
  opacity: 1;
}

@keyframes Toastify__trackProgress {
  0% {
    transform: scaleX(1);
  }
  100% {
    transform: scaleX(0);
  }
}

.Toastify__progress-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0.7;
  transform-origin: left;
}

.Toastify__progress-bar--animated {
  animation: Toastify__trackProgress linear 1 forwards;
}

.Toastify__progress-bar--controlled {
  transition: transform 0.2s;
}

.Toastify__progress-bar--rtl {
  right: 0;
  left: initial;
  transform-origin: right;
  border-bottom-left-radius: initial;
}

.Toastify__progress-bar--wrp {
  position: absolute;
  overflow: hidden;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 5px;
  border-bottom-left-radius: var(--toastify-toast-bd-radius);
  border-bottom-right-radius: var(--toastify-toast-bd-radius);
}

.Toastify__progress-bar--wrp[data-hidden='true'] {
  opacity: 0;
}

.Toastify__progress-bar--bg {
  opacity: var(--toastify-color-progress-bgo);
  width: 100%;
  height: 100%;
}

.Toastify__spinner {
  width: 20px;
  height: 20px;
  box-sizing: border-box;
  border: 2px solid;
  border-radius: 100%;
  border-color: var(--toastify-spinner-color-empty-area);
  border-right-color: var(--toastify-spinner-color);
  animation: Toastify__spin 0.65s linear infinite;
}

@keyframes Toastify__bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    transform: translate3d(10px, 0, 0);
  }
  90% {
    transform: translate3d(-5px, 0, 0);
  }
  to {
    transform: none;
  }
}

@keyframes Toastify__bounceOutRight {
  20% {
    opacity: 1;
    transform: translate3d(-20px, var(--y), 0);
  }
  to {
    opacity: 0;
    transform: translate3d(2000px, var(--y), 0);
  }
}

@keyframes Toastify__bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(25px, 0, 0);
  }
  75% {
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    transform: translate3d(5px, 0, 0);
  }
  to {
    transform: none;
  }
}

@keyframes Toastify__bounceOutLeft {
  20% {
    opacity: 1;
    transform: translate3d(20px, var(--y), 0);
  }
  to {
    opacity: 0;
    transform: translate3d(-2000px, var(--y), 0);
  }
}

@keyframes Toastify__bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, -20px, 0);
  }
  75% {
    transform: translate3d(0, 10px, 0);
  }
  90% {
    transform: translate3d(0, -5px, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes Toastify__bounceOutUp {
  20% {
    transform: translate3d(0, calc(var(--y) - 10px), 0);
  }
  40%,
  45% {
    opacity: 1;
    transform: translate3d(0, calc(var(--y) + 20px), 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}

@keyframes Toastify__bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, 25px, 0);
  }
  75% {
    transform: translate3d(0, -10px, 0);
  }
  90% {
    transform: translate3d(0, 5px, 0);
  }
  to {
    transform: none;
  }
}

@keyframes Toastify__bounceOutDown {
  20% {
    transform: translate3d(0, calc(var(--y) - 10px), 0);
  }
  40%,
  45% {
    opacity: 1;
    transform: translate3d(0, calc(var(--y) + 20px), 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}

.Toastify__bounce-enter--top-left,
.Toastify__bounce-enter--bottom-left {
  animation-name: Toastify__bounceInLeft;
}

.Toastify__bounce-enter--top-right,
.Toastify__bounce-enter--bottom-right {
  animation-name: Toastify__bounceInRight;
}

.Toastify__bounce-enter--top-center {
  animation-name: Toastify__bounceInDown;
}

.Toastify__bounce-enter--bottom-center {
  animation-name: Toastify__bounceInUp;
}

.Toastify__bounce-exit--top-left,
.Toastify__bounce-exit--bottom-left {
  animation-name: Toastify__bounceOutLeft;
}

.Toastify__bounce-exit--top-right,
.Toastify__bounce-exit--bottom-right {
  animation-name: Toastify__bounceOutRight;
}

.Toastify__bounce-exit--top-center {
  animation-name: Toastify__bounceOutUp;
}

.Toastify__bounce-exit--bottom-center {
  animation-name: Toastify__bounceOutDown;
}

@keyframes Toastify__zoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}

@keyframes Toastify__zoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    transform: translate3d(0, var(--y), 0) scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}

.Toastify__zoom-enter {
  animation-name: Toastify__zoomIn;
}

.Toastify__zoom-exit {
  animation-name: Toastify__zoomOut;
}

@keyframes Toastify__flipIn {
  from {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    animation-timing-function: ease-in;
  }
  60% {
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    transform: perspective(400px);
  }
}

@keyframes Toastify__flipOut {
  from {
    transform: translate3d(0, var(--y), 0) perspective(400px);
  }
  30% {
    transform: translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  to {
    transform: translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}

.Toastify__flip-enter {
  animation-name: Toastify__flipIn;
}

.Toastify__flip-exit {
  animation-name: Toastify__flipOut;
}

@keyframes Toastify__slideInRight {
  from {
    transform: translate3d(110%, 0, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, var(--y), 0);
  }
}

@keyframes Toastify__slideInLeft {
  from {
    transform: translate3d(-110%, 0, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, var(--y), 0);
  }
}

@keyframes Toastify__slideInUp {
  from {
    transform: translate3d(0, 110%, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, var(--y), 0);
  }
}

@keyframes Toastify__slideInDown {
  from {
    transform: translate3d(0, -110%, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, var(--y), 0);
  }
}

@keyframes Toastify__slideOutRight {
  from {
    transform: translate3d(0, var(--y), 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(110%, var(--y), 0);
  }
}

@keyframes Toastify__slideOutLeft {
  from {
    transform: translate3d(0, var(--y), 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(-110%, var(--y), 0);
  }
}

@keyframes Toastify__slideOutDown {
  from {
    transform: translate3d(0, var(--y), 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, 500px, 0);
  }
}

@keyframes Toastify__slideOutUp {
  from {
    transform: translate3d(0, var(--y), 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, -500px, 0);
  }
}

.Toastify__slide-enter--top-left,
.Toastify__slide-enter--bottom-left {
  animation-name: Toastify__slideInLeft;
}

.Toastify__slide-enter--top-right,
.Toastify__slide-enter--bottom-right {
  animation-name: Toastify__slideInRight;
}

.Toastify__slide-enter--top-center {
  animation-name: Toastify__slideInDown;
}

.Toastify__slide-enter--bottom-center {
  animation-name: Toastify__slideInUp;
}

.Toastify__slide-exit--top-left,
.Toastify__slide-exit--bottom-left {
  animation-name: Toastify__slideOutLeft;
  animation-timing-function: ease-in;
  animation-duration: 0.3s;
}

.Toastify__slide-exit--top-right,
.Toastify__slide-exit--bottom-right {
  animation-name: Toastify__slideOutRight;
  animation-timing-function: ease-in;
  animation-duration: 0.3s;
}

.Toastify__slide-exit--top-center {
  animation-name: Toastify__slideOutUp;
  animation-timing-function: ease-in;
  animation-duration: 0.3s;
}

.Toastify__slide-exit--bottom-center {
  animation-name: Toastify__slideOutDown;
  animation-timing-function: ease-in;
  animation-duration: 0.3s;
}

@keyframes Toastify__spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
body {
  margin: 0;
}

.gjs-hovered,
.gjs-hovered * {
  outline: 2px solid red !important;
  outline-offset: -2px !important;
}

/* @font-face {
  font-family: "Gilroy";
  src: url("./assets/fonts/Gilroy-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "Gilroy";
  src: url("./assets/fonts/Gilroy-Bold.ttf") format("truetype");
  font-weight: bold;
  font-style: normal;
}

@font-face {
  font-family: "Gilroy";
  src: url("./assets/fonts/Gilroy-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "Gilroy";
  src: url("./assets/fonts/Gilroy-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
}

@font-face {
  font-family: "Gilroy";
  src: url("./assets/fonts/Gilroy-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: "Gilroy";
  src: url("./assets/fonts/Gilroy-ExtraBold.ttf") format("truetype");
  font-weight: 800;
  font-style: normal;
}

@font-face {
  font-family: "Gilroy";
  src: url("./assets/fonts/Gilroy-Black.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
}

@font-face {
  font-family: "Gilroy";
  src: url("./assets/fonts/Gilroy-Thin.ttf") format("truetype");
  font-weight: 100;
  font-style: normal;
}

@font-face {
  font-family: "Gilroy";
  src: url("./assets/fonts/Gilroy-Heavy.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
}

@font-face {
  font-family: "Gilroy";
  src: url("./assets/fonts/Gilroy-MediumItalic.ttf") format("truetype");
  font-weight: 500;
  font-style: italic;
}

@font-face {
  font-family: "Gilroy";
  src: url("./assets/fonts/Gilroy-BoldItalic.ttf") format("truetype");
  font-weight: bold;
  font-style: italic;
}

@font-face {
  font-family: "Gilroy";
  src: url("./assets/fonts/Gilroy-LightItalic.ttf") format("truetype");
  font-weight: 300;
  font-style: italic;
}

@font-face {
  font-family: "Gilroy";
  src: url("./assets/fonts/Gilroy-ExtraBoldItalic.ttf") format("truetype");
  font-weight: 800;
  font-style: italic;
}

@font-face {
  font-family: "Gilroy";
  src: url("./assets/fonts/Gilroy-BlackItalic.ttf") format("truetype");
  font-weight: 900;
  font-style: italic;
}

@font-face {
  font-family: "Gilroy";
  src: url("./assets/fonts/Gilroy-ThinItalic.ttf") format("truetype");
  font-weight: 100;
  font-style: italic;
}

@font-face {
  font-family: "Gilroy";
  src: url("./assets/fonts/Gilroy-HeavyItalic.ttf") format("truetype");
  font-weight: 900;
  font-style: italic;
}

@font-face {
  font-family: "Gilroy";
  src: url("./assets/fonts/Gilroy-SemiBoldItalic.ttf") format("truetype");
  font-weight: 600;
  font-style: italic;
} */

.Toastify__toast-container {
  width: 100%;
  max-width: 30rem;
}

.Toastify__toast--success .Toastify__toast-icon,
.Toastify__toast--success .Toastify__toast-icon svg,
.Toastify__toast--success .Toastify__toast-icon svg * {
  fill: #56BC76 !important;
  color: #56BC76 !important;
}

.reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.9s ease-out, transform 0.9s ease-out;
}

.reveal.active {
  opacity: 1;
  transform: translateY(0);
}

/* remove a toolbar na edição de texto do grapes js */
/* .gjs-rte-toolbar {
  display: none !important; 
} */.CodeMirror {
  font-family: monospace;
  height: 300px;
  color: black;
  direction: ltr;
}

.CodeMirror-lines {
  padding: 4px 0;
}

.CodeMirror pre.CodeMirror-line,
.CodeMirror pre.CodeMirror-line-like {
  padding: 0 4px;
}

.CodeMirror-scrollbar-filler,
.CodeMirror-gutter-filler {
  background-color: white;
}

.CodeMirror-gutters {
  border-right: 1px solid #ddd;
  background-color: #f7f7f7;
  white-space: nowrap;
}

.CodeMirror-linenumber {
  padding: 0 3px 0 5px;
  min-width: 20px;
  text-align: right;
  color: #999;
  white-space: nowrap;
}

.CodeMirror-guttermarker {
  color: black;
}

.CodeMirror-guttermarker-subtle {
  color: #999;
}

.CodeMirror-cursor {
  border-left: 1px solid black;
  border-right: none;
  width: 0;
}

.CodeMirror div.CodeMirror-secondarycursor {
  border-left: 1px solid silver;
}

.cm-fat-cursor .CodeMirror-cursor {
  width: auto;
  border: 0 !important;
  background: #7e7;
}

.cm-fat-cursor div.CodeMirror-cursors {
  z-index: 1;
}

.cm-fat-cursor-mark {
  background-color: rgba(20, 255, 20, 0.5);
  -webkit-animation: blink 1.06s steps(1) infinite;
  -moz-animation: blink 1.06s steps(1) infinite;
  animation: blink 1.06s steps(1) infinite;
}

.cm-animate-fat-cursor {
  width: auto;
  -webkit-animation: blink 1.06s steps(1) infinite;
  -moz-animation: blink 1.06s steps(1) infinite;
  animation: blink 1.06s steps(1) infinite;
  background-color: #7e7;
}

@-moz-keyframes blink {
  50% {
    background-color: transparent;
  }
}

@-webkit-keyframes blink {
  50% {
    background-color: transparent;
  }
}

@keyframes blink {
  50% {
    background-color: transparent;
  }
}

.cm-tab {
  display: inline-block;
  text-decoration: inherit;
}

.CodeMirror-rulers {
  position: absolute;
  left: 0;
  right: 0;
  top: -50px;
  bottom: 0;
  overflow: hidden;
}

.CodeMirror-ruler {
  border-left: 1px solid #ccc;
  top: 0;
  bottom: 0;
  position: absolute;
}

.cm-s-default .cm-header {
  color: blue;
}

.cm-s-default .cm-quote {
  color: #090;
}

.cm-negative {
  color: #d44;
}

.cm-positive {
  color: #292;
}

.cm-header,
.cm-strong {
  font-weight: bold;
}

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

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

.cm-strikethrough {
  text-decoration: line-through;
}

.cm-s-default .cm-keyword {
  color: #708;
}

.cm-s-default .cm-atom {
  color: #219;
}

.cm-s-default .cm-number {
  color: #164;
}

.cm-s-default .cm-def {
  color: blue;
}

.cm-s-default .cm-variable-2 {
  color: #05a;
}

.cm-s-default .cm-variable-3,
.cm-s-default .cm-type {
  color: #085;
}

.cm-s-default .cm-comment {
  color: #a50;
}

.cm-s-default .cm-string {
  color: #a11;
}

.cm-s-default .cm-string-2 {
  color: #f50;
}

.cm-s-default .cm-meta {
  color: #555;
}

.cm-s-default .cm-qualifier {
  color: #555;
}

.cm-s-default .cm-builtin {
  color: #30a;
}

.cm-s-default .cm-bracket {
  color: #997;
}

.cm-s-default .cm-tag {
  color: #170;
}

.cm-s-default .cm-attribute {
  color: #00c;
}

.cm-s-default .cm-hr {
  color: #999;
}

.cm-s-default .cm-link {
  color: #00c;
}

.cm-s-default .cm-error {
  color: red;
}

.cm-invalidchar {
  color: red;
}

.CodeMirror-composing {
  border-bottom: 2px solid;
}

div.CodeMirror span.CodeMirror-matchingbracket {
  color: #0b0;
}

div.CodeMirror span.CodeMirror-nonmatchingbracket {
  color: #a22;
}

.CodeMirror-matchingtag {
  background: rgba(255, 150, 0, 0.3);
}

.CodeMirror-activeline-background {
  background: #e8f2ff;
}

.CodeMirror {
  position: relative;
  overflow: hidden;
  background: white;
}

.CodeMirror-scroll {
  overflow: scroll !important;
  margin-bottom: -50px;
  margin-right: -50px;
  padding-bottom: 50px;
  height: 100%;
  outline: none;
  position: relative;
}

.CodeMirror-sizer {
  position: relative;
  border-right: 50px solid transparent;
}

.CodeMirror-vscrollbar,
.CodeMirror-hscrollbar,
.CodeMirror-scrollbar-filler,
.CodeMirror-gutter-filler {
  position: absolute;
  z-index: 6;
  display: none;
  outline: none;
}

.CodeMirror-vscrollbar {
  right: 0;
  top: 0;
  overflow-x: hidden;
  overflow-y: scroll;
}

.CodeMirror-hscrollbar {
  bottom: 0;
  left: 0;
  overflow-y: hidden;
  overflow-x: scroll;
}

.CodeMirror-scrollbar-filler {
  right: 0;
  bottom: 0;
}

.CodeMirror-gutter-filler {
  left: 0;
  bottom: 0;
}

.CodeMirror-gutters {
  position: absolute;
  left: 0;
  top: 0;
  min-height: 100%;
  z-index: 3;
}

.CodeMirror-gutter {
  white-space: normal;
  height: 100%;
  display: inline-block;
  vertical-align: top;
  margin-bottom: -50px;
}

.CodeMirror-gutter-wrapper {
  position: absolute;
  z-index: 4;
  background: none !important;
  border: none !important;
}

.CodeMirror-gutter-background {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 4;
}

.CodeMirror-gutter-elt {
  position: absolute;
  cursor: default;
  z-index: 4;
}

.CodeMirror-gutter-wrapper ::selection {
  background-color: transparent;
}

.CodeMirror-gutter-wrapper ::-moz-selection {
  background-color: transparent;
}

.CodeMirror-lines {
  cursor: text;
  min-height: 1px;
}

.CodeMirror pre.CodeMirror-line,
.CodeMirror pre.CodeMirror-line-like {
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  border-radius: 0;
  border-width: 0;
  background: transparent;
  font-family: inherit;
  font-size: inherit;
  margin: 0;
  white-space: pre;
  word-wrap: normal;
  line-height: inherit;
  color: inherit;
  z-index: 2;
  position: relative;
  overflow: visible;
  -webkit-tap-highlight-color: transparent;
  -webkit-font-variant-ligatures: contextual;
  font-variant-ligatures: contextual;
}

.CodeMirror-wrap pre.CodeMirror-line,
.CodeMirror-wrap pre.CodeMirror-line-like {
  word-wrap: break-word;
  white-space: pre-wrap;
  word-break: normal;
}

.CodeMirror-linebackground {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 0;
}

.CodeMirror-linewidget {
  position: relative;
  z-index: 2;
  padding: 0.1px;
}

.CodeMirror-rtl pre {
  direction: rtl;
}

.CodeMirror-code {
  outline: none;
}

.CodeMirror-scroll,
.CodeMirror-sizer,
.CodeMirror-gutter,
.CodeMirror-gutters,
.CodeMirror-linenumber {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}

.CodeMirror-measure {
  position: absolute;
  width: 100%;
  height: 0;
  overflow: hidden;
  visibility: hidden;
}

.CodeMirror-cursor {
  position: absolute;
  pointer-events: none;
}

.CodeMirror-measure pre {
  position: static;
}

div.CodeMirror-cursors {
  visibility: hidden;
  position: relative;
  z-index: 3;
}

div.CodeMirror-dragcursors {
  visibility: visible;
}

.CodeMirror-focused div.CodeMirror-cursors {
  visibility: visible;
}

.CodeMirror-selected {
  background: #d9d9d9;
}

.CodeMirror-focused .CodeMirror-selected {
  background: #d7d4f0;
}

.CodeMirror-crosshair {
  cursor: crosshair;
}

.CodeMirror-line::selection,
.CodeMirror-line>span::selection,
.CodeMirror-line>span>span::selection {
  background: #d7d4f0;
}

.CodeMirror-line::-moz-selection,
.CodeMirror-line>span::-moz-selection,
.CodeMirror-line>span>span::-moz-selection {
  background: #d7d4f0;
}

.cm-searching {
  background-color: #ffa;
  background-color: rgba(255, 255, 0, 0.4);
}

.cm-force-border {
  padding-right: 0.1px;
}

@media print {
  .CodeMirror div.CodeMirror-cursors {
    visibility: hidden;
  }
}

.cm-tab-wrap-hack:after {
  content: "";
}

span.CodeMirror-selectedtext {
  background: none;
}

.cm-s-hopscotch.CodeMirror {
  background: #322931;
  color: #d5d3d5;
}

.cm-s-hopscotch div.CodeMirror-selected {
  background: #433b42 !important;
}

.cm-s-hopscotch .CodeMirror-gutters {
  background: #322931;
  border-right: 0px;
}

.cm-s-hopscotch .CodeMirror-linenumber {
  color: #797379;
}

.cm-s-hopscotch .CodeMirror-cursor {
  border-left: 1px solid #989498 !important;
}

.cm-s-hopscotch span.cm-comment {
  color: #b33508;
}

.cm-s-hopscotch span.cm-atom {
  color: #c85e7c;
}

.cm-s-hopscotch span.cm-number {
  color: #c85e7c;
}

.cm-s-hopscotch span.cm-property,
.cm-s-hopscotch span.cm-attribute {
  color: #8fc13e;
}

.cm-s-hopscotch span.cm-keyword {
  color: #dd464c;
}

.cm-s-hopscotch span.cm-string {
  color: #fdcc59;
}

.cm-s-hopscotch span.cm-variable {
  color: #8fc13e;
}

.cm-s-hopscotch span.cm-variable-2 {
  color: #1290bf;
}

.cm-s-hopscotch span.cm-def {
  color: #fd8b19;
}

.cm-s-hopscotch span.cm-error {
  background: #dd464c;
  color: #989498;
}

.cm-s-hopscotch span.cm-bracket {
  color: #d5d3d5;
}

.cm-s-hopscotch span.cm-tag {
  color: #dd464c;
}

.cm-s-hopscotch span.cm-link {
  color: #c85e7c;
}

.cm-s-hopscotch .CodeMirror-matchingbracket {
  text-decoration: underline;
  color: white !important;
}

.cm-s-hopscotch .CodeMirror-activeline-background {
  background: #302020;
}

.gjs-is__grab,
.gjs-is__grab * {
  cursor: grab !important;
}

.gjs-is__grabbing,
.gjs-is__grabbing * {
  -moz-user-select: none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
  cursor: grabbing !important;
}

:root {
  --gjs-main-color: #444;
  --gjs-primary-color: #444;
  --gjs-secondary-color: #ddd;
  --gjs-tertiary-color: #804f7b;
  --gjs-quaternary-color: #d278c9;
  --gjs-font-color: #ddd;
  --gjs-font-color-active: #f8f8f8;
  --gjs-main-dark-color: rgba(0, 0, 0, 0.2);
  --gjs-secondary-dark-color: rgba(0, 0, 0, 0.1);
  --gjs-main-light-color: rgba(255, 255, 255, 0.1);
  --gjs-secondary-light-color: rgba(255, 255, 255, 0.7);
  --gjs-soft-light-color: rgba(255, 255, 255, 0.015);
  --gjs-color-blue: #324fe8;
  --gjs-color-red: #dd3636;
  --gjs-color-yellow: #ffca6f;
  --gjs-color-green: #62c462;
  --gjs-left-width: 15%;
  --gjs-color-highlight: #71b7f1;
  --gjs-color-warn: #ffca6f;
  --gjs-handle-margin: -5px;
  --gjs-light-border: rgba(255, 255, 255, 0.05);
  --gjs-arrow-color: rgba(255, 255, 255, 0.7);
  --gjs-dark-text-shadow: rgba(0, 0, 0, 0.2);
  --gjs-color-input-padding: 22px;
  --gjs-input-padding: 5px;
  --gjs-padding-elem-classmanager: 5px 6px;
  --gjs-upload-padding: 150px 10px;
  --gjs-animation-duration: 0.2s;
  --gjs-main-font: Helvetica, sans-serif;
  --gjs-font-size: 0.75rem;
  --gjs-placeholder-background-color: var(--gjs-color-green);
  --gjs-canvas-top: 40px;
  --gjs-flex-item-gap: 5px;
}

.gjs-bg-main,
.gjs-off-prv,
.gjs-sm-colorp-c {
  background-color: var(--gjs-main-color);
}

.gjs-color-main,
.gjs-off-prv,
.gjs-sm-stack #gjs-sm-add {
  color: var(--gjs-font-color);
  fill: var(--gjs-font-color);
}

.gjs-color-active {
  color: var(--gjs-font-color-active);
  fill: var(--gjs-font-color-active);
}

.gjs-color-warn {
  color: var(--gjs-color-warn);
  fill: var(--gjs-color-warn);
}

.gjs-color-hl {
  color: var(--gjs-color-highlight);
  fill: var(--gjs-color-highlight);
}

.gjs-invis-invis,
.gjs-clm-tags #gjs-clm-new,
.gjs-no-app {
  background-color: rgba(0, 0, 0, 0);
  border: none;
  color: inherit;
}

.gjs-no-app {
  height: 10px;
}

.opac50 {
  opacity: 0.5;
  filter: alpha(opacity=50);
}

.gjs-checker-bg,
.gjs-field-colorp-c,
.checker-bg,
.gjs-sm-layer-preview {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==");
}

.gjs-no-user-select,
.gjs-grabbing,
.gjs-grabbing *,
.gjs-rte-toolbar,
.gjs-layer-name {
  -moz-user-select: none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}

.gjs-no-pointer-events,
.gjs-resizer-c,
.gjs-margin-v-el,
.gjs-padding-v-el,
.gjs-fixedmargin-v-el,
.gjs-fixedpadding-v-el {
  pointer-events: none;
}

.no-select,
.gjs-clm-tags #gjs-clm-close,
.gjs-com-no-select,
.gjs-com-no-select img,
.gjs-category-title,
.gjs-layer-title,
.gjs-block-category .gjs-title,
.gjs-sm-sector-title,
.gjs-trait-category .gjs-title {
  -moz-user-select: none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}

.clear {
  clear: both;
}

.gjs-category-open,
.gjs-block-category.gjs-open,
.gjs-sm-sector.gjs-sm-open,
.gjs-trait-category.gjs-open {
  border-bottom: 1px solid rgba(0, 0, 0, 0.25);
}

.gjs-category-title,
.gjs-layer-title,
.gjs-block-category .gjs-title,
.gjs-sm-sector-title,
.gjs-trait-category .gjs-title {
  font-weight: lighter;
  background-color: var(--gjs-secondary-dark-color);
  letter-spacing: 1px;
  padding: 9px 10px 9px 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.25);
  text-align: left;
  position: relative;
  cursor: pointer;
}

.btn-cl,
.gjs-am-close,
.gjs-mdl-btn-close {
  opacity: 0.3;
  filter: alpha(opacity=30);
  font-size: 25px;
  cursor: pointer;
}

.btn-cl:hover,
.gjs-am-close:hover,
.gjs-mdl-btn-close:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
}

.gjs-traits-label {
  border-bottom: 1px solid var(--gjs-main-dark-color);
  font-weight: lighter;
  margin-bottom: 5px;
  padding: 10px;
  text-align: left;
}

.gjs-label-wrp {
  width: 30%;
  min-width: 30%;
}

.gjs-field-wrp {
  flex-grow: 1;
}

.gjs-traits-c,
.gjs-traits-cs {
  display: flex;
  flex-direction: column;
}

.gjs-trait-categories {
  display: flex;
  flex-direction: column;
}

.gjs-trait-category {
  width: 100%;
}

.gjs-trait-category .gjs-caret-icon {
  margin-right: 5px;
}

.gjs-trt-header {
  font-weight: lighter;
  padding: 10px;
}

.gjs-trt-trait {
  display: flex;
  justify-content: flex-start;
  padding: 5px 10px;
  font-weight: lighter;
  align-items: center;
  text-align: left;
  gap: 5px;
}

.gjs-trt-traits {
  font-size: var(--gjs-font-size);
}

.gjs-trt-trait .gjs-label {
  text-align: left;
  text-overflow: ellipsis;
  overflow: hidden;
}

.gjs-guide-info {
  position: absolute;
}

.gjs-guide-info__content {
  position: absolute;
  height: 100%;
  display: flex;
  width: 100%;
  padding: 5px;
}

.gjs-guide-info__line {
  position: relative;
  margin: auto;
}

.gjs-guide-info__line::before,
.gjs-guide-info__line::after {
  content: "";
  display: block;
  position: absolute;
  background-color: inherit;
}

.gjs-guide-info__y {
  padding: 0 5px;
}

.gjs-guide-info__y .gjs-guide-info__content {
  justify-content: center;
}

.gjs-guide-info__y .gjs-guide-info__line {
  width: 100%;
  height: 1px;
}

.gjs-guide-info__y .gjs-guide-info__line::before,
.gjs-guide-info__y .gjs-guide-info__line::after {
  width: 1px;
  height: 10px;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

.gjs-guide-info__y .gjs-guide-info__line::after {
  left: auto;
  right: 0;
}

.gjs-guide-info__x {
  padding: 5px 0;
}

.gjs-guide-info__x .gjs-guide-info__content {
  align-items: center;
}

.gjs-guide-info__x .gjs-guide-info__line {
  height: 100%;
  width: 1px;
}

.gjs-guide-info__x .gjs-guide-info__line::before,
.gjs-guide-info__x .gjs-guide-info__line::after {
  width: 10px;
  height: 1px;
  left: 0;
  right: 0;
  top: 0;
  margin: auto;
  transform: translateX(-50%);
}

.gjs-guide-info__x .gjs-guide-info__line::after {
  top: auto;
  bottom: 0;
}

.gjs-badge {
  white-space: nowrap;
}

.gjs-badge__icon {
  vertical-align: middle;
  display: inline-block;
  width: 15px;
  height: 15px;
}

.gjs-badge__icon svg {
  fill: currentColor;
}

.gjs-badge__name {
  display: inline-block;
  vertical-align: middle;
}

.gjs-frame-wrapper {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  right: 0;
  margin: auto;
}

.gjs-frame-wrapper--anim {
  transition:
    width 0.35s ease,
    height 0.35s ease;
}

.gjs-frame-wrapper__top {
  transform: translateY(-100%) translateX(-50%);
  display: flex;
  padding: 5px 0;
  position: absolute;
  width: 100%;
  left: 50%;
  top: 0;
}

.gjs-frame-wrapper__top-r {
  margin-left: auto;
}

.gjs-frame-wrapper__left {
  position: absolute;
  left: 0;
  transform: translateX(-100%) translateY(-50%);
  height: 100%;
  top: 50%;
}

.gjs-frame-wrapper__bottom {
  position: absolute;
  bottom: 0;
  transform: translateY(100%) translateX(-50%);
  width: 100%;
  left: 50%;
}

.gjs-frame-wrapper__right {
  position: absolute;
  right: 0;
  transform: translateX(100%) translateY(-50%);
  height: 100%;
  top: 50%;
}

.gjs-frame-wrapper__icon {
  width: 24px;
  cursor: pointer;
}

.gjs-frame-wrapper__icon>svg {
  fill: currentColor;
}

.gjs-padding-v-top,
.gjs-fixedpadding-v-top {
  width: 100%;
  top: 0;
  left: 0;
}

.gjs-padding-v-right,
.gjs-fixedpadding-v-right {
  right: 0;
}

.gjs-padding-v-bottom,
.gjs-fixedpadding-v-bottom {
  width: 100%;
  left: 0;
  bottom: 0;
}

.gjs-padding-v-left,
.gjs-fixedpadding-v-left {
  left: 0;
}

.gjs-cv-canvas {
  box-sizing: border-box;
  width: calc(100% - var(--gjs-left-width));
  height: calc(100% - var(--gjs-canvas-top));
  bottom: 0;
  overflow: hidden;
  z-index: 1;
  position: absolute;
  left: 0;
  top: var(--gjs-canvas-top);
}

.gjs-cv-canvas-bg {
  background-color: rgba(0, 0, 0, 0.15);
}

.gjs-cv-canvas.gjs-cui {
  width: 100%;
  height: 100%;
  top: 0;
}

.gjs-cv-canvas.gjs-is__grab .gjs-cv-canvas__frames,
.gjs-cv-canvas.gjs-is__grabbing .gjs-cv-canvas__frames {
  pointer-events: none;
}

.gjs-cv-canvas__frames {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.gjs-cv-canvas__spots {
  position: absolute;
  pointer-events: none;
  z-index: 1;
}

.gjs-cv-canvas .gjs-ghost {
  display: none;
  pointer-events: none;
  background-color: #5b5b5b;
  border: 2px dashed #ccc;
  position: absolute;
  z-index: 10;
  opacity: 0.55;
  filter: alpha(opacity=55);
}

.gjs-cv-canvas .gjs-highlighter,
.gjs-cv-canvas .gjs-highlighter-sel {
  position: absolute;
  outline: 1px solid var(--gjs-color-blue);
  outline-offset: -1px;
  pointer-events: none;
  width: 100%;
  height: 100%;
}

.gjs-cv-canvas .gjs-highlighter-warning {
  outline: 3px solid var(--gjs-color-yellow);
}

.gjs-cv-canvas .gjs-highlighter-sel {
  outline: 2px solid var(--gjs-color-blue);
  outline-offset: -2px;
}

.gjs-cv-canvas #gjs-tools,
.gjs-cv-canvas .gjs-tools {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  outline: none;
  z-index: 1;
}

.gjs-cv-canvas #gjs-tools {
  z-index: 2;
}

.gjs-cv-canvas * {
  box-sizing: border-box;
}

.gjs-frame {
  outline: medium none;
  height: 100%;
  width: 100%;
  border: none;
  margin: auto;
  display: block;
  transition:
    width 0.35s ease,
    height 0.35s ease;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.gjs-toolbar {
  position: absolute;
  background-color: var(--gjs-color-blue);
  white-space: nowrap;
  color: #fff;
  z-index: 10;
  top: 0;
  left: 0;
}

.gjs-toolbar-item {
  width: 26px;
  padding: 5px;
  cursor: pointer;
  display: inline-block;
}

.gjs-toolbar-item svg {
  fill: currentColor;
  vertical-align: middle;
}

.gjs-resizer-c {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 9;
}

.gjs-margin-v-el,
.gjs-padding-v-el,
.gjs-fixedmargin-v-el,
.gjs-fixedpadding-v-el {
  opacity: 0.1;
  filter: alpha(opacity=10);
  position: absolute;
  background-color: #ff0;
}

.gjs-fixedmargin-v-el,
.gjs-fixedpadding-v-el {
  opacity: 0.2;
  filter: alpha(opacity=20);
}

.gjs-padding-v-el,
.gjs-fixedpadding-v-el {
  background-color: navy;
}

.gjs-resizer-h {
  pointer-events: all;
  position: absolute;
  border: 3px solid var(--gjs-color-blue);
  width: 10px;
  height: 10px;
  background-color: #fff;
  margin: var(--gjs-handle-margin);
}

.gjs-resizer-h-tl {
  top: 0;
  left: 0;
  cursor: nwse-resize;
}

.gjs-resizer-h-tr {
  top: 0;
  right: 0;
  cursor: nesw-resize;
}

.gjs-resizer-h-tc {
  top: 0;
  margin: var(--gjs-handle-margin) auto;
  left: 0;
  right: 0;
  cursor: ns-resize;
}

.gjs-resizer-h-cl {
  left: 0;
  margin: auto var(--gjs-handle-margin);
  top: 0;
  bottom: 0;
  cursor: ew-resize;
}

.gjs-resizer-h-cr {
  margin: auto var(--gjs-handle-margin);
  top: 0;
  bottom: 0;
  right: 0;
  cursor: ew-resize;
}

.gjs-resizer-h-bl {
  bottom: 0;
  left: 0;
  cursor: nesw-resize;
}

.gjs-resizer-h-bc {
  bottom: 0;
  margin: var(--gjs-handle-margin) auto;
  left: 0;
  right: 0;
  cursor: ns-resize;
}

.gjs-resizer-h-br {
  bottom: 0;
  right: 0;
  cursor: nwse-resize;
}

.gjs-pn-panel .gjs-resizer-h {
  background-color: rgba(0, 0, 0, 0.2);
  border: none;
  opacity: 0;
  transition: opacity 0.25s;
}

.gjs-pn-panel .gjs-resizer-h:hover {
  opacity: 1;
}

.gjs-pn-panel .gjs-resizer-h-tc,
.gjs-pn-panel .gjs-resizer-h-bc {
  margin: 0 auto;
  width: 100%;
}

.gjs-pn-panel .gjs-resizer-h-cr,
.gjs-pn-panel .gjs-resizer-h-cl {
  margin: auto 0;
  height: 100%;
}

.gjs-resizing .gjs-highlighter,
.gjs-resizing .gjs-badge {
  display: none !important;
}

.gjs-resizing-tl * {
  cursor: nwse-resize !important;
}

.gjs-resizing-tr * {
  cursor: nesw-resize !important;
}

.gjs-resizing-tc * {
  cursor: ns-resize !important;
}

.gjs-resizing-cl * {
  cursor: ew-resize !important;
}

.gjs-resizing-cr * {
  cursor: ew-resize !important;
}

.gjs-resizing-bl * {
  cursor: nesw-resize !important;
}

.gjs-resizing-bc * {
  cursor: ns-resize !important;
}

.gjs-resizing-br * {
  cursor: nwse-resize !important;
}

.no-dots,
.ui-resizable-handle {
  border: none !important;
  margin: 0 !important;
  outline: none !important;
}

.gjs-com-dashed * {
  outline: 1px dashed #888;
  outline-offset: -2px;
  box-sizing: border-box;
}

.gjs-com-badge,
.gjs-badge {
  pointer-events: none;
  background-color: var(--gjs-color-blue);
  color: #fff;
  padding: 2px 5px;
  position: absolute;
  z-index: 1;
  font-size: 12px;
  outline: none;
  display: none;
  margin-left: -1.5px;
}

.gjs-badge-warning {
  background-color: var(--gjs-color-yellow);
}

.gjs-placeholder,
.gjs-com-placeholder,
.gjs-placeholder {
  position: absolute;
  z-index: 10;
  pointer-events: none;
  display: none;
}

.gjs-placeholder,
.gjs-placeholder {
  border-style: solid !important;
  outline: none;
  box-sizing: border-box;
  transition:
    top var(--gjs-animation-duration),
    left var(--gjs-animation-duration),
    width var(--gjs-animation-duration),
    height var(--gjs-animation-duration);
}

.gjs-placeholder.horizontal,
.gjs-com-placeholder.horizontal,
.gjs-placeholder.horizontal {
  border-color: rgba(0, 0, 0, 0) var(--gjs-placeholder-background-color);
  border-width: 3px 5px;
  margin: -3px 0 0;
}

.gjs-placeholder.vertical,
.gjs-com-placeholder.vertical,
.gjs-placeholder.vertical {
  border-color: var(--gjs-placeholder-background-color) rgba(0, 0, 0, 0);
  border-width: 5px 3px;
  margin: 0 0 0 -3px;
}

.gjs-placeholder-int,
.gjs-com-placeholder-int,
.gjs-placeholder-int {
  background-color: var(--gjs-placeholder-background-color);
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
  height: 100%;
  width: 100%;
  pointer-events: none;
  padding: 1.5px;
  outline: none;
}

.gjs-pn-panel {
  display: inline-block;
  position: absolute;
  box-sizing: border-box;
  text-align: center;
  padding: 5px;
  z-index: 3;
}

.gjs-pn-panel .icon-undo,
.gjs-pn-panel .icon-redo {
  font-size: 20px;
  height: 30px;
  width: 25px;
}

.gjs-pn-commands {
  width: calc(100% - var(--gjs-left-width));
  left: 0;
  top: 0;
  box-shadow: 0 0 5px var(--gjs-main-dark-color);
}

.gjs-pn-options {
  right: var(--gjs-left-width);
  top: 0;
}

.gjs-pn-views {
  border-bottom: 2px solid var(--gjs-main-dark-color);
  right: 0;
  width: var(--gjs-left-width);
  z-index: 4;
}

.gjs-pn-views-container {
  height: 100%;
  padding: 42px 0 0;
  right: 0;
  width: var(--gjs-left-width);
  overflow: auto;
  box-shadow: 0 0 5px var(--gjs-main-dark-color);
}

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

.gjs-pn-btn {
  box-sizing: border-box;
  min-height: 30px;
  min-width: 30px;
  line-height: 21px;
  background-color: rgba(0, 0, 0, 0);
  border: none;
  font-size: 18px;
  margin-right: 5px;
  border-radius: 2px;
  padding: 4px;
  position: relative;
  cursor: pointer;
}

.gjs-pn-btn.gjs-pn-active {
  background-color: rgba(0, 0, 0, 0.15);
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.25) inset;
}

.gjs-pn-btn svg {
  fill: currentColor;
}

.gjs-label {
  line-height: 18px;
}

.gjs-fields {
  display: flex;
}

.gjs-select {
  padding: 0;
  width: 100%;
}

.gjs-select select {
  padding-right: 10px;
}

.gjs-select:-moz-focusring,
.gjs-select select:-moz-focusring {
  color: rgba(0, 0, 0, 0);
  text-shadow: 0 0 0 var(--gjs-secondary-light-color);
}

.gjs-input:focus,
.gjs-button:focus,
.gjs-btn-prim:focus,
.gjs-select:focus,
.gjs-select select:focus {
  outline: none;
}

.gjs-field input,
.gjs-field select,
.gjs-field textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: inherit;
  border: none;
  background-color: rgba(0, 0, 0, 0);
  box-sizing: border-box;
  width: 100%;
  position: relative;
  padding: var(--gjs-input-padding);
  z-index: 1;
}

.gjs-field input:focus,
.gjs-field select:focus,
.gjs-field textarea:focus {
  outline: none;
}

.gjs-field input[type="number"] {
  -moz-appearance: textfield;
}

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

.gjs-field-range {
  flex: 9 1 auto;
}

.gjs-field-integer input {
  padding-right: 30px;
}

.gjs-select option,
.gjs-field-select option,
.gjs-clm-select option,
.gjs-sm-select option,
.gjs-fields option,
.gjs-sm-unit option {
  background-color: var(--gjs-main-color);
  color: var(--gjs-font-color);
}

.gjs-field {
  background-color: var(--gjs-main-dark-color);
  border: none;
  box-shadow: none;
  border-radius: 2px;
  box-sizing: border-box;
  padding: 0;
  position: relative;
}

.gjs-field textarea {
  resize: vertical;
}

.gjs-field .gjs-sel-arrow {
  height: 100%;
  width: 9px;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 0;
}

.gjs-field .gjs-d-s-arrow {
  bottom: 0;
  top: 0;
  margin: auto;
  right: var(--gjs-input-padding);
  border-top: 4px solid var(--gjs-arrow-color);
  position: absolute;
  height: 0;
  width: 0;
  border-left: 3px solid rgba(0, 0, 0, 0);
  border-right: 4px solid rgba(0, 0, 0, 0);
  cursor: pointer;
}

.gjs-field-arrows {
  position: absolute;
  cursor: ns-resize;
  margin: auto;
  height: 20px;
  width: 9px;
  z-index: 10;
  bottom: 0;
  right: calc(var(--gjs-input-padding) - 2px);
  top: 0;
}

.gjs-field-color,
.gjs-field-radio {
  width: 100%;
}

.gjs-field-color input {
  padding-right: var(--gjs-color-input-padding);
  box-sizing: border-box;
}

.gjs-field-colorp {
  border-left: 1px solid var(--gjs-main-dark-color);
  box-sizing: border-box;
  height: 100%;
  padding: 2px;
  position: absolute;
  right: 0;
  top: 0;
  width: var(--gjs-color-input-padding);
  z-index: 10;
}

.gjs-field-colorp .gjs-checker-bg,
.gjs-field-colorp .gjs-field-colorp-c {
  height: 100%;
  width: 100%;
  border-radius: 1px;
}

.gjs-field-colorp-c {
  height: 100%;
  position: relative;
  width: 100%;
}

.gjs-field-color-picker {
  background-color: var(--gjs-font-color);
  cursor: pointer;
  height: 100%;
  width: 100%;
  box-shadow: 0 0 1px var(--gjs-main-dark-color);
  border-radius: 1px;
  position: absolute;
  top: 0;
}

.gjs-field-checkbox {
  padding: 0;
  width: 17px;
  height: 17px;
  display: block;
  cursor: pointer;
}

.gjs-field-checkbox input {
  display: none;
}

.gjs-field-checkbox input:checked+.gjs-chk-icon {
  border-color: hsla(0, 0%, 100%, 0.5);
  border-width: 0 2px 2px 0;
  border-style: solid;
}

.gjs-radio-item {
  flex: 1 1 auto;
  text-align: center;
  border-left: 1px solid var(--gjs-dark-text-shadow);
}

.gjs-radio-item:first-child {
  border: none;
}

.gjs-radio-item:hover {
  background: var(--gjs-main-dark-color);
}

.gjs-radio-item input {
  display: none;
}

.gjs-radio-item input:checked+.gjs-radio-item-label {
  background-color: hsla(0, 0%, 100%, 0.2);
}

.gjs-radio-items {
  display: flex;
}

.gjs-radio-item-label {
  cursor: pointer;
  display: block;
  padding: var(--gjs-input-padding);
}

.gjs-field-units {
  position: absolute;
  margin: auto;
  right: 10px;
  bottom: 0;
  top: 0;
}

.gjs-field-unit {
  position: absolute;
  right: 10px;
  top: 3px;
  font-size: 10px;
  color: var(--gjs-arrow-color);
  cursor: pointer;
}

.gjs-input-unit {
  text-align: center;
}

.gjs-field-arrow-u,
.gjs-field-arrow-d {
  position: absolute;
  height: 0;
  width: 0;
  border-left: 3px solid rgba(0, 0, 0, 0);
  border-right: 4px solid rgba(0, 0, 0, 0);
  border-top: 4px solid var(--gjs-arrow-color);
  bottom: 4px;
  cursor: pointer;
}

.gjs-field-arrow-u {
  border-bottom: 4px solid var(--gjs-arrow-color);
  border-top: none;
  top: 4px;
}

.gjs-field-select {
  padding: 0;
}

.gjs-field-range {
  background-color: rgba(0, 0, 0, 0);
  border: none;
  box-shadow: none;
  padding: 0;
}

.gjs-field-range input {
  margin: 0;
  height: 100%;
}

.gjs-field-range input:focus {
  outline: none;
}

.gjs-field-range input::-webkit-slider-thumb {
  -webkit-appearance: none;
  margin-top: -4px;
  height: 10px;
  width: 10px;
  border: 1px solid var(--gjs-main-dark-color);
  border-radius: 100%;
  background-color: var(--gjs-font-color);
  cursor: pointer;
}

.gjs-field-range input::-moz-range-thumb {
  height: 10px;
  width: 10px;
  border: 1px solid var(--gjs-main-dark-color);
  border-radius: 100%;
  background-color: var(--gjs-font-color);
  cursor: pointer;
}

.gjs-field-range input::-ms-thumb {
  height: 10px;
  width: 10px;
  border: 1px solid var(--gjs-main-dark-color);
  border-radius: 100%;
  background-color: var(--gjs-font-color);
  cursor: pointer;
}

.gjs-field-range input::-moz-range-track {
  background-color: var(--gjs-main-dark-color);
  border-radius: 1px;
  margin-top: 3px;
  height: 3px;
}

.gjs-field-range input::-webkit-slider-runnable-track {
  background-color: var(--gjs-main-dark-color);
  border-radius: 1px;
  margin-top: 3px;
  height: 3px;
}

.gjs-field-range input::-ms-track {
  background-color: var(--gjs-main-dark-color);
  border-radius: 1px;
  margin-top: 3px;
  height: 3px;
}

.gjs-btn-prim {
  color: inherit;
  background-color: var(--gjs-main-light-color);
  border-radius: 2px;
  padding: 3px 6px;
  padding: var(--gjs-input-padding);
  cursor: pointer;
  border: none;
}

.gjs-btn-prim:active {
  background-color: var(--gjs-main-light-color);
}

.gjs-btn--full {
  width: 100%;
}

.gjs-chk-icon {
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg);
  box-sizing: border-box;
  display: block;
  height: 14px;
  margin: 0 5px;
  width: 6px;
}

.gjs-add-trasp {
  background: none;
  border: none;
  color: var(--gjs-font-color);
  cursor: pointer;
  font-size: 1em;
  border-radius: 2px;
  opacity: 0.75;
  filter: alpha(opacity=75);
}

.gjs-add-trasp:hover {
  opacity: 1;
  filter: alpha(opacity=100);
}

.gjs-add-trasp:active {
  background-color: rgba(0, 0, 0, 0.2);
}

.gjs-devices-c {
  display: flex;
  align-items: center;
  padding: 2px 3px 3px 3px;
}

.gjs-devices-c .gjs-device-label {
  flex-grow: 2;
  text-align: left;
  margin-right: 10px;
}

.gjs-devices-c .gjs-select {
  flex-grow: 20;
}

.gjs-devices-c .gjs-add-trasp {
  flex-grow: 1;
  margin-left: 5px;
}

.gjs-sm-clear {
  cursor: pointer;
  width: 14px;
  min-width: 14px;
  height: 14px;
  margin-left: 3px;
}

.gjs-sm-header {
  font-weight: lighter;
  padding: 10px;
}

.gjs-sm-sector {
  clear: both;
  font-weight: lighter;
  text-align: left;
}

.gjs-sm-sector-title {
  display: flex;
  align-items: center;
}

.gjs-sm-sector-caret {
  width: 17px;
  height: 17px;
  min-width: 17px;
  transform: rotate(-90deg);
}

.gjs-sm-sector-label {
  margin-left: 5px;
}

.gjs-sm-sector.gjs-sm-open .gjs-sm-sector-caret {
  transform: none;
}

.gjs-sm-properties {
  font-size: var(--gjs-font-size);
  padding: 10px 5px;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  box-sizing: border-box;
  width: 100%;
}

.gjs-sm-label {
  margin: 5px 5px 3px 0;
  display: flex;
  align-items: center;
}

.gjs-sm-close-btn,
.gjs-sm-preview-file-close {
  display: block;
  font-size: 23px;
  position: absolute;
  cursor: pointer;
  right: 5px;
  top: 0;
  opacity: 0.7;
  filter: alpha(opacity=70);
}

.gjs-sm-close-btn:hover,
.gjs-sm-preview-file-close:hover {
  opacity: 0.9;
  filter: alpha(opacity=90);
}

.gjs-sm-field,
.gjs-clm-field,
.gjs-clm-select {
  width: 100%;
  position: relative;
}

.gjs-sm-field input,
.gjs-clm-field input,
.gjs-clm-select input,
.gjs-sm-field select,
.gjs-clm-field select,
.gjs-clm-select select {
  background-color: rgba(0, 0, 0, 0);
  color: hsla(0, 0%, 100%, 0.7);
  border: none;
  width: 100%;
}

.gjs-sm-field input,
.gjs-clm-field input,
.gjs-clm-select input {
  box-sizing: border-box;
}

.gjs-sm-field select,
.gjs-clm-field select,
.gjs-clm-select select {
  position: relative;
  z-index: 1;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.gjs-sm-field select::-ms-expand,
.gjs-clm-field select::-ms-expand,
.gjs-clm-select select::-ms-expand {
  display: none;
}

.gjs-sm-field select:-moz-focusring,
.gjs-clm-field select:-moz-focusring,
.gjs-clm-select select:-moz-focusring {
  color: rgba(0, 0, 0, 0);
  text-shadow: 0 0 0 var(--gjs-secondary-light-color);
}

.gjs-sm-field input:focus,
.gjs-clm-field input:focus,
.gjs-clm-select input:focus,
.gjs-sm-field select:focus,
.gjs-clm-field select:focus,
.gjs-clm-select select:focus {
  outline: none;
}

.gjs-sm-field .gjs-sm-unit,
.gjs-clm-field .gjs-sm-unit,
.gjs-clm-select .gjs-sm-unit {
  position: absolute;
  right: 10px;
  top: 3px;
  font-size: 10px;
  color: var(--gjs-secondary-light-color);
  cursor: pointer;
}

.gjs-sm-field .gjs-clm-sel-arrow,
.gjs-clm-field .gjs-clm-sel-arrow,
.gjs-clm-select .gjs-clm-sel-arrow,
.gjs-sm-field .gjs-sm-int-arrows,
.gjs-clm-field .gjs-sm-int-arrows,
.gjs-clm-select .gjs-sm-int-arrows,
.gjs-sm-field .gjs-sm-sel-arrow,
.gjs-clm-field .gjs-sm-sel-arrow,
.gjs-clm-select .gjs-sm-sel-arrow {
  height: 100%;
  width: 9px;
  position: absolute;
  right: 0;
  top: 0;
  cursor: ns-resize;
}

.gjs-sm-field .gjs-sm-sel-arrow,
.gjs-clm-field .gjs-sm-sel-arrow,
.gjs-clm-select .gjs-sm-sel-arrow {
  cursor: pointer;
}

.gjs-sm-field .gjs-clm-d-s-arrow,
.gjs-clm-field .gjs-clm-d-s-arrow,
.gjs-clm-select .gjs-clm-d-s-arrow,
.gjs-sm-field .gjs-sm-d-arrow,
.gjs-clm-field .gjs-sm-d-arrow,
.gjs-clm-select .gjs-sm-d-arrow,
.gjs-sm-field .gjs-sm-d-s-arrow,
.gjs-clm-field .gjs-sm-d-s-arrow,
.gjs-clm-select .gjs-sm-d-s-arrow,
.gjs-sm-field .gjs-sm-u-arrow,
.gjs-clm-field .gjs-sm-u-arrow,
.gjs-clm-select .gjs-sm-u-arrow {
  position: absolute;
  height: 0;
  width: 0;
  border-left: 3px solid rgba(0, 0, 0, 0);
  border-right: 4px solid rgba(0, 0, 0, 0);
  cursor: pointer;
}

.gjs-sm-field .gjs-sm-u-arrow,
.gjs-clm-field .gjs-sm-u-arrow,
.gjs-clm-select .gjs-sm-u-arrow {
  border-bottom: 4px solid var(--gjs-secondary-light-color);
  top: 4px;
}

.gjs-sm-field .gjs-clm-d-s-arrow,
.gjs-clm-field .gjs-clm-d-s-arrow,
.gjs-clm-select .gjs-clm-d-s-arrow,
.gjs-sm-field .gjs-sm-d-arrow,
.gjs-clm-field .gjs-sm-d-arrow,
.gjs-clm-select .gjs-sm-d-arrow,
.gjs-sm-field .gjs-sm-d-s-arrow,
.gjs-clm-field .gjs-sm-d-s-arrow,
.gjs-clm-select .gjs-sm-d-s-arrow {
  border-top: 4px solid var(--gjs-secondary-light-color);
  bottom: 4px;
}

.gjs-sm-field .gjs-clm-d-s-arrow,
.gjs-clm-field .gjs-clm-d-s-arrow,
.gjs-clm-select .gjs-clm-d-s-arrow,
.gjs-sm-field .gjs-sm-d-s-arrow,
.gjs-clm-field .gjs-sm-d-s-arrow,
.gjs-clm-select .gjs-sm-d-s-arrow {
  bottom: 7px;
}

.gjs-sm-field.gjs-sm-color,
.gjs-sm-color.gjs-clm-field,
.gjs-sm-field.gjs-sm-input,
.gjs-sm-input.gjs-clm-field,
.gjs-sm-field.gjs-sm-integer,
.gjs-sm-integer.gjs-clm-field,
.gjs-sm-field.gjs-sm-list,
.gjs-sm-list.gjs-clm-field,
.gjs-sm-field.gjs-sm-select,
.gjs-sm-select.gjs-clm-field,
.gjs-clm-select {
  background-color: var(--gjs-main-dark-color);
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 1px 1px 0 var(--gjs-main-light-color);
  color: var(--gjs-secondary-light-color);
  border-radius: 2px;
  box-sizing: border-box;
  padding: 0 5px;
}

.gjs-sm-field.gjs-sm-composite,
.gjs-sm-composite.gjs-clm-field,
.gjs-sm-composite.gjs-clm-select {
  border-radius: 2px;
}

.gjs-sm-field.gjs-sm-select,
.gjs-sm-select.gjs-clm-field,
.gjs-clm-select {
  padding: 0;
}

.gjs-sm-field.gjs-sm-select select,
.gjs-sm-select.gjs-clm-field select,
.gjs-clm-select select {
  height: 20px;
}

.gjs-sm-field.gjs-sm-select option,
.gjs-sm-select.gjs-clm-field option,
.gjs-clm-select option {
  padding: 3px 0;
}

.gjs-sm-field.gjs-sm-composite,
.gjs-sm-composite.gjs-clm-field,
.gjs-sm-composite.gjs-clm-select {
  background-color: var(--gjs-secondary-dark-color);
  border: 1px solid rgba(0, 0, 0, 0.25);
}

.gjs-sm-field.gjs-sm-list,
.gjs-sm-list.gjs-clm-field,
.gjs-sm-list.gjs-clm-select {
  width: auto;
  padding: 0;
  overflow: hidden;
  float: left;
}

.gjs-sm-field.gjs-sm-list input,
.gjs-sm-list.gjs-clm-field input,
.gjs-sm-list.gjs-clm-select input {
  display: none;
}

.gjs-sm-field.gjs-sm-list label,
.gjs-sm-list.gjs-clm-field label,
.gjs-sm-list.gjs-clm-select label {
  cursor: pointer;
  padding: 5px;
  display: block;
}

.gjs-sm-field.gjs-sm-list .gjs-sm-radio:checked+label,
.gjs-sm-list.gjs-clm-field .gjs-sm-radio:checked+label,
.gjs-sm-list.gjs-clm-select .gjs-sm-radio:checked+label {
  background-color: hsla(0, 0%, 100%, 0.2);
}

.gjs-sm-field.gjs-sm-list .gjs-sm-icon,
.gjs-sm-list.gjs-clm-field .gjs-sm-icon,
.gjs-sm-list.gjs-clm-select .gjs-sm-icon {
  background-repeat: no-repeat;
  background-position: center;
  text-shadow: none;
  line-height: normal;
}

.gjs-sm-field.gjs-sm-integer select,
.gjs-sm-integer.gjs-clm-field select,
.gjs-sm-integer.gjs-clm-select select {
  width: auto;
  padding: 0;
}

.gjs-sm-list .gjs-sm-el {
  float: left;
  border-left: 1px solid var(--gjs-main-dark-color);
}

.gjs-sm-list .gjs-sm-el:first-child {
  border: none;
}

.gjs-sm-list .gjs-sm-el:hover {
  background: var(--gjs-main-dark-color);
}

.gjs-sm-slider .gjs-field-integer {
  flex: 1 1 65px;
}

.gjs-sm-property {
  box-sizing: border-box;
  float: left;
  width: 50%;
  margin-bottom: 5px;
  padding: 0 5px;
}

.gjs-sm-property--full,
.gjs-sm-property.gjs-sm-composite,
.gjs-sm-property.gjs-sm-file,
.gjs-sm-property.gjs-sm-list,
.gjs-sm-property.gjs-sm-stack,
.gjs-sm-property.gjs-sm-slider,
.gjs-sm-property.gjs-sm-color {
  width: 100%;
}

.gjs-sm-property .gjs-sm-btn {
  background-color: color-mix(in srgb, var(--gjs-main-dark-color), white 13%);
  border-radius: 2px;
  box-shadow:
    1px 1px 0 color-mix(in srgb, var(--gjs-main-dark-color), white 2%),
    1px 1px 0 color-mix(in srgb, var(--gjs-main-dark-color), white 17%) inset;
  padding: 5px;
  position: relative;
  text-align: center;
  height: auto;
  width: 100%;
  cursor: pointer;
  color: var(--gjs-font-color);
  box-sizing: border-box;
  text-shadow: -1px -1px 0 var(--gjs-main-dark-color);
  border: none;
  opacity: 0.85;
  filter: alpha(opacity=85);
}

.gjs-sm-property .gjs-sm-btn-c {
  box-sizing: border-box;
  float: left;
  width: 100%;
}

.gjs-sm-property__text-shadow .gjs-sm-layer-preview-cnt::after {
  color: #000;
  content: "T";
  font-weight: 900;
  line-height: 17px;
  padding: 0 4px;
}

.gjs-sm-preview-file {
  background-color: var(--gjs-light-border);
  border-radius: 2px;
  margin-top: 5px;
  position: relative;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--gjs-light-border), black 1%);
  padding: 3px 20px;
}

.gjs-sm-preview-file-cnt {
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-position: center center;
  height: 50px;
}

.gjs-sm-preview-file-close {
  top: -5px;
  width: 14px;
  height: 14px;
}

.gjs-sm-layers {
  margin-top: 5px;
  padding: 1px 3px;
  min-height: 30px;
}

.gjs-sm-layer {
  background-color: hsla(0, 0%, 100%, 0.055);
  border-radius: 2px;
  margin: 2px 0;
  padding: 7px;
  position: relative;
}

.gjs-sm-layer.gjs-sm-active {
  background-color: hsla(0, 0%, 100%, 0.12);
}

.gjs-sm-layer .gjs-sm-label-wrp {
  display: flex;
  align-items: center;
}

.gjs-sm-layer #gjs-sm-move {
  height: 14px;
  width: 14px;
  min-width: 14px;
  cursor: grab;
}

.gjs-sm-layer #gjs-sm-label {
  flex-grow: 1;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  margin: 0 5px;
}

.gjs-sm-layer-preview {
  height: 15px;
  width: 15px;
  min-width: 15px;
  margin-right: 5px;
  border-radius: 2px;
}

.gjs-sm-layer-preview-cnt {
  border-radius: 2px;
  background-color: #fff;
  height: 100%;
  width: 100%;
  background-size: cover !important;
}

.gjs-sm-layer #gjs-sm-close-layer {
  display: block;
  cursor: pointer;
  height: 14px;
  width: 14px;
  min-width: 14px;
  opacity: 0.5;
  filter: alpha(opacity=50);
}

.gjs-sm-layer #gjs-sm-close-layer:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
}

.gjs-sm-stack .gjs-sm-properties {
  padding: 5px 0 0;
}

.gjs-sm-stack #gjs-sm-add {
  background: none;
  border: none;
  cursor: pointer;
  outline: none;
  position: absolute;
  right: 0;
  top: -17px;
  opacity: 0.75;
  padding: 0;
  width: 18px;
  height: 18px;
}

.gjs-sm-stack #gjs-sm-add:hover {
  opacity: 1;
  filter: alpha(opacity=100);
}

.gjs-sm-colorp-c {
  height: 100%;
  width: 20px;
  position: absolute;
  right: 0;
  top: 0;
  box-sizing: border-box;
  border-radius: 2px;
  padding: 2px;
}

.gjs-sm-colorp-c .gjs-field-colorp-c,
.gjs-sm-colorp-c .gjs-checker-bg {
  height: 100%;
  width: 100%;
  border-radius: 1px;
}

.gjs-sm-color-picker {
  background-color: var(--gjs-font-color);
  cursor: pointer;
  height: 16px;
  width: 100%;
  margin-top: -16px;
  box-shadow: 0 0 1px var(--gjs-main-dark-color);
  border-radius: 1px;
}

.gjs-sm-btn-upload #gjs-sm-upload {
  left: 0;
  top: 0;
  position: absolute;
  width: 100%;
  opacity: 0;
  cursor: pointer;
}

.gjs-sm-btn-upload #gjs-sm-label {
  padding: 2px 0;
}

.gjs-sm-layer>#gjs-sm-move {
  opacity: 0.7;
  filter: alpha(opacity=70);
  cursor: move;
  font-size: 12px;
  float: left;
  margin: 0 5px 0 0;
}

.gjs-sm-layer>#gjs-sm-move:hover {
  opacity: 0.9;
  filter: alpha(opacity=90);
}

.gjs-blocks-c {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.gjs-block-categories {
  display: flex;
  flex-direction: column;
}

.gjs-block-category {
  width: 100%;
}

.gjs-block-category .gjs-caret-icon {
  margin-right: 5px;
}

.gjs-block {
  -moz-user-select: none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
  width: 45%;
  min-width: 45px;
  padding: 1em;
  box-sizing: border-box;
  min-height: 90px;
  cursor: all-scroll;
  font-size: 11px;
  font-weight: lighter;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 3px;
  margin: 10px 2.5% 5px;
  box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.15);
  transition: all 0.2s ease 0s;
  transition-property: box-shadow, color;
}

.gjs-block:hover {
  box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.15);
}

.gjs-block svg {
  fill: currentColor;
}

.gjs-block__media {
  margin-bottom: 10px;
  pointer-events: none;
}

.gjs-block-svg {
  width: 54px;
  fill: currentColor;
}

.gjs-block-svg-path {
  fill: currentColor;
}

.gjs-block.fa {
  font-size: 2em;
  line-height: 2em;
  padding: 11px;
}

.gjs-block-label {
  line-height: normal;
  font-size: 0.65rem;
  font-weight: normal;
  font-family: Helvetica, sans-serif;
  overflow: hidden;
  text-overflow: ellipsis;
  pointer-events: none;
}

.gjs-block.gjs-bdrag {
  width: auto;
  padding: 0;
}

.gjs-selected-parent {
  border: 1px solid var(--gjs-color-yellow);
}

.gjs-opac50 {
  opacity: 0.5;
  filter: alpha(opacity=50);
}

.gjs-layer {
  font-weight: lighter;
  text-align: left;
  position: relative;
  font-size: var(--gjs-font-size);
  display: grid;
}

.gjs-layer-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 5px 10px;
  border-bottom: 1px solid var(--gjs-main-dark-color);
  background-color: var(--gjs-secondary-dark-color);
  gap: var(--gjs-flex-item-gap);
  cursor: pointer;
}

.gjs-layer-item-left,
.gjs-layer-item-right {
  display: flex;
  align-items: center;
  gap: var(--gjs-flex-item-gap);
}

.gjs-layer-item-left {
  width: 100%;
}

.gjs-layer-hidden {
  opacity: 0.55;
  filter: alpha(opacity=55);
}

.gjs-layer-vis {
  box-sizing: content-box;
  cursor: pointer;
  z-index: 1;
}

.gjs-layer-vis-on,
.gjs-layer-vis-off {
  display: flex;
  width: 13px;
  height: 13px;
}

.gjs-layer-vis-off {
  display: none;
}

.gjs-layer-vis.gjs-layer-off .gjs-layer-vis-on {
  display: none;
}

.gjs-layer-vis.gjs-layer-off .gjs-layer-vis-off {
  display: flex;
}

.gjs-layer-caret {
  width: 15px;
  height: 15px;
  cursor: pointer;
  box-sizing: content-box;
  transform: rotate(90deg);
  display: flex;
  opacity: 0.7;
  filter: alpha(opacity=70);
}

.gjs-layer-caret:hover {
  opacity: 1;
  filter: alpha(opacity=100);
}

.gjs-layer.open>.gjs-layer-item .gjs-layer-caret {
  transform: rotate(180deg);
}

.gjs-layer-title {
  padding: 0;
  display: flex;
  align-items: center;
  background-color: rgba(0, 0, 0, 0) !important;
  border-bottom: none;
}

.gjs-layer-title-inn {
  align-items: center;
  position: relative;
  display: flex;
  gap: var(--gjs-flex-item-gap);
}

.gjs-layer-title-c {
  width: 100%;
}

.gjs-layer__icon {
  display: block;
  width: 100%;
  max-width: 15px;
  max-height: 15px;
  padding-left: 5px;
}

.gjs-layer__icon svg {
  fill: currentColor;
}

.gjs-layer-name {
  display: inline-block;
  box-sizing: content-box;
  overflow: hidden;
  white-space: nowrap;
  max-width: 170px;
  height: auto;
}

.gjs-layer-name--no-edit {
  text-overflow: ellipsis;
}

.gjs-layer>.gjs-layer-children {
  display: none;
}

.gjs-layer.open>.gjs-layer-children {
  display: block;
}

.gjs-layer-no-chld>.gjs-layer-title-inn>.gjs-layer-caret {
  visibility: hidden;
}

.gjs-layer-move {
  display: flex;
  width: 13px;
  height: 13px;
  box-sizing: content-box;
  cursor: move;
}

.gjs-layer.gjs-hovered .gjs-layer-item {
  background-color: var(--gjs-soft-light-color);
}

.gjs-layer.gjs-selected .gjs-layer-item {
  background-color: var(--gjs-main-light-color);
}

.gjs-layers {
  position: relative;
  height: 100%;
}

.gjs-layers #gjs-placeholder {
  width: 100%;
  position: absolute;
}

.gjs-layers #gjs-placeholder #gjs-plh-int {
  height: 100%;
  padding: 1px;
}

.gjs-layers #gjs-placeholder #gjs-plh-int.gjs-insert {
  background-color: var(--gjs-color-green);
}

#gjs-clm-add-tag,
.gjs-clm-tags-btn {
  background-color: hsla(0, 0%, 100%, 0.15);
  border-radius: 2px;
  padding: 3px;
  margin-right: 3px;
  border: 1px solid rgba(0, 0, 0, 0.15);
  width: 24px;
  height: 24px;
  box-sizing: border-box;
  cursor: pointer;
}

.gjs-clm-tags-btn svg {
  fill: currentColor;
  display: block;
}

.gjs-clm-header {
  display: flex;
  align-items: center;
  margin: 7px 0;
}

.gjs-clm-header-status {
  flex-shrink: 1;
  margin-left: auto;
}

.gjs-clm-tag {
  display: flex;
  overflow: hidden;
  align-items: center;
  border-radius: 3px;
  margin: 0 3px 3px 0;
  padding: 5px;
  cursor: default;
}

.gjs-clm-tag-status,
.gjs-clm-tag-close {
  width: 12px;
  height: 12px;
  flex-shrink: 1;
}

.gjs-clm-tag-status svg,
.gjs-clm-tag-close svg {
  vertical-align: middle;
  fill: currentColor;
}

.gjs-clm-sels-info {
  margin: 7px 0;
  text-align: left;
}

.gjs-clm-sel-id {
  font-size: 0.9em;
  opacity: 0.5;
  filter: alpha(opacity=50);
}

.gjs-clm-label-sel {
  float: left;
  padding-right: 5px;
}

.gjs-clm-tags {
  font-size: var(--gjs-font-size);
  padding: 10px 5px;
}

.gjs-clm-tags #gjs-clm-sel {
  padding: 7px 0;
  float: left;
}

.gjs-clm-tags #gjs-clm-sel {
  font-style: italic;
  margin-left: 5px;
}

.gjs-clm-tags #gjs-clm-tags-field {
  clear: both;
  padding: 5px;
  margin-bottom: 5px;
  display: flex;
  flex-wrap: wrap;
}

.gjs-clm-tags #gjs-clm-tags-c {
  display: flex;
  flex-wrap: wrap;
  vertical-align: top;
  overflow: hidden;
}

.gjs-clm-tags #gjs-clm-new {
  color: var(--gjs-font-color);
  padding: var(--gjs-padding-elem-classmanager);
  display: none;
}

.gjs-clm-tags #gjs-clm-close {
  opacity: 0.85;
  filter: alpha(opacity=85);
  font-size: 20px;
  line-height: 0;
  cursor: pointer;
  color: hsla(0, 0%, 100%, 0.9);
}

.gjs-clm-tags #gjs-clm-close:hover {
  opacity: 1;
  filter: alpha(opacity=100);
}

.gjs-clm-tags #gjs-clm-checkbox {
  color: hsla(0, 0%, 100%, 0.9);
  vertical-align: middle;
  cursor: pointer;
  font-size: 9px;
}

.gjs-clm-tags #gjs-clm-tag-label {
  flex-grow: 1;
  text-overflow: ellipsis;
  overflow: hidden;
  padding: 0 3px;
  cursor: text;
}

.gjs-mdl-container {
  font-family: var(--gjs-main-font);
  overflow-y: auto;
  position: fixed;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 100;
}

.gjs-mdl-dialog {
  text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.05);
  animation: gjs-slide-down 0.215s;
  margin: auto;
  max-width: 850px;
  width: 90%;
  border-radius: 3px;
  font-weight: lighter;
  position: relative;
  z-index: 2;
}

.gjs-mdl-title {
  font-size: 1rem;
}

.gjs-mdl-btn-close {
  position: absolute;
  right: 15px;
  top: 5px;
}

.gjs-mdl-active .gjs-mdl-dialog {
  animation: gjs-mdl-slide-down 0.216s;
}

.gjs-mdl-header,
.gjs-mdl-content {
  padding: 10px 15px;
  clear: both;
}

.gjs-mdl-header {
  position: relative;
  border-bottom: 1px solid var(--gjs-main-dark-color);
  padding: 15px 15px 7px;
}

.gjs-export-dl::after {
  content: "";
  clear: both;
  display: block;
  margin-bottom: 10px;
}

.gjs-dropzone {
  display: none;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: 100%;
  transition: opacity 0.25s;
  pointer-events: none;
}

.gjs-dropzone-active .gjs-dropzone {
  display: block;
  opacity: 1;
}

.gjs-am-assets {
  height: 290px;
  overflow: auto;
  clear: both;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  align-content: flex-start;
}

.gjs-am-assets-header {
  padding: 5px;
}

.gjs-am-add-asset .gjs-am-add-field {
  width: 70%;
  float: left;
}

.gjs-am-add-asset button {
  width: 25%;
  float: right;
}

.gjs-am-preview-cont {
  position: relative;
  height: 70px;
  width: 30%;
  background-color: var(--gjs-main-color);
  border-radius: 2px;
  float: left;
  overflow: hidden;
}

.gjs-am-preview {
  position: absolute;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  height: 100%;
  width: 100%;
  z-index: 1;
}

.gjs-am-preview-bg {
  opacity: 0.5;
  filter: alpha(opacity=50);
  position: absolute;
  height: 100%;
  width: 100%;
  z-index: 0;
}

.gjs-am-dimensions {
  opacity: 0.5;
  filter: alpha(opacity=50);
  font-size: 10px;
}

.gjs-am-meta {
  width: 70%;
  float: left;
  font-size: 12px;
  padding: 5px 0 0 5px;
  box-sizing: border-box;
}

.gjs-am-meta>div {
  margin-bottom: 5px;
}

.gjs-am-close {
  cursor: pointer;
  position: absolute;
  right: 5px;
  top: 0;
  display: none;
}

.gjs-am-asset {
  border-bottom: 1px solid color-mix(in srgb, var(--gjs-main-dark-color), black 3%);
  padding: 5px;
  cursor: pointer;
  position: relative;
  box-sizing: border-box;
  width: 100%;
}

.gjs-am-asset:hover .gjs-am-close {
  display: block;
}

.gjs-am-highlight {
  background-color: var(--gjs-main-light-color);
}

.gjs-am-assets-cont {
  background-color: var(--gjs-secondary-dark-color);
  border-radius: 3px;
  box-sizing: border-box;
  padding: 10px;
  width: 45%;
  float: right;
  height: 325px;
  overflow: hidden;
}

.gjs-am-file-uploader {
  width: 55%;
  float: left;
}

.gjs-am-file-uploader>form {
  background-color: var(--gjs-secondary-dark-color);
  border: 2px dashed;
  border-radius: 3px;
  position: relative;
  text-align: center;
  margin-bottom: 15px;
}

.gjs-am-file-uploader>form.gjs-am-hover {
  border: 2px solid var(--gjs-color-green);
  color: color-mix(in srgb, var(--gjs-color-green), white 5%);
}

.gjs-am-file-uploader>form.gjs-am-disabled {
  border-color: red;
}

.gjs-am-file-uploader>form #gjs-am-uploadFile {
  opacity: 0;
  filter: alpha(opacity=0);
  padding: var(--gjs-upload-padding);
  width: 100%;
  box-sizing: border-box;
}

.gjs-am-file-uploader #gjs-am-title {
  position: absolute;
  padding: var(--gjs-upload-padding);
  width: 100%;
}

.gjs-cm-editor-c {
  float: left;
  box-sizing: border-box;
  width: 50%;
}

.gjs-cm-editor-c .CodeMirror {
  height: 450px;
}

.gjs-cm-editor {
  font-size: 12px;
}

.gjs-cm-editor#gjs-cm-htmlmixed {
  padding-right: 10px;
  border-right: 1px solid var(--gjs-main-dark-color);
}

.gjs-cm-editor#gjs-cm-htmlmixed #gjs-cm-title {
  color: #a97d44;
}

.gjs-cm-editor#gjs-cm-css {
  padding-left: 10px;
}

.gjs-cm-editor#gjs-cm-css #gjs-cm-title {
  color: #ddca7e;
}

.gjs-cm-editor #gjs-cm-title {
  background-color: var(--gjs-main-dark-color);
  font-size: 12px;
  padding: 5px 10px 3px;
  text-align: right;
}

.gjs-rte-toolbar {
  position: absolute;
  z-index: 10;
}

.gjs-rte-toolbar-ui {
  border: 1px solid var(--gjs-main-dark-color);
  border-radius: 3px;
}

.gjs-rte-actionbar {
  display: flex;
}

.gjs-rte-action {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px;
  width: 25px;
  border-right: 1px solid var(--gjs-main-dark-color);
  text-align: center;
  cursor: pointer;
  outline: none;
}

.gjs-rte-action:last-child {
  border-right: none;
}

.gjs-rte-action:hover {
  background-color: var(--gjs-main-light-color);
}

.gjs-rte-active {
  background-color: var(--gjs-main-light-color);
}

.gjs-rte-disabled {
  color: var(--gjs-main-light-color);
  cursor: not-allowed;
}

.gjs-rte-disabled:hover {
  background-color: unset;
}

.sp-container {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  z-index: 9999994;
  overflow: hidden;
}

.sp-container.sp-flat {
  position: relative;
}

.sp-container,
.sp-container * {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}

.sp-top {
  position: relative;
  width: 100%;
  display: inline-block;
}

.sp-top-inner {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

.sp-color {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 20%;
}

.sp-hue {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 84%;
  height: 100%;
}

.sp-clear-enabled .sp-hue {
  top: 33px;
  height: 77.5%;
}

.sp-fill {
  padding-top: 80%;
}

.sp-sat,
.sp-val {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.sp-alpha-enabled .sp-top {
  margin-bottom: 18px;
}

.sp-alpha-enabled .sp-alpha {
  display: block;
}

.sp-alpha-handle {
  position: absolute;
  top: -4px;
  bottom: -4px;
  width: 6px;
  left: 50%;
  cursor: pointer;
  border: 1px solid #000;
  background: #fff;
  opacity: 0.8;
}

.sp-alpha {
  display: none;
  position: absolute;
  bottom: -14px;
  right: 0;
  left: 0;
  height: 8px;
}

.sp-alpha-inner {
  border: solid 1px #333;
}

.sp-clear {
  display: none;
}

.sp-clear.sp-clear-display {
  background-position: center;
}

.sp-clear-enabled .sp-clear {
  display: block;
  position: absolute;
  top: 0px;
  right: 0;
  bottom: 0;
  left: 84%;
  height: 28px;
}

.sp-container,
.sp-replacer,
.sp-preview,
.sp-dragger,
.sp-slider,
.sp-alpha,
.sp-clear,
.sp-alpha-handle,
.sp-container.sp-dragging .sp-input,
.sp-container button {
  -webkit-user-select: none;
  -moz-user-select: -moz-none;
  -o-user-select: none;
  user-select: none;
}

.sp-container.sp-input-disabled .sp-input-container {
  display: none;
}

.sp-container.sp-buttons-disabled .sp-button-container {
  display: none;
}

.sp-container.sp-palette-buttons-disabled .sp-palette-button-container {
  display: none;
}

.sp-palette-only .sp-picker-container {
  display: none;
}

.sp-palette-disabled .sp-palette-container {
  display: none;
}

.sp-initial-disabled .sp-initial {
  display: none;
}

.sp-sat {
  background-image: -webkit-gradient(linear,
      0 0,
      100% 0,
      from(#fff),
      to(rgba(204, 154, 129, 0)));
  background-image: -webkit-linear-gradient(left, #fff, rgba(204, 154, 129, 0));
  background-image: -moz-linear-gradient(left, #fff, rgba(204, 154, 129, 0));
  background-image: -o-linear-gradient(left, #fff, rgba(204, 154, 129, 0));
  background-image: -ms-linear-gradient(left, #fff, rgba(204, 154, 129, 0));
  background-image: linear-gradient(to right, #fff, rgba(204, 154, 129, 0));
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType = 1, startColorstr=#FFFFFFFF, endColorstr=#00CC9A81)";
  filter: progid:DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr="#FFFFFFFF", endColorstr="#00CC9A81");
}

.sp-val {
  background-image: -webkit-gradient(linear,
      0 100%,
      0 0,
      from(#000000),
      to(rgba(204, 154, 129, 0)));
  background-image: -webkit-linear-gradient(bottom,
      #000000,
      rgba(204, 154, 129, 0));
  background-image: -moz-linear-gradient(bottom, #000, rgba(204, 154, 129, 0));
  background-image: -o-linear-gradient(bottom, #000, rgba(204, 154, 129, 0));
  background-image: -ms-linear-gradient(bottom, #000, rgba(204, 154, 129, 0));
  background-image: linear-gradient(to top, #000, rgba(204, 154, 129, 0));
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#00CC9A81, endColorstr=#FF000000)";
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00CC9A81", endColorstr="#FF000000");
}

.sp-hue {
  background: -moz-linear-gradient(top,
      #ff0000 0%,
      #ffff00 17%,
      #00ff00 33%,
      #00ffff 50%,
      #0000ff 67%,
      #ff00ff 83%,
      #ff0000 100%);
  background: -ms-linear-gradient(top,
      #ff0000 0%,
      #ffff00 17%,
      #00ff00 33%,
      #00ffff 50%,
      #0000ff 67%,
      #ff00ff 83%,
      #ff0000 100%);
  background: -o-linear-gradient(top,
      #ff0000 0%,
      #ffff00 17%,
      #00ff00 33%,
      #00ffff 50%,
      #0000ff 67%,
      #ff00ff 83%,
      #ff0000 100%);
  background: -webkit-gradient(linear,
      left top,
      left bottom,
      from(#ff0000),
      color-stop(0.17, #ffff00),
      color-stop(0.33, #00ff00),
      color-stop(0.5, #00ffff),
      color-stop(0.67, #0000ff),
      color-stop(0.83, #ff00ff),
      to(#ff0000));
  background: -webkit-linear-gradient(top,
      #ff0000 0%,
      #ffff00 17%,
      #00ff00 33%,
      #00ffff 50%,
      #0000ff 67%,
      #ff00ff 83%,
      #ff0000 100%);
  background: linear-gradient(to bottom,
      #ff0000 0%,
      #ffff00 17%,
      #00ff00 33%,
      #00ffff 50%,
      #0000ff 67%,
      #ff00ff 83%,
      #ff0000 100%);
}

.sp-1 {
  height: 17%;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ff0000", endColorstr="#ffff00");
}

.sp-2 {
  height: 16%;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffff00", endColorstr="#00ff00");
}

.sp-3 {
  height: 17%;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00ff00", endColorstr="#00ffff");
}

.sp-4 {
  height: 17%;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00ffff", endColorstr="#0000ff");
}

.sp-5 {
  height: 16%;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#0000ff", endColorstr="#ff00ff");
}

.sp-6 {
  height: 17%;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ff00ff", endColorstr="#ff0000");
}

.sp-hidden {
  display: none !important;
}

.sp-cf:before,
.sp-cf:after {
  content: "";
  display: table;
}

.sp-cf:after {
  clear: both;
}

@media (max-device-width: 480px) {
  .sp-color {
    right: 40%;
  }

  .sp-hue {
    left: 63%;
  }

  .sp-fill {
    padding-top: 60%;
  }
}

.sp-dragger {
  border-radius: 5px;
  height: 5px;
  width: 5px;
  border: 1px solid #fff;
  background: #000;
  cursor: pointer;
  position: absolute;
  top: 0;
  left: 0;
}

.sp-slider {
  position: absolute;
  top: 0;
  cursor: pointer;
  height: 3px;
  left: -1px;
  right: -1px;
  border: 1px solid #000;
  background: #fff;
  opacity: 0.8;
}

.sp-container {
  border-radius: 0;
  background-color: #ececec;
  border: solid 1px #f0c49b;
  padding: 0;
}

.sp-container,
.sp-container button,
.sp-container input,
.sp-color,
.sp-hue,
.sp-clear {
  font:
    normal 12px "Lucida Grande",
    "Lucida Sans Unicode",
    "Lucida Sans",
    Geneva,
    Verdana,
    sans-serif;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

.sp-top {
  margin-bottom: 3px;
}

.sp-color,
.sp-hue,
.sp-clear {
  border: solid 1px #666;
}

.sp-input-container {
  float: right;
  width: 100px;
  margin-bottom: 4px;
}

.sp-initial-disabled .sp-input-container {
  width: 100%;
}

.sp-input {
  font-size: 12px !important;
  border: 1px inset;
  padding: 4px 5px;
  margin: 0;
  width: 100%;
  background: rgba(0, 0, 0, 0);
  border-radius: 3px;
  color: #222;
}

.sp-input:focus {
  border: 1px solid orange;
}

.sp-input.sp-validation-error {
  border: 1px solid red;
  background: #fdd;
}

.sp-picker-container,
.sp-palette-container {
  float: left;
  position: relative;
  padding: 10px;
  padding-bottom: 300px;
  margin-bottom: -290px;
}

.sp-picker-container {
  width: 172px;
  border-left: solid 1px #fff;
}

.sp-palette-container {
  border-right: solid 1px #ccc;
}

.sp-palette-only .sp-palette-container {
  border: 0;
}

.sp-palette .sp-thumb-el {
  display: block;
  position: relative;
  float: left;
  width: 24px;
  height: 15px;
  margin: 3px;
  cursor: pointer;
  border: solid 2px rgba(0, 0, 0, 0);
}

.sp-palette .sp-thumb-el:hover,
.sp-palette .sp-thumb-el.sp-thumb-active {
  border-color: orange;
}

.sp-thumb-el {
  position: relative;
}

.sp-initial {
  float: left;
  border: solid 1px #333;
}

.sp-initial span {
  width: 30px;
  height: 25px;
  border: none;
  display: block;
  float: left;
  margin: 0;
}

.sp-initial .sp-clear-display {
  background-position: center;
}

.sp-palette-button-container,
.sp-button-container {
  float: right;
}

.sp-replacer {
  margin: 0;
  overflow: hidden;
  cursor: pointer;
  padding: 4px;
  display: inline-block;
  border: solid 1px #91765d;
  background: #eee;
  color: #333;
  vertical-align: middle;
}

.sp-replacer:hover,
.sp-replacer.sp-active {
  border-color: #f0c49b;
  color: #111;
}

.sp-replacer.sp-disabled {
  cursor: default;
  border-color: silver;
  color: silver;
}

.sp-dd {
  padding: 2px 0;
  height: 16px;
  line-height: 16px;
  float: left;
  font-size: 10px;
}

.sp-preview {
  position: relative;
  width: 25px;
  height: 20px;
  border: solid 1px #222;
  margin-right: 5px;
  float: left;
  z-index: 0;
}

.sp-palette {
  max-width: 220px;
}

.sp-palette .sp-thumb-el {
  width: 16px;
  height: 16px;
  margin: 2px 1px;
  border: solid 1px #d0d0d0;
}

.sp-container {
  padding-bottom: 0;
}

.sp-container button {
  background-color: #eee;
  background-image: -webkit-linear-gradient(top, #eeeeee, #cccccc);
  background-image: -moz-linear-gradient(top, #eeeeee, #cccccc);
  background-image: -ms-linear-gradient(top, #eeeeee, #cccccc);
  background-image: -o-linear-gradient(top, #eeeeee, #cccccc);
  background-image: linear-gradient(to bottom, #eeeeee, #cccccc);
  border: 1px solid #ccc;
  border-bottom: 1px solid #bbb;
  border-radius: 3px;
  color: #333;
  font-size: 14px;
  line-height: 1;
  padding: 5px 4px;
  text-align: center;
  text-shadow: 0 1px 0 #eee;
  vertical-align: middle;
}

.sp-container button:hover {
  background-color: #ddd;
  background-image: -webkit-linear-gradient(top, #dddddd, #bbbbbb);
  background-image: -moz-linear-gradient(top, #dddddd, #bbbbbb);
  background-image: -ms-linear-gradient(top, #dddddd, #bbbbbb);
  background-image: -o-linear-gradient(top, #dddddd, #bbbbbb);
  background-image: linear-gradient(to bottom, #dddddd, #bbbbbb);
  border: 1px solid #bbb;
  border-bottom: 1px solid #999;
  cursor: pointer;
  text-shadow: 0 1px 0 #ddd;
}

.sp-container button:active {
  border: 1px solid #aaa;
  border-bottom: 1px solid #888;
  -webkit-box-shadow:
    inset 0 0 5px 2px #aaa,
    0 1px 0 0 #eee;
  -moz-box-shadow:
    inset 0 0 5px 2px #aaa,
    0 1px 0 0 #eee;
  -ms-box-shadow:
    inset 0 0 5px 2px #aaa,
    0 1px 0 0 #eee;
  -o-box-shadow:
    inset 0 0 5px 2px #aaa,
    0 1px 0 0 #eee;
  box-shadow:
    inset 0 0 5px 2px #aaa,
    0 1px 0 0 #eee;
}

.sp-cancel {
  font-size: 11px;
  color: #d93f3f !important;
  margin: 0;
  padding: 2px;
  margin-right: 5px;
  vertical-align: middle;
  text-decoration: none;
}

.sp-cancel:hover {
  color: #d93f3f !important;
  text-decoration: underline;
}

.sp-palette span:hover,
.sp-palette span.sp-thumb-active {
  border-color: #000;
}

.sp-preview,
.sp-alpha,
.sp-thumb-el {
  position: relative;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==);
}

.sp-preview-inner,
.sp-alpha-inner,
.sp-thumb-inner {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

.sp-palette .sp-thumb-inner {
  background-position: 50% 50%;
  background-repeat: no-repeat;
}

.sp-palette .sp-thumb-light.sp-thumb-active .sp-thumb-inner {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIVJREFUeNpiYBhsgJFMffxAXABlN5JruT4Q3wfi/0DsT64h8UD8HmpIPCWG/KemIfOJCUB+Aoacx6EGBZyHBqI+WsDCwuQ9mhxeg2A210Ntfo8klk9sOMijaURm7yc1UP2RNCMbKE9ODK1HM6iegYLkfx8pligC9lCD7KmRof0ZhjQACDAAceovrtpVBRkAAAAASUVORK5CYII=);
}

.sp-palette .sp-thumb-dark.sp-thumb-active .sp-thumb-inner {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAMdJREFUOE+tkgsNwzAMRMugEAahEAahEAZhEAqlEAZhEAohEAYh81X2dIm8fKpEspLGvudPOsUYpxE2BIJCroJmEW9qJ+MKaBFhEMNabSy9oIcIPwrB+afvAUFoK4H0tMaQ3XtlrggDhOVVMuT4E5MMG0FBbCEYzjYT7OxLEvIHQLY2zWwQ3D+9luyOQTfKDiFD3iUIfPk8VqrKjgAiSfGFPecrg6HN6m/iBcwiDAo7WiBeawa+Kwh7tZoSCGLMqwlSAzVDhoK+6vH4G0P5wdkAAAAASUVORK5CYII=);
}

.sp-clear-display {
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(data:image/gif;base64,R0lGODlhFAAUAPcAAAAAAJmZmZ2dnZ6enqKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq/Hx8fLy8vT09PX19ff39/j4+Pn5+fr6+vv7+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAAAUABQAAAihAP9FoPCvoMGDBy08+EdhQAIJCCMybCDAAYUEARBAlFiQQoMABQhKUJBxY0SPICEYHBnggEmDKAuoPMjS5cGYMxHW3IiT478JJA8M/CjTZ0GgLRekNGpwAsYABHIypcAgQMsITDtWJYBR6NSqMico9cqR6tKfY7GeBCuVwlipDNmefAtTrkSzB1RaIAoXodsABiZAEFB06gIBWC1mLVgBa0AAOw==);
}

.gjs-editor-sp {
  border: 1px solid var(--gjs-main-dark-color);
  box-shadow: 0 0 7px var(--gjs-main-dark-color);
  border-radius: 3px;
}

.gjs-editor-sp .sp-hue,
.gjs-editor-sp .sp-slider {
  cursor: row-resize;
}

.gjs-editor-sp .sp-color,
.gjs-editor-sp .sp-dragger {
  cursor: crosshair;
}

.gjs-editor-sp .sp-alpha-inner,
.gjs-editor-sp .sp-alpha-handle {
  cursor: col-resize;
}

.gjs-editor-sp .sp-hue {
  left: 90%;
}

.gjs-editor-sp .sp-color {
  right: 15%;
}

.gjs-editor-sp .sp-picker-container {
  border: none;
}

.gjs-editor-sp .colpick_dark .colpick_color {
  outline: 1px solid var(--gjs-main-dark-color);
}

.gjs-editor-sp .sp-cancel,
.gjs-editor-sp .sp-cancel:hover {
  bottom: -8px;
  color: #777 !important;
  font-size: 25px;
  left: 0;
  position: absolute;
  text-decoration: none;
}

.gjs-editor-sp .sp-alpha-handle {
  background-color: #ccc;
  border: 1px solid #555;
  width: 4px;
}

.gjs-editor-sp .sp-color,
.gjs-editor-sp .sp-hue {
  border: 1px solid #333;
}

.gjs-editor-sp .sp-slider {
  background-color: #ccc;
  border: 1px solid #555;
  height: 3px;
  left: -4px;
  width: 22px;
}

.gjs-editor-sp .sp-dragger {
  background: rgba(0, 0, 0, 0);
  box-shadow: 0 0 0 1px #111;
}

.gjs-editor-sp .sp-button-container {
  float: none;
  width: 100%;
  position: relative;
  text-align: right;
}

.gjs-editor-sp .sp-button-container .sp-choose,
.gjs-editor-sp .sp-button-container .sp-choose:hover,
.gjs-editor-sp .sp-button-container .sp-choose:active {
  background: var(--gjs-main-dark-color);
  border-color: var(--gjs-main-dark-color);
  color: var(--gjs-font-color);
  text-shadow: none;
  box-shadow: none;
  padding: 3px 5px;
}

.gjs-editor-sp .sp-palette-container {
  border: none;
  float: none;
  margin: 0;
  padding: 5px 10px 0;
}

.gjs-editor-sp .sp-palette .sp-thumb-el,
.gjs-editor-sp .sp-palette .sp-thumb-el:hover {
  border: 1px solid rgba(0, 0, 0, 0.9);
}

.gjs-editor-sp .sp-palette .sp-thumb-el:hover,
.gjs-editor-sp .sp-palette .sp-thumb-el.sp-thumb-active {
  border-color: rgba(0, 0, 0, 0.9);
}

.gjs-one-bg {
  background-color: var(--gjs-primary-color);
}

.gjs-one-color {
  color: var(--gjs-primary-color);
}

.gjs-one-color-h:hover {
  color: var(--gjs-primary-color);
}

.gjs-two-bg {
  background-color: var(--gjs-secondary-color);
}

.gjs-two-color {
  color: var(--gjs-secondary-color);
}

.gjs-two-color-h:hover {
  color: var(--gjs-secondary-color);
}

.gjs-three-bg {
  background-color: var(--gjs-tertiary-color);
}

.gjs-three-color {
  color: var(--gjs-tertiary-color);
}

.gjs-three-color-h:hover {
  color: var(--gjs-tertiary-color);
}

.gjs-four-bg {
  background-color: var(--gjs-quaternary-color);
}

.gjs-four-color {
  color: var(--gjs-quaternary-color);
}

.gjs-four-color-h:hover {
  color: var(--gjs-quaternary-color);
}

.gjs-danger-bg {
  background-color: var(--gjs-color-red);
}

.gjs-danger-color {
  color: var(--gjs-color-red);
}

.gjs-danger-color-h:hover {
  color: var(--gjs-color-red);
}

.gjs-bdrag {
  pointer-events: none !important;
  position: absolute !important;
  z-index: 10 !important;
  width: auto;
}

.gjs-drag-helper {
  background-color: var(--gjs-color-blue) !important;
  pointer-events: none !important;
  position: absolute !important;
  z-index: 10 !important;
  transform: scale(0.3) !important;
  transform-origin: top left !important;
  -webkit-transform-origin: top left !important;
  margin: 15px !important;
  transition: none !important;
  outline: none !important;
}

.gjs-grabbing,
.gjs-grabbing * {
  cursor: grabbing !important;
  cursor: -webkit-grabbing !important;
}

.gjs-grabbing {
  overflow: hidden;
}

.gjs-off-prv {
  position: relative;
  z-index: 10;
  padding: 5px;
  cursor: pointer;
}

.gjs-editor-cont ::-webkit-scrollbar-track {
  background: var(--gjs-secondary-dark-color);
}

.gjs-editor-cont ::-webkit-scrollbar-thumb {
  background-color: hsla(0, 0%, 100%, 0.2);
}

.gjs-editor-cont ::-webkit-scrollbar {
  width: 8px;
}

.gjs-no-touch-actions {
  touch-action: none;
}

.gjs-disabled {
  -moz-user-select: none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
  opacity: 0.5;
  filter: alpha(opacity=50);
}

.gjs-editor {
  font-family: var(--gjs-main-font);
  font-size: var(--gjs-font-size);
  position: relative;
  box-sizing: border-box;
  height: 100%;
}

.gjs-freezed,
.gjs-freezed {
  opacity: 0.5;
  filter: alpha(opacity=50);
  pointer-events: none;
}

.gjs-hidden {
  display: none;
}

@keyframes gjs-slide-down {
  0% {
    transform: translate(0, -3rem);
    opacity: 0;
  }

  100% {
    transform: translate(0, 0);
    opacity: 1;
  }
}

@keyframes gjs-slide-up {
  0% {
    transform: translate(0, 0);
    opacity: 1;
  }

  100% {
    transform: translate(0, -3rem);
    opacity: 0;
  }
}

.cm-s-hopscotch span.cm-error {
  color: #fff;
}/* this gets exported as style.css and can be used for the default theming */
/* these are the necessary styles for React/Svelte Flow, they get used by base.css and style.css */
.react-flow {
  direction: ltr;

  --xy-edge-stroke-default: #b1b1b7;
  --xy-edge-stroke-width-default: 1;
  --xy-edge-stroke-selected-default: #555;

  --xy-connectionline-stroke-default: #b1b1b7;
  --xy-connectionline-stroke-width-default: 1;

  --xy-attribution-background-color-default: rgba(255, 255, 255, 0.5);

  --xy-minimap-background-color-default: #fff;
  --xy-minimap-mask-background-color-default: rgba(240, 240, 240, 0.6);
  --xy-minimap-mask-stroke-color-default: transparent;
  --xy-minimap-mask-stroke-width-default: 1;
  --xy-minimap-node-background-color-default: #e2e2e2;
  --xy-minimap-node-stroke-color-default: transparent;
  --xy-minimap-node-stroke-width-default: 2;

  --xy-background-color-default: transparent;
  --xy-background-pattern-dots-color-default: #91919a;
  --xy-background-pattern-lines-color-default: #eee;
  --xy-background-pattern-cross-color-default: #e2e2e2;
  background-color: var(--xy-background-color, var(--xy-background-color-default));
  --xy-node-color-default: inherit;
  --xy-node-border-default: 1px solid #1a192b;
  --xy-node-background-color-default: #fff;
  --xy-node-group-background-color-default: rgba(240, 240, 240, 0.25);
  --xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, 0.08);
  --xy-node-boxshadow-selected-default: 0 0 0 0.5px #1a192b;
  --xy-node-border-radius-default: 3px;

  --xy-handle-background-color-default: #1a192b;
  --xy-handle-border-color-default: #fff;

  --xy-selection-background-color-default: rgba(0, 89, 220, 0.08);
  --xy-selection-border-default: 1px dotted rgba(0, 89, 220, 0.8);

  --xy-controls-button-background-color-default: #fefefe;
  --xy-controls-button-background-color-hover-default: #f4f4f4;
  --xy-controls-button-color-default: inherit;
  --xy-controls-button-color-hover-default: inherit;
  --xy-controls-button-border-color-default: #eee;
  --xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, 0.08);

  --xy-edge-label-background-color-default: #ffffff;
  --xy-edge-label-color-default: inherit;
  --xy-resize-background-color-default: #3367d9;
}
.react-flow.dark {
  --xy-edge-stroke-default: #3e3e3e;
  --xy-edge-stroke-width-default: 1;
  --xy-edge-stroke-selected-default: #727272;

  --xy-connectionline-stroke-default: #b1b1b7;
  --xy-connectionline-stroke-width-default: 1;

  --xy-attribution-background-color-default: rgba(150, 150, 150, 0.25);

  --xy-minimap-background-color-default: #141414;
  --xy-minimap-mask-background-color-default: rgba(60, 60, 60, 0.6);
  --xy-minimap-mask-stroke-color-default: transparent;
  --xy-minimap-mask-stroke-width-default: 1;
  --xy-minimap-node-background-color-default: #2b2b2b;
  --xy-minimap-node-stroke-color-default: transparent;
  --xy-minimap-node-stroke-width-default: 2;

  --xy-background-color-default: #141414;
  --xy-background-pattern-dots-color-default: #777;
  --xy-background-pattern-lines-color-default: #777;
  --xy-background-pattern-cross-color-default: #777;
  --xy-node-color-default: #f8f8f8;
  --xy-node-border-default: 1px solid #3c3c3c;
  --xy-node-background-color-default: #1e1e1e;
  --xy-node-group-background-color-default: rgba(240, 240, 240, 0.25);
  --xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, 0.08);
  --xy-node-boxshadow-selected-default: 0 0 0 0.5px #999;

  --xy-handle-background-color-default: #bebebe;
  --xy-handle-border-color-default: #1e1e1e;

  --xy-selection-background-color-default: rgba(200, 200, 220, 0.08);
  --xy-selection-border-default: 1px dotted rgba(200, 200, 220, 0.8);

  --xy-controls-button-background-color-default: #2b2b2b;
  --xy-controls-button-background-color-hover-default: #3e3e3e;
  --xy-controls-button-color-default: #f8f8f8;
  --xy-controls-button-color-hover-default: #fff;
  --xy-controls-button-border-color-default: #5b5b5b;
  --xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, 0.08);

  --xy-edge-label-background-color-default: #141414;
  --xy-edge-label-color-default: #f8f8f8;
}
.react-flow__background {
  background-color: var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));
  pointer-events: none;
  z-index: -1;
}
.react-flow__container {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.react-flow__pane {
  z-index: 1;
}
.react-flow__pane.draggable {
    cursor: grab;
  }
.react-flow__pane.dragging {
    cursor: grabbing;
  }
.react-flow__pane.selection {
    cursor: pointer;
  }
.react-flow__viewport {
  transform-origin: 0 0;
  z-index: 2;
  pointer-events: none;
}
.react-flow__renderer {
  z-index: 4;
}
.react-flow__selection {
  z-index: 6;
}
.react-flow__nodesselection-rect:focus,
.react-flow__nodesselection-rect:focus-visible {
  outline: none;
}
.react-flow__edge-path {
  stroke: var(--xy-edge-stroke, var(--xy-edge-stroke-default));
  stroke-width: var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));
  fill: none;
}
.react-flow__connection-path {
  stroke: var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));
  stroke-width: var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));
  fill: none;
}
.react-flow .react-flow__edges {
  position: absolute;
}
.react-flow .react-flow__edges svg {
    overflow: visible;
    position: absolute;
    pointer-events: none;
  }
.react-flow__edge {
  pointer-events: visibleStroke;
}
.react-flow__edge.selectable {
    cursor: pointer;
  }
.react-flow__edge.animated path {
    stroke-dasharray: 5;
    animation: dashdraw 0.5s linear infinite;
  }
.react-flow__edge.animated path.react-flow__edge-interaction {
    stroke-dasharray: none;
    animation: none;
  }
.react-flow__edge.inactive {
    pointer-events: none;
  }
.react-flow__edge.selected,
  .react-flow__edge:focus,
  .react-flow__edge:focus-visible {
    outline: none;
  }
.react-flow__edge.selected .react-flow__edge-path,
  .react-flow__edge.selectable:focus .react-flow__edge-path,
  .react-flow__edge.selectable:focus-visible .react-flow__edge-path {
    stroke: var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default));
  }
.react-flow__edge-textwrapper {
    pointer-events: all;
  }
.react-flow__edge .react-flow__edge-text {
    pointer-events: none;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
  }
/* Arrowhead marker styles - use CSS custom properties as default */
.react-flow__arrowhead polyline {
  stroke: var(--xy-edge-stroke, var(--xy-edge-stroke-default));
}
.react-flow__arrowhead polyline.arrowclosed {
  fill: var(--xy-edge-stroke, var(--xy-edge-stroke-default));
}
.react-flow__connection {
  pointer-events: none;
}
.react-flow__connection .animated {
    stroke-dasharray: 5;
    animation: dashdraw 0.5s linear infinite;
  }
svg.react-flow__connectionline {
  z-index: 1001;
  overflow: visible;
  position: absolute;
}
.react-flow__nodes {
  pointer-events: none;
  transform-origin: 0 0;
}
.react-flow__node {
  position: absolute;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: all;
  transform-origin: 0 0;
  box-sizing: border-box;
  cursor: default;
}
.react-flow__node.selectable {
    cursor: pointer;
  }
.react-flow__node.draggable {
    cursor: grab;
    pointer-events: all;
  }
.react-flow__node.draggable.dragging {
      cursor: grabbing;
    }
.react-flow__nodesselection {
  z-index: 3;
  transform-origin: left top;
  pointer-events: none;
}
.react-flow__nodesselection-rect {
    position: absolute;
    pointer-events: all;
    cursor: grab;
  }
.react-flow__handle {
  position: absolute;
  pointer-events: none;
  min-width: 5px;
  min-height: 5px;
  width: 6px;
  height: 6px;
  background-color: var(--xy-handle-background-color, var(--xy-handle-background-color-default));
  border: 1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));
  border-radius: 100%;
}
.react-flow__handle.connectingfrom {
    pointer-events: all;
  }
.react-flow__handle.connectionindicator {
    pointer-events: all;
    cursor: crosshair;
  }
.react-flow__handle-bottom {
    top: auto;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 50%);
  }
.react-flow__handle-top {
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
  }
.react-flow__handle-left {
    top: 50%;
    left: 0;
    transform: translate(-50%, -50%);
  }
.react-flow__handle-right {
    top: 50%;
    right: 0;
    transform: translate(50%, -50%);
  }
.react-flow__edgeupdater {
  cursor: move;
  pointer-events: all;
}
.react-flow__pane.selection .react-flow__panel {
  pointer-events: none;
}
.react-flow__panel {
  position: absolute;
  z-index: 5;
  margin: 15px;
}
.react-flow__panel.top {
    top: 0;
  }
.react-flow__panel.bottom {
    bottom: 0;
  }
.react-flow__panel.top.center, .react-flow__panel.bottom.center {
      left: 50%;
      transform: translateX(-15px) translateX(-50%);
    }
.react-flow__panel.left {
    left: 0;
  }
.react-flow__panel.right {
    right: 0;
  }
.react-flow__panel.left.center, .react-flow__panel.right.center {
      top: 50%;
      transform: translateY(-15px) translateY(-50%);
    }
.react-flow__attribution {
  font-size: 10px;
  background: var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));
  padding: 2px 3px;
  margin: 0;
}
.react-flow__attribution a {
    text-decoration: none;
    color: #999;
  }
@keyframes dashdraw {
  from {
    stroke-dashoffset: 10;
  }
}
.react-flow__edgelabel-renderer {
  position: absolute;
  width: 100%;
  height: 100%;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  left: 0;
  top: 0;
}
.react-flow__viewport-portal {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.react-flow__minimap {
  background: var(
    --xy-minimap-background-color-props,
    var(--xy-minimap-background-color, var(--xy-minimap-background-color-default))
  );
}
.react-flow__minimap-svg {
    display: block;
  }
.react-flow__minimap-mask {
    fill: var(
      --xy-minimap-mask-background-color-props,
      var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default))
    );
    stroke: var(
      --xy-minimap-mask-stroke-color-props,
      var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default))
    );
    stroke-width: var(
      --xy-minimap-mask-stroke-width-props,
      var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default))
    );
  }
.react-flow__minimap-node {
    fill: var(
      --xy-minimap-node-background-color-props,
      var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default))
    );
    stroke: var(
      --xy-minimap-node-stroke-color-props,
      var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default))
    );
    stroke-width: var(
      --xy-minimap-node-stroke-width-props,
      var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default))
    );
  }
.react-flow__background-pattern.dots {
    fill: var(
      --xy-background-pattern-color-props,
      var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default))
    );
  }
.react-flow__background-pattern.lines {
    stroke: var(
      --xy-background-pattern-color-props,
      var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default))
    );
  }
.react-flow__background-pattern.cross {
    stroke: var(
      --xy-background-pattern-color-props,
      var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default))
    );
  }
.react-flow__controls {
  display: flex;
  flex-direction: column;
  box-shadow: var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default));
}
.react-flow__controls.horizontal {
    flex-direction: row;
  }
.react-flow__controls-button {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 26px;
    width: 26px;
    padding: 4px;
    border: none;
    background: var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));
    border-bottom: 1px solid
      var(
        --xy-controls-button-border-color-props,
        var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default))
      );
    color: var(
      --xy-controls-button-color-props,
      var(--xy-controls-button-color, var(--xy-controls-button-color-default))
    );
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
  }
.react-flow__controls-button svg {
      width: 100%;
      max-width: 12px;
      max-height: 12px;
      fill: currentColor;
    }
.react-flow__edge.updating .react-flow__edge-path {
      stroke: #777;
    }
.react-flow__edge-text {
    font-size: 10px;
  }
.react-flow__node.selectable:focus,
  .react-flow__node.selectable:focus-visible {
    outline: none;
  }
.react-flow__node-input,
.react-flow__node-default,
.react-flow__node-output,
.react-flow__node-group {
  padding: 10px;
  border-radius: var(--xy-node-border-radius, var(--xy-node-border-radius-default));
  width: 150px;
  font-size: 12px;
  color: var(--xy-node-color, var(--xy-node-color-default));
  text-align: center;
  border: var(--xy-node-border, var(--xy-node-border-default));
  background-color: var(--xy-node-background-color, var(--xy-node-background-color-default));
}
.react-flow__node-input.selectable:hover, .react-flow__node-default.selectable:hover, .react-flow__node-output.selectable:hover, .react-flow__node-group.selectable:hover {
      box-shadow: var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default));
    }
.react-flow__node-input.selectable.selected,
    .react-flow__node-input.selectable:focus,
    .react-flow__node-input.selectable:focus-visible,
    .react-flow__node-default.selectable.selected,
    .react-flow__node-default.selectable:focus,
    .react-flow__node-default.selectable:focus-visible,
    .react-flow__node-output.selectable.selected,
    .react-flow__node-output.selectable:focus,
    .react-flow__node-output.selectable:focus-visible,
    .react-flow__node-group.selectable.selected,
    .react-flow__node-group.selectable:focus,
    .react-flow__node-group.selectable:focus-visible {
      box-shadow: var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default));
    }
.react-flow__node-group {
  background-color: var(--xy-node-group-background-color, var(--xy-node-group-background-color-default));
}
.react-flow__nodesselection-rect,
.react-flow__selection {
  background: var(--xy-selection-background-color, var(--xy-selection-background-color-default));
  border: var(--xy-selection-border, var(--xy-selection-border-default));
}
.react-flow__nodesselection-rect:focus,
  .react-flow__nodesselection-rect:focus-visible,
  .react-flow__selection:focus,
  .react-flow__selection:focus-visible {
    outline: none;
  }
.react-flow__controls-button:hover {
      background: var(
        --xy-controls-button-background-color-hover-props,
        var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default))
      );
      color: var(
        --xy-controls-button-color-hover-props,
        var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default))
      );
    }
.react-flow__controls-button:disabled {
      pointer-events: none;
    }
.react-flow__controls-button:disabled svg {
        fill-opacity: 0.4;
      }
.react-flow__controls-button:last-child {
    border-bottom: none;
  }
.react-flow__controls.horizontal .react-flow__controls-button {
    border-bottom: none;
    border-right: 1px solid
      var(
        --xy-controls-button-border-color-props,
        var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default))
      );
  }
.react-flow__controls.horizontal .react-flow__controls-button:last-child {
    border-right: none;
  }
.react-flow__resize-control {
  position: absolute;
}
.react-flow__resize-control.left,
.react-flow__resize-control.right {
  cursor: ew-resize;
}
.react-flow__resize-control.top,
.react-flow__resize-control.bottom {
  cursor: ns-resize;
}
.react-flow__resize-control.top.left,
.react-flow__resize-control.bottom.right {
  cursor: nwse-resize;
}
.react-flow__resize-control.bottom.left,
.react-flow__resize-control.top.right {
  cursor: nesw-resize;
}
/* handle styles */
.react-flow__resize-control.handle {
  width: 5px;
  height: 5px;
  border: 1px solid #fff;
  border-radius: 1px;
  background-color: var(--xy-resize-background-color, var(--xy-resize-background-color-default));
  translate: -50% -50%;
}
.react-flow__resize-control.handle.left {
  left: 0;
  top: 50%;
}
.react-flow__resize-control.handle.right {
  left: 100%;
  top: 50%;
}
.react-flow__resize-control.handle.top {
  left: 50%;
  top: 0;
}
.react-flow__resize-control.handle.bottom {
  left: 50%;
  top: 100%;
}
.react-flow__resize-control.handle.top.left {
  left: 0;
}
.react-flow__resize-control.handle.bottom.left {
  left: 0;
}
.react-flow__resize-control.handle.top.right {
  left: 100%;
}
.react-flow__resize-control.handle.bottom.right {
  left: 100%;
}
/* line styles */
.react-flow__resize-control.line {
  border-color: var(--xy-resize-background-color, var(--xy-resize-background-color-default));
  border-width: 0;
  border-style: solid;
}
.react-flow__resize-control.line.left,
.react-flow__resize-control.line.right {
  width: 1px;
  transform: translate(-50%, 0);
  top: 0;
  height: 100%;
}
.react-flow__resize-control.line.left {
  left: 0;
  border-left-width: 1px;
}
.react-flow__resize-control.line.right {
  left: 100%;
  border-right-width: 1px;
}
.react-flow__resize-control.line.top,
.react-flow__resize-control.line.bottom {
  height: 1px;
  transform: translate(0, -50%);
  left: 0;
  width: 100%;
}
.react-flow__resize-control.line.top {
  top: 0;
  border-top-width: 1px;
}
.react-flow__resize-control.line.bottom {
  border-bottom-width: 1px;
  top: 100%;
}
.react-flow__edge-textbg {
  fill: var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default));
}
.react-flow__edge-text {
  fill: var(--xy-edge-label-color, var(--xy-edge-label-color-default));
}
