@leuffen/themejs1 4.0.3 → 5.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/_tpl/pages/kontakt-anfahrt-maps-top.de.md +61 -0
  2. package/_tpl/pages/kontakt-anfahrt.de.md +1 -1
  3. package/_tpl/pages/termin-redirect.de.md +21 -0
  4. package/_variables.scss +13 -0
  5. package/elements/elements.scss +0 -1
  6. package/elements/elements.ts +0 -1
  7. package/index.scss +2 -0
  8. package/late.scss +1 -0
  9. package/package.json +4 -4
  10. package/sections/_defaults.scss +9 -3
  11. package/sections/cta-base/cta-base.ts +2 -2
  12. package/sections/cta-form/cta-form.ts +11 -9
  13. package/sections/footer-base/footer-base.scss +36 -3
  14. package/sections/footer-base/footer-base.ts +3 -3
  15. package/sections/hero-max/hero-max.scss +4 -2
  16. package/sections/hero-max/hero-max.ts +3 -2
  17. package/sections/hero-title-small/hero-title-small.scss +19 -7
  18. package/sections/hero-title-small/hero-title-small.ts +1 -1
  19. package/sections/image-gallery1/image-gallery1.scss +87 -0
  20. package/sections/image-gallery1/image-gallery1.ts +22 -0
  21. package/sections/sec-card-2col/sec-card-2col.scss +11 -7
  22. package/sections/sec-card-2col/sec-card-2col.ts +5 -3
  23. package/sections/sec-legal-content/sec-legal-content.scss +2 -1
  24. package/sections/sec-legal-content/sec-legal-content.ts +3 -2
  25. package/sections/sec-multi-card/sec-multi-card.scss +50 -5
  26. package/sections/sec-multi-card/sec-multi-card.ts +17 -3
  27. package/sections/sections.scss +1 -0
  28. package/sections/sections.ts +1 -0
  29. package/themes/_vendor/font-garamond.scss +30 -0
  30. package/themes/theme1/index.scss +29 -10
  31. package/elements/e-card-default/e-card-default.scss +0 -33
  32. package/elements/e-card-default/e-card-default.ts +0 -16
@@ -0,0 +1,61 @@
1
+ ---
2
+ description: "\U0001F4CD Finden Sie uns in Freudenstadt-Wittlensweiler! \U0001F697\U0001F6B2\U0001F68C
3
+ Leichte Anfahrt mit Auto, Fahrrad oder Bus. Barrierefreier Zugang. \U0001F4E7 Kontaktieren
4
+ Sie uns jetzt!"
5
+ icon: bi bi-phone
6
+ header: '<map class="top" style="--joda-use: map()"></map>'
7
+ lang: de
8
+ layout: article
9
+ order: 99
10
+ permalink: /kontakt
11
+ pid: pages/kontakt-anfahrt
12
+ ptags:
13
+ - nav
14
+ published: true
15
+ skipHead: false
16
+ title: Kontakt & Anfahrt
17
+ type: article
18
+ _schiller_instructions: ""
19
+ ---
20
+ ## Ihre Hausarztpraxis in Freudenstadt-Wittlensweiler
21
+ {: layout="use: #sec-card-2col; mobile_reverse: no"}
22
+
23
+
24
+ {% include el/address.html %}
25
+
26
+
27
+ ---
28
+ {: layout="use: accordion()" .aside}
29
+
30
+ ### [i class="bi bi-bus-front-fill text-primary"] Anfahrt mit dem Bus
31
+
32
+ Die Bushaltestelle "Freudenstadt-Wittlensweiler, Kirche" befindet ca. 150 Meter von der Praxis entfernt.
33
+
34
+ Sie erreichen uns über die lokalen Verkehrslinien.
35
+
36
+ Zugang barrierefrei im Erdgeschoss.
37
+
38
+
39
+ ### [i class="bi bi-car-front-fill text-primary"] Anfahrt mit dem Auto
40
+
41
+ Parkplätze sind in der Nähe der Praxis vorhanden.
42
+
43
+ Zugang barrierefrei im Erdgeschoss.
44
+
45
+
46
+
47
+ ## Schreiben Sie uns. Wir melden uns umgehend bei Ihnen.
48
+ {: layout="use: #cta-form"}
49
+
50
+
51
+ ---
52
+
53
+ [input type="text" name="Name" required .mb-3]
54
+ [input type="email" name="E-Mail" .mb-3]
55
+ [input type="tel" name="Telefon" .mb-3]
56
+
57
+ ---
58
+
59
+ [textarea name="Ihre Nachricht" required .mb-3 style="height: 120px;"]
60
+ [input type="checkbox" name="Datenschutz" label="Ich akzeptiere die Datenschutzbestimmungen" required .mb-3]
61
+ [input type="submit" name="Absenden" value="Absenden" class="btn btn-primary" .my-3]
@@ -54,5 +54,5 @@ Anfahrtsbeschreibung mit dem Auto
54
54
  ---
