Where-in-the-World-is-Ben/resources/css/app.css
2024-08-27 16:57:33 +02:00

369 lines
5.1 KiB
CSS

:root {
--dark: #020202;
--light: #fffff0;
}
/*
* Typography
*/
body {
/* font-family: Verdana, Arial, sans-serif; */
font-size: 16px;
margin: 0;
color: var(--dark, #020202);
background-color: var(--light, #fffff0);
font-family: "Palatino Linotype", "Book Antiqua", Palatino, serif;
}
:where(:root) {
line-height: 1.5;
}
a {
text-decoration-skip-ink: auto;
color: #020202;
text-decoration: underline;
opacity: 0.8;
}
a:hover {
text-decoration: none;
opacity: 1;
}
.page-title {
font-size: 1.5em;
text-align: center;
margin-top: 0;
}
details h2 {
display: inline;
}
.positive,
.negative {
font-weight: bold;
}
.positive {
color: darkgreen;
}
.negative {
color: red;
}
.small {
font-variant: italic;
font-size: 0.8em;
}
#allCheckinsLink,
#pastTripsList a {
opacity: 0.7;
color: var(--dark, #020202);
}
#allCheckinsLink:hover,
#pastTripsList a:hover {
opacity: 1;
}
cite,
cite.book,
cite.film,
cite.tv-show,
cite.comic,
cite.book,
cite.podcast,
cite.album,
cite.report {
font-style: italic;
}
cite.book--bible {
font-style: inherit;
}
cite.legislation,
cite.smallcite,
cite.comic-strip,
cite.short-story,
cite.article,
cite.episode,
cite.video,
cite.chapter,
cite.software,
cite.campaign,
cite.song,
cite.speech,
cite.course,
cite.presentation {
font-style: normal;
}
cite.smallcite::before,
cite.article::before,
cite.comic-strip::before,
cite.short-story::before,
cite.episode::before,
cite.video::before,
cite.chapter::before,
cite.song::before,
cite.poem::before,
cite.campaign::before,
cite.speech::before,
cite.course::before,
cite.presentation::before {
content: "“";
}
cite.smallcite::after,
cite.article::after,
cite.comic-strip::after,
cite.short-story::after,
cite.episode::after,
cite.video::after,
cite.chapter::after,
cite.song::after,
cite.poem::after,
cite.campaign::after,
cite.speech::after,
cite.course::after,
cite.presentation::after {
content: "”";
}
cite.article--shortcite::before,
cite.article--shortcite::after {
content: none;
}
/*
* Layout
*/
body {
border: 5px solid black;
box-sizing: border-box;
height: 100vh;
display: grid;
grid-template-rows: auto 1fr;
grid-template-columns: 100%;
grid-template-areas:
"header"
"route";
}
:where([title]) {
cursor: help;
text-decoration: underline;
text-decoration: underline dotted;
}
.page-header {
grid-area: header;
border-bottom: 5px solid black;
padding-top: 1em;
}
.other-links {
font-size: 1em;
display: block;
margin: auto;
overflow: auto;
}
.other-links ul {
list-style: none;
margin: 0 auto;
width: fit-content;
}
.other-links li {
float: left;
margin-left: 1.5em;
border: 2px solid var(--dark);
border-radius: 1em;
}
.other-links li:first-of-type {
margin-left: 0;
}
.other-links li:hover {
background-color: #ddddd2;
}
.other-links li p {
padding: 0.25em 0.5em;
margin: 0;
}
.other-links li p a {
color: var(--dark, #020202);
font-weight: bold;
text-decoration: none;
}
.trip-meta {
display: block;
width: 100%;
font-size: 0.8em;
text-align: center;
}
.main--list {
margin: auto;
width: 100%;
max-width: 980px;
}
#routeContainer {
display: grid;
grid-area: route;
grid-template-rows: 55% 45%;
grid-template-columns: 100%;
overflow: hidden;
grid-template-areas:
"map"
"checkins";
}
#mapContainer {
grid-area: map;
}
#map {
height: 100%;
}
#checkinList {
grid-area: checkins;
border-top: 5px solid black;
padding: 0 1em;
overflow: scroll;
}
.checkin {
border-top: 1px solid black;
padding: 1em 0;
}
.checkin__summary {
cursor: pointer;
}
.checkin[open] .checkin__summary {
margin-bottom: 1em;
border-bottom: 1px solid gray;
}
.checkin__title {
font-size: 1em;
}
.checkin__meta {
margin: 0;
}
.checkin[open] .checkin__meta {
margin-bottom: 1em;
}
#checkinList li:first-child .checkin {
border-top: none;
}
.popup__image,
.popup__video {
width: auto;
height: auto;
max-width: 70vw;
max-height: 45vh;
margin-top: 1em;
display: block;
background-color: black;
border: 2px solid var(--dark, #020202);
}
/*
* Medium Display
*/
@media screen and (min-width: 728px) {
.page__title {
font-size: 2em;
}
}
/*
* Large Display
*/
@media screen and (min-width: 1024px) {
#routeContainer {
grid-template-columns: 60% 40%;
grid-template-rows: 100%;
grid-template-areas: "map checkins";
}
.page-header {
padding: 1em;
}
.page-title {
font-size: 2.5em;
text-align: left;
display: inline-block;
margin-bottom: 0;
}
.other-links {
font-size: 1.2em;
display: inline-block;
vertical-align: bottom;
}
.other-links li a {
padding: 0.5em 1em;
}
.trip-meta {
text-align: left;
font-size: 1em;
}
#map {
height: 100%;
}
#checkinList {
border-top: 0;
border-left: 5px solid black;
}
.section__title {
text-align: center;
}
#checkinList ol {
margin-top: 0;
margin-right: 1em;
}
.popup__image,
.popup__video {
max-width: 100%;
max-height: 60vh;
margin-top: 1em;
}
}
.checkin-icon {
color: black;
}
.checkin-icon--missing {
opacity: 0.4;
}