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

body{
    width: 100%;
    height: 100vh;
    overflow: hidden;
}

.grid__wrapper{
    height: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: 10% 4% 1fr 1fr 10%;
    gap: 2rem;
    padding: 2rem;
}

header, .box-left, .box-middle-top, .box-middle-bottom, footer{
    background-color: orange;
}

.tooltip, .box-right{
    > div{
        background-color: black;
    }
}

header{
    grid-column: 1/-1;
    grid-row: 1;
}

.tooltip{
    grid-column: 1/-1;
    grid-row: 2;
    display: grid;
    grid-template-columns: repeat(9, 1fr);
    gap: .5rem;
}

.box-left{
    grid-column: 1;
    grid-row: 3/5;
}

.box-middle-top{
    grid-column: 2;
    grid-row: 3/4;
}

.box-middle-bottom{
    grid-column: 2;
    grid-row: 4/5;
}

.box-right{
    grid-column: 3;
    grid-row: 3/5;
    display: grid;
    grid-template-rows: repeat(5, 1fr);
    gap: 1rem;
}

footer{
    grid-column: 1/-1;
}