X-Git-Url: https://git.rapsys.eu/airbundle/blobdiff_plain/d1a3b2d7fc85ab0fab4c0361ab369eb7523832ca..673aa7abcb3bd344ffcadee5b29f8cfc6c21be04:/Resources/public/css/screen.css?ds=sidebyside

diff --git a/Resources/public/css/screen.css b/Resources/public/css/screen.css
index 622d099..6515930 100644
--- a/Resources/public/css/screen.css
+++ b/Resources/public/css/screen.css
@@ -1,6 +1,6 @@
 /* Reset link */
 a {
-	text-decoration: none;
+	/*text-decoration: none;*/
 	color: #066;
 }
 
@@ -38,41 +38,92 @@ dt, h1, h2, h3, h4, h5, h6, label, legend, th, details {
 /* Default styling */
 h1 {
 	font-size: 2rem;
-	margin: 1.34rem 0;
 }
 
 h2 {
 	font-size: 1.5rem;
-	margin: 1.245rem 0;
+	margin: 0 0 .5rem;
+	padding: .5rem;
 }
 
 h3 {
 	font-size: 1.17rem;
-	margin: 1.17rem 0;
+	margin: 0 0 .5rem;
+	padding: .4rem;
 }
 
 h4 {
 	font-size: 1rem;
-	margin: 1.33rem 0;
+	margin: 0 0 .5rem;
+	padding: .3rem;
 }
 
 h5 {
 	font-size: .85rem;
-	margin: 1.386rem 0;
+	margin: 0 0 .5rem;
+	padding: .2rem;
 }
 
 h6 {
 	font-size: .67rem;
-	margin: 1.561rem 0;
+	margin: 0 0 .5rem;
+	padding: .1rem;
+}
+
+header {
+	margin: 0 0 .5rem;
+}
+
+header h2 {
+	margin: 0;
+	padding: .5rem .5rem .3rem;
+	border-bottom: 0 none;
+}
+
+nav strong {
+	display: block;
+	font-size: 1.17rem;
+	margin: 0 0 .5rem;
+	padding: .4rem;
+}
+
+h2, h3, h4, h5, header, nav strong {
+	background-color: #cff;
+	border-bottom: .1rem solid #00c3f9;
+}
+
+strong {
+	font-weight: bold;
+}
+
+p {
+	margin: 0 .5rem .3rem;
+	font-size: .9rem;
+}
+
+pre {
+	margin: 0 .5rem .3rem;
+	font-size: .8rem;
+}
+
+dl {
+	margin: 0 .5rem .5rem;
+}
+
+dl:first-child,
+dl:only-child,
+dl:first-of-type {
+	margin-top: .5rem;
 }
 
-p,
 dt {
-	font-size: 1rem;
+	font-size: .9rem;
+	font-weight: bold;
 }
 
 dd {
 	font-size: .9rem;
+	margin-left: 1rem;
 }
 
 body {
@@ -81,6 +132,33 @@ body {
 	color: #066;
 }
 
+nav,
+section,
+article {
+	margin: 0 .5rem .5rem;
+	border: .1rem solid #00c3f9;
+	border-radius: .3rem;
+}
+
+ul {
+	display: grid;
+	margin: 0 .5rem .3rem;
+	font-size: .9rem;
+	list-style: ' - ' inside none;
+	gap: .3rem;
+}
+
+nav ul {
+	list-style: none inside none;
+	margin-bottom: .5rem;
+	gap: .5rem;
+}
+
+nav ul ul {
+	margin-top: .5rem;
+	margin-bottom: 0;
+}
+
 /* Form */
 label {
 	font-size: .8rem;
@@ -105,15 +183,19 @@ form {
 	display: flex;
 	flex-direction: column;
 	flex-wrap: wrap;
-	line-height: normal;
+	margin: 0 .5rem .5rem;
 	text-align: center;
 }
 
-form header .message {
-	margin: 0;
+form .row {
+	flex-direction: row;
 }
 
 form div {
+	display: flex;
+	align-content: space-around;
+	justify-content: center;
+	flex-direction: column;
 	margin-bottom: .5rem;
 }
 
@@ -123,21 +205,9 @@ form div:last-of-type {
 	margin-bottom: 0;
 }
 
-form section div {
-	display: flex;
-	flex-direction: row;
-	align-content: space-around;
-	justify-content: center;
-}
-
-form section section {
-	display: flex;
-	flex-direction: column;
-}
-
 form label {
 	width: 12rem;
-	padding: .2rem 1rem .2rem 0;
+	padding-right: 1rem;
 	text-align: right;
 }
 
@@ -149,6 +219,7 @@ form textarea,
 form section section {
 	width: 24rem;
 	padding: .1rem;
+	margin: 0 auto;
 }
 
 form select {
@@ -157,19 +228,22 @@ form select {
 
 form button {
 	width: 10rem;
-	margin: .5rem auto 0 auto;
+	/*margin: .5rem auto 0 auto;*/
+	margin: 0 auto;
 	padding: 0 .1rem .2rem .1rem;
 }
 
-form section .message {
+form .message {
 	margin: .25rem 0 0 0;
 }
 
 /* Vertical form */
 .col label {
 	width: 8rem;
-	padding: .2rem 0;
+	padding-right: 0;
+	padding-bottom: .2rem;
 	text-align: center;
+	margin: 0 auto;
 }
 
 .col input,
@@ -184,11 +258,7 @@ form section .message {
 	width: 8rem;
 }
 
-.col section {
-	width: auto;
-}
-
-.col div {
+.col .row {
 	flex-direction: column;
 }
 
@@ -199,55 +269,61 @@ form section .message {
 
 /* Header */
 #header {
+	background-color: transparent;
 	border: .1rem solid #00c3f9;
 	border-top: 0;
 	border-radius: 0 0 .5rem .5rem;
-	margin: .5rem;
-	margin-top: 0;
+	margin: 0 .5rem .5rem;
 	display: flex;
 	flex-direction: row;
 	flex-wrap: nowrap;
 	justify-content: space-between;
-	/*min-width: 180px;*/
+	line-height: 32px;
+	font-size: 32px;
+	padding: .5rem;
+	gap: .5rem;
 }
 
 #header h1 {
 	padding: 0;
 	margin: 0;
-	vertical-align: middle;
 	white-space: nowrap;
+	width: 171px;
+	height: 32px;
 }
 
-#header h1 a {
-	display: block;
-	padding: .5rem;
+#header h2 {
+	display: none;
 }
 
 #header nav {
 	display: flex;
-	flex-wrap: wrap;
-	align-items: center;
-	justify-content: flex-end;
-	padding: .5rem;
+	flex: 1 1 auto;
+	border-style: none;
+	margin: 0;
 }
 
-#header nav h2 {
-	display: none;
+#header ul {
+	display: flex;
+	flex: 1 1 auto;
+	flex-direction: row;
+	flex-wrap: wrap;
+	margin: 0;
+	gap: .5rem;
 }
 
-#header nav a {
-	flex-grow: 1;
-	text-align: center;
-	border-radius: .25rem;
-	padding: .375rem .5rem .25rem .5rem;
-	margin: 0 0 0 .5rem;
+#header li {
+	display: flex;
+	flex: 1 1 auto;
+	border-radius: .2rem;
 	border: .1rem solid #00c3f9;
-	font-weight: bold;
 	background-color: #cff;
+	justify-content: center;
 }
 
-#header nav a:first-child {
-	margin: 0;
+#header ul a {
+	text-align: center;
+	font-weight: bold;
 }
 
 /* Message */
@@ -265,13 +341,30 @@ form section .message {
 
 .message::before,
 .message::after {
-	line-height: 100%;
 	margin: auto 0;
 	padding: 0 .25rem;
 }
 
-p.message {
-	margin: .5rem;
+.message ul {
+	margin: 0;
+	list-style: none inside none;
+	gap: .1rem;
+}
+
+.mortal,
+.mortal button,
+.mortal select {
+	/*border-color: #c33333;
+	color: #c33333;*/
+	border-color: #930;
+	background-color: #f9c3c3;
+	color: #930;
+}
+
+.dangerous,
+.mortal {
+	border-radius: .2rem;
+	padding: .5rem 0;
 }
 
 .error {
@@ -302,6 +395,17 @@ p.message {
 	/*content: "⌘";*/
 }
 
+.dangerous,
+.dangerous button,
+.dangerous select {
+	/*border-color: #c39333;
+	background-color: #f9c333;
+	color: #936333;*/
+	border-color: #930;
+	background-color: #fc9;
+	color: #930;
+}
+
 .warning {
 	border-color: #c39333;
 	background-color: #f9c333;
@@ -319,393 +423,259 @@ p.message {
 
 /* Dashboard */
 #dashboard,
-#regulation,
-#form {
-	border: .1rem solid #00c3f9;
+#form,
+#recover,
+#regulation {
 	border-radius: .5rem;
+	/*border: .1rem solid #00c3f9;
 	margin: .5rem;
 	margin-top: 0;
-	overflow: hidden;
 	display: flex;
-	flex-direction: column;
-}
-
-#dashboard h2,
-#regulation h2,
-#form h2 {
-	background-color: #cff;
-	border-bottom: .1rem solid #00c3f9;
-	margin: 0;
-	padding: .5rem;
-}
-
-#form h3,
-#dashboard h3 {
-	background-color: #cff;
-	border-bottom: .1rem solid #00c3f9;
-	margin: 0;
-	padding: .3rem;
-}
-
-#dashboard h4 {
-	background-color: #cff;
-	border-bottom: .1rem solid #00c3f9;
-	margin: 0;
-	padding: .2rem;
-}
-
-#form form {
-	padding: .5rem;
-}
-
-#form .recover {
-	border: .1rem solid #00c3f9;
-	border-radius: .3rem;
-	margin: 0 .5rem .5rem;
-}
-
-/*#dashboard .calendar h3 {
-	margin: -.3rem;
-	margin-bottom: .3rem;
-}*/
-
-#dashboard .subgrid .cell {
-	padding: .3rem;
+	flex-direction: column;*/
 }
 
-#dashboard .subgrid h4 {
-	margin: -.3rem;
-	margin-bottom: .3rem;
-}
-
-/*#dashboard h4 {
-	background-color: #cff;
-	border-bottom: .1rem solid #00c3f9;
-	margin: -.5rem;
-	margin-bottom: .5rem;
-	padding: .1rem;
-}*/
-
-#dashboard .panel {
+.panel {
 	display: flex;
 	flex-direction: row;
-	flex-wrap: nowrap;
-	place-content: space-between;
-	border: 0;
-	margin: 0;
-	padding: 0 .5rem .5rem .5rem;
-}
-
-#dashboard .panel:only-child,
-#dashboard .panel:first-child,
-#dashboard .panel:first-of-type {
-	padding-top: .5rem;
-}
-
-
-#dashboard .panel:only-child,
-#dashboard .panel:last-child,
-#dashboard .panel:last-of-type {
-	padding-bottom: .5rem;
-}
-
-#dashboard .candidate section,
-#dashboard .location section {
-	flex-direction: column;
-	flex-grow: 1;
-	border: .1rem solid #00c3f9;
-	border-radius: .3rem;
-	padding: 0;
-}
-
-#dashboard .location h4 {
-	border-width: 0;
+	margin: 0 .5rem .5rem;
+	gap: .5rem;
 }
 
-#dashboard .grid {
-	display: flex;
-	flex-flow: row wrap;
+.grid {
+	display: grid;
 	border-style: solid;
 	border-color: #00c3f9;
 	border-radius: .2rem;
-	/*border-width: .1rem 0 0 .1rem;*/
-	line-height: normal;
-	flex-grow: 1;
-	/*box-sizing: inherit;*/
 	box-sizing: border-box;
 	border-collapse: collapse;
-	/*box-sizing: border-box;
-	display: table;
-	line-height: normal;
-	padding: 0;
-	flex-grow: 1;
-	table-layout: fixed;
-	border: 0 none;
-	width: fit-content;
-	border-collapse: collapse;*/
-	/*width: calc(100% - 12rem);
-	border-collapse: collapse;*/
-	/*width: calc(100% - 12rem);*/
-	gap: .1rem;
+	grid-gap: .1rem;
+	flex: 1 1 auto;
 }
 
-	/*margin: 0;
-#dashboard .grid:only-child,
-#dashboard .grid:last-child,
-#dashboard .grid:last-of-type {
-	margin-bottom: 0;
-}*/
+.grid article,
+.grid section {
+	border-collapse: inherit;
+	border-color: inherit;
+	border-radius: inherit;
+	border-style: inherit;
+	border-width: .1rem;
+	box-sizing: inherit;
+	flex-grow: inherit;
+	margin: 0;
+	min-height: 5rem;
+	overflow: hidden;
+}
 
-#dashboard .candidate .grid,
-#dashboard .location .grid {
-	padding: .5rem;
+.grid h3 {
+	margin: 0;
+	overflow: hidden;
+	text-overflow: ellipsis;
+	white-space: nowrap;
 }
 
-#dashboard .dlgrid {
-	display: flex;
-	flex-flow: row wrap;
-	line-height: normal;
-	gap: .5rem;
+.grid ul {
+	display: block;
+	margin: .1rem;
+	font-size: .8rem;
+	list-style: none inside none;
 }
 
-#dashboard dl {
-	/*margin: .5rem;
-	padding: .25rem;
-	border: .1rem solid #00c3f9;
+.grid li {
+	border-width: .1rem;
+	border-style: solid;
 	border-radius: .2rem;
-	flex-grow: 1;
-	box-sizing: border-box;
-	border-collapse: collapse;*/
-	margin: 0 .5rem .5rem .5rem;
+	white-space: nowrap;
+	padding: .1rem;
+	display: flex;
+	margin: 0 0 .1rem;
+	flex-direction: row;
+	justify-content: space-between;
 }
 
