/* ---------------------------------------------------------
   FEATURE ROW
   --------------------------------------------------------- */

.str-featured-row {
    width: calc(100% - 20px);
   /* max-width: 1000px;*/

    margin: 10px auto 30px auto;

    display: grid;

    grid-template-columns:
        2fr
        1fr
        1fr;

    gap: 10px;

    box-sizing: border-box;
}


/* ---------------------------------------------------------
   ALL TILES
   --------------------------------------------------------- */

.str-featured-tile {

    position: relative;

    display: block;

    width: 100%;

    /*
     * Keeps all three tiles exactly
     * the same height.
     */
    aspect-ratio: 2.15 / 1;

    min-height: 350px;

    overflow: hidden;

    background: #ddd;

    border-radius: 4px;

    text-decoration: none;

    box-sizing: border-box;
}


/* ---------------------------------------------------------
   IMAGES
   --------------------------------------------------------- */

.str-featured-tile img {

    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    display: block;

    border: 0;

    object-fit: cover;

    object-position: center center%;

    transition:
        transform .35s ease;
}


/* ---------------------------------------------------------
   DOG IMAGE
   --------------------------------------------------------- */

/*
 * RescueGroups photos are often portrait.
 *
 * "cover" keeps the dog proportional while
 * cropping the top and bottom.
 */

.str-featured-dog img {

    object-fit: cover;

    object-position: center 35%;
}


/* ---------------------------------------------------------
   HOVER
   --------------------------------------------------------- */

.str-featured-tile:hover img {

    transform: scale(1.035);

}


/* ---------------------------------------------------------
   DARK GRADIENT
   --------------------------------------------------------- */

.str-featured-tile:after {

    content: "";

    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    height: 65%;

    background:
        linear-gradient(
            to top,
            rgba(0,0,0,.78),
            rgba(0,0,0,0)
        );

    pointer-events: none;

}


/* ---------------------------------------------------------
   TEXT
   --------------------------------------------------------- */

.str-featured-text {

    position: absolute;

    left: 16px;
    right: 16px;
    bottom: 14px;

    z-index: 5;

    color: #fff;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 20px;

    font-weight: bold;

    line-height: 1.15;

    text-shadow:
        0 1px 4px rgba(0,0,0,.75);

}


/* ---------------------------------------------------------
   SMALL ORANGE LABEL
   --------------------------------------------------------- */

.str-featured-kicker {

    display: block;

    margin-bottom: 5px;

    color: #f58220;

    font-size: 10px;

    font-weight: bold;

    letter-spacing: 1px;

    text-transform: uppercase;

}


/* ---------------------------------------------------------
   FEATURED DOG NAME
   --------------------------------------------------------- */

.str-featured-dog .str-featured-text {

    font-size: 24px;

}


/* ---------------------------------------------------------
   HIDE RESCUEGROUPS WORK AREA
   --------------------------------------------------------- */

#strRGFeaturedPet {

    position: absolute;

    left: -9999px;

    width: 1px;
    height: 1px;

    overflow: hidden;

}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media screen and (max-width: 800px) {

    .str-featured-row {

        grid-template-columns: 1fr;

    }


    .str-featured-tile {

        aspect-ratio: 2 / 1;

        min-height: 190px;

    }

}


/* ---------------------------------------------------------
   BOTTOM TILES
   --------------------------------------------------------- */


.str-bottom-tiles {

    width: calc(100% - 20px);

    margin: 30px auto 20px auto;

    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 10px;

    box-sizing: border-box;
}


/* ---------------------------------------------------------
   TILE
   --------------------------------------------------------- */

.str-bottom-tile {

    position: relative;

    display: block;

    width: 100%;

    /*
     * All four tiles have exactly
     * the same proportions.
     */

    aspect-ratio: 1.7 / 1;

    overflow: hidden;

    background: #ddd;

    border-radius: 4px;

    text-decoration: none;

    box-sizing: border-box;
}


/* ---------------------------------------------------------
   IMAGE
   --------------------------------------------------------- */

.str-bottom-tile img {

    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    display: block;

    border: 0;

    object-fit: cover;

    object-position: center center;

    transition:
        transform .35s ease;

}


/* ---------------------------------------------------------
   HOVER
   --------------------------------------------------------- */

.str-bottom-tile:hover img {

    transform: scale(1.035);

}


/* ---------------------------------------------------------
   DARK GRADIENT
   --------------------------------------------------------- */

.str-bottom-tile:after {

    content: "";

    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    height: 60%;

    background:
        linear-gradient(
            to top,
            rgba(0,0,0,.75),
            rgba(0,0,0,0)
        );

    pointer-events: none;

}


/* ---------------------------------------------------------
   TITLE
   --------------------------------------------------------- */

.str-bottom-title {

    position: absolute;

    left: 14px;
    right: 14px;
    bottom: 12px;

    z-index: 5;

    color: #fff;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 17px;

    font-weight: bold;

    line-height: 1.15;

    text-shadow:
        0 1px 4px rgba(0,0,0,.75);

}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media screen and (max-width: 800px) {

    .str-bottom-tiles {

        grid-template-columns:
            repeat(2, 1fr);

    }

}


@media screen and (max-width: 480px) {

    .str-bottom-tiles {

        grid-template-columns:
            1fr;

    }

}


