Quellcode durchsuchen

Initial commit: Das Sitepackage von Josef Hehmann

eliasCybob vor 3 Monaten
Commit
05a23d0408
100 geänderte Dateien mit 7630 neuen und 0 gelöschten Zeilen
  1. 60 0
      .editorconfig
  2. 4 0
      .gitignore
  3. 114 0
      Classes/Utility/TcaUtility.php
  4. 22 0
      Configuration/RTE/Preset.yaml
  5. 9 0
      Configuration/Services.yaml
  6. 28 0
      Configuration/TCA/Overrides/pages.php
  7. 3 0
      Configuration/TCA/Overrides/sys_redirect.php
  8. 11 0
      Configuration/TCA/Overrides/sys_template.php
  9. 54 0
      Configuration/TCA/Overrides/tt_content.php
  10. 5 0
      Configuration/TSconfig/Page/basic.tsconfig
  11. 70 0
      Configuration/TSconfig/Page/mod.tsconfig
  12. 0 0
      Configuration/TSconfig/Page/rte.tsconfig
  13. 22 0
      Configuration/TSconfig/Page/tcadefaults.tsconfig
  14. 59 0
      Configuration/TSconfig/Page/tceform.tsconfig
  15. 43 0
      Configuration/TSconfig/Page/tcemain.tsconfig
  16. 26 0
      Configuration/TypoScript/Base/constants.typoscript
  17. 16 0
      Configuration/TypoScript/Base/setup.typoscript
  18. 37 0
      Configuration/TypoScript/Config/constants.typoscript
  19. 3 0
      Configuration/TypoScript/Config/setup.typoscript
  20. 38 0
      Configuration/TypoScript/Content/setup.typoscript
  21. 40 0
      Configuration/TypoScript/Extension/Container/setup.typoscript
  22. 5 0
      Configuration/TypoScript/Extension/ContentSlug/constants.typoscript
  23. 5 0
      Configuration/TypoScript/Extension/Form/setup.typoscript
  24. 1 0
      Configuration/TypoScript/Extension/constants.typoscript
  25. 2 0
      Configuration/TypoScript/Extension/setup.typoscript
  26. 34 0
      Configuration/TypoScript/Lib/setup.typoscript
  27. 47 0
      Configuration/TypoScript/Page/constants.typoscript
  28. 133 0
      Configuration/TypoScript/Page/setup.typoscript
  29. 19 0
      Configuration/TypoScript/Theme/constants.typoscript
  30. 47 0
      Configuration/TypoScript/Theme/setup.typoscript
  31. 12 0
      Resources/Private/Language/de.locallang.xlf
  32. 11 0
      Resources/Private/Language/locallang.xlf
  33. 34 0
      Resources/Private/Layouts/Container/Default.html
  34. 58 0
      Resources/Private/Layouts/Content/Default.html
  35. 11 0
      Resources/Private/Layouts/Page/Default.html
  36. 7 0
      Resources/Private/Layouts/Page/Iframe.html
  37. 119 0
      Resources/Private/Partials/Content/Menu/Menu.html
  38. 39 0
      Resources/Private/Partials/Form/Navigation.html
  39. 27 0
      Resources/Private/Partials/Page/Breadcrumb.html
  40. 85 0
      Resources/Private/Partials/Page/Footer.html
  41. 9 0
      Resources/Private/Partials/Page/Footer/Legalnavigation.html
  42. 134 0
      Resources/Private/Partials/Page/General/Socials.html
  43. 19 0
      Resources/Private/Partials/Page/Header.html
  44. 37 0
      Resources/Private/Partials/Page/Mainnavigation.html
  45. 9 0
      Resources/Private/Templates/Content/MenuCategorized.html
  46. 9 0
      Resources/Private/Templates/Content/MenuPages.html
  47. 9 0
      Resources/Private/Templates/Content/MenuRecentlyUpdated.html
  48. 9 0
      Resources/Private/Templates/Content/MenuRelatedPages.html
  49. 28 0
      Resources/Private/Templates/Content/MenuSection.html
  50. 9 0
      Resources/Private/Templates/Content/MenuSubpages.html
  51. 26 0
      Resources/Private/Templates/Lib/Breadcrumb.html
  52. 13 0
      Resources/Private/Templates/Page/Default.html
  53. 9 0
      Resources/Private/Templates/Page/Iframe.html
  54. 301 0
      Resources/Public/Css/default_form_formframework.scss
  55. 270 0
      Resources/Public/Css/default_form_powermail.scss
  56. 4552 0
      Resources/Public/Css/default_global.scss
  57. 678 0
      Resources/Public/Css/default_navigation.scss
  58. 18 0
      Resources/Public/Css/rte.css
  59. 0 0
      Resources/Public/Css/styles.css
  60. BIN
      Resources/Public/Icons/apple-touch-icon.png
  61. BIN
      Resources/Public/Icons/favicon.ico
  62. 20 0
      Resources/Public/Icons/favicon.svg
  63. BIN
      Resources/Public/Icons/icon-192.png
  64. BIN
      Resources/Public/Icons/icon-512.png
  65. BIN
      Resources/Public/Images/akkordeon-teaser.jpg
  66. 15 0
      Resources/Public/Images/at-white.svg
  67. 3 0
      Resources/Public/Images/brightness-high-fill.svg
  68. 4 0
      Resources/Public/Images/bug-fill.svg
  69. 11 0
      Resources/Public/Images/calendar-green.svg
  70. 13 0
      Resources/Public/Images/download.svg
  71. 13 0
      Resources/Public/Images/envelope-white.svg
  72. BIN
      Resources/Public/Images/header-hehmann-accordeon.jpg
  73. BIN
      Resources/Public/Images/header-hehmann-big.jpg
  74. BIN
      Resources/Public/Images/header-hehmann-person.jpg
  75. BIN
      Resources/Public/Images/header-small-karriere.jpg
  76. BIN
      Resources/Public/Images/header-small-kontakt.jpg
  77. BIN
      Resources/Public/Images/header-small-leistungen.jpg
  78. BIN
      Resources/Public/Images/header-small-referenzen.jpg
  79. BIN
      Resources/Public/Images/hehmann-content-leistungen.jpg
  80. BIN
      Resources/Public/Images/hehmann-content-referenzen.jpg
  81. BIN
      Resources/Public/Images/hehmann-karte-alt.jpg
  82. BIN
      Resources/Public/Images/hehmann-karte.jpg
  83. 13 0
      Resources/Public/Images/icon-burger.svg
  84. 13 0
      Resources/Public/Images/icon-leaf.svg
  85. BIN
      Resources/Public/Images/kontakt.jpg
  86. BIN
      Resources/Public/Images/leistungen-abbruch.jpeg
  87. BIN
      Resources/Public/Images/leistungen-baustoffe.jpeg
  88. BIN
      Resources/Public/Images/leistungen-containerdienst.jpeg
  89. BIN
      Resources/Public/Images/leistungen-fuhrbetrieb.jpeg
  90. BIN
      Resources/Public/Images/leistungen-holzrecycling.jpg
  91. BIN
      Resources/Public/Images/leistungen-raupenbrechanlage.jpeg
  92. BIN
      Resources/Public/Images/leistungen-recycling.jpeg
  93. 14 0
      Resources/Public/Images/logo.svg
  94. BIN
      Resources/Public/Images/logo/hehmann-content-referenzen.jpg
  95. BIN
      Resources/Public/Images/logo/logo-pink.jpg
  96. BIN
      Resources/Public/Images/logo/logo.png
  97. BIN
      Resources/Public/Images/logo_deutscher_abbruchverband.png
  98. 11 0
      Resources/Public/Images/phone-white.svg
  99. 1 0
      Resources/Public/Images/phone.svg
  100. BIN
      Resources/Public/Images/platzhalter-kontakt.jpg

+ 60 - 0
.editorconfig

@@ -0,0 +1,60 @@
+# EditorConfig is awesome: http://EditorConfig.org
+
+# top-most EditorConfig file
+root = true
+
+# Unix-style newlines with a newline ending every file
+[*]
+charset = utf-8
+end_of_line = lf
+indent_style = space
+indent_size = 4
+insert_final_newline = true
+trim_trailing_whitespace = true
+
+# TS/JS-Files
+[*.{ts,js}]
+indent_size = 2
+
+# HTML-Files
+[*.html]
+indent_size = 2
+
+# JSON-Files
+[*.json]
+indent_style = tab
+
+# ReST-Files
+[*.rst]
+indent_size = 4
+max_line_length = 80
+
+# YAML-Files
+[*.{yaml,yml}]
+indent_size = 2
+
+# NEON-Files
+[*.neon]
+indent_size = 2
+indent_style = tab
+
+# package.json
+[package.json]
+indent_size = 2
+
+# TypoScript
+[*.{typoscript,tsconfig}]
+indent_size = 2
+
+# XLF-Files
+[*.xlf]
+indent_style = tab
+
+# SQL-Files
+[*.sql]
+indent_style = tab
+indent_size = 2
+
+# .htaccess
+[{_.htaccess,.htaccess}]
+indent_style = tab

+ 4 - 0
.gitignore

@@ -0,0 +1,4 @@
+/.idea/
+/Documentation-GENERATED-temp/
+*/.DS_Store
+.DS_Store

+ 114 - 0
Classes/Utility/TcaUtility.php

@@ -0,0 +1,114 @@
+<?php
+declare(strict_types=1);
+
+namespace CYBOB\BaggerSitePackage\Utility;
+
+/**
+ * @package \CYBOB\BaggerSitePackage\Utility
+ */
+class TcaUtility
+{
+    /**
+     * Returns a default crop editor configuration.
+     *
+     * @return array[]
+     */
+    public static function getDefaultCropConfiguration(): array
+    {
+        return [
+            'desktop' => [
+                'title' => 'Desktop (min-width: 1200px)',
+                'cropArea' => [
+                    'x' => 0.0,
+                    'y' => 0.0,
+                    'width' => 1.0,
+                    'height' => 1.0
+                ],
+                'allowedAspectRatios' => [
+                    '1:1' => [
+                        'title' => '1:1',
+                        'value' => 1.0
+                    ],
+                    '4:3' => [
+                        'title' => '4:3',
+                        'value' => 4 / 3
+                    ],
+                    '6:7' => [
+                        'title' => '6:7',
+                        'value' => 6 / 6.9345372460
+                    ],
+                    '16:9' => [
+                        'title' => '16:9',
+                        'value' => 16 / 9
+                    ],
+                    'NaN' => [
+                        'title' => 'Free',
+                        'value' => 0.0
+                    ]
+                ]
+            ],
+            'tablet' => [
+                'title' => 'Tablet (max-width: 1200px)',
+                'cropArea' => [
+                    'x' => 0.0,
+                    'y' => 0.0,
+                    'width' => 1.0,
+                    'height' => 1.0
+                ],
+                'allowedAspectRatios' => [
+                    '1:1' => [
+                        'title' => '1:1',
+                        'value' => 1.0
+                    ],
+                    '4:3' => [
+                        'title' => '4:3',
+                        'value' => 4 / 3
+                    ],
+                    '6:7' => [
+                        'title' => '6:7',
+                        'value' => 6 / 6.9345372460
+                    ],
+                    '16:9' => [
+                        'title' => '16:9',
+                        'value' => 16 / 9
+                    ],
+                    'NaN' => [
+                        'title' => 'Free',
+                        'value' => 0.0
+                    ]
+                ]
+            ],
+            'mobile' => [
+                'title' => 'Mobile (max-width: 750px)',
+                'cropArea' => [
+                    'x' => 0.0,
+                    'y' => 0.0,
+                    'width' => 1.0,
+                    'height' => 1.0
+                ],
+                'allowedAspectRatios' => [
+                    '1:1' => [
+                        'title' => '1:1',
+                        'value' => 1.0
+                    ],
+                    '4:3' => [
+                        'title' => '4:3',
+                        'value' => 4 / 3
+                    ],
+                    '6:7' => [
+                        'title' => '6:7',
+                        'value' => 6 / 6.9345372460
+                    ],
+                    '16:9' => [
+                        'title' => '16:9',
+                        'value' => 16 / 9
+                    ],
+                    'NaN' => [
+                        'title' => 'Free',
+                        'value' => 0.0
+                    ]
+                ]
+            ]
+        ];
+    }
+}

+ 22 - 0
Configuration/RTE/Preset.yaml

@@ -0,0 +1,22 @@
+#
+# import basic
+#
+
+imports:
+ - { resource: "EXT:site_package/Configuration/RTE/BasicPreset.yaml" }
+
+editor:
+  config:
+    #
+    # add custom rte css
+    #
+
+    contentsCss:
+      - "EXT:bagger_site_package/Resources/Public/Css/rte.css"
+
+    #
+    # add custom style options
+    #
+
+    stylesSet:
+      - { name: "Button Hover", element: "a", attributes: { class: "btn link" } }

+ 9 - 0
Configuration/Services.yaml

@@ -0,0 +1,9 @@
+services:
+  _defaults:
+    autowire: true
+    autoconfigure: true
+    public: false
+
+  CYBOB\BaggerSitePackage\:
+    resource: '../Classes/*'
+    exclude: '../Classes/Domain/Model/*'

+ 28 - 0
Configuration/TCA/Overrides/pages.php

@@ -0,0 +1,28 @@
+<?php
+
+/**
+ * Register static Page TSconfig file
+ */
+
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
+    'bagger_site_package',
+    'Configuration/TSconfig/Page/basic.tsconfig',
+    'Bagger site package'
+);
+
+/**
+ * Add crop editor
+ */
+
+$cropConfiguration = \CYBOB\BaggerSitePackage\Utility\TcaUtility::getDefaultCropConfiguration();;
+
+$GLOBALS['TCA']['pages']['columns']['media']['config']['overrideChildTca']['columns']['crop']['config'] = [
+    'cropVariants' => array_merge_recursive(
+        [
+            'default' => [
+                'disabled' => true
+            ]
+        ],
+        $cropConfiguration
+    )
+];

+ 3 - 0
Configuration/TCA/Overrides/sys_redirect.php

@@ -0,0 +1,3 @@
+<?php
+
+$GLOBALS['TCA']['sys_redirect']['columns']['target_statuscode']['config']['default'] = 301;

+ 11 - 0
Configuration/TCA/Overrides/sys_template.php

@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * Register static TypoScript files
+ */
+
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile(
+    'bagger_site_package',
+    'Configuration/TypoScript/Base',
+    'Bagger site package'
+);

+ 54 - 0
Configuration/TCA/Overrides/tt_content.php

@@ -0,0 +1,54 @@
+<?php
+
+/**
+ * Allow language synchronization for FAL fields
+ */
+
+$allowSync = [
+    'tt_content' => [
+        'image',
+        'media'
+    ]
+];
+
+foreach ($allowSync as $syncTablename => $syncColumns) {
+    foreach ($syncColumns as $syncColumn) {
+        $GLOBALS['TCA'][$syncTablename]['columns'][$syncColumn]['config']['behaviour']['allowLanguageSynchronization'] = 1;
+    }
+}
+
+/**
+ * Add crop editor
+ */
+
+$cropConfiguration = \CYBOB\BaggerSitePackage\Utility\TcaUtility::getDefaultCropConfiguration();
+
+$cropColumnsByType = [
+    'image' => [
+        'image'
+    ],
+    'menu_pages' => [
+        'image'
+    ],
+    'menu_subpages' => [
+        'image'
+    ],
+    'menu_categorized_pages' => [
+        'image'
+    ]
+];
+
+foreach ($cropColumnsByType as $type => $cropColumns) {
+    foreach ($cropColumns as $cropColumn) {
+        $GLOBALS['TCA']['tt_content']['types'][$type]['columnsOverrides'][$cropColumn]['config']['overrideChildTca']['columns']['crop']['config'] = [
+            'cropVariants' => array_merge_recursive(
+                [
+                    'default' => [
+                        'disabled' => true
+                    ]
+                ],
+                $cropConfiguration
+            )
+        ];
+    }
+}

+ 5 - 0
Configuration/TSconfig/Page/basic.tsconfig

@@ -0,0 +1,5 @@
+@import 'EXT:bagger_site_package/Configuration/TSconfig/Page/rte.tsconfig'
+@import 'EXT:bagger_site_package/Configuration/TSconfig/Page/tcadefaults.tsconfig'
+@import 'EXT:bagger_site_package/Configuration/TSconfig/Page/tceform.tsconfig'
+@import 'EXT:bagger_site_package/Configuration/TSconfig/Page/tcemain.tsconfig'
+@import 'EXT:bagger_site_package/Configuration/TSconfig/Page/mod.tsconfig'

+ 70 - 0
Configuration/TSconfig/Page/mod.tsconfig

