├── robots.txt ├── serve.sh ├── browserlist ├── assets ├── style │ ├── _scss │ │ ├── lib │ │ │ ├── bourbon │ │ │ │ ├── settings │ │ │ │ │ ├── _px-to-em.scss │ │ │ │ │ ├── _asset-pipeline.scss │ │ │ │ │ └── _prefixer.scss │ │ │ │ ├── css3 │ │ │ │ │ ├── _appearance.scss │ │ │ │ │ ├── _user-select.scss │ │ │ │ │ ├── _calc.scss │ │ │ │ │ ├── _backface-visibility.scss │ │ │ │ │ ├── _hyphens.scss │ │ │ │ │ ├── _filter.scss │ │ │ │ │ ├── _font-feature-settings.scss │ │ │ │ │ ├── _placeholder.scss │ │ │ │ │ ├── _perspective.scss │ │ │ │ │ ├── _image-rendering.scss │ │ │ │ │ ├── _hidpi-media-query.scss │ │ │ │ │ ├── _transform.scss │ │ │ │ │ ├── _font-face.scss │ │ │ │ │ ├── _text-decoration.scss │ │ │ │ │ ├── _selection.scss │ │ │ │ │ ├── _keyframes.scss │ │ │ │ │ ├── _columns.scss │ │ │ │ │ ├── _linear-gradient.scss │ │ │ │ │ ├── _background-image.scss │ │ │ │ │ ├── _radial-gradient.scss │ │ │ │ │ ├── _animation.scss │ │ │ │ │ ├── _background.scss │ │ │ │ │ └── _border-image.scss │ │ │ │ ├── functions │ │ │ │ │ ├── _is-number.scss │ │ │ │ │ ├── _assign-inputs.scss │ │ │ │ │ ├── _is-size.scss │ │ │ │ │ ├── _is-length.scss │ │ │ │ │ ├── _contains-falsy.scss │ │ │ │ │ ├── _px-to-rem.scss │ │ │ │ │ ├── _strip-units.scss │ │ │ │ │ ├── _px-to-em.scss │ │ │ │ │ ├── _shade.scss │ │ │ │ │ ├── _tint.scss │ │ │ │ │ ├── _contains.scss │ │ │ │ │ ├── _is-light.scss │ │ │ │ │ ├── _transition-property-name.scss │ │ │ │ │ ├── _unpack.scss │ │ │ │ │ └── _modular-scale.scss │ │ │ │ ├── helpers │ │ │ │ │ ├── _shape-size-stripper.scss │ │ │ │ │ ├── _gradient-positions-parser.scss │ │ │ │ │ ├── _radial-positions-parser.scss │ │ │ │ │ ├── _linear-angle-parser.scss │ │ │ │ │ ├── _convert-units.scss │ │ │ │ │ ├── _render-gradients.scss │ │ │ │ │ ├── _linear-side-corner-parser.scss │ │ │ │ │ ├── _font-source-declaration.scss │ │ │ │ │ ├── _linear-gradient-parser.scss │ │ │ │ │ ├── _str-to-num.scss │ │ │ │ │ ├── _radial-gradient-parser.scss │ │ │ │ │ ├── _radial-arg-parser.scss │ │ │ │ │ └── _linear-positions-parser.scss │ │ │ │ └── addons │ │ │ │ │ ├── _clearfix.scss │ │ │ │ │ ├── _margin.scss │ │ │ │ │ ├── _border-width.scss │ │ │ │ │ ├── _padding.scss │ │ │ │ │ ├── _border-style.scss │ │ │ │ │ ├── _font-stacks.scss │ │ │ │ │ ├── _word-wrap.scss │ │ │ │ │ ├── _border-color.scss │ │ │ │ │ ├── _ellipsis.scss │ │ │ │ │ ├── _hide-text.scss │ │ │ │ │ ├── _retina-image.scss │ │ │ │ │ ├── _border-radius.scss │ │ │ │ │ ├── _size.scss │ │ │ │ │ ├── _position.scss │ │ │ │ │ ├── _timing-functions.scss │ │ │ │ │ ├── _prefixer.scss │ │ │ │ │ └── _buttons.scss │ │ │ ├── font-awesome │ │ │ │ ├── _fixed-width.scss │ │ │ │ ├── _screen-reader.scss │ │ │ │ ├── _larger.scss │ │ │ │ ├── _list.scss │ │ │ │ ├── _core.scss │ │ │ │ ├── _font-awesome.scss │ │ │ │ ├── _stacked.scss │ │ │ │ ├── _bordered-pulled.scss │ │ │ │ ├── _rotated-flipped.scss │ │ │ │ ├── _path.scss │ │ │ │ ├── _animated.scss │ │ │ │ └── _mixins.scss │ │ │ ├── neat │ │ │ │ ├── _neat-helpers.scss │ │ │ │ ├── grid │ │ │ │ │ ├── _box-sizing.scss │ │ │ │ │ ├── _fill-parent.scss │ │ │ │ │ ├── _pad.scss │ │ │ │ │ ├── _display-context.scss │ │ │ │ │ ├── _direction-context.scss │ │ │ │ │ ├── _outer-container.scss │ │ │ │ │ ├── _visual-grid.scss │ │ │ │ │ ├── _private.scss │ │ │ │ │ ├── _shift.scss │ │ │ │ │ └── _row.scss │ │ │ │ ├── settings │ │ │ │ │ ├── _disable-warnings.scss │ │ │ │ │ ├── _visual-grid.scss │ │ │ │ │ └── _grid.scss │ │ │ │ ├── _neat.scss │ │ │ │ └── functions │ │ │ │ │ └── _new-breakpoint.scss │ │ │ ├── _all.scss │ │ │ ├── neat-grid │ │ │ │ ├── neat │ │ │ │ │ ├── functions │ │ │ │ │ │ ├── _neat-merge-defaults.scss │ │ │ │ │ │ ├── _neat-parse-media.scss │ │ │ │ │ │ ├── _neat-float-direction.scss │ │ │ │ │ │ ├── _neat-append-grid-visual.scss │ │ │ │ │ │ ├── _neat-opposite-direction.scss │ │ │ │ │ │ ├── _neat-column-default.scss │ │ │ │ │ │ ├── _retrieve-neat-settings.scss │ │ │ │ │ │ ├── _neat-parse-columns.scss │ │ │ │ │ │ ├── _neat-column-ratio.scss │ │ │ │ │ │ └── _neat-column-width.scss │ │ │ │ │ └── mixins │ │ │ │ │ │ ├── _grid-container.scss │ │ │ │ │ │ ├── _grid-shift.scss │ │ │ │ │ │ ├── _grid-collapse.scss │ │ │ │ │ │ ├── _grid-push.scss │ │ │ │ │ │ ├── _grid-column.scss │ │ │ │ │ │ └── _grid-visual.scss │ │ │ │ └── _neat.scss │ │ │ ├── leaflet │ │ │ │ ├── MarkerCluster.scss │ │ │ │ └── MarkerCluster.Default.scss │ │ │ └── chartist │ │ │ │ └── chartist-plugin-tooltip.scss │ │ ├── components │ │ │ ├── _press.scss │ │ │ ├── _projects.scss │ │ │ ├── _svg.scss │ │ │ ├── _card.scss │ │ │ ├── _select2.scss │ │ │ ├── _all.scss │ │ │ ├── _button.scss │ │ │ ├── _contact.scss │ │ │ ├── _flashes.scss │ │ │ ├── _sankey-chart.scss │ │ │ ├── _pagination.scss │ │ │ ├── _box.scss │ │ │ ├── _filter.scss │ │ │ └── _profile.scss │ │ ├── mixins │ │ │ ├── _all.scss │ │ │ ├── _padded-in-mobile.scss │ │ │ ├── _rotate.scss │ │ │ └── _type-mixins.scss │ │ ├── _angular.scss │ │ ├── elements │ │ │ ├── _all.scss │ │ │ ├── _links.scss │ │ │ ├── _elements.scss │ │ │ ├── _typography.scss │ │ │ └── _lists.scss │ │ ├── _base.scss │ │ ├── _fonts.scss │ │ ├── _utility.scss │ │ └── _reset.scss │ ├── fonts │ │ ├── cabin │ │ │ ├── cabin-bold.ttf │ │ │ ├── cabin-italic.ttf │ │ │ ├── cabin-medium.ttf │ │ │ ├── cabin-regular.ttf │ │ │ ├── cabin-semi-bold.ttf │ │ │ ├── cabin-bold-italic.ttf │ │ │ ├── cabin-medium-italic.ttf │ │ │ ├── cabin-semi-bold-italic.ttf │ │ │ └── cabin.scss │ │ └── font-awesome │ │ │ ├── FontAwesome.otf │ │ │ ├── fontawesome-webfont.eot │ │ │ ├── fontawesome-webfont.ttf │ │ │ ├── fontawesome-webfont.woff │ │ │ └── fontawesome-webfont.woff2 │ ├── images │ │ ├── leaflet │ │ │ ├── layers.png │ │ │ ├── layers-2x.png │ │ │ ├── marker-icon.png │ │ │ ├── marker-icon-2x.png │ │ │ └── marker-shadow.png │ │ └── select2 │ │ │ ├── select2.png │ │ │ ├── select2x2.png │ │ │ └── select2-spinner.gif │ └── main.scss ├── js │ ├── app │ │ ├── app.js │ │ ├── filter │ │ │ ├── isEmptyFilter.js │ │ │ ├── uniqueFilter.js │ │ │ └── propsFilter.js │ │ ├── app-map.js │ │ ├── app-chartist.js │ │ ├── controller │ │ │ ├── partnerController.js │ │ │ ├── profileSchoolsController.js │ │ │ ├── programsController.js │ │ │ └── activitiesController.js │ │ ├── services │ │ │ ├── activitiesService.js │ │ │ ├── programsService.js │ │ │ ├── partnershipsService.js │ │ │ └── statesService.js │ │ └── app-table.js │ ├── header.js │ └── lib │ │ └── chartist-plugin-axistitle.min.js ├── img │ ├── map_pin.png │ ├── background │ │ ├── red.jpg │ │ ├── blue.jpg │ │ ├── green.jpg │ │ └── yellow.jpg │ ├── wg-icons │ │ ├── kunst.png │ │ ├── mint.png │ │ ├── musik.png │ │ ├── sport.png │ │ ├── handwerk.png │ │ ├── sprachen.png │ │ ├── umwelt.png │ │ ├── literatur.png │ │ ├── gesellschaft.png │ │ └── berufsorientierung.png │ ├── favicons │ │ ├── favicon.ico │ │ ├── favicon-16x16.png │ │ ├── favicon-32x32.png │ │ ├── mstile-150x150.png │ │ ├── apple-touch-icon.png │ │ ├── android-chrome-192x192.png │ │ ├── android-chrome-512x512.png │ │ ├── browserconfig.xml │ │ └── manifest.json │ ├── logos │ │ ├── logo_okfde.png │ │ ├── logo_datenschule.png │ │ ├── logo_jedeschule.png │ │ └── logo_bildungscent.png │ └── projekte │ │ ├── schulen-koeln.jpg │ │ ├── kids-in-leipzig.jpg │ │ ├── schulsanierung.jpg │ │ ├── vertretungsplan.jpg │ │ ├── berliner-schulen.jpg │ │ ├── intelligent-zone.jpg │ │ └── unterrichtsausfall-check.jpg └── data │ ├── programs.json │ ├── partnerships-berlin.json │ └── partnerships-sachsen.json ├── .gitignore ├── Gemfile ├── files └── downloads │ ├── partner-infos.zip │ ├── partner-logos.zip │ ├── bildungscent-info.pdf │ ├── bildungscent-logo.eps │ ├── bildungscent-logo.png │ ├── datenschule-info.pdf │ ├── datenschule-logo.eps │ ├── datenschule-logo.png │ ├── logos-jedeschule.zip │ ├── logo-jedeschule-1mb.png │ ├── einseiter-jedeschule.pdf │ ├── logo-jedeschule-13kb.png │ └── pressemitteilung-15-03-2017-jedeschule.pdf ├── _layouts ├── page.html └── default.html ├── Readme.md ├── setup.sh ├── _plugins └── strip_empty_lines.rb ├── _projects ├── kidsinleipzig.md ├── berlinerschulen.md ├── vertretungsplan.md ├── schuleninkoeln.md ├── wounserekinderlernen.md ├── unterrichtsausfalldercheck.md └── intelligentzoningengine.md ├── _includes ├── aktionen │ ├── partner.html │ └── activities.html ├── piwik.html ├── header.html └── laender │ ├── schularten.html │ ├── fremdsprachen.html │ └── lehrer.html ├── 404.html ├── _config.yml ├── _laender ├── bayern.md ├── bremen.md ├── saarland.md ├── hamburg.md ├── hessen.md ├── brandenburg.md ├── thueringen.md ├── niedersachsen.md ├── rheinland-pfalz.md ├── nordrhein-westfalen.md ├── sachsen-anhalt.md ├── baden-wuerttemberg.md ├── schleswig-holstein.md └── mecklenburg-vorpommern.md ├── atom.xml ├── LICENSE └── projekte └── index.html /robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: -------------------------------------------------------------------------------- /serve.sh: -------------------------------------------------------------------------------- 1 | bundle exec jekyll serve -w --future -------------------------------------------------------------------------------- /browserlist: -------------------------------------------------------------------------------- 1 | > 1% 2 | Last 2 versions 3 | IE 8 # sorry -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/settings/_px-to-em.scss: -------------------------------------------------------------------------------- 1 | $em-base: 16px !default; 2 | -------------------------------------------------------------------------------- /assets/js/app/app.js: -------------------------------------------------------------------------------- 1 | var app = angular.module('App', ['angular-chartist']); 2 | 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | .sass-cache 3 | .bundle/ 4 | _site 5 | /assets/vendor/ 6 | local/ 7 | npm-debug.log -------------------------------------------------------------------------------- /assets/img/map_pin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/img/map_pin.png -------------------------------------------------------------------------------- /assets/img/background/red.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/img/background/red.jpg -------------------------------------------------------------------------------- /assets/img/wg-icons/kunst.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/img/wg-icons/kunst.png -------------------------------------------------------------------------------- /assets/img/wg-icons/mint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/img/wg-icons/mint.png -------------------------------------------------------------------------------- /assets/img/wg-icons/musik.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/img/wg-icons/musik.png -------------------------------------------------------------------------------- /assets/img/wg-icons/sport.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/img/wg-icons/sport.png -------------------------------------------------------------------------------- /assets/img/background/blue.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/img/background/blue.jpg -------------------------------------------------------------------------------- /assets/img/background/green.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/img/background/green.jpg -------------------------------------------------------------------------------- /assets/img/background/yellow.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/img/background/yellow.jpg -------------------------------------------------------------------------------- /assets/img/favicons/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/img/favicons/favicon.ico -------------------------------------------------------------------------------- /assets/img/logos/logo_okfde.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/img/logos/logo_okfde.png -------------------------------------------------------------------------------- /assets/img/wg-icons/handwerk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/img/wg-icons/handwerk.png -------------------------------------------------------------------------------- /assets/img/wg-icons/sprachen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/img/wg-icons/sprachen.png -------------------------------------------------------------------------------- /assets/img/wg-icons/umwelt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/img/wg-icons/umwelt.png -------------------------------------------------------------------------------- /assets/style/_scss/components/_press.scss: -------------------------------------------------------------------------------- 1 | .download-box { 2 | i { 3 | font-size: 2rem; 4 | float: left; 5 | } 6 | } -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | gem 'jekyll' 3 | gem 'github-pages' 4 | gem 'octopress-autoprefixer' 5 | gem 'rdiscount' -------------------------------------------------------------------------------- /assets/img/wg-icons/literatur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/img/wg-icons/literatur.png -------------------------------------------------------------------------------- /files/downloads/partner-infos.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/files/downloads/partner-infos.zip -------------------------------------------------------------------------------- /files/downloads/partner-logos.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/files/downloads/partner-logos.zip -------------------------------------------------------------------------------- /assets/img/favicons/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/img/favicons/favicon-16x16.png -------------------------------------------------------------------------------- /assets/img/favicons/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/img/favicons/favicon-32x32.png -------------------------------------------------------------------------------- /assets/img/logos/logo_datenschule.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/img/logos/logo_datenschule.png -------------------------------------------------------------------------------- /assets/img/logos/logo_jedeschule.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/img/logos/logo_jedeschule.png -------------------------------------------------------------------------------- /assets/img/projekte/schulen-koeln.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/img/projekte/schulen-koeln.jpg -------------------------------------------------------------------------------- /assets/img/wg-icons/gesellschaft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/img/wg-icons/gesellschaft.png -------------------------------------------------------------------------------- /assets/style/_scss/components/_projects.scss: -------------------------------------------------------------------------------- 1 | .project-container { 2 | img { 3 | display: block; 4 | max-width: 90%; 5 | } 6 | } -------------------------------------------------------------------------------- /files/downloads/bildungscent-info.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/files/downloads/bildungscent-info.pdf -------------------------------------------------------------------------------- /files/downloads/bildungscent-logo.eps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/files/downloads/bildungscent-logo.eps -------------------------------------------------------------------------------- /files/downloads/bildungscent-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/files/downloads/bildungscent-logo.png -------------------------------------------------------------------------------- /files/downloads/datenschule-info.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/files/downloads/datenschule-info.pdf -------------------------------------------------------------------------------- /files/downloads/datenschule-logo.eps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/files/downloads/datenschule-logo.eps -------------------------------------------------------------------------------- /files/downloads/datenschule-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/files/downloads/datenschule-logo.png -------------------------------------------------------------------------------- /files/downloads/logos-jedeschule.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/files/downloads/logos-jedeschule.zip -------------------------------------------------------------------------------- /assets/img/favicons/mstile-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/img/favicons/mstile-150x150.png -------------------------------------------------------------------------------- /assets/img/logos/logo_bildungscent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/img/logos/logo_bildungscent.png -------------------------------------------------------------------------------- /assets/img/projekte/kids-in-leipzig.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/img/projekte/kids-in-leipzig.jpg -------------------------------------------------------------------------------- /assets/img/projekte/schulsanierung.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/img/projekte/schulsanierung.jpg -------------------------------------------------------------------------------- /assets/img/projekte/vertretungsplan.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/img/projekte/vertretungsplan.jpg -------------------------------------------------------------------------------- /assets/style/_scss/mixins/_all.scss: -------------------------------------------------------------------------------- 1 | @import 'type-mixins'; 2 | @import 'rotate'; 3 | @import 'long-shadow'; 4 | @import 'padded-in-mobile'; 5 | -------------------------------------------------------------------------------- /assets/style/fonts/cabin/cabin-bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/style/fonts/cabin/cabin-bold.ttf -------------------------------------------------------------------------------- /assets/style/images/leaflet/layers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/style/images/leaflet/layers.png -------------------------------------------------------------------------------- /assets/style/images/select2/select2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/style/images/select2/select2.png -------------------------------------------------------------------------------- /files/downloads/logo-jedeschule-1mb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/files/downloads/logo-jedeschule-1mb.png -------------------------------------------------------------------------------- /assets/img/favicons/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/img/favicons/apple-touch-icon.png -------------------------------------------------------------------------------- /assets/img/projekte/berliner-schulen.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/img/projekte/berliner-schulen.jpg -------------------------------------------------------------------------------- /assets/img/projekte/intelligent-zone.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/img/projekte/intelligent-zone.jpg -------------------------------------------------------------------------------- /assets/img/wg-icons/berufsorientierung.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/img/wg-icons/berufsorientierung.png -------------------------------------------------------------------------------- /assets/style/fonts/cabin/cabin-italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/style/fonts/cabin/cabin-italic.ttf -------------------------------------------------------------------------------- /assets/style/fonts/cabin/cabin-medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/style/fonts/cabin/cabin-medium.ttf -------------------------------------------------------------------------------- /assets/style/fonts/cabin/cabin-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/style/fonts/cabin/cabin-regular.ttf -------------------------------------------------------------------------------- /assets/style/images/leaflet/layers-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/style/images/leaflet/layers-2x.png -------------------------------------------------------------------------------- /assets/style/images/select2/select2x2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/style/images/select2/select2x2.png -------------------------------------------------------------------------------- /files/downloads/einseiter-jedeschule.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/files/downloads/einseiter-jedeschule.pdf -------------------------------------------------------------------------------- /files/downloads/logo-jedeschule-13kb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/files/downloads/logo-jedeschule-13kb.png -------------------------------------------------------------------------------- /assets/style/_scss/_angular.scss: -------------------------------------------------------------------------------- 1 | [ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak { 2 | display: none !important; 3 | } -------------------------------------------------------------------------------- /assets/style/_scss/elements/_all.scss: -------------------------------------------------------------------------------- 1 | @import 'elements'; 2 | @import 'typography'; 3 | @import 'links'; 4 | @import 'forms'; 5 | @import 'lists'; 6 | -------------------------------------------------------------------------------- /assets/style/fonts/cabin/cabin-semi-bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/style/fonts/cabin/cabin-semi-bold.ttf -------------------------------------------------------------------------------- /assets/style/images/leaflet/marker-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/style/images/leaflet/marker-icon.png -------------------------------------------------------------------------------- /assets/img/favicons/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/img/favicons/android-chrome-192x192.png -------------------------------------------------------------------------------- /assets/img/favicons/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/img/favicons/android-chrome-512x512.png -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/css3/_appearance.scss: -------------------------------------------------------------------------------- 1 | @mixin appearance($value) { 2 | @include prefixer(appearance, $value, webkit moz ms o spec); 3 | } 4 | -------------------------------------------------------------------------------- /assets/style/fonts/cabin/cabin-bold-italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/style/fonts/cabin/cabin-bold-italic.ttf -------------------------------------------------------------------------------- /assets/style/fonts/font-awesome/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/style/fonts/font-awesome/FontAwesome.otf -------------------------------------------------------------------------------- /assets/style/images/leaflet/marker-icon-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/style/images/leaflet/marker-icon-2x.png -------------------------------------------------------------------------------- /assets/style/images/leaflet/marker-shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/style/images/leaflet/marker-shadow.png -------------------------------------------------------------------------------- /assets/style/images/select2/select2-spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/style/images/select2/select2-spinner.gif -------------------------------------------------------------------------------- /assets/img/projekte/unterrichtsausfall-check.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/img/projekte/unterrichtsausfall-check.jpg -------------------------------------------------------------------------------- /assets/style/fonts/cabin/cabin-medium-italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/style/fonts/cabin/cabin-medium-italic.ttf -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/css3/_user-select.scss: -------------------------------------------------------------------------------- 1 | @mixin user-select($value: none) { 2 | @include prefixer(user-select, $value, webkit moz ms spec); 3 | } 4 | -------------------------------------------------------------------------------- /assets/style/fonts/cabin/cabin-semi-bold-italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/style/fonts/cabin/cabin-semi-bold-italic.ttf -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/css3/_calc.scss: -------------------------------------------------------------------------------- 1 | @mixin calc($property, $value) { 2 | #{$property}: -webkit-calc(#{$value}); 3 | #{$property}: calc(#{$value}); 4 | } 5 | -------------------------------------------------------------------------------- /assets/js/app/filter/isEmptyFilter.js: -------------------------------------------------------------------------------- 1 | app.filter('isEmpty', [function() { 2 | return function(object) { 3 | return angular.equals({}, object); 4 | } 5 | }]); 6 | -------------------------------------------------------------------------------- /assets/style/fonts/font-awesome/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/style/fonts/font-awesome/fontawesome-webfont.eot -------------------------------------------------------------------------------- /assets/style/fonts/font-awesome/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/style/fonts/font-awesome/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /assets/style/fonts/font-awesome/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/style/fonts/font-awesome/fontawesome-webfont.woff -------------------------------------------------------------------------------- /assets/style/fonts/font-awesome/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/assets/style/fonts/font-awesome/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /files/downloads/pressemitteilung-15-03-2017-jedeschule.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubahnverleih/jedeschule.de/master/files/downloads/pressemitteilung-15-03-2017-jedeschule.pdf -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/css3/_backface-visibility.scss: -------------------------------------------------------------------------------- 1 | @mixin backface-visibility($visibility) { 2 | @include prefixer(backface-visibility, $visibility, webkit spec); 3 | } 4 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/css3/_hyphens.scss: -------------------------------------------------------------------------------- 1 | @mixin hyphens($hyphenation: none) { 2 | // none | manual | auto 3 | @include prefixer(hyphens, $hyphenation, webkit moz ms spec); 4 | } 5 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/font-awesome/_fixed-width.scss: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .#{$fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/css3/_filter.scss: -------------------------------------------------------------------------------- 1 | @mixin filter($function: none) { 2 | // [ 5 |
6 |
{{ content }}
7 |
8 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/font-awesome/_screen-reader.scss: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { @include sr-only(); } 5 | .sr-only-focusable { @include sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /assets/style/_scss/components/_card.scss: -------------------------------------------------------------------------------- 1 | .card { 2 | margin-top: 20px; 3 | img { 4 | width: 100%; 5 | } 6 | .card-share { 7 | a { 8 | color: $base-font-color; 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /assets/js/app/app-map.js: -------------------------------------------------------------------------------- 1 | var app = angular.module('App', ['ngAnimate', 'ngSanitize', 'ui.select']); 2 | app.config(['$compileProvider', function ($compileProvider) { 3 | $compileProvider.debugInfoEnabled(false); 4 | }]); -------------------------------------------------------------------------------- /assets/js/app/app-chartist.js: -------------------------------------------------------------------------------- 1 | var app = angular.module('App', ['angular-chartist', 'ngSanitize']); 2 | app.config(['$compileProvider', function ($compileProvider) { 3 | $compileProvider.debugInfoEnabled(true); 4 | }]); 5 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/css3/_font-feature-settings.scss: -------------------------------------------------------------------------------- 1 | @mixin font-feature-settings($settings...) { 2 | @if length($settings) == 0 { $settings: none; } 3 | @include prefixer(font-feature-settings, $settings, webkit moz ms spec); 4 | } 5 | -------------------------------------------------------------------------------- /assets/style/_scss/_base.scss: -------------------------------------------------------------------------------- 1 | @import 'mixins/all'; 2 | @import 'variables'; 3 | @import 'angular'; 4 | @import 'grid'; 5 | @import 'utility'; 6 | @import 'elements/all'; 7 | @import 'layout'; 8 | @import 'fonts'; 9 | @import 'components/all'; 10 | -------------------------------------------------------------------------------- /Readme.md: -------------------------------------------------------------------------------- 1 | # Website for JedeSchule 2 | 3 | Repository of [https://jedeschule.de](jedeschule.de) – pull requests are welcome. 4 | 5 | 6 | # Local development 7 | 8 | - Install ruby dependencies ``` ./setup.sh ``` 9 | - Serve files with jekyll ``` ./serve.sh ``` -------------------------------------------------------------------------------- /assets/style/_scss/lib/neat/_neat-helpers.scss: -------------------------------------------------------------------------------- 1 | // Functions 2 | @import "functions/private"; 3 | @import "functions/new-breakpoint"; 4 | 5 | // Settings 6 | @import "settings/grid"; 7 | @import "settings/visual-grid"; 8 | @import "settings/disable-warnings"; 9 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/settings/_asset-pipeline.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// A global setting to enable or disable the `$asset-pipeline` variable for all functions that accept it. 4 | /// 5 | /// @type Bool 6 | 7 | $asset-pipeline: false !default; 8 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/css3/_placeholder.scss: -------------------------------------------------------------------------------- 1 | @mixin placeholder { 2 | $placeholders: ":-webkit-input" ":-moz" "-moz" "-ms-input"; 3 | @each $placeholder in $placeholders { 4 | &:#{$placeholder}-placeholder { 5 | @content; 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /assets/style/_scss/mixins/_padded-in-mobile.scss: -------------------------------------------------------------------------------- 1 | @mixin padded-in-mobile() { 2 | padding-left: $base-padding; 3 | padding-right: $base-padding; 4 | 5 | @include respond-to(medium-up) { 6 | padding-left: 0; 7 | padding-right: 0; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /assets/style/_scss/_fonts.scss: -------------------------------------------------------------------------------- 1 | @import '../fonts/cabin/cabin'; 2 | @import './lib/font-awesome/font-awesome'; 3 | 4 | .smaller { 5 | font-size: 0.8em; 6 | } 7 | 8 | .bold { 9 | font-weight: bold; 10 | } 11 | 12 | i::before { 13 | margin-right: 5px; 14 | } 15 | -------------------------------------------------------------------------------- /assets/style/_scss/mixins/_rotate.scss: -------------------------------------------------------------------------------- 1 | @mixin rotate($degrees, $rotation) { 2 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}); 3 | -webkit-transform: rotate($degrees); 4 | -ms-transform: rotate($degrees); 5 | transform: rotate($degrees); 6 | } 7 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/css3/_perspective.scss: -------------------------------------------------------------------------------- 1 | @mixin perspective($depth: none) { 2 | // none | 3 | @include prefixer(perspective, $depth, webkit moz spec); 4 | } 5 | 6 | @mixin perspective-origin($value: 50% 50%) { 7 | @include prefixer(perspective-origin, $value, webkit moz spec); 8 | } 9 | -------------------------------------------------------------------------------- /assets/img/favicons/browserconfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | #da532c 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/neat/grid/_box-sizing.scss: -------------------------------------------------------------------------------- 1 | // @if $border-box-sizing == true { 2 | // html { // http://bit.ly/1qk2tVR 3 | // @include box-sizing(border-box); 4 | // } 5 | 6 | // * { 7 | // &, &:before, &:after { 8 | // @include box-sizing(inherit); 9 | // } 10 | // } 11 | // } 12 | -------------------------------------------------------------------------------- /assets/style/_scss/elements/_links.scss: -------------------------------------------------------------------------------- 1 | %link { 2 | border: none; 3 | cursor: pointer; 4 | transition: color 0.1s linear; 5 | } 6 | 7 | a { 8 | @extend %link; 9 | color: $link-color; 10 | text-decoration: underline; 11 | 12 | &:active, 13 | &:hover { 14 | text-decoration: none; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /setup.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | # Make sure Bundler is installed 4 | if [ "$(gem query -i -n bundler)" = "false" ]; then 5 | echo "Installing Bundler..." 6 | gem install bundler 7 | fi 8 | 9 | # Set up Ruby dependencies via Bundler 10 | echo "Installing Dependencies..." 11 | bundle install --path .bundle/_vendor/bundle -------------------------------------------------------------------------------- /_plugins/strip_empty_lines.rb: -------------------------------------------------------------------------------- 1 | # Replaces multiple newlines and whitespace 2 | # between them with one newline 3 | 4 | module Jekyll 5 | class StripTag < Liquid::Block 6 | 7 | def render(context) 8 | super.gsub /\n\s*\n/, "\n" 9 | end 10 | 11 | end 12 | end 13 | 14 | Liquid::Template.register_tag('strip', Jekyll::StripTag) -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/functions/_is-number.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Checks for a valid number. 4 | /// 5 | /// @param {Number} $value 6 | /// 7 | /// @require {function} contains 8 | 9 | @function is-number($value) { 10 | @return contains("0" "1" "2" "3" "4" "5" "6" "7" "8" "9" 0 1 2 3 4 5 6 7 8 9, $value); 11 | } 12 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/neat/settings/_disable-warnings.scss: -------------------------------------------------------------------------------- 1 | /// Disable all deprecation warnings. Defaults to `false`. Set with a `!global` flag. 2 | /// 3 | /// @type Bool 4 | 5 | $disable-warnings: false !default; 6 | 7 | @mixin -neat-warn($message) { 8 | @if $disable-warnings == false { 9 | @warn "#{$message}"; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/functions/_assign-inputs.scss: -------------------------------------------------------------------------------- 1 | @function assign-inputs($inputs, $pseudo: null) { 2 | $list: (); 3 | 4 | @each $input in $inputs { 5 | $input: unquote($input); 6 | $input: if($pseudo, $input + ":" + $pseudo, $input); 7 | $list: append($list, $input, comma); 8 | } 9 | 10 | @return $list; 11 | } 12 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/settings/_prefixer.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Global variables to enable or disable vendor prefixes 4 | 5 | $prefix-for-webkit: true !default; 6 | $prefix-for-mozilla: true !default; 7 | $prefix-for-microsoft: true !default; 8 | $prefix-for-opera: true !default; 9 | $prefix-for-spec: true !default; 10 | -------------------------------------------------------------------------------- /_projects/kidsinleipzig.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Kids in Leipzig 3 | author: OK Lab Leipzig 4 | link: https://kidsle.leipzig.codefor.de/ 5 | image: /assets/img/projekte/kids-in-leipzig.jpg 6 | --- 7 | Das Projekt **Kids in Leipzig** stellt Kitas, Kindergärten, Spielplätze und Schulen in Leipzig auf einer Karte 8 | übersichtlich dar. Die Angaben werden zur Zeit erweitert. 9 | 10 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/_all.scss: -------------------------------------------------------------------------------- 1 | // include Bourbon & Neat 2 | @import 'bourbon/bourbon'; 3 | @import 'neat/neat'; 4 | @import 'neat-grid/neat'; 5 | 6 | @import 'chartist/chartist'; 7 | @import 'chartist/chartist-plugin-tooltip'; 8 | @import 'select2/select2'; 9 | @import 'leaflet/leaflet'; 10 | @import 'leaflet/MarkerCluster'; 11 | @import 'leaflet/MarkerCluster.Default'; 12 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/helpers/_shape-size-stripper.scss: -------------------------------------------------------------------------------- 1 | @function _shape-size-stripper($shape-size) { 2 | $shape-size-spec: null; 3 | @each $value in $shape-size { 4 | @if ($value == "cover") or ($value == "contain") { 5 | $value: null; 6 | } 7 | $shape-size-spec: "#{$shape-size-spec} #{$value}"; 8 | } 9 | @return $shape-size-spec; 10 | } 11 | -------------------------------------------------------------------------------- /_layouts/default.html: -------------------------------------------------------------------------------- 1 | {% strip %} 2 | 3 | {% include head.html %} 4 | 5 | {% include header.html %} 6 | {{ content }} 7 | {% include footer.html %} 8 | {% include js.html %} 9 | {% include piwik.html %} 10 | 11 | {% endstrip %} -------------------------------------------------------------------------------- /assets/js/app/filter/uniqueFilter.js: -------------------------------------------------------------------------------- 1 | app.filter('unique', function() { 2 | return function (arr, field) { 3 | if (!arr) return []; 4 | var o = {}, i, l = arr.length, r = []; 5 | for(i=0; i 4 | 5 | @function rem($pxval) { 6 | @if not unitless($pxval) { 7 | $pxval: strip-units($pxval); 8 | } 9 | 10 | $base: $em-base; 11 | @if not unitless($base) { 12 | $base: strip-units($base); 13 | } 14 | @return ($pxval / $base) * 1rem; 15 | } 16 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/functions/_strip-units.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Strips the unit from a number. 4 | /// 5 | /// @param {Number (With Unit)} $value 6 | /// 7 | /// @example scss - Usage 8 | /// $dimension: strip-units(10em); 9 | /// 10 | /// @example css - CSS Output 11 | /// $dimension: 10; 12 | /// 13 | /// @return {Number (Unitless)} 14 | 15 | @function strip-units($value) { 16 | @return ($value / ($value * 0 + 1)); 17 | } 18 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/functions/_px-to-em.scss: -------------------------------------------------------------------------------- 1 | // Convert pixels to ems 2 | // eg. for a relational value of 12px write em(12) when the parent is 16px 3 | // if the parent is another value say 24px write em(12, 24) 4 | 5 | @function em($pxval, $base: $em-base) { 6 | @if not unitless($pxval) { 7 | $pxval: strip-units($pxval); 8 | } 9 | @if not unitless($base) { 10 | $base: strip-units($base); 11 | } 12 | @return ($pxval / $base) * 1em; 13 | } 14 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/font-awesome/_larger.scss: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .#{$fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .#{$fa-css-prefix}-2x { font-size: 2em; } 11 | .#{$fa-css-prefix}-3x { font-size: 3em; } 12 | .#{$fa-css-prefix}-4x { font-size: 4em; } 13 | .#{$fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /assets/style/_scss/components/_select2.scss: -------------------------------------------------------------------------------- 1 | $selected-color: #3875d7; 2 | $selected-active-color: lighten($selected-color, 20%); 3 | 4 | .ui-select-choices-row:hover { 5 | background-color: $selected-active-color; 6 | } 7 | 8 | .ui-select-container { 9 | width: 100%; 10 | font-size: 14px; 11 | } 12 | 13 | .select2-results .select2-result-label { 14 | font-size: 14px; 15 | } 16 | 17 | .ui-select-match-item.select2-search-choice span { 18 | font-size: 14px; 19 | } 20 | -------------------------------------------------------------------------------- /assets/style/_scss/components/_all.scss: -------------------------------------------------------------------------------- 1 | @import 'header'; 2 | @import 'footer'; 3 | @import 'box'; 4 | @import 'flashes'; 5 | @import 'card'; 6 | @import 'select2'; 7 | @import 'pagination'; 8 | @import 'contact'; 9 | @import 'press'; 10 | @import 'map'; 11 | @import 'buttongroup'; 12 | @import 'sankey-chart'; 13 | @import 'table'; 14 | @import 'profile'; 15 | @import 'button'; 16 | @import 'filter'; 17 | @import 'projects'; 18 | @import 'chartist'; 19 | @import 'progress-bar'; 20 | @import 'svg'; 21 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/font-awesome/_list.scss: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: $fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .#{$fa-css-prefix}-li { 11 | position: absolute; 12 | left: -$fa-li-width; 13 | width: $fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.#{$fa-css-prefix}-lg { 17 | left: -$fa-li-width + (4em / 14); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /assets/style/_scss/components/_button.scss: -------------------------------------------------------------------------------- 1 | .button { 2 | background-color: $dark-blue; 3 | border-radius: 100px; 4 | padding: 10px 20px; 5 | text-decoration: none; 6 | color: white; 7 | text-transform: uppercase; 8 | font-size: 15px; 9 | font-weight: normal; 10 | white-space: nowrap; 11 | &:hover { 12 | background-color: lighten($dark-blue, 15%); 13 | } 14 | } 15 | 16 | .button-bar { 17 | .button { 18 | margin-top: 10px; 19 | display: inline-block; 20 | } 21 | } 22 | 23 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/font-awesome/_core.scss: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/css3/_hidpi-media-query.scss: -------------------------------------------------------------------------------- 1 | // HiDPI mixin. Default value set to 1.3 to target Google Nexus 7 (http://bjango.com/articles/min-device-pixel-ratio/) 2 | @mixin hidpi($ratio: 1.3) { 3 | @media only screen and (-webkit-min-device-pixel-ratio: $ratio), 4 | only screen and (min--moz-device-pixel-ratio: $ratio), 5 | only screen and (-o-min-device-pixel-ratio: #{$ratio}/1), 6 | only screen and (min-resolution: round($ratio * 96dpi)), 7 | only screen and (min-resolution: $ratio * 1dppx) { 8 | @content; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /_projects/unterrichtsausfalldercheck.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Unterrichtsausfall - Der Check 3 | author: Correctiv, Ruhr Nachrichten 4 | link: https://crowdnewsroom.org/unterrichtsausfall-der-check/ 5 | image: /assets/img/projekte/unterrichtsausfall-check.jpg 6 | --- 7 | Die Recherche Unterrichtsausfall - Der Check erfasst den gesamten Unterrichtsausfall an allen Schulen in Dortmund. 8 | Ab dem 1. März 2017 tragen Schüler*innen, Lehrende und Eltern in Dortmund zusammen, welche Stunden ausgefallen sind 9 | und welche Qualität die Ersatzstunden hatten. 10 | 11 | 12 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/font-awesome/_font-awesome.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables"; 7 | @import "mixins"; 8 | @import "path"; 9 | @import "core"; 10 | @import "larger"; 11 | @import "fixed-width"; 12 | @import "list"; 13 | @import "bordered-pulled"; 14 | @import "animated"; 15 | @import "rotated-flipped"; 16 | @import "stacked"; 17 | @import "icons"; 18 | @import "screen-reader"; 19 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/neat/grid/_fill-parent.scss: -------------------------------------------------------------------------------- 1 | /// Forces the element to fill its parent container. 2 | /// 3 | /// @example scss - Usage 4 | /// .element { 5 | /// @include fill-parent; 6 | /// } 7 | /// 8 | /// @example css - CSS Output 9 | /// .element { 10 | /// width: 100%; 11 | /// -webkit-box-sizing: border-box; 12 | /// -moz-box-sizing: border-box; 13 | /// box-sizing: border-box; 14 | /// } 15 | 16 | @mixin fill-parent() { 17 | width: 100%; 18 | 19 | @if $border-box-sizing == false { 20 | @include box-sizing(border-box); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/helpers/_gradient-positions-parser.scss: -------------------------------------------------------------------------------- 1 | @function _gradient-positions-parser($gradient-type, $gradient-positions) { 2 | @if $gradient-positions 3 | and ($gradient-type == linear) 4 | and (type-of($gradient-positions) != color) { 5 | $gradient-positions: _linear-positions-parser($gradient-positions); 6 | } 7 | @else if $gradient-positions 8 | and ($gradient-type == radial) 9 | and (type-of($gradient-positions) != color) { 10 | $gradient-positions: _radial-positions-parser($gradient-positions); 11 | } 12 | @return $gradient-positions; 13 | } 14 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/css3/_transform.scss: -------------------------------------------------------------------------------- 1 | @mixin transform($property: none) { 2 | // none | 3 | @include prefixer(transform, $property, webkit moz ms o spec); 4 | } 5 | 6 | @mixin transform-origin($axes: 50%) { 7 | // x-axis - left | center | right | length | % 8 | // y-axis - top | center | bottom | length | % 9 | // z-axis - length 10 | @include prefixer(transform-origin, $axes, webkit moz ms o spec); 11 | } 12 | 13 | @mixin transform-style($style: flat) { 14 | @include prefixer(transform-style, $style, webkit moz ms o spec); 15 | } 16 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/font-awesome/_stacked.scss: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; } 21 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/neat-grid/neat/functions/_neat-merge-defaults.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /// Apply Neat's default properties to undefined values within a map. 3 | /// 4 | /// @argument {map} $grid 5 | /// 6 | /// @return {map} 7 | /// 8 | /// @example scss 9 | /// _retrieve-neat-setting($neat-grid) 10 | /// 11 | /// @access private 12 | 13 | @function _neat-merge-defaults($grid) { 14 | $_merged-grid: map-merge(( 15 | columns: 12, 16 | gutter: 20px, 17 | media: null, 18 | color: rgba(#00d4ff, 0.25), 19 | direction: ltr, 20 | ), $grid); 21 | 22 | @return $_merged-grid; 23 | } 24 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/addons/_clearfix.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Provides an easy way to include a clearfix for containing floats. 4 | /// 5 | /// @link http://cssmojo.com/latest_new_clearfix_so_far/ 6 | /// 7 | /// @example scss - Usage 8 | /// .element { 9 | /// @include clearfix; 10 | /// } 11 | /// 12 | /// @example css - CSS Output 13 | /// .element::after { 14 | /// clear: both; 15 | /// content: ""; 16 | /// display: table; 17 | /// } 18 | 19 | @mixin clearfix { 20 | &::after { 21 | clear: both; 22 | content: ""; 23 | display: table; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/functions/_shade.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Mixes a color with black. 4 | /// 5 | /// @param {Color} $color 6 | /// 7 | /// @param {Number (Percentage)} $percent 8 | /// The amount of black to be mixed in. 9 | /// 10 | /// @example scss - Usage 11 | /// .element { 12 | /// background-color: shade(#ffbb52, 60%); 13 | /// } 14 | /// 15 | /// @example css - CSS Output 16 | /// .element { 17 | /// background-color: #664a20; 18 | /// } 19 | /// 20 | /// @return {Color} 21 | 22 | @function shade($color, $percent) { 23 | @return mix(#000, $color, $percent); 24 | } 25 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/functions/_tint.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Mixes a color with white. 4 | /// 5 | /// @param {Color} $color 6 | /// 7 | /// @param {Number (Percentage)} $percent 8 | /// The amount of white to be mixed in. 9 | /// 10 | /// @example scss - Usage 11 | /// .element { 12 | /// background-color: tint(#6ecaa6, 40%); 13 | /// } 14 | /// 15 | /// @example css - CSS Output 16 | /// .element { 17 | /// background-color: #a8dfc9; 18 | /// } 19 | /// 20 | /// @return {Color} 21 | 22 | @function tint($color, $percent) { 23 | @return mix(#fff, $color, $percent); 24 | } 25 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/css3/_font-face.scss: -------------------------------------------------------------------------------- 1 | @mixin font-face( 2 | $font-family, 3 | $file-path, 4 | $weight: normal, 5 | $style: normal, 6 | $asset-pipeline: $asset-pipeline, 7 | $file-formats: eot woff2 woff ttf svg) { 8 | 9 | $font-url-prefix: font-url-prefixer($asset-pipeline); 10 | 11 | @font-face { 12 | font-family: $font-family; 13 | font-style: $style; 14 | font-weight: $weight; 15 | 16 | src: font-source-declaration( 17 | $font-family, 18 | $file-path, 19 | $asset-pipeline, 20 | $file-formats, 21 | $font-url-prefix 22 | ); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /_projects/intelligentzoningengine.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Intelligent Zoning Engine 3 | author: idalab, Technologiestiftung Berlin 4 | link: http://idalab.de/intelligent-zoning-engine 5 | image: /assets/img/projekte/intelligent-zone.jpg 6 | --- 7 | Die Zuschneidung von Einzugsgebieten für Grundschulen ist ein komplexes Thema. Im Bezirk Tempelhof-Schöneberg in 8 | Berlin wird nun Intelligent Zoning Engine pilotiert, die mit offenen Daten diese Gebiete algorithmisch hinsichtlich 9 | Schulkapazität, Schulweg und sozioökonomischer Indikatoren optimiert. Das schafft mehr Effizienz und Transparenz im 10 | Prozess der Behörde. 11 | 12 | 13 | -------------------------------------------------------------------------------- /assets/js/app/services/activitiesService.js: -------------------------------------------------------------------------------- 1 | app.factory('activitiesService', function($http) { 2 | var ags = undefined; 3 | return { 4 | get: function(cb) { 5 | if (!ags) { 6 | $http({ 7 | url: '/assets/data/activities.json', 8 | method: "GET" 9 | }) 10 | .then(function(response) { 11 | ags = response.data; 12 | cb(null, response.data); 13 | }) 14 | } else { 15 | return ags 16 | } 17 | } 18 | } 19 | }); 20 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/helpers/_radial-positions-parser.scss: -------------------------------------------------------------------------------- 1 | @function _radial-positions-parser($gradient-pos) { 2 | $shape-size: nth($gradient-pos, 1); 3 | $pos: nth($gradient-pos, 2); 4 | $shape-size-spec: _shape-size-stripper($shape-size); 5 | 6 | $pre-spec: unquote(if($pos, "#{$pos}, ", null)) 7 | unquote(if($shape-size, "#{$shape-size},", null)); 8 | $pos-spec: if($pos, "at #{$pos}", null); 9 | 10 | $spec: "#{$shape-size-spec} #{$pos-spec}"; 11 | 12 | // Add comma 13 | @if ($spec != " ") { 14 | $spec: "#{$spec},"; 15 | } 16 | 17 | @return $pre-spec $spec; 18 | } 19 | -------------------------------------------------------------------------------- /assets/js/app/services/programsService.js: -------------------------------------------------------------------------------- 1 | app.factory('programs', function($http) { 2 | var programs = undefined; 3 | return { 4 | get: function(cb) { 5 | if (!programs) { 6 | $http({ 7 | url: '/assets/data/programs.json', 8 | method: "GET" 9 | }) 10 | .then(function(response) { 11 | programs = response.data; 12 | cb(null, response.data); 13 | }) 14 | } else { 15 | return programs; 16 | } 17 | } 18 | } 19 | }); 20 | -------------------------------------------------------------------------------- /assets/style/_scss/components/_contact.scss: -------------------------------------------------------------------------------- 1 | .contact-container { 2 | margin-top: 40px; 3 | margin-bottom: 40px; 4 | 5 | dl { 6 | dt { 7 | margin-top: 8px; 8 | font-weight: bold; 9 | } 10 | } 11 | 12 | @include respond-to(small-up) { 13 | 14 | dl { 15 | dt { 16 | margin-top: 0; 17 | float: left; 18 | width: 150px; 19 | overflow: hidden; 20 | clear: left; 21 | text-align: left; 22 | text-overflow: ellipsis; 23 | white-space: nowrap; 24 | } 25 | dd { 26 | margin-left: 150px 27 | } 28 | } 29 | } 30 | 31 | } -------------------------------------------------------------------------------- /assets/style/_scss/lib/neat-grid/neat/functions/_neat-parse-media.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /// Parse media types. If the property is a string then return it, otherwise 3 | /// assume screen and min-width. 4 | /// 5 | /// @argument {string | number (with unit)} $media 6 | /// 7 | /// @return {number} 8 | /// 9 | /// @example scss 10 | /// _neat-parse-media($grid, 1000px) 11 | /// 12 | /// @access private 13 | 14 | @function _neat-parse-media($media) { 15 | @if type-of($media) == number { 16 | @return "only screen and (min-width: #{$media})"; 17 | } @else if type-of($media) == string { 18 | @return "#{$media}"; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/neat/_neat.scss: -------------------------------------------------------------------------------- 1 | /* Neat 1.7.0 2 | * http://neat.bourbon.io 3 | * Copyright 2012-2014 thoughtbot, inc. 4 | * MIT License */ 5 | 6 | // Helpers 7 | @import "neat-helpers"; 8 | 9 | // Grid 10 | @import "grid/private"; 11 | @import "grid/box-sizing"; 12 | @import "grid/omega"; 13 | @import "grid/outer-container"; 14 | @import "grid/span-columns"; 15 | @import "grid/row"; 16 | @import "grid/shift"; 17 | @import "grid/pad"; 18 | @import "grid/fill-parent"; 19 | @import "grid/media"; 20 | @import "grid/to-deprecate"; 21 | @import "grid/visual-grid"; 22 | @import "grid/display-context"; 23 | @import "grid/direction-context"; 24 | -------------------------------------------------------------------------------- /_includes/aktionen/partner.html: -------------------------------------------------------------------------------- 1 |
2 | {% assign state = site.laender | where: 'url_name', include.name | first %} 3 |
4 |
5 |
6 | {{state.partnertext}} 7 |
8 |
9 |
Partnerschaften in {{include.caption}}
10 | 11 |
12 |
13 |
14 |
-------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/functions/_contains.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Checks if a list contains a value(s). 4 | /// 5 | /// @access private 6 | /// 7 | /// @param {List} $list 8 | /// The list to check against. 9 | /// 10 | /// @param {List} $values 11 | /// A single value or list of values to check for. 12 | /// 13 | /// @example scss - Usage 14 | /// contains($list, $value) 15 | /// 16 | /// @return {Bool} 17 | 18 | @function contains($list, $values...) { 19 | @each $value in $values { 20 | @if type-of(index($list, $value)) != "number" { 21 | @return false; 22 | } 23 | } 24 | 25 | @return true; 26 | } 27 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/neat-grid/neat/functions/_neat-float-direction.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /// Return the float direction of the grid. 3 | /// 4 | /// @argument {map} $grid 5 | /// 6 | /// @return {string} 7 | /// 8 | /// @example scss 9 | /// _neat-float-direction($neat-grid) 10 | /// 11 | /// @access private 12 | 13 | @function _neat-float-direction($grid) { 14 | $_direction: _retrieve-neat-setting($grid, direction); 15 | $_float-direction: null; 16 | @if $_direction == "ltr" { 17 | $_float-direction: left; 18 | } @else if $_direction == "rtl" { 19 | $_float-direction: right; 20 | } 21 | @return $_float-direction; 22 | } 23 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/neat-grid/neat/functions/_neat-append-grid-visual.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /// Append attributes to a the `$_grid-visual` variable in `grid-visual` mixin 3 | /// 4 | /// @argument {map} $grid 5 | /// 6 | /// @argument {number (unitless) | null} $columns 7 | /// 8 | /// @return {number} 9 | /// 10 | /// @example scss 11 | /// _neat-column-default($neat-grid, 4) 12 | /// 13 | /// @access private 14 | 15 | @function _neat-append-grid-visual($grid-visual-list, $attributes) { 16 | @each $attribute in $attributes { 17 | $grid-visual-list: append($grid-visual-list, $attribute, comma); 18 | } 19 | 20 | @return $grid-visual-list; 21 | } 22 | -------------------------------------------------------------------------------- /404.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: 404 4 | description: 404 5 | --- 6 |
7 |

404 - Seite nicht gefunden

8 | 9 |

Zur Startseite...

10 | 11 | 12 | 404 - Not Found 13 | 14 | 15 |

Image: CC-BY 2.0 by Tomomi

16 |
-------------------------------------------------------------------------------- /_includes/piwik.html: -------------------------------------------------------------------------------- 1 | {% if jekyll.environment == "production" %} 2 | 3 | 15 | 16 | {% endif %} -------------------------------------------------------------------------------- /assets/style/_scss/lib/neat-grid/neat/functions/_neat-opposite-direction.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /// Return the oppoite of the float direction of the grid. 3 | /// 4 | /// @argument {map} $grid 5 | /// 6 | /// @return {string} 7 | /// 8 | /// @example scss 9 | /// _neat-opposite-direction($neat-grid) 10 | /// 11 | /// @access private 12 | 13 | @function _neat-opposite-direction($grid) { 14 | $_direction: _retrieve-neat-setting($grid, direction); 15 | $_float-direction: null; 16 | @if $_direction == "ltr" { 17 | $_float-direction: right; 18 | } @else if $_direction == "rtl" { 19 | $_float-direction: left; 20 | } 21 | @return $_float-direction; 22 | } 23 | -------------------------------------------------------------------------------- /assets/data/programs.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "Schule ohne Rassismus - Schule mit Courage", 4 | "amount": 2306 5 | }, 6 | { 7 | "name": "Be Smart - Don't Start", 8 | "amount": 2281 9 | }, 10 | { 11 | "name": "NFTE", 12 | "amount": 758 13 | }, 14 | { 15 | "name": "Fairtrade-Schools", 16 | "amount": 578 17 | }, 18 | { 19 | "name": "Seniorpartner in School", 20 | "amount": 314 21 | }, 22 | { 23 | "name": "Umweltschule in Europa", 24 | "amount": 268 25 | }, 26 | { 27 | "name": "UNESCO-Projektschulen", 28 | "amount": 251 29 | }, 30 | { 31 | "name": "BildungsCent e.V.", 32 | "amount": 978 33 | } 34 | ] -------------------------------------------------------------------------------- /assets/js/app/services/partnershipsService.js: -------------------------------------------------------------------------------- 1 | app.factory('partnershipsService', function($http) { 2 | var partnerships = {}; 3 | return { 4 | get: function(name, cb) { 5 | if (!partnerships[name]) { 6 | $http({ 7 | url: '/assets/data/partnerships-' + name + '.json', 8 | method: "GET" 9 | }) 10 | .then(function(response) { 11 | partnerships[name] = response.data; 12 | cb(null, response.data); 13 | }) 14 | } else { 15 | return partnerships[name] 16 | } 17 | } 18 | } 19 | }); 20 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | markdown: rdiscount 2 | highlighter: pygments 3 | domain: 'https://jedeschule.de' 4 | staticurl: /assets/ 5 | exclude: 6 | - "CNAME" 7 | - "LICENSE" 8 | - "browserlist" 9 | - "Gemfile*" 10 | - "Readme.md" 11 | - "*.sh" 12 | - ".sass-cache/" 13 | - ".idea/" 14 | - ".git/" 15 | - "local/" 16 | - "scripts/" 17 | - "_site/" 18 | gems: 19 | - jekyll-redirect-from 20 | - jekyll-sitemap 21 | - jekyll-paginate 22 | - octopress-autoprefixer 23 | sass: 24 | sass_dir: assets/style/_scss 25 | style: compressed 26 | collections: 27 | laender: 28 | output: true 29 | permalink: laender/:path/ 30 | projects: 31 | output: false 32 | settings: 33 | debug: false -------------------------------------------------------------------------------- /assets/style/_scss/lib/neat-grid/neat/functions/_neat-column-default.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /// Determine if a column count has been given. 3 | /// If no columns have been given return the grid's total column count. 4 | /// 5 | /// @argument {map} $grid 6 | /// 7 | /// @argument {number (unitless) | null} $columns 8 | /// 9 | /// @return {number} 10 | /// 11 | /// @example scss 12 | /// _neat-column-default($neat-grid, 4) 13 | /// 14 | /// @access private 15 | 16 | @function _neat-column-default($grid, $columns) { 17 | @if $columns == null { 18 | $_grid-columns: _retrieve-neat-setting($grid, columns); 19 | @return $_grid-columns; 20 | } @else { 21 | @return $columns; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/functions/_is-light.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Programatically determines whether a color is light or dark. 4 | /// 5 | /// @link http://robots.thoughtbot.com/closer-look-color-lightness 6 | /// 7 | /// @param {Color (Hex)} $color 8 | /// 9 | /// @example scss - Usage 10 | /// is-light($color) 11 | /// 12 | /// @return {Bool} 13 | 14 | @function is-light($hex-color) { 15 | $-local-red: red(rgba($hex-color, 1)); 16 | $-local-green: green(rgba($hex-color, 1)); 17 | $-local-blue: blue(rgba($hex-color, 1)); 18 | $-local-lightness: ($-local-red * 0.2126 + $-local-green * 0.7152 + $-local-blue * 0.0722) / 255; 19 | 20 | @return $-local-lightness > 0.6; 21 | } 22 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/neat-grid/neat/functions/_retrieve-neat-settings.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /// This function recives a grid map and merges it with Neat's defauls. 3 | /// It then returns the value of the property that has been passed to it. 4 | /// 5 | /// @argument {map} $grid 6 | /// 7 | /// @argument {string} $setting 8 | /// 9 | /// @return {boolean | color | list | number | string} 10 | /// 11 | /// @example scss 12 | /// _retrieve-neat-setting($neat-grid, columns) 13 | /// 14 | /// @access private 15 | 16 | @function _retrieve-neat-setting($grid, $setting) { 17 | $_grid-settings: map-merge(_neat-merge-defaults($neat-grid), $grid); 18 | @return map-get($_grid-settings, $setting); 19 | } 20 | -------------------------------------------------------------------------------- /assets/style/_scss/components/_flashes.scss: -------------------------------------------------------------------------------- 1 | $base-spacing: 1.5em !default; 2 | $flashes: ( 3 | "alert": #fff6bf, 4 | "error": #fbe3e4, 5 | "notice": #e5edf8, 6 | "success": #e6efc2, 7 | ) !default; 8 | 9 | @each $flash-type, $color in $flashes { 10 | .flashes-#{$flash-type} { 11 | background-color: $color; 12 | color: shade($color, 60%); 13 | display: block; 14 | margin-bottom: $base-spacing / 2; 15 | padding: $base-spacing / 2; 16 | text-align: center; 17 | 18 | a { 19 | color: shade($color, 70%); 20 | text-decoration: underline; 21 | 22 | &:focus, 23 | &:hover { 24 | color: shade($color, 90%); 25 | } 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/neat-grid/neat/functions/_neat-parse-columns.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /// Parse a column count like `3 of 5` and retur the total coloumn count. 3 | /// This is to allow a shorthand for custom grids without using a settings map. 4 | /// 5 | /// 6 | /// @argument {list} $span 7 | /// 8 | /// @return {number} 9 | /// 10 | /// @example scss 11 | /// _neat-parse-columns(3 of 5) 12 | /// 13 | /// @access private 14 | 15 | @function _neat-parse-columns($span) { 16 | @if length($span) == 3 { 17 | $_total-columns: nth($span, 3); 18 | @return $_total-columns; 19 | } @else if length($span) == 2 or if length($span) >= 3 { 20 | @error "`$column` should contain 2 values, seperated by an `of`"; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/addons/_margin.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Provides a quick method for targeting `margin` on specific sides of a box. Use a `null` value to “skip” a side. 4 | /// 5 | /// @param {Arglist} $vals 6 | /// List of arguments 7 | /// 8 | /// @example scss - Usage 9 | /// .element { 10 | /// @include margin(null 10px 3em 20vh); 11 | /// } 12 | /// 13 | /// @example css - CSS Output 14 | /// .element { 15 | /// margin-bottom: 3em; 16 | /// margin-left: 20vh; 17 | /// margin-right: 10px; 18 | /// } 19 | /// 20 | /// @require {mixin} directional-property 21 | /// 22 | /// @output `margin` 23 | 24 | @mixin margin($vals...) { 25 | @include directional-property(margin, false, $vals...); 26 | } 27 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/css3/_text-decoration.scss: -------------------------------------------------------------------------------- 1 | @mixin text-decoration($value) { 2 | // || || 3 | @include prefixer(text-decoration, $value, moz); 4 | } 5 | 6 | @mixin text-decoration-line($line: none) { 7 | // none || underline || overline || line-through 8 | @include prefixer(text-decoration-line, $line, moz); 9 | } 10 | 11 | @mixin text-decoration-style($style: solid) { 12 | // solid || double || dotted || dashed || wavy 13 | @include prefixer(text-decoration-style, $style, moz webkit); 14 | } 15 | 16 | @mixin text-decoration-color($color: currentColor) { 17 | // currentColor || 18 | @include prefixer(text-decoration-color, $color, moz); 19 | } 20 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/addons/_border-width.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Provides a quick method for targeting `border-width` on specific sides of a box. Use a `null` value to “skip” a side. 4 | /// 5 | /// @param {Arglist} $vals 6 | /// List of arguments 7 | /// 8 | /// @example scss - Usage 9 | /// .element { 10 | /// @include border-width(1em null 20px); 11 | /// } 12 | /// 13 | /// @example css - CSS Output 14 | /// .element { 15 | /// border-bottom-width: 20px; 16 | /// border-top-width: 1em; 17 | /// } 18 | /// 19 | /// @require {mixin} directional-property 20 | /// 21 | /// @output `border-width` 22 | 23 | @mixin border-width($vals...) { 24 | @include directional-property(border, width, $vals...); 25 | } 26 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/addons/_padding.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Provides a quick method for targeting `padding` on specific sides of a box. Use a `null` value to “skip” a side. 4 | /// 5 | /// @param {Arglist} $vals 6 | /// List of arguments 7 | /// 8 | /// @example scss - Usage 9 | /// .element { 10 | /// @include padding(12vh null 10px 5%); 11 | /// } 12 | /// 13 | /// @example css - CSS Output 14 | /// .element { 15 | /// padding-bottom: 10px; 16 | /// padding-left: 5%; 17 | /// padding-top: 12vh; 18 | /// } 19 | /// 20 | /// @require {mixin} directional-property 21 | /// 22 | /// @output `padding` 23 | 24 | @mixin padding($vals...) { 25 | @include directional-property(padding, false, $vals...); 26 | } 27 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/font-awesome/_bordered-pulled.scss: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em $fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .#{$fa-css-prefix}-pull-left { float: left; } 11 | .#{$fa-css-prefix}-pull-right { float: right; } 12 | 13 | .#{$fa-css-prefix} { 14 | &.#{$fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.#{$fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | 18 | /* Deprecated as of 4.4.0 */ 19 | .pull-right { float: right; } 20 | .pull-left { float: left; } 21 | 22 | .#{$fa-css-prefix} { 23 | &.pull-left { margin-right: .3em; } 24 | &.pull-right { margin-left: .3em; } 25 | } 26 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/addons/_border-style.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Provides a quick method for targeting `border-style` on specific sides of a box. Use a `null` value to “skip” a side. 4 | /// 5 | /// @param {Arglist} $vals 6 | /// List of arguments 7 | /// 8 | /// @example scss - Usage 9 | /// .element { 10 | /// @include border-style(dashed null solid); 11 | /// } 12 | /// 13 | /// @example css - CSS Output 14 | /// .element { 15 | /// border-bottom-style: solid; 16 | /// border-top-style: dashed; 17 | /// } 18 | /// 19 | /// @require {mixin} directional-property 20 | /// 21 | /// @output `border-style` 22 | 23 | @mixin border-style($vals...) { 24 | @include directional-property(border, style, $vals...); 25 | } 26 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/addons/_font-stacks.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Georgia font stack. 4 | /// 5 | /// @type List 6 | 7 | $georgia: "Georgia", "Cambria", "Times New Roman", "Times", serif; 8 | 9 | /// Helvetica font stack. 10 | /// 11 | /// @type List 12 | 13 | $helvetica: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; 14 | 15 | /// Lucida Grande font stack. 16 | /// 17 | /// @type List 18 | 19 | $lucida-grande: "Lucida Grande", "Tahoma", "Verdana", "Arial", sans-serif; 20 | 21 | /// Monospace font stack. 22 | /// 23 | /// @type List 24 | 25 | $monospace: "Bitstream Vera Sans Mono", "Consolas", "Courier", monospace; 26 | 27 | /// Verdana font stack. 28 | /// 29 | /// @type List 30 | 31 | $verdana: "Verdana", "Geneva", sans-serif; 32 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/addons/_word-wrap.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Provides an easy way to change the `word-wrap` property. 4 | /// 5 | /// @param {String} $wrap [break-word] 6 | /// Value for the `word-break` property. 7 | /// 8 | /// @example scss - Usage 9 | /// .wrapper { 10 | /// @include word-wrap(break-word); 11 | /// } 12 | /// 13 | /// @example css - CSS Output 14 | /// .wrapper { 15 | /// overflow-wrap: break-word; 16 | /// word-break: break-all; 17 | /// word-wrap: break-word; 18 | /// } 19 | 20 | @mixin word-wrap($wrap: break-word) { 21 | overflow-wrap: $wrap; 22 | word-wrap: $wrap; 23 | 24 | @if $wrap == break-word { 25 | word-break: break-all; 26 | } @else { 27 | word-break: $wrap; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/neat-grid/neat/mixins/_grid-container.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /// Creates a grid container with clearfix. 3 | /// 4 | /// @group features 5 | /// 6 | /// @name Grid container 7 | /// 8 | /// @argument {map} $grid [$neat-grid] 9 | /// The grid to be used to generate the container. 10 | /// By default, the global `$neat-grid` will be used. 11 | /// 12 | /// @example scss 13 | /// .element { 14 | /// @include grid-container; 15 | /// } 16 | /// 17 | /// @example css 18 | /// .element::after { 19 | /// clear: both; 20 | /// content: ""; 21 | /// display: block; 22 | /// } 23 | 24 | @mixin grid-container($grid: $neat-grid) { 25 | &::after { 26 | clear: both; 27 | content: ""; 28 | display: block; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/neat/grid/_pad.scss: -------------------------------------------------------------------------------- 1 | /// Adds padding to the element. 2 | /// 3 | /// @param {List} $padding (flex-gutter()) 4 | /// A list of padding value(s) to use. Passing `default` in the list will result in using the gutter width as a padding value. 5 | /// 6 | /// @example scss - Usage 7 | /// .element { 8 | /// @include pad(30px -20px 10px default); 9 | /// } 10 | /// 11 | /// @example css - CSS Output 12 | /// .element { 13 | /// padding: 30px -20px 10px 2.35765%; 14 | /// } 15 | 16 | @mixin pad($padding: flex-gutter()) { 17 | $padding-list: null; 18 | @each $value in $padding { 19 | $value: if($value == 'default', flex-gutter(), $value); 20 | $padding-list: join($padding-list, $value); 21 | } 22 | padding: $padding-list; 23 | } 24 | -------------------------------------------------------------------------------- /assets/js/app/app-table.js: -------------------------------------------------------------------------------- 1 | var app = angular.module('App', ['smart-table']); 2 | app.run(['$templateCache', function ($templateCache) { 3 | $templateCache.put('template/smart-table/pagination.html', 4 | ''); 9 | }]); 10 | app.config(['$compileProvider', function ($compileProvider) { 11 | $compileProvider.debugInfoEnabled(false); 12 | }]); 13 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/neat/grid/_display-context.scss: -------------------------------------------------------------------------------- 1 | /// Changes the display property used by other mixins called in the code block argument. 2 | /// 3 | /// @param {String} $display (block) 4 | /// Display value to be used within the block. Can be `table` or `block`. 5 | /// 6 | /// @example scss 7 | /// @include display(table) { 8 | /// .display-table { 9 | /// @include span-columns(6); 10 | /// } 11 | /// } 12 | /// 13 | /// @example css 14 | /// .display-table { 15 | /// display: table-cell; 16 | /// ... 17 | /// } 18 | 19 | @mixin display-context($display: block) { 20 | $scope-display: $container-display-table; 21 | $container-display-table: $display == table !global; 22 | 23 | @content; 24 | 25 | $container-display-table: $scope-display !global; 26 | } 27 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/font-awesome/_rotated-flipped.scss: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } 5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } 6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } 7 | 8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } 9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .#{$fa-css-prefix}-rotate-90, 15 | :root .#{$fa-css-prefix}-rotate-180, 16 | :root .#{$fa-css-prefix}-rotate-270, 17 | :root .#{$fa-css-prefix}-flip-horizontal, 18 | :root .#{$fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/addons/_border-color.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Provides a quick method for targeting `border-color` on specific sides of a box. Use a `null` value to “skip” a side. 4 | /// 5 | /// @param {Arglist} $vals 6 | /// List of arguments 7 | /// 8 | /// @example scss - Usage 9 | /// .element { 10 | /// @include border-color(#a60b55 #76cd9c null #e8ae1a); 11 | /// } 12 | /// 13 | /// @example css - CSS Output 14 | /// .element { 15 | /// border-left-color: #e8ae1a; 16 | /// border-right-color: #76cd9c; 17 | /// border-top-color: #a60b55; 18 | /// } 19 | /// 20 | /// @require {mixin} directional-property 21 | /// 22 | /// @output `border-color` 23 | 24 | @mixin border-color($vals...) { 25 | @include directional-property(border, color, $vals...); 26 | } 27 | -------------------------------------------------------------------------------- /assets/style/_scss/_utility.scss: -------------------------------------------------------------------------------- 1 | .u-centered { 2 | text-align: center; 3 | } 4 | 5 | .u-padding-right { 6 | padding-right: 0.5em; 7 | } 8 | 9 | .u-margin-top { 10 | margin-top: $base-padding; 11 | } 12 | 13 | .sr-only { 14 | height: 0; 15 | left: -10000px; 16 | overflow: hidden; 17 | position: absolute; 18 | top: auto; 19 | width: 1px; 20 | } 21 | 22 | .medium-down-only { 23 | @include respond-to(medium-up) { 24 | display: none; 25 | } 26 | } 27 | 28 | .subpage-breadcrumb { 29 | margin-bottom: 0; 30 | } 31 | 32 | .u-padding-small_screen { 33 | padding-left: $base-padding; 34 | padding-right: $base-padding; 35 | } 36 | 37 | .pull-right { 38 | float: right; 39 | } 40 | 41 | .text-center { 42 | text-align: center; 43 | } 44 | 45 | *[hidden], .hidden { 46 | display: none !important; 47 | } 48 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/neat-grid/neat/functions/_neat-column-ratio.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /// Determine the ratio of `$columns` to the total column count. 3 | /// If `$columns` is more than one value, they are handed to 4 | /// `_neat-parse-columns()` which will detirmine the total columns and use this 5 | /// value instead of `total-columns`. 6 | /// 7 | /// @argument {map} $grid 8 | /// 9 | /// @argument {number | list} $columns 10 | /// 11 | /// @return {number} 12 | /// 13 | /// @example scss 14 | /// _neat-column-ratio($grid, 3) 15 | /// 16 | /// @access private 17 | 18 | @function _neat-column-ratio($grid, $columns) { 19 | @if length($columns) > 1 { 20 | @return nth($columns, 1) / _neat-parse-columns($columns); 21 | } @else if $columns { 22 | @return $columns / _retrieve-neat-setting($grid, columns); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/neat-grid/neat/functions/_neat-column-width.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /// Return a calulated column width that can then be passed in to a `calc()`. 3 | /// 4 | /// @argument {map} $grid 5 | /// 6 | /// @argument {number} $columns 7 | /// 8 | /// @return {string} 9 | /// 10 | /// @example scss 11 | /// _neat-column-width($neat-grid, 4) 12 | /// 13 | /// @access private 14 | 15 | @function _neat-column-width($grid, $columns) { 16 | $_column-ratio: _neat-column-ratio($grid, $columns); 17 | $_gutter: _retrieve-neat-setting($grid, gutter); 18 | 19 | @if $_gutter == 0 { 20 | @return unquote("#{percentage($_column-ratio)}"); 21 | } @else { 22 | $_gutter-affordance: $_gutter + ($_gutter * $_column-ratio); 23 | @return unquote("#{percentage($_column-ratio)} - #{$_gutter-affordance}"); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/addons/_ellipsis.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Truncates text and adds an ellipsis to represent overflow. 4 | /// 5 | /// @param {Number} $width [100%] 6 | /// Max-width for the string to respect before being truncated 7 | /// 8 | /// @example scss - Usage 9 | /// .element { 10 | /// @include ellipsis; 11 | /// } 12 | /// 13 | /// @example css - CSS Output 14 | /// .element { 15 | /// display: inline-block; 16 | /// max-width: 100%; 17 | /// overflow: hidden; 18 | /// text-overflow: ellipsis; 19 | /// white-space: nowrap; 20 | /// word-wrap: normal; 21 | /// } 22 | 23 | @mixin ellipsis($width: 100%) { 24 | display: inline-block; 25 | max-width: $width; 26 | overflow: hidden; 27 | text-overflow: ellipsis; 28 | white-space: nowrap; 29 | word-wrap: normal; 30 | } 31 | -------------------------------------------------------------------------------- /_laender/bayern.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bayern 3 | layout: laender 4 | link: /laender/bayern/ 5 | js_laender: yes 6 | url_name: bayern 7 | law: "http://www.gesetze-bayern.de/Content/Pdf/BayEUG?all=True" 8 | --- 9 | Introtext zum Schulsystem in Bayern 10 | 11 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore 12 | magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd 13 | gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing 14 | elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos 15 | et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor 16 | sit amet. -------------------------------------------------------------------------------- /_laender/bremen.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bremen 3 | layout: laender 4 | link: /laender/bremen/ 5 | js_laender: yes 6 | url_name: bremen 7 | law: "http://www.bildung.bremen.de/sixcms/media.php/13/schulgesetze.pdf" 8 | --- 9 | Introtext zum Schulsystem in Bremen 10 | 11 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore 12 | magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd 13 | gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing 14 | elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos 15 | et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor 16 | sit amet. -------------------------------------------------------------------------------- /_laender/saarland.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Saarland 3 | layout: laender 4 | link: /laender/saarland 5 | js_laender: yes 6 | url_name: saarland 7 | law: "http://www.saarland.de/dokumente/thema_justiz/223-2.pdf" 8 | --- 9 | Introtext zum Schulsystem im Saarland 10 | 11 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore 12 | magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd 13 | gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing 14 | elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos 15 | et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor 16 | sit amet. -------------------------------------------------------------------------------- /assets/style/_scss/components/_sankey-chart.scss: -------------------------------------------------------------------------------- 1 | .sankeychart { 2 | height: 500px; 3 | font-size: 12px; 4 | 5 | .sankey-node { 6 | rect { 7 | fill: red; 8 | stroke: red; 9 | } 10 | } 11 | 12 | @for $i from 1 through length($chart-colors) { 13 | .sankey-node-#{$i - 1} { 14 | rect { 15 | fill: nth($chart-colors, $i); 16 | stroke: darken(nth($chart-colors, $i), 2); 17 | } 18 | } 19 | } 20 | 21 | .sankey-link rect { 22 | fill-opacity: .9; 23 | } 24 | 25 | .sankey-link text { 26 | pointer-events: none; 27 | text-shadow: 0 1px 0 #fff; 28 | } 29 | 30 | .sankey-link text:hover { 31 | } 32 | 33 | .sankey-link { 34 | fill: none; 35 | stroke: #868779; 36 | stroke-opacity: .2; 37 | } 38 | 39 | .sankey-link:hover { 40 | stroke-opacity: .5; 41 | } 42 | 43 | } 44 | -------------------------------------------------------------------------------- /_laender/hamburg.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Hamburg 3 | layout: laender 4 | link: /laender/hamburg/ 5 | js_laender: yes 6 | url_name: hamburg 7 | law: "http://www.hamburg.de/contentblob/1995414/data/schulgesetzdownload.pdf" 8 | --- 9 | Introtext zum Schulsystem in Hamburg 10 | 11 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore 12 | magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd 13 | gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing 14 | elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos 15 | et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor 16 | sit amet. -------------------------------------------------------------------------------- /_laender/hessen.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Hessen 3 | layout: laender 4 | link: /laender/hessen/ 5 | js_laender: yes 6 | url_name: hessen 7 | law: "http://www.lexsoft.de/share/pdf/a8a3c966-6948-4e1a-9483-d271dd56fe71.pdf" 8 | --- 9 | Introtext zum Schulsystem in Hessen 10 | 11 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore 12 | magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd 13 | gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing 14 | elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos 15 | et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor 16 | sit amet. -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/functions/_transition-property-name.scss: -------------------------------------------------------------------------------- 1 | // Return vendor-prefixed property names if appropriate 2 | // Example: transition-property-names((transform, color, background), moz) -> -moz-transform, color, background 3 | //************************************************************************// 4 | @function transition-property-names($props, $vendor: false) { 5 | $new-props: (); 6 | 7 | @each $prop in $props { 8 | $new-props: append($new-props, transition-property-name($prop, $vendor), comma); 9 | } 10 | 11 | @return $new-props; 12 | } 13 | 14 | @function transition-property-name($prop, $vendor: false) { 15 | // put other properties that need to be prefixed here aswell 16 | @if $vendor and $prop == transform { 17 | @return unquote('-'+$vendor+'-'+$prop); 18 | } 19 | @else { 20 | @return $prop; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /_laender/brandenburg.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Brandenburg 3 | layout: laender 4 | link: /laender/brandenburg/ 5 | js_laender: yes 6 | url_name: brandenburg 7 | law: "http://bravors.brandenburg.de/gesetze/bbgschulg_2016#" 8 | --- 9 | Introtext zum Schulsystem in Brandenburg 10 | 11 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore 12 | magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd 13 | gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing 14 | elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos 15 | et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor 16 | sit amet. -------------------------------------------------------------------------------- /_laender/thueringen.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Thüringen 3 | layout: laender 4 | link: /laender/thueringen/ 5 | js_laender: yes 6 | url_name: thueringen 7 | law: "http://apps.thueringen.de/de/publikationen/pic/pubdownload1230.pdf" 8 | --- 9 | Introtext zum Schulsystem in Thüringen 10 | 11 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore 12 | magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd 13 | gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing 14 | elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos 15 | et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor 16 | sit amet. -------------------------------------------------------------------------------- /assets/style/_scss/lib/font-awesome/_path.scss: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); 7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), 8 | url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'), 9 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), 10 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), 11 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/functions/_unpack.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Converts shorthand to the 4-value syntax. 4 | /// 5 | /// @param {List} $shorthand 6 | /// 7 | /// @example scss - Usage 8 | /// .element { 9 | /// margin: unpack(1em 2em); 10 | /// } 11 | /// 12 | /// @example css - CSS Output 13 | /// .element { 14 | /// margin: 1em 2em 1em 2em; 15 | /// } 16 | 17 | @function unpack($shorthand) { 18 | @if length($shorthand) == 1 { 19 | @return nth($shorthand, 1) nth($shorthand, 1) nth($shorthand, 1) nth($shorthand, 1); 20 | } @else if length($shorthand) == 2 { 21 | @return nth($shorthand, 1) nth($shorthand, 2) nth($shorthand, 1) nth($shorthand, 2); 22 | } @else if length($shorthand) == 3 { 23 | @return nth($shorthand, 1) nth($shorthand, 2) nth($shorthand, 3) nth($shorthand, 2); 24 | } @else { 25 | @return $shorthand; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /_laender/niedersachsen.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Niedersachsen 3 | layout: laender 4 | link: /laender/niedersachsen/ 5 | js_laender: yes 6 | url_name: niedersachsen 7 | law: "www.mk.niedersachsen.de/download/92654+&cd=3&hl=de&ct=clnk&gl=de" 8 | --- 9 | Introtext zum Schulsystem in Niedersachsen 10 | 11 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore 12 | magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd 13 | gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing 14 | elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos 15 | et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor 16 | sit amet. -------------------------------------------------------------------------------- /assets/style/_scss/lib/neat/settings/_visual-grid.scss: -------------------------------------------------------------------------------- 1 | /// Displays the visual grid when set to true. The overlaid grid may be few pixels off depending on the browser's rendering engine and pixel rounding algorithm. Set with the `!global` flag. 2 | /// 3 | /// @type Bool 4 | 5 | $visual-grid: false !default; 6 | 7 | /// Sets the visual grid color. Set with `!global` flag. 8 | /// 9 | /// @type Color 10 | 11 | $visual-grid-color: #EEE !default; 12 | 13 | /// Sets the `z-index` property of the visual grid. Can be `back` (behind content) or `front` (in front of content). Set with `!global` flag. 14 | /// 15 | /// @type String 16 | 17 | $visual-grid-index: back !default; 18 | 19 | /// Sets the opacity property of the visual grid. Set with `!global` flag. 20 | /// 21 | /// @type Number (unitless) 22 | 23 | $visual-grid-opacity: 0.4 !default; 24 | 25 | $visual-grid-breakpoints: () !default; 26 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/addons/_hide-text.scss: -------------------------------------------------------------------------------- 1 | /// Hides the text in an element, commonly used to show an image. Some elements will need block-level styles applied. 2 | /// 3 | /// @link http://zeldman.com/2012/03/01/replacing-the-9999px-hack-new-image-replacement 4 | /// 5 | /// @example scss - Usage 6 | /// .element { 7 | /// @include hide-text; 8 | /// } 9 | /// 10 | /// @example css - CSS Output 11 | /// .element { 12 | /// overflow: hidden; 13 | /// text-indent: 101%; 14 | /// white-space: nowrap; 15 | /// } 16 | /// 17 | /// @todo Remove height argument in v5.0.0 18 | 19 | @mixin hide-text($height: null) { 20 | overflow: hidden; 21 | text-indent: 101%; 22 | white-space: nowrap; 23 | 24 | @if $height { 25 | @warn "The `hide-text` mixin has changed and no longer requires a height. The height argument will no longer be accepted in v5.0.0"; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /atom.xml: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | 4 | 5 | Datenschule Blog 6 | 7 | 8 | {{ site.time | date_to_xmlschema }} 9 | {{site.baseurl}} 10 | 11 | Datenschule, Open Knowledge Foundation Deutschland 12 | 13 | 14 | {% for post in site.posts %} 15 | {% if post.unlisted != true %} 16 | 17 | {{ post.title | xml_escape }} 18 | 19 | {{ post.date | date_to_xmlschema }} 20 | {{site.baseurl}}{{ post.id }} 21 | {{ post.content | xml_escape }} 22 | 23 | {% endif %} 24 | {% endfor %} 25 | 26 | 27 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/font-awesome/_animated.scss: -------------------------------------------------------------------------------- 1 | // Spinning Icons 2 | // -------------------------- 3 | 4 | .#{$fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .#{$fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /_laender/rheinland-pfalz.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Rheinland-Pfalz 3 | layout: laender 4 | link: /laender/rheinland-pfalz 5 | js_laender: yes 6 | url_name: rheinland-pfalz 7 | law: "https://bm.rlp.de/fileadmin/mbwwk/Publikationen/Bildung/Schulgesetz_2016.pdf" 8 | --- 9 | Introtext zum Schulsystem in Rheinland-Pfalz 10 | 11 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore 12 | magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd 13 | gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing 14 | elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos 15 | et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor 16 | sit amet. -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/helpers/_linear-angle-parser.scss: -------------------------------------------------------------------------------- 1 | // Private function for linear-gradient-parser 2 | @function _linear-angle-parser($image, $first-val, $prefix, $suffix) { 3 | $offset: null; 4 | $unit-short: str-slice($first-val, str-length($first-val) - 2, str-length($first-val)); 5 | $unit-long: str-slice($first-val, str-length($first-val) - 3, str-length($first-val)); 6 | 7 | @if ($unit-long == "grad") or 8 | ($unit-long == "turn") { 9 | $offset: if($unit-long == "grad", -100grad * 3, -0.75turn); 10 | } 11 | 12 | @else if ($unit-short == "deg") or 13 | ($unit-short == "rad") { 14 | $offset: if($unit-short == "deg", -90 * 3, 1.6rad); 15 | } 16 | 17 | @if $offset { 18 | $num: _str-to-num($first-val); 19 | 20 | @return ( 21 | webkit-image: -webkit- + $prefix + ($offset - $num) + $suffix, 22 | spec-image: $image 23 | ); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /_laender/nordrhein-westfalen.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Nordrhein-Westphalen 3 | layout: laender 4 | link: /laender/nordrhein-westfalen/ 5 | js_laender: yes 6 | url_name: nordrhein-westfalen 7 | law: "https://www.schulministerium.nrw.de/docs/Recht/Schulrecht/Schulgesetz/Schulgesetz.pdf" 8 | --- 9 | Introtext zum Schulsystem in Nordrhein-Westphalen 10 | 11 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore 12 | magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd 13 | gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing 14 | elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos 15 | et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor 16 | sit amet. -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/helpers/_convert-units.scss: -------------------------------------------------------------------------------- 1 | //************************************************************************// 2 | // Helper function for str-to-num fn. 3 | // Source: http://sassmeister.com/gist/9647408 4 | //************************************************************************// 5 | @function _convert-units($number, $unit) { 6 | $strings: "px", "cm", "mm", "%", "ch", "pica", "in", "em", "rem", "pt", "pc", "ex", "vw", "vh", "vmin", "vmax", "deg", "rad", "grad", "turn"; 7 | $units: 1px, 1cm, 1mm, 1%, 1ch, 1pica, 1in, 1em, 1rem, 1pt, 1pc, 1ex, 1vw, 1vh, 1vmin, 1vmax, 1deg, 1rad, 1grad, 1turn; 8 | $index: index($strings, $unit); 9 | 10 | @if not $index { 11 | @warn "Unknown unit `#{$unit}`."; 12 | @return false; 13 | } 14 | 15 | @if type-of($number) != "number" { 16 | @warn "`#{$number} is not a number`"; 17 | @return false; 18 | } 19 | 20 | @return $number * nth($units, $index); 21 | } 22 | -------------------------------------------------------------------------------- /_laender/sachsen-anhalt.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Sachsen-Anhalt 3 | layout: laender 4 | link: /laender/sachsen-anhalt/ 5 | js_laender: yes 6 | url_name: sachsen-anhalt 7 | law: "http://www.landesrecht.sachsen-anhalt.de/jportal/portal/t/102i/page/bssahprod.psml/screen/JWPDFScreen/filename/SchulG_ST_2013.pdf" 8 | --- 9 | Introtext zum Schulsystem in Sachsen-Anhalt 10 | 11 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore 12 | magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd 13 | gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing 14 | elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos 15 | et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor 16 | sit amet. -------------------------------------------------------------------------------- /assets/style/_scss/lib/leaflet/MarkerCluster.scss: -------------------------------------------------------------------------------- 1 | .leaflet-cluster-anim .leaflet-marker-icon, .leaflet-cluster-anim .leaflet-marker-shadow { 2 | -webkit-transition: -webkit-transform 0.3s ease-out, opacity 0.3s ease-in; 3 | -moz-transition: -moz-transform 0.3s ease-out, opacity 0.3s ease-in; 4 | -o-transition: -o-transform 0.3s ease-out, opacity 0.3s ease-in; 5 | transition: transform 0.3s ease-out, opacity 0.3s ease-in; 6 | } 7 | 8 | .leaflet-cluster-spider-leg { 9 | /* stroke-dashoffset (duration and function) should match with leaflet-marker-icon transform in order to track it exactly */ 10 | -webkit-transition: -webkit-stroke-dashoffset 0.3s ease-out, -webkit-stroke-opacity 0.3s ease-in; 11 | -moz-transition: -moz-stroke-dashoffset 0.3s ease-out, -moz-stroke-opacity 0.3s ease-in; 12 | -o-transition: -o-stroke-dashoffset 0.3s ease-out, -o-stroke-opacity 0.3s ease-in; 13 | transition: stroke-dashoffset 0.3s ease-out, stroke-opacity 0.3s ease-in; 14 | } 15 | -------------------------------------------------------------------------------- /_laender/baden-wuerttemberg.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Baden-Württemberg 3 | layout: laender 4 | link: /laender/baden-wuerttemberg/ 5 | js_laender: yes 6 | url_name: baden-wuerttemberg 7 | law: "http://www.landesrecht-bw.de/jportal/portal/t/a1h/page/bsbawueprod.psml/screen/JWPDFScreen/filename/SchulG_BW_1983.pdf" 8 | --- 9 | Introtext zum Schulsystem in Baden-Württemberg 10 | 11 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore 12 | magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd 13 | gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing 14 | elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos 15 | et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor 16 | sit amet. -------------------------------------------------------------------------------- /_laender/schleswig-holstein.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Schleswig-Holstein 3 | layout: laender 4 | link: /laender/schleswig-holstein/ 5 | js_laender: yes 6 | url_name: schleswig-holstein 7 | law: "http://www.gesetze-rechtsprechung.sh.juris.de/jportal/portal/t/10w4/page/bsshoprod.psml/screen/JWPDFScreen/filename/SchulG_SH_2007.pdf" 8 | --- 9 | Introtext zum Schulsystem in Schleswig-Holstein 10 | 11 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore 12 | magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd 13 | gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing 14 | elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos 15 | et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor 16 | sit amet. -------------------------------------------------------------------------------- /assets/style/_scss/elements/_elements.scss: -------------------------------------------------------------------------------- 1 | * { 2 | box-sizing: border-box; 3 | } 4 | 5 | body { 6 | color: $base-font-color; 7 | font-family: $base-font-family; 8 | font-size: $base-font-size; 9 | font-weight: $base-font-weight; 10 | line-height: $base-line-height; 11 | } 12 | 13 | button { 14 | cursor: pointer; 15 | } 16 | 17 | h1, 18 | h2, 19 | h3, 20 | h4, 21 | h5 { 22 | a { 23 | text-decoration: none; 24 | } 25 | } 26 | 27 | hr { 28 | border-color:$base-border-color; 29 | } 30 | 31 | strong, b { 32 | font-weight: $weight-bold; 33 | } 34 | 35 | em { 36 | font-style: italic; 37 | } 38 | 39 | a img { 40 | border: 0; 41 | outline: 0; 42 | } 43 | 44 | [aria-hidden="true"] { 45 | display: none; 46 | } 47 | 48 | span.mark { 49 | color: $primary-color; 50 | font-style: italic; 51 | font-weight: bold; 52 | } 53 | 54 | .source { 55 | font-size: 10px; 56 | } 57 | 58 | .clickable { 59 | cursor: pointer; 60 | } 61 | 62 | .panel-error { 63 | 64 | } -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/addons/_retina-image.scss: -------------------------------------------------------------------------------- 1 | @mixin retina-image($filename, $background-size, $extension: png, $retina-filename: null, $retina-suffix: _2x, $asset-pipeline: $asset-pipeline) { 2 | @if $asset-pipeline { 3 | background-image: image-url("#{$filename}.#{$extension}"); 4 | } @else { 5 | background-image: url("#{$filename}.#{$extension}"); 6 | } 7 | 8 | @include hidpi { 9 | @if $asset-pipeline { 10 | @if $retina-filename { 11 | background-image: image-url("#{$retina-filename}.#{$extension}"); 12 | } @else { 13 | background-image: image-url("#{$filename}#{$retina-suffix}.#{$extension}"); 14 | } 15 | } @else { 16 | @if $retina-filename { 17 | background-image: url("#{$retina-filename}.#{$extension}"); 18 | } @else { 19 | background-image: url("#{$filename}#{$retina-suffix}.#{$extension}"); 20 | } 21 | } 22 | 23 | background-size: $background-size; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/neat-grid/_neat.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | // Neat 2.0.0 3 | // http://neat.bourbon.io 4 | // Copyright 2012 thoughtbot, inc. 5 | // MIT License 6 | 7 | @import "neat/settings/settings"; 8 | 9 | @import "neat/functions/retrieve-neat-settings"; 10 | @import "neat/functions/neat-column-default"; 11 | @import "neat/functions/neat-column-width"; 12 | @import "neat/functions/neat-column-ratio"; 13 | @import "neat/functions/neat-float-direction"; 14 | @import "neat/functions/neat-merge-defaults"; 15 | @import "neat/functions/neat-opposite-direction"; 16 | @import "neat/functions/neat-parse-columns"; 17 | @import "neat/functions/neat-parse-media"; 18 | @import "neat/functions/neat-append-grid-visual"; 19 | 20 | @import "neat/mixins/grid-collapse"; 21 | @import "neat/mixins/grid-column"; 22 | @import "neat/mixins/grid-container"; 23 | @import "neat/mixins/grid-media"; 24 | @import "neat/mixins/grid-push"; 25 | @import "neat/mixins/grid-shift"; 26 | @import "neat/mixins/grid-visual"; 27 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/helpers/_render-gradients.scss: -------------------------------------------------------------------------------- 1 | // User for linear and radial gradients within background-image or border-image properties 2 | 3 | @function _render-gradients($gradient-positions, $gradients, $gradient-type, $vendor: false) { 4 | $pre-spec: null; 5 | $spec: null; 6 | $vendor-gradients: null; 7 | @if $gradient-type == linear { 8 | @if $gradient-positions { 9 | $pre-spec: nth($gradient-positions, 1); 10 | $spec: nth($gradient-positions, 2); 11 | } 12 | } 13 | @else if $gradient-type == radial { 14 | $pre-spec: nth($gradient-positions, 1); 15 | $spec: nth($gradient-positions, 2); 16 | } 17 | 18 | @if $vendor { 19 | $vendor-gradients: -#{$vendor}-#{$gradient-type}-gradient(#{$pre-spec} $gradients); 20 | } 21 | @else if $vendor == false { 22 | $vendor-gradients: "#{$gradient-type}-gradient(#{$spec} #{$gradients})"; 23 | $vendor-gradients: unquote($vendor-gradients); 24 | } 25 | @return $vendor-gradients; 26 | } 27 | -------------------------------------------------------------------------------- /_laender/mecklenburg-vorpommern.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Mecklenburg-Vorpommern 3 | layout: laender 4 | link: /laender/mecklenburg-vorpommern/ 5 | js_laender: yes 6 | url_name: mecklenburg-vorpommern 7 | law: "http://www.landesrecht-mv.de/jportal/portal/page/bsmvprod.psml?showdoccase=1&st=lr&doc.id=jlr-SchulGMV2010rahmen&doc.part=X&doc.origin=bs" 8 | --- 9 | Introtext zum Schulsystem in Mecklenburg-Vorpommern 10 | 11 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore 12 | magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd 13 | gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing 14 | elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos 15 | et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor 16 | sit amet. -------------------------------------------------------------------------------- /assets/style/_scss/lib/chartist/chartist-plugin-tooltip.scss: -------------------------------------------------------------------------------- 1 | .chartist-tooltip { 2 | position: absolute; 3 | display: inline-block; 4 | opacity: 0; 5 | min-width: 5em; 6 | padding: .5em; 7 | background: #F4C63D; 8 | color: #453D3F; 9 | font-family: Oxygen,Helvetica,Arial,sans-serif; 10 | font-weight: 700; 11 | text-align: center; 12 | pointer-events: none; 13 | z-index: 1; 14 | -webkit-transition: opacity .2s linear; 15 | -moz-transition: opacity .2s linear; 16 | -o-transition: opacity .2s linear; 17 | transition: opacity .2s linear; } 18 | .chartist-tooltip:before { 19 | content: ""; 20 | position: absolute; 21 | top: 100%; 22 | left: 50%; 23 | width: 0; 24 | height: 0; 25 | margin-left: -15px; 26 | border: 15px solid transparent; 27 | border-top-color: #F4C63D; } 28 | .chartist-tooltip.tooltip-show { 29 | opacity: 1; } 30 | 31 | .ct-area, .ct-line { 32 | pointer-events: none; } 33 | 34 | /*# sourceMappingURL=chartist-plugin-tooltip.css.map */ 35 | -------------------------------------------------------------------------------- /assets/js/app/filter/propsFilter.js: -------------------------------------------------------------------------------- 1 | 2 | app.filter('propsFilter', function() { 3 | return function(items, props) { 4 | var out = []; 5 | 6 | if (angular.isArray(items)) { 7 | items.forEach(function(item) { 8 | var itemMatches = false; 9 | 10 | var keys = Object.keys(props); 11 | for (var i = 0; i < keys.length; i++) { 12 | var prop = keys[i]; 13 | var text = props[prop].toLowerCase(); 14 | if (item[prop].toString().toLowerCase().indexOf(text) !== -1) { 15 | itemMatches = true; 16 | break; 17 | } 18 | } 19 | 20 | if (itemMatches) { 21 | out.push(item); 22 | } 23 | }); 24 | } else { 25 | // Let the output be the input untouched 26 | out = items; 27 | } 28 | 29 | return out; 30 | }; 31 | }); 32 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/neat/grid/_direction-context.scss: -------------------------------------------------------------------------------- 1 | /// Changes the direction property used by other mixins called in the code block argument. 2 | /// 3 | /// @param {String} $direction (left-to-right) 4 | /// Layout direction to be used within the block. Can be `left-to-right` or `right-to-left`. 5 | /// 6 | /// @example scss - Usage 7 | /// @include direction(right-to-left) { 8 | /// .right-to-left-block { 9 | /// @include span-columns(6); 10 | /// } 11 | /// } 12 | /// 13 | /// @example css - CSS Output 14 | /// .right-to-left-block { 15 | /// float: right; 16 | /// ... 17 | /// } 18 | 19 | @mixin direction-context($direction: left-to-right) { 20 | $scope-direction: $layout-direction; 21 | 22 | @if to-lower-case($direction) == "left-to-right" { 23 | $layout-direction: LTR !global; 24 | } @else if to-lower-case($direction) == "right-to-left" { 25 | $layout-direction: RTL !global; 26 | } 27 | 28 | @content; 29 | 30 | $layout-direction: $scope-direction !global; 31 | } 32 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/css3/_selection.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Outputs the spec and prefixed versions of the `::selection` pseudo-element. 4 | /// 5 | /// @param {Bool} $current-selector [false] 6 | /// If set to `true`, it takes the current element into consideration. 7 | /// 8 | /// @example scss - Usage 9 | /// .element { 10 | /// @include selection(true) { 11 | /// background-color: #ffbb52; 12 | /// } 13 | /// } 14 | /// 15 | /// @example css - CSS Output 16 | /// .element::-moz-selection { 17 | /// background-color: #ffbb52; 18 | /// } 19 | /// 20 | /// .element::selection { 21 | /// background-color: #ffbb52; 22 | /// } 23 | 24 | @mixin selection($current-selector: false) { 25 | @if $current-selector { 26 | &::-moz-selection { 27 | @content; 28 | } 29 | 30 | &::selection { 31 | @content; 32 | } 33 | } @else { 34 | ::-moz-selection { 35 | @content; 36 | } 37 | 38 | ::selection { 39 | @content; 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /_includes/aktionen/activities.html: -------------------------------------------------------------------------------- 1 |
2 | {% assign state = site.laender | where: 'url_name', include.name | first %} 3 |
4 |
{{state.agtext}}
5 |
6 |
Verteilung von angebotenen Schulaktivitäten in {{include.caption}}
7 |
8 | {% raw %} 9 |
10 |
11 |
12 | 13 |
14 | von
Schulen 15 |
16 |
17 |
18 | {% endraw %} 19 |
20 |
21 |
22 |
23 | -------------------------------------------------------------------------------- /assets/js/app/controller/profileSchoolsController.js: -------------------------------------------------------------------------------- 1 | app.controller('profileSchoolsController', function($scope, $window, $location, schools) { 2 | 3 | $scope.itemsByPage = 50; 4 | 5 | var states = { 6 | 'BE': {name: 'Berlin'}, 7 | 'SN': {name: 'Sachsen'} 8 | }; 9 | 10 | schools.profileSchools(function(err, schools) { 11 | schools.forEach(function(school) { 12 | school.state = states[school.state].name; 13 | }); 14 | schools = schools.sort(function(a, b) { 15 | if (a.id < b.id) return -1; 16 | if (a.id > b.id) return 1; 17 | return 0; 18 | }); 19 | $scope.schools = schools; 20 | }); 21 | 22 | }); 23 | 24 | app.directive('stFilteredCollection', function () { 25 | return { 26 | require: '^stTable', 27 | link: function (scope, element, attr, ctrl) { 28 | scope.$watch(ctrl.getFilteredCollection, function(val) { 29 | scope.filteredCollection = val; 30 | }) 31 | } 32 | } 33 | }); -------------------------------------------------------------------------------- /assets/js/app/services/statesService.js: -------------------------------------------------------------------------------- 1 | app.factory('statesService', function($http) { 2 | var states = {}; 3 | var requests = {}; 4 | return { 5 | get: function(state, cb) { 6 | if (!states[state]) { 7 | if (!requests[state]) { 8 | requests[state] = [cb]; 9 | $http({ 10 | url: '/assets/data/states/' + state + '.json', 11 | method: "GET" 12 | }) 13 | .then(function(response) { 14 | states[state] = response.data; 15 | requests[state].forEach(function(callback) { 16 | callback(null, response.data); 17 | }); 18 | requests[state] = null; 19 | }) 20 | } else { 21 | requests[state].push(cb); 22 | } 23 | } else { 24 | cb(null, states[state]); 25 | } 26 | } 27 | } 28 | }); 29 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/helpers/_linear-side-corner-parser.scss: -------------------------------------------------------------------------------- 1 | // Private function for linear-gradient-parser 2 | @function _linear-side-corner-parser($image, $first-val, $prefix, $suffix, $has-multiple-vals) { 3 | $val-1: str-slice($first-val, 0, $has-multiple-vals - 1 ); 4 | $val-2: str-slice($first-val, $has-multiple-vals + 1, str-length($first-val)); 5 | $val-3: null; 6 | $has-val-3: str-index($val-2, " "); 7 | 8 | @if $has-val-3 { 9 | $val-3: str-slice($val-2, $has-val-3 + 1, str-length($val-2)); 10 | $val-2: str-slice($val-2, 0, $has-val-3 - 1); 11 | } 12 | 13 | $pos: _position-flipper($val-1) _position-flipper($val-2) _position-flipper($val-3); 14 | $pos: unquote($pos + ""); 15 | 16 | // Use old spec for webkit 17 | @if $val-1 == "to" { 18 | @return ( 19 | webkit-image: -webkit- + $prefix + $pos + $suffix, 20 | spec-image: $image 21 | ); 22 | } 23 | 24 | // Bring the code up to spec 25 | @else { 26 | @return ( 27 | webkit-image: -webkit- + $image, 28 | spec-image: $prefix + "to " + $pos + $suffix 29 | ); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /_includes/header.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/neat-grid/neat/mixins/_grid-shift.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /// Shift columns and reorder them within their container using relative 3 | /// positioning. 4 | /// 5 | /// @group features 6 | /// 7 | /// @name Grid shift 8 | /// 9 | /// @argument {number (unitless)} $shift [false] 10 | /// The number of columns to shift the column. 11 | /// 12 | /// @argument {map} $grid [$neat-grid] 13 | /// The grid to be used to detirmine how far to shift the column. 14 | /// By default, the global `$neat-grid` will be used. 15 | /// 16 | /// @example scss 17 | /// .element { 18 | /// @include grid-shift(3); 19 | /// } 20 | /// 21 | /// @example css 22 | /// .element { 23 | /// left: calc(25% - 25px + 20px); 24 | /// position: relative; 25 | /// } 26 | 27 | @mixin grid-shift($shift: false, $grid: $neat-grid) { 28 | @if $shift { 29 | $_shift-value: calc(#{_neat-column-width($grid, $shift)} + #{_retrieve-neat-setting($grid, gutter)}); 30 | #{_neat-float-direction($grid)}: $_shift-value; 31 | } @else { 32 | #{_neat-float-direction($grid)}: auto; 33 | } 34 | 35 | position: relative; 36 | } 37 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/neat-grid/neat/mixins/_grid-collapse.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /// Creates collapsed grid object that consumes the gutters of its container, 3 | /// for use in nested layouts. 4 | /// 5 | /// @group features 6 | /// 7 | /// @name Grid collapse 8 | /// 9 | /// @argument {map} $grid [$neat-grid] 10 | /// The grid to be used to generate the collapsed container. 11 | /// By default, the global `$neat-grid` will be used. 12 | /// 13 | /// @example scss 14 | /// .element { 15 | /// @include grid-collapse; 16 | /// } 17 | /// 18 | /// @example css 19 | /// .element { 20 | /// float: left; 21 | /// margin-left: -20px; 22 | /// margin-right: -20px; 23 | /// width: calc(100% + 40px); 24 | /// } 25 | 26 | @mixin grid-collapse($grid: $neat-grid) { 27 | $_grid-gutter: _retrieve-neat-setting($grid, gutter); 28 | 29 | @if unit($_grid-gutter) == "%" { 30 | @warn "`grid-collapse` is not compatible with percentage based gutters."; 31 | } 32 | 33 | margin-#{_neat-float-direction($grid)}: -($_grid-gutter); 34 | margin-#{_neat-opposite-direction($grid)}: -($_grid-gutter); 35 | width: calc(100% + #{($_grid-gutter * 2)}); 36 | } 37 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/neat/grid/_outer-container.scss: -------------------------------------------------------------------------------- 1 | /// Makes an element a outer container by centring it in the viewport, clearing its floats, and setting its `max-width`. 2 | /// Although optional, using `outer-container` is recommended. The mixin can be called on more than one element per page, as long as they are not nested. 3 | /// 4 | /// @param {Number (unit)} $local-max-width ($max-width) 5 | /// Max width to be applied to the element. Can be a percentage or a measure. 6 | /// 7 | /// @example scss - Usage 8 | /// .element { 9 | /// @include outer-container(100%); 10 | /// } 11 | /// 12 | /// @example css - CSS Output 13 | /// .element { 14 | /// *zoom: 1; 15 | /// max-width: 100%; 16 | /// margin-left: auto; 17 | /// margin-right: auto; 18 | /// } 19 | /// 20 | /// .element:before, .element:after { 21 | /// content: " "; 22 | /// display: table; 23 | /// } 24 | /// 25 | /// .element:after { 26 | /// clear: both; 27 | /// } 28 | 29 | @mixin outer-container($local-max-width: $max-width) { 30 | @include clearfix; 31 | max-width: $local-max-width; 32 | margin: { 33 | left: auto; 34 | right: auto; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Open Knowledge Foundation Deutschland e.V. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/neat/grid/_visual-grid.scss: -------------------------------------------------------------------------------- 1 | @mixin grid-column-gradient($values...) { 2 | background-image: -webkit-linear-gradient(left, $values); 3 | background-image: -moz-linear-gradient(left, $values); 4 | background-image: -ms-linear-gradient(left, $values); 5 | background-image: -o-linear-gradient(left, $values); 6 | background-image: unquote("linear-gradient(to left, #{$values})"); 7 | } 8 | 9 | @if $visual-grid == true or $visual-grid == yes { 10 | body:before { 11 | content: ''; 12 | display: inline-block; 13 | @include grid-column-gradient(gradient-stops($grid-columns)); 14 | height: 100%; 15 | left: 0; 16 | margin: 0 auto; 17 | max-width: $max-width; 18 | opacity: $visual-grid-opacity; 19 | position: fixed; 20 | right: 0; 21 | width: 100%; 22 | pointer-events: none; 23 | 24 | @if $visual-grid-index == back { 25 | z-index: -1; 26 | } 27 | 28 | @else if $visual-grid-index == front { 29 | z-index: 9999; 30 | } 31 | 32 | @each $breakpoint in $visual-grid-breakpoints { 33 | @if $breakpoint { 34 | @include media($breakpoint) { 35 | @include grid-column-gradient(gradient-stops($grid-columns)); 36 | } 37 | } 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/neat-grid/neat/mixins/_grid-push.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /// Push or pull a grid column by manipulating its left margin. 3 | /// 4 | /// @group features 5 | /// 6 | /// @name Grid push 7 | /// 8 | /// @argument {number (unitless)} $push [false] 9 | /// The number of columns to push the column. 10 | /// 11 | /// @argument {map} $grid [$neat-grid] 12 | /// The grid to be used to detirmine how far to push the column. 13 | /// By default, the global `$neat-grid` will be used. 14 | /// 15 | /// @example scss 16 | /// .element { 17 | /// @include grid-push(3); 18 | /// } 19 | /// 20 | /// @example css 21 | /// .element { 22 | /// margin-left: calc(25% - 25px + 40px); 23 | /// } 24 | 25 | @mixin grid-push($push: false, $grid: $neat-grid) { 26 | $_grid-columns: _retrieve-neat-setting($grid, columns); 27 | $_grid-gutter: _retrieve-neat-setting($grid, gutter); 28 | 29 | @if $push { 30 | $_gutter-affordance: $_grid-gutter * 2; 31 | $_margin-value: calc(#{_neat-column-width($grid, $push)} + #{$_gutter-affordance}); 32 | margin-#{_neat-float-direction($grid)}: $_margin-value; 33 | } @else { 34 | $_margin-value: _retrieve-neat-setting($grid, gutter); 35 | margin-#{_neat-float-direction($grid)}: $_margin-value; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /assets/style/fonts/cabin/cabin.scss: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: Cabin; 3 | src: url('fonts/cabin/cabin-regular.ttf'); 4 | font-style: normal; 5 | font-weight: 400; 6 | } 7 | 8 | @font-face { 9 | font-family: Cabin; 10 | src: url('fonts/cabin/cabin-italic.ttf'); 11 | font-style: italic; 12 | font-weight: 400; 13 | } 14 | 15 | @font-face { 16 | font-family: Cabin; 17 | src: url('fonts/cabin/cabin-medium.ttf'); 18 | font-style: normal; 19 | font-weight: 500; 20 | } 21 | 22 | @font-face { 23 | font-family: Cabin; 24 | src: url('fonts/cabin/cabin-medium-italic.ttf'); 25 | font-style: italic; 26 | font-weight: 500; 27 | } 28 | 29 | @font-face { 30 | font-family: Cabin; 31 | src: url('fonts/cabin/cabin-semi-bold.ttf'); 32 | font-style: normal; 33 | font-weight: 600; 34 | } 35 | 36 | @font-face { 37 | font-family: Cabin; 38 | src: url('fonts/cabin/cabin-semi-bold-italic.ttf'); 39 | font-style: italic; 40 | font-weight: 600; 41 | } 42 | 43 | @font-face { 44 | font-family: Cabin; 45 | src: url('fonts/cabin/cabin-bold.ttf'); 46 | font-style: normal; 47 | font-weight: 700; 48 | } 49 | 50 | @font-face { 51 | font-family: Cabin; 52 | src: url('fonts/cabin/cabin-bold-italic.ttf'); 53 | font-style: italic; 54 | font-weight: 700; 55 | } -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/helpers/_font-source-declaration.scss: -------------------------------------------------------------------------------- 1 | // Used for creating the source string for fonts using @font-face 2 | // Reference: http://goo.gl/Ru1bKP 3 | 4 | @function font-url-prefixer($asset-pipeline) { 5 | @if $asset-pipeline == true { 6 | @return font-url; 7 | } @else { 8 | @return url; 9 | } 10 | } 11 | 12 | @function font-source-declaration( 13 | $font-family, 14 | $file-path, 15 | $asset-pipeline, 16 | $file-formats, 17 | $font-url) { 18 | 19 | $src: (); 20 | 21 | $formats-map: ( 22 | eot: "#{$file-path}.eot?#iefix" format("embedded-opentype"), 23 | woff2: "#{$file-path}.woff2" format("woff2"), 24 | woff: "#{$file-path}.woff" format("woff"), 25 | ttf: "#{$file-path}.ttf" format("truetype"), 26 | svg: "#{$file-path}.svg##{$font-family}" format("svg") 27 | ); 28 | 29 | @each $key, $values in $formats-map { 30 | @if contains($file-formats, $key) { 31 | $file-path: nth($values, 1); 32 | $font-format: nth($values, 2); 33 | 34 | @if $asset-pipeline == true { 35 | $src: append($src, font-url($file-path) $font-format, comma); 36 | } @else { 37 | $src: append($src, url($file-path) $font-format, comma); 38 | } 39 | } 40 | } 41 | 42 | @return $src; 43 | } 44 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/neat/grid/_private.scss: -------------------------------------------------------------------------------- 1 | $parent-columns: $grid-columns !default; 2 | $fg-column: $column; 3 | $fg-gutter: $gutter; 4 | $fg-max-columns: $grid-columns; 5 | $container-display-table: false !default; 6 | $layout-direction: LTR !default; 7 | 8 | @function flex-grid($columns, $container-columns: $fg-max-columns) { 9 | $width: $columns * $fg-column + ($columns - 1) * $fg-gutter; 10 | $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter; 11 | @return percentage($width / $container-width); 12 | } 13 | 14 | @function flex-gutter($container-columns: $fg-max-columns, $gutter: $fg-gutter) { 15 | $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter; 16 | @return percentage($gutter / $container-width); 17 | } 18 | 19 | @function grid-width($n) { 20 | @return $n * $gw-column + ($n - 1) * $gw-gutter; 21 | } 22 | 23 | @function get-parent-columns($columns) { 24 | @if $columns != $grid-columns { 25 | $parent-columns: $columns !global; 26 | } @else { 27 | $parent-columns: $grid-columns !global; 28 | } 29 | 30 | @return $parent-columns; 31 | } 32 | 33 | @function is-display-table($container-is-display-table, $display) { 34 | @return $container-is-display-table == true or $display == table; 35 | } 36 | -------------------------------------------------------------------------------- /assets/style/_scss/_reset.scss: -------------------------------------------------------------------------------- 1 | /* http://meyerweb.com/eric/tools/css/reset/ 2 | v2.0 | 20110126 3 | License: none (public domain) 4 | */ 5 | 6 | html, body, div, span, applet, object, iframe, 7 | h1, h2, h3, h4, h5, h6, p, blockquote, pre, 8 | a, abbr, acronym, address, big, cite, code, 9 | del, dfn, em, img, ins, kbd, q, s, samp, 10 | small, strike, strong, sub, sup, tt, var, 11 | b, u, i, center, 12 | dl, dt, dd, ol, ul, li, 13 | fieldset, form, label, legend, 14 | table, caption, tbody, tfoot, thead, tr, th, td, 15 | article, aside, canvas, details, embed, 16 | figure, figcaption, footer, header, hgroup, 17 | menu, nav, output, ruby, section, summary, 18 | time, mark, audio, video { 19 | margin: 0; 20 | padding: 0; 21 | border: 0; 22 | font-size: 100%; 23 | font: inherit; 24 | vertical-align: baseline; 25 | } 26 | 27 | /* HTML5 display-role reset for older browsers */ 28 | article, aside, details, figcaption, figure, 29 | footer, header, hgroup, menu, nav, section { 30 | display: block; 31 | } 32 | 33 | body { 34 | line-height: 1; 35 | } 36 | 37 | blockquote, q { 38 | quotes: none; 39 | } 40 | 41 | blockquote:before, blockquote:after, 42 | q:before, q:after { 43 | content: ''; 44 | content: none; 45 | } 46 | 47 | table { 48 | border-collapse: collapse; 49 | border-spacing: 0; 50 | } 51 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/helpers/_linear-gradient-parser.scss: -------------------------------------------------------------------------------- 1 | @function _linear-gradient-parser($image) { 2 | $image: unquote($image); 3 | $gradients: (); 4 | $start: str-index($image, "("); 5 | $end: str-index($image, ","); 6 | $first-val: str-slice($image, $start + 1, $end - 1); 7 | 8 | $prefix: str-slice($image, 0, $start); 9 | $suffix: str-slice($image, $end, str-length($image)); 10 | 11 | $has-multiple-vals: str-index($first-val, " "); 12 | $has-single-position: unquote(_position-flipper($first-val) + ""); 13 | $has-angle: is-number(str-slice($first-val, 0, 0)); 14 | 15 | @if $has-multiple-vals { 16 | $gradients: _linear-side-corner-parser($image, $first-val, $prefix, $suffix, $has-multiple-vals); 17 | } 18 | 19 | @else if $has-single-position != "" { 20 | $pos: unquote($has-single-position + ""); 21 | 22 | $gradients: ( 23 | webkit-image: -webkit- + $image, 24 | spec-image: $prefix + "to " + $pos + $suffix 25 | ); 26 | } 27 | 28 | @else if $has-angle { 29 | // Rotate degree for webkit 30 | $gradients: _linear-angle-parser($image, $first-val, $prefix, $suffix); 31 | } 32 | 33 | @else { 34 | $gradients: ( 35 | webkit-image: -webkit- + $image, 36 | spec-image: $image 37 | ); 38 | } 39 | 40 | @return $gradients; 41 | } 42 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/addons/_border-radius.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Provides a quick method for targeting `border-radius` on both corners on the side of a box. 4 | /// 5 | /// @param {Number} $radii 6 | /// List of arguments 7 | /// 8 | /// @example scss - Usage 9 | /// .element-one { 10 | /// @include border-top-radius(5px); 11 | /// } 12 | /// 13 | /// .element-two { 14 | /// @include border-left-radius(3px); 15 | /// } 16 | /// 17 | /// @example css - CSS Output 18 | /// .element-one { 19 | /// border-top-left-radius: 5px; 20 | /// border-top-right-radius: 5px; 21 | /// } 22 | /// 23 | /// .element-two { 24 | /// border-bottom-left-radius: 3px; 25 | /// border-top-left-radius: 3px; 26 | /// } 27 | /// 28 | /// @output `border-radius` 29 | 30 | @mixin border-top-radius($radii) { 31 | border-top-left-radius: $radii; 32 | border-top-right-radius: $radii; 33 | } 34 | 35 | @mixin border-right-radius($radii) { 36 | border-bottom-right-radius: $radii; 37 | border-top-right-radius: $radii; 38 | } 39 | 40 | @mixin border-bottom-radius($radii) { 41 | border-bottom-left-radius: $radii; 42 | border-bottom-right-radius: $radii; 43 | } 44 | 45 | @mixin border-left-radius($radii) { 46 | border-bottom-left-radius: $radii; 47 | border-top-left-radius: $radii; 48 | } 49 | -------------------------------------------------------------------------------- /assets/js/header.js: -------------------------------------------------------------------------------- 1 | $(window).resize(function() { 2 | var more = document.getElementById("js-navigation-more"); 3 | if ($(more).length > 0) { 4 | var windowWidth = $(window).width(); 5 | var moreLeftSideToPageLeftSide = $(more).offset().left; 6 | var moreLeftSideToPageRightSide = windowWidth - moreLeftSideToPageLeftSide; 7 | 8 | if (moreLeftSideToPageRightSide < 330) { 9 | $("#js-navigation-more .submenu .submenu").removeClass("fly-out-right"); 10 | $("#js-navigation-more .submenu .submenu").addClass("fly-out-left"); 11 | } 12 | 13 | if (moreLeftSideToPageRightSide > 330) { 14 | $("#js-navigation-more .submenu .submenu").removeClass("fly-out-left"); 15 | $("#js-navigation-more .submenu .submenu").addClass("fly-out-right"); 16 | } 17 | } 18 | }); 19 | 20 | $(document).ready(function() { 21 | var menuToggle = $("#js-mobile-menu").unbind(); 22 | $("#js-navigation-menu").removeClass("show"); 23 | 24 | menuToggle.on("click", function(e) { 25 | e.preventDefault(); 26 | $("#js-navigation-menu").slideToggle(function() { 27 | if ($("#js-navigation-menu").is(":hidden")) { 28 | $("#js-navigation-menu").removeAttr("style"); 29 | } 30 | }); 31 | }); 32 | }); 33 | 34 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/css3/_keyframes.scss: -------------------------------------------------------------------------------- 1 | // Adds keyframes blocks for supported prefixes, removing redundant prefixes in the block's content 2 | @mixin keyframes($name) { 3 | $original-prefix-for-webkit: $prefix-for-webkit; 4 | $original-prefix-for-mozilla: $prefix-for-mozilla; 5 | $original-prefix-for-microsoft: $prefix-for-microsoft; 6 | $original-prefix-for-opera: $prefix-for-opera; 7 | $original-prefix-for-spec: $prefix-for-spec; 8 | 9 | @if $original-prefix-for-webkit { 10 | @include disable-prefix-for-all(); 11 | $prefix-for-webkit: true !global; 12 | @-webkit-keyframes #{$name} { 13 | @content; 14 | } 15 | } 16 | 17 | @if $original-prefix-for-mozilla { 18 | @include disable-prefix-for-all(); 19 | $prefix-for-mozilla: true !global; 20 | @-moz-keyframes #{$name} { 21 | @content; 22 | } 23 | } 24 | 25 | $prefix-for-webkit: $original-prefix-for-webkit !global; 26 | $prefix-for-mozilla: $original-prefix-for-mozilla !global; 27 | $prefix-for-microsoft: $original-prefix-for-microsoft !global; 28 | $prefix-for-opera: $original-prefix-for-opera !global; 29 | $prefix-for-spec: $original-prefix-for-spec !global; 30 | 31 | @if $original-prefix-for-spec { 32 | @keyframes #{$name} { 33 | @content; 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/neat-grid/neat/mixins/_grid-column.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /// Creates a grid column of requested size. 3 | /// 4 | /// @group features 5 | /// 6 | /// @name Grid column 7 | /// 8 | /// @argument {number (unitless)} $columns [null] 9 | /// Specifies the number of columns an element should span based on the total 10 | /// columns of the grid. 11 | /// 12 | /// This can also be defined in a shorthand syntaxt which also contains the 13 | /// total column count such as `3 of 5`. 14 | /// 15 | /// @argument {map} $grid [$neat-grid] 16 | /// The grid to be used to generate the column. 17 | /// By default, the global `$neat-grid` will be used. 18 | /// 19 | /// @example scss 20 | /// .element { 21 | /// @include grid-column(3); 22 | /// } 23 | /// 24 | /// @example css 25 | /// .element { 26 | /// width: calc(25% - 25px); 27 | /// float: left; 28 | /// margin-left: 20px; 29 | /// } 30 | 31 | @mixin grid-column($columns: null, $grid: $neat-grid) { 32 | $columns: _neat-column-default($grid, $columns); 33 | $_grid-columns: _retrieve-neat-setting($grid, columns); 34 | $_grid-gutter: _retrieve-neat-setting($grid, gutter); 35 | 36 | width: calc(#{_neat-column-width($grid, $columns)}); 37 | float: _neat-float-direction($grid); 38 | margin-#{_neat-float-direction($grid)}: $_grid-gutter; 39 | } 40 | -------------------------------------------------------------------------------- /_includes/laender/schularten.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 | Das Bildungssystem in Deutschland ist in unterschiedliche Schulformen gegliedert. Da Schulbildung Ländersache ist, ist es in jedem Bundesland anders organisiert und hat sich in den vergangenen Jahren unterschiedlich entwickelt. 5 | Das 6 | nebenstehende Diagramm zeigt die Entwicklung der Schularten an, deren Anzahl sich zwischen den Jahren 2007 und 2015 um mehr als 8% verändert haben und bei denen mindestens 10 Schulen neu eröffnet oder geschlossen wurden. 7 | Schularten 8 | mit einer konstanten Entwicklung werden nicht angezeigt.
9 | 10 |
11 |
12 |
Entwicklung der Schularten zwischen 2007 und 2015
13 | 15 |
16 |
17 |

18 | Quelle: Daten des Statistischen Bundesamtes zu Allgemeinbildenden Schulen 2015/2016. 19 |

20 |
-------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/addons/_size.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Sets the `width` and `height` of the element. 4 | /// 5 | /// @param {List} $size 6 | /// A list of at most 2 size values. 7 | /// 8 | /// If there is only a single value in `$size` it is used for both width and height. All units are supported. 9 | /// 10 | /// @example scss - Usage 11 | /// .first-element { 12 | /// @include size(2em); 13 | /// } 14 | /// 15 | /// .second-element { 16 | /// @include size(auto 10em); 17 | /// } 18 | /// 19 | /// @example css - CSS Output 20 | /// .first-element { 21 | /// width: 2em; 22 | /// height: 2em; 23 | /// } 24 | /// 25 | /// .second-element { 26 | /// width: auto; 27 | /// height: 10em; 28 | /// } 29 | /// 30 | /// @todo Refactor in 5.0.0 to use a comma-separated argument 31 | 32 | @mixin size($value) { 33 | $width: nth($value, 1); 34 | $height: $width; 35 | 36 | @if length($value) > 1 { 37 | $height: nth($value, 2); 38 | } 39 | 40 | @if is-size($height) { 41 | height: $height; 42 | } @else { 43 | @warn "`#{$height}` is not a valid length for the `$height` parameter in the `size` mixin."; 44 | } 45 | 46 | @if is-size($width) { 47 | width: $width; 48 | } @else { 49 | @warn "`#{$width}` is not a valid length for the `$width` parameter in the `size` mixin."; 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/addons/_position.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Provides a quick method for setting an element’s position. Use a `null` value to “skip” a side. 4 | /// 5 | /// @param {Position} $position [relative] 6 | /// A CSS position value 7 | /// 8 | /// @param {Arglist} $coordinates [null null null null] 9 | /// List of values that correspond to the 4-value syntax for the edges of a box 10 | /// 11 | /// @example scss - Usage 12 | /// .element { 13 | /// @include position(absolute, 0 null null 10em); 14 | /// } 15 | /// 16 | /// @example css - CSS Output 17 | /// .element { 18 | /// left: 10em; 19 | /// position: absolute; 20 | /// top: 0; 21 | /// } 22 | /// 23 | /// @require {function} is-length 24 | /// @require {function} unpack 25 | 26 | @mixin position($position: relative, $coordinates: null null null null) { 27 | @if type-of($position) == list { 28 | $coordinates: $position; 29 | $position: relative; 30 | } 31 | 32 | $coordinates: unpack($coordinates); 33 | 34 | $offsets: ( 35 | top: nth($coordinates, 1), 36 | right: nth($coordinates, 2), 37 | bottom: nth($coordinates, 3), 38 | left: nth($coordinates, 4) 39 | ); 40 | 41 | position: $position; 42 | 43 | @each $offset, $value in $offsets { 44 | @if is-length($value) { 45 | #{$offset}: $value; 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /assets/js/app/controller/programsController.js: -------------------------------------------------------------------------------- 1 | app.controller('ProgramsController', function($scope, programs) { 2 | $scope.chart = { 3 | data: { 4 | series: [], 5 | labels: [] 6 | }, 7 | options: { 8 | distributeSeries: true, 9 | horizontalBars: true, 10 | height: '400px', 11 | axisY: { 12 | offset: 140 13 | }, 14 | chartPadding: { 15 | top: 0, 16 | right: 0, 17 | bottom: 4, 18 | left: 0 19 | }, 20 | plugins:[ 21 | Chartist.plugins.tooltip({ 22 | appendToBody: true, 23 | anchorToPoint: true, 24 | currency: 'Anzahl der teilnehmenden Schulen: ', 25 | transformTooltipTextFnc: function(value) { 26 | return parseInt(value, 10).toFixed(0) + ' '; 27 | } 28 | }) 29 | ] 30 | } 31 | }; 32 | 33 | programs.get(function(err, data) { 34 | data.sort(function(a, b) { 35 | return a.amount - b.amount; 36 | }); 37 | $scope.chart.data.series = data.map(function(d) { 38 | return d.amount; 39 | }); 40 | $scope.chart.data.labels = data.map(function(d) { 41 | return d.name; 42 | }); 43 | }); 44 | }); 45 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/css3/_columns.scss: -------------------------------------------------------------------------------- 1 | @mixin columns($arg: auto) { 2 | // || 3 | @include prefixer(columns, $arg, webkit moz spec); 4 | } 5 | 6 | @mixin column-count($int: auto) { 7 | // auto || integer 8 | @include prefixer(column-count, $int, webkit moz spec); 9 | } 10 | 11 | @mixin column-gap($length: normal) { 12 | // normal || length 13 | @include prefixer(column-gap, $length, webkit moz spec); 14 | } 15 | 16 | @mixin column-fill($arg: auto) { 17 | // auto || length 18 | @include prefixer(column-fill, $arg, webkit moz spec); 19 | } 20 | 21 | @mixin column-rule($arg) { 22 | // || || 23 | @include prefixer(column-rule, $arg, webkit moz spec); 24 | } 25 | 26 | @mixin column-rule-color($color) { 27 | @include prefixer(column-rule-color, $color, webkit moz spec); 28 | } 29 | 30 | @mixin column-rule-style($style: none) { 31 | // none | hidden | dashed | dotted | double | groove | inset | inset | outset | ridge | solid 32 | @include prefixer(column-rule-style, $style, webkit moz spec); 33 | } 34 | 35 | @mixin column-rule-width ($width: none) { 36 | @include prefixer(column-rule-width, $width, webkit moz spec); 37 | } 38 | 39 | @mixin column-span($arg: none) { 40 | // none || all 41 | @include prefixer(column-span, $arg, webkit moz spec); 42 | } 43 | 44 | @mixin column-width($length: auto) { 45 | // auto || length 46 | @include prefixer(column-width, $length, webkit moz spec); 47 | } 48 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/helpers/_str-to-num.scss: -------------------------------------------------------------------------------- 1 | //************************************************************************// 2 | // Helper function for linear/radial-gradient-parsers. 3 | // Source: http://sassmeister.com/gist/9647408 4 | //************************************************************************// 5 | @function _str-to-num($string) { 6 | // Matrices 7 | $strings: "0" "1" "2" "3" "4" "5" "6" "7" "8" "9"; 8 | $numbers: 0 1 2 3 4 5 6 7 8 9; 9 | 10 | // Result 11 | $result: 0; 12 | $divider: 0; 13 | $minus: false; 14 | 15 | // Looping through all characters 16 | @for $i from 1 through str-length($string) { 17 | $character: str-slice($string, $i, $i); 18 | $index: index($strings, $character); 19 | 20 | @if $character == "-" { 21 | $minus: true; 22 | } 23 | 24 | @else if $character == "." { 25 | $divider: 1; 26 | } 27 | 28 | @else { 29 | @if not $index { 30 | $result: if($minus, $result * -1, $result); 31 | @return _convert-units($result, str-slice($string, $i)); 32 | } 33 | 34 | $number: nth($numbers, $index); 35 | 36 | @if $divider == 0 { 37 | $result: $result * 10; 38 | } 39 | 40 | @else { 41 | // Move the decimal dot to the left 42 | $divider: $divider * 10; 43 | $number: $number / $divider; 44 | } 45 | 46 | $result: $result + $number; 47 | } 48 | } 49 | @return if($minus, $result * -1, $result); 50 | } 51 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/css3/_linear-gradient.scss: -------------------------------------------------------------------------------- 1 | @mixin linear-gradient($pos, $g1, $g2: null, 2 | $g3: null, $g4: null, 3 | $g5: null, $g6: null, 4 | $g7: null, $g8: null, 5 | $g9: null, $g10: null, 6 | $fallback: null) { 7 | // Detect what type of value exists in $pos 8 | $pos-type: type-of(nth($pos, 1)); 9 | $pos-spec: null; 10 | $pos-degree: null; 11 | 12 | // If $pos is missing from mixin, reassign vars and add default position 13 | @if ($pos-type == color) or (nth($pos, 1) == "transparent") { 14 | $g10: $g9; $g9: $g8; $g8: $g7; $g7: $g6; $g6: $g5; 15 | $g5: $g4; $g4: $g3; $g3: $g2; $g2: $g1; $g1: $pos; 16 | $pos: null; 17 | } 18 | 19 | @if $pos { 20 | $positions: _linear-positions-parser($pos); 21 | $pos-degree: nth($positions, 1); 22 | $pos-spec: nth($positions, 2); 23 | } 24 | 25 | $full: $g1, $g2, $g3, $g4, $g5, $g6, $g7, $g8, $g9, $g10; 26 | 27 | // Set $g1 as the default fallback color 28 | $fallback-color: nth($g1, 1); 29 | 30 | // If $fallback is a color use that color as the fallback color 31 | @if (type-of($fallback) == color) or ($fallback == "transparent") { 32 | $fallback-color: $fallback; 33 | } 34 | 35 | background-color: $fallback-color; 36 | background-image: -webkit-linear-gradient($pos-degree $full); // Safari 5.1+, Chrome 37 | background-image: unquote("linear-gradient(#{$pos-spec}#{$full})"); 38 | } 39 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/css3/_background-image.scss: -------------------------------------------------------------------------------- 1 | //************************************************************************// 2 | // Background-image property for adding multiple background images with 3 | // gradients, or for stringing multiple gradients together. 4 | //************************************************************************// 5 | 6 | @mixin background-image($images...) { 7 | $webkit-images: (); 8 | $spec-images: (); 9 | 10 | @each $image in $images { 11 | $webkit-image: (); 12 | $spec-image: (); 13 | 14 | @if (type-of($image) == string) { 15 | $url-str: str-slice($image, 0, 3); 16 | $gradient-type: str-slice($image, 0, 6); 17 | 18 | @if $url-str == "url" { 19 | $webkit-image: $image; 20 | $spec-image: $image; 21 | } 22 | 23 | @else if $gradient-type == "linear" { 24 | $gradients: _linear-gradient-parser($image); 25 | $webkit-image: map-get($gradients, webkit-image); 26 | $spec-image: map-get($gradients, spec-image); 27 | } 28 | 29 | @else if $gradient-type == "radial" { 30 | $gradients: _radial-gradient-parser($image); 31 | $webkit-image: map-get($gradients, webkit-image); 32 | $spec-image: map-get($gradients, spec-image); 33 | } 34 | } 35 | 36 | $webkit-images: append($webkit-images, $webkit-image, comma); 37 | $spec-images: append($spec-images, $spec-image, comma); 38 | } 39 | 40 | background-image: $webkit-images; 41 | background-image: $spec-images; 42 | } 43 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/helpers/_radial-gradient-parser.scss: -------------------------------------------------------------------------------- 1 | @function _radial-gradient-parser($image) { 2 | $image: unquote($image); 3 | $gradients: (); 4 | $start: str-index($image, "("); 5 | $end: str-index($image, ","); 6 | $first-val: str-slice($image, $start + 1, $end - 1); 7 | 8 | $prefix: str-slice($image, 0, $start); 9 | $suffix: str-slice($image, $end, str-length($image)); 10 | 11 | $is-spec-syntax: str-index($first-val, "at"); 12 | 13 | @if $is-spec-syntax and $is-spec-syntax > 1 { 14 | $keyword: str-slice($first-val, 1, $is-spec-syntax - 2); 15 | $pos: str-slice($first-val, $is-spec-syntax + 3, str-length($first-val)); 16 | $pos: append($pos, $keyword, comma); 17 | 18 | $gradients: ( 19 | webkit-image: -webkit- + $prefix + $pos + $suffix, 20 | spec-image: $image 21 | ); 22 | } 23 | 24 | @else if $is-spec-syntax == 1 { 25 | $pos: str-slice($first-val, $is-spec-syntax + 3, str-length($first-val)); 26 | 27 | $gradients: ( 28 | webkit-image: -webkit- + $prefix + $pos + $suffix, 29 | spec-image: $image 30 | ); 31 | } 32 | 33 | @else if str-index($image, "cover") or str-index($image, "contain") { 34 | @warn "Radial-gradient needs to be updated to conform to latest spec."; 35 | 36 | $gradients: ( 37 | webkit-image: null, 38 | spec-image: $image 39 | ); 40 | } 41 | 42 | @else { 43 | $gradients: ( 44 | webkit-image: -webkit- + $image, 45 | spec-image: $image 46 | ); 47 | } 48 | 49 | @return $gradients; 50 | } 51 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/leaflet/MarkerCluster.Default.scss: -------------------------------------------------------------------------------- 1 | .marker-cluster-small { 2 | background-color: rgba(181, 226, 140, 0.6); 3 | } 4 | .marker-cluster-small div { 5 | background-color: rgba(110, 204, 57, 0.6); 6 | } 7 | 8 | .marker-cluster-medium { 9 | background-color: rgba(241, 211, 87, 0.6); 10 | } 11 | .marker-cluster-medium div { 12 | background-color: rgba(240, 194, 12, 0.6); 13 | } 14 | 15 | .marker-cluster-large { 16 | background-color: rgba(253, 156, 115, 0.6); 17 | } 18 | .marker-cluster-large div { 19 | background-color: rgba(241, 128, 23, 0.6); 20 | } 21 | 22 | /* IE 6-8 fallback colors */ 23 | .leaflet-oldie .marker-cluster-small { 24 | background-color: rgb(181, 226, 140); 25 | } 26 | .leaflet-oldie .marker-cluster-small div { 27 | background-color: rgb(110, 204, 57); 28 | } 29 | 30 | .leaflet-oldie .marker-cluster-medium { 31 | background-color: rgb(241, 211, 87); 32 | } 33 | .leaflet-oldie .marker-cluster-medium div { 34 | background-color: rgb(240, 194, 12); 35 | } 36 | 37 | .leaflet-oldie .marker-cluster-large { 38 | background-color: rgb(253, 156, 115); 39 | } 40 | .leaflet-oldie .marker-cluster-large div { 41 | background-color: rgb(241, 128, 23); 42 | } 43 | 44 | .marker-cluster { 45 | background-clip: padding-box; 46 | border-radius: 20px; 47 | } 48 | .marker-cluster div { 49 | width: 30px; 50 | height: 30px; 51 | margin-left: 5px; 52 | margin-top: 5px; 53 | 54 | text-align: center; 55 | border-radius: 15px; 56 | font: 12px "Helvetica Neue", Arial, Helvetica, sans-serif; 57 | } 58 | .marker-cluster span { 59 | line-height: 30px; 60 | } -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/css3/_radial-gradient.scss: -------------------------------------------------------------------------------- 1 | // Requires Sass 3.1+ 2 | @mixin radial-gradient($g1, $g2, 3 | $g3: null, $g4: null, 4 | $g5: null, $g6: null, 5 | $g7: null, $g8: null, 6 | $g9: null, $g10: null, 7 | $pos: null, 8 | $shape-size: null, 9 | $fallback: null) { 10 | 11 | $data: _radial-arg-parser($g1, $g2, $pos, $shape-size); 12 | $g1: nth($data, 1); 13 | $g2: nth($data, 2); 14 | $pos: nth($data, 3); 15 | $shape-size: nth($data, 4); 16 | 17 | $full: $g1, $g2, $g3, $g4, $g5, $g6, $g7, $g8, $g9, $g10; 18 | 19 | // Strip deprecated cover/contain for spec 20 | $shape-size-spec: _shape-size-stripper($shape-size); 21 | 22 | // Set $g1 as the default fallback color 23 | $first-color: nth($full, 1); 24 | $fallback-color: nth($first-color, 1); 25 | 26 | @if (type-of($fallback) == color) or ($fallback == "transparent") { 27 | $fallback-color: $fallback; 28 | } 29 | 30 | // Add Commas and spaces 31 | $shape-size: if($shape-size, "#{$shape-size}, ", null); 32 | $pos: if($pos, "#{$pos}, ", null); 33 | $pos-spec: if($pos, "at #{$pos}", null); 34 | $shape-size-spec: if(($shape-size-spec != " ") and ($pos == null), "#{$shape-size-spec}, ", "#{$shape-size-spec} "); 35 | 36 | background-color: $fallback-color; 37 | background-image: -webkit-radial-gradient(unquote(#{$pos}#{$shape-size}#{$full})); 38 | background-image: unquote("radial-gradient(#{$shape-size-spec}#{$pos-spec}#{$full})"); 39 | } 40 | -------------------------------------------------------------------------------- /assets/style/_scss/components/_pagination.scss: -------------------------------------------------------------------------------- 1 | .pagination { 2 | $base-border-color: gainsboro !default; 3 | $base-border-radius: 3px !default; 4 | $base-spacing: 1.5em !default; 5 | $action-color: #477DCA !default; 6 | $dark-gray: #333 !default; 7 | $large-screen: 53.75em !default; 8 | $base-font-color: $dark-gray !default; 9 | $pagination-border-color: $border-grey; 10 | $pagination-border: 1px solid $pagination-border-color; 11 | $pagination-background: lighten($pagination-border-color, 10); 12 | $pagination-hover-background: lighten($pagination-background, 5); 13 | $pagination-color: $base-font-color; 14 | 15 | text-align: center; 16 | display: inline; 17 | margin: 0; 18 | padding: 0; 19 | font-size: 11px; 20 | 21 | li { 22 | display: inline; 23 | list-style: none; 24 | } 25 | 26 | ul li { 27 | display: none; 28 | 29 | &:nth-child(1), 30 | &:nth-child(2), 31 | &:nth-child(3) { 32 | display: inline; 33 | } 34 | 35 | @include media($large-screen) { 36 | display: inline; 37 | } 38 | } 39 | 40 | li a { 41 | background: $pagination-background; 42 | border-radius: $base-border-radius; 43 | border: $pagination-border; 44 | color: $pagination-color; 45 | outline: none; 46 | padding: ($base-spacing / 4) ($gutter / 2); 47 | text-decoration: none; 48 | transition: all 0.2s ease-in-out; 49 | 50 | &:hover, 51 | &:focus { 52 | background: $pagination-hover-background; 53 | color: $action-color; 54 | } 55 | 56 | &:active { 57 | background: $pagination-background; 58 | } 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/css3/_animation.scss: -------------------------------------------------------------------------------- 1 | // http://www.w3.org/TR/css3-animations/#the-animation-name-property- 2 | // Each of these mixins support comma separated lists of values, which allows different transitions for individual properties to be described in a single style rule. Each value in the list corresponds to the value at that same position in the other properties. 3 | 4 | @mixin animation($animations...) { 5 | @include prefixer(animation, $animations, webkit moz spec); 6 | } 7 | 8 | @mixin animation-name($names...) { 9 | @include prefixer(animation-name, $names, webkit moz spec); 10 | } 11 | 12 | @mixin animation-duration($times...) { 13 | @include prefixer(animation-duration, $times, webkit moz spec); 14 | } 15 | 16 | @mixin animation-timing-function($motions...) { 17 | // ease | linear | ease-in | ease-out | ease-in-out 18 | @include prefixer(animation-timing-function, $motions, webkit moz spec); 19 | } 20 | 21 | @mixin animation-iteration-count($values...) { 22 | // infinite | 23 | @include prefixer(animation-iteration-count, $values, webkit moz spec); 24 | } 25 | 26 | @mixin animation-direction($directions...) { 27 | // normal | alternate 28 | @include prefixer(animation-direction, $directions, webkit moz spec); 29 | } 30 | 31 | @mixin animation-play-state($states...) { 32 | // running | paused 33 | @include prefixer(animation-play-state, $states, webkit moz spec); 34 | } 35 | 36 | @mixin animation-delay($times...) { 37 | @include prefixer(animation-delay, $times, webkit moz spec); 38 | } 39 | 40 | @mixin animation-fill-mode($modes...) { 41 | // none | forwards | backwards | both 42 | @include prefixer(animation-fill-mode, $modes, webkit moz spec); 43 | } 44 | -------------------------------------------------------------------------------- /assets/js/lib/chartist-plugin-axistitle.min.js: -------------------------------------------------------------------------------- 1 | /* chartist-plugin-axistitle 0.0.1 2 | * Copyright © 2015 Alex Stanbury 3 | * Free to use under the WTFPL license. 4 | * http://www.wtfpl.net/ 5 | */ 6 | 7 | !function(a,b){"function"==typeof define&&define.amd?define([],function(){return a.returnExportsGlobal=b()}):"object"==typeof exports?module.exports=b():a["Chartist.plugins.ctAxisTitle"]=b()}(this,function(){return function(a,b,c){"use strict";var d={axisTitle:"",axisClass:"ct-axis-title",offset:{x:0,y:0},textAnchor:"middle",flipText:!1},e={xAxis:d,yAxis:d};c.plugins=c.plugins||{},c.plugins.ctAxisTitle=function(a){return a=c.extend({},e,a),function(b){b.on("created",function(b){if(!a.axisX.axisTitle&&!a.axisY.axisTitle)throw new Error("ctAxisTitle plugin - You must provide at least one axis title");if(!b.axisX&&!b.axisY)throw new Error("ctAxisTitle plugin can only be used on charts that have at least one axis");var d,e,f;if(a.axisX.axisTitle&&b.axisX&&(d=b.axisX.axisLength/2+b.options.axisX.offset+b.options.chartPadding.left,e=b.options.chartPadding.top,"end"===b.options.axisX.position&&(e+=b.axisY.axisLength),f=new c.Svg("text"),f.addClass(a.axisX.axisClass),f.text(a.axisX.axisTitle),f.attr({x:d+a.axisX.offset.x,y:e+a.axisX.offset.y,"text-anchor":a.axisX.textAnchor}),b.svg.append(f,!0)),a.axisY.axisTitle&&b.axisY){d=0,e=b.axisY.axisLength/2+b.options.chartPadding.top,"end"===b.options.axisY.position&&(d=b.axisX.axisLength);var g="rotate("+(a.axisY.flipTitle?-90:90)+", "+d+", "+e+")";f=new c.Svg("text"),f.addClass(a.axisY.axisClass),f.text(a.axisY.axisTitle),f.attr({x:d+a.axisY.offset.x,y:e+a.axisY.offset.y,transform:g,"text-anchor":a.axisY.textAnchor}),b.svg.append(f,!0)}})}}}(window,document,Chartist),Chartist.plugins.ctAxisTitle}); 8 | //# sourceMappingURL=chartist-plugin-axistitle.min.js.map -------------------------------------------------------------------------------- /assets/style/_scss/lib/neat/grid/_shift.scss: -------------------------------------------------------------------------------- 1 | /// Translates an element horizontally by a number of columns. Positive arguments shift the element to the active layout direction, while negative ones shift it to the opposite direction. 2 | /// 3 | /// @param {Number (unitless)} $n-columns (1) 4 | /// Number of columns by which the element shifts. 5 | /// 6 | /// @example scss - Usage 7 | /// .element { 8 | /// @include shift(-3); 9 | /// } 10 | /// 11 | /// @example css - CSS output 12 | /// .element { 13 | /// margin-left: -25.58941%; 14 | /// } 15 | 16 | @mixin shift($n-columns: 1) { 17 | @include shift-in-context($n-columns); 18 | } 19 | 20 | /// Translates an element horizontally by a number of columns, in a specific nesting context. 21 | /// 22 | /// @param {List} $shift 23 | /// A list containing the number of columns to shift (`$columns`) and the number of columns of the parent element (`$container-columns`). 24 | /// 25 | /// The two values can be separated with any string such as `of`, `/`, etc. 26 | /// 27 | /// @example scss - Usage 28 | /// .element { 29 | /// @include shift(-3 of 6); 30 | /// } 31 | /// 32 | /// @example css - CSS output 33 | /// .element { 34 | /// margin-left: -52.41458%; 35 | /// } 36 | 37 | @mixin shift-in-context($shift: $columns of $container-columns) { 38 | $n-columns: nth($shift, 1); 39 | $parent-columns: container-shift($shift) !global; 40 | 41 | $direction: get-direction($layout-direction, $default-layout-direction); 42 | $opposite-direction: get-opposite-direction($direction); 43 | 44 | margin-#{$opposite-direction}: $n-columns * flex-grid(1, $parent-columns) + $n-columns * flex-gutter($parent-columns); 45 | 46 | // Reset nesting context 47 | $parent-columns: $grid-columns !global; 48 | } 49 | -------------------------------------------------------------------------------- /_includes/laender/fremdsprachen.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | Die Statistik zeigt an, welche Fremdsprachen besonders häufig unterrichtet werden und bezieht sich auf den regulären Unterricht laut Stundenplan. Schulaktivitäten außerhalb des Unterrichts werden nicht mit eingerechnet. 4 |
5 |
6 |
7 |
Anzahl der angeboten Kurse pro Fremdsprache
8 | 10 | 11 |

Klicken Sie oben auf die jeweilige Fremdsprache, um zu sehen, wie sich das Spachenangebot auf die einzelnen Schularten verteilt.

12 | 13 |
Anzahl der angeboten Kurse "" nach Schulart
14 | 16 |
17 |
18 |

19 | Quelle: Daten des Statistischen Bundesamtes zu Allgemeinbildenden Schulen 2015/2016. 20 |

21 |
22 | -------------------------------------------------------------------------------- /assets/js/app/controller/activitiesController.js: -------------------------------------------------------------------------------- 1 | app.controller('activitiesController', function($scope, activitiesService) { 2 | 3 | $scope.data = []; 4 | 5 | var display = function(data) { 6 | if (!data) return; 7 | $scope.amount_schools = data[$scope.name].ag.amount; 8 | $scope.data = data[$scope.name].ag.entries.sort(function(a, b) { 9 | return b.amount - a.amount; 10 | }).map(function(item) { 11 | item.data = { 12 | labels: [(Math.round(item.amount * 100 / $scope.amount_schools) + '%'), ' '], 13 | series: [item.amount, $scope.amount_schools - item.amount] 14 | }; 15 | item.options = { 16 | plugins: [ 17 | Chartist.plugins.tooltip( 18 | { 19 | appendToBody: true, 20 | anchorToPoint: false, 21 | transformTooltipTextFnc: function(value) { 22 | return 'u.a. ' + item.examples; 23 | // return value + ' der Schulen bieten ' + item.name + ' ' 24 | // + (value == item.amount ? ' ' : 'nicht ') 25 | // + 'an'; 26 | } 27 | }) 28 | ] 29 | }; 30 | item.amount_pc = Math.floor(item.amount * 100 / $scope.amount_schools); 31 | return item; 32 | }); 33 | }; 34 | 35 | $scope.init = function(name) { 36 | $scope.name = name; 37 | var data = activitiesService.get(function(err, data) { 38 | display(data); 39 | }); 40 | display(data); 41 | }; 42 | 43 | }); -------------------------------------------------------------------------------- /assets/style/_scss/lib/neat/grid/_row.scss: -------------------------------------------------------------------------------- 1 | /// Designates the element as a row of columns in the grid layout. It clears the floats on the element and sets its display property. Rows can't be nested, but there can be more than one row element—with different display properties—per layout. 2 | /// 3 | /// @param {String} $display (default) 4 | /// Sets the display property of the element and the display context that will be used by its children. Can be `block` or `table`. 5 | /// 6 | /// @param {String} $direction ($default-layout-direction) 7 | /// Sets the layout direction. Can be `LTR` (left-to-right) or `RTL` (right-to-left). 8 | /// 9 | /// @example scss - Usage 10 | /// .element { 11 | /// @include row(); 12 | /// } 13 | /// 14 | /// @example css - CSS Output 15 | /// .element { 16 | /// *zoom: 1; 17 | /// display: block; 18 | /// } 19 | /// 20 | /// .element:before, .element:after { 21 | /// content: " "; 22 | /// display: table; 23 | /// } 24 | /// 25 | /// .element:after { 26 | /// clear: both; 27 | /// } 28 | 29 | @mixin row($display: default, $direction: $default-layout-direction) { 30 | @if $direction != $default-layout-direction { 31 | @include -neat-warn("The $direction argument will be deprecated in future versions in favor of the direction(){...} mixin."); 32 | } 33 | 34 | $layout-direction: $direction !global; 35 | 36 | @if $display != default { 37 | @include -neat-warn("The $display argument will be deprecated in future versions in favor of the display(){...} mixin."); 38 | } 39 | 40 | @if $display == table { 41 | display: table; 42 | @include fill-parent; 43 | table-layout: fixed; 44 | $container-display-table: true !global; 45 | } 46 | 47 | @else { 48 | @include clearfix; 49 | display: block; 50 | $container-display-table: false !global; 51 | } 52 | } 53 | 54 | -------------------------------------------------------------------------------- /assets/style/_scss/components/_box.scss: -------------------------------------------------------------------------------- 1 | .box { 2 | background-color: white; 3 | border: solid 3px $base-border-color; 4 | padding-left: 20px; 5 | padding-right: 20px; 6 | width: 100%; 7 | margin-top: 20px; 8 | h2 { 9 | margin-bottom: 0; 10 | } 11 | h2.box-head { 12 | font-weight: $weight-book; 13 | } 14 | } 15 | 16 | .box.box-with-head p:first-of-type { 17 | margin-top: 4px; 18 | } 19 | 20 | .box-with-button { 21 | padding-bottom: 10px; 22 | } 23 | 24 | .box.box p:last-of-type { 25 | margin-bottom: 18px; 26 | } 27 | 28 | .box-margin-top-medium, .box-margin-top-large, .box-margin-top-huge, .box-margin-top-very-huge { 29 | margin-top: 40px; 30 | } 31 | 32 | .box-invert { 33 | } 34 | 35 | .box-head { 36 | background-color: transparent; 37 | display: block; 38 | width: auto; 39 | margin-top: -30px; 40 | margin-bottom: 0; 41 | margin-left:auto; 42 | margin-right:auto; 43 | font-size: 1.5em; 44 | padding: 8px; 45 | } 46 | 47 | 48 | @include respond-to(small-up) { 49 | .box-head { 50 | font-size: 2em; 51 | } 52 | 53 | 54 | .box-margin-top-medium { 55 | margin-top: 60px; 56 | } 57 | 58 | .box-margin-top-large { 59 | margin-top: 120px; 60 | } 61 | 62 | .box-margin-top-huge { 63 | margin-top: 140px; 64 | } 65 | 66 | .box-margin-top-very-huge { 67 | margin-top: 200px; 68 | } 69 | } 70 | 71 | 72 | .box-button { 73 | height: 40px; 74 | background-color: $base-button-background-color; 75 | color: $base-button-color; 76 | float: right; 77 | font-size: 1.2em; 78 | padding-left: 20px; 79 | padding-right: 20px; 80 | margin-top: -10px; 81 | margin-right: 60px; 82 | border: none; 83 | box-shadow: long-shadow(to bottom left, 12px, #696a6e, #696a6e); 84 | 85 | &:hover { 86 | background-color: darken($base-button-background-color, 5%); 87 | } 88 | } 89 | -------------------------------------------------------------------------------- /projekte/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | menu_projekte: yes 4 | title: Weitere Schulprojekte 5 | description: Links zu weiteren Schulprojekte 6 | --- 7 |
8 |
9 |
10 |
11 |

Weitere Schulprojekte

12 |

Neben JedeSchule.de gibt es zahlreiche Projekte, die von einer engagierten Open Data-Community mit 13 | offenen Schul- und Bildungsdaten arbeiten und sich für mehr zugängliche Informationen und 14 | Transparenz im Schulbereich einsetzen. 15 |

16 |
17 |
18 |
19 |
20 | {% assign projects = site.projects | sort: 'name' %} 21 | {% for project in projects %} 22 | {% capture thecycle %}{% cycle 'odd', 'even' %}{% endcapture %} 23 |
24 |
25 |
26 |
27 | 28 |

von {{project.author}}

29 |
30 |
31 |
32 |

{{project.name}}

33 |
34 |
35 | {{project.content}} 36 |
37 |
38 | zum Projekt 39 |
40 |
41 |
42 |
43 |
44 | {% endfor %} 45 | -------------------------------------------------------------------------------- /assets/data/partnerships-berlin.json: -------------------------------------------------------------------------------- 1 | {"nodes":[{"name":"Grundschule","count":1127},{"name":"Öffentliche Infrastruktur","count":888},{"name":"Gemeinnütziger Akteur","count":1119},{"name":"Sekundarschule","count":870},{"name":"Förderschulen","count":80},{"name":"Berufliche Schule","count":190},{"name":"Unbestimmt","count":119},{"name":"Gymnasium","count":701},{"name":"Wirtschaftsakteur","count":534},{"name":"Verband / Kammer / Innung / Gewerkschaft","count":34},{"name":"Partnerschule","count":246},{"name":"Sonstige","count":14},{"name":"Religiöse Einrichtung","count":42}],"links":[{"value":410,"source":1,"target":0},{"value":504,"source":2,"target":0},{"value":374,"source":2,"target":3},{"value":40,"source":2,"target":4},{"value":20,"source":6,"target":5},{"value":124,"source":8,"target":7},{"value":27,"source":6,"target":7},{"value":204,"source":8,"target":3},{"value":49,"source":2,"target":5},{"value":211,"source":1,"target":7},{"value":130,"source":8,"target":0},{"value":150,"source":2,"target":7},{"value":203,"source":1,"target":3},{"value":19,"source":1,"target":4},{"value":43,"source":1,"target":5},{"value":55,"source":8,"target":5},{"value":9,"source":9,"target":7},{"value":168,"source":10,"target":7},{"value":27,"source":10,"target":0},{"value":1,"source":9,"target":4},{"value":38,"source":6,"target":0},{"value":34,"source":6,"target":3},{"value":11,"source":9,"target":3},{"value":14,"source":8,"target":4},{"value":2,"source":1,"target":11},{"value":10,"source":9,"target":5},{"value":7,"source":8,"target":11},{"value":2,"source":2,"target":11},{"value":12,"source":12,"target":7},{"value":7,"source":12,"target":3},{"value":37,"source":10,"target":3},{"value":15,"source":12,"target":0},{"value":4,"source":12,"target":5},{"value":1,"source":12,"target":11},{"value":3,"source":10,"target":4},{"value":3,"source":12,"target":4},{"value":9,"source":10,"target":5},{"value":3,"source":9,"target":0},{"value":2,"source":10,"target":11}]} -------------------------------------------------------------------------------- /assets/style/_scss/components/_filter.scss: -------------------------------------------------------------------------------- 1 | .filter-wrapper { 2 | margin-bottom: 20px; 3 | } 4 | 5 | .filter { 6 | display: inline-block; 7 | width: 100%; 8 | margin-bottom: 10px; 9 | @include respond-to(small-up) { 10 | width: 49%; 11 | padding-right: 20px; 12 | } 13 | @include respond-to(medium-up) { 14 | width: 33%; 15 | } 16 | p { 17 | margin: 0; 18 | } 19 | 20 | input { 21 | display: inline; 22 | background-color: #ffffff; 23 | } 24 | 25 | input::-webkit-input-placeholder { /* Chrome/Opera/Safari */ 26 | font-size: 13px; 27 | color: lightgray; 28 | } 29 | 30 | input:-ms-input-placeholder { /* IE 10+ */ 31 | font-size: 13px; 32 | color: lightgray; 33 | } 34 | 35 | input::-moz-placeholder { /* Firefox 19+ */ 36 | font-size: 13px; 37 | color: lightgray; 38 | } 39 | 40 | input:-moz-placeholder { /* Firefox 18- */ 41 | font-size: 13px; 42 | color: lightgray; 43 | } 44 | 45 | .shadow { 46 | -moz-box-shadow: inset 0 0 2px #000000; 47 | -webkit-box-shadow: inset 0 0 2px #000000; 48 | box-shadow: inset 0 0 2px #000000; 49 | } 50 | 51 | .search { 52 | line-height: 2; 53 | } 54 | 55 | //input::-webkit-input-placeholder { 56 | // color:red; 57 | //} 58 | // 59 | //::-moz-placeholder { 60 | // color:red; 61 | //} 62 | // 63 | //::-ms-placeholder { 64 | // color:red; 65 | //} 66 | // 67 | //::placeholder { 68 | // color:red; 69 | //} 70 | } 71 | 72 | .filter-input-wrapper { 73 | width: 100%; 74 | .input-prepend { 75 | top: 2px; 76 | padding-left: 4px; 77 | font-size: 0.8em; 78 | color: #666; 79 | position: absolute; 80 | } 81 | .input-prepended:before { 82 | display: none; 83 | } 84 | .input-prepended { 85 | width: 100%; 86 | padding-left: 22px !important; 87 | } 88 | } 89 | 90 | .checkbox-label { 91 | display: inline-block; 92 | } -------------------------------------------------------------------------------- /_includes/laender/lehrer.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | Um den Schulunterricht zu gewährleisten und Stundenausfälle zu vermeiden, muss sichergestellt sein, dass es genügend Lehrende an den Schulen gibt. Unsere Darstellung zeigt für jedes Bundesland auf welche Art die Lehrenden an den jeweiligen Schulen beschäftigt werden. Das heißt, ob sie in Vollzeit, Teilzeit oder auf Stundenbasis beschäftigt sind. Schularten, zu denen wir keine Informationen gefunden haben, werden ausgeblendet.

4 |
5 |
6 |
7 |
8 |
9 |
Anteil der Lehrer*innen nach Schularten und Anstellungsart
10 |
11 |
12 | 13 |
14 |
15 |
16 |
Anzahl der Lehrer*innen nach Schulart
17 | 18 |
19 |
20 |

21 | Quelle: Daten des Statistischen Bundesamtes zu Allgemeinbildenden Schulen 2015/2016. 22 |

23 |
24 |
-------------------------------------------------------------------------------- /assets/style/_scss/lib/font-awesome/_mixins.scss: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | @mixin fa-icon() { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | 14 | @mixin fa-icon-rotate($degrees, $rotation) { 15 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})"; 16 | -webkit-transform: rotate($degrees); 17 | -ms-transform: rotate($degrees); 18 | transform: rotate($degrees); 19 | } 20 | 21 | @mixin fa-icon-flip($horiz, $vert, $rotation) { 22 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)"; 23 | -webkit-transform: scale($horiz, $vert); 24 | -ms-transform: scale($horiz, $vert); 25 | transform: scale($horiz, $vert); 26 | } 27 | 28 | 29 | // Only display content to screen readers. A la Bootstrap 4. 30 | // 31 | // See: http://a11yproject.com/posts/how-to-hide-content/ 32 | 33 | @mixin sr-only { 34 | position: absolute; 35 | width: 1px; 36 | height: 1px; 37 | padding: 0; 38 | margin: -1px; 39 | overflow: hidden; 40 | clip: rect(0,0,0,0); 41 | border: 0; 42 | } 43 | 44 | // Use in conjunction with .sr-only to only display content when it's focused. 45 | // 46 | // Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 47 | // 48 | // Credit: HTML5 Boilerplate 49 | 50 | @mixin sr-only-focusable { 51 | &:active, 52 | &:focus { 53 | position: static; 54 | width: auto; 55 | height: auto; 56 | margin: 0; 57 | overflow: visible; 58 | clip: auto; 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/addons/_timing-functions.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// CSS cubic-bezier timing functions. Timing functions courtesy of jquery.easie (github.com/jaukia/easie) 4 | /// 5 | /// Timing functions are the same as demoed here: http://jqueryui.com/resources/demos/effect/easing.html 6 | /// 7 | /// @type cubic-bezier 8 | 9 | $ease-in-quad: cubic-bezier(0.550, 0.085, 0.680, 0.530); 10 | $ease-in-cubic: cubic-bezier(0.550, 0.055, 0.675, 0.190); 11 | $ease-in-quart: cubic-bezier(0.895, 0.030, 0.685, 0.220); 12 | $ease-in-quint: cubic-bezier(0.755, 0.050, 0.855, 0.060); 13 | $ease-in-sine: cubic-bezier(0.470, 0.000, 0.745, 0.715); 14 | $ease-in-expo: cubic-bezier(0.950, 0.050, 0.795, 0.035); 15 | $ease-in-circ: cubic-bezier(0.600, 0.040, 0.980, 0.335); 16 | $ease-in-back: cubic-bezier(0.600, -0.280, 0.735, 0.045); 17 | 18 | $ease-out-quad: cubic-bezier(0.250, 0.460, 0.450, 0.940); 19 | $ease-out-cubic: cubic-bezier(0.215, 0.610, 0.355, 1.000); 20 | $ease-out-quart: cubic-bezier(0.165, 0.840, 0.440, 1.000); 21 | $ease-out-quint: cubic-bezier(0.230, 1.000, 0.320, 1.000); 22 | $ease-out-sine: cubic-bezier(0.390, 0.575, 0.565, 1.000); 23 | $ease-out-expo: cubic-bezier(0.190, 1.000, 0.220, 1.000); 24 | $ease-out-circ: cubic-bezier(0.075, 0.820, 0.165, 1.000); 25 | $ease-out-back: cubic-bezier(0.175, 0.885, 0.320, 1.275); 26 | 27 | $ease-in-out-quad: cubic-bezier(0.455, 0.030, 0.515, 0.955); 28 | $ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1.000); 29 | $ease-in-out-quart: cubic-bezier(0.770, 0.000, 0.175, 1.000); 30 | $ease-in-out-quint: cubic-bezier(0.860, 0.000, 0.070, 1.000); 31 | $ease-in-out-sine: cubic-bezier(0.445, 0.050, 0.550, 0.950); 32 | $ease-in-out-expo: cubic-bezier(1.000, 0.000, 0.000, 1.000); 33 | $ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.150, 0.860); 34 | $ease-in-out-back: cubic-bezier(0.680, -0.550, 0.265, 1.550); 35 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/functions/_modular-scale.scss: -------------------------------------------------------------------------------- 1 | // Scaling Variables 2 | $golden: 1.618; 3 | $minor-second: 1.067; 4 | $major-second: 1.125; 5 | $minor-third: 1.2; 6 | $major-third: 1.25; 7 | $perfect-fourth: 1.333; 8 | $augmented-fourth: 1.414; 9 | $perfect-fifth: 1.5; 10 | $minor-sixth: 1.6; 11 | $major-sixth: 1.667; 12 | $minor-seventh: 1.778; 13 | $major-seventh: 1.875; 14 | $octave: 2; 15 | $major-tenth: 2.5; 16 | $major-eleventh: 2.667; 17 | $major-twelfth: 3; 18 | $double-octave: 4; 19 | 20 | $modular-scale-ratio: $perfect-fourth !default; 21 | $modular-scale-base: em($em-base) !default; 22 | 23 | @function modular-scale($increment, $value: $modular-scale-base, $ratio: $modular-scale-ratio) { 24 | $v1: nth($value, 1); 25 | $v2: nth($value, length($value)); 26 | $value: $v1; 27 | 28 | // scale $v2 to just above $v1 29 | @while $v2 > $v1 { 30 | $v2: ($v2 / $ratio); // will be off-by-1 31 | } 32 | @while $v2 < $v1 { 33 | $v2: ($v2 * $ratio); // will fix off-by-1 34 | } 35 | 36 | // check AFTER scaling $v2 to prevent double-counting corner-case 37 | $double-stranded: $v2 > $v1; 38 | 39 | @if $increment > 0 { 40 | @for $i from 1 through $increment { 41 | @if $double-stranded and ($v1 * $ratio) > $v2 { 42 | $value: $v2; 43 | $v2: ($v2 * $ratio); 44 | } @else { 45 | $v1: ($v1 * $ratio); 46 | $value: $v1; 47 | } 48 | } 49 | } 50 | 51 | @if $increment < 0 { 52 | // adjust $v2 to just below $v1 53 | @if $double-stranded { 54 | $v2: ($v2 / $ratio); 55 | } 56 | 57 | @for $i from $increment through -1 { 58 | @if $double-stranded and ($v1 / $ratio) < $v2 { 59 | $value: $v2; 60 | $v2: ($v2 / $ratio); 61 | } @else { 62 | $v1: ($v1 / $ratio); 63 | $value: $v1; 64 | } 65 | } 66 | } 67 | 68 | @return $value; 69 | } 70 | -------------------------------------------------------------------------------- /assets/data/partnerships-sachsen.json: -------------------------------------------------------------------------------- 1 | {"nodes":[{"name":"Grundschule","count":2153},{"name":"Sekundarschule","count":2222},{"name":"Öffentliche Infrastruktur","count":2693},{"name":"Förderschulen","count":872},{"name":"Gymnasium","count":1042},{"name":"Berufliche Schule","count":868},{"name":"Gemeinnütziger Akteur","count":2328},{"name":"Religiöse Einrichtung","count":132},{"name":"Unbestimmt","count":357},{"name":"Verband / Kammer / Innung / Gewerkschaft","count":343},{"name":"Wirtschaftsakteur","count":880},{"name":"Partnerschule","count":439},{"name":"Sonstige","count":15}],"links":[{"value":753,"source":2,"target":1},{"value":968,"source":2,"target":0},{"value":258,"source":2,"target":3},{"value":455,"source":2,"target":4},{"value":255,"source":2,"target":5},{"value":813,"source":6,"target":0},{"value":41,"source":7,"target":3},{"value":793,"source":6,"target":1},{"value":130,"source":8,"target":1},{"value":191,"source":9,"target":5},{"value":60,"source":9,"target":4},{"value":16,"source":7,"target":4},{"value":41,"source":7,"target":1},{"value":127,"source":10,"target":3},{"value":160,"source":11,"target":0},{"value":47,"source":11,"target":4},{"value":124,"source":11,"target":5},{"value":55,"source":11,"target":1},{"value":296,"source":6,"target":3},{"value":262,"source":6,"target":4},{"value":74,"source":8,"target":3},{"value":69,"source":8,"target":0},{"value":19,"source":9,"target":0},{"value":158,"source":6,"target":5},{"value":404,"source":10,"target":1},{"value":156,"source":10,"target":4},{"value":96,"source":10,"target":0},{"value":96,"source":10,"target":5},{"value":4,"source":2,"target":12},{"value":26,"source":9,"target":3},{"value":28,"source":7,"target":0},{"value":46,"source":9,"target":1},{"value":50,"source":11,"target":3},{"value":3,"source":11,"target":12},{"value":6,"source":6,"target":12},{"value":46,"source":8,"target":4},{"value":38,"source":8,"target":5},{"value":6,"source":7,"target":5},{"value":1,"source":9,"target":12},{"value":1,"source":10,"target":12}]} -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/addons/_prefixer.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// A mixin for generating vendor prefixes on non-standardized properties. 4 | /// 5 | /// @param {String} $property 6 | /// Property to prefix 7 | /// 8 | /// @param {*} $value 9 | /// Value to use 10 | /// 11 | /// @param {List} $prefixes 12 | /// Prefixes to define 13 | /// 14 | /// @example scss - Usage 15 | /// .element { 16 | /// @include prefixer(border-radius, 10px, webkit ms spec); 17 | /// } 18 | /// 19 | /// @example css - CSS Output 20 | /// .element { 21 | /// -webkit-border-radius: 10px; 22 | /// -moz-border-radius: 10px; 23 | /// border-radius: 10px; 24 | /// } 25 | /// 26 | /// @require {variable} $prefix-for-webkit 27 | /// @require {variable} $prefix-for-mozilla 28 | /// @require {variable} $prefix-for-microsoft 29 | /// @require {variable} $prefix-for-opera 30 | /// @require {variable} $prefix-for-spec 31 | 32 | @mixin prefixer($property, $value, $prefixes) { 33 | @each $prefix in $prefixes { 34 | @if $prefix == webkit { 35 | @if $prefix-for-webkit { 36 | -webkit-#{$property}: $value; 37 | } 38 | } @else if $prefix == moz { 39 | @if $prefix-for-mozilla { 40 | -moz-#{$property}: $value; 41 | } 42 | } @else if $prefix == ms { 43 | @if $prefix-for-microsoft { 44 | -ms-#{$property}: $value; 45 | } 46 | } @else if $prefix == o { 47 | @if $prefix-for-opera { 48 | -o-#{$property}: $value; 49 | } 50 | } @else if $prefix == spec { 51 | @if $prefix-for-spec { 52 | #{$property}: $value; 53 | } 54 | } @else { 55 | @warn "Unrecognized prefix: #{$prefix}"; 56 | } 57 | } 58 | } 59 | 60 | @mixin disable-prefix-for-all() { 61 | $prefix-for-webkit: false !global; 62 | $prefix-for-mozilla: false !global; 63 | $prefix-for-microsoft: false !global; 64 | $prefix-for-opera: false !global; 65 | $prefix-for-spec: false !global; 66 | } 67 | -------------------------------------------------------------------------------- /assets/style/_scss/components/_profile.scss: -------------------------------------------------------------------------------- 1 | 2 | .profile-head { 3 | margin-top: -16em; 4 | .box { 5 | border-color: #131167 6 | } 7 | } 8 | 9 | .profile-map-info-box { 10 | padding: 0; 11 | border-color: #131167; 12 | @include respond-to(medium-up) { 13 | margin-top: 155px; 14 | } 15 | ul { 16 | margin-left: 20px; 17 | } 18 | li { 19 | margin-bottom: 1.5em; 20 | } 21 | } 22 | 23 | #map-profile { 24 | width: 100%; 25 | height: 100%; 26 | min-height: 30em; 27 | margin-right: 20px; 28 | } 29 | 30 | .profile-concept { 31 | 32 | .read-more { 33 | position: absolute; 34 | bottom: 0; 35 | left: 0; 36 | height: 180px; 37 | padding-top: 110px; 38 | width: 100%; 39 | text-align: center; 40 | margin: 0; 41 | display: none; 42 | 43 | /* "transparent" only works here because == rgba(0,0,0,0) */ 44 | background-image: linear-gradient(to bottom, transparent, #f1f3f6); 45 | } 46 | 47 | .read-less { 48 | display: none; 49 | width: 100%; 50 | text-align: center; 51 | } 52 | 53 | &.needed { 54 | max-height: 300px; 55 | position: relative; 56 | overflow: hidden; 57 | .read-more { 58 | display: inherit; 59 | } 60 | .read-less { 61 | display: inherit; 62 | } 63 | } 64 | 65 | &.expanded { 66 | max-height: none; 67 | 68 | .read-more { 69 | display: none; 70 | } 71 | 72 | } 73 | } 74 | 75 | .profile-partners { 76 | 77 | @include respond-to(medium-up) { 78 | margin-top: 60px; 79 | display: flex; 80 | flex-wrap: wrap; 81 | justify-content: space-around; 82 | 83 | .profile-partners-box { 84 | width: 30%; 85 | margin: 0 auto; 86 | } 87 | } 88 | 89 | } 90 | 91 | .profile { 92 | padding-bottom: 10em; 93 | h2 { 94 | margin-bottom: 10px; 95 | } 96 | } 97 | 98 | .wg-icon { 99 | max-width: 60px; 100 | } -------------------------------------------------------------------------------- /assets/style/_scss/elements/_typography.scss: -------------------------------------------------------------------------------- 1 | h1, 2 | .h1 { 3 | @include heading(h1); 4 | font-size: 48px; 5 | font-style: normal; 6 | font-weight: 600; 7 | line-height: normal; 8 | //margin-bottom: 5rem; 9 | margin-top: 1em; 10 | } 11 | 12 | h2, 13 | .h2 { 14 | @include heading(h2); 15 | text-transform: uppercase; 16 | font-size: 35px; 17 | margin-bottom: 70px; 18 | } 19 | 20 | h3, 21 | .h3 { 22 | @include heading(h3); 23 | width: 100%; 24 | position: relative; 25 | overflow: hidden; 26 | text-align: center; 27 | 28 | span { 29 | display: inline-block; 30 | vertical-align: baseline; 31 | zoom: 1; 32 | *display: inline; 33 | *vertical-align: auto; 34 | position: relative; 35 | padding: 0 20px; 36 | text-transform: uppercase; 37 | 38 | &:before, &:after { 39 | content: ''; 40 | display: block; 41 | width: 1000px; 42 | position: absolute; 43 | top: 0.73em; 44 | border-top: 1px solid $border-grey; 45 | } 46 | 47 | &:before { 48 | right: 100%; 49 | } 50 | &:after { 51 | left: 100%; 52 | } 53 | } 54 | } 55 | 56 | h4, 57 | .h4 { 58 | @include heading(h4); 59 | font-size: 25px; 60 | font-weight: bold; 61 | } 62 | 63 | h5, 64 | .h5 { 65 | @include heading(h5); 66 | } 67 | 68 | .para-xl { 69 | @include heading('para-xl'); 70 | } 71 | 72 | // default p 73 | p, 74 | ol, 75 | ul, 76 | .para-lg { 77 | @include heading('para-lg'); 78 | } 79 | 80 | .para-md { 81 | @include heading('para-md'); 82 | } 83 | 84 | .para-sm { 85 | @include heading('para-sm'); 86 | } 87 | 88 | p + h2, 89 | p + .h2, 90 | p + h3, 91 | p + .h3, 92 | p + h4, 93 | p + .h4, 94 | table + h3, 95 | table + .h3, 96 | ul + h2, 97 | ul + .h2, 98 | ul + h3, 99 | ul + .h3 { 100 | margin-top: $base-padding-large; 101 | } 102 | 103 | small { 104 | font-size: 0.8em; 105 | } 106 | 107 | i { 108 | font-style: italic; 109 | } -------------------------------------------------------------------------------- /assets/style/_scss/mixins/_type-mixins.scss: -------------------------------------------------------------------------------- 1 | // heading() mixin 2 | // 3 | // Use the heading() mixin to add bundles of 4 | // typographical styles to a selector 5 | // 6 | // Styleguide mixins.heading 7 | 8 | @mixin heading($level) { 9 | margin: 1rem 0 1rem 0; 10 | color: $base-font-color; 11 | font-family: $base-font-family; 12 | font-size: $base-font-size; 13 | 14 | @if $level == h1 { 15 | font-size: 1.875rem; 16 | font-weight: $weight-bold; 17 | line-height: 2.5rem; 18 | } 19 | 20 | @if $level == h2 { 21 | font-size: 1.5rem; 22 | font-weight: $weight-bold; 23 | line-height: 2rem; 24 | } 25 | 26 | @if $level == h3 { 27 | font-size: 1.1rem; 28 | font-weight: $weight-bold; 29 | line-height: 1.5rem; 30 | margin-bottom: 0.5rem; 31 | } 32 | 33 | @if $level == h4 { 34 | font-size: 1.375rem; 35 | font-weight: $weight-light; 36 | line-height: 2rem; 37 | } 38 | 39 | @if $level == h5 { 40 | font-size: 1.125rem; 41 | font-weight: $weight-bold; 42 | line-height: 1.6875rem; 43 | } 44 | 45 | @if $level == 'para-xl' { 46 | font-size: 1.375rem; 47 | font-weight: $weight-book; 48 | line-height: 2.125rem; 49 | } 50 | 51 | @if $level == 'para-lg' { 52 | font-size: 1.125rem; 53 | font-weight: $weight-book; 54 | line-height: 1.6875rem; 55 | } 56 | 57 | @if $level == 'para-md' { 58 | font-size: $base-font-size; 59 | font-weight: $weight-book; 60 | line-height: $base-line-height; 61 | } 62 | 63 | @if $level == 'para-sm' { 64 | font-size: 0.8125rem; 65 | font-weight: $weight-light; 66 | line-height: 1.1875rem; 67 | } 68 | } 69 | 70 | 71 | // font-size() mixin 72 | // 73 | // Use the font-size() to set a specific size to an element or class 74 | // typographical styles to a selector 75 | // 76 | // Styleguide mixins.font-size 77 | 78 | @mixin font-size($scale: 1) { 79 | font-size: ($scale * $base-font-multiplier * 10) + px; 80 | font-size: ($scale * $base-font-multiplier) + rem; 81 | } 82 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/addons/_buttons.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Generates variables for all buttons. Please note that you must use interpolation on the variable: `#{$all-buttons}`. 4 | /// 5 | /// @example scss - Usage 6 | /// #{$all-buttons} { 7 | /// background-color: #f00; 8 | /// } 9 | /// 10 | /// #{$all-buttons-focus}, 11 | /// #{$all-buttons-hover} { 12 | /// background-color: #0f0; 13 | /// } 14 | /// 15 | /// #{$all-buttons-active} { 16 | /// background-color: #00f; 17 | /// } 18 | /// 19 | /// @example css - CSS Output 20 | /// button, 21 | /// input[type="button"], 22 | /// input[type="reset"], 23 | /// input[type="submit"] { 24 | /// background-color: #f00; 25 | /// } 26 | /// 27 | /// button:focus, 28 | /// input[type="button"]:focus, 29 | /// input[type="reset"]:focus, 30 | /// input[type="submit"]:focus, 31 | /// button:hover, 32 | /// input[type="button"]:hover, 33 | /// input[type="reset"]:hover, 34 | /// input[type="submit"]:hover { 35 | /// background-color: #0f0; 36 | /// } 37 | /// 38 | /// button:active, 39 | /// input[type="button"]:active, 40 | /// input[type="reset"]:active, 41 | /// input[type="submit"]:active { 42 | /// background-color: #00f; 43 | /// } 44 | /// 45 | /// @require assign-inputs 46 | /// 47 | /// @type List 48 | /// 49 | /// @todo Remove double assigned variables (Lines 59–62) in v5.0.0 50 | 51 | $buttons-list: 'button', 52 | 'input[type="button"]', 53 | 'input[type="reset"]', 54 | 'input[type="submit"]'; 55 | 56 | $all-buttons: assign-inputs($buttons-list); 57 | $all-buttons-active: assign-inputs($buttons-list, active); 58 | $all-buttons-focus: assign-inputs($buttons-list, focus); 59 | $all-buttons-hover: assign-inputs($buttons-list, hover); 60 | 61 | $all-button-inputs: $all-buttons; 62 | $all-button-inputs-active: $all-buttons-active; 63 | $all-button-inputs-focus: $all-buttons-focus; 64 | $all-button-inputs-hover: $all-buttons-hover; 65 | -------------------------------------------------------------------------------- /assets/style/_scss/elements/_lists.scss: -------------------------------------------------------------------------------- 1 | ul, 2 | ol { 3 | list-style-type: square; 4 | padding-left: $base-padding; 5 | } 6 | 7 | .list-inline { 8 | list-style-type: none; 9 | padding-left: 0; 10 | li { 11 | display: inline-block; 12 | } 13 | } 14 | 15 | .wrap-list { 16 | text-align: center; 17 | li { 18 | display: inline-block; 19 | margin-right: 12px; 20 | } 21 | 22 | @include respond-to(medium-up) { 23 | text-align: left; 24 | li { 25 | display: block; 26 | } 27 | } 28 | } 29 | 30 | .list-unstyled { 31 | list-style-type: none; 32 | padding-left: 0; 33 | } 34 | 35 | %list-indented { 36 | margin-bottom: 1em; 37 | margin-left: 0; 38 | margin-right: 0; 39 | padding-left: $base-padding; 40 | } 41 | 42 | .list-square { 43 | @extend %list-indented; 44 | 45 | list-style-type: square; 46 | 47 | li { 48 | padding-bottom: $base-padding-lite; 49 | } 50 | } 51 | 52 | .list-bullet { 53 | @extend %list-indented; 54 | 55 | list-style-type: disc; 56 | 57 | li { 58 | padding-bottom: $base-padding-lite; 59 | } 60 | } 61 | 62 | .list-decimal { 63 | @extend %list-indented; 64 | 65 | list-style-type: decimal; 66 | 67 | li { 68 | padding-bottom: $base-padding-lite; 69 | } 70 | } 71 | 72 | .list-nested { 73 | @extend .list-bullet; 74 | 75 | ul { 76 | @extend .list-square; 77 | } 78 | } 79 | 80 | .list-bulletin { 81 | list-style: none; 82 | li { 83 | line-height: 1.6em; 84 | } 85 | li:before { 86 | /* For a round bullet */ 87 | //content: '\2022'; 88 | /* For a square bullet */ 89 | content: '\25A0'; 90 | display: block; 91 | position: relative; 92 | max-width: 0; 93 | max-height: 0; 94 | left: -18px; 95 | top: -2px; 96 | color: $base-border-color; 97 | font-size: 18px; 98 | } 99 | } 100 | 101 | .list-sections { 102 | li { 103 | padding-bottom: $base-padding; 104 | } 105 | } 106 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/css3/_background.scss: -------------------------------------------------------------------------------- 1 | //************************************************************************// 2 | // Background property for adding multiple backgrounds using shorthand 3 | // notation. 4 | //************************************************************************// 5 | 6 | @mixin background($backgrounds...) { 7 | $webkit-backgrounds: (); 8 | $spec-backgrounds: (); 9 | 10 | @each $background in $backgrounds { 11 | $webkit-background: (); 12 | $spec-background: (); 13 | $background-type: type-of($background); 14 | 15 | @if $background-type == string or $background-type == list { 16 | $background-str: if($background-type == list, nth($background, 1), $background); 17 | 18 | $url-str: str-slice($background-str, 0, 3); 19 | $gradient-type: str-slice($background-str, 0, 6); 20 | 21 | @if $url-str == "url" { 22 | $webkit-background: $background; 23 | $spec-background: $background; 24 | } 25 | 26 | @else if $gradient-type == "linear" { 27 | $gradients: _linear-gradient-parser("#{$background}"); 28 | $webkit-background: map-get($gradients, webkit-image); 29 | $spec-background: map-get($gradients, spec-image); 30 | } 31 | 32 | @else if $gradient-type == "radial" { 33 | $gradients: _radial-gradient-parser("#{$background}"); 34 | $webkit-background: map-get($gradients, webkit-image); 35 | $spec-background: map-get($gradients, spec-image); 36 | } 37 | 38 | @else { 39 | $webkit-background: $background; 40 | $spec-background: $background; 41 | } 42 | } 43 | 44 | @else { 45 | $webkit-background: $background; 46 | $spec-background: $background; 47 | } 48 | 49 | $webkit-backgrounds: append($webkit-backgrounds, $webkit-background, comma); 50 | $spec-backgrounds: append($spec-backgrounds, $spec-background, comma); 51 | } 52 | 53 | background: $webkit-backgrounds; 54 | background: $spec-backgrounds; 55 | } 56 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/neat/functions/_new-breakpoint.scss: -------------------------------------------------------------------------------- 1 | /// Returns a media context (media query / grid context) that can be stored in a variable and passed to `media()` as a single-keyword argument. Media contexts defined using `new-breakpoint` are used by the visual grid, as long as they are defined before importing Neat. 2 | /// 3 | /// @param {List} $query 4 | /// A list of media query features and values. Each `$feature` should have a corresponding `$value`. 5 | /// 6 | /// If there is only a single `$value` in `$query`, `$default-feature` is going to be used. 7 | /// 8 | /// The number of total columns in the grid can be set by passing `$columns` at the end of the list (overrides `$total-columns`). For a list of valid values for `$feature`, click [here](http://www.w3.org/TR/css3-mediaqueries/#media1). 9 | /// 10 | /// @param {Number (unitless)} $total-columns ($grid-columns) 11 | /// - Number of columns to use in the new grid context. Can be set as a shorthand in the first parameter. 12 | /// 13 | /// @example scss - Usage 14 | /// $mobile: new-breakpoint(max-width 480px 4); 15 | /// 16 | /// .element { 17 | /// @include media($mobile) { 18 | /// @include span-columns(4); 19 | /// } 20 | /// } 21 | /// 22 | /// @example css - CSS Output 23 | /// @media screen and (max-width: 480px) { 24 | /// .element { 25 | /// display: block; 26 | /// float: left; 27 | /// margin-right: 7.42297%; 28 | /// width: 100%; 29 | /// } 30 | /// .element:last-child { 31 | /// margin-right: 0; 32 | /// } 33 | /// } 34 | 35 | @function new-breakpoint($query: $feature $value $columns, $total-columns: $grid-columns) { 36 | @if length($query) == 1 { 37 | $query: $default-feature nth($query, 1) $total-columns; 38 | } 39 | 40 | @else if is-even(length($query)) { 41 | $query: append($query, $total-columns); 42 | } 43 | 44 | @if not belongs-to($query, $visual-grid-breakpoints) { 45 | $visual-grid-breakpoints: append($visual-grid-breakpoints, $query, comma) !global; 46 | } 47 | 48 | @return $query; 49 | } 50 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/css3/_border-image.scss: -------------------------------------------------------------------------------- 1 | @mixin border-image($borders...) { 2 | $webkit-borders: (); 3 | $spec-borders: (); 4 | 5 | @each $border in $borders { 6 | $webkit-border: (); 7 | $spec-border: (); 8 | $border-type: type-of($border); 9 | 10 | @if $border-type == string or list { 11 | $border-str: if($border-type == list, nth($border, 1), $border); 12 | 13 | $url-str: str-slice($border-str, 0, 3); 14 | $gradient-type: str-slice($border-str, 0, 6); 15 | 16 | @if $url-str == "url" { 17 | $webkit-border: $border; 18 | $spec-border: $border; 19 | } 20 | 21 | @else if $gradient-type == "linear" { 22 | $gradients: _linear-gradient-parser("#{$border}"); 23 | $webkit-border: map-get($gradients, webkit-image); 24 | $spec-border: map-get($gradients, spec-image); 25 | } 26 | 27 | @else if $gradient-type == "radial" { 28 | $gradients: _radial-gradient-parser("#{$border}"); 29 | $webkit-border: map-get($gradients, webkit-image); 30 | $spec-border: map-get($gradients, spec-image); 31 | } 32 | 33 | @else { 34 | $webkit-border: $border; 35 | $spec-border: $border; 36 | } 37 | } 38 | 39 | @else { 40 | $webkit-border: $border; 41 | $spec-border: $border; 42 | } 43 | 44 | $webkit-borders: append($webkit-borders, $webkit-border, comma); 45 | $spec-borders: append($spec-borders, $spec-border, comma); 46 | } 47 | 48 | -webkit-border-image: $webkit-borders; 49 | border-image: $spec-borders; 50 | border-style: solid; 51 | } 52 | 53 | //Examples: 54 | // @include border-image(url("image.png")); 55 | // @include border-image(url("image.png") 20 stretch); 56 | // @include border-image(linear-gradient(45deg, orange, yellow)); 57 | // @include border-image(linear-gradient(45deg, orange, yellow) stretch); 58 | // @include border-image(linear-gradient(45deg, orange, yellow) 20 30 40 50 stretch round); 59 | // @include border-image(radial-gradient(top, cover, orange, yellow, orange)); 60 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/neat-grid/neat/mixins/_grid-visual.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /// Creates a series of guide lines using the `background-image` property on a 3 | /// grid container to visualise the columns and gutters of the grid. 4 | /// 5 | /// @group features 6 | /// 7 | /// @name Grid visual 8 | /// 9 | /// @argument {color} $color 10 | /// The color of the guide lines created. 11 | /// 12 | /// @argument {map} $grid [$neat-grid] 13 | /// The grid used to determine the guides 14 | /// 15 | /// @example scss 16 | /// .element { 17 | /// @include grid-visual; 18 | /// } 19 | /// 20 | /// @example css 21 | /// .element { 22 | /// background-image: linear-gradient( … ) ; 23 | /// } 24 | 25 | @mixin grid-visual($color: null, $grid: $neat-grid) { 26 | @if not $color { 27 | $color: _retrieve-neat-setting($grid, color); 28 | } 29 | 30 | $_grid-columns: _retrieve-neat-setting($grid, columns); 31 | $_grid-gutter: _retrieve-neat-setting($grid, gutter); 32 | $_grid-visual-object: () !default; 33 | $_grid-visual: 34 | $color, 35 | $color $_grid-gutter, 36 | transparent $_grid-gutter, 37 | ; 38 | 39 | @for $i from 1 to $_grid-columns { 40 | $_grid-visual-local: ( 41 | #{$i}: "#{_neat-column-width($grid, $i)} + #{$_grid-gutter}", 42 | ); 43 | 44 | $_grid-visual-object: map-merge($_grid-visual-object, $_grid-visual-local); 45 | } 46 | 47 | @each $stop, $location in $_grid-visual-object { 48 | $_grid-visual-loop-list: 49 | transparent calc(#{$location}), 50 | $color calc(#{$location}), 51 | $color calc(#{$location} + #{$_grid-gutter}), 52 | transparent calc(#{$location} + #{$_grid-gutter}), 53 | ; 54 | 55 | $_grid-visual: _neat-append-grid-visual($_grid-visual, $_grid-visual-loop-list); 56 | } 57 | 58 | $_grid-visual-loop-list: 59 | transparent calc(100% - #{$_grid-gutter}), 60 | $color calc(100% - #{$_grid-gutter}), 61 | $color calc(100%), 62 | ; 63 | 64 | $_grid-visual: _neat-append-grid-visual($_grid-visual, $_grid-visual-loop-list); 65 | 66 | background-image: linear-gradient(to right, $_grid-visual); 67 | } 68 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/helpers/_radial-arg-parser.scss: -------------------------------------------------------------------------------- 1 | @function _radial-arg-parser($g1, $g2, $pos, $shape-size) { 2 | @each $value in $g1, $g2 { 3 | $first-val: nth($value, 1); 4 | $pos-type: type-of($first-val); 5 | $spec-at-index: null; 6 | 7 | // Determine if spec was passed to mixin 8 | @if type-of($value) == list { 9 | $spec-at-index: if(index($value, at), index($value, at), false); 10 | } 11 | @if $spec-at-index { 12 | @if $spec-at-index > 1 { 13 | @for $i from 1 through ($spec-at-index - 1) { 14 | $shape-size: $shape-size nth($value, $i); 15 | } 16 | @for $i from ($spec-at-index + 1) through length($value) { 17 | $pos: $pos nth($value, $i); 18 | } 19 | } 20 | @else if $spec-at-index == 1 { 21 | @for $i from ($spec-at-index + 1) through length($value) { 22 | $pos: $pos nth($value, $i); 23 | } 24 | } 25 | $g1: null; 26 | } 27 | 28 | // If not spec calculate correct values 29 | @else { 30 | @if ($pos-type != color) or ($first-val != "transparent") { 31 | @if ($pos-type == number) 32 | or ($first-val == "center") 33 | or ($first-val == "top") 34 | or ($first-val == "right") 35 | or ($first-val == "bottom") 36 | or ($first-val == "left") { 37 | 38 | $pos: $value; 39 | 40 | @if $pos == $g1 { 41 | $g1: null; 42 | } 43 | } 44 | 45 | @else if 46 | ($first-val == "ellipse") 47 | or ($first-val == "circle") 48 | or ($first-val == "closest-side") 49 | or ($first-val == "closest-corner") 50 | or ($first-val == "farthest-side") 51 | or ($first-val == "farthest-corner") 52 | or ($first-val == "contain") 53 | or ($first-val == "cover") { 54 | 55 | $shape-size: $value; 56 | 57 | @if $value == $g1 { 58 | $g1: null; 59 | } 60 | 61 | @else if $value == $g2 { 62 | $g2: null; 63 | } 64 | } 65 | } 66 | } 67 | } 68 | @return $g1, $g2, $pos, $shape-size; 69 | } 70 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/neat/settings/_grid.scss: -------------------------------------------------------------------------------- 1 | /// Sets the relative width of a single grid column. The unit used should be the same one used to define `$gutter`. To learn more about golden-ratio() see [Bourbon docs](http://bourbon.io/docs/#golden-ratio). Set with a `!global` flag. 2 | /// 3 | /// @type Number (Unit) 4 | 5 | $column: golden-ratio(1em, 3) !default; 6 | 7 | /// Sets the relative width of a single grid gutter. The unit used should be the same one used to define `$column`. To learn more about golden-ratio() see [Bourbon docs](http://bourbon.io/docs/#golden-ratio). Set with the `!global` flag. 8 | /// 9 | /// @type Number (Unit) 10 | 11 | $gutter: golden-ratio(1em, 1) !default; 12 | 13 | /// Sets the total number of columns in the grid. Its value can be overridden inside a media query using the `media()` mixin. Set with the `!global` flag. 14 | /// 15 | /// @type Number (Unitless) 16 | 17 | $grid-columns: 12 !default; 18 | 19 | /// Sets the max-width property of the element that includes `outer-container()`. To learn more about `em()` see [Bourbon docs](http://bourbon.io/docs/#px-to-em). Set with the `!global` flag. 20 | /// 21 | /// @type Number (Unit) 22 | /// 23 | //$max-width: em(1088) !default; 24 | 25 | /// When set to true, it sets the box-sizing property of all elements to `border-box`. Set with a `!global` flag. 26 | /// 27 | /// @type Bool 28 | /// 29 | /// @example css - CSS Output 30 | /// html { 31 | /// -webkit-box-sizing: border-box; 32 | /// -moz-box-sizing: border-box; 33 | /// box-sizing: border-box; } 34 | /// 35 | /// *, *:before, *:after { 36 | /// -webkit-box-sizing: inherit; 37 | /// -moz-box-sizing: inherit; 38 | /// box-sizing: inherit; 39 | /// } 40 | 41 | $border-box-sizing: true !default; 42 | 43 | /// Sets the default [media feature](http://www.w3.org/TR/css3-mediaqueries/#media) that `media()` and `new-breakpoint()` revert to when only a breakpoint value is passed. Set with a `!global` flag. 44 | /// 45 | /// @type String 46 | 47 | $default-feature: min-width; // Default @media feature for the breakpoint() mixin 48 | 49 | ///Sets the default layout direction of the grid. Can be `LTR` or `RTL`. Set with a `!global` flag. 50 | /// 51 | ///@type String 52 | 53 | $default-layout-direction: LTR !default; 54 | -------------------------------------------------------------------------------- /assets/style/_scss/lib/bourbon/helpers/_linear-positions-parser.scss: -------------------------------------------------------------------------------- 1 | @function _linear-positions-parser($pos) { 2 | $type: type-of(nth($pos, 1)); 3 | $spec: null; 4 | $degree: null; 5 | $side: null; 6 | $corner: null; 7 | $length: length($pos); 8 | // Parse Side and corner positions 9 | @if ($length > 1) { 10 | @if nth($pos, 1) == "to" { // Newer syntax 11 | $side: nth($pos, 2); 12 | 13 | @if $length == 2 { // eg. to top 14 | // Swap for backwards compatability 15 | $degree: _position-flipper(nth($pos, 2)); 16 | } 17 | @else if $length == 3 { // eg. to top left 18 | $corner: nth($pos, 3); 19 | } 20 | } 21 | @else if $length == 2 { // Older syntax ("top left") 22 | $side: _position-flipper(nth($pos, 1)); 23 | $corner: _position-flipper(nth($pos, 2)); 24 | } 25 | 26 | @if ("#{$side} #{$corner}" == "left top") or ("#{$side} #{$corner}" == "top left") { 27 | $degree: _position-flipper(#{$side}) _position-flipper(#{$corner}); 28 | } 29 | @else if ("#{$side} #{$corner}" == "right top") or ("#{$side} #{$corner}" == "top right") { 30 | $degree: _position-flipper(#{$side}) _position-flipper(#{$corner}); 31 | } 32 | @else if ("#{$side} #{$corner}" == "right bottom") or ("#{$side} #{$corner}" == "bottom right") { 33 | $degree: _position-flipper(#{$side}) _position-flipper(#{$corner}); 34 | } 35 | @else if ("#{$side} #{$corner}" == "left bottom") or ("#{$side} #{$corner}" == "bottom left") { 36 | $degree: _position-flipper(#{$side}) _position-flipper(#{$corner}); 37 | } 38 | $spec: to $side $corner; 39 | } 40 | @else if $length == 1 { 41 | // Swap for backwards compatability 42 | @if $type == string { 43 | $degree: $pos; 44 | $spec: to _position-flipper($pos); 45 | } 46 | @else { 47 | $degree: -270 - $pos; //rotate the gradient opposite from spec 48 | $spec: $pos; 49 | } 50 | } 51 | $degree: unquote($degree + ","); 52 | $spec: unquote($spec + ","); 53 | @return $degree $spec; 54 | } 55 | 56 | @function _position-flipper($pos) { 57 | @return if($pos == left, right, null) 58 | if($pos == right, left, null) 59 | if($pos == top, bottom, null) 60 | if($pos == bottom, top, null); 61 | } 62 | --------------------------------------------------------------------------------