]> Raphaël G. Git Repositories - airbundle/blobdiff - Resources/public/css/screen.css
Fix font transition
[airbundle] / Resources / public / css / screen.css
index 54777261b437ce5579205d1383ce5f8746e335a9..ee9eb27b71f609be6ba7cdd34c21da0071c6c9d9 100644 (file)
@@ -18,6 +18,23 @@ a::first-letter {
        color: #00c3f9;
 }
 
+/* Font styling */
+html, body, dd, li, p, td {
+       /* DejaVu Sans/FreeSans/FreeSerif/Linux Libertine/Symbola/Unifont*/
+       font-family: 'Droid Sans', 'Symbola', 'DejaVu Sans', 'FreeSans', sans-serif;
+       font-display: swap;
+}
+
+button, code, input, option, optgroup, pre, select, textarea {
+       font-family: 'Droid Sans Mono', monospace;
+       font-display: swap;
+}
+
+dt, h1, h2, h3, h4, h5, h6, label, legend, th, details {
+       font-family: 'Droid Serif', serif;
+       font-display: swap;
+}
+
 /* Default styling */
 h1 {
        font-size: 2rem;
@@ -40,7 +57,7 @@ h4 {
 }
 
 h5 {
-       font-size: .83rem;
+       font-size: .85rem;
        margin: 1.386rem 0;
 }
 
@@ -49,7 +66,13 @@ h6 {
        margin: 1.561rem 0;
 }
 
-p {
+p,
+dt {
+       font-size: 1rem;
+}
+
+dd {
+       font-size: .9rem;
 }
 
 body {
@@ -58,6 +81,121 @@ body {
        color: #066;
 }
 
+/* Form */
+label {
+       font-size: .8rem;
+       white-space: nowrap;
+}
+
+button,
+input,
+select,
+option,
+optgroup,
+textarea {
+       border: .05rem solid #00c3f9;
+       border-radius: .2rem;
+       font-size: .75rem;
+       color: #066;
+       background-color: transparent;
+}
+
+form {
+       display: flex;
+       flex-direction: column;
+       flex-wrap: wrap;
+       line-height: normal;
+       text-align: center;
+}
+
+form header {
+       margin-bottom: .5rem;
+}
+
+form header .message {
+       margin: 0;
+}
+
+form div {
+       margin-bottom: .5rem;
+}
+
+form div:only-child,
+form div:last-child,
+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;
+       text-align: right;
+}
+
+form input,
+form option,
+form optgroup,
+form select,
+form textarea {
+       width: 24rem;
+       padding: .1rem;
+}
+
+form select {
+       box-sizing: content-box;
+       padding: 0 .1rem .1rem .1rem;
+}
+
+form button {
+       width: 10rem;
+       margin: .5rem auto 0 auto;
+       padding: 0 .1rem .2rem .1rem;
+}
+
+form section .message {
+       margin: .25rem 0 0 0;
+}
+
+/* Vertical form */
+form.col label {
+       width: 8rem;
+       padding: .2rem 0;
+       text-align: center;
+}
+
+form.col input,
+form.col option,
+form.col optgroup,
+form.col select,
+form.col textarea {
+       width: 8rem;
+}
+
+form.col button {
+       width: 8rem;
+}
+
+form.col div {
+       flex-direction: column;
+}
+
+form.col div.date {
+       flex-direction: row;
+       justify-content: space-between;
+}
+
 /* Header */
 #header {
        border: .1rem solid #00c3f9;
@@ -85,17 +223,6 @@ body {
        display: flex;
 }
 
-/*#header h2 {
-       order: 1;
-       font-size: 1.5rem;
-       margin: 0;
-       white-space: nowrap;
-}
-
-#header h2:before {
-       content: ">\00a0";
-}*/
-
 #header nav {
        order: 3;
        margin-left: auto;
@@ -121,262 +248,289 @@ body {
 }
 
 /* Message */
-div.error::before,
-div.error::after {
-       content: "⚠";
-       line-height: 100%;
-       margin: auto 0;
-}
-
-div.error {
+.message {
+       margin: 0 .5rem .5rem;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
-       border: .05rem solid #c33333;
-       background-color: #f9c3c3;
-       color: #c33333;
        font-size: .9rem;
        padding: .2rem;
        border-radius: .2rem;
        text-align: center;
+       border: .05rem solid transparent;
 }
 
-div.flash {
-       margin: 0 .5rem .5rem;
-}
-
-/*ul#error::before,
-ul#error::after,
-ul.error::before,
-ul.error::after,
-ul#notice::before,
-ul#notice::after {
-       content: "⚠";
-       padding: .1rem .5rem 0 .5rem;
-       position: absolute;
+.message::before,
+.message::after {
+       line-height: 100%;
+       margin: auto 0;
+       padding: 0 .25rem;
 }
 
-ul#error::before,
-ul#error::after {
-       padding-top: .2rem;
+p.message {
+       margin: 0;
 }
 
-ul#notice::before,
-ul#notice::after {
-       content: "ℹ";
-       padding-top: .3rem;
+.error {
+       border-color: #c33333;
+       background-color: #f9c3c3;
+       color: #c33333;
 }
 
-ul#notice::after,
-ul#error::after {
-       margin-left: 37.8rem;
+.error::before,
+.error::after {
+       /*XXX: display /!\ symbol */
+       content: "⚠";
 }
 
-ul.error::after {
-       margin-left: 34rem;
+.notice {
+       border-color: #3333c3;
+       background-color: #c3c3f9;
+       color: #3333c3;
 }
 
-ul#notice,
-ul#error,
-ul.error {
-       display: flex;
-       flex-direction: column;
-       justify-content: center;
-       box-sizing: border-box;
-       text-align: center;
-       border: .05rem solid #c33333;
-       background-color: #f9c3c3;
-       color: #c33333;
-       font-size: .9rem;
-       padding: .2rem;
-       border-radius: .2rem;
-       width: 40rem;
-       margin: 0 auto .5rem auto;
+.notice::before,
+.notice::after {
+       /*XXX: see https://www.fileformat.info/info/unicode/char/2139/fontsupport.htm
+        * DejaVu Sans/FreeSans/FreeSerif/Linux Libertine/Symbola/Unifont*/
+       /*XXX: display i symbol */
+       content: "ℹ";
+       /*XXX: display # symbol */
+       /*content: "⌘";*/
 }
 
-ul.error {
-       width: 36rem;
-       margin: .2rem 0 0 0;
+.warning {
+       border-color: #c39333;
+       background-color: #f9c333;
+       color: #936333;
 }
 
-ul#notice {
-       border: .05rem solid #3333c3;
-       background-color: #c3c3f9;
-       color: #3333c3;
+.warning::before,
+.warning::after {
+       /*XXX: see https://www.fileformat.info/info/unicode/char/2139/fontsupport.htm
+        * DejaVu Sans/FreeSans/FreeSerif/Linux Libertine/Symbola/Unifont*/
+       content: "?";
+       /*XXX: display # symbol */
+       /*content: "⌘";*/
 }
 
-ul.error {
-       margin-top: .2rem;
-}*/
-
-/* Content */
-#form,
-#content,
-#dashboard {
+/* Dashboard */
+#dashboard,
+#regulation,
+#form {
        border: .1rem solid #00c3f9;
        border-radius: .5rem;
        margin: .5rem;
        margin-top: 0;
        overflow: hidden;
        padding: .5rem;
+       display: flex;
+       flex-direction: column;
 }
 
-section h2 {
+#dashboard h2,
+#regulation h2,
+#form h2 {
        background-color: #cff;
        border-bottom: .1rem solid #00c3f9;
-       margin: -.5rem -.5rem .5rem -.5rem;
+       margin: -.5rem;
+       margin-bottom: .5rem;
        padding: .5rem;
-       padding-bottom: .4rem;
+       padding-bottom: .5rem;
 }
 
-/* Form */
-form {
-       display: flex;
-       flex-direction: column;
-       border: .05rem solid #00c3f9;
-       border-radius: .2rem;
-       padding: .5rem;
+#dashboard h3 {
+       background-color: #cff;
+       margin: 0;
+       margin: -.3rem -.1rem;
+       margin-bottom: .3rem;
+       padding: .3rem;
+       border-bottom: .1rem solid #00c3f9;
 }
 
-form section {
-       margin-bottom: 1rem;
+#dashboard h4 {
+       background-color: #cff;
+       margin: 0;
+       padding: .3rem;
+       border-bottom: .1rem solid #00c3f9;
 }
 
-form section:only-child,
-form section:last-child,
-form section:last-of-type {
-       margin-bottom: .5rem;
+#form .recover {
+       border: .1rem solid #00c3f9;
+       border-radius: .3rem;
+       margin-top: 1rem;
+       padding: .5rem;
 }
 
-form section section,
-form section section:only-child,
-form section section:last-child,
-form section section:last-of-type {
-       width: 50%;
-       margin-bottom: 0;
+#form h3 {
+       background-color: #cff;
+       margin: -.5rem;
+       margin-bottom: .5rem;
+       padding: .3rem;
 }
 
-form div {
-       display: flex;
-       flex-direction: row;
-       justify-content: space-around;
-       margin-bottom: .5rem;
+#form h3,
+#dashboard h3,
+#dashboard h4 {
 }
 
-form div:only-child,
-form div:last-child,
-form div:last-of-type {
-       margin-bottom: 0;
+#dashboard .location h3 {
+       margin: 0;
+       border-bottom: 0;
 }
 
-form section div.error {
-       margin: 0 1rem;
+#dashboard .location .cell {
+       padding: 0;
 }
 
-form section section div.error {
-       margin: .25rem 0 0 0;
+/*#dashboard .calendar h3 {
+       margin: -.3rem;
+       margin-bottom: .3rem;
+}*/
+
+#dashboard .subgrid .cell {
+       padding: .3rem;
 }
 
-label {
-       min-width: 5rem;
-       font-size: .9rem;
-       padding: .2rem 0;
-       text-align: right;
-       white-space: nowrap;
+#dashboard .subgrid h4 {
+       margin: -.3rem;
+       margin-bottom: .3rem;
 }
 
-button,
-input,
-select,
-textarea {
-       box-sizing: border-box;
-       width: 100%;
+/*#dashboard h4 {
+       background-color: #cff;
+       border-bottom: .1rem solid #00c3f9;
+       margin: -.5rem;
+       margin-bottom: .5rem;
        padding: .1rem;
-       border: .05rem solid #00c3f9;
-       border-radius: .2rem;
-       font-size: .8rem;
-       color: #066;
-}
+}*/
 
-button.submit {
-       width: 25%;
-       min-width: 8rem;
-       margin: 0 auto;
-       padding: .2rem .1rem;
+#dashboard .panel {
+       display: flex;
+       flex-direction: row;
+       flex-wrap: nowrap;
+       place-content: space-between;
+       border: 0;
+       margin: 0 0 .5rem 0;
+       padding: 0;
 }
 
-/* Vertical form */
-.form_col {
-       margin-left: .5rem;
-       width: 10rem;
+#dashboard .panel:only-child,
+#dashboard .panel:last-child,
+#dashboard .panel:last-of-type {
+       margin-bottom: 0;
 }
 
-.form_col div {
-       flex-direction: column;
+#dashboard .grid {
+       display: flex;
+       flex-flow: row wrap;
+       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);*/
+}
+
+#dashboard .grid:only-child,
+#dashboard .grid:last-child,
+#dashboard .grid:last-of-type {
+       margin-bottom: 0;
 }
 
-.form_col div.error {
-       flex-direction: row;
+#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;
 }
 
-.form_col label {
-       text-align: center;
+#dashboard .subgrid:only-child,
+#dashboard .subgrid:last-child,
+#dashboard .subgrid:last-of-type {
+       margin-bottom: 0;
 }
 
-.form_col section section,
-.form_col section section:only-child,
-.form_col section section:last-child,
-.form_col section section:last-of-type {
-       width: auto;
+#dashboard .cell {
+       border-color: inherit;
+       border-style: inherit;
+       border-width: 0 .1rem .1rem 0;
+       border-radius: .2rem;
+       flex-grow: inherit;
+       box-sizing: inherit;
+       border-collapse: inherit;
+       font-size: .8rem;
+       padding: .3rem .1rem;
 }
 
-.form_col div.date {
-       flex-direction: row;
-       justify-content: space-between;
+#dashboard .cell:only-child,
+#dashboard .cell:last-child,
+#dashboard .cell:last-of-type {
+       border-radius: inherit;
 }
 
-/* Dashboard */
-#dashboard .panel {
-       display: flex;
-       flex-direction: row;
-       flex-wrap: wrap;
-       place-content: space-between;
+#dashboard .subgrid .cell {
+       border-radius: 0;
+       border-width: 0 .1rem .1rem 0;
 }
-
-#dashboard .grid {
-       display: table;
-       border: .05rem solid #00c3f9;
-       flex-grow: 1;
-       border-radius: .2rem; /* marche pas sur chrome */
-       table-layout: fixed;    
-       width: calc(100% - 12rem);
-       border-collapse: collapse;
+#dashboard .subgrid .cell:only-child,
+#dashboard .subgrid .cell:last-child,
+#dashboard .subgrid .cell:last-of-type {
+       border-radius: inherit;
 }
 
-#dashboard .cell {
-       display: table-cell;
-       text-align: left;
-       border: .05rem solid #00c3f9;
-       font-size: initial;
-       height: 8rem;
+#dashboard .fourth {
+       min-height: 5rem;
+       width: calc(100% / 4);
 }
 
