flask/flaskr/static/style.css
2024-09-17 10:34:59 +01:00

242 lines
3.5 KiB
CSS

html {
font-family: 'Roboto', sans-serif;
background: #FEFAE0;
padding: 1rem;
}
body {
max-width: 960px;
margin: 0 auto;
background: white;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
border-radius: 8px;
}
h1, h2, h3, h4, h5, h6 {
font-family: 'Roboto', sans-serif;
color: #377ba8;
margin: 1rem 0;
}
a {
color: #377ba8;
text-decoration: none;
}
hr {
border: none;
border-top: 1px solid #E0E5B6;
}
nav {
background: #CCD5AE;
display: flex;
align-items: center;
padding: 0.5rem;
border-radius: 8px;
}
nav a:has(#sagittal-logo) {
flex: auto;
margin: 0;
}
nav ul {
display: flex;
list-style: none;
margin: 0;
padding: 0;
align-items: center;
}
nav ul li a, nav ul li span, header .action {
display: block;
padding: 0.5rem;
color: #377ba8;
}
#sagittal-logo {
width:150px;
}
.content {
padding: 0 1rem 1rem;
}
.content > header {
border-bottom: 1px solid #E0E5B6;
display: flex;
align-items: flex-end;
}
.content > header h1 {
flex: auto;
margin: 1rem 0 0.25rem 0;
}
.flash {
margin: 1em 0;
padding: 1em;
background: #FAEDCE;
border: 1px solid #377ba8;
border-radius: 4px;
}
.post > header {
display: flex;
align-items: flex-end;
font-size: 0.85em;
}
.post > header > div:first-of-type {
flex: auto;
}
.post > header h1 {
font-size: 1.5em;
margin-bottom: 0;
}
.post .about {
color: slategray;
font-style: italic;
}
.post .body {
white-space: pre-line;
}
.content:last-child {
margin-bottom: 0;
}
.content form {
margin: 1em 0;
display: flex;
flex-direction: column;
}
.content label {
font-weight: bold;
margin-bottom: 0.5em;
}
.content input, .content textarea {
margin-bottom: 1em;
background: #f5f5f5;
border: 1px solid #ccc;
padding: 0.5em;
border-radius: 4px;
}
.content textarea {
min-height: 12em;
resize: vertical;
}
input.danger {
color: #cc2f2e;
}
input[type=submit] {
align-self: start;
min-width: 10em;
background-color: #377ba8;
color: white;
border: none;
border-radius: 4px;
cursor: pointer;
transition: background-color 0.3s;
}
input[type=submit]:hover {
background-color: #2c5f8a;
}
#theme-toggle {
position: relative;
width: 50px;
height: 25px;
background: #ccc;
border-radius: 25px;
cursor: pointer;
transition: background 0.3s;
display: flex;
align-items: center;
justify-content: center;
}
#theme-toggle:before {
content: '\f186'; /* FontAwesome Unicode for moon */
font-family: 'FontAwesome';
font-weight: 900;
position: absolute;
top: 2px;
left: 2px;
width: 21px;
height: 21px;
border-radius: 50%;
transition: transform 0.3s, content 0.3s;
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
color: #333;
}
html.dark-mode {
background: #555555;
}
body.dark-mode #theme-toggle {
background: #4d4d4d;
}
body.dark-mode #theme-toggle:before {
transform: translateX(25px);
content: '\f185'; /* FontAwesome Unicode for sun */
color: #e0e0e0;
}
body.dark-mode {
background: #121212;
color: #e0e0e0;
}
body.dark-mode a {
color: #bb86fc;
}
body.dark-mode nav {
background: #333;
}
body.dark-mode .flash {
background: #333;
border-color: #bb86fc;
}
body.dark-mode .post .about {
color: #999;
}
body.dark-mode .content input,
body.dark-mode .content textarea {
background: #333;
color: #e0e0e0;
border: 1px solid #555;
}
.toggle-content {
background: none;
border: none;
color: #377ba8;
cursor: pointer;
font-size: 0.85em;
margin-left: 1em;
transition: color 0.3s;
}
.toggle-content:hover {
color: #2c5f8a;
}