camper/web/static/camper.css

188 lines
2.9 KiB
CSS

/**
* SPDX-FileCopyrightText: 2023 jordi fita mas <jordi@tandem.blog>
* SPDX-License-Identifier: AGPL-3.0-only
*/
*, *::before, *::after {
box-sizing: border-box;
}
*:not(dialog) {
margin: 0;
}
html, body {
height: 100%;
}
html {
font-family: monospace;
font-size: 62.5%;
}
body {
font-size: 1.6rem;
line-height: 1.5;
-webkit-font-smoothing: antialiased;
background-color: white;
color: #3f3b37;
}
img, picture, video, canvas, svg {
display: block;
max-width: 100%;
}
input, button, textarea, select {
font: inherit;
}
p, h1, h2, h3, h4, h5, h6 {
overflow-wrap: break-word;
}
:any-link {
color: #0000ff;
}
a.missing-translation {
color: #ff0000;
}
.media-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(26rem, 1fr));
grid-auto-rows: 1fr;
list-style: none;
gap: 1rem;
padding: 0;
}
.media-grid img, .media-grid button {
width: 100%;
height: 100%;
max-height: 26rem;
}
.media-grid img {
object-fit: cover;
}
.media-picker {
min-width: 75vw;
}
.media-picker, .media-picker header, .media-picker footer {
background-color: white;
}
.media-picker header, .media-picker footer {
position: sticky;
padding-top: 1rem;
padding-bottom: 1rem;
}
.media-picker header {
top: -1em;
}
.media-picker footer {
bottom: -1em;
}
#campground-map .guest-only {
display: none;
}
#campground-map a:hover {
fill: #ffeeaa;
}
[class^="icon_"] {
background-size: 2em 2em;
background-repeat: no-repeat;
background-position: center left;
}
.services [class^="icon_"] {
padding-left: 2.5em;
}
.icon-input ul {
padding: 0;
list-style: none;
display: flex;
flex-wrap: wrap;
gap: .25em;
}
.icon-input button {
padding: 1em;
}
.icon-input button[aria-pressed="true"] {
background-color: #ffeeaa;
}
.season-calendar {
display: grid;
grid-template-columns: repeat(3, auto);
grid-auto-rows: 1fr;
justify-content: center;
align-items: start;
gap: 2em;
}
@media (max-width: 48rem) {
.season-calendar {
display: flex;
flex-direction: column;
}
}
.season-calendar table {
border-collapse: collapse;
}
.season-calendar td {
width: calc(100% / 7);
}
.season-calendar time {
display: block;
width: 100%;
min-width: 3rem;
aspect-ratio: 1;
text-indent: 100%;
white-space: nowrap;
overflow: hidden;
}
.season-calendar [aria-checked] {
border: 2px solid black;
position: relative;
}
.season-calendar [aria-checked]::after {
content: "";
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
display: block;
background-color: black;
border-radius: 50%;
width: .8rem;
height: .8rem;
}
.season-calendar form {
position: fixed;
}
.season-calendar button {
display: flex;
gap: 1em;
}