:root {
    --blackish: #012c38;
    --yolo-yellow: #fcfa79;
    --fresh-mint: #c4fdd0;
    --tasty-teal: #01c9d7;
    --chilled-electric: #effbff;
    --hot-pink: #fa00af;
    --chilled-pink: #fdcde4;

    --title-font: "San Francisco", "Helvetica Neue", "Helvetica", "Arial";
    --niche-font: "Courier New", Courier, monospace;

    --box-shadow: 3px 3px var(--blackish);
    --box-shadow-dark: 3px 3px black;
}

@keyframes bounce-down {
    0% {
        transform: scaleY(1);
        transform-origin: top;
        opacity: 0;
    }
    10% {
        transform: scaleY(0.9);
        transform-origin: top;
    }
    100% {
        transform: scaleY(1);
        transform-origin: top;
        opacity: 1;
    }
}

@keyframes click-effect {
    25%,
    50% {
        transform: scale(1.2);
    }
}

.controls-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 1;
    pointer-events: none;
}

.controls-overlay div {
        pointer-events: all;
    }

.gizmos {
    position: absolute;
    left: 0;
    bottom: 0;
    padding: 5px;
    display: flex;
}

@media only screen and (max-width: 768px) {

.gizmos {
        flex-flow: column-reverse;
}
    }

.objects-menu {
    position: absolute;
    left: 0;
    padding: 5px;
    display: flex;
}

.scenes-menu {
    position: absolute;
    right: 0;
    bottom: 0;
    padding: 5px;
    display: flex;
}

.settings-menu {
    position: absolute;
    right: 0;
    padding: 5px;
    display: flex;
    align-items: center;
}

@media only screen and (max-width: 768px) {

.settings-menu {
        flex-flow: column-reverse;
}
    }

.tool-button {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    margin: 5px;
    border-radius: 50%;
    border: 2px solid var(--blackish);
    box-shadow: var(--box-shadow);
    outline: none;
    color: var(--blackish);
    background-color: #fff;
    z-index: 2;
    outline: none;
}

.tool-button svg {
        width: 22px;
        height: 22px;
        fill: none;
        stroke: currentColor;
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

.tool-button:hover {
        cursor: pointer;
        box-shadow: none;
        transform: translate(2px, 2px);
    }

.tool-button.is-active {
        box-shadow: none;
        transform: translate(2px, 2px);
    }

.tool-button.is-active.chilled-pink {
            background-color: var(--chilled-pink);
        }

.tool-button.is-active.tasty-teal {
            background-color: var(--tasty-teal);
        }

.tool-button.is-active.chilled-electric {
            background-color: var(--chilled-electric);
        }

.tool-button.is-active.fresh-mint {
            background-color: var(--fresh-mint);
        }

.tool-button.is-active.yolo-yellow {
            background-color: var(--yolo-yellow);
        }

.tool-button.is-active.hot-pink {
            background-color: var(--hot-pink);
        }

.dark .tool-button {
    background-color: var(--blackish);
    border: 2px solid #000;
    color: #fff;
    box-shadow: var(--box-shadow-dark);
}

.dark .tool-button:hover,
    .dark .tool-button.is-active {
        box-shadow: none;
        transform: translate(2px, 2px);
    }

#upgrade-button {
    display: none;
    margin: 5px;
}

@media only screen and (max-width: 768px) {

#upgrade-button {
        width: 50px;
        height: 50px;
        border-radius: 50%;
        font-size: 10px;
        align-items: center;
        padding: 0;
        padding: 2px;
        text-transform: uppercase;
}
    }

