X-Git-Url: https://git.rapsys.eu/.gitweb.cgi/airbundle/blobdiff_plain/f110b8ba20232e0ceeb67390f8e672431868d32d..3ed879e9cdc0970a13b44300263a30ff426c886b:/Resources/public/css/screen.css diff --git a/Resources/public/css/screen.css b/Resources/public/css/screen.css index 5477726..feb1460 100644 --- a/Resources/public/css/screen.css +++ b/Resources/public/css/screen.css @@ -18,6 +18,20 @@ a::first-letter { color: #00c3f9; } +/* Font styling */ +html, body, dd, li, p, td { + font-family: 'Droid Sans', 'Symbola', 'DejaVu Sans', 'FreeSans', sans-serif; + /* DejaVu Sans/FreeSans/FreeSerif/Linux Libertine/Symbola/Unifont*/ +} + +button, code, input, option, optgroup, pre, select, textarea { + font-family: 'Droid Sans Mono', monospace; +} + +dt, h1, h2, h3, h4, h5, h6, label, legend, th, details { + font-family: 'Droid Serif', serif; +} + /* Default styling */ h1 { font-size: 2rem; @@ -40,7 +54,7 @@ h4 { } h5 { - font-size: .83rem; + font-size: .85rem; margin: 1.386rem 0; } @@ -49,7 +63,13 @@ h6 { margin: 1.561rem 0; } -p { +p, +dt { + font-size: 1rem; +} + +dd { + font-size: .9rem; } body { @@ -121,14 +141,21 @@ body { } /* Message */ -div.error::before, -div.error::after { +.notice::before, +.notice::after, +.warning::before, +.warning::after, +.error::before, +.error::after { content: "⚠"; line-height: 100%; margin: auto 0; + padding: 0 .25rem; } -div.error { +.notice, +.warning, +.error { display: flex; flex-direction: row; justify-content: space-between; @@ -141,10 +168,53 @@ div.error { text-align: center; } -div.flash { +.notice::before, +.notice::after { + /*XXX: see https://www.fileformat.info/info/unicode/char/2139/fontsupport.htm + * DejaVu Sans/FreeSans/FreeSerif/Linux Libertine/Symbola/Unifont*/ + content: "ℹ"; + /*content: "⌘";*/ +} + +.notice { + border-color: #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: "?"; + /*content: "⌘";*/ +} + +.warning { + border-color: #c39333; + background-color: #f9c333; + color: #936333; +} + +.flash { margin: 0 .5rem .5rem; } +p.notice, +p.warning, +p.error { + margin-bottom: .5rem; +} + +pre.trace { + border: .05rem solid #00c3f9; + border-radius: .2rem; + padding: .5rem; + margin-bottom: 1rem; + font-size: .7rem; +} + + /*ul#error::before, ul#error::after, ul.error::before, @@ -210,31 +280,93 @@ ul.error { }*/ /* Content */ +#dashboard, #form, #content, -#dashboard { +#regulation, +#location, +#session, +#user { border: .1rem solid #00c3f9; border-radius: .5rem; margin: .5rem; margin-top: 0; overflow: hidden; padding: .5rem; + display: flex; + flex-direction: column; +} + +/* Section */ +section { + display: flex; + flex-direction: column; + border: .05rem solid #00c3f9; + border-radius: .2rem; + padding: .5rem; + margin-bottom: 1rem; + overflow: hidden; +} + +section:only-child, +section:last-child, +section:last-of-type { + margin-bottom: .5rem; } section h2 { background-color: #cff; border-bottom: .1rem solid #00c3f9; - margin: -.5rem -.5rem .5rem -.5rem; + margin: -.5rem; + margin-bottom: .5rem; + padding: .5rem; + padding-bottom: .5rem; +} + +section h3 { + background-color: #cff; + border-bottom: .1rem solid #00c3f9; + margin: -.5rem; + margin-bottom: .5rem; + padding: .4rem; +} + +section h4 { + background-color: #cff; + border-bottom: .1rem solid #00c3f9; + margin: -.5rem; + margin-bottom: .5rem; + padding: .3rem; +} + +section section { padding: .5rem; - padding-bottom: .4rem; + padding-bottom: .5rem; + margin-bottom: .5rem; +} + +section section:only-child, +section section:last-child, +section section:last-of-type { + margin-bottom: 0; } /* Form */ +/*#form div { + margin-bottom: .5rem; +} + +#form div:only-child, +#form div:last-child, +#form div:last-of-type { + margin-bottom: 0; +} + form { display: flex; flex-direction: column; - border: .05rem solid #00c3f9; - border-radius: .2rem; + / *border: .05rem solid #00c3f9; + border-radius: .2rem;* / padding: .5rem; } @@ -247,19 +379,29 @@ form section:last-child, form section:last-of-type { margin-bottom: .5rem; } +*/ + +form section, +form section:only-child, +form section:last-child, +form section:last-of-type { + border: none; + margin-bottom: .5rem; +} form section section, form section section:only-child, form section section:last-child, form section section:last-of-type { width: 50%; + padding: 0; margin-bottom: 0; } form div { display: flex; flex-direction: row; - justify-content: space-around; + justify-content: center; margin-bottom: .5rem; } @@ -269,18 +411,25 @@ form div:last-of-type { margin-bottom: 0; } -form section div.error { - margin: 0 1rem; +form header div.error { + width: calc(50% + 10rem); + margin: 0 auto; } -form section section div.error { - margin: .25rem 0 0 0; +form section div.error { + margin-top: .25rem; } + +/*form section div.error { + margin: 0 1rem; +}*/ + + label { - min-width: 5rem; - font-size: .9rem; - padding: .2rem 0; + min-width: 10rem; + font-size: .85rem; + padding: .2rem 1rem .2rem 0; text-align: right; white-space: nowrap; } @@ -288,6 +437,8 @@ label { button, input, select, +option, +optgroup, textarea { box-sizing: border-box; width: 100%; @@ -296,6 +447,7 @@ textarea { border-radius: .2rem; font-size: .8rem; color: #066; + background-color: transparent; } button.submit { @@ -306,93 +458,161 @@ button.submit { } /* Vertical form */ -.form_col { - margin-left: .5rem; - width: 10rem; +form.col { } -.form_col div { +form.col div { flex-direction: column; } -.form_col div.error { +form.col div.error { flex-direction: row; } -.form_col label { +form.col label { text-align: center; + padding-right: 0; +} + +form.col section { + padding: 0; } -.form_col section section, -.form_col section section:only-child, -.form_col section section:last-child, -.form_col section section:last-of-type { +form.col section section { width: auto; } -.form_col div.date { +form.col div.date { flex-direction: row; justify-content: space-between; } /* Dashboard */ -#dashboard .panel { +#dashboard .panel, +#location .panel, +#session .panel, +#user .panel { display: flex; flex-direction: row; - flex-wrap: wrap; + flex-wrap: nowrap; place-content: space-between; + border: 0; + margin: 0 0 .5rem 0; + padding: 0; +} + +#dashboard .panel:only-child, +#dashboard .panel:last-child, +#dashboard .panel:last-of-type, +#location .panel:only-child, +#location .panel:last-child, +#location .panel:last-of-type, +#session .panel:only-child, +#session .panel:last-child, +#session .panel:last-of-type, +#user .panel:only-child, +#user .panel:last-child, +#user .panel:last-of-type { + margin-bottom: 0; } -#dashboard .grid { +#dashboard .grid, +#location .grid, +#session .grid, +#user .grid { display: table; - border: .05rem solid #00c3f9; + line-height: normal; + padding: 0; flex-grow: 1; - border-radius: .2rem; /* marche pas sur chrome */ - table-layout: fixed; + table-layout: fixed; + border: 0 none; + /*width: calc(100% - 12rem); + border-collapse: collapse;*/ width: calc(100% - 12rem); border-collapse: collapse; } -#dashboard .cell { +#dashboard .cell, +#location .cell, +#session .cell, +#user .cell { display: table-cell; text-align: left; + padding: .5rem; + flex-grow: 1; border: .05rem solid #00c3f9; - font-size: initial; - height: 8rem; + height: 6rem; } -#dashboard dl.cell { - height: 3rem; -} - -#dashboard .cell h3 { - font-size: 1rem; - padding: .25rem; - margin: 0; +#dashboard .form, +#location .form, +#session .form, +#user .form { + border: .1rem solid #00c3f9; + border-radius: .2rem; + padding: .5rem; + margin-left: .5rem; + width: 10rem; } -#dashboard .cell dd { +#dashboard .form label, +#dashboard .form input, +#dashboard .form button, +#location .form label, +#location .form input, +#location .form button, +#session .form label, +#session .form input, +#session .form button, +#user .form label, +#user .form input, +#user .form button { text-align: center; + min-width: 6rem; } -#dashboard .seventh { + +#dashboard .seventh, +#location .seventh, +#session .seventh, +#user .seventh { width: calc(100% / 7); } -#dashboard .disabled { +#dashboard .third, +#location .third, +#session .third, +#user .third { + width: calc(100% / 3); + height: auto; +} + +#dashboard .disabled, +#location .disabled, +#session .disabled, +#user .disabled { color: #acc; background-color: #bee; } -#dashboard .current { +#dashboard .current, +#location .current, +#session .current, +#user .current { background-color: #cff; } -#dashboard .next { +#dashboard .next, +#location .next, +#session .next, +#user .next { background-color: #eff; } -#dashboard .session { +#dashboard .session, +#location .session, +#session .session, +#user .session { border-radius: .2rem; border: .1rem solid #00c3f9; font-size: .8rem; @@ -400,31 +620,151 @@ button.submit { margin: 0 .1rem .1rem .1rem; overflow-x: hidden; white-space: nowrap; - text-overflow: ellipsis; + Text-overflow: ellipsis; } -#dashboard .pending { +#dashboard .pending, +#location .pending, +#session .pending, +#user .pending { background-color: #ccc; } -#dashboard .granted { +#dashboard .granted, +#location .granted, +#session .granted, +#user .granted { background-color: #cff; /*background-color: #33b679; border-color: #33b679;*/ } -#dashboard .disputed { +#dashboard .disputed, +#location .disputed, +#session .disputed, +#user .disputed { background-color: #fcc; } -#dashboard .orphaned { +#dashboard .orphaned, +#location .orphaned, +#session .orphaned, +#user .orphaned { background-color: #fc9; } +#dashboard .highlight, +#location .highlight, +#session .highlight, +#user .highlight { + border-color: #3333c3; + background-color: #c3c3f9; + color: #3333c3; +} + +/* Session */ +#session { +} + +#session h2 a::after { + content: " >"; +} + +#session h2 a:last-child::after { + content: none; +} + +#session .row { + display: flex; + flex-wrap: wrap; + margin-bottom: .5rem; + border: .1rem solid #00c3f9; + border-radius: .2rem; +} + +#session .sub { + display: flex; + flex-direction: column; + line-height: normal; + margin-bottom: .5rem; + margin-top: .5rem; + padding: .5rem; + border: .1rem solid #00c3f9; + border-radius: .2rem; +} + +#session .grid dd dd { + text-indent: .5rem; +} + +/* Regulation */ +#regulation { +} + + +/*#regulation div { + display: flex; + flex-direction: row; + justify-content: space-around; + margin-bottom: .5rem; +} + +#regulation div:only-child, +#regulation div:last-child, +#regulation div:last-of-type { + margin-bottom: 0; +}*/ +/* + * XXX: TODO: + * see https://developer.mozilla.org/fr/docs/Web/HTML/Element/dl + * see https://www.w3.org/Style/Examples/007/fonts.fr.html + * see https://fonts.googleapis.com/css?family=Droid+Sans:100,200,300,400,500,600,700,800,900,100i,200i,300i,400i,500i,600i,700i,800i,900i|Droid+Sans+Mono:100,200,300,400,500,600,700,800,900,100i,200i,300i,400i,500i,600i,700i,800i,900i|Droid+Serif:100,200,300,400,500,600,700,800,900,100i,200i,300i,400i,500i,600i,700i,800i,900i + * see https://fonts.google.com/?query=droi + * see https://fonts.google.com/specimen/Inconsolata + * see https://fonts.google.com/specimen/Tangerine%20light,light+italic+regular+semi-bold+bold+extra-bold + * see https://fonts.google.com/?selection.family=Roboto:100i + * see https://developers.google.com/fonts/docs/getting_started + */ + +#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; - border-radius: .5rem; + Border-radius: .5rem; margin: .5rem; margin-top: 0; padding: .5rem; @@ -448,26 +788,41 @@ button.submit { } /* viewport responsive hack */ -@media ( max-width: 650px ) { +@media ( max-width: 850px ) { #header { flex-wrap: wrap; } - #dashboard .panel { + #location .panel, + #session .panel, + #user .panel { place-content: center; flex-direction: column; + flex-wrap: wrap; } - #dashboard .grid { - width: 100%; + #location .panel:only-child, + #location .panel:last-child, + #location .panel:last-of-type, + #session .panel:only-child, + #session .panel:last-child, + #session .panel:last-of-type, + #user .panel:only-child, + #user .panel:last-child, + #user .panel:last-of-type { + margin-bottom: .5rem; } - #dashboard div.grid { - display: grid; + #location .form, + #session .form, + #user .form { + width: auto; + margin: .5rem auto 0 auto; } - .form_col { - margin: .5rem auto 0 auto; + #location .grid, + #session .grid, + #user .grid { + width: calc(100%); } } -