.base-layout {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
.base-layout .header {
    height: 60px;
}
.base-layout .body {
    flex-grow: 1;
    padding: 0 10px;
    padding-block-start: 40px;
}
.base-layout .footer {
    padding-block-start: 50px;
    width: 100vw;
}
.body.details-view {
    padding: 10px 0 0;
}
.footer.details-view {
    padding-block-start: 0;
}
@media (width < 640px) {
    .base-layout > .body {
        width: 96vw;
    }
    .body.details-view {
        width: 100vw;
    }
}