.button {
    padding: 7px 17px;
    margin-top: 5px;
    border: 2px solid var(--blackish);
    border-radius: 20px;
    box-shadow: 3px 3px 0 var(--blackish);
    background-color: var(--yolo-yellow);
    color: var(--blackish);
    font-family: var(--niche-font);
    font-size: 17px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

.button.pink {
      background-color: var(--chilled-pink);
    }

.button.mint {
      background-color: var(--fresh-mint);
    }

.button.yellow {
        background-color: var(--yolo-yellow);
    }

.button.small {
        padding: 3px 12px;
    }

.button.social {
        width: 50px;
        height: 50px;
        padding: 0;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        float: left;
        margin-right: 15px;
    }

.button.social svg {
            width: 22px;
            height: 22px;
            fill: none;
            stroke: currentColor;
            stroke-width: 2;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

.button:hover {
      box-shadow: none;
      transform: translate(2px,2px);
    }

.dark .button {
    border-color: #000;
    box-shadow: 3px 3px #000;
}

.dark .button:hover {
        box-shadow: none;
    }

@keyframes loading {
    0% {
        transform: scaleY(1);
    }
    49% {
        transform: scaleY(1);
    }
    50% {
        transform: scaleY(-1);
    }
    100% {
        transform: scaleY(-1);
    }
}

#loading {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: none;
    justify-content: center;
    flex-flow: column;
    align-items: center;
    background-color: rgba(10, 10, 10, 0.86);
    z-index: 10;
    pointer-events: all;
    text-align: center;
    color: #fff;
    font-weight: bold;
}

#loading svg {
      width: 50px;
      height: 50px;
      fill: none;
      stroke: currentColor;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;

      animation: loading 1s infinite;
    }

#loading.is-active {
    display: flex;
}

.loader {
    text-align: center;
}

.loader svg {
        width: 22px;
        height: 22px;
        fill: none;
        stroke: currentColor;
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round;
        width: 30px;
        height: 30px;
        animation: loading 1s infinite;
    }

.button-loader svg {
        width: 22px;
        height: 22px;
        fill: none;
        stroke: currentColor;
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round;
        animation: loading 1s infinite;
        margin-bottom: -8px;
    }

@media only screen and (hover: hover) {
        .tool-button:hover .tooltip {
            display: block;
        }
}

.tooltip {
    display: none;
    position: absolute;
    top: 65px;
    left: 0;
    width: 100px;
    background-color: var(--blackish);
    color: #fff;
    font-size: 14px;
    padding: 8px 5px;
    z-index: 2;
}

.tooltip::before {
        content: " ";
        position: absolute;
        bottom: 100%;
        left: 19px;
        border: solid transparent;
        height: 0;
        width: 0;
        pointer-events: none;
        border-bottom-color: var(--blackish);
        border-width: 6px;
    }

.tooltip.bottom {
        top: unset;
        bottom: 60px;
    }

.tooltip.bottom::before {
            bottom: unset;
            top: 100%;
            left: 19px;
            border: solid transparent;
            border-top-color: var(--blackish);
            border-width: 6px;
        }

.tooltip.right {
        left: unset;
        right: 0;
    }

.tooltip.right::before {
            bottom: 100%;
            left: unset;
            right: 19px;
            border-bottom-color: var(--blackish);
            border-width: 6px;
        }

.tooltip.bottom-right {
        left: unset;
        right: 0;
        top: unset;
        bottom: 65px;
    }

.tooltip.bottom-right::before {
            bottom: unset;
            top: 100%;
            left: unset;
            right: 19px;
            border: solid transparent;
            border-top-color: var(--blackish);
            border-width: 6px;
        }

#characters {
    position: absolute;
    top: 79px;
    left: 0;
    flex-direction: column;
    padding: 0;
    max-height: calc(100vh - 320px);
    min-height: 170px;
    overflow-y: scroll;
    overflow-x: hidden;
    padding-right: 10px;
    direction: rtl;
}

@media only screen and (min-width: 768px) {

#characters {
        top: 90px;
        max-height: calc(100vh - 180px);
}
    }

#characters li {
        display: grid;
        grid-template-columns: 30px 30px;
        margin: 5px -5px;
        padding: 5px;
        outline: none;
        border: 2px solid;
        background: none;
        transition-duration: 0.2s;
        background-color: #fff;
        border-radius: 0 15px 15px 0;
        z-index: 1;
        box-shadow: var(--box-shadow);
    }

#characters li .tab-toggle,
        #characters li .tab-flip,
        #characters li .tab-delete,
        #characters li .tab-duplicate {
            display: none;
        }