55
55
 
56
56
  [textarea name="Ihre Nachricht" required .mb-3 style="height: 120px;"]
57
- [input type="checkbox" name="Ihre Nachricht" label="Ich akzeptiere die Datenschutzbestimmungen" required .mb-3]
57
+ [input type="checkbox" name="Datenschutz" label="Ich akzeptiere die Datenschutzbestimmungen" required .mb-3]
58
58
  [input type="submit" name="Absenden" value="Absenden" class="btn btn-primary" .my-3]
@@ -0,0 +1,21 @@
1
+ ---
2
+ description: ""
3
+ icon: bi bi-phone
4
+ lang: de
5
+ layout: article
6
+ order: 80
7
+ permalink: /termin
8
+ pid: pages/termin
9
+ ptags:
10
+ - nav
11
+ published: true
12
+ short_title: Termin vereinbaren
13
+ skipHead: false
14
+ title: Termin vereinbaren
15
+ type: article
16
+ ---
17
+
18
+ <script>
19
+ window.location.href = "{{site.data.general.termin_url}}";
20
+ </script>
21
+
package/_variables.scss CHANGED
@@ -13,6 +13,7 @@ $danger: #bf1c0a !default;
13
13
  $warning: #bf760a !default;
14
14
  $dark: #006837 !default;
15
15
 
16
+ $background: rgba(217, 217, 217, 0.24) !default;
16
17
  $background-primary: #b7eaf9 !default;
17
18
  $background-accent: #ddd !default;
18
19
 
@@ -26,8 +27,20 @@ $paragraph-margin-bottom: 1.5rem !default;
26
27
  $minibar-text-color: black !default;
27
28
  $minibar-color: transparent !default;
28
29
 
30
+ $section-border-radius: 0 !default;
29
31
  $border-radius: 0 !default;
30
32
 
33
+ $section-border-color: #ddd !default;
31
34
 
35
+ $text-color: #707070 !default;
32
36
 
37
+ $text-footer: $text-color !default;
38
+ $background-footer: $background !default;
39
+
40
+
41
+ $background-dark: #000 !default;
42
+ $text-dark: #fff !default;
43
+ $border-color: #999 !default;
44
+
45
+ $header-text-transform: uppercase !default;
33
46
 
@@ -1,3 +1,2 @@
1
1
  @import "liweco";
2
- @import "e-card-default/e-card-default";
3
2
  @import "e-form/e-form";
@@ -1,2 +1 @@
1
- export * from "./e-card-default/e-card-default";
2
1
  export * from "./e-form/e-form";
package/index.scss CHANGED
@@ -1,3 +1,5 @@
1
+ @import "bootstrap";
2
+
1
3
  @import "sections/defaults";
2
4
  @import "sections/sections";
3
5
  @import "elements/elements";
package/late.scss CHANGED
@@ -1,3 +1,4 @@
1
1
  /* Very imporant for Pagespeed: Load fonts last */
2
2
  @import "themes/_vendor/font-bootstrap-icons";
3
3
  @import "themes/_vendor/font-ubuntu";
4
+ @import "themes/_vendor/font-garamond";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leuffen/themejs1",
3
- "version": "4.0.3",
3
+ "version": "5.0.3",
4
4
 
5
5
  "description": "",
6
6
  "license": "proprietary",
@@ -27,10 +27,10 @@
27
27
  ],
28
28
  "author": "",
