/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

/*
 * NOTE: This session recording player implementation is based on the Session
 * Recording Player for Glyptodon Enterprise which is available at
 * https://github.com/glyptodon/glyptodon-enterprise-player under the
 * following license:
 *
 * Copyright (C) 2019 Glyptodon, Inc.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */

.settings.connectionHistoryPlayer {

    background: black;
    color: white;

    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    padding: 0;
    margin: 0;

}

.settings.connectionHistoryPlayer guac-player {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.settings.connectionHistoryPlayer .guac-player-help-no-recording,
.settings.connectionHistoryPlayer .guac-player-help-recording-error {
    margin: 8px;
    max-width: 480px;
}

.settings.connectionHistoryPlayer .guac-player-button {

    display: inline-block;

    border: 2px solid white;
    border-radius: 0;
    background: black;
    color: white;
    font-weight: bold;

    padding: 0.5em 1em;
    margin: 8px;

}

.settings.connectionHistoryPlayer .guac-player-controls {
    padding: 0.25em;
}

.settings.connectionHistoryPlayer .guac-player-controls {
    background: rgba(0, 0, 0, 0.5);
}

.settings.connectionHistoryPlayer .guac-player-controls {
    opacity: 0;
    -webkit-transition: opacity 0.25s linear 0.25s;
    -moz-transition: opacity 0.25s linear 0.25s;
    -o-transition: opacity 0.25s linear 0.25s;
    transition: opacity 0.25s linear 0.25s;
}

.settings.connectionHistoryPlayer .guac-player-controls:hover,
.settings.connectionHistoryPlayer guac-player.recent-mouse-movement .guac-player-controls {
    opacity: 1;
}

.settings.connectionHistoryPlayer .guac-player-controls .heat-map {
    position: absolute;
    width: 100%;
}

.settings.connectionHistoryPlayer .guac-player-controls .heat-map svg {
    position: absolute;
    bottom: 7px;
    height: 50px;
    width: 100%;
    z-index: 100;
    pointer-events: none;
    opacity: 0;
    -webkit-transition: opacity 0.1s linear 0.1s;
    -moz-transition: opacity 0.1s linear 0.1s;
    -o-transition: opacity 0.1s linear 0.1s;
    transition: opacity 0.1s linear 0.1s;
}

.settings.connectionHistoryPlayer .guac-player-controls:hover .heat-map svg {
    opacity: 1;
}

.settings.connectionHistoryPlayer .guac-player-controls .heat-map .legend {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: end;
    bottom: 65px;
    right: 10px;
    z-index: 100;
    background-color: rgba(0, 0, 0, 0.85);
    padding-top: 3px;
    padding-bottom: 3px;
    padding-left: 6px;
    border-radius: 5px;
    opacity: 0;
    -webkit-transition: opacity 0.1s linear 0.1s;
    -moz-transition: opacity 0.1s linear 0.1s;
    -o-transition: opacity 0.1s linear 0.1s;
    transition: opacity 0.1s linear 0.1s;
}

.settings.connectionHistoryPlayer .guac-player-controls:hover .heat-map .legend {
    opacity: 1;
}

.settings.connectionHistoryPlayer .guac-player-controls .heat-map .legend .key-events::after,
.settings.connectionHistoryPlayer .guac-player-controls .heat-map .legend .frame-events::after {
    display: inline-block;
    content: '';
    width: 25px;
    height: 10px;
    margin-left: 3px;
    margin-right: 10px;
    border-radius: 3px;
}

.settings.connectionHistoryPlayer .guac-player-controls .heat-map .legend .key-events::after {
    background-color: #5BA300;
}

.settings.connectionHistoryPlayer .guac-player-controls .heat-map .legend .frame-events::after {
    background-color: #888888;
}

.settings.connectionHistoryPlayer .heat-map svg.key-events path {

    /* #5BA300 color at 50% opacity */
    fill: rgba(91, 163, 0, 0.5);
}

.settings.connectionHistoryPlayer .heat-map svg.frame-events path {

    /* #888888 color at 75% opacity */
    fill: rgba(135, 135, 135, 0.75);
}
