From a14a59b68462f4086790f7e9f93d6ad97d6dae4c Mon Sep 17 00:00:00 2001 From: Christian Schrebe Date: Sun, 14 Mar 2021 12:36:52 +0100 Subject: [PATCH] [TASK] prepare v4.0.0-dev version --- .babelrc | 3 - .editorconfig | 66 + .gitattributes | 2 - Classes/.htaccess | 2 +- Classes/Controller/.gitkeep | 1 + Classes/Domain/.gitkeep | 1 + Classes/Domain/Model/.gitkeep | 1 + Classes/Domain/Repository/.gitkeep | 1 + Classes/Hooks/RootPageTitleHook.php | 15 + Classes/Provider/FileProvider.php | 144 - Classes/ViewHelpers/.gitkeep | 1 + Configuration/.htaccess | 2 + Configuration/PageTS/page.ts | 96 - Configuration/RTE/Default.yaml | 42 + Configuration/TCA/Overrides/pages.php | 25 +- Configuration/TCA/Overrides/sys_template.php | 19 + .../Gridelements/BdP1x12Column.tsconfig | 26 + .../Gridelements/BdP1x8-1x4Column.tsconfig | 30 + .../Gridelements/BdP2x6Column.tsconfig | 30 + .../Gridelements/BdP3x4Column.tsconfig | 34 + Configuration/TsConfig/Page/All.tsconfig | 7 + .../TsConfig/Page/Gridelements.tsconfig | 4 + .../Mod/WebLayout/BackendLayouts.tsconfig | 4 + .../WebLayout/BackendLayouts/default.tsconfig | 29 + .../headerWithOneColumn.tsconfig | 37 + Configuration/TsConfig/Page/RTE.tsconfig | 8 + Configuration/TsConfig/Page/TCEFORM.tsconfig | 31 + Configuration/TsConfig/Page/TCEMAIN.tsconfig | 6 + Configuration/TsConfig/User/Default.tsconfig | 6 + .../TypoScript/Constants/base.typoscript | 191 - .../Helper/DynamicContent.typoscript | 64 + .../TypoScript/Setup/Blocks/footer.typoscript | 52 - .../Setup/Blocks/nav-footer.typoscript | 20 - .../Setup/Blocks/nav-lang.typoscript | 32 - .../Setup/Blocks/nav-primary.typoscript | 32 - .../Setup/Blocks/nav-secondary.typoscript | 28 - .../TypoScript/Setup/Blocks/root.typoscript | 2 - .../TypoScript/Setup/Blocks/teaser.typoscript | 59 - .../Setup/Extensions/address.typoscript | 175 - .../Setup/Extensions/cal.typoscript | 85 - .../Setup/Extensions/gridelements.typoscript | 24 - .../Setup/Extensions/news.typoscript | 66 - .../TypoScript/Setup/analytics.typoscript | 16 - .../TypoScript/Setup/config.typoscript | 59 - .../Setup/ext-fluid-styled-content.typoscript | 11 - .../TypoScript/Setup/page-css.typoscript | 59 - .../TypoScript/Setup/page-js.typoscript | 40 - .../TypoScript/Setup/page-meta.typoscript | 48 - .../TypoScript/Setup/page.typoscript | 66 - .../TypoScript/Setup/tt_content.typoscript | 60 - Configuration/TypoScript/constants.typoscript | 61 +- Configuration/TypoScript/setup.typoscript | 242 +- README.md | 26 +- Resources/Private/.htaccess | 3 +- Resources/Private/BackendLayouts/onecolum.ts | 14 - Resources/Private/BackendLayouts/twocolums.ts | 20 - .../address/Templates/default_hcard.htm | 59 - .../address/Templates/landesverbaende.htm | 33 - .../address/Templates/mitarbeitende.html | 50 - .../cal/Templates/Partials/Event/event.html | 73 - .../cal/Templates/Partials/List/event.html | 14 - .../Extensions/cal/Templates/defaultList.tmpl | 42 - .../Extensions/cal/Templates/event.html | 22 - .../Extensions/cal/Templates/event.tmpl | 14 - .../Extensions/cal/Templates/event_model.tmpl | 542 - .../cal/Templates/event_model_startpage.tmpl | 25 - .../Private/Extensions/cal/Templates/ics.tmpl | 8 - .../Extensions/cal/Templates/list.html | 23 - .../Extensions/cal/Templates/list.tmpl | 45 - .../Extensions/cal/Templates/location.tmpl | 19 - .../cal/Templates/location_model.tmpl | 108 - .../Partials/Header/Header.html | 63 - .../Extensions/news/Layouts/Detail.html | 14 - .../news/Partials/Detail/MediaContainer.html | 24 - .../news/Partials/Detail/MediaImage.html | 49 - .../news/Partials/Detail/Opengraph.html | 48 - .../Extensions/news/Partials/List/Item.html | 95 - .../news/Templates/News/Detail.html | 211 - .../Extensions/news/Templates/News/List.html | 64 - Resources/Private/Language/BackendLayouts.xlf | 14 - Resources/Private/Language/en.locallang.xlf | 30 - Resources/Private/Language/locallang.xlf | 29 +- Resources/Private/Language/locallang_be.xlf | 17 + Resources/Private/Language/locallang_db.xlf | 11 + .../Private/Layouts/ContentElements/.gitkeep | 1 + .../Layouts/ContentElements/Default.html | 53 + Resources/Private/Layouts/DefaultLayout.html | 41 - Resources/Private/Layouts/Page/Default.html | 15 + .../Layouts/Page/HeaderWithOneColumn.html | 19 + .../Private/Partials/ContentElements/.gitkeep | 1 + Resources/Private/Partials/LanguageMenu.html | 6 - Resources/Private/Partials/Nav-primary.html | 16 - Resources/Private/Partials/Onecolum.html | 4 - Resources/Private/Partials/Page/.gitkeep | 1 + Resources/Private/Partials/Page/Footer.html | 63 + Resources/Private/Partials/Page/Header.html | 33 + .../Private/Partials/Page/MainNavigation.html | 22 + .../Page/Navigation/LanguageNavigation.html | 29 + .../Private/Partials/Page/SideNavigation.html | 33 + .../Private/Partials/RegionBranding.html | 5 - Resources/Private/Partials/Searchbox.html | 6 - Resources/Private/Partials/Twocolums.html | 5 - Resources/Private/Source/Fonts/.gitkeep | 1 + .../Source/Images/BackendLayouts/default.png | Bin 0 -> 182 bytes .../BackendLayouts/headerWithOneColumn.png | Bin 0 -> 243 bytes .../Private/Source/Images/bundeszeichen.png | Bin 0 -> 39979 bytes .../Source/Images/holzhintergrund_1.jpg | Bin 0 -> 27552 bytes .../Source/Images/holzhintergrund_1.webp | Bin 0 -> 17694 bytes Resources/Private/Source/JavaScript/main.js | 14 + .../Source/JavaScript/modules/detectIE.js | 15 + .../Source/JavaScript/modules/menu-mmenu.js | 36 + .../Private/Source/JavaScript/modules/menu.js | 42 + .../JavaScript/modules/resize-manager.js | 35 + .../JavaScript/modules/side-navigation.js | 20 + .../Source/Scss/0-functions/_assert.scss | 29 + .../Source/Scss/0-functions/_test.scss | 173 + .../Source/Scss/1-settings/_variables.scss | 2 + .../Source/Scss/2-design-tokens/_colors.scss | 24 + .../Source/Scss/2-design-tokens/_fonts.scss | 5 + .../2-design-tokens/_media-breakpoints.scss | 30 + .../Source/Scss/2-design-tokens/_spacing.scss | 49 + .../Source/Scss/3-tools/_breakpoints.scss | 126 + .../Private/Source/Scss/3-tools/_colors.scss | 10 + .../Private/Source/Scss/3-tools/_rfs.scss | 312 + .../Source/Scss/3-tools/_transition.scss | 26 + .../Source/Scss/4-generic/_box-sizing.scss | 3 + .../Scss/4-generic/_font-face-firasans.scss | 20 + .../4-generic/_font-face-immenhausen.scss | 8 + .../Source/Scss/4-generic/_normalize.scss | 349 + .../Source/Scss/5-elements/_headings.scss | 6 + .../Private/Source/Scss/5-elements/_html.scss | 3 + .../Private/Source/Scss/5-elements/_link.scss | 10 + .../Private/Source/Scss/6-skeleton/_page.scss | 28 + .../Source/Scss/7-components/_branding.scss | 87 + .../Scss/7-components/_content-elements.scss | 30 + .../Source/Scss/7-components/_footer.scss | 39 + .../Source/Scss/7-components/_header.scss | 88 + .../Scss/7-components/_language-menu.scss | 99 + .../7-components/_mainheader__navigation.scss | 70 + .../Source/Scss/7-components/_mmenu.scss | 33 + .../Source/Scss/7-components/_navigation.scss | 25 + .../Scss/7-components/_side__navigation.scss | 61 + Resources/Private/Source/Scss/_functions.scss | 1 + Resources/Private/Source/Scss/_shame.scss | 0 Resources/Private/Source/Scss/layout.scss | 43 + .../Source/Scss/layout/_headlines.scss | 70 + .../Private/Source/Scss/layout/_layouts.scss | 15 + Resources/Private/Stylesheets/sass/buena.scss | 31 - .../sass/components/_branding.scss | 87 - .../Stylesheets/sass/components/_color.scss | 87 - .../Stylesheets/sass/components/_content.scss | 115 - .../sass/components/_extAddress.scss | 20 - .../Stylesheets/sass/components/_extCal.scss | 113 - .../Stylesheets/sass/components/_extNews.scss | 92 - .../Stylesheets/sass/components/_footer.scss | 126 - .../Stylesheets/sass/components/_global.scss | 52 - .../Stylesheets/sass/components/_grid.scss | 127 - .../sass/components/_languageMenu.scss | 9 - .../Stylesheets/sass/components/_leftNav.scss | 19 - .../sass/components/_mindshapeCookieHint.scss | 171 - .../sass/components/_primaryNav.scss | 77 - .../Stylesheets/sass/components/_print.scss | 48 - .../Stylesheets/sass/components/_search.scss | 33 - .../sass/components/_secondaryNav.scss | 45 - .../Stylesheets/sass/components/_table.scss | 124 - .../Stylesheets/sass/components/_teaser.scss | 41 - .../sass/components/_typography.scss | 117 - .../sass/components/_variables.scss | 90 - .../Templates/ContentElements/.gitkeep | 1 + .../Private/Templates/DefaultTemplate.html | 1 - Resources/Private/Templates/Notfound.html | 219 - Resources/Private/Templates/Page/Default.html | 4 + .../Templates/Page/HeaderWithOneColumn.html | 9 + Resources/Public/.htaccess | 10 - Resources/Public/CSS/buena.min.css | 1 - Resources/Public/Fonts/.gitkeep | 1 + Resources/Public/Icons/Extension.svg | 3 + Resources/Public/Icons/favicon.ico | Bin 0 -> 1150 bytes .../Public/Images/BackendLayouts/default.png | Bin 0 -> 182 bytes .../BackendLayouts/headerWithOneColumn.png | Bin 0 -> 243 bytes Resources/Public/Images/bundeszeichen.png | Bin 0 -> 39979 bytes .../Library/imagesLoaded.pkgd.min.js | 7 - .../JavaScript/Library/jquery-2.2.4.min.js | 4 - Resources/Public/JavaScript/main.js | 68 - Resources/Public/JavaScript/t3default.js | 33 - Resources/Public/Media/Images/dose.png | Bin 99120 -> 0 bytes Resources/Public/Media/Images/favicon.ico | Bin 4286 -> 0 bytes composer.json | 38 +- ext_conf_template.txt | 3 + ext_emconf.php | 60 +- ext_icon.gif | Bin 408 -> 0 bytes ext_localconf.php | 27 +- ext_tables.php | 10 +- ext_tables.sql | 3 + ext_tables_static+adt.sql | 3 + package-lock.json | 12125 ++++++++++++++++ package.json | 49 +- postcss.config.cjs | 6 + postcss.config.js | 6 - webpack.config.js | 64 - webpack.config.mjs | 128 + 201 files changed, 15504 insertions(+), 5367 deletions(-) delete mode 100644 .babelrc create mode 100644 .editorconfig delete mode 100644 .gitattributes create mode 100644 Classes/Controller/.gitkeep create mode 100644 Classes/Domain/.gitkeep create mode 100644 Classes/Domain/Model/.gitkeep create mode 100644 Classes/Domain/Repository/.gitkeep create mode 100644 Classes/Hooks/RootPageTitleHook.php delete mode 100644 Classes/Provider/FileProvider.php create mode 100644 Classes/ViewHelpers/.gitkeep create mode 100644 Configuration/.htaccess delete mode 100644 Configuration/PageTS/page.ts create mode 100644 Configuration/RTE/Default.yaml create mode 100644 Configuration/TCA/Overrides/sys_template.php create mode 100644 Configuration/TsConfig/Gridelements/BdP1x12Column.tsconfig create mode 100644 Configuration/TsConfig/Gridelements/BdP1x8-1x4Column.tsconfig create mode 100644 Configuration/TsConfig/Gridelements/BdP2x6Column.tsconfig create mode 100644 Configuration/TsConfig/Gridelements/BdP3x4Column.tsconfig create mode 100644 Configuration/TsConfig/Page/All.tsconfig create mode 100644 Configuration/TsConfig/Page/Gridelements.tsconfig create mode 100644 Configuration/TsConfig/Page/Mod/WebLayout/BackendLayouts.tsconfig create mode 100644 Configuration/TsConfig/Page/Mod/WebLayout/BackendLayouts/default.tsconfig create mode 100644 Configuration/TsConfig/Page/Mod/WebLayout/BackendLayouts/headerWithOneColumn.tsconfig create mode 100644 Configuration/TsConfig/Page/RTE.tsconfig create mode 100644 Configuration/TsConfig/Page/TCEFORM.tsconfig create mode 100644 Configuration/TsConfig/Page/TCEMAIN.tsconfig create mode 100644 Configuration/TsConfig/User/Default.tsconfig delete mode 100644 Configuration/TypoScript/Constants/base.typoscript create mode 100644 Configuration/TypoScript/Helper/DynamicContent.typoscript delete mode 100644 Configuration/TypoScript/Setup/Blocks/footer.typoscript delete mode 100644 Configuration/TypoScript/Setup/Blocks/nav-footer.typoscript delete mode 100644 Configuration/TypoScript/Setup/Blocks/nav-lang.typoscript delete mode 100644 Configuration/TypoScript/Setup/Blocks/nav-primary.typoscript delete mode 100644 Configuration/TypoScript/Setup/Blocks/nav-secondary.typoscript delete mode 100644 Configuration/TypoScript/Setup/Blocks/root.typoscript delete mode 100644 Configuration/TypoScript/Setup/Blocks/teaser.typoscript delete mode 100644 Configuration/TypoScript/Setup/Extensions/address.typoscript delete mode 100644 Configuration/TypoScript/Setup/Extensions/cal.typoscript delete mode 100644 Configuration/TypoScript/Setup/Extensions/gridelements.typoscript delete mode 100644 Configuration/TypoScript/Setup/Extensions/news.typoscript delete mode 100644 Configuration/TypoScript/Setup/analytics.typoscript delete mode 100644 Configuration/TypoScript/Setup/config.typoscript delete mode 100644 Configuration/TypoScript/Setup/ext-fluid-styled-content.typoscript delete mode 100644 Configuration/TypoScript/Setup/page-css.typoscript delete mode 100644 Configuration/TypoScript/Setup/page-js.typoscript delete mode 100644 Configuration/TypoScript/Setup/page-meta.typoscript delete mode 100644 Configuration/TypoScript/Setup/page.typoscript delete mode 100644 Configuration/TypoScript/Setup/tt_content.typoscript delete mode 100644 Resources/Private/BackendLayouts/onecolum.ts delete mode 100644 Resources/Private/BackendLayouts/twocolums.ts delete mode 100644 Resources/Private/Extensions/address/Templates/default_hcard.htm delete mode 100644 Resources/Private/Extensions/address/Templates/landesverbaende.htm delete mode 100644 Resources/Private/Extensions/address/Templates/mitarbeitende.html delete mode 100644 Resources/Private/Extensions/cal/Templates/Partials/Event/event.html delete mode 100644 Resources/Private/Extensions/cal/Templates/Partials/List/event.html delete mode 100644 Resources/Private/Extensions/cal/Templates/defaultList.tmpl delete mode 100644 Resources/Private/Extensions/cal/Templates/event.html delete mode 100644 Resources/Private/Extensions/cal/Templates/event.tmpl delete mode 100644 Resources/Private/Extensions/cal/Templates/event_model.tmpl delete mode 100644 Resources/Private/Extensions/cal/Templates/event_model_startpage.tmpl delete mode 100644 Resources/Private/Extensions/cal/Templates/ics.tmpl delete mode 100644 Resources/Private/Extensions/cal/Templates/list.html delete mode 100644 Resources/Private/Extensions/cal/Templates/list.tmpl delete mode 100644 Resources/Private/Extensions/cal/Templates/location.tmpl delete mode 100644 Resources/Private/Extensions/cal/Templates/location_model.tmpl delete mode 100644 Resources/Private/Extensions/fluid_styled_content/Partials/Header/Header.html delete mode 100644 Resources/Private/Extensions/news/Layouts/Detail.html delete mode 100644 Resources/Private/Extensions/news/Partials/Detail/MediaContainer.html delete mode 100644 Resources/Private/Extensions/news/Partials/Detail/MediaImage.html delete mode 100644 Resources/Private/Extensions/news/Partials/Detail/Opengraph.html delete mode 100644 Resources/Private/Extensions/news/Partials/List/Item.html delete mode 100644 Resources/Private/Extensions/news/Templates/News/Detail.html delete mode 100644 Resources/Private/Extensions/news/Templates/News/List.html delete mode 100644 Resources/Private/Language/BackendLayouts.xlf delete mode 100644 Resources/Private/Language/en.locallang.xlf create mode 100644 Resources/Private/Language/locallang_be.xlf create mode 100644 Resources/Private/Language/locallang_db.xlf create mode 100644 Resources/Private/Layouts/ContentElements/.gitkeep create mode 100644 Resources/Private/Layouts/ContentElements/Default.html delete mode 100644 Resources/Private/Layouts/DefaultLayout.html create mode 100644 Resources/Private/Layouts/Page/Default.html create mode 100644 Resources/Private/Layouts/Page/HeaderWithOneColumn.html create mode 100644 Resources/Private/Partials/ContentElements/.gitkeep delete mode 100644 Resources/Private/Partials/LanguageMenu.html delete mode 100644 Resources/Private/Partials/Nav-primary.html delete mode 100644 Resources/Private/Partials/Onecolum.html create mode 100644 Resources/Private/Partials/Page/.gitkeep create mode 100644 Resources/Private/Partials/Page/Footer.html create mode 100644 Resources/Private/Partials/Page/Header.html create mode 100644 Resources/Private/Partials/Page/MainNavigation.html create mode 100644 Resources/Private/Partials/Page/Navigation/LanguageNavigation.html create mode 100644 Resources/Private/Partials/Page/SideNavigation.html delete mode 100644 Resources/Private/Partials/RegionBranding.html delete mode 100644 Resources/Private/Partials/Searchbox.html delete mode 100644 Resources/Private/Partials/Twocolums.html create mode 100644 Resources/Private/Source/Fonts/.gitkeep create mode 100644 Resources/Private/Source/Images/BackendLayouts/default.png create mode 100644 Resources/Private/Source/Images/BackendLayouts/headerWithOneColumn.png create mode 100644 Resources/Private/Source/Images/bundeszeichen.png create mode 100644 Resources/Private/Source/Images/holzhintergrund_1.jpg create mode 100644 Resources/Private/Source/Images/holzhintergrund_1.webp create mode 100644 Resources/Private/Source/JavaScript/main.js create mode 100644 Resources/Private/Source/JavaScript/modules/detectIE.js create mode 100644 Resources/Private/Source/JavaScript/modules/menu-mmenu.js create mode 100644 Resources/Private/Source/JavaScript/modules/menu.js create mode 100644 Resources/Private/Source/JavaScript/modules/resize-manager.js create mode 100644 Resources/Private/Source/JavaScript/modules/side-navigation.js create mode 100644 Resources/Private/Source/Scss/0-functions/_assert.scss create mode 100644 Resources/Private/Source/Scss/0-functions/_test.scss create mode 100644 Resources/Private/Source/Scss/1-settings/_variables.scss create mode 100644 Resources/Private/Source/Scss/2-design-tokens/_colors.scss create mode 100644 Resources/Private/Source/Scss/2-design-tokens/_fonts.scss create mode 100644 Resources/Private/Source/Scss/2-design-tokens/_media-breakpoints.scss create mode 100644 Resources/Private/Source/Scss/2-design-tokens/_spacing.scss create mode 100644 Resources/Private/Source/Scss/3-tools/_breakpoints.scss create mode 100644 Resources/Private/Source/Scss/3-tools/_colors.scss create mode 100644 Resources/Private/Source/Scss/3-tools/_rfs.scss create mode 100644 Resources/Private/Source/Scss/3-tools/_transition.scss create mode 100644 Resources/Private/Source/Scss/4-generic/_box-sizing.scss create mode 100644 Resources/Private/Source/Scss/4-generic/_font-face-firasans.scss create mode 100644 Resources/Private/Source/Scss/4-generic/_font-face-immenhausen.scss create mode 100644 Resources/Private/Source/Scss/4-generic/_normalize.scss create mode 100644 Resources/Private/Source/Scss/5-elements/_headings.scss create mode 100644 Resources/Private/Source/Scss/5-elements/_html.scss create mode 100644 Resources/Private/Source/Scss/5-elements/_link.scss create mode 100644 Resources/Private/Source/Scss/6-skeleton/_page.scss create mode 100644 Resources/Private/Source/Scss/7-components/_branding.scss create mode 100644 Resources/Private/Source/Scss/7-components/_content-elements.scss create mode 100644 Resources/Private/Source/Scss/7-components/_footer.scss create mode 100644 Resources/Private/Source/Scss/7-components/_header.scss create mode 100644 Resources/Private/Source/Scss/7-components/_language-menu.scss create mode 100644 Resources/Private/Source/Scss/7-components/_mainheader__navigation.scss create mode 100644 Resources/Private/Source/Scss/7-components/_mmenu.scss create mode 100644 Resources/Private/Source/Scss/7-components/_navigation.scss create mode 100644 Resources/Private/Source/Scss/7-components/_side__navigation.scss create mode 100644 Resources/Private/Source/Scss/_functions.scss create mode 100644 Resources/Private/Source/Scss/_shame.scss create mode 100644 Resources/Private/Source/Scss/layout.scss create mode 100644 Resources/Private/Source/Scss/layout/_headlines.scss create mode 100644 Resources/Private/Source/Scss/layout/_layouts.scss delete mode 100644 Resources/Private/Stylesheets/sass/buena.scss delete mode 100644 Resources/Private/Stylesheets/sass/components/_branding.scss delete mode 100644 Resources/Private/Stylesheets/sass/components/_color.scss delete mode 100644 Resources/Private/Stylesheets/sass/components/_content.scss delete mode 100644 Resources/Private/Stylesheets/sass/components/_extAddress.scss delete mode 100644 Resources/Private/Stylesheets/sass/components/_extCal.scss delete mode 100644 Resources/Private/Stylesheets/sass/components/_extNews.scss delete mode 100644 Resources/Private/Stylesheets/sass/components/_footer.scss delete mode 100644 Resources/Private/Stylesheets/sass/components/_global.scss delete mode 100644 Resources/Private/Stylesheets/sass/components/_grid.scss delete mode 100644 Resources/Private/Stylesheets/sass/components/_languageMenu.scss delete mode 100644 Resources/Private/Stylesheets/sass/components/_leftNav.scss delete mode 100644 Resources/Private/Stylesheets/sass/components/_mindshapeCookieHint.scss delete mode 100644 Resources/Private/Stylesheets/sass/components/_primaryNav.scss delete mode 100644 Resources/Private/Stylesheets/sass/components/_print.scss delete mode 100644 Resources/Private/Stylesheets/sass/components/_search.scss delete mode 100644 Resources/Private/Stylesheets/sass/components/_secondaryNav.scss delete mode 100644 Resources/Private/Stylesheets/sass/components/_table.scss delete mode 100644 Resources/Private/Stylesheets/sass/components/_teaser.scss delete mode 100644 Resources/Private/Stylesheets/sass/components/_typography.scss delete mode 100644 Resources/Private/Stylesheets/sass/components/_variables.scss create mode 100644 Resources/Private/Templates/ContentElements/.gitkeep delete mode 100644 Resources/Private/Templates/DefaultTemplate.html delete mode 100644 Resources/Private/Templates/Notfound.html create mode 100644 Resources/Private/Templates/Page/Default.html create mode 100644 Resources/Private/Templates/Page/HeaderWithOneColumn.html delete mode 100644 Resources/Public/.htaccess delete mode 100644 Resources/Public/CSS/buena.min.css create mode 100644 Resources/Public/Fonts/.gitkeep create mode 100644 Resources/Public/Icons/Extension.svg create mode 100644 Resources/Public/Icons/favicon.ico create mode 100644 Resources/Public/Images/BackendLayouts/default.png create mode 100644 Resources/Public/Images/BackendLayouts/headerWithOneColumn.png create mode 100644 Resources/Public/Images/bundeszeichen.png delete mode 100644 Resources/Public/JavaScript/Library/imagesLoaded.pkgd.min.js delete mode 100644 Resources/Public/JavaScript/Library/jquery-2.2.4.min.js delete mode 100644 Resources/Public/JavaScript/main.js delete mode 100644 Resources/Public/JavaScript/t3default.js delete mode 100644 Resources/Public/Media/Images/dose.png delete mode 100644 Resources/Public/Media/Images/favicon.ico create mode 100644 ext_conf_template.txt delete mode 100644 ext_icon.gif create mode 100644 ext_tables.sql create mode 100644 ext_tables_static+adt.sql create mode 100644 package-lock.json create mode 100644 postcss.config.cjs delete mode 100644 postcss.config.js delete mode 100644 webpack.config.js create mode 100644 webpack.config.mjs diff --git a/.babelrc b/.babelrc deleted file mode 100644 index 2f01e1d..0000000 --- a/.babelrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "presets": ["env"] -} \ No newline at end of file diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..14b9126 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,66 @@ +# 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 +insert_final_newline = true +trim_trailing_whitespace = true + +# CSS-Files +[*.css] +indent_style = space +indent_size = 4 + +# HTML-Files +[*.html] +indent_style = space +indent_size = 4 + +# TMPL-Files +[*.tmpl] +indent_style = space +indent_size = 4 + +# LESS-Files +[*.less] +indent_style = space +indent_size = 4 + +# JS-Files +[*.js] +indent_style = space +indent_size = 4 + +# PHP-Files +[*.php] +indent_style = space +indent_size = 4 + +# MD-Files +[*.md] +indent_style = space +indent_size = 4 + +# ReST-Files +[*.rst] +indent_style = space +indent_size = 3 + +# TypoScript +[*.typoscript] +indent_style = space +indent_size = 4 + +# YML-Files +[{*.yml,*.yaml}] +indent_style = space +indent_size = 4 + +# package.json, composer.json or .travis.yml +[{package.json,composer.json,.travis.yml}] +indent_style = space +indent_size = 2 diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index c182197..0000000 --- a/.gitattributes +++ /dev/null @@ -1,2 +0,0 @@ -*.ts linguist-language=TypoScript -Resources/Public/JavaScript/Library/* linguist-vendored diff --git a/Classes/.htaccess b/Classes/.htaccess index 896fbc5..93169e4 100644 --- a/Classes/.htaccess +++ b/Classes/.htaccess @@ -1,2 +1,2 @@ Order deny,allow -Deny from all \ No newline at end of file +Deny from all diff --git a/Classes/Controller/.gitkeep b/Classes/Controller/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Classes/Controller/.gitkeep @@ -0,0 +1 @@ + diff --git a/Classes/Domain/.gitkeep b/Classes/Domain/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Classes/Domain/.gitkeep @@ -0,0 +1 @@ + diff --git a/Classes/Domain/Model/.gitkeep b/Classes/Domain/Model/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Classes/Domain/Model/.gitkeep @@ -0,0 +1 @@ + diff --git a/Classes/Domain/Repository/.gitkeep b/Classes/Domain/Repository/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Classes/Domain/Repository/.gitkeep @@ -0,0 +1 @@ + diff --git a/Classes/Hooks/RootPageTitleHook.php b/Classes/Hooks/RootPageTitleHook.php new file mode 100644 index 0000000..d034790 --- /dev/null +++ b/Classes/Hooks/RootPageTitleHook.php @@ -0,0 +1,15 @@ +getData('subtitle') ?: null; + } +} diff --git a/Classes/Provider/FileProvider.php b/Classes/Provider/FileProvider.php deleted file mode 100644 index 70d79ad..0000000 --- a/Classes/Provider/FileProvider.php +++ /dev/null @@ -1,144 +0,0 @@ - - * Based on extension by Georg Ringer - * All rights reserved - * - * This script is part of the TYPO3 project. The TYPO3 project is - * free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * The GNU General Public License can be found at - * http://www.gnu.org/copyleft/gpl.html. - * - * This script is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * This copyright notice MUST APPEAR in all copies of the script! - ***************************************************************/ - -use TYPO3\CMS\Backend\View\BackendLayout\BackendLayout; -use TYPO3\CMS\Backend\View\BackendLayout\BackendLayoutCollection; -use TYPO3\CMS\Backend\View\BackendLayout\DataProviderContext; -use TYPO3\CMS\Backend\View\BackendLayout\DataProviderInterface; -use TYPO3\CMS\Core\Utility\ExtensionManagementUtility; -use TYPO3\CMS\Core\Utility\GeneralUtility; - -class FileProvider implements DataProviderInterface { - - /** - * Adds backend layouts to the given backend layout collection. - * - * @param DataProviderContext $dataProviderContext - * @param BackendLayoutCollection $backendLayoutCollection - * @return void - */ - public function addBackendLayouts(DataProviderContext $dataProviderContext, BackendLayoutCollection $backendLayoutCollection) { - $backendLayoutFiles = $this->getBackendLayoutFiles(); - foreach ($backendLayoutFiles as $file) { - $backendLayoutCollection->add($this->createBackendLayout($file)); - } - } - - /** - * Gets a backend layout by (regular) identifier. - * - * @param string $identifier - * @param integer $pageId - * @return NULL|BackendLayout - */ - public function getBackendLayout($identifier, $pageId) { - $backendLayoutFiles = $this->getBackendLayoutFiles(); - foreach ($backendLayoutFiles as $file) { - $fileInformation = pathinfo($file); - if ($identifier === $fileInformation['filename']) { - return $this->createBackendLayout($file); - } - } - } - - /** - * Retrieves backend layout files - * - * @return array Available backend layout files - */ - protected function getBackendLayoutFiles() { - $directory = GeneralUtility::getFileAbsFileName('EXT:bdp_template/Resources/Private/BackendLayouts'); - $filesInDirectory = GeneralUtility::getFilesInDir($directory, 'ts', TRUE); - if (!is_array($filesInDirectory)) { - $filesInDirectory = array(); - } - return $filesInDirectory; - } - - /** - * Creates backend layout record based on file information - * - * @param string $file Path and name of file - * @return BackendLayout - */ - protected function createBackendLayout($file) { - $fileInformation = pathinfo($file); - $backendLayout = BackendLayout::create( - $fileInformation['filename'], - $this->getTitle($fileInformation), - GeneralUtility::getUrl($file) - ); - $this->addIcon($fileInformation, $backendLayout); - return $backendLayout; - } - - /** - * Retrieves layout title (defaults to file name) - * - * @param array $fileInformation - * @return string - */ - protected function getTitle($fileInformation) { - $title = $fileInformation['filename']; - $translatedTitle = $this->getLanguageObject()->sL('LLL:EXT:bdp_template/Resources/Private/Language/BackendLayouts.xlf:' . $title); - if ($translatedTitle) { - $title = $translatedTitle; - } - return $title; - } - - /** - * Registers icon for the backend layout - * - * @param array $fileInformation Information about the backend layout file - * @param BackendLayout $backendLayout - * @return void - */ - protected function addIcon($fileInformation, BackendLayout $backendLayout) { - $file = ExtensionManagementUtility::extPath('bdp_template', '/Resources/Public/Backend/Images/' . $fileInformation['filename'] . '.'); - $extensions = array('png', 'gif'); - foreach ($extensions as $extension) { - if (is_file($file . $extension)) { - $backendLayout->setIconPath( - ExtensionManagementUtility::extRelPath('bdp_template') . - '/Resources/Public/Backend/Images/' . $fileInformation['filename'] . '.' . $extension - ); - break; - } - } - } - - /** - * Returns global language service object - * - * @return \TYPO3\CMS\Lang\LanguageService - */ - protected function getLanguageObject() { - return $GLOBALS['LANG']; - } -} \ No newline at end of file diff --git a/Classes/ViewHelpers/.gitkeep b/Classes/ViewHelpers/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Classes/ViewHelpers/.gitkeep @@ -0,0 +1 @@ + diff --git a/Configuration/.htaccess b/Configuration/.htaccess new file mode 100644 index 0000000..93169e4 --- /dev/null +++ b/Configuration/.htaccess @@ -0,0 +1,2 @@ +Order deny,allow +Deny from all diff --git a/Configuration/PageTS/page.ts b/Configuration/PageTS/page.ts deleted file mode 100644 index b3e31f3..0000000 --- a/Configuration/PageTS/page.ts +++ /dev/null @@ -1,96 +0,0 @@ -TCEFORM.tt_content { - layout { - # Umbenennen - altLabels { - 0 = Weißer Hintergund - 1 = Gelber Hintergrund - 2 = Blauer Hintergrund - 3 = Roter Hintergrund - } - - # add new frame - addItems.4 = Transparent mit Innenabst. - addItems.5 = Weiß ohne Innenabst. - addItems.6 = Weiß 50% Float - addItems.7 = Ohne Hintergrund - - } - - header_layout { - addItems.80 = Blau/Gelb - addItems.81 = Weiß/Rot - addItems.82 = Weiß/Blau - } - header_position.disabled = 1 -} -tx_gridelements { - # TS Elemente haben Vorrang vor Datensätzen mit gleichen IDs - overruleRecords = 1 - setup { - twocolums { - title = Zweispalter - description = Ein zweispaltiges Inhaltselement - topLevelLayout = 1 - frame = 2 - config { - colCount = 2 - rowCount = 1 - rows { - 1 { - columns { - 1 { - name = Spalte 1 - colPos = 10 - allowed = header,textmedia,table,list,html,menu,uploads - } - 2 { - name = Spalte 2 - colPos = 20 - allowed = header,textmedia,table,list,html,menu,uploads - } - } - } - } - } - } - - threecolums { - title = Dreispalter - description = Ein dreispaltiges Inhaltselement - topLevelLayout = 1 - frame = 3 - config { - colCount = 3 - rowCount = 1 - rows { - 1 { - columns { - 1 { - name = Spalte 1 - colPos = 10 - allowed = header,textmedia,table,list,html,menu - } - 2 { - name = Spalte 2 - colPos = 20 - allowed = header,textmedia,table,list,html,menu - } - 3 { - name = Spalte 3 - colPos = 30 - allowed = header,textmedia,table,list,html,menu - } - } - } - } - } - } - - - } -} - -//news Templates -tx_news.templateLayouts { - 20 = Mit Archiv Link -} \ No newline at end of file diff --git a/Configuration/RTE/Default.yaml b/Configuration/RTE/Default.yaml new file mode 100644 index 0000000..0876be2 --- /dev/null +++ b/Configuration/RTE/Default.yaml @@ -0,0 +1,42 @@ +imports: + - { resource: "EXT:rte_ckeditor/Configuration/RTE/Processing.yaml" } + - { resource: "EXT:rte_ckeditor/Configuration/RTE/Editor/Base.yaml" } + - { resource: "EXT:rte_ckeditor/Configuration/RTE/Editor/Plugins.yaml" } + +editor: + config: + contentsCss: "EXT:bdp_template/Resources/Public/Css/rte.css" + + stylesSet: + - { name: "Lead", element: "p", attributes: { 'class': 'lead' } } + + toolbarGroups: + - { name: styles, groups: [ format, styles ] } + - { name: basicstyles, groups: [ basicstyles ] } + - { name: paragraph, groups: [ list, indent, blocks, align ] } + - "/" + - { name: links, groups: [ links ] } + - { name: clipboard, groups: [ clipboard, cleanup, undo ] } + - { name: editing, groups: [ spellchecker ] } + - { name: insert, groups: [ insert ] } + - { name: tools, groups: [ table, specialchar ] } + - { name: document, groups: [ mode ] } + + format_tags: "p;h1;h2;h3;h4;h5;pre" + + justifyClasses: + - text-left + - text-center + - text-right + - text-justify + + extraPlugins: + - justify + + removePlugins: + - image + + removeButtons: + - Anchor + - Underline + - Strike diff --git a/Configuration/TCA/Overrides/pages.php b/Configuration/TCA/Overrides/pages.php index f391541..8a42ecd 100644 --- a/Configuration/TCA/Overrides/pages.php +++ b/Configuration/TCA/Overrides/pages.php @@ -1,12 +1,19 @@ + + + diff --git a/Configuration/TsConfig/Page/Gridelements.tsconfig b/Configuration/TsConfig/Page/Gridelements.tsconfig new file mode 100644 index 0000000..3f865b4 --- /dev/null +++ b/Configuration/TsConfig/Page/Gridelements.tsconfig @@ -0,0 +1,4 @@ +# +# GRIDELEMENTS +# + diff --git a/Configuration/TsConfig/Page/Mod/WebLayout/BackendLayouts.tsconfig b/Configuration/TsConfig/Page/Mod/WebLayout/BackendLayouts.tsconfig new file mode 100644 index 0000000..53a9f74 --- /dev/null +++ b/Configuration/TsConfig/Page/Mod/WebLayout/BackendLayouts.tsconfig @@ -0,0 +1,4 @@ +# +# BACKENDLAYOUTS +# + diff --git a/Configuration/TsConfig/Page/Mod/WebLayout/BackendLayouts/default.tsconfig b/Configuration/TsConfig/Page/Mod/WebLayout/BackendLayouts/default.tsconfig new file mode 100644 index 0000000..8dac6cc --- /dev/null +++ b/Configuration/TsConfig/Page/Mod/WebLayout/BackendLayouts/default.tsconfig @@ -0,0 +1,29 @@ +# +# BACKENDLAYOUT: DEFAULT +# +mod { + web_layout { + BackendLayouts { + default { + title = LLL:EXT:bdp_template/Resources/Private/Language/locallang_be.xlf:backend_layout.default + config { + backend_layout { + colCount = 1 + rowCount = 1 + rows { + 1 { + columns { + 1 { + name = LLL:EXT:bdp_template/Resources/Private/Language/locallang_be.xlf:backend_layout.column.normal + colPos = 0 + } + } + } + } + } + } + icon = EXT:bdp_template/Resources/Public/Images/BackendLayouts/default.png + } + } + } +} diff --git a/Configuration/TsConfig/Page/Mod/WebLayout/BackendLayouts/headerWithOneColumn.tsconfig b/Configuration/TsConfig/Page/Mod/WebLayout/BackendLayouts/headerWithOneColumn.tsconfig new file mode 100644 index 0000000..067cd51 --- /dev/null +++ b/Configuration/TsConfig/Page/Mod/WebLayout/BackendLayouts/headerWithOneColumn.tsconfig @@ -0,0 +1,37 @@ +# +# BACKENDLAYOUT: DEFAULT +# +mod { + web_layout { + BackendLayouts { + headerWithOneColumn { + title = LLL:EXT:zentrum_pfadfinden/Resources/Private/Language/locallang_be.xlf:backend_layout.headerWithOneColumn + config { + backend_layout { + colCount = 1 + rowCount = 2 + rows { + 1 { + columns { + 1 { + name = LLL:EXT:zentrum_pfadfinden/Resources/Private/Language/locallang_be.xlf:backend_layout.column.header + colPos = 5 + } + } + } + 2 { + columns { + 1 { + name = LLL:EXT:zentrum_pfadfinden/Resources/Private/Language/locallang_be.xlf:backend_layout.column.normal + colPos = 0 + } + } + } + } + } + } + icon = EXT:zentrum_pfadfinden/Resources/Public/Images/BackendLayouts/headerWithOneColumn.png + } + } + } +} diff --git a/Configuration/TsConfig/Page/RTE.tsconfig b/Configuration/TsConfig/Page/RTE.tsconfig new file mode 100644 index 0000000..3eab90f --- /dev/null +++ b/Configuration/TsConfig/Page/RTE.tsconfig @@ -0,0 +1,8 @@ +############# +#### RTE #### +############# +RTE { + default { + preset = bdptemplate + } +} diff --git a/Configuration/TsConfig/Page/TCEFORM.tsconfig b/Configuration/TsConfig/Page/TCEFORM.tsconfig new file mode 100644 index 0000000..e4b49cf --- /dev/null +++ b/Configuration/TsConfig/Page/TCEFORM.tsconfig @@ -0,0 +1,31 @@ +# +# TCEFORM +# +TCEFORM { + pages { + layout { + altLabels { + 0 = small content + 1 = big content + } + removeItems = 2,3 + } + + } + tt_content { + layout { + altLabels { + 0 = Weißer Hintergund + 1 = Gelber Hintergrund + 2 = Blauer Hintergrund + 3 = Roter Hintergrund + } + addItems { + 4 = Transparent + } + } + header_position { + removeItems = left,right + } + } +} diff --git a/Configuration/TsConfig/Page/TCEMAIN.tsconfig b/Configuration/TsConfig/Page/TCEMAIN.tsconfig new file mode 100644 index 0000000..9d4a5e4 --- /dev/null +++ b/Configuration/TsConfig/Page/TCEMAIN.tsconfig @@ -0,0 +1,6 @@ +# +# TCEMAIN +# +TCEMAIN { + +} diff --git a/Configuration/TsConfig/User/Default.tsconfig b/Configuration/TsConfig/User/Default.tsconfig new file mode 100644 index 0000000..741f442 --- /dev/null +++ b/Configuration/TsConfig/User/Default.tsconfig @@ -0,0 +1,6 @@ +# Removing the "Select & Upload Files" button from Page properties +setup.override.edit_docModuleUpload = 0 +# Hide 'file upload' and 'create folder' in link- and element browser +options.folderTree.uploadFieldsInLinkBrowser = 0 +options.folderTree.hideCreateFolder = 1 +options.createFoldersInEB = 1 diff --git a/Configuration/TypoScript/Constants/base.typoscript b/Configuration/TypoScript/Constants/base.typoscript deleted file mode 100644 index 4c88552..0000000 --- a/Configuration/TypoScript/Constants/base.typoscript +++ /dev/null @@ -1,191 +0,0 @@ -# customcategory=bdp=BdP Template -# customsubcategory=languages=Sprachen -# customsubcategory=tracking=Tracking -# customsubcategory=news=News -# customsubcategory=cal=Kalender -# customsubcategory=address=Adressen -# customsubcategory=meta=Metadaten -# customsubcategory=paths=Pfadangaben -# customsubcategory=contact=Kontakt & Impressum -# customsubcategory=lightbox=Lightbox - -plugin.tx_bdptemplate { - config { - # cat=bdp/010; type=string; label= Basis URL - domain = www.pfadfinden.de - # cat=bdp/012; type=string; label= URL Prefix - absRefPrefix = / - # cat=bdp/020; type=string; label= Regionalzeile: Angabe des Landesverbands, Bezirk oder Stamm unter Wort-Bild Marke. - region = Stamm Weiße Dose - # cat=bdp/020; type=string; label= Regional Branding Image - regionBranding = EXT:bdp_template/Resources/Public/Images/dose.png - # cat=bdp/030; type=string; label= Favicon - #favicon = EXT:bdp_template/Resources/Public/Images/favicon.ico - # cat=bdp/040; type=string; label= Name der Organisation - organisation = Bund der Pfadfinderinnen und Pfadfinder (BdP), | Stamm Weiße Dose e.V. - } - - contact { - # cat=bdp/contact/010; type=string; label= Name der Organisation - name = BdP Stamm Weiße Dose - # cat=bdp/contact/012; type=string; label= Anschrift - address = Kesselhaken 23, 34376 Immenhausen, DE - # cat=bdp/contact/020; type=string; label= Telefonnummer - phone = +49 5673 99584-0 - # cat=bdp/contact/025; type=string; label= Faxnummer - fax = +49 5673 99584-44 - # cat=bdp/contact/030; type=string; label= E-Mail Adresse - email = info@pfadfinden.de - # cat=bdp/contact/035; type=string; label= Webseite - website = www.pfadfinden.de - } - - page { - # cat=bdp/links/010; type=int+; label= Home Seiten id - home = 1 - # cat=bdp/links/011; type=int+; label= Impressum id - imprint = - # cat=bdp/links/012; type=int+; label= Datenschutzerklärung id - privacy = - # cat=bdp/links/020; type=int+; label= Suche id - search = - # cat=bdp/links/030; type=int+; label= Untermenü id - nav-secondary = - } - - languages { - # cat=bdp/languages/010; type=boolean; label= Aktiviere das Sprachwechseler Menü - menu = 0 - # cat=bdp/languages/020; type=string; label= Sprache IDs - ids = 0,1,2 - # cat=bdp/languages/030; type=string; label= Benennung zu den einzelnen Sprach IDs - names = Deutsch || English || Français - - } - - filepaths { - # cat=bdp/paths/010; type=string; label= Template Dateien - templates = EXT:bdp_template/Resources/Private/ - # cat=bdp/paths/020; type=string; label= CSS Dateien - css = EXT:bdp_template/Resources/Public/CSS/ - # cat=bdp/paths/030; type=string; label= Bild Dateien - images = EXT:bdp_template/Resources/Public/Media/Images/ - # cat=bdp/paths/040; type=string; label= JavaScript Dateien - javascript = EXT:bdp_template/Resources/Public/JavaScript/ - # cat=bdp/paths/050; type=string; label= Webfont Dateien - font = EXT:bdp_template/Resources/Public/Fonts/ - # cat=bdp/paths/060; type=string; label= Extensiontemplates - extensiontemplates = EXT:bdp_template/Resources/Private/Extensions/ - # cat=bdp/paths/070; type=string; label= CDN Pfad: URL zu Content Delivery Network - cdn = https://cdn.pfadfinden.de/ - } - - favicon { - apple-touch-icon-57x57 = https://cdn.pfadfinden.de/gfx/favicons/bdp/apple-touch-icon-57x57.png - apple-touch-icon-60x60 = https://cdn.pfadfinden.de/gfx/favicons/bdp/apple-touch-icon-60x60.png - apple-touch-icon-72x72 = https://cdn.pfadfinden.de/gfx/favicons/bdp/apple-touch-icon-72x72.png - apple-touch-icon-76x76 = https://cdn.pfadfinden.de/gfx/favicons/bdp/apple-touch-icon-76x76.png - apple-touch-icon-114x114 = https://cdn.pfadfinden.de/gfx/favicons/bdp/apple-touch-icon-114x114.png - apple-touch-icon-120x120 = https://cdn.pfadfinden.de/gfx/favicons/bdp/apple-touch-icon-120x120.png - apple-touch-icon-144x144 = https://cdn.pfadfinden.de/gfx/favicons/bdp/apple-touch-icon-144x144.png - apple-touch-icon-152x152 = https://cdn.pfadfinden.de/gfx/favicons/bdp/apple-touch-icon-152x152.png - apple-touch-icon-180x180 = https://cdn.pfadfinden.de/gfx/favicons/bdp/apple-touch-icon-180x180.png - favicon-32x32 = https://cdn.pfadfinden.de/gfx/favicons/bdp/favicon-32x32.png - android-chrome-192x192 = https://cdn.pfadfinden.de/gfx/favicons/bdp/android-chrome-192x192.png - favicon-96x96 = https://cdn.pfadfinden.de/gfx/favicons/bdp/favicon-96x96.png - favicon-16x16 = https://cdn.pfadfinden.de/gfx/favicons/bdp/favicon-16x16.png - manifest = https://cdn.pfadfinden.de/gfx/favicons/bdp/manifest.json - safari-pinned-tab = https://cdn.pfadfinden.de/gfx/favicons/bdp/safari-pinned-tab.svg - safari-color = #1d4899 - favicon = https://cdn.pfadfinden.de/gfx/favicons/bdp/favicon.ico - msapplication-TileColor = #ffcb04 - msapplication-TileImage = https://cdn.pfadfinden.de/gfx/favicons/bdp/mstile-144x144.png - browserconfig = https://cdn.pfadfinden.de/gfx/favicons/bdp/browserconfig.xml - theme-color = #ffcb04 - } - - meta { - # cat=bdp/meta/010; type=string; label= Seitenname - site-name = Bund der Pfadfinderinnen und Pfadfinder e.V. - # cat=bdp/meta/020; type=string; label= Description: Kurzbeschreibung der Webseite. - description = Bund der Pfadfinderinnen und Pfadfinder e.V. ist der größte interkonfessionelle Verband für Pfadfinderinnen und Pfadfinder in Deutschland. - # cat=bdp/meta/030; type=string; label= Keywords: Stichwörter der Webseite. - keywords = jugend, pfadfinder, pfadfinderin, pfadfinden, bdp, scout - # cat=bdp/meta/040; type=small; label= Robots - robots = all - # cat=bdp/meta/050; type=string; label= Copyright - copyright = Bund der Pfadfinderinnen und Pfadfinder e. V. - # cat=bdp/meta/060; type=string; label= Author - author = Bund der Pfadfinderinnen und Pfadfinder e. V. - # cat=bdp/meta/070; type=small; label= Revisit - revisit = 7 - # cat=bdp/meta/080; type=small; label= Language - language = de - # cat=bdp/meta/090; type=small; label= locale - locale = de_DE - # cat=bdp/meta/100; type=small; label= Open Graph Protocal Type - og-type = website - } - - analytics { - # cat=bdp/tracking/010; type=boolean; label= Google Analytics: Aktiviere Google Analytics Tracking-Code. - enabled = 0 - # cat=bdp/tracking/011; type=small; label= Tracking-ID: Die Google Analytics Tracking-ID, z.B. UA-12345678 - tracking_id = - } - - news { - # cat=bdp/news/030; type=int+; label= Ausgangspunkt - startingpoint = - # cat=bdp/news/040; type=int+; label= Detailseite - detailPid = - list { - # cat=bdp/news/041; type=boolean; label= Anzeige des Datums auf der News Kachel - showDate = 0 - # cat=bdp/news/042; type=boolean; label= Global: Anzeige des Links zur Archiv Seite - linkToArchivPage = 0 - # cat=bdp/news/043; type=int+; label= Page Id der Archiv Seite - archivPageId = - } - - - opengraph { - # cat=bdp/news/050; type=string; label= News Opengraph Protocol Seitenname - site_name = Bund der Pfadfinderinnen und Pfadfinder e.V. - # cat=bdp/news/051; type=string; label= News Opengraph Protocol E-mail - email = info@pfadfinden.de - # cat=bdp/news/052; type=string; label= News Opengraph Protocol Telefonnummer - phone_number = - # cat=bdp/news/053; type=string; label= News Opengraph Protocol Fax - fax_number = - # cat=bdp/news/054; type=string; label= News Opengraph Protocol latitude - latitude = - # cat=bdp/news/055; type=string; label= News Opengraph Protocol longitude - longitude = - # cat=bdp/news/056; type=string; label= News Opengraph Protocol Straße - street-address = Kesselhaken 23 - # cat=bdp/news/057; type=string; label= News Opengraph Protocol Stadt - locality = Immenhausen - # cat=bdp/news/058; type=string; label= News Opengraph Protocol Region - region = - # cat=bdp/news/059; type=string; label= News Opengraph Protocol PLZ - postal-code = 34376 - # cat=bdp/news/060; type=string; label= News Opengraph Protocol Land - country-name = Germany - } - } - cal { - # cat=bdp/cal/030; type=int+; label= Kalendar Sys Folder - storageFolder = - } - address { - # cat=bdp/address/030; type=int+; label= Address Sys Folder - storageFolder = - } -} -styles.content.imgtext.linkWrap { - # cat=bdp/lightbox/010; type=int; label= Aktiviere Lightbox - lightboxEnabled = 1 - lightboxRelAttribute = lightbox{field:uid} - lightboxCssClass = lightbox -} diff --git a/Configuration/TypoScript/Helper/DynamicContent.typoscript b/Configuration/TypoScript/Helper/DynamicContent.typoscript new file mode 100644 index 0000000..b6f1eaa --- /dev/null +++ b/Configuration/TypoScript/Helper/DynamicContent.typoscript @@ -0,0 +1,64 @@ +################################################ +#### DYNAMIC CONTENT LIB FOR USAGE IN FLUID #### +################################################ +# +# EXAMPLE +# --------------- +# |'}" /> +# +# +# COLUMN NUMBERS +# --------------- +# +# 0 = main +# 1 = left +# 2 = right +# 3 = border +# +################# +lib.dynamicContent = COA +lib.dynamicContent { + 5 = LOAD_REGISTER + 5 { + colPos.cObject = TEXT + colPos.cObject { + field = colPos + ifEmpty.cObject = TEXT + ifEmpty.cObject { + value.current = 1 + ifEmpty = 0 + } + } + pageUid.cObject = TEXT + pageUid.cObject { + field = pageUid + ifEmpty.data = TSFE:id + } + contentFromPid.cObject = TEXT + contentFromPid.cObject { + data = DB:pages:{register:pageUid}:content_from_pid + data.insertData = 1 + } + wrap.cObject = TEXT + wrap.cObject { + field = wrap + } + } + 20 = CONTENT + 20 { + table = tt_content + select { + includeRecordsWithoutDefaultTranslation = 1 + orderBy = sorting + where = {#colPos}={register:colPos} + where.insertData = 1 + pidInList.data = register:pageUid + pidInList.override.data = register:contentFromPid + } + stdWrap { + dataWrap = {register:wrap} + required = 1 + } + } + 90 = RESTORE_REGISTER +} diff --git a/Configuration/TypoScript/Setup/Blocks/footer.typoscript b/Configuration/TypoScript/Setup/Blocks/footer.typoscript deleted file mode 100644 index 0c6493e..0000000 --- a/Configuration/TypoScript/Setup/Blocks/footer.typoscript +++ /dev/null @@ -1,52 +0,0 @@ -lib.footer = COA -lib.footer { - wrap =
- - 10 = TEXT - 10.value = {$plugin.tx_bdptemplate.config.organisation} - 10.split { - token = | - cObjNum = 1 - 1.current = 1 - 1.wrap = |*| | |*| | - } - 10.wrap = - - 30.10 = TEXT - 30.10.value = {$plugin.tx_bdptemplate.contact.name} - 30.10.wrap =