29
29
  "dependencies": {
30
- "@leuffen/jodastyle": "^1.0.8",
30
+ "@leuffen/jodastyle": "^3.0.2",
31
31
  "@kasimirjs/embed": "^1.0.8",
32
- "@leuffen/isl-base": "^1.0.5",
33
- "@leuffen/liscom": "^1.0.2",
32
+ "@leuffen/isl-base": "^2.0.2",
33
+ "@leuffen/liscom": "^2.0.1",
34
34
  "@leuffen/liweco-base": "^2.0.2",
35
35
  "bootstrap": "^5.3.0"
36
36
  },
@@ -1,15 +1,21 @@
1
1
  :root {
2
- --t-background: #f5f5f5;
3
- --t-background-footer: #fff;
2
+ --t-background: #{$background};
3
+ --t-background-footer: #{$background-footer};
4
4
  --t-section-background: transparent;
5
- --t-section-background-accent: #e7e7eb;
5
+ --t-section-background-accent: #{$background-accent};
6
6
  --t-section-background-primary: #D6EED9;
7
+
8
+ --t-section-border-color: #{$section-border-color};
9
+ --t-section-border-radius: #{$section-border-radius};
10
+
7
11
  --t-text-background: #fff;
8
12
  --t-text-color: #707070;
9
13
  --t-text-background-light: var(--t-background);
10
14
  --t-text-color-accent: var(--bs-gray-900);
11
15
  --t-text-color-primary: var(--bs-primary);
16
+ --t-header-text-transform: var(--header-text-transform);
12
17
 
18
+ --t-border-color: #{$border-color};
13
19
  --t-navbar-height: 88px;
14
20
 
15
21
  /* What to substract from 100vh to start the next elemment after fullsize header */
@@ -4,9 +4,9 @@ Joda.registerTemplate("cta-base",
4
4
  // language=HTML
5
5
  `
6
6
 
7
- <div class="tjs__cta-base">
7
+ <section class="tjs__cta-base">
8
8
  <div class="[[layout.container]]">
9
9
  <slot></slot>
10
10
  </div>
11
- </div>
11
+ </section>
12
12
  `);
@@ -3,18 +3,20 @@ import {Joda} from "@leuffen/jodastyle";
3
3
  Joda.registerTemplate("cta-form",
4
4
  // language=HTML
5
5
  `
6
- <form class="tjs__cta-form" data-micx-formmail-preset="default" data-micx-formmail-sent-message="E-Mail erfolgreich gesendet!">
7
- <div class="container">
8
- <slot data-select=":scope h2"></slot>
9
- </div>
10
- <div class="wrapper">
6
+ <section class="tjs__cta-form">
7
+ <form data-micx-formmail-preset="default" data-micx-formmail-sent-message="E-Mail erfolgreich gesendet!">
11
8
  <div class="container">
12
- <div class="row g-3">
13
- <slot data-select=".section-hr" data-replace=""></slot>
9
+ <slot data-select=":scope h2"></slot>
10
+ </div>
11
+ <div class="wrapper">
12
+ <div class="container">
13
+ <div class="row g-3">
14
+ <slot data-select=".section-hr" data-replace=""></slot>
14
15
 
16
+ </div>
15
17
  </div>
16
18
  </div>
17
- </div>
18
19
 
19
- </form>
20
+ </form>
21
+ </section>
20
22
  `);
@@ -1,5 +1,18 @@
1
1
  .tjs__footer-base {
2
+
3
+
4
+
5
+ &.dark {
6
+ background-color: var(--t-background-dark);
7
+ color: var(--t-text-dark);
8
+
9
+ a {
10
+ color: var(--t-text-dark);
11
+ }
12
+ }
13
+
2
14
  background-color: var(--t-background-footer);
15
+ color: var(--t-text-footer);
3
16
  width: 100%;
4
17
  min-height: 100px;
5
18
  overflow: hidden;
@@ -9,6 +22,7 @@
9
22
  border-top: 4px solid var(--t-section-background-accent);
10
23
  border-bottom: 4px solid var(--t-section-background-accent);
11
24
 
25
+
12
26
  .row {
13
27
  margin: 0;
14
28
 
@@ -17,20 +31,35 @@
17
31
  }
18
32
  }
19
33
 
34
+ a {
35
+ opacity: 0.8;
36
+ transition: opacity 0.2s ease-in-out;
37
+ &:hover {
38
+ opacity: 1;
39
+ }
40
+ }
41
+
20
42
  .subfooter {
21
- background: var(--t-background);
22
43
  width: 100%;
23
44
  padding: 20px;
24
45
  overflow: hidden;
25
46
  border-top: 1px solid var(--t-section-background);
26
47
  text-align: center;
48
+
49
+ img {
50
+ filter: grayscale(100%);
51
+ &:hover {
52
+ filter: grayscale(0%);
53
+ }
54
+ }
55
+
27
56
  }
28
57
  h3 {
29
58
  margin-top: 20px;
30
59
  margin-bottom: 5px;
31
60
  font-size: 1em;
32
61
  text-transform: uppercase;
33
- color: var(--bs-gray);
62
+ color: var(--t-header-color);
34
63
  font-weight: bold;
35
64
  }
36
65
  .container-fluid .content {
@@ -50,8 +79,12 @@
50
79
  }
51
80
  }
