.ui-media-picture>img {
    max-width: 100px;
    max-height: 100px;
}

.ui-media-file {
    display: inline-flex;
    align-items: center;

    &::before {
        display: none;
    }

    >svg {
        width: 20px;
        height: 20px;
        fill: var(--secondary-link-color);
    }

    >a {
        margin-left: 6px;
        color: var(--link-color);
        font-size: var(--font-size);
    }
}

.ui-media-audio {
    display: inline-flex;
    align-items: center;
    background-color: #eee;
    border-radius: 20px;
    overflow: hidden;
    padding-right: 16px;

    >button {
        background-color: transparent;
        border: none;
        width: 40px;
        height: 40px;
        padding: 14px;
        display: flex;
        outline: none;

        &:hover {
            border: none;
        }

        &::after {
            display: none;
        }

        >svg {
            width: 100%;
            height: 100%;
        }
    }

    >.ui-media-timestamp {
        color: var(--secondary-color);
        font-size: var(--font-size);
        user-select: none;
    }
}

.ui-media-video {
    max-width: 200px;
    max-height: 200px;
}

.ui-media-video-container {
    position: relative;
    background-color: #000;
    min-height: 200px;
    height: 100%;
    user-select: none;

    --icon-size: 16px;

    >.ui-video-content {
        height: 100%;

        >.ui-video-wrapper {
            position: relative;
            display: inline-block;

            >video {
                width: 100%;
                height: 100%;
            }

            >.ui-video-waiting {
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                background-color: rgba(0, 0, 0, .3);
                display: flex;
                justify-content: center;
                align-items: center;
                transition: opacity .2s;

                >svg {
                    fill: #eee;
                    width: 30px;
                    height: 30px;
                    top: calc(50% - 15px);
                    left: calc(50% - 15px);
                    animation: spinner 1.2s infinite linear;
                }

                @keyframes spinner {
                    0% {
                        transform: rotate(0deg);
                    }

                    100% {
                        transform: rotate(359deg);
                    }
                }
            }
        }
    }

    >.ui-video-control {
        position: absolute;
        left: 0;
        width: 100%;
        height: 70px;
        bottom: 0;
        opacity: 0;
        background: linear-gradient(transparent, #000);
        //  calc(100% - 100px), rgba(50, 50, 50, .7) calc(100% - 65px)
        transition: opacity .5s;

        &:hover,
        &.active {
            opacity: 1;
        }

        .ui-video-icon {
            position: absolute;
            width: var(--icon-size);
            height: var(--icon-size);
            cursor: pointer;

            >svg {
                width: var(--icon-size);
                height: var(--icon-size);
                display: block;
                fill: #eee;
            }

            &.disabled {
                cursor: default;
                opacity: .5;
            }
        }

        .ui-video-bar {
            position: absolute;
            height: 4px;
            padding: 4px 0;
            cursor: pointer;

            >.seek-buffers {
                position: absolute;
                width: 100%;

                >.ui-video-buffer {
                    background-color: #adadad;
                }
            }

            >.ui-video-duration,
            >.seek-buffers>.ui-video-buffer,
            >.ui-video-progress {
                position: absolute;
                border-radius: 2px;
                height: 4px;
                cursor: pointer;
            }

            >.ui-video-duration {
                width: 100%;
                background-color: #4e4e4e;
            }

            >.ui-video-progress {
                width: 0;
                background-color: #fff;

                &::after {
                    content: '\a0';
                    position: absolute;
                    right: -6px;
                    top: -5px;
                    width: 14px;
                    height: 14px;
                    border-radius: 7px;
                    background-color: #fff;
                }
            }
        }

        >.play-icon {
            left: 20px;
            bottom: 41px;

            >svg {
                position: absolute;

                &:last-child {
                    display: none;
                }
            }

            &.pause {
                >svg:first-child {
                    display: none;
                }

                >svg:last-child {
                    display: initial;
                }
            }
        }

        >.ui-video-time-label {
            position: absolute;
            font-family: var(--font-family);
            font-size: 14px;
            font-weight: 600;
            left: 48px;
            bottom: 40px;
            color: #eee;
        }

        >.fullscreen-icon {
            right: 20px;
            bottom: 41px;
        }

        >.ui-video-volume-container {
            position: absolute;
            bottom: 40px;
            right: 50px;

            >.volume-icon {
                right: 0;
                bottom: 1px;

                >svg {
                    position: absolute;

                    &:last-child {
                        display: none;
                    }
                }

                &.muted {
                    >svg:first-child {
                        display: none;
                    }

                    >svg:last-child {
                        display: initial;
                    }
                }
            }

            >.volume-bar {
                width: 60px;
                right: 30px;
                bottom: 2px;
            }
        }

        &.no-fullscreen>.ui-video-volume-container {
            right: 20px;
        }

        >.seek-bar {
            left: 16px;
            right: 16px;
            bottom: 16px;

            >.seek-progress::after {
                opacity: 0;
                transition: opacity .2s;
            }
        }

        &.active>.seek-bar>.seek-progress::after,
        >.seek-bar:hover>.seek-progress::after {
            opacity: 1;
        }
    }
}