@font-face {
  font-family: 'Sloth-Rounded';
  src: url('sloth_rounded.ttf');
}

@font-face {
  font-family: "Gameboy";
  src: url("gameboy.ttf");
  /* TTF file for CSS3 browsers */
}

@font-face {
  font-family: "Dogica";
  font-weight: regular;
  src: url("dogica.ttf");
  /* TTF file for CSS3 browsers */
}

@font-face {
  font-family: "Dogica";
  font-weight: bold;
  src: url("dogicabold.ttf");
  /* TTF file for CSS3 browsers */
}


@font-face {
  font-family: "Moby";
  src: url("moby_monospace.ttf");
  /* TTF file for CSS3 browsers */
}

#s-container {
  border: 0;
  border-left: 0;
  border-top: 0;

}

nav {
  height: 40px;
}

.navbar-brand {
  font-size: 16px;
}

#vidbox {
  position: absolute;
}

html.dark .note-editor.note-frame .note-editing-area .note-editable {
  background-color: transparent !important;
  color: rgba(255, 255, 255, .7) !important;
  font-family: "Open Sans";
}

html.dark .note-toolbar .note-btn,
html.dark .note-toolbar .note-btn:focus,
html.dark .note-toolbar .note-btn:active {
  background-color: #2e353e !important;
  color: #9097a0 !important;
  border-color: #2e353e !important;
}

html.dark .show>.btn-light.dropdown-toggle {
  background-color: #242830;
}

html.dark .note-toolbar .dropdown-menu .dropdown-item {
  color: #9097a0;
}

html.dark .note-toolbar .btn {
  color: #9097a0;
}

.vfx {
  width: 96px;
  height: 54px;
  margin-bottom: 15px;
  border: 2px solid #333;
}

.vfx.active {
  border: 2px solid #ccc;
}

#vfxBox {
  column-gap: 15px;
  overflow-y: scroll;
  flex-flow: row;
  display: flex;
  flex-wrap: wrap;
}

.thumbnail {
  width:120px;
}

#sub-ctrl {
  justify-content: space-between;
}

.glow {
  font-size: 20px;
  color: #fff;
  text-align: center;
  -webkit-animation: glow 1s ease-in-out infinite alternate;
  -moz-animation: glow 1s ease-in-out infinite alternate;
  animation: glow 1s ease-in-out infinite alternate;
}

@keyframes glow {
  from {
    text-shadow: 0 0 0px #fff, 0 0 20px #fff, 0 0 30px #e60073, 0 0 40px #e60073, 0 0 50px #e60073, 0 0 60px #e60073, 0 0 70px #e60073;
  }

  to {
    text-shadow: 0 0 20px #fff, 0 0 30px #ff4da6, 0 0 40px #ff4da6, 0 0 50px #ff4da6, 0 0 60px #ff4da6, 0 0 70px #ff4da6, 0 0 80px #ff4da6;
  }
}

#ctrl {
  overflow-x: hidden;
}

#charDisplay {
  font-family: "Dogica";
  font-size: 11px;
  color: #ffffff;
}

.box-ctrl {
  column-gap: 40px;
  justify-content: normal;
  align-content: space-between;
  flex-flow: column;
  flex-wrap: wrap;
  display: flex;
  user-select: none;
  -webkit-user-select: none;
  font-family: "Dogica";
  font-size: 9px;
  /*padding-top: 40px;*/
}

#projectButton {
  color: #ffffff;
}

.box-ctrl .uk-nav-sub {
  font-size: 9px;
  padding-top: 16px;
  padding-left: 0;
}

#right-panel .box-ctrl {
  height: calc(100vh - 120px);
  overflow-y: visible;
}

.box-ctrl::-webkit-scrollbar-track,
.editor::-webkit-scrollbar-track {
  box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  background-color: #666;

}

.box-ctrl::-webkit-scrollbar,
.editor::-webkit-scrollbar,
.box-ctrl::-webkit-scrollbar-corner,
.editor::-webkit-scrollbar-corner {
  width: 12px;
  background-color: #666;
}

.box-ctrl::-webkit-scrollbar-thumb,
.editor::-webkit-scrollbar-thumb {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
  background-color: #333;
}


#right-panel .box-ctrl {
  padding-top: 16px;
  overflow-y: visible;
}

#right-panel .uk-offcanvas-bar {
  background-color: rgba(0, 0, 0, .8);
}

