/*
 * Software by John Liddiard (aka JohntheFish)
 * www.c5magic.co.uk
 *
 * This package contains software copyright and proprietary to John Liddiard
 *
 */


/*
 * A convenience, for any clickable related stying
 */
.snapshot-screengrab-btn:not([disabled]) {
    cursor: pointer;
}

.form-reform-snapshot-screengrab-repeater:disabled,
.form-reform-snapshot-screengrab-repeater[disabled],
.form-reform-snapshot-screengrab-repeater.disabled{
    background-color: #e9ecef;
}

.form-reform-snapshot-screengrab-repeater {
    height: auto;
    min-height:38px;
}


.form-reform-snapshot-screengrab-repeater .form-reform-placeholder{
    font-style: italic;
}

.form-reform-snapshot-screengrab-repeater .snapshot-form-reform-repeater-item {
    padding: 5px;
    outline: 1px solid #aaa;
    border-radius: 3px;
    margin-right: 5px;
    width: auto;
    display: inline-block;
    position: relative;
    min-height: 70px;
}

.form-reform-snapshot-screengrab-repeater .snapshot-form-reform-repeater-thumbnail {
    max-width: 200px;
    height: 100px;
    object-fit: contain;
}

.snapshot-screengrab-wrapper .snapshot-screengrab-repeater .snapshot-screengrab-upload-response .snapshot-remove,
.form-reform-snapshot-screengrab-repeater .snapshot-remove {
    position: absolute;
    right: 7px;
    bottom: 32px;
    background-color: rgba(200, 200, 200, 0.6);
    padding: 5px;
    border-radius: 2px;
}

.form-reform-snapshot-screengrab-repeater .snapshot-remove,
.form-reform-snapshot-screengrab-repeater .snapshot-remove i {
    animation: none !important;
}


/*
 * The button in the toolbar
 */
.jl-snapshot-button-screengrab.screengrab-killed {
    cursor: not-allowed;
    opacity: 0.4;
}

.jl-snapshot-button-screengrab.screengrab-killed .fa {
    transform: rotate(60deg);
}

@keyframes c_blinker {
    50% {
        opacity: 0;
    }
}

.jl-snapshot-button-screengrab.loading i {
    animation: c_blinker 0.6s linear infinite;
}

.jl-snapshot-button-screengrab.ready i {
    color: #d9534f;
}

.jl-snapshot-button-screengrab.pending i {
    animation: c_blinker 0.6s linear infinite;
    color: #d9534f;
}

.jl-snapshot-button-screengrab.snapped i {
    color: #5cb85c;
}


/*
 * Countdown ovewrlay gets messed about, cloned, taken out of the dom and attached to other things.
 * Handle with care!!
 */
.snapshot-screengrab-wrapper .snapshot-screengrab-repeater .screengrab-countdown {
    display: none;
}

.screengrab-countdown {
    display: flex;
    position: fixed;
    background: #ffffff;
    border: 1px solid #d9534f;
    border-radius: 50%;
    padding: 10px;
    font-size: 75px;
    width: 150px;
    height: 150px;
    text-align: center;
    verical-align: middle;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    justify-content: center;
    align-items: center;
    line-height: 150px;
    color: #d9534f;
    top: 5px;
    right: 5px;
    z-index: 10001;
}

/*
 * Styles copied from ccm toolbar for use in replicating in an overlay
 */

.ccm-ui.foreground-button-wrapper {
    display: none;
}

