/* ==============================================================
   NELC Full Width Video
   ============================================================== */

.nelc-full-width-video {
    position: relative;
    isolation: isolate;

    width: 100%;
    max-width: 100%;

    height: var(--nelc-video-height, 600px);

    margin: 0;

    overflow: hidden;

    background-color: #212529;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}


/* VIDEO */

.nelc-full-width-video__video {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: var(--nelc-video-position, center center);

    z-index: 0;
}


/* FILTER / GRADIENT */

.nelc-full-width-video__filter {
    position: absolute;

    inset: 0;

    z-index: 1;

    pointer-events: none;
}


/* CONTENT */

.nelc-full-width-video__content {
    position: relative;

    z-index: 2;

    display: flex;

    align-items: center;
    justify-content: center;

    width: 100%;
    height: 100%;

    padding: clamp(2rem, 6vw, 6rem) 1.5rem;

    text-align: center;
    color: #fff;
}


.nelc-full-width-video__inner {
    width: min(900px, 100%);
    margin: 0 auto;
}


.nelc-full-width-video__heading {
    margin: 0 0 1rem;

    color: #fff;

    font-size: clamp(2rem, 5vw, 4.5rem);
    font-weight: 600;
    line-height: 1.05;
}


.nelc-full-width-video__text {
    width: min(760px, 100%);

    margin: 0 auto 1.75rem;

    color: #fff;

    font-size: clamp(1.05rem, 2vw, 1.4rem);
    line-height: 1.5;
}


.nelc-full-width-video__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 48px;

    padding: .75rem 1.5rem;

    border: 2px solid transparent;
    border-radius: 999px;

    font-family: "Open Sans", Arial, sans-serif;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.2;

    text-decoration: none !important;

    cursor: pointer;

    transition:
        transform .15s ease,
        box-shadow .15s ease,
        filter .15s ease;
}

.nelc-full-width-video__cta:hover {
    color: inherit;
    text-decoration: none;

    filter: brightness(.92);

    transform: translateY(-1px);

    box-shadow: 0 .35rem 1rem rgba(0,0,0,.18);
}

.nelc-full-width-video__cta:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 3px;
}


/* PLAY / PAUSE */

.nelc-full-width-video__control {
    position: absolute;

    top: 1.5rem;
    right: 1.5rem;

    z-index: 4;

    border: 1px solid rgba(255,255,255,.35);
    border-radius: 999px;

    padding: .55rem 1rem;

    background: rgba(0,0,0,.45);

    color: #fff;

    font-size: .9rem;

    backdrop-filter: blur(8px);

    cursor: pointer;
}


.nelc-full-width-video__control:hover,
.nelc-full-width-video__control:focus {
    background: rgba(0,0,0,.7);
}


.nelc-full-width-video__control i {
    margin-right: .4rem;
}


/* MOBILE */

@media (max-width: 767px) {

    .nelc-full-width-video {
        height: min(var(--nelc-video-height, 600px), 75vh);
        min-height: 380px;
    }

    .nelc-full-width-video__heading {
        font-size: clamp(2rem, 9vw, 3rem);
    }

    .nelc-full-width-video__content {
        padding: 3rem 1.25rem;
    }

    .nelc-full-width-video__control {
        top: 1rem;
        right: 1rem;
    }

}


/* ACCESSIBILITY */

@media (prefers-reduced-motion: reduce) {

    .nelc-full-width-video__video {
        display: none;
    }

    .nelc-full-width-video__control {
        display: none;
    }

}


/* GUTENBERG EDITOR */

.editor-styles-wrapper .nelc-full-width-video--editor {
    width: 100%;
    max-width: 100%;

    margin-left: 0;
    margin-right: 0;
}

.editor-styles-wrapper .nelc-full-width-video--editor .nelc-full-width-video__video {
    pointer-events: none;
}

.editor-styles-wrapper .nelc-full-width-video--editor .nelc-full-width-video__filter {
    pointer-events: none;
}

.editor-styles-wrapper .nelc-full-width-video__heading,
.editor-styles-wrapper .nelc-full-width-video__text {
    color: #fff;
}