52
81
  .content {
53
- --joda-class: ":: border-bottom :xl: border-end";
82
+ border-right: 1px solid var(--t-section-border-color);
83
+ &:last-of-type {
84
+ border-right: none;
85
+ }
54
86
  }
87
+
55
88
  .content:last-of-type {
56
89
  --joda-class: unset;
57
90
  }
@@ -4,14 +4,14 @@ Joda.registerTemplate("footer-base",
4
4
  // language=HTML
5
5
  `
6
6
 
7
- <div class="tjs__footer-base [[layout.class]]">
7
+ <footer class="tjs__footer-base [[layout.class]]">
8
8
  <div class="[[layout.container]] h-100">
9
9
  <div class="row">
10
- <slot data-select=".section-h3 > .content" data-class=":: col-12 :xl: col"></slot>
10
+ <slot data-select=".section-h3 > .content" data-child-class=":: col-12 :xl: col"></slot>
11
11
  </div>
12
12
  </div>
13
13
  <div class="subfooter">
14
14
  <slot data-select="#minifooter"></slot>
15
15
  </div>
16
- </div>
16
+ </footer>
17
17
  `);
@@ -85,8 +85,10 @@
85
85
  }
86
86
 
87
87
 
88
-
89
-
88
+ h1.glow {
89
+ color: white;
90
+ text-shadow: 0 0 10px var(--t-text-color), 0 0 20px var(--t-text-color), 0 0 30px var(--t-text-color), 0 0 40px var(--t-text-color), 0 0 50px var(--t-text-color), 0 0 60px var(--t-text-color), 0 0 70px var(--t-text-color);
91
+ }
90
92
 
91
93
 
92
94
 
@@ -5,7 +5,7 @@ Joda.registerTemplate("hero-max",
5
5
  // language=HTML
6
6
  `
7
7
 
8
- <div class="tjs__hero-max [[layout.class]] [[layout.autoheight === false ? '' : 'tjs__hero-max--autoheight' ]]">
8
+ <section class="tjs__hero-max [[layout.class]] [[layout.autoheight === false ? '' : 'tjs__hero-max--autoheight' ]] :: mobile :lg: desktop">
9
9
  <slot data-select="img.background, :scope>.content>p.background>img" class="slideshow"></slot>
10
10
  <div class="tjs__hero-max--out-wrapper ">
11
11
  <div class="tjs__hero-max--container [[layout.container]]">
@@ -17,5 +17,6 @@ Joda.registerTemplate("hero-max",
17
17
  </div>
18
18
  </div>
19
19
  </div>
20
- </div>
20
+ </section>
21
+
21
22
  `);
@@ -12,16 +12,28 @@
12
12
  max-height: 60vh;
13
13
  min-height: 250px;
14
14
  width: 100%;
15
- padding-bottom: 40px
16
- }
15
+ padding-bottom: 40px;
17
16
 
18
- .imagewrapper > img {
19
- object-fit: cover;
20
- object-position: center center;
21
- width: 100%;
22
- height: 100%;
17
+ &:has(slot:empty) {
18
+ visibility: hidden;
19
+ min-height: 0;
20
+ height: 0;
21
+ }
22
+
23
+ & > slot {
24
+ width: 100%;
25
+ height: 100%;
26
+
27
+ & > img, & > div {
28
+ object-fit: cover;
29
+ object-position: center center;
30
+ width: 100%;
31
+ height: 100%
32
+ }
33
+ }
23
34
  }
24
35
 
36
+
25
37
  h1 {
26
38
  padding: 20px;
27
39
  }
