body{
    display:flex;
    flex-direction:column;
    min-height:100vh
}
.main{
    z-index:300;
    flex-grow:1;
    position:relative
}
.container{
    margin-left:auto;
    margin-right:auto;
    max-width:1600px;
    padding-left:1em;
    padding-right:1em;
    transition:padding-left .125s ease-out,padding-right .125s ease-out
}
.container-fullwidth{
    max-width:none
}
@media(min-width: 576px){
    .container{
        padding-left:1.625em;
        padding-right:1.625em
    }
}
@media(min-width: 768px){
    .container{
        padding-left:2.25em;
        padding-right:2.25em
    }
}
@media(min-width: 992px){
    .container{
        padding-left:2.875em;
        padding-right:2.875em
    }
}
@media(min-width: 1200px){
    .container{
        padding-left:3.5em;
        padding-right:3.5em
    }
}
@media(min-width: 1400px){
    .container{
        padding-left:4.125em;
        padding-right:4.125em
    }
}
@media(min-width: 1600px){
    .container{
        padding-left:4.75em;
        padding-right:4.75em
    }
}
 