

html, body {
  height: 100%;
  padding: 0;
  margin: 0;
  font-size:10px;
  background: #fff;
}

body {
  position: relative;
}

ul {
  margin: 0 0 4rem 0;
  padding: 0 1rem;
  list-style: none;
}

h3 {
  margin: 0;
  padding: 0 4rem;;
  font-size: 1.6rem;
  color: #fff;
  position: relative;
}

h3:before {
  content: attr(data-order);
  display: block;
  position: absolute;
  left: -1rem;
  top: -0.5rem;
  background-color: #353535;
  border-radius: 50%;
  color: #DEDEDE;
  font-size: 1.4rem;
  width: 2rem;
  height: 2rem;
  line-height: 2rem;
  margin: 0.5rem 0.5rem 0.5rem 2rem;
  text-align: center;
}


h4 {
  margin: 0 0 1rem 0;
  padding: 0;
  font-size: 14px;
  font-weight: normal;
}

p {
  margin: 0;
  padding: 0;
  font-size: 1.4rem;
  color: #656565;
}

section:not[role="region"] {
  margin-bottom: 3rem;
  padding: 0 2rem;
}

#main {
    padding: 0 0 6rem 0;
}

#main header{
  position: sticky;
  top: 0;
  padding: 1rem 0rem;
  background-color: rgba(0,0,0,0.6);
  z-index: 10;
}

.note {
  margin-bottom: 2rem;
  padding: 1rem;
}

li {
  padding: 1rem 0;
  border-bottom: 0.1rem solid #dedede;
  position: relative;
  height: 4rem;
}


span[data-type="img"] {
  display: block;
  overflow: hidden;
  position: absolute;
  top: 0.5rem;
  right: 1rem;
  width: 5rem;
  height: 5rem;
  border-radius: 2.5rem;
  box-sizing: border-box;
  background: none repeat scroll center center / cover transparent;
  image-rendering: -moz-crisp-edges;
}

.border-solid span[data-type="img"] {
  border: 0.1rem solid #DEDEDE;
}

.border-alpha span[data-type="img"] {
  border: 0.1rem solid rgba(0,0,0,0.2);
}

.box-shadow-solid span[data-type="img"] {
  box-shadow: 0 0 0 0.1rem #DEDEDE;
}

.box-shadow-alpha span[data-type="img"] {
  box-shadow: 0 0 0 0.1rem rgba(0,0,0,0.2);
}


#columns section {
  width: 25%;
  float: left;
}

#columns p {
  background-color: #353535;
  border-radius: 50%;
  color: #DEDEDE;
  font-size: 2rem;
  height: 2rem;
  width: 2rem;
  line-height: 2rem;
  margin: 0.5rem 0.5rem 0.5rem 2rem;
  text-align: center;
}

#columns li {
  padding: 1rem 0;
  border-bottom: none;
  position: relative;
  height: 4rem;
}

#columns span[data-type="img"] {
  display: block;
  overflow: hidden;
  position: relative;
  top: 0.5rem;
  left: 0.5rem;
  width: 5rem;
  height: 5rem;
  border-radius: 2.5rem;
  box-sizing: border-box;
  background: none repeat scroll center center / cover transparent;
  image-rendering: -moz-crisp-edges;
}


footer {
    position: fixed;
    width: 100%;
    height: 3rem;
    bottom: 0;
}