@@ -7,7 +7,7 @@ Joda.registerTemplate("hero-title-small",
7
7
 
8
8
  <div class="tjs__hero-title-small">
9
9
  <div class="imagewrapper">
10
- <slot data-select="img" data-replace="true"></slot>
10
+ <slot data-select="img, .top"></slot>
11
11
  </div>
12
12
 
13
13
  <slot></slot>
@@ -0,0 +1,87 @@
1
+
2
+
3
+ .tjs-image-gallery1 {
4
+ padding: var(--t-section-padding);
5
+ background: var(--t-section-background);
6
+
7
+ &__header {
8
+ text-align: center;
9
+ padding-bottom: 40px;
10
+ &:empty {
11
+ display: none;
12
+ }
13
+ }
14
+
15
+ &__images {
16
+ display: flex;
17
+ flex-wrap: wrap;
18
+ width: 100%;
19
+ ul {
20
+ margin: 0;
21
+
22
+ &> li {
23
+ list-style: none;
24
+ margin: 0;
25
+ }
26
+ }
27
+
28
+
29
+ }
30
+
31
+ &__images-image {
32
+
33
+
34
+ flex-grow: 3;
35
+ transform: scale(100%);
36
+ transition: transform 0.2s ease-in-out;
37
+ min-width: 300px;
38
+ padding: 5px;
39
+ display: inline-block;
40
+ img {
41
+ &:hover {
42
+
43
+
44
+ }
45
+ border-radius: var(--t-section-border-radius);
46
+ width: 100%;
47
+ height: 100%;
48
+ object-fit: cover;
49
+ object-position: center center;
50
+ }
51
+ }
52
+
53
+ &.mobile &__images-image {
54
+ width: 100%;
55
+ height: auto;
56
+ aspect-ratio: 16/9;
57
+ }
58
+
59
+ &__images-image:last-child {
60
+ width: 50%;
61
+ height: auto;
62
+ aspect-ratio: 16/9;
63
+ flex-grow: 3;
64
+ }
65
+
66
+ &__images-image:nth-child(1n) {
67
+ width: 75%;
68
+ height: auto;
69
+ aspect-ratio: 16/9;
70
+ }
71
+ &__images-image:nth-child(2n) {
72
+ width: 25%;
73
+ aspect-ratio: 2/1;
74
+ }
75
+ &__images-image:nth-child(3n) {
76
+ width: 25%;
77
+ aspect-ratio: 5/4;
78
+ }
79
+ &__images-image:nth-child(4n) {
80
+ width: 25%;
81
+ aspect-ratio: 2/1;
82
+ }
83
+ &__images-image:nth-child(5n) {
84
+ width: 50%;
85
+ aspect-ratio: 2/1;
86
+ }
87
+ }
@@ -0,0 +1,22 @@
1
+ import {Joda} from "@leuffen/jodastyle";
2
+
3
+
4
+ Joda.registerTemplate("image-gallery1__images-image",
5
+ // language=HTML
6
+ `
7
+
8
+ <slot class="tjs-image-gallery1__images-image" data-select="img"></slot>
9
+
10
+ `);
11
+
12
+
13
+ Joda.registerTemplate("image-gallery1",
14
+ // language=HTML
15
+ `
16
+
17
+ <section class="tjs-image-gallery1 container :: mobile :lg: desktop">
18
+ <slot class="tjs-image-gallery1__header"></slot>
19
+ <slot class="tjs-image-gallery1__images" data-select="ul > li" data-child-layout="use: #image-gallery1__images-image"></slot>
20
+ </section>
21
+
22
+ `);
@@ -23,16 +23,18 @@
23
23
  --joda-class: p-4 p-lg-5 ;
24
24
  }
25
25
 
26
+
27
+
26
28
  .row > .tjs__sec-card-2col--col-start {
27
- --joda-class: "col-12 col-md-6 p-4 p-lg-5 order-2 order-md-1";
29
+ --joda-class: "col-12 col-lg-6 p-4 p-lg-5 order-2 order-lg-1";
28
30
  }
29
31
 
30
32
 