@@ -0,0 +1,70 @@
+#
+# Mod Config
+#
+
+mod {
+  #
+  # Backend layouts
+  #
+
+  web_layout.BackendLayouts {
+    header_content {
+      title = Header & Content
+
+      config.backend_layout {
+        colCount = 1
+        rowCount = 2
+
+        rows {
+          1 {
+            columns {
+              1 {
+                name = Header
+                colPos = 3
+                colspan = 1
+
+                #
+                # Content defender
+                #
+
+                disallowed {
+                  CType = 1col-container, 2cols-with-header-container, 3cols-container
+                }
+              }
+            }
+          }
+
+          2 {
+            columns {
+              1 {
+                name = Content
+                colPos = 0
+                colspan = 1
+              }
+            }
+          }
+        }
+      }
+    }
+
+    iframe {
+      title = iFrame
+
+      config.backend_layout {
+        colCount = 1
+        rowCount = 1
+        rows {
+          1 {
+            columns {
+              1 {
+                name = Content
+                colPos = 0
+                colspan = 1
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+}

+ 0 - 0
Configuration/TSconfig/Page/rte.tsconfig


+ 22 - 0
Configuration/TSconfig/Page/tcadefaults.tsconfig

@@ -0,0 +1,22 @@
+#
+# TCAdefaults Config
+#
+
+TCAdefaults {
+
+  #
+  # Content
+  #
+
+  tt_content {
+    image_zoom = 1
+  }
+
+  #
+  # Pages
+  #
+
+  pages {
+
+  }
+}

+ 59 - 0
Configuration/TSconfig/Page/tceform.tsconfig

@@ -0,0 +1,59 @@
+#
+# TCEFORM Config
+#
+
+TCEFORM {
+
+  #
+  # Content
+  #
+
+  tt_content {
+    layout.types {
+
+      #
+      # Container elements
+      #
+
+      1col-container {
+        altLabels {
+          0 = Default
+          1 = Container
+          2 = Container Fluid
+          3 = Container Fluid (no padding)
+        }
+      }
+
+      2cols-with-header-container < .1col-container
+      3cols-container < .1col-container
+
+      #
+      # Menu elements
+      #
+
+      menu_subpages {
+        altLabels {
+          1 = LLL - Category
+        }
+
+        keepItems = 0,1
+      }
+    }
+
+    frame_class {
+      keepItems =
+
+      addItems {
+        default = Default
+      }
+    }
+  }
+
+  #
+  # Pages
+  #
+
+  pages {
+
+  }
+}

+ 43 - 0
Configuration/TSconfig/Page/tcemain.tsconfig

@@ -0,0 +1,43 @@
+#
+# TCEMAIN Config
+#
+
+TCEMAIN {
+
+  #
+  # Table
+  #
+
+  table {
+
+    #
+    # Pages
+    #
+
+    pages {
+      disablePrependAtCopy = 1
+    }
+
+    #
+    # Content
+    #
+
+    tt_content {
+      disablePrependAtCopy = 1
+    }
+  }
+
+  #
+  # Permissions
+  #
+
+  permissions {
+    everybody = show
+
+    group = show,edit,new,delete,editcontent
+    groupid = 4
+
+    user = show,edit,new,delete,editcontent
+    userid = 1
+  }
+}

+ 26 - 0
Configuration/TypoScript/Base/constants.typoscript

@@ -0,0 +1,26 @@
+#
+# dependencies
+#
+
+@import 'EXT:site_package/Configuration/TypoScript/Base/constants.typoscript'
+
+#
+# Bagger site package
+#
+
+styles.templates {
+  templateRootPath = EXT:bagger_site_package/Resources/Private/Templates/Content/
+  partialRootPath = EXT:bagger_site_package/Resources/Private/Partials/Content/
+  layoutRootPath = EXT:bagger_site_package/Resources/Private/Layouts/Content/
+
+  lib {
+    templateRootPath = EXT:bagger_site_package/Resources/Private/Templates/Lib/
+    partialRootPath = EXT:bagger_site_package/Resources/Private/Partials/Lib/
+    layoutRootPath = EXT:bagger_site_package/Resources/Private/Layouts/Lib/
+  }
+}
+
+@import 'EXT:bagger_site_package/Configuration/TypoScript/Config/constants.typoscript'
+@import 'EXT:bagger_site_package/Configuration/TypoScript/Page/constants.typoscript'
+@import 'EXT:bagger_site_package/Configuration/TypoScript/Theme/constants.typoscript'
+@import 'EXT:bagger_site_package/Configuration/TypoScript/Extension/constants.typoscript'

+ 16 - 0
Configuration/TypoScript/Base/setup.typoscript

@@ -0,0 +1,16 @@
+#
+# dependencies
+#
+
+@import 'EXT:site_package/Configuration/TypoScript/Base/setup.typoscript'
+
+#
+# Bagger site package
+#
+
+@import 'EXT:bagger_site_package/Configuration/TypoScript/Config/setup.typoscript'
+@import 'EXT:bagger_site_package/Configuration/TypoScript/Page/setup.typoscript'
+@import 'EXT:bagger_site_package/Configuration/TypoScript/Content/setup.typoscript'
+@import 'EXT:bagger_site_package/Configuration/TypoScript/Theme/setup.typoscript'
+@import 'EXT:bagger_site_package/Configuration/TypoScript/Extension/setup.typoscript'
+@import 'EXT:bagger_site_package/Configuration/TypoScript/Lib/setup.typoscript'

+ 37 - 0
Configuration/TypoScript/Config/constants.typoscript

@@ -0,0 +1,37 @@
+#
+# Config constants
+#
+
+config {
+
+  #
+  # Assets
+  #
+
+  assets {
+    compressCss = 0
+    compressJs = 0
+    concatenateCss = 0
+    concatenateJs = 0
+  }
+
+  #
+  # General
+  #
+
+  general {
+    baseURL = {{ DOMAIN }}
+    baseURLdev = {{ DOMAIN_DEV }}
+    siteTitle = Josef Hehmann Bagger- und Fuhrbetrieb GmbH
+    no_cache = 1
+    sendCacheHeaders = 0
+  }
+
+  #
+  # Security
+  #
+
+  security {
+    cspAdditions = style-src 'self' 'unsafe-inline'; img-src 'self' https://*.googleapis.com https://maps.gstatic.com/ data:; object-src 'self' data:; frame-src 'self' mailto: tel: *.krone-dev.cybob-one.com *.youtube.com *.youtube-nocookie.com; script-src 'self' https://*.googleapis.com; connect-src 'self' https://*.googleapis.com; font-src 'self'
+  }
+}

+ 3 - 0
Configuration/TypoScript/Config/setup.typoscript

@@ -0,0 +1,3 @@
+#
+# Config setup
+#

+ 38 - 0
Configuration/TypoScript/Content/setup.typoscript

@@ -0,0 +1,38 @@
+#
+# Content elements setup
+#
+
+tt_content {
+  image.dataProcessing {
+    60 = TYPO3\CMS\Frontend\DataProcessing\DatabaseQueryProcessor
+    60 {
+      if {
+        value.field = layout
+        equals = 2
+      }
+
+      table = pages
+      uidInList = this
+      pidInList = 0
+      max = 1
+      as = page
+    }
+
+    70 = CYBOB\SitePackage\DataProcessing\ParentContainerProcessor
+    70 {
+      if.isTrue.field = tx_container_parent
+      as = container
+    }
+  }
+
+  menu_pages.dataProcessing.50 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
+  menu_pages.dataProcessing.50 {
+    if.isTrue.field = image
+
+    as = files
+    references.fieldName = image
+  }
+
+  menu_subpages.dataProcessing.50 < .menu_pages.dataProcessing.50
+  menu_categorized_pages.dataProcessing.50 < .menu_pages.dataProcessing.50
+}

+ 40 - 0
Configuration/TypoScript/Extension/Container/setup.typoscript

@@ -0,0 +1,40 @@
+#
+# Container setup
+#
+
+#
+# Base container
+#
+
+lib.containerElement {
+  templateRootPaths {
+    30 = EXT:bagger_site_package/Resources/Private/Templates/Container/
+  }
+
+  partialRootPaths {
+    30 = EXT:bagger_site_package/Resources/Private/Partials/Container/
+  }
+
+  layoutRootPaths {
+    30 = EXT:bagger_site_package/Resources/Private/Layouts/Container/
+  }
+}
+
+#
+# Accordion container
+#
+
+tt_content.accordion-container < lib.containerElement
+tt_content.accordion-container {
+  templateName = Accordion
+
+  dataProcessing {
+    10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
+    10 {
+      if.isTrue.field = image
+
+      as = images
+      references.fieldName = image
+    }
+  }
+}

+ 5 - 0
Configuration/TypoScript/Extension/ContentSlug/constants.typoscript

@@ -0,0 +1,5 @@
+#
+# EXT:content_slug Constants
+#
+
+plugin.tx_contentslug.settings.renderPrefix = 0

+ 5 - 0
Configuration/TypoScript/Extension/Form/setup.typoscript

@@ -0,0 +1,5 @@
+#
+# Form setup
+#
+
+@import 'EXT:form/Configuration/TypoScript/setup.typoscript'

+ 1 - 0
Configuration/TypoScript/Extension/constants.typoscript

@@ -0,0 +1 @@
+@import 'EXT:bagger_site_package/Configuration/TypoScript/Extension/ContentSlug/constants.typoscript'

+ 2 - 0
Configuration/TypoScript/Extension/setup.typoscript

@@ -0,0 +1,2 @@
+@import 'EXT:bagger_site_package/Configuration/TypoScript/Extension/Container/setup.typoscript'
+@import 'EXT:bagger_site_package/Configuration/TypoScript/Extension/Form/setup.typoscript'

+ 34 - 0
Configuration/TypoScript/Lib/setup.typoscript

@@ -0,0 +1,34 @@
+#
+# Lib setup
+#
+
+lib.breadcrumb = FLUIDTEMPLATE
+lib.breadcrumb {
+  templateName = Breadcrumb
+
+  templateRootPaths {
+    0 = EXT:bagger_site_package/Resources/Private/Templates/Lib/
+    1 = {$styles.templates.lib.templateRootPath}
+  }
+
+  partialRootPaths {
+    0 = EXT:bagger_site_package/Resources/Private/Partials/Lib/
+    1 = {$styles.templates.lib.partialRootPath}
+  }
+
+  layoutRootPaths {
+    0 = EXT:bagger_site_package/Resources/Private/Layouts/Lib/
+    1 = {$styles.templates.lib.layoutRootPath}
+  }
+
+  dataProcessing {
+    10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
+    10 {
+      special = rootline
+      special.range = 0|-1
+
+      titleField = nav_title // title
+      as = breadcrumbnavigation
+    }
+  }
+}

+ 47 - 0
Configuration/TypoScript/Page/constants.typoscript

@@ -0,0 +1,47 @@
+#
+# Page constants
+#
+
+page {
+
+  #
+  # Template
+  #
+
+  template {
+    templateRootPath = EXT:bagger_site_package/Resources/Private/Templates/Page/
+    partialRootPath = EXT:bagger_site_package/Resources/Private/Partials/Page/
+    layoutRootPath = EXT:bagger_site_package/Resources/Private/Layouts/Page/
+  }
+
+  #
+  # Menu
+  #
+
+  menu {
+    rootPid = 1
+    levels = 3
+  }
+
+  #
+  # Footer
+  #
+
+  footer {
+    sitemapRootPid =
+    legalRootPid = 2
+  }
+
+  #
+  # Socials
+  #
+
+  socials {
+    youtube =
+    facebook =
+    instagram =
+    xing =
+    linkedIn =
+    twitter =
+  }
+}

+ 133 - 0
Configuration/TypoScript/Page/setup.typoscript

@@ -0,0 +1,133 @@
+#
+# Page setup
+#
+
+page = PAGE
+page {
+
+  #
+  # Metadata
+  #
+
+  meta {
+    viewport = width=device-width, initial-scale=1, shrink-to-fit=no
+  }
+
+  shortcutIcon = EXT:bagger_site_package/Resources/Public/Icons/favicon.ico
+
+  #
+  # Header Data
+  #
+  headerData {
+    10 = TEXT
+    10.value (
+        <link rel="shortcut icon" type="image/x-icon" href="{path:EXT:bagger_site_package/Resources/Public/Icons/favicon.ico}" sizes="32x32">
+        <link rel="apple-touch-icon" sizes="192x192" href="{path:EXT:bagger_site_package/Resources/Public/Icons/apple-touch-icon.png}">
+        <link rel="shortcut icon" href="{path:EXT:bagger_site_package/Resources/Public/Icons/android-icon.png}" sizes="196x196">
+    )
+    10.insertData = 1
+  }
+
+  #
+  # Body Tag
+  #
+  bodyTagCObject.10.50 = TEXT
+  bodyTagCObject.10.50 {
+    value = bagger
+    noTrimWrap = | ||
+  }
+
+  #
+  # Template
+  #
+
+  10 {
+    templateName >
+    templateRootPaths >
+
+    file.stdWrap.cObject = CASE
+    file.stdWrap.cObject {
+      key.data = levelfield:-1, backend_layout_next_level, slide
+      key.override.field = backend_layout
+
+      default = TEXT
+      default.value = EXT:bagger_site_package/Resources/Private/Templates/Page/Default.html
+
+      pagets__header_content = TEXT
+      pagets__header_content.value = EXT:bagger_site_package/Resources/Private/Templates/Page/Default.html
+
+      pagets__iframe = TEXT
+      pagets__iframe.value = EXT:bagger_site_package/Resources/Private/Templates/Page/Iframe.html
+    }
+
+    dataProcessing {
+      20 < .10
+      20 {
+        levels = 2
+        special.value = {$page.footer.sitemapRootPid}
+        as = footersitemap
+        dataProcessing >
+      }
+
+      30 < .20
+      30 {
+        levels = 2
+        special.value = {$page.footer.legalRootPid}
+        as = legalnavigation
+      }
+
+      40 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
+      40 {
+        special = rootline
+        special.range = 0|-1
+
+        titleField = nav_title // title
+        as = breadcrumbnavigation
+      }
+
+      50 = TYPO3\CMS\Frontend\DataProcessing\LanguageMenuProcessor
+      50 {
+        languages = auto
+        as = languagenavigation
+      }
+
+      60 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
+      60 {
+        as = media
+        references.fieldName = media
+        references.table = pages
+      }
+    }
+
+    variables {
+
+    }
+  }
+
+  #
+  # CSS
+  #
+
+  includeCSS {
+    bootstrap =       EXT:bagger_site_package/Resources/Public/Libraries/bootstrap/css/bootstrap.min.css
+    bootstrap_icons = EXT:bagger_site_package/Resources/Public/Libraries/bootstrap-icons/bootstrap-icons.css
+    swiper =          EXT:bagger_site_package/Resources/Public/Libraries/swiper/swiper-bundle.min.css
+    stack_menu =      EXT:bagger_site_package/Resources/Public/Libraries/stack-menu/jquery-stack-menu.min.css
+    custom_styles =   EXT:bagger_site_package/Resources/Public/Css/default_global.scss
+    custom_styles_css =   EXT:bagger_site_package/Resources/Public/Css/default_global.css
+
+  }
+
+  #
+  # JS
+  #
+
+  includeJSFooter {
+    jquery_min =        EXT:bagger_site_package/Resources/Public/Libraries/jquery/jquery-3.6.1.min.js
+    bootstrap_bundle =  EXT:bagger_site_package/Resources/Public/Libraries/bootstrap/js/bootstrap.bundle.min.js
+    swiper_bundle =     EXT:bagger_site_package/Resources/Public/Libraries/swiper/swiper-bundle.min.js
+    jq_stack_menu =     EXT:bagger_site_package/Resources/Public/Libraries/stack-menu/jquery-stack-menu.min.js
+    swiper_settings =   EXT:bagger_site_package/Resources/Public/JavaScript/swiper-settings.js
+    general =           EXT:bagger_site_package/Resources/Public/JavaScript/general.js
+  }
+}

+ 19 - 0
Configuration/TypoScript/Theme/constants.typoscript

@@ -0,0 +1,19 @@
+#
+# Theme constants
+#
+
+theme {
+
+  #
+  # Bootstrap
+  #
+
+  bootstrap {
+    bodyBg = $light
+    bodyColor = $dark
+    borderRounded =
+    borderStrength = 1
+    primary = {{ COLOR }}
+    secondary = $dark
+  }
+}

+ 47 - 0
Configuration/TypoScript/Theme/setup.typoscript

@@ -0,0 +1,47 @@
+#
+# Theme setup
+#
+
+#
+# SCSS variables
+#
+
+plugin.tx_wsscss.variables {
+
+  #
+  # Bootstrap
+  #
+
+  #
+  # Base colors
+  #
+
+  primary = {$theme.bootstrap.primary}
+  secondary = {$theme.bootstrap.secondary}
+  success = {$theme.bootstrap.success}
+  info = {$theme.bootstrap.info}
+  warning = {$theme.bootstrap.warning}
+  danger = {$theme.bootstrap.danger}
+  light = {$theme.bootstrap.light}
+  dark = {$theme.bootstrap.dark}
+
+  #
+  # Body colors
+  #
+
+  body-bg = {$theme.bootstrap.bodyBg}
+  body-color = {$theme.bootstrap.bodyColor}
+}
+
+#
+# Fluid styled content settings
+#
+
+lib.contentElement.settings {
+  #
+  # Additional settings
+  #
+
+  borderStrength = {$theme.bootstrap.borderStrength}
+  borderRounded = {$theme.bootstrap.borderRounded}
+}

+ 12 - 0
Resources/Private/Language/de.locallang.xlf

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xliff version="1.0" xmlns:t3="http://typo3.org/schemas/xliff">
+    <file source-language="en" target-language="de" datatype="plaintext" original="locallang.xlf" date="2022-05-17T16:00:00Z" product-name="bagger-site-package">
+        <header/>
+        <body>
+             <trans-unit id="test" xml:space="preserve">
+                <source>test</source>
+                <target>test</target>
+            </trans-unit>
+        </body>
+    </file>
+</xliff>

+ 11 - 0
Resources/Private/Language/locallang.xlf

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xliff version="1.0" xmlns:t3="http://typo3.org/schemas/xliff">
+    <file source-language="en" datatype="plaintext" original="locallang.xlf" date="2022-05-17T16:00:00Z" product-name="bagger-site-package">
+        <header/>
+        <body>
+            <trans-unit id="test" xml:space="preserve">
+                <source>test</source>
+            </trans-unit>
+        </body>
+    </file>
+</xliff>

+ 34 - 0
Resources/Private/Layouts/Container/Default.html

@@ -0,0 +1,34 @@
+<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
+
+<section>
+  <div class="container-wrapper">
+    <f:if condition="{data.sectionIndex}">
+      <a id="c{data.uid}"></a>
+
+      <f:if condition="{data._LOCALIZED_UID}">
+        <a id="c{data._LOCALIZED_UID}"></a>
+      </f:if>
+    </f:if>
+
+    <f:switch expression="{data.layout}">
+      <f:case value="1">
+        <f:variable name="containerClass" value="container"/>
+      </f:case>
+      <f:case value="2">
+        <f:variable name="containerClass" value="container-fluid"/>
+      </f:case>
+      <f:case value="3">
+        <f:variable name="containerClass" value="container-fluid p-0"/>
+      </f:case>
+      <f:defaultCase>
+        <f:variable name="containerClass" value="container"/>
+      </f:defaultCase>
+    </f:switch>
+
+    <div class="{containerClass} {f:if(condition: '{data.frame_class} != \'default\'', then: 'border border-{settings.borderStrength} {settings.borderRounded} border-{data.frame_class}')} layout-{data.layout} {data.space_before_class} {data.space_after_class}">
+      <f:render section="Main" optional="true"/>
+    </div>
+  </div>
+</section>
+
+</html>

+ 58 - 0
Resources/Private/Layouts/Content/Default.html

@@ -0,0 +1,58 @@
+<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
+
+<f:if condition="{data.frame_class} != none">
+  <f:then>
+
+    <f:if condition="{data.frame_class} != 'default'">
+      <div class="{data.frame_class}">
+    </f:if>
+
+    <div id="c{data.uid}"
+         class="ce ce-{data.CType} layout-{data.layout} {data.space_before_class} {data.space_after_class}">
+      <f:if condition="{data._LOCALIZED_UID}">
+        <a id="c{data._LOCALIZED_UID}"></a>
+      </f:if>
+      <f:render section="Before" optional="true">
+        <f:render partial="DropIn/Before/All" arguments="{_all}"/>
+      </f:render>
+      <f:render section="Header" optional="true">
+        <f:render partial="Header/All" arguments="{_all}"/>
+      </f:render>
+      <f:render section="Main" optional="true"/>
+      <f:render section="Footer" optional="true">
+        <f:render partial="Footer/All" arguments="{_all}"/>
+      </f:render>
+      <f:render section="After" optional="true">
+        <f:render partial="DropIn/After/All" arguments="{_all}"/>
+      </f:render>
+    </div>
+
+    <f:if condition="{data.frame_class} != 'default'">
+      </div>
+    </f:if>
+
+  </f:then>
+  <f:else>
+
+    <a id="c{data.uid}"></a>
+    <f:if condition="{data._LOCALIZED_UID}">
+      <a id="c{data._LOCALIZED_UID}"></a>
+    </f:if>
+    <f:render section="Before" optional="true">
+      <f:render partial="DropIn/Before/All" arguments="{_all}"/>
+    </f:render>
+    <f:render section="Header" optional="true">
+      <f:render partial="Header/All" arguments="{_all}"/>
+    </f:render>
+    <f:render section="Main" optional="true"/>
+    <f:render section="Footer" optional="true">
+      <f:render partial="Footer/All" arguments="{_all}"/>
+    </f:render>
+    <f:render section="After" optional="true">
+      <f:render partial="DropIn/After/All" arguments="{_all}"/>
+    </f:render>
+
+  </f:else>
+</f:if>
+
+</html>

+ 11 - 0
Resources/Private/Layouts/Page/Default.html

@@ -0,0 +1,11 @@
+<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
+
+<f:render partial="Header" arguments="{_all}"/>
+
+<main>
+  <f:render section="Main"/>
+</main>
+
+<f:render partial="Footer" arguments="{_all}"/>
+
+</html>

+ 7 - 0
Resources/Private/Layouts/Page/Iframe.html

@@ -0,0 +1,7 @@
+<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
+
+<main role="main">
+  <f:render section="Main"/>
+</main>
+
+</html>

+ 119 - 0
Resources/Private/Partials/Content/Menu/Menu.html

@@ -0,0 +1,119 @@
+<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
+
+<f:if condition="{menu}">
+  <f:switch expression="{layout}">
+    <f:case value="1">
+      <f:render section="MenuCategories"
+                arguments="{menu: menu, files: files, data: data}"/>
+    </f:case>
+    <f:defaultCase>
+      <f:render section="MenuDefault"
+                arguments="{menu: menu, files: files, data: data}"/>
+    </f:defaultCase>
+  </f:switch>
+</f:if>
+
+<f:section name="MenuDefault">
+  <div class="row">
+    <f:for each="{menu}" as="page">
+
+      <a href="{page.link}"
+         class="col"
+         title="{page.title}"
+         {f:if(condition: page.target, then: ' target="{page.target}"')}
+      >
+      <div class="col-wrapper">
+        <div class="contentwrapper">
+          <div class="row">
+            <div class="col teasertext">
+              <p class="text">{page.title}</p>
+              <p class="category big">{page.data.subtitle}</p>
+            </div>
+          </div>
+        </div>
+
+        <f:if condition="{page.files -> f:count()}">
+          <f:then>
+            <picture>
+              <source media="(min-width: 1200px)"
+                      srcset="{f:uri.image(image: page.files.0, maxWidth: 800, cropVariant: 'desktop')}"/>
+              <source media="(max-width: 1200px)"
+                      srcset="{f:uri.image(image: page.files.0, maxWidth: 370, cropVariant: 'tablet')}"/>
+              <source media="(max-width: 750px)"
+                      srcset="{f:uri.image(image: page.files.0, maxWidth: 720, cropVariant: 'mobile')}"/>
+
+              <f:image image="{page.files.0}" maxWidth="800" cropVariant="desktop" class="img-responsive hero"/>
+            </picture>
+          </f:then>
+          <f:else>
+            <f:comment><!-- @TODO: default image --></f:comment>
+          </f:else>
+        </f:if>
+      </div>
+      </a>
+
+    </f:for>
+  </div>
+</f:section>
+
+<f:section name="MenuCategories">
+  <section class="bluredtitle bluebg contact">
+    <div class="blurtitle-inner">
+      <div class="blur"></div>
+
+      <f:if condition="{files -> f:count()}">
+        <picture>
+          <source srcset="{f:uri.image(image: files.0, width: 992, cropVariant: 'mobile')}"
+                  media="(max-width: 992px)">
+          <source srcset="{f:uri.image(image: files.0, width: 1200, cropVariant: 'tablet')}"
+                  media="(max-width: 1200px)">
+          <source srcset="{f:uri.image(image: files.0, width: 1800, cropVariant: 'desktop')}"
+                  media="(min-width: 1200px)">
+
+          <f:image image="{files.0}" width="1800" cropVariant="desktop"/>
+        </picture>
+      </f:if>
+    </div>
+    <div class="container intro">
+      <div class="row">
+        <div class="col-md-12 col-12">
+          <f:cObject typoscriptObjectPath="lib.breadcrumb"/>
+        </div>
+      </div>
+
+      <div class="highlightbox contactfilter national">
+        <div class="container contactfiltercontent">
+          <div class="row">
+            <div class="col-md-8 col-12">
+              <f:if condition="{data.header}">
+                <p class="h2">
+                  {data.header}
+                </p>
+              </f:if>
+
+              <f:if condition="{data.subheader}">
+                <p>{data.subheader}</p>
+              </f:if>
+
+              <ul class="nav nav-tabs nav-tabs-accordion" role="tablist">
+                <f:for each="{menu}" as="page">
+                  <li class="nav-item" role="presentation">
+                    <a href="{page.link}"
+                       class="nav-link{f:if(condition: '{page.active} || {page.current}', then: ' active')}"
+                       title="{page.title}"
+                       {f:if(condition: page.target, then: ' target="{page.target}"')}
+                    >
+                      <span>{page.title}</span>
+                    </a>
+                  </li>
+                </f:for>
+              </ul>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+  </section>
+</f:section>
+
+</html>

+ 39 - 0
Resources/Private/Partials/Form/Navigation.html

@@ -0,0 +1,39 @@
+<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
+      xmlns:formvh="http://typo3.org/ns/TYPO3/CMS/Form/ViewHelpers"
+      data-namespace-typo3-fluid="true">
+
+<nav class="form-navigation">
+  <div class="btn-toolbar" role="toolbar">
+    <div class="btn-group" role="group">
+      <f:if condition="{form.previousPage}">
+        <span class="btn-group previous">
+          <f:form.hidden property="__currentPage"
+                         value="{form.previousPage.index}"
+                         respectSubmittedDataValue="false"/>
+          <f:form.button type="button"
+                         onclick="document.forms['{form.formDefinition.identifier}'].submit();"
+                         class="btn btn-cancel"
+                         formnovalidate="formnovalidate">{formvh:translateElementProperty(element: form.currentPage, renderingOptionProperty: 'previousButtonLabel')}</f:form.button>
+        </span>
+      </f:if>
+      <f:if condition="{form.nextPage}">
+        <f:then>
+          <span class="btn-group next">
+            <f:form.button property="__currentPage" value="{form.nextPage.index}" class="btn btn-primary">{formvh:translateElementProperty(element: form.currentPage, renderingOptionProperty: 'nextButtonLabel')}</f:form.button>
+          </span>
+        </f:then>
+        <f:else>
+          <span class="btn-group next submit">
+            <f:form.button property="__currentPage"
+                           value="{form.pages -> f:count()}"
+                           class="btn btn-primary">
+              {formvh:translateElementProperty(element: form, renderingOptionProperty: 'submitButtonLabel')}
+            </f:form.button>
+          </span>
+        </f:else>
+      </f:if>
+    </div>
+  </div>
+</nav>
+
+</html>

+ 27 - 0
Resources/Private/Partials/Page/Breadcrumb.html

@@ -0,0 +1,27 @@
+<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
+
+<f:comment>
+  <!-- Use <f:cObject typoscriptObjectPath="lib.breadcrumb"/> since this will be used within CE and DCE templates aswell -->
+</f:comment>
+
+<section class="breadcrumb">
+  <div class="breadcrumbwrapper">
+    <div class="container">
+      <div class="row">
+        <div class="col">
+          <ul>
+            <f:for each="{breadcrumbnavigation}" as="item">
+              <li class="{f:if(condition: item.current, then: 'active')}">
+                <a href="{item.link}" target="{f:if(condition: item.target, then: item.target, else: '_self')}">
+                  {item.title}
+                </a>
+              </li>
+            </f:for>
+          </ul>
+        </div>
+      </div>
+    </div>
+  </div>
+</section>
+
+</html>

+ 85 - 0
Resources/Private/Partials/Page/Footer.html

@@ -0,0 +1,85 @@
+<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
+
+<footer class="bg_footer">
+  <div class="container py-5 z-1 position-relative quicknav">
+    <div class="row align-items-end">
+      <div class="address col-12 col-sm-8 col-md-7 col-lg-8 col-xl-10 text-start">
+        <address class="mb-0">
+          <f:comment>
+            Wer auch immer das hier finden sollte,
+            Es gibt ein Problem mit Fluid. {f:...} wird nicht geparst.
+            Ich habe keine Lösung gefunden, desswegen hier ein Workaround:
+          </f:comment>
+          <img src="<f:uri.resource path='Images/logo/logo.png' extensionName='bagger_site_package' absolute='true' />" class="svg w-auto color-white svg mb-3" alt="Logo">
+
+          <p>Josef Hehmann Bagger- und Fuhrbetrieb GmbH<br>
+            Vor dem Venne 4<br>
+            49196 Bad Laer</p>
+          <p>
+            <span>
+              <a href="tel:05424/64478-0">
+                <svg id="Ebene__1" data-name="Ebene 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512.02 512.02" class="icon-phone">
+                  <defs>
+                    <style>
+                          .cls-1 {
+                            fill: #fff;
+                          }
+                    </style>
+                  </defs>
+                  <path class="cls-1" d="M164.9,24.62c-7.7-18.6-28-28.5-47.4-23.2L29.5,25.42C12.1,30.22,0,46.02,0,64.02c0,247.4,200.6,448,448,448,18,0,33.8-12.1,38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3,11.6l-40.4,49.3c-70.4-33.3-127.4-90.3-160.7-160.7l49.3-40.3c13.7-11.2,18.4-30,11.6-46.3l-40-96v-.1Z"/>
+                </svg> 05424/64478-0 <br>
+              </a>
+            </span>
+
+            <span>
+              <a href="mailto:info@j-hehmann.de">
+                <svg id="Ebene_1" data-name="Ebene 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" class="icon-at">
+                  <defs>
+                    <style>
+                        .cls-1 {
+                          fill: #fff;
+                        }
+                    </style>
+                  </defs>
+                  <path class="cls-1" d="M10,20c-1.38,0-2.68-.26-3.9-.79s-2.28-1.24-3.18-2.14-1.61-1.96-2.14-3.18-.79-2.52-.79-3.9.26-2.68.79-3.9,1.24-2.28,2.14-3.18,1.96-1.61,3.18-2.14,2.52-.79,3.9-.79,2.68.26,3.9.79,2.28,1.24,3.18,2.14,1.61,1.96,2.14,3.18.79,2.52.79,3.9v1.45c0,.98-.34,1.82-1.01,2.51s-1.5,1.04-2.49,1.04c-.58,0-1.13-.13-1.65-.38s-.95-.61-1.3-1.08c-.48.48-1.03.85-1.64,1.09s-1.25.36-1.91.36c-1.38,0-2.56-.49-3.54-1.46s-1.46-2.15-1.46-3.54.49-2.56,1.46-3.54,2.15-1.46,3.54-1.46,2.56.49,3.54,1.46,1.46,2.15,1.46,3.54v1.45c0,.43.14.8.43,1.1s.64.45,1.08.45.79-.15,1.08-.45.43-.67.43-1.1v-1.45c0-2.23-.78-4.13-2.33-5.68s-3.44-2.33-5.68-2.33-4.13.78-5.68,2.33-2.33,3.44-2.33,5.68.78,4.13,2.33,5.68,3.44,2.33,5.68,2.33h5v2h-5ZM10,13c.83,0,1.54-.29,2.13-.88s.88-1.29.88-2.13-.29-1.54-.88-2.13-1.29-.88-2.13-.88-1.54.29-2.13.88-.88,1.29-.88,2.13.29,1.54.88,2.13,1.29.88,2.13.88Z"/>
+                </svg> info@j-hehmann.de
+              </a>
+            </span>
+          </p>
+        </address>
+      </div>
+      <div class="footer-da col-12 col-sm-8 col-md-5 col-lg-4 col-xl-2">
+        <f:comment>
+          Wer auch immer das hier finden sollte,
+          Es gibt ein Problem mit Fluid. {f:...} wird nicht geparst.
+          Ich habe keine Lösung gefunden, desswegen hier ein Workaround:
+        </f:comment>
+
+        <img src="<f:uri.resource path='Images/logo_deutscher_abbruchverband.png' extensionName='bagger_site_package' absolute='true' />" alt="Deutscher Abbruchverband">
+      </div>
+    </div>
+  </div>
+
+  <div class="subfooter border-top border-1 container z-1 position-relative">
+    <div class="row align-items-end">
+      <div class="col-12 col-xl-9 text-center text-xl-start">
+        <span class="text-light">
+          <span class="col-12 col-lg-auto d-inline-block d-lg-inline mb-lg-0 mb-md-2 mb-0">
+                 © <f:format.date format="Y">now</f:format.date>&nbsp;{companyName}</span>
+        </span>
+      </div>
+      <div class="mt-xl-0 ms-auto col-xl-3 col-12 ps-0 pe-0 d-flex justify-content-center justify-content-xl-end socialiconwrapper">
+        <f:render partial="Footer/Legalnavigation" arguments="{_all}"/>
+      </div>
+    </div>
+    <!-- backtotop -->
+    <a href="#hero" class="backtotop" title="Nach oben scrollen">
+      <span class="text-light text-center d-flex justify-content-center align-items-center">
+        <i class="bi bi-chevron-up"></i>
+      </span>
+    </a>
+    <!-- end backtotop -->
+  </div>
+</footer>
+
+</html>

+ 9 - 0
Resources/Private/Partials/Page/Footer/Legalnavigation.html

@@ -0,0 +1,9 @@
+<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
+
+<f:for each="{legalnavigation}" as="item" iteration="iterator">
+  <a class="footer-links" href="{item.link}">
+    {item.title}
+  </a>
+</f:for>
+
+</html>

+ 134 - 0
Resources/Private/Partials/Page/General/Socials.html

@@ -0,0 +1,134 @@
+<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
+
+<f:if condition="{linkedInLink}">
+  <f:link.typolink parameter="{linkedInLink}" class="socialicon" target="_blank">
+    <svg version="1.1"
+         id="Ebene_1"
+         xmlns="http://www.w3.org/2000/svg"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         x="0px"
+         y="0px"
+         viewBox="0 0 11.3 10.8"
+         style="enable-background:new 0 0 11.3 10.8;"
+         xml:space="preserve">
+      <g>
+        <path d="M1.4,0c0.2,0,0.4,0,0.6,0.1s0.3,0.1,0.4,0.3s0.2,0.2,0.3,0.4s0.1,0.3,0.1,0.5c0,0.2,0,0.4-0.1,0.5S2.5,2,2.4,2.1
+                          S2.1,2.4,1.9,2.4S1.6,2.5,1.4,2.5h0c-0.2,0-0.4,0-0.6-0.1S0.5,2.3,0.4,2.1S0.2,1.9,0.1,1.7S0,1.4,0,1.2c0-0.2,0-0.3,0.1-0.5
+                          s0.2-0.3,0.3-0.4s0.3-0.2,0.4-0.3S1.2,0,1.4,0z M0.1,3.5v7.3h2.4V3.5H0.1z M8.5,3.3c0.4,0,0.8,0.1,1.1,0.2s0.6,0.3,0.9,0.6
+                          s0.4,0.6,0.6,1s0.2,0.9,0.2,1.5v4.2H8.9V6.9c0-0.2,0-0.5-0.1-0.7S8.7,5.8,8.6,5.7S8.4,5.4,8.2,5.4S7.9,5.2,7.6,5.2
+                          c-0.2,0-0.3,0-0.4,0.1S6.9,5.4,6.8,5.5S6.6,5.7,6.6,5.8S6.4,6,6.4,6.1c0,0,0,0.1,0,0.1s0,0.1,0,0.1s0,0.1,0,0.2s0,0.1,0,0.2v4.1
+                          H3.9c0-1.6,0-2.9,0-3.9c0-1,0-1.7,0-2.2s0-0.9,0-1.2h2.4v1.1c0.1-0.1,0.2-0.3,0.3-0.4s0.3-0.3,0.4-0.4s0.4-0.2,0.6-0.3
+                          S8.2,3.3,8.5,3.3z"/>
+      </g>
+    </svg>
+  </f:link.typolink>
+</f:if>
+<f:if condition="{youtubeLink}">
+  <f:link.typolink parameter="{youtubeLink}" class="socialicon" target="_blank">
+    <svg version="1.1"
+         id="Ebene_1"
+         xmlns="http://www.w3.org/2000/svg"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         x="0px"
+         y="0px"
+         viewBox="0 0 12.8 9"
+         style="enable-background:new 0 0 12.8 9;"
+         xml:space="preserve">
+      <g>
+        <path d="M12.5,1.4c0.1,0.4,0.2,1.1,0.2,1.9l0,1.2l0,1.2c0,0.9-0.1,1.5-0.2,1.9c-0.1,0.3-0.2,0.5-0.4,0.7s-0.4,0.3-0.7,0.4
+												C11,8.9,10,8.9,8.5,9L6.4,9L4.3,9c-1.5,0-2.5-0.1-2.9-0.2C1.1,8.7,0.9,8.5,0.7,8.3S0.3,7.9,0.3,7.6C0.1,7.2,0.1,6.5,0,5.7l0-1.2
+												c0-0.3,0-0.7,0-1.2c0-0.9,0.1-1.5,0.2-1.9c0.1-0.3,0.2-0.5,0.4-0.7s0.4-0.3,0.7-0.4C1.8,0.1,2.8,0.1,4.3,0l2.1,0l2.1,0
+												c1.5,0,2.5,0.1,2.9,0.2c0.3,0.1,0.5,0.2,0.7,0.4S12.5,1.1,12.5,1.4z M5.1,6.4l3.4-1.9L5.1,2.6V6.4z"/>
+      </g>
+    </svg>
+  </f:link.typolink>
+</f:if>
+<f:if condition="{xingLink}">
+  <f:link.typolink parameter="{xingLink}" class="socialicon" target="_blank">
+    <svg version="1.1"
+         id="Ebene_1"
+         xmlns="http://www.w3.org/2000/svg"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         x="0px"
+         y="0px"
+         viewBox="0 0 9 10.5"
+         style="enable-background:new 0 0 9 10.5;"
+         xml:space="preserve">
+      <g>
+        <path d="M3.2,5.2l-1,1.8C2.1,7.3,1.9,7.4,1.8,7.4H0.2c-0.1,0-0.2,0-0.2-0.1S0,7.1,0,7l1.6-2.9c0,0,0,0,0,0l-1-1.8
+												c0-0.1,0-0.2,0-0.2s0.1-0.1,0.2-0.1h1.5c0.2,0,0.3,0.1,0.4,0.3l1.1,1.8C3.8,4.2,3.6,4.6,3.2,5.2z M5.6,6.3l2.1,3.9
+												c0,0.1,0.1,0.2,0,0.2s-0.1,0.1-0.2,0.1H6c-0.2,0-0.3-0.1-0.4-0.3l-2.2-4l3.4-6C6.9,0.1,7.1,0,7.2,0h1.5C8.9,0,8.9,0,9,0.1
+												s0,0.1,0,0.2L5.6,6.3z"/>
+      </g>
+    </svg>
+  </f:link.typolink>
+</f:if>
+<f:if condition="{twitterLink}">
+  <f:link.typolink parameter="{twitterLink}" class="socialicon" target="_blank">
+    <svg version="1.1"
+         id="Ebene_1"
+         xmlns="http://www.w3.org/2000/svg"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         x="0px"
+         y="0px"
+         viewBox="0 0 12 9.8"
+         style="enable-background:new 0 0 12 9.8;"
+         xml:space="preserve">
+      <g>
+        <path d="M10.8,2.7C10.8,3.9,10.5,5,10,6C9.4,7.1,8.6,8,7.6,8.6C6.5,9.4,5.2,9.8,3.8,9.8C2.4,9.8,1.1,9.4,0,8.6c0.2,0,0.4,0,0.6,0
+												c1.1,0,2.2-0.4,3.1-1.1c-0.5,0-1-0.2-1.4-0.5S1.5,6.4,1.4,5.9c0.2,0,0.3,0,0.4,0c0.2,0,0.4,0,0.7-0.1C1.9,5.8,1.4,5.5,1.1,5
+												S0.5,4,0.5,3.5v0c0.3,0.2,0.7,0.3,1.1,0.3C1.3,3.5,1,3.2,0.8,2.9S0.5,2.1,0.5,1.7s0.1-0.8,0.4-1.2c0.6,0.8,1.4,1.4,2.2,1.8
+												S4.9,3,5.9,3c0-0.2,0-0.4,0-0.6C5.9,2,6,1.6,6.2,1.2s0.5-0.7,0.9-0.9S7.9,0,8.3,0c0.4,0,0.7,0.1,1,0.2s0.6,0.3,0.8,0.6
+												c0.6-0.1,1.1-0.3,1.6-0.6c-0.2,0.6-0.5,1-1.1,1.4c0.5-0.1,0.9-0.2,1.4-0.4c-0.3,0.5-0.8,0.9-1.2,1.3C10.8,2.5,10.8,2.6,10.8,2.7z"/>
+      </g>
+    </svg>
+  </f:link.typolink>
+</f:if>
+<f:if condition="{facebookLink}">
+  <f:link.typolink parameter="{facebookLink}" class="socialicon" target="_blank">
+    <svg version="1.1"
+         id="Ebene_1"
+         xmlns="http://www.w3.org/2000/svg"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         x="0px"
+         y="0px"
+         viewBox="0 0 6.2 12"
+         style="enable-background:new 0 0 6.2 12;"
+         xml:space="preserve">
+      <g>
+        <path d="M1.8,6.6H0V4.5h1.8V2.8c0-0.9,0.2-1.6,0.8-2.1S3.7,0,4.5,0c0.7,0,1.2,0,1.6,0.1V2H5.1C4.6,2,4.4,2.1,4.2,2.3
+												C4.1,2.4,4,2.7,4,3v1.5h2L5.7,6.6H4V12H1.8V6.6z"/>
+      </g>
+    </svg>
+  </f:link.typolink>
+</f:if>
+<f:if condition="{instagramLink}">
+  <f:link.typolink parameter="{instagramLink}" class="socialicon" target="_blank">
+    <svg version="1.1"
+         id="Ebene_1"
+         xmlns="http://www.w3.org/2000/svg"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         x="0px"
+         y="0px"
+         viewBox="0 0 10.5 10.5"
+         style="enable-background:new 0 0 10.5 10.5;"
+         xml:space="preserve">
+      <g>
+        <path d="M10.5,3.1c0,0.4,0,1.2,0,2.2s0,1.7,0,2.2s-0.1,0.8-0.2,1.2c-0.1,0.4-0.4,0.7-0.6,1c-0.3,0.3-0.6,0.5-1,0.6
+												c-0.3,0.1-0.7,0.2-1.2,0.2s-1.2,0-2.2,0s-1.7,0-2.2,0s-0.8-0.1-1.2-0.2c-0.4-0.1-0.7-0.3-1-0.6S0.4,9,0.2,8.6
+												C0.1,8.3,0.1,7.9,0,7.4s0-1.2,0-2.2s0-1.7,0-2.2s0.1-0.8,0.2-1.2c0.1-0.4,0.4-0.7,0.6-1s0.6-0.5,1-0.6C2.2,0.1,2.6,0.1,3.1,0
+												s1.2,0,2.2,0S7,0,7.4,0s0.8,0.1,1.2,0.2c0.4,0.1,0.7,0.4,1,0.6c0.3,0.3,0.5,0.6,0.6,1C10.4,2.2,10.4,2.6,10.5,3.1z M9.4,8.3
+												c0.1-0.3,0.2-0.7,0.2-1.3c0-0.3,0-0.8,0-1.5V4.9c0-0.6,0-1.1,0-1.5c0-0.6-0.1-1-0.2-1.3c-0.2-0.5-0.5-0.8-1-1C8.1,1.1,7.7,1,7.1,1
+												c-0.3,0-0.8,0-1.5,0H4.9c-0.6,0-1.1,0-1.5,0c-0.6,0-1,0.1-1.3,0.2c-0.5,0.2-0.8,0.5-1,1C1.1,2.4,1,2.8,1,3.4c0,0.3,0,0.8,0,1.5v0.8
+												c0,0.6,0,1.1,0,1.5c0,0.6,0.1,1,0.2,1.3c0.2,0.5,0.5,0.8,1,1c0.3,0.1,0.7,0.2,1.3,0.2c0.3,0,0.8,0,1.5,0h0.8c0.6,0,1.1,0,1.5,0
+												c0.6,0,1-0.1,1.3-0.2C8.8,9.1,9.2,8.8,9.4,8.3z M5.2,2.6c0.5,0,0.9,0.1,1.3,0.4s0.7,0.6,1,1s0.4,0.9,0.4,1.3S7.8,6.2,7.6,6.6
+												s-0.6,0.7-1,1S5.7,7.9,5.2,7.9S4.3,7.8,3.9,7.6s-0.7-0.6-1-1S2.6,5.7,2.6,5.2s0.1-0.9,0.4-1.3s0.6-0.7,1-1S4.8,2.6,5.2,2.6z M5.2,7
+												c0.5,0,0.9-0.2,1.2-0.5S7,5.7,7,5.2S6.8,4.4,6.5,4S5.7,3.5,5.2,3.5S4.4,3.7,4,4S3.5,4.8,3.5,5.2S3.7,6.1,4,6.5S4.8,7,5.2,7z
+												 M8.7,2.4c0-0.2-0.1-0.3-0.2-0.4S8.2,1.8,8.1,1.8S7.7,1.9,7.6,2S7.4,2.3,7.4,2.4s0.1,0.3,0.2,0.4s0.3,0.2,0.4,0.2S8.4,3,8.5,2.9
+												S8.7,2.6,8.7,2.4z"/>
+      </g>
+    </svg>
+  </f:link.typolink>
+</f:if>
+
+</html>

+ 19 - 0
Resources/Private/Partials/Page/Header.html

@@ -0,0 +1,19 @@
+<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
+
+  <header>
+    <nav class="navbar navbar-expand-lg navbar-light fixed-top" id="mainNav">
+      <div class="container wrapper">
+        <a class="navbar-brand"  href="{f:uri.page(pageUid: 1)}">
+          <img class="svg w-auto color-white" src="{f:uri.resource(path: 'Images/logo/logo-pink.jpg', extensionName: 'bagger_site_package')}" alt="Josef Hehmann">
+        </a>
+        <button class="navbar-toggler navbar-toggler-right" type="button" data-bs-toggle="collapse" data-bs-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
+          <i class="bi bi-list"></i>&nbsp;Menü
+        </button>
+
+        <div class="collapse navbar-collapse" id="navbarResponsive">
+          <f:render partial="Mainnavigation" arguments="{_all}"/>
+        </div>
+      </div>
+    </nav>
+  </header>
+</html>

+ 37 - 0
Resources/Private/Partials/Page/Mainnavigation.html

@@ -0,0 +1,37 @@
+<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
+
+<f:comment><!--
+<f:asset.css identifier="bagger_navigation" href="EXT:bagger_site_package/Resources/Public/Css/bagger-navigation.css" />
+-->
+</f:comment>
+
+<ul class="navbar-nav ms-auto m-t-2">
+  <f:for each="{mainnavigation}" as="level1item" iteration="iteratorLevel1">
+    <f:render section="NavigationItem" arguments="{item: level1item, iteratorLevel1: iteratorLevel1}"/>
+  </f:for>
+  <li class="nav-item">
+    <a href="tel:05424/64478-0" class="social-button">
+      <span class="toggle">
+        <img src="{f:uri.resource(path: 'Images/phone.svg', extensionName: 'bagger_site_package')}" alt="Phone" class="phone svg">
+      </span>
+    </a>
+  </li>
+</ul>
+
+<f:section name="NavigationItem">
+
+  <li class="nav-item">
+    <a href="{item.link}" class="nav-link">
+      {item.title}
+    </a>
+    <f:if condition="{item.hasSubpages}">
+      <ul>
+        <f:for each="{item.children}" as="child">
+          <f:render section="NavigationItem" arguments="{item: child}"/>
+        </f:for>
+      </ul>
+    </f:if>
+  </li>
+</f:section>
+
+</html>

+ 9 - 0
Resources/Private/Templates/Content/MenuCategorized.html

@@ -0,0 +1,9 @@
+<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
+
+<f:layout name="Default"/>
+
+<f:section name="Main">
+  <f:render partial="Menu/Menu" arguments="{menu: menu, layout: data.layout, files: files, data: data}"/>
+</f:section>
+
+</html>

+ 9 - 0
Resources/Private/Templates/Content/MenuPages.html

@@ -0,0 +1,9 @@
+<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
+
+<f:layout name="Default"/>
+
+<f:section name="Main">
+  <f:render partial="Menu/Menu" arguments="{menu: menu, layout: data.layout, files: files, data: data}"/>
+</f:section>
+
+</html>

+ 9 - 0
Resources/Private/Templates/Content/MenuRecentlyUpdated.html

@@ -0,0 +1,9 @@
+<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
+
+<f:layout name="Default"/>
+
+<f:section name="Main">
+  <f:render partial="Menu/Menu" arguments="{menu: menu, layout: data.layout}"/>
+</f:section>
+
+</html>

+ 9 - 0
Resources/Private/Templates/Content/MenuRelatedPages.html

@@ -0,0 +1,9 @@
+<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
+
+<f:layout name="Default"/>
+
+<f:section name="Main">
+  <f:render partial="Menu/Menu" arguments="{menu: menu, layout: data.layout}"/>
+</f:section>
+
+</html>

+ 28 - 0
Resources/Private/Templates/Content/MenuSection.html

@@ -0,0 +1,28 @@
+<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
+
+<f:layout name="Default"/>
+
+<f:section name="Main">
+  <nav class="ce-jumpmarkwrapper navbar" id="jumpmarks">
+    <f:if condition="{menu}">
+      <f:for each="{menu}" as="page">
+        <f:if condition="{page.content}">
+          <ul class="nav">
+            <f:for each="{page.content}" as="element">
+              <f:if condition="{element.data.header}">
+                <li class="nav-item">
+                  <a href="#c{element.data.uid}" title="{element.data.header}" class="nav-link">
+                    <span>{element.data.header}</span>
+                  </a>
+                </li>
+              </f:if>
+            </f:for>
+          </ul>
+
+        </f:if>
+      </f:for>
+    </f:if>
+  </nav>
+</f:section>
+
+</html>

+ 9 - 0
Resources/Private/Templates/Content/MenuSubpages.html

@@ -0,0 +1,9 @@
+<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
+
+<f:layout name="Default"/>
+
+<f:section name="Main">
+  <f:render partial="Menu/Menu" arguments="{menu: menu, layout: data.layout, files: files, data: data}"/>
+</f:section>
+
+</html>

+ 26 - 0
Resources/Private/Templates/Lib/Breadcrumb.html

@@ -0,0 +1,26 @@
+<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
+      data-namespace-typo3-fluid="true">
+
+<f:if condition="{breadcrumbnavigation -> f:count()}">
+  <div class="breadcrumb">
+    <ul>
+      <f:for each="{breadcrumbnavigation}" as="item" iteration="iterator">
+        <li>
+          <a href="{item.link}">
+            <f:if condition="{iterator.isFirst}">
+              <f:then>
+                <img src="{f:uri.resource(path: 'Icons/home.svg', extensionName: 'bagger_site_package')}"
+                     alt="{item.title}"/>
+              </f:then>
+              <f:else>
+                {item.title}
+              </f:else>
+            </f:if>
+          </a>
+        </li>
+      </f:for>
+    </ul>
+  </div>
+</f:if>
+
+</html>

+ 13 - 0
Resources/Private/Templates/Page/Default.html

@@ -0,0 +1,13 @@
+<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
+
+<f:layout name="Default"/>
+
+<f:section name="Main">
+  <f:cObject typoscriptObjectPath="lib.dynamicContent" data="{colPos: '0'}"/>
+</f:section>
+
+<f:section name="Header">
+  <f:cObject typoscriptObjectPath="lib.dynamicContent" data="{colPos: '3'}"/>
+</f:section>
+
+</html>

+ 9 - 0
Resources/Private/Templates/Page/Iframe.html

@@ -0,0 +1,9 @@
+<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
+
+<f:layout name="Iframe"/>
+
+<f:section name="Main">
+  <f:cObject typoscriptObjectPath="lib.dynamicContent" data="{colPos: '0'}"/>
+</f:section>
+
+</html>

+ 301 - 0
Resources/Public/Css/default_form_formframework.scss

@@ -0,0 +1,301 @@
+.ce.ce-form_formframework {
+    margin-top: 2rem;
+
+    h2, .h2 {
+        padding-left: 0 !important;
+        display: none;
+    }
+   .input,
+   [class^='captcha'],
+   [class*='captcha'] {
+        margin-bottom: 2rem;
+        flex: 0 0 auto;
+        width: 50%;
+        position: relative;
+        border-radius: 0;
+        @media (max-width: 767.98px){
+            width: 100%;
+        }
+
+        &:nth-of-type(even) {
+            padding-right: 0;
+            @media (max-width: 767.98px){
+                padding-left: 0;
+            }
+            @media (min-width: 768px){
+                label {
+                    left: 30px;
+                    &.input-has-value {
+                        left: 15px !important;
+                    }
+                }
+                input, textarea, select {
+                    &:focus, &:not(:empty) {
+                        + label {
+                            left: 15px;
+                        }
+                    }
+                }
+                &[class^='singleselect'],
+                &[class*='singleselect'] {
+                    &::after {
+                        right: 1rem;
+                    }
+                }
+                .error {
+                    right: 0;
+                }
+            }
+        }
+        &:nth-of-type(odd) {
+            padding-left: 0;
+            @media (max-width: 767.98px){
+                padding: 0;
+            }
+        }
+        &[class^='textarea'],
+        &[class*='textarea'],
+        &[class^='fileupload'],
+        &[class*='fileupload'],
+        &.checkbox {
+            width: 100%;
+            padding-right: 0;
+            padding-left: 0;
+           // margin-bottom: 0;
+        }
+        &[class^='textarea'],
+        &[class*='textarea'] {
+            & + .input {
+                margin-top: -10px;
+            }
+        }
+        &[class^='fileupload'],
+        &[class*='fileupload'] {
+            label {
+                color: $color_brand_dark;
+                font-size: 0.8rem;
+                top: -35px;
+                left: 0;
+                pointer-events: none;
+            }
+            input {
+                padding-top: 8px;
+            }
+        }
+        label {
+            top: 0;
+            left: 15px;
+            right: 0;
+            color: $color_basic;;
+            display: flex;
+            align-items: center;
+            position: absolute;
+            font-weight: 300;
+            cursor: text;
+            transition: .2s ease-in-out;
+            box-sizing: border-box;
+            width: 100%;
+            height: 50px;
+        }
+        input, textarea {
+            background-color: rgba($color_basic,0.15);
+            border: 0;
+            outline: none;
+            transition: .2s ease-in-out;
+            box-sizing: border-box;
+            width: 100%;
+            height: 50px;
+            font-size: 1rem;
+            border-radius: 0;
+            padding: 0 15px;
+        }
+        select {
+            width: 100%;
+            background-color: rgba($color_basic,0.15);
+            font-weight: 300;
+            padding-left: 15px;
+            border: none;
+            height: 50px;
+            appearance: none;
+        }
+
+        textarea {
+            padding-top: 13px;
+            min-height: 150px;
+        }
+        input, textarea, select {
+            color: $color_basic;
+            font-weight: 300;
+            &:focus {
+                border-bottom: 1px solid $color_brand;
+                + label {
+                    color: $color_brand_dark;
+                    font-size: 0.8rem;
+                    top: -35px;
+                    left: 0;
+                    pointer-events: none;
+                }
+            }
+            &.error,
+            &.f3-form-error {
+				border: 1px solid $color_red;
+			}
+            &:not(:empty) {
+                + label {
+                    color: $color_brand_dark;
+                    font-size: 0.8rem;
+                    top: -35px;
+                    left: 0;
+                    pointer-events: none;
+                }
+            }
+
+            &.parsley-error {
+                border: 1px solid $color_red;
+            }
+        }
+        label.input-has-value {
+            //color: $color_brand_dark;
+            font-size: 0.8rem;
+            top: -35px;
+            left: 0;
+            pointer-events: none;
+        }
+
+
+        &[class^='singleselect'],
+        &[class*='singleselect'] {
+            &::after {
+                @include icon();
+                content: "\f282";
+                position: absolute;
+                right: calc(1rem + 15px);
+                top: 1rem;
+                pointer-events: none;
+                @media (max-width: 767.98px){
+                    right: 1rem;
+                }
+            }
+        }
+        &[class^='checkbox'],
+        &[class*='checkbox'],
+        &[class^='linkedcheckbox'],
+        &[class*='linkedcheckbox'] {
+            padding-left: 10px;
+            float: left;
+            margin-top: .5rem;
+            margin-bottom: .5rem;
+
+            @media (max-width: 767.98px){
+                margin-top: 1rem;
+                margin-bottom: 1rem;
+            }
+
+            .checkbox, .form-check {
+                padding-left: 0;
+                label {
+                    left: 0;
+                    position: relative;
+                    height: auto;
+                }
+                input{
+                    height: auto;
+                    opacity: 0;
+                    position: absolute;
+                    &:checked{
+                        + span:not(.required){
+                            &:before{
+                                content: "\F271";
+                                animation: effect 250ms ease-in;
+                            }
+                        }
+                    }
+                }
+                span:not(.required){
+                    &:before{
+                        content: "\F584";
+                        display: inline-block;
+                        @include icon;
+                        margin-left: -10px;
+                        margin-right: 5px;
+                        color: $color_brand;
+                    }
+                    a {
+                        position: relative;
+                        z-index: 10000;
+                    }
+                }
+                .parsley-error {
+                    &::before {
+                        content: none !important;
+                    }
+                }
+
+            }
+            .parsley-errors-list {
+                position: relative;
+                right: inherit;
+                left: -10px;
+                top: 5px;
+            }
+        }
+        .error {
+            position: absolute;
+            right: 15px;
+            font-size: 0.8rem;
+            top: -20px;
+            pointer-events: none;
+            color: $color_red;
+            @media (max-width: 767.98px){
+                right: 0;
+            }
+        }
+        .captcha {
+            position: absolute;
+            top: 0;
+            padding-top: 0;
+            margin: 0;
+        }
+
+   }
+   [class^='captcha'],
+   [class*='captcha'] {
+       width: 100%;
+       padding-top: 70px;
+       padding-left: 0;
+       margin-top: .75rem;
+       margin-bottom: 0;
+
+       label {
+           top: 70px;
+           left: 15px !important;
+       }
+       input:focus + label,
+       label.input-has-value,
+       &:nth-of-type(even) label.input-has-value {
+           top: calc(-35px + 70px);
+           left: 0 !important;
+       }
+
+   }
+
+   button,
+   .btn-default {
+        border: none !important;
+        font-weight: 300;
+        @include fade();
+        &:hover {
+            background: $color_brand;
+            color: $color_white !important;
+        }
+
+
+    }
+}
+
+@keyframes effect{
+    0%{transform: scale(0);}
+    25%{transform: scale(1.1);}
+    75%{transform: scale(1.2);}
+    100%{transform: scale(1);}
+}

+ 270 - 0
Resources/Public/Css/default_form_powermail.scss

@@ -0,0 +1,270 @@
+.form {	
+	background: $color_white;
+	color: $color_darkgrey;
+	.col, .mb-3 {
+		//position: relative;
+		margin-bottom: 2rem !important;
+		@media (max-width: 1024px) {
+			flex: 1 0 100%;
+		}
+	}
+	.powermail_legend {
+		display: none;
+	}
+	.powermail_fieldwrap_formularabschicken {
+		width: 100%;
+	}
+	.powermail_fieldwrap_loesensiedieaufgabe{
+		.powermail_field{
+			width: calc(90% - 200px);
+		}
+	}
+	.powermail_fieldwrap_type_submit {
+		flex: 0 0 auto;
+		width: 100%;
+		text-align: center;
+		margin-bottom: 0 !important;
+	}
+	.powermail_fieldwrap {
+		&.col-md-6 {
+			&:nth-of-type(even) {
+				padding-right: 0;
+				@media (max-width: 1024px){
+					padding: 0;
+				}
+			}
+			&:nth-of-type(odd) {
+				padding-left: 0;
+				@media (max-width: 1024px){
+					padding: 0;
+				}
+			}
+		}
+		&.col-md-12 {
+			padding: 0;
+		}
+	}
+    .powermail_fieldwrap_type_check{
+        .powermail_field {
+            padding-left: 10px;
+            .checkbox {
+                input{
+                    height: auto;
+                    opacity: 0;
+                    position: absolute;
+                    &:checked{
+                        + span:not(.required){
+                            &:before{
+                                content: "\F271";
+                                animation: effect 250ms ease-in;
+                            }
+                        }
+                    }
+                }
+                span:not(.required){
+                    &:before{
+                        content: "\F584";
+                        display: inline-block;
+                        font-family: bootstrap-icons !important;
+                        font-style: normal;
+                        font-weight: normal !important;
+                        font-variant: normal;
+                        text-transform: none;
+                        line-height: 1;
+                        vertical-align: -0.125em;
+                        -webkit-font-smoothing: antialiased;
+                        -moz-osx-font-smoothing: grayscale;
+                        margin-left: -10px;
+                        margin-right: 5px;
+                    }
+                }
+                &.parsley-error {
+                    input, span:not(.required)  {
+                        &::before {
+                            color: $color_red;
+                        }
+                    }
+                }
+            }
+            .parsley-errors-list {
+                position: relative;
+                right: inherit;
+                left: -10px;
+                top: 5px;
+            }
+        }
+    }
+    
+	.input-container {
+		position: relative;
+		border-radius: 0;
+		input, textarea {
+			background-color: rgba($color_grey,0.10);
+			border: 0;
+			outline: none;
+			transition: .2s ease-in-out;
+			box-sizing: border-box;
+			width: 100%;
+			height: 50px;
+			//font-size: 1rem;
+			color: $color_basic;
+			//font-weight: 700;
+			border-radius: 0;
+			padding: 0 15px;
+			&:valid {
+				+ label {
+					/*color: $darkergrey;
+					font-size: 0.8rem;
+    				top: -35px;
+    				left: 0;
+					pointer-events: none;*/
+				}
+			}
+			&:focus {
+				border-bottom: 1px solid $color_brand;
+				+ label {
+					color: $color_basic;
+					font-size: 0.8rem;
+					top: -35px;
+					left: 0;
+					pointer-events: none;
+				}
+			}
+			&.parsley-error {
+				border: 1px solid $color_red;
+			}
+		}
+		label {
+			top: 0;
+			left: 15px;
+			right: 0;
+			color: $color_basic;
+			display: flex;
+			align-items: center;
+			position: absolute;
+			//font-size: 1.25rem;
+			font-weight: 300;
+			cursor: text;
+			transition: .2s ease-in-out;
+			box-sizing: border-box;
+			width: 100%;
+			height: 50px;
+		}
+		textarea {
+			padding-top: 13px;
+			min-height: 150px;
+		}
+	}
+	.headline {
+		color: $color_white;
+	}
+	input, textarea {
+		border-radius: 0;
+		border: none;
+		//width: 100%;
+	}
+	.powermail_fieldwrap_type_select {
+		position: relative;
+		float: left;
+		select {
+			width: 100%;
+			background: #edf0f0;
+            background-color: rgba($color_grey,0.10);
+			color: $color_basic;
+			font-weight: 300;
+			padding-left: 15px;
+			border: none;
+			height: 50px;
+			appearance: none;
+			background-image: url(../img/midland-it-arrow-abstract-space.svg);
+			background-repeat: no-repeat;
+			background-position: right;
+			background-size: 25px;
+			&.parsley-error {
+				border: 1px solid $color_red;	
+			}
+		}
+		label {
+//			font-size: 0.8rem;
+//			top: -20px;
+//			position: absolute;
+		}
+		
+	}
+	.powermail_fieldwrap_type_file {
+		position: relative;
+		float: left;
+		margin-top: 10px;
+		label {
+			font-size: 0.8rem;
+    		top: -20px;
+    		position: absolute;
+		}
+	}
+	.button, input[type="submit"] {
+		position: relative;
+		float: right;
+		float: none;
+		color: $color_white;
+		background: $color_brand;
+		width: inherit;
+		padding: 10px 15px;
+		text-decoration: none;
+		margin-top: 1rem;
+		border: none;
+		border-radius: 0;
+		@include fade();
+		&:hover {
+			background: $color_white;
+			color: $color_red;
+		}
+	}
+	.powermail_captcha {
+		padding-left: 200px !important;
+	}
+	.powermail_captchaimage {
+		position: absolute;
+		right: 0;
+		height: 50px;
+		@media (max-width: 768px) {
+			position: relative;
+			float: left;
+			right: inherit;
+			margin-top: 15px;
+		}
+	}
+	.parsley-errors-list {
+		position: absolute;
+		right: 5px;
+		top: 5px;
+		top: -20px;
+		color: $color_red;
+		li {
+			list-style: none;
+			font-size: .8rem;
+		}
+	}
+	h3{
+		display: none;
+	}
+//	form{
+//		position: relative;
+//    	float: left;
+//   	width: 100%;
+//    	padding-top: 0;
+//    	padding-bottom: 0;
+//	}
+	&.section{
+		padding-top: 3rem;
+		.h1{
+			margin-bottom: 1rem;
+		}
+	}
+}
+
+@keyframes effect{
+    0%{transform: scale(0);}
+    25%{transform: scale(1.1);}
+    75%{transform: scale(1.2);}
+    100%{transform: scale(1);}
+}

+ 4552 - 0
Resources/Public/Css/default_global.scss

@@ -0,0 +1,4552 @@
+/////////////////////////////////////////////////////
+// FONTS
+/////////////////////////////////////////////////////
+/* roboto-condensed-regular - latin */
+@font-face {
+  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
+  font-family: 'Roboto Condensed';
+  font-style: normal;
+  font-weight: 400;
+  src: url('../Webfonts/roboto-condensed-v30-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+}
+/* roboto-condensed-500 - latin */
+@font-face {
+  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
+  font-family: 'Roboto Condensed';
+  font-style: normal;
+  font-weight: 500;
+  src: url('../Webfonts/roboto-condensed-v30-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+}
+/* roboto-condensed-600 - latin */
+@font-face {
+  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
+  font-family: 'Roboto Condensed';
+  font-style: normal;
+  font-weight: 600;
+  src: url('../Webfonts/roboto-condensed-v30-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+}
+/* roboto-condensed-700 - latin */
+@font-face {
+  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
+  font-family: 'Roboto Condensed';
+  font-style: normal;
+  font-weight: 700;
+  src: url('../Webfonts/roboto-condensed-v30-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+}
+/* roboto-condensed-800 - latin */
+@font-face {
+  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
+  font-family: 'Roboto Condensed';
+  font-style: normal;
+  font-weight: 800;
+  src: url('../Webfonts/roboto-condensed-v30-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+}
+/* roboto-condensed-900 - latin */
+@font-face {
+  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
+  font-family: 'Roboto Condensed';
+  font-style: normal;
+  font-weight: 900;
+  src: url('../Webfonts/roboto-condensed-v30-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+}
+
+/////////////////////////////////////////////////////
+// FONTWEIGHTS
+/////////////////////////////////////////////////////
+$font-weight-base: 500;    // regular
+$font-weight-medium: 600;   //medium
+$font-weight-semibold: 700;    // semibold
+$font-weight-bold: 800;   //bold
+$font-weight-black: 900;   //extrabold
+
+/////////////////////////////////////////////////////
+// FONTSIZES
+/////////////////////////////////////////////////////
+@mixin font-size-base {
+    --font-size: calc(var(--min-size) * 1px + (var(--max-size) - var(--min-size)) * (100cqw - var(--container-min) * 1px) / (var(--container-max) - var(--container-min)));
+    font-size: clamp(var(--min-size) * 1px, var(--font-size), var(--max-size) * 1px) !important;
+}
+
+@mixin h1-font-size {
+    --min-size: 40;
+    --max-size: 100;
+}
+@mixin h2-font-size {
+    --min-size: 37;
+    --max-size: 48;
+}
+@mixin h3-font-size {
+    --min-size: 21;
+    --max-size: 26;
+}
+@mixin h4-font-size {
+    --min-size: 18;
+    --max-size: 24;
+}
+@mixin h5-font-size {
+    --min-size: 17;
+    --max-size: 22;
+}
+@mixin font-size-small {
+    --min-size: 13;
+    --max-size: 14;
+}
+@mixin font-size {
+    --min-size: 17;
+    --max-size: 19;
+}
+
+$h3-font-size: 26;
+
+/////////////////////////////////////////////////////
+// ROOT
+/////////////////////////////////////////////////////
+:root {
+    --swiper-theme-color: $color_brand;
+    // FÜR BUGFIX APPLE DEVICES 100vh
+    --app-height: 100%;
+
+    // FÜR SCHRIFTGRÖSSEN Breakpoints
+    --min-size: 16;
+    --max-size: 20;
+    --container-min: 320;
+    --container-max: 1600;
+    --viewport-min: 320;
+    --viewport-max: 1600;
+}
+/////////////////////////////////////////////////////
+// COLOURS
+/////////////////////////////////////////////////////
+
+$color_basic:         #000000;                       // z.B. Schriftfarbe
+$color_brand:         #F12C8C;                      // Unternehmens Farbe
+$color_brand_dark:    #c92976;                      // Unternehmens Farbe
+$color_brand_light:   #135B3F;                      // Unternehmens Farbe
+
+$color_transparent:   rgba(0, 0, 0, 0);
+
+$color_lightgrey: #EFEFF0;
+$color_white:     #ffffff;
+$color_darkgrey: #606060;
+$color_grey: #808080;
+$color_red: #ff0000;
+
+
+.color-white, .color_white,
+.text-light {
+    color: $color_white;
+    *, h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
+        color: $color_white;
+    }
+
+}
+/////////////////////////////////////////////////////
+// HEADLINES // TEXT
+/////////////////////////////////////////////////////
+
+body {
+    overflow-x: hidden;
+    font-family: 'Roboto Condensed';
+    font-weight: $font-weight-base;
+    @include font-size-base;
+    @include font-size;
+    line-height: 1.8;
+    color: $color_basic;
+    text-wrap: pretty;
+    letter-spacing: 0.1rem;
+    background-color: #EFEFF0;
+}
+
+@mixin headlinebasic {
+    font-weight: $font-weight-bold;
+    color: $color_brand;
+    margin-bottom: 1rem;
+    display: block;
+    text-wrap: balance;
+    @include font-size-base;
+    letter-spacing: 0px;
+}
+
+h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
+    text-shadow: none;
+    @include headlinebasic();
+
+}
+
+h1, .h1 {
+    @include h1-font-size;
+
+}
+h2, .h2 {
+    @include h2-font-size;
+    color: #000000;
+	font-weight: 700 !important;
+    text-shadow: none;
+}
+h3, .h3 {
+    @include h3-font-size;
+    font-weight: 600;
+    color: $color_brand;
+}
+h4, .h4 {
+    @include h4-font-size;
+    margin-bottom: 0;
+
+}
+h5, .h5 {
+    @include h5-font-size;
+    line-height: 1.3;
+
+}
+.subline {
+    margin-bottom: 0;
+    color: $color_brand;
+	letter-spacing: 0.5px;
+}
+
+@mixin icon {
+    font-family: bootstrap-icons !important;
+    font-style: normal;
+    font-weight: normal !important;
+    font-variant: normal;
+    line-height: 1;
+}
+
+i, em {
+    &.bi {
+        @include icon;
+    }
+    font-style: italic;
+}
+
+b, strong {
+    font-weight: $font-weight-bold; 
+}
+a {
+    cursor: pointer;
+    text-decoration: none;
+}
+small, .small, .text-small {
+    @include font-size-small;
+}
+$letter-spacing: .25rem;
+
+.letter-spacing {
+    letter-spacing: $letter-spacing;
+}
+$text-shadow: 0 0 20px rgba($color_basic, .2);
+.text-shadow {
+    text-shadow: $text-shadow;
+}
+
+/////////////////////////////////////////////////////
+// COSTUM MIXINS
+/////////////////////////////////////////////////////
+@mixin vendor-prefix($name, $value){
+    @each $vendor in ('-webkit-', '-moz-', '-ms-', '-o-', ''){
+        #{$vendor}#{$name}: #{$value};
+    }
+}
+@mixin masterfloat {
+    position: relative;
+    float: left;
+    width: 100%;
+}
+@mixin center{
+    position: absolute;
+    left: 50%;
+    top: 50%;
+    @include vendor-prefix('transform', 'translate(-50%,-50%)');
+}
+@mixin vertical-center{
+    position: relative;
+    top: 50%;
+    @include vendor-prefix('transform', 'translateY(-50%)');
+}
+@mixin horizontal-center{
+    position: relative;
+    left: 50%;
+    @include vendor-prefix('transform', 'translateX(-50%)');
+}
+
+@mixin fade {
+    @include vendor-prefix('transition', 'all 0.5s ease-in-out');
+}
+@mixin fade-fast {
+    @include vendor-prefix('transition', 'all 0.25s ease-in-out');
+}
+
+$border-radius: 50px;
+$box-shadow: 0 0 20px rgba($color_basic, .2);
+
+/////////////////////////////////////////////////////
+// BASIC RESETS
+///////////////////////////////////////////////////// 
+
+// Scrollbars
+* {
+    scrollbar-width: thin;
+    scrollbar-color: $color_brand transparent;
+}
+// Schreibweise Firefox // Webkit-Browser – getrennte Schreibweise erforderlich!!!
+::-webkit-scrollbar {
+    width: 10px;
+}
+::-webkit-scrollbar {
+    width: 10px;
+}
+::-webkit-scrollbar-track {
+    background: transparent;
+    -webkit-border-radius: 5px;
+    border-radius: 5px;
+}
+::-webkit-scrollbar-track {
+    background: transparent;
+    -webkit-border-radius: 5px;
+    border-radius: 5px;
+}
+::-webkit-scrollbar-thumb {
+    -webkit-border-radius: 5px;
+    border-radius: 5px;
+    background: $color_brand;
+}
+::-webkit-scrollbar-thumb {
+    -webkit-border-radius: 5px;
+    border-radius: 5px;
+    background: $color_brand;
+}
+// Close Scrollbars
+
+.container {
+    @media (min-width: 1700px) {
+        max-width: 1640px;
+    }
+    @media (max-width: 575.98px){
+        padding-left: 15px !important;
+    }
+}
+.container-fluid{
+    @media (max-width: 767.98px){
+        padding-left: 0px;
+        padding-right: 0px;
+    }
+}
+
+body, table, tr, td {
+    margin: 0;
+    padding: 0;
+}
+* {
+    &:hover,
+    &:focus,
+    &:active {
+        @include fade;
+    }
+}
+a {
+    color: $color_brand;
+    //text-decoration: underline;
+    * {
+        color: $color_brand;
+    }
+    &:hover,
+    &:focus,
+    &:active,
+    &:link {
+        @include fade;
+    }
+    &:active,
+    &:link {
+        color: $color_brand;
+    }
+    &:hover,
+    &:focus {
+        color: $color_brand_dark;
+    }
+
+    i {
+        color: inherit;
+    }
+}
+
+:focus {
+    outline: 0 !important;
+    box-shadow: none !important;
+}
+
+p, .p { 
+    font-weight: 500 !important;
+    line-height: 1.6 !important;
+    display: block;
+    margin-bottom: 1rem;
+    letter-spacing: normal !important;
+    &:last-child, &:last-of-type {
+        margin-bottom: 0;
+        letter-spacing: normal !important;
+    }
+    + .btn {
+        margin-top: 2rem;
+        letter-spacing: normal !important;
+    }
+}
+::selection {
+    background: $color_brand !important;
+    color: white !important;
+}
+*::selection {
+    background: $color_brand !important;
+    color: white !important;
+}
+::-moz-selection{
+    background: $color_brand !important;
+    color: white !important;
+}
+*::-moz-selection {
+    background: $color_brand !important;
+    color: white !important;
+}
+
+
+/////////////////////////////////////////////////////
+// NAVIGATION
+/////////////////////////////////////////////////////
+.navbar {
+    @include fade;
+    background-color: $color_lightgrey;
+    padding: 0 !important;
+
+    .container {
+        @media (max-width: 991.98px) {
+            max-width: 100% !important;
+        }
+    }
+
+    .navbar-collapse {
+        padding-top: 23px;
+        padding-bottom: 23px;
+
+        @media (max-width: 991.98px) {
+            padding-top: 25px;
+            padding-bottom: 25px;
+        }
+    }
+
+    .btn-link {
+        color: #000000;
+        background: transparent !important;
+
+        &.active {
+            color: $color_brand !important;
+        }
+
+        svg {
+            path {
+                fill: #000000;
+            }
+        }
+    }
+
+    .btn {
+        margin-top: 18px;
+        margin-bottom: 18px;
+
+        @media (max-width: 1199.98px) {
+            margin-top: 10px;
+            margin-bottom: 10px;
+        }
+
+        span {
+            &:hover {
+                color: $color_brand !important;
+            }
+            &:active,
+            .active {
+                color: $color_brand !important;
+            }
+        }
+    }
+
+    .navi {
+        color: #000000;
+    }
+
+    .navbar-brand {
+        padding: 0;
+
+        img,
+        .svg {
+            height: 100%;
+            @include fade;
+
+            @media (max-width: 1199.98px) {
+                height: 80px;
+            }
+            @media (max-width: 991.98px) {
+                height: 60px;
+            }
+            @media (max-width: 767.98px) {
+                height: 50px;
+            }
+            @media (max-width: 575.98px) {
+                height: 45.5px;
+            }
+            @media (max-width: 425.98px) {
+                height: 39.5px;
+            }
+        }
+    }
+
+    .phone {
+        color: #000000;
+        padding-left: 10px;
+        height: 25px;
+        width: auto;
+
+        @media (max-width: 425.98px) {
+            height: 20px;
+        }
+    }
+
+    .navbar-toggler {
+        background-color: #f12b8c;
+        color: #fff;
+        border: none;
+        padding: 13px;
+        border-radius: 0;
+
+        @media (max-width: 575.98px) {
+            padding: 11px;
+        }
+        @media (max-width: 425.98px) {
+            padding: 8px 8px;
+        }
+    }
+
+    .wrapper {
+        @media (max-width: 991.98px) {
+            padding-top: 10px;
+            padding-bottom: 10px;
+        }
+    }
+
+    svg path {
+        fill: #000 !important;
+
+        &:hover {
+            fill: $color_brand !important;
+        }
+    }
+
+    .navbar-nav {
+        .nav-item {
+            .social-button {
+                .phone {
+                    margin-top: 7px;
+                }
+            }
+
+            .nav-link {
+                color: #000 !important;
+                position: relative;
+                letter-spacing: 0.8px;
+                font-size: 20px;
+                padding-right: 13px;
+                padding-left: 13px;
+
+                @media (max-width: 991.98px) {
+                    padding: 5px 10px;
+                }
+
+                &:hover {
+                    color: #f12b8c !important;
+                }
+                &.active {
+                    color: #f12b8c !important;
+                }
+            }
+        }
+    }
+}
+
+.shrink {
+    @include fade;
+
+    & * {
+        @include fade;
+    }
+
+    &.navbar {
+        background-color: $color_lightgrey;
+        box-shadow: $box-shadow;
+        padding-top: 0;
+        padding-bottom: 0;
+
+        .navbar-brand {
+            img,
+            .svg {
+                height: 99px !important;
+            }
+
+            svg {
+                height: 99px;
+
+                path {
+                    fill: #000000;
+                }
+            }
+        }
+
+        .navbar-top {
+            opacity: 0;
+            max-height: 0;
+            padding: 0;
+            margin: 0;
+        }
+
+        .btn-link {
+            background: transparent !important;
+
+            svg {
+                path {
+                    fill: #000000;
+                }
+            }
+        }
+    }
+
+    .search {
+        form {
+            button {
+                .nav-icon {
+                    background-color: transparent;
+                    color: $color_brand;
+
+                    * {
+                        color: $color_brand;
+                    }
+
+                    svg path {
+                        fill: $color_brand !important;
+                    }
+                }
+            }
+        }
+
+        &:hover,
+        &:active {
+            form {
+                input {
+                    border: 1px solid rgba($color_brand, .5);
+                }
+            }
+        }
+    }
+}
+
+.modal-open {
+    .btn-link {
+        .bi-list {
+            &::before {
+                content: '\F659';
+            }
+        }
+    }
+}
+
+.modal-fullscreen {
+    margin: 1.5rem auto;
+    width: calc(100vw - 3rem);
+    height: calc(100% - 3rem);
+    overflow-y: scroll;
+}
+
+
+/////////////////////////////////////////////////////
+// FOOTER
+/////////////////////////////////////////////////////
+.footer {
+    .container {
+        @media (max-width: 1099.98px) {
+            padding-left: 25px !important;
+        }
+        @media (max-width: 991.98px) {
+            padding-left: 0px !important;
+        }
+        @media (max-width: 575.98px) {
+            padding-left: 20px !important;
+        }
+    }
+
+    .footer-da {
+        height: 100%;
+        @media (max-width: 991.98px) {
+            margin-top: 30px;
+        }
+    }
+
+    .icon-phone {
+        height: 20px !important;
+        color: #ffffff;
+        padding-right: 5px;
+    }
+
+    .icon-at {
+        height: 20px !important;
+        padding-right: 5px;
+    }
+
+    font-weight: $font-weight-medium;
+    overflow: hidden;
+
+    &::after {
+        content: '';
+        background-color: $color_brand_light;
+        position: absolute;
+        @media (max-width: 991.98px) {
+            width: 100vw;
+            height: 100vw;
+        }
+        @media (max-width: 767.98px) {
+            width: 130vw;
+            height: 130vw;
+        }
+    }
+
+    a,
+    a:link,
+    a:active {
+        color: rgba($color_white, 1);
+
+        &:hover,
+        &:focus {
+            img,
+            svg {
+                path {
+                    fill: $color_white !important;
+                    @include fade;
+                }
+            }
+        }
+    }
+
+    .address {
+        img,
+        svg {
+            height: 65px;
+            width: auto;
+
+            @media (max-width: 991.98px) {
+                height: 55px;
+            }
+            @media (max-width: 767.98px) {
+                height: 50px;
+            }
+            @media (max-width: 575.98px) {
+                height: 45px;
+            }
+            @media (max-width: 425.98px) {
+                height: 40px;
+            }
+            @media (max-width: 229.98px) {
+                height: 30px;
+            }
+        }
+    }
+
+    ul {
+        list-style: none;
+        margin: 0;
+        padding: 0;
+
+        &.big {
+            @include headlinebasic;
+            @include h2-font-size;
+            line-height: 1.2;
+
+            @media (max-width: 575.98px) {
+                @include h3-font-size;
+            }
+        }
+    }
+
+    .quicknav {
+        a {
+            width: 100%;
+            display: inline-block;
+            padding: 0.25rem 0;
+
+            @media (max-width: 767.98px) {
+                padding: 0.5rem 0;
+            }
+        }
+    }
+
+    .subfooter {
+        padding-top: 0px;
+        padding-bottom: 30px;
+
+        @media (min-width: 1700.98px) {
+            padding-top: 30px;
+        }
+        @media (max-width: 1199.98px) {
+            padding-top: 30px;
+        }
+
+        .footer-links {
+            text-align: center;
+
+            @media (max-width: 1399.98px) {
+                padding-right: 10px;
+            }
+            @media (max-width: 767.98px) {
+                width: 100%;
+                align-items: center;
+            }
+            @media (max-width: 575.98px) {
+                width: 85%;
+                align-items: center;
+            }
+        }
+
+        border-color: $color_white !important;
+
+        .text-light {
+            span {
+                letter-spacing: 0px !important;
+            }
+        }
+
+        a {
+            &:hover {
+                @media (max-width: 767.98px) {
+                    color: $color_brand_light !important;
+                    background-color: #fff;
+                    border: #fff solid 1px;
+                }
+                color: white !important;
+            }
+
+            letter-spacing: 0px !important;
+
+            @media (max-width: 767.98px) {
+                display: block;
+                padding: 0.75rem;
+                border: 1px solid;
+                margin-top: 1rem;
+            }
+
+            &::before {
+                @media (min-width: 768px) {
+                    content: '';
+                    padding-left: 2rem;
+                    display: inline-block;
+                }
+            }
+
+            &.backtotop {
+                position: fixed;
+                bottom: 1rem;
+                z-index: 5;
+                right: 0;
+                display: none;
+
+                @media (max-width: 767.98px) {
+                    padding: 0;
+                    border: none;
+                }
+
+                span {
+                    background-color: $color_brand;
+                    width: 50px;
+                    height: 50px;
+                    text-align: center;
+                }
+            }
+        }
+    }
+
+    .subfooterlinks {
+        @media (max-width: 991.98px) {
+            margin-top: 1.5rem !important;
+        }
+
+        a {
+            &::before {
+                content: none;
+            }
+        }
+    }
+
+    .socialiconwrapper {
+        align-items: center;
+
+        @media (max-width: 1199.98px) {
+            margin-top: 10px !important;
+        }
+        @media (max-width: 991.98px) {
+            margin-top: 0px !important;
+        }
+        @media (max-width: 580.98px) {
+            flex-direction: column;
+        }
+
+        .socialicon {
+            position: relative;
+            display: inline-block;
+            width: 50px;
+            height: 50px;
+            border-radius: 50px;
+            border: 2px solid $color_white;
+            margin-top: 0 !important;
+
+            &::before {
+                content: none;
+            }
+
+            img,
+            svg {
+                width: auto;
+                height: 25px;
+                @include center;
+
+                path {
+                    fill: $color_white !important;
+                }
+            }
+
+            &:hover {
+                background-color: $color_white;
+
+                img,
+                svg {
+                    path {
+                        fill: $color_brand !important;
+                    }
+                }
+            }
+
+            & + .socialicon {
+                margin-left: 0.5rem;
+            }
+        }
+    }
+}
+
+/////////////////////////////////////////////////////
+// CONTENT
+/////////////////////////////////////////////////////
+
+// Effekte
+.blur {
+    @include vendor-prefix(backdrop-filter, blur(10px));
+}
+.hyphens {
+    @include vendor-prefix('hyphens', 'auto');
+}
+.color_brand {
+    color: $color_brand !important;
+}
+.bg_brand {
+    background-color: $color_brand !important;
+    color: $color_white;
+}
+.bg_secondary, .bg-secondary {
+    background-color:#ffffff;
+    color: #000000;
+}
+
+.bg_footer {
+    background-color: $color_brand_light;
+	p{
+       color: #fff !important;
+	}
+}
+
+.bg_grey {
+    background-color: $color_lightgrey !important;
+}
+
+// Buttons
+.btn {
+    border: none;
+    @include font-size-base;
+    @include font-size;
+    font-weight: $font-weight-base;
+    padding: 1rem 2rem;
+    margin-top: 2rem;
+    margin-bottom: 2rem;
+
+    &:focus,
+    &:active,
+    &.show {
+        background-color: $color_brand_light;
+    }
+}
+
+
+.btn-primary, .btn-default {
+    background-color: $color_brand_light;
+    border-radius: 0px !important;
+	color: #fff !important;
+    border:3px solid $color_brand_light;
+    padding: 8px 43px 8px 43px;
+    letter-spacing: normal !important;
+	@media (max-width: 767.98px) {
+		 padding: 8px 23px 8px 23px;
+	}
+    &:active { 
+        background-color: $color_transparent !important;
+        border:3px solid $color_brand_light !important;
+        color: $color_brand_light !important; 
+    }
+    &:hover{
+        background-color: $color_transparent;
+        border:3px solid $color_brand_light;
+        color: $color_brand_light !important;  
+    }
+}
+
+.btn-outline-light {
+    border: 2px solid $color_white;
+}
+.btn-outline-default {
+    border: 2px solid $color_brand;
+}
+.btn-link {
+    text-decoration: none;
+}
+
+// Dropdowns
+.dropdown-toggle {
+    &::after {
+        @include icon();
+        content: '\F282';
+        border: none;
+        vertical-align: baseline;
+        font-size: 65%;
+        margin-left: 0;
+    }
+}
+.dropdown-item {
+    color: $color_basic;
+    &:focus,
+    &:hover {
+        color: $color_brand;
+        background-color: $color_brand_light;
+    }
+}
+
+// Content
+
+section, .section,
+footer {
+    @include masterfloat();
+}
+section,
+.section {
+    padding-top: 150px;
+    padding-bottom: 150px;
+    @media (max-width: 1099.98px) {
+        padding-top: 120px;
+        padding-bottom: 120px;
+    }
+    @media (max-width: 767.98px) {
+        padding-top: 100px;
+        padding-bottom: 100px;
+    } 
+    ul, ol {
+
+        li {
+            list-style: none;
+            position: relative;
+
+            &::before {
+                position: absolute;
+                color: $color_brand;
+
+            }
+        }
+    }
+    // unorderd
+    ul {
+        padding-left: 1.75rem;
+        li {
+            &::before {
+                @include icon;
+                content: "\F633";
+                left: -1.75rem;
+                font-size: 1.5rem;
+                top: 0.2em;
+            }
+        }
+    }
+    // orderd
+    ol {
+        counter-reset: section; /* Creates a new instance of the section counter with each ol element */
+        padding-left: 1.5rem;
+        li {
+            margin-left: 0rem;
+            &::before {
+                counter-increment: section; /* Increments only this instance of the section counter */
+                content: counters(section, ".") ". "; /* Combines the values of all instances of the section counter, separated by a period */
+                font-weight: $font-weight-bold;
+                //margin-left: calc(-40px - 0.5rem);
+                //width: 40px;
+                text-align: right;
+                color: $color_brand;
+                position: relative;
+            }
+        }
+    }
+}
+
+
+.two-column {
+    column-count: 2;
+    column-gap: 45px;
+    @include vendor-prefix('hyphens', 'auto');
+    @media (max-width: 1099.98px) {
+        column-count: 1 !important;
+    }
+}
+
+
+.titlearea {
+	&.small{
+		height: 60vh !important;
+		@media (max-width: 991.98px) {
+			height: 70vh !important;
+		}
+		@media (max-width: 575.98px) {
+			height: 100vh !important;
+		}
+		.textwrapper{
+			margin-left: 12px;
+			margin-right: 12px;
+			padding: 15px 25px !important;
+		    background: rgba(241,43,140,0.70);
+			width: auto !important;
+			margin-bottom: 4rem;
+			@media (max-width: 575.98px) {
+				margin-left: 17px;
+			    margin-right: 17px;
+			}
+			.h1{
+				letter-spacing: 1px;
+				line-height: 1.2;
+				text-shadow: none;
+				color: #fff;
+				font-weight: 700 !important;
+				font-size: 60px !important;
+				margin-bottom: 0px !important;
+				display: flex;
+				text-transform: none !important;
+				align-items: center;
+				@media (max-width: 991.98px) {
+					font-size: 50px !important;
+					line-height: 1.1;
+				}
+				@media (max-width: 575.98px) {
+					font-size: 35px !important;
+				}
+			}
+		}
+	}
+	td{
+		padding-right: 20px;
+		color: #fff;
+		font-size: 23px;
+		line-height: 1.6;
+		@media (max-width: 575.98px) {
+			font-size: 20px;
+			padding-right: 18px;
+    		line-height: 1.5;
+		}
+	}
+	.openingtimes{
+		padding: 0px !important;
+		background: rgba(241,43,140,0.55);
+		.h1{
+			text-shadow: none;
+			color: #fff;
+			font-weight: 700 !important;
+			font-size: 50px !important;
+			margin-bottom: 0px !important;
+			display: flex;
+            align-items: center;
+			@media (max-width: 991.98px) {
+				font-size: 40px !important;
+			}
+			@media (max-width: 575.98px) {
+				font-size: 30px !important;
+			}
+		}
+		.subline{
+			color: #fff;
+			text-shadow: none;
+			margin-bottom: 7px;
+			font-size: 30px !important;
+			@media (max-width: 575.98px) {
+				font-size: 27px !important;
+			}
+		}
+		.svg{
+			width: 40px !important;
+			margin-right: 20px;
+			@media (max-width: 991.98px) {
+				width: 35px !important;
+			}
+			@media (max-width: 575.98px) {
+				width: 29px !important;
+				margin-right: 15px;
+			}
+		}
+		&.bottom-0 {
+			bottom: 70px !important;
+		}
+		.openingtimeswrapper{
+			padding: 25px;
+		}
+		.phonewrapper{
+			background-color: $color_brand;
+			padding: 10px 25px;
+		}
+	}
+    .h1{
+        text-shadow: 0px 0px 25px #000;
+    }
+    .subline{
+        text-shadow: 0px 0px 15px #000;
+    }
+    @include masterfloat();
+    //height: 100vh;
+    height: var(--app-height);
+    overflow: hidden;
+    padding-top: 0 !important;
+    padding-bottom: 0 !important;
+    &.half {
+        height: 650px;
+        max-height: 75vh;
+    }
+
+    picture {
+        &::before {
+            content: '';
+            width: 100%;
+            height: 100%;
+            @include center;
+            background-color: rgba($color_basic,.2);
+        }
+    }
+
+    img {
+        display: block;
+        width: 100%;
+        object-fit: cover;
+        object-position: center;
+        //height: 100vh;
+        height: var(--app-height);
+
+    }
+    .container {
+        z-index: 2;
+    }
+}
+.text-image {
+    background-image: url(https://www.emsa.com/fileadmin/media/inspirationen/drink2go/eco/teaser-emsa-drink2go-auswahlhilfe.jpg);
+    background-repeat: no-repeat;
+    background-size: cover;
+    .container {
+        .row {
+
+            //&:nth-child(odd),
+            &.flex-row-reverse {
+                flex-direction: row-reverse!important;
+
+                .textwrapper {
+                    padding-right: 1.5rem;
+                    padding-left: calc(var(--bs-gutter-x) * .5);
+                }
+            }
+            &.section {
+                float: none;
+                width: auto;
+                &:first-of-type,
+                + .section {
+                    padding-top: 0;
+                }
+                &:last-of-type {
+                    padding-bottom: 0;
+                }
+            }
+        }
+    }
+}
+
+.text-image-background {
+    background-image: url(http://dummy.cybob.com//10360_Hehmann/dummy_hehmann/packages/default_site_package/Resources/Public/Images/hehmann-karte.jpg);
+    background-repeat: no-repeat;
+    background-size: cover;
+    .container {
+        .row {
+
+            //&:nth-child(odd),
+            &.flex-row-reverse {
+                flex-direction: row-reverse!important;
+
+                .textwrapper {
+                    padding-right: 1.5rem;
+                    padding-left: calc(var(--bs-gutter-x) * .5);
+                }
+            }
+            &.section {
+                float: none;
+                width: auto;
+                &:first-of-type,
+                + .section {
+                    padding-top: 0;
+                }
+                &:last-of-type {
+                    padding-bottom: 0;
+                }
+            }
+        }
+    }
+}
+.teasergrid {
+    .teaser {
+        &.square {
+            .squarewrapper {
+                &::after {
+                    position: absolute;
+                    content: "";
+                    width: 100%;
+                    height: 100%;
+                    background: rgba($color_brand,.28);
+                    //background: $color_brand;
+                    left: 0;
+                    top: 0;
+                    //mix-blend-mode: multiply;
+                }
+                .image {
+                    width: 100%;
+                    height: 0;
+                    padding-top: 100%;
+                    position: relative;
+                    img {
+                        width: 100%;
+                        height: 100%;
+
+                        object-fit: cover;
+                        @include center;
+
+                    }
+                }
+            }
+
+        }
+    }
+}
+.jobs {
+    border-radius: 0;
+    * {
+        color: $color_white;
+    }
+    .job {
+        background-color: transparent;
+        border-radius: 0 !important;
+        border: none;
+        padding: 2rem;
+        position: relative;
+        &:hover {
+            text-shadow: 0 0 20px rgba($color_basic, .4);
+        }
+
+        + .job {
+            &::before {
+                border-top: 2px solid #fff;
+                content: '';
+                width: calc(100% - 4rem);
+                display: inline-block;
+                top: 0;
+                position: absolute;
+            }
+        }
+    }
+}
+.bigicon {
+    svg {
+        max-width: 100px;
+        max-height: 100px;
+        width: 100%;
+        height: auto;
+        filter: drop-shadow(0 0  20px rgba($color_basic, .2));
+    }
+}
+code {
+    color: $color_brand_dark;
+}
+.accordion {
+
+
+	&.career{
+		p{
+			margin-bottom: 5px !important;
+		}
+		ul{
+			margin-bottom: 40px;
+		}
+		strong{
+			font-size: 22px;
+			@media (max-width: 575.98px) {
+				font-size: 20px;
+			}
+		}
+		li{
+			padding-left: 5px;
+			line-height: 1.6;
+		}
+		.downloadimg{
+			width: 100%;
+		}
+		.download{
+			@media (max-width: 1199.98px) {
+				margin-top: 30px !important;
+			}
+		}
+		.downloadwrapper{
+			background-color: $color_brand;
+			padding: 20px;
+			font-size: 20px;
+			color: #fff;
+			letter-spacing: 0.3px;
+			@media (max-width: 575.98px) {
+				font-size: 16px;
+			}
+			&:hover{
+				background-color: $color_brand_dark;
+			}
+			.svg{
+				width: 25px;
+				margin-right: 10px;
+				@media (max-width: 575.98px) {
+					width: 18px !important;
+				}
+			}
+		}
+	}
+    --bs-accordion-border-radius: 0;
+    --bs-accordion-inner-border-radius: 0;
+    --bs-accordion-active-color: $color_brand;
+    --bs-accordion-active-bg: rgba($color_brand, .05);
+    border-top: 2px solid #000;
+    border-bottom: 1px solid #000;
+    margin-top: 40px;
+    .accordion-body{
+        padding: 0px 100px 20px 0px;
+        letter-spacing: normal !important;
+		@media (max-width: 767.98px) {
+            padding: 0px 60px 20px 0px;
+        }
+		@media (max-width: 575.98px) {
+            padding: 0px 30px 20px 0px;
+        }
+
+    }
+
+    .accordion-item{
+        background-color: transparent;
+        border-top: solid #000 1px;
+        border-bottom: solid #000 2px;
+        border-left: none;
+        border-right: none;
+    }
+
+    .accordion-button {
+        font-size: 25px;
+        color: #000000;
+        font-weight: $font-weight-semibold;
+        padding: 20px 20px 20px 0px;
+		@media (max-width: 991.98px) {
+            padding: 17px 20px 17px 0px;
+        }
+        @media (max-width: 767.98px) {
+            font-size: 22px;
+        }
+		 @media (max-width: 575.98px) {
+            font-size: 20px;
+        }
+        &.collapsed{
+            background-color: transparent;
+        }
+
+        &:after {
+            content: '\F282';
+            @include icon;
+            color: $color_brand;
+            position: absolute;
+            right: 1rem;
+            top: 50%;
+            transform: translate(-50%,-50%);
+            font-size: 1.25rem;
+            background-image: none;
+        }
+        &:not(.collapsed) {
+            box-shadow: none;
+            background-color: transparent;
+            &::after {
+                content: '\F282';
+                transform: rotate(-180deg) translate(15%,30%);
+            }
+        }
+    }
+
+}
+
+
+.socialmedia {
+    .socialicon {
+        @media (max-width:767.98px) {
+            display: block !important;
+            text-align: center;
+        }
+
+        a {
+
+            position: relative;
+            display: inline-block;
+            width: 130px;
+            height: 130px;
+            margin: 0 .5rem;
+            background: $color_brand;
+            @media (max-width:991.98px) {
+                width: 100px;
+                height: 100px;
+            }
+            @media (max-width:575.98px) {
+                height: 70px;
+                width: 70px;
+            }
+
+            /*@media (max-width:767.98px) {
+                padding: 2rem 0;
+                display: inline-block;
+            }*/
+            img, svg {
+                color: $color_white;
+                height: 65px;
+                width: auto;
+                @include center;
+
+                @media (max-width:991.98px) {
+                    height: 45px;
+                }
+                @media (max-width:575.98px) {
+                    height: 25px;
+                }
+
+                path {
+                    fill: $color_white;
+                }
+
+            }
+            &:hover {
+                background: $color_white;
+                border: 2px solid $color_brand;
+                img, svg {
+                    path, polygon {
+                        fill: $color_brand;
+                        @include fade();
+                    }
+                }
+            }
+        }
+    }
+}
+.swiper {
+    width: 100%;
+    height: 100%;
+}
+
+.swiper-slide {
+    text-align: center;
+    font-size: 18px;
+    background: #444;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+}
+
+.swiper-slide img {
+    display: block;
+    width: 100%;
+    height: 100%;
+    object-fit: cover;
+}
+
+.btn-check:checked+.btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check)+.btn:active{
+	color: #000000;
+}
+.btn-check:checked+.btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check)+.btn:active{
+	background-color: transparent;
+    border: none;
+    color: #135b3f;
+}
+
+.navbar .btn-link svg path {
+	&:hover{
+		 fill: $color_brand !important;
+	} 
+}
+
+
+
+
+
+
+.careertext{
+	.contact{
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		flex-direction: column;
+		@media (max-width: 1199.98px){
+            align-items: unset;
+    		flex-direction: unset;
+        }
+		@media (max-width: 767.98px){
+            align-items: center;
+		    flex-direction: column;
+        }
+	}
+    .container{
+        @media (max-width: 575.98px){
+            padding-left: 15px !important;
+        }
+    }
+
+	.contactimg{
+		width: 70%;
+	}
+	.contact{
+		@media (max-width: 1199.98px) { 
+			margin-top: 50px;
+        }
+		p{
+			font-size: 25px !important; 
+			font-weight: 500 !important;
+			letter-spacing: 0.3px !important;
+		}
+	}
+	.iconwrapper{
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		flex-direction: column;
+		margin-bottom: 20px;
+		margin-top: 20px;
+	}
+	.icon{
+		width: 75px;
+		margin-bottom: 20px;
+		@media (max-width: 1599.98px) {
+            width: 70px; 
+        }
+		@media (max-width: 991.98px) {
+            width: 60px;
+			margin-bottom: 17px;
+        }
+		@media (max-width: 767.98px) {
+            width: 65px; 
+        } 
+		@media (max-width: 460.98px) {
+            width: 55px; 
+        }
+		@media (max-width: 370.98px) {
+			 width: 45px;
+			 margin-bottom: 15px;
+		}
+	}
+	.contactwrapper{
+		    width: 70%;
+			background-color: $color_brand;
+			padding: 20px;
+			font-size: 20px;
+			color: #fff;
+			letter-spacing: 0.3px;
+			@media (max-width: 575.98px) {
+				font-size: 16px;
+			} 
+			a{
+				color: #fff !important; 
+			}
+			.svg{
+				width: 25px;
+				margin-right: 10px;
+				@media (max-width: 575.98px) {
+					width: 18px !important;
+				}
+			}
+		}
+	.icongrid{
+		margin-top: 70px;
+		.subline{
+			color: #000 !important;
+			text-align: center;
+			font-size: 21px !important;
+			@media (max-width: 1599.98px) {
+				font-size: 20px !important; 
+			}
+			@media (max-width: 991.98px) {
+				font-size: 18px !important;
+			}
+			@media (max-width: 767.98px) {
+				font-size: 21px !important;
+			}
+			@media (max-width: 575.98px) {
+				font-size: 20px !important;
+			}
+			@media (max-width: 460.98px) {
+				font-size: 18px !important;
+			}
+			@media (max-width: 370.98px) {
+				font-size: 16px !important;
+			}
+		}
+	} 
+}
+
+
+.grey-bg-section{
+	padding-top: 0px !important;
+    padding-bottom: 0px !important;
+	background-color: $color_lightgrey; 
+	img{
+		width: 100%;
+	} 
+	.subline{
+		color: #000;
+		margin-bottom: 10px;
+	}
+	.h2{
+		color: #000;
+	}
+	p{
+		color: #000;
+	}
+	.imgwrapper{
+		padding-right: 0px !important;
+		padding-left: 0px !important;
+	}
+	.textwrapper{
+		padding-right: 30px !important;
+		padding-left: 30px !important;
+		@media (max-width: 991.98px) {
+			order: 1;
+			padding-top: 40px !important;
+			padding-bottom: 40px !important;
+		}
+		@media (max-width: 575.98px) {
+			padding-right: 20px !important;
+		    padding-left: 15px !important;
+		}
+	}
+	ul {
+        padding-left: 1.75rem;
+
+        li {
+			font-weight: 500 !important;
+            line-height: 1.4;
+			margin-bottom: 10px;
+    		letter-spacing: normal;
+            &::before {
+                @include icon;
+                content: "\F285";
+                left: -1.75rem;
+                font-size: 1.5rem; 
+            }
+        }
+    }
+}
+
+.ul-long{
+    column-count: 2;
+}
+
+.pink-bg-section{
+	padding-top: 0px !important;
+    padding-bottom: 0px !important;
+	background-color: $color_brand; 
+	img{
+		width: 100%;
+	}
+	.btn{
+		border: #fff solid 2px !important;
+		background-color: transparent;
+		color: #fff !important;
+		margin-bottom: 0px !important;
+		&:hover{
+			border: #fff solid 2px;
+			background-color: #fff !important;
+			color: $color_brand !important; 
+		}
+	}
+	.subline{
+		color: #fff;
+	}
+	.h2{
+		color: #fff;
+	}
+	p{
+		color: #fff;
+	}
+	.imgwrapper{
+		padding-right: 0px !important;
+		padding-left: 0px !important;
+	}
+	.textwrapper{
+		padding-right: 30px !important;
+		padding-left: 30px !important;
+		@media (max-width: 991.98px) {
+			padding-top: 40px !important;
+			padding-bottom: 40px !important;
+		}
+		@media (max-width: 575.98px) {
+			padding-right: 20px !important;
+		    padding-left: 25px !important;
+		}
+	}
+}
+
+
+.square-hover{ 
+	.image {
+	  display: block;
+	  width: 100%;
+	  height: auto;
+	} 
+	.overlay {
+	  position: absolute;
+	  top: 0;
+	  bottom: 0;
+	  left: 0;
+	  right: 0;
+	  height: 100%;
+	  width: 100%;
+	  opacity: 0;
+	  transition: .5s ease;
+	  background-color: #008CBA;
+	} 
+	.container:hover .overlay {
+	  opacity: 0.5;
+	} 
+	.text {
+	  color: white;
+	  font-size: 20px;
+	  position: absolute;
+	  top: 50%;
+	  left: 50%;
+	  -webkit-transform: translate(-50%, -50%);
+	  -ms-transform: translate(-50%, -50%);
+	  transform: translate(-50%, -50%);
+	  text-align: left;
+	}
+ }
+
+
+
+
+
+.benefits-new{   
+	img{
+		width: 100%;
+	}
+	.card-wrapper{
+	  display: flex;
+	  justify-content: center; 
+	  align-items: center; 
+	  padding-bottom: 12px;
+	}
+	.card{ 
+	  width: 300px; 
+	  border: none !important;
+	} 
+	.card-inner{
+	  position: relative;
+	  width: 100%;
+	  height: 150px;
+	  padding-bottom: 100%;
+	  transition: transform 0.6s;
+	  transform-style: preserve-3d;
+	} 
+	.card:hover .card-inner{
+	  transform: rotateY(180deg);
+	} 
+	.card-front, .card-back{
+	  position: absolute;
+	  width: 100%;
+	  height: 100%;
+	  backface-visibility: hidden;
+	  display:flex;
+	  align-items: center;
+	  flex-direction: column;
+	  justify-content: center; 
+	} 
+	.card-front{
+	  background: #f5f5f5;
+	  text-align: center;
+	} 
+	.card-back{
+	  background: #587a9a;
+	  color: #fff;
+	  transform: rotateY(180deg);
+	  text-align: center;  
+	  background-repeat: no-repeat;
+	  background-position: bottom 10px right 10px;
+	  background-size: 50%;
+	} 
+	.benefiticon{
+		width: 85px;
+		margin-bottom: 16px;
+	}
+	.iconTile{
+		margin: 0px !important;
+		border: 5px #fff solid;
+		padding: 50px 30px 24px 30px !important; 
+	}
+	picture{
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		flex-direction: column;
+	}
+	.col-5{
+		flex: 0 0 20%;
+        max-width: 20%;
+		@media (max-width: 1199.98px) {
+			flex: 0 0 25%;
+            max-width: 25%;
+		}  
+		@media (max-width: 991.98px) {
+			flex: 0 0 33%;
+            max-width: 33%;
+		}
+		@media (max-width: 767.98px) {
+			flex: 0 0 50%;
+            max-width: 50%;
+		}
+		@media (max-width: 450.98px) {
+			flex: 0 0 100%;
+            max-width: 100%;
+		}
+	}
+	.subline{
+		line-height: 1.35rem;
+	} 
+	h2, .h2{
+		margin-bottom: 0.9rem;  
+	}
+	p{
+		&.text{
+			font-size: 16px;
+			font-weight: 700;
+			letter-spacing: 0.1rem;
+			line-height: 1.5rem;
+			padding-left: 15px;
+            padding-right: 15px;
+		}
+	}
+	.col-xl-3, .col-lg-3, .col-md-4, .col-sm-6, .col-12{
+		padding-right: 6px; 
+        padding-left: 6px;
+	}
+}
+
+
+/////////////////////////////////////////////////////
+// CONTACT
+/////////////////////////////////////////////////////
+.contact-teaser { 
+    .anfahrt-textwrapper{
+        padding-top: 5%;
+        padding-bottom: 5%;
+        padding-right: 5%;
+
+       @media (min-width: 320px){
+           padding-left: 0px !important;
+       }
+
+       @media (min-width: 768px){
+           padding-left: 35px !important;
+       }
+
+        @media (min-width: 1024px){
+            padding-left: 40px !important;
+        }
+
+        @media (min-width: 1440px){
+            padding-left: 80px !important;
+        }
+
+        @media (min-width: 2250px){
+            padding-left: 460px !important;
+        }
+
+        @media (min-width: 2560px){
+            padding-left: 460px !important;
+        }
+    }
+    background-image: url(http://dummy.cybob.com//10360_Hehmann/dummy_hehmann/packages/default_site_package/Resources/Public/Images/hehmann-karte.jpg);
+    background-repeat: no-repeat;
+    background-size: cover; 
+}
+
+.ml-0{
+    margin-left: 0px !important;
+}
+
+.textwrapper-teaser{
+
+    padding-right: 5%;
+
+    @media (min-width: 320px){
+        padding-left: 0px !important;
+    }
+
+    @media (min-width: 768px){
+        padding-left: 35px !important;
+    }
+
+    @media (min-width: 1024px){
+        padding-left: 40px !important;
+    }
+
+    @media (min-width: 1440px){
+        padding-left: 80px !important;
+    }
+
+    @media (min-width: 2250px){
+        padding-left: 460px !important;
+    }
+
+    @media (min-width: 2560px){
+        padding-left: 460px !important;
+    }
+}
+
+.textwrapper-leistungen{
+
+    @media (min-width: 992px) {
+        padding: 40px;
+    }
+}
+
+.teaser-info{
+
+
+    .teaser-text{
+        margin: 0px !important;
+        color: #ffffff !important;
+    }
+
+    .info-wrapper{
+        color:#fff !important;
+        position: relative;
+    }
+
+    .teaser-icon{
+        height: 20px !important;
+        color: #fff !important;
+        padding-right: 5px;
+
+    }
+
+    .teaser-image-container{
+        position: relative;
+        justify-content: center;
+        align-items: center;
+        margin-bottom: 20px;
+
+        @media (max-width: 575.98px){
+            margin-bottom:0px;
+        }
+
+    }
+
+    .image{
+        width: 100%;
+    }
+
+    .row {
+        display: flex;
+        flex-wrap: wrap;
+        margin-right: -15px;
+        margin-left: -15px;
+    }
+   .teaser-hover {
+       position: relative;
+        float: left;
+        width: 100%;
+    }
+    .hideshow {
+        opacity: 0;
+        position: absolute;
+        width: 100%;
+        height: 95%;
+        top: 0;
+        text-align: left;
+        background-position-x: -15rem;
+        background: rgba(20, 91, 63, 0.90);
+        display: -webkit-flex;
+        display: -webkit-box;
+        display: -ms-flexbox;
+        display: flex !important;
+        padding: 35px;
+        align-items: end;
+        justify-content: left;
+
+        @media (max-width: 1699.98px){
+            height:94%
+        }
+
+        @media (max-width: 1399.98px){
+            height:96%
+        }
+
+        @media (max-width: 991.98px){
+            height:94.5%
+        }
+
+        @media (max-width: 767.98px){
+            height:96.5%
+        }
+
+        @media (max-width: 575.98px){
+            opacity: 1;
+            position: relative;
+            height: 100%;
+            margin-bottom: 40px;
+        }
+
+        @media (max-width: 320.98px){
+            padding: 35px 35px 20px 20px;
+        }
+
+        &:hover{
+            opacity: 1;
+
+        }
+    }
+}
+
+.link-teaser-hover{
+    fill:#ffffff !important;
+    color: #ffffff !important;
+}
+
+.link-teaser-contact{
+    fill:#000000 !important;
+    color: #000000 !important;
+}
+
+/////////////////////////////////////////////////////
+// SWIPER
+/////////////////////////////////////////////////////
+.swiper-horizontal>.swiper-pagination-progressbar,
+.swiper-pagination-progressbar.swiper-pagination-horizontal,
+.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
+.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
+    top:inherit;
+    bottom: 0;
+    height: 3px;
+}
+.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
+    background: $color_brand;
+}
+@import 'default_navigation';
+@import 'default_form_powermail';
+@import 'default_form_formframework';
+
+
+
+
+/////////////////////////////////////////////////////
+// FONTS
+/////////////////////////////////////////////////////
+/* roboto-condensed-regular - latin */
+@font-face {
+    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
+    font-family: 'Roboto Condensed';
+    font-style: normal;
+    font-weight: 400;
+    src: url('../Webfonts/roboto-condensed-v30-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+}
+/* roboto-condensed-500 - latin */
+@font-face {
+    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
+    font-family: 'Roboto Condensed';
+    font-style: normal;
+    font-weight: 500;
+    src: url('../Webfonts/roboto-condensed-v30-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+}
+/* roboto-condensed-600 - latin */
+@font-face {
+    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
+    font-family: 'Roboto Condensed';
+    font-style: normal;
+    font-weight: 600;
+    src: url('../Webfonts/roboto-condensed-v30-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+}
+/* roboto-condensed-700 - latin */
+@font-face {
+    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
+    font-family: 'Roboto Condensed';
+    font-style: normal;
+    font-weight: 700;
+    src: url('../Webfonts/roboto-condensed-v30-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+}
+/* roboto-condensed-800 - latin */
+@font-face {
+    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
+    font-family: 'Roboto Condensed';
+    font-style: normal;
+    font-weight: 800;
+    src: url('../Webfonts/roboto-condensed-v30-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+}
+/* roboto-condensed-900 - latin */
+@font-face {
+    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
+    font-family: 'Roboto Condensed';
+    font-style: normal;
+    font-weight: 900;
+    src: url('../Webfonts/roboto-condensed-v30-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+}
+
+/////////////////////////////////////////////////////
+// FONTWEIGHTS
+/////////////////////////////////////////////////////
+$font-weight-base: 500;    // regular
+$font-weight-medium: 600;   //medium
+$font-weight-semibold: 700;    // semibold
+$font-weight-bold: 800;   //bold
+$font-weight-black: 900;   //extrabold
+
+/////////////////////////////////////////////////////
+// FONTSIZES
+/////////////////////////////////////////////////////
+@mixin font-size-base {
+    --font-size: calc(var(--min-size) * 1px + (var(--max-size) - var(--min-size)) * (100cqw - var(--container-min) * 1px) / (var(--container-max) - var(--container-min)));
+    font-size: clamp(var(--min-size) * 1px, var(--font-size), var(--max-size) * 1px) !important;
+}
+
+@mixin h1-font-size {
+    --min-size: 40;
+    --max-size: 100;
+}
+@mixin h2-font-size {
+    --min-size: 37;
+    --max-size: 48;
+}
+@mixin h3-font-size {
+    --min-size: 21;
+    --max-size: 26;
+}
+@mixin h4-font-size {
+    --min-size: 18;
+    --max-size: 24;
+}
+@mixin h5-font-size {
+    --min-size: 17;
+    --max-size: 22;
+}
+@mixin font-size-small {
+    --min-size: 13;
+    --max-size: 14;
+}
+@mixin font-size {
+    --min-size: 17;
+    --max-size: 19;
+}
+
+/////////////////////////////////////////////////////
+// ROOT
+/////////////////////////////////////////////////////
+:root {
+    --swiper-theme-color: $color_brand;
+    // FÜR BUGFIX APPLE DEVICES 100vh
+    --app-height: 100%;
+
+    // FÜR SCHRIFTGRÖSSEN Breakpoints
+    --min-size: 16;
+    --max-size: 20;
+    --container-min: 320;
+    --container-max: 1600;
+    --viewport-min: 320;
+    --viewport-max: 1600;
+}
+/////////////////////////////////////////////////////
+// COLOURS
+/////////////////////////////////////////////////////
+
+$color_basic:         #000000;                       // z.B. Schriftfarbe
+$color_brand:         #F12C8C;                      // Unternehmens Farbe
+$color_brand_dark:    #c92976;                      // Unternehmens Farbe
+$color_brand_light:   #135B3F;                      // Unternehmens Farbe
+
+$color_transparent:   rgba(0, 0, 0, 0);
+
+$color_lightgrey: #EFEFF0;
+$color_white:     #ffffff;
+
+
+.color-white, .color_white,
+.text-light {
+    color: $color_white;
+    *, h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
+        color: $color_white;
+    }
+
+}
+/////////////////////////////////////////////////////
+// HEADLINES // TEXT
+/////////////////////////////////////////////////////
+
+body {
+    overflow-x: hidden;
+    font-family: 'Roboto Condensed';
+    font-weight: $font-weight-base;
+    @include font-size-base;
+    @include font-size;
+    line-height: 1.8;
+    color: $color_basic;
+    text-wrap: balance;
+    text-wrap: pretty;
+    letter-spacing: .1rem;
+    background-color: #EFEFF0;
+}
+
+@mixin headlinebasic {
+    font-weight: $font-weight-bold;
+    color: $color_brand;
+    margin-bottom: 1rem;
+    display: block;
+    text-wrap: balance;
+    @include font-size-base;
+    letter-spacing: 0px;
+}
+
+h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
+    text-shadow: none;
+    @include headlinebasic();
+
+}
+
+h1, .h1 {
+    @include h1-font-size;
+
+}
+h2, .h2 {
+    @include h2-font-size;
+    color: #000000;
+    font-weight: 700 !important;
+    text-shadow: none;
+}
+h3, .h3 {
+    @include h3-font-size;
+    font-weight: 600;
+    color: $color_brand;
+}
+h4, .h4 {
+    @include h4-font-size;
+    margin-bottom: 0;
+
+}
+h5, .h5 {
+    @include h5-font-size;
+    line-height: 1.3;
+
+}
+.subline {
+    margin-bottom: 0;
+    color: $color_brand;
+    letter-spacing: 0.5px;
+}
+
+@mixin icon {
+    font-family: bootstrap-icons !important;
+    font-style: normal;
+    font-weight: normal !important;
+    font-variant: normal;
+    line-height: 1;
+}
+
+i, em {
+    &.bi {
+        @include icon;
+    }
+    font-style: italic;
+}
+
+b, strong {
+    font-weight: $font-weight-bold;
+}
+a {
+    cursor: pointer;
+    text-decoration: none;
+}
+small, .small, .text-small {
+    @include font-size-small;
+}
+$letter-spacing: .25rem;
+
+.letter-spacing {
+    letter-spacing: $letter-spacing;
+}
+$text-shadow: 0 0 20px rgba($color_basic, .2);
+.text-shadow {
+    text-shadow: $text-shadow;
+}
+
+/////////////////////////////////////////////////////
+// COSTUM MIXINS
+/////////////////////////////////////////////////////
+@mixin vendor-prefix($name, $value){
+    @each $vendor in ('-webkit-', '-moz-', '-ms-', '-o-', ''){
+        #{$vendor}#{$name}: #{$value};
+    }
+}
+@mixin masterfloat {
+    position: relative;
+    float: left;
+    width: 100%;
+}
+@mixin center{
+    position: absolute;
+    left: 50%;
+    top: 50%;
+    @include vendor-prefix('transform', 'translate(-50%,-50%)');
+}
+@mixin vertical-center{
+    position: relative;
+    top: 50%;
+    @include vendor-prefix('transform', 'translateY(-50%)');
+}
+@mixin horizontal-center{
+    position: relative;
+    left: 50%;
+    @include vendor-prefix('transform', 'translateX(-50%)');
+}
+
+@mixin fade {
+    @include vendor-prefix('transition', 'all 0.5s ease-in-out');
+}
+@mixin fade-fast {
+    @include vendor-prefix('transition', 'all 0.25s ease-in-out');
+}
+
+$border-radius: 50px;
+$box-shadow: 0 0 20px rgba($color_basic, .2);
+
+/////////////////////////////////////////////////////
+// BASIC RESETS
+/////////////////////////////////////////////////////
+
+// Scrollbars
+* {
+    scrollbar-width: thin;
+    scrollbar-color: $color_brand transparent;
+}
+// Schreibweise Firefox // Webkit-Browser – getrennte Schreibweise erforderlich!!!
+::-webkit-scrollbar {
+    width: 10px;
+}
+::-webkit-scrollbar {
+    width: 10px;
+}
+::-webkit-scrollbar-track {
+    background: transparent;
+    -webkit-border-radius: 5px;
+    border-radius: 5px;
+}
+::-webkit-scrollbar-track {
+    background: transparent;
+    -webkit-border-radius: 5px;
+    border-radius: 5px;
+}
+::-webkit-scrollbar-thumb {
+    -webkit-border-radius: 5px;
+    border-radius: 5px;
+    background: $color_brand;
+}
+::-webkit-scrollbar-thumb {
+    -webkit-border-radius: 5px;
+    border-radius: 5px;
+    background: $color_brand;
+}
+// Close Scrollbars
+
+.container {
+    @media (min-width: 1700px) {
+        max-width: 1640px;
+    }
+    @media (max-width: 575.98px){
+        padding-left: 15px !important;
+    }
+}
+.container-fluid{
+    @media (max-width: 767.98px){
+        padding-left: 0px;
+        padding-right: 0px;
+    }
+}
+
+body, table, tr, td {
+    margin: 0;
+    padding: 0;
+}
+* {
+    &:hover,
+    &:focus,
+    &:active {
+        @include fade;
+    }
+}
+a {
+    color: $color_brand;
+    //text-decoration: underline;
+    * {
+        color: $color_brand;
+    }
+    &:hover,
+    &:focus,
+    &:active,
+    &:link {
+        @include fade;
+    }
+    &:active,
+    &:link {
+        color: $color_brand;
+    }
+    &:hover,
+    &:focus {
+        color: $color_brand_dark;
+    }
+
+    i {
+        color: inherit;
+    }
+}
+
+:focus {
+    outline: 0 !important;
+    box-shadow: none !important;
+}
+
+p, .p {
+    font-weight: 500 !important;
+    line-height: 1.6 !important;
+    display: block;
+    margin-bottom: 1rem;
+    letter-spacing: normal !important;
+    &:last-child, &:last-of-type {
+        margin-bottom: 0;
+        letter-spacing: normal !important;
+    }
+    + .btn {
+        margin-top: 2rem;
+        letter-spacing: normal !important;
+    }
+}
+::selection {
+    background: $color_brand !important;
+    color: white !important;
+}
+*::selection {
+    background: $color_brand !important;
+    color: white !important;
+}
+::-moz-selection{
+    background: $color_brand !important;
+    color: white !important;
+}
+*::-moz-selection {
+    background: $color_brand !important;
+    color: white !important;
+}
+
+
+/////////////////////////////////////////////////////
+// NAVIGATION
+/////////////////////////////////////////////////////
+.navbar {
+    @include fade;
+    background-color: $color_lightgrey;
+    padding: 0px !important;
+    .container{
+        @media (max-width: 991.98px){
+           max-width: 100% !important;
+        }
+    }
+	.navbar-collapse{
+		padding-top: 23px;
+        padding-bottom: 23px;
+		@media (max-width: 991.98px){
+           padding-top: 25px;
+           padding-bottom: 25px;
+        }
+	}
+    .btn-link {
+        color: #000000;
+        background: transparent !important;
+        &.active{
+            color: $color_brand !important;
+        }
+        svg {
+            path {
+                fill: #000000;
+            }
+        }
+    }
+    .btn{
+        margin-top: 18px;
+        margin-bottom: 18px;
+        @media (max-width: 1199.98px){
+            margin-top: 10px;
+            margin-bottom: 10px;
+        }
+        span{
+            &:hover{
+                color: $color_brand !important;
+            }
+            &:active, .active{
+                color: $color_brand !important;
+            }
+        }
+    }
+
+    .navi{
+        color:#000000;
+    }
+
+    .navbar-brand {
+        padding: 0px;
+        img,
+        .svg {
+            height: 100%;
+            @include fade;
+			@media (max-width: 1199.98px){
+                height: 80px;
+            }
+			@media (max-width: 1099.98px){
+                height: 80px;
+            }
+			@media (max-width: 991.98px){
+                height: 60px;
+            }
+            @media (max-width: 767.98px){
+                height: 50px;
+            }
+            @media (max-width: 575.98px){
+                height: 45.5px;
+            }
+            @media (max-width: 425.98px){
+                height: 39.5px;
+            }
+        }
+    }
+    .phone {
+        color: #000000;
+        padding-left: 10px;
+        height: 25px;
+        width: auto;
+        @media (max-width:425.98px){
+            height: 20px;
+        }
+    }
+	.navbar-toggler{
+		background-color: #f12b8c;
+		color: #fff;
+		border: none;
+		padding: 13px;
+		border-radius: 0px;
+		@media (max-width: 575.98px){
+			padding: 11px;
+		}
+	    @media (max-width: 425.98px){
+			padding: 8px 8px;
+		}
+	}
+	.wrapper{
+		@media (max-width: 991.98px){
+			padding-top: 10px;
+			padding-bottom: 10px;
+		}
+	}
+	svg path {
+		fill: #000 !important;
+		&:hover{
+			fill: $color_brand !important;
+		}
+	}
+    .navbar-nav {
+        .nav-item {
+			.social-button{
+				.phone{
+					margin-top: 7px;
+				}
+			}
+            .nav-link {
+				color: #000 !important;
+                position: relative;
+                letter-spacing: 0.8px;
+				font-size: 20px;
+				padding-right: 13px;
+        		padding-left: 13px;
+				@media (max-width: 991.98px){
+					padding: 5px 10px;
+				}
+				&:hover{
+					color: #f12b8c !important;
+				}
+                &.active {
+                    color: #f12b8c !important;
+                }
+            }
+        }
+
+    }
+}
+
+.shrink {
+    @include fade;
+
+    & * {
+        @include fade;
+    }
+    &.navbar {
+        background-color: $color_lightgrey;
+        box-shadow: $box-shadow;
+        padding-top: 0px;
+        padding-bottom: 0px;
+        .navbar-brand {
+            img,
+            .svg {
+                height: 99px !important;
+            }
+            svg {
+                height: 99px;
+                path {
+                    fill: #000000;
+                }
+            }
+        }
+        .navbar-top {
+            opacity: 0;
+            max-height: 0;
+            padding: 0;
+            margin: 0;
+        }
+        .btn-link {
+            background: transparent !important;
+
+            svg {
+                path {
+                    fill: #000000;
+                }
+            }
+        }
+    }
+    & .search {
+        form {
+            button {
+                .nav-icon {
+                    background-color: transparent;
+                    color: $color_brand;
+                    * {
+                        color: $color_brand;
+                    }
+                    svg path {
+                        fill: $color_brand !important;
+                    }
+                }
+            }
+        }
+
+        &:hover,
+        &:active {
+            form {
+                input {
+                    border: 1px solid rgba($color_brand, .5);
+                }
+
+            }
+        }
+    }
+}
+.modal-open {
+    .btn-link {
+        .bi-list {
+            &::before {
+                content: '\F659';
+            }
+        }
+    }
+}
+.modal-fullscreen {
+    margin: 1.5rem auto;
+    width: calc(100vw - 3rem);
+    height: calc(100% - 3rem);
+    overflow-y: scroll;
+}
+
+/////////////////////////////////////////////////////
+// FOOTER
+/////////////////////////////////////////////////////
+footer {
+
+    .container{
+        @media (max-width: 1099.98px) {
+            padding-left: 25px !important;
+        }
+
+        @media (max-width: 991.98px) {
+            padding-left: 0px !important;
+        }
+
+        @media (max-width: 575.98px) {
+            padding-left: 20px !important;
+        }
+    }
+
+    .footer-da{
+        height: 100%;
+        @media (max-width: 991.98px) {
+            margin-top: 30px;
+        }
+    }
+
+    .icon-phone {
+        height: 20px !important;
+        color:#ffffff;
+        padding-right: 5px;
+    }
+
+    .icon-at {
+        height: 20px !important;
+        padding-right: 5px;
+    }
+
+    font-weight: $font-weight-medium;
+    overflow: hidden;
+    &::after {
+        content: '';
+        background-color: $color_brand_light;
+        position: absolute;
+        @media (max-width: 991.98px) {
+            width: 100vw;
+            height: 100vw;
+        }
+        @media (max-width: 767.98px) {
+            width: 130vw;
+            height: 130vw;
+        }
+    }
+
+    a, a:link, a:active {
+        color: rgba($color_white,1);
+        &:hover,
+        &:focus {
+            img,
+            svg {
+                path {
+                    fill: $color_white !important;
+                    @include fade;
+                }
+            }
+        }
+    }
+    .address {
+        img, svg {
+            height: 65px;
+            width: auto;
+
+            @media (max-width:991.98px){
+                height: 55px;
+            }
+            @media (max-width:767.98px){
+                height: 50px;
+            }
+
+            @media (max-width:575.98px){
+                height: 45px;
+            }
+            @media (max-width:425.98px){
+                height: 40px;
+            }
+            @media (max-width:229.98px){
+                height: 30px;
+            }
+        }
+    }
+    ul {
+        list-style: none;
+        margin: 0;
+        padding: 0;
+
+        &.big {
+            @include headlinebasic;
+            @include h2-font-size;
+            line-height: 1.2;
+            @media (max-width: 575.98px) {
+                @include h3-font-size;
+            }
+        }
+    }
+    .quicknav {
+        a {
+            width: 100%;
+            display: inline-block;
+            padding: 0.25rem 0;
+            @media (max-width:767.98px){
+                padding: 0.5rem 0;
+            }
+        }
+    }
+
+    .subfooter {
+
+        padding-top: 0px;
+        padding-bottom: 30px;
+
+        @media (min-width:1700.98px){
+            padding-top: 30px;;
+        }
+
+        @media (max-width:1199.98px){
+            padding-top: 30px;;
+        }
+        .footer-links{
+            text-align: center;
+
+            @media (max-width:1399.98px){
+                padding-right: 10px;
+            }
+            @media (max-width:767.98px){
+                width: 100%;
+                align-items: center;
+            }
+            @media (max-width:575.98px){
+                width: 85%;
+                align-items: center;
+            }
+        }
+        border-color: $color_white !important;
+
+        .text-light {
+            span{
+                letter-spacing: 0px !important;
+            }
+        }
+        a {
+            &:hover {
+                @media (max-width: 767.98px){
+                    color: $color_brand_light !important;
+                    background-color:#fff;
+                    border: #fff solid 1px;
+                }
+                color: white !important;
+            }
+            letter-spacing: 0px !important;
+            @media (max-width:767.98px){
+                display: block;
+                padding: .75rem;
+                border: 1px solid;
+                margin-top: 1rem;
+            }
+            &::before {
+                @media (min-width:768px){
+                    content: '';
+                    padding-left: 2rem;
+                    display: inline-block;
+                }
+            }
+            &.backtotop {
+                position: fixed;
+                bottom: 1rem;
+                z-index: 5;
+                right: 0;
+                display: none;
+
+                @media (max-width: 767.98px) {
+                    padding: 0;
+                    border: none;
+                }
+                span {
+                    background-color: $color_brand;
+                    width: 50px;
+                    height: 50px;
+                    text-align: center;
+                }
+            }
+        }
+    }
+
+    .subfooterlinks {
+        @media (max-width:991.98px) {
+            margin-top: 1.5rem !important;
+        }
+        a {
+            &::before {
+                content: none;
+            }
+        }
+    }
+    .socialiconwrapper {
+        align-items: center;
+
+        @media (max-width:1199.98px) {
+            margin-top: 10px !important;
+        }
+
+        @media (max-width:991.98px) {
+            margin-top: 0px !important;
+        }
+
+        @media (max-width:580.98px) {
+            flex-direction: column;
+        }
+        .socialicon {
+            position: relative;
+            display: inline-block;
+            width: 50px;
+            height: 50px;
+            border-radius: 50px;
+            border: 2px solid $color_white;
+            margin-top: 0 !important;
+
+            &::before {
+                content: none;
+            }
+
+            img, svg {
+                width: auto;
+                height: 25px;
+                @include center;
+
+                path {
+                    fill: $color_white !important;
+                }
+            }
+            &:hover {
+                background-color: $color_white;
+                img, svg {
+                    path {
+                        fill: $color_brand !important;
+                    }
+                }
+            }
+            & + .socialicon {
+                margin-left: 0.5rem;
+            }
+        }
+    }
+}
+/////////////////////////////////////////////////////
+// CONTENT
+/////////////////////////////////////////////////////
+
+// Effekte
+.blur {
+    @include vendor-prefix(backdrop-filter, blur(10px));
+}
+.hyphens {
+    @include vendor-prefix('hyphens', 'auto');
+}
+.color_brand {
+    color: $color_brand !important;
+}
+.bg_brand {
+    background-color: $color_brand !important;
+    color: $color_white;
+}
+.bg_secondary, .bg-secondary {
+    background-color:#ffffff;
+    color: #000000;
+}
+
+.bg_footer {
+    background-color: $color_brand_light;
+    p{
+        color: #fff !important;
+    }
+}
+
+.bg_grey {
+    background-color: $color_lightgrey !important;
+}
+
+// Buttons
+.btn {
+    border: none;
+    @include font-size-base;
+    @include font-size;
+    font-weight: $font-weight-base;
+    padding: 1rem 2rem;
+    margin-top: 2rem;
+    margin-bottom: 2rem;
+
+    &:focus,
+    &:active,
+    &.show {
+        background-color: $color_brand_light;
+    }
+}
+
+
+
+.btn-primary, .btn-default {
+    background-color: $color_brand_light;
+    border-radius: 0px !important;
+    color: #fff !important;
+    border:3px solid $color_brand_light;
+    padding: 8px 43px 8px 43px;
+    letter-spacing: normal !important;
+    @media (max-width: 767.98px) {
+        padding: 8px 23px 8px 23px;
+    }
+    &:active {
+        background-color: $color_transparent !important;
+        border:3px solid $color_brand_light !important;
+        color: $color_brand_light !important;
+    }
+    &:hover{
+        background-color: $color_transparent;
+        border:3px solid $color_brand_light;
+        color: $color_brand_light !important;
+    }
+}
+
+.btn-outline-light {
+    border: 2px solid $color_white;
+}
+.btn-outline-default {
+    border: 2px solid $color_brand;
+}
+.btn-link {
+    text-decoration: none;
+}
+
+// Dropdowns
+.dropdown-toggle {
+    &::after {
+        @include icon();
+        content: '\F282';
+        border: none;
+        vertical-align: baseline;
+        font-size: 65%;
+        margin-left: 0;
+    }
+}
+.dropdown-item {
+    color: $color_basic;
+    &:focus,
+    &:hover {
+        color: $color_brand;
+        background-color: $color_brand_light;
+    }
+}
+
+// Content
+
+section, .section,
+footer {
+    @include masterfloat();
+}
+section,
+.section {
+    padding-top: 150px;
+    padding-bottom: 150px;
+    @media (max-width: 1099.98px) {
+        padding-top: 120px;
+        padding-bottom: 120px;
+    }
+    @media (max-width: 767.98px) {
+        padding-top: 100px;
+        padding-bottom: 100px;
+    }
+    ul, ol {
+
+        li {
+            list-style: none;
+            position: relative;
+
+            &::before {
+                position: absolute;
+                color: $color_brand;
+
+            }
+        }
+    }
+    // unorderd
+    ul {
+        padding-left: 1.75rem;
+        li {
+            &::before {
+                @include icon;
+                content: "\F633";
+                left: -1.75rem;
+                font-size: 1.5rem;
+                top: 0.2em;
+            }
+        }
+    }
+    // orderd
+    ol {
+        counter-reset: section; /* Creates a new instance of the section counter with each ol element */
+        padding-left: 1.5rem;
+        li {
+            margin-left: 0rem;
+            &::before {
+                counter-increment: section; /* Increments only this instance of the section counter */
+                content: counters(section, ".") ". "; /* Combines the values of all instances of the section counter, separated by a period */
+                font-weight: $font-weight-bold;
+                //margin-left: calc(-40px - 0.5rem);
+                //width: 40px;
+                text-align: right;
+                color: $color_brand;
+                position: relative;
+            }
+        }
+    }
+}
+.two-column {
+    column-count: 2;
+    column-gap: 45px;
+    @include vendor-prefix('hyphens', 'auto');
+    @media (max-width: 1099.98px) {
+        column-count: 1 !important;
+    }
+}
+
+
+.titlearea {
+    &.small{
+        height: 60vh !important;
+        @media (max-width: 991.98px) {
+            height: 70vh !important;
+        }
+        @media (max-width: 575.98px) {
+            height: 100vh !important;
+        }
+        .textwrapper{
+            margin-left: 12px;
+            margin-right: 12px;
+            padding: 15px 25px !important;
+            background: rgba(241,43,140,0.70);
+            width: auto !important;
+            margin-bottom: 4rem;
+            @media (max-width: 575.98px) {
+                margin-left: 17px;
+                margin-right: 17px;
+            }
+            .h1{
+                letter-spacing: 1px;
+                line-height: 1.2;
+                text-shadow: none;
+                color: #fff;
+                font-weight: 700 !important;
+                font-size: 60px !important;
+                margin-bottom: 0px !important;
+                display: flex;
+                text-transform: none !important;
+                align-items: center;
+                @media (max-width: 991.98px) {
+                    font-size: 50px !important;
+                    line-height: 1.1;
+                }
+                @media (max-width: 575.98px) {
+                    font-size: 35px !important;
+                }
+            }
+        }
+    }
+    td{
+        padding-right: 20px;
+        color: #fff;
+        font-size: 23px;
+        line-height: 1.6;
+        @media (max-width: 575.98px) {
+            font-size: 20px;
+            padding-right: 18px;
+            line-height: 1.5;
+        }
+    }
+    .openingtimes{
+        padding: 0px !important;
+        background: rgba(241,43,140,0.55);
+        .h1{
+            text-shadow: none;
+            color: #fff;
+            font-weight: 700 !important;
+            font-size: 50px !important;
+            margin-bottom: 0px !important;
+            display: flex;
+            align-items: center;
+            @media (max-width: 991.98px) {
+                font-size: 40px !important;
+            }
+            @media (max-width: 575.98px) {
+                font-size: 30px !important;
+            }
+        }
+        .subline{
+            color: #fff;
+            text-shadow: none;
+            margin-bottom: 7px;
+            font-size: 30px !important;
+            @media (max-width: 575.98px) {
+                font-size: 27px !important;
+            }
+        }
+        .svg{
+            width: 40px !important;
+            margin-right: 20px;
+            @media (max-width: 991.98px) {
+                width: 35px !important;
+            }
+            @media (max-width: 575.98px) {
+                width: 29px !important;
+                margin-right: 15px;
+            }
+        }
+        &.bottom-0 {
+            bottom: 70px !important;
+        }
+        .openingtimeswrapper{
+            padding: 25px;
+        }
+        .phonewrapper{
+            background-color: $color_brand;
+            padding: 10px 25px;
+        }
+    }
+    .h1{
+        text-shadow: 0px 0px 25px #000;
+    }
+    .subline{
+        text-shadow: 0px 0px 15px #000;
+    }
+    @include masterfloat();
+    //height: 100vh;
+    height: var(--app-height);
+    overflow: hidden;
+    padding-top: 0 !important;
+    padding-bottom: 0 !important;
+    &.half {
+        height: 650px;
+        max-height: 75vh;
+    }
+
+    picture {
+        &::before {
+            content: '';
+            width: 100%;
+            height: 100%;
+            @include center;
+            background-color: rgba($color_basic,.2);
+        }
+    }
+
+    img {
+        display: block;
+        width: 100%;
+        object-fit: cover;
+        object-position: center;
+        //height: 100vh;
+        height: var(--app-height);
+
+    }
+    .container {
+        z-index: 2;
+    }
+}
+.text-image {
+    background-image: url(https://www.emsa.com/fileadmin/media/inspirationen/drink2go/eco/teaser-emsa-drink2go-auswahlhilfe.jpg);
+    background-repeat: no-repeat;
+    background-size: cover;
+    .container {
+        .row {
+
+            //&:nth-child(odd),
+            &.flex-row-reverse {
+                flex-direction: row-reverse!important;
+
+                .textwrapper {
+                    padding-right: 1.5rem;
+                    padding-left: calc(var(--bs-gutter-x) * .5);
+                }
+            }
+            &.section {
+                float: none;
+                width: auto;
+                &:first-of-type,
+                + .section {
+                    padding-top: 0;
+                }
+                &:last-of-type {
+                    padding-bottom: 0;
+                }
+            }
+        }
+    }
+}
+
+.text-image-background {
+    background-image: url(http://dummy.cybob.com//10360_Hehmann/dummy_hehmann/packages/default_site_package/Resources/Public/Images/hehmann-karte.jpg);
+    background-repeat: no-repeat;
+    background-size: cover;
+    .container {
+        .row {
+
+            //&:nth-child(odd),
+            &.flex-row-reverse {
+                flex-direction: row-reverse!important;
+
+                .textwrapper {
+                    padding-right: 1.5rem;
+                    padding-left: calc(var(--bs-gutter-x) * .5);
+                }
+            }
+            &.section {
+                float: none;
+                width: auto;
+                &:first-of-type,
+                + .section {
+                    padding-top: 0;
+                }
+                &:last-of-type {
+                    padding-bottom: 0;
+                }
+            }
+        }
+    }
+}
+.teasergrid {
+    .teaser {
+        &.square {
+            .squarewrapper {
+                &::after {
+                    position: absolute;
+                    content: "";
+                    width: 100%;
+                    height: 100%;
+                    background: rgba($color_brand,.28);
+                    //background: $color_brand;
+                    left: 0;
+                    top: 0;
+                    //mix-blend-mode: multiply;
+                }
+                .image {
+                    width: 100%;
+                    height: 0;
+                    padding-top: 100%;
+                    position: relative;
+                    img {
+                        width: 100%;
+                        height: 100%;
+
+                        object-fit: cover;
+                        @include center;
+
+                    }
+                }
+            }
+
+        }
+    }
+}
+.jobs {
+    border-radius: 0;
+    * {
+        color: $color_white;
+    }
+    .job {
+        background-color: transparent;
+        border-radius: 0 !important;
+        border: none;
+        padding: 2rem;
+        position: relative;
+        &:hover {
+            text-shadow: 0 0 20px rgba($color_basic, .4);
+        }
+
+        + .job {
+            &::before {
+                border-top: 2px solid #fff;
+                content: '';
+                width: calc(100% - 4rem);
+                display: inline-block;
+                top: 0;
+                position: absolute;
+            }
+        }
+    }
+}
+.bigicon {
+    svg {
+        max-width: 100px;
+        max-height: 100px;
+        width: 100%;
+        height: auto;
+        filter: drop-shadow(0 0  20px rgba($color_basic, .2));
+    }
+}
+code {
+    color: $color_brand_dark;
+}
+.accordion {
+
+
+    &.career{
+        p{
+            margin-bottom: 5px !important;
+        }
+        ul{
+            margin-bottom: 40px;
+        }
+        strong{
+            font-size: 22px;
+            @media (max-width: 575.98px) {
+                font-size: 20px;
+            }
+        }
+        li{
+            padding-left: 5px;
+            line-height: 1.6;
+        }
+        .downloadimg{
+            width: 100%;
+        }
+        .download{
+            @media (max-width: 1199.98px) {
+                margin-top: 30px !important;
+            }
+        }
+        .downloadwrapper{
+            background-color: $color_brand;
+            padding: 20px;
+            font-size: 20px;
+            color: #fff;
+            letter-spacing: 0.3px;
+            @media (max-width: 575.98px) {
+                font-size: 16px;
+            }
+            &:hover{
+                background-color: $color_brand_dark;
+            }
+            .svg{
+                width: 25px;
+                margin-right: 10px;
+                @media (max-width: 575.98px) {
+                    width: 18px !important;
+                }
+            }
+        }
+    }
+    --bs-accordion-border-radius: 0;
+    --bs-accordion-inner-border-radius: 0;
+    --bs-accordion-active-color: $color_brand;
+    --bs-accordion-active-bg: rgba($color_brand, .05);
+    border-top: 2px solid #000;
+    border-bottom: 1px solid #000;
+    margin-top: 40px;
+    .accordion-body{
+        padding: 0px 100px 20px 0px;
+        letter-spacing: normal !important;
+        @media (max-width: 767.98px) {
+            padding: 0px 60px 20px 0px;
+        }
+        @media (max-width: 575.98px) {
+            padding: 0px 30px 20px 0px;
+        }
+
+    }
+
+    .accordion-item{
+        background-color: transparent;
+        border-top: solid #000 1px;
+        border-bottom: solid #000 2px;
+        border-left: none;
+        border-right: none;
+    }
+	.optik{
+		background-color: $color_lightgrey;
+		color: #000;
+		text-transform: uppercase;
+		padding: 15px;
+        border-radius: 7px;
+	}
+    .accordion-button {
+        font-size: 25px;
+        color: #000000;
+        font-weight: $font-weight-semibold;
+        padding: 20px 20px 20px 0px;
+        @media (max-width: 991.98px) {
+            padding: 17px 20px 17px 0px;
+        }
+        @media (max-width: 767.98px) {
+            font-size: 22px;
+        }
+        @media (max-width: 575.98px) {
+            font-size: 20px;
+        }
+        &.collapsed{
+            background-color: transparent;
+        }
+
+        &:after {
+            content: '\F282';
+            @include icon;
+            color: $color_brand;
+            position: absolute;
+            right: 1rem;
+            top: 50%;
+            transform: translate(-50%,-50%);
+            font-size: $h3-font-size;
+            background-image: none;
+        }
+        &:not(.collapsed) {
+            box-shadow: none;
+            background-color: transparent;
+            &::after {
+                content: '\F282';
+                transform: rotate(-180deg) translate(15%,30%);
+            }
+        }
+    }
+
+}
+
+
+.socialmedia {
+    .socialicon {
+        @media (max-width:767.98px) {
+            display: block !important;
+            text-align: center;
+        }
+
+        a {
+
+            position: relative;
+            display: inline-block;
+            width: 130px;
+            height: 130px;
+            margin: 0 .5rem;
+            background: $color_brand;
+            @media (max-width:991.98px) {
+                width: 100px;
+                height: 100px;
+            }
+            @media (max-width:575.98px) {
+                height: 70px;
+                width: 70px;
+            }
+
+            /*@media (max-width:767.98px) {
+                padding: 2rem 0;
+                display: inline-block;
+            }*/
+            img, svg {
+                color: $color_white;
+                height: 65px;
+                width: auto;
+                @include center;
+
+                @media (max-width:991.98px) {
+                    height: 45px;
+                }
+                @media (max-width:575.98px) {
+                    height: 25px;
+                }
+
+                path {
+                    fill: $color_white;
+                }
+
+            }
+            &:hover {
+                background: $color_white;
+                border: 2px solid $color_brand;
+                img, svg {
+                    path, polygon {
+                        fill: $color_brand;
+                        @include fade();
+                    }
+                }
+            }
+        }
+    }
+}
+.swiper {
+    width: 100%;
+    height: 100%;
+}
+
+.swiper-slide {
+    text-align: center;
+    font-size: 18px;
+    background: #444;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+}
+
+.swiper-slide img {
+    display: block;
+    width: 100%;
+    height: 100%;
+    object-fit: cover;
+}
+
+.btn-check:checked+.btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check)+.btn:active{
+    color: #000000;
+}
+.btn-check:checked+.btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check)+.btn:active{
+    background-color: transparent;
+    border: none;
+    color: #135b3f;
+}
+
+.navbar .btn-link svg path {
+    &:hover{
+        fill: $color_brand !important;
+    }
+}
+
+
+
+
+
+
+.careertext{
+
+    .container{
+        @media (max-width: 575.98px)
+        {
+            padding-left: 15px !important;
+        }
+    }
+
+    .contactimg{
+        width: 70%;
+    }
+    .contact{
+        @media (max-width: 1199.98px) {
+            margin-top: 50px;
+        }
+        p{
+            font-size: 25px !important;
+            font-weight: 500 !important;
+            letter-spacing: 0.3px !important;
+        }
+    }
+    .iconwrapper{
+        display: flex;
+        justify-content: center;
+        align-items: center;
+        flex-direction: column;
+        margin-bottom: 20px;
+        margin-top: 20px;
+    }
+    .icon{
+        width: 75px;
+        margin-bottom: 20px;
+        @media (max-width: 1599.98px) {
+            width: 70px;
+        }
+        @media (max-width: 991.98px) {
+            width: 60px;
+            margin-bottom: 17px;
+        }
+        @media (max-width: 767.98px) {
+            width: 65px;
+        }
+        @media (max-width: 460.98px) {
+            width: 55px;
+        }
+        @media (max-width: 370.98px) {
+            width: 45px;
+            margin-bottom: 15px;
+        }
+    }
+    .contactwrapper{
+        width: 70%;
+        background-color: $color_brand;
+        padding: 20px;
+        font-size: 20px;
+        color: #fff;
+        letter-spacing: 0.3px;
+        @media (max-width: 575.98px) {
+            font-size: 16px;
+        }
+        a{
+            color: #fff !important;
+        }
+        .svg{
+            width: 25px;
+            margin-right: 10px;
+            @media (max-width: 575.98px) {
+                width: 18px !important;
+            }
+        }
+    }
+    .icongrid{
+        margin-top: 70px;
+        .subline{
+            color: #000 !important;
+            text-align: center;
+            font-size: 21px !important;
+            @media (max-width: 1599.98px) {
+                font-size: 20px !important;
+            }
+            @media (max-width: 991.98px) {
+                font-size: 18px !important;
+            }
+            @media (max-width: 767.98px) {
+                font-size: 21px !important;
+            }
+            @media (max-width: 575.98px) {
+                font-size: 20px !important;
+            }
+            @media (max-width: 460.98px) {
+                font-size: 18px !important;
+            }
+            @media (max-width: 370.98px) {
+                font-size: 16px !important;
+            }
+        }
+    }
+}
+
+
+.grey-bg-section{
+    padding-top: 0px !important;
+    padding-bottom: 0px !important;
+    background-color: $color_lightgrey;
+    img{
+        width: 100%;
+    }
+    .subline{
+        color: #000;
+        margin-bottom: 10px;
+    }
+    .h2{
+        color: #000;
+    }
+    p{
+        color: #000;
+    }
+    .imgwrapper{
+        padding-right: 0px !important;
+        padding-left: 0px !important;
+    }
+    .textwrapper{
+        padding-right: 30px !important;
+        padding-left: 30px !important;
+        @media (max-width: 991.98px) {
+            order: 1;
+            padding-top: 40px !important;
+            padding-bottom: 40px !important;
+        }
+        @media (max-width: 575.98px) {
+            padding-right: 20px !important;
+            padding-left: 15px !important;
+        }
+    }
+    ul {
+        padding-left: 1.75rem;
+
+        li {
+            font-weight: 500 !important;
+            line-height: 1.4;
+            margin-bottom: 10px;
+            letter-spacing: normal;
+            &::before {
+                @include icon;
+                content: "\F285";
+                left: -1.75rem;
+                font-size: 1.5rem;
+            }
+        }
+    }
+}
+
+.ul-long{
+    column-count: 2;
+}
+
+.pink-bg-section{
+    padding-top: 0px !important;
+    padding-bottom: 0px !important;
+    background-color: $color_brand;
+    img{
+        width: 100%;
+    }
+    .btn{
+        border: #fff solid 2px !important;
+        background-color: transparent;
+        color: #fff !important;
+        margin-bottom: 0px !important;
+        &:hover{
+            border: #fff solid 2px !important;
+            background-color: #fff !important;
+            color: $color_brand !important;
+        }
+    }
+    .subline{
+        color: #fff;
+    }
+    .h2{
+        color: #fff;
+    }
+    p{
+        color: #fff;
+    }
+    .imgwrapper{
+        padding-right: 0px !important;
+        padding-left: 0px !important;
+    }
+    .textwrapper{
+        padding-right: 30px !important;
+        padding-left: 30px !important;
+        @media (max-width: 991.98px) {
+            padding-top: 40px !important;
+            padding-bottom: 40px !important;
+        }
+        @media (max-width: 575.98px) {
+            padding-right: 20px !important;
+            padding-left: 25px !important;
+        }
+    }
+}
+
+
+.square-hover{
+    .image {
+        display: block;
+        width: 100%;
+        height: auto;
+    }
+    .overlay {
+        position: absolute;
+        top: 0;
+        bottom: 0;
+        left: 0;
+        right: 0;
+        height: 100%;
+        width: 100%;
+        opacity: 0;
+        transition: .5s ease;
+        background-color: #008CBA;
+    }
+    .container:hover .overlay {
+        opacity: 0.5;
+    }
+    .text {
+        color: white;
+        font-size: 20px;
+        position: absolute;
+        top: 50%;
+        left: 50%;
+        -webkit-transform: translate(-50%, -50%);
+        -ms-transform: translate(-50%, -50%);
+        transform: translate(-50%, -50%);
+        text-align: left;
+    }
+}
+
+
+
+
+
+.benefits-new{
+    img{
+        width: 100%;
+    }
+    .card-wrapper{
+        display: flex;
+        justify-content: center;
+        align-items: center;
+        padding-bottom: 12px;
+    }
+    .card{
+        width: 300px;
+        border: none !important;
+    }
+    .card-inner{
+        position: relative;
+        width: 100%;
+        height: 150px;
+        padding-bottom: 100%;
+        transition: transform 0.6s;
+        transform-style: preserve-3d;
+    }
+    .card:hover .card-inner{
+        transform: rotateY(180deg);
+    }
+    .card-front, .card-back{
+        position: absolute;
+        width: 100%;
+        height: 100%;
+        backface-visibility: hidden;
+        display:flex;
+        align-items: center;
+        flex-direction: column;
+        justify-content: center;
+    }
+    .card-front{
+        background: #f5f5f5;
+        text-align: center;
+    }
+    .card-back{
+        background: #587a9a;
+        color: #fff;
+        transform: rotateY(180deg);
+        text-align: center;
+        background-repeat: no-repeat;
+        background-position: bottom 10px right 10px;
+        background-size: 50%;
+    }
+    .benefiticon{
+        width: 85px;
+        margin-bottom: 16px;
+    }
+    .iconTile{
+        margin: 0px !important;
+        border: 5px #fff solid;
+        padding: 50px 30px 24px 30px !important;
+    }
+    picture{
+        display: flex;
+        align-items: center;
+        justify-content: center;
+        flex-direction: column;
+    }
+    .col-5{
+        flex: 0 0 20%;
+        max-width: 20%;
+        @media (max-width: 1199.98px) {
+            flex: 0 0 25%;
+            max-width: 25%;
+        }
+        @media (max-width: 991.98px) {
+            flex: 0 0 33%;
+            max-width: 33%;
+        }
+        @media (max-width: 767.98px) {
+            flex: 0 0 50%;
+            max-width: 50%;
+        }
+        @media (max-width: 450.98px) {
+            flex: 0 0 100%;
+            max-width: 100%;
+        }
+    }
+    .subline{
+        line-height: 1.35rem;
+    }
+    h2, .h2{
+        margin-bottom: 0.9rem;
+    }
+    p{
+        &.text{
+            font-size: 16px;
+            font-weight: 700;
+            letter-spacing: 0.1rem;
+            line-height: 1.5rem;
+            padding-left: 15px;
+            padding-right: 15px;
+        }
+    }
+    .col-xl-3, .col-lg-3, .col-md-4, .col-sm-6, .col-12{
+        padding-right: 6px;
+        padding-left: 6px;
+    }
+}
+
+
+/////////////////////////////////////////////////////
+// CONTACT
+/////////////////////////////////////////////////////
+.contact-teaser {
+    padding-left:0px !important;
+    padding-top: 0px !important;
+    padding-bottom: 0px !important;
+
+    .icon-phone-contact {
+        height: 20px !important;
+        color:#000000 !important;
+        padding-right: 5px;
+    }
+
+    .icon-at-contact {
+        height: 20px !important;
+        padding-right: 5px;
+        color:#000000 !important;
+    }
+
+    .contact-img{
+        padding-right: 0px !important;
+    }
+
+
+    table {
+        border:0px;
+        letter-spacing:normal;
+    }
+
+    td{
+        text-align: left;
+        padding-top:2px;
+        padding-bottom:2px;
+        padding-right:25px;
+    }
+
+    .openingtimes{
+        &.col-xl-6{
+            @media (max-width: 1299.98px) {
+                width: 100% !important;
+            }
+        }
+        background-color: $color_brand;
+        color:#ffffff;
+        padding-left:0px !important;
+        padding-right: 0px;
+    }
+
+    .openingtimes-wrapper{
+        padding:3rem;
+        @media (min-width: 320px){
+            padding-left: 0px !important;
+        }
+
+        @media (min-width: 768px){
+            padding-left: 35px !important;
+        }
+    }
+
+    .contact-person {
+        padding-right: 0px !important;
+    }
+
+    .contact {
+        @media (max-width: 1199.98px){
+            width: 50%
+        }
+        @media (max-width: 991.98px){
+            width: 50%
+        }
+        @media (max-width: 767.98px){
+            width: 100%
+        }
+        background-color: $color_lightgrey;
+        color:#000000;
+        padding-right:0px;
+        padding-left: 0px;
+    }
+
+    .contact-wrapper{
+        position: absolute;
+        bottom: 0px;
+        padding-top: 50px;
+        padding-bottom: 50px;
+        padding-left: 15px; 
+        @media (max-width: 767.98px){
+            background-color: $color_lightgrey;
+            padding: 20px !important;
+			padding-left: 15px !important;
+			position: relative !important;
+        }   
+    }
+    .anfahrt-textwrapper{
+        padding-top: 5%;
+        padding-bottom: 5%;
+        padding-right: 5%;
+
+        @media (min-width: 320px){
+            padding-left: 0px !important;
+        }
+
+        @media (min-width: 768px){
+            padding-left: 35px !important;
+        }
+
+        @media (min-width: 1024px){
+            padding-left: 40px !important;
+        }
+
+        @media (min-width: 1440px){
+            padding-left: 80px !important;
+        }
+
+        @media (min-width: 2250px){
+            padding-left: 460px !important;
+        }
+
+        @media (min-width: 2560px){
+            padding-left: 460px !important;
+        }
+    }
+    background-image: url(http://dummy.cybob.com//10360_Hehmann/dummy_hehmann/packages/default_site_package/Resources/Public/Images/hehmann-karte.jpg);
+    background-repeat: no-repeat;
+    background-size: cover;
+    .container {
+        .row {
+
+            //&:nth-child(odd),
+            &.flex-row-reverse {
+                flex-direction: row-reverse!important;
+
+                .textwrapper {
+                    padding-right: 1.5rem;
+                    padding-left: calc(var(--bs-gutter-x) * .5);
+                }
+            }
+            &.section {
+                float: none;
+                width: auto;
+                &:first-of-type,
+                + .section {
+                    padding-top: 0;
+                }
+                &:last-of-type {
+                    padding-bottom: 0;
+                }
+            }
+        }
+    }
+}
+
+.ml-0{
+    margin-left: 0px !important;
+}
+
+.textwrapper-teaser{
+
+    padding-right: 5%;
+
+    @media (min-width: 320px){
+        padding-left: 0px !important;
+    }
+
+    @media (min-width: 768px){
+        padding-left: 35px !important;
+    }
+
+    @media (min-width: 1024px){
+        padding-left: 40px !important;
+    }
+
+    @media (min-width: 1440px){
+        padding-left: 80px !important;
+    }
+
+    @media (min-width: 2250px){
+        padding-left: 460px !important;
+    }
+
+    @media (min-width: 2560px){
+        padding-left: 460px !important;
+    }
+}
+
+.textwrapper-leistungen{
+
+    @media (min-width: 992px) {
+        padding: 40px;
+    }
+}
+
+.teaser-info{
+
+
+    .teaser-text{
+        margin: 0px !important;
+        color: #ffffff !important;
+    }
+
+    .info-wrapper{
+        color:#fff !important;
+        position: relative;
+    }
+
+    .teaser-icon{
+        height: 20px !important;
+        color: #fff !important;
+        padding-right: 5px;
+
+    }
+
+    .teaser-image-container{
+        position: relative;
+        justify-content: center;
+        align-items: center;
+        margin-bottom: 20px;
+
+        @media (max-width: 575.98px){
+            margin-bottom:0px;
+        }
+
+    }
+
+    .image{
+        width: 100%;
+    }
+
+    .row {
+        display: flex;
+        flex-wrap: wrap;
+        margin-right: -15px;
+        margin-left: -15px;
+    }
+    .teaser-hover {
+        position: relative;
+        float: left;
+        width: 100%;
+    }
+    .hideshow {
+        opacity: 0;
+        position: absolute;
+        width: 100%;
+        height: 95%;
+        top: 0;
+        text-align: left;
+        background-position-x: -15rem;
+        background: rgba(20, 91, 63, 0.90);
+        display: -webkit-flex;
+        display: -webkit-box;
+        display: -ms-flexbox;
+        display: flex !important;
+        padding: 35px;
+        align-items: end;
+        justify-content: left;
+
+        @media (max-width: 1699.98px){
+            height:94%
+        }
+
+        @media (max-width: 1399.98px){
+            height:96%
+        }
+
+        @media (max-width: 991.98px){
+            height:94.5%
+        }
+
+        @media (max-width: 767.98px){
+            height:96.5%
+        }
+
+        @media (max-width: 575.98px){
+            opacity: 1;
+            position: relative;
+            height: 100%;
+            margin-bottom: 40px;
+        }
+
+        @media (max-width: 320.98px){
+            padding: 35px 35px 20px 20px;
+        }
+
+        &:hover{
+            opacity: 1;
+
+        }
+    }
+}
+
+.link-teaser-hover{
+    fill:#ffffff !important;
+    color: #ffffff !important;
+}
+
+.link-teaser-contact{
+    fill:#000000 !important;
+    color: #000000 !important;
+}
+
+/////////////////////////////////////////////////////
+// SWIPER
+/////////////////////////////////////////////////////
+.swiper-horizontal>.swiper-pagination-progressbar,
+.swiper-pagination-progressbar.swiper-pagination-horizontal,
+.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
+.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
+    top:inherit;
+    bottom: 0;
+    height: 3px;
+}
+.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
+    background: $color_brand;
+}
+@import 'default_navigation';
+@import 'default_form_powermail';
+@import 'default_form_formframework';
+
+
+.swiper-button-next,
+.swiper-button-prev {
+    color: $color_brand;
+    background-color: #ffffff;
+    width: 40px;
+    height: 40px;
+    box-shadow: 0 0 10px rgba(0,0,0,0.2);
+}
+
+.swiper-button-next:after,
+.swiper-button-prev:after {
+    font-size: 18px;
+    font-weight: bold;
+}
+
+.swiper-button-prev {
+    left: 50px;
+}
+
+.swiper-button-next {
+    right: 50px;
+}
+
+.swiper-pagination-bullet{
+    background-color: #ffffff;
+    opacity: 1;
+}
+
+.swiper-pagination-bullet-active{
+    background-color:$color_brand !important;
+}
+
+
+
+.headslider{
+	 padding: 0px !important;
+	.openingtimes{
+		z-index: 9;
+		bottom: 100px;
+		position: absolute;
+		padding: 0px !important;
+		background: rgba(241,43,140,0.55);
+		.h1{
+			text-shadow: none;
+			color: #fff;
+			font-weight: 700 !important;
+			font-size: 50px !important;
+			margin-bottom: 0px !important;
+			display: flex;
+			align-items: center;
+			@media (max-width: 991.98px) {
+				font-size: 40px !important;
+			}
+			@media (max-width: 575.98px) {
+				font-size: 30px !important;
+			}
+		}
+		.subline{
+			color: #fff;
+			text-shadow: none;
+			margin-bottom: 7px;
+			font-size: 30px !important;
+			@media (max-width: 575.98px) {
+				font-size: 27px !important;
+			}
+		}
+		tr, td{
+			color: #fff !important;
+		}
+		.svg{
+			width: 40px !important;
+			margin-right: 20px;
+			@media (max-width: 991.98px) {
+				width: 35px !important;
+			}
+			@media (max-width: 575.98px) {
+				width: 29px !important;
+				margin-right: 15px;
+			}
+		}
+		&.bottom-0 {
+			bottom: 70px !important;
+		}
+		.openingtimeswrapper{
+			padding: 25px;
+		}
+		.phonewrapper{
+			background-color: $color_brand;
+			padding: 10px 25px;
+		}
+	} 
+	.swiper-slide{
+		img{
+			height: 100vh;
+		}
+	}
+	
+	td{
+		padding-right: 20px;
+		color: #fff;
+		font-size: 23px;
+		line-height: 1.6;
+		@media (max-width: 575.98px) {
+			font-size: 20px;
+			padding-right: 18px;
+    		line-height: 1.5;
+		}
+	}
+	.swiper-button-prev{
+		@media (max-width: 767.98px) {
+			left: 30px;
+		}
+		@media (max-width: 575.98px) {
+			display: none;
+		}
+	}
+	.swiper-button-next{
+		@media (max-width: 767.98px) {
+			right: 30px;
+		}
+		@media (max-width: 575.98px) {
+			display: none;
+		}
+	}
+	.swiper-pagination-bullet{
+		width: 13px;
+		height: 13px;
+		margin: 0px 6px 20px 6px !important;
+		border-radius: 0px;
+	}
+}
+
+.referenzslider{
+	background-color: #fff !important;
+	.swiper-button-prev{
+		@media (max-width: 767.98px) {
+			left: 30px;
+		}
+		@media (max-width: 575.98px) {
+			display: none;
+		}
+	}
+	.swiper-button-next{
+		@media (max-width: 767.98px) {
+			right: 30px;
+		}
+		@media (max-width: 575.98px) {
+			display: none;
+		}
+	}
+}
+
+span{
+    color: #fff;
+    white-space: nowrap;
+}

+ 678 - 0
Resources/Public/Css/default_navigation.scss

@@ -0,0 +1,678 @@
+
+@mixin vendor-prefix($name, $value){
+    @each $vendor in ('-webkit-', '-moz-', '-ms-', '-o-', ''){
+        #{$vendor}#{$name}: #{$value};
+    }
+}
+@mixin vertical-center{
+    position: relative;
+    top: 50%;
+    @include vendor-prefix('transform', 'translateY(-50%)');
+}
+
+
+
+#navigationModalMulti {
+    background: rgba($color_brand,.9);
+    @include vendor-prefix('backdrop-filter', 'blur(10px)');
+
+    .modal-dialog {
+        width: 100vw;
+        max-width: 100vw;
+        height: 100vh;
+        max-height: 100vh;
+        margin: 0;
+        overflow: hidden;
+         // BUGFIX APPLE DEVICES 100vh
+         @media not all and (hover:hover) {
+            height: var(--app-height);
+            max-height: var(--app-height);
+        }
+        // CLOSE BUGFIX APPLE DEVICES 100vh
+        .modal-content {
+            min-width: inherit;
+            border: none;
+            background: transparent;
+            .navbarwrapper .container-fluid {
+                padding: 0;
+                margin: 0;
+                .wrapper .nav {
+                    display: block;
+                    height: 100vh;
+                    // BUGFIX APPLE DEVICES 100vh
+                    @media not all and (hover:hover) {
+                        height: var(--app-height);
+                    }
+                    // CLOSE BUGFIX APPLE DEVICES 100vh
+                    .closecontainer {
+                        top: 0 !important;
+                        z-index: 10;
+                        height: 80px;
+                        max-height: inherit !important;
+                        overflow-y: auto !important;
+                        @media (max-width: 992.98px) {
+                            position: fixed !important;
+                        }
+                        + .container {
+                            @media (max-width: 992.98px) {
+                                margin-top: 80px;
+                            }
+                        }
+                        .close {
+                            position: fixed;
+                            top: 24px;
+                            right: 20px;
+                            background: transparent;
+                            border: none;
+                            width: 50px;
+                            height: 50px;
+                            border-radius: 50px;
+                            z-index: 2;
+                            color: $color_white;
+                            svg {
+                                position: absolute;
+                                @include center;
+                                width: 20px;
+                                path {
+                                    fill: $color_white;
+                                }
+                            }
+                        }
+                    }
+                    .container {
+                        position: relative;
+                        float: left;
+                        left: 50%;
+                        -webkit-transform: translateX(-50%);
+                        -moz-transform: translateX(-50%);
+                        -ms-transform: translateX(-50%);
+                        -o-transform: translateX(-50%);
+                        transform: translateX(-50%);
+                        max-height: calc(100vh - 180px);
+                      // BUGFIX APPLE DEVICES 100vh
+                        @media not all and (hover:hover) {
+                            max-height: calc(var(--app-height) - 180px);
+                        }
+                        // CLOSE BUGFIX APPLE DEVICES 100vh
+                        @media (min-width: 2500px) {
+                            left: auto;
+                            transform: none;
+                            float: inherit;
+                        }
+                        @media (max-width: 540px) {
+                            max-height: calc(80vh - 210px);
+                        }
+                    }
+                    > .container {
+                        overflow-y: scroll;
+                    }
+                }
+            }
+        }
+    }
+}
+
+#navigationModalMulti {
+    .modal-dialog {
+        .modal-content {
+            .navbarwrapper {
+                .container-fluid {
+                    .wrapper {
+                        .nav {
+                            .container {
+                                .menu {
+                                    position: relative;
+                                    float: left;
+                                    width: 100%;
+                                    @media (max-width: 767.98px) {
+                                        margin-top: 30px;
+                                        margin-bottom: 30px;
+                                    }
+                                    .stack-menu {
+                                        background: transparent;
+                                        box-shadow: none;
+                                        overflow: unset;
+                                        .naviimagewrapper {
+                                            @include vertical-center;
+                                            position: fixed;
+                                            right: 0;
+                                            width: 350px;
+                                            height: auto;
+                                            opacity: 0;
+                                            @media (max-width: 576px) {
+                                                right: calc((100vw - 540px)/2);
+                                            }
+                                            @media (min-width: 768px) {
+                                                right: calc((100vw - 720px)/2);
+                                            }
+                                            @media (min-width: 992px) {
+                                                right: calc((100vw - 960px)/2);
+                                            }
+                                            @media (min-width: 1200px) {
+                                                right: calc((100vw - 1140px)/2);
+                                            }
+                                            @media (min-width: 1400px) {
+                                                right: calc((100vw - 1320px)/2);
+                                            }
+                                        }
+                                        .stack-menu__link--parent {
+                                            &:hover, &.stack-menu__link--hidden {
+                                                .naviimagewrapper {
+                                                    opacity: 1;
+                                                }
+                                            }
+                                            &::after {
+                                                @include icon;
+                                                content: '\F280' !important;
+                                                position: relative !important;
+                                                left: inherit;
+                                                top: 4px !important;
+                                                font-size: smaller;
+                                                display: inline-block;
+                                                width: auto !important;
+                                                height: auto !important;
+                                                @include vendor-prefix(transition, all 0.3s ease-in-out);
+                                                @include vendor-prefix(transform, translateY(1px)!important);
+                                            } 
+                                        }
+                                        .stack-menu__list {
+                                            list-style: none;
+                                            .stack-menu__item {
+                                                .stack-menu__link {
+                                                    position: relative;
+                                                    float: left;
+                                                    width: 100%;
+                                                    color: $color_white;
+                                                    @include font-size-base;
+                                                    @include h2-font-size;
+                                                    text-transform: uppercase;
+                                                    font-weight: $font-weight-bold;
+                                                    padding: 0;
+                                                    //opacity: 0.5;
+                                                    line-height: 1.3;
+                                                    -webkit-transition: all 0.3s ease-in-out;
+                                                    -moz-transition: all 0.3s ease-in-out;
+                                                    -o-transition: all 0.3s ease-in-out;
+                                                    -ms-transition: all 0.3s ease-in-out;
+                                                    transition: all 0.3s ease-in-out;
+                                                    letter-spacing: $letter-spacing;
+                                                    * {
+                                                        color: $color_white;
+                                                    }
+                                                }
+                                            }
+                                        }
+
+                                    }
+                                }
+                            }
+                            & > .container {
+                                overflow: inherit;
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    } 
+}
+
+@media (max-width: 1199.98px) {
+    #navigationModalMulti .modal-dialog .modal-content .navbarwrapper .container-fluid .wrapper .nav .container .menu .stack-menu .stack-menu__list .stack-menu__item .stack-menu__link {
+        overflow: hidden;
+        display: -webkit-box;
+        -webkit-box-orient: vertical;
+        -webkit-line-clamp: 1;
+    }
+    #navigationModalMulti .modal-dialog .modal-content .navbarwrapper .container-fluid .wrapper .nav .container .menu .stack-menu .stack-menu__list .stack-menu__item .stack-menu__link.stack-menu__link--hidden {
+        display: none;
+       }
+}
+@media (max-width: 767.98px) {
+    #navigationModalMulti .modal-dialog .modal-content .navbarwrapper .container-fluid .wrapper .nav .container .menu .stack-menu .stack-menu__list .stack-menu__item .stack-menu__link {
+        font-size: 2.5rem;
+        overflow: hidden;
+        display: -webkit-box;
+        -webkit-box-orient: vertical;
+        -webkit-line-clamp: 1;
+   }
+}
+@media (max-width:576px) {
+    #navigationModalMulti .modal-dialog .modal-content .navbarwrapper .container-fluid .wrapper .nav .container .menu .stack-menu .stack-menu__list .stack-menu__item .stack-menu__link,
+    #navigationModalMulti .modal-dialog .modal-content .navbarwrapper .container-fluid .wrapper .nav .container .menu .stack-menu .stack-menu__list .stack-menu__item.secondaryNav .stack-menu__link {
+        line-height: 1.2 !important;
+    }
+}
+#navigationModalMulti .modal-dialog .modal-content .navbarwrapper .container-fluid .wrapper .nav .container .menu .stack-menu .stack-menu__list .stack-menu__item .stack-menu__link:before {
+    content: '';
+    position: absolute;
+    top: 50%;
+    @include vendor-prefix(transform, translateY(-50%));
+    left: 0;
+    @include icon;
+    content: '\F285';
+    font-size: smaller;
+    opacity: 0;
+    @include vendor-prefix(transition, all 0.3s ease-in-out);
+}
+#navigationModalMulti .modal-dialog .modal-content .navbarwrapper .container-fluid .wrapper .nav .container .menu .stack-menu .stack-menu__list .stack-menu__item .stack-menu__link:hover {
+    padding-left: 45px;
+    background: none;
+    opacity: 1;
+    font-weight: 700;
+}
+#navigationModalMulti .modal-dialog .modal-content .navbarwrapper .container-fluid .wrapper .nav .container .menu .stack-menu .stack-menu__list .stack-menu__item .stack-menu__link:hover:before {
+    opacity: 1;
+}
+@media (max-width: 767.98px) {
+    #navigationModalMulti .modal-dialog .modal-content .navbarwrapper .container-fluid .wrapper .nav .container .menu .stack-menu .stack-menu__list .stack-menu__item .stack-menu__link:hover {
+        padding-left: 0;
+    }
+    #navigationModalMulti .modal-dialog .modal-content .navbarwrapper .container-fluid .wrapper .nav .container .menu .stack-menu .stack-menu__list .stack-menu__item .stack-menu__link:hover:before {
+        opacity: 0;
+    }
+}
+#navigationModalMulti .modal-dialog .modal-content .navbarwrapper .container-fluid .wrapper .nav .container .menu .stack-menu .stack-menu__list .stack-menu__item .stack-menu__link.stack-menu__link--parent {
+    background-image: none;
+}
+#navigationModalMulti .modal-dialog .modal-content .navbarwrapper .container-fluid .wrapper .nav .container .menu .stack-menu .stack-menu__list .stack-menu__item .stack-menu__link.stack-menu__link--parent:after {
+    content: '';
+    background-size: 650px 650px;
+    background-repeat: no-repeat;
+    width:  650px;
+    height: 650px;
+    @include vertical-center;
+    position: fixed;
+    right: 0;
+    opacity: 0;
+}
+#navigationModalMulti .modal-dialog .modal-content .navbarwrapper .container-fluid .wrapper .nav .container .menu .stack-menu .stack-menu__list .stack-menu__item .stack-menu__link.stack-menu__link--parent:hover:after,
+#navigationModalMulti .modal-dialog .modal-content .navbarwrapper .container-fluid .wrapper .nav .container .menu .stack-menu .stack-menu__list .stack-menu__item .stack-menu__link.stack-menu__link--parent.stack-menu__link--hidden:after {
+    opacity: 1;
+}
+#navigationModalMulti .modal-dialog .modal-content .navbarwrapper .container-fluid .wrapper .nav .container .menu .stack-menu .stack-menu__list .stack-menu__item .stack-menu__link.stack-menu__link--parent[data-attr="Dunstabzuege"]:after {
+    background-image: url(../Images/Drawings/berbel-icon-abzugshaube.svg);
+}
+#navigationModalMulti .modal-dialog .modal-content .navbarwrapper .container-fluid .wrapper .nav .container .menu .stack-menu .stack-menu__list .stack-menu__item .stack-menu__link.stack-menu__link--parent[data-attr="Kochfelder"]:after {
+    background-image: url(../Images/Drawings/berbel-icon-kochfeld.svg);
+}
+#navigationModalMulti .modal-dialog .modal-content .navbarwrapper .container-fluid .wrapper .nav .container .menu .stack-menu .stack-menu__list .stack-menu__item .stack-menu__link.stack-menu__link--back {
+    position: relative;
+    float: left;
+    width: 100%;
+    background-image: none;
+    opacity: 1;
+}
+#navigationModalMulti .modal-dialog .modal-content .navbarwrapper .container-fluid .wrapper .nav .container .menu .stack-menu .stack-menu__list .stack-menu__item .stack-menu__link.stack-menu__link--back:before {
+    content: '';
+    position: absolute;
+    left: 0;
+    width: 30px !important;
+    height: 30px !important;
+    background-size: 30px 30px;
+    background-repeat: no-repeat;
+    background-image: url(../Icons/arrow-g.svg);
+    opacity: 1;
+    transform: scaleX(-1);
+}
+#navigationModalMulti .modal-dialog .modal-content .navbarwrapper .container-fluid .wrapper .nav .container .menu .stack-menu .stack-menu__list .stack-menu__item .stack-menu__link.stack-menu__link--back:after {
+    content: attr(data-label);
+    position: absolute;
+    top: 0;
+    left: 0;
+    float: left;
+    font-weight: bold;
+    text-transform: uppercase;
+}
+#navigationModalMulti .modal-dialog .modal-content .navbarwrapper .container-fluid .wrapper .nav .container .menu .stack-menu .stack-menu__list .stack-menu__item .stack-menu__list .stack-menu__item .stack-menu__link {
+    font-size: 1.5rem;
+    line-height: 1.5;
+}
+@media (max-width: 767.98px) {
+    #navigationModalMulti .modal-dialog .modal-content .navbarwrapper .container-fluid .wrapper .nav .container .menu .stack-menu .stack-menu__list .stack-menu__item .stack-menu__list .stack-menu__item .stack-menu__link {
+        max-width: 87%;
+        /*white-space: nowrap;*/
+	    overflow: hidden;
+	    text-overflow:ellipsis;
+    }
+}
+#navigationModalMulti .modal-dialog .modal-content .navbarwrapper .container-fluid .wrapper .nav .container .menu .stack-menu .stack-menu__list .stack-menu__item .stack-menu__list .stack-menu__item .stack-menu__link:hover {
+    padding-left: 25px;
+}
+#navigationModalMulti .modal-dialog .modal-content .navbarwrapper .container-fluid .wrapper .nav .container .menu .stack-menu .stack-menu__list .stack-menu__item .stack-menu__list .stack-menu__item .stack-menu__link:before {
+    width: 15px !important;
+    height: 15px !important;
+    background-size: 15px 15px;
+}
+#navigationModalMulti .modal-dialog .modal-content .navbarwrapper .container-fluid .wrapper .nav .container .menu .stack-menu .stack-menu__list .stack-menu__item .stack-menu__list .stack-menu__item .stack-menu__link.stack-menu__link--back {
+    padding-bottom: 30px;
+    margin-bottom: 15px;
+}
+#navigationModalMulti .modal-dialog .modal-content .navbarwrapper .container-fluid .wrapper .nav .container .menu .stack-menu .stack-menu__list .stack-menu__item .stack-menu__list .stack-menu__item .stack-menu__link.stack-menu__link--back:before {
+    width: 30px !important;
+    height: 30px !important;
+    background-size: 30px 30px;
+}
+#navigationModalMulti .modal-dialog .modal-content .navbarwrapper .container-fluid .wrapper .nav .container .menu .stack-menu .stack-menu__list .stack-menu__item.secondaryNav {
+    position: relative;
+    float: left;
+    width: 100%;
+}
+#navigationModalMulti .modal-dialog .modal-content .navbarwrapper .container-fluid .wrapper .nav .container .menu .stack-menu .stack-menu__list .stack-menu__item.secondaryNav:first-of-type .stack-menu__link {
+    margin-top: 30px;
+}
+#navigationModalMulti .modal-dialog .modal-content .navbarwrapper .container-fluid .wrapper .nav .container .menu .stack-menu .stack-menu__list .stack-menu__item.secondaryNav .stack-menu__link {
+    @include font-size;
+    font-weight: $font-weight-base;
+    line-height: 1.5;
+}
+#navigationModalMulti .modal-dialog .modal-content .navbarwrapper .container-fluid .wrapper .nav .container .menu .stack-menu .stack-menu__list .stack-menu__item.secondaryNav .stack-menu__link.parent-level,
+#navigationModalMulti .modal-dialog .modal-content .navbarwrapper .container-fluid .wrapper .nav .container .menu .stack-menu .stack-menu__list .stack-menu__item.secondaryNav .stack-menu__list--active .stack-menu__item .stack-menu__link{
+    font-weight: 700;
+}
+#navigationModalMulti .modal-dialog .modal-content .navbarwrapper .container-fluid .wrapper .nav .container .menu .stack-menu .stack-menu__list .stack-menu__item.secondaryNav .stack-menu__link:hover {
+    padding-left: 25px;
+}
+@media (max-width: 767.98px) {
+    #navigationModalMulti .modal-dialog .modal-content .navbarwrapper .container-fluid .wrapper .nav .container .menu .stack-menu .stack-menu__list .stack-menu__item.secondaryNav .stack-menu__link:hover {
+        padding-left: 0;
+    }
+}
+#navigationModalMulti .modal-dialog .modal-content .navbarwrapper .container-fluid .wrapper .nav .container .menu .stack-menu .stack-menu__list .stack-menu__item.secondaryNav .stack-menu__link:hover:before {
+    width: 15px !important;
+    height: 15px !important;
+    background-size: 15px 15px;
+}
+#navigationModalMulti .modal-dialog .modal-content .socialwrapper {
+    position: fixed !important;
+    bottom: 30px;
+    display: flex;
+    justify-content: center;
+    left: 0;
+    transform: none;
+}
+@media (max-width: 991.98px) {
+    #navigationModalMulti .modal-dialog .modal-content .socialwrapper {
+        width: 100%;
+        max-width: 100%;
+        bottom: 75px;
+        left: 0 !important;
+        transform: none !important;
+    }
+}
+
+@media (min-width: 992.99px) {
+    #navigationModalMulti .modal-dialog .modal-content .socialwrapper .wrapper-inner {
+        position: relative;
+        float: right;
+        width: inherit;
+        padding: 0 15px;
+    }
+}
+
+#navigationModalMulti .modal-dialog .modal-content .socialwrapper ul {
+    list-style: none;
+    padding-left: 0;
+    margin-bottom: 0;
+    float: right;
+}
+
+@media (max-width: 767.98px) {
+    #navigationModalMulti .modal-dialog .modal-content .socialwrapper ul {
+        position: fixed;
+        left: 50%;
+        -webkit-transform: translateX(-50%);
+        -moz-transform: translateX(-50%);
+        -ms-transform: translateX(-50%);
+        -o-transform: translateX(-50%);
+        transform: translateX(-50%);
+        width: 100%;
+        bottom: 15px;
+        display: flex;
+        justify-content: center;
+    }
+}
+
+#navigationModalMulti .modal-dialog .modal-content .socialwrapper ul li {
+    position: relative;
+    float: left;
+}
+@media (max-width: 767.98px) {
+    #navigationModalMulti .modal-dialog .modal-content .socialwrapper ul li {
+        margin-bottom: 15px;
+   }
+}
+#navigationModalMulti .modal-dialog .modal-content .socialwrapper ul li a {
+    position: relative;
+    float: left;
+    width: 50px;
+    height: 50px;
+    border-radius: 150px;
+    background: rgba(0, 0, 0, .4);
+    -webkit-transition: all 0.3s ease-in-out;
+    -moz-transition: all 0.3s ease-in-out;
+    -o-transition: all 0.3s ease-in-out;
+    -ms-transition: all 0.3s ease-in-out;
+    transition: all 0.3s ease-in-out;
+}
+#navigationModalMulti .modal-dialog .modal-content .socialwrapper ul li a svg {
+    position: absolute;
+    left: 50%;
+    top: 50%;
+    -webkit-transform: translate(-50%,-50%);
+    -moz-transform: translate(-50%,-50%);
+    -ms-transform: translate(-50%,-50%);
+    -o-transform: translate(-50%,-50%);
+    transform: translate(-50%,-50%);
+    width: 20px;
+}
+@media (max-width: 767.98px) {
+    #navigationModalMulti .modal-dialog .modal-content .socialwrapper ul li a svg {
+        width: 20px;
+   }
+}
+#navigationModalMulti .modal-dialog .modal-content .socialwrapper ul li a:hover {
+    background: white;
+}
+#navigationModalMulti .modal-dialog .modal-content .socialwrapper ul li a:hover svg path {
+    fill: #0064a3;
+}
+#navigationModalMulti .modal-dialog .modal-content .socialwrapper ul li + li {
+    margin-left: 15px;
+}
+@media (max-width: 767.98px) {
+    #navigationModalMulti .modal-dialog .modal-content .socialwrapper ul li + li {
+        margin-left: 10px;
+   }
+}
+@-moz-document url-prefix() {
+    #navigationModalMulti {
+        background: rgba(0, 0, 0, .5);
+   }
+}
+
+#navigationModalMulti .language-wrapper {
+    position: relative !important;
+    float: right !important;
+    bottom: 0px !important;
+    width: auto;
+    left: auto !important;
+    transform: none !important;
+    max-height: auto;
+    margin-left: 5px;
+}
+
+#navigationModalMulti .language-wrapper button {
+    height: 50px;
+    border-radius: 150px;
+    background: rgba(0, 0, 0, .4);
+    border: none;
+    color: white;
+    min-width: 80px;
+    text-align: left;
+}
+
+#navigationModalMulti .language-wrapper button::after {
+    background: url(../Icons/arrow-w.svg);
+    background-repeat: no-repeat;
+    top: 54%;
+    -webkit-transform: translateY(-50%) rotate(90deg);
+    -moz-transform: translateY(-50%) rotate(90deg);
+    -ms-transform: translateY(-50%) rotate(90deg);
+    -o-transform: translateY(-50%) rotate(90deg);
+    transform: translateY(-50%) rotate(90deg);
+}
+
+#navigationModalMulti .language-wrapper .dropdown-menu {
+    background: rgba(0, 0, 0, .4);
+    border: none;
+    min-width: auto;
+    box-shadow: none;
+}
+
+#navigationModalMulti .language-wrapper .dropdown-menu a {
+    color: white;
+}
+
+#navigationModalMulti .language-wrapper .dropdown-menu a:hover {
+    background: transparent;
+}
+
+#navigationModalMulti .socialwrapper {
+    max-height: auto;
+    overflow-y: unset !important;
+}
+
+@media (max-width: 992.98px) {
+    #navigationModalMulti .language-wrapper {
+        max-height: inherit !important;
+        overflow: auto !important;
+        margin-left: 0 !important;
+        margin-bottom: 15px !important;
+    }
+}
+
+@media (max-width: 767.98px) {
+    #navigationModalMulti .language-wrapper {
+        left: 50% !important;
+        -webkit-transform: translateX(-50%) !important;
+        -moz-transform: translateX(-50%) !important;
+        -ms-transform: translateX(-50%) !important;
+        -o-transform: translateX(-50%) !important;
+        transform: translateX(-50%) !important;
+        float: left !important;
+        height: 100px;
+    }
+}
+
+#navigationModalMulti .language-wrapper .select-wrapper {
+    position: relative;
+    float: right;
+    width: auto;
+}
+
+@media (max-width: 992.98px) {
+    #navigationModalMulti .language-wrapper .select-wrapper {
+        left: 50%;
+        -webkit-transform: translateX(-50%);
+        -moz-transform: translateX(-50%);
+        -ms-transform: translateX(-50%);
+        -o-transform: translateX(-50%);
+        transform: translateX(-50%);
+    }
+}
+
+#navigationModalMulti .language-wrapper .select-wrapper:after {
+    content: '';
+	background-image: url('../Icons/arrow-w.svg');
+	background-repeat: no-repeat;
+	position: absolute;
+	top: 50%;
+    -webkit-transform: translateY(-50%) rotate(90deg);
+    -moz-transform: translateY(-50%) rotate(90deg);
+    -ms-transform: translateY(-50%) rotate(90deg);
+    -o-transform: translateY(-50%) rotate(90deg);
+    transform: translateY(-50%) rotate(90deg);
+	right: 15px;
+	left: auto;
+	width: 8px;
+	height: 15px;
+    pointer-events: none;
+}
+
+#navigationModalMulti .language-wrapper .language-select {
+    width: auto;
+    height: 50px;
+    background: rgba(0, 0, 0, .4);
+    border-radius: 50px;
+    border: none;
+    color: white;
+    font-weight: 700;
+}
+
+#navigationModalMulti .language-wrapper .language-select:focus {
+    box-shadow: none;
+}
+
+.stack-menu__link--back {
+    position: relative !important;
+    float: left !important;
+    width: 40px !important;
+    height: 40px !important;
+    padding-bottom: 0px !important;
+    line-height: 1 !important;
+}
+.stack-menu__link--back:before {
+    top: 65% !important;
+    transform: translateY(-50%) scaleX(-1) !important;
+}
+.parent-level {
+    position: relative !important;
+    float: left !important;
+    width: auto !important;
+    font-size: 3rem !important;
+    line-height: 1 !important;
+    margin-bottom: 15px !important;
+}
+@media (max-width: 1024px) {
+    .parent-level {
+        max-width: 80% !important;
+    }
+}
+@media (max-width: 767.98px) {
+    .parent-level {
+        font-size: 2.5rem !important;
+        margin-top: 5px;
+    }
+}
+.parent-level:hover {
+    padding-left: 0 !important;
+}
+.parent-level:hover:before {
+    width: 0 !important;
+    height: 0 !important;
+    opacity: 0 !important;
+}
+
+#stack-menu > .stack-menu__list > li .stack-menu__list .stack-menu__item[data-id] > .stack-menu__link {
+    margin-left: 40px;
+    margin-bottom: 5px;
+}
+
+.stack-menu__link--back {
+    span {
+        position: relative;
+        float: left;
+        font-size: 1rem;
+        margin-top: 10px;
+        margin-left: 40px;
+    }
+    &::before {
+        width: 15px !important;
+        height: 15px !important;
+        background-size: 15px 15px !important;
+    }
+    &:hover {
+        padding-left: 0 !important;
+    }
+}

