.c-video-wrapper {
    figcaption {
        margin-top: .5rem;
        color: theme('colors.gray.700');
        font-size: .875rem;
    }
}

.c-video {
    position: relative;
    display: block;
    padding-top: 56.25%;

    &.is-active {
        .c-video__iframe {
            display: block;
        }

        .c-video__link {
            visibility: hidden;
            opacity: 0;
        }
    }
}

.c-video__link {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
    transition: opacity $transition-time--long, visibility $transition-time--long;

    &::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        z-index: 5;
        display: block;
        height: 100%;
        width: 100%;
        background-color: rgba(0, 0, 0, .4);
        transition: opacity $transition-time;
    }

    &:hover,
    &:focus {
        &::after {
            opacity: 0;
        }
    }
}

.c-video__image {
    display: block;
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.c-video__icon {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 10;
    height: 3rem;
    width: 3rem;
    color: theme('colors.white');
    transform: translateX(-50%) translateY(-50%);
}

.c-video__iframe {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 5;
    display: none;
    // We need to use that here to overwrite the iframe styling in reset.scss
    //stylelint-disable
    height: 100% !important;
    //stylelint-enable
    width: 100%;
    background-color: theme('black');
}

