+ 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;