+ 18 - 0
Resources/Public/Css/rte.css

@@ -0,0 +1,18 @@
+/**
+ * Style sheet used for the RTE in the backend
+ *
+ * This is loaded whenever an RTE field is edited in the backend.
+ * Keep this file as short as possible, giving the editor an idea of what the content might look like in the frontend.
+ */
+
+.btn.link {
+    color: #0165a3;
+    background-color: #fff;
+    border: 1px solid #ccc;
+}
+
+.btn.link:hover {
+    color: #fff;
+    background-color: #0165a3;
+    border: none;
+}

+ 0 - 0
Resources/Public/Css/styles.css


BIN
Resources/Public/Icons/apple-touch-icon.png


BIN
Resources/Public/Icons/favicon.ico


+ 20 - 0
Resources/Public/Icons/favicon.svg

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg id="Ebene_1" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 2353.6 2295.4">
+  <!-- Generator: Adobe Illustrator 29.6.0, SVG Export Plug-In . SVG Version: 2.1.1 Build 207)  -->
+  <defs>
+    <style>
+      .st0 {
+        fill: #f12b8c;
+      }
+
+      .st1 {
+        fill: #fff;
+      }
+    </style>
+  </defs>
+  <path class="st0" d="M26.8,27.7h2296.2v2245.7H26.8V27.7Z"/>
+  <g>
+    <path class="st1" d="M826.6,1339.3v-706.4h204.8v706.4c0,68.3-13,127.1-38.9,176.5-26,49.3-61.2,87.1-105.6,113.3-44.4,26.2-94.5,39.3-150.1,39.3s-108-11.4-152.6-34.1c-44.7-22.7-79.9-57.5-105.6-104.2s-38.6-106-38.6-177.6h206.3c0,36.6,3.7,65.4,11.2,86.5,7.5,21.1,18.1,36.3,31.9,45.6s29.6,14,47.4,14,35.4-6.3,48.8-18.9c13.3-12.6,23.5-30.8,30.6-54.4,7-23.6,10.5-52.3,10.5-86h0Z"/>
+    <path class="st1" d="M1400.4,632.8v1021.1h-205.6v-1021.1h205.6ZM1761,1046.2v169.8h-418.9v-169.8h418.9ZM1909.7,632.8v1021.1h-203.4v-1021.1h203.4Z"/>
+  </g>
+</svg>