-#dashboard dl.cell {
-       height: 3rem;
+#dashboard .seventh {
+       min-height: 5rem;
+       width: calc(100% / 7);
 }
 
-#dashboard .cell h3 {
-       font-size: 1rem;
-       padding: .25rem;
-       margin: 0;
+#dashboard .third {
+       min-height: 5rem;
+       width: calc(100% / 3);
 }
 
-#dashboard .cell dd {
-       text-align: center;
+#dashboard .session {
+       border: .1rem solid #00c3f9;
+       border-radius: .2rem;
+       padding: .1rem;
+       margin: .1rem;
+       overflow-x: hidden;
+       white-space: nowrap;
+       text-overflow: ellipsis;
 }
 
-#dashboard .seventh {
-       width: calc(100% / 7);
+#dashboard .session:only-child,
+#dashboard .session:last-child,
+#dashboard .session:last-of-type {
+       margin-bottom: 0;
 }
 
 #dashboard .disabled {
@@ -392,17 +546,6 @@ button.submit {
        background-color: #eff;
 }
 
-#dashboard .session {
-       border-radius: .2rem;
-       border: .1rem solid #00c3f9;
-       font-size: .8rem;
-       padding: .2rem;
-       margin: 0 .1rem .1rem .1rem;
-       overflow-x: hidden;
-       white-space: nowrap;
-       text-overflow: ellipsis;
-}
-
 #dashboard .pending {
        background-color: #ccc;
 }
