mapcomplete/index.css
2022-02-02 01:51:19 +01:00

563 lines
10 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
TailwindCSS JIT-Mode Input file.
Use TailwindCSS functions and directives here https://tailwindcss.com/docs/functions-and-directives
About JIT-Mode: https://tailwindcss.com/docs/just-in-time-mode#styles-rebuild-in-an-infinite-loop
TailwindCSS CLI generates the css/index-tailwind-output.css file based on this file.
It is not used directly in the app.
*/
@tailwind base;
@tailwind components;
@tailwind utilities;
@layer utilities {
@variants responsive {
.z-above-map {
z-index: 10000
}
.z-above-controls {
z-index: 10001
}
.w-160 {
width: 40rem;
}
.bg-subtle {
background-color: var(--subtle-detail-color);
color: var(--subtle-detail-color-contrast);
}
.bg-unsubtle {
background-color: var(--unsubtle-detail-color);
color: var(--unsubtle-detail-color-contrast);
}
.bg-catch {
background-color: var(--catch-detail-color);
color: var(--catch-detail-color-contrast);
}
}
}
:root {
--subtle-detail-color: #DBEAFE;
--subtle-detail-color-contrast: black;
--subtle-detail-color-light-contrast: lightgrey;
--unsubtle-detail-color: #BFDBFE;
--unsubtle-detail-color-contrast: black;
--catch-detail-color: #3a3aeb;
--catch-detail-color-contrast: white;
--alert-color: #fee4d1;
--background-color: white;
--foreground-color: black;
--popup-border: white;
--non-active-tab-svg: var(--foreground-color);
--shadow-color: #00000066;
--variable-title-height: 0px; /* Set by javascript */
--return-to-the-map-height: 2em;
--image-carousel-height: 350px;
}
html, body {
height: 100%;
min-height: 100vh;
min-height: -webkit-fill-available;
margin: 0;
padding: 0;
background-color: var(--background-color);
color: var(--foreground-color);
font-family: 'Helvetica Neue', Arial, sans-serif;
}
.leaflet-overlay-pane .leaflet-zoom-animated {
/* Another workaround to keep leaflet working */
width: initial !important;
height: initial !important;
box-sizing: initial !important;
}
.leaflet-control-attribution {
display: block ruby;
}
.badge {
}
.badge svg {
/*Workaround for leaflet*/
width: unset !important;
height: 100% !important;
}
svg, img {
box-sizing: content-box;
width: 100%;
height: 100%;
}
.svg-catch svg path {
fill: var(--catch-detail-color) !important;
stroke: var(--catch-detail-color) !important;
}
.svg-unsubtle svg path {
fill: var(--unsubtle-detail-color) !important;
stroke: var(--unsubtle-detail-color) !important;
}
.svg-subtle svg path {
fill: var(--subtle-detail-color) !important;
stroke: var(--subtle-detail-color) !important;
}
.svg-foreground svg path {
fill: var(--foreground-color) !important;
stroke: var(--foreground-color) !important;
}
.no-images img {
display: none;
}
.mapcontrol svg path {
fill: var(--subtle-detail-color-contrast) !important;
}
.red-svg svg path {
stroke: #d71010 !important;
}
a {
color: var(--foreground-color);
}
.btn {
margin-top: 0.5rem;
margin-right: 0.5rem;
line-height: 1.25rem;
--tw-text-opacity: 1;
color: var(--catch-detail-color-contrast);
--tw-bg-opacity: 1;
background-color: var(--catch-detail-color);
display: inline-flex;
border-radius: 1.5rem;
padding-top: 0.75rem;
padding-bottom: 0.75rem;
padding-left: 1.25rem;
padding-right: 1.25rem;
font-size: large;
font-weight: bold;
/*-- invisible border: rendered on hover*/
border: 3px solid var(--unsubtle-detail-color);
}
.btn:hover {
border: 3px solid var(--catch-detail-color);
}
.btn-secondary {
background-color: var(--catch-detail-color);
filter: saturate(0.8);
}
.btn-secondary:hover {
background-color: var(--catch-detail-color);
}
.btn-disabled {
filter: saturate(0.3);
cursor: default;
}
.btn-disabled:hover {
border: 3px solid var(--unsubtle-detail-color);
}
.h-min {
height: min-content;
}
.border-detail {
border-color: var(--foreground-color);
}
.w-min {
width: min-content;
}
.w-16-imp {
width: 4rem !important;
}
.link-underline a {
text-decoration: underline 1px var(--foreground-color);
}
.link-no-underline a {
text-decoration: none;
}
li {
margin-left: 0.5em;
padding-left: 0.2em;
margin-top: 0.1em;
}
h2 {
font-size: large;
margin-top: 0.5em;
margin-bottom: 0.3em;
font-weight: bold;
}
h3 {
font-size: larger;
margin-top: 0.6em;
margin-bottom: 0;
font-weight: bold;
}
h3 {
font-size: larger;
margin-top: 0.6em;
margin-bottom: 0;
font-weight: bolder;
}
p {
padding-top: 0.1em;
}
li::marker {
content: "•"
}
.subtle-background {
background: var(--subtle-detail-color);
color: var(--subtle-detail-color-contrast);
}
.normal-background {
background: var(--background-color);
color: var(--foreground-color)
}
.subtle-lighter {
color: var(--subtle-detail-color-light-contrast);
}
.border-attention-catch {
border: 5px solid var(--catch-detail-color);
}
.border-invisible {
border: 5px solid #00000000;
}
.border-attention {
border-color: var(--catch-detail-color);
}
.direction-svg svg path {
fill: var(--catch-detail-color) !important;
}
#leafletDiv {
height: 100%;
}
.leaflet-popup-content-wrapper {
background-color: var(--background-color);
color: var(--foreground-color);
border: 2px solid var(--popup-border);
box-shadow: 0 3px 14px var(--shadow-color) !important;
}
.leaflet-container {
font: unset !important;
background-color: var(--background-color) !important;
}
.leaflet-popup-tip {
background-color: var(--popup-border) !important;
color: var(--popup-border) !important;
box-shadow: 0 3px 14px var(--shadow-color) !important;
}
.single-layer-selection-toggle {
position: relative;
width: 2em;
height: 2em;
flex-shrink: 0;
}
.single-layer-selection-toggle img {
max-height: 2em !important;
max-width: 2em !important;
}
.single-layer-selection-toggle svg {
max-height: 2em !important;
max-width: 2em !important;
}
.block-ruby {
display: block ruby;
}
.disable-links a {
pointer-events: none;
text-decoration: none !important;
color: var(--subtle-detail-color-contrast) !important;
}
.enable-links a {
pointer-events: unset;
text-decoration: underline !important;
color: unset !important;
}
.disable-links a.must-link, .disable-links .must-link a {
/* Hide links if they are disabled */
display: none;
}
/**************** GENERIC ****************/
.alert {
background-color: var(--alert-color);
color: var(--foreground-color);
font-weight: bold;
border-radius: 1em;
margin: 0.25em;
text-align: center;
padding: 0.15em 0.3em;
}
.invalid {
box-shadow: 0 0 10px #ff5353;
height: min-content;
}
.shadow {
box-shadow: 0 0 10px var(--shadow-color);
}
.title-font span {
font-size: xx-large !important;
font-weight: bold;
}
.soft {
background-color: var(--subtle-detail-color);
color: var(--subtle-detail-color-contrast);
font-weight: bold;
border-radius: 1em;
margin: 0.25em;
text-align: center;
padding: 0.15em 0.3em;
}
.subtle {
color: #999;
}
.link-underline .subtle a {
text-decoration: underline 1px #7193bb88;
color: #7193bb;
}
.thanks {
background-color: #43d904;
font-weight: bold;
border-radius: 1em;
margin: 0.25em;
text-align: center;
padding: 0.15em 0.3em;
}
.clickable {
pointer-events: all;
}
.unclickable {
pointer-events: none !important;
}
@keyframes slide {
/* This is the animation on the marker to add a new point - it slides through all the possible presets */
from {
transform: translateX(0%);
}
to {
transform: translateX(calc(-100% + 42px));
}
}
.hand-drag-animation {
animation: hand-drag-animation 6s ease-in-out infinite;
transform-origin: 50% 125%;
}
@keyframes hand-drag-animation {
/* This is the animation on the little extra hand on the location input. If fades in, invites the user to interact/drag the map */
0% {
opacity: 0;
transform: rotate(-30deg);
}
6% {
opacity: 1;
transform: rotate(-30deg);
}
12% {
opacity: 1;
transform: rotate(-45deg);
}
24% {
opacity: 1;
transform: rotate(-00deg);
}
30% {
opacity: 1;
transform: rotate(-30deg);
}
36% {
opacity: 0;
transform: rotate(-30deg);
}
100% {
opacity: 0;
transform: rotate(-30deg);
}
}
/**************************************/
#topleft-tools {
display: block;
position: absolute;
z-index: 5000;
transition: all 500ms linear;
left: 0;
right: 0;
}
.welcomeMessage {
display: block;
max-width: calc(100vw - 5em);
width: 40em;
max-height: calc(100vh - 15em);
overflow-y: auto;
background-color: var(--background-color);
color: var(--foreground-color);
}
/***************** Info box (box containing features and questions ******************/
input {
color: var(--foreground-color)
}
.leaflet-popup-content {
width: 45em !important;
margin: 0.25rem !important;
}
.leaflet-div-icon {
background-color: unset !important;
border: unset !important;
}
.floating-element-width {
max-width: calc(100vw - 5em);
width: 40em;
}
.leaflet-div-icon svg {
width: calc(100%);
height: calc(100%);
}
/****** ShareScreen *****/
.literal-code {
display: inline-block;
background-color: lightgray;
padding: 0.5em;
word-break: break-word;
color: black;
box-sizing: border-box;
}
/** Switch layout **/
.small-image img {
height: 1em;
max-width: 1em;
}
.small-image {
height: 1em;
max-width: 1em;
}
.slideshow-item img {
height: var(--image-carousel-height);
width: unset;
}
.animate-height {
transition: max-height .5s ease-in-out;
overflow-y: hidden;
}
.zebra-table tr:nth-child(even) {
background-color: #f2f2f2;
}
.layer-toggle {
/* The checkbox that toggles a single layer */
}
.layer-filters {
/* If needed, the panel which contains the extra filters for a layer */
margin-bottom: 1rem;
}
.filter-panel {
/* The panel for a single layer, containing both the toggle and the filters (if any) */
border-bottom: 2px solid lightgrey;
margin-bottom: 0.5rem;
}
.first-filter-panel {
/* Additional class on the first layer filter */
}