BIN
Resources/Public/Icons/icon-192.png


BIN
Resources/Public/Icons/icon-512.png


BIN
Resources/Public/Images/akkordeon-teaser.jpg


+ 15 - 0
Resources/Public/Images/at-white.svg

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: $$$/GeneralStr/196=Adobe Illustrator 27.6.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#FFFFFF;stroke:#F12C8C;stroke-width:12;stroke-miterlimit:10;}
+</style>
+<path class="st0" d="M256,8C118.9,8,8,118.9,8,256c0,137.1,110.9,248,248,248c48.2,0,95.3-14.1,135.4-40.2
+	c12-7.8,14.6-24.3,5.6-35.4L386.8,416c-7.7-9.4-21.2-11.7-31.4-5.1C325.9,429.8,291.3,440,256,440c-101.5,0-184-82.5-184-184
+	S154.5,72,256,72c100.1,0,184,57.6,184,160c0,38.8-21.1,79.7-58.2,83.7c-17.3-0.5-16.9-12.9-13.5-30l23.4-121.1
+	c2.9-14.8-8.5-28.6-23.6-28.6h-45c-6.9,0-12.7,5.2-13.4,12l0,0.1c-14.7-17.9-40.4-21.8-60-21.8c-74.6,0-137.8,62.2-137.8,151.5
+	c0,65.3,36.8,105.9,96,105.9c27,0,57.4-15.6,75-38.3c9.5,34.1,40.6,34.1,70.7,34.1C462.6,379.4,504,307.8,504,232
+	C504,95.7,394,8,256,8z M234.3,312.4c-22.2,0-36.1-15.6-36.1-40.8c0-45,30.8-72.7,58.6-72.7c22.3,0,35.6,15.2,35.6,40.8
+	C292.5,284.8,258.6,312.4,234.3,312.4L234.3,312.4z"/>
+</svg>

