h2, h3, h4 { margin-bottom: 3px; }
h2 + p, h3 + p, h4 + p { margin-top: 2px; }
h3 { margin-top: 3.2rem; } 
h4 { margin-top: 3rem; text-align: center; } 
h5 { margin-bottom: 2px; font-size: 1rem; letter-spacing: 0.02rem; text-align: center;}
h5 + p { margin-top: 2px; }
p { font-size: 1.1rem; line-height: 150%; } 
ul, ol { margin-bottom: 5rem; }
[id^=checklist] { list-style-type: none; padding: 0; font-size: 1.1rem; }
[id^=checklist] li { margin: 6px 0;}
[id^=checklist] li.checked { margin: 0px;}
[id^=checklist] li.checked a { text-decoration: none; }
input                 { margin-right: 5px;  } 
input:checked         { opacity: .3;  } 
input:checked + label { text-decoration: line-through; color: #aaa; font-size: 84%;} 
input:checked + label a { color: #aaa} 
article { margin-bottom: 84px; } 
article:not(.hidden) { margin-top: 2rem; }
article.hidden + article:not(.hidden) h3,
article:target > h3 { margin-top: 4px; font-size: 1.4rem; margin-bottom: 13px; font-family: sans-serif; font-weight: 200; text-transform: uppercase; letter-spacing: 1px;}
article.hidden + article:not(.hidden) h4,
article:target > h4 { font-size: 1.4rem; margin-bottom: 3px; }
article.hidden + article:not(.hidden) > p:last-child,,
article:target > p:last-child { margin-bottom: 0; }
article section { padding-left: 2rem; }

.hidden { display: none; }
.returning-visitor h1 { display: none; }
.returning-visitor h1 + p { display: none; }


/* Smaller devices (think mobile) */
@media screen and (max-device-width: 699px) { 
  body { padding: 1.3rem; } 
  [id^=checklist] { font-size: 1.3rem; }
  article:target { padding-top: 2.2rem; }
}

/* Laptop - any screen size */
@media screen and (min-device-width: 700px) { 
  body { padding: 2.6rem 2.6rem 20vh; } 
  article.hidden + article:not(.hidden),
  article:target { padding: 2.4rem; border: 1px solid #ddd; border-radius: 4px; }

  .returning-visitor { margin-top: 0; }
}

/* Laptop and wide screen */
@media screen and (min-device-width: 700px) and (min-width: 900px) {
  body { max-width: 680px; margin: 2rem auto; } 
}