#characters li.active {
            transform: translate(2px, 2px);
            box-shadow: none;
            background-color: #f8f7b0;
            grid-template-rows: 30px 30px;
        }

#characters li.active .tab-toggle,
            #characters li.active .tab-flip,
            #characters li.active .tab-delete,
            #characters li.active .tab-duplicate {
                display: flex;
            }

#characters li.pink {
            background-color: var(--chilled-pink);
        }

#characters li.mint {
            background-color: var(--fresh-mint);
        }

#characters li.grey {
            background-color: rgb(210, 210, 210);
        }

#characters li button {
            width: 100%;
            text-align: left;
            background: none;
            color: inherit;
            border: none;
            padding: 0;
            font: inherit;
            cursor: pointer;
            outline: inherit;
            width: unset;
            display: flex;
            align-items: center;
            justify-content: center;
            height: 30px;
        }

#characters li button:hover {
                transform: scale(1.1);
            }

#characters li button svg {
                width: 22px;
                height: 22px;
                fill: none;
                stroke: currentColor;
                stroke-width: 2;
                stroke-linecap: round;
                stroke-linejoin: round;
                width: 18px;
                height: 18px;
                padding: 0;
            }

#characters li button img {
                width: 25px;
            }

#characters li button.tab-toggle svg {
                    display: none;
                }

#characters li button.tab-toggle svg:hover {
                        stroke: var(--tasty-teal);
                    }

#characters li button.tab-toggle svg.is-active {
                        display: inline-block;
                    }

#characters li button.tab-toggle svg.off {
                        stroke: var(--hot-pink);
                    }

#characters li button.tab-delete svg:hover {
                        stroke: var(--hot-pink);
                    }

#characters li .tab-color {
            align-self: center;
            margin: 0 auto;
            width: 20px;
            height: 20px;
            border: none;
            padding: 0;
        }

.dark #characters li {
            background-color: var(--blackish);
            color: #fff;
            border: 2px solid #000;
            box-shadow: var(--box-shadow-dark);
        }

.dark #characters li.active {
                box-shadow: none;
                background-color: #1b728b;
            }

.trash-tab {
    position: absolute;
    top: 60px;
    left: -8px;
    width: 30px !important;
    height: 30px !important;
    border-radius: 0% 50% 50% 0;
    padding: 0;
    z-index: 1;
}

@media only screen and (min-width: 768px) {

.trash-tab {
        top: 70px;
}
    }

.trash-tab svg {
        width: 22px;
        height: 22px;
        fill: none;
        stroke: currentColor;
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round;
        width: 16px;
        height: 16px;
        padding: 0;
    }

.popup-menu {
  display: none;
  flex-flow: column nowrap;
  position: absolute;
  top: 70px;
  left: 0;
  max-height: 80vh;
  min-width: 250px;
  overflow-y: auto;
  list-style: none;
  margin: 0 10px;
  padding: 10px;
  z-index: 5;
  background: #fff;
  border: 1px solid;
  box-shadow: 3px 3px var(--yolo-yellow);
  background-color: var(--chilled-electric);
}

.popup-menu:nth-of-type(even) {
    box-shadow: 3px 3px var(--fresh-mint);
    background-color: #fff;
  }

.popup-menu.is-active {
    display: flex;
    animation: bounce-down 0.3s cubic-bezier(0.175, 0.885, 0.320, 1.275) both;
  }

.popup-menu.bottom {
    top: unset;
    bottom: 70px;
  }

.popup-menu.right {
    left: unset;
    right: 0;
  }

@media only screen and (max-width: 768px) {
    .popup-menu.right:not(.bottom) {
      right: 60px;
    }
  }

.popup-menu h2 {
    text-align: center;
    text-shadow: 3px 3px var(--chilled-pink);
  }

.popup-menu .panel-heading {
    font-size: 20px;
    font-weight: bold;
    margin: 0 0 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid;
  }

.popup-menu .panel-tabs {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px dashed;
    margin-bottom: 5px;
    min-height: 25px;
  }

