html,
body {
   margin: 0;
   padding: 0;
   width: 100%;
   height: 100%;
   font-family: Roboto, arial, helvetica, sans-serif;
}

[data-noselect] {
   -webkit-touch-callout: none;
   -webkit-user-select: none;
   -khtml-user-select: none;
   -moz-user-select: none;
   -ms-user-select: none;
   user-select: none;
}

* { box-sizing: border-box; }

canvas, img { padding: 0; margin: 0; }

#toolbar {
   position: fixed;
   left: 0;
   top: 0;
   bottom: 0;
   width: 220px;
   border-right: solid 1px gray;
   padding: 10px;
}

#toolbar span {
   display: block;
}

#imager {
   position: fixed;
   top: 0;
   left: 220px;
   right: 0;
   bottom: 0;
   background-image: url("gui/Locator_Grid.png");
   cursor: move;
   overflow: hidden;
   pading: 0;
   margin: 0;
}

#imager > div {
   position: absolute;
}

#top_curtain {
   top: 0;
   left: 0;
   right: 0;
   background-color: rgba(255, 255, 255, .5);
}

#left_curtain {
   left: 0;
   background-color: rgba(255, 255, 255, .5);
}

#crop_area { border: dashed 1px green; }

#right_curtain {
   right: 0;
   background-color: rgba(255, 255, 255, .5);
}

#bottom_curtain {
   left: 0;
   right: 0;
   bottom: 0;
   background-color: rgba(255, 255, 255, .5);
}

#sourceImage { position: absolute; }

.upload-btn-wrapper {
   position: relative;
   overflow: hidden;
   display: inline-block;
}

.upload-btn-wrapper .btn {
   border: 2px solid gray;
   color: gray;
   background-color: white;
   padding: 8px 20px;
   border-radius: 8px;
   font-size: 20px;
   font-weight: bold;
}

.upload-btn-wrapper input[type=file] {
   font-size: 100px;
   position: absolute;
   left: 0;
   top: 0;
   opacity: 0;
}

.label {
   color: gray;
   font-size: 12px;
   margin-top: 10px;
}

.value {
   color: orangered;
   font-size: 14px;
   text-align: right;
   margin-bottom: 10px;
   padding-bottom: 5px;
   padding-top: 3px;
   border-bottom: solid 1px gainsboro;
}

#crop_container {
   background-color: #F9F9F9;
   border: solid 1px gray;
   border-radius: 10px;
   padding: 10px;
}

.ilLabel {
   color: gray;
   font-size: 12px;
   display: inline-block;
   text-align: right;
}

#cropMe {
   position: fixed;
   right: 10px;
   bottom: 10px;
   background-color: white;
   border: solid 1px gray;
}

.error {
   display: none;
   font-size: 12px;
   border-left: solid 5px red;
   color: black;
   padding: 10px;
   background-color: rgb(255, 220, 220);
}

.error i {
   display: inline-block;
   float: left;
   color: red;
}

.error span {
   margin-left: 35px;
}

.sliderA, .sliderB  {
    -webkit-appearance: none;
    width: 180px;
    height: 10px;
    padding: 0;
    margin: 5px 0 10px 0;
    border-radius: 5px;   
    background: #d3d3d3;
    outline: none;
    opacity: 0.7;
    -webkit-transition: .2s;
    transition: opacity .2s;
}

.sliderA::-webkit-slider-thumb, .sliderB::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%; 
    background: #4CAF50;
    cursor: pointer;
}

.sliderA::-moz-range-thumb, .sliderB::-moz-range-thumb {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #4CAF50;
    cursor: pointer;
}