.ccm-ui.foreground-button-wrapper.initial,
.ccm-ui.foreground-button-wrapper.ready {
    z-index: 10000;
    display: block;
    position: fixed;
    box-shadow: 0 2px 2px rgba(90, 90, 90, 0.1);
    border-bottom: 1px solid #999;
    background-color: #FEFEFE;
    background: linear-gradient(to bottom, #f2f2f2 0, #fff 4%, #fff 50%, #eee 100%);
}

.ccm-ui.foreground-button-wrapper .foreground-button a {
    display: block;
    height: 47px;
    width: 60px;
    box-sizing: border-box;
    text-align: center;
    position: relative;
    font-size: 14px;
    color: #999;
    border-right: 1px solid #ccc;
    border-left: 1px solid #ccc;
    margin-left: -1px;
    text-decoration: none;
}

.ccm-ui.foreground-button-wrapper .foreground-button a:hover {
    color: #333;
    background-color: #dddddd;
    background-image: linear-gradient(to bottom, #ededed 0, #ddd 100%);
    background-repeat: repeat-x;
}

.ccm-ui.foreground-button-wrapper .foreground-button a i {
    font-size: 14px;
    transition: opacity cubic-bezier(.355, 0, 1, .035) .5s;
    position: absolute;
    top: 17px;
    left: 23px;
    width: 14px;
    height: 14px;
}

.ccm-ui.foreground-button-wrapper .foreground-button a .ccm-toolbar-accessibility-title {
    display: none;
    margin-left: 5px;
}


/*
 * Player area
 */
.snapshot-screengrab-wrapper.ccm-ui {
    position: fixed;
    width: 100vw;
    height: 100vh;
    align-items: center;
    justify-content: center;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(11, 11, 11, 0.9);
    z-index: 3010; /* Above screengrab or drag-drop or any magnific*/
    display: none;
}

.snapshot-screengrab-wrapper.loading {
    display: none;
}

.snapshot-screengrab-wrapper.ready {
    display: none;
}

.snapshot-screengrab-wrapper.snapped {
    display: flex;
}

.snapshot-screengrab-wrapper.pending {
    display: none;
}

.snapshot-screengrab-wrapper.initial {
    display: none;
}

html.snapshot-screengrab-no-overflow {
    overflow: hidden;
}

.snapshot-screengrab-wrapper .snapshot-screengrab-repeater {
    width: auto;
    height: auto;
    margin: auto;
}


/*
 * Image toggle with ready/snapped.
 * video and canvas always hidden for screengrab
 */
.snapshot-screengrab-wrapper .snapshot-screengrab-repeater .preview-image {
    object-fit: scale-down;
    width: 100%;
    height: auto;
    max-height: 100vh;
    display: none;
    border: 2px dashed rgba(0, 153, 255, 1.0);
}

.snapshot-screengrab-wrapper.ready .snapshot-screengrab-repeater .preview-image {
    display: none;
}

.snapshot-screengrab-wrapper.snapped .snapshot-screengrab-repeater .preview-image {
    display: block;
}

.snapshot-screengrab-wrapper .snapshot-screengrab-repeater .preview-video {
    display: none;
}

.snapshot-screengrab-wrapper .snapshot-screengrab-repeater .working-canvas {
    display: none;
}

/*
 * Animate while uploading
 */
@keyframes grab_uploading {
    0% {
        transform: scale(1);
        opacity: 100%
    }
    50% {
        transform: scale(0.9);
        opacity: 10%
    }
    100% {
        transform: scale(1);
        opacity: 100%;
    }
}

.snapshot-screengrab-wrapper.snapshot-uploading .preview-image {
    animation-name: grab_uploading;
    animation-duration: 1000ms;
    animation-iteration-count: infinite;
    animation-timing-function: ease-in-out;
    border: none;
}


/* TOOLBAR */
.snapshot-screengrab-wrapper .snapshot-screengrab-repeater .toolbar {
    display: none;
}

.snapshot-screengrab-wrapper.snapped .snapshot-screengrab-repeater .toolbar {
    position: absolute;
    top: 50px;
    right: 10px;
    display: block;
    padding: 4px;
    border-radius: 3px;
    background-color: rgba(221, 226, 231, 0.7);
    border-color: rgba(65, 77, 89, 0.7);
}

.snapshot-screengrab-wrapper .snapshot-screengrab-repeater .toolbar .btn {
    border-radius: 2px;
    padding: 6px 12px;
}

.snapshot-screengrab-wrapper .snapshot-screengrab-repeater .toolbar .btn.active,
.snapshot-screengrab-wrapper .snapshot-screengrab-repeater .toolbar .btn:active {
    border-style: inset;
}

.snapshot-screengrab-wrapper .snapshot-screengrab-repeater .snapshot-screengrab-upload-panel-wrapper {
    position: absolute;
    top: 105px;
    right: 10px;
    padding: 4px;
    border-radius: 3px;
    background-color: rgba(221, 226, 231, 1.0);
    border-color: rgba(65, 77, 89, 1.0);
    opacity: 0.3;
    width: 300px;
    /*min-height: 210px;*/
    max-height: calc(100vh - 160px);
    overflow-x: hidden;
    ovewrlow-y: auto;
}

.snapshot-screengrab-wrapper.toolbar-height-adjust .snapshot-screengrab-repeater .snapshot-screengrab-upload-panel-wrapper {
    top: 135px;
}

.snapshot-screengrab-wrapper.snapshot-toolbar-hovered .snapshot-screengrab-repeater .snapshot-screengrab-upload-panel-wrapper,
.snapshot-screengrab-wrapper .snapshot-screengrab-repeater .snapshot-screengrab-upload-panel-wrapper:hover {
    opacity: 1.0;
}

.snapshot-screengrab-wrapper .snapshot-screengrab-repeater .snapshot-screengrab-upload-form textarea {
    height: 160px;
    resize: none;
}

.snapshot-screengrab-wrapper .snapshot-screengrab-repeater .snapshot-screengrab-upload-response .upload-number-wrapper {
    position: relative;
    width: 40%;
    max-width: 200px;
    min-width: 60px;
}

.snapshot-screengrab-wrapper .snapshot-screengrab-repeater .snapshot-screengrab-upload-response .upload-response-detail {
    max-width: 230px;
}

.snapshot-screengrab-wrapper .snapshot-screengrab-repeater .snapshot-screengrab-upload-response .upload-number-wrapper img {
    max-width: 100%;
    height: auto;
}

.snapshot-screengrab-wrapper .snapshot-screengrab-repeater .snapshot-screengrab-upload-response .upload-number {
    position: absolute;
    top: 0;
    left: 0;
}

.snapshot-screengrab-wrapper .snapshot-screengrab-repeater .snapshot-screengrab-upload-response h5 {
    text-transform: none;
}


/*
 * IMAGE EDITOR
 */

.snapshot-screengrab-wrapper .image-edit-container {
    display: none;
}

/*
 * None of the standard buttons
 */
.snapshot-screengrab-wrapper .image-edit-container .tui-image-editor-header .tui-image-editor-header-logo,
.snapshot-screengrab-wrapper .image-edit-container .tui-image-editor-header .tui-image-editor-download-btn,
.snapshot-screengrab-wrapper .image-edit-container .tui-image-editor-header .tui-image-editor-load-btn,
.snapshot-screengrab-wrapper .image-edit-container .tui-image-editor-header div:first-child {
    display: none;
}

.snapshot-screengrab-wrapper.image_editing .image-edit-container {
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    width: 100%;
}

.snapshot-screengrab-wrapper .image-edit-container .tui-image-editor-controls li.snapshot-editor-cancel,
.snapshot-screengrab-wrapper .image-edit-container .tui-image-editor-controls li.snapshot-editor-done {
    padding-top: 0;
    vertical-align: middle;
}

.snapshot-screengrab-wrapper .image-edit-container .tui-image-editor-controls .btn.snapshot-editor-done,
.snapshot-screengrab-wrapper .image-edit-container .tui-image-editor-controls .btn.snapshot-editor-cancel {
    border-radius: 2px;
    padding: 6px 12px;
}


/*
 * Now need top space for help menu bar
 */
.snapshot-screengrab-wrapper .image-edit-container .tui-image-editor-main {
    top: 45px;
}

.snapshot-screengrab-wrapper .tui-image-editor-container .tui-image-editor-help-menu {
    background-color: #151515;
}

.snapshot-screengrab-wrapper .tui-image-editor-container .tui-image-editor-help-menu.top {
    top: 0;
}

/*
 * Not that relevant as most small mobiles don't support
 * screengrabs!
 *
 * A little bit of usability improvement for the image editor
 * on small screens.
 * Get the toolbars to wrap
 * Have a larger window with scroll to enable users to find
 * off-screen buttons
 */

@media screen and (max-width: 768px) {
    .snapshot-screengrab-wrapper .tui-image-editor-container {
        overflow-x: scroll;
        overflow-y: scroll;
    }

    .snapshot-screengrab-wrapper .tui-image-editor-container .tui-image-editor-controls ul.tui-image-editor-menu {
        white-space: normal;
    }

    .snapshot-screengrab-wrapper .tui-image-editor-container .tui-image-editor-controls ul.tui-image-editor-menu li:after {
        content: "\200B";
    }

    .snapshot-screengrab-wrapper .tui-image-editor-container .tui-image-editor-menu > .tui-image-editor-item {
        padding: 7px 2px 3px;
    }

    .snapshot-screengrab-wrapper .tui-image-editor-container .tui-image-editor-main-container ul.tui-image-editor-submenu-item {
        white-space: normal;
    }

    .snapshot-screengrab-wrapper .tui-image-editor-container .tui-image-editor-main-container ul.tui-image-editor-submenu-item li {
        display: inline-flex;
    }

    .snapshot-screengrab-wrapper .tui-image-editor-container .tui-image-editor-main-container ul.tui-image-editor-submenu-item li:after {
        content: "\200B";
    }

    .snapshot-screengrab-wrapper .tui-image-editor-container .tui-image-editor-main-container .tui-image-editor-button:after {
        content: "\200B";
    }
}


/*
 * To enable v8 styling to continue working with v9 code
 */
.snapshot-screengrab-wrapper .badge {
    display: inline;
    padding: .2em .6em .3em;
    font-size: 75%;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25em;
}

.snapshot-screengrab-wrapper .badge.label-success {
    background-color: #5cb85c;
}

.snapshot-screengrab-wrapper .badge.label-warning {
    background-color: #f0ad4e;
}

.snapshot-screengrab-wrapper .badge.label-danger {
    background-color: #d9534f;
}

.snapshot-screengrab-wrapper .badge.label-info {
    background-color: #5bc0de;
}

.snapshot-screengrab-wrapper .badge.label-default { /* default === secondary */
    background-color: #6c757d;
}

.snapshot-screengrab-wrapper.badge.label-primary {
    background-color: #3f9edc;
}