|

- - 30.20 = TEXT - 30.20.value = {$plugin.tx_bdptemplate.contact.address} - 30.20.wrap =

|

- - 30.30 = TEXT - 30.30.value =

- - 30.40 = TEXT - 30.40.value = {$plugin.tx_bdptemplate.contact.phone} - 30.40.if.isTrue.dataWrap = {$plugin.tx_bdptemplate.contact.phone} - 30.40.wrap = Telefon: |
- - 30.50 = TEXT - 30.50.value = {$plugin.tx_bdptemplate.contact.fax} - 30.50.if.isTrue.dataWrap = {$plugin.tx_bdptemplate.contact.fax} - 30.50.wrap = Telefax: |
- - 30.60 = TEXT - 30.60.typolink.parameter = {$plugin.tx_bdptemplate.contact.email} - 30.60.wrap = E-Mail: |
- - 30.70 = TEXT - 30.70.typolink.parameter = {$plugin.tx_bdptemplate.contact.website} - 30.70.wrap = Internet: | - - 30.80 = TEXT - 30.80.value =

- -} diff --git a/Configuration/TypoScript/Setup/Blocks/nav-footer.typoscript b/Configuration/TypoScript/Setup/Blocks/nav-footer.typoscript deleted file mode 100644 index 3303016..0000000 --- a/Configuration/TypoScript/Setup/Blocks/nav-footer.typoscript +++ /dev/null @@ -1,20 +0,0 @@ -lib.nav-footer = COA -lib.nav-footer { - wrap =
- - 7 = TEXT - 7.wrap = - 7.typolink.parameter = {$plugin.tx_bdptemplate.page.imprint} - - 20 = TEXT - 20.value = Seite ausdrucken - 20.wrap = - - 30 = TEXT - 30.wrap = - 30.typolink.parameter = {$plugin.tx_bdptemplate.page.privacy} - - 40 = TEXT - 40.value = Login - 40.wrap = -} diff --git a/Configuration/TypoScript/Setup/Blocks/nav-lang.typoscript b/Configuration/TypoScript/Setup/Blocks/nav-lang.typoscript deleted file mode 100644 index f0fe658..0000000 --- a/Configuration/TypoScript/Setup/Blocks/nav-lang.typoscript +++ /dev/null @@ -1,32 +0,0 @@ -lib.nav-lang = HMENU -lib.nav-lang { - special = language - special.value = {$plugin.tx_bdptemplate.languages.ids} - special.normalWhenNoLanguage = 0 - wrap =
    |
- 1 = TMENU - 1 { - noBlur = 1 - # Standard Sprachen - NO = 1 - NO { - linkWrap =
  • |
  • - stdWrap.override = {$plugin.tx_bdptemplate.languages.names} - } - # Active language - ACT < .NO - ACT { - doNotLinkIt = 1 - } - # NO and no translation available - USERDEF1 < .NO - USERDEF1 { - doNotLinkIt = 1 - ATagParams > - } - # ACT + and no translation available - USERDEF2 < .USERDEF1 - USERDEF1 { - } - } -} \ No newline at end of file diff --git a/Configuration/TypoScript/Setup/Blocks/nav-primary.typoscript b/Configuration/TypoScript/Setup/Blocks/nav-primary.typoscript deleted file mode 100644 index a8702f3..0000000 --- a/Configuration/TypoScript/Setup/Blocks/nav-primary.typoscript +++ /dev/null @@ -1,32 +0,0 @@ -lib.nav-primary = COA -lib.nav-primary.wrap = -lib.nav-primary.1 = HMENU -lib.nav-primary.1 { - entryLevel = 0 - wrap = - 1 = TMENU - 1 { - noBlur = 1 - NO = 1 - NO { - wrapItemAndSub =
  • |
  • - } - ACT < .NO - ACT { - wrapItemAndSub =
  • |
  • - } - CUR < .NO - CUR { - doNotLinkIt = 1 - wrapItemAndSub =
  • |
  • - allWrap = | - } - } - 2 < .1 - 2 { - wrap =
      |
    - ACT.wrapItemAndSub =
  • |
  • - } -} -lib.nav-primary.2 = HTML -lib.nav-primary.2.value = diff --git a/Configuration/TypoScript/Setup/Blocks/nav-secondary.typoscript b/Configuration/TypoScript/Setup/Blocks/nav-secondary.typoscript deleted file mode 100644 index 562aa6b..0000000 --- a/Configuration/TypoScript/Setup/Blocks/nav-secondary.typoscript +++ /dev/null @@ -1,28 +0,0 @@ -lib.nav-secondary = COA -lib.nav-secondary { - 10 = HMENU - 10 { - special = directory - special.value = {$plugin.tx_bdptemplate.page.nav-secondary} - - 1 = TMENU - 1.expAll = 1 - 1.doNotLinkIt = 1 - 1 { - NO = 1 - NO { - wrapItemAndSub = - allWrap =

    |

    - doNotLinkIt = 1 - } - } - - 2 = TMENU - 2 { - NO = 1 - NO { - allWrap =
  • |
  • - } - } - } -} diff --git a/Configuration/TypoScript/Setup/Blocks/root.typoscript b/Configuration/TypoScript/Setup/Blocks/root.typoscript deleted file mode 100644 index 2df807b..0000000 --- a/Configuration/TypoScript/Setup/Blocks/root.typoscript +++ /dev/null @@ -1,2 +0,0 @@ -lib.root = TEXT -lib.root.data = leveluid : 0 \ No newline at end of file diff --git a/Configuration/TypoScript/Setup/Blocks/teaser.typoscript b/Configuration/TypoScript/Setup/Blocks/teaser.typoscript deleted file mode 100644 index 547fe4e..0000000 --- a/Configuration/TypoScript/Setup/Blocks/teaser.typoscript +++ /dev/null @@ -1,59 +0,0 @@ -lib.teaser = COA -lib.teaser { - stdWrap { - wrap =
    |
    - if.isTrue.data = levelmedia:-1 - } - - 10 = IMAGE - 10 { - file { - import.data = levelmedia:-1 - import.data.required = 1 - treatIdAsReference = 1 - import.listNum = 0 - maxW = 1300 - } - sourceCollection { - small { - width = 640 - srcsetCandidate = 640w - } - medium { - width = 768 - srcsetCandidate = 768w - } - big { - width = 1300 - srcsetCandidate = 1024w - } - } - layoutKey = srcset - layout < tt_content.image.20.1.layout - - } - - 12 = FILES - 12 { - references.data = levelmedia:-1, slide - renderObj = TEXT - renderObj { - data = file:current:source - stdWrap.required = 1 - stdWrap.wrap =
    Bild: |
    - } - } - - 20 = TEXT - 20 { - data = page : subtitle - split{ - token = | - cObjNum = 1 - 1.current = 1 - 1.wrap =
    |

    |*| | |*| | - } - required = 1 - wrap =
    |
    - } -} \ No newline at end of file diff --git a/Configuration/TypoScript/Setup/Extensions/address.typoscript b/Configuration/TypoScript/Setup/Extensions/address.typoscript deleted file mode 100644 index 61f1436..0000000 --- a/Configuration/TypoScript/Setup/Extensions/address.typoscript +++ /dev/null @@ -1,175 +0,0 @@ -plugin.tx_ttaddress_pi1 { - # templatePath = - # defaultTemplateFileName = - templatePath = {$plugin.tx_bdptemplate.filepaths.templates}Extensions/address/Templates/ - defaultTemplateFileName = default_hcard.htm - pidList = {$plugin.tx_bdptemplate.address.storageFolder} - recursive = 1 - - templates.landesverbaende { - # supports the hcard microformats standard - allWrap =
    |
    - first_name { - innerWrap = | - innerWrap.if.isFalse.field = middle_name - innerWrap2 = | - innerWrap2.if.isTrue.field = middle_name - outerWrap = | - outerWrap.if.isTrue.field = middle_name - } - - last_name { - innerWrap = | - innerWrap.if.isFalse.field = middle_name - innerWrap2 = | - innerWrap2.if.isTrue.field = middle_name - outerWrap = | - outerWrap.if.isTrue.field = middle_name - } - - organization { - wrap =
    |
    - required = 1 - } - - - organization { - wrap =
    |
    - required = 1 - } - - email.typolink.parameter.field = email - email.typolink.ATagParams = class="email" - email.wrap = E-Mail: | - email.required = 1 - - www.wrap =
    Internet: | - www.typolink.parameter.field = www - www.typolink.extTarget = _blank - www.required = 1 - - address { - wrap =
    |
    - br =1 - required = 1 - } - - city { - wrap = | - required = 1 - outerWrap = |, - outerWrap.if.isTrue.field = region - } - - region { - wrap = | - required = 1 - outerWrap = |, - outerWrap.if.isTrue.field = zip - } - - zip { - noTrimWrap = | || - required = 1 - outerWrap = | - outerWrap.if.isFalse.field = region - } - - country { - wrap = | - required = 1 - } - - phone.innerWrap = | - phone.innerWrap.insertData = 1 - phone.typolink.parameter.field = phone - phone.typolink.ATagParams = class="tel" - phone.required = 1 - phone.wrap = Telefon: | - - mobile.wrap =
    Mobil |
    - mobile.required = 1 - - fax.wrap =
    Telefax: |
    - fax.required = 1 - - subparts { - adr.hasOneOf = address, city, region, zip, country - url.typolink { - parameter.field = www - target = - ATagParams = class="url" - } - } - - } - - templates.mitarbeitende { - allWrap =
    |
    - - image { - params = class="photo" - altText.override = Foto von {field:first_name} {field:middle_name} {field:last_name} - altText.insertData = 1 - titleText.override = {field:first_name} {field:middle_name} {field:last_name} - titleText.insertData = 1 - file { - width = 100m - height = 150m - } - - } - - first_name { - innerWrap =
    | - innerWrap.if.isFalse.field = middle_name - innerWrap2 = | - innerWrap2.if.isTrue.field = middle_name - outerWrap =
    | - outerWrap.if.isTrue.field = middle_name - } - - middle_name.wrap = "|" - middle_name.required = 1 - - last_name { - innerWrap = |
    - innerWrap.if.isFalse.field = middle_name - innerWrap2 = | - innerWrap2.if.isTrue.field = middle_name - outerWrap = |
    - outerWrap.if.isTrue.field = middle_name - } - - organization { - wrap =
    |
    - required = 1 - } - - email.typolink.parameter.field = email - email.typolink.ATagParams = class="email" - email.required = 1 - email.wrap = |
    - - phone.innerWrap = | - phone.innerWrap.insertData = 1 - phone.typolink.parameter.field = phone - phone.typolink.ATagParams = class="tel" - phone.required = 1 - phone.wrap = Telefon: | - - mobile.wrap =

    |

    - mobile.required = 1 - - title.wrap =

    |

    - title.required = 1 - - fax.wrap =

    Fax |

    - fax.required = 1 - - description = TEXT - description.field = description - description.htmlSpecialChars = 0 - } - -} \ No newline at end of file diff --git a/Configuration/TypoScript/Setup/Extensions/cal.typoscript b/Configuration/TypoScript/Setup/Extensions/cal.typoscript deleted file mode 100644 index 8e51768..0000000 --- a/Configuration/TypoScript/Setup/Extensions/cal.typoscript +++ /dev/null @@ -1,85 +0,0 @@ -plugin.tx_cal_controller { - pidList = {$plugin.tx_bdptemplate.cal.storageFolder} - view { - list { - listTemplate = {$plugin.tx_bdptemplate.filepaths.templates}Extensions/cal/Templates/defaultList.tmpl - heading > - pageBrowser > - found_stdWrap > - restartAlternationAfterMonthWrapper = 1 - enableMonthWrapper = 1 - monthWrapperFormat = %B %Y - monthWrapper.10.wrap =

    |

    - event { - dateFormat = %d.%m. - location.dataWrap = | - } - } - event { - eventTemplate = {$plugin.tx_bdptemplate.filepaths.templates}Extensions/cal/Templates/event.tmpl - eventModelTemplate = {$plugin.tx_bdptemplate.filepaths.templates}Extensions/cal/Templates/event_model.tmpl - event { - dateFormat = %A, %d. %b %Y - # eventDateFormat = %D %d. %B %Y - title.dataWrap > - alldayTitle.dataWrap > - startdate.dataWrap = |
    - enddate.dataWrap > - description.dataWrap =
    |
    - - location.dataWrap =

    %%%LOCATION%%%

    |
    - organizer.dataWrap =

    %%%ORGANIZER%%%

    |
    - - attachment =< tt_content.uploads - attachment { - layout = 1 - showFileSize = 1 - filePath = {$plugin.tx_cal_controller.uploadPath.media} - 20.stdWrap.if.isTrue.field = media - 20.stdWrap.dataWrap =

    %%ATTACHMENT_LABEL%%%

    |
    - } - - ics.typolink.parameter.wrap > - ics.dataWrap > - ics.wrap > - - ics.value = | - } - } - location { - locationModelTemplate = {$plugin.tx_bdptemplate.filepaths.templates}Extensions/cal/Templates/location_model.tmpl - locationTemplate = {$plugin.tx_bdptemplate.filepaths.templates}Extensions/cal/Templates/location.tmpl - location { - showMap = 1 - map.apiKey = - map.controlSize = zoomonly - map.mapWidth = 100% - name.dataWrap > - street.dataWrap = |
    - city.dataWrap > - zip.dataWrap > - country.dataWrap =
    | - countryzoneStaticInfo.dataWrap =
    | - countryStaticInfo.dataWrap =
    | - email.dataWrap = %%%EMAIL_LABEL%%%:  |
    - phone.dataWrap = %%%PHONE_LABEL%%%:  |
    - fax.dataWrap = %%%FAX_LABEL%%%:  |
    - link.dataWrap = %%%LINK_LABEL%%%:  |
    - } - - } - ics { - icsTemplate = {$plugin.tx_bdptemplate.filepaths.templates}Extensions/cal/Templates/ics.tmpl - } - } -} - -# dirty fix for rendering description in fluid_styles_content -tt_content.text{ - 20 = TEXT - 20 { - field = bodytext - required = 1 - description.parseFunc = < lib.parseFunc_RTE - } -} diff --git a/Configuration/TypoScript/Setup/Extensions/gridelements.typoscript b/Configuration/TypoScript/Setup/Extensions/gridelements.typoscript deleted file mode 100644 index 2f7c3c5..0000000 --- a/Configuration/TypoScript/Setup/Extensions/gridelements.typoscript +++ /dev/null @@ -1,24 +0,0 @@ -tt_content.gridelements_pi1.10 = < lib.stdheader -tt_content.gridelements_pi1.20.10.setup { - twocolums < lib.gridelements.defaultGridSetup - twocolums { - wrap =
    |
    - columns { - 10 < .default - 10.wrap =
    |
    - 20 < .default - 20.wrap =
    |
    - } - } - threecolums < .twocolums - threecolums { - columns { - 10 < .default - 10.wrap =
    |
    - 20 < .default - 20.wrap =
    |
    - 30 < .default - 30.wrap =
    |
    - } - } -} diff --git a/Configuration/TypoScript/Setup/Extensions/news.typoscript b/Configuration/TypoScript/Setup/Extensions/news.typoscript deleted file mode 100644 index 9b70a45..0000000 --- a/Configuration/TypoScript/Setup/Extensions/news.typoscript +++ /dev/null @@ -1,66 +0,0 @@ -plugin.tx_news { - _CSS_DEFAULT_STYLE > - view { - templateRootPaths.3 = {$plugin.tx_bdptemplate.filepaths.templates}Extensions/news/Templates/ - partialRootPaths.3 = {$plugin.tx_bdptemplate.filepaths.templates}Extensions/news/Partials/ - layoutRootPaths.3 = {$plugin.tx_bdptemplate.filepaths.templates}Extensions/news/Layouts/ - } - settings { - cssFile > - displayDummyIfNoMedia = 0 - cropMaxCharacters = 250 - facebookLocale = de_DE - googlePlusLocale = de - disqusLocale = de - opengraph.locale = de_DE - analytics { - social { - facebookLike = 0 - facebookShare = 0 - twitter = 0 - } - } - detail { - showSocialShareButtons = 0 - media { - image { - maxWidth = 671 - maxHeight = 671 - lightbox { - enabled = 1 - rel = gallery - maxWidth = 1600 - maxHeight = 1600 - } - } - - } - } - list { - linkToArchivPage = {$plugin.tx_bdptemplate.news.list.linkToArchivPage} - archivPageId = {$plugin.tx_bdptemplate.news.list.archivPageId} - media.image.maxWidth = 597 - media.image.maxHeight = 292 - showDate = {$plugin.tx_bdptemplate.news.list.showDate} - paginate{ - itemsPerPage = 9 - insertAbove = 0 - insertBelow = 1 - } - } - opengraph { - type = article - } - link { - skipControllerAndAction = 1 - hrDate = 1 - hrDate { - year = Y - month = m - day = d - } - } - listPid = {$plugin.tx_bdptemplate.news.startingpoint} - defaultDetailPid = {$plugin.tx_bdptemplate.news.detailPid} - } -} diff --git a/Configuration/TypoScript/Setup/analytics.typoscript b/Configuration/TypoScript/Setup/analytics.typoscript deleted file mode 100644 index 8904d1e..0000000 --- a/Configuration/TypoScript/Setup/analytics.typoscript +++ /dev/null @@ -1,16 +0,0 @@ -lib.analytics = TEXT -lib.analytics.value ( - -) - -[globalVar = LIT:1 = {$plugin.tx_bdptemplate.analytics.enabled}] -page.9999 < lib.analytics -[global] diff --git a/Configuration/TypoScript/Setup/config.typoscript b/Configuration/TypoScript/Setup/config.typoscript deleted file mode 100644 index 8e4d517..0000000 --- a/Configuration/TypoScript/Setup/config.typoscript +++ /dev/null @@ -1,59 +0,0 @@ -config { - admPanel = 0 - debug = 0 - - doctype = html5 - xmlprologue = none - - // Charset Settings - renderCharset = utf-8 - metaCharset = utf-8 - - // Cache Settings - cache_period = 86400 - cache_clearAtMidnight = 1 - sendCacheHeaders = 1 - no_cache = 0 - - // URL Settings - absRefPrefix = {$plugin.tx_bdptemplate.config.absRefPrefix} - tx_realurl_enable = 1 - simulateStaticDocuments = 0 - - // Language Settings - uniqueLinkVars = 0 - sys_language_uid = 0 - language = de - locale_all = de_DE.UTF-8 - htmlTag_langKey = de - - // Link settings - prefixLocalAnchors = all - - // Remove targets from links - intTarget = - extTarget = - - - // Code cleaning - disablePrefixComment = 1 - - // Move default CSS and JS to external file - removeDefaultJS = 1 - inlineStyle2TempFile = 1 - - compressCss = 1 - concatenateCss = 1 - - compressJs = 1 - - // Protect mail addresses from spamming - spamProtectEmailAddresses = -3 - spamProtectEmailAddresses_atSubst = @remove-this. - - // Comment in the tag - headerComment = Bund der Pfadfinderinnen und Pfadfinder e. V. - Arbeitskreis Öffentlichkeitsarbeit - - pageTitleSeparator = | - pageTitleSeparator.noTrimWrap = | | | -} \ No newline at end of file diff --git a/Configuration/TypoScript/Setup/ext-fluid-styled-content.typoscript b/Configuration/TypoScript/Setup/ext-fluid-styled-content.typoscript deleted file mode 100644 index f951bed..0000000 --- a/Configuration/TypoScript/Setup/ext-fluid-styled-content.typoscript +++ /dev/null @@ -1,11 +0,0 @@ -lib.contentElement { - templateRootPaths { - 20 = {$plugin.tx_bdptemplate.filepaths.extensiontemplates}fluid_styled_content/Templates/ - } - partialRootPaths { - 20 = {$plugin.tx_bdptemplate.filepaths.extensiontemplates}fluid_styled_content/Partials/ - } - layoutRootPaths { - 20 = {$plugin.tx_bdptemplate.filepaths.extensiontemplates}fluid_styled_content/Layouts/ - } -} \ No newline at end of file diff --git a/Configuration/TypoScript/Setup/page-css.typoscript b/Configuration/TypoScript/Setup/page-css.typoscript deleted file mode 100644 index a5ea338..0000000 --- a/Configuration/TypoScript/Setup/page-css.typoscript +++ /dev/null @@ -1,59 +0,0 @@ -page { - includeCSS { - buena = {$plugin.tx_bdptemplate.filepaths.css}buena.min.css - buena.disableCompression = 1 - buena.excludeFromConcatenation = 1 - mindshapecookiehint > - } - includeCSSLibs { - normalize = https://cdnjs.cloudflare.com/ajax/libs/normalize/4.2.0/normalize.min.css - normalize { - external = 1 - disableCompression = 1 - excludeFromConcatenation = 1 - } - - font-immenhausen = {$plugin.tx_bdptemplate.filepaths.cdn}fonts/immenhausen/immenhausen.css - font-immenhausen { - external = 1 - disableCompression = 1 - excludeFromConcatenation = 1 - } - - font-roboto = https://fonts.googleapis.com/css?family=Roboto - font-roboto { - external = 1 - disableCompression = 1 - excludeFromConcatenation = 1 - } - - materialize-icons = https://fonts.googleapis.com/icon?family=Material+Icons - materialize-icons { - external = 1 - disableCompression = 1 - excludeFromConcatenation = 1 - } - - photoswipe = {$plugin.tx_bdptemplate.filepaths.cdn}libs/photoswipe/photoswipe.css - photoswipe { - external = 1 - disableCompression = 1 - excludeFromConcatenation = 1 - } - - photoswipeUI = {$plugin.tx_bdptemplate.filepaths.cdn}libs/photoswipe/default-skin.css - photoswipeUI { - external = 1 - disableCompression = 1 - excludeFromConcatenation = 1 - } - - gutenberg = https://unpkg.com/gutenberg-css@0.4.4/dist/gutenberg.min.css - gutenberg { - external = 1 - disableCompression = 1 - excludeFromConcatenation = 1 - media = print - } - } -} diff --git a/Configuration/TypoScript/Setup/page-js.typoscript b/Configuration/TypoScript/Setup/page-js.typoscript deleted file mode 100644 index 9dea327..0000000 --- a/Configuration/TypoScript/Setup/page-js.typoscript +++ /dev/null @@ -1,40 +0,0 @@ -page { - includeJS > - includeJSlibs > - - includeJSFooter { - base = {$plugin.tx_bdptemplate.filepaths.javascript}main.js - t3 = {$plugin.tx_bdptemplate.filepaths.javascript}t3default.js - } - includeJSFooterlibs { - jquery = https://code.jquery.com/jquery-2.2.4.min.js - jquery { - external = 1 - integrity = sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44= - forceOnTop = 1 - excludeFromConcatenation = 1 - disableCompression = 1 - } - - photoswipe = {$plugin.tx_bdptemplate.filepaths.cdn}libs/photoswipe/jquery.photoswipe-global.js - photoswipe { - external = 1 - excludeFromConcatenation = 1 - disableCompression = 1 - } - - masonry = {$plugin.tx_bdptemplate.filepaths.cdn}library/masonry/4.2.0/masonry.pkgd.min.js - masonry { - external = 1 - excludeFromConcatenation = 1 - disableCompression = 1 - } - imagesLoaded = {$plugin.tx_bdptemplate.filepaths.javascript}Library/imagesLoaded.pkgd.min.js - imagesLoaded { - external = 1 - excludeFromConcatenation = 1 - disableCompression = 1 - } - } - -} diff --git a/Configuration/TypoScript/Setup/page-meta.typoscript b/Configuration/TypoScript/Setup/page-meta.typoscript deleted file mode 100644 index ef9c1c9..0000000 --- a/Configuration/TypoScript/Setup/page-meta.typoscript +++ /dev/null @@ -1,48 +0,0 @@ -page.meta { - description = {$plugin.tx_bdptemplate.meta.description} - description.override.field = description - - author = {$plugin.tx_bdptemplate.meta.author} - author.override.field = author - - keywords = {$plugin.tx_bdptemplate.meta.keywords} - keywords.override.field = keywords - - robots = {$plugin.tx_bdptemplate.meta.robots} - revisit = {$plugin.tx_bdptemplate.meta.revisit} - copyright = {$plugin.tx_bdptemplate.meta.copyright} - language = {$plugin.tx_bdptemplate.meta.language} - - viewport = width=device-width, initial-scale=1.0 - - og:site_name = {$plugin.tx_bdptemplate.meta.site-name} - og:site_name.attribute = property - og:description = {$plugin.tx_bdptemplate.meta.description} - og:description.attribute = property - og:locale = {$plugin.tx_bdptemplate.meta.locale} - og:locale.attribute = property -} - -page.headerData.200 = TEXT -page.headerData.200.value ( - - - - - - - - - - - - - - - - - - - - -) diff --git a/Configuration/TypoScript/Setup/page.typoscript b/Configuration/TypoScript/Setup/page.typoscript deleted file mode 100644 index 9ea2f64..0000000 --- a/Configuration/TypoScript/Setup/page.typoscript +++ /dev/null @@ -1,66 +0,0 @@ -page = PAGE -page { - 1 = LOAD_REGISTER - 1 { - pageLayout.cObject = TEXT - pageLayout.cObject { - data = levelfield:-1, backend_layout_next_level, slide - override.field = backend_layout - split { - token = bdptemplate__ - 1.current = 1 - 1.wrap = | - } - } - } - - 10 = FLUIDTEMPLATE - 10 { - templateName = defaultTemplate - layoutRootPaths { - 10 = EXT:frontend/Resources/Private/Layouts - 20 = EXT:bdp_template/Resources/Private/Layouts/ - } - partialRootPaths { - 10 = EXT:frontend/Resources/Private/Partials - 20 = EXT:bdp_template/Resources/Private/Partials/ - } - templateRootPaths { - 10 = EXT:frontend/Resources/Private/Templates - 20 = EXT:bdp_template/Resources/Private/Templates/ - } - variables { - layout = TEXT - layout.data = register:pageLayout - content = CONTENT - content { - table = tt_content - select { - orderBy = sorting - where = colPos=0 - languageField = sys_language_uid - } - } - content-border = CONTENT - content-border { - table = tt_content - select { - orderBy = sorting - where = colPos=3 - languageField = sys_language_uid - } - } - } - - settings { - region = {$plugin.tx_bdptemplate.config.region} - regionlogo = {$plugin.tx_bdptemplate.config.regionBranding} - search = {$plugin.tx_bdptemplate.page.search} - languages { - menu = {$plugin.tx_bdptemplate.languages.menu} - } - } - extbase.pluginName = bdp_template - extbase.controllerExtensionName = bdp_template - } -} \ No newline at end of file diff --git a/Configuration/TypoScript/Setup/tt_content.typoscript b/Configuration/TypoScript/Setup/tt_content.typoscript deleted file mode 100644 index fec34ed..0000000 --- a/Configuration/TypoScript/Setup/tt_content.typoscript +++ /dev/null @@ -1,60 +0,0 @@ -tt_content.stdWrap.innerWrap.cObject = CASE -tt_content.stdWrap.innerWrap.cObject { - key.field = layout - default = TEXT - default.value =
    |
    - 1 = TEXT - 1.value =
    |
    - 2 = TEXT - 2.value =
    |
    - 3 = TEXT - 3.value =
    |
    - 4 = TEXT - 4.value =
    |
    - 5 = TEXT - 5.value =
    |
    - 6 = TEXT - 6.value =
    |
    - 7 = TEXT - 7.value = | -} - -lib.fluidContent.settings.media.popup { - JSwindow = 0 - directImageLink = 1 - linkParams.ATagParams { - dataWrap = class="lightbox" - } -} - -tt_content.uploads { - 20.renderObj.wrap.cObject.20.value =
    |
    - 20.renderObj.20.wrap =

    |

    - - 20.renderObj { - 40 > - 50 = COA - 50.wrap = - 50.5 = TEXT - 50.5 { - data = file:current:extension - case = upper - wrap = |,  - } - 50.10 = TEXT - 50.10 { - data = file:current:size - wrap = | - bytes = 1 - bytes.labels = {$styles.content.uploads.filesizeBytesLabels} - } - 50.20 = TEXT - 50.20 { - value = Herunterladen  - wrap = | - typolink < tt_content.uploads.20.renderObj.10.stdWrap.typolink - } - - } - 20.stdWrap.dataWrap =
    |
    -} diff --git a/Configuration/TypoScript/constants.typoscript b/Configuration/TypoScript/constants.typoscript index 38b4b24..bde80c6 100644 --- a/Configuration/TypoScript/constants.typoscript +++ b/Configuration/TypoScript/constants.typoscript @@ -1 +1,60 @@ - +###################### +#### DEPENDENCIES #### +###################### + + + +############################## +#### FLUID STYLED CONTENT #### +############################## +styles { + templates { + layoutRootPath = EXT:bdp_template/Resources/Private/Layouts/ContentElements/ + partialRootPath = EXT:bdp_template/Resources/Private/Partials/ContentElements/ + templateRootPath = EXT:bdp_template/Resources/Private/Templates/ContentElements/ + } +} + + +############ +### PAGE ### +############ +page { + fluidtemplate { + layoutRootPath = EXT:bdp_template/Resources/Private/Layouts/Page/ + partialRootPath = EXT:bdp_template/Resources/Private/Partials/Page/ + templateRootPath = EXT:bdp_template/Resources/Private/Templates/Page/ + } + meta { + description = + author = + keywords = + viewport = width=device-width, initial-scale=1 + robots = index,follow + apple-mobile-web-app-capable = no + compatible = IE=edge + } + config { + sideNavigationPid = 7 + } +} + + +############## +### CONFIG ### +############## +config { + no_cache = 0 + removeDefaultJS = 1 + admPanel = 1 + prefixLocalAnchors = all + headerComment = Bund der Pfadfinderinnen und Pfadfinder e. V. - Arbeitskreis Öffentlichkeitsarbeit + sendCacheHeaders = 0 +} + +plugin.tx_typo3encore { + settings { + entrypointJsonPath = EXT:bdp_template/Resources/Public/build/entrypoints.json + manifestJsonPath = EXT:bdp_template/Resources/Public/build/manifest.json + } +} diff --git a/Configuration/TypoScript/setup.typoscript b/Configuration/TypoScript/setup.typoscript index 5a49dc7..082ed95 100644 --- a/Configuration/TypoScript/setup.typoscript +++ b/Configuration/TypoScript/setup.typoscript @@ -1,3 +1,239 @@ - - - +###################### +#### DEPENDENCIES #### +###################### + + + + +################ +#### HELPER #### +################ + + + +############## +#### PAGE #### +############## +page = PAGE +page { + typeNum = 0 + shortcutIcon = EXT:bdp_template/Resources/Public/Icons/favicon.ico + + 10 = FLUIDTEMPLATE + 10 { + # Template names will be generated automatically by converting the applied + # backend_layout, there is no explicit mapping necessary anymore. + # + # BackendLayout Key + # subnavigation_right_2_columns -> SubnavigationRight2Columns.html + # + # Backend Record + # uid: 1 -> 1.html + # + # Database Entry + # value: -1 -> None.html + # value: pagets__subnavigation_right_2_columns -> SubnavigationRight2Columns.html + templateName = TEXT + templateName { + cObject = TEXT + cObject { + data = pagelayout + required = 1 + case = uppercamelcase + split { + token = pagets__ + cObjNum = 1 + 1.current = 1 + } + } + ifEmpty = Default + } + templateRootPaths { + 0 = EXT:bdp_template/Resources/Private/Templates/Page/ + 1 = {$page.fluidtemplate.templateRootPath} + } + partialRootPaths { + 0 = EXT:bdp_template/Resources/Private/Partials/Page/ + 1 = {$page.fluidtemplate.partialRootPath} + } + layoutRootPaths { + 0 = EXT:bdp_template/Resources/Private/Layouts/Page/ + 1 = {$page.fluidtemplate.layoutRootPath} + } + dataProcessing { + 10 = TYPO3\CMS\Frontend\DataProcessing\SiteProcessor + 10 { + as = site + } + + 20 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor + 20 { + levels = 2 + expandAll = 1 + includeSpacer = 0 + titleField = nav_title // title + as = mainNavigation + } + + 30 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor + 30 { + special = directory + special.value = {$page.config.sideNavigationPid} + levels = 3 + expandAll = 1 + includeSpacer = 1 + titleField = nav_title // title + as = sideNavigation + dataProcessing { + 10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor + 10 { + references.fieldName = media + } + } + } + + 50 = TYPO3\CMS\Frontend\DataProcessing\LanguageMenuProcessor + 50 { + languages = auto + as = languageNavigation + } + + 60 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor + 60 { + references.fieldName = media + } + } + } + + meta { + viewport = {$page.meta.viewport} + robots = {$page.meta.robots} + apple-mobile-web-app-capable = {$page.meta.apple-mobile-web-app-capable} + description = {$page.meta.description} + description { + override.field = description + } + author = {$page.meta.author} + author { + override.field = author + } + keywords = {$page.meta.keywords} + keywords { + override.field = keywords + } + X-UA-Compatible = {$page.meta.compatible} + X-UA-Compatible { + attribute = http-equiv + } + + # OpenGraph Tags + og:title { + attribute = property + field = title + } + og:site_name { + attribute = property + data = site:websiteTitle + } + og:description = {$page.meta.description} + og:description { + attribute = property + field = description + } + og:image { + attribute = property + stdWrap.cObject = FILES + stdWrap.cObject { + references { + data = levelfield:-1, media, slide + } + maxItems = 1 + renderObj = COA + renderObj { + 10 = IMG_RESOURCE + 10 { + file { + import.data = file:current:uid + treatIdAsReference = 1 + width = 1280c + height = 720c + } + stdWrap { + typolink { + parameter.data = TSFE:lastImgResourceInfo|3 + returnLast = url + forceAbsoluteUrl = 1 + } + } + } + } + } + } + } + + includeCSSLibs { + + } + + includeCSS { + bdptemplate_layout = typo3_encore:pfadfinden + } + + includeJSLibs { + + } + + includeJS { + + } + + includeJSFooterlibs { + + } + + includeJSFooter { + bdptemplate_layout = typo3_encore:pfadfinden + } +} + + +################ +#### CONFIG #### +################ +config { + absRefPrefix = auto + no_cache = {$config.no_cache} + uniqueLinkVars = 1 + pageTitleFirst = 1 + pageTitleSeparator = | + pageTitleSeparator.noTrimWrap = | | | + linkVars = L(0) + prefixLocalAnchors = {$config.prefixLocalAnchors} + renderCharset = utf-8 + metaCharset = utf-8 + doctype = html5 + removeDefaultJS = {$config.removeDefaultJS} + inlineStyle2TempFile = 1 + admPanel = {$config.admPanel} + debug = 0 + cache_period = 86400 + sendCacheHeaders = {$config.sendCacheHeaders} + intTarget = + extTarget = + disablePrefixComment = 1 + index_enable = 1 + index_externals = 1 + index_metatags = 1 + headerComment = {$config.headerComment} + + // Disable Image Upscaling + noScaleUp = 1 + + // Compression and Concatenation of CSS and JS Files + compressJs = 0 + compressCss = 0 + concatenateJs = 0 + concatenateCss = 0 +} + +plugin.tx_frontend._CSS_DEFAULT_STYLE > diff --git a/README.md b/README.md index 64293ec..0053e17 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,4 @@ -# Bund der Pfadfinderinnen und Pfadfinder - TYPO3 Template +Sitepackage for the project "bdp_emplate" +============================================================== -v3.0.0-stable - -BdP Webseiten Layout als Extension für das Content Management System TYPO3 - -**Abhängigkeiten** - -| Anwendung | Version | Optional | Bemerkung | -| ------------------------- | -------------- | -------- | --------- | -| TYPO3 CMS | 8.7.17 - 8.7.xx | nein | | -| EXT extbase | 8.7.17 - 8.7.99 | nein | | -| EXT fluid | 8.7.17 - 8.7.99 | nein | | -| EXT fluid_styled_content | 8.7.17 - 8.7.99 | nein | | -| EXT news | 7.0.5 - 7.99.99 | nein | | -| EXT gridelements | 8.2.1 - 8.99.99 | nein | | -| EXT realurl | 2.4.0 - 2.99.99 | ja | | -| EXT cal | 1.11.1 - 1.99.99 | nein | | -| EXT tt_address | 3.2.3 - 3.99.99 | ja | | -| EXT mindshape_cookie_hint | 1.0.13 | ja | | - -## Dokumentation - -Die Dokumentation inklusive der Installationsanleitung findest du im [Wiki](https://github.com/pfadfinden/bdp_template/wiki) +Add some explanation here. diff --git a/Resources/Private/.htaccess b/Resources/Private/.htaccess index 8d2f256..93169e4 100644 --- a/Resources/Private/.htaccess +++ b/Resources/Private/.htaccess @@ -1 +1,2 @@ -deny from all +Order deny,allow +Deny from all diff --git a/Resources/Private/BackendLayouts/onecolum.ts b/Resources/Private/BackendLayouts/onecolum.ts deleted file mode 100644 index 5a706ef..0000000 --- a/Resources/Private/BackendLayouts/onecolum.ts +++ /dev/null @@ -1,14 +0,0 @@ -backend_layout { - colCount = 1 - rowCount = 1 - rows { - 1 { - columns { - 1 { - name = Inhalt - colPos = 0 - } - } - } - } -} \ No newline at end of file diff --git a/Resources/Private/BackendLayouts/twocolums.ts b/Resources/Private/BackendLayouts/twocolums.ts deleted file mode 100644 index ad0253f..0000000 --- a/Resources/Private/BackendLayouts/twocolums.ts +++ /dev/null @@ -1,20 +0,0 @@ -backend_layout { - colCount = 4 - rowCount = 1 - rows { - 1 { - columns { - 1 { - name = Inhalt - colPos = 0 - colspan = 3 - } - 2 { - name = Zusatzmenü - colPos = 3 - colspan = 1 - } - } - } - } -} diff --git a/Resources/Private/Extensions/address/Templates/default_hcard.htm b/Resources/Private/Extensions/address/Templates/default_hcard.htm deleted file mode 100644 index 81accdc..0000000 --- a/Resources/Private/Extensions/address/Templates/default_hcard.htm +++ /dev/null @@ -1,59 +0,0 @@ - - - - Address Example Template - - - - - - -
    -###IMAGE### - -###FIRSTNAME### ###MIDDLENAME### ###LASTNAME### - -###ORGANIZATION### -###EMAIL### - -
    -###ADDRESS### -###CITY### ###REGION### ###ZIP### ###COUNTRY### -
    - -###PHONE### -
    - - - - \ No newline at end of file diff --git a/Resources/Private/Extensions/address/Templates/landesverbaende.htm b/Resources/Private/Extensions/address/Templates/landesverbaende.htm deleted file mode 100644 index 529ae52..0000000 --- a/Resources/Private/Extensions/address/Templates/landesverbaende.htm +++ /dev/null @@ -1,33 +0,0 @@ - - - - Landesverbaende Template - - - - -
    -
    - -

    ###LASTNAME###

    - - -

    - ###ORGANIZATION### - ###ADDRESS### - ###ZIP### ###CITY### -

    - -

    - ###PHONE### - ###FAX### -

    - ###EMAIL### - ###WWW### -

    -
    -
    - - - - \ No newline at end of file diff --git a/Resources/Private/Extensions/address/Templates/mitarbeitende.html b/Resources/Private/Extensions/address/Templates/mitarbeitende.html deleted file mode 100644 index d1533fb..0000000 --- a/Resources/Private/Extensions/address/Templates/mitarbeitende.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - Mitarbeitende Template - - - - - - -
    -
    - ###IMAGE### -
    - ###FIRSTNAME### ###MIDDLENAME### ###LASTNAME### - ###TITLE### -

    ###EMAIL### ###PHONE###

    - ###DESCRIPTION### -
    -
    -
    - - - \ No newline at end of file diff --git a/Resources/Private/Extensions/cal/Templates/Partials/Event/event.html b/Resources/Private/Extensions/cal/Templates/Partials/Event/event.html deleted file mode 100644 index caf4ca0..0000000 --- a/Resources/Private/Extensions/cal/Templates/Partials/Event/event.html +++ /dev/null @@ -1,73 +0,0 @@ -

    {event.title}

    - - {category.title} - -
    -
    - -
    -
    -
    -
    {event.description}
    -
    - -

    - - - - - @{event.start.time} -
    : @{event.end.time} - - - @{event.start.time} - - - - - - - @{event.start.time} - @{event.end.time} - - - @{event.start.time} - - - - - - - -

    - {event.organizerObject.name} -
    - - -

    - {event.organizer} -
    -
    -
    - - -

    - {event.locationObject.title} -
    - - -

    - {event.location} -
    -
    -
    - - -

    -
      - -
    • {attachment.originalFile.name}
    • -
      -
    -
    - -

    -
    \ No newline at end of file diff --git a/Resources/Private/Extensions/cal/Templates/Partials/List/event.html b/Resources/Private/Extensions/cal/Templates/Partials/List/event.html deleted file mode 100644 index aa29e91..0000000 --- a/Resources/Private/Extensions/cal/Templates/Partials/List/event.html +++ /dev/null @@ -1,14 +0,0 @@ -
    -
    - @{event.start.time} - - @{event.start.time} - -
    -
    - {event.title} {event.locationObject.city} -
    -
    \ No newline at end of file diff --git a/Resources/Private/Extensions/cal/Templates/defaultList.tmpl b/Resources/Private/Extensions/cal/Templates/defaultList.tmpl deleted file mode 100644 index ce7aef3..0000000 --- a/Resources/Private/Extensions/cal/Templates/defaultList.tmpl +++ /dev/null @@ -1,42 +0,0 @@ - - -

    -
    --- Event ---
    - - - -

    -
    --- Week ---
    - - - -

    -
    --- Month ---
    - - - - - -

    -###PAGEOF### ###PAGES### ###PREVIOUS### ###NEXT### -

    - - -
    -
    - - - - -
    -
    - - -

    -###PAGEOF### ###PAGES### ###PREVIOUS### ###NEXT### -

    - - -###CREATE_EVENT_LINK### - - \ No newline at end of file diff --git a/Resources/Private/Extensions/cal/Templates/event.html b/Resources/Private/Extensions/cal/Templates/event.html deleted file mode 100644 index e202cef..0000000 --- a/Resources/Private/Extensions/cal/Templates/event.html +++ /dev/null @@ -1,22 +0,0 @@ -
    - - - -
    - - -
    - - - - - - - - - -
    -
    - \ No newline at end of file diff --git a/Resources/Private/Extensions/cal/Templates/event.tmpl b/Resources/Private/Extensions/cal/Templates/event.tmpl deleted file mode 100644 index 12cad8b..0000000 --- a/Resources/Private/Extensions/cal/Templates/event.tmpl +++ /dev/null @@ -1,14 +0,0 @@ -
    - - -

    ###L_LOCATION_RELATEDEVENTS###

    - -
    - - - - -
    - - - \ No newline at end of file diff --git a/Resources/Private/Extensions/cal/Templates/event_model.tmpl b/Resources/Private/Extensions/cal/Templates/event_model.tmpl deleted file mode 100644 index 9607b30..0000000 --- a/Resources/Private/Extensions/cal/Templates/event_model.tmpl +++ /dev/null @@ -1,542 +0,0 @@ - - - -Calendar event example template - - - - -

    CALENDAR EVENT TEMPLATE

    - -

    This template contains the subparts for the event rendering in each view, like: event,day,week,month,year,ics,rss,preview,tomorrow,location,organizer,fnb,day_fnb,week_fnb,month_fnb,year_fnb. -The subparts are additionally divided into the normal and an _ALLDAY subpart, to distinguish between both of them.

    -

    In general you can use any marker inside these subparts. Our logic will: -

      -
    1. try to find an appropriate function to execute
    2. -
    3. try to find an according value in the data record
    4. -
    5. try to find a typoscript entry to use
    6. -
    -

    -Example: ###TEST###
    -Typoscript:
    -plugin.tx_cal_controller {
    -view.event.event.test = TEXT
    -view.event.event.test {
    -value = HelloWorld
    -}
    -
      -
    1. there is no function: getTestMarker()
    2. -
    3. there is no key 'test' in the database columns for events
    4. -
    5. found typoscript!!
    6. -
    -

    Result: The marker ###TEST### will get replaced in the event view with 'HelloWorld'. In all other views the marker will be replaced with an empty string ('')

    - -
    -
    -
    -

    TEMPLATE_PHPICALENDAR_EVENT

    -This is the template for the standard calendar event. -
    - - -

    ###TITLE###

    - -###EDIT_LINK### - -
    -
    -
    -

    Zeit

    - ###STARTDATE### - ###ENDDATE### - ###STARTTIME### - ###ENDTIME### -
    - - ###LOCATION### - - ###ORGANIZER### - -
    - -
    - ###DESCRIPTION### -
    - -
    - -###STATUS### ###PRIORITY### ###COMPLETED### -###IMAGE### -###ATTACHMENT### -###ATTENDEE### - -###MORE_LINK### - - - -
    - -If you are logged in, you can set up monitoring for this event. - - -

    ###NOTLOGGEDIN_NOMONITORING_HEADING###

    -###L_CAPTCHA_START_SUCCESS### -
    -###L_ENTER_EMAIL### -

    -###L_CAPTCHA_TEXT###
    -###CAPTCHA_TEXT###    -###CAPTCHA_SRC###
    - -
    - - -

    ###NOTLOGGEDIN_MONITORING_HEADING###

    -###L_CAPTCHA_STOP_SUCCESS### -
    -###L_ENTER_EMAIL### -

    -###L_CAPTCHA_TEXT###
    -###CAPTCHA_TEXT###    -###CAPTCHA_SRC###
    - -
    - - -
    -Do you want to be notified, on event changes? -
    - - -
    -Stop monitoring this event? -
    - - -
    - - - - -
    - - ###TITLE### - ###FREQ### - -
    - - - - -
    -
    - - ###TITLE### - ###FREQ### - -
    -
    - - - - -
    - -
    -
    ###STARTTIME###-###ENDTIME###
    -
    - ###TITLE### - ###LOCATION### -
    -
    - -
    - - - -
    - -
    -
    ###STARTTIME###-###ENDTIME###
    -
    - ###TITLE### - ###LOCATION### -
    -
    - -
    - - - - -
    -
    - - ###TITLE### - ###FREQ### - -
    -
    - - - -
    - - - ###STARTTIME### - ###TITLE### - ###FREQ### - - ###EDIT_LINK### - -
    - - - -
    - - - - - - ###TITLE### - ###FREQ### - - - ###EDIT_LINK### -
    - - - - - - - - - - - -
  • ###TITLE###
  • - - - -
  • ###TITLE###
  • - - - -

    ###HEADING###

    -###EDIT_LINK### - -###TITLE### -###STARTDATE### -###ENDDATE### -###STARTTIME### -###ENDTIME### -###DESCRIPTION### -###MORE_LINK### - - - - -
    ###TITLE###
    - - - -
    ###STARTDATE### ###TITLE### - - - -
    ###STARTDATE### ###TITLE### - - - -
    -
    ###STARTDATE### ###STARTTIME###
    -
    ###TITLE###
    -
    - - -
    -
    ###STARTDATE### ###STARTTIME###
    -
    ###TITLE###
    -
    - - - -
    -
    ###STARTDATE######ENDDATE###
    -
    ###TITLE###
    -
    - - -
    -
    ###STARTDATE######ENDDATE###
    -
    ###TITLE###
    -
    - - - -
    - ###STARTDATE### ###TITLE### -
    - - -
    - ###STARTDATE### ###TITLE### -
    - - -
    - ###STARTDATE### ###TITLE### -
    - - -
    - ###STARTDATE### ###TITLE### -
    - - -
    - ###STARTDATE### ###TITLE### -
    - - -
    - ###STARTDATE### ###TITLE### -
    - - -
    - ###STARTDATE### ###TITLE### -
    - - -
    - ###STARTDATE### ###TITLE### -
    - - -
    - ###REL_STARTDATE### ###REL_TITLE### -
    - - -
    - ###REL_STARTDATE### ###REL_TITLE### -
    - - -
    - ###REL_STARTDATE### ###REL_TITLE### -
    - - -
    - ###REL_STARTDATE### ###REL_TITLE### -
    - - - - - - ###TITLE### - ###EVENT_URL### - ###GUID### - ###CRDATE### - - ###MORE_LABEL### - ]]> - - ###MORE_LABEL### -
    - ]]> -
    -
    - - - - ###TITLE### - ###EVENT_URL### - ###GUID### - ###CRDATE### - - ###MORE_LABEL### - ]]> - - ###MORE_LABEL### -
    - ]]> -
    -
    - - - -BEGIN:VEVENT -UID:###GUID### -###DTSTAMP### -###DTSTART_YEAR_MONTH_DAY_HOUR_MINUTE### -###DTEND_YEAR_MONTH_DAY_HOUR_MINUTE### -###CATEGORY### -###TITLE### -###DESCRIPTION### -###LOCATION### -###RRULE### -###RDATE### -###EXDATE### -###EXRULE### -###ORGANIZER### -###ATTENDEE### -END:VEVENT - - -BEGIN:VEVENT -UID:###GUID### -###DTSTAMP### -###DTSTART_YEAR_MONTH_DAY_HOUR_MINUTE### -###DTEND_YEAR_MONTH_DAY_HOUR_MINUTE### -###CATEGORY### -###TITLE### -###DESCRIPTION### -###LOCATION### -###RRULE### -###RDATE### -###EXDATE### -###EXRULE### -###ORGANIZER### -###ATTENDEE### -END:VEVENT - - -Free And Busy views: - - - -###STARTDATE### -###ENDDATE### -###STARTTIME### -###ENDTIME### -###CALENDAR_TITLE### - - - - -###STARTDATE### -###ENDDATE### -###CALENDAR_TITLE### - - - - -
    -
    - ###CALENDAR_TITLE### -
    -
    - - - - -
    -
    -
    ###STARTTIME###-###ENDTIME###
    -
    - ###CALENDAR_TITLE### -
    -
    -
    - - - -
    -
    -
    ###STARTTIME###-###ENDTIME###
    -
    - ###CALENDAR_TITLE### -
    -
    -
    - - - - -
    - ###CALENDAR_TITLE### -
    -
    - - - -
    - - ###STARTTIME### - ###CALENDAR_TITLE### - -
    - - - -
    - - ###STARTDATE### - ###CALENDAR_TITLE### - -
    - - - -

    - - - -
    -
    ###STARTDATE### ###STARTTIME###
    -
    ###CALENDAR_TITLE###
    -
    - - -
    -
    ###STARTDATE### ###STARTTIME###
    -
    ###CALENDAR_TITLE###
    -
    - - - -
    -
    ###STARTDATE###
    -
    ###CALENDAR_TITLE###
    -
    - - -
    -
    ###STARTDATE###
    -
    ###CALENDAR_TITLE###
    -
    - - - - \ No newline at end of file diff --git a/Resources/Private/Extensions/cal/Templates/event_model_startpage.tmpl b/Resources/Private/Extensions/cal/Templates/event_model_startpage.tmpl deleted file mode 100644 index bb923ef..0000000 --- a/Resources/Private/Extensions/cal/Templates/event_model_startpage.tmpl +++ /dev/null @@ -1,25 +0,0 @@ - -
    -
    ###STARTDATE###
    -
    ###TITLE###
    -
    - - -
    -
    ###STARTDATE###
    -
    ###TITLE###
    -
    - - - -
    -
    ###STARTDATE###
    -
    ###TITLE######LOCATION###
    -
    - - -
    -
    ###STARTDATE###
    -
    ###TITLE######LOCATION###
    -
    - \ No newline at end of file diff --git a/Resources/Private/Extensions/cal/Templates/ics.tmpl b/Resources/Private/Extensions/cal/Templates/ics.tmpl deleted file mode 100644 index 6a99b9d..0000000 --- a/Resources/Private/Extensions/cal/Templates/ics.tmpl +++ /dev/null @@ -1,8 +0,0 @@ -BEGIN:VCALENDAR -VERSION:2.0 -PRODID:-//TYPO3/NONSGML Calendar Base (cal) V###CAL_VERSION###//EN -METHOD:###METHOD### -###TIMEZONE### - - -END:VCALENDAR diff --git a/Resources/Private/Extensions/cal/Templates/list.html b/Resources/Private/Extensions/cal/Templates/list.html deleted file mode 100644 index ae2f62d..0000000 --- a/Resources/Private/Extensions/cal/Templates/list.html +++ /dev/null @@ -1,23 +0,0 @@ -{namespace cal=Tx_Cal_ViewHelpers} - -
    - - -
    - - - - - - - - - -
    -
    - - - -
    -
    \ No newline at end of file diff --git a/Resources/Private/Extensions/cal/Templates/list.tmpl b/Resources/Private/Extensions/cal/Templates/list.tmpl deleted file mode 100644 index fdfe74a..0000000 --- a/Resources/Private/Extensions/cal/Templates/list.tmpl +++ /dev/null @@ -1,45 +0,0 @@ - - -

    -
    --- Event ---
    - - - -

    -
    --- Week ---
    - - - -

    -
    --- Month ---
    - Neuer Monat - - - - -
    - -

    -###PAGEOF### ###PAGES### ###PREVIOUS### ###NEXT### -

    - - - - - - -

    -###PAGEOF### ###PAGES### ###PREVIOUS### ###NEXT### -

    - - -###CREATE_EVENT_LINK### -
    - - diff --git a/Resources/Private/Extensions/cal/Templates/location.tmpl b/Resources/Private/Extensions/cal/Templates/location.tmpl deleted file mode 100644 index 4743a6d..0000000 --- a/Resources/Private/Extensions/cal/Templates/location.tmpl +++ /dev/null @@ -1,19 +0,0 @@ - -
    - - -
    -

    Veranstaltungen an diesem Ort

    - -
    - - - - -
    - -
    - - - - \ No newline at end of file diff --git a/Resources/Private/Extensions/cal/Templates/location_model.tmpl b/Resources/Private/Extensions/cal/Templates/location_model.tmpl deleted file mode 100644 index 5ab10b5..0000000 --- a/Resources/Private/Extensions/cal/Templates/location_model.tmpl +++ /dev/null @@ -1,108 +0,0 @@ - - -

    ###NAME###

    - -###EDIT_LINK### - -
    -
    -
    -

    Anschrift

    -

    ###STREET### -###ZIP### -###CITY### -###COUNTRYZONE### -###COUNTRY###

    -
    -
    -
    -
    -

    Kontakt

    -

    ###PHONE### -###FAX### -###LINK### -###EMAIL###

    -
    - -
    - -
    -
    -###DESCRIPTION### -
    -
    -###MAP### -
    - -###IMAGE### - - - -
  • -
    - ###NAME_LABEL###: ###NAME### -
    - -
    -
    ###STREET###
    - ###ZIP### - ###CITY### - ###COUNTRYZONE### -
    ###COUNTRY###
    - ###EVENT_LINK### -
    -
  • - - -
  • -
    - ###NAME_LABEL###: ###NAME### -
    - -
    -
    ###STREET###
    - ###ZIP### - ###CITY### - ###COUNTRYZONE### -
    ###COUNTRY###
    - ###EVENT_LINK### -
    -
  • - - - -
  • -
    - ###NAME_LABEL###: ###NAME### -
    - -
    -
    ###STREET###
    - ###ZIP### - ###CITY### - ###COUNTRYZONE### -
    ###COUNTRY###
    - ###EVENT_LINK### -
    -
  • - - -
  • -
    - ###NAME_LABEL###: ###NAME### -
    - -
    -
    ###STREET###
    - ###ZIP### - ###CITY### - ###COUNTRYZONE### -
    ###COUNTRY###
    - ###EVENT_LINK### -
    -
  • - - - - - \ No newline at end of file diff --git a/Resources/Private/Extensions/fluid_styled_content/Partials/Header/Header.html b/Resources/Private/Extensions/fluid_styled_content/Partials/Header/Header.html deleted file mode 100644 index 1d90b75..0000000 --- a/Resources/Private/Extensions/fluid_styled_content/Partials/Header/Header.html +++ /dev/null @@ -1,63 +0,0 @@ - - - - -

    - {header} -

    -
    - -

    - {header} -

    -
    - -

    - {header} -

    -
    - -

    - {header} -

    -
    - -
    - {header} -
    -
    - -
    - {header} -
    -
    - -

    - {header} -

    -
    - -

    - {header} -

    -
    - -

    - {header} -

    -
    - - -- do not show header -- - - - - - - -
    -
    - \ No newline at end of file diff --git a/Resources/Private/Extensions/news/Layouts/Detail.html b/Resources/Private/Extensions/news/Layouts/Detail.html deleted file mode 100644 index 9cc5c92..0000000 --- a/Resources/Private/Extensions/news/Layouts/Detail.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - -
    -
    - -
    -
    - \ No newline at end of file diff --git a/Resources/Private/Extensions/news/Partials/Detail/MediaContainer.html b/Resources/Private/Extensions/news/Partials/Detail/MediaContainer.html deleted file mode 100644 index a57edc6..0000000 --- a/Resources/Private/Extensions/news/Partials/Detail/MediaContainer.html +++ /dev/null @@ -1,24 +0,0 @@ - - - -
    - - -
    -
    - - - - - - - - - -
    -
    -
    -
    -
    -
    - \ No newline at end of file diff --git a/Resources/Private/Extensions/news/Partials/Detail/MediaImage.html b/Resources/Private/Extensions/news/Partials/Detail/MediaImage.html deleted file mode 100644 index 833e291..0000000 --- a/Resources/Private/Extensions/news/Partials/Detail/MediaImage.html +++ /dev/null @@ -1,49 +0,0 @@ - - -
    - - - - - - - - - - - - - - - - - - - - - - -
    -

    - {mediaElement.description} -

    -
    -
    -
    - \ No newline at end of file diff --git a/Resources/Private/Extensions/news/Partials/Detail/Opengraph.html b/Resources/Private/Extensions/news/Partials/Detail/Opengraph.html deleted file mode 100644 index 6b11ac5..0000000 --- a/Resources/Private/Extensions/news/Partials/Detail/Opengraph.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Resources/Private/Extensions/news/Partials/List/Item.html b/Resources/Private/Extensions/news/Partials/List/Item.html deleted file mode 100644 index 16b4179..0000000 --- a/Resources/Private/Extensions/news/Partials/List/Item.html +++ /dev/null @@ -1,95 +0,0 @@ - - -
    - -
    - - - - - - - - - - - - - - - - -
    - {newsItem.title} - -
    -
    - - - - - - - - -
    - - {newsItem.title} - -
    -
    - -
    - - {newsItem.title} - -
    -
    -
    -
    -
    -
    - -
    - - - - - - - - -
    {newsItem.teaser -> f:format.crop(maxCharacters: - '{settings.cropMaxCharacters}', respectWordBoundaries:'1') -> f:format.html()} -
    -
    - -
    {newsItem.bodytext -> f:format.crop(maxCharacters: - '{settings.cropMaxCharacters}', respectWordBoundaries:'1') -> f:format.html()} -
    -
    -
    -
    -
    -
    - \ No newline at end of file diff --git a/Resources/Private/Extensions/news/Templates/News/Detail.html b/Resources/Private/Extensions/news/Templates/News/Detail.html deleted file mode 100644 index 75f05b1..0000000 --- a/Resources/Private/Extensions/news/Templates/News/Detail.html +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - - - - - - - - - {newsItem.alternativeTitle} - - - - - {newsItem.title} - - - - - - - - -
      - - - - - - -
    -
    -
    -
    -
    -

    {newsItem.title}

    -
    -
    - - - - - - - - - - - - - - - - - -
    -

    - - - - -

    -
    - - - - -
    - {newsItem.teaser} -
    -
    - - - - {newsItem.contentElementIdList} - - - -
    - {newsItem.bodytext} -
    -
    - - - - - - - - - Care about the privacy of your readers? - Checkout https://typo3.org/extensions/repository/view/rx_shariff - and it will be used automatically! - - - - - - - -
    - -
    - - - -
    - -
    - - - -
    -
    - \ No newline at end of file diff --git a/Resources/Private/Extensions/news/Templates/News/List.html b/Resources/Private/Extensions/news/Templates/News/List.html deleted file mode 100644 index 337f86e..0000000 --- a/Resources/Private/Extensions/news/Templates/News/List.html +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - -
    -
    - -
    -
    - -
    -
    -
    -
    -
    -
    - - -
    -
    - -
    -
    - -
    -
    -
    -
    -
    -
    -
    -
    - -
    - -
    - -
    -
    -
    - - - - -
    - \ No newline at end of file diff --git a/Resources/Private/Language/BackendLayouts.xlf b/Resources/Private/Language/BackendLayouts.xlf deleted file mode 100644 index b97dcdd..0000000 --- a/Resources/Private/Language/BackendLayouts.xlf +++ /dev/null @@ -1,14 +0,0 @@ - - - -
    - - - BdP Layout 1-spaltig - - - BdP Layout 2-spaltig - - - - \ No newline at end of file diff --git a/Resources/Private/Language/en.locallang.xlf b/Resources/Private/Language/en.locallang.xlf deleted file mode 100644 index 79c333f..0000000 --- a/Resources/Private/Language/en.locallang.xlf +++ /dev/null @@ -1,30 +0,0 @@ - - - -
    - - - International - International - - - German - - - English - - - Impressum - Legal Notice - - - Datenschutzerklärung - Privacy policy - - - Suche - Search - - - - \ No newline at end of file diff --git a/Resources/Private/Language/locallang.xlf b/Resources/Private/Language/locallang.xlf index a418766..8b71066 100644 --- a/Resources/Private/Language/locallang.xlf +++ b/Resources/Private/Language/locallang.xlf @@ -1,26 +1,11 @@ - + - -
    + +
    + Christian Schrebe + christian.schrebe@pfadfinden.de +
    - - International - - - Deutsch - - - Englisch - - - Impressum - - - Datenschutzerklärung - - - Suche -
    - \ No newline at end of file + diff --git a/Resources/Private/Language/locallang_be.xlf b/Resources/Private/Language/locallang_be.xlf new file mode 100644 index 0000000..e2a8d50 --- /dev/null +++ b/Resources/Private/Language/locallang_be.xlf @@ -0,0 +1,17 @@ + + + +
    + Christian Schrebe + christian.schrebe@pfadfinden.de +
    + + + Default + + + Normal + + +
    +
    diff --git a/Resources/Private/Language/locallang_db.xlf b/Resources/Private/Language/locallang_db.xlf new file mode 100644 index 0000000..8b71066 --- /dev/null +++ b/Resources/Private/Language/locallang_db.xlf @@ -0,0 +1,11 @@ + + + +
    + Christian Schrebe + christian.schrebe@pfadfinden.de +
    + + +
    +
    diff --git a/Resources/Private/Layouts/ContentElements/.gitkeep b/Resources/Private/Layouts/ContentElements/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Resources/Private/Layouts/ContentElements/.gitkeep @@ -0,0 +1 @@ + diff --git a/Resources/Private/Layouts/ContentElements/Default.html b/Resources/Private/Layouts/ContentElements/Default.html new file mode 100644 index 0000000..7afc6d1 --- /dev/null +++ b/Resources/Private/Layouts/ContentElements/Default.html @@ -0,0 +1,53 @@ + + + + +
    + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + +
    +
    + + + + + + + + + + + + + + +
    +
    + +
    +
    + diff --git a/Resources/Private/Layouts/DefaultLayout.html b/Resources/Private/Layouts/DefaultLayout.html deleted file mode 100644 index 3f09b17..0000000 --- a/Resources/Private/Layouts/DefaultLayout.html +++ /dev/null @@ -1,41 +0,0 @@ -
    - -
    - - -
    - -
    diff --git a/Resources/Private/Layouts/Page/Default.html b/Resources/Private/Layouts/Page/Default.html new file mode 100644 index 0000000..a980cb8 --- /dev/null +++ b/Resources/Private/Layouts/Page/Default.html @@ -0,0 +1,15 @@ + +
    + + +
    +
    + +
    +
    + +
    +
    diff --git a/Resources/Private/Layouts/Page/HeaderWithOneColumn.html b/Resources/Private/Layouts/Page/HeaderWithOneColumn.html new file mode 100644 index 0000000..957e7b6 --- /dev/null +++ b/Resources/Private/Layouts/Page/HeaderWithOneColumn.html @@ -0,0 +1,19 @@ + +
    + + + +
    +
    + +
    +
    + +
    +
    + +
    +
    diff --git a/Resources/Private/Partials/ContentElements/.gitkeep b/Resources/Private/Partials/ContentElements/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Resources/Private/Partials/ContentElements/.gitkeep @@ -0,0 +1 @@ + diff --git a/Resources/Private/Partials/LanguageMenu.html b/Resources/Private/Partials/LanguageMenu.html deleted file mode 100644 index d76338f..0000000 --- a/Resources/Private/Partials/LanguageMenu.html +++ /dev/null @@ -1,6 +0,0 @@ - \ No newline at end of file diff --git a/Resources/Private/Partials/Nav-primary.html b/Resources/Private/Partials/Nav-primary.html deleted file mode 100644 index 4da2f7f..0000000 --- a/Resources/Private/Partials/Nav-primary.html +++ /dev/null @@ -1,16 +0,0 @@ - diff --git a/Resources/Private/Partials/Onecolum.html b/Resources/Private/Partials/Onecolum.html deleted file mode 100644 index 193cf4c..0000000 --- a/Resources/Private/Partials/Onecolum.html +++ /dev/null @@ -1,4 +0,0 @@ - -
    - {content} -
    diff --git a/Resources/Private/Partials/Page/.gitkeep b/Resources/Private/Partials/Page/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Resources/Private/Partials/Page/.gitkeep @@ -0,0 +1 @@ + diff --git a/Resources/Private/Partials/Page/Footer.html b/Resources/Private/Partials/Page/Footer.html new file mode 100644 index 0000000..7f90590 --- /dev/null +++ b/Resources/Private/Partials/Page/Footer.html @@ -0,0 +1,63 @@ + diff --git a/Resources/Private/Partials/Page/Header.html b/Resources/Private/Partials/Page/Header.html new file mode 100644 index 0000000..e388268 --- /dev/null +++ b/Resources/Private/Partials/Page/Header.html @@ -0,0 +1,33 @@ + + + diff --git a/Resources/Private/Partials/Page/MainNavigation.html b/Resources/Private/Partials/Page/MainNavigation.html new file mode 100644 index 0000000..2f0bcd3 --- /dev/null +++ b/Resources/Private/Partials/Page/MainNavigation.html @@ -0,0 +1,22 @@ + diff --git a/Resources/Private/Partials/Page/Navigation/LanguageNavigation.html b/Resources/Private/Partials/Page/Navigation/LanguageNavigation.html new file mode 100644 index 0000000..eae09ff --- /dev/null +++ b/Resources/Private/Partials/Page/Navigation/LanguageNavigation.html @@ -0,0 +1,29 @@ +
    + + +
    + {item.navigationTitle} +
    +
    +
    + +
    diff --git a/Resources/Private/Partials/Page/SideNavigation.html b/Resources/Private/Partials/Page/SideNavigation.html new file mode 100644 index 0000000..5327796 --- /dev/null +++ b/Resources/Private/Partials/Page/SideNavigation.html @@ -0,0 +1,33 @@ + diff --git a/Resources/Private/Partials/RegionBranding.html b/Resources/Private/Partials/RegionBranding.html deleted file mode 100644 index 91b52d1..0000000 --- a/Resources/Private/Partials/RegionBranding.html +++ /dev/null @@ -1,5 +0,0 @@ - \ No newline at end of file diff --git a/Resources/Private/Partials/Searchbox.html b/Resources/Private/Partials/Searchbox.html deleted file mode 100644 index 953a892..0000000 --- a/Resources/Private/Partials/Searchbox.html +++ /dev/null @@ -1,6 +0,0 @@ - \ No newline at end of file diff --git a/Resources/Private/Partials/Twocolums.html b/Resources/Private/Partials/Twocolums.html deleted file mode 100644 index 84ab3f3..0000000 --- a/Resources/Private/Partials/Twocolums.html +++ /dev/null @@ -1,5 +0,0 @@ - -
    - {content} - -
    diff --git a/Resources/Private/Source/Fonts/.gitkeep b/Resources/Private/Source/Fonts/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Resources/Private/Source/Fonts/.gitkeep @@ -0,0 +1 @@ + diff --git a/Resources/Private/Source/Images/BackendLayouts/default.png b/Resources/Private/Source/Images/BackendLayouts/default.png new file mode 100644 index 0000000000000000000000000000000000000000..0bed87019c8f61d46b9493157358054e2af23994 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^MnLSq!3HEFuBuc6saj7L$B>N1x3?X6TLMH_4jxZ? zT5x1PQ{RuD+D*PICg`zVW=f0BUR&At{>+(;^8W94Jl%8dr;Y8Sc&>{gi!@z=JC+If mD$a5;Y0V%};H~cVZu$S++?AJ4w7LNu!r=ES4z)+>iz|hdl!0_`wkbc3y5X8a2C>p`QU^ShAK|KF@l>7vs+DcCs$B>F!Z*Fho zZ7|?*Jt#k=P-F9d7R{T-*EF~=U)#&;SCs567aE#*!DmwGx_ISpTZ@-?Dj)-WY2UE2 x#b0-(O)7FVj6#;dVE0SK-qXti+WP-LGlQJGP}#GD)HgsbgQu&X%Q~loCIB6-K)C<_ literal 0 HcmV?d00001 diff --git a/Resources/Private/Source/Images/bundeszeichen.png b/Resources/Private/Source/Images/bundeszeichen.png new file mode 100644 index 0000000000000000000000000000000000000000..6e3b20cf0c78843e665704e9444434795e07cea1 GIT binary patch literal 39979 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 g{OSK*@c_4TVhd5vc^vS#7`2e=WI1^@s6 literal 0 HcmV?d00001 diff --git a/Resources/Private/Source/Images/holzhintergrund_1.jpg b/Resources/Private/Source/Images/holzhintergrund_1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f06cfa2f1724c90304c72ef92f6a78eb52ff48d4 GIT binary patch literal 27552 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 Rj}+eSpl-0yy6KT$|Jf3olz;#L literal 0 HcmV?d00001 diff --git a/Resources/Private/Source/Images/holzhintergrund_1.webp b/Resources/Private/Source/Images/holzhintergrund_1.webp new file mode 100644 index 0000000000000000000000000000000000000000..6e2e675a36d977e15cbf70f840bd7556750bd91d GIT binary patch literal 17694 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 literal 0 HcmV?d00001 diff --git a/Resources/Private/Source/JavaScript/main.js b/Resources/Private/Source/JavaScript/main.js new file mode 100644 index 0000000..c47761e --- /dev/null +++ b/Resources/Private/Source/JavaScript/main.js @@ -0,0 +1,14 @@ +/* + * Zentrum Pfadfinden v1.0.0 (https://www.pfadfinden.de) + * Copyright 2017-2020 Christian Schrebe + * Licensed under the GPL-2.0-or-later license + */ +// css +import '../Scss/layout.scss' + +// libs + + +// modules +import './modules/side-navigation.js' +import './modules/menu.js' diff --git a/Resources/Private/Source/JavaScript/modules/detectIE.js b/Resources/Private/Source/JavaScript/modules/detectIE.js new file mode 100644 index 0000000..88e51aa --- /dev/null +++ b/Resources/Private/Source/JavaScript/modules/detectIE.js @@ -0,0 +1,15 @@ +export function detectIE() { + const ua = window.navigator.userAgent; + // IE <= 10 + const msie = ua.indexOf('MSIE'); + if (msie > 0) { + return true; + } + // IE 11 + const trident = ua.indexOf('Trident/'); + if (trident > 0) { + return true; + } + // other browser + return false; +} diff --git a/Resources/Private/Source/JavaScript/modules/menu-mmenu.js b/Resources/Private/Source/JavaScript/modules/menu-mmenu.js new file mode 100644 index 0000000..f2cb636 --- /dev/null +++ b/Resources/Private/Source/JavaScript/modules/menu-mmenu.js @@ -0,0 +1,36 @@ +/*! + * mmenu.js + * mmenujs.com + * + * Copyright (c) Fred Heusschen + * frebsite.nl + * + * License: CC-BY-NC-4.0 + * http://creativecommons.org/licenses/by-nc/4.0/ + */ + +// Core +import Mmenu from 'mmenu-js/dist/core/oncanvas/mmenu.oncanvas'; + +// Core add-ons +import offcanvas from 'mmenu-js/dist/core/offcanvas/mmenu.offcanvas'; +import screenReader from 'mmenu-js/dist/core/screenreader/mmenu.screenreader'; +import scrollBugFix from 'mmenu-js/dist/core/scrollbugfix/mmenu.scrollbugfix'; + +// Add-ons +import keyboardNavigation from 'mmenu-js/dist/addons/keyboardnavigation/mmenu.keyboardnavigation'; + +import '@/Scss/7-components/_mmenu.scss'; + +Mmenu.addons = { + // Core add-ons + offcanvas, + screenReader, + scrollBugFix, + + // Add-ons + keyboardNavigation +}; + +// Export module +export default Mmenu; diff --git a/Resources/Private/Source/JavaScript/modules/menu.js b/Resources/Private/Source/JavaScript/modules/menu.js new file mode 100644 index 0000000..8918eb9 --- /dev/null +++ b/Resources/Private/Source/JavaScript/modules/menu.js @@ -0,0 +1,42 @@ +import Mmenu from "./menu-mmenu"; + +document.addEventListener( + "DOMContentLoaded", function () { + const mobileMenuToggler = document.getElementById('mobile-bdp-menu-toggler'); + const menu = new Mmenu("#pfadfinden-menu", { + "extensions": [ + "position-front", + "position-right", + "theme-black", + ], + navbar: { + title: " " + }, + }, + { + offCanvas: { + clone: true + } + }); + const api = menu.API; + mobileMenuToggler.setAttribute('aria-controls', menu.node.menu.id); + mobileMenuToggler.addEventListener( + 'click', function(event) { + const open = mobileMenuToggler.classList.contains('is-active'); + if (open) { + mobileMenuToggler.setAttribute('aria-expanded', 'false'); + mobileMenuToggler.classList.remove('mobile-bdp-menu-toggler--active'); + mobileMenuToggler.setAttribute('aria-label', mobileMenuToggler.dataset.open); + api.close(); + } else { + mobileMenuToggler.setAttribute('aria-expanded', 'true'); + mobileMenuToggler.setAttribute('aria-label', mobileMenuToggler.dataset.close); + mobileMenuToggler.classList.add('mobile-bdp-menu-toggler--active'); + api.open(); + } + + event.preventDefault(); + } + ); + } +); diff --git a/Resources/Private/Source/JavaScript/modules/resize-manager.js b/Resources/Private/Source/JavaScript/modules/resize-manager.js new file mode 100644 index 0000000..334acf2 --- /dev/null +++ b/Resources/Private/Source/JavaScript/modules/resize-manager.js @@ -0,0 +1,35 @@ +class ResizeManger { + constructor() { + if (!ResizeManger.instance) { + this.callbacks = new Map() + this.resizeObserver = new ResizeObserver(entries => { + for (const entry of entries) { + if (this.callbacks.has(entry.target)) { + this.callbacks.get(entry.target)(entry) + } + } + }) + ResizeManger.instance = this; + } + + return ResizeManger.instance; + } + + registerElement(element, callback) { + if (!this.resizeObserver || !element || typeof callback !== 'function') return + this.callbacks.set(element, callback); + this.resizeObserver.observe(element) + } + + destroyListener(element) { + if (!this.resizeObserver || !element) return + this.callbacks.delete(element); + this.resizeObserver.unobserve(element); + } +} + +const instance = new ResizeManger(); +Object.freeze(instance); + +export default instance; + diff --git a/Resources/Private/Source/JavaScript/modules/side-navigation.js b/Resources/Private/Source/JavaScript/modules/side-navigation.js new file mode 100644 index 0000000..23d5611 --- /dev/null +++ b/Resources/Private/Source/JavaScript/modules/side-navigation.js @@ -0,0 +1,20 @@ +import resizeManger from './resize-manager' + +function mobileSideNavigation(entry) { + if(window.innerWidth <= 768) { + const footer = document.querySelector('.page__footer'); + footer.parentNode.insertBefore(entry.target, footer) + } else { + document.querySelector('.page__navigation').appendChild(entry.target) + } +} + +document.addEventListener( + 'DOMContentLoaded', () => { + const node = document.querySelector( '.page__navigation__side'); + if (node) { + mobileSideNavigation({target: node}) + resizeManger.registerElement(node, mobileSideNavigation) + } + } +); diff --git a/Resources/Private/Source/Scss/0-functions/_assert.scss b/Resources/Private/Source/Scss/0-functions/_assert.scss new file mode 100644 index 0000000..cebd5a5 --- /dev/null +++ b/Resources/Private/Source/Scss/0-functions/_assert.scss @@ -0,0 +1,29 @@ +// Ascending +// Used to evaluate Sass maps like our grid breakpoints. +@mixin _assert-ascending($map, $map-name) { + $prev-key: null; + $prev-num: null; + @each $key, $num in $map { + @if $prev-num == null or unit($num) == "%" or unit($prev-num) == "%" { + // Do nothing + } @else if not comparable($prev-num, $num) { + @warn "Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !"; + } @else if $prev-num >= $num { + @warn "Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !"; + } + $prev-key: $key; + $prev-num: $num; + } +} + +// Starts at zero +// Used to ensure the min-width of the lowest breakpoint starts at 0. +@mixin _assert-starts-at-zero($map, $map-name: "$grid-breakpoints") { + @if length($map) > 0 { + $values: map-values($map); + $first-value: nth($values, 1); + @if $first-value != 0 { + @warn "First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}."; + } + } +} diff --git a/Resources/Private/Source/Scss/0-functions/_test.scss b/Resources/Private/Source/Scss/0-functions/_test.scss new file mode 100644 index 0000000..f67ff60 --- /dev/null +++ b/Resources/Private/Source/Scss/0-functions/_test.scss @@ -0,0 +1,173 @@ +// Bootstrap functions +// +// Utility mixins and functions for evaluating source code across our variables, maps, and mixins. + +// Internal Bootstrap function to turn maps into its negative variant. +// It prefixes the keys with `n` and makes the value negative. +@function negativify-map($map) { + $result: (); + @each $key, $value in $map { + @if $key != 0 { + $result: map-merge($result, ("n" + $key: (-$value))); + } + } + @return $result; +} + +// Get multiple keys from a sass map +@function map-get-multiple($map, $values) { + $result: (); + @each $key, $value in $map { + @if (index($values, $key) != null) { + $result: map-merge($result, ($key: $value)); + } + } + @return $result; +} + +// Replace `$search` with `$replace` in `$string` +// Used on our SVG icon backgrounds for custom forms. +// +// @author Hugo Giraudel +// @param {String} $string - Initial string +// @param {String} $search - Substring to replace +// @param {String} $replace ('') - New value +// @return {String} - Updated string +@function str-replace($string, $search, $replace: "") { + $index: str-index($string, $search); + + @if $index { + @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace); + } + + @return $string; +} + +// See https://codepen.io/kevinweber/pen/dXWoRw +@function escape-svg($string) { + @if str-index($string, "data:image/svg+xml") { + @each $char, $encoded in $escaped-characters { + // Do not escape the url brackets + @if str-index($string, "url(") == 1 { + $string: url("#{str-replace(str-slice($string, 6, -3), $char, $encoded)}"); + } @else { + $string: str-replace($string, $char, $encoded); + } + } + } + + @return $string; +} + +// Color contrast +// See https://github.com/twbs/bootstrap/pull/30168 + +// A list of pre-calculated numbers of pow(($value / 255 + .055) / 1.055, 2.4). (from 0 to 255) +// stylelint-disable-next-line scss/dollar-variable-default, scss/dollar-variable-pattern +$_luminance-list: .0008 .001 .0011 .0013 .0015 .0017 .002 .0022 .0025 .0027 .003 .0033 .0037 .004 .0044 .0048 .0052 .0056 .006 .0065 .007 .0075 .008 .0086 .0091 .0097 .0103 .011 .0116 .0123 .013 .0137 .0144 .0152 .016 .0168 .0176 .0185 .0194 .0203 .0212 .0222 .0232 .0242 .0252 .0262 .0273 .0284 .0296 .0307 .0319 .0331 .0343 .0356 .0369 .0382 .0395 .0409 .0423 .0437 .0452 .0467 .0482 .0497 .0513 .0529 .0545 .0561 .0578 .0595 .0612 .063 .0648 .0666 .0685 .0704 .0723 .0742 .0762 .0782 .0802 .0823 .0844 .0865 .0887 .0908 .0931 .0953 .0976 .0999 .1022 .1046 .107 .1095 .1119 .1144 .117 .1195 .1221 .1248 .1274 .1301 .1329 .1356 .1384 .1413 .1441 .147 .15 .1529 .1559 .159 .162 .1651 .1683 .1714 .1746 .1779 .1812 .1845 .1878 .1912 .1946 .1981 .2016 .2051 .2086 .2122 .2159 .2195 .2232 .227 .2307 .2346 .2384 .2423 .2462 .2502 .2542 .2582 .2623 .2664 .2705 .2747 .2789 .2831 .2874 .2918 .2961 .3005 .305 .3095 .314 .3185 .3231 .3278 .3325 .3372 .3419 .3467 .3515 .3564 .3613 .3663 .3712 .3763 .3813 .3864 .3916 .3968 .402 .4072 .4125 .4179 .4233 .4287 .4342 .4397 .4452 .4508 .4564 .4621 .4678 .4735 .4793 .4851 .491 .4969 .5029 .5089 .5149 .521 .5271 .5333 .5395 .5457 .552 .5583 .5647 .5711 .5776 .5841 .5906 .5972 .6038 .6105 .6172 .624 .6308 .6376 .6445 .6514 .6584 .6654 .6724 .6795 .6867 .6939 .7011 .7084 .7157 .7231 .7305 .7379 .7454 .7529 .7605 .7682 .7758 .7835 .7913 .7991 .807 .8148 .8228 .8308 .8388 .8469 .855 .8632 .8714 .8796 .8879 .8963 .9047 .9131 .9216 .9301 .9387 .9473 .956 .9647 .9734 .9823 .9911 1; + +@function color-contrast($background, $color-contrast-dark: $color-contrast-dark, $color-contrast-light: $color-contrast-light, $min-contrast-ratio: $min-contrast-ratio) { + $foregrounds: $color-contrast-light, $color-contrast-dark, $white, $black; + $max-ratio: 0; + $max-ratio-color: null; + + @each $color in $foregrounds { + $contrast-ratio: contrast-ratio($background, $color); + @if $contrast-ratio > $min-contrast-ratio { + @return $color; + } @else if $contrast-ratio > $max-ratio { + $max-ratio: $contrast-ratio; + $max-ratio-color: $color; + } + } + + @warn "Found no color leading to #{$min-contrast-ratio}:1 contrast ratio against #{$background}…"; + + @return $max-ratio-color; +} + +@function contrast-ratio($background, $foreground: $color-contrast-light) { + $l1: luminance($background); + $l2: luminance(opaque($background, $foreground)); + + @return if($l1 > $l2, ($l1 + .05) / ($l2 + .05), ($l2 + .05) / ($l1 + .05)); +} + +// Return WCAG2.0 relative luminance +// See https://www.w3.org/WAI/GL/wiki/Relative_luminance +// See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests +@function luminance($color) { + $rgb: ( + "r": red($color), + "g": green($color), + "b": blue($color) + ); + + @each $name, $value in $rgb { + $value: if($value / 255 < .03928, $value / 255 / 12.92, nth($_luminance-list, $value + 1)); + $rgb: map-merge($rgb, ($name: $value)); + } + + @return (map-get($rgb, "r") * .2126) + (map-get($rgb, "g") * .7152) + (map-get($rgb, "b") * .0722); +} + +// Return opaque color +// opaque(#fff, rgba(0, 0, 0, .5)) => #808080 +@function opaque($background, $foreground) { + @return mix(rgba($foreground, 1), $background, opacity($foreground) * 100); +} + +// Request a color level +// scss-docs-start color-level +@function color-level($color: $primary, $level: 0) { + $color-base: if($level > 0, $black, $white); + $level: abs($level); + + @return mix($color-base, $color, $level * $theme-color-interval); +} +// scss-docs-end color-level + +@function tint-color($color, $level) { + @return mix(white, $color, $level * $theme-color-interval); +} + +@function shade-color($color, $level) { + @return mix(black, $color, $level * $theme-color-interval); +} + +// Return valid calc +@function add($value1, $value2, $return-calc: true) { + @if $value1 == null { + @return $value2; + } + + @if $value2 == null { + @return $value1; + } + + @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) { + @return $value1 + $value2; + } + + @return if($return-calc == true, calc(#{$value1} + #{$value2}), $value1 + unquote(" + ") + $value2); +} + +@function subtract($value1, $value2, $return-calc: true) { + @if $value1 == null and $value2 == null { + @return null; + } + + @if $value1 == null { + @return -$value2; + } + + @if $value2 == null { + @return $value1; + } + + @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) { + @return $value1 - $value2; + } + + @return if($return-calc == true, calc(#{$value1} - #{$value2}), $value1 + unquote(" - ") + $value2); +} diff --git a/Resources/Private/Source/Scss/1-settings/_variables.scss b/Resources/Private/Source/Scss/1-settings/_variables.scss new file mode 100644 index 0000000..351f70e --- /dev/null +++ b/Resources/Private/Source/Scss/1-settings/_variables.scss @@ -0,0 +1,2 @@ +// Variables + diff --git a/Resources/Private/Source/Scss/2-design-tokens/_colors.scss b/Resources/Private/Source/Scss/2-design-tokens/_colors.scss new file mode 100644 index 0000000..caf2efd --- /dev/null +++ b/Resources/Private/Source/Scss/2-design-tokens/_colors.scss @@ -0,0 +1,24 @@ +$bdp-blue:( + "base": #1d4899, + "light": #009ddd, +); + +$bdp-yellow:( + "base": #ffcb04, +); + +$bdp-red:( + "base": #d30014, +); + +$bdp-brown:( + "base": #6b5c48, +); + + +$colors: ( + "bdp-yellow": $bdp-yellow, + "bdp-blue": $bdp-blue, + "bdp-red": $bdp-red, + "bdp-brown": $bdp-brown, +); diff --git a/Resources/Private/Source/Scss/2-design-tokens/_fonts.scss b/Resources/Private/Source/Scss/2-design-tokens/_fonts.scss new file mode 100644 index 0000000..ef59bc8 --- /dev/null +++ b/Resources/Private/Source/Scss/2-design-tokens/_fonts.scss @@ -0,0 +1,5 @@ +// stylelint-disable value-keyword-case +$font-family-sans-serif: Roboto, system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default; +$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default; +$font-family-immenhausen: "Immenhausen", serif !default; +$font-family-serif: Georgia, serif !default; diff --git a/Resources/Private/Source/Scss/2-design-tokens/_media-breakpoints.scss b/Resources/Private/Source/Scss/2-design-tokens/_media-breakpoints.scss new file mode 100644 index 0000000..6efae0b --- /dev/null +++ b/Resources/Private/Source/Scss/2-design-tokens/_media-breakpoints.scss @@ -0,0 +1,30 @@ +// scss-docs-start grid-breakpoints +$grid-breakpoints: ( + xs: 0, + sm: 576px, + md: 768px, + lg: 992px, + xl: 1200px, + xxl: 1400px +) !default; +// scss-docs-end grid-breakpoints + +@include _assert-ascending($grid-breakpoints, "$grid-breakpoints"); +@include _assert-starts-at-zero($grid-breakpoints, "$grid-breakpoints"); + + +// Grid containers +// +// Define the maximum width of `.container` for different screen sizes. + +// scss-docs-start container-max-widths +$container-max-widths: ( + sm: 540px, + md: 720px, + lg: 960px, + xl: 1140px, + xxl: 1320px +) !default; +// scss-docs-end container-max-widths + +@include _assert-ascending($container-max-widths, "$container-max-widths"); diff --git a/Resources/Private/Source/Scss/2-design-tokens/_spacing.scss b/Resources/Private/Source/Scss/2-design-tokens/_spacing.scss new file mode 100644 index 0000000..f43deca --- /dev/null +++ b/Resources/Private/Source/Scss/2-design-tokens/_spacing.scss @@ -0,0 +1,49 @@ +@import "../1-settings/variables"; + +$spacers: ( + extra-small: 1rem, + small: 2rem, + medium: 3rem, + large: 4rem, + extra-large: 8rem +); + +@each $name, $value in $spacers { + .bdp-b-#{$name} { + padding-bottom: $value; + } + .bdp-t-#{$name} { + padding-top: $value; + } +} + +@media (min-width: $md) { + @each $name, $value in $spacers { + .bdp-b-md-#{$name} { + padding-bottom: $value; + } + .bdp-t-md-#{$name} { + padding-top: $value; + } + } +} + +@media (min-width: $lg) { + @each $name, $value in $spacers { + .bdp-b-lg-#{$name} { + padding-bottom: $value; + } + .bdp-t-lg-#{$name} { + padding-top: $value; + } + } +} + +@media (min-width: $xxl) { + .bdp-b-extra-large { + padding-bottom: 10rem; + } + .bdp-t-extra-large { + padding-top: 10rem; + } +} diff --git a/Resources/Private/Source/Scss/3-tools/_breakpoints.scss b/Resources/Private/Source/Scss/3-tools/_breakpoints.scss new file mode 100644 index 0000000..66a0050 --- /dev/null +++ b/Resources/Private/Source/Scss/3-tools/_breakpoints.scss @@ -0,0 +1,126 @@ +// Breakpoint viewport sizes and media queries. +// +// Breakpoints are defined as a map of (name: minimum width), order from small to large: +// +// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px) +// +// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default. + +// Name of the next breakpoint, or null for the last breakpoint. +// +// >> breakpoint-next(sm) +// md +// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)) +// md +// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl)) +// md +@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) { + $n: index($breakpoint-names, $name); + @if not $n { + @error "breakpoint `#{$name}` not found in `#{$breakpoints}`"; + } + @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null); +} + +// Minimum breakpoint width. Null for the smallest (first) breakpoint. +// +// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)) +// 576px +@function breakpoint-min($name, $breakpoints: $grid-breakpoints) { + $min: map-get($breakpoints, $name); + @return if($min != 0, $min, null); +} + +// Maximum breakpoint width. +// The maximum value is reduced by 0.02px to work around the limitations of +// `min-` and `max-` prefixes and viewports with fractional widths. +// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max +// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari. +// See https://bugs.webkit.org/show_bug.cgi?id=178261 +// +// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)) +// 767.98px +@function breakpoint-max($name, $breakpoints: $grid-breakpoints) { + $max: map-get($breakpoints, $name); + @return if($max and $max > 0, $max - .02, null); +} + +// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front. +// Useful for making responsive utilities. +// +// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)) +// "" (Returns a blank string) +// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)) +// "-sm" +@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) { + @return if(breakpoint-min($name, $breakpoints) == null, "", "-#{$name}"); +} + +// Media of at least the minimum breakpoint width. No query for the smallest breakpoint. +// Makes the @content apply to the given breakpoint and wider. +@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) { + $min: breakpoint-min($name, $breakpoints); + @if $min { + @media (min-width: $min) { + @content; + } + } @else { + @content; + } +} + +// Media of at most the maximum breakpoint width. No query for the largest breakpoint. +// Makes the @content apply to the given breakpoint and narrower. +@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) { + $max: breakpoint-max($name, $breakpoints); + @if $max { + @media (max-width: $max) { + @content; + } + } @else { + @content; + } +} + +// Media that spans multiple breakpoint widths. +// Makes the @content apply between the min and max breakpoints +@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) { + $min: breakpoint-min($lower, $breakpoints); + $max: breakpoint-max($upper, $breakpoints); + + @if $min != null and $max != null { + @media (min-width: $min) and (max-width: $max) { + @content; + } + } @else if $max == null { + @include media-breakpoint-up($lower, $breakpoints) { + @content; + } + } @else if $min == null { + @include media-breakpoint-down($upper, $breakpoints) { + @content; + } + } +} + +// Media between the breakpoint's minimum and maximum widths. +// No minimum for the smallest breakpoint, and no maximum for the largest one. +// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower. +@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) { + $min: breakpoint-min($name, $breakpoints); + $max: breakpoint-max(breakpoint-next($name, $breakpoints)); + + @if $min != null and $max != null { + @media (min-width: $min) and (max-width: $max) { + @content; + } + } @else if $max == null { + @include media-breakpoint-up($name, $breakpoints) { + @content; + } + } @else if $min == null { + @include media-breakpoint-down($name, $breakpoints) { + @content; + } + } +} diff --git a/Resources/Private/Source/Scss/3-tools/_colors.scss b/Resources/Private/Source/Scss/3-tools/_colors.scss new file mode 100644 index 0000000..db42bc7 --- /dev/null +++ b/Resources/Private/Source/Scss/3-tools/_colors.scss @@ -0,0 +1,10 @@ +@function get-color($color, $type) { + @if map-has-key($colors, $color) { + $curr_color: map-get($colors, $color); + @if map-has-key($curr_color, $type) { + @return map-get($curr_color, $type); + } + } + @warn "Unknown `#{name}` in $colors."; + @return null; +} diff --git a/Resources/Private/Source/Scss/3-tools/_rfs.scss b/Resources/Private/Source/Scss/3-tools/_rfs.scss new file mode 100644 index 0000000..dea6342 --- /dev/null +++ b/Resources/Private/Source/Scss/3-tools/_rfs.scss @@ -0,0 +1,312 @@ +// stylelint-disable property-blacklist, scss/dollar-variable-default + +// SCSS RFS mixin +// +// Automated responsive values for font sizes, paddings, margins and much more +// +// Licensed under MIT (https://github.com/twbs/rfs/blob/main/LICENSE) + +// Configuration + +// Base value +$rfs-base-value: 1.25rem !default; +$rfs-unit: rem !default; + +@if $rfs-unit != rem and $rfs-unit != px { + @error "`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`."; +} + +// Breakpoint at where values start decreasing if screen width is smaller +$rfs-breakpoint: 1200px !default; +$rfs-breakpoint-unit: px !default; + +@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem { + @error "`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`."; +} + +// Resize values based on screen height and width +$rfs-two-dimensional: false !default; + +// Factor of decrease +$rfs-factor: 10 !default; + +@if type-of($rfs-factor) != number or $rfs-factor <= 1 { + @error "`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1."; +} + +// Mode. Possibilities: "min-media-query", "max-media-query" +$rfs-mode: min-media-query !default; + +// Generate enable or disable classes. Possibilities: false, "enable" or "disable" +$rfs-class: false !default; + +// 1 rem = $rfs-rem-value px +$rfs-rem-value: 16 !default; + +// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14 +$rfs-safari-iframe-resize-bug-fix: false !default; + +// Disable RFS by setting $enable-rfs to false +$enable-rfs: true !default; + +// Cache $rfs-base-value unit +$rfs-base-value-unit: unit($rfs-base-value); + +// Remove px-unit from $rfs-base-value for calculations +@if $rfs-base-value-unit == px { + $rfs-base-value: $rfs-base-value / ($rfs-base-value * 0 + 1); +} +@else if $rfs-base-value-unit == rem { + $rfs-base-value: $rfs-base-value / ($rfs-base-value * 0 + 1 / $rfs-rem-value); +} + +// Cache $rfs-breakpoint unit to prevent multiple calls +$rfs-breakpoint-unit-cache: unit($rfs-breakpoint); + +// Remove unit from $rfs-breakpoint for calculations +@if $rfs-breakpoint-unit-cache == px { + $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1); +} +@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == "em" { + $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value); +} + +// Calculate the media query value +$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit}); +$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width); +$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height); + +// Internal mixin used to determine which media query needs to be used +@mixin _rfs-media-query { + @if $rfs-two-dimensional { + @if $rfs-mode == max-media-query { + @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) { + @content; + } + } + @else { + @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) and (#{$rfs-mq-property-height}: #{$rfs-mq-value}) { + @content; + } + } + } + @else { + @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) { + @content; + } + } +} + +// Internal mixin that adds disable classes to the selector if needed. +@mixin _rfs-rule { + @if $rfs-class == disable and $rfs-mode == max-media-query { + // Adding an extra class increases specificity, which prevents the media query to override the property + &, + .disable-rfs &, + &.disable-rfs { + @content; + } + } + @else if $rfs-class == enable and $rfs-mode == min-media-query { + .enable-rfs &, + &.enable-rfs { + @content; + } + } + @else { + @content; + } +} + +// Internal mixin that adds enable classes to the selector if needed. +@mixin _rfs-media-query-rule { + + @if $rfs-class == enable { + @if $rfs-mode == min-media-query { + @content; + } + + @include _rfs-media-query { + .enable-rfs &, + &.enable-rfs { + @content; + } + } + } + @else { + @if $rfs-class == disable and $rfs-mode == min-media-query { + .disable-rfs &, + &.disable-rfs { + @content; + } + } + @include _rfs-media-query { + @content; + } + } +} + +// Helper function to get the formatted non-responsive value +@function rfs-value($values) { + // Convert to list + $values: if(type-of($values) != list, ($values,), $values); + + $val: ''; + + // Loop over each value and calculate value + @each $value in $values { + @if $value == 0 { + $val: $val + ' 0'; + } + @else { + // Cache $value unit + $unit: if(type-of($value) == "number", unit($value), false); + + @if $unit == px { + // Convert to rem if needed + $val: $val + ' ' + if($rfs-unit == rem, #{$value / ($value * 0 + $rfs-rem-value)}rem, $value); + } + @else if $unit == rem { + // Convert to px if needed + $val: $val + ' ' + if($rfs-unit == px, #{$value / ($value * 0 + 1) * $rfs-rem-value}px, $value); + } + @else { + // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value + $val: $val + ' ' + $value; + } + } + } + + // Remove first space + @return unquote(str-slice($val, 2)); +} + +// Helper function to get the responsive value calculated by RFS +@function rfs-fluid-value($values) { + // Convert to list + $values: if(type-of($values) != list, ($values,), $values); + + $val: ''; + + // Loop over each value and calculate value + @each $value in $values { + @if $value == 0 { + $val: $val + ' 0'; + } + + @else { + // Cache $value unit + $unit: if(type-of($value) == "number", unit($value), false); + + // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value + @if not $unit or $unit != px and $unit != rem { + $val: $val + ' ' + $value; + } + + @else { + // Remove unit from $value for calculations + $value: $value / ($value * 0 + if($unit == px, 1, 1 / $rfs-rem-value)); + + // Only add the media query if the value is greater than the minimum value + @if abs($value) <= $rfs-base-value or not $enable-rfs { + $val: $val + ' ' + if($rfs-unit == rem, #{$value / $rfs-rem-value}rem, #{$value}px); + } + @else { + // Calculate the minimum value + $value-min: $rfs-base-value + (abs($value) - $rfs-base-value) / $rfs-factor; + + // Calculate difference between $value and the minimum value + $value-diff: abs($value) - $value-min; + + // Base value formatting + $min-width: if($rfs-unit == rem, #{$value-min / $rfs-rem-value}rem, #{$value-min}px); + + // Use negative value if needed + $min-width: if($value < 0, -$min-width, $min-width); + + // Use `vmin` if two-dimensional is enabled + $variable-unit: if($rfs-two-dimensional, vmin, vw); + + // Calculate the variable width between 0 and $rfs-breakpoint + $variable-width: #{$value-diff * 100 / $rfs-breakpoint}#{$variable-unit}; + + // Return the calculated value + $val: $val + ' calc(' + $min-width + if($value < 0, ' - ', ' + ') + $variable-width + ')'; + } + } + } + } + + // Remove first space + @return unquote(str-slice($val, 2)); +} + +// RFS mixin +@mixin rfs($values, $property: font-size) { + @if $values != null { + $val: rfs-value($values); + $fluidVal: rfs-fluid-value($values); + + // Do not print the media query if responsive & non-responsive values are the same + @if $val == $fluidVal { + #{$property}: $val; + } + @else { + @include _rfs-rule { + #{$property}: if($rfs-mode == max-media-query, $val, $fluidVal); + + // Include safari iframe resize fix if needed + min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null); + } + + @include _rfs-media-query-rule { + #{$property}: if($rfs-mode == max-media-query, $fluidVal, $val); + } + } + } +} + +// Shorthand helper mixins +@mixin font-size($value) { + @include rfs($value); +} + +@mixin padding($value) { + @include rfs($value, padding); +} + +@mixin padding-top($value) { + @include rfs($value, padding-top); +} + +@mixin padding-right($value) { + @include rfs($value, padding-right); +} + +@mixin padding-bottom($value) { + @include rfs($value, padding-bottom); +} + +@mixin padding-left($value) { + @include rfs($value, padding-left); +} + +@mixin margin($value) { + @include rfs($value, margin); +} + +@mixin margin-top($value) { + @include rfs($value, margin-top); +} + +@mixin margin-right($value) { + @include rfs($value, margin-right); +} + +@mixin margin-bottom($value) { + @include rfs($value, margin-bottom); +} + +@mixin margin-left($value) { + @include rfs($value, margin-left); +} diff --git a/Resources/Private/Source/Scss/3-tools/_transition.scss b/Resources/Private/Source/Scss/3-tools/_transition.scss new file mode 100644 index 0000000..75c19ac --- /dev/null +++ b/Resources/Private/Source/Scss/3-tools/_transition.scss @@ -0,0 +1,26 @@ +$transition-base: all .2s ease-in-out !default; + +// stylelint-disable property-blacklist +@mixin transition($transition...) { + @if length($transition) == 0 { + $transition: $transition-base; + } + + @if length($transition) > 1 { + @each $value in $transition { + @if $value == null or $value == none { + @warn "The keyword 'none' or 'null' must be used as a single argument."; + } + } + } + + @if nth($transition, 1) != null { + transition: $transition; + } + + @if nth($transition, 1) != null and nth($transition, 1) != none { + @media (prefers-reduced-motion: reduce) { + transition: none; + } + } +} diff --git a/Resources/Private/Source/Scss/4-generic/_box-sizing.scss b/Resources/Private/Source/Scss/4-generic/_box-sizing.scss new file mode 100644 index 0000000..1236d8e --- /dev/null +++ b/Resources/Private/Source/Scss/4-generic/_box-sizing.scss @@ -0,0 +1,3 @@ +* { + box-sizing: border-box; +} diff --git a/Resources/Private/Source/Scss/4-generic/_font-face-firasans.scss b/Resources/Private/Source/Scss/4-generic/_font-face-firasans.scss new file mode 100644 index 0000000..f9b3194 --- /dev/null +++ b/Resources/Private/Source/Scss/4-generic/_font-face-firasans.scss @@ -0,0 +1,20 @@ +/* fira-sans-regular - latin-ext_latin */ +@font-face { + font-family: 'Fira Sans'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('/typo3conf/ext/bdp_template/Resources/Public/Fonts/fira-sans/fira-sans-v10-latin-ext_latin-regular.woff2') format('woff2'), + url('/typo3conf/ext/bdp_template/Resources/Public/Fonts/fira-sans/fira-sans-v10-latin-ext_latin-regular.woff') format('woff'); +} + +/* fira-sans-700 - latin-ext_latin */ +@font-face { + font-family: 'Fira Sans'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url('/typo3conf/ext/bdp_template/Resources/Public/Fonts/fira-sans/fira-sans-v10-latin-ext_latin-700.woff2') format('woff2'), + url('/typo3conf/ext/bdp_template/Resources/Public/Fonts/fira-sans/fira-sans-v10-latin-ext_latin-700.woff') format('woff'); +} + diff --git a/Resources/Private/Source/Scss/4-generic/_font-face-immenhausen.scss b/Resources/Private/Source/Scss/4-generic/_font-face-immenhausen.scss new file mode 100644 index 0000000..1f1f46a --- /dev/null +++ b/Resources/Private/Source/Scss/4-generic/_font-face-immenhausen.scss @@ -0,0 +1,8 @@ +@font-face { + font-family: 'Immenhausen'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://.pfadfinden.de/fonts/immenhausen/immenhausen-webfont.woff2') format('woff2'), + url('https://.pfadfinden.de/fonts/immenhausen/immenhausen-webfont.woff') format('woff'); +} diff --git a/Resources/Private/Source/Scss/4-generic/_normalize.scss b/Resources/Private/Source/Scss/4-generic/_normalize.scss new file mode 100644 index 0000000..192eb9c --- /dev/null +++ b/Resources/Private/Source/Scss/4-generic/_normalize.scss @@ -0,0 +1,349 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ + +/* Document + ========================================================================== */ + +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ + +html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/* Sections + ========================================================================== */ + +/** + * Remove the margin in all browsers. + */ + +body { + margin: 0; +} + +/** + * Render the `main` element consistently in IE. + */ + +main { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ + +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + +hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Remove the gray background on active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + +abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +code, +kbd, +samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/** + * Add the correct font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove the border on images inside links in IE 10. + */ + +img { + border-style: none; +} + +/* Forms + ========================================================================== */ + +/** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + +button, +input { /* 1 */ + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + +button, +select { /* 1 */ + text-transform: none; +} + +/** + * Correct the inability to style clickable types in iOS and Safari. + */ + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +/** + * Remove the inner border and padding in Firefox. + */ + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule. + */ + +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Correct the padding in Firefox. + */ + +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + +legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ +} + +/** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + +progress { + vertical-align: baseline; +} + +/** + * Remove the default vertical scrollbar in IE 10+. + */ + +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ + +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + +[type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/** + * Remove the inner padding in Chrome and Safari on macOS. + */ + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} + +/* Interactive + ========================================================================== */ + +/* + * Add the correct display in Edge, IE 10+, and Firefox. + */ + +details { + display: block; +} + +/* + * Add the correct display in all browsers. + */ + +summary { + display: list-item; +} + +/* Misc + ========================================================================== */ + +/** + * Add the correct display in IE 10+. + */ + +template { + display: none; +} + +/** + * Add the correct display in IE 10. + */ + +[hidden] { + display: none; +} diff --git a/Resources/Private/Source/Scss/5-elements/_headings.scss b/Resources/Private/Source/Scss/5-elements/_headings.scss new file mode 100644 index 0000000..c4e898c --- /dev/null +++ b/Resources/Private/Source/Scss/5-elements/_headings.scss @@ -0,0 +1,6 @@ +h1, +h2, +h3, +h4 { + font-family: $font-family-immenhausen; +} diff --git a/Resources/Private/Source/Scss/5-elements/_html.scss b/Resources/Private/Source/Scss/5-elements/_html.scss new file mode 100644 index 0000000..57165e6 --- /dev/null +++ b/Resources/Private/Source/Scss/5-elements/_html.scss @@ -0,0 +1,3 @@ +html { + font-family: $font-family-sans-serif; +} diff --git a/Resources/Private/Source/Scss/5-elements/_link.scss b/Resources/Private/Source/Scss/5-elements/_link.scss new file mode 100644 index 0000000..be0c715 --- /dev/null +++ b/Resources/Private/Source/Scss/5-elements/_link.scss @@ -0,0 +1,10 @@ +a { + color: get-color('bdp-blue', 'base'); + text-decoration: none; + &:visited { + color: get-color('bdp-blue', 'base'); + } + &:active { + text-decoration: none; + } +} diff --git a/Resources/Private/Source/Scss/6-skeleton/_page.scss b/Resources/Private/Source/Scss/6-skeleton/_page.scss new file mode 100644 index 0000000..bbf349c --- /dev/null +++ b/Resources/Private/Source/Scss/6-skeleton/_page.scss @@ -0,0 +1,28 @@ +@import "../1-settings/variables"; +html { + background: url('Images/holzhintergrund_1.jpg'); +} +.page { + &__header { + &--region { + ~ .page__content { + padding-top: 75px; + } + } + } + &__content { + display: block; + min-height: 25rem; + padding-top: 3.25rem; + overflow-x: hidden; + @include media-breakpoint-up(md) { + min-height: 100vh; + } + &__main { + @include media-breakpoint-up(md) { + margin-top: 3rem; + margin-left: 15rem; + } + } + } +} diff --git a/Resources/Private/Source/Scss/7-components/_branding.scss b/Resources/Private/Source/Scss/7-components/_branding.scss new file mode 100644 index 0000000..ecdd22f --- /dev/null +++ b/Resources/Private/Source/Scss/7-components/_branding.scss @@ -0,0 +1,87 @@ +.brand { + position: relative; + display: block; + height: 52px; + padding-right: 2rem; + @include media-breakpoint-up(md){ + height: auto; + padding-right: 0; + } + &__box { + display: block; + height: 100%; + @include media-breakpoint-up(md){ + background-color: get-color('bdp-yellow', 'base'); + z-index: 7; + position: relative; + margin-left: 15rem; + margin-bottom: -0.625rem; + padding-bottom: 0; + width: 26.5625rem; + height: 9.0625rem; + box-shadow: none; + &:after { + content: ''; + display: block; + position: absolute; + top: 1.375rem; + bottom: 0; + z-index: 1; + height: 8.9375rem; + width: 28.5625rem; + background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGhlaWdodD0nMzAwJyB3aWR0aD0nNDcwJyB2aWV3Qm94PScwIDAgMzAwIDQyNScgcHJlc2VydmVBc3BlY3RSYXRpbz0neE1pbllNaW4gbWVldCc+DQogICAgPGRlZnM+DQogICAgPGxpbmVhckdyYWRpZW50IGlkPSd2ZXJsYXVmJyB4MT0nMCUnIHkxPScwJScgeDI9JzAlJyB5Mj0nMTQwJSc+DQogICAgICA8c3RvcCBvZmZzZXQ9JzAlJyBzdG9wLWNvbG9yPSdibGFjaycgc3RvcC1vcGFjaXR5PScwLjcnIC8+DQogICAgICA8c3RvcCBvZmZzZXQ9JzUwJScgc3RvcC1jb2xvcj0nYmxhY2snIHN0b3Atb3BhY2l0eT0nMC40JyAvPg0KICAgICAgPHN0b3Agb2Zmc2V0PSc4MCUnIHN0b3AtY29sb3I9J2JsYWNrJyBzdG9wLW9wYWNpdHk9JzAuMScgLz4NCiAgICAgIDxzdG9wIG9mZnNldD0nMTAwJScgc3RvcC1jb2xvcj0iYmxhY2siIHN0b3Atb3BhY2l0eT0nMC4wJyAvPg0KICAgIDwvbGluZWFyR3JhZGllbnQ+DQogIDwvZGVmcz4NCiAgICA8cGF0aCBkPSdNMTAsMjAwIEMxNTAsMTcwIDQ1MCwxODAgNjE1LDE5MCBMNjA4LDAwIEwxNSwwIFonIHN0eWxlPSdzdHJva2U6bm9uZTsnIGZpbGw9J3VybCgjdmVybGF1ZiknPjwvcGF0aD48L3N2Zz4=") no-repeat scroll center top; + } + } + &__logo { + margin: 0; + text-align: left; + height: 52px; + padding: 7px 0 5px 0; + @include media-breakpoint-up(md){ + position: relative; + z-index: 20; + height: auto; + margin: 0; + padding: 1.25rem 1.09375rem 0.625rem 1.09375rem; + background-color: get-color('bdp-yellow', 'base'); + line-height: 115px; + text-align: center; + } + &--region { + @include media-breakpoint-up(md) { + padding-top: 0; + padding-bottom: 0; + } + } + &__image { + height: 40px; + object-fit: contain; + vertical-align: middle; + max-width: 250px; + width: auto; + @include media-breakpoint-up(md){ + max-width: 100%; + width: 100%; + height: auto; + } + } + } + &__region { + display: none; + @include media-breakpoint-up(md) { + position: relative; + z-index: 20; + display: block; + font-size: 1.125rem; + padding-left: 0.75rem; + background: get-color('bdp-blue', 'base'); + color: get-color('bdp-yellow', 'base'); + line-height: 1.875rem; + font-family: $font-family-immenhausen; + letter-spacing: 1px; + word-spacing: 2px; + text-align: center; + } + } + } +} diff --git a/Resources/Private/Source/Scss/7-components/_content-elements.scss b/Resources/Private/Source/Scss/7-components/_content-elements.scss new file mode 100644 index 0000000..5a46be3 --- /dev/null +++ b/Resources/Private/Source/Scss/7-components/_content-elements.scss @@ -0,0 +1,30 @@ +.bdp-ce { + padding: 1rem; + margin-bottom: 1rem; + font-size: 0.875rem; + &--layout { + &-0 { + background-color: #FFFFFF; + color: #000000; + box-shadow: 0 5px 5px rgba(0,0,0,.1); + } + &-1 { + background-color: get-color('bdp-yellow', 'base'); + color: #000000; + box-shadow: 0 5px 5px rgba(0,0,0,.1); + } + &-2 { + background-color: get-color('bdp-blue', 'base'); + color: #ffffff; + box-shadow: 0 5px 5px rgba(0,0,0,.1); + } + &-3 { + background-color: get-color('bdp-red', 'base'); + color: #ffffff; + box-shadow: 0 5px 5px rgba(0,0,0,.1); + } + &-4 { + padding: 0; + } + } +} diff --git a/Resources/Private/Source/Scss/7-components/_footer.scss b/Resources/Private/Source/Scss/7-components/_footer.scss new file mode 100644 index 0000000..56c0fec --- /dev/null +++ b/Resources/Private/Source/Scss/7-components/_footer.scss @@ -0,0 +1,39 @@ +.page__footer { + width: 100%; + padding: 1em; + background-color: get-color('bdp-yellow', 'base'); + box-shadow: 0 -5px 5px rgba(0,0,0,.3); + @include media-breakpoint-up(md) { + background: rgba(56, 46, 35, 0.7); + color: #eee; + box-shadow: none; + } + &__title { + font-family: $font-family-immenhausen; + font-size: 1.5625rem; + padding: 0 0 0.54375rem; + color: get-color('bdp-blue', 'base'); + @include media-breakpoint-up(md) { + color: get-color('bdp-yellow', 'base'); + } + } + &__content { + font-size: 0.75rem; + color: #000000; + @include media-breakpoint-up(sm) { + display: flex; + flex-wrap: wrap; + } + @include media-breakpoint-up(md) { + color: #ffffff; + } + &__section { + @include media-breakpoint-up(sm) { + width: 50%; + } + @include media-breakpoint-up(lg) { + width: percentage(3 / 12); + } + } + } +} diff --git a/Resources/Private/Source/Scss/7-components/_header.scss b/Resources/Private/Source/Scss/7-components/_header.scss new file mode 100644 index 0000000..d0551af --- /dev/null +++ b/Resources/Private/Source/Scss/7-components/_header.scss @@ -0,0 +1,88 @@ +.mainheader { + background-color: get-color('bdp-yellow', 'base'); + position: fixed; + top: 0; + width: 100%; + z-index: 999; + box-shadow: 0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12),0 2px 4px -1px rgba(0,0,0,0.3); + @include media-breakpoint-up(md){ + display: block; + position: relative; + box-shadow: none; + background-color: transparent; + } + &__container { + display: flex; + justify-content: space-between; + &__i { + display: flex; + justify-content: space-between; + width: 100%; + padding-right: 15px; + padding-left: 15px; + } + } + &__region { + position: relative; + display: block; + width: 100%; + z-index: 20; + background: get-color('bdp-blue', 'base'); + @include media-breakpoint-up(md) { + display: none; + } + &__link { + font-size: 1.125rem; + padding-left: 0.75rem; + color: get-color('bdp-yellow', 'base'); + line-height: 1.875rem; + font-family: $font-family-immenhausen; + letter-spacing: 1px; + word-spacing: 2px; + &:hover, + &:visited { + color: get-color('bdp-yellow', 'base'); + } + &:hover { + text-decoration: none; + } + } + } +} + +.mobile-menu-opener { + display: inline-block; + font-weight: 400; + text-align: center; + white-space: nowrap; + vertical-align: middle; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + border: 1px solid transparent; + padding: 0; + font-size: 14px; + line-height: 36px; + -webkit-transition: all .15s ease-in-out; + transition: all .15s ease-in-out; + background-color: transparent; + color: #fff; + cursor: pointer; + outline: none; + width: 38px; + height: 52px; + > .line { + width: 32px; + background-color: #000; + display: block; + -webkit-transition: all .3s ease-in-out; + transition: all .3s ease-in-out; + height: 3px; + border-radius: 1px; + margin: 5px auto; + } + @include media-breakpoint-up(md){ + display: none; + } +} diff --git a/Resources/Private/Source/Scss/7-components/_language-menu.scss b/Resources/Private/Source/Scss/7-components/_language-menu.scss new file mode 100644 index 0000000..16eaaf3 --- /dev/null +++ b/Resources/Private/Source/Scss/7-components/_language-menu.scss @@ -0,0 +1,99 @@ +.mainheader__language { + color: #000000; + height: 3.25rem; + position: relative; + @include media-breakpoint-up(md){ + position: absolute; + left: 0; + top: 0; + z-index: 40; + } + &__menu { + display: none; + position: absolute; + float: left; + width: auto; + padding: 0; + margin: 0; + z-index: 40; + @include media-breakpoint-up(md) { + padding-left: 0.5rem; + } + &__list { + background-color: #000000; + z-index: 40; + list-style: none inside none; + padding: 0; + margin: 0; + li { + position: relative; + } + a { + display: block; + color: #ffffff; + padding: 0.625rem 2.5rem 0.625rem 1rem; + line-height: 1; + min-width: 6rem; + transition:.2s linear; + @include media-breakpoint-up(md){ + padding-top: 0.5rem; + padding-bottom: 0.5rem; + } + @include media-breakpoint-up(xl) { + padding-right: 3rem; + } + &:hover, &:focus { + text-decoration: none; + background-color: #CCCCCC; + color: #000000; + transition:.2s linear + } + } + } + } + &__current { + color: #000000; + height: 3.25rem; + line-height: 3.25rem; + padding: 0 1rem 0 0.5rem; + position: relative; + margin-right: 0.25rem; + cursor: pointer; + font-size: 0.875rem; + @include media-breakpoint-up(xl){ + padding: 0 1.25rem 0 1rem; + } + &:after { + content: ''; + border-right: 1px solid #000000; + border-bottom: 1px solid #000000; + box-sizing: content-box; + display: block; + width: 6px; + height: 6px; + margin: auto; + position: absolute; + top: 0; + right: 0; + bottom: 4px; + transform: rotate(45deg); + @include media-breakpoint-up(md) { + width: 8px; + height: 8px; + border-right-width: 2px; + border-bottom-width: 2px; + right: 2px; + } + } + } + &:hover, &:focus { + .mainheader__language__menu { + display: block; + } + } + &:focus-within { + .mainheader__language__menu { + display: block; + } + } +} diff --git a/Resources/Private/Source/Scss/7-components/_mainheader__navigation.scss b/Resources/Private/Source/Scss/7-components/_mainheader__navigation.scss new file mode 100644 index 0000000..b65fdbb --- /dev/null +++ b/Resources/Private/Source/Scss/7-components/_mainheader__navigation.scss @@ -0,0 +1,70 @@ +.page .main-navigation { + background-color: get-color('bdp-yellow', 'base'); + &__list { + display: block; + padding: 0.625rem 0 2.5rem; + margin: 0; + list-style: none; + &__item { + display: block; + font-family: $font-family-immenhausen; + font-size: 1.125rem; + letter-spacing: .01em; + &__link { + display: block; + padding: 0.5rem 1rem; + color: get-color('bdp-brown', 'base'); + &:visited { + color: get-color('bdp-brown', 'base'); + } + &:hover { + color: #000000; + } + &.active { + color: #000000; + } + &.current { + color: #ffffff; + } + } + &__list { + display: none; + padding: 0; + margin: 0; + list-style: none; + &__item { + padding: 0.3125rem 0.3125rem 0.3125rem 1.5625rem; + display: block; + text-decoration: none; + font-family: $font-family-serif; + font-style: italic; + font-size: 0.75rem; + &__link { + color: #000000; + &:visited { + color: #000000; + } + &:hover { + color: get-color('bdp-brown', 'base'); + } + &.current { + color: #ffffff; + } + } + } + } + &.active { + border-bottom: 1px solid #9f7515; + border-top: 1px solid #9f7515; + padding: .5rem 0 .5em; + margin: .5rem 0; + background-color: #e1af22; + filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr="#E0CB84",endColorstr="#ffffff"); + background-image: linear-gradient(#9f7515,#e1af22); + .main-navigation__list__item__list { + display: block; + } + } + } + } +} diff --git a/Resources/Private/Source/Scss/7-components/_mmenu.scss b/Resources/Private/Source/Scss/7-components/_mmenu.scss new file mode 100644 index 0000000..afc403d --- /dev/null +++ b/Resources/Private/Source/Scss/7-components/_mmenu.scss @@ -0,0 +1,33 @@ +/*! + * mmenu.js + * mmenujs.com + * + * Copyright (c) Fred Heusschen + * frebsite.nl + * + * License: CC-BY-NC-4.0 + * http://creativecommons.org/licenses/by-nc/4.0/ + */ + +// There's a bug in the CSS polyfill that'll override the :root vars with the .mm-menu_them-* vars +// Therefor we'll import the themes file first. +@import '../../../../../node_modules/mmenu-js/src/extensions/themes/mmenu.themes'; + +// Core +@import '../../../../../node_modules/mmenu-js/src/core/oncanvas/mmenu.oncanvas'; + +// Core add-ons +@import '../../../../../node_modules/mmenu-js/src/core/offcanvas/mmenu.offcanvas'; +@import '../../../../../node_modules/mmenu-js/src/core/screenreader/mmenu.screenreader'; + +// Add-ons +@import '../../../../../node_modules/mmenu-js/src/addons/keyboardnavigation/mmenu.keyboardnavigation'; + +// Extensions +@import '../../../../../node_modules/mmenu-js/src/extensions/borderstyle/mmenu.borderstyle'; +@import '../../../../../node_modules/mmenu-js/src/extensions/listview/mmenu.listview'; +@import '../../../../../node_modules/mmenu-js/src/extensions/multiline/mmenu.multiline'; +@import '../../../../../node_modules/mmenu-js/src/extensions/pagedim/mmenu.pagedim'; +@import '../../../../../node_modules/mmenu-js/src/extensions/positioning/mmenu.positioning'; +@import '../../../../../node_modules/mmenu-js/src/extensions/shadows/mmenu.shadows'; +@import '../../../../../node_modules/mmenu-js/src/extensions/themes/mmenu.themes'; diff --git a/Resources/Private/Source/Scss/7-components/_navigation.scss b/Resources/Private/Source/Scss/7-components/_navigation.scss new file mode 100644 index 0000000..82746f5 --- /dev/null +++ b/Resources/Private/Source/Scss/7-components/_navigation.scss @@ -0,0 +1,25 @@ +.page__navigation { + display: none; + @include media-breakpoint-up(md) { + display: block; + position: absolute; + top: 7.5rem; + left: 2.5rem; + width: 10rem; + padding: 0; + margin: 0; + z-index: 2; + } + &__side { + display: block; + padding: 2.1875rem 0.9375rem 0.9375rem 1.25rem; + background-color: rgba(56,46,35,.7); + font-size: 0.8125rem; + line-height: 1.1875rem; + } +} +@include media-breakpoint-up(md) { + #mm-pfadfinden-menu { + display: none !important; + } +} diff --git a/Resources/Private/Source/Scss/7-components/_side__navigation.scss b/Resources/Private/Source/Scss/7-components/_side__navigation.scss new file mode 100644 index 0000000..011e5fa --- /dev/null +++ b/Resources/Private/Source/Scss/7-components/_side__navigation.scss @@ -0,0 +1,61 @@ +.side-navigation { + display: block; + &__list { + display: flex; + flex-wrap: wrap; + padding: 0; + margin: 0; + @include media-breakpoint-up(md) { + display: block; + } + &__section { + display: block; + padding: 0.875rem 0; + margin: 0; + list-style: none; + width: 100%; + @include media-breakpoint-up(sm) { + width: 50%; + } + @include media-breakpoint-up(md) { + width: 100%; + } + + &__title { + margin: 0 0 0.375rem; + padding: 0; + color: get-color('bdp-yellow', 'base');; + font-size: 1.0625rem; + font-weight: 400; + letter-spacing: 0.0175rem; + } + &__list { + padding: 0; + margin: 0; + &__item { + display: block; + padding: 0; + margin: 0; + list-style: none; + &__link { + font-family: $font-family-serif; + color: #ffffff; + font-style: italic; + &__image { + width: 100%; + height: auto; + max-width: 7.8125rem; + } + &:visited { + color: #ffffff; + } + &:hover { + color: #ffffff; + text-decoration: underline; + } + } + } + } + } + } +} diff --git a/Resources/Private/Source/Scss/_functions.scss b/Resources/Private/Source/Scss/_functions.scss new file mode 100644 index 0000000..1c9e009 --- /dev/null +++ b/Resources/Private/Source/Scss/_functions.scss @@ -0,0 +1 @@ +@import "0-functions/assert"; diff --git a/Resources/Private/Source/Scss/_shame.scss b/Resources/Private/Source/Scss/_shame.scss new file mode 100644 index 0000000..e69de29 diff --git a/Resources/Private/Source/Scss/layout.scss b/Resources/Private/Source/Scss/layout.scss new file mode 100644 index 0000000..604b8c2 --- /dev/null +++ b/Resources/Private/Source/Scss/layout.scss @@ -0,0 +1,43 @@ +@charset "UTF-8"; + +// 0. Functions +@import "functions"; + +// 1. Settings +@import '1-settings/variables'; + +// 2. Design Tokens +@import '2-design-tokens/media-breakpoints'; +@import '2-design-tokens/fonts'; +@import '2-design-tokens/colors'; + +// 3. Tools +@import "3-tools/breakpoints"; +@import "3-tools/rfs"; +@import "3-tools/transition"; +@import "3-tools/colors"; + +// 4. Generic +@import "4-generic/normalize"; +@import "4-generic/box-sizing"; +@import "4-generic/font-face-immenhausen"; +@import "4-generic/font-face-firasans"; + +// 5. HTML-Elements +@import "5-elements/html"; +@import "5-elements/headings"; +@import "5-elements/link"; + +// 6. Skeleton +@import "6-skeleton/page"; + +// 6. Components +@import "7-components/header"; +@import "7-components/branding"; +@import "7-components/language-menu"; +@import "7-components/navigation"; +@import "7-components/mainheader__navigation"; +@import "7-components/side__navigation"; +@import "7-components/footer"; +@import "7-components/content-elements"; + diff --git a/Resources/Private/Source/Scss/layout/_headlines.scss b/Resources/Private/Source/Scss/layout/_headlines.scss new file mode 100644 index 0000000..6b3f917 --- /dev/null +++ b/Resources/Private/Source/Scss/layout/_headlines.scss @@ -0,0 +1,70 @@ +@import "../3-tools/rfs"; +.zt-headline-1 { + font-weight: 700; + @include font-size(3rem); +} +.zt-headline-2 { + font-weight: 100; + @include font-size(2.5rem); + margin: 1rem 0; + position: relative; + padding-bottom: 5px; + display: inline-block; + &:before { + content: ''; + display: inline-block; + position: absolute; + left: 0; + bottom: 5px; + width: 110%; + border-bottom: 1px solid #000000; + } + &:after { + content: ''; + display: inline-block; + position: absolute; + left: 0; + bottom: 0; + width: 120%; + border-bottom: 1px solid #000000; + } +} +.zt-headline-3 { + font-weight: 700; + @include font-size(2rem); +} +.zt-headline-4 { + font-weight: 100; + font-size: 1.5rem; + margin: 0.5rem 0; + position: relative; + padding-bottom: 5px; + display: inline-block; + &:before { + content: ''; + display: inline-block; + position: absolute; + left: 0; + bottom: 4px; + width: 110%; + min-width: 180px; + border-bottom: 1px solid #333333; + } + &:after { + content: ''; + display: inline-block; + position: absolute; + left: 0; + bottom: 0; + width: 120%; + min-width: 200px; + border-bottom: 1px solid #333333; + } +} +.zt-headline-5 { + font-weight: 700; + @include font-size(1.25rem); +} +.zt-box > header { + overflow-x: hidden; +} diff --git a/Resources/Private/Source/Scss/layout/_layouts.scss b/Resources/Private/Source/Scss/layout/_layouts.scss new file mode 100644 index 0000000..688da4d --- /dev/null +++ b/Resources/Private/Source/Scss/layout/_layouts.scss @@ -0,0 +1,15 @@ +@import "../variables"; + +.zt-lt-bg-1 { + background-color: $zentrum-light-gray; +} +.zt-lt-bg-2 { + background-color: $zentrum-black; + color: #ffffff; +} +.zt-lt-bg-3 { + background-color: $zentrum-light-blue; +} +.zt-lt-bg-4 { + background-color: $zentrum-gray; +} diff --git a/Resources/Private/Stylesheets/sass/buena.scss b/Resources/Private/Stylesheets/sass/buena.scss deleted file mode 100644 index 686a4a8..0000000 --- a/Resources/Private/Stylesheets/sass/buena.scss +++ /dev/null @@ -1,31 +0,0 @@ -@charset "UTF-8"; - -// Mixins -// @import "components/prefixer"; -@import "components/color"; - -// Variables; -@import "components/variables"; - -// components -@import "components/global"; -@import "components/grid"; - -@import "components/typography"; -@import "components/branding"; -@import "components/leftNav"; -@import "components/primaryNav"; -@import "components/secondaryNav"; -@import "components/languageMenu"; -@import "components/search"; -@import "components/teaser"; -@import "components/content"; -@import "components/table"; -@import "components/extNews"; -@import "components/extAddress"; -@import "components/extCal"; -@import "components/footer"; -@import "components/mindshapeCookieHint"; - -//print -@import "components/print"; \ No newline at end of file diff --git a/Resources/Private/Stylesheets/sass/components/_branding.scss b/Resources/Private/Stylesheets/sass/components/_branding.scss deleted file mode 100644 index 2cbfaee..0000000 --- a/Resources/Private/Stylesheets/sass/components/_branding.scss +++ /dev/null @@ -1,87 +0,0 @@ -#branding { - background-color: $primary-color; - box-shadow: 0 5px 5px rgba(0,0,0,0.3); - @media #{$medium-and-up} { - z-index: 7; - position: relative; - margin-left: 240px; - margin-bottom: -10px; - padding-bottom: 0; - width: 425px; - height: 145px; - box-shadow: none; - &:after { - content: ""; - display: block; - position: absolute; - top: 22px; - bottom: 0; - z-index: 1; - height: 143px; - width: 457px; - background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGhlaWdodD0nMzAwJyB3aWR0aD0nNDcwJyB2aWV3Qm94PScwIDAgMzAwIDQyNScgcHJlc2VydmVBc3BlY3RSYXRpbz0neE1pbllNaW4gbWVldCc+DQogICAgPGRlZnM+DQogICAgPGxpbmVhckdyYWRpZW50IGlkPSd2ZXJsYXVmJyB4MT0nMCUnIHkxPScwJScgeDI9JzAlJyB5Mj0nMTQwJSc+DQogICAgICA8c3RvcCBvZmZzZXQ9JzAlJyBzdG9wLWNvbG9yPSdibGFjaycgc3RvcC1vcGFjaXR5PScwLjcnIC8+DQogICAgICA8c3RvcCBvZmZzZXQ9JzUwJScgc3RvcC1jb2xvcj0nYmxhY2snIHN0b3Atb3BhY2l0eT0nMC40JyAvPg0KICAgICAgPHN0b3Agb2Zmc2V0PSc4MCUnIHN0b3AtY29sb3I9J2JsYWNrJyBzdG9wLW9wYWNpdHk9JzAuMScgLz4NCiAgICAgIDxzdG9wIG9mZnNldD0nMTAwJScgc3RvcC1jb2xvcj0iYmxhY2siIHN0b3Atb3BhY2l0eT0nMC4wJyAvPg0KICAgIDwvbGluZWFyR3JhZGllbnQ+DQogIDwvZGVmcz4NCiAgICA8cGF0aCBkPSdNMTAsMjAwIEMxNTAsMTcwIDQ1MCwxODAgNjE1LDE5MCBMNjA4LDAwIEwxNSwwIFonIHN0eWxlPSdzdHJva2U6bm9uZTsnIGZpbGw9J3VybCgjdmVybGF1ZiknPjwvcGF0aD48L3N2Zz4=") no-repeat scroll center top; - } - } - #branding__logo { - padding: 1rem; - margin: 0 3.5rem 0 0; - text-align: left; - line-height: 1rem; - img { - max-width: 250px; - } - @media #{$medium-and-up} { - position: relative; - z-index: 20; - margin: 0; - padding: 0; - background-color: $primary-color; - line-height: 115px; - text-align: center; - img { - max-width: 100%; - } - &.no_region { - padding-top: 20px; - padding-bottom: 10px; - } - } - } - #branding__region { - a { - display: block; - font-size: 18px; - padding-left: 0.75rem; - background: $secondary-color; - color: $primary-color; - line-height: 30px; - font-family: Immenhausen,serif; - letter-spacing: 1px; - word-spacing: 2px; - text-decoration: none; - } - @media #{$medium-and-up} { - position: relative; - z-index: 20; - a { - text-align: center; - } - } - } - #responsivemenu { - display: inline; - position: absolute; - top: 1rem; - right: 1rem; - .button-collapse { - color: #000000; - .material-icons { - font-size: 3rem; - } - } - @media #{$medium-and-up} { - display: none; - } - } - -} \ No newline at end of file diff --git a/Resources/Private/Stylesheets/sass/components/_color.scss b/Resources/Private/Stylesheets/sass/components/_color.scss deleted file mode 100644 index 330a321..0000000 --- a/Resources/Private/Stylesheets/sass/components/_color.scss +++ /dev/null @@ -1,87 +0,0 @@ -// Utility Color Classes - -// Bund der Pfadfinderinnen und Pfadfinder e.V. Color Palette defined: https://meinbdp.de/display/OeArbeit/Schriften+und+Farbe - -$bdp-blue:( - "base": #1d4899, - "light": #009ddd, -); - -$bdp-yellow:( - "base": #ffcb04, -); - -$bdp-red:( - "base": #d30014, -); - -$bdp-brown:( - "base": #6b5c48, -); - - -$colors: ( - "bdp-yellow": $bdp-yellow, - "bdp-blue": $bdp-blue, - "bdp-red": $bdp-red, - "bdp-brown": $bdp-brown, -); - - -// Color Classes - -@each $color_name, $color in $colors { - @each $color_type, $color_value in $color { - @if $color_type == "base" { - .#{$color_name} { - background-color: $color_value !important; - } - .#{$color_name}-text { - color: $color_value !important; - } - } - @else if $color_name != "shades" { - .#{$color_name}.#{$color_type} { - background-color: $color_value !important; - } - .#{$color_name}-text.text-#{$color_type} { - color: $color_value !important; - } - } - } -} - - -// usage: color("name_of_color", "type_of_color") -// to avoid to repeating map-get($colors, ...) - -@function color($color, $type) { - @if map-has-key($colors, $color) { - $curr_color: map-get($colors, $color); - @if map-has-key($curr_color, $type) { - @return map-get($curr_color, $type); - } - } - @warn "Unknown `#{name}` in $colors."; - @return null; -} -.bdp-yellow { - h1,h2,h3,h4,h5,h6 { - color: #ffffff !important; - } -} -.bdp-blue { - color: #ffffff; - h1,h2,h3,h4,h5,h6 { - color: #ffffff !important; - } - a { - color: #ffffff !important; - } -} -.bdp-red { - color: #ffffff; - h1,h2,h3,h4,h5,h6 { - color: #ffffff !important; - } -} \ No newline at end of file diff --git a/Resources/Private/Stylesheets/sass/components/_content.scss b/Resources/Private/Stylesheets/sass/components/_content.scss deleted file mode 100644 index 1ff70a0..0000000 --- a/Resources/Private/Stylesheets/sass/components/_content.scss +++ /dev/null @@ -1,115 +0,0 @@ -#content { - p { - } -} - -#content-fw { - p { - } -} -.box { - background-color: #ffffff; - padding: 1em 1em; - box-shadow: 0 5px 5px rgba(0,0,0,0.1); - margin-bottom: 1rem; - h1 { - color: $secondary-color; - padding: 0; - &.bdp-yellow { - color: color("bdp-blue", "base"); - } - } - h2 { - color: $secondary-color; - padding: 0; - &.bdp-yellow { - color: color("bdp-blue", "base"); - } - &.bdp-red { - color: #ffffff; - } - &.bdp-blue { - color: #ffffff; - } - } - h3 { - color: $secondary-color; - padding: 0; - &.bdp-yellow { - color: color("bdp-blue", "base"); - } - } - - &.transparent { - background-color: transparent; - box-shadow: none; - } - - &.with-padding { - margin-right: 0; - margin-bottom: 0; - padding: 1rem 1rem; - } - &.without-padding { - margin-bottom: 1rem; - padding: 0; - } - &.float-50 { - width: 43%; - margin-bottom: 1.5rem; - } -} -.ce-above { - .ce-gallery { - margin-bottom: 0 !important; - } -} -#designelement { - display: none; -} -@media #{$small-only} { - .container { - .row { - margin-left: 1rem; - } - } -} -@media #{$small-and-up} { - .box { - margin-right: 1rem; - } -} -@media #{$medium-and-up} { - #main { - padding-bottom: 286px; - min-height: 400px; - min-height: calc(100vh - 327px); - margin-bottom: 150px; - } - #content { - margin-top: 3rem; - max-width: 710px; - margin-left: 240px; - } - - #content-fw { - margin-top: 3rem; - max-width: 1020px; - margin-left: 240px; - } - - #content-border { - position: absolute; - top: 0; - right: -220px; - width: 200px; - } -} -@media #{$large-and-up} { - #designelement { - display: block; - position: absolute; - top: 0; - right: 0; - } -} diff --git a/Resources/Private/Stylesheets/sass/components/_extAddress.scss b/Resources/Private/Stylesheets/sass/components/_extAddress.scss deleted file mode 100644 index 40ea870..0000000 --- a/Resources/Private/Stylesheets/sass/components/_extAddress.scss +++ /dev/null @@ -1,20 +0,0 @@ -.tx-ttaddress-pi1 { - .vcard { - overflow: hidden; - .photo { - float: left; - } - .address { - margin-left: 114px; - .name { - @extend h3; - @extend .bdp-yellow; - color: $secondary-color; - } - .title { - margin: 0.25em 0 1em 0; - font-style: italic; - } - } - } -} \ No newline at end of file diff --git a/Resources/Private/Stylesheets/sass/components/_extCal.scss b/Resources/Private/Stylesheets/sass/components/_extCal.scss deleted file mode 100644 index 42203cf..0000000 --- a/Resources/Private/Stylesheets/sass/components/_extCal.scss +++ /dev/null @@ -1,113 +0,0 @@ -.tx-cal-controller { - .cal-list { - .vevent { - padding: 0.25em; - abbr { - border: 0; - text-decoration: none; - } - &.even { - background: lighten($primary-color, 40); - } - .dtstart-container { - float: left; - } - .summary { - margin-left: 10em; - .url { - display: block; - } - } - } - } -} - -//@extend-elements -//original selectors -//.slick-prev, .slick-next -%extend_cal_slick { - position: absolute; - top: 50%; - display: block; - margin-top: -10px; - padding: 0.25em; - cursor: pointer; - color: none; - border: none; - outline: none; - background: #ffca28; -} - -//original selectors -//.slick-prev:before, .slick-next:before -%extend_arrow { - font-family: 'Glyphicons Halflings'; - font-style: normal; - font-weight: 400; - font-size: 20px; - color: #1d4899; -} - - -.cal-title { - font-family: Immenhausen, serif; - color: #1d4899; - font-size: 23px; - margin: 0 auto; - width: 60%; - a { - position: absolute; - top: 50%; - //Instead of the line below you could use @include transform($scale, $rotate, $transx, $transy, $skewx, $skewy, $originx, $originy) - transform: translateY(-50%); - } -} -.title-wrapper { - vertical-align: middle; -} -.slick-prev { - @extend %extend_cal_slick; - left: -1em; - &:before { - @extend %extend_arrow; - content: "\e079"; - } -} -.slick-next { - @extend %extend_cal_slick; - right: -1em; - &:before { - @extend %extend_arrow; - content: "\e080"; - } -} -.tx-cal-controller .list-view { - .vevent { - clear: both; - margin-bottom: 0.5em; - abbr { - border: 0; - font-style: italic; - } - .dtstart-container { - float: left; - } - .summary { - margin-left: 4.25em; - //Instead of the line below you could use @include word-break($value) - word-break: break-word; - .location { - display: none; - } - } - } - .cal-row .month-wrapper { - border-right: 1px solid #1d4899; - height: 100%; - padding: 0 1em; - } - .month-wrapper h2 { - margin: 0.25em 0 0.5em 0; - padding: 0; - } -} \ No newline at end of file diff --git a/Resources/Private/Stylesheets/sass/components/_extNews.scss b/Resources/Private/Stylesheets/sass/components/_extNews.scss deleted file mode 100644 index 35a57aa..0000000 --- a/Resources/Private/Stylesheets/sass/components/_extNews.scss +++ /dev/null @@ -1,92 +0,0 @@ -.news { - .news-list-view { - .news_item { - .news-img-wrap { - position: relative; - .news-title { - position: absolute; - left: 0; - bottom: 0; - padding: 0; - margin: 0; - a { - @extend h3; - @extend .bdp-yellow; - color: $secondary-color; - letter-spacing: 0; - margin-left: 0; - &:hover { - text-decoration: none; - } - } - } - } - .teaser-text { - .news-list-date { - font-weight: bold; - display: inline; - } - .description { - display: inline; - p { - &:first-child { - display: inline; - } - &:last-child { - margin-bottom: 0; - } - } - } - margin-top: 0.75rem; - margin-bottom: 0.75rem; - } - } - } -} - -%extend_page_navigation { - font-family: Immenhausen, serif; - font-size: 1.3rem; - color: #ffffff; - margin: 0; - padding: 0; -} - -.page-navigation { - @extend %extend_page_navigation; - text-align: center; - p { - @extend %extend_page_navigation; - display: inline-block; - } - ul { - @extend %extend_page_navigation; - display: inline-block; - li { - @extend %extend_page_navigation; - a { - @extend %extend_page_navigation; - } - } - } - .f3-widget-paginator { - li { - list-style: none; - display: inline-block; - padding: 0 0.5rem; - a { - text-decoration: none; - } - } - .current { - font-size: 2.5rem; - } - } -} -.news-link-to-archiv { - @extend %extend_page_navigation; - text-align: center; - a { - color: #ffffff !important; - } -} \ No newline at end of file diff --git a/Resources/Private/Stylesheets/sass/components/_footer.scss b/Resources/Private/Stylesheets/sass/components/_footer.scss deleted file mode 100644 index 7cae2dc..0000000 --- a/Resources/Private/Stylesheets/sass/components/_footer.scss +++ /dev/null @@ -1,126 +0,0 @@ -#footer { - width: 100%; - box-sizing: border-box; - padding: 1em; - background-color: $primary-color; - box-shadow: 0px -5px 5px rgba(0,0,0,0.3); - #nav-footer { - margin: 1rem 0 0 0; - .nav-footer__title { - font-family: Immenhausen,serif; - font-size: 25px; - padding: 0 0 0.5rem 0; - color: $secondary-color; - - .nav-footer__titleLine { - &:first-child { - line-height: 1.0; - } - } - } - .nav-footer__content { - font-size: 0.85rem; - #nav-footer__menu { - margin: 0; - padding: 0; - li { - font-family: Georgia, serif; - font-size: 14px; - font-style: italic; - margin: 0 0 0.75rem 0; - list-style: none; - a { - padding: 4px 0 4px 25px; - background-repeat: no-repeat; - } - } - .footer_contact { - a { - background-image: url(https://cdn.pfadfinden.de/gfx/icons/kontakt_1.png); - } - } - .footer_privacy { - a { - background-image: url(https://cdn.pfadfinden.de/gfx/icons/impressum_1.png); - } - } - .footer_favorite { - a { - background-image: url(https://cdn.pfadfinden.de/gfx/icons/favoriten_1.png); - } - } - .footer_print { - a { - background-image: url(https://cdn.pfadfinden.de/gfx/icons/drucken_1.png); - } - } - .footer_login { - a { - background-image: url(https://cdn.pfadfinden.de/gfx/icons/login_1.png); - } - } - } - } - - } -} -@media #{$small-and-up} { - #footer { - #nav-footer { - .nav-footer__content { - p { - margin-top: 0; - } - } - } - } -} -@media #{$medium-and-up} { - #footer { - position: relative; - margin-top: -286px; - padding: 0; - height: 286px; - clear: both; - overflow: hidden; - box-shadow: none; - background: url(//cdn.pfadfinden.de/gfx/objects/kochtopf_1.png) no-repeat right bottom; - #nav-footer { - height: 299px; - width: 712px; - background: url(//cdn.pfadfinden.de/gfx/objects/briefumschlag_1.png) no-repeat; - padding: 1em 2em 0 2em; - margin-left: 240px; - margin-top: 0; - .nav-footer__title { - color: $primary-color; - width: 100%; - text-align: center; - height: 125px; - padding: 0 1rem; - .nav-footer__titleLine { - &:first-child { - line-height: 1.5; - padding-top: 0.5rem; - } - &:only-child { - padding-top: 2.5rem; - } - } - } - .nav-footer__content { - margin: 0 2rem; - } - } - } -} -@media #{$medium-only} { - #footer { - #nav-footer { - position: relative; - margin-right: 25px; - margin-left: auto; - } - } -} - diff --git a/Resources/Private/Stylesheets/sass/components/_global.scss b/Resources/Private/Stylesheets/sass/components/_global.scss deleted file mode 100644 index 3452f30..0000000 --- a/Resources/Private/Stylesheets/sass/components/_global.scss +++ /dev/null @@ -1,52 +0,0 @@ -/* apply a natural box layout model to all elements, but allowing components to change */ -html { - box-sizing: border-box; -} -*, *:before, *:after { - box-sizing: inherit; -} - -html{ - background: url(//cdn.pfadfinden.de/gfx/backgrounds/holzhintergrund_1.jpg); -} -@media #{$medium-and-up} { - #wrap { - background: url(//cdn.pfadfinden.de/gfx/objects/klufthemd_1.png) no-repeat; - } -} - -audio, canvas, img, svg, video { - vertical-align: middle; -} - -figure { - margin: 0; -} -.responsive-img { - max-width: 100%; - height: auto; -} - -%mediaelement { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; -} - -.mediaelement-video { - position: relative; - padding-bottom: 56.25%; - height: 0; - overflow: hidden; - iframe { - @extend %mediaelement; - } - object { - @extend %mediaelement; - } - embed { - @extend %mediaelement; - } -} \ No newline at end of file diff --git a/Resources/Private/Stylesheets/sass/components/_grid.scss b/Resources/Private/Stylesheets/sass/components/_grid.scss deleted file mode 100644 index 6ac77bb..0000000 --- a/Resources/Private/Stylesheets/sass/components/_grid.scss +++ /dev/null @@ -1,127 +0,0 @@ -.section { - padding-top: 1rem; - padding-bottom: 1rem; - - &.no-pad { - padding: 0; - } - &.no-pad-bot { - padding-bottom: 0; - } - &.no-pad-top { - padding-top: 0; - } -} - - -.row { - margin-left: auto; - margin-right: auto; - margin-bottom: 1rem; - - // Clear floating children - &:after { - content: ""; - display: table; - clear: both; - } - - .col { - float: left; - box-sizing: border-box; - //padding: 0 $gutter-width / 2; - min-height: 1px; - - &[class*="push-"], - &[class*="pull-"] { - position: relative; - } - - $i: 1; - @while $i <= $num-cols { - $perc: unquote((100 / ($num-cols / $i)) + "%"); - &.s#{$i} { - width: $perc; - margin-left: auto; - left: auto; - right: auto; - } - $i: $i + 1; - } - - $i: 1; - @while $i <= $num-cols { - $perc: unquote((100 / ($num-cols / $i)) + "%"); - &.offset-s#{$i} { - margin-left: $perc; - } - &.pull-s#{$i} { - right: $perc; - } - &.push-s#{$i} { - left: $perc; - } - $i: $i + 1; - } - - @media (min-width : #{$xsmall-screen-up}) { - - $i: 1; - @while $i <= $num-cols { - $perc: unquote((100 / ($num-cols / $i)) + "%"); - &.m#{$i} { - width: $perc; - margin-left: auto; - left: auto; - right: auto; - } - $i: $i + 1 - } - - $i: 1; - @while $i <= $num-cols { - $perc: unquote((100 / ($num-cols / $i)) + "%"); - &.offset-m#{$i} { - margin-left: $perc; - } - &.pull-m#{$i} { - right: $perc; - } - &.push-m#{$i} { - left: $perc; - } - $i: $i + 1; - } - } - - @media (min-width : #{$medium-screen-up}) { - - $i: 1; - @while $i <= $num-cols { - $perc: unquote((100 / ($num-cols / $i)) + "%"); - &.l#{$i} { - width: $perc; - margin-left: auto; - left: auto; - right: auto; - } - $i: $i + 1; - } - - $i: 1; - @while $i <= $num-cols { - $perc: unquote((100 / ($num-cols / $i)) + "%"); - &.offset-l#{$i} { - margin-left: $perc; - } - &.pull-l#{$i} { - right: $perc; - } - &.push-l#{$i} { - left: $perc; - } - $i: $i + 1; - } - } - } -} diff --git a/Resources/Private/Stylesheets/sass/components/_languageMenu.scss b/Resources/Private/Stylesheets/sass/components/_languageMenu.scss deleted file mode 100644 index cccfa72..0000000 --- a/Resources/Private/Stylesheets/sass/components/_languageMenu.scss +++ /dev/null @@ -1,9 +0,0 @@ -#language-menu { - ul { - li { - color: #ffffff; - font-family: "Georgia", serif; - font-style: italic; - } - } -} \ No newline at end of file diff --git a/Resources/Private/Stylesheets/sass/components/_leftNav.scss b/Resources/Private/Stylesheets/sass/components/_leftNav.scss deleted file mode 100644 index b2edca4..0000000 --- a/Resources/Private/Stylesheets/sass/components/_leftNav.scss +++ /dev/null @@ -1,19 +0,0 @@ -#nav-left { - margin: 0 0 1rem 0; - ul { - margin: 0; - padding: 0; - li { - list-style: none; - } - } - @media #{$medium-and-up} { - position: absolute; - top: 120px; - left: 40px; - width: 160px; - padding: 0; - margin: 0; - z-index: 7; - } -} \ No newline at end of file diff --git a/Resources/Private/Stylesheets/sass/components/_mindshapeCookieHint.scss b/Resources/Private/Stylesheets/sass/components/_mindshapeCookieHint.scss deleted file mode 100644 index 7110a53..0000000 --- a/Resources/Private/Stylesheets/sass/components/_mindshapeCookieHint.scss +++ /dev/null @@ -1,171 +0,0 @@ -body.cookie-padding { - padding-bottom: 50px; -} -.cc_banner-wrapper { - z-index: 9001; - position: absolute; -} -.cc_container { - position: fixed; - left: 0; - right: 0; - bottom: 0; - overflow: hidden; - padding: 10px; - background: $primary-color; - color: #fff; - font-size: 17px; - font-family: 'Immenhausen', serif; - box-sizing: border-box; - animation-duration: 0.8s; - animation-name: slideUp; - box-shadow: 0 -5px 5px rgba(0,0,0,.1); - .cc_btn { - line-height: 1em; - padding: 8px 10px; - background: $secondary-color; - color: $primary-color; - cursor: pointer; - text-align: center; - font-size: 0.6em; - display: block; - width: 33%; - margin-left: 10px; - float: right; - max-width: 120px; - transition: font-size 200ms, background 200ms ease-in-out, color 200ms ease-in-out, box-shadow 200ms ease-in-out; - &:visited { - background: $secondary-color; - color: $primary-color; - transition: background 200ms ease-in-out, color 200ms ease-in-out, box-shadow 200ms ease-in-out; - } - &:hover { - background: $secondary-color; - color: $primary-color; - box-shadow: 0 5px 5px rgba(0,0,0,.1); - } - &:active { - background: $secondary-color; - color: $primary-color; - } - a { - text-decoration: none; - } - } - .cc_message { - margin: 0; - padding: 0; - line-height: 1.5em; - color: #000000; - transition: font-size 200ms; - font-size: 0.6em; - display: block; - .cc_more_info { - color: $secondary-color; - &:hover { - color: #000000; - text-decoration: underline; - } - } - } - .cc_logo { - display: none; - text-indent: -1000px; - overflow: hidden; - width: 100px; - height: 22px; - background-size: cover; - opacity: 0.9; - transition: opacity 200ms; - &:hover { - opacity: 1; - } - &:active { - opacity: 1; - } - } - ::-moz-selection { - background: #ff5e99; - color: #fff; - text-shadow: none; - } - a { - text-decoration: none; - color: #c8c8c8; - transition: 200ms color; - &:visited { - text-decoration: none; - color: #c8c8c8; - transition: 200ms color; - } - &:hover { - text-decoration: none; - color: #888; - } - &:active { - text-decoration: none; - color: #888; - } - } -} -@media screen and(min-width: 500px) { - .cc_container { - .cc_btn { - font-size: 0.8em; - } - .cc_message { - font-size: 0.8em; - margin-top: 0.7em; - } - } -} -@media screen and(min-width: 768px) { - .cc_container { - padding: 10px 50px; - .cc_btn { - font-size: 0.8em; - padding: 8px 15px; - } - .cc_message { - font-size: 0.8em; - line-height: 0.8em; - } - } -} -@media screen and(min-width: 992px) { - .cc_container .cc_message { - font-size: 0.8em; - } -} -@media print { - .cc_banner-wrapper { - display: none; - } - .cc_container { - display: none; - } -} -@-webkit-keyframes slideUp { - 0% { - transform: translateY(66px); - } - 100% { - transform: translateY(0); - } -} -@keyframes slideUp { - 0% { - transform: translateY(66px); - } - 100% { - transform: translateY(0); - } -} -.cc_message { - animation-duration: 0.8s; - animation-name: slideUp; -} -.cc_btn { - animation-duration: 0.8s; - animation-name: slideUp; -} diff --git a/Resources/Private/Stylesheets/sass/components/_primaryNav.scss b/Resources/Private/Stylesheets/sass/components/_primaryNav.scss deleted file mode 100644 index 9567700..0000000 --- a/Resources/Private/Stylesheets/sass/components/_primaryNav.scss +++ /dev/null @@ -1,77 +0,0 @@ -#nav-primary { - background-color: $primary-color; - #nav-primary__menu { - display: none; - @media #{$medium-and-up} { - display: block; - padding-top: 10px; - padding-bottom: 40px; - } - } - ul { - padding: 0 0 1rem 0; - li { - display: block; - color: color("bdp-brown","base"); - font-family: Immenhausen,serif; - font-size: 1.3rem; - letter-spacing: 0.01em; - a { - padding: 0.4em 0.5em 0.4em 1em; - color: color("bdp-brown","base"); - display: block; - &:hover { - text-decoration: none; - color: #000000; - } - } - span { - padding: 0.4em 0.5em 0.4em 1em; - display: block; - } - &.active { - border-bottom: 1px solid #9F7515; - border-top: 1px solid #9F7515; - padding: 0.5rem 0 0.5em 0; - margin: 0.5rem 0 0.5rem 0; - background-color: #E1AF22; - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#E0CB84',endColorstr='#ffffff'); - background-image: -webkit-linear-gradient(#9F7515 0%,#E1AF22 100%); - background-image: -moz-linear-gradient(#9F7515 0%,#E1AF22 100%); - background-image: -o-linear-gradient(#9F7515 0%,#E1AF22 100%); - background-image: linear-gradient(#9F7515 0%,#E1AF22 100%); - span { - color: #ffffff; - } - } - ul { - padding: 0; - li { - padding: 5px 5px 5px 25px; - display: block; - text-decoration: none; - color: #000000; - font-family: Georgia, serif; - font-style: italic; - font-size: 12px; - a { - color: #000000; - padding: 0; - &:hover { - color: #6b5c48; - } - } - &.active { - border: none; - padding: 5px 5px 5px 25px; - margin: 0; - background: none; - span { - padding: 0; - } - } - } - } - } - } -} \ No newline at end of file diff --git a/Resources/Private/Stylesheets/sass/components/_print.scss b/Resources/Private/Stylesheets/sass/components/_print.scss deleted file mode 100644 index 2c10b9b..0000000 --- a/Resources/Private/Stylesheets/sass/components/_print.scss +++ /dev/null @@ -1,48 +0,0 @@ -@media print { - @page { - size: A4; - margin: 1.0cm; - } - - html, body { - //width: 210mm; - //height: 297mm; - } - body { - padding-bottom: 1cm; - padding-left: 0.5cm; - padding-right: 0.5cm; - padding-top: 1cm; - margin: 0; - } - #wrap, #content, #content-fw { - //width: 80rem; - } - #content { - margin: 0 !important; - } - #branding { - #branding__region a { - color: #000000; - background: none; - } - } - .masonry-container { - .masonry-item { - position: static !important; - display: inline-block; - } - } - .news { - .news-list-view { - .news_item { - .news-img-wrap { - page-break-inside: avoid; - } - } - } - } - h1, h2, h3 { - color: #000000; - } -} \ No newline at end of file diff --git a/Resources/Private/Stylesheets/sass/components/_search.scss b/Resources/Private/Stylesheets/sass/components/_search.scss deleted file mode 100644 index bd15dd6..0000000 --- a/Resources/Private/Stylesheets/sass/components/_search.scss +++ /dev/null @@ -1,33 +0,0 @@ -.searchbox { - display: none; -} -@media #{$large-and-up} { - .searchbox { - display: block; - position: absolute; - top: 1.5em; - left: 750px; - background: url(//cdn.pfadfinden.de/gfx/objects/streichholzschachtel_1.png) no-repeat; - width: 180px; - height: 114px; - .searchbox__submit { - font-family: Immenhausen, serif; - color: $primary-color; - font-size: 1.3rem; - margin: 25px 0 0 35px; - border: 0; - background: none; - padding: 0; - text-align: left; - } - .searchbox__input { - font-size: 0.9rem; - margin: 5px 25px 0 35px; - border: 2px solid $primary-color; - background: transparent; - color: #ffffff; - padding: 2px; - width: 100px; - } - } -} \ No newline at end of file diff --git a/Resources/Private/Stylesheets/sass/components/_secondaryNav.scss b/Resources/Private/Stylesheets/sass/components/_secondaryNav.scss deleted file mode 100644 index 3c9fb0c..0000000 --- a/Resources/Private/Stylesheets/sass/components/_secondaryNav.scss +++ /dev/null @@ -1,45 +0,0 @@ -#nav-secondary { - background: rgba(56,46,35,0.7); - padding: 35px 15px 15px 20px; - display: none; - font-size: 0.9rem; - @media #{$medium-and-up} { - display: block; - } - - #branding__region__logo { - margin-left: -5px; - figure { - img { - display: block; - margin: 0 auto; - } - } - } - .nav-secondary__section { - padding: 1rem 0; - h4 { - margin: 0 0 0.4rem 0; - padding: 0; - color: $primary-color; - font-size: 1.2rem; - font-weight: normal; - letter-spacing: 0.02rem; - } - ul { - margin: 0; - padding: 0; - li { - list-style: none; - a { - color: #ffffff; - font-family: "Georgia", serif; - font-style: italic; - &:visited { - color:#ffffff; - } - } - } - } - } -} \ No newline at end of file diff --git a/Resources/Private/Stylesheets/sass/components/_table.scss b/Resources/Private/Stylesheets/sass/components/_table.scss deleted file mode 100644 index 5f58f81..0000000 --- a/Resources/Private/Stylesheets/sass/components/_table.scss +++ /dev/null @@ -1,124 +0,0 @@ -// Tables -table, th, td { - border: none; -} - -table { - width:100%; - display: table; - - &.bordered > thead > tr, - &.bordered > tbody > tr { - border-bottom: 1px solid $table-border-color; - } - - &.striped > tbody { - > tr:nth-child(odd) { - background-color: $table-striped-color; - } - - > tr > td { - border-radius: 0; - } - } - - &.highlight > tbody > tr { - transition: background-color .25s ease; - &:hover { - background-color: $table-striped-color; - } - } - - &.centered { - thead tr th, tbody tr td { - text-align: center; - } - } - -} - -thead { - border-bottom: 1px solid $table-border-color; -} - -td, th{ - padding: 15px 5px; - display: table-cell; - text-align: left; - vertical-align: middle; - border-radius: 2px; -} - -// Responsive Table -@media #{$medium-and-down} { - - table.responsive-table { - width: 100%; - border-collapse: collapse; - border-spacing: 0; - display: block; - position: relative; - - td:empty:before { - content: '\00a0'; - } - - th, - td { - margin: 0; - vertical-align: top; - } - - th { text-align: left; } - thead { - display: block; - float: left; - - tr { - display: block; - padding: 0 10px 0 0; - - th::before { - content: "\00a0"; - } - } - } - tbody { - display: block; - width: auto; - position: relative; - overflow-x: auto; - white-space: nowrap; - - tr { - display: inline-block; - vertical-align: top; - } - } - th { - display: block; - text-align: right; - } - td { - display: block; - min-height: 1.25em; - text-align: left; - } - tr { padding: 0 10px; } - - /* sort out borders */ - thead { - border: 0; - border-right: 1px solid $table-border-color; - } - - &.bordered { - th { border-bottom: 0; border-left: 0; } - td { border-left: 0; border-right: 0; border-bottom: 0; } - tr { border: 0; } - tbody tr { border-right: 1px solid $table-border-color; } - } - - } - -} \ No newline at end of file diff --git a/Resources/Private/Stylesheets/sass/components/_teaser.scss b/Resources/Private/Stylesheets/sass/components/_teaser.scss deleted file mode 100644 index 4809a1e..0000000 --- a/Resources/Private/Stylesheets/sass/components/_teaser.scss +++ /dev/null @@ -1,41 +0,0 @@ -.teaser { - position: relative; - margin: 0 0 1rem 0; - display: inline-block; - img { - width: 100%; - height: auto; - max-width: 1300px; - box-shadow: 0 5px 5px rgba(0,0,0,0.3); - } - .teaser__title { - position: absolute; - left: 1rem; - bottom: 1rem; - .teaser__titleline { - background: rgba(56,46,35,0.7); - padding: 0.05em 0.25em; - display: inline; - margin-bottom: 0.25em; - font-size: 2rem; - font-family: Immenhausen, serif; - color: $primary-color; - } - } - @media #{$medium-and-up} { - &+ #content { - margin-top: 1rem; - } - &+ #content-fw { - margin-top: 1rem; - } - .teaser__title { - position: absolute; - left: 240px; - bottom: 1em; - .teaser__titleline { - font-size: 4rem; - } - } - } -} diff --git a/Resources/Private/Stylesheets/sass/components/_typography.scss b/Resources/Private/Stylesheets/sass/components/_typography.scss deleted file mode 100644 index 7f8d2ca..0000000 --- a/Resources/Private/Stylesheets/sass/components/_typography.scss +++ /dev/null @@ -1,117 +0,0 @@ -a { - color: $secondary-color; - text-decoration: none; - &:hover { - text-decoration: underline; - } - &:visited { - color: $secondary-color; - } -} - -html{ - line-height: 1.5; - font-size: 14px; - font-family: 'Roboto', 'Verdana', 'Arial', sans-serif; - color: #000000; -} -h1, h2, h3, h4, h5, h6 { - font-family: 'Immenhausen', serif; - font-weight: 400; - line-height: 1.1; - margin: 1.1rem 0 0.5rem 0; - color: #ffffff; - padding: 0 13px; - @media #{$medium-and-up} { - padding: 0; - } -} - -// Header Styles -h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { font-weight: inherit; } -h1 { font-size: $h1-fontsize; line-height: 110%; margin: ($h1-fontsize / 2) 0 ($h1-fontsize / 2.5) 0;} -h2 { font-size: $h2-fontsize; line-height: 110%; margin: ($h2-fontsize / 2) 0 ($h2-fontsize / 2.5) 0;} -h3 { font-size: $h3-fontsize; line-height: 110%; margin: ($h3-fontsize / 2) 0 ($h3-fontsize / 2.5) 0;} -h4 { font-size: $h4-fontsize; line-height: 110%; margin: ($h4-fontsize / 2) 0 ($h4-fontsize / 2.5) 0;} -h5 { font-size: $h5-fontsize; line-height: 110%; margin: ($h5-fontsize / 2) 0 ($h5-fontsize / 2.5) 0;} -h6 { font-size: $h6-fontsize; line-height: 110%; margin: ($h6-fontsize / 2) 0 ($h6-fontsize / 2.5) 0;} - - -%extend_h { - display: inline; - padding: 4px 4px 3px 4px !important; - margin: 0.5em 0 0.5em -2px; - line-height: 1.4; - letter-spacing: 1px; - -o-box-decoration-break: clone; - -webkit-box-decoration-break: clone; - box-decoration-break: clone; -} - -%extend_yellow_h { - @extend %extend_h; - color: color("bdp-blue", "base"); -} -%extend_red_h { - @extend %extend_h; - color: #ffffff; -} -%extend_blue_h { - @extend %extend_h; - color: #ffffff; -} - -h1 { - &.bdp-yellow { - @extend %extend_yellow_h; - } -} -h2 { - &.bdp-yellow { - @extend %extend_yellow_h; - } - &.bdp-red { - @extend %extend_red_h; - } - &.bdp-blue { - @extend %extend_blue_h; - } -} -h3 { - &.bdp-yellow { - @extend %extend_yellow_h; - } -} -h4 { - &.bdp-yellow { - @extend %extend_yellow_h; - } -} -h5 { - &.bdp-yellow { - @extend %extend_yellow_h; - } -} -h6 { - &.bdp-yellow { - @extend %extend_yellow_h; - } -} -.headline { - @extend h3; - &.bdp-yellow { - @extend %extend_yellow_h; - } -} - -// Text Styles -em { font-style: italic; } -strong { font-weight: bold; } -small { font-size: 75%; } -.light { font-weight: 300; } -.thin { font-weight: 200; } - -p { - margin: 0.75rem 0; - padding: 0; -} \ No newline at end of file diff --git a/Resources/Private/Stylesheets/sass/components/_variables.scss b/Resources/Private/Stylesheets/sass/components/_variables.scss deleted file mode 100644 index e1b080d..0000000 --- a/Resources/Private/Stylesheets/sass/components/_variables.scss +++ /dev/null @@ -1,90 +0,0 @@ -/* ========================================================================== - Materialize variables - ========================================================================== */ -/** - * Table of Contents: - * - * 1. Colors - * 2. Global - * 3. Grid - * 4. Tables - * 5. Typography - * 6. Footer - * 7. Tables - */ - - -/* 1. Colors - ========================================================================== */ - -$primary-color: color("bdp-yellow", "base") !default; - -$secondary-color: color("bdp-blue", "base") !default; -$link-color: color("bdp-blue", "base") !default; - - -/* 2. Global - ========================================================================== */ - -// Media Query Ranges -$xsmall-screen-up: 601px !default; -$small-screen-up: 769px !default; -$medium-screen-up: 993px !default; -$large-screen-up: 1201px !default; -$xsmall-screen: 600px !default; -$small-screen: 768px !default; -$medium-screen: 992px !default; -$large-screen: 1200px !default; - -$small-and-up: "only screen and (min-width : #{$xsmall-screen-up})" !default; -$medium-and-up: "only screen and (min-width : #{$small-screen-up})" !default; -$large-and-up: "only screen and (min-width : #{$medium-screen-up})" !default; -$small-and-down: "only screen and (max-width : #{$small-screen})" !default; -$medium-and-down: "only screen and (max-width : #{$medium-screen})" !default; -$small-only: "only screen and (min-width : #{$xsmall-screen-up}) and (max-width : #{$small-screen})" !default; -$medium-only: "only screen and (min-width : #{$small-screen-up}) and (max-width : #{$medium-screen})" !default; - - - -/* 3. Grid - ========================================================================== */ - -$num-cols: 12 !default; -$gutter-width: 0 !default; -$element-top-margin: $gutter-width/3 !default; -$element-bottom-margin: ($gutter-width*2)/3 !default; - - -/* 4. Tables - ========================================================================== */ - -$table-border-color: #d0d0d0 !default; -$table-striped-color: #f2f2f2 !default; - - -/* 5. Typography - ========================================================================== */ - -$off-black: rgba(0, 0, 0, 0.87) !default; -// Header Styles -$h1-fontsize: 2.5rem !default; -$h2-fontsize: 1.5rem !default; -$h3-fontsize: 1.3rem !default; -$h4-fontsize: 1rem !default; -$h5-fontsize: 1rem !default; -$h6-fontsize: 1rem !default; - - -/* 6. Footer - ========================================================================== */ - -$footer-bg-color: $primary-color !default; - -/* 7. Tables - ========================================================================== */ - -$table-border-color: #d0d0d0 !default; -$table-striped-color: #f2f2f2 !default; - - - diff --git a/Resources/Private/Templates/ContentElements/.gitkeep b/Resources/Private/Templates/ContentElements/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Resources/Private/Templates/ContentElements/.gitkeep @@ -0,0 +1 @@ + diff --git a/Resources/Private/Templates/DefaultTemplate.html b/Resources/Private/Templates/DefaultTemplate.html deleted file mode 100644 index da9355d..0000000 --- a/Resources/Private/Templates/DefaultTemplate.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/Resources/Private/Templates/Notfound.html b/Resources/Private/Templates/Notfound.html deleted file mode 100644 index 2d45264..0000000 --- a/Resources/Private/Templates/Notfound.html +++ /dev/null @@ -1,219 +0,0 @@ - - - - - - BdP | Seite nicht gefunden - - - - - - - -
    - -
    -
    -
    -

    Fehler 404: Seite nicht gefunden

    -
    -

    Was ist passiert?

    -

    Selbst wir finden hin und wieder nicht auf Anhieb den richtigen Pfad.
    Gut gerüstet mit - Kompass und Landkarte erreichen wir aber trotzdem immer unser Ziel.

    - -
    -
    -

    Technische Details

    -

    ###REASON###

    -

    Request URL: ###CURRENT_URL###

    -
    -
    -
    -
    -
    - - \ No newline at end of file diff --git a/Resources/Private/Templates/Page/Default.html b/Resources/Private/Templates/Page/Default.html new file mode 100644 index 0000000..b09499a --- /dev/null +++ b/Resources/Private/Templates/Page/Default.html @@ -0,0 +1,4 @@ + + + + diff --git a/Resources/Private/Templates/Page/HeaderWithOneColumn.html b/Resources/Private/Templates/Page/HeaderWithOneColumn.html new file mode 100644 index 0000000..ae5cdea --- /dev/null +++ b/Resources/Private/Templates/Page/HeaderWithOneColumn.html @@ -0,0 +1,9 @@ + + +
    + +
    +
    + + + diff --git a/Resources/Public/.htaccess b/Resources/Public/.htaccess deleted file mode 100644 index 033711f..0000000 --- a/Resources/Public/.htaccess +++ /dev/null @@ -1,10 +0,0 @@ - - ExpiresActive on - ExpiresDefault "access plus 6 months" - ExpiresByType image/gif "access plus 6 months" - ExpiresByType image/png "access plus 6 months" - ExpiresByType text/css "access plus 6 months" - ExpiresByType application/x-javascript "access plus 6 months" - ExpiresByType text/javascript "access plus 6 months" - ExpiresByType image/jpeg "access plus 6 months" - \ No newline at end of file diff --git a/Resources/Public/CSS/buena.min.css b/Resources/Public/CSS/buena.min.css deleted file mode 100644 index eaca9a8..0000000 --- a/Resources/Public/CSS/buena.min.css +++ /dev/null @@ -1 +0,0 @@ -.bdp-yellow,.news .news-list-view .news_item .news-img-wrap .news-title a,.tx-ttaddress-pi1 .vcard .address .name{background-color:#ffcb04!important}.bdp-yellow-text{color:#ffcb04!important}.bdp-blue{background-color:#1d4899!important}.bdp-blue-text{color:#1d4899!important}.bdp-blue.light{background-color:#009ddd!important}.bdp-blue-text.text-light{color:#009ddd!important}.bdp-red{background-color:#d30014!important}.bdp-red-text{color:#d30014!important}.bdp-brown{background-color:#6b5c48!important}.bdp-brown-text{color:#6b5c48!important}.bdp-yellow .headline,.bdp-yellow .news .news-list-view .news_item .news-img-wrap .news-title a,.bdp-yellow .tx-ttaddress-pi1 .vcard .address .name,.bdp-yellow h1,.bdp-yellow h2,.bdp-yellow h3,.bdp-yellow h4,.bdp-yellow h5,.bdp-yellow h6,.news .news-list-view .news_item .news-img-wrap .news-title .bdp-yellow a,.news .news-list-view .news_item .news-img-wrap .news-title .tx-ttaddress-pi1 .vcard .address .name a,.news .news-list-view .news_item .news-img-wrap .news-title a .headline,.news .news-list-view .news_item .news-img-wrap .news-title a .tx-ttaddress-pi1 .vcard .address .name,.news .news-list-view .news_item .news-img-wrap .news-title a a,.news .news-list-view .news_item .news-img-wrap .news-title a h1,.news .news-list-view .news_item .news-img-wrap .news-title a h2,.news .news-list-view .news_item .news-img-wrap .news-title a h3,.news .news-list-view .news_item .news-img-wrap .news-title a h4,.news .news-list-view .news_item .news-img-wrap .news-title a h5,.news .news-list-view .news_item .news-img-wrap .news-title a h6,.tx-ttaddress-pi1 .vcard .address .bdp-yellow .name,.tx-ttaddress-pi1 .vcard .address .name .headline,.tx-ttaddress-pi1 .vcard .address .name .name,.tx-ttaddress-pi1 .vcard .address .name .news .news-list-view .news_item .news-img-wrap .news-title a,.tx-ttaddress-pi1 .vcard .address .name h1,.tx-ttaddress-pi1 .vcard .address .name h2,.tx-ttaddress-pi1 .vcard .address .name h3,.tx-ttaddress-pi1 .vcard .address .name h4,.tx-ttaddress-pi1 .vcard .address .name h5,.tx-ttaddress-pi1 .vcard .address .name h6,.tx-ttaddress-pi1 .vcard .address .news .news-list-view .news_item .news-img-wrap .news-title a .name{color:#fff!important}.bdp-blue{color:#fff}.bdp-blue .headline,.bdp-blue .news .news-list-view .news_item .news-img-wrap .news-title a,.bdp-blue .tx-ttaddress-pi1 .vcard .address .name,.bdp-blue a,.bdp-blue h1,.bdp-blue h2,.bdp-blue h3,.bdp-blue h4,.bdp-blue h5,.bdp-blue h6,.news .news-list-view .news_item .news-img-wrap .news-title .bdp-blue a,.tx-ttaddress-pi1 .vcard .address .bdp-blue .name{color:#fff!important}.bdp-red{color:#fff}.bdp-red .headline,.bdp-red .news .news-list-view .news_item .news-img-wrap .news-title a,.bdp-red .tx-ttaddress-pi1 .vcard .address .name,.bdp-red h1,.bdp-red h2,.bdp-red h3,.bdp-red h4,.bdp-red h5,.bdp-red h6,.news .news-list-view .news_item .news-img-wrap .news-title .bdp-red a,.tx-ttaddress-pi1 .vcard .address .bdp-red .name{color:#fff!important}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}html{background:url(//cdn.pfadfinden.de/gfx/backgrounds/holzhintergrund_1.jpg)}@media only screen and (min-width:769px){#wrap{background:url(//cdn.pfadfinden.de/gfx/objects/klufthemd_1.png) no-repeat}}audio,canvas,img,svg,video{vertical-align:middle}figure{margin:0}.responsive-img{max-width:100%;height:auto}.mediaelement-video embed,.mediaelement-video iframe,.mediaelement-video object{position:absolute;top:0;left:0;width:100%;height:100%}.mediaelement-video{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.section{padding-top:1rem;padding-bottom:1rem}.section.no-pad{padding:0}.section.no-pad-bot{padding-bottom:0}.section.no-pad-top{padding-top:0}.row{margin-left:auto;margin-right:auto;margin-bottom:1rem}.row:after{content:"";display:table;clear:both}.row .col{float:left;box-sizing:border-box;min-height:1px}.row .col[class*=pull-],.row .col[class*=push-]{position:relative}.row .col.s1{width:8.33333%}.row .col.s1,.row .col.s2{margin-left:auto;left:auto;right:auto}.row .col.s2{width:16.66667%}.row .col.s3{width:25%}.row .col.s3,.row .col.s4{margin-left:auto;left:auto;right:auto}.row .col.s4{width:33.33333%}.row .col.s5{width:41.66667%}.row .col.s5,.row .col.s6{margin-left:auto;left:auto;right:auto}.row .col.s6{width:50%}.row .col.s7{width:58.33333%}.row .col.s7,.row .col.s8{margin-left:auto;left:auto;right:auto}.row .col.s8{width:66.66667%}.row .col.s9{width:75%}.row .col.s9,.row .col.s10{margin-left:auto;left:auto;right:auto}.row .col.s10{width:83.33333%}.row .col.s11{width:91.66667%}.row .col.s11,.row .col.s12{margin-left:auto;left:auto;right:auto}.row .col.s12{width:100%}.row .col.offset-s1{margin-left:8.33333%}.row .col.pull-s1{right:8.33333%}.row .col.push-s1{left:8.33333%}.row .col.offset-s2{margin-left:16.66667%}.row .col.pull-s2{right:16.66667%}.row .col.push-s2{left:16.66667%}.row .col.offset-s3{margin-left:25%}.row .col.pull-s3{right:25%}.row .col.push-s3{left:25%}.row .col.offset-s4{margin-left:33.33333%}.row .col.pull-s4{right:33.33333%}.row .col.push-s4{left:33.33333%}.row .col.offset-s5{margin-left:41.66667%}.row .col.pull-s5{right:41.66667%}.row .col.push-s5{left:41.66667%}.row .col.offset-s6{margin-left:50%}.row .col.pull-s6{right:50%}.row .col.push-s6{left:50%}.row .col.offset-s7{margin-left:58.33333%}.row .col.pull-s7{right:58.33333%}.row .col.push-s7{left:58.33333%}.row .col.offset-s8{margin-left:66.66667%}.row .col.pull-s8{right:66.66667%}.row .col.push-s8{left:66.66667%}.row .col.offset-s9{margin-left:75%}.row .col.pull-s9{right:75%}.row .col.push-s9{left:75%}.row .col.offset-s10{margin-left:83.33333%}.row .col.pull-s10{right:83.33333%}.row .col.push-s10{left:83.33333%}.row .col.offset-s11{margin-left:91.66667%}.row .col.pull-s11{right:91.66667%}.row .col.push-s11{left:91.66667%}.row .col.offset-s12{margin-left:100%}.row .col.pull-s12{right:100%}.row .col.push-s12{left:100%}@media (min-width:601px){.row .col.m1{width:8.33333%}.row .col.m1,.row .col.m2{margin-left:auto;left:auto;right:auto}.row .col.m2{width:16.66667%}.row .col.m3{width:25%}.row .col.m3,.row .col.m4{margin-left:auto;left:auto;right:auto}.row .col.m4{width:33.33333%}.row .col.m5{width:41.66667%}.row .col.m5,.row .col.m6{margin-left:auto;left:auto;right:auto}.row .col.m6{width:50%}.row .col.m7{width:58.33333%}.row .col.m7,.row .col.m8{margin-left:auto;left:auto;right:auto}.row .col.m8{width:66.66667%}.row .col.m9{width:75%}.row .col.m9,.row .col.m10{margin-left:auto;left:auto;right:auto}.row .col.m10{width:83.33333%}.row .col.m11{width:91.66667%}.row .col.m11,.row .col.m12{margin-left:auto;left:auto;right:auto}.row .col.m12{width:100%}.row .col.offset-m1{margin-left:8.33333%}.row .col.pull-m1{right:8.33333%}.row .col.push-m1{left:8.33333%}.row .col.offset-m2{margin-left:16.66667%}.row .col.pull-m2{right:16.66667%}.row .col.push-m2{left:16.66667%}.row .col.offset-m3{margin-left:25%}.row .col.pull-m3{right:25%}.row .col.push-m3{left:25%}.row .col.offset-m4{margin-left:33.33333%}.row .col.pull-m4{right:33.33333%}.row .col.push-m4{left:33.33333%}.row .col.offset-m5{margin-left:41.66667%}.row .col.pull-m5{right:41.66667%}.row .col.push-m5{left:41.66667%}.row .col.offset-m6{margin-left:50%}.row .col.pull-m6{right:50%}.row .col.push-m6{left:50%}.row .col.offset-m7{margin-left:58.33333%}.row .col.pull-m7{right:58.33333%}.row .col.push-m7{left:58.33333%}.row .col.offset-m8{margin-left:66.66667%}.row .col.pull-m8{right:66.66667%}.row .col.push-m8{left:66.66667%}.row .col.offset-m9{margin-left:75%}.row .col.pull-m9{right:75%}.row .col.push-m9{left:75%}.row .col.offset-m10{margin-left:83.33333%}.row .col.pull-m10{right:83.33333%}.row .col.push-m10{left:83.33333%}.row .col.offset-m11{margin-left:91.66667%}.row .col.pull-m11{right:91.66667%}.row .col.push-m11{left:91.66667%}.row .col.offset-m12{margin-left:100%}.row .col.pull-m12{right:100%}.row .col.push-m12{left:100%}}@media (min-width:993px){.row .col.l1{width:8.33333%}.row .col.l1,.row .col.l2{margin-left:auto;left:auto;right:auto}.row .col.l2{width:16.66667%}.row .col.l3{width:25%}.row .col.l3,.row .col.l4{margin-left:auto;left:auto;right:auto}.row .col.l4{width:33.33333%}.row .col.l5{width:41.66667%}.row .col.l5,.row .col.l6{margin-left:auto;left:auto;right:auto}.row .col.l6{width:50%}.row .col.l7{width:58.33333%}.row .col.l7,.row .col.l8{margin-left:auto;left:auto;right:auto}.row .col.l8{width:66.66667%}.row .col.l9{width:75%}.row .col.l9,.row .col.l10{margin-left:auto;left:auto;right:auto}.row .col.l10{width:83.33333%}.row .col.l11{width:91.66667%}.row .col.l11,.row .col.l12{margin-left:auto;left:auto;right:auto}.row .col.l12{width:100%}.row .col.offset-l1{margin-left:8.33333%}.row .col.pull-l1{right:8.33333%}.row .col.push-l1{left:8.33333%}.row .col.offset-l2{margin-left:16.66667%}.row .col.pull-l2{right:16.66667%}.row .col.push-l2{left:16.66667%}.row .col.offset-l3{margin-left:25%}.row .col.pull-l3{right:25%}.row .col.push-l3{left:25%}.row .col.offset-l4{margin-left:33.33333%}.row .col.pull-l4{right:33.33333%}.row .col.push-l4{left:33.33333%}.row .col.offset-l5{margin-left:41.66667%}.row .col.pull-l5{right:41.66667%}.row .col.push-l5{left:41.66667%}.row .col.offset-l6{margin-left:50%}.row .col.pull-l6{right:50%}.row .col.push-l6{left:50%}.row .col.offset-l7{margin-left:58.33333%}.row .col.pull-l7{right:58.33333%}.row .col.push-l7{left:58.33333%}.row .col.offset-l8{margin-left:66.66667%}.row .col.pull-l8{right:66.66667%}.row .col.push-l8{left:66.66667%}.row .col.offset-l9{margin-left:75%}.row .col.pull-l9{right:75%}.row .col.push-l9{left:75%}.row .col.offset-l10{margin-left:83.33333%}.row .col.pull-l10{right:83.33333%}.row .col.push-l10{left:83.33333%}.row .col.offset-l11{margin-left:91.66667%}.row .col.pull-l11{right:91.66667%}.row .col.push-l11{left:91.66667%}.row .col.offset-l12{margin-left:100%}.row .col.pull-l12{right:100%}.row .col.push-l12{left:100%}}a{color:#1d4899;text-decoration:none}a:hover{text-decoration:underline}a:visited{color:#1d4899}html{line-height:1.5;font-size:14px;font-family:Roboto,Verdana,Arial,sans-serif;color:#000}.headline,.news .news-list-view .news_item .news-img-wrap .news-title a,.tx-ttaddress-pi1 .vcard .address .name,h1,h2,h3,h4,h5,h6{font-family:Immenhausen,serif;font-weight:400;line-height:1.1;margin:1.1rem 0 .5rem;color:#fff;padding:0 13px}@media only screen and (min-width:769px){.headline,.news .news-list-view .news_item .news-img-wrap .news-title a,.tx-ttaddress-pi1 .vcard .address .name,h1,h2,h3,h4,h5,h6{padding:0}}.headline a,.news .news-list-view .news_item .news-img-wrap .news-title a a,.tx-ttaddress-pi1 .vcard .address .name a,h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{font-weight:inherit}h1{font-size:2.5rem;margin:1.25rem 0 1rem}h1,h2{line-height:110%}h2{font-size:1.5rem;margin:.75rem 0 .6rem}.headline,.news .news-list-view .news_item .news-img-wrap .news-title a,.tx-ttaddress-pi1 .vcard .address .name,h3{font-size:1.3rem;line-height:110%;margin:.65rem 0 .52rem}h4,h5,h6{font-size:1rem;line-height:110%;margin:.5rem 0 .4rem}.bdp-yellow.headline,.news .news-list-view .news_item .news-img-wrap .news-title a,.tx-ttaddress-pi1 .vcard .address .name,h1.bdp-yellow,h2.bdp-blue,h2.bdp-red,h2.bdp-yellow,h3.bdp-yellow,h4.bdp-yellow,h5.bdp-yellow,h6.bdp-yellow{display:inline;padding:4px 4px 3px!important;margin:.5em 0 .5em -2px;line-height:1.4;letter-spacing:1px;-o-box-decoration-break:clone;-webkit-box-decoration-break:clone;box-decoration-break:clone}.bdp-yellow.headline,.news .news-list-view .news_item .news-img-wrap .news-title a,.tx-ttaddress-pi1 .vcard .address .name,h1.bdp-yellow,h2.bdp-yellow,h3.bdp-yellow,h4.bdp-yellow,h5.bdp-yellow,h6.bdp-yellow{color:#1d4899}h2.bdp-blue,h2.bdp-red{color:#fff}em{font-style:italic}strong{font-weight:700}small{font-size:75%}.light{font-weight:300}.thin{font-weight:200}p{margin:.75rem 0;padding:0}#branding{background-color:#ffcb04;box-shadow:0 5px 5px rgba(0,0,0,.3)}@media only screen and (min-width:769px){#branding{z-index:2;position:relative;margin-left:240px;margin-bottom:-10px;padding-bottom:0;width:425px;height:145px;box-shadow:none}#branding:after{content:"";display:block;position:absolute;top:22px;bottom:0;z-index:1;height:143px;width:457px;background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGhlaWdodD0nMzAwJyB3aWR0aD0nNDcwJyB2aWV3Qm94PScwIDAgMzAwIDQyNScgcHJlc2VydmVBc3BlY3RSYXRpbz0neE1pbllNaW4gbWVldCc+DQogICAgPGRlZnM+DQogICAgPGxpbmVhckdyYWRpZW50IGlkPSd2ZXJsYXVmJyB4MT0nMCUnIHkxPScwJScgeDI9JzAlJyB5Mj0nMTQwJSc+DQogICAgICA8c3RvcCBvZmZzZXQ9JzAlJyBzdG9wLWNvbG9yPSdibGFjaycgc3RvcC1vcGFjaXR5PScwLjcnIC8+DQogICAgICA8c3RvcCBvZmZzZXQ9JzUwJScgc3RvcC1jb2xvcj0nYmxhY2snIHN0b3Atb3BhY2l0eT0nMC40JyAvPg0KICAgICAgPHN0b3Agb2Zmc2V0PSc4MCUnIHN0b3AtY29sb3I9J2JsYWNrJyBzdG9wLW9wYWNpdHk9JzAuMScgLz4NCiAgICAgIDxzdG9wIG9mZnNldD0nMTAwJScgc3RvcC1jb2xvcj0iYmxhY2siIHN0b3Atb3BhY2l0eT0nMC4wJyAvPg0KICAgIDwvbGluZWFyR3JhZGllbnQ+DQogIDwvZGVmcz4NCiAgICA8cGF0aCBkPSdNMTAsMjAwIEMxNTAsMTcwIDQ1MCwxODAgNjE1LDE5MCBMNjA4LDAwIEwxNSwwIFonIHN0eWxlPSdzdHJva2U6bm9uZTsnIGZpbGw9J3VybCgjdmVybGF1ZiknPjwvcGF0aD48L3N2Zz4=") no-repeat scroll top}}#branding #branding__logo{padding:1rem;margin:0 3.5rem 0 0;text-align:left;line-height:1rem}#branding #branding__logo img{max-width:250px}@media only screen and (min-width:769px){#branding #branding__logo{position:relative;z-index:3;margin:0;padding:0;background-color:#ffcb04;line-height:115px;text-align:center}#branding #branding__logo img{max-width:100%}#branding #branding__logo.no_region{padding-top:20px;padding-bottom:10px}}#branding #branding__region a{display:block;font-size:18px;padding-left:.75rem;background:#1d4899;color:#ffcb04;line-height:30px;font-family:Immenhausen,serif;letter-spacing:1px;word-spacing:2px;text-decoration:none}@media only screen and (min-width:769px){#branding #branding__region{position:relative;z-index:3}#branding #branding__region a{text-align:center}}#branding #responsivemenu{display:inline;position:absolute;top:1rem;right:1rem}#branding #responsivemenu .button-collapse{color:#000}#branding #responsivemenu .button-collapse .material-icons{font-size:3rem}@media only screen and (min-width:769px){#branding #responsivemenu{display:none}}#nav-left{margin:0 0 1rem}#nav-left ul{margin:0;padding:0}#nav-left ul li{list-style:none}@media only screen and (min-width:769px){#nav-left{position:absolute;top:120px;left:40px;width:160px;padding:0;margin:0;z-index:2}}#nav-primary{background-color:#ffcb04}#nav-primary #nav-primary__menu{display:none}@media only screen and (min-width:769px){#nav-primary #nav-primary__menu{display:block;padding-top:10px;padding-bottom:40px}}#nav-primary ul{padding:0 0 1rem}#nav-primary ul li{display:block;color:#6b5c48;font-family:Immenhausen,serif;font-size:1.3rem;letter-spacing:.01em}#nav-primary ul li a{padding:.4em .5em .4em 1em;color:#6b5c48;display:block}#nav-primary ul li a:hover{text-decoration:none;color:#000}#nav-primary ul li span{padding:.4em .5em .4em 1em;display:block}#nav-primary ul li.active{border-bottom:1px solid #9f7515;border-top:1px solid #9f7515;padding:.5rem 0 .5em;margin:.5rem 0;background-color:#e1af22;filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr="#E0CB84",endColorstr="#ffffff");background-image:linear-gradient(#9f7515,#e1af22)}#nav-primary ul li.active span{color:#fff}#nav-primary ul li ul{padding:0}#nav-primary ul li ul li{padding:5px 5px 5px 25px;display:block;text-decoration:none;color:#000;font-family:Georgia,serif;font-style:italic;font-size:12px}#nav-primary ul li ul li a{color:#000;padding:0}#nav-primary ul li ul li a:hover{color:#6b5c48}#nav-primary ul li ul li.active{border:none;padding:5px 5px 5px 25px;margin:0;background:none}#nav-primary ul li ul li.active span{padding:0}#nav-secondary{background:rgba(56,46,35,.7);padding:35px 15px 15px 20px;display:none;font-size:.9rem}@media only screen and (min-width:769px){#nav-secondary{display:block}}#nav-secondary #branding__region__logo{margin-left:-5px}#nav-secondary #branding__region__logo figure img{display:block;margin:0 auto}#nav-secondary .nav-secondary__section{padding:1rem 0}#nav-secondary .nav-secondary__section h4{margin:0 0 .4rem;padding:0;color:#ffcb04;font-size:1.2rem;font-weight:400;letter-spacing:.02rem}#nav-secondary .nav-secondary__section ul{margin:0;padding:0}#nav-secondary .nav-secondary__section ul li{list-style:none}#nav-secondary .nav-secondary__section ul li a{color:#fff;font-family:Georgia,serif;font-style:italic}#nav-secondary .nav-secondary__section ul li a:visited{color:#fff}#language-menu ul li{color:#fff;font-family:Georgia,serif;font-style:italic}.searchbox{display:none}@media only screen and (min-width:993px){.searchbox{display:block;position:absolute;top:1.5em;left:750px;background:url(//cdn.pfadfinden.de/gfx/objects/streichholzschachtel_1.png) no-repeat;width:180px;height:114px}.searchbox .searchbox__submit{font-family:Immenhausen,serif;color:#ffcb04;font-size:1.3rem;margin:25px 0 0 35px;border:0;background:none;padding:0;text-align:left}.searchbox .searchbox__input{font-size:.9rem;margin:5px 25px 0 35px;border:2px solid #ffcb04;background:transparent;color:#fff;padding:2px;width:100px}}.teaser{position:relative;margin:0 0 1rem;display:inline-block}.teaser img{width:100%;height:auto;max-width:1300px;box-shadow:0 5px 5px rgba(0,0,0,.3)}.teaser .teaser__title{position:absolute;left:1rem;bottom:1rem}.teaser .teaser__title .teaser__titleline{background:rgba(56,46,35,.7);padding:.05em .25em;display:inline;margin-bottom:.25em;font-size:2rem;font-family:Immenhausen,serif;color:#ffcb04}@media only screen and (min-width:769px){.teaser+#content,.teaser+#content-fw{margin-top:1rem}.teaser .teaser__title{position:absolute;left:240px;bottom:1em}.teaser .teaser__title .teaser__titleline{font-size:4rem}}.box{background-color:#fff;padding:1em;box-shadow:0 5px 5px rgba(0,0,0,.1);margin-bottom:1rem}.box h1{padding:0}.box .tx-ttaddress-pi1 .vcard .address h1.name,.box h1,.box h1.bdp-yellow,.box h2,.tx-ttaddress-pi1 .vcard .address .box h1.name{color:#1d4899}.box h2{padding:0}.box .tx-ttaddress-pi1 .vcard .address h2.name,.box h2.bdp-yellow,.tx-ttaddress-pi1 .vcard .address .box h2.name{color:#1d4899}.box h2.bdp-blue,.box h2.bdp-red{color:#fff}.box .headline,.box .news .news-list-view .news_item .news-img-wrap .news-title a,.box .tx-ttaddress-pi1 .vcard .address .name,.box h3,.news .news-list-view .news_item .news-img-wrap .news-title .box a,.tx-ttaddress-pi1 .vcard .address .box .name{color:#1d4899;padding:0}.box .bdp-yellow.headline,.box .news .news-list-view .news_item .news-img-wrap .news-title a,.box .tx-ttaddress-pi1 .vcard .address .name,.box h3.bdp-yellow,.news .news-list-view .news_item .news-img-wrap .news-title .box a,.tx-ttaddress-pi1 .vcard .address .box .name{color:#1d4899}.box.transparent{background-color:transparent;box-shadow:none}.box.with-padding{margin-right:0;margin-bottom:0;padding:1rem}.box.without-padding{margin-bottom:1rem;padding:0}.box.float-50{width:43%;margin-bottom:1.5rem}.ce-above .ce-gallery{margin-bottom:0!important}#designelement{display:none}@media only screen and (min-width:601px) and (max-width:768px){.container .row{margin-left:1rem}}@media only screen and (min-width:601px){.box{margin-right:1rem}}@media only screen and (min-width:769px){#main{padding-bottom:286px;min-height:400px;min-height:calc(100vh - 327px);margin-bottom:150px}#content{max-width:710px}#content,#content-fw{margin-top:3rem;margin-left:240px}#content-fw{max-width:1020px}#content-border{position:absolute;top:0;right:-220px;width:200px}}@media only screen and (min-width:993px){#designelement{display:block;position:absolute;top:0;right:0}}table,td,th{border:none}table{width:100%;display:table}table.bordered>tbody>tr,table.bordered>thead>tr{border-bottom:1px solid #d0d0d0}table.striped>tbody>tr:nth-child(odd){background-color:#f2f2f2}table.striped>tbody>tr>td{border-radius:0}table.highlight>tbody>tr{transition:background-color .25s ease}table.highlight>tbody>tr:hover{background-color:#f2f2f2}table.centered tbody tr td,table.centered thead tr th{text-align:center}thead{border-bottom:1px solid #d0d0d0}td,th{padding:15px 5px;display:table-cell;text-align:left;vertical-align:middle;border-radius:2px}@media only screen and (max-width:992px){table.responsive-table{width:100%;border-collapse:collapse;border-spacing:0;display:block;position:relative}table.responsive-table td:empty:before{content:"\A0"}table.responsive-table td,table.responsive-table th{margin:0;vertical-align:top}table.responsive-table th{text-align:left}table.responsive-table thead{display:block;float:left}table.responsive-table thead tr{display:block;padding:0 10px 0 0}table.responsive-table thead tr th:before{content:"\A0"}table.responsive-table tbody{display:block;width:auto;position:relative;overflow-x:auto;white-space:nowrap}table.responsive-table tbody tr{display:inline-block;vertical-align:top}table.responsive-table th{display:block;text-align:right}table.responsive-table td{display:block;min-height:1.25em;text-align:left}table.responsive-table tr{padding:0 10px}table.responsive-table thead{border:0;border-right:1px solid #d0d0d0}table.responsive-table.bordered th{border-bottom:0;border-left:0}table.responsive-table.bordered td{border-left:0;border-right:0;border-bottom:0}table.responsive-table.bordered tr{border:0}table.responsive-table.bordered tbody tr{border-right:1px solid #d0d0d0}}.news .news-list-view .news_item .news-img-wrap{position:relative}.news .news-list-view .news_item .news-img-wrap .news-title{position:absolute;left:0;bottom:0;padding:0;margin:0}.news .news-list-view .news_item .news-img-wrap .news-title a{color:#1d4899;letter-spacing:0;margin-left:0}.news .news-list-view .news_item .news-img-wrap .news-title a:hover{text-decoration:none}.news .news-list-view .news_item .teaser-text{margin-top:.75rem;margin-bottom:.75rem}.news .news-list-view .news_item .teaser-text .news-list-date{font-weight:700;display:inline}.news .news-list-view .news_item .teaser-text .description,.news .news-list-view .news_item .teaser-text .description p:first-child{display:inline}.news .news-list-view .news_item .teaser-text .description p:last-child{margin-bottom:0}.news-link-to-archiv,.page-navigation,.page-navigation p,.page-navigation ul,.page-navigation ul li,.page-navigation ul li a{font-family:Immenhausen,serif;font-size:1.3rem;color:#fff;margin:0;padding:0}.page-navigation{text-align:center}.page-navigation p,.page-navigation ul{display:inline-block}.page-navigation .f3-widget-paginator li{list-style:none;display:inline-block;padding:0 .5rem}.page-navigation .f3-widget-paginator li a{text-decoration:none}.page-navigation .f3-widget-paginator .current{font-size:2.5rem}.news-link-to-archiv{text-align:center}.news-link-to-archiv a{color:#fff!important}.tx-ttaddress-pi1 .vcard{overflow:hidden}.tx-ttaddress-pi1 .vcard .photo{float:left}.tx-ttaddress-pi1 .vcard .address{margin-left:114px}.tx-ttaddress-pi1 .vcard .address .name{color:#1d4899}.tx-ttaddress-pi1 .vcard .address .title{margin:.25em 0 1em;font-style:italic}.tx-cal-controller .cal-list .vevent{padding:.25em}.tx-cal-controller .cal-list .vevent abbr{border:0;text-decoration:none}.tx-cal-controller .cal-list .vevent.even{background:#fff5d0}.tx-cal-controller .cal-list .vevent .dtstart-container{float:left}.tx-cal-controller .cal-list .vevent .summary{margin-left:10em}.tx-cal-controller .cal-list .vevent .summary .url{display:block}.slick-next,.slick-prev{position:absolute;top:50%;display:block;margin-top:-10px;padding:.25em;cursor:pointer;color:none;border:none;outline:none;background:#ffca28}.slick-next:before,.slick-prev:before{font-family:Glyphicons Halflings;font-style:normal;font-weight:400;font-size:20px;color:#1d4899}.cal-title{font-family:Immenhausen,serif;color:#1d4899;font-size:23px;margin:0 auto;width:60%}.cal-title a{position:absolute;top:50%;transform:translateY(-50%)}.title-wrapper{vertical-align:middle}.slick-prev{left:-1em}.slick-prev:before{content:"\E079"}.slick-next{right:-1em}.slick-next:before{content:"\E080"}.tx-cal-controller .list-view .vevent{clear:both;margin-bottom:.5em}.tx-cal-controller .list-view .vevent abbr{border:0;font-style:italic}.tx-cal-controller .list-view .vevent .dtstart-container{float:left}.tx-cal-controller .list-view .vevent .summary{margin-left:4.25em;word-break:break-word}.tx-cal-controller .list-view .vevent .summary .location{display:none}.tx-cal-controller .list-view .cal-row .month-wrapper{border-right:1px solid #1d4899;height:100%;padding:0 1em}.tx-cal-controller .list-view .month-wrapper h2{margin:.25em 0 .5em;padding:0}#footer{width:100%;box-sizing:border-box;padding:1em;background-color:#ffcb04;box-shadow:0 -5px 5px rgba(0,0,0,.3)}#footer #nav-footer{margin:1rem 0 0}#footer #nav-footer .nav-footer__title{font-family:Immenhausen,serif;font-size:25px;padding:0 0 .5rem;color:#1d4899}#footer #nav-footer .nav-footer__title .nav-footer__titleLine:first-child{line-height:1}#footer #nav-footer .nav-footer__content{font-size:.85rem}#footer #nav-footer .nav-footer__content #nav-footer__menu{margin:0;padding:0}#footer #nav-footer .nav-footer__content #nav-footer__menu li{font-family:Georgia,serif;font-size:14px;font-style:italic;margin:0 0 .75rem;list-style:none}#footer #nav-footer .nav-footer__content #nav-footer__menu li a{padding:4px 0 4px 25px;background-repeat:no-repeat}#footer #nav-footer .nav-footer__content #nav-footer__menu .footer_contact a{background-image:url(https://cdn.pfadfinden.de/gfx/icons/kontakt_1.png)}#footer #nav-footer .nav-footer__content #nav-footer__menu .footer_privacy a{background-image:url(https://cdn.pfadfinden.de/gfx/icons/impressum_1.png)}#footer #nav-footer .nav-footer__content #nav-footer__menu .footer_favorite a{background-image:url(https://cdn.pfadfinden.de/gfx/icons/favoriten_1.png)}#footer #nav-footer .nav-footer__content #nav-footer__menu .footer_print a{background-image:url(https://cdn.pfadfinden.de/gfx/icons/drucken_1.png)}#footer #nav-footer .nav-footer__content #nav-footer__menu .footer_login a{background-image:url(https://cdn.pfadfinden.de/gfx/icons/login_1.png)}@media only screen and (min-width:601px){#footer #nav-footer .nav-footer__content p{margin-top:0}}@media only screen and (min-width:769px){#footer{position:relative;margin-top:-286px;padding:0;height:286px;clear:both;overflow:hidden;box-shadow:none;background:url(//cdn.pfadfinden.de/gfx/objects/kochtopf_1.png) no-repeat 100% 100%}#footer #nav-footer{height:299px;width:712px;background:url(//cdn.pfadfinden.de/gfx/objects/briefumschlag_1.png) no-repeat;padding:1em 2em 0;margin-left:240px;margin-top:0}#footer #nav-footer .nav-footer__title{color:#ffcb04;width:100%;text-align:center;height:125px;padding:0 1rem}#footer #nav-footer .nav-footer__title .nav-footer__titleLine:first-child{line-height:1.5;padding-top:.5rem}#footer #nav-footer .nav-footer__title .nav-footer__titleLine:only-child{padding-top:2.5rem}#footer #nav-footer .nav-footer__content{margin:0 2rem}}@media only screen and (min-width:769px) and (max-width:992px){#footer #nav-footer{position:relative;margin-right:25px;margin-left:auto}}body.cookie-padding{padding-bottom:50px}.cc_banner-wrapper{z-index:4;position:absolute}.cc_container{position:fixed;left:0;right:0;bottom:0;overflow:hidden;padding:10px;background:#ffcb04;color:#fff;font-size:17px;font-family:Immenhausen,serif;box-sizing:border-box;animation-duration:.8s;animation-name:a;box-shadow:0 -5px 5px rgba(0,0,0,.1)}.cc_container .cc_btn{line-height:1em;padding:8px 10px;background:#1d4899;color:#ffcb04;cursor:pointer;text-align:center;font-size:.6em;display:block;width:33%;margin-left:10px;float:right;max-width:120px;transition:font-size .2s,background .2s ease-in-out,color .2s ease-in-out,box-shadow .2s ease-in-out}.cc_container .cc_btn:visited{background:#1d4899;color:#ffcb04;transition:background .2s ease-in-out,color .2s ease-in-out,box-shadow .2s ease-in-out}.cc_container .cc_btn:hover{box-shadow:0 5px 5px rgba(0,0,0,.1)}.cc_container .cc_btn:active,.cc_container .cc_btn:hover{background:#1d4899;color:#ffcb04}.cc_container .cc_btn a{text-decoration:none}.cc_container .cc_message{margin:0;padding:0;line-height:1.5em;color:#000;transition:font-size .2s;font-size:.6em;display:block}.cc_container .cc_message .cc_more_info{color:#1d4899}.cc_container .cc_message .cc_more_info:hover{color:#000;text-decoration:underline}.cc_container .cc_logo{display:none;text-indent:-1000px;overflow:hidden;width:100px;height:22px;background-size:cover;opacity:.9;transition:opacity .2s}.cc_container .cc_logo:active,.cc_container .cc_logo:hover{opacity:1}.cc_container ::-moz-selection{background:#ff5e99;color:#fff;text-shadow:none}.cc_container a,.cc_container a:visited{text-decoration:none;color:#c8c8c8;transition:color .2s}.cc_container a:active,.cc_container a:hover{text-decoration:none;color:#888}@media screen and (min-width:500px){.cc_container .cc_btn{font-size:.8em}.cc_container .cc_message{font-size:.8em;margin-top:.7em}}@media screen and (min-width:768px){.cc_container{padding:10px 50px}.cc_container .cc_btn{font-size:.8em;padding:8px 15px}.cc_container .cc_message{font-size:.8em;line-height:.8em}}@media screen and (min-width:992px){.cc_container .cc_message{font-size:.8em}}@media print{.cc_banner-wrapper,.cc_container{display:none}}@keyframes a{0%{transform:translateY(66px)}to{transform:translateY(0)}}.cc_btn,.cc_message{animation-duration:.8s;animation-name:a}@media print{@page{size:A4;margin:1cm}body{padding:1cm .5cm;margin:0}#content{margin:0!important}#branding #branding__region a{color:#000;background:none}.masonry-container .masonry-item{position:static!important;display:inline-block}.news .news-list-view .news_item .news-img-wrap{page-break-inside:avoid}.headline,.news .news-list-view .news_item .news-img-wrap .news-title a,.tx-ttaddress-pi1 .vcard .address .name,h1,h2,h3{color:#000}} \ No newline at end of file diff --git a/Resources/Public/Fonts/.gitkeep b/Resources/Public/Fonts/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Resources/Public/Fonts/.gitkeep @@ -0,0 +1 @@ + diff --git a/Resources/Public/Icons/Extension.svg b/Resources/Public/Icons/Extension.svg new file mode 100644 index 0000000..d853637 --- /dev/null +++ b/Resources/Public/Icons/Extension.svg @@ -0,0 +1,3 @@ + + + diff --git a/Resources/Public/Icons/favicon.ico b/Resources/Public/Icons/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..46d4c14df35ee4ccdf7c5a7eba53f00bc4457963 GIT binary patch literal 1150 zcmaKszb^zq6vrP&t{`y*Vj}8oqXL6Y$R~|E{BN6xxSFH~V-8J?S315x+S4 zj-Y)ybmKo(YfpQ6?x1gZYOBicJEMBKKl2?Y;7851p!}yw*Ju2g^_YOA4@`k=u$$QG%PiuMovJt++@ORg$yF+-?obfjA|?e@V(Z#s}~VJtDD0 literal 0 HcmV?d00001 diff --git a/Resources/Public/Images/BackendLayouts/default.png b/Resources/Public/Images/BackendLayouts/default.png new file mode 100644 index 0000000000000000000000000000000000000000..0bed87019c8f61d46b9493157358054e2af23994 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^MnLSq!3HEFuBuc6saj7L$B>N1x3?X6TLMH_4jxZ? zT5x1PQ{RuD+D*PICg`zVW=f0BUR&At{>+(;^8W94Jl%8dr;Y8Sc&>{gi!@z=JC+If mD$a5;Y0V%};H~cVZu$S++?AJ4w7LNu!r=ES4z)+>iz|hdl!0_`wkbc3y5X8a2C>p`QU^ShAK|KF@l>7vs+DcCs$B>F!Z*Fho zZ7|?*Jt#k=P-F9d7R{T-*EF~=U)#&;SCs567aE#*!DmwGx_ISpTZ@-?Dj)-WY2UE2 x#b0-(O)7FVj6#;dVE0SK-qXti+WP-LGlQJGP}#GD)HgsbgQu&X%Q~loCIB6-K)C<_ literal 0 HcmV?d00001 diff --git a/Resources/Public/Images/bundeszeichen.png b/Resources/Public/Images/bundeszeichen.png new file mode 100644 index 0000000000000000000000000000000000000000..6e3b20cf0c78843e665704e9444434795e07cea1 GIT binary patch literal 39979 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 g{OSK*@c_4TVhd5vc^vS#7`2e=WI1^@s6 literal 0 HcmV?d00001 diff --git a/Resources/Public/JavaScript/Library/imagesLoaded.pkgd.min.js b/Resources/Public/JavaScript/Library/imagesLoaded.pkgd.min.js deleted file mode 100644 index d66f658..0000000 --- a/Resources/Public/JavaScript/Library/imagesLoaded.pkgd.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * imagesLoaded PACKAGED v3.1.8 - * JavaScript is all like "You images are done yet or what?" - * MIT License - */ - -(function(){function e(){}function t(e,t){for(var n=e.length;n--;)if(e[n].listener===t)return n;return-1}function n(e){return function(){return this[e].apply(this,arguments)}}var i=e.prototype,r=this,o=r.EventEmitter;i.getListeners=function(e){var t,n,i=this._getEvents();if("object"==typeof e){t={};for(n in i)i.hasOwnProperty(n)&&e.test(n)&&(t[n]=i[n])}else t=i[e]||(i[e]=[]);return t},i.flattenListeners=function(e){var t,n=[];for(t=0;e.length>t;t+=1)n.push(e[t].listener);return n},i.getListenersAsObject=function(e){var t,n=this.getListeners(e);return n instanceof Array&&(t={},t[e]=n),t||n},i.addListener=function(e,n){var i,r=this.getListenersAsObject(e),o="object"==typeof n;for(i in r)r.hasOwnProperty(i)&&-1===t(r[i],n)&&r[i].push(o?n:{listener:n,once:!1});return this},i.on=n("addListener"),i.addOnceListener=function(e,t){return this.addListener(e,{listener:t,once:!0})},i.once=n("addOnceListener"),i.defineEvent=function(e){return this.getListeners(e),this},i.defineEvents=function(e){for(var t=0;e.length>t;t+=1)this.defineEvent(e[t]);return this},i.removeListener=function(e,n){var i,r,o=this.getListenersAsObject(e);for(r in o)o.hasOwnProperty(r)&&(i=t(o[r],n),-1!==i&&o[r].splice(i,1));return this},i.off=n("removeListener"),i.addListeners=function(e,t){return this.manipulateListeners(!1,e,t)},i.removeListeners=function(e,t){return this.manipulateListeners(!0,e,t)},i.manipulateListeners=function(e,t,n){var i,r,o=e?this.removeListener:this.addListener,s=e?this.removeListeners:this.addListeners;if("object"!=typeof t||t instanceof RegExp)for(i=n.length;i--;)o.call(this,t,n[i]);else for(i in t)t.hasOwnProperty(i)&&(r=t[i])&&("function"==typeof r?o.call(this,i,r):s.call(this,i,r));return this},i.removeEvent=function(e){var t,n=typeof e,i=this._getEvents();if("string"===n)delete i[e];else if("object"===n)for(t in i)i.hasOwnProperty(t)&&e.test(t)&&delete i[t];else delete this._events;return this},i.removeAllListeners=n("removeEvent"),i.emitEvent=function(e,t){var n,i,r,o,s=this.getListenersAsObject(e);for(r in s)if(s.hasOwnProperty(r))for(i=s[r].length;i--;)n=s[r][i],n.once===!0&&this.removeListener(e,n.listener),o=n.listener.apply(this,t||[]),o===this._getOnceReturnValue()&&this.removeListener(e,n.listener);return this},i.trigger=n("emitEvent"),i.emit=function(e){var t=Array.prototype.slice.call(arguments,1);return this.emitEvent(e,t)},i.setOnceReturnValue=function(e){return this._onceReturnValue=e,this},i._getOnceReturnValue=function(){return this.hasOwnProperty("_onceReturnValue")?this._onceReturnValue:!0},i._getEvents=function(){return this._events||(this._events={})},e.noConflict=function(){return r.EventEmitter=o,e},"function"==typeof define&&define.amd?define("eventEmitter/EventEmitter",[],function(){return e}):"object"==typeof module&&module.exports?module.exports=e:this.EventEmitter=e}).call(this),function(e){function t(t){var n=e.event;return n.target=n.target||n.srcElement||t,n}var n=document.documentElement,i=function(){};n.addEventListener?i=function(e,t,n){e.addEventListener(t,n,!1)}:n.attachEvent&&(i=function(e,n,i){e[n+i]=i.handleEvent?function(){var n=t(e);i.handleEvent.call(i,n)}:function(){var n=t(e);i.call(e,n)},e.attachEvent("on"+n,e[n+i])});var r=function(){};n.removeEventListener?r=function(e,t,n){e.removeEventListener(t,n,!1)}:n.detachEvent&&(r=function(e,t,n){e.detachEvent("on"+t,e[t+n]);try{delete e[t+n]}catch(i){e[t+n]=void 0}});var o={bind:i,unbind:r};"function"==typeof define&&define.amd?define("eventie/eventie",o):e.eventie=o}(this),function(e,t){"function"==typeof define&&define.amd?define(["eventEmitter/EventEmitter","eventie/eventie"],function(n,i){return t(e,n,i)}):"object"==typeof exports?module.exports=t(e,require("wolfy87-eventemitter"),require("eventie")):e.imagesLoaded=t(e,e.EventEmitter,e.eventie)}(window,function(e,t,n){function i(e,t){for(var n in t)e[n]=t[n];return e}function r(e){return"[object Array]"===d.call(e)}function o(e){var t=[];if(r(e))t=e;else if("number"==typeof e.length)for(var n=0,i=e.length;i>n;n++)t.push(e[n]);else t.push(e);return t}function s(e,t,n){if(!(this instanceof s))return new s(e,t);"string"==typeof e&&(e=document.querySelectorAll(e)),this.elements=o(e),this.options=i({},this.options),"function"==typeof t?n=t:i(this.options,t),n&&this.on("always",n),this.getImages(),a&&(this.jqDeferred=new a.Deferred);var r=this;setTimeout(function(){r.check()})}function f(e){this.img=e}function c(e){this.src=e,v[e]=this}var a=e.jQuery,u=e.console,h=u!==void 0,d=Object.prototype.toString;s.prototype=new t,s.prototype.options={},s.prototype.getImages=function(){this.images=[];for(var e=0,t=this.elements.length;t>e;e++){var n=this.elements[e];"IMG"===n.nodeName&&this.addImage(n);var i=n.nodeType;if(i&&(1===i||9===i||11===i))for(var r=n.querySelectorAll("img"),o=0,s=r.length;s>o;o++){var f=r[o];this.addImage(f)}}},s.prototype.addImage=function(e){var t=new f(e);this.images.push(t)},s.prototype.check=function(){function e(e,r){return t.options.debug&&h&&u.log("confirm",e,r),t.progress(e),n++,n===i&&t.complete(),!0}var t=this,n=0,i=this.images.length;if(this.hasAnyBroken=!1,!i)return this.complete(),void 0;for(var r=0;i>r;r++){var o=this.images[r];o.on("confirm",e),o.check()}},s.prototype.progress=function(e){this.hasAnyBroken=this.hasAnyBroken||!e.isLoaded;var t=this;setTimeout(function(){t.emit("progress",t,e),t.jqDeferred&&t.jqDeferred.notify&&t.jqDeferred.notify(t,e)})},s.prototype.complete=function(){var e=this.hasAnyBroken?"fail":"done";this.isComplete=!0;var t=this;setTimeout(function(){if(t.emit(e,t),t.emit("always",t),t.jqDeferred){var n=t.hasAnyBroken?"reject":"resolve";t.jqDeferred[n](t)}})},a&&(a.fn.imagesLoaded=function(e,t){var n=new s(this,e,t);return n.jqDeferred.promise(a(this))}),f.prototype=new t,f.prototype.check=function(){var e=v[this.img.src]||new c(this.img.src);if(e.isConfirmed)return this.confirm(e.isLoaded,"cached was confirmed"),void 0;if(this.img.complete&&void 0!==this.img.naturalWidth)return this.confirm(0!==this.img.naturalWidth,"naturalWidth"),void 0;var t=this;e.on("confirm",function(e,n){return t.confirm(e.isLoaded,n),!0}),e.check()},f.prototype.confirm=function(e,t){this.isLoaded=e,this.emit("confirm",this,t)};var v={};return c.prototype=new t,c.prototype.check=function(){if(!this.isChecked){var e=new Image;n.bind(e,"load",this),n.bind(e,"error",this),e.src=this.src,this.isChecked=!0}},c.prototype.handleEvent=function(e){var t="on"+e.type;this[t]&&this[t](e)},c.prototype.onload=function(e){this.confirm(!0,"onload"),this.unbindProxyEvents(e)},c.prototype.onerror=function(e){this.confirm(!1,"onerror"),this.unbindProxyEvents(e)},c.prototype.confirm=function(e,t){this.isConfirmed=!0,this.isLoaded=e,this.emit("confirm",this,t)},c.prototype.unbindProxyEvents=function(e){n.unbind(e.target,"load",this),n.unbind(e.target,"error",this)},s}); \ No newline at end of file diff --git a/Resources/Public/JavaScript/Library/jquery-2.2.4.min.js b/Resources/Public/JavaScript/Library/jquery-2.2.4.min.js deleted file mode 100644 index 4024b66..0000000 --- a/Resources/Public/JavaScript/Library/jquery-2.2.4.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! jQuery v2.2.4 | (c) jQuery Foundation | jquery.org/license */ -!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="2.2.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isPlainObject:function(a){var b;if("object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype||{},"isPrototypeOf"))return!1;for(b in a);return void 0===b||k.call(a,b)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=d.createElement("script"),b.text=a,d.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:h.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(d=e.call(arguments,2),f=function(){return a.apply(b||this,d.concat(e.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fa.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fa.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ba,ca).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(P," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return h.call(b,a)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&f.parentNode&&(this.length=1,this[0]=f),this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?void 0!==c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?h.call(n(a),this[0]):h.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||n.uniqueSort(e),D.test(a)&&e.reverse()),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.removeEventListener("DOMContentLoaded",J),a.removeEventListener("load",J),n.ready()}n.ready.promise=function(b){return I||(I=n.Deferred(),"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(n.ready):(d.addEventListener("DOMContentLoaded",J),a.addEventListener("load",J))),I.promise(b)},n.ready.promise();var K=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)K(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},L=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function M(){this.expando=n.expando+M.uid++}M.uid=1,M.prototype={register:function(a,b){var c=b||{};return a.nodeType?a[this.expando]=c:Object.defineProperty(a,this.expando,{value:c,writable:!0,configurable:!0}),a[this.expando]},cache:function(a){if(!L(a))return{};var b=a[this.expando];return b||(b={},L(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[b]=c;else for(d in b)e[d]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=a[this.expando];if(void 0!==f){if(void 0===b)this.register(a);else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in f?d=[b,e]:(d=e,d=d in f?[d]:d.match(G)||[])),c=d.length;while(c--)delete f[d[c]]}(void 0===b||n.isEmptyObject(f))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!n.isEmptyObject(b)}};var N=new M,O=new M,P=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Q=/[A-Z]/g;function R(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Q,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:P.test(c)?n.parseJSON(c):c; -}catch(e){}O.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return O.hasData(a)||N.hasData(a)},data:function(a,b,c){return O.access(a,b,c)},removeData:function(a,b){O.remove(a,b)},_data:function(a,b,c){return N.access(a,b,c)},_removeData:function(a,b){N.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=O.get(f),1===f.nodeType&&!N.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),R(f,d,e[d])));N.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){O.set(this,a)}):K(this,function(b){var c,d;if(f&&void 0===b){if(c=O.get(f,a)||O.get(f,a.replace(Q,"-$&").toLowerCase()),void 0!==c)return c;if(d=n.camelCase(a),c=O.get(f,d),void 0!==c)return c;if(c=R(f,d,void 0),void 0!==c)return c}else d=n.camelCase(a),this.each(function(){var c=O.get(this,d);O.set(this,d,b),a.indexOf("-")>-1&&void 0!==c&&O.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){O.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=N.get(a,b),c&&(!d||n.isArray(c)?d=N.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return N.get(a,c)||N.access(a,c,{empty:n.Callbacks("once memory").add(function(){N.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length",""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};$.optgroup=$.option,$.tbody=$.tfoot=$.colgroup=$.caption=$.thead,$.th=$.td;function _(a,b){var c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function aa(a,b){for(var c=0,d=a.length;d>c;c++)N.set(a[c],"globalEval",!b||N.get(b[c],"globalEval"))}var ba=/<|&#?\w+;/;function ca(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],o=0,p=a.length;p>o;o++)if(f=a[o],f||0===f)if("object"===n.type(f))n.merge(m,f.nodeType?[f]:f);else if(ba.test(f)){g=g||l.appendChild(b.createElement("div")),h=(Y.exec(f)||["",""])[1].toLowerCase(),i=$[h]||$._default,g.innerHTML=i[1]+n.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;n.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",o=0;while(f=m[o++])if(d&&n.inArray(f,d)>-1)e&&e.push(f);else if(j=n.contains(f.ownerDocument,f),g=_(l.appendChild(f),"script"),j&&aa(g),c){k=0;while(f=g[k++])Z.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var da=/^key/,ea=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,fa=/^([^.]*)(?:\.(.+)|)/;function ga(){return!0}function ha(){return!1}function ia(){try{return d.activeElement}catch(a){}}function ja(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ja(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=ha;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=N.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return"undefined"!=typeof n&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(G)||[""],j=b.length;while(j--)h=fa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=N.hasData(a)&&N.get(a);if(r&&(i=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=fa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&N.remove(a,"handle events")}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(N.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())a.rnamespace&&!a.rnamespace.test(g.namespace)||(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!==this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,la=/\s*$/g;function pa(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function qa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function ra(a){var b=na.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function sa(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(N.hasData(a)&&(f=N.access(a),g=N.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}O.hasData(a)&&(h=O.access(a),i=n.extend({},h),O.set(b,i))}}function ta(a,b){var c=b.nodeName.toLowerCase();"input"===c&&X.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function ua(a,b,c,d){b=f.apply([],b);var e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&"string"==typeof q&&!l.checkClone&&ma.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),ua(f,b,c,d)});if(o&&(e=ca(b,a[0].ownerDocument,!1,a,d),g=e.firstChild,1===e.childNodes.length&&(e=g),g||d)){for(h=n.map(_(e,"script"),qa),i=h.length;o>m;m++)j=e,m!==p&&(j=n.clone(j,!0,!0),i&&n.merge(h,_(j,"script"))),c.call(a[m],j,m);if(i)for(k=h[h.length-1].ownerDocument,n.map(h,ra),m=0;i>m;m++)j=h[m],Z.test(j.type||"")&&!N.access(j,"globalEval")&&n.contains(k,j)&&(j.src?n._evalUrl&&n._evalUrl(j.src):n.globalEval(j.textContent.replace(oa,"")))}return a}function va(a,b,c){for(var d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(_(d)),d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&aa(_(d,"script")),d.parentNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return a.replace(ka,"<$1>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=_(h),f=_(a),d=0,e=f.length;e>d;d++)ta(f[d],g[d]);if(b)if(c)for(f=f||_(a),g=g||_(h),d=0,e=f.length;e>d;d++)sa(f[d],g[d]);else sa(a,h);return g=_(h,"script"),g.length>0&&aa(g,!i&&_(a,"script")),h},cleanData:function(a){for(var b,c,d,e=n.event.special,f=0;void 0!==(c=a[f]);f++)if(L(c)){if(b=c[N.expando]){if(b.events)for(d in b.events)e[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);c[N.expando]=void 0}c[O.expando]&&(c[O.expando]=void 0)}}}),n.fn.extend({domManip:ua,detach:function(a){return va(this,a,!0)},remove:function(a){return va(this,a)},text:function(a){return K(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return ua(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=pa(this,a);b.appendChild(a)}})},prepend:function(){return ua(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=pa(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return ua(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return ua(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(_(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return K(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!la.test(a)&&!$[(Y.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(_(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return ua(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(_(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),f=e.length-1,h=0;f>=h;h++)c=h===f?this:this.clone(!0),n(e[h])[b](c),g.apply(d,c.get());return this.pushStack(d)}});var wa,xa={HTML:"block",BODY:"block"};function ya(a,b){var c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],"display");return c.detach(),d}function za(a){var b=d,c=xa[a];return c||(c=ya(a,b),"none"!==c&&c||(wa=(wa||n("