-#dashboard dl:first-child,
-#dashboard dl:only-child,
-#dashboard dl:first-of-type {
-	margin-top: .5rem;
+.grid li a:first-letter {
+	color: inherit;
 }
 
-#dashboard dt {
-	font-size: .9rem;
-	font-weight: bold;
+/*XXX: required by ul display:block for overflow:hidden*/
+.grid li:only-child,
+.grid li:last-child,
+.grid li:last-of-type {
+	margin: 0;
 }
 
-#dashboard dd {
-	font-size: .9rem;
-	margin-left: 1rem;
+.grid a {
+	overflow-x: hidden;
+	text-overflow: ellipsis;
 }
 
-#dashboard ul {
-	/*padding: 0 .1rem;*/
-	margin: .1rem;
+.grid p {
+	margin: 0 0 .3rem;
 }
 
-#dashboard li {
-	font-size: .8rem;
-	line-height: 1rem;
-	margin-bottom: .1rem;
+.grid p:only-child,
+.grid p:last-child,
+.grid p:last-of-type {
+	margin: 0;
 }
 
-#dashboard li:only-child,
-#dashboard li:last-child {
-	margin-bottom: 0;
+.current,
+.current h3 {
+	background-color: #cfc;
+	border-color: #008000;
+	color: #008000;
 }
 