.popup-menu .panel-tabs a {
      padding: 3px;
      cursor: pointer;
    }

.popup-menu .panel-tabs a.is-active,
      .popup-menu .panel-tabs a:hover {
        color: var(--hot-pink);
      }

.popup-menu a {
    text-decoration: none;
  }

.popup-menu a:hover {
    color: var(--tasty-teal);
  }

.popup-menu .panel-block {
    display: flex;
    align-items: center;
    min-height: 30px;
    cursor: pointer;
    padding: 5px 0;
  }

.popup-menu .panel-block.locked:before {
      content: "⭐ "
    }

.popup-menu .panel-block:nth-child(odd) {
      background: #9c9c9c15;
    }

.popup-menu .panel-block button:not(.delete) {
      width: 100%;
      margin-bottom: 10px;
    }

.popup-menu .panel-block button.small:not(.delete) {
        background-color: var(--fresh-mint);
        font-size: 12px;
      }

.popup-menu .panel-block button.small:not(.delete):last-child {
          margin-left: 8px;
        }

.popup-menu .panel-block.double-button {
      justify-content: flex-end;
      text-align: right;
    }

.popup-menu .panel-block.double-button .button {
        padding: 0;
        width: 75px;
        float: right;
        margin-left: 5px;
      }

.popup-menu .panel-block.heading {
      display: block;
      cursor: initial;
      text-align: center;
      font-weight: bold;
    }

@media only screen and (max-width: 768px) {
      .popup-menu .panel-block h4 {
        margin: 8px;
      }
    }

.popup-menu .panel-block .button {
      padding: 7px;
    }

.popup-menu .panel-block .delete {
      background: var(--chilled-pink);
      border: none;
      border-radius: 50%;
      width: 17px;
      height: 17px;
      padding: 0;
      cursor: pointer;
      flex: none;
    }

.popup-menu .panel-block .delete:hover {
        background: var(--hot-pink);
      }

.popup-menu .panel-block .delete:before {
        content: "\00d7";
        color: #fff;
        font-weight: 300;
        font-size: 15px;
        font-family: Arial, sans-serif;
      }

.popup-menu .panel-block.license-key {
      flex-flow: column;
    }

.popup-menu .panel-block .link {
      display: flex;
      align-items: center;
    }

.popup-menu .panel-block .link img {
        padding-right: 5px;
        width: 25px;
      }

.dark .popup-menu {
    background-color: var(--blackish);
    color: #fff;
    border-color: #000;
    box-shadow: var(--box-shadow-dark);
  }

.dark .popup-menu h2 {
      text-shadow: none;
    }

.accordion {
    cursor: pointer;
    width: 100%;
    border: none;
    outline: none;
    align-items: center;
    font-weight: bold;
    order: 1;
}

.accordion.locked .items .panel-block:before {
        content: "⭐ "
    }

.accordion:hover,
    .accordion.active {
        color: var(--hot-pink);
        border-bottom: 1px dashed;
    }

.accordion.active .header:before {
            content: "-";
        }

.accordion .header {
        margin: 0;
        padding: 10px;
    }

.accordion .header:before {
            content: "+";
            padding-right: 10px;
        }

.accordion .items {
        display: none;
        overflow: hidden;
    }

.accordion .items.active {
            display: block;
        }

.accordion .items .panel-block {
            font-weight: normal;
            padding-left: 23px;
        }

.accordion .items .panel-block:before {
                content: "•";
                padding-right: 10px;
            }

.accordion .items .panel-block:last-child {
                border-radius: 0;
            }

#props-menu .panel-block:before {
    content: '';
    padding-right: 5px;
}

.hl {
    color: #fff;
    background-color: var(--blackish);
    white-space:nowrap;
    padding: 0 2px;
}

.hl.hot-pink {
        background-color: var(--hot-pink);
    }

.hl.tasty-teal {
        background-color: var(--tasty-teal);
    }

.hl.fresh-mint {
        background-color: var(--fresh-mint);
        color: var(--blackish);
    }

