X-Git-Url: https://git.rapsys.eu/airbundle/blobdiff_plain/b2c7d928f8301c6741d319b190f6dc885d6faa46..28ffa9276b13abd463ef5bf926d8af2f5169d4fb:/Resources/public/css/screen.css?ds=inline diff --git a/Resources/public/css/screen.css b/Resources/public/css/screen.css index feb1460..6a53959 100644 --- a/Resources/public/css/screen.css +++ b/Resources/public/css/screen.css @@ -1,27 +1,17 @@ /* Reset link */ a { - text-decoration: none; - color: #066; + /*text-decoration: none;*/ + color: #136; } a:hover { text-decoration: underline solid #00c3f9; } -h1::first-letter, -h2::first-letter, -h3::first-letter, -h4::first-letter, -h5::first-letter, -h6::first-letter, -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*/ + font-family: 'Droid Sans', 'Symbola', 'DejaVu Sans', 'FreeSans', sans-serif; } button, code, input, option, optgroup, pre, select, textarea { @@ -34,403 +24,335 @@ dt, h1, h2, h3, h4, h5, h6, label, legend, th, details { /* Default styling */ h1 { - font-size: 2rem; - margin: 1.34rem 0; + font-size: 1.5rem; + margin: 0; + padding: 0 .6rem .6rem; } h2 { - font-size: 1.5rem; - margin: 1.245rem 0; + font-size: 1.17rem; + margin: 0; + padding: 0 .5rem .5rem; } h3 { - font-size: 1.17rem; - margin: 1.17rem 0; + font-size: 1rem; + margin: 0; + padding: 0 .4rem .4rem; } h4 { - font-size: 1rem; - margin: 1.33rem 0; + font-size: .85rem; + margin: 0; + padding: 0 .3rem .3rem; } h5 { - font-size: .85rem; - margin: 1.386rem 0; + font-size: .67rem; + margin: 0; + padding: 0 .2rem .2rem; } h6 { - font-size: .67rem; - margin: 1.561rem 0; + font-size: .5rem; + margin: 0; + padding: 0 .1rem .1rem; } -p, -dt { - font-size: 1rem; +ul { + list-style: ' - ' inside none; + margin: 0; + padding: 0 .5rem .5rem; } -dd { +li { font-size: .9rem; + margin: 0; + padding: 0 .5rem .5rem; } -body { - display: flex; - flex-flow: column wrap; - color: #066; -} - -/* Header */ -#header { - border: .1rem solid #00c3f9; - border-top: 0; - border-radius: 0 0 .5rem .5rem; - margin: .5rem; - margin-top: 0; - padding: .5rem; - left: 0; - right: 0; - display: flex; - justify-content: space-between; - min-width: 180px; +li:only-child, +li:last-child, +li:last-of-type { + padding-bottom: 0; } -#header h1 { - order: 0; - padding: 0; +p { + font-size: .9rem; margin: 0; - vertical-align: middle; - white-space: nowrap; + padding: 0 .4rem .4rem; } -#header h1 a { - display: flex; +article, +section, +nav { + margin: 0 .5rem .5rem; + border: .1rem solid #00c3f9; + border-top: 0; + border-left: 0; + border-radius: .5rem; } -/*#header h2 { - order: 1; - font-size: 1.5rem; - margin: 0; - white-space: nowrap; +article article { + margin: 0 .3rem .3rem; + border-radius: .4rem; } -#header h2:before { - content: ">\00a0"; -}*/ +article article article { + margin: 0 .2rem .2rem; + border-radius: .3rem; +} -#header nav { - order: 3; - margin-left: auto; - display: flex; - flex-direction: row; - flex-wrap: wrap; +article section a.link { + display: block; + text-align: center; + margin: 0 auto; + padding: .5rem; + /*display: flex; align-items: center; - justify-content: flex-end; + gap: .5rem;*/ } -#header nav h2 { - display: none; +article section a.link img { + /*width: 12rem;*/ + padding-right: .5rem; + text-align: right; + vertical-align: bottom; } -#header nav a { - text-align: center; - border-radius: .25rem; - padding: .375rem .5rem .25rem .5rem; - margin: 0 0 .1rem .5rem; - border: .1rem solid #00c3f9; - font-weight: bold; - background-color: #cff; +article section a.link span { + width: 24rem; + line-height: 50px; + /*flex: 1 1;*/ } -/* Message */ -.notice::before, -.notice::after, -.warning::before, -.warning::after, -.error::before, -.error::after { - content: "⚠"; - line-height: 100%; - margin: auto 0; - padding: 0 .25rem; +section { + border-radius: .4rem; } -.notice, -.warning, -.error { +section .center { 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; -} - -.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; + justify-content: center; + align-items: center; + margin-bottom: .5rem; + /*display: block; + width: 24rem;*/ + /*margin: 0 auto;*/ + gap: .5rem; } -.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: "⌘";*/ +/*article { + background-color: #cff; } -.warning { - border-color: #c39333; - background-color: #f9c333; - color: #936333; +article article { + background-color: white; } -.flash { - margin: 0 .5rem .5rem; -} +article article article { + border-radius: .3rem; + background-color: #cff; +}*/ -p.notice, -p.warning, -p.error { - margin-bottom: .5rem; +header { + margin: 0 0 .5rem; + padding: .5rem; + border-radius: .4rem .4rem 0 0; + /*background-color: #369; + border-radius: inherit;*/ + background-color: #00c3f9; + color: #136; +} + +header h2, +header h3, +header h4, +header h5, +header h6, +header p { + padding-left: 0; + padding-right: 0; } -pre.trace { - border: .05rem solid #00c3f9; - border-radius: .2rem; - padding: .5rem; - margin-bottom: 1rem; - font-size: .7rem; +header h2:last-child, +header h3:last-child, +header h4:last-child, +header h5:last-child, +header h6:last-child, +header p:last-child { + padding-bottom: 0; } +/*p:only-child, +p:last-child, +p:last-of-type { + padding-bottom: 0; +}*/ -/*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; +/*header h2:first-child { + padding-top: .5rem; } -ul#error::before, -ul#error::after { - padding-top: .2rem; +header h3:first-child { + padding-top: .4rem; } -ul#notice::before, -ul#notice::after { - content: "ℹ"; +header h4:first-child { padding-top: .3rem; } -ul#notice::after, -ul#error::after { - margin-left: 37.8rem; +header h5:first-child { + padding-top: .2rem; } -ul.error::after { - margin-left: 34rem; +header h6:first-child { + padding-top: .1rem; } -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; -} +header p:last-child { + padding-top: 0; +}*/ -ul.error { - width: 36rem; - margin: .2rem 0 0 0; -} +/*article header { + border-radius: .4rem .4rem 0 0; +}*/ -ul#notice { - border: .05rem solid #3333c3; - background-color: #c3c3f9; - color: #3333c3; +/*article article header { + border-radius: .3rem .3rem 0 0; + margin-bottom: .3rem; } -ul.error { - margin-top: .2rem; +article article article header { + border-radius: .2rem .2rem 0 0; + margin-bottom: .2rem; }*/ -/* Content */ -#dashboard, -#form, -#content, -#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; -} +/*header h1, +header h2, +header h3, +header h4, +header h5, +header h6, +header p { + margin-bottom: 0; + padding-bottom: 0; +}*/ -/* Section */ -section { - display: flex; - flex-direction: column; - border: .05rem solid #00c3f9; - border-radius: .2rem; - padding: .5rem; - margin-bottom: 1rem; - overflow: hidden; +.ellipsis { + /*Required for ellipsis on h2/h3/h4 in header*/ + display: grid; + margin-bottom: 0; } -section:only-child, -section:last-child, -section:last-of-type { - margin-bottom: .5rem; +.ellipsis > * { + overflow-x: hidden; + text-overflow: ellipsis; + white-space: nowrap; } -section h2 { - background-color: #cff; - border-bottom: .1rem solid #00c3f9; - margin: -.5rem; - margin-bottom: .5rem; - padding: .5rem; - padding-bottom: .5rem; +/*nav strong { + display: block; + font-size: 1.17rem; + margin: 0 0 .5rem; + padding: .4rem; +}*/ + +strong { + font-weight: bold; } -section h3 { - background-color: #cff; - border-bottom: .1rem solid #00c3f9; - margin: -.5rem; - margin-bottom: .5rem; - padding: .4rem; +pre { + margin: 0 .5rem .3rem; + font-size: .8rem; } -section h4 { - background-color: #cff; - border-bottom: .1rem solid #00c3f9; - margin: -.5rem; - margin-bottom: .5rem; - padding: .3rem; +dl { + margin: 0 .5rem .5rem; } -section section { - padding: .5rem; - padding-bottom: .5rem; - margin-bottom: .5rem; +dl:first-child, +dl:only-child, +dl:first-of-type { + margin-top: .5rem; } -section section:only-child, -section section:last-child, -section section:last-of-type { - margin-bottom: 0; +dt { + color: #369; + font-size: .9rem; + font-weight: bold; } -/* Form */ -/*#form div { - margin-bottom: .5rem; +dd { + font-size: .9rem; + margin-left: 1rem; } -#form div:only-child, -#form div:last-child, -#form div:last-of-type { - margin-bottom: 0; +.map figure, +.multimap figure, +.thumb figure { + text-align: center; } -form { - display: flex; - flex-direction: column; - / *border: .05rem solid #00c3f9; - border-radius: .2rem;* / - padding: .5rem; +.map img, +.multimap img, +.thumb img { + border-radius: .2rem; + border: .1rem solid #00c3f9; + aspect-ratio: 1; } -form section { - margin-bottom: 1rem; +.map dd { + margin: 0; } -form section:only-child, -form section:last-child, -form section:last-of-type { - margin-bottom: .5rem; +.map dd img { + width: 100%; + width: calc(100% - .2rem); + height: auto; } -*/ -form section, -form section:only-child, -form section:last-child, -form section:last-of-type { - border: none; - margin-bottom: .5rem; +.thumb img { + width: 100%; + width: calc(100% - 1.2rem); } -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; +.four .multimap { + grid-column: span 4; } -form div { - display: flex; - flex-direction: row; - justify-content: center; - margin-bottom: .5rem; +.three .multimap { + grid-column: span 3; } -form div:only-child, -form div:last-child, -form div:last-of-type { - margin-bottom: 0; +.two .multimap { + grid-column: span 2; } -form header div.error { - width: calc(50% + 10rem); - margin: 0 auto; +body { + display: flex; + flex-flow: column wrap; + color: #036; } -form section div.error { - margin-top: .25rem; +nav ul { + list-style: none inside none; + gap: .5rem; + /*margin: .5rem;*/ } +nav ul ul { + padding-top: .5rem; +} -/*form section div.error { - margin: 0 1rem; +/*nav ul ul { + margin-top: .5rem; + margin-bottom: 0; }*/ - +/* Form */ label { - min-width: 10rem; - font-size: .85rem; - padding: .2rem 1rem .2rem 0; - text-align: right; + font-size: .8rem; white-space: nowrap; } @@ -440,343 +362,698 @@ select, option, optgroup, textarea { - box-sizing: border-box; - width: 100%; - padding: .1rem; border: .05rem solid #00c3f9; border-radius: .2rem; - font-size: .8rem; + font-size: .75rem; color: #066; background-color: transparent; + box-sizing: border-box; } -button.submit { - width: 25%; - min-width: 8rem; - margin: 0 auto; - padding: .2rem .1rem; +optgroup { + border: none; } -/* Vertical form */ -form.col { +/*option[selected='selected'],*/ +/*option:not(:checked),*/ +option:checked { + background-color: #cff; } -form.col div { + +form { + display: flex; flex-direction: column; + flex-wrap: wrap; + margin: 0 .5rem .5rem; + text-align: center; } -form.col div.error { - flex-direction: row; +form div { + display: flex; + align-content: space-around; + justify-content: center; + flex-direction: column; + margin-bottom: .5rem; } -form.col label { - text-align: center; +form div:only-child, +form div:last-child, +form div:last-of-type { + margin-bottom: 0; +} + +form div.row { + flex-direction: row; + gap: .5rem; + flex-wrap: wrap; +} + +form label { + width: 12rem; + line-height: 1.3rem; + /*padding-right: 1rem;*/ + text-align: right; + overflow-x: hidden; + text-overflow: ellipsis; +} + +form label.captcha { + line-height: normal; +} + +form label.captcha img { + height: 1.325rem; +} + +form input, +form option, +form optgroup, +form select, +form textarea, +form section section { + width: 24rem; + padding: .1rem; + margin: 0 auto; +} + +form optgroup, +form option { + width: 100%; +} + +/*form optgroup { + width: 23.8rem; +} + +form option { + width: 23.6rem; +}*/ + +/*Checkbox input*/ +form input[type='checkbox'] { + width: 1.5rem; +} + +form select { + padding: 0 .1rem .1rem .1rem; +} + +form button { + width: 10rem; + /*margin: .5rem auto 0 auto;*/ + /*margin: 0 auto;*/ + padding: 0 .1rem .2rem .1rem; +} + +/*form button img { + float: left; + padding: .5rem; +}*/ + +form .message { + margin: 0 0 .5rem 0; +} + +form div .message { + margin: .25rem 0 0 0; +} + +/* Vertical form */ +.location .col label, +.col label { + width: 8rem; padding-right: 0; + padding-bottom: .2rem; + text-align: center; + margin: 0 auto; } -form.col section { - padding: 0; +.location .col input, +.location .col textarea, +.col input, +.col option, +.col optgroup, +.col select, +.col textarea { + width: 8rem; } -form.col section section { - width: auto; +.col button { + width: 8rem; } -form.col div.date { +.col .row { + flex-direction: column; +} + +.col div.date { flex-direction: row; justify-content: space-between; } -/* Dashboard */ -#dashboard .panel, -#location .panel, -#session .panel, -#user .panel { +/* Header */ +#header { + background-color: #cff; + border: .1rem solid #136; + border-top: 0; + border-left: 0; + border-radius: 0 0 .5rem .5rem; + margin: 0 .5rem .5rem; + display: flex; + flex-direction: column; + justify-content: space-between; + font-weight: bold; + line-height: 45px; + padding: .5rem; + gap: .5rem; +} + +#header div { display: flex; flex-direction: row; - flex-wrap: nowrap; - place-content: space-between; - border: 0; - margin: 0 0 .5rem 0; + justify-content: space-between; + gap: .5rem; +} + +#logo { padding: 0; + white-space: nowrap; + color: #09c; + text-shadow: 1.5px 1.5px 3px #136; + text-decoration: none; + display: flex; + font-family: 'Lemon', sans-serif; + font-size: 2rem; + line-height: 45px; + gap: .5rem; } -#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; +#logo img, +#logo span { + margin: 0 auto; } -#dashboard .grid, -#location .grid, -#session .grid, -#user .grid { - display: table; - line-height: normal; +#title { + margin: .25rem 0 0; padding: 0; - flex-grow: 1; - table-layout: fixed; - border: 0 none; - /*width: calc(100% - 12rem); - border-collapse: collapse;*/ - width: calc(100% - 12rem); - border-collapse: collapse; + border-bottom: 0 none; + text-align: right; + flex: 1 1 auto; + font-family: 'Lemon', sans-serif; + font-weight: normal; + /*white-space: nowrap;*/ } -#dashboard .cell, -#location .cell, -#session .cell, -#user .cell { - display: table-cell; - text-align: left; - padding: .5rem; - flex-grow: 1; - border: .05rem solid #00c3f9; - height: 6rem; +#title a { + text-decoration: none; + color: #09c; + text-shadow: 1.5px 1.5px 3px #136; + /*overflow-x: hidden; + text-overflow: ellipsis;*/ } -#dashboard .form, -#location .form, -#session .form, -#user .form { - border: .1rem solid #00c3f9; +#nav { + display: flex; + flex-wrap: wrap; + gap: .5rem; + line-height: 2.5rem; + margin: 0; + border: 0 none; +} + +#nav a { + flex: 1 1 auto; + border: .1rem solid #136; + border-top: 0; + border-left: 0; border-radius: .2rem; - padding: .5rem; - margin-left: .5rem; - width: 10rem; + background-color: #00c3f9; + color: #136; + text-align: center; + padding: 0 .25rem; } -#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 { +/* Message */ +.message { + margin: 0 .5rem .5rem; + display: flex; + flex-direction: row; + justify-content: space-between; + font-size: .9rem; + padding: .2rem; + border-radius: .2rem; text-align: center; - min-width: 6rem; + border: .05rem solid transparent; } +.message::before, +.message::after { + margin: auto 0; + padding: 0 .25rem; +} -#dashboard .seventh, -#location .seventh, -#session .seventh, -#user .seventh { - width: calc(100% / 7); +.message ul { + margin: 0; + padding: 0; + list-style: none inside none; + gap: .1rem; } -#dashboard .third, -#location .third, -#session .third, -#user .third { - width: calc(100% / 3); - height: auto; +.message li { + padding: .25rem; } -#dashboard .disabled, -#location .disabled, -#session .disabled, -#user .disabled { - color: #acc; - background-color: #bee; +.mortal, +.mortal button, +.mortal select { + /*border-color: #c33333; + color: #c33333;*/ + border-color: #930; + background-color: #f9c3c3; + color: #930; } -#dashboard .current, -#location .current, -#session .current, -#user .current { - background-color: #cff; +.dangerous, +.mortal { + border-radius: .2rem; + padding: .5rem 0; +} + +.error { + border-color: #c33333; + background-color: #f9c3c3; + color: #c33333; +} + +.error::before, +.error::after { + /*XXX: display /!\ symbol */ + content: "⚠"; +} + +.notice { + border-color: #3333c3; + background-color: #c3c3f9; + color: #3333c3; +} + +.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: "⌘";*/ +} + +.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; + color: #936333; +} + +.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: "⌘";*/ +} + +/* Dashboard */ +#dashboard, +#form, +#recover, +#regulation { + /*border-radius: .5rem;*/ + /*border: .1rem solid #00c3f9; + margin: .5rem; + margin-top: 0; + display: flex; + flex-direction: column;*/ +} + +.panel { + display: flex; + flex-direction: row; + margin: 0 .5rem .5rem; + gap: .5rem; } -#dashboard .next, -#location .next, -#session .next, -#user .next { - background-color: #eff; +.cell { } -#dashboard .session, -#location .session, -#session .session, -#user .session { +.grid { + display: grid; + border-style: solid; + border-color: #00c3f9; border-radius: .2rem; - border: .1rem solid #00c3f9; + box-sizing: border-box; + border-collapse: collapse; + flex: 1 1 auto; + margin: 0 0 auto 0; + padding: 0; + gap: .1rem; +} + +.grid article, +.grid section { + border-collapse: inherit; + /*border-radius: inherit;*/ + border-style: inherit; + /*border-width: .1rem; + border-width: inherit;*/ + box-sizing: inherit; + flex-grow: inherit; + margin: 0; + min-height: 5rem; + overflow: hidden; +} + +/*.grid header { + border-radius: .2rem .2rem 0 0; + margin-bottom: 0; +}*/ + +/*.grid ul { + margin: .1rem; + padding: .1rem; + margin: 0; +}*/ + +/*.grid section { + border-color: inherit; +}*/ + +/*.grid ul { + display: block; + margin: .1rem; font-size: .8rem; - padding: .2rem; - margin: 0 .1rem .1rem .1rem; - overflow-x: hidden; + list-style: none inside none; +}*/ + +.grid li { + border-width: .1rem; + border-style: solid; + border-radius: .2rem; white-space: nowrap; - Text-overflow: ellipsis; + padding: .1rem; + display: flex; + margin: 0 0 .1rem; + flex-direction: row; + justify-content: space-between; + overflow-x: hidden; + text-overflow: ellipsis; } -#dashboard .pending, -#location .pending, -#session .pending, -#user .pending { - background-color: #ccc; +/*XXX: required by ul display:block for overflow:hidden*/ +.grid li:only-child, +.grid li:last-child, +.grid li:last-of-type { + margin: 0; +} + +.grid a { + /*TODO: voir pourquoi on a besoin d'un overflow-y de merde, sans une putain de scrollbar s'affiche dans certaines conditions sur chrome, depuis le passage de deux lignes de grid à 3 !!!*/ + /*Est-ce parce que le city est pas expanded ???*/ + overflow-y: clip; + overflow-x: hidden; + text-overflow: ellipsis; +} + +.grid p { + padding: 0 0 .3rem; + margin: 0; +} + +.grid p:only-child, +.grid p:last-child, +.grid p:last-of-type { + padding: 0; +} + +.session header { + margin-bottom: .5rem; +} + +.current { + filter: hue-rotate(-90deg) saturate(2); } -#dashboard .granted, -#location .granted, -#session .granted, -#user .granted { +.granted { background-color: #cff; - /*background-color: #33b679; - border-color: #33b679;*/ + border-color: #00c3f9; } -#dashboard .disputed, -#location .disputed, -#session .disputed, -#user .disputed { - background-color: #fcc; +/*.granted, +.granted a { + background-color: #cff; + border-color: #00c3f9; } -#dashboard .orphaned, -#location .orphaned, -#session .orphaned, -#user .orphaned { +.disputed, +.disputed a { + border-color: #930; background-color: #fc9; + color: #930; +}*/ + +.highlight { + filter: hue-rotate(60deg); } -#dashboard .highlight, -#location .highlight, -#session .highlight, -#user .highlight { +.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: #3333c3; + color: #606; +}*/ + +.calendar header { + margin-bottom: .1rem; + display: grid; } -/* Session */ -#session { +.calendar h3 { + overflow-x: hidden; + text-overflow: ellipsis; + white-space: nowrap; } -#session h2 a::after { - content: " >"; +.calendar ul { + padding: 0 .1rem .1rem; } -#session h2 a:last-child::after { - content: none; +/*.ellipsis { + / *Required for ellipsis on h2/h3/h4 in header* / + display: grid; + margin-bottom: 0; } -#session .row { - display: flex; - flex-wrap: wrap; - margin-bottom: .5rem; - border: .1rem solid #00c3f9; - border-radius: .2rem; +.ellipsis > * { + overflow-x: hidden; + text-overflow: ellipsis; + white-space: nowrap; +}*/ + +.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; } -#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; +.calendar .reducible { + overflow-x: hidden; + text-overflow: ellipsis; + text-align: center; } -#session .grid dd dd { - text-indent: .5rem; +.calendar .glyph { + font-family: 'Noto Emoji', 'Droid Sans', 'Symbola', 'DejaVu Sans', 'FreeSans', sans-serif; } -/* Regulation */ -#regulation { +.calendar .temperature, +.calendar .rain, +.calendar .rate { + line-height: 1rem; + text-align: right; } +.calendar .rate { + text-align: center; +} -/*#regulation div { - display: flex; - flex-direction: row; - justify-content: space-around; - margin-bottom: .5rem; +.calendar .info { + line-height: 1rem; + text-align: right; } -#regulation div:only-child, -#regulation div:last-child, -#regulation div:last-of-type { - margin-bottom: 0; +.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; }*/ -/* - * 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; + +.location form { + margin: .5rem auto; } -#regulation dt { - font-size: .9rem; - font-weight: bold; - padding-bottom: .2rem; +.location form .row { + flex-direction: column; } -#regulation dd { - font-size: .9rem; - margin-left: 1.5rem; +.location form div { + margin-left: auto; + margin-right: auto; } -#regulation dd:before { +.location label { + width: 20rem; + padding-right: 0; + text-align: center; } -#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; +.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; + 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; -} - -#footer details { - font-weight: bold; + gap: .5rem; } #footer summary::after { @@ -787,42 +1064,321 @@ form.col div.date { 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: 850px ) { - #header { - flex-wrap: wrap; +@media ( max-width: 1400px ) { + .location label, + .location input, + .location textarea { + width: 12rem; } - #location .panel, - #session .panel, - #user .panel { - place-content: center; + .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 { + line-height: 2rem; + } + + form label.captcha img { + height: auto; + padding: .25rem 0; + } + + form input, + form option, + form optgroup, + form select, + form textarea, + form section section { + width: 20rem; + line-height: 2rem; + } + + form select { + height: 2.4rem; + } + + 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 { + 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; - flex-wrap: wrap; - } - - #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 { + } + + .seven { + grid-template-columns: repeat(2, 1fr); + } + + /*.grid section:nth-child(7n) { + grid-column: span 2; margin-bottom: .5rem; } - #location .form, - #session .form, - #user .form { - width: auto; - margin: .5rem auto 0 auto; + .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); } - #location .grid, - #session .grid, - #user .grid { + #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; } }