.paragraph--type--bp-image-banner
{
    position: relative;

    width: 100%;
    height: auto;
}
.paragraph--type--bp-image-banner .paragraph__wrapper
{
    position: relative;

    width: 100%;
}
.paragraph--type--bp-image-banner .paragraph__wrapper--banner
{
    z-index: 1;
}
.paragraph--type--bp-image-banner .paragraph__wrapper--banner::before
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    content: '';

    background-color: rgba(0, 0, 0, .5);
}
.paragraph--type--bp-image-banner .paragraph__wrapper--banner .media--type-video
{
    position: relative;

    width: 100%;
    height: auto;
}
.paragraph--type--bp-image-banner .paragraph__wrapper--banner .media--type-video .field--type-image
{
    position: absolute;
}
.paragraph--type--bp-image-banner .paragraph__wrapper--banner .media--type-video .field--type-image .media
{
    position: relative;

    display: flex;
    overflow: hidden;

    width: 100vw;
    height: 100vh;

    justify-content: center;
    align-items: center;
}
.paragraph--type--bp-image-banner .paragraph__wrapper--banner .media--type-video .field--type-image .media img
{
    position: absolute;
    top: 50%;
    left: 50%;

    min-width: 100%;
    min-height: 100%;

    transform: translate(-50%, -50%);

    -o-object-fit: cover;
       object-fit: cover;
}
.paragraph--type--bp-image-banner .paragraph__wrapper--banner .media--type-video .varbase-video-player
{
    position: relative;

    display: flex;
    overflow: hidden;

    width: 100vw;
    height: 100vh;

    justify-content: center;
    align-items: center;
}
.paragraph--type--bp-image-banner .paragraph__wrapper--banner .media--type-video .varbase-video-player video
{
    position: absolute;
    top: 50%;
    left: 50%;

    min-width: 100%;
    min-height: 100%;

    transform: translate(-50%, -50%);

    -o-object-fit: cover;
       object-fit: cover;
}
.paragraph--type--bp-image-banner .paragraph__wrapper--banner .field--name-field-media-image img
{
    width: 100%;
}
.paragraph--type--bp-image-banner .paragraph__wrapper--text
{
    position: absolute;
    z-index: 2;
    bottom: 0;

    width: 100vw;
    height: 100vh;
    margin-left: 30px;
}
@media (min-width: 991px)
{
    .paragraph--type--bp-image-banner .paragraph__wrapper--text.fade-out
    {
        -webkit-transition: opacity 1.5s ease-in-out;
           -moz-transition: opacity 1.5s ease-in-out;
                transition: opacity 1.5s ease-in-out;

        opacity: 0;
    }
    .paragraph--type--bp-image-banner .paragraph__wrapper--text.fade-out:hover
    {
        -webkit-transition: opacity .55s ease-in-out;
           -moz-transition: opacity .55s ease-in-out;
                transition: opacity .55s ease-in-out;

        opacity: 1;
    }
}
@media (min-width: 768px)
{
    .paragraph--type--bp-image-banner .paragraph__wrapper--text
    {
        margin-left: 80px;
    }
}
.paragraph--type--bp-image-banner .paragraph__wrapper--text .field--type-text-long
{
    position: absolute;
    bottom: 103px;

    display: grid;

    max-width: 400px;
    padding-right: 60px;

    grid-template-areas: 'sub-text' 'main-text' 'button';
}
@media (min-width: 768px)
{
    .paragraph--type--bp-image-banner .paragraph__wrapper--text .field--type-text-long
    {
        bottom: 120px;

        max-width: 950px;
        padding-right: unset;
    }
}
.paragraph--type--bp-image-banner .paragraph__wrapper--text .field--type-text-long h1,
.paragraph--type--bp-image-banner .paragraph__wrapper--text .field--type-text-long .h1
{
    font-size: 1.8125rem !important;
    line-height: 1.813rem;

    letter-spacing: normal !important;

    text-shadow: 1px 1px #000;

    grid-area: sub-text;
}
.paragraph--type--bp-image-banner .paragraph__wrapper--text .field--type-text-long h2,
.paragraph--type--bp-image-banner .paragraph__wrapper--text .field--type-text-long .h2
{
    font-size: 2.7773rem !important;
    line-height: 3.8574rem;

    letter-spacing: normal !important;

    text-shadow: 1px 1px #000;

    grid-area: main-text;
}
.paragraph--type--bp-image-banner .paragraph__wrapper--text .field--type-text-long p
{
    display: inline-block;

    margin: 1.5rem 0;

    grid-area: button;
}
.paragraph--type--bp-image-banner .paragraph__wrapper--text .field--type-text-long p .btn
{
    font-size: 1rem;

    padding: 1rem 2rem !important;

    transition: .5s;
    text-transform: uppercase;

    border: none;
    background-color: var(--primary, #a68e3b);
}
@media (min-width: 768px)
{
    .paragraph--type--bp-image-banner .paragraph__wrapper--text .field--type-text-long p .btn
    {
        padding: .5rem 1rem !important;
    }
}
