diff options
Diffstat (limited to 'style.css')
| -rw-r--r-- | style.css | 367 |
1 files changed, 335 insertions, 32 deletions
@@ -1,6 +1,7 @@ @import "~bootstrap/dist/css/bootstrap.css"; @import "~bootstrap-icons/font/bootstrap-icons.css"; @import "~ol/ol.css"; +@import "~fontsource/inter/latin-400.css"; html, body { margin: 0; @@ -154,9 +155,9 @@ body.inprogress { .ol-control { background: none; border: none; - outline: none; + outline: none; /* eslint-disable-line css/use-baseline */ } -.ol-control button.btn { +.ol-control button.btn, #help-body button.btn.help-button { --bs-btn-padding-x: 0.5rem; --bs-btn-padding-y: 0.5rem; display: block; @@ -178,7 +179,7 @@ body.inprogress { color: var(--bs-btn-color); background-color: var(--bs-btn-bg); border-color: var(--bs-btn-border-color); - outline: none; + outline: none; /* eslint-disable-line css/use-baseline */ } .ol-control button.btn:hover, .ol-control button.btn:focus-visible { @@ -186,7 +187,7 @@ body.inprogress { color: var(--bs-btn-hover-color); background-color: var(--bs-btn-hover-bg); border-color: var(--bs-btn-hover-border-color); - outline: none; + outline: none; /* eslint-disable-line css/use-baseline */ } .btn-light, .btn-dark { --bs-btn-border-color: var(--bs-btn-hover-border-color); @@ -194,24 +195,36 @@ body.inprogress { #map-control-container[aria-hidden="true"], #layer-selection-panel[aria-hidden="true"], -#map-legend-panel[aria-hidden="true"] { +#map-legend-panel[aria-hidden="true"], +#measure-panel[aria-hidden="true"] { display: none; } #layer-selection-panel, -#map-legend-panel { +#map-legend-panel, +#measure-panel { position: relative; - /*min-width: min-content;*/ - /*max-width: 35%;*/ - /*width: revert;*/ - max-width: 360px; margin-left: 0; margin-right: var(--map-menu-spacing); font-size: medium; z-index: 11; + height: max-content; + max-height: 100%; pointer-events: auto; --bs-modal-color: var(--bs-body-color); --bs-modal-padding: .75rem; } +#layer-selection-panel { + /*min-width: min-content;*/ + /*max-width: 35%;*/ + /*width: revert;*/ + max-width: 360px; +} +#map-legend-panel { + max-width: 410px; +} +#measure-panel { + max-width: 15em; +} @keyframes fade-in { from { opacity: 0; @@ -220,8 +233,14 @@ body.inprogress { opacity: 1; } } +#map-legend-panel .modal-body { + -webkit-user-select: text; + -moz-user-select: text; + user-select: text; /* eslint-disable-line css/use-baseline */ +} #layer-selection-panel[aria-hidden="false"], -#map-legend-panel[aria-hidden="false"] { +#map-legend-panel[aria-hidden="false"], +#measure-panel[aria-hidden="false"] { animation: fade-in .25s ease-in-out both; display: block; } @@ -243,17 +262,25 @@ body.inprogress { display: none; } #layer-selection-panel, - #map-legend-panel { + #map-legend-panel, + #measure-panel { margin: var(--map-menu-spacing) 0 0 auto; } } +#map-legend-button.disabled button { + color: rgb(from var(--bs-btn-color) r g b / calc(alpha*.25)); + pointer-events: none; +} @media screen and (max-width: 200px) { #layer-selection-button, #map-legend-button, + #measure-button, + #age-filter-button, #export-to-image, #layer-selection-panel, #map-legend-panel, + #measure-panel, #map-menu .ol-full-screen { display: none; } @@ -272,23 +299,150 @@ body.inprogress { --bs-btn-padding-y: 0.4rem; } } -#modal-info { - pointer-events: auto; +#info-modal, #help-modal { + /* close the modal when clicking the backdrop */ + pointer-events: none; -webkit-user-select: text; -moz-user-select: text; - user-select: text; + user-select: text; /* eslint-disable-line css/use-baseline */ + --bs-modal-header-padding: 1rem; + --modal-info-padding-x: var(--bs-modal-header-padding); + --modal-info-padding-y: .5rem; + --modal-info-bg-light: rgba(0, 0, 0, .08); +} +#help-modal { + --modal-info-padding-x: 1rem; + --modal-info-padding-y: 1rem; } -#modal-info .modal-body ul > li { - padding: 0.05rem 0; +#info-modal .modal-header, +#help-modal .modal-header { + padding: var(--modal-info-padding-y) var(--modal-info-padding-x); } -#modal-info .modal-body a { +#info-modal .list-group-item, +#info-modal { + --bs-list-group-border-width: 1px; +} +#info-accordion { + --bs-accordion-active-bg: var(--bs-accordion-bg); + --bs-accordion-active-color: var(--bs-body-color); + --bs-accordion-btn-padding-x: 0; + --bs-accordion-btn-padding-y: .025rem; + --bs-accordion-btn-focus-box-shadow: none; + --bs-accordion-body-padding-x: 0; + --bs-accordion-body-padding-y: 0; + --bs-accordion-btn-active-bg: var(--modal-info-bg-light); + padding: 0 var(--modal-info-padding-x); +} +#info-modal .accordion-item { + border: none; +} +#info-modal .accordion-header > .accordion-button[aria-expanded="false"]:hover { + background-color: rgb(from var(--modal-info-bg-light) r g b / calc(alpha*.4)); +} +#info-modal .accordion-header > .accordion-button[aria-expanded="true"] { + background-color: var(--bs-accordion-btn-active-bg); +} +#info-modal ul.list-group > li.list-group-item { + padding: .3rem 0; + border: none; +} +#info-modal ul.list-group > li.list-group-item:last-child { + padding-bottom: var(--modal-info-padding-y); +} +#info-body > ul.list-group { + margin-top: var(--modal-info-padding-y); + border-top: var(--bs-list-group-border-width) solid var(--modal-info-bg-light); + padding: 0 var(--modal-info-padding-x); +} +#info-modal ul.list-group > li.list-group-item:not(:first-child) { + border-top: var(--bs-list-group-border-width) solid var(--modal-info-bg-light); +} +#info-accordion > .accordion-item:not(:last-child) ul.list-group > li.list-group-item:last-child { + border-bottom: var(--bs-list-group-border-width) solid var(--modal-info-bg-light); +} +#info-modal .modal-body ul.list-group > li.list-group-item:not(.text-muted):hover { + background-color: rgb(from var(--modal-info-bg-light) r g b / calc(alpha*.4)); +} +#info-body { + padding: var(--modal-info-padding-y) 0; +} +#info-body > ul.list-group > li.list-group-item p, +#info-modal .accordion-body ul.list-group > li.list-group-item p { + margin: 0; +} +#info-body > ul.list-group > li.list-group-item h6, +#info-modal .accordion-body ul.list-group > li.list-group-item h6 { + margin: .05rem 0 .15rem 0; + font-size: 1.15rem; +} +#info-modal .modal-body a { color: inherit; text-decoration: none; } -#modal-info .modal-body a:hover { +#info-modal .modal-body a:hover { opacity: .8; text-decoration: underline; } +#info-modal .modal-body .info-credits { + border-top: var(--bs-list-group-border-width) solid var(--modal-info-bg-light); + padding: var(--modal-info-padding-y) var(--modal-info-padding-x) 0 var(--modal-info-padding-x); + margin: 0; +} +#help-body { + padding: var(--modal-info-padding-y) var(--modal-info-padding-x); + hyphens: auto; /* eslint-disable-line css/use-baseline */ +} +#help-body .popover-header { + -webkit-user-select: inherit; + -moz-user-select: inherit; + user-select: inherit; /* eslint-disable-line css/use-baseline */ + border: none; + margin: 0; + padding: 0; +} +#help-body .popover-header .popover-button { + height: var(--bs-body-font-size); + width: var(--bs-body-font-size); + padding: 0; + border: none; + vertical-align: middle; +} +#help-body button.btn.help-button { + --bs-btn-padding-x: .1rem; + --bs-btn-padding-y: .1rem; + width: 1.75rem; + height: 1.75rem; + display: inline-block; + font-size: var(--bs-body-font-size); + font-weight: var(--bs-body-font-weight); + line-height: var(--bs-body-line-height); + margin: 0; +} +#help-body .help-button { + pointer-events: none; +} +#help-body .accordion .accordion-button { + display: inline; + padding: 0; + opacity: .75; +} +#help-body .accordion .accordion-button::after { + display: inline-block; + margin: 0; + height: 1rem; + vertical-align: middle; +} +#help-body .help-button-description > button.btn.help-button { + margin-right: .5rem; +} +#help-body p:last-child { + margin-bottom: 0; +} +@media (min-width: 992px) { + #help-body { + text-align: justify; + } +} .ol-overlaycontainer-stopevent .modal-backdrop.show { pointer-events: auto; @@ -337,18 +491,146 @@ body.inprogress { #layer-selection-panel .accordion-item .form-check > .form-check-label { display: inline; } +#map-legend-panel .list-group-flush > .list-group-item { + border: none; + padding: 0; +} +#map-legend-panel .modal-body > ul.list-group > li.list-group-item:not(.d-none) ~ li.list-group-item:not(.d-none) { + border-top: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color); + margin-top: .5rem; + padding-top: .5rem; +} +#map-legend-panel .list-group .list-group-item.h4, +#map-legend-panel .list-group .list-group-item.h5, +#map-legend-panel .list-group .list-group-item.h6 { + margin: 0 0 .25rem 0; +} +#map-legend-panel .list-group .list-group-item:not(.d-none) ~ .list-group-item.h5:not(.d-none) { + margin-top: .125rem; +} +#map-legend-panel .list-group .list-group-item.h4 { + font-size: 1.3rem; +} +#map-legend-panel .list-group .list-group-item.h5 { + font-size: 1.05rem; +} +#map-legend-panel .list-group .list-group-item.h6 { + font-size: 1rem; +} +#map-legend-panel .list-group .list-group-item .map-legend-symbol { + /* 24px */ + height: calc(var(--bs-body-line-height) * var(--bs-body-font-size)) !important; +} +#map-legend-panel .list-group .list-group-item .map-legend-symbol > * { + width: 32px; + margin-right: .5rem; +} +#map-legend-panel .list-group .list-group-item .map-legend-symbol img { + margin-left: auto; + margin-right: auto; + display: block; +} +#map-legend-panel .list-group .list-group-item:not(.h4,.h5,.h6):hover { + background-color: var(--bs-list-group-action-hover-bg); +} + +#age-filter-modal .modal-body .btn-group { + width: 100%; +} +#age-filter-modal .age-filter-infotext { + margin: 0 0 var(--bs-modal-padding) 0; +} +#age-filter-form .age-filter-settings .age-filter-settings-desc { + margin: var(--bs-modal-padding) 0; +} +#age-filter-form .age-filter-settings { + margin: 0 0 var(--bs-modal-padding) 0; +} +#age-filter-form .age-filter-settings p.text-muted { + margin: 0; +} +#age-filter-modal p { + -webkit-user-select: text; + -moz-user-select: text; + user-select: text; /* eslint-disable-line css/use-baseline */ +} +#measure-panel .modal-header { + border-bottom: none; + padding: var(--bs-modal-padding); +} +#measure-panel .modal-header .h5 { + font-size: 1.25rem; + margin: 0; +} +#measure-panel .modal-body { + padding-top: 0; +} +#measure-panel .modal-body .btn-group > .btn.btn-lg { + --bs-btn-padding-y: .375rem; /* revert to non-large size */ +} +#age-filter-modal .btn-group > .btn-check:not(:checked) + label.btn:hover, +#measure-panel .btn-group > .btn-check:not(:checked) + label.btn:hover { + background: color-mix(in srgb, var(--bs-btn-bg) 35%, var(--bs-btn-hover-bg)); /* eslint-disable-line css/use-baseline */ + color: var(--bs-btn-hover-color); +} +#measure-panel .measure-value { + font-family: Inter; + font-variant-numeric: tabular-nums; + --measure-value-padding: .75rem; + --measure-value-border-width: 3px; + --measure-value-font-size: calc(var(--bs-body-font-size) * 1.5); + --bs-border-opacity: .75; + border-width: var(--measure-value-border-width); + border-style: solid; + border-color: rgb(from var(--bs-secondary) r g b / .75); + border-radius: var(--bs-border-radius-lg); + background: rgb(from var(--bs-secondary-bg-subtle) r g b / calc(alpha*.30)); + height: calc(var(--bs-body-line-height) * var(--bs-body-font-size) * var(--measure-value-font-size) + + 2*var(--measure-value-padding) + 2*var(--measure-value-border-width)); + padding: var(--measure-value-padding) var(--measure-value-padding); + margin: calc(var(--measure-value-padding)*1.5) 0; + display: flex; + justify-content: flex-end; /* overflow on the left */ + overflow: hidden; + -webkit-user-select: text; + -moz-user-select: text; + user-select: text; /* eslint-disable-line css/use-baseline */ +} +#measure-panel .measure-value :not(.measure-unit) { + font-size: var(--measure-value-font-size); + font-weight: 400; +} +#measure-panel .measure-value .measure-unit:before { + font-size: calc(.5*(var(--measure-value-font-size) + var(--bs-body-font-size))); + content: '\00A0'; /* U+00A0 NO-BREAK SPACE */ +} +#measure-panel .measure-value .measure-unit { + font-size: var(--bs-body-font-size); + line-height: calc(var(--bs-body-line-height) * var(--measure-value-font-size)); +} +#measure-panel .btn-group { + width: 100%; +} .popover { --bs-popover-header-padding-x: .75rem; --bs-popover-header-padding-y: .5rem; - --bs-popover-body-padding-x: .45rem; + --bs-popover-body-offset-x: .3rem; + --bs-popover-body-padding-x: calc(var(--bs-popover-header-padding-x) - var(--bs-popover-body-offset-x)); --bs-popover-body-padding-y: .5rem; --bs-popover-header-bg: var(--bs-popover-bg); --bs-popover-zindex: 1000; - --bs-popover-max-width: 450px; + --bs-popover-max-width: min(450px, 90vw); width: var(--bs-popover-max-width); pointer-events: auto; } +.popover.popover-maximized { + --bs-popover-header-padding-x: 1rem; + --bs-popover-header-padding-y: 1rem; + --bs-popover-body-padding-y: 1rem; + --bs-popover-body-offset-x: .5rem; + --bs-popover-font-size: 1rem; +} .popover.inprogress > .popover-header, .popover.inprogress > .popover-body { filter: opacity(70%); @@ -357,42 +639,63 @@ body.inprogress { .popover-header { -webkit-user-select: none; -moz-user-select: none; - user-select: none; + user-select: none; /* eslint-disable-line css/use-baseline */ --bs-heading-color: var(--bs-popover-header-color); } +.popover-header h5, .popover-header h6 { + line-height: var(--bs-body-line-height); + vertical-align: middle; + margin: 0; +} .popover-body { -webkit-user-select: text; -moz-user-select: text; - user-select: text; + user-select: text; /* eslint-disable-line css/use-baseline */ max-height: 40vh; overflow: auto auto; } +.popover.popover-maximized .popover-body { + max-height: calc(100% - 2*var(--bs-popover-header-padding-y) - var(--bs-body-line-height)*var(--bs-popover-font-size) - var(--bs-popover-border-width)); +} .popover-body h6, .popover-body h5 { - margin-bottom: .25rem; + margin-bottom: var(--bs-popover-body-padding-y); margin-left: calc(var(--bs-popover-header-padding-x) - var(--bs-popover-body-padding-x)); margin-right: calc(var(--bs-popover-header-padding-x) - var(--bs-popover-body-padding-x)); } +.popover.popover-maximized .popover-body h5, +.popover.popover-maximized .popover-body h6 { + font-size: calc(1.2 * var(--bs-popover-font-size)); +} .popover-body .table { --bs-table-bg: none; - --bs-table-hover-bg: rgba(0, 0, 0, 0.04); + --bs-table-hover-bg: rgba(0, 0, 0, .04); + --bs-table-bg-padding-y: .1rem; margin: 0; } -.popover-body table > tbody > tr > td:first-child { +.popover.popover-maximized .popover-body .table { + --bs-table-hover-bg: none; + --bs-table-bg-padding-y: .5rem; +} +.popover.popover-maximized .popover-body .table tr:nth-of-type(2n+1) { + background: rgba(0, 0, 0, .05); +} +.popover-body table > tbody > tr > th[scope="row"] { font-style: italic; - width: 9.75em; padding-right: .75em; + font-weight: normal; } +.popover .popover-body table > tbody > tr > th[scope="row"] { + width: 35%; +} +.popover-body table > tbody > tr > th[scope="row"], .popover-body table > tbody > tr > td { - padding: 0.1rem 0.3rem; + padding: var(--bs-table-bg-padding-y) var(--bs-popover-body-offset-x); } .feature-attr-mrr-license-id, .feature-attr-dnr, .feature-objid, .feature-orgnr { font-family: var(--bs-font-monospace); word-wrap: break-word; } -.popover-header h6 { - margin: 0; -} /* inspired from bootstrap's .btn-close */ .popover-header .popover-button { box-sizing: content-box; @@ -410,7 +713,7 @@ body.inprogress { opacity: .75; } .popover-header .popover-button:focus { - outline: 0; + outline: 0; /* eslint-disable-line css/use-baseline */ box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); opacity: 1; } |