.hl.chilled-electric {
        background-color: var(--chilled-electric);
        color: var(--blackish);
    }

.hl.chilled-pink {
        background-color: var(--chilled-pink);
        color: var(--blackish);
    }

.dark .hl {
    color: var(--blackish);
    background-color: #fff;
}

.popup-container {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.popup {
  display: none;
  background: var(--chilled-electric);
  width: 80vw;
  max-width: 450px;
  padding: 25px;
  box-shadow: var(--box-shadow);
  border: 1px solid;
  z-index: 1;
  pointer-events: all;
}

.popup h2 {
    border-bottom: 1px solid;
  }

.popup a {
    color: var(--hot-pink);
    text-decoration: none;
  }

.popup a:hover {
      text-decoration: none;
      color: var(--tasty-teal);
    }

.popup svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

.popup.is-active {
    display: block;
    animation: bounce-down 0.3s cubic-bezier(0.175, 0.885, 0.320, 1.275) both;
  }

.tutorial {
    pointer-events: none;
    position:fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    opacity: 0;
    transition-duration: 1s;
}

.tutorial.is-active {
        opacity: 0.8;
    }

.tutorial .item {
        pointer-events: none;
        position: absolute;
        color: #f39cc6;
        width: 300px;
        font-family: 'Courier New', Courier, monospace;
        font-size: 20px;
        font-weight: bold;
    }

.tutorial .item svg {
            width: 50px;
            height: 56px;
        }

@media only screen and (max-width: 768px) {

.tutorial .item {
            font-size: 14px;
            width: 60vw;
            display: none;
    }

            .tutorial .item svg {
                display: none !important;
            }

            .tutorial .item span {
                padding: 0 !important;
            }
            .tutorial .item.characters {
                display: block;
                left: 40px !important;
                top: 50px !important;
            }

            .tutorial .item.tab {
                display: block;
                left: 80px !important;
                top: 100px !important;
            }

            .tutorial .item.rotate {
                display: block;
                left: 64px !important;
                bottom: 22px !important;
            }

            .tutorial .item.move {
                display: block;
                left: 64px !important;
                bottom: 76px !important;
            }

            .tutorial .item.scale {
                display: block;
                left: 64px !important;
                bottom: 130px !important;
            }

            .tutorial .item.hide {
                display: block;
                left: 64px !important;
                bottom: 187px !important;
            }

            .tutorial .item.camera {
                display: block;
                text-align: right;
                right: 64px !important;
                top: 190px !important;
            }

            .tutorial .item.lock {
                display: block;
                text-align: right;
                right: 64px !important;
                top: 130px !important;
            }

            .tutorial .item.mirror {
                display: block;
                text-align: right;
                right: 64px !important;
                top: 250px !important;
            }

            .tutorial .item.settings {
                display: block;
                text-align: right;
                right: 64px !important;
                top: 70px !important;
            }

            .tutorial .item.tips {
                display: block;
                text-align: right;
                right: 64px !important;
                top: 10px !important;
            }

            .tutorial .item.screenshot {
                display: block;
                text-align: right;
                right: 3px !important;
                bottom: 60px !important;
            }
        }

@media only screen and (max-width: 420px) {

.tutorial .item {
            font-size: 12px;
    }
        }

.dark .tutorial {
    z-index: auto;
}

.obit-controls-gizmo {
	position: absolute;
    bottom: 70px;
	right: 10px;
    z-index: 0;
    background-color: #FFF0;
    border-radius: 100%;
    transition: background-color .15s linear;
    cursor: pointer;
    user-select: none;
}

.obit-controls-gizmo.dragging, .obit-controls-gizmo:hover  {
    background-color: #FFF3;

}

.obit-controls-gizmo.inactive {
    pointer-events: none;
    background-color: #FFF0 !important;
}

.dg.a {
    float: left !important;
    margin-left: 2em !important;
}

#drop-overlay {
    position: absolute;
    display: none;
    justify-content: center;
    align-items: center;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(42, 215, 215, 0.8);
    z-index: 2;
}

