.gallery {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-areas:
        "A A B"
        "C D B"
        "E F G"
        "H I J"
        "H K L"
        "M N O"
        "P Q O"
        "R S T"
        "R U U";
    row-gap: 60px;
    column-gap: 20px;
    background-image: url(white_tp.png)
}
.gallery .photoA {
    grid-area: A;
}
.gallery .photoB {
    grid-area: B;
}
.gallery .photoC {
    grid-area: C;
}
.gallery .photoD {
    grid-area: D;
}
.gallery .photoE {
    grid-area: E;
}
.gallery .photoF {
    grid-area: F;
}
.gallery .photoG {
    grid-area: G;
}
.gallery .photoH {
    grid-area: H;
}
.gallery .photoI {
    grid-area: I;
}
.gallery .photoJ {
    grid-area: J;
}
.gallery .photoK {
    grid-area: K;
}
.gallery .photoL {
    grid-area: L;
}
.gallery .photoM {
    grid-area: M;
}
.gallery .photoN {
    grid-area: N;
}
.gallery .photoO {
    grid-area: O;
}
.gallery .photoP {
    grid-area: P;
}
.gallery .photoQ {
    grid-area: Q;
}
.gallery .photoR {
    grid-area: R;
}
.gallery .photoS {
    grid-area: S;
}
.gallery .photoT {
    grid-area: T;
}
.gallery .photoU {
    grid-area: U;
}
.gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.gallery figcaption {
    text-align: center;
}
h2 {
    margin: 20px 20px 10px 20px;
    font-size: 120%;
    font-weight: bold;
    color: maroon;
}
p {
    margin: 0 20px;
    padding: 10px 20px;
    line-height: 1.6em;
    background-image: url(white_tp.png)
}
@media screen and (max-width: 519px) {
    .gallery {
        width: 400px;
        margin: 20px auto;
        padding: 10px 10px 60px 10px;
        grid-template-rows: repeat(8, 150px);
    }
}
@media screen and (min-width: 520px) {
    .gallery {
        width: 720px;
        margin: 20px auto;
        padding: 20px 20px 60px 20px;
        grid-template-rows: repeat(8, 200px);
    }
}
@media screen and (min-width: 1024px) {
    .gallery {
        width: 880px;
        margin: 20px auto;
        padding: 20px 20px 60px 20px;
        grid-template-rows: repeat(8, 300px);
    }
}