+/*.granted,
+.granted a {
+ background-color: #cff;
+ border-color: #00c3f9;
+}
+
+.disputed,
+.disputed a {
+ border-color: #930;
+ background-color: #fc9;
+ color: #930;
+}*/
+
+.highlight {
+ filter: hue-rotate(90deg);
+}
+
+.canceled {
+ filter: hue-rotate(180deg) grayscale(33%);
+}
+
+.locked {
+ filter: hue-rotate(180deg);
+}
+
+.pending {
+ filter: grayscale(33%);
+}
+
+.disabled {
+ filter: grayscale(66%);
+}
+
+/*.canceled,
+.canceled a,
+.canceled h2,
+.canceled header {
+ color: #963;
+ background-color: #fddddd;
+ border-color: #963;
+}
+
+.locked,
+.locked a {
+ border-color: #930;
+ background-color: #f9c3c3;
+ color: #930;
+}
+
+.pending,
+.pending a {
+ background-color: #ccc;
+ border-color: #066;
+}
+
+.highlight,
+.highlight a,
+.highlight h3,
+.highlight h3 a {
+ border-color: #3333c3;
+ background-color: #c3c3f9;
+ color: #606;
+}*/
+
+.calendar a {
+ display: grid;
+ /*grid-template-columns: 1fr auto fit-content(1fr);*/
+ grid-template-columns: max-content 1fr max-content;
+ flex: 1 1 auto;
+ grid-gap: .1rem;
+ /*XXX: reset to visible to prevent scroll*/
+ overflow-x: visible;
+}
+
+.calendar .reducible {
+ overflow-x: hidden;
+ text-overflow: ellipsis;
+ text-align: center;
+}
+
+.calendar .glyph {
+ font-family: 'Noto Emoji', 'Droid Sans', 'Symbola', 'DejaVu Sans', 'FreeSans', sans-serif;
+}
+
+.calendar .temperature,
+.calendar .rain,
+.calendar .rate {
+ line-height: 1rem;
+ text-align: right;
+}
+
+.calendar .rate {
+ text-align: center;
+}
+
+.calendar .info {
+ line-height: 1rem;
+ text-align: right;
+}
+
+.calendar .pseudonym {
+ grid-column: span 2;
+}
+
+.seven {
+ grid-template-columns: repeat(7, 1fr);
+}
+
+.four {
+ grid-template-columns: repeat(4, 1fr);
+}
+
+.three {
+ grid-template-columns: repeat(3, 1fr);
+}
+
+.two {
+ grid-template-columns: repeat(2, 1fr);
+}
+
+/*.city .grid h3,
+.location .grid h3,
+.city .grid h4,
+.location .grid h4 {
+ border-style: none;
+ margin: 0;
+ flex: 1 1 auto;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.city .grid article,
+.location .grid article {
+ min-height: auto;
+ height: fit-content;
+}
+
+.city .grid {
+ gap: .5rem;
+}*/
+
+.location form {
+ margin: .5rem auto;
+}
+
+.location form .row {
+ flex-direction: column;
+}
+
+.location form div {
+ margin-left: auto;
+ margin-right: auto;
+}
+
+.location label {
+ width: 20rem;
+ padding-right: 0;
+ text-align: center;
+}
+
+.location input,
+.location textarea {
+ width: 20rem;
+ margin: 0 .1rem;
+}
+
+.form {
+ margin: 0;
+ display: flex;
+ flex-direction: column;
+ gap: .5rem;
+}
+
+.form h2 {
+ font-size: 1.17rem;
+ padding: .4rem;
+}
+
+.form a {
+ white-space: nowrap;
+}
+
+.form section {
+ margin: 0;
+ border: .05rem solid #00c3f9;
+ border-radius: .2rem;
+ width: 100%;
+}
+
+.form form {
+ gap: .5rem;
+}
+
+/* Footer */
+#footer {
+ border: .1rem solid #00c3f9;
+ border-radius: .5rem;
+ margin: .5rem;
+ margin-top: 0;
+ padding: .5rem;
+ text-align: center;
+ font-size: .8rem;
+ line-height: 2.5rem;
+ display: flex;
+ justify-content: space-between;
+ background-color: #cff;
+ gap: .5rem;
+}
+
+#footer summary::after {
+ display: none;
+}
+
+#footer summary::-webkit-details-marker {
+ display: none;
+}
+
+#footer ul {
+ list-style: none inside none;
+ margin: 0;
+}
+
+#footer a,
+#footer details {
+ padding: 0 .5rem;
+ border: .1rem solid #136;
+ border-top: 0;
+ border-left: 0;
+ border-radius: .2rem;
+ background-color: #00c3f9;
+ color: #136;
+ justify-content: center;
+}
+
+#footer details a {
+ padding: 0;
+ border: 0 none;
+}
+
+/* viewport responsive hack */
+@media ( max-width: 1400px ) {
+ .location label,
+ .location input,
+ .location textarea {
+ width: 12rem;
+ }
+
+ .session .three {
+ grid-template-columns: repeat(2, 1fr);
+ }
+}
+
+@media ( max-width: 1000px ) {
+ .panel {
+ /*flex-flow: column-reverse wrap;*/
+ flex-flow: column wrap;
+ }
+
+ .location .two {
+ grid-template-columns: repeat(2, 1fr);
+ }
+}
+
+@media ( max-width: 900px ) {
+ .form {
+ flex-direction: row;
+ }
+
+ form label {
+ width: 6rem;
+ line-height: 2rem;
+ }
+
+ form label.captcha img {
+ height: auto;
+ width: 6rem;
+ padding: .25rem 0;
+ }
+
+ form input,
+ form option,
+ form optgroup,
+ form select,
+ form textarea,
+ form section section {
+ width: 20rem;
+ line-height: 2rem;
+ }
+
+ form button {
+ width: 6rem;
+ 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 {