/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: last 4 version
*/

@font-face {
    font-family: "Firs Neue";
    font-weight: 300;
    font-style: normal;
    font-display: swap;
    src: url("fonts/Firs-Neue-Light.woff2");
}

@font-face {
    font-family: "Firs Neue";
    font-weight: 300;
    font-style: italic;
    font-display: swap;
    src: url("fonts/Firs-Neue-Light-Italic.woff2");
}

@font-face {
    font-family: "Firs Neue";
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    src: url("fonts/Firs-Neue-Regular.woff2");
}

@font-face {
    font-family: "Firs Neue";
    font-weight: 400;
    font-style: italic;
    font-display: swap;
    src: url("fonts/Firs-Neue-Italic.woff2");
}

@font-face {
    font-family: "Firs Neue";
    font-weight: 700;
    font-style: normal;
    font-display: swap;
    src: url("fonts/Firs-Neue-Bold.woff2");
}

@font-face {
    font-family: "Firs Neue";
    font-weight: 700;
    font-style: italic;
    font-display: swap;
    src: url("fonts/Firs-Neue-Bold-Italic.woff2");
}

/* Utilities */
.zi-n1 {
    z-index: -1 !important;
}

.zi-0 {
    z-index: 0 !important;
}

.zi-1 {
    z-index: 1 !important;
}

.zi-2 {
    z-index: 2 !important;
}

.zi-3 {
    z-index: 3 !important;
}

.zi-999 {
    z-index: 999 !important;
}

.animation,
.animation::before,
.animation::after {
    -webkit-animation-duration: 5s;
            animation-duration: 5s;
    -webkit-transition-property: opacity;
    -o-transition-property: opacity;
    transition-property: opacity;
    -webkit-animation-timing-function: cubic-bezier(0.5, 1, 0.89, 1);
            animation-timing-function: cubic-bezier(0.5, 1, 0.89, 1);
}

.card-full {
    position: relative;
    display: inline-block;
    overflow: hidden;
    width: 100%;
    height: 20rem;
}

.card-full__overlay {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 10px;
}

.card-full__img {
    width: 100%;
    height: 100%;
    position: absolute;
    -o-object-fit: cover;
       object-fit: cover;
}

.card-full__heading {
    z-index: 2;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 20px;
    padding: 0 10px 0 10px;
}

.card-full--overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    -webkit-transition: opacity .3s;
    -o-transition: opacity .3s;
    transition: opacity .3s;
    padding: 2rem;
}

.card--fade {
    opacity: 0;
}

.card-full:hover .card--fade {
    opacity: 1;
}

.video__grid {
    gap: 1rem;
    -ms-grid-rows: 1fr;
    grid-template-rows: 1fr;
    display: -ms-grid;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
}