+ 3 - 0
Resources/Public/Images/brightness-high-fill.svg

@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-brightness-high-fill" viewBox="0 0 16 16">
+  <path d="M12 8a4 4 0 1 1-8 0 4 4 0 0 1 8 0M8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0m0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13m8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5M3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8m10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0m-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0m9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707M4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708"/>
+</svg>

+ 4 - 0
Resources/Public/Images/bug-fill.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-bug-fill" viewBox="0 0 16 16">
+  <path d="M4.978.855a.5.5 0 1 0-.956.29l.41 1.352A5 5 0 0 0 3 6h10a5 5 0 0 0-1.432-3.503l.41-1.352a.5.5 0 1 0-.956-.29l-.291.956A5 5 0 0 0 8 1a5 5 0 0 0-2.731.811l-.29-.956z"/>
+  <path d="M13 6v1H8.5v8.975A5 5 0 0 0 13 11h.5a.5.5 0 0 1 .5.5v.5a.5.5 0 1 0 1 0v-.5a1.5 1.5 0 0 0-1.5-1.5H13V9h1.5a.5.5 0 0 0 0-1H13V7h.5A1.5 1.5 0 0 0 15 5.5V5a.5.5 0 0 0-1 0v.5a.5.5 0 0 1-.5.5zm-5.5 9.975V7H3V6h-.5a.5.5 0 0 1-.5-.5V5a.5.5 0 0 0-1 0v.5A1.5 1.5 0 0 0 2.5 7H3v1H1.5a.5.5 0 0 0 0 1H3v1h-.5A1.5 1.5 0 0 0 1 11.5v.5a.5.5 0 1 0 1 0v-.5a.5.5 0 0 1 .5-.5H3a5 5 0 0 0 4.5 4.975"/>
+</svg>