@@ -421,6 +564,58 @@ button.submit {
        background-color: #fc9;
 }
 
+#dashboard .highlight {
+       border-color: #3333c3;
+       background-color: #c3c3f9;
+       color: #3333c3;
+}
+
+#dashboard .form {
+       border: .1rem solid #00c3f9;
+       border-radius: .2rem;
+       padding: .5rem;
+       margin-left: .5rem;
+}
+
+/* Regulation */
+#regulation {
+}
+
+#regulation dl {
+       /*display: flex;
+       flex-direction: row;
+       justify-content: space-around;
+       padding-bottom: .5rem;*/
+       padding: .25rem;
+       margin-bottom: .5rem;
+}
+
+#regulation dt {
+       font-size: .9rem;
+       font-weight: bold;
+       padding-bottom: .2rem;
+}
+
+#regulation dd {
+       font-size: .9rem;
+       margin-left: 1.5rem;
+}
+
+#regulation dd:before {
+}
+
+#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;
+}
+
 /* Footer */
 #footer {
        border: .1rem solid #00c3f9;
@@ -448,26 +643,40 @@ button.submit {
 }
 
 /* viewport responsive hack */
-@media ( max-width: 650px ) {
+@media ( max-width: 850px ) {
        #header {
                flex-wrap: wrap;
        }
 
-       #dashboard .panel {
+       #dashboard .calendar {
                place-content: center;
                flex-direction: column;
+               flex-wrap: wrap;
        }
 
-       #dashboard .grid {
-               width: 100%;
+       #dashboard .panel:only-child,
+       #dashboard .panel:last-child,
+       #dashboard .panel:last-of-type {
+               margin-bottom: .5rem;
        }
 
-       #dashboard div.grid {
-               display: grid;
+       #dashboard .form {
+               margin: .5rem auto 0 auto;
        }
 
-       .form_col {
-               margin: .5rem auto 0 auto;
+       form label {
+               width: 6rem;
        }
-}
 
+       form input,
+       form option,
+       form optgroup,
+       form select,
+       form textarea {
+               width: 20rem;
+       }
+
+       form button {
+               width: 6rem;
+       }
+}