#drop-overlay .box {
        max-width: 400px;
        width: 90%;
        height: 400px;
        border: 2px dashed #fff;
        border-radius: 20px;
        color: #fff;
        background-color: rgba(42, 215, 215, 0.9);
        text-align: center;
    }

#drop-overlay .box #drop-text, #drop-overlay .box ul {
            text-align: left;
            padding: 0 75px;
        }

.hand-editor {
    display: none;
    justify-content: center;
    align-items: center;
    position: absolute;
    bottom: 0;
    top: 0;
    right: 0;
    left: 0;
    z-index: 2;
    pointer-events: none;
}

.hand-editor .overlay {
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        left: 0;
        background: rgba(1, 201, 215, 0.81);
        pointer-events: all;
        cursor: not-allowed;
        transition: all 0.5s ease;
    }

@media only screen and (min-width: 768px) {

.hand-editor .overlay {
            flex-direction: column;
    }
        }

.hand-editor .overlay.top {
            top: 0;
            bottom: unset;
        }

.hand-editor .overlay.bottom {
            top: unset;
            bottom: 0;
        }

.hand-editor .overlay.right {
            left: unset;
            right: 0;
        }

.hand-editor .overlay.left {
            right: unset;
            left: 0;
        }

.hand-editor .close {
        position: absolute;
        bottom: 20px;
        right: calc(50% - 95px);
        z-index: 4;
        pointer-events: all;
    }

#alert {
    position: absolute;
    top: -350vh;
    left: 7px;
    right: 7px;
    max-width: 500px;
    margin: 0 auto;
    z-index: 3;
    background-color: #effbff;
    padding: 18px;
    border: 1px solid grey;
    border-radius: 5px;
    font-size: 14px;
    text-align: center;
    transition: 1s ease-in-out;
    cursor: pointer;
}

#alert.visible {
        top: 10px;
    }

#alert svg {
        width: 22px;
        height: 22px;
        fill: none;
        stroke: currentColor;
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round;
        width: 18px;
        height: 18px;
    }

.app-banner,
.instructions-banner {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    display: flex;
    align-items: center;
    background-color: #f7f7f7;
    padding: 10px 15px;
    font-size: 14px;
    user-select: none;
    transition: margin 0.3s ease-in-out;
    z-index: 100;
}

.app-banner {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    max-height: 82px;
    padding-left: 0;
    border-bottom: 1px solid #ebebeb;
}

.app-banner.hidden {
    margin-top: -90px;
}

.app-icon {
    min-width: 60px;
    min-height: 60px;
    max-width: 60px;
    max-height: 60px;
    background-color: #e0e0e0;
    background-size: contain;
    border-radius: 15px;
    margin-right: 15px;
    border: 1px solid #ebebeb;
}

.app-info {
    flex-grow: 1;
    cursor: default;
}

.app-title {
    font-size: 18px;
    opacity: 1;
}

.app-subtitle {
    opacity: 0.5;
}

.get-button {
    background-color: #007aff;
    color: white;
    border: none;
    border-radius: 15px;
    padding: 5px 15px;
    font-size: 16px;
    cursor: pointer;
}

.get-button:active {
    background-color: #a8c6fe;
}

.instructions-banner {
    max-height: 200px;
    flex-flow: column nowrap;
    position: fixed;
    bottom: 0px;
    right: 0px;
    left: 0px;
    padding-top: 20px;
    border-top: 1px solid #ebebeb;
    text-align: center;
}

.instructions-banner.hidden {
    margin-bottom: -220px;
}

.instructions-banner img {
    height: 16px;
    width: 16px;
    margin-bottom: -3px;
}

.instructions-banner a {
    color: #007aff;
    text-decoration: none;
}

.close-button {
    font-size: 24px;
    padding: 8px;
    opacity: 0.5;
    cursor: pointer;
}

.instructions-banner .close-button {
    position: absolute;
    top: 0;
    right: 8px;
    padding: 0;
}

body {
  font-family: var(--title-font);
  color: var(--blackish);
  background-color: #fff;
  margin: 0px;
  height: 100vh;
  width: 100vw;
  overflow: hidden;
  user-select: none;
}

