.editable-image { cursor: pointer; display: block; transition: transform 200ms, box-shadow 200ms, border-color 200ms ease-out; box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.0); border: 1px solid #fff; position: relative; -webkit-perspective: 1000; & .alt-warning { position: absolute; bottom: 5px; right: 6px; font-size: 14px; color: var(--background-warning-color); text-shadow: 0px 0px 5px rgba(0, 0, 0, 1.0); z-index: 100; } & img { display: block; } &:hover { border-color: rgba(20, 20, 20, 0.5); transform: scale(1.01) translate(0px, -1px); box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.2); } } .image-editor { width: 80vw; height: 80vh; display: flex; @media (--mobile) { width: 100%; height: 100%; flex-direction: column; } & .toolbars { & .aspect-ratios { border-top: 0px; } } & .visual { flex: 1 1 auto; display: flex; flex-direction: column; } & .image-container { flex: 1 1 auto; width: 100%; height: 100%; background: #e5e5e5; background-image: linear-gradient(45deg, #fff 25%, transparent 25%), linear-gradient(135deg, #fff 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #fff 75%), linear-gradient(135deg, transparent 75%, #fff 75%); background-size: 12px 12px; background-position: 0 0, 6px 0, 6px -6px, 0px 6px; display: flex; flex-direction: column; justify-content: center; align-items: center; border: 1px solid var(--border-color); border-top: 0px; & .image-wrapper { position: absolute; flex-grow: 0; @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { position: relative; } & img { display: block; width: 100%; height: auto; } & .ReactCrop { width: 100%; background-color: transparent; } & .ReactCrop__crop-selection { &:before, &:after { content: ""; position: absolute; border: 0px solid rgb(200, 200, 200); opacity: 0.25; transition: opacity 200ms ease-out; } &:before { border-left-width: 1px; border-right-width: 1px; width: 33.33%; height: 100%; left: 33.33%; } &:after { border-top-width: 1px; border-bottom-width: 1px; width: 100%; height: 33.33%; top: 33.33%; } } & .ReactCrop--active .ReactCrop__crop-selection { &:before, &:after { opacity: 0.75; } } } & .loading { color: var(--text-light-color); } } & form { width: 300px; display: block; margin-left: 20px; & textarea { max-width: 100%; &.caption { height: 100px; } } & .embed-code { & input { width: 50%; margin-right: 8px; } } @media (--mobile) { width: 100%; margin-left: 0px; padding-bottom: 20px; & textarea.caption { height: inherit; } } } & .focal-editor { position: absolute; width: 100%; height: 100%; touch-action: none; overflow: hidden; & .focal-point { &:after { content: ""; display: block; width: 32px; height: 32px; border-radius: 16px; border: 1px solid rgba(0, 0, 0, 0.3); margin-left: -4px; margin-top: -4px; transition: all 200ms ease-out; } position: absolute; width: 30px; height: 30px; border: 3px solid rgba(222, 255, 255, 0.5); border-radius: 15px; margin-left: -15px; margin-top: -15px; top: 0px; left: 0px; touch-action: none; user-select: none; cursor: pointer; transition: border-radius 200ms, margin 200ms, width 200ms, height 200ms, border-color 200ms ease-out; &:hover { &:after { width: 42px; height: 42px; border-radius: 21px; } border-color: rgba(222, 255, 255, 0.9); width: 40px; height: 40px; border-radius: 20px; margin-left: -20px; margin-top: -20px; } } } }