+               line-height: 2rem;
+       }
+
+       .col label,
+       .col input,
+       .col option,
+       .col optgroup,
+       .col select,
+       .col textarea {
+               width: 12rem;
+       }
+
+       .col button {
+               width: 12rem;
+       }
+
+       .seven {
+               grid-template-columns: repeat(4, 1fr);
+       }
+
+       .calendar .sunday {
+               grid-column: span 2;
+       }
+
+       /*.grid section:nth-child(7n) {
+               grid-column: span 2;
+       }*/
+
+       .four {
+               grid-template-columns: repeat(3, 1fr);
+       }
+
+       .three {
+               grid-template-columns: repeat(2, 1fr);
+       }
+
+       .two {
+               grid-template-columns: repeat(1, 1fr);
+       }
+
+       .four .multimap {
+               grid-column: span 3;
+       }
+
+       .three .multimap {
+               grid-column: span 2;
+       }
+
+       .two .multimap {
+               grid-column: span 1;
+       }
+
+       /*#dashboard .seventh:nth-child(7n+1),
+       #dashboard .seventh:nth-child(7n+2),
+       #dashboard .seventh:nth-child(7n+3),
+       #dashboard .seventh:nth-child(7n+4) {
+               width: calc(100% / 4 - (3/4*.1rem));
+       }
+
+       #dashboard .seventh:nth-child(7n+5),
+       #dashboard .seventh:nth-child(7n+6),
+       #dashboard .seventh:nth-child(7n+7) {
+               width: calc(100% / 3 - (2/3*.1rem));
+       }*/
+}
+
+@media ( max-width: 700px ) {
+       .session .three {
+               grid-template-columns: repeat(1, 1fr);
+       }
+
+       .multimap img {
+               width: 100%;
+               width: calc(100% - .2rem);
+               height: auto;
+       }
+}
+
+@media ( max-width: 600px ) {
+       form label {
+               margin: 0 auto;
+       }
+
+       form input,
+       form option,
+       form optgroup,
+       form select,
+       form textarea,
+       form section section {
+               width: 12rem;
+               margin: 0 auto;
+       }
+
+       #logo {
+               flex-direction: column;
+       }
+
+       .seven {
+               grid-template-columns: repeat(2, 1fr);
+       }
+
+       /*.grid section:nth-child(7n) {
+               grid-column: span 2;
+               margin-bottom: .5rem;
+       }
+
+       .grid section:only-child,
+       .grid section:last-child,
+       .grid section:last-of-type {
+               margin-bottom: 0;
+       }*/
+
+       .calendar .sunday {
+               margin-bottom: .5rem;
+       }
+
+       .calendar .sunday:only-child,
+       .calendar .sunday:last-child {
+               margin-bottom: 0;
+       }
+
+       .four {
+               grid-template-columns: repeat(2, 1fr);
+       }
+
+       .three {
+               grid-template-columns: repeat(1, 1fr);
+       }
+
+       .four .multimap {
+               grid-column: span 2;
+       }
+
+       .three .multimap {
+               grid-column: span 1;
+       }
+
+       .location .two {
+               grid-template-columns: repeat(1, 1fr);
+       }
+
+       /*#dashboard .seventh:nth-child(n) {
+               width: calc(100% / 2 - .1rem);
+       }
+
+       #dashboard .seventh:nth-child(7n) {
+               width: calc(100%);
+       }*/
+
+       /*.city .two,
+       .location .two {
+               grid-template-columns: 1fr;
+       }
+
+       .city .grid article,
+       .location .grid article {
+               overflow: hidden;
+       }*/
+}
+
+@media ( max-width: 450px ) {
+       #header div {
+               flex-direction: column;
+       }
+
+       #title {
+               text-align: center;
+       }
+
+       #logo {
+               flex-direction: row;
+       }
+
+       dd, p, #footer {
+               font-size: 110%;
+       }
+
+       a, dd, figcaption, #footer {
+               /*XXX: required to validate Tap targets are sized appropriately*/
+               line-height: 3rem;
+       }
+
+       figure,
+       .calendar a {
+               line-height: normal;
+       }
+
+       form .row,
+       .grid,
+       .form,
+       #footer {
+               flex-direction: column;
+       }
+
+       form label {
+               text-align: center;
+       }
+
+       .seven {
+               grid-template-columns: repeat(1, 1fr);
+       }
+
+       /*.grid section:nth-child(n) {
+               grid-column: auto;
+       }*/
+       .calendar .sunday {
+               grid-column: auto;
+       }
+
+       .four {
+               grid-template-columns: repeat(1, 1fr);
+       }
+
+       .four .multimap {
+               grid-column: span 1;
+       }
+}
+
+@media ( max-width: 320px ) {
+       #logo {
+               flex-direction: column;
+       }
+
+       #title {
+               white-space: normal;
+       }
+}
+
+@media ( max-width: 260px ) {
+       .col label,
+       .col input,
+       .col option,
+       .col optgroup,
+       .col select,
+       .col textarea {
+               width: 10rem;
+       }
+
+       .col button {
+               width: 10rem;