31
33
  .row > .tjs__sec-card-2col--col-end {
32
34
 
33
- --joda-class: "col-12 col-md-6 order-1 order-md-2";
34
- &:has(> .aside) {
35
- --joda-class: "col-12 col-md-6 order-2 order-md-1";
35
+ --joda-class: "col-12 col-lg-6 order-1 order-lg-2";
36
+ &:has(> slot > .aside) {
37
+ --joda-class: "col-12 col-lg-6 order-3 order-lg-1";
36
38
  }
37
39
  slot {
38
40
  display: block;
@@ -49,14 +51,16 @@
49
51
 
50
52
 
51
53
  .tjs__sec-card-2col--container {
52
- border: 1px solid var(--bs-gray-500);
54
+ border: 1px solid var(--t-section-border-color);
55
+ border-radius: var(--t-section-border-radius);
56
+ overflow: hidden;
53
57
  background-color: white;
54
58
  padding: 0;
55
59
  }
56
60
 
57
61
  }
58
62
 
59
- .section-h2:nth-of-type(odd) .tjs__sec-card-2col .row {
63
+ .tjs__sec-card-2col:nth-of-type(odd) .row {
60
64
  flex-direction: row-reverse;
61
- --joda-class: "flex-row-reverse";
65
+ //--joda-class: "flex-row-reverse";
62
66
  }
@@ -1,13 +1,15 @@
1
1
  import {Joda} from "@leuffen/jodastyle";
2
2
 
3
3
 
4
+
5
+
4
6
  Joda.registerTemplate("sec-card-2col",
5
7
  // language=HTML
6
8
  `
7
9
 
8
- <div class="tjs__sec-card-2col">
10
+ <section class="tjs__sec-card-2col">
9
11
  <div class="tjs__sec-card-2col--container [[layout.container]]">
10
- <div class="row [[layout.order === 'reverse' ? 'flex-row-reverse': '']]">
12
+ <div class="row [[layout.order === 'reverse' ? 'flex-row-reverse': '']] [[layout.mobile_reverse === 'yes' ? ':: flex-row-reverse :lg:': '']]">
11
13
  <div class="tjs__sec-card-2col--col-start tjs__section-text">
12
14
  <slot></slot>
13
15
  </div>
@@ -16,5 +18,5 @@ Joda.registerTemplate("sec-card-2col",
16
18
  </div>
17
19
  </div>
18
20
  </div>
19
- </div>
21
+ </section>
20
22
  `);
@@ -6,7 +6,8 @@
6
6
 
7
7
  .inner-wrapper {
8
8
 
9
- border: 1px solid var(--bs-gray-500);
9
+ border: 1px solid var(--t-section-border-color);
10
+ border-radius: var(--t-section-border-radius);
10
11
  background-color: white;
11
12
  padding: var(--t-section-inner-padding);
12
13
 
@@ -5,7 +5,7 @@ Joda.registerTemplate("sec-legal-content",
5
5
  // language=HTML
6
6
  `
7
7
 
8
- <div class="tjs__sec-legal-content :: mobile :lg:">
8
+ <section class="tjs__sec-legal-content :: mobile :lg:">
9
9
  <div class="out-wrapper">
10
10
  <div class="container p-0">
11
11
  <div class="inner-wrapper :: p-4 :lg: p-5">
@@ -15,6 +15,7 @@ Joda.registerTemplate("sec-legal-content",
15
15
  </div>
16
16
  </div>
17
17
  </div>
18
+
18
19
  </div>
19
- </div>
20
+ </section>
20
21
  `);
@@ -1,6 +1,7 @@
1
1
 
2
2
  .tjs__sec-multi-card {
3
3
 
4
+
4
5
  padding: var(--t-section-padding);
5
6
 
6
7
  background: var(--t-section-background);
@@ -10,13 +11,57 @@
10
11
  text-align: center;
11
12
  padding-bottom: 40px;
12
13
  }
13
- .card {
14
14
 
15
- }
16
15
 
17
16
 
18
- .row .section-h3 {
19
- --joda-class: col;
20
- --joda-use: #e-card-default;
17
+
18
+ &__item {
19
+ @extend .col;
20
+
21
+ .wrapper {
22
+
23
+
24
+
25
+
26
+ border: 1px solid var(--t-section-border-color);
27
+ border-radius: var(--t-section-border-radius);
28
+ overflow: hidden;
29
+ background-color: white;
30
+ height: 100%;
31
+ min-width: 300px;
32
+
33
+ --aspect-ratio: var(--layout-aspect-ratio, 16 / 9);
34
+
35
+
36
+
37
+
38
+
39
+ .tjs__sec-multi-card__item-img {
40
+ &:empty {
41
+ display: none;
42
+ }
43
+
44
+ width: 100%;
45
+ aspect-ratio: var(--aspect-ratio);
46
+ display: block;
47
+ overflow: hidden;
48
+ img {
49
+
50
+ width: 100%;
51
+ height: 100%;
52
+ object-fit: cover;
53
+ }
54
+
55
+
56
+ }
57
+
58
+ .tjs__sec-multi-card__item__body {
59
+ @extend .p-4;
60
+ height: 100%;
61
+ }
62
+ }
63
+
21
64
  }
65
+
66
+
22
67
  }
@@ -1,6 +1,22 @@
1
1
  import {Joda} from "@leuffen/jodastyle";
2
2
 
3
+ Joda.registerTemplate("sec-multi-card__item",
4
+ // language=HTML
5
+ `
6
+ <div class="col tjs__sec-multi-card__item">
7
+ <div class="wrapper">
8
+
9
+ <slot class="tjs__sec-multi-card__item-img" data-select="img"></slot>
10
+
11
+
12
+ <div class="tjs__sec-multi-card__item__body text-format">
13
+ <slot></slot>
14
+ </div>
15
+ </div>
3
16
 
17
+ </div>
18
+ `
19
+ );
4
20
  Joda.registerTemplate("sec-multi-card",
5
21
  // language=HTML
6
22
  `
@@ -10,9 +26,7 @@ Joda.registerTemplate("sec-multi-card",
10
26
  <slot data-select=":scope > .content"></slot>
11
27
  </div>
12
28
  <div class="container">
13
- <div class="row g-3 row-cols-1 row-cols-lg-[[ layout.cols ?? 3 ]]">
14
- <slot data-select=":scope > .children > *" data-replace=""></slot>
15
- </div>
29
+ <slot class="row g-3 row-cols-1 row-cols-lg-[[ layout.cols ?? 3 ]]" data-select=":scope > .children > *" data-child-layout="use: #sec-multi-card__item"></slot>
16
30
  </div>
17
31
  </div>
18
32
  `);
@@ -12,3 +12,4 @@
12
12
  @import "sec-card-feature/sec-card-feature";
13
13
  @import "hero-title-small/hero-title-small";
14
14
  @import "cta-form/cta-form";
15
+ @import "image-gallery1/image-gallery1";
@@ -11,3 +11,4 @@ import "./sec-multi-card/sec-multi-card";
11
11
  import "./sec-card-feature/sec-card-feature";
12
12
  import "./hero-title-small/hero-title-small";
13
13
  import "./cta-form/cta-form";
14
+ import "./image-gallery1/image-gallery1";
@@ -0,0 +1,30 @@
1
+ @font-face {
2
+ font-family: 'Garamond';
3
+ font-style: normal;
4
+ font-weight: 400;
5
+ font-display: swap;
6
+ src: url("https://cdn.leuffen.de/global/fonts/garamond/font/AGaramondPro-Regular.woff2");
7
+ }
8
+ @font-face {
9
+ font-family: 'Garamond';
10
+ font-style: italic;
11
+ font-weight: 400;
12
+ font-display: swap;
13
+ src: url("https://cdn.leuffen.de/global/fonts/garamond/font/AGaramondPro-Italic.woff2");
14
+ }
15
+ @font-face {
16
+ font-family: 'Garamond';
17
+ font-style: normal;
18
+ font-weight: 500;
19
+ font-display: swap;
20
+ src: url("https://cdn.leuffen.de/global/fonts/garamond/font/AGaramondPro-Bold.woff2");
21
+ }
22
+
23
+
24
+ @font-face {
25
+ font-family: 'Garamond';
26
+ font-style: italic;
27
+ font-weight: 500;
28
+ font-display: swap;
29
+ src: url("https://cdn.leuffen.de/global/fonts/garamond/font/AGaramondPro-BoldItalic.woff2");
30
+ }
@@ -3,10 +3,22 @@
3
3
 
4
4
  :root {
5
5
  --layout-container: container;
6
+
7
+
8
+
9
+ --t-border-radius: #{$section-border-radius};
10
+ --t-background-footer: #{$background-footer};
11
+ --t-text-footer: #{$text-footer};
12
+ --t-footer-header-color: #{$text-footer};
13
+ --t-section-border-color: #{$section-border-color};
14
+ --t-background-dark: #{$background-dark};
15
+ --t-text-dark: #{$text-dark};
16
+ --t-header-dark: #{$text-dark};
17
+ --t-link-dark: #{$text-dark};
6
18
  }
7
19
  .theme1 {
8
20
  @include default-element-format();
9
-
21
+ --t-background: #{$background};
10
22
  color: var(--t-text-color);
11
23
  background: var(--t-background);
12
24
 
@@ -15,12 +27,14 @@
15
27
  color: var(--t-text-color);
16
28
  }
17
29
 
30
+ font-size: $font-size-base;
18
31
  h1 {
19
32
  font-size: 2.4em;
20
33
  line-height: 1.2em;
21
34
  }
22
35
  h2, h3,h4,h5 {
23
36
  line-height: 1.2em;
37
+
24
38
  }
25
39
  h3,h4,h5 {
26
40
  font-size: 1.15em;
@@ -30,16 +44,23 @@
30
44
  line-height: 1.4em;
31
45
  }
32
46
 
47
+
48
+
49
+ table > tbody > tr > td {
50
+ background: transparent;
51
+ }
52
+
33
53
  .tjs__section-text {
34
- h2 {
35
- text-transform: uppercase;
54
+ h2:has(+ blockquote) {
55
+ text-transform: var(--t-header-text-transform, uppercase);
36
56
  font-weight: bold;
37
57
  font-size: 16px;
38
58
  color: var(--t-text-color-primary) !important;
39
59
  margin: var(--t-paragraf-margin);
40
60
  }
41
- blockquote > p {
42
- font-size: 2.1em;
61
+
62
+ h2, blockquote > p {
63
+ font-size: 1.9em;
43
64
  line-height: 1.2em;
44
65
  color: var(--t-text-color) !important;
45
66
  margin: var(--t-header-margin, 0 0 20px 0);
@@ -69,15 +90,13 @@
69
90
  color: var(--t-text-color);
70
91
  }
71
92
 
72
- font-size: 1.1rem;
73
93
 
74
- --t-background: #f5f5f5;
94
+
75
95
  --t-background-footer: #fff;
76
96
  --t-section-background: transparent;
77
- --t-section-background-accent: #e7e7eb;
78
97
  --t-section-background-primary: #{$background-primary};
79
98
  --t-text-background: #fff;
80
- --t-text-color: #707070;
99
+ --t-text-color: #{$text-color};
81
100
  --t-text-background-light: var(--t-background);
82
101
  --t-text-color-accent: var(--bs-gray-900);
83
102
  --t-text-color-primary: var(--bs-primary);
@@ -107,7 +126,7 @@
107
126
  }
108
127
 
109
128
  .btn {
110
- border-radius: 0;
129
+ border-radius: $border-radius;
111
130
  }
112
131
 
113
132
  map {
@@ -1,33 +0,0 @@
1
- @import "bootstrap/scss/bootstrap";
2
-
3
- .tjs__e-card-default {
4
-
5
- border: 1px solid var(--bs-gray-500);
6
- background-color: white;
7
- height: 100%;
8
- min-width: 300px;
9
-
10
- &.card {
11
- height: 100%;
12
- }
13
-
14
- --aspect-ratio: var(--layout-aspect-ratio, 16 / 9);
15
-
16
- .tjs__e-card-default__img {
17
- width: 100%;
18
- aspect-ratio: var(--aspect-ratio);
19
- display: block;
20
- overflow: hidden;
21
- img {
22
-
23
- width: 100%;
24
- height: 100%;
25
- object-fit: cover;
26
- }
27
- }
28
-
29
- .tjs__e-card-default__body {
30
- @extend .p-4;
31
- height: 100%;
32
- }
33
- }
@@ -1,16 +0,0 @@
1
- import {Joda} from "@leuffen/jodastyle";
2
-
3
-
4
- Joda.registerTemplate("e-card-default",
5
- // language=HTML
6
- `
7
- <div class="tjs__e-card-default">
8
- <div class="tjs__e-card-default__img">
9
- <slot data-select="img" data-replace></slot>
10
- </div>
11
-
12
- <div class="tjs__e-card-default__body text-format">
13
- <slot></slot>
14
- </div>
15
- </div>
16
- `);