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 0000000..0bed870 Binary files /dev/null and b/Resources/Private/Source/Images/BackendLayouts/default.png differ diff --git a/Resources/Private/Source/Images/BackendLayouts/headerWithOneColumn.png b/Resources/Private/Source/Images/BackendLayouts/headerWithOneColumn.png new file mode 100644 index 0000000..d28fd95 Binary files /dev/null and b/Resources/Private/Source/Images/BackendLayouts/headerWithOneColumn.png differ diff --git a/Resources/Private/Source/Images/bundeszeichen.png b/Resources/Private/Source/Images/bundeszeichen.png new file mode 100644 index 0000000..6e3b20c Binary files /dev/null and b/Resources/Private/Source/Images/bundeszeichen.png differ diff --git a/Resources/Private/Source/Images/holzhintergrund_1.jpg b/Resources/Private/Source/Images/holzhintergrund_1.jpg new file mode 100644 index 0000000..f06cfa2 Binary files /dev/null and b/Resources/Private/Source/Images/holzhintergrund_1.jpg differ diff --git a/Resources/Private/Source/Images/holzhintergrund_1.webp b/Resources/Private/Source/Images/holzhintergrund_1.webp new file mode 100644 index 0000000..6e2e675 Binary files /dev/null and b/Resources/Private/Source/Images/holzhintergrund_1.webp differ 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 0000000..46d4c14 Binary files /dev/null and b/Resources/Public/Icons/favicon.ico differ diff --git a/Resources/Public/Images/BackendLayouts/default.png b/Resources/Public/Images/BackendLayouts/default.png new file mode 100644 index 0000000..0bed870 Binary files /dev/null and b/Resources/Public/Images/BackendLayouts/default.png differ diff --git a/Resources/Public/Images/BackendLayouts/headerWithOneColumn.png b/Resources/Public/Images/BackendLayouts/headerWithOneColumn.png new file mode 100644 index 0000000..d28fd95 Binary files /dev/null and b/Resources/Public/Images/BackendLayouts/headerWithOneColumn.png differ diff --git a/Resources/Public/Images/bundeszeichen.png b/Resources/Public/Images/bundeszeichen.png new file mode 100644 index 0000000..6e3b20c Binary files /dev/null and b/Resources/Public/Images/bundeszeichen.png differ 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("