219 lines
4.9 KiB
CSS
219 lines
4.9 KiB
CSS
/* styles.css */
|
|
|
|
body,
|
|
html {
|
|
font-family:
|
|
-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial,
|
|
sans-serif;
|
|
}
|
|
|
|
.stAppHeader {
|
|
visibility: hidden;
|
|
}
|
|
|
|
/* Conteneur principal */
|
|
.block-container {
|
|
max-width: 1024px !important;
|
|
padding-left: 2rem;
|
|
padding-right: 2rem;
|
|
padding: 0rem 1rem 10rem;
|
|
}
|
|
|
|
.stVerticalBlock {
|
|
gap: 0.5rem !important;
|
|
}
|
|
|
|
/* Lien normal (non visité) */
|
|
a {
|
|
color: #1b5e20; /* vert foncé */
|
|
text-decoration: none;
|
|
}
|
|
|
|
/* Lien visité */
|
|
a:visited {
|
|
color: #388e3c; /* vert moyen */
|
|
}
|
|
|
|
/* Lien au survol */
|
|
a:hover {
|
|
color: #145a1a; /* vert encore plus foncé */
|
|
text-decoration: underline;
|
|
}
|
|
|
|
/* Lien actif */
|
|
a:active {
|
|
color: #2e7d32; /* action en cours - nuance */
|
|
}
|
|
|
|
/* Couleur des boutons primaires et sliders */
|
|
.stButton > button,
|
|
.stSlider > div > div {
|
|
background-color: darkgreen !important;
|
|
color: white !important;
|
|
border: 1px solid grey;
|
|
}
|
|
|
|
/* Style pour impression */
|
|
@media print {
|
|
body {
|
|
font-size: 12pt;
|
|
color: black;
|
|
background: white;
|
|
}
|
|
nav,
|
|
footer,
|
|
.stSidebar {
|
|
display: none !important;
|
|
}
|
|
}
|
|
|
|
/* En-tête large */
|
|
.wide-header {
|
|
width: 100vw;
|
|
margin-left: calc(-50vw + 50%);
|
|
background-color: #f9f9f9;
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
border-bottom: 1px solid #ddd;
|
|
text-align: center;
|
|
padding-top: 1rem;
|
|
}
|
|
|
|
.titre-header {
|
|
font-size: 2rem !important;
|
|
font-weight: bolder !important;
|
|
color: #555;
|
|
}
|
|
|
|
/* Accessibilité RGAA pour les onglets */
|
|
div[role="radiogroup"] > label {
|
|
background-color: #eee;
|
|
color: #333;
|
|
padding: 0.5em 1em;
|
|
border-radius: 0.4em;
|
|
margin-right: 0.5em;
|
|
cursor: pointer;
|
|
border: 1px solid #ccc;
|
|
}
|
|
div[role="radiogroup"] > label[data-selected="true"] {
|
|
background-color: #1b5e20 !important;
|
|
color: white !important;
|
|
font-weight: bold;
|
|
border: 2px solid #145a1a;
|
|
}
|
|
|
|
/* Style du graphique Plotly */
|
|
.stPlotlyChart text {
|
|
font-family: Verdana !important;
|
|
fill: black !important;
|
|
font-size: 14px !important;
|
|
}
|
|
|
|
/* Pied de page */
|
|
/* Footer général */
|
|
.wide-footer {
|
|
width: 100vw;
|
|
margin-left: calc(-50vw + 50%);
|
|
margin-top: 3rem; /* changé pour matcher */
|
|
background-color: #f9f9f9;
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
border-top: 1px solid #ddd;
|
|
text-align: center;
|
|
padding-top: 1rem;
|
|
}
|
|
|
|
/* Texte à l'intérieur du footer */
|
|
.info-footer {
|
|
font-size: 1rem !important;
|
|
color: #333; /* au lieu de #555 */
|
|
font-weight: 800;
|
|
}
|
|
/* Petit paragraphe sous le footer */
|
|
.footer-note {
|
|
margin-top: 0.5rem;
|
|
font-size: small;
|
|
}
|
|
|
|
/* Bloc impact environnemental dans sidebar */
|
|
.impact-environnement {
|
|
margin-top: 1rem;
|
|
font-size: medium;
|
|
}
|
|
|
|
/* Div réseau pour impact CO₂ */
|
|
#network-usage {
|
|
font-size: small;
|
|
margin-top: 1rem;
|
|
}
|
|
|
|
.decorative-heading {
|
|
font-size: 1.25rem;
|
|
font-weight: bold;
|
|
margin-bottom: 0.5rem;
|
|
color: #145a1a; /* même couleur que hover, bon contraste */
|
|
}
|
|
|
|
/* Override Streamlit file uploader limit text to 100 Ko */
|
|
div[data-testid="stFileUploaderDropzoneInstructions"] small {
|
|
visibility: hidden;
|
|
}
|
|
div[data-testid="stFileUploaderDropzoneInstructions"] small::after {
|
|
content: "Limite 100 Ko par fichier • JSON";
|
|
visibility: visible;
|
|
display: block;
|
|
font-size: inherit;
|
|
color: inherit;
|
|
margin-top: 0.25em;
|
|
}
|
|
|
|
/* Override Streamlit file uploader limit text to 100 Ko */
|
|
div[data-testid="stFileUploaderDropzoneInstructions"] small {
|
|
visibility: hidden;
|
|
}
|
|
div[data-testid="stFileUploaderDropzoneInstructions"] small::after {
|
|
content: "Limite 100 Ko par fichier • JSON";
|
|
visibility: visible;
|
|
display: block;
|
|
font-size: inherit;
|
|
color: inherit;
|
|
margin-top: 0.25em;
|
|
}
|
|
|
|
/* Translate Drag and drop and Browse files */
|
|
/* Hide original "Drag and drop file here" text */
|
|
div[data-testid="stFileUploaderDropzoneInstructions"]
|
|
.st-emotion-cache-j7qwjs
|
|
> span:nth-of-type(1) {
|
|
visibility: hidden;
|
|
}
|
|
/* Insert French translation */
|
|
div[data-testid="stFileUploaderDropzoneInstructions"]
|
|
.st-emotion-cache-j7qwjs
|
|
> span:nth-of-type(1)::after {
|
|
content: "Glissez-déposez votre fichier ici";
|
|
visibility: visible;
|
|
display: block;
|
|
font-size: inherit;
|
|
color: inherit;
|
|
}
|
|
|
|
/* Hide original "Browse files" button text */
|
|
/* Target the button within the dropzone container for uploader */
|
|
div[data-testid="stFileUploaderDropzone"]
|
|
button[data-testid="stBaseButton-secondary"] {
|
|
color: transparent !important;
|
|
position: relative;
|
|
}
|
|
/* Insert French translation for button */
|
|
div[data-testid="stFileUploaderDropzone"]
|
|
button[data-testid="stBaseButton-secondary"]::after {
|
|
content: "Parcourir les fichiers";
|
|
visibility: visible !important;
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
display: block;
|
|
font-size: inherit;
|
|
color: inherit !important;
|
|
}
|