canvas {
  outline: none;
}

.selectable {
  user-select: all;
}

#version-number {
  position: absolute;
  bottom: 0;
  right: 0;
  color: grey;
  font-size: 8px;
  padding-right: 1px;
}

.stacked {
  flex-flow: column nowrap;
  align-items: stretch !important;
}

.thumbnail {
  width: 60px;
  height: 60px;
  object-fit: contain;
  margin-right: 5px;
}

.thumbnail.icon {
    width: 18px;
    height: 18px;
    text-align: center;
  }

.thumbnail.icon svg {
      width: 18px;
      height: 18px;
      fill: none;
      stroke: currentColor;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

img {
  max-width: 50px;
  max-height: 50px;
}

.dg.main {
  float: none !important;
  margin: 0 auto !important;
}

.delete {
  margin-left: auto;
}

.light-controls {
  padding: 0 10px;
  margin: 10px;
  background-color: #fff;
  border-radius: 5px;
  border: 1px solid #dbdbdb;
}

.light-controls img {
  width: 50px;
}

.light-controls .control {
  width: 200px;
  margin: 10px auto;
  text-align: center;
}

.info {
  position: absolute;
  display: none;
  bottom: 100px;
  right: 10px;
  list-style: none;
  padding: 10px;
  color: #fff;
  text-align: left;
  border: solid transparent 5px;
  background: rgba(0, 0, 0, 0.8);
}

#options-menu .panel-block {
  justify-content: space-between !important;
}

@media only screen and (max-width: 768px) {

#ppp {
    font-size: small;
}
  }

.unbutton {
  width: 100%;
  text-align: left;
  background: none;
  color: inherit;
  border: none;
  padding: 0;
  font: inherit;
  cursor: pointer;
  outline: inherit;
}

/** Some weird stuff with admin menu **/

.c {
  display: none;
}

/** Slider styles **/

input[type="range"] {
  overflow: hidden;
  appearance: none;
  background-color: #ccc;
  width: 230px;
  padding: 2px;
  outline: none;
  border-radius: 10px;
  cursor: pointer;
}

input[type="range"]::-webkit-slider-runnable-track {
  height: 16px;
  appearance: none;
  color: var(--tasty-teal);
  border-radius: 5px;
}

input[type="range"]::-webkit-slider-thumb {
  width: 16px;
  height: 16px;
  appearance: none;
  cursor: pointer;
  border-radius: 50%;
  background: #fff;
  box-shadow: -232px 0 0 232px var(--tasty-teal);
}

/** FF*/

input[type="range"]::-moz-range-progress {
  background-color: var(--tasty-teal);
  height: 16px;
}

input[type="range"]::-moz-range-track {
  background-color: #ccc;
  height: 16px;
}

/** Switch styles **/

/* The switch - the box around the slider */

.switch {
  margin-left: 5px;
  position: relative;
  display: inline-block;
  width: 36px;
  height: 20px;
}

/* Hide default HTML checkbox */

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

/* The slider */

.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  transition: 0.1s;
}

.slider:before {
  position: absolute;
  content: "";
  height: 16px;
  width: 16px;
  left: 2px;
  bottom: 2px;
  background-color: #fff;
  transition: 0.1s;
}

input:checked + .slider {
  background-color: var(--tasty-teal);
}

input:focus + .slider {
  box-shadow: 0 0 1px var(--tasty-teal);
}

input:checked + .slider:before {
  transform: translateX(16px);
}

/* Rounded sliders */

.slider.round {
  border-radius: 20px;
}

.slider.round:before {
  border-radius: 50%;
}

/* Text input */

.text-input {
  width: 95%;
  border: 2px solid;
  line-height: 2;
  border-radius: 5px;
}

/* DARK MODE STYLES */

.dark input[type="range"] {
  background-color: #9b9b9b;
}

.dark .thumbnail {
  color: #fff;
}


/*# sourceMappingURL=bundle.c4cb5b5d54711ce34b95.css.map*/