.sketch-label {
  background-color: #111;
  font-size: .75rem;
  font-family: 'Moby';
  color: #fff;
  border: none !important;
  position: fixed;
  top: 0;
  left: 0;
  width: 10vw !important;
  height: 50vh;
  writing-mode: tb-rl;
  transform: rotate(-180deg);
  -webkit-clip-path: polygon(0 0, 100% 20%, 100% 100%, 0% 100%);
  clip-path: polygon(0 0, 100% 20%, 100% 100%, 0% 100%);
  text-align: right;
  padding-bottom: 10px !important;

  /*
    padding-left:5px;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 80%);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 80%);
  writing-mode:vertical-lr;
  text-orientation: upright;*/
}

.sketch-label span {
  padding-bottom: 10px;
  padding-right: .5rem;
  display: block;
}

.box-dbug {
  margin-bottom: 5px;
}

.uk-logo {
  text-transform: uppercase;
  font-family: "Moby";
  font-size: 1em;
  min-height: 1em;
  padding-top: 5px;
}

.slidebox.text {
  height: 60px;
}

.slidebox input[type="text"] {
  height: 16px;
}

.slidebox textarea {
  height:45px;
  width: 100%;
}

.menu-logo {
  font-family: "Moby";
  padding: 0 !important;
  font-size: .875em;
}

#right-panel .box-info a:not(.link) {
  font-size: .8rem;
}

#right-panel .uk-tab li a {
  font-size: .7rem;
}

html {
  font-size: 16px;
}


.uk-navbar-container {
  height: 30px;
}


#content,
#home,
#duality {
  height: calc(100vh -40px);
}


:root {
  color-scheme: dark;
}

.current-panel {
  padding: 7px 0;
}

#theCode,
#theFrag,
#theConf,
.current-panel,
#nav-info {
  width: 100%;
  height: calc(100vh - 82px);
  height: -webkit-calc(100vh - 82px);
}


.slidebox {
  box-sizing: border-box;
  width: 100%;
  min-height: 30px;
  font-size: 8px;
  display: flex;
}

.slidebox span {
  display: inline-block;
  vertical-align: top;
}


.text label {
  display: inline-flex;
  width: 40px;
}

.slidebox input {
  flex-grow: 1;
}

.slidebox span.left {
  width: 50px;
  vertical-align: top;
  color: rgba(255, 255, 255, 1);
}

.slidebox span.right {
  text-align: right;
  overflow: hidden;
  text-overflow: ellipsis;
  display: inline-block;
  width: 50px !important;
  vertical-align: top;
}



.slidebox.text label.left {
  vertical-align: top;
  width: 50px;
}



.slidebox.text input {
  box-sizing: border-box;
  width: 250px;
  padding: 4px;
  height: 16px;
  font-size: 8px;
  border: 1px solid #aaa;
  font-family: "Dogica";
  background: #333;
  color: #fff;
}

.slidebox.checked {
  justify-content: flex-start;
  display: flex;
  flex-flow: row;
  flex-wrap: wrap;
}

@media screen and (min-width: 576px) and (orientation:landscape) {


  #s-view,
  #side-panel {
    height: 100vh;
  }

  #side-panel nav {
    height: 40px;
  }

  #content .s-container {
    width: 100%;
    aspect-ratio: 16/9;
  }

  #content .s-container.half-hd {
    width: 1280px;
    aspect-ratio: 16/9;
  }

  .half-hd {
    width: 1280px;
  }

  .box-ctrl {
    width: 100%;
    height: fit-content;
  }

  #duality .s-container {
    height: calc(50vh - 90px);
    height: -webkit-calc(50vh - 90px);

  }




  #home .uk-grid-small>div {
    padding-left: 0px;
  }

  #home .uk-grid-small>div.uk-first-column {
    padding-left: 15px;
  }

  /*
.checkbox:nth-child(even) {
  margin-left: calc(15%) !important;
  margin-left: -webkit-calc(15%) !important;
}
*/
}
#debug {
  font-family: "Dogica";
  font-size:.5rem;
  white-space-collapse: preserve;
}

@media screen and (max-width: 1312px) {
  .uk-visible\@ml {
    display: none !important;
  }

}


