diff --git a/assets/js/highlightHeadline.js b/assets/js/highlightHeadline.js
index 45b9ba09..3939d256 100644
--- a/assets/js/highlightHeadline.js
+++ b/assets/js/highlightHeadline.js
@@ -13,10 +13,10 @@ function initHighlightHeadline() {
return; // No headings? No business here
}
- // A few helper functions (.toc is the top-level ordered list)
+ // A few helper functions (.o-aside__toc is the top-level ordered list)
const markTocItemActive = (a) => {return a.setAttribute('data-current', '');}
const markTocItemInactive = (a) => {return a.removeAttribute('data-current');};
- const getTocLinkFromHeading = (h) => {return document.querySelector(`.toc a[href="${windowPath}#${encodeURIComponent(h.id).replace(/%\w\w/g, match => match.toLowerCase())}"]`);}
+ const getTocLinkFromHeading = (h) => {return document.querySelector(`.o-aside__toc a[href="${windowPath}#${encodeURIComponent(h.id).replace(/%\w\w/g, match => match.toLowerCase())}"]`);}
const getDocHeight = () => Math.floor(document.body.clientHeight);
diff --git a/assets/sass/_variables.scss b/assets/sass/_variables.scss
index d301626f..f7c2bd82 100644
--- a/assets/sass/_variables.scss
+++ b/assets/sass/_variables.scss
@@ -2,6 +2,7 @@ $breakpoint-sm: 576px;
$breakpoint-md: 768px;
$breakpoint-lg: 992px;
$breakpoint-xl: 1200px;
+$breakpoint-xxl: 1400px;
$link-hovered: #8F2501;
$link-default: #BA3D12;
@@ -16,7 +17,6 @@ $color-onLight: #000000;
$color-table-border: #5B5B5B;
body {
- --bs-light-rgb: 219, 224, 229;
--pagefind-ui-scale: 1;
--pagefind-ui-text: #000;
--link-default: #{$link-default};
@@ -30,11 +30,12 @@ body {
--color-onDark: #{$color-onDark};
--color-onLight: #{$color-onLight};
--color-table-border: #{$color-table-border};
+ --color-body: rgb(33, 37, 41);
--border-radius-s: .4rem;
--border-radius-m: .8rem;
--border-radius-l: 1.6rem;
--pagefind-ui-border-radius: var(--border-radius-l);
--pagefind-ui-border: #000;
- --bs-highlight-bg: var(--bg-accent);
--box-shadow: 0 .4rem 1rem rgba(0,0,0,.25);
+ --box-shadow-light: 0.4rem 0.4rem 0.4rem rgba(0,0,0,.1);
}
diff --git a/assets/sass/anchorlink.scss b/assets/sass/anchorlink.scss
index 3f0e5fa4..c1047fe3 100644
--- a/assets/sass/anchorlink.scss
+++ b/assets/sass/anchorlink.scss
@@ -23,7 +23,7 @@
background-repeat: no-repeat;
height: 2.4rem;
opacity: 50%;
- border-top: 0;
+ border: 0;
@media print {
margin: 0;
diff --git a/assets/sass/content.scss b/assets/sass/content.scss
index 2eff9406..f7633664 100644
--- a/assets/sass/content.scss
+++ b/assets/sass/content.scss
@@ -1,8 +1,8 @@
-.updateDate {
+.o-last-updated {
font-size: 1.3rem;
}
-.updateDate > .material-symbols-rounded {
+.o-last-updated > .material-symbols-rounded {
font-size: 1.5rem
}
@@ -16,23 +16,47 @@ code {
}
table {
- margin-bottom: .6rem;
+ border-collapse: collapse;
+ margin-bottom: 1rem;
+ margin-left: 0.2rem;
+ box-shadow: 0 0.4rem 0.4rem rgba(0,0,0,.1);
}
-tr {
- border-bottom: .1rem solid var(--color-table-border);
+thead {
+ th:first-child {
+ border-top-left-radius: var(--border-radius-s);
+ }
+ th:last-child {
+ border-top-right-radius: var(--border-radius-s);
+ }
+
+ th {
+ background: $link-hovered;
+ color: white;
+ text-align: left;
+ }
}
-th, td {
- padding: .6rem 2rem .6rem 0;
+tbody {
+ tr {
+ border-bottom: .1rem solid $color-table-border;
+ }
+
+ tr:nth-of-type(even) {
+ background-color: $bg-default;
+ }
+
+ tr:last-of-type {
+ border-bottom: 2px solid $link-hovered;
+ }
}
-.footnote-backref {
+th,
+td {
padding: 1rem;
}
.footnotes {
-
p {
text-align: left;
}
@@ -40,6 +64,11 @@ th, td {
hr {
display: none;
}
+
+ ol {
+ padding-left: 2rem;
+ list-style-position: outside;
+ }
}
p:has( + span) {
diff --git a/assets/sass/fonts.scss b/assets/sass/fonts.scss
index e79ac5c8..1dc9670d 100644
--- a/assets/sass/fonts.scss
+++ b/assets/sass/fonts.scss
@@ -79,7 +79,7 @@
font-display: block; // Do not display icons until font is fully loaded
}
-body {
+body, button {
font-family: "Roboto",Arial,Helvetica,sans-serif;
word-wrap: break-word;
hyphens: auto;
diff --git a/assets/sass/footer.scss b/assets/sass/footer.scss
index abc48d12..0f6c44a4 100644
--- a/assets/sass/footer.scss
+++ b/assets/sass/footer.scss
@@ -30,3 +30,9 @@
margin-right: 0;
}
}
+
+.o-footer__firstline {
+ display: flex;
+ justify-content: space-between;
+ flex-wrap: wrap;
+}
diff --git a/assets/sass/form.scss b/assets/sass/form.scss
index d3fafc39..bad7ea0b 100644
--- a/assets/sass/form.scss
+++ b/assets/sass/form.scss
@@ -7,12 +7,13 @@
max-width: fit-content;
}
- .row > label {
+ label {
padding: 0;
+ display: flex;
+ flex-flow: column;
}
input[type=text], input[type=email], select, textarea {
- width: 100%;
margin-bottom: 1.6rem;
border-radius: var(--border-radius-l);
border-width: .2rem;
diff --git a/assets/sass/headings.scss b/assets/sass/headings.scss
index 22b3dfc4..6b9cdfbd 100644
--- a/assets/sass/headings.scss
+++ b/assets/sass/headings.scss
@@ -2,6 +2,7 @@ h1 {
font-size: 3rem;
line-height: 1.25;
margin-bottom: 2rem;
+ margin-top: 0;
font-weight: 700;
text-wrap: balance;
}
@@ -10,6 +11,7 @@ h2 {
font-size: 2.2rem;
line-height: 1.25;
margin-bottom: 1rem;
+ margin-top: 0;
font-weight: 700;
text-wrap: balance;
}
@@ -18,6 +20,7 @@ h3 {
font-size: 2rem;
line-height: 1.25;
margin-bottom: 1rem;
+ margin-top: 0;
font-weight: 700;
text-wrap: balance;
}
@@ -26,6 +29,7 @@ h4 {
font-size: 1.8rem;
line-height: 1.25;
margin-bottom: 1rem;
+ margin-top: 0;
font-weight: 700;
text-wrap: balance;
}
diff --git a/assets/sass/main.scss b/assets/sass/main.scss
index 756f7121..123ac786 100644
--- a/assets/sass/main.scss
+++ b/assets/sass/main.scss
@@ -1,5 +1,4 @@
@import "_variables.scss";
-@import "node_modules/bootstrap/scss/bootstrap.scss";
@import "styles.scss";
@import "fonts.scss";
@import "navigation.scss";
@@ -16,3 +15,4 @@
@import "print.scss";
@import "booking.scss";
@import "button.scss";
+@import "startpage.scss";
diff --git a/assets/sass/navigation.scss b/assets/sass/navigation.scss
index b6daaff9..dea56eb4 100644
--- a/assets/sass/navigation.scss
+++ b/assets/sass/navigation.scss
@@ -15,6 +15,7 @@
.o-header__wrapper {
display: flex;
justify-content: space-between;
+ align-items: center;
padding: 0;
@media (min-width: #{$breakpoint-md}) {
@@ -70,7 +71,7 @@
img {
width: auto;
- height: 4.7rem;
+ height: 4.4rem;
padding: .2rem .4rem;
align-self: center;
}
@@ -88,7 +89,7 @@
left: 50%;
transform: translateX(-50%);
padding: 1rem;
- margin: .6rem;
+ margin: .9rem;
pointer-events: none;
background-color: var(--bg-neutral);
border-radius: var(--border-radius-s);
@@ -102,6 +103,7 @@
.o-header__item {
list-style: none;
+ height: 6rem;
//normales Menü
ul {
@@ -134,6 +136,10 @@
}
}
+.o-header__expand-button {
+ margin: 0.9rem;
+}
+
.o-header__expand-button > .material-symbols-rounded,
.o-nav__menu-button > .material-symbols-rounded,
.o-nav__close-button > .material-symbols-rounded {
@@ -216,6 +222,10 @@
margin-bottom: 5rem;
}
+ .o-header__item {
+ height: fit-content;
+ }
+
h2 {
padding-right: 1rem;
text-align: right;
diff --git a/assets/sass/print.scss b/assets/sass/print.scss
index 6148e450..22a6b693 100644
--- a/assets/sass/print.scss
+++ b/assets/sass/print.scss
@@ -14,14 +14,14 @@
margin-bottom: 1rem;
}
- main > .container.o-single,
- main > .container.o-list {
+ main > .o-container.o-single,
+ main > .o-container.o-list {
margin-top: 0;
}
.o-single__container,
- .container,
- main > .container {
+ .o-container,
+ main > .o-container {
padding: 0;
}
@@ -32,7 +32,6 @@
.o-list__picture,
.o-header__wrapper,
.o-footer__links,
- .footnote-backref,
summary::before,
#search {
display: none;
@@ -40,7 +39,7 @@
details[open]::details-content { display: contents; }
- a:not(.footnote-ref):not(.updateDate)::after {
+ a:not(.footnote-ref):not(.o-last-updated)::after {
content: " (" attr(href) ") ";
}
}
diff --git a/assets/sass/sidemenu.scss b/assets/sass/sidemenu.scss
index 8e640201..69327e4a 100644
--- a/assets/sass/sidemenu.scss
+++ b/assets/sass/sidemenu.scss
@@ -29,12 +29,16 @@
display: block;
}
}
-}
-.tableOfContents ul {
- list-style-type: none;
- list-style-position: outside;
- padding-left: 0;
+ ul, ol {
+ list-style-type: none;
+ list-style-position: outside;
+ padding-left: 0;
+
+ ul, ol {
+ margin-bottom: 0;
+ }
+ }
}
.o-aside a {
@@ -50,27 +54,25 @@
gap: .4rem;
}
-.toc li {
- list-style-type: none;
-}
-
-.toc ol {
- padding: 0 0 0 1em;
-}
+.o-aside__toc {
+ li {
+ list-style-type: none;
+ }
-.toc > ol {
- padding-left: 0;
-}
+ ol {
+ padding: 0 0 0 1em;
+ }
-.toc-title {
- font-weight: bold;
+ > ol {
+ padding-left: 0;
+ }
}
-.toc-link {
+.o-aside__toc-link {
display: flex;
}
-.toc a[data-current] {
+.o-aside__toc a[data-current] {
font-weight: bold;
&:before {
diff --git a/assets/sass/startpage.scss b/assets/sass/startpage.scss
new file mode 100644
index 00000000..933c04e7
--- /dev/null
+++ b/assets/sass/startpage.scss
@@ -0,0 +1,69 @@
+.o-startpage h2:not(#welcome-to-the-fip-guide) {
+ margin-top: 2rem;
+}
+
+.o-startpage__intro {
+ text-wrap: balance;
+ margin-bottom: 2rem;
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ gap: 2rem;
+
+ @media (max-width: #{$breakpoint-md}) {
+ display: flex;
+ flex-direction: column;
+ }
+
+ h2 {
+ font-family: Sansita,Arial,Helvetica,sans-serif;
+ font-weight: 800;
+ font-size: 6.2rem;
+ line-height: 1.1;
+ }
+
+ > div {
+ align-content: center;
+ }
+
+ @media (max-width: #{$breakpoint-md}) {
+ h2 {
+ font-size: 4.8rem;
+ }
+ }
+}
+
+.o-startpage__image {
+ @media (max-width: #{$breakpoint-md}) {
+ display: none;
+ }
+}
+
+.o-startpage__shortcut-wrapper {
+ display: grid;
+ grid-template-columns: 1fr 1fr 1fr 3fr;
+ gap: 2rem;
+ margin-bottom: 2rem;
+
+ @media (max-width: #{$breakpoint-md}) {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 1rem;
+ }
+}
+
+.o-startpage__news-wrapper {
+ display: grid;
+ grid-template-columns: 1fr 1fr 1fr;
+ gap: 2rem;
+ margin-bottom: 2rem;
+
+ @media (max-width: #{$breakpoint-md}) {
+ display: flex;
+ flex-wrap: wrap;
+ }
+}
+
+.o-startpage__search {
+ margin-bottom: 2rem;
+ width: 100%;
+}
diff --git a/assets/sass/styles.scss b/assets/sass/styles.scss
index 4a4b2b0e..ef9e6f59 100644
--- a/assets/sass/styles.scss
+++ b/assets/sass/styles.scss
@@ -2,12 +2,29 @@ html {
font-size: 62.5%;
color: var(--color-onLight);
scroll-padding-top: 8rem;
+ scroll-behavior: smooth;
}
body {
+ color: var(--color-body);
background-color: var(--bg-neutral);
font-size: 1.8rem;
overflow-x: hidden;
+ margin: 0;
+ line-height: 1.5;
+}
+
+p, ul, ol {
+ margin-top: 0;
+ margin-bottom: 1rem;
+}
+
+ul, ol {
+ padding-left: 2rem;
+}
+
+button {
+ font-size: 1.8rem;
}
a {
@@ -34,13 +51,41 @@ main {
margin-top: 2rem;
}
-.container.o-list:not(.o-list--news) {
+.o-container {
+ max-width: 1320px;
+
+ @media (max-width: #{$breakpoint-xxl}) {
+ max-width: 1140px;
+ }
+
+ @media (max-width: #{$breakpoint-xl}) {
+ max-width: 960px;
+ }
+
+ @media (max-width: #{$breakpoint-lg}) {
+ max-width: 720px;
+ }
+
+ @media (max-width: #{$breakpoint-md}) {
+ max-width: 540px;
+ }
+
+ @media (max-width: #{$breakpoint-sm}) {
+ max-width: calc(100vw - 3.2rem);
+ }
+
+ width: 100%;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+.o-card{
background-color: var(--bg-default);
border-radius: var(--border-radius-l);
padding: 2rem;
}
-main > .container:is(.o-single--with-sidemenu) {
+main > .o-container:is(.o-single--with-sidemenu) {
background-color: unset;
padding: 0;
@@ -62,6 +107,7 @@ img {
.o-list__picture {
margin-right: 1.2rem;
+ display: flex;
}
.o-related__operator-wrapper > .o-related__list {
@@ -84,16 +130,15 @@ img {
margin-left: 2.4rem;
}
+.o-list__list {
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
+ gap: 1rem;
+}
+
.o-list__link {
display: flex;
align-items: center;
- margin-bottom: 1rem;
-}
-
-.container {
- @media (max-width: #{$breakpoint-sm}) {
- max-width: calc(100% - 3.2rem);
- }
}
@mixin add-columns($columns) {
@@ -106,13 +151,14 @@ img {
}
}
-.o-section{
+.o-section {
@include add-columns(1);
@include add-columns(2);
@include add-columns(3);
}
-.o-single {
+.o-single,
+.o-list {
padding: 2rem;
background-color: var(--bg-default);
border-radius: var(--border-radius-l);
@@ -183,6 +229,7 @@ img {
.pagefind-highlight {
padding: 0;
+ background-color: var(--bg-accent);
}
.sr-only {
@@ -195,33 +242,17 @@ img {
width: auto;
}
-.o-startpage .row {
- margin-bottom: 2.4rem;
+button:not(:disabled) {
+ cursor:pointer
}
-.o-startpage__intro {
- text-wrap: balance;
-
- h2 {
- font-family: Sansita,Arial,Helvetica,sans-serif;
- font-weight: 800;
- font-size: 6.2rem;
- line-height: 1.1;
- }
-
- > div {
- align-content: center;
- }
-
- @media (max-width: #{$breakpoint-md}) {
- h2 {
- font-size: 4.8rem;
- }
- }
+hr {
+ opacity: 0.25;
+ border: 0;
+ border-top: 1px solid;
+ margin: 1rem 0;
}
-.o-startpage__image {
- @media (max-width: #{$breakpoint-md}) {
- display: none;
- }
+details > summary {
+ cursor: pointer;
}
diff --git a/assets/sass/teaser.scss b/assets/sass/teaser.scss
index d4589b35..cffbf382 100644
--- a/assets/sass/teaser.scss
+++ b/assets/sass/teaser.scss
@@ -11,12 +11,6 @@
display: flex;
flex-direction: column;
- &:nth-child(-n+3) {
- @media (max-width: #{$breakpoint-lg}) {
- margin-bottom: 2rem;
- }
- }
-
&:hover,
&:focus {
background: rgba($link-hovered, 0.15);
@@ -53,9 +47,11 @@
}
.m-teaser--shortcut-tile {
+ flex-basis: calc( 50% - 0.5rem );
+
.m-teaser__wrapper {
width: 100%;
- height: 12rem;
+ height: 10rem;
padding: 1.4rem;
justify-content: space-between;
}
diff --git a/content/contact/index.de.html b/content/contact/index.de.html
index 63783dd5..f2185119 100644
--- a/content/contact/index.de.html
+++ b/content/contact/index.de.html
@@ -3,30 +3,25 @@
description: "Kontaktiere das Team hinter dem FIP Guide – wir sind für Fragen und Anmerkungen erreichbar und freuen uns auf deinen Inhaltsbeitrag."
---
-
Oder schreibe uns eine Mail: nextstop@fipguide.org
diff --git a/content/contact/index.en.html b/content/contact/index.en.html
index 27f3ffe0..2df16a82 100644
--- a/content/contact/index.en.html
+++ b/content/contact/index.en.html
@@ -3,30 +3,25 @@
description: "Contact the team behind the FIP Guide - we are here for questions and comments and look forward to your content contribution."
---
-
Or write us an email: nextstop@fipguide.org
diff --git a/hugo.yaml b/hugo.yaml
index 3b7eb1ea..bf0bcdd1 100644
--- a/hugo.yaml
+++ b/hugo.yaml
@@ -18,8 +18,6 @@ languages:
module:
mounts:
- - source: "node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"
- target: "assets/js/bootstrap.bundle.min.js"
- source: "assets"
target: "assets"
- source: "static"
diff --git a/layouts/404.html b/layouts/404.html
index 3ab3ed85..ac6e0568 100644
--- a/layouts/404.html
+++ b/layouts/404.html
@@ -1,5 +1,5 @@
{{ define "main" }}
-
+
diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html
index 968ca557..d1a62b83 100644
--- a/layouts/_default/baseof.html
+++ b/layouts/_default/baseof.html
@@ -8,7 +8,7 @@
- {{ block "main" . }}{{ end }}
+ {{ block "main" . }}{{ end }}
{{ if and (eq .Kind "page") (or (eq .Page.Type "country") (eq .Page.Type "operator")) }}
{{ partial "snackbar" . }}
diff --git a/layouts/_default/home.html b/layouts/_default/home.html
index b3855da8..c2d7d3e5 100644
--- a/layouts/_default/home.html
+++ b/layouts/_default/home.html
@@ -1,41 +1,39 @@
{{ define "main" }}
-{{ T "home-page-text" }}
-
-
-
- {{ .Content }}
+
+
{{ T "home-page-text" }}
+
+
+
+ {{ .Content }}
+
+
+ {{ $image := resources.Get "images/startpage.webp" }}
+ {{ partial "image" (dict "image" $image "eager" true) }}
+
-
- {{ $image := resources.Get "images/startpage.webp" }}
- {{ partial "image" (dict "image" $image "eager" true) }}
-
-
-
-
+
+
{{ partial "search-slot" }}
-
-
- {{ partial "shortcut-tile" (.Site.GetPage "generalinformation") }}
- {{ partial "shortcut-tile" (.Site.GetPage "country") }}
- {{ partial "shortcut-tile" (.Site.GetPage "operator") }}
-
-
-
-
-
-
{{ T "support.title" }}
-
{{ T "support.text" | safeHTML }}
+
+
+ {{ partial "shortcut-tile" (.Site.GetPage "generalinformation") }}
+ {{ partial "shortcut-tile" (.Site.GetPage "country") }}
+ {{ partial "shortcut-tile" (.Site.GetPage "operator") }}
-
-
-
-
-
{{ T "news-headline"}}
- {{ range first 3 (where site.RegularPages "Section" "news") }}
- {{ partial "teaser.html" (dict "listview" false "type" "news" "page" .) }}
- {{ end }}
+
+
+ {{ T "support.title" }}
+ {{ T "support.text" | safeHTML }}
+
+
+ {{ T "news-headline"}}
+
+ {{ range first 3 (where site.RegularPages "Section" "news") }}
+ {{ partial "teaser.html" (dict "listview" false "type" "news" "page" .) }}
+ {{ end }}
-
-
+
+
+
{{ end }}
diff --git a/layouts/_default/list.html b/layouts/_default/list.html
index b74dd68a..6525757d 100644
--- a/layouts/_default/list.html
+++ b/layouts/_default/list.html
@@ -1,6 +1,6 @@
{{ define "main" }}
-
-
+
+
{{ .Title }}
{{ .Content }} {{ range .Pages }}
{{ partial "teaser.html" (dict "listview" "true" "page" .) }}
diff --git a/layouts/_default/single.html b/layouts/_default/single.html
index 8aef10d6..99d3b062 100644
--- a/layouts/_default/single.html
+++ b/layouts/_default/single.html
@@ -1,5 +1,5 @@
{{ define "main" }}
-
+
diff --git a/layouts/booking/list.html b/layouts/booking/list.html
index ff36da57..15cc1594 100644
--- a/layouts/booking/list.html
+++ b/layouts/booking/list.html
@@ -1,18 +1,20 @@
{{ define "main" }}
-
-
-
{{ T "booking.title" }}
+
+
{{ end }}
diff --git a/layouts/booking/single.html b/layouts/booking/single.html
index b0c83c90..b26c6183 100644
--- a/layouts/booking/single.html
+++ b/layouts/booking/single.html
@@ -1,5 +1,5 @@
{{ define "main" }}
-
+
diff --git a/layouts/country/list.html b/layouts/country/list.html
index 24c4f17d..fae0050b 100644
--- a/layouts/country/list.html
+++ b/layouts/country/list.html
@@ -1,10 +1,10 @@
{{ define "main" }}
-
-
-
{{ .Title }}
- {{ .Content }}
+
+ {{ .Title }}
+ {{ .Content }}
+
+
{{ end }}
diff --git a/layouts/country/single.html b/layouts/country/single.html
index 8a8d3ebf..ce441f9a 100644
--- a/layouts/country/single.html
+++ b/layouts/country/single.html
@@ -1,7 +1,7 @@
{{ define "main" }}
{{ $related := .Site.RegularPages.RelatedIndices . "country" }}
-