+ 11 - 0
Resources/Public/Images/calendar-green.svg

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: $$$/GeneralStr/196=Adobe Illustrator 27.6.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 448 512" style="enable-background:new 0 0 448 512;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#135B3F;}
+</style>
+<path class="st0" d="M12,192h424c6.6,0,12,5.4,12,12v260c0,26.5-21.5,48-48,48H48c-26.5,0-48-21.5-48-48V204C0,197.4,5.4,192,12,192
+	z M448,148v-36c0-26.5-21.5-48-48-48h-48V12c0-6.6-5.4-12-12-12h-40c-6.6,0-12,5.4-12,12v52H160V12c0-6.6-5.4-12-12-12h-40
+	c-6.6,0-12,5.4-12,12v52H48C21.5,64,0,85.5,0,112v36c0,6.6,5.4,12,12,12h424C442.6,160,448,154.6,448,148z"/>
+</svg>

+ 13 - 0
Resources/Public/Images/download.svg

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: $$$/GeneralStr/196=Adobe Illustrator 27.6.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#FFFFFF;}
+</style>
+<path class="st0" d="M216,0h80c13.3,0,24,10.7,24,24v168h87.7c17.8,0,26.7,21.5,14.1,34.1L269.7,378.3c-7.5,7.5-19.8,7.5-27.3,0
+	L90.1,226.1c-12.6-12.6-3.7-34.1,14.1-34.1H192V24C192,10.7,202.7,0,216,0z M512,376v112c0,13.3-10.7,24-24,24H24
+	c-13.3,0-24-10.7-24-24V376c0-13.3,10.7-24,24-24h146.7l49,49c20.1,20.1,52.5,20.1,72.6,0l49-49H488C501.3,352,512,362.7,512,376z
+	 M388,464c0-11-9-20-20-20s-20,9-20,20s9,20,20,20S388,475,388,464z M452,464c0-11-9-20-20-20s-20,9-20,20s9,20,20,20
+	S452,475,452,464z"/>
+</svg>

