html {
    font-size: 16px;
    font-family: "Vampiro One", sans-serif;
}

div.grid {
    display: grid;
    margin: 2rem;
    grid-template-columns: 25rem 1rem 25rem 1rem 25rem;
    grid-template-rows: 35rem 1rem 30rem 1rem 30rem 1rem 24rem;
    justify-content: center;
}

div.cell {
    border: solid .2rem black;
    background: lightgrey;
    position: relative;
}

#mairie {
    grid-row: 1;
    grid-column: 1 / 4;
    background: url(img/mairie7-p.jpg) center center / cover;
}

#ecureuil {
    grid-row: 1;
    grid-column: 5;
    background: url(img/ecureuil.jpg) top center / cover;
}

#bouquet {
    grid-row: 3;
    grid-column: 1;
    background: url(img/bouquet.jpg) center center / cover;
}

#nous {
    grid-row: 3;
    grid-column: 3 / 6;
    background: url(img/nous.jpg) center center / cover;
}

#alliances {
    grid-row: 5;
    grid-column: 1 / 4;
    background: url(img/alliances.jpg) center center / cover;
}

#tchin {
    grid-row: 5;
    grid-column: 5;
    background: url(img/tchin.jpg) center center / cover;
}

#date {
    grid-row: 7;
    grid-column: 1 / 6;
    background: url(img/chats.jpg) center center / cover;
}

div.header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    border-bottom: solid .15rem black;
    background: white;
    padding: .3rem 1rem;
    text-transform: uppercase;
}

div.bulle {
    position: absolute;
}

div.bulle svg {
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
}

div.bulle svg * {
    stroke: black;
    stroke-width: 2.4;
    fill: white;
}

div.bulle div.text {
    position: absolute;
    z-index: 2;
    text-align: center;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

#ecureuil div.bulle {
    top: 1rem;
    left: -1rem;
    width: 12.5rem;
    height: 12.5rem;
}

div.bulle#adrien {
    top: 2rem;
    width: 12.5rem;
    height: 12.5rem;
    left: 1rem;
}

div.bulle#marion {
    top: 2rem;
    width: 12.5rem;
    height: 12.5rem;
    right: 3rem;
}