.cropper-container {
  position: relative;
  overflow: hidden;
  background-attachment: scroll, scroll, scroll;
  background-clip: border-box;
  background-color: #868a94;
  background-image: linear-gradient(45deg, #4b4b5a 25%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0) 75%, #4b4b5a 75%, #4b4b5a 0px), linear-gradient(45deg, #4b4b5a 25%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0) 75%, #4b4b5a 75%, #4b4b5a 0px), none;
  background-origin: padding-box;
  background-position: 0 0px, 10px 10px;
  background-repeat: repeat;
  background-size: 20px 20px;
}

.cropper-canvas {
  height: 100%;
  width: 100%;
  pointer-events: none;
}

.cropper {
  position: absolute;
  width: 200px;
  height: 200px;
  cursor: move;
  box-shadow: 1px 1px 0 #dc371c inset, -1px -1px 0 #dc371c inset;
}

.cropper::before {
  content: "";
  height: 100%;
  left: 0;
  outline: 10000px solid rgba(28, 28, 34, 0.6);
  position: absolute;
  top: 0;
  width: 100%;
}

.cropper-tip {
  background-color: #1c1c22;
  border-radius: 2px;
  color: #fff;
  display: none;
  font-family: consolas;
  font-size: 12px;
  left: calc(100% + 5px);
  min-width: 70px;
  padding: 5px;
  position: absolute;
  top: -1px;
}

.cropper.active .cropper-tip {
  display: block;
}

/* RESIZABLE */
.resizable {
  position: relative;
}

.resizable-resizing {
  z-index: 10000;
}

/*
 * HANDLES
 */
.handle {
  position: absolute;
  /*background-color: rgba(255,255,255,0.4);*/
}

.n {
  cursor: n-resize;
}

.e {
  cursor: e-resize;
}

.s {
  cursor: s-resize;
}

.w {
  cursor: w-resize;
}

.ne {
  cursor: ne-resize;
}

.se {
  cursor: se-resize;
}

.sw {
  cursor: sw-resize;
}

.nw {
  cursor: nw-resize;
}

.ne,
.se,
.sw,
.nw,
.handle::after {
  background-color: #dc371c;
  width: 8px;
  height: 8px;
  border: 1px solid #dc371c;
  box-sizing: border-box;
}

.handle::after {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0px);
          transform: translate3d(-50%, -50%, 0px);
  content: "";
}

.ne,
.se,
.sw,
.nw {
  z-index: 10;
}

.nw,
.n,
.ne {
  top: -4px;
}

.sw,
.s,
.se {
  bottom: -4px;
}

.ne,
.e,
.se {
  right: -4px;
}

.nw,
.w,
.sw {
  left: -4px;
}

.n,
.s {
  left: 0;
  height: 8px;
  width: 100%;
}

.e,
.w {
  top: 0;
  width: 8px;
  height: 100%;
}

body {
  margin: 0;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  font-family: "Roboto", sans-serif;
}

#tools {
  margin: 0;
  padding: 0;
}
#tools li {
  list-style: none;
}
#tools li button {
  position: relative;
  background-color: transparent;
  border: none;
  color: #fff;
  width: 100%;
  height: 50px;
  padding: 0;
  cursor: pointer;
}
#tools li button:hover {
  background-color: #282830;
}
#tools li button::after {
  position: absolute;
  left: 0;
  top: 0;
  font-family: "Material Design Icons";
  font-size: 28px;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
}

.crop::after {
  content: "\F19E";
}

.select::after {
  content: "\F488";
}

.preview::after {
  content: "\F6D0";
}

#container .cropper {
  display: none;
}

#container.selectable .cropper-container {
  cursor: crosshair;
}
#container.selectable .cropper {
  display: block;
}
#container.selectable .select::after {
  content: "\F485";
}

#sidebar {
  float: left;
  width: 50px;
  height: 100vh;
  background-color: #1c1c22;
  z-index: 1000;
}

#main {
  width: calc(100vw - 50px - 200px);
  float: left;
  height: 100vh;
}

#rightbar {
  float: left;
  background-color: #1c1c22;
  top: 0;
  position: fixed;
  right: 0;
  width: 200px;
  height: 100vh;
}

#container.previewable .preview::after {
  content: "\F6CF";
}

#previews {
  display: none;
}

#container.previewable.selectable #previews {
  display: block;
}

[data-tooltip] {
  position: relative;
}

[data-tooltip]::before,
[data-tooltip]::after {
  position: absolute;
  top: 50%;
  -webkit-transform: translate3d(0, -50%, 0);
          transform: translate3d(0, -50%, 0);
  opacity: 0;
  -webkit-transition: opacity 250ms ease 0ms;
  transition: opacity 250ms ease 0ms;
}

[data-tooltip]::after {
  position: absolute;
  left: calc(100% + 5px);
  width: auto;
  min-width: 75px;
  font-size: 12px;
  padding: 5px;
  text-align: center;
  background-color: #dc371c;
  color: #fff;
  content: attr(data-tooltip);
}

[data-tooltip]::before {
  width: 0;
  height: 0;
  border-width: 5px;
  border-color: transparent #dc371c transparent transparent;
  border-style: solid;
  right: -5px;
  content: "";
}

[data-tooltip]:hover::before,
[data-tooltip]:hover::after {
  opacity: 1;
}