@media screen and (max-width: 575.98px) {
  .checkbox {
    margin-left: calc(20% + 15px) !important;
    margin-left: -webkit-calc(20% + 15px) !important;
  }

  #home {
    padding: 0;
  }

  #cover_image {
    height: 100px;
    margin-left: 0;
    margin-bottom: 0;
  }

  #cover_image:nth-of-type(2) {
    height: 100px;
    margin-left: 0;
    margin-top: 0;
  }

  #cover_image img {
    position: static;
    transform: translate(0, -40%);
  }

  #cover_image:nth-of-type(2) img {
    transform: translate(0, -35%);
  }

  .uk-logo {
    font-size: .8em;
  }

  .padding-right {
    padding-right: 15px;
  }


  #right-panel>div:not(.editor) {
    width: 90vw;
    padding-top: 10px;
  }

  #info-panel {
    width: 640px;
    padding-left: 30px !important;
  }

  #info-panel #info {
    padding-left: 0;
    padding-right: 0;
  }

  .uk-navbar-container {
    padding: 15px 15px;
  }

  #content {
    padding: 0;
  }

  .uk-container {
    padding: 0;
  }


  #content,
  #home,
  #duality {
    height: fill-available;
    height: -webkit-fill-available;
  }
  #s-container {
    height: calc(100vh - 40px);
    border:0;
  }

  #s-view,
  #duality>div {
    border: 0;
    height: 100vh;
    width: 100vw;
    max-height: fill-available;
    max-height: -webkit-fill-available;

  }

  #duality>div div {
    min-height: calc(50vh - 30px);
    min-height: -webkit-calc(50vh - 30px);
  }
}

canvas {
  position: absolute;
  width: 100%;
  height: 100%;
}

.s-container {
  position: relative;
}


@media (min-width: 1600px) {
  #description {
    overflow: scroll;
    height: -webkit-calc(100vh - 240px);
  }

  #content .s-container {
    aspect-ratio: 16/9;
  }

  .box-ctrl {
    column-gap: 25px;
  }

  #content .s-container.half-hd {
    width: 1280px;
    aspect-ratio: 16/9;
  }

  .half-hd {
    width: 1280px;
  }


  .box-ctrl.half-hd {
    height: calc(100vh - 860px);
  }
}
#thumb {
  width:160px;
  height:90px;
}

#actionBar a {
  color: #ffffff;
}

#side-panel.offcanvas  {
  background-color: rgba(var(--bs-dark-rgb), 0)!important;
}

#side-panel.offcanvas #nav-tabs {
  background-color:  rgba(var(--bs-dark-rgb), 0.5)!important;
}

.btn-back{
  position:fixed;
  right:0
}
#side-panel.offcanvas nav {
  background-color:  rgba(var(--bs-dark-rgb), 1)!important;

}

@media screen and (min-width: 576px) and (orientation:portrait) {
  .slidebox {
    width: 47%;
  }

  #vue-ctrl {
    height: 100%;
  }

  .col-md-5,
  .col-md-7 {
    width: 100%;
  }

  #s-container {
    position: relative;
    width: 100vw;
    border-right: 0;
    aspect-ratio: 16/9;
  }

  #description {
    display: none !important;
  }

  #theCode,
  #theFrag,
  #theConf,
  .current-panel {
    height: calc(50vh - 112px);
    height: -webkit-calc(50vh - 112px);
  }

}

@media screen and (min-width: 992px) and (orientation:portrait) {

  .col-md-5,
  .col-md-7 {
    width: 100%;
  }

  #s-container {
    position: relative;
    width: auto;
    border-right: 15px;
    aspect-ratio: 16/9;
  }
}


#home,
#left-panel,
.box-info {
  font-family: "Open Sans";
}


.home-card {
  background-color: var(--thumb-behind-color);
}

a:hover {
  text-decoration: none;
}

#home-gadgets > div:nth-child(1) > div > div:nth-child(1) {
  background-color: #880dcf
}

#home-gadgets > div:nth-child(1) > div > div:nth-child(2) {
  background-color: #c0109a !important;
}

#home-gadgets div:nth-child(2) > div > div:nth-child(1) {
  background-color: #11576c
}

#home-gadgets div:nth-child(2) > div > div:nth-child(2) {
  background-color: #0c723a
}

#home-gadgets div:nth-child(3) > div > div:nth-child(1) {
  background-color: #2c1dad;
}

#home-gadgets div:nth-child(3) > div > div:nth-child(2) {
  background-color: #003cff
}






#home-gadgets a{
  color:#ffffff;
}


#home-gadgets .uk-card {
  opacity: .8;
  overflow: hidden;
  padding: 20px;

}