+ 13 - 0
Resources/Public/Images/envelope-white.svg

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: $$$/GeneralStr/196=Adobe Illustrator 27.6.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#FFFFFF;}
+</style>
+<path class="st0" d="M502.3,190.8c3.9-3.1,9.7-0.2,9.7,4.7V400c0,26.5-21.5,48-48,48H48c-26.5,0-48-21.5-48-48V195.6
+	c0-5,5.7-7.8,9.7-4.7c22.4,17.4,52.1,39.5,154.1,113.6c21.1,15.4,56.7,47.8,92.2,47.6c35.7,0.3,72-32.8,92.3-47.6
+	C450.3,230.4,479.9,208.2,502.3,190.8z M256,320c23.2,0.4,56.6-29.2,73.4-41.4c132.7-96.3,142.8-104.7,173.4-128.7
+	c5.8-4.5,9.2-11.5,9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5,64,0,85.5,0,112v19c0,7.4,3.4,14.3,9.2,18.9
+	c30.6,23.9,40.7,32.4,173.4,128.7C199.4,290.8,232.8,320.4,256,320L256,320z"/>
+</svg>

BIN
Resources/Public/Images/header-hehmann-accordeon.jpg


BIN
Resources/Public/Images/header-hehmann-big.jpg


BIN
Resources/Public/Images/header-hehmann-person.jpg


