
    /* Grid Structure */

    .hp-grid,
    .hp-grid-col-1,
    .hp-grid-col-2,
    .hp-grid-col-3 {
        position: relative;
        padding-right: 4px;
        padding-left: 4px
    }

    .hp-grid *,
    .hp-grid ::after,
    .hp-grid ::before {
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }

    .hp-grid {
        margin: 8px auto;
        text-align: center
    }

    .hp-grid-row {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-right: -4px;
        margin-left: -4px
    }

    .hp-grid-col-1,
    .hp-grid-col-2,
    .hp-grid-col-3 {
        width: 100%;
        min-height: 1px;
        margin-top: 4px;
        margin-bottom: 4px
    }

    @media (min-width:480px) {
        .hp-grid-col-1 {
            -webkit-box-flex: 0;
            -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
            flex: 0 0 100%;
            max-width: 100%
        }
        .hp-grid-col-2 {
            -webkit-box-flex: 0;
            -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
            flex: 0 0 100%;
            max-width: 100%
        }
    }

    @media (min-width:768px) {
        .hp-grid-col-1 {
            -webkit-box-flex: 0;
            -webkit-flex: 0 0 33.333333%;
            -ms-flex: 0 0 33.333333%;
            flex: 0 0 33.333333%;
            max-width: 33.333333%
        }
        .hp-grid-col-2 {
            -webkit-box-flex: 0;
            -webkit-flex: 0 0 66.666667%;
            -ms-flex: 0 0 66.666667%;
            flex: 0 0 66.666667%;
            max-width: 66.666667%
        }
    }

    .hp-grid img {
        display: block
    }

    /* Visibility Options */

    @media (max-width:479px) {
        .hp-grid-hide-mobile {
            display: none;
        }
    }

    @media (min-width:480px) and (max-width:767px) {
        .hp-grid-hide-tablet {
            display: none;
        }
    }

    @media (min-width:768px) {
        .hp-grid-hide-desktop {
            display: none;
        }
    }

    /* Transparent Hover State  */

    .hp-grid a {
        transition: opacity 200ms;
    }

    .hp-grid a.hp-transparent-hover:hover img {
        opacity: .7;
    }

    /* Text Tile */

    .hp-grid-text-tile {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
    }

    .hp-grid-text-tile-inner {
        display: table;
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
    }

    .hp-grid-text-tile-content {
        display: table-cell;
        vertical-align: middle;
        padding: 20px;
    }

    a.hp-grid-text-tile {
        color: #000;
        text-decoration: none;
    }

    a.hp-grid-text-tile h4 {
        font-size: 35px;
        line-height: 35px;
        margin: 0 0 12px;
    }

    a.hp-grid-text-tile h5 {
        font-size: 55px;
        line-height: 55px;
        margin: 0 0 15px;
    }

    a.hp-grid-text-tile h6 {
        font-size: 16px;
        margin: 0 auto;
        max-width: 300px;
    }


    /* 4x Grid */

    .hp-grid-4x-touts {
        display: table;
        width: 100%;
    }

    .hp-grid-4x-row {
        display: table-row;
    }

    .hp-grid-4x-col {
        display: table-cell;
        vertical-align: top;
        position: relative;
    }

    .hp-grid-4x-col img {
        display: block;
    }

    .hp-grid-4x-col-1 {
        padding: 0 4px 4px 0;
    }

    .hp-grid-4x-col-2 {
        padding: 0 0 4px 4px;
    }

    .hp-grid-4x-col-3 {
        padding: 4px 4px 0 0;
    }

    .hp-grid-4x-col-4 {
        padding: 4px 0 0 4px;
    }

    .hp-grid-overlay {
        position: absolute;
        top: 0;
        left: 0;
        display: block;
        width: 100%;
        height: 100%;
        opacity: 0;
        transition: opacity 200ms;
    }

    /* Hover Overlay with Text */

    a:hover .hp-grid-overlay {
        opacity: 1;
    }

    .hp-grid-overlay-inner {
        display: table;
        width: 100%;
        height: 100%;
        height: -webkit-calc(100% + 1px);
        height: -moz-calc(100% + 1px);
        height: calc(100% + 1px);
        background-color: rgba(255, 255, 255, .8);
    }

    .hp-grid-overlay-content {
        display: table-cell;
        vertical-align: middle;
        padding: 50px;
        color: #000;
    }

    .hp-grid-overlay-content p {
        margin: 8px 0;
        font-size: 16px;
        line-height: 20px;
    }

    .hp-grid-overlay-content p strong {
        font-weight: bold;
    }

    .hp-grid-4x-touts .hp-grid-overlay-content {
        padding: 20px;
    }

    .hp-grid-4x-touts .hp-grid-overlay-content p {
        margin: 8px 0;
        font-size: 12px;
        line-height: 18px;
    }

    .hp-grid a.hp-grid-has-overlay {
        position: relative;
        display: block;
    }

    .hp-grid a.hp-grid-has-overlay:hover {
        opacity: 1;
    }

    /* Content Styling, 2 Column Specific */

    @media (min-width:480px) and (max-width:1024px) {
        a.hp-grid-text-tile h5 {
            font-size: 35px;
            line-height: 35px;
            margin: 0 0 15px;
        }
    }

    @media(max-width:479px) {
        .hp-grid,
        .hp-grid-col-1,
        .hp-grid-col-2,
        .hp-grid-col-3 {
            padding-right: 0
        }
    }
<!--============================== END CSS ==============================-->