#home-gadgets a:hover .uk-card {
  opacity: 1;
  padding: 20px;
  filter: brightness(120%);
  -webkit-filter: brightness(120%);

}

#home-gadgets a:active .uk-card {
  opacity: 1;
  padding-top: 25px;
  padding-bottom: 15px;

}

#home-banner, #footer {
  height:120px;
}

.link,
.box-info a {
  /* RESET */
  text-decoration: none;
  line-height: 1;
  font-weight: bold;
  position: relative;
  z-index: 0;
  display: inline-block;
  padding: 5px 5px;
  overflow: hidden;
  color: #fff;
  vertical-align: bottom;
  transition: color .3s ease-out;
}

.link::before,
.box-info a::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  transform: translateY(calc(100%));
  width: 100%;
  height: 100%;
  background-image: linear-gradient(60deg, #64b3f4 20%, #c2e59c 100%);
  transition: transform .25s ease-out;
}

.link:hover,
.box-info a:hover {
  color: #000 !important;
}

.link:hover::before,
.box-info a:hover::before {
  transform: translateY(0);
  transition: transform .25s ease-out;
}

.box-code .uk-button,
.box-frag .uk-button,
#info-panel .uk-button,
#info .uk-button,
#right-panel .uk-button {
  font-size: .6rem;
  color: #fff;
  font-family: "Dogica";
  background-color: #333;
}

.editor {
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12),
    0 3px 1px -2px rgba(0, 0, 0, 0.2);
  font-family: "PT Mono", monospace;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: normal;
  line-height: 20px;
  padding-top: 0 !important;
  padding-bottom: 0 !important;

  resize: none !important;
  tab-size: 4;
  overflow: scroll;
  white-space: pre;
  display: inline-block;
  -webkit-text-size-adjust: none;
}




.hljs {
  white-space: pre;
  word-wrap: normal;
}

.logoButton svg {
  margin-left: 5px;
}

.slidebox .button {
  margin-bottom: 16px;
  height: 32px;
}

.slidebox input[type='checkbox'] {
  margin-left: 0;
  margin-top: 0;
  margin-right: 5px;
}

.slidebox label {
  color: #ffffff;
  vertical-align: top;
}

.box-ctrl li a {
  padding: 0;
  height: 13px;
}

.slidebox button {
  height: 18px;
  background-color: #444444;
  border: 1px #aaa solid;
  box-sizing: border-box;
  line-height: 18px;
  font-size: 9px !important;
}

.slidebox a span{
  color:rgba(100, 200, 255, 1)!important;
}

.slidebox select {
  margin-left: 5px;
  width: 300px;
  flex-grow: 1;
  margin-bottom: 2px;
  height: 16px;
  box-sizing: border-box;
  -webkit-appearance: none;
  padding: 1px 4px;
  background: #333;
  font-family: 'Dogica';
  color: #fff;
  font-size: 9px;
  border-radius: 0;
  text-align: right;
  border-color: #333;
}



.slidebox select::-ms-expand {
  display: none;
}


.checkbox {
  float: left;
  margin-left: 44px;
  width: 80px;
}

/*
.checkbox:nth-child(n+3) {
  margin-top: 16px;
}
*/
.checkbox {
  box-sizing: border-box;
  height: 30px;
}


.checkbox input {
  margin-left: 40px;
}

.empty-left {
  margin-left: 15px;
}

.dark {
  /*
  padding-top: 15px;
  padding-bottom: 20px;
  */
  background-color: #111;
}

.light {
  background-color: rgb(99, 97, 114);
  color: #fff;
  padding-top: 15px;
  padding-bottom: 15px;
}

#home .uk-card-title {
  white-space: pre;
  font-size: 1.4rem;
}

#blackdrops {
  background: #222;
}

#blackdrops svg {
  height: 20vh;
}

.drops {
  -webkit-filter: url('#liquid');
  filter: url('#liquid');
  position: absolute;
  top: -20px;
  left: 0;
  right: 0;
  z-index: 1;
  opacity: 0;
}

.playing .drops {
  animation: fade-in .1s linear .4s forwards;
}

.drop1,
.drop2 {
  width: 23px;
  height: 28px;
  border-radius: 50%;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  background-color: #000
}

.drop1 {
  width: 90px;
  height: 16px;
  bottom: 20px;
  border-radius: 0;
}

.playing .drop2 {
  animation: drop 1.8s cubic-bezier(1, .19, .66, .12) .5s infinite;
}

