*, *:before, *:after, * :before, * :after,
*:hover, *:hover:before, *:hover:after, *:hover :before, *:hover :after {
    -webkit-transition-property: background-color, color, border-color, text-decoration, background-position, background-size, text-shadow, margin;
    transition-property: background-color, color, border-color, text-decoration, background-position, background-size, text-shadow, margin;
    -webkit-transition-duration: inherit;
    transition-duration: inherit;
}

.smooth {
    -webkit-transition-duration: .2s;
    transition-duration: .2s;
}

.smoother {
    -webkit-transition-duration: .5s;
    transition-duration: .5s;
}

.sharp {
    -webkit-transition-duration: 0s;
    transition-duration: 0s;
}

html, body {
    height: 100%;
    min-height: 100vh;
}

body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