-#dashboard .subgrid {
-	display: flex;
-	flex-flow: row wrap;
-	border-style: solid;
-	border-color: #00c3f9;
-	border-width: .1rem 0 0 .1rem;
-	border-radius: .2rem;
-	line-height: normal;
-	flex-grow: 1;
-	box-sizing: inherit;
-	box-sizing: border-box;
-	border-collapse: collapse;
-	margin: .5rem;
+.current h3:first-letter {
+	color: #00b000;
 }
 
-#dashboard .subgrid:only-child,
-#dashboard .subgrid:last-child,
-#dashboard .subgrid:last-of-type {
-	margin-bottom: 0;
+.granted,
+.granted a {
+	background-color: #cff;
+	border-color: #00c3f9;
 }
 
-#dashboard .cell {
-	border-color: inherit;
-	border-style: inherit;
-	border-width: .1rem;
-	border-radius: inherit;
-	flex-grow: inherit;
-	box-sizing: inherit;
-	border-collapse: inherit;
+.disputed,
+.disputed a {
+	border-color: #930;
+	background-color: #fc9;
+	color: #930;
 }
 
-#dashboard .subgrid .cell {
-	border-radius: 0;
-	border-width: 0 .1rem .1rem 0;
+.canceled,
+.canceled a,
+.canceled h2,
+.canceled header {
+	color: #963;
+	background-color: #fddddd;
+	border-color: #963;
 }