BIN
Resources/Public/Images/header-small-karriere.jpg


BIN
Resources/Public/Images/header-small-kontakt.jpg


BIN
Resources/Public/Images/header-small-leistungen.jpg


BIN
Resources/Public/Images/header-small-referenzen.jpg


BIN
Resources/Public/Images/hehmann-content-leistungen.jpg


BIN
Resources/Public/Images/hehmann-content-referenzen.jpg


BIN
Resources/Public/Images/hehmann-karte-alt.jpg


BIN
Resources/Public/Images/hehmann-karte.jpg


+ 13 - 0
Resources/Public/Images/icon-burger.svg

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg id="Ebene_1" data-name="Ebene 1" xmlns="http://www.w3.org/2000/svg" width="40" height="30" viewBox="0 0 40 30">
+  <defs>
+    <style>
+      .cls-1 {
+        fill: #fff;
+      }
+    </style>
+  </defs>
+  <path id="Rechteck_2" data-name="Rechteck 2" class="cls-1" d="M2,0h36c1.1,0,2,.9,2,2h0c0,1.1-.9,2-2,2H2c-1.1,0-2-.9-2-2h0C0,.9.9,0,2,0Z"/>
+  <path id="Rechteck_3" data-name="Rechteck 3" class="cls-1" d="M12,13h26c1.1,0,2,.9,2,2h0c0,1.1-.9,2-2,2H12c-1.1,0-2-.9-2-2h0c0-1.1.9-2,2-2Z"/>
+  <path id="Rechteck_4" data-name="Rechteck 4" class="cls-1" d="M2,26h36c1.1,0,2,.9,2,2h0c0,1.1-.9,2-2,2H2c-1.1,0-2-.9-2-2h0c0-1.1.9-2,2-2Z"/>
+</svg>

+ 13 - 0
Resources/Public/Images/icon-leaf.svg

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg id="Ebene_1" data-name="Ebene 1" xmlns="http://www.w3.org/2000/svg" width="833.33" height="729.17" viewBox="0 0 833.33 729.17">
+  <defs>
+    <style>
+      .cls-1 {
+        fill: #fff;
+      }
+    </style>
+  </defs>
+  <g id="seedling-2">
+    <path class="cls-1" d="M104.17,104.17H0c0,201.36,163.23,364.59,364.59,364.59v234.37c.05,14.36,11.68,25.99,26.04,26.04h52.08c14.36-.05,25.99-11.68,26.04-26.04v-234.38c0-201.35-163.23-364.58-364.58-364.58ZM729.18,0c-132.34,0-254.28,71.78-318.5,187.5,45.7,49.75,78.65,109.85,95.99,175.13C692.31,343.16,833.29,186.66,833.33,0h-104.15Z"/>
+  </g>
+</svg>

BIN
Resources/Public/Images/kontakt.jpg


BIN
Resources/Public/Images/leistungen-abbruch.jpeg


BIN
Resources/Public/Images/leistungen-baustoffe.jpeg


BIN
Resources/Public/Images/leistungen-containerdienst.jpeg


BIN
Resources/Public/Images/leistungen-fuhrbetrieb.jpeg


BIN
Resources/Public/Images/leistungen-holzrecycling.jpg


BIN
Resources/Public/Images/leistungen-raupenbrechanlage.jpeg


BIN
Resources/Public/Images/leistungen-recycling.jpeg


Datei-Diff unterdrückt, da er zu groß ist
+ 14 - 0
Resources/Public/Images/logo.svg


BIN
Resources/Public/Images/logo/hehmann-content-referenzen.jpg


BIN
Resources/Public/Images/logo/logo-pink.jpg


BIN
Resources/Public/Images/logo/logo.png


BIN
Resources/Public/Images/logo_deutscher_abbruchverband.png


+ 11 - 0
Resources/Public/Images/phone-white.svg

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: $$$/GeneralStr/196=Adobe Illustrator 27.6.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#FFFFFF;}
+</style>
+<path class="st0" d="M164.9,24.6c-7.7-18.6-28-28.5-47.4-23.2l-88,24C12.1,30.2,0,46,0,64c0,247.4,200.6,448,448,448
+	c18,0,33.8-12.1,38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3,11.6L304.7,368
+	c-70.4-33.3-127.4-90.3-160.7-160.7l49.3-40.3c13.7-11.2,18.4-30,11.6-46.3L164.9,24.6L164.9,24.6z"/>
+</svg>

+ 1 - 0
Resources/Public/Images/phone.svg

@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path fill="#000000" d="M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z"/></svg>

BIN
Resources/Public/Images/platzhalter-kontakt.jpg


Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.