%align-right {
    @include flex();
    flex-direction: row-reverse;
    flex-wrap: nowrap;
    justify-content: flex-start;
}

.filmstrip {
    position: absolute;
    bottom: 0;
    right: 0;
    padding: 10px 5px;
    @extend %align-right;

    &__toolbar {
        @include flex();
        flex-direction: column-reverse;
        flex-wrap: nowrap;
        position: relative;
        z-index: $zindex1; // Set z-index to make element visible.
        width: $filmstripToggleButtonWidth;

        button {
            font-size: 14px;
            line-height: 1.2;
            text-align: center;
            background: transparent;
            opacity: 0.7;
            height: auto;
            width: 100%;
            padding: 0;
            margin: 0;
            border: none;
            outline: none;

            -webkit-appearance: none;

            &:hover {
                opacity: 1;
            }

            i {
                cursor: pointer;
            }
        }
    }

    &__videos {
        @extend %align-right;
        position:relative;
        height:196px;
        padding: 0;
        /* The filmstrip should not be covered by the left toolbar. */
        bottom: 0;
        width:auto;
        z-index: $filmstripVideosZ;
        transition: bottom 2s;
        overflow: visible !important;
        /*!!! Removes the gap between the local video container and the remote
        videos. */
        font-size: 0pt;

        &#remoteVideos {
            border: $thumbnailsBorder solid transparent;
            padding-left: $defaultToolbarSize + 5;
       }

        &.hidden {
            bottom: -196px;
        }

        .remote-videos-container {
            display: flex;
        }

        .videocontainer {
            display: none;
            position: relative;
            background-size: contain;
            border: $thumbnailVideoBorder solid transparent;
            border-radius: $borderRadius;
            margin: 0 $thumbnailVideoMargin;

            &.videoContainerFocused, &:hover {
                cursor: hand;
            }

            /**
             * Focused video thumbnail.
             */
            &.videoContainerFocused {
                transition-duration: 0.5s;
                -webkit-transition-duration: 0.5s;
                -webkit-animation-name: greyPulse;
                -webkit-animation-duration: 2s;
                -webkit-animation-iteration-count: 1;
                border: $thumbnailVideoBorder solid $videoThumbnailSelected !important;
                box-shadow: inset 0 0 3px $videoThumbnailSelected,
                0 0 3px $videoThumbnailSelected !important;
            }

            .remotevideomenu > .icon-menu {
                display: none;
            }

            /**
             * Hovered video thumbnail.
             */
            &:hover {
                cursor: hand;
                border: $thumbnailVideoBorder solid $videoThumbnailHovered;
                box-shadow: inset 0 0 3px $videoThumbnailHovered,
                0 0 3px $videoThumbnailHovered;

                .remotevideomenu > .icon-menu {
                    display: inline-block;
                }
            }

            /* With the TemasysWebRTC plugin <object/> element is used
            instead of <video/> */
            & > video,
            & > object {
                cursor: hand;
                border-radius: $borderRadius;
                object-fit: cover;
                overflow: hidden;
            }
        }
    }

    /**
     * Style the filmstrip videos in filmstrip-only mode.
     */
    &__videos-filmstripOnly {
        margin-top: auto;
        margin-bottom: auto;
        padding-right: $defaultFilmStripOnlyToolbarSize;
    }

    .remote-videos-container {
        transition: opacity 1s;

        &.hide-videos {
            opacity: 0;
            pointer-events: none;
        }
    }
}