@keyframes fade-in {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes drop {
  0% {
    bottom: 0px;
    opacity: 1;
    width: 23px;

  }

  80% {
    opacity: .8;
    width: 16px;

  }

  100% {
    opacity: 0;
    width: 8px;
    bottom: -400px;
  }
}

.box-ctrl .uk-parent>a {
  padding-left: 10px;
  background: #111;
  font-size: 10px;
  padding-right: 20px;
  width: 280px;
  height: 24px;
  font-weight: bold;
}

#duality {
  padding-top: 0;
  padding-bottom: 0;

}

.corner {
  color: #fff;
  background-color: #333;
}

.corner:active {
  color: #fff;
}

.corner:hover {
  color: #fff;
}

.top-left-button {
  width: 60px;
  height: 40px;
  border: 0;
  margin: 0;
  padding-top: 2px;
  padding-bottom: 3px;
  padding-left: 15px;
  z-index: 1;
  -webkit-clip-path: polygon(0% 0, 100% 0%, 50% 100%, 0 100%);
  clip-path: polygon(0% 0, 100% 0%, 50% 100%, 0 100%);
  left: 0;
  z-index: 1;
  position: fixed;
}

.top-right-button {
  width: 75px;
  height: 25px;
  border: 0;
  margin: 0;
  padding-top: 4px;
  padding-bottom: 3px;
  padding-right: 15px;
  color: #fff;
  background-color: #333;
  z-index: 1;
  text-align: right;
  -webkit-clip-path: polygon(0% 0, 100% 0%, 100% 100%, 50% 100%);
  clip-path: polygon(0% 0, 100% 0%, 100% 100%, 50% 100%);
  right: 0;
  z-index: 1;
  position: fixed;
}

.bottom-right-button {
  width: 70px;
  height: 20px;
  border: 0;
  margin: 0;
  padding-top: 3px;
  padding-bottom: 5px;
  padding-right: 15px;
  color: #fff;
  background-color: #333;
  z-index: 1;
  text-align: right;
  -webkit-clip-path: polygon(50% 0, 100% 0, 100% 100%, 0 100%);
  clip-path: polygon(50% 0, 100% 0, 100% 100%, 0 100%);
  bottom: 0;
  right: 0;
  z-index: 1;
  position: fixed;
}

@keyframes glowing {
  0% {
    background-color: #333;
  }

  50% {
    background-color: #aaa;
  }

  100% {
    background-color: #333;
  }
}

@keyframes text-glowing {
  0% {
    color: #000;
  }

  10% {
    color: #fff;
  }

  20% {
    color: #000;
  }

  100% {
    color: #000;
  }
}

@keyframes down {
  0% {
    top: -50vh;
  }

  100% {
    top: 0px;
  }
}

@keyframes up {
  0% {
    top: 0;
  }

  100% {
    top: -50vh;
  }
}

.dropped {
  top: 0;
}

.raised {
  top: -50vh;
}

.drop-label {
  animation: down .25s ease-out forwards 1;
}

.raise-label {
  animation: up .25s ease-out forwards 1;
}

.bottom-right-button.active {
  animation: glowing 2000ms ease-in-out infinite;
}

.slidebox .uk-icon {
  animation: text-glowing 5s infinite;
}

.bottom-left-button {
  width: 70px;
  height: 20px;
  border: 0;
  margin: 0;
  padding-top: 3px;
  padding-bottom: 5px;
  padding-left: 15px;
  z-index: 1;
  -webkit-clip-path: polygon(0 0, 50% 0, 100% 100%, 0 100%);
  clip-path: polygon(0 0, 50% 0, 100% 100%, 0 100%);
  bottom: 0;
  left: 0;
  z-index: 1;
  position: fixed;
}

#right-panel .uk-tab>li:first-child {
  padding-left: 5px;
}

#modal-full .uk-modal-dialog {
  background-color: rgba(0, 0, 0, 0.5);
}

.uk-spinner:not(.uk-preserve) [stroke*='#']:not(.uk-preserve) {
  stroke: #fff !important;
}


/* === range theme and appearance === */
input[type="range"] {
  margin: 0;
  font-size: 1rem;
  --thumb-height: 16px;
  --track-height: 3px;
  --brightness-hover: 180%;
  --brightness-down: 80%;
  --clip-edges: 0.125em;
}

input[type="range"].range-blue {
  width: 200px;

  color: #2b2d42;

  --thumb-height: 12px;
  --thumb-width: 0.5em;
  --clip-edges: 0;
}

@media (prefers-color-scheme: dark) {
  html {
    background-color: #000;
  }

  html::before {
    background: radial-gradient(circle at center, #101112, #000);
  }

  input[type="range"] {
    color: #f07167;
    --track-color: rgba(255, 255, 255, 0.1);
  }

  input[type="range"].range-blue {
    color: #3a86ff;
  }
}

/* === range commons === */
input[type="range"] {
  position: relative;
  background: #fff0;
  overflow: hidden;
}

input[type="range"]:active {
  cursor: grabbing;
}

input[type="range"]:disabled {
  filter: grayscale(1);
  opacity: 0.3;
  cursor: not-allowed;
}

/* === WebKit specific styles === */
input[type="range"],
input[type="range"]::-webkit-slider-runnable-track,
input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  transition: all ease 100ms;
  height: var(--thumb-height);
}

input[type="range"]::-webkit-slider-runnable-track,
input[type="range"]::-webkit-slider-thumb {
  position: relative;
}

input[type="range"]::-webkit-slider-thumb {
  --thumb-radius: calc((var(--thumb-height) * 0.5) - 1px);
  --clip-top: calc((var(--thumb-height) - var(--track-height)) * 0.5 - 0.5px);
  --clip-bottom: calc(var(--thumb-height) - var(--clip-top));
  --clip-further: calc(100% + 1px);
  --box-fill: calc(-100vmax - var(--thumb-width, var(--thumb-height))) 0 0 100vmax currentColor;

  width: var(--thumb-width, var(--thumb-height));
  background: linear-gradient(currentColor 0 0) scroll no-repeat left center / 50% calc(var(--track-height) + 1px);
  background-color: currentColor;
  box-shadow: var(--box-fill);
  border-radius: 0;
  filter: brightness(100%);
  clip-path: polygon(100% -1px,
      var(--clip-edges) -1px,
      0 var(--clip-top),
      -100vmax var(--clip-top),
      -100vmax var(--clip-bottom),
      0 var(--clip-bottom),
      var(--clip-edges) 100%,
      var(--clip-further) var(--clip-further));
}

input[type="range"]:hover::-webkit-slider-thumb {
  filter: brightness(var(--brightness-hover));
  cursor: grab;
}

input[type="range"]:active::-webkit-slider-thumb {
  filter: brightness(var(--brightness-down));
  cursor: grabbing;
}

input[type="range"]::-webkit-slider-runnable-track {
  background: linear-gradient(var(--track-color) 0 0) scroll no-repeat center / 100% calc(var(--track-height) + 1px);
}

input[type="range"]:disabled::-webkit-slider-thumb {
  cursor: not-allowed;
}

/* === Firefox specific styles === */
input[type="range"],
input[type="range"]::-moz-range-track,
input[type="range"]::-moz-range-thumb {
  appearance: none;
  transition: all ease 100ms;
  height: var(--thumb-height);
}

input[type="range"]::-moz-range-track,
input[type="range"]::-moz-range-thumb,
input[type="range"]::-moz-range-progress {
  background: #fff0;
}

input[type="range"]::-moz-range-thumb {
  background: currentColor;
  border: 0;
  width: var(--thumb-width, var(--thumb-height));
  border-radius: var(--thumb-width, var(--thumb-height));
  cursor: grab;
}

input[type="range"]:active::-moz-range-thumb {
  cursor: grabbing;
}

input[type="range"]::-moz-range-track {
  width: 100%;
  background: var(--track-color);
}

input[type="range"]::-moz-range-progress {
  appearance: none;
  background: currentColor;
  transition-delay: 30ms;
}

input[type="range"]::-moz-range-track,
input[type="range"]::-moz-range-progress {
  height: calc(var(--track-height) + 1px);
  border-radius: var(--track-height);
}

input[type="range"]::-moz-range-thumb,
input[type="range"]::-moz-range-progress {
  filter: brightness(100%);
}

input[type="range"]:hover::-moz-range-thumb,
input[type="range"]:hover::-moz-range-progress {
  filter: brightness(var(--brightness-hover));
}

input[type="range"]:active::-moz-range-thumb,
input[type="range"]:active::-moz-range-progress {
  filter: brightness(var(--brightness-down));
}

input[type="range"]:disabled::-moz-range-thumb {
  cursor: not-allowed;
}

