* {
    padding: 0;
    margin: 0;
    border: 0;
}
html, body {
    height: 100%;
    margin: 0;
} 
body {
    background: #ccc;
}

li {
    list-style: none;
    margin: 0 0 10px 0;
}

/* ============================= IMAGE EDITOR */
.image-editor__container {
    outline: none;
    flex: 1; 
    margin-left: 33%;
    margin-right: 33%;
}

.image-editor__container-loading {
    background: white;
}

.image-editor__workspace {
    position:relative;
}

.image-editor__container-loading .image-editor__workspace {
    visibility: hidden;
}

.image-editor__canvas-workspace {
    visibility: hidden;
}

.image-editor__image-layer {
    opacity: .5;
    pointer-events: none;
    position: absolute;
    display:block;
    transition: transform 0.1s linear;
    transform-origin: 0 0;
    transform: translateZ(0);
}

.image-editor__container-loading .image-editor__image-layer {
    transition: none;
}

.image-editor__crop-container  {
    position: absolute;
      top: 0;
      left: 0;
    z-index: 1;
    cursor: pointer;
    display: flex;
    outline: none;
    overflow: hidden;
    border: 1px solid black;
    transition: all 0.09s linear;
    /* to offset the 1px border */
    margin: -1px;
}

.image-editor__crop-container:active {
    cursor: move;
    background: rgba(204,204,204,0.251);
}

.image-editor__container-loading .image-editor__crop-container {
    transition: none;
}

.image-editor__crop-container:active .image-editor__guide,
.image-editor__crop-container:active:after,
.image-editor__crop-container:active:before {
    position: absolute;
    padding: 0;
    width: 1px;
    height: 100%;
    overflow: hidden;
    left: 33%;
    content: ' ';
    background-color: rgba(0, 0, 0, .55);
    z-index: 1000;
    display: block;
    z-index: 500;
}

.image-editor__crop-container:active:before {
    right: 33%;
    left: auto;
}

.image-editor__crop-container:active .image-editor__guide-horiz-top {
    left: auto;
    width: 100%;
    height: 1px;
    top: 33%;
}

.image-editor__crop-container:active .image-editor__guide-horiz-bottom {
    left: auto;
    width: 100%;
    height: 1px;
    bottom: 33%;
    top: auto;
}

.image-editor__draggable-corner {
    position: absolute;
    display: block;
    background: transparent;
    z-index: 999;
    width: 0;
    height: 0;
    border-style: solid;
    transition: border 0.1s linear;
}

.image-editor__draggable-corner-nw {
    top: 0;
    left: 0;
    border-width: 10px 10px 0 0;
    border-color: red transparent transparent transparent;
    cursor: nw-resize;
}

.image-editor__draggable-corner-nw:hover,
.image-editor__draggable-corner-nw:active {
    border-color: blue transparent transparent transparent;
    border-width: 20px 20px 0 0;
}

.image-editor__draggable-corner-sw {
    bottom: 0;
    left: 0;
    border-width: 10px 0 0 10px;
    border-color: transparent transparent transparent red;
    cursor: sw-resize;
}

.image-editor__draggable-corner-sw:hover,
.image-editor__draggable-corner-sw:active {
    border-color: transparent transparent transparent blue;
    border-width: 20px 0 0 20px;
}

.image-editor__draggable-corner-ne {
    top: 0;
    right: 0;
    border-width: 0 10px 10px 0;
    border-color: transparent red transparent transparent;
    cursor: ne-resize;
}

.image-editor__draggable-corner-ne:hover,
.image-editor__draggable-corner-ne:active {
    border-color: transparent blue transparent transparent;
    border-width: 0 20px 20px 0;
}

.image-editor__draggable-corner-se {
    bottom: 0;
    right: 0;
    border-width: 0 0 10px 10px;
    border-color: transparent transparent red transparent;
    cursor: se-resize;
}

.image-editor__draggable-corner-se:hover,
.image-editor__draggable-corner-se:active {
    border-color: transparent transparent blue transparent;
    border-width: 0 0 20px 20px;
}

/* ============================= ANIMATIONS */

/* loading animation */
@keyframes pulse_animation {
    0% { opacity: 1; }
    25% { opacity: .25; }
    50% { opacity: .5; }
    75% { opacity: .75; }
    100% { opacity: 1; }
}

/* ============================= APP STYLES */

.media-image-editor__container {
    height: 100%;
    width: 100%;
}

.media-image-editor__canvas-container {
    height:80%;
    display: flex;
    flex-direction: row;
    align-content: stretch;
    min-height: 200px;
    max-height: 500px;
    width: 80%;
    margin: 2% 10%;
}

/* ============================= DEBUG */
.media-image-editor_debug-container {
    display: block;
    background: red;
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 500;
    padding: 0;
    box-sizing: border-box;
    border: 10px solid rgba( 255, 255, 255, 0.5 );
    width: 200px;
}

.media-image-editor_debug-values {
    color: white;
    font-size: .8em;
    padding: 10px;
}

.media-image-editor_debug__preview-container {
    display: block;
}

.media-image-editor_debug__preview-container img {
    display: block;
    width: 50%;
    height: 50%;
}