-#dashboard .subgrid .cell:only-child,
-#dashboard .subgrid .cell:last-child,
-#dashboard .subgrid .cell:last-of-type {
-	border-radius: inherit;
+
+.locked,
+.locked a {
+	border-color: #930;
+	background-color: #f9c3c3;
+	color: #930;
 }
 
-#dashboard .fourth {
-	min-height: 5rem;
-	width: calc(100% / 4 - (6/7*.1rem));
+.pending,
+.pending a {
+	background-color: #ccc;
+	border-color: #066;
 }
 
-#dashboard .seventh {
-	min-height: 5rem;
-	width: calc(100% / 7 - (6/7*.1rem));
+.highlight,
+.highlight a {
+	border-color: #3333c3;
+	background-color: #c3c3f9;
+	color: #3333c3;
 }
 
-#dashboard .third {
-	min-height: 5rem;
-	width: calc(100% / 3 - (6/7*.1rem));
+.disabled {
+	filter: grayscale(66%);
 }
 
-#dashboard .session {
-	border: .1rem solid #00c3f9;
-	border-radius: .2rem;
-	white-space: nowrap;
-	display: flex;
-	flex-direction: row;
-	justify-content: space-between;
-	padding: .1rem;
+.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;
 }
 
-#dashboard .session a {
+.calendar .reducible {
 	overflow-x: hidden;
 	text-overflow: ellipsis;
+	text-align: center;
 }
 
-#dashboard .session a:first-letter {
-	color: #066;
-}
-
-#dashboard .disabled {
-	/*color: #acc;
-	background-color: #bee;*/
-	filter: grayscale(33%);
+.calendar .info {
+	line-height: 1rem;
 }
 
-#dashboard .current {
-	background-color: #cff;
+.calendar .pseudonym {
+	grid-column: span 3;
 }
 
-#dashboard .current h3 {
-	text-decoration: underline solid #00c3f9;
+.seven {
+	grid-template-columns: repeat(7, 1fr);
 }
 
-#dashboard .next {
-	background-color: #eff;
+.four {
+	grid-template-columns: repeat(4, 1fr);
 }
 
-#dashboard .pending {
-	background-color: #ccc;
+.two {
+	grid-template-columns: repeat(2, 1fr);
 }
 
-#dashboard .granted {
-	background-color: #cff;
-	/*background-color: #33b679;
-	border-color: #33b679;*/
+.location h3 {
+	border-style: none;
+	flex: 1 1 auto;
+	white-space: nowrap;
+	overflow: hidden;
+	text-overflow: ellipsis;
 }
 
-#dashboard .disputed {
-	background-color: #fcc;
+.location p {
+	margin: 0 .5rem .5rem;
 }
 
-#dashboard .orphaned {
-	background-color: #fc9;
+.location .grid article,
+.location .grid section {
+	min-height: auto;
 }
 
-#dashboard .highlight {
-	border-color: #3333c3;
-	background-color: #c3c3f9;
-	color: #3333c3;
+.location form {
+	margin: .5rem auto;
 }
 
-#dashboard .form {
-	margin: 0 0 0 .5rem;
-	border: .05rem solid #00c3f9;
-	border-radius: .2rem;
-	padding: .5rem;
-	display: flex;
+.location form .row {
 	flex-direction: column;
 }
 
-/* Weather
- * TODO: drop
->24°C
-#dashboard .cleary a::before {
-	content: "☀";
-}
-
->17°C
-#dashboard .sunny a::before {
-	content: "⛅";
+.location form div {
+	margin-left: auto;
+	margin-right: auto;
 }
 
->10°C
-#dashboard .cloudy a::before {
-	content: "☁";
-}
-
-<=10°C
-#dashboard .winty a::before {
-	content: "❄️";
+.location label {
+	width: 20rem;
+	padding-right: 0;
+	text-align: center;
 }
 
->0mm
-#dashboard .rainy a::before {
-	content: "🌂";
+.location input,
+.location textarea {
+	width: 20rem;
+	margin: 0 .1rem;
 }
 
->2mm
-#dashboard .stormy a::before {
-	content: "☔";
-}*/
-
-/* Regulation */
-#regulation {
-}
-
-#regulation dl {
-	/*display: flex;
-	flex-direction: row;
-	justify-content: space-around;
-	padding-bottom: .5rem;*/
-	padding: .25rem;
-	margin-bottom: .5rem;
+.form {
+	margin: 0;
+	display: flex;
+	flex-direction: column;
+	gap: .5rem;
 }
 
-#regulation dt {
-	font-size: .9rem;
-	font-weight: bold;
-	padding-bottom: .2rem;
+.form h2 {
+	font-size: 1.17rem;
+	padding: .4rem;
 }
 
