
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    background:#f5f5f5;
    font-family:Arial,"Microsoft YaHei",sans-serif;
    padding:30px;
}

/* Section */
.section{
    max-width:1200px;
    margin:0 auto 70px;
}

.section h2{
    font-size:28px;
    margin-bottom:16px;
}


/* Common Card */
.card{
    position:relative;
    overflow:hidden;
    border-radius:10px;
    color:#fff;
}

.card img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.card::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
        to top,
        rgba(0,0,0,.78),
        transparent 65%
    );
}

.content{
    position:absolute;
    left:16px;
    right:12px;
    bottom:16px;
    z-index:2;
}

.tag{
    display:inline-block;
    background:#167fe5;
    padding:4px 8px;
    margin-bottom:8px;
    font-size:12px;
}

.title{
    line-height:1.25;
}

.desc{
    margin-top:6px;
    font-size:13px;
}


/* Layout 01 */
.layout1{
    display:grid;
    grid-template-columns:35fr 65fr;
    gap:16px;
}

.layout1 .main{
    height:520px;
}

.layout1 .main .title{
    font-size:24px;
}

.side{
    display:grid;
    grid-template-rows:1fr 1fr;
    gap:16px;
}

.row{
    display:grid;
    gap:16px;
}

.row.top{
    grid-template-columns:2fr 1fr;
}

.row.bottom{
    grid-template-columns:1fr 2fr;
}

.row .card{
    height:252px;
}

.row .title{
    font-size:16px;
}


/* Layout 02 */
.layout2{
    display:grid;
    grid-template-columns:1.15fr 1fr 1fr;
    grid-template-rows:200px 200px;
    gap:16px;
}

.layout2 .one{
    grid-row:1 / 3;
}

.layout2 .title{
    font-size:16px;
}

.layout2 .one .title{
    font-size:24px;
}

.layout2 .two{
    grid-column:2;
}

.layout2 .three{
    grid-column:3;
}

.layout2 .four{
    grid-column:2;
    grid-row:2;
}

.layout2 .five{
    grid-column:3;
    grid-row:2;
}




/* =========================
   Hover Effects v1.1.0
========================= */

.card{
    cursor:pointer;
    transition:
        transform .35s ease,
        box-shadow .35s ease;
}

.card img{
    transition:
        transform .6s ease;
}

.card:hover{
    transform:translateY(-6px);
    box-shadow:0 15px 35px rgba(0,0,0,.18);
}

.card:hover img{
    transform:scale(1.08);
}

.card:hover::after{
    background:linear-gradient(
        to top,
        rgba(0,0,0,.85),
        transparent 70%
    );
}


@media(max-width:768px){

body{
    padding:15px;
}

.section{
    margin-bottom:40px;
}

.layout1,
.layout2,
.side,
.row{
    display:block;
}

.card,
.layout1 .main,
.row .card{
    height:260px;
    width:100%;
    margin-bottom:16px;
}

.title,
.layout1 .main .title,
.layout2 .one .title{
    font-size:18px;
}

}
