.c-webcam-modal__close,
.c-image-modal__close {
    font-size: 1rem;
    padding: 1rem;
    background: rgba(255, 255, 255, .5);
    color: #333;
}

.c-webcam-modal-container {
    img {
        padding: 0;

        @screen lg {
            padding: 2rem;
        }
    }
}

// Whatever is put inside the div will be set to object-fit.
.tb-modal__container div > *,
.c-webcam-modal-container {
    display: block;
    position: absolute;
    object-fit: cover;
    height: auto;
    width: auto;
    max-height: 100%;
}

@screen lg {
    .c-webcam-modal__close,
    .c-image-modal__close {
        font-size: 1.5rem;
        margin: 1em 1em 0 0;
        padding: 1.25rem;
    }

    .tb-modal__container div > *,
    .c-webcam-modal-container {
        height: auto;
        width: auto;
    }
}

.webcam-teaser--webcam {
    border: 1px solid theme('colors.gray.100');
    height: 100%;

    .webcam-teaser__image-wrapper {
        display: block;
        position: relative;
        height: 15rem;
        width: 100%;
        overflow: hidden;
        flex-shrink: 0;

        @screen sm {
            height: 19rem;
        }
    }

    .webcam-teaser__image {
        height: 100%;
        width: 100%;
        object-fit: cover;
        overflow: hidden;
    }

    .webcam-teaser__text {
        padding: 1.25rem 1.25rem 2rem;
    }

    .webcam-teaser__title {
        font-size: 1.375rem;
        margin: 0;
        font-weight: 700;
        text-transform: uppercase;
        color: theme('colors.primary.500');
        line-height: 1;
        hyphens: auto;
        letter-spacing: normal;
    }

    .webcam-teaser__description {
        margin: 0 0 1.5rem;
    }

    .webcam-teaser__link {
        display: flex;
        align-items: center;
        color: theme('colors.primary.500');

        .c-icon {
            margin-right: .25rem;
            top: 0;
        }
    }
}