-#regulation dd {
-	font-size: .9rem;
-	margin-left: 1.5rem;
+.form a {
+	white-space: nowrap;
 }
 
-#regulation dd:before {
+.form section {
+	margin: 0;
+	border: .05rem solid #00c3f9;
+	border-radius: .2rem;
+	width: 100%;
 }
 
-#regulation dl:only-child,
-#regulation dl:last-child,
-#regulation dl:last-of-type,
-#regulation dt:only-child,
-#regulation dt:last-child,
-#regulation dt:last-of-type,
-#regulation dd:only-child,
-#regulation dd:last-child,
-#regulation dd:last-of-type {
-	margin-bottom: 0;
+.form form {
+	gap: .5rem;
 }
 
 /* Footer */
@@ -722,10 +692,6 @@ p.message {
 	background-color: #cff;
 }
 
-#footer details {
-	font-weight: bold;
-}
-
 #footer summary::after {
 	display: none;
 }
@@ -734,36 +700,32 @@ p.message {
 	display: none;
 }
 
-/* viewport responsive hack */
-@media ( max-width: 900px ) {
-	#header nav {
-		padding: 0 0 .5rem 0;
-	}
-
-	#header nav a {
-		margin: .5rem .5rem 0 0;
-		white-space: nowrap;
-	}
+#footer ul {
+	list-style: none inside none;
+	margin: 0;
+}
 
-	#dashboard .calendar {
-		place-content: center;
-		flex-direction: column;
-		flex-wrap: wrap;
+/* viewport responsive hack */
+@media ( max-width: 1400px ) {
+	.location label,
+	.location input,
+	.location textarea {
+		width: 12rem;
 	}
+}
 
-	#dashboard .panel:only-child,
-	#dashboard .panel:last-child,
-	#dashboard .panel:last-of-type {
-		margin-bottom: .5rem;
+@media ( max-width: 900px ) {
+	.panel {
+		flex-flow: column wrap;
 	}
 
-	#dashboard .form {
-		margin: .5rem auto 0 auto;
+	.form {
 		flex-direction: row;
 	}
 
 	form label {
 		width: 6rem;
+		line-height: 2rem;
 	}
 
 	form input,
@@ -773,10 +735,12 @@ p.message {
 	form textarea,
 	form section section {
 		width: 20rem;
+		line-height: 2rem;
 	}
 
 	form button {
 		width: 6rem;
+		line-height: 2rem;
 	}
 
 	.col label,
@@ -790,24 +754,43 @@ p.message {
 
 	.col button {
 		width: 12rem;
-		box-sizing: fit-content;
 	}
 
-	#dashboard .seventh:nth-child(7n+1),
+	.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);
+	}
+
+	/*#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 - (6/7*.1rem));
+		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 - (6/7*.1rem));
-	}
+		width: calc(100% / 3 - (2/3*.1rem));
+	}*/
 }
 
 @media ( max-width: 600px ) {
+	form label {
+		margin: 0 auto;
+	}
+
 	form input,
 	form option,
 	form optgroup,
@@ -815,28 +798,87 @@ p.message {
 	form textarea,
 	form section section {
 		width: 14rem;
+		margin: 0 auto;
 	}
 
 	#header {
 		flex-direction: column;
 	}
-	#header nav {
-		justify-content: space-between;
-		padding: 0 .5rem 0 0;
+
+	.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;
 	}
-	#header nav a {
-		width: auto;
-		margin: 0 0 .5rem .5rem;
+
+	.four {
+		grid-template-columns: repeat(2, 1fr);
 	}
 
-	#dashboard .seventh:nth-child(n) {
-		width: calc(100% / 2 - (6/7*.1rem));
+
+	/*#dashboard .seventh:nth-child(n) {
+		width: calc(100% / 2 - .1rem);
 	}
 
 	#dashboard .seventh:nth-child(7n) {
 		width: calc(100%);
+	}*/
+}
+
+@media ( max-width: 450px ) {
+	form .row,
+	.grid,
+	.form,
+	#footer {
+		flex-direction: column;
+	}
+
+	.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);
 	}
+
 }
 
-@media ( max-width: 500px ) {
+@media ( max-width: 260px ) {
+	.col label,
+	.col input,
+	.col option,
+	.col optgroup,
+	.col select,
+	.col textarea {
+		width: 10rem;
+	}
+
+	.col button {
+		width: 10rem;
+	}
 }