body {
    position: absolute;
    left: 0;
    width: 100%;
    top: 0;
    min-height: 100%;

    display: flex;
    flex-direction: column;
}

body > main {
    flex-grow: 1;
}

/*
* Container
*/
.container {
    padding-left: 1rem;
    padding-right: 1rem;
}

@media (min-width: 768px) {
    .container {
        width: 750px;
    }
}
@media (min-width: 992px) {
    .container {
        width: 970px;
    }
}
@media (min-width: 1200px) {
    .container {
        width: 1170px;
    }
}
@media (min-width: 1600px) {
    .container {
        width: 1570px;
    }
}

/*
* Font
*/
.fw-medium {
    font-weight: 500;
}

.ff-roboto {
    font-family: 'Roboto';
}

.ff-roboto-mono {
    font-family: 'Roboto Mono';
}

.ff-roboto-flex {
    font-family: 'Roboto Flex';
}

.ff-roboto-condensed {
    font-family: 'Roboto Condensed';
}

.ff-rubik {
    font-family: 'Rubik';
}