body{
  display: flex;
  flex-direction: column;
}

header{
  text-align:center;
  flex: 0 0 auto;
}

main{
  width:calc(100% - 6rem);
  max-width:400px;
  margin:0 auto;
  padding:0;
	display:flex;
  flex-wrap:wrap;
	justify-content:center;
	align-items:center;
  box-sizing:border-box;
  flex: 1 1 auto;
}

main .layout-content{
  width:100%;
  position:relative;
}

footer{
  width:calc(100% - 6rem);
  max-width:400px;
  margin:2rem auto 0;
  padding:2rem 0;
  flex: 0 0 auto;
  box-sizing:border-box;
}

.grid{
  display: flex;
	justify-content: space-between;
}
.grid > div{
  padding-left:.5rem;
  padding-right:.5rem;
}
.grid > div:first-child{
  padding-left:0rem;
}
.grid > div:last-child{
  padding-right:0rem;
}