From: Kai Moritz Date: Mon, 18 Jan 2016 14:33:28 +0000 (+0100) Subject: Website-Inhalte und Styling in JavaScript Frontend-Projekt separiert X-Git-Url: http://juplo.de/gitweb/?a=commitdiff_plain;h=63c6a2dc8a253b98490f27755dfbf5a66d15fa4e;p=website Website-Inhalte und Styling in JavaScript Frontend-Projekt separiert --- diff --git a/.gitignore b/.gitignore index eb5a316c..cae7fa6d 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -target +node_modules +dist/css diff --git a/Gruntfile.js b/Gruntfile.js new file mode 100644 index 00000000..2d425080 --- /dev/null +++ b/Gruntfile.js @@ -0,0 +1,122 @@ +module.exports = function (grunt) { + 'use strict'; + + grunt.loadNpmTasks('grunt-contrib-clean'); + grunt.loadNpmTasks('grunt-contrib-cssmin'); + grunt.loadNpmTasks('grunt-contrib-less'); + grunt.loadNpmTasks('grunt-contrib-watch'); + grunt.loadNpmTasks('grunt-newer'); + + grunt.initConfig({ + + clean: { + css: [ 'dist/css' ] + }, + + less: { + base: { + options: { + strictMath: true, + sourceMap: true, + outputSourceFiles: true, + sourceMapURL: 'base.css.map', + sourceMapFilename: 'dist/css/base.css.map' + }, + src: 'less/base.less', + dest: 'dist/css/base.css' + }, + screen: { + options: { + strictMath: true, + sourceMap: true, + outputSourceFiles: true, + sourceMapURL: 'screen.css.map', + sourceMapFilename: 'dist/css/screen.css.map' + }, + src: 'less/screen.less', + dest: 'dist/css/screen.css' + }, + print: { + options: { + strictMath: true, + sourceMap: true, + outputSourceFiles: true, + sourceMapURL: 'print.css.map', + sourceMapFilename: 'dist/css/print.css.map' + }, + src: 'less/print.less', + dest: 'dist/css/print.css' + }, + ie8: { + options: { + strictMath: true, + sourceMap: true, + outputSourceFiles: true, + sourceMapURL: 'ie8.css.map', + sourceMapFilename: 'dist/css/ie8.css.map' + }, + src: 'less/ie8.less', + dest: 'dist/css/ie8.css' + } + }, + + cssmin: { + options: { + compatibility: 'ie8', + sourceMap: true, + advanced: false + }, + base: { + src: 'dist/css/base.css', + dest: 'dist/css/base.min.css' + }, + screen: { + src: 'dist/css/screen.css', + dest: 'dist/css/screen.min.css' + }, + print: { + src: 'dist/css/print.css', + dest: 'dist/css/print.min.css' + }, + ie8: { + src: 'dist/css/ie8.css', + dest: 'dist/css/ie8.min.css' + } + }, + + watch: { + css: { + files: [ 'less/**/*.less' ], + tasks: 'css' + } + } + + }) + + + // Task to build and minify the CSS + grunt.registerTask('css', [ 'less', 'newer:cssmin' ]); + + // Task to build the distribution + grunt.registerTask('dist', [ 'css' ]); + + + // Task to start a local http-server for development + grunt.registerTask('http-server', function() { + + grunt.util.spawn({ + cmd: 'node_modules/http-server/bin/http-server', + args: [ 'dist' ], + opts: { stdio: 'inherit' } + }); + + }); + + // Task to start development-environment + grunt.registerTask('devel', [ 'dist', 'http-server', 'watch' ]); + + + // Default task. + grunt.registerTask('default', [ 'dist' ]); + +} diff --git a/dist/fonts/BPreplay Open Font License.txt b/dist/fonts/BPreplay Open Font License.txt new file mode 100644 index 00000000..c5d0603f --- /dev/null +++ b/dist/fonts/BPreplay Open Font License.txt @@ -0,0 +1,95 @@ +Copyright (c) 2004, George Triantafyllakos (http://www.backpacker.gr), +with BPreplay. +Copyright (c) 2004, Magenta (http://www.magenta.gr). + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. \ No newline at end of file diff --git a/dist/fonts/BPreplay-webfont.eot b/dist/fonts/BPreplay-webfont.eot new file mode 100644 index 00000000..abc9b264 Binary files /dev/null and b/dist/fonts/BPreplay-webfont.eot differ diff --git a/dist/fonts/BPreplay-webfont.svg b/dist/fonts/BPreplay-webfont.svg new file mode 100644 index 00000000..4893e75b --- /dev/null +++ b/dist/fonts/BPreplay-webfont.svg @@ -0,0 +1,333 @@ + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Copyright c 2004 by Magenta 2008 by George Triantafyllakos Released under the SIL Open Font License OFL +Designer : MagentaGeorge Triantafyllakos +Foundry : MagentaGeorge Triantafyllakos +Foundry URL : httpwwwmagentagr + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/dist/fonts/BPreplay-webfont.ttf b/dist/fonts/BPreplay-webfont.ttf new file mode 100644 index 00000000..949a096d Binary files /dev/null and b/dist/fonts/BPreplay-webfont.ttf differ diff --git a/dist/fonts/BPreplay-webfont.woff b/dist/fonts/BPreplay-webfont.woff new file mode 100644 index 00000000..db21dac4 Binary files /dev/null and b/dist/fonts/BPreplay-webfont.woff differ diff --git a/dist/fonts/BPreplayBold-webfont.eot b/dist/fonts/BPreplayBold-webfont.eot new file mode 100644 index 00000000..fccb706e Binary files /dev/null and b/dist/fonts/BPreplayBold-webfont.eot differ diff --git a/dist/fonts/BPreplayBold-webfont.svg b/dist/fonts/BPreplayBold-webfont.svg new file mode 100644 index 00000000..210d081c --- /dev/null +++ b/dist/fonts/BPreplayBold-webfont.svg @@ -0,0 +1,333 @@ + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Copyright c 2004 by Magenta 2008 by George Triantafyllakos Released under the SIL Open Font License OFL +Designer : MagentaGeorge Triantafyllakos +Foundry : MagentaGeorge Triantafyllakos +Foundry URL : httpwwwmagentagr + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/dist/fonts/BPreplayBold-webfont.ttf b/dist/fonts/BPreplayBold-webfont.ttf new file mode 100644 index 00000000..aef3cacb Binary files /dev/null and b/dist/fonts/BPreplayBold-webfont.ttf differ diff --git a/dist/fonts/BPreplayBold-webfont.woff b/dist/fonts/BPreplayBold-webfont.woff new file mode 100644 index 00000000..52b19ce5 Binary files /dev/null and b/dist/fonts/BPreplayBold-webfont.woff differ diff --git a/dist/fonts/BPreplayBoldItalics-webfont.eot b/dist/fonts/BPreplayBoldItalics-webfont.eot new file mode 100644 index 00000000..92d4da9d Binary files /dev/null and b/dist/fonts/BPreplayBoldItalics-webfont.eot differ diff --git a/dist/fonts/BPreplayBoldItalics-webfont.svg b/dist/fonts/BPreplayBoldItalics-webfont.svg new file mode 100644 index 00000000..851d095e --- /dev/null +++ b/dist/fonts/BPreplayBoldItalics-webfont.svg @@ -0,0 +1,333 @@ + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Copyright c 2004 by Magenta 2008 by George Triantafyllakos Released under the SIL Open Font License OFL +Designer : MagentaGeorge Triantafyllakos +Foundry : MagentaGeorge Triantafyllakos +Foundry URL : httpwwwmagentagr + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/dist/fonts/BPreplayBoldItalics-webfont.ttf b/dist/fonts/BPreplayBoldItalics-webfont.ttf new file mode 100644 index 00000000..53b118f7 Binary files /dev/null and b/dist/fonts/BPreplayBoldItalics-webfont.ttf differ diff --git a/dist/fonts/BPreplayBoldItalics-webfont.woff b/dist/fonts/BPreplayBoldItalics-webfont.woff new file mode 100644 index 00000000..e30ec306 Binary files /dev/null and b/dist/fonts/BPreplayBoldItalics-webfont.woff differ diff --git a/dist/fonts/BPreplayItalics-webfont.eot b/dist/fonts/BPreplayItalics-webfont.eot new file mode 100644 index 00000000..0ce3b6be Binary files /dev/null and b/dist/fonts/BPreplayItalics-webfont.eot differ diff --git a/dist/fonts/BPreplayItalics-webfont.svg b/dist/fonts/BPreplayItalics-webfont.svg new file mode 100644 index 00000000..c5c871a4 --- /dev/null +++ b/dist/fonts/BPreplayItalics-webfont.svg @@ -0,0 +1,333 @@ + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Copyright c 2004 by Magenta 2008 by George Triantafyllakos Released under the SIL Open Font License OFL +Designer : MagentaGeorge Triantafyllakos +Foundry : MagentaGeorge Triantafyllakos +Foundry URL : httpwwwmagentagr + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/dist/fonts/BPreplayItalics-webfont.ttf b/dist/fonts/BPreplayItalics-webfont.ttf new file mode 100644 index 00000000..3bc5a511 Binary files /dev/null and b/dist/fonts/BPreplayItalics-webfont.ttf differ diff --git a/dist/fonts/BPreplayItalics-webfont.woff b/dist/fonts/BPreplayItalics-webfont.woff new file mode 100644 index 00000000..504404a4 Binary files /dev/null and b/dist/fonts/BPreplayItalics-webfont.woff differ diff --git a/dist/fonts/Droid-Serif-fontfacekit.zip b/dist/fonts/Droid-Serif-fontfacekit.zip new file mode 100644 index 00000000..f0c8fc8b Binary files /dev/null and b/dist/fonts/Droid-Serif-fontfacekit.zip differ diff --git a/dist/fonts/DroidSerif-Bold-webfont.eot b/dist/fonts/DroidSerif-Bold-webfont.eot new file mode 100644 index 00000000..c0a081d0 Binary files /dev/null and b/dist/fonts/DroidSerif-Bold-webfont.eot differ diff --git a/dist/fonts/DroidSerif-Bold-webfont.svg b/dist/fonts/DroidSerif-Bold-webfont.svg new file mode 100644 index 00000000..33b3d9fc --- /dev/null +++ b/dist/fonts/DroidSerif-Bold-webfont.svg @@ -0,0 +1,167 @@ + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Digitized data copyright 2006 Google Corporation +Foundry : Ascender Corporation +Foundry URL : httpwwwascendercorpcom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/dist/fonts/DroidSerif-Bold-webfont.ttf b/dist/fonts/DroidSerif-Bold-webfont.ttf new file mode 100644 index 00000000..995c73fd Binary files /dev/null and b/dist/fonts/DroidSerif-Bold-webfont.ttf differ diff --git a/dist/fonts/DroidSerif-Bold-webfont.woff b/dist/fonts/DroidSerif-Bold-webfont.woff new file mode 100644 index 00000000..56477f6a Binary files /dev/null and b/dist/fonts/DroidSerif-Bold-webfont.woff differ diff --git a/dist/fonts/DroidSerif-BoldItalic-webfont.eot b/dist/fonts/DroidSerif-BoldItalic-webfont.eot new file mode 100644 index 00000000..139cbb10 Binary files /dev/null and b/dist/fonts/DroidSerif-BoldItalic-webfont.eot differ diff --git a/dist/fonts/DroidSerif-BoldItalic-webfont.svg b/dist/fonts/DroidSerif-BoldItalic-webfont.svg new file mode 100644 index 00000000..d6b162e8 --- /dev/null +++ b/dist/fonts/DroidSerif-BoldItalic-webfont.svg @@ -0,0 +1,167 @@ + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Digitized data copyright 2007 Google Corporation +Foundry : Ascender Corporation +Foundry URL : httpwwwascendercorpcom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/dist/fonts/DroidSerif-BoldItalic-webfont.ttf b/dist/fonts/DroidSerif-BoldItalic-webfont.ttf new file mode 100644 index 00000000..080aa21c Binary files /dev/null and b/dist/fonts/DroidSerif-BoldItalic-webfont.ttf differ diff --git a/dist/fonts/DroidSerif-BoldItalic-webfont.woff b/dist/fonts/DroidSerif-BoldItalic-webfont.woff new file mode 100644 index 00000000..06729cf8 Binary files /dev/null and b/dist/fonts/DroidSerif-BoldItalic-webfont.woff differ diff --git a/dist/fonts/DroidSerif-Italic-webfont.eot b/dist/fonts/DroidSerif-Italic-webfont.eot new file mode 100644 index 00000000..2674ceb1 Binary files /dev/null and b/dist/fonts/DroidSerif-Italic-webfont.eot differ diff --git a/dist/fonts/DroidSerif-Italic-webfont.svg b/dist/fonts/DroidSerif-Italic-webfont.svg new file mode 100644 index 00000000..1572ab61 --- /dev/null +++ b/dist/fonts/DroidSerif-Italic-webfont.svg @@ -0,0 +1,167 @@ + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Digitized data copyright 2007 Google Corporation +Foundry : Ascender Corporation +Foundry URL : httpwwwascendercorpcom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/dist/fonts/DroidSerif-Italic-webfont.ttf b/dist/fonts/DroidSerif-Italic-webfont.ttf new file mode 100644 index 00000000..71e4ab19 Binary files /dev/null and b/dist/fonts/DroidSerif-Italic-webfont.ttf differ diff --git a/dist/fonts/DroidSerif-Italic-webfont.woff b/dist/fonts/DroidSerif-Italic-webfont.woff new file mode 100644 index 00000000..763cb62a Binary files /dev/null and b/dist/fonts/DroidSerif-Italic-webfont.woff differ diff --git a/dist/fonts/DroidSerif-Regular-webfont.eot b/dist/fonts/DroidSerif-Regular-webfont.eot new file mode 100644 index 00000000..0a25a941 Binary files /dev/null and b/dist/fonts/DroidSerif-Regular-webfont.eot differ diff --git a/dist/fonts/DroidSerif-Regular-webfont.svg b/dist/fonts/DroidSerif-Regular-webfont.svg new file mode 100644 index 00000000..4d37c8f3 --- /dev/null +++ b/dist/fonts/DroidSerif-Regular-webfont.svg @@ -0,0 +1,167 @@ + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Digitized data copyright 2006 Google Corporation +Foundry : Ascender Corporation +Foundry URL : httpwwwascendercorpcom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/dist/fonts/DroidSerif-Regular-webfont.ttf b/dist/fonts/DroidSerif-Regular-webfont.ttf new file mode 100644 index 00000000..14c641ba Binary files /dev/null and b/dist/fonts/DroidSerif-Regular-webfont.ttf differ diff --git a/dist/fonts/DroidSerif-Regular-webfont.woff b/dist/fonts/DroidSerif-Regular-webfont.woff new file mode 100644 index 00000000..0ea54fdf Binary files /dev/null and b/dist/fonts/DroidSerif-Regular-webfont.woff differ diff --git a/dist/fonts/symbols.eot b/dist/fonts/symbols.eot new file mode 100644 index 00000000..751a81ab Binary files /dev/null and b/dist/fonts/symbols.eot differ diff --git a/dist/fonts/symbols.svg b/dist/fonts/symbols.svg new file mode 100644 index 00000000..907f22a8 --- /dev/null +++ b/dist/fonts/symbols.svg @@ -0,0 +1,86 @@ + + + +Generated by IcoMoon + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/dist/fonts/symbols.ttf b/dist/fonts/symbols.ttf new file mode 100644 index 00000000..911bfc77 Binary files /dev/null and b/dist/fonts/symbols.ttf differ diff --git a/dist/fonts/symbols.woff b/dist/fonts/symbols.woff new file mode 100644 index 00000000..3753b820 Binary files /dev/null and b/dist/fonts/symbols.woff differ diff --git a/dist/img/comming-soon.png b/dist/img/comming-soon.png new file mode 100644 index 00000000..b2f25825 Binary files /dev/null and b/dist/img/comming-soon.png differ diff --git a/dist/img/kai-moritz.jpg b/dist/img/kai-moritz.jpg new file mode 100644 index 00000000..c1815a1b Binary files /dev/null and b/dist/img/kai-moritz.jpg differ diff --git a/dist/img/wip.gif b/dist/img/wip.gif new file mode 100644 index 00000000..13a03b12 Binary files /dev/null and b/dist/img/wip.gif differ diff --git a/dist/index.html b/dist/index.html new file mode 100644 index 00000000..0f3f0bdc --- /dev/null +++ b/dist/index.html @@ -0,0 +1,10 @@ + + + + + Frameset to Bypass Same-Origin-Policy + + + + + diff --git a/dist/js/base.js b/dist/js/base.js new file mode 120000 index 00000000..cd3c776d --- /dev/null +++ b/dist/js/base.js @@ -0,0 +1 @@ +prettify.js \ No newline at end of file diff --git a/dist/js/html5shiv.js b/dist/js/html5shiv.js new file mode 100644 index 00000000..448cebd7 --- /dev/null +++ b/dist/js/html5shiv.js @@ -0,0 +1,8 @@ +/* + HTML5 Shiv v3.7.0 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed +*/ +(function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag(); +a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/[\w\-]+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x"; +c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode|| +"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:"3.7.0",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f); +if(g)return a.createDocumentFragment();for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d + * Licensed under the Apache v2 License. + * + */ + + /** * @license Apache v2 + */ + +!function(a,b){function c(b){return a.less[b.split("/")[1]]}function d(a,b){"undefined"!=typeof console&&w.logLevel>=b&&console.log("less: "+a)}function e(a){return a.replace(/^[a-z-]+:\/+?[^\/]+/,"").replace(/^\//,"").replace(/\.[a-zA-Z]+$/,"").replace(/[^\.\w-]+/g,"-").replace(/\./g,":")}function f(a,c){var e="{line} {content}",f=a.filename||c,g=[],h=(a.type||"Syntax")+"Error: "+(a.message||"There is an error in your .less file")+" in "+f+" ",i=function(a,c,d){a.extract[c]!==b&&g.push(e.replace(/\{line\}/,(parseInt(a.line,10)||0)+(c-1)).replace(/\{class\}/,d).replace(/\{content\}/,a.extract[c]))};a.extract?(i(a,0,""),i(a,1,"line"),i(a,2,""),h+="on line "+a.line+", column "+(a.column+1)+":\n"+g.join("\n")):a.stack&&(h+=a.stack),d(h,z.errors)}function g(a,b,c){var f=b.href||"",g="less:"+(b.title||e(f)),h=document.getElementById(g),i=!1,j=document.createElement("style");if(j.setAttribute("type","text/css"),b.media&&j.setAttribute("media",b.media),j.id=g,j.styleSheet)try{j.styleSheet.cssText=a}catch(k){throw new Error("Couldn't reassign styleSheet.cssText.")}else j.appendChild(document.createTextNode(a)),i=null!==h&&h.childNodes.length>0&&j.childNodes.length>0&&h.firstChild.nodeValue===j.firstChild.nodeValue;var l=document.getElementsByTagName("head")[0];if(null===h||i===!1){var m=b&&b.nextSibling||null;m?m.parentNode.insertBefore(j,m):l.appendChild(j)}if(h&&i===!1&&h.parentNode.removeChild(h),c&&D){d("saving "+f+" to cache.",z.info);try{D.setItem(f,a),D.setItem(f+":timestamp",c)}catch(k){d("failed to save",z.errors)}}}function h(a){return w.postProcessor&&"function"==typeof w.postProcessor&&(a=w.postProcessor.call(a,a)||a),a}function i(a,c){var d,f,h="less-error-message:"+e(c||""),i='
  • {content}
  • ',j=document.createElement("div"),k=[],l=a.filename||c,m=l.match(/([^\/]+(\?.*)?)$/)[1];j.id=h,j.className="less-error-message",f="

    "+(a.type||"Syntax")+"Error: "+(a.message||"There is an error in your .less file")+'

    in '+m+" ";var n=function(a,c,d){a.extract[c]!==b&&k.push(i.replace(/\{line\}/,(parseInt(a.line,10)||0)+(c-1)).replace(/\{class\}/,d).replace(/\{content\}/,a.extract[c]))};a.extract?(n(a,0,""),n(a,1,"line"),n(a,2,""),f+="on line "+a.line+", column "+(a.column+1)+":

    "):a.stack&&(f+="
    "+a.stack.split("\n").slice(1).join("
    ")),j.innerHTML=f,g([".less-error-message ul, .less-error-message li {","list-style-type: none;","margin-right: 15px;","padding: 4px 0;","margin: 0;","}",".less-error-message label {","font-size: 12px;","margin-right: 15px;","padding: 4px 0;","color: #cc7777;","}",".less-error-message pre {","color: #dd6666;","padding: 4px 0;","margin: 0;","display: inline-block;","}",".less-error-message pre.line {","color: #ff0000;","}",".less-error-message h3 {","font-size: 20px;","font-weight: bold;","padding: 15px 0 5px 0;","margin: 0;","}",".less-error-message a {","color: #10a","}",".less-error-message .error {","color: red;","font-weight: bold;","padding-bottom: 2px;","border-bottom: 1px dashed red;","}"].join("\n"),{title:"error-message"}),j.style.cssText=["font-family: Arial, sans-serif","border: 1px solid #e00","background-color: #eee","border-radius: 5px","-webkit-border-radius: 5px","-moz-border-radius: 5px","color: #e00","padding: 15px","margin-bottom: 15px"].join(";"),"development"==w.env&&(d=setInterval(function(){document.body&&(document.getElementById(h)?document.body.replaceChild(j,document.getElementById(h)):document.body.insertBefore(j,document.body.firstChild),clearInterval(d))},10))}function j(a,b){w.errorReporting&&"html"!==w.errorReporting?"console"===w.errorReporting?f(a,b):"function"==typeof w.errorReporting&&w.errorReporting("add",a,b):i(a,b)}function k(a){var b=document.getElementById("less-error-message:"+e(a));b&&b.parentNode.removeChild(b)}function l(){}function m(a){w.errorReporting&&"html"!==w.errorReporting?"console"===w.errorReporting?l(a):"function"==typeof w.errorReporting&&w.errorReporting("remove",a):k(a)}function n(a){for(var b,c=document.getElementsByTagName("style"),d=0;d0&&(h.splice(c-1,2),c-=2)}return g.hostPart=f[1],g.directories=h,g.path=f[1]+h.join("/"),g.fileUrl=g.path+(f[4]||""),g.url=g.fileUrl+(f[5]||""),g}function p(a,b){var c,d,e,f,g=o(a),h=o(b),i="";if(g.hostPart!==h.hostPart)return"";for(d=Math.max(h.directories.length,g.directories.length),c=0;d>c&&h.directories[c]===g.directories[c];c++);for(f=h.directories.slice(c),e=g.directories.slice(c),c=0;c=200&&b.status<300?c(b.responseText,b.getResponseHeader("Last-Modified")):"function"==typeof d&&d(b.status,a)}var g=q(),h=y?w.fileAsync:w.async;"function"==typeof g.overrideMimeType&&g.overrideMimeType("text/css"),d("XHR: Getting '"+a+"'",z.debug),g.open("GET",a,h),g.setRequestHeader("Accept",b||"text/x-less, text/css; q=0.9, */*; q=0.5"),g.send(null),y&&!w.fileAsync?0===g.status||g.status>=200&&g.status<300?c(g.responseText):e(g.status,a):h?g.onreadystatechange=function(){4==g.readyState&&f(g,c,e)}:f(g,c,e)}function s(b,c,d,e){c&&c.currentDirectory&&!/^([a-z-]+:)?\//.test(b)&&(b=c.currentDirectory+b);var f=o(b,a.location.href),g=f.url,h={currentDirectory:f.path,filename:g};if(c?(h.entryPath=c.entryPath,h.rootpath=c.rootpath,h.rootFilename=c.rootFilename,h.relativeUrls=c.relativeUrls):(h.entryPath=f.path,h.rootpath=w.rootpath||f.path,h.rootFilename=g,h.relativeUrls=e.relativeUrls),h.relativeUrls&&(h.rootpath=e.rootpath?o(e.rootpath+p(f.path,h.entryPath)).path:f.path),e.useFileCache&&E[g])try{var i=E[g];d(null,i,g,h,{lastModified:new Date})}catch(j){d(j,null,g)}else r(g,e.mime,function(a,b){E[g]=a;try{d(null,a,g,h,{lastModified:b})}catch(c){d(c,null,g)}},function(a,b){d({type:"File",message:"'"+b+"' wasn't found ("+a+")"},null,g)})}function t(a,b,c,d,e){var f=new w.tree.parseEnv(w);f.mime=a.type,(e||w.globalVars)&&(f.useFileCache=!0),s(a.href,null,function(h,i,j,k,l){if(l){l.remaining=d;var n=D&&D.getItem(j),o=D&&D.getItem(j+":timestamp");if(!c&&o&&l.lastModified&&new Date(l.lastModified).valueOf()===new Date(o).valueOf())return g(n,a),l.local=!0,void b(null,null,i,a,l,j)}m(j),i?(f.currentFileInfo=k,new w.Parser(f).parse(i,function(c,d){if(c)return b(c,null,null,a);try{b(c,d,i,a,l,j)}catch(c){b(c,null,null,a)}},{modifyVars:e,globalVars:w.globalVars})):b(h,null,null,a,l,j)},f,e)}function u(a,b,c){for(var d=0;dD&&(C=C.slice(y-D),D=y)}function h(a,b){var c=a.charCodeAt(0|b);return 32>=c&&(32===c||10===c||9===c)}function i(a){var b,c,d=typeof a;return"string"===d?v.charAt(y)!==a?null:(l(1),a):(g(),(b=a.exec(C))?(c=b[0].length,l(c),"string"==typeof b?b:1===b.length?b[0]:b):null)}function j(a){y>D&&(C=C.slice(y-D),D=y);var b=a.exec(C);return b?(l(b[0].length),"string"==typeof b?b:1===b.length?b[0]:b):null}function k(a){return v.charAt(y)!==a?null:(l(1),a)}function l(a){for(var b,c=y,d=z,e=y-D,f=y+C.length-e,g=y+=a,h=v;f>y&&(b=h.charCodeAt(y),!(b>32))&&(32===b||10===b||9===b||13===b);y++);return C=C.slice(a+y-g+e),D=y,!C.length&&z=0&&"\n"!==b.charAt(c);)e++;return"number"==typeof a&&(d=(b.slice(0,a).match(/\n/g)||"").length),{line:d,column:e}}function t(a,b,d){var e=d.currentFileInfo.filename;return"browser"!==w.mode&&"rhino"!==w.mode&&(e=c("path").resolve(e)),{lineNumber:s(a,b).line+1,fileName:e}}function u(a,b){var c=r(a,b),d=s(a.index,c),e=d.line,f=d.column,g=a.call&&s(a.call,c).line,h=c.split("\n");this.type=a.type||"Syntax",this.message=a.message,this.filename=a.filename||b.currentFileInfo.filename,this.index=a.index,this.line="number"==typeof e?e+1:null,this.callLine=g+1,this.callExtract=h[g],this.stack=a.stack,this.column=f,this.extract=[h[e-1],h[e],h[e+1]]}var v,y,z,A,B,C,D,E,F,G=[],H=a&&a.filename;a instanceof x.parseEnv||(a=new x.parseEnv(a));var I=this.imports={paths:a.paths||[],queue:[],files:a.files,contents:a.contents,contentsIgnoredChars:a.contentsIgnoredChars,mime:a.mime,error:null,push:function(b,c,d,e){var f=this;this.queue.push(b);var g=function(a,c,d){f.queue.splice(f.queue.indexOf(b),1);var g=d===H;f.files[d]=c,a&&!f.error&&(f.error=a),e(a,c,g,d)};w.Parser.importer?w.Parser.importer(b,c,g,a):w.Parser.fileLoader(b,c,function(b,e,f,h){if(b)return void g(b);var i=new x.parseEnv(a);i.currentFileInfo=h,i.processImports=!1,i.contents[f]=e,(c.reference||d.reference)&&(h.reference=!0),d.inline?g(null,e,f):new w.Parser(i).parse(e,function(a,b){g(a,b,f)})},a)}},J=j;return u.prototype=new Error,u.prototype.constructor=u,this.env=a=a||{},this.optimization="optimization"in this.env?this.env.optimization:1,E={imports:I,parse:function(d,e,f){var g,h,i,j,k,l=null,m="";if(y=z=D=A=0,j=f&&f.globalVars?w.Parser.serializeVars(f.globalVars)+"\n":"",k=f&&f.modifyVars?"\n"+w.Parser.serializeVars(f.modifyVars):"",(j||f&&f.banner)&&(m=(f&&f.banner?f.banner:"")+j,E.imports.contentsIgnoredChars[a.currentFileInfo.filename]=m.length),d=d.replace(/\r\n/g,"\n"),v=d=m+d.replace(/^\uFEFF/,"")+k,E.imports.contents[a.currentFileInfo.filename]=d,B=function(b){function c(b,c){l=new u({index:c||i,type:"Parse",message:b,filename:a.currentFileInfo.filename},a)}function d(a){var c=i-s;512>c&&!a||!c||(r.push(b.slice(s,i+1)),s=i+1)}var e,f,g,h,i,j,k,m,n,o=b.length,p=0,q=0,r=[],s=0;for(i=0;o>i;i++)if(k=b.charCodeAt(i),!(k>=97&&122>=k||34>k))switch(k){case 40:q++,f=i;continue;case 41:if(--q<0)return c("missing opening `(`");continue;case 59:q||d();continue;case 123:p++,e=i;continue;case 125:if(--p<0)return c("missing opening `{`");p||q||d();continue;case 92:if(o-1>i){i++;continue}return c("unescaped `\\`");case 34:case 39:case 96:for(n=0,j=i,i+=1;o>i;i++)if(m=b.charCodeAt(i),!(m>96)){if(m==k){n=1;break}if(92==m){if(i==o-1)return c("unescaped `\\`");i++}}if(n)continue;return c("unmatched `"+String.fromCharCode(k)+"`",j);case 47:if(q||i==o-1)continue;if(m=b.charCodeAt(i+1),47==m)for(i+=2;o>i&&(m=b.charCodeAt(i),!(13>=m)||10!=m&&13!=m);i++);else if(42==m){for(g=j=i,i+=2;o-1>i&&(m=b.charCodeAt(i),125==m&&(h=i),42!=m||47!=b.charCodeAt(i+1));i++);if(i==o-1)return c("missing closing `*/`",j);i++}continue;case 42:if(o-1>i&&47==b.charCodeAt(i+1))return c("unmatched `/*`");continue}return 0!==p?g>e&&h>g?c("missing closing `}` or `*/`",e):c("missing closing `}`",e):0!==q?c("missing closing `)`",f):(d(!0),r)}(d),l)return e(new u(l,a));C=B[0];try{g=new x.Ruleset(null,this.parsers.primary()),g.root=!0,g.firstRoot=!0}catch(n){return e(new u(n,a))}if(g.toCSS=function(d){return function(e,f){e=e||{};var g,h,i=new x.evalEnv(e);"object"!=typeof f||Array.isArray(f)||(f=Object.keys(f).map(function(a){var b=f[a];return b instanceof x.Value||(b instanceof x.Expression||(b=new x.Expression([b])),b=new x.Value([b])),new x.Rule("@"+a,b,!1,null,0)}),i.frames=[new x.Ruleset(null,f)]);try{var j,k=[],l=[new x.joinSelectorVisitor,new x.processExtendsVisitor,new x.toCSSVisitor({compress:Boolean(e.compress)})],m=this;if(e.plugins)for(j=0;j57||43>b||47===b||44==b))return a=j(/^([+-]?\d*\.?\d+)(%|[a-z]+)?/),a?new x.Dimension(a[1],a[2]):void 0},unicodeDescriptor:function(){var a;return a=j(/^U\+[0-9a-fA-F?]+(\-[0-9a-fA-F?]+)?/),a?new x.UnicodeDescriptor(a[0]):void 0},javascript:function(){var c,d,e=y;return"~"===v.charAt(e)&&(e++,d=!0),"`"===v.charAt(e)?(a.javascriptEnabled===b||a.javascriptEnabled||o("You are using JavaScript, which has been disabled."),d&&k("~"),c=j(/^`([^`]*)`/),c?new x.JavaScript(c[1],y,d):void 0):void 0}},variable:function(){var a;return"@"===v.charAt(y)&&(a=j(/^(@[\w-]+)\s*:/))?a[1]:void 0},rulesetCall:function(){var a;return"@"===v.charAt(y)&&(a=j(/^(@[\w-]+)\s*\(\s*\)\s*;/))?new x.RulesetCall(a[1]):void 0},extend:function(a){var b,c,d,e,f,g=y;if(j(a?/^&:extend\(/:/^:extend\(/)){do{for(d=null,b=null;!(d=j(/^(all)(?=\s*(\)|,))/))&&(c=this.element());)b?b.push(c):b=[c];d=d&&d[1],f=new x.Extend(new x.Selector(b),d,g),e?e.push(f):e=[f]}while(k(","));return m(/^\)/),a&&m(/^;/),e}},extendRule:function(){return this.extend(!0)},mixin:{call:function(){var b,c,g,h,i,l,m=v.charAt(y),o=!1,p=y;if("."===m||"#"===m){for(d();;){if(b=y,h=j(/^[#.](?:[\w-]|\\(?:[A-Fa-f0-9]{1,6} ?|[^A-Fa-f0-9]))+/),!h)break;g=new x.Element(i,h,b,a.currentFileInfo),c?c.push(g):c=[g],i=k(">")}return c&&(k("(")&&(l=this.args(!0).args,n(")")),F.important()&&(o=!0),F.end())?(f(),new x.mixin.Call(c,l,p,a.currentFileInfo,o)):void e()}},args:function(a){var b,c,g,h,i,l,m=E.parsers,n=m.entities,p={args:null,variadic:!1},q=[],r=[],s=[];for(d();;){if(a)l=m.detachedRuleset()||m.expression();else{if(m.comments(),"."===v.charAt(y)&&j(/^\.{3}/)){p.variadic=!0,k(";")&&!b&&(b=!0),(b?r:s).push({variadic:!0});break}l=n.variable()||n.literal()||n.keyword()}if(!l)break;h=null,l.throwAwayComments&&l.throwAwayComments(),i=l;var t=null;if(a?l.value&&1==l.value.length&&(t=l.value[0]):t=l,t&&t instanceof x.Variable)if(k(":")){if(q.length>0&&(b&&o("Cannot mix ; and , as delimiter types"),c=!0),i=a&&m.detachedRuleset()||m.expression(),!i){if(!a)return e(),p.args=[],p;o("could not understand value for named argument")}h=g=t.name}else{if(!a&&j(/^\.{3}/)){p.variadic=!0,k(";")&&!b&&(b=!0),(b?r:s).push({name:l.name,variadic:!0});break}a||(g=h=t.name,i=null)}i&&q.push(i),s.push({name:h,value:i}),k(",")||(k(";")||b)&&(c&&o("Cannot mix ; and , as delimiter types"),b=!0,q.length>1&&(i=new x.Value(q)),r.push({name:g,value:i}),g=null,q=[],c=!1)}return f(),p.args=b?r:s,p},definition:function(){var a,b,c,g,h=[],i=!1;if(!("."!==v.charAt(y)&&"#"!==v.charAt(y)||p(/^[^{]*\}/)))if(d(),b=j(/^([#.](?:[\w-]|\\(?:[A-Fa-f0-9]{1,6} ?|[^A-Fa-f0-9]))+)\s*\(/)){a=b[1];var l=this.args(!1);if(h=l.args,i=l.variadic,!k(")"))return A=y,void e();if(F.comments(),j(/^when/)&&(g=m(F.conditions,"expected condition")),c=F.block())return f(),new x.mixin.Definition(a,h,c,g,i);e()}else f()}},entity:function(){var a=this.entities;return a.literal()||a.variable()||a.url()||a.call()||a.keyword()||a.javascript()||this.comment()},end:function(){return k(";")||q("}")},alpha:function(){var a;if(j(/^\(opacity=/i))return a=j(/^\d+/)||this.entities.variable(),a?(n(")"),new x.Alpha(a)):void 0},element:function(){var b,c,g,h=y;return c=this.combinator(),b=j(/^(?:\d+\.\d+|\d+)%/)||j(/^(?:[.#]?|:*)(?:[\w-]|[^\x00-\x9f]|\\(?:[A-Fa-f0-9]{1,6} ?|[^A-Fa-f0-9]))+/)||k("*")||k("&")||this.attribute()||j(/^\([^()@]+\)/)||j(/^[\.#](?=@)/)||this.entities.variableCurly(),b||(d(),k("(")?(g=this.selector())&&k(")")?(b=new x.Paren(g),f()):e():f()),b?new x.Element(c,b,h,a.currentFileInfo):void 0},combinator:function(){var a=v.charAt(y);if(">"===a||"+"===a||"~"===a||"|"===a||"^"===a){for(y++,"^"===v.charAt(y)&&(a="^^",y++);h(v,y);)y++;return new x.Combinator(a)}return new x.Combinator(h(v,y-1)?" ":null)},lessSelector:function(){return this.selector(!0)},selector:function(b){for(var c,d,e,f,g,h,i,j=y,k=J;(b&&(g=this.extend())||b&&(h=k(/^when/))||(f=this.element()))&&(h?i=m(this.conditions,"expected condition"):i?o("CSS guard can only be used at the end of selector"):g?d?d.push(g):d=[g]:(d&&o("Extend can only be used at the end of selector"),e=v.charAt(y),c?c.push(f):c=[f],f=null),"{"!==e&&"}"!==e&&";"!==e&&","!==e&&")"!==e););return c?new x.Selector(c,d,i,j,a.currentFileInfo):void(d&&o("Extend must be used to extend a selector, it cannot be used on its own"))},attribute:function(){if(k("[")){var a,b,c,d=this.entities;return(a=d.variableCurly())||(a=m(/^(?:[_A-Za-z0-9-\*]*\|)?(?:[_A-Za-z0-9-]|\\.)+/)),c=j(/^[|~*$^]?=/),c&&(b=d.quoted()||j(/^[0-9]+%/)||j(/^[\w-]+/)||d.variableCurly()),n("]"),new x.Attribute(a,c,b)}},block:function(){var a;return k("{")&&(a=this.primary())&&k("}")?a:void 0},blockRuleset:function(){var a=this.block();return a&&(a=new x.Ruleset(null,a)),a},detachedRuleset:function(){var a=this.blockRuleset();return a?new x.DetachedRuleset(a):void 0},ruleset:function(){var b,c,g,h;for(d(),a.dumpLineNumbers&&(h=t(y,v,a));;){if(c=this.lessSelector(),!c)break;if(b?b.push(c):b=[c],this.comments(),c.condition&&b.length>1&&o("Guards are only currently allowed on a single selector."),!k(","))break;c.condition&&o("Guards are only currently allowed on a single selector."),this.comments()}if(b&&(g=this.block())){f();var i=new x.Ruleset(b,g,a.strictImports);return a.dumpLineNumbers&&(i.debugInfo=h),i}A=y,e()},rule:function(b){var c,g,h,i,j,k=y,l=v.charAt(k);if("."!==l&&"#"!==l&&"&"!==l)if(d(),c=this.variable()||this.ruleProperty()){if(j="string"==typeof c,j&&(g=this.detachedRuleset()),g||(g=b||!a.compress&&!j?this.anonymousValue()||this.value():this.value()||this.anonymousValue(),h=this.important(),i=!j&&c.pop().value),g&&this.end())return f(),new x.Rule(c,g,h,i,k,a.currentFileInfo);if(A=y,e(),g&&!b)return this.rule(!0)}else f()},anonymousValue:function(){var a;return a=/^([^@+\/'"*`(;{}-]*);/.exec(C),a?(y+=a[0].length-1,new x.Anonymous(a[1])):void 0},"import":function(){var b,c,g=y;d();var h=j(/^@import?\s+/),i=(h?this.importOptions():null)||{};return h&&(b=this.entities.quoted()||this.entities.url())&&(c=this.mediaFeatures(),k(";"))?(f(),c=c&&new x.Value(c),new x.Import(b,c,i,g,a.currentFileInfo)):void e()},importOptions:function(){var a,b,c,d={};if(!k("("))return null;do if(a=this.importOption()){switch(b=a,c=!0,b){case"css":b="less",c=!1;break;case"once":b="multiple",c=!1}if(d[b]=c,!k(","))break}while(a);return n(")"),d},importOption:function(){var a=j(/^(less|css|multiple|once|inline|reference)/);return a?a[1]:void 0},mediaFeature:function(){var b,c,d=this.entities,e=[];do if(b=d.keyword()||d.variable())e.push(b);else if(k("(")){if(c=this.property(),b=this.value(),!k(")"))return null;if(c&&b)e.push(new x.Paren(new x.Rule(c,b,null,null,y,a.currentFileInfo,!0)));else{if(!b)return null;e.push(new x.Paren(b))}}while(b);return e.length>0?new x.Expression(e):void 0},mediaFeatures:function(){var a,b=this.entities,c=[];do if(a=this.mediaFeature()){if(c.push(a),!k(","))break}else if(a=b.variable(),a&&(c.push(a),!k(",")))break;while(a);return c.length>0?c:null},media:function(){var b,c,d,e;return a.dumpLineNumbers&&(e=t(y,v,a)),j(/^@media/)&&(b=this.mediaFeatures(),c=this.block())?(d=new x.Media(c,b,y,a.currentFileInfo),a.dumpLineNumbers&&(d.debugInfo=e),d):void 0},directive:function(){var b,c,g,h,i,l,m,n=y,p=!0;if("@"===v.charAt(y)){if(c=this["import"]()||this.media())return c;if(d(),b=j(/^@[a-z-]+/)){switch(h=b,"-"==b.charAt(1)&&b.indexOf("-",2)>0&&(h="@"+b.slice(b.indexOf("-",2)+1)),h){case"@charset":i=!0,p=!1;break;case"@namespace":l=!0,p=!1;break;case"@keyframes":i=!0;break;case"@host":case"@page":case"@document":case"@supports":m=!0}return i?(c=this.entity(),c||o("expected "+b+" identifier")):l?(c=this.expression(),c||o("expected "+b+" expression")):m&&(c=(j(/^[^{;]+/)||"").trim(),c&&(c=new x.Anonymous(c))),p&&(g=this.blockRuleset()),g||!p&&c&&k(";")?(f(),new x.Directive(b,c,g,n,a.currentFileInfo,a.dumpLineNumbers?t(n,v,a):null)):void e()}}},value:function(){var a,b=[];do if(a=this.expression(),a&&(b.push(a),!k(",")))break;while(a);return b.length>0?new x.Value(b):void 0},important:function(){return"!"===v.charAt(y)?j(/^! *important/):void 0},sub:function(){var a,b;return k("(")&&(a=this.addition())?(b=new x.Expression([a]),n(")"),b.parens=!0,b):void 0},multiplication:function(){var a,b,c,d,e;if(a=this.operand()){for(e=h(v,y-1);;){if(p(/^\/[*\/]/))break;if(c=k("/")||k("*"),!c)break;if(b=this.operand(),!b)break;a.parensInOp=!0,b.parensInOp=!0,d=new x.Operation(c,[d||a,b],e),e=h(v,y-1)}return d||a}},addition:function(){var a,b,c,d,e;if(a=this.multiplication()){for(e=h(v,y-1);;){if(c=j(/^[-+]\s+/)||!e&&(k("+")||k("-")),!c)break;if(b=this.multiplication(),!b)break;a.parensInOp=!0,b.parensInOp=!0,d=new x.Operation(c,[d||a,b],e),e=h(v,y-1)}return d||a}},conditions:function(){var a,b,c,d=y;if(a=this.condition()){for(;;){if(!p(/^,\s*(not\s*)?\(/)||!k(","))break;if(b=this.condition(),!b)break;c=new x.Condition("or",c||a,b,d)}return c||a}},condition:function(){var a,b,c,d,e=this.entities,f=y,g=!1;return j(/^not/)&&(g=!0),n("("),a=this.addition()||e.keyword()||e.quoted(),a?(d=j(/^(?:>=|<=|=<|[<=>])/),d?(b=this.addition()||e.keyword()||e.quoted(),b?c=new x.Condition(d,a,b,f,g):o("expected expression")):c=new x.Condition("=",a,new x.Keyword("true"),f,g),n(")"),j(/^and/)?new x.Condition("and",c,this.condition()):c):void 0},operand:function(){var a,b=this.entities,c=v.charAt(y+1);"-"!==v.charAt(y)||"@"!==c&&"("!==c||(a=k("-"));var d=this.sub()||b.dimension()||b.color()||b.variable()||b.call();return a&&(d.parensInOp=!0,d=new x.Negative(d)),d},expression:function(){var a,b,c=[];do a=this.addition()||this.entity(),a&&(c.push(a),p(/^\/[\/*]/)||(b=k("/"),b&&c.push(new x.Anonymous(b))));while(a);return c.length>0?new x.Expression(c):void 0},property:function(){var a=j(/^(\*?-?[_a-zA-Z0-9-]+)\s*:/);return a?a[1]:void 0},ruleProperty:function(){function b(a){var b=a.exec(e);return b?(g.push(y+h),h+=b[0].length,e=e.slice(b[1].length),f.push(b[1])):void 0}var c,d,e=C,f=[],g=[],h=0;for(b(/^(\*?)/);b(/^((?:[\w-]+)|(?:@\{[\w-]+\}))/););if(f.length>1&&b(/^\s*((?:\+_|\+)?)\s*:/)){for(l(h),""===f[0]&&(f.shift(),g.shift()),d=0;dl;l++)e=b.rgb[l]/255,f=c.rgb[l]/255,h=a(e,f),g&&(h=(j*f+i*(e-j*(e+f-h)))/g),k[l]=255*h;return new d.Color(k,g)}function g(){var a,b=d.functions;for(a in l)l.hasOwnProperty(a)&&(b[a]=e.bind(null,Math[a],l[a]));for(a in m)m.hasOwnProperty(a)&&(b[a]=f.bind(null,m[a]));a=d.defaultFunc,b["default"]=a.eval.bind(a)}function h(a){return d.functions.hsla(a.h,a.s,a.l,a.a)}function i(a,b){return a instanceof d.Dimension&&a.unit.is("%")?parseFloat(a.value*b/100):j(a)}function j(a){if(a instanceof d.Dimension)return parseFloat(a.unit.is("%")?a.value/100:a.value);if("number"==typeof a)return a;throw{error:"RuntimeError",message:"color functions take numbers as parameters"}}function k(a){return Math.min(1,Math.max(0,a))}d.functions={rgb:function(a,b,c){return this.rgba(a,b,c,1)},rgba:function(a,b,c,e){var f=[a,b,c].map(function(a){return i(a,255)});return e=j(e),new d.Color(f,e)},hsl:function(a,b,c){return this.hsla(a,b,c,1)},hsla:function(a,b,c,d){function e(a){return a=0>a?a+1:a>1?a-1:a,1>6*a?g+(f-g)*a*6:1>2*a?f:2>3*a?g+(f-g)*(2/3-a)*6:g}a=j(a)%360/360,b=k(j(b)),c=k(j(c)),d=k(j(d));var f=.5>=c?c*(b+1):c+b-c*b,g=2*c-f;return this.rgba(255*e(a+1/3),255*e(a),255*e(a-1/3),d)},hsv:function(a,b,c){return this.hsva(a,b,c,1)},hsva:function(a,b,c,d){a=j(a)%360/360*360,b=j(b),c=j(c),d=j(d);var e,f;e=Math.floor(a/60%6),f=a/60-e;var g=[c,c*(1-b),c*(1-f*b),c*(1-(1-f)*b)],h=[[0,3,1],[2,0,1],[1,0,3],[1,2,0],[3,1,0],[0,1,2]];return this.rgba(255*g[h[e][0]],255*g[h[e][1]],255*g[h[e][2]],d)},hue:function(a){return new d.Dimension(Math.round(a.toHSL().h))},saturation:function(a){return new d.Dimension(Math.round(100*a.toHSL().s),"%")},lightness:function(a){return new d.Dimension(Math.round(100*a.toHSL().l),"%")},hsvhue:function(a){return new d.Dimension(Math.round(a.toHSV().h))},hsvsaturation:function(a){return new d.Dimension(Math.round(100*a.toHSV().s),"%")},hsvvalue:function(a){return new d.Dimension(Math.round(100*a.toHSV().v),"%")},red:function(a){return new d.Dimension(a.rgb[0])},green:function(a){return new d.Dimension(a.rgb[1])},blue:function(a){return new d.Dimension(a.rgb[2])},alpha:function(a){return new d.Dimension(a.toHSL().a)},luma:function(a){return new d.Dimension(Math.round(a.luma()*a.alpha*100),"%")},luminance:function(a){var b=.2126*a.rgb[0]/255+.7152*a.rgb[1]/255+.0722*a.rgb[2]/255;return new d.Dimension(Math.round(b*a.alpha*100),"%")},saturate:function(a,b){if(!a.rgb)return null;var c=a.toHSL();return c.s+=b.value/100,c.s=k(c.s),h(c)},desaturate:function(a,b){var c=a.toHSL();return c.s-=b.value/100,c.s=k(c.s),h(c)},lighten:function(a,b){var c=a.toHSL();return c.l+=b.value/100,c.l=k(c.l),h(c)},darken:function(a,b){var c=a.toHSL();return c.l-=b.value/100,c.l=k(c.l),h(c)},fadein:function(a,b){var c=a.toHSL();return c.a+=b.value/100,c.a=k(c.a),h(c)},fadeout:function(a,b){var c=a.toHSL();return c.a-=b.value/100,c.a=k(c.a),h(c)},fade:function(a,b){var c=a.toHSL();return c.a=b.value/100,c.a=k(c.a),h(c)},spin:function(a,b){var c=a.toHSL(),d=(c.h+b.value)%360;return c.h=0>d?360+d:d,h(c)},mix:function(a,b,c){c||(c=new d.Dimension(50));var e=c.value/100,f=2*e-1,g=a.toHSL().a-b.toHSL().a,h=((f*g==-1?f:(f+g)/(1+f*g))+1)/2,i=1-h,j=[a.rgb[0]*h+b.rgb[0]*i,a.rgb[1]*h+b.rgb[1]*i,a.rgb[2]*h+b.rgb[2]*i],k=a.alpha*e+b.alpha*(1-e);return new d.Color(j,k)},greyscale:function(a){return this.desaturate(a,new d.Dimension(100))},contrast:function(a,b,c,d){if(!a.rgb)return null;if("undefined"==typeof c&&(c=this.rgba(255,255,255,1)),"undefined"==typeof b&&(b=this.rgba(0,0,0,1)),b.luma()>c.luma()){var e=c;c=b,b=e}return d="undefined"==typeof d?.43:j(d),a.luma()i.value)&&(m[f]=g);else{if(k!==b&&j!==k)throw{type:"Argument",message:"incompatible types"};n[j]=m.length,m.push(g)}else Array.isArray(c[e].value)&&Array.prototype.push.apply(c,Array.prototype.slice.call(c[e].value));return 1==m.length?m[0]:(c=m.map(function(a){return a.toCSS(this.env)}).join(this.env.compress?",":", "),new d.Anonymous((a?"min":"max")+"("+c+")"))},min:function(){return this._minmax(!0,arguments)},max:function(){return this._minmax(!1,arguments)},"get-unit":function(a){return new d.Anonymous(a.unit)},argb:function(a){return new d.Anonymous(a.toARGB())},percentage:function(a){return new d.Dimension(100*a.value,"%")},color:function(a){if(a instanceof d.Quoted){var b,c=a.value;if(b=d.Color.fromKeyword(c))return b;if(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})/.test(c))return new d.Color(c.slice(1));throw{type:"Argument",message:"argument must be a color keyword or 3/6 digit hex e.g. #FFF"}}throw{type:"Argument",message:"argument must be a string"}},iscolor:function(a){return this._isa(a,d.Color)},isnumber:function(a){return this._isa(a,d.Dimension)},isstring:function(a){return this._isa(a,d.Quoted)},iskeyword:function(a){return this._isa(a,d.Keyword)},isurl:function(a){return this._isa(a,d.URL)},ispixel:function(a){return this.isunit(a,"px")},ispercentage:function(a){return this.isunit(a,"%")},isem:function(a){return this.isunit(a,"em")},isunit:function(a,b){return a instanceof d.Dimension&&a.unit.is(b.value||b)?d.True:d.False},_isa:function(a,b){return a instanceof b?d.True:d.False},tint:function(a,b){return this.mix(this.rgb(255,255,255),a,b)},shade:function(a,b){return this.mix(this.rgb(0,0,0),a,b)},extract:function(a,b){return b=b.value-1,Array.isArray(a.value)?a.value[b]:Array(a)[b]},length:function(a){var b=Array.isArray(a.value)?a.value.length:1;return new d.Dimension(b)},"data-uri":function(b,e){if("undefined"!=typeof a)return new d.URL(e||b,this.currentFileInfo).eval(this.env);var f=b.value,g=e&&e.value,h=c("fs"),i=c("path"),j=!1;if(arguments.length<2&&(g=f),this.env.isPathRelative(g)&&(g=this.currentFileInfo.relativeUrls?i.join(this.currentFileInfo.currentDirectory,g):i.join(this.currentFileInfo.entryPath,g)),arguments.length<2){var k;try{k=c("mime")}catch(l){k=d._mime}f=k.lookup(g);var m=k.charsets.lookup(f);j=["US-ASCII","UTF-8"].indexOf(m)<0,j&&(f+=";base64")}else j=/;base64$/.test(f);var n=h.readFileSync(g),o=32,p=parseInt(n.length/1024,10);if(p>=o&&this.env.ieCompat!==!1)return this.env.silent||console.warn("Skipped data-uri embedding of %s because its size (%dKB) exceeds IE8-safe %dKB!",g,p,o),new d.URL(e||b,this.currentFileInfo).eval(this.env);n=j?n.toString("base64"):encodeURIComponent(n);var q='"data:'+f+","+n+'"';return new d.URL(new d.Anonymous(q))},"svg-gradient":function(a){function e(){throw{type:"Argument",message:"svg-gradient expects direction, start_color [start_position], [color position,]..., end_color [end_position]"}}arguments.length<3&&e();var f,g,h,i,j,k,l,m=Array.prototype.slice.call(arguments,1),n="linear",o='x="0" y="0" width="1" height="1"',p=!0,q={compress:!1},r=a.toCSS(q);switch(r){case"to bottom":f='x1="0%" y1="0%" x2="0%" y2="100%"';break;case"to right":f='x1="0%" y1="0%" x2="100%" y2="0%"';break;case"to bottom right":f='x1="0%" y1="0%" x2="100%" y2="100%"';break;case"to top right":f='x1="0%" y1="100%" x2="100%" y2="0%"';break;case"ellipse":case"ellipse at center":n="radial",f='cx="50%" cy="50%" r="75%"',o='x="-50" y="-50" width="101" height="101"';break;default:throw{type:"Argument",message:"svg-gradient direction must be 'to bottom', 'to right', 'to bottom right', 'to top right' or 'ellipse at center'"}}for(g='<'+n+'Gradient id="gradient" gradientUnits="userSpaceOnUse" '+f+">",h=0;hl?' stop-opacity="'+l+'"':"")+"/>";if(g+="',p)try{g=c("./encoder").encodeBase64(g)}catch(s){p=!1}return g="'data:image/svg+xml"+(p?";base64":"")+","+g+"'",new d.URL(new d.Anonymous(g))}},d._mime={_types:{".htm":"text/html",".html":"text/html",".gif":"image/gif",".jpg":"image/jpeg",".jpeg":"image/jpeg",".png":"image/png"},lookup:function(a){var e=c("path").extname(a),f=d._mime._types[e];if(f===b)throw new Error('Optional dependency "mime" is required for '+e);return f},charsets:{lookup:function(a){return a&&/^text\//.test(a)?"UTF-8":""}}};var l={ceil:null,floor:null,sqrt:null,abs:null,tan:"",sin:"",cos:"",atan:"rad",asin:"rad",acos:"rad"},m={multiply:function(a,b){return a*b},screen:function(a,b){return a+b-a*b},overlay:function(a,b){return a*=2,1>=a?m.multiply(a,b):m.screen(a-1,b)},softlight:function(a,b){var c=1,d=a;return b>.5&&(d=1,c=a>.25?Math.sqrt(a):((16*a-12)*a+4)*a),a-(1-2*b)*d*(c-a)},hardlight:function(a,b){return m.overlay(b,a)},difference:function(a,b){return Math.abs(a-b)},exclusion:function(a,b){return a+b-2*a*b},average:function(a,b){return(a+b)/2},negation:function(a,b){return 1-Math.abs(a+b-1)}};d.defaultFunc={eval:function(){var a=this.value_,b=this.error_;if(b)throw b;return null!=a?a?d.True:d.False:void 0},value:function(a){this.value_=a},error:function(a){this.error_=a},reset:function(){this.value_=this.error_=null}},g(),d.fround=function(a,b){var c;return a&&null!=a.numPrecision?(c=Math.pow(10,a.numPrecision),Math.round(b*c)/c):b},d.functionCall=function(a,b){this.env=a,this.currentFileInfo=b},d.functionCall.prototype=d.functions}(c("./tree")),function(a){a.colors={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgrey:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",grey:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"}}(c("./tree")),function(a){a.debugInfo=function(b,c,d){var e="";if(b.dumpLineNumbers&&!b.compress)switch(b.dumpLineNumbers){case"comments":e=a.debugInfo.asComment(c);break;case"mediaquery":e=a.debugInfo.asMediaQuery(c);break;case"all":e=a.debugInfo.asComment(c)+(d||"")+a.debugInfo.asMediaQuery(c)}return e},a.debugInfo.asComment=function(a){return"/* line "+a.debugInfo.lineNumber+", "+a.debugInfo.fileName+" */\n"},a.debugInfo.asMediaQuery=function(a){return"@media -sass-debug-info{filename{font-family:"+("file://"+a.debugInfo.fileName).replace(/([.:\/\\])/g,function(a){return"\\"==a&&(a="/"),"\\"+a})+"}line{font-family:\\00003"+a.debugInfo.lineNumber+"}}\n"},a.find=function(a,b){for(var c,d=0;d1?"["+a.value.map(function(a){return a.toCSS(!1)}).join(", ")+"]":a.toCSS(!1)},a.toCSS=function(a){var b=[];return this.genCSS(a,{add:function(a){b.push(a)},isEmpty:function(){return 0===b.length}}),b.join("")},a.outputRuleset=function(a,b,c){var d,e=c.length;if(a.tabLevel=(0|a.tabLevel)+1,a.compress){for(b.add("{"),d=0;e>d;d++)c[d].genCSS(a,b);return b.add("}"),void a.tabLevel--}var f="\n"+Array(a.tabLevel).join(" "),g=f+" ";if(e){for(b.add(" {"+g),c[0].genCSS(a,b),d=1;e>d;d++)b.add(g),c[d].genCSS(a,b);b.add(f+"}")}else b.add(" {"+f+"}");a.tabLevel--}}(c("./tree")),function(a){a.Alpha=function(a){this.value=a},a.Alpha.prototype={type:"Alpha",accept:function(a){this.value=a.visit(this.value)},eval:function(b){return this.value.eval?new a.Alpha(this.value.eval(b)):this},genCSS:function(a,b){b.add("alpha(opacity="),this.value.genCSS?this.value.genCSS(a,b):b.add(this.value),b.add(")")},toCSS:a.toCSS}}(c("../tree")),function(a){a.Anonymous=function(a,b,c,d){this.value=a.value||a,this.index=b,this.mapLines=d,this.currentFileInfo=c},a.Anonymous.prototype={type:"Anonymous",eval:function(){return new a.Anonymous(this.value,this.index,this.currentFileInfo,this.mapLines)},compare:function(a){if(!a.toCSS)return-1;var b=this.toCSS(),c=a.toCSS();return b===c?0:c>b?-1:1},genCSS:function(a,b){b.add(this.value,this.currentFileInfo,this.index,this.mapLines)},toCSS:a.toCSS}}(c("../tree")),function(a){a.Assignment=function(a,b){this.key=a,this.value=b},a.Assignment.prototype={type:"Assignment",accept:function(a){this.value=a.visit(this.value)},eval:function(b){return this.value.eval?new a.Assignment(this.key,this.value.eval(b)):this},genCSS:function(a,b){b.add(this.key+"="),this.value.genCSS?this.value.genCSS(a,b):b.add(this.value)},toCSS:a.toCSS}}(c("../tree")),function(a){a.Call=function(a,b,c,d){this.name=a,this.args=b,this.index=c,this.currentFileInfo=d},a.Call.prototype={type:"Call",accept:function(a){this.args&&(this.args=a.visitArray(this.args))},eval:function(b){var c,d,e=this.args.map(function(a){return a.eval(b)}),f=this.name.toLowerCase();if(f in a.functions)try{if(d=new a.functionCall(b,this.currentFileInfo),c=d[f].apply(d,e),null!=c)return c}catch(g){throw{type:g.type||"Runtime",message:"error evaluating function `"+this.name+"`"+(g.message?": "+g.message:""),index:this.index,filename:this.currentFileInfo.filename}}return new a.Call(this.name,e,this.index,this.currentFileInfo)},genCSS:function(a,b){b.add(this.name+"(",this.currentFileInfo,this.index);for(var c=0;ca?"0":"")+a.toString(16)}).join("")}function c(a,b){return Math.min(Math.max(a,0),b)}a.Color=function(a,b){this.rgb=Array.isArray(a)?a:6==a.length?a.match(/.{2}/g).map(function(a){return parseInt(a,16)}):a.split("").map(function(a){return parseInt(a+a,16)}),this.alpha="number"==typeof b?b:1};var d="transparent";a.Color.prototype={type:"Color",eval:function(){return this},luma:function(){var a=this.rgb[0]/255,b=this.rgb[1]/255,c=this.rgb[2]/255;return a=.03928>=a?a/12.92:Math.pow((a+.055)/1.055,2.4),b=.03928>=b?b/12.92:Math.pow((b+.055)/1.055,2.4),c=.03928>=c?c/12.92:Math.pow((c+.055)/1.055,2.4),.2126*a+.7152*b+.0722*c},genCSS:function(a,b){b.add(this.toCSS(a))},toCSS:function(b,e){var f=b&&b.compress&&!e,g=a.fround(b,this.alpha);if(1>g)return 0===g&&this.isTransparentKeyword?d:"rgba("+this.rgb.map(function(a){return c(Math.round(a),255)}).concat(c(g,1)).join(","+(f?"":" "))+")";var h=this.toRGB();if(f){var i=h.split("");i[1]===i[2]&&i[3]===i[4]&&i[5]===i[6]&&(h="#"+i[1]+i[3]+i[5])}return h},operate:function(b,c,d){for(var e=[],f=this.alpha*(1-d.alpha)+d.alpha,g=0;3>g;g++)e[g]=a.operate(b,c,this.rgb[g],d.rgb[g]);return new a.Color(e,f)},toRGB:function(){return b(this.rgb)},toHSL:function(){var a,b,c=this.rgb[0]/255,d=this.rgb[1]/255,e=this.rgb[2]/255,f=this.alpha,g=Math.max(c,d,e),h=Math.min(c,d,e),i=(g+h)/2,j=g-h;if(g===h)a=b=0;else{switch(b=i>.5?j/(2-g-h):j/(g+h),g){case c:a=(d-e)/j+(e>d?6:0);break;case d:a=(e-c)/j+2;break;case e:a=(c-d)/j+4}a/=6}return{h:360*a,s:b,l:i,a:f}},toHSV:function(){var a,b,c=this.rgb[0]/255,d=this.rgb[1]/255,e=this.rgb[2]/255,f=this.alpha,g=Math.max(c,d,e),h=Math.min(c,d,e),i=g,j=g-h;if(b=0===g?0:j/g,g===h)a=0;else{switch(g){case c:a=(d-e)/j+(e>d?6:0);break;case d:a=(e-c)/j+2;break;case e:a=(c-d)/j+4}a/=6}return{h:360*a,s:b,v:i,a:f}},toARGB:function(){return b([255*this.alpha].concat(this.rgb))},compare:function(a){return a.rgb?a.rgb[0]===this.rgb[0]&&a.rgb[1]===this.rgb[1]&&a.rgb[2]===this.rgb[2]&&a.alpha===this.alpha?0:-1:-1}},a.Color.fromKeyword=function(b){if(b=b.toLowerCase(),a.colors.hasOwnProperty(b))return new a.Color(a.colors[b].slice(1));if(b===d){var c=new a.Color([0,0,0],0);return c.isTransparentKeyword=!0,c}}}(c("../tree")),function(a){a.Comment=function(a,b,c,d){this.value=a,this.silent=!!b,this.currentFileInfo=d},a.Comment.prototype={type:"Comment",genCSS:function(b,c){this.debugInfo&&c.add(a.debugInfo(b,this),this.currentFileInfo,this.index),c.add(this.value.trim())},toCSS:a.toCSS,isSilent:function(a){var b=this.currentFileInfo&&this.currentFileInfo.reference&&!this.isReferenced,c=a.compress&&!this.value.match(/^\/\*!/);return this.silent||b||c},eval:function(){return this},markReferenced:function(){this.isReferenced=!0}}}(c("../tree")),function(a){a.Condition=function(a,b,c,d,e){this.op=a.trim(),this.lvalue=b,this.rvalue=c,this.index=d,this.negate=e},a.Condition.prototype={type:"Condition",accept:function(a){this.lvalue=a.visit(this.lvalue),this.rvalue=a.visit(this.rvalue)},eval:function(a){var b,c=this.lvalue.eval(a),d=this.rvalue.eval(a),e=this.index;return b=function(a){switch(a){case"and":return c&&d;case"or":return c||d;default:if(c.compare)b=c.compare(d);else{if(!d.compare)throw{type:"Type",message:"Unable to perform comparison",index:e};b=d.compare(c)}switch(b){case-1:return"<"===a||"=<"===a||"<="===a;case 0:return"="===a||">="===a||"=<"===a||"<="===a;case 1:return">"===a||">="===a}}}(this.op),this.negate?!b:b}}}(c("../tree")),function(a){a.DetachedRuleset=function(a,b){this.ruleset=a,this.frames=b},a.DetachedRuleset.prototype={type:"DetachedRuleset",accept:function(a){this.ruleset=a.visit(this.ruleset)},eval:function(b){var c=this.frames||b.frames.slice(0);return new a.DetachedRuleset(this.ruleset,c)},callEval:function(b){return this.ruleset.eval(this.frames?new a.evalEnv(b,this.frames.concat(b.frames)):b)}}}(c("../tree")),function(a){a.Dimension=function(c,d){this.value=parseFloat(c),this.unit=d&&d instanceof a.Unit?d:new a.Unit(d?[d]:b)},a.Dimension.prototype={type:"Dimension",accept:function(a){this.unit=a.visit(this.unit)},eval:function(){return this},toColor:function(){return new a.Color([this.value,this.value,this.value])},genCSS:function(b,c){if(b&&b.strictUnits&&!this.unit.isSingular())throw new Error("Multiple units in dimension. Correct the units or use the unit function. Bad unit: "+this.unit.toString());var d=a.fround(b,this.value),e=String(d);if(0!==d&&1e-6>d&&d>-1e-6&&(e=d.toFixed(20).replace(/0+$/,"")),b&&b.compress){if(0===d&&this.unit.isLength())return void c.add(e);d>0&&1>d&&(e=e.substr(1))}c.add(e),this.unit.genCSS(b,c)},toCSS:a.toCSS,operate:function(b,c,d){var e=a.operate(b,c,this.value,d.value),f=this.unit.clone();if("+"===c||"-"===c)if(0===f.numerator.length&&0===f.denominator.length)f.numerator=d.unit.numerator.slice(0),f.denominator=d.unit.denominator.slice(0);else if(0===d.unit.numerator.length&&0===f.denominator.length);else{if(d=d.convertTo(this.unit.usedUnits()),b.strictUnits&&d.unit.toString()!==f.toString())throw new Error("Incompatible units. Change the units or use the unit function. Bad units: '"+f.toString()+"' and '"+d.unit.toString()+"'.");e=a.operate(b,c,this.value,d.value)}else"*"===c?(f.numerator=f.numerator.concat(d.unit.numerator).sort(),f.denominator=f.denominator.concat(d.unit.denominator).sort(),f.cancel()):"/"===c&&(f.numerator=f.numerator.concat(d.unit.denominator).sort(),f.denominator=f.denominator.concat(d.unit.numerator).sort(),f.cancel());return new a.Dimension(e,f)},compare:function(b){if(b instanceof a.Dimension){var c,d,e,f;if(this.unit.isEmpty()||b.unit.isEmpty())c=this,d=b;else if(c=this.unify(),d=b.unify(),0!==c.unit.compare(d.unit))return-1;return e=c.value,f=d.value,f>e?-1:e>f?1:0}return-1},unify:function(){return this.convertTo({length:"px",duration:"s",angle:"rad"})},convertTo:function(b){var c,d,e,f,g,h=this.value,i=this.unit.clone(),j={};if("string"==typeof b){for(c in a.UnitConversions)a.UnitConversions[c].hasOwnProperty(b)&&(j={},j[c]=b);b=j}g=function(a,b){return e.hasOwnProperty(a)?(b?h/=e[a]/e[f]:h*=e[a]/e[f],f):a};for(d in b)b.hasOwnProperty(d)&&(f=b[d],e=a.UnitConversions[d],i.map(g));return i.cancel(),new a.Dimension(h,i)}},a.UnitConversions={length:{m:1,cm:.01,mm:.001,"in":.0254,px:.0254/96,pt:.0254/72,pc:.0254/72*12},duration:{s:1,ms:.001},angle:{rad:1/(2*Math.PI),deg:1/360,grad:.0025,turn:1}},a.Unit=function(a,b,c){this.numerator=a?a.slice(0).sort():[],this.denominator=b?b.slice(0).sort():[],this.backupUnit=c},a.Unit.prototype={type:"Unit",clone:function(){return new a.Unit(this.numerator.slice(0),this.denominator.slice(0),this.backupUnit)},genCSS:function(a,b){this.numerator.length>=1?b.add(this.numerator[0]):this.denominator.length>=1?b.add(this.denominator[0]):a&&a.strictUnits||!this.backupUnit||b.add(this.backupUnit)},toCSS:a.toCSS,toString:function(){var a,b=this.numerator.join("*");for(a=0;a0)for(b=0;e>b;b++)this.numerator.push(a);else if(0>e)for(b=0;-e>b;b++)this.denominator.push(a)}0===this.numerator.length&&0===this.denominator.length&&c&&(this.backupUnit=c),this.numerator.sort(),this.denominator.sort()}}}(c("../tree")),function(a){a.Directive=function(a,b,c,d,e,f){this.name=a,this.value=b,c&&(this.rules=c,this.rules.allowImports=!0),this.index=d,this.currentFileInfo=e,this.debugInfo=f},a.Directive.prototype={type:"Directive",accept:function(a){var b=this.value,c=this.rules;c&&(c=a.visit(c)),b&&(b=a.visit(b))},genCSS:function(b,c){var d=this.value,e=this.rules;c.add(this.name,this.currentFileInfo,this.index),d&&(c.add(" "),d.genCSS(b,c)),e?a.outputRuleset(b,c,[e]):c.add(";")},toCSS:a.toCSS,eval:function(b){var c=this.value,d=this.rules;return c&&(c=c.eval(b)),d&&(d=d.eval(b),d.root=!0),new a.Directive(this.name,c,d,this.index,this.currentFileInfo,this.debugInfo)},variable:function(b){return this.rules?a.Ruleset.prototype.variable.call(this.rules,b):void 0},find:function(){return this.rules?a.Ruleset.prototype.find.apply(this.rules,arguments):void 0},rulesets:function(){return this.rules?a.Ruleset.prototype.rulesets.apply(this.rules):void 0},markReferenced:function(){var a,b;if(this.isReferenced=!0,this.rules)for(b=this.rules.rules,a=0;a":" > ","|":"|","^":" ^ ","^^":" ^^ "},_outputMapCompressed:{"":""," ":" ",":":" :","+":"+","~":"~",">":">","|":"|","^":"^","^^":"^^"},genCSS:function(a,b){b.add((a.compress?this._outputMapCompressed:this._outputMap)[this.value])},toCSS:a.toCSS}}(c("../tree")),function(a){a.Expression=function(a){this.value=a},a.Expression.prototype={type:"Expression",accept:function(a){this.value&&(this.value=a.visitArray(this.value))},eval:function(b){var c,d=this.parens&&!this.parensInOp,e=!1;return d&&b.inParenthesis(),this.value.length>1?c=new a.Expression(this.value.map(function(a){return a.eval(b)})):1===this.value.length?(this.value[0].parens&&!this.value[0].parensInOp&&(e=!0),c=this.value[0].eval(b)):c=this,d&&b.outOfParenthesis(),this.parens&&this.parensInOp&&!b.isMathOn()&&!e&&(c=new a.Paren(c)),c},genCSS:function(a,b){for(var c=0;c0&&c.length&&""===c[0].combinator.value&&(c[0].combinator.value=" "),d=d.concat(a[b].elements);this.selfSelectors=[{elements:d}]}}}(c("../tree")),function(a){a.Import=function(a,c,d,e,f){if(this.options=d,this.index=e,this.path=a,this.features=c,this.currentFileInfo=f,this.options.less!==b||this.options.inline)this.css=!this.options.less||this.options.inline;else{var g=this.getPath();g&&/css([\?;].*)?$/.test(g)&&(this.css=!0)}},a.Import.prototype={type:"Import",accept:function(a){this.features&&(this.features=a.visit(this.features)),this.path=a.visit(this.path),!this.options.inline&&this.root&&(this.root=a.visit(this.root))},genCSS:function(a,b){this.css&&(b.add("@import ",this.currentFileInfo,this.index),this.path.genCSS(a,b),this.features&&(b.add(" "),this.features.genCSS(a,b)),b.add(";"))},toCSS:a.toCSS,getPath:function(){if(this.path instanceof a.Quoted){var c=this.path.value;return this.css!==b||/(\.[a-z]*$)|([\?;].*)$/.test(c)?c:c+".less"}return this.path instanceof a.URL?this.path.value.value:null},evalForImport:function(b){return new a.Import(this.path.eval(b),this.features,this.options,this.index,this.currentFileInfo)},evalPath:function(b){var c=this.path.eval(b),d=this.currentFileInfo&&this.currentFileInfo.rootpath;if(!(c instanceof a.URL)){if(d){var e=c.value;e&&b.isPathRelative(e)&&(c.value=d+e)}c.value=b.normalizePath(c.value)}return c},eval:function(b){var c,d=this.features&&this.features.eval(b);if(this.skip&&("function"==typeof this.skip&&(this.skip=this.skip()),this.skip))return[];if(this.options.inline){var e=new a.Anonymous(this.root,0,{filename:this.importedFilename},!0);return this.features?new a.Media([e],this.features.value):[e]}if(this.css){var f=new a.Import(this.evalPath(b),d,this.options,this.index);if(!f.css&&this.error)throw this.error;return f}return c=new a.Ruleset(null,this.root.rules.slice(0)),c.evalImports(b),this.features?new a.Media(c.rules,this.features.value):c.rules}}}(c("../tree")),function(a){a.JavaScript=function(a,b,c){this.escaped=c,this.expression=a,this.index=b},a.JavaScript.prototype={type:"JavaScript",eval:function(b){var c,d=this,e={},f=this.expression.replace(/@\{([\w-]+)\}/g,function(c,e){return a.jsify(new a.Variable("@"+e,d.index).eval(b))});try{f=new Function("return ("+f+")")}catch(g){throw{message:"JavaScript evaluation error: "+g.message+" from `"+f+"`",index:this.index}}var h=b.frames[0].variables();for(var i in h)h.hasOwnProperty(i)&&(e[i.slice(1)]={value:h[i].value,toJS:function(){return this.value.eval(b).toCSS()}});try{c=f.call(e)}catch(g){throw{message:"JavaScript evaluation error: '"+g.name+": "+g.message.replace(/["]/g,"'")+"'",index:this.index}}return"number"==typeof c?new a.Dimension(c):"string"==typeof c?new a.Quoted('"'+c+'"',c,this.escaped,this.index):new a.Anonymous(Array.isArray(c)?c.join(", "):c)}}}(c("../tree")),function(a){a.Keyword=function(a){this.value=a},a.Keyword.prototype={type:"Keyword",eval:function(){return this},genCSS:function(a,b){if("%"===this.value)throw{type:"Syntax",message:"Invalid % without number"};b.add(this.value)},toCSS:a.toCSS,compare:function(b){return b instanceof a.Keyword?b.value===this.value?0:1:-1}},a.True=new a.Keyword("true"),a.False=new a.Keyword("false")}(c("../tree")),function(a){a.Media=function(b,c,d,e){this.index=d,this.currentFileInfo=e;var f=this.emptySelectors();this.features=new a.Value(c),this.rules=[new a.Ruleset(f,b)],this.rules[0].allowImports=!0},a.Media.prototype={type:"Media",accept:function(a){this.features&&(this.features=a.visit(this.features)),this.rules&&(this.rules=a.visitArray(this.rules))},genCSS:function(b,c){c.add("@media ",this.currentFileInfo,this.index),this.features.genCSS(b,c),a.outputRuleset(b,c,this.rules)},toCSS:a.toCSS,eval:function(b){b.mediaBlocks||(b.mediaBlocks=[],b.mediaPath=[]);var c=new a.Media(null,[],this.index,this.currentFileInfo);this.debugInfo&&(this.rules[0].debugInfo=this.debugInfo,c.debugInfo=this.debugInfo);var d=!1;b.strictMath||(d=!0,b.strictMath=!0);try{c.features=this.features.eval(b)}finally{d&&(b.strictMath=!1)}return b.mediaPath.push(c),b.mediaBlocks.push(c),b.frames.unshift(this.rules[0]),c.rules=[this.rules[0].eval(b)],b.frames.shift(),b.mediaPath.pop(),0===b.mediaPath.length?c.evalTop(b):c.evalNested(b)},variable:function(b){return a.Ruleset.prototype.variable.call(this.rules[0],b)},find:function(){return a.Ruleset.prototype.find.apply(this.rules[0],arguments)},rulesets:function(){return a.Ruleset.prototype.rulesets.apply(this.rules[0])},emptySelectors:function(){var b=new a.Element("","&",this.index,this.currentFileInfo),c=[new a.Selector([b],null,null,this.index,this.currentFileInfo)];return c[0].mediaEmpty=!0,c},markReferenced:function(){var a,b=this.rules[0].rules;for(this.rules[0].markReferenced(),this.isReferenced=!0,a=0;a1){var d=this.emptySelectors();c=new a.Ruleset(d,b.mediaBlocks),c.multiMedia=!0}return delete b.mediaBlocks,delete b.mediaPath,c},evalNested:function(b){var c,d,e=b.mediaPath.concat([this]);for(c=0;c0;c--)b.splice(c,0,new a.Anonymous("and"));return new a.Expression(b)})),new a.Ruleset([],[])},permute:function(a){if(0===a.length)return[];if(1===a.length)return a[0];for(var b=[],c=this.permute(a.slice(1)),d=0;d0){for(j=!0,g=0;gh;h++)s.value(h),r[h]=d.matchCondition(e,b);(r[0]||r[1])&&(r[0]!=r[1]&&(l.group=r[1]?u:v),q.push(l))}else q.push(l);p=!0}}for(s.reset(),n=[0,0,0],g=0;g0)m=v;else if(m=u,n[u]+n[v]>1)throw{type:"Runtime",message:"Ambiguous use of `default()` found when matching for `"+this.format(e)+"`",index:this.index,filename:this.currentFileInfo.filename};for(g=0;gh;h++)if(g=d[h],k=g&&g.name){for(l=!1,i=0;ii;i++)f.push(d[i].value.eval(b));n.prependRule(new a.Rule(k,new a.Expression(f).eval(b)))}else{if(j=g&&g.value)j=j.eval(b);else{if(!o[h].value)throw{type:"Runtime",message:"wrong number of arguments for "+this.name+" ("+p+" for "+this.arity+")"};j=o[h].value.eval(c),n.resetCache()}n.prependRule(new a.Rule(k,j)),e[h]=j}if(o[h].variadic&&d)for(i=m;p>i;i++)e[i]=d[i].value.eval(b);m++}return n},eval:function(b){return new a.mixin.Definition(this.name,this.params,this.rules,this.condition,this.variadic,this.frames||b.frames.slice(0))},evalCall:function(b,c,d){var e,f,g=[],h=this.frames?this.frames.concat(b.frames):b.frames,i=this.evalParams(b,new a.evalEnv(b,h),c,g);return i.prependRule(new a.Rule("@arguments",new a.Expression(g).eval(b))),e=this.rules.slice(0),f=new a.Ruleset(null,e),f.originalRuleset=this,f=f.eval(new a.evalEnv(b,[this,i].concat(h))),d&&(f=this.parent.makeImportant.apply(f)),f},matchCondition:function(b,c){return this.condition&&!this.condition.eval(new a.evalEnv(c,[this.evalParams(c,new a.evalEnv(c,this.frames.concat(c.frames)),b,[])].concat(this.frames).concat(c.frames)))?!1:!0},matchArgs:function(a,b){var c,d=a&&a.length||0;if(this.variadic){if(dthis.params.length)return!1}c=Math.min(d,this.arity);for(var e=0;c>e;e++)if(!this.params[e].name&&!this.params[e].variadic&&a[e].value.eval(b).toCSS()!=this.params[e].value.eval(b).toCSS())return!1;return!0}}}(c("../tree")),function(a){a.Negative=function(a){this.value=a},a.Negative.prototype={type:"Negative",accept:function(a){this.value=a.visit(this.value)},genCSS:function(a,b){b.add("-"),this.value.genCSS(a,b)},toCSS:a.toCSS,eval:function(b){return b.isMathOn()?new a.Operation("*",[new a.Dimension(-1),this.value]).eval(b):new a.Negative(this.value.eval(b))}}}(c("../tree")),function(a){a.Operation=function(a,b,c){this.op=a.trim(),this.operands=b,this.isSpaced=c},a.Operation.prototype={type:"Operation",accept:function(a){this.operands=a.visit(this.operands)},eval:function(b){var c=this.operands[0].eval(b),d=this.operands[1].eval(b);if(b.isMathOn()){if(c instanceof a.Dimension&&d instanceof a.Color&&(c=c.toColor()),d instanceof a.Dimension&&c instanceof a.Color&&(d=d.toColor()),!c.operate)throw{type:"Operation",message:"Operation on an invalid type"};return c.operate(b,this.op,d)}return new a.Operation(this.op,[c,d],this.isSpaced)},genCSS:function(a,b){this.operands[0].genCSS(a,b),this.isSpaced&&b.add(" "),b.add(this.op),this.isSpaced&&b.add(" "),this.operands[1].genCSS(a,b)},toCSS:a.toCSS},a.operate=function(a,b,c,d){switch(b){case"+":return c+d;case"-":return c-d;case"*":return c*d;case"/":return c/d}}}(c("../tree")),function(a){a.Paren=function(a){this.value=a},a.Paren.prototype={type:"Paren",accept:function(a){this.value=a.visit(this.value)},genCSS:function(a,b){b.add("("),this.value.genCSS(a,b),b.add(")")},toCSS:a.toCSS,eval:function(b){return new a.Paren(this.value.eval(b))}}}(c("../tree")),function(a){a.Quoted=function(a,b,c,d,e){this.escaped=c,this.value=b||"",this.quote=a.charAt(0),this.index=d,this.currentFileInfo=e},a.Quoted.prototype={type:"Quoted",genCSS:function(a,b){this.escaped||b.add(this.quote,this.currentFileInfo,this.index),b.add(this.value),this.escaped||b.add(this.quote)},toCSS:a.toCSS,eval:function(b){var c=this,d=this.value.replace(/`([^`]+)`/g,function(d,e){return new a.JavaScript(e,c.index,!0).eval(b).value}).replace(/@\{([\w-]+)\}/g,function(d,e){var f=new a.Variable("@"+e,c.index,c.currentFileInfo).eval(b,!0);return f instanceof a.Quoted?f.value:f.toCSS()});return new a.Quoted(this.quote+d+this.quote,d,this.escaped,this.index,this.currentFileInfo)},compare:function(a){if(!a.toCSS)return-1;var b=this.toCSS(),c=a.toCSS();return b===c?0:c>b?-1:1}}}(c("../tree")),function(a){function b(a,b){var c,d="",e=b.length,f={add:function(a){d+=a}};for(c=0;e>c;c++)b[c].eval(a).genCSS(a,f);return d}a.Rule=function(b,c,d,e,f,g,h){this.name=b,this.value=c instanceof a.Value||c instanceof a.Ruleset?c:new a.Value([c]),this.important=d?" "+d.trim():"",this.merge=e,this.index=f,this.currentFileInfo=g,this.inline=h||!1,this.variable=b.charAt&&"@"===b.charAt(0)},a.Rule.prototype={type:"Rule",accept:function(a){this.value=a.visit(this.value)},genCSS:function(a,b){b.add(this.name+(a.compress?":":": "),this.currentFileInfo,this.index);try{this.value.genCSS(a,b)}catch(c){throw c.index=this.index,c.filename=this.currentFileInfo.filename,c}b.add(this.important+(this.inline||a.lastRule&&a.compress?"":";"),this.currentFileInfo,this.index)},toCSS:a.toCSS,eval:function(c){var d,e=!1,f=this.name;"string"!=typeof f&&(f=1===f.length&&f[0]instanceof a.Keyword?f[0].value:b(c,f)),"font"!==f||c.strictMath||(e=!0,c.strictMath=!0);try{if(d=this.value.eval(c),!this.variable&&"DetachedRuleset"===d.type)throw{message:"Rulesets cannot be evaluated on a property.",index:this.index,filename:this.currentFileInfo.filename};return new a.Rule(f,d,this.important,this.merge,this.index,this.currentFileInfo,this.inline)}catch(g){throw"number"!=typeof g.index&&(g.index=this.index,g.filename=this.currentFileInfo.filename),g}finally{e&&(c.strictMath=!1)}},makeImportant:function(){return new a.Rule(this.name,this.value,"!important",this.merge,this.index,this.currentFileInfo,this.inline)}}}(c("../tree")),function(a){a.RulesetCall=function(a){this.variable=a},a.RulesetCall.prototype={type:"RulesetCall",accept:function(){},eval:function(b){var c=new a.Variable(this.variable).eval(b);return c.callEval(b)}}}(c("../tree")),function(a){a.Ruleset=function(a,b,c){this.selectors=a,this.rules=b,this._lookups={},this.strictImports=c},a.Ruleset.prototype={type:"Ruleset",accept:function(a){this.paths?a.visitArray(this.paths,!0):this.selectors&&(this.selectors=a.visitArray(this.selectors)),this.rules&&this.rules.length&&(this.rules=a.visitArray(this.rules))},eval:function(b){var c,d,e,f,g=this.selectors,h=a.defaultFunc,i=!1;if(g&&(d=g.length)){for(c=[],h.error({type:"Syntax",message:"it is currently only allowed in parametric mixin guards,"}),f=0;d>f;f++)e=g[f].eval(b),c.push(e),e.evaldCondition&&(i=!0);h.reset()}else i=!0;var j,k,l=this.rules?this.rules.slice(0):null,m=new a.Ruleset(c,l,this.strictImports);m.originalRuleset=this,m.root=this.root,m.firstRoot=this.firstRoot,m.allowImports=this.allowImports,this.debugInfo&&(m.debugInfo=this.debugInfo),i||(l.length=0);var n=b.frames;n.unshift(m);var o=b.selectors;o||(b.selectors=o=[]),o.unshift(this.selectors),(m.root||m.allowImports||!m.strictImports)&&m.evalImports(b);var p=m.rules,q=p?p.length:0;for(f=0;q>f;f++)(p[f]instanceof a.mixin.Definition||p[f]instanceof a.DetachedRuleset)&&(p[f]=p[f].eval(b));var r=b.mediaBlocks&&b.mediaBlocks.length||0;for(f=0;q>f;f++)p[f]instanceof a.mixin.Call?(l=p[f].eval(b).filter(function(b){return b instanceof a.Rule&&b.variable?!m.variable(b.name):!0}),p.splice.apply(p,[f,1].concat(l)),q+=l.length-1,f+=l.length-1,m.resetCache()):p[f]instanceof a.RulesetCall&&(l=p[f].eval(b).rules.filter(function(b){return b instanceof a.Rule&&b.variable?!1:!0}),p.splice.apply(p,[f,1].concat(l)),q+=l.length-1,f+=l.length-1,m.resetCache());for(f=0;fb;b++)c=g[b],(c instanceof d||c instanceof e)&&f.push(c);return f},prependRule:function(a){var b=this.rules;b?b.unshift(a):this.rules=[a]},find:function(b,c){c=c||this;var d,e=[],f=b.toCSS();return f in this._lookups?this._lookups[f]:(this.rulesets().forEach(function(f){if(f!==c)for(var g=0;gd?Array.prototype.push.apply(e,f.find(new a.Selector(b.elements.slice(d)),c)):e.push(f);break}}),this._lookups[f]=e,e)},genCSS:function(b,c){var d,e,f,g,h,i,j=[],k=[];b.tabLevel=b.tabLevel||0,this.root||b.tabLevel++;var l,m=b.compress?"":Array(b.tabLevel+1).join(" "),n=b.compress?"":Array(b.tabLevel).join(" ");for(d=0;dd;d++)if(i=p[d],o=i.length)for(d>0&&c.add(l),b.firstSelector=!0,i[0].genCSS(b,c),b.firstSelector=!1,e=1;o>e;e++)i[e].genCSS(b,c);c.add((b.compress?"{":" {\n")+m)}for(d=0;dd;d++)l&&c.add(l),k[d].genCSS(b,c);c.isEmpty()||b.compress||!this.firstRoot||c.add("\n")},toCSS:a.toCSS,markReferenced:function(){if(this.selectors)for(var a=0;a0&&this.mergeElementsOnToSelectors(r,i),f=0;f0&&(k[0].elements=k[0].elements.slice(0),k[0].elements.push(new a.Element(j.combinator,"",j.index,j.currentFileInfo))),s.push(k);else for(g=0;g0?(m=k.slice(0),q=m.pop(),o=d.createDerived(q.elements.slice(0)),p=!1):o=d.createDerived([]),l.length>1&&(n=n.concat(l.slice(1))),l.length>0&&(p=!1,o.elements.push(new a.Element(j.combinator,l[0].elements[0].value,j.index,j.currentFileInfo)),o.elements=o.elements.concat(l[0].elements.slice(1))),p||m.push(o),m=m.concat(n),s.push(m);i=s,r=[]}for(r.length>0&&this.mergeElementsOnToSelectors(r,i),e=0;e0&&b.push(i[e])}else if(c.length>0)for(e=0;e0?e[e.length-1]=e[e.length-1].createDerived(e[e.length-1].elements.concat(b)):e.push(new a.Selector(b))}}}(c("../tree")),function(a){a.Selector=function(a,b,c,d,e,f){this.elements=a,this.extendList=b,this.condition=c,this.currentFileInfo=e||{},this.isReferenced=f,c||(this.evaldCondition=!0)},a.Selector.prototype={type:"Selector",accept:function(a){this.elements&&(this.elements=a.visitArray(this.elements)),this.extendList&&(this.extendList=a.visitArray(this.extendList)),this.condition&&(this.condition=a.visit(this.condition))},createDerived:function(b,c,d){d=null!=d?d:this.evaldCondition;var e=new a.Selector(b,c||this.extendList,null,this.index,this.currentFileInfo,this.isReferenced);return e.evaldCondition=d,e.mediaEmpty=this.mediaEmpty,e},match:function(a){var b,c,d=this.elements,e=d.length;if(a.CacheElements(),b=a._elements.length,0===b||b>e)return 0;for(c=0;b>c;c++)if(d[c].value!==a._elements[c])return 0;return b},CacheElements:function(){var a,b,c,d="";if(!this._elements){for(a=this.elements.length,c=0;a>c;c++)if(b=this.elements[c],d+=b.combinator.value,b.value.value){if("string"!=typeof b.value.value){d="";break}d+=b.value.value}else d+=b.value;this._elements=d.match(/[,&#\.\w-]([\w-]|(\\.))*/g),this._elements?"&"===this._elements[0]&&this._elements.shift():this._elements=[]}},isJustParentSelector:function(){return!this.mediaEmpty&&1===this.elements.length&&"&"===this.elements[0].value&&(" "===this.elements[0].combinator.value||""===this.elements[0].combinator.value)},eval:function(a){var b=this.condition&&this.condition.eval(a),c=this.elements,d=this.extendList;return c=c&&c.map(function(b){return b.eval(a)}),d=d&&d.map(function(b){return b.eval(a)}),this.createDerived(c,d,b)},genCSS:function(a,b){var c,d;if(a&&a.firstSelector||""!==this.elements[0].combinator.value||b.add(" ",this.currentFileInfo,this.index),!this._css)for(c=0;cc;c++)this.visit(a[c]);return a}var e=[];for(c=0;d>c;c++){var f=this.visit(a[c]);f.splice?f.length&&this.flatten(f,e):e.push(f)}return e},flatten:function(a,b){b||(b=[]);var c,d,e,f,g,h;for(d=0,c=a.length;c>d;d++)if(e=a[d],e.splice)for(g=0,f=e.length;f>g;g++)h=e[g],h.splice?h.length&&this.flatten(h,b):b.push(h);else b.push(e);return b}}}(c("./tree")),function(a){a.importVisitor=function(b,c,d,e,f){if(this._visitor=new a.visitor(this),this._importer=b,this._finish=c,this.env=d||new a.evalEnv,this.importCount=0,this.onceFileDetectionMap=e||{},this.recursionDetector={},f)for(var g in f)f.hasOwnProperty(g)&&(this.recursionDetector[g]=!0)},a.importVisitor.prototype={isReplacing:!0,run:function(a){var b;try{this._visitor.visit(a)}catch(c){b=c}this.isFinished=!0,0===this.importCount&&this._finish(b)},visitImport:function(b,c){var d,e=this,f=b.options.inline;if(!b.css||f){try{d=b.evalForImport(this.env)}catch(g){g.filename||(g.index=b.index,g.filename=b.currentFileInfo.filename),b.css=!0,b.error=g}if(d&&(!d.css||f)){b=d,this.importCount++;var h=new a.evalEnv(this.env,this.env.frames.slice(0));b.options.multiple&&(h.importMultiple=!0),this._importer.push(b.getPath(),b.currentFileInfo,b.options,function(c,d,g,i){c&&!c.filename&&(c.index=b.index,c.filename=b.currentFileInfo.filename),h.importMultiple||(b.skip=g?!0:function(){return i in e.onceFileDetectionMap?!0:(e.onceFileDetectionMap[i]=!0,!1)});var j=function(a){e.importCount--,0===e.importCount&&e.isFinished&&e._finish(a)};if(d){b.root=d,b.importedFilename=i;var k=g||i in e.recursionDetector;if(!f&&(h.importMultiple||!k))return e.recursionDetector[i]=!0,void new a.importVisitor(e._importer,j,h,e.onceFileDetectionMap,e.recursionDetector).run(d)}j()})}}return c.visitDeeper=!1,b},visitRule:function(a,b){return b.visitDeeper=!1,a},visitDirective:function(a){return this.env.frames.unshift(a),a},visitDirectiveOut:function(){this.env.frames.shift()},visitMixinDefinition:function(a){return this.env.frames.unshift(a),a},visitMixinDefinitionOut:function(){this.env.frames.shift()},visitRuleset:function(a){return this.env.frames.unshift(a),a},visitRulesetOut:function(){this.env.frames.shift()},visitMedia:function(a){return this.env.frames.unshift(a.ruleset),a},visitMediaOut:function(){this.env.frames.shift()}}}(c("./tree")),function(a){a.joinSelectorVisitor=function(){this.contexts=[[]],this._visitor=new a.visitor(this)},a.joinSelectorVisitor.prototype={run:function(a){return this._visitor.visit(a)},visitRule:function(a,b){b.visitDeeper=!1},visitMixinDefinition:function(a,b){b.visitDeeper=!1},visitRuleset:function(a){var b,c=this.contexts[this.contexts.length-1],d=[];this.contexts.push(d),a.root||(b=a.selectors,b&&(b=b.filter(function(a){return a.getIsOutput()}),a.selectors=b.length?b:b=null,b&&a.joinSelectors(d,c,b)),b||(a.rules=null),a.paths=d)},visitRulesetOut:function(){this.contexts.length=this.contexts.length-1},visitMedia:function(a){var b=this.contexts[this.contexts.length-1];a.rules[0].root=0===b.length||b[0].multiMedia}}}(c("./tree")),function(a){a.toCSSVisitor=function(b){this._visitor=new a.visitor(this),this._env=b},a.toCSSVisitor.prototype={isReplacing:!0,run:function(a){return this._visitor.visit(a)},visitRule:function(a){return a.variable?[]:a},visitMixinDefinition:function(a){return a.frames=[],[]},visitExtend:function(){return[]},visitComment:function(a){return a.isSilent(this._env)?[]:a},visitMedia:function(a,b){return a.accept(this._visitor),b.visitDeeper=!1,a.rules.length?a:[]},visitDirective:function(b){if(b.currentFileInfo.reference&&!b.isReferenced)return[];if("@charset"===b.name){if(this.charset){if(b.debugInfo){var c=new a.Comment("/* "+b.toCSS(this._env).replace(/\n/g,"")+" */\n");return c.debugInfo=b.debugInfo,this._visitor.visit(c)}return[]}this.charset=!0}return b},checkPropertiesInRoot:function(b){for(var c,d=0;d0)&&e.splice(0,0,b);else{b.paths&&(b.paths=b.paths.filter(function(b){var c;for(" "===b[0].elements[0].combinator.value&&(b[0].elements[0].combinator=new a.Combinator("")),c=0;ch;)d=f[h],d&&d.rules?(e.push(this._visitor.visit(d)),f.splice(h,1),g--):h++;g>0?b.accept(this._visitor):b.rules=null,c.visitDeeper=!1,f=b.rules,f&&(this._mergeRules(f),f=b.rules),f&&(this._removeDuplicateRules(f),f=b.rules),f&&f.length>0&&b.paths.length>0&&e.splice(0,0,b)}return 1===e.length?e[0]:e},_removeDuplicateRules:function(b){if(b){var c,d,e,f={};for(e=b.length-1;e>=0;e--)if(d=b[e],d instanceof a.Rule)if(f[d.name]){c=f[d.name],c instanceof a.Rule&&(c=f[d.name]=[f[d.name].toCSS(this._env)]);var g=d.toCSS(this._env);-1!==c.indexOf(g)?b.splice(e,1):c.push(g)}else f[d.name]=d}},_mergeRules:function(b){if(b){for(var c,d,e,f={},g=0;g1){d=c[0];var h=[],i=[];c.map(function(a){"+"===a.merge&&(i.length>0&&h.push(e(i)),i=[]),i.push(a)}),h.push(e(i)),d.value=g(h)}})}}}}(c("./tree")),function(a){a.extendFinderVisitor=function(){this._visitor=new a.visitor(this),this.contexts=[],this.allExtendsStack=[[]]},a.extendFinderVisitor.prototype={run:function(a){return a=this._visitor.visit(a),a.allExtends=this.allExtendsStack[0],a},visitRule:function(a,b){b.visitDeeper=!1},visitMixinDefinition:function(a,b){b.visitDeeper=!1},visitRuleset:function(b){if(!b.root){var c,d,e,f,g=[],h=b.rules,i=h?h.length:0;for(c=0;i>c;c++)b.rules[c]instanceof a.Extend&&(g.push(h[c]),b.extendOnEveryPath=!0);var j=b.paths;for(c=0;c=0||(i=[k.selfSelectors[0]],g=n.findMatch(j,i),g.length&&j.selfSelectors.forEach(function(b){h=n.extendSelector(g,i,b),l=new a.Extend(k.selector,k.option,0),l.selfSelectors=h,h[h.length-1].extendList=[l],m.push(l),l.ruleset=k.ruleset,l.parent_ids=l.parent_ids.concat(k.parent_ids,j.parent_ids),k.firstExtendOnThisSelectorPath&&(l.firstExtendOnThisSelectorPath=!0,k.ruleset.paths.push(h))}));if(m.length){if(this.extendChainCount++,d>100){var o="{unable to calculate}",p="{unable to calculate}";try{o=m[0].selfSelectors[0].toCSS(),p=m[0].selector.toCSS()}catch(q){}throw{message:"extend circular reference detected. One of the circular extends is currently:"+o+":extend("+p+")"}}return m.concat(n.doExtendChaining(m,c,d+1))}return m},visitRule:function(a,b){b.visitDeeper=!1},visitMixinDefinition:function(a,b){b.visitDeeper=!1},visitSelector:function(a,b){b.visitDeeper=!1},visitRuleset:function(a){if(!a.root){var b,c,d,e,f=this.allExtendsStack[this.allExtendsStack.length-1],g=[],h=this;for(d=0;d0&&k[i.matched].combinator.value!==g?i=null:i.matched++,i&&(i.finished=i.matched===k.length,i.finished&&!a.allowAfter&&(e+1j&&k>0&&(l[l.length-1].elements=l[l.length-1].elements.concat(c[j].elements.slice(k)),k=0,j++),i=f.elements.slice(k,h.index).concat([g]).concat(d.elements.slice(1)),j===h.pathIndex&&e>0?l[l.length-1].elements=l[l.length-1].elements.concat(i):(l=l.concat(c.slice(j,h.pathIndex)),l.push(new a.Selector(i))),j=h.endPathIndex,k=h.endPathElementIndex,k>=c[j].elements.length&&(k=0,j++); +return j0&&(l[l.length-1].elements=l[l.length-1].elements.concat(c[j].elements.slice(k)),j++),l=l.concat(c.slice(j,c.length))},visitRulesetOut:function(){},visitMedia:function(a){var b=a.allExtends.concat(this.allExtendsStack[this.allExtendsStack.length-1]);b=b.concat(this.doExtendChaining(b,a.allExtends)),this.allExtendsStack.push(b)},visitMediaOut:function(){this.allExtendsStack.length=this.allExtendsStack.length-1},visitDirective:function(a){var b=a.allExtends.concat(this.allExtendsStack[this.allExtendsStack.length-1]);b=b.concat(this.doExtendChaining(b,a.allExtends)),this.allExtendsStack.push(b)},visitDirectiveOut:function(){this.allExtendsStack.length=this.allExtendsStack.length-1}}}(c("./tree")),function(a){a.sourceMapOutput=function(a){this._css=[],this._rootNode=a.rootNode,this._writeSourceMap=a.writeSourceMap,this._contentsMap=a.contentsMap,this._contentsIgnoredCharsMap=a.contentsIgnoredCharsMap,this._sourceMapFilename=a.sourceMapFilename,this._outputFilename=a.outputFilename,this._sourceMapURL=a.sourceMapURL,a.sourceMapBasepath&&(this._sourceMapBasepath=a.sourceMapBasepath.replace(/\\/g,"/")),this._sourceMapRootpath=a.sourceMapRootpath,this._outputSourceFiles=a.outputSourceFiles,this._sourceMapGeneratorConstructor=a.sourceMapGenerator||c("source-map").SourceMapGenerator,this._sourceMapRootpath&&"/"!==this._sourceMapRootpath.charAt(this._sourceMapRootpath.length-1)&&(this._sourceMapRootpath+="/"),this._lineNumber=0,this._column=0},a.sourceMapOutput.prototype.normalizeFilename=function(a){return a=a.replace(/\\/g,"/"),this._sourceMapBasepath&&0===a.indexOf(this._sourceMapBasepath)&&(a=a.substring(this._sourceMapBasepath.length),("\\"===a.charAt(0)||"/"===a.charAt(0))&&(a=a.substring(1))),(this._sourceMapRootpath||"")+a},a.sourceMapOutput.prototype.add=function(a,b,c,d){if(a){var e,f,g,h,i;if(b){var j=this._contentsMap[b.filename];this._contentsIgnoredCharsMap[b.filename]&&(c-=this._contentsIgnoredCharsMap[b.filename],0>c&&(c=0),j=j.slice(this._contentsIgnoredCharsMap[b.filename])),j=j.substring(0,c),f=j.split("\n"),h=f[f.length-1]}if(e=a.split("\n"),g=e[e.length-1],b)if(d)for(i=0;i0){var d,e=JSON.stringify(this._sourceMapGenerator.toJSON());this._sourceMapURL?d=this._sourceMapURL:this._sourceMapFilename&&(d=this.normalizeFilename(this._sourceMapFilename)),this._writeSourceMap?this._writeSourceMap(e):d="data:application/json,"+encodeURIComponent(e),d&&this._css.push("/*# sourceMappingURL="+d+" */")}return this._css.join("")}}(c("./tree"));var y=/^(file|chrome(-extension)?|resource|qrc|app):/.test(location.protocol);w.env=w.env||("127.0.0.1"==location.hostname||"0.0.0.0"==location.hostname||"localhost"==location.hostname||location.port&&location.port.length>0||y?"development":"production");var z={debug:3,info:2,errors:1,none:0};if(w.logLevel="undefined"!=typeof w.logLevel?w.logLevel:"development"===w.env?z.debug:z.errors,w.async=w.async||!1,w.fileAsync=w.fileAsync||!1,w.poll=w.poll||(y?1e3:1500),w.functions)for(var A in w.functions)w.functions.hasOwnProperty(A)&&(w.tree.functions[A]=w.functions[A]);var B=/!dumpLineNumbers:(comments|mediaquery|all)/.exec(location.hash);B&&(w.dumpLineNumbers=B[1]);var C=/^text\/(x-)?less$/,D=null,E={};if(w.watch=function(){return w.watchMode||(w.env="development",v()),this.watchMode=!0,!0},w.unwatch=function(){return clearInterval(w.watchTimer),this.watchMode=!1,!1},/!watch/.test(location.hash)&&w.watch(),"development"!=w.env)try{D="undefined"==typeof a.localStorage?null:a.localStorage}catch(F){}var G=document.getElementsByTagName("link");w.sheets=[];for(var H=0;H122||(l<65||h>90||e.push([Math.max(65,h)|32,Math.min(l,90)|32]),l<97||h>122||e.push([Math.max(97,h)&-33,Math.min(l,122)&-33]))}}e.sort(function(e,a){return e[0]-a[0]||a[1]-e[1]});b=[];f=[];for(a=0;ah[0]&&(h[1]+1>h[0]&&c.push("-"),c.push(g(h[1])));c.push("]");return c.join("")}function s(e){for(var a=e.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),c=a.length,d=[],f=0,h=0;f=2&&e==="["?a[f]=b(l):e!=="\\"&&(a[f]=l.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return a.join("")}for(var x=0,m=!1,j=!1,k=0,c=a.length;k=5&&"lang-"===w.substring(0,5))&&!(t&&typeof t[1]==="string"))f=!1,w="src";f||(r[z]=w)}h=c;c+=z.length;if(f){f=t[1];var l=z.indexOf(f),B=l+f.length;t[2]&&(B=z.length-t[2].length,l=B-f.length);w=w.substring(5);H(j+h,z.substring(0,l),g,k);H(j+h+l,f,I(w,f),k);H(j+h+B,z.substring(B),g,k)}else k.push(j+h,w)}a.g=k}var b={},s;(function(){for(var g=a.concat(d),j=[],k={},c=0,i=g.length;c=0;)b[n.charAt(e)]=r;r=r[1];n=""+r;k.hasOwnProperty(n)||(j.push(r),k[n]=q)}j.push(/[\S\s]/);s=S(j)})();var x=d.length;return g}function v(a){var d=[],g=[];a.tripleQuotedStrings?d.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?d.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/, +q,"'\"`"]):d.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&g.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var b=a.hashComments;b&&(a.cStyleComments?(b>1?d.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):d.push(["com",/^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),g.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/,q])):d.push(["com", +/^#[^\n\r]*/,q,"#"]));a.cStyleComments&&(g.push(["com",/^\/\/[^\n\r]*/,q]),g.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));if(b=a.regexLiterals){var s=(b=b>1?"":"\n\r")?".":"[\\S\\s]";g.push(["lang-regex",RegExp("^(?:^^\\.?|[+-]|[!=]=?=?|\\#|%=?|&&?=?|\\(|\\*=?|[+\\-]=|->|\\/=?|::?|<>?>?=?|,|;|\\?|@|\\[|~|{|\\^\\^?=?|\\|\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*("+("/(?=[^/*"+b+"])(?:[^/\\x5B\\x5C"+b+"]|\\x5C"+s+"|\\x5B(?:[^\\x5C\\x5D"+b+"]|\\x5C"+ +s+")*(?:\\x5D|$))+/")+")")])}(b=a.types)&&g.push(["typ",b]);b=(""+a.keywords).replace(/^ | $/g,"");b.length&&g.push(["kwd",RegExp("^(?:"+b.replace(/[\s,]+/g,"|")+")\\b"),q]);d.push(["pln",/^\s+/,q," \r\n\t\u00a0"]);b="^.[^\\s\\w.$@'\"`/\\\\]*";a.regexLiterals&&(b+="(?!s*/)");g.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/, +q],["pun",RegExp(b),q]);return C(d,g)}function J(a,d,g){function b(a){var c=a.nodeType;if(c==1&&!x.test(a.className))if("br"===a.nodeName)s(a),a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)b(a);else if((c==3||c==4)&&g){var d=a.nodeValue,i=d.match(m);if(i)c=d.substring(0,i.index),a.nodeValue=c,(d=d.substring(i.index+i[0].length))&&a.parentNode.insertBefore(j.createTextNode(d),a.nextSibling),s(a),c||a.parentNode.removeChild(a)}}function s(a){function b(a,c){var d= +c?a.cloneNode(!1):a,e=a.parentNode;if(e){var e=b(e,1),g=a.nextSibling;e.appendChild(d);for(var i=g;i;i=g)g=i.nextSibling,e.appendChild(i)}return d}for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),d;(d=a.parentNode)&&d.nodeType===1;)a=d;c.push(a)}for(var x=/(?:^|\s)nocode(?:\s|$)/,m=/\r\n?|\n/,j=a.ownerDocument,k=j.createElement("li");a.firstChild;)k.appendChild(a.firstChild);for(var c=[k],i=0;i=0;){var b=d[g];F.hasOwnProperty(b)?D.console&&console.warn("cannot override language handler %s",b):F[b]=a}}function I(a,d){if(!a||!F.hasOwnProperty(a))a=/^\s*=l&&(b+=2);g>=B&&(r+=2)}}finally{if(f)f.style.display=h}}catch(u){D.console&&console.log(u&&u.stack||u)}}var D=window,y=["break,continue,do,else,for,if,return,while"],E=[[y,"auto,case,char,const,default,double,enum,extern,float,goto,inline,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"], +"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],M=[E,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,delegate,dynamic_cast,explicit,export,friend,generic,late_check,mutable,namespace,nullptr,property,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],N=[E,"abstract,assert,boolean,byte,extends,final,finally,implements,import,instanceof,interface,null,native,package,strictfp,super,synchronized,throws,transient"], +O=[N,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,internal,into,is,let,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var,virtual,where"],E=[E,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],P=[y,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"], +Q=[y,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],W=[y,"as,assert,const,copy,drop,enum,extern,fail,false,fn,impl,let,log,loop,match,mod,move,mut,priv,pub,pure,ref,self,static,struct,true,trait,type,unsafe,use"],y=[y,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],R=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)\b/, +V=/\S/,X=v({keywords:[M,O,E,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",P,Q,y],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),F={};p(X,["default-code"]);p(C([],[["pln",/^[^]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-", +/^]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);p(C([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/], +["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css",/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);p(C([],[["atv",/^[\S\s]+/]]),["uq.val"]);p(v({keywords:M,hashComments:!0,cStyleComments:!0,types:R}),["c","cc","cpp","cxx","cyc","m"]);p(v({keywords:"null,true,false"}),["json"]);p(v({keywords:O,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:R}), +["cs"]);p(v({keywords:N,cStyleComments:!0}),["java"]);p(v({keywords:y,hashComments:!0,multiLineStrings:!0}),["bash","bsh","csh","sh"]);p(v({keywords:P,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),["cv","py","python"]);p(v({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:2}),["perl","pl","pm"]);p(v({keywords:Q, +hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb","ruby"]);p(v({keywords:E,cStyleComments:!0,regexLiterals:!0}),["javascript","js"]);p(v({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,throw,true,try,unless,until,when,while,yes",hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);p(v({keywords:W,cStyleComments:!0,multilineStrings:!0}),["rc","rs","rust"]); +p(C([],[["str",/^[\S\s]+/]]),["regex"]);var Y=D.PR={createSimpleLexer:C,registerLangHandler:p,sourceDecorator:v,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ",prettyPrintOne:D.prettyPrintOne=function(a,d,g){var b=document.createElement("div");b.innerHTML="
    "+a+"
    ";b=b.firstChild;g&&J(b,g,!0);K({h:d,j:g,c:b,i:1}); +return b.innerHTML},prettyPrint:D.prettyPrint=function(a,d){function g(){for(var b=D.PR_SHOULD_USE_CONTINUATION?c.now()+250:Infinity;i + + + 404: Page not found + + +
    +

    We do not know, where you are.

    +

    And we do not know, why you are here.

    +

    But we can tell you: WE ARE SORRY!

    +

    Really.

    +
    + + diff --git a/dist/thymeleaf/about.html b/dist/thymeleaf/about.html new file mode 100644 index 00000000..f2e072cc --- /dev/null +++ b/dist/thymeleaf/about.html @@ -0,0 +1,88 @@ + + + + About + + + + +
      +
    1. Home
    2. +
    3. About
    4. +
    + +
    +

    About

    +

    + is the place, where I collect and share + my more or less private projects. + It is a lab for experiments, that help me to do my job as a freelancer + at the desired level of quality. + Here, I can play with all the fancy new stuff, that might be a little + bit to much bleeding edge, to be used on a production site of a paying + client. +

    +

    + I decided to share all this stuff, because I am always learning a lot + from the internet-community. + I wanted to give back a little and try to help and teach others, as I + was helped and teached. + Also, this is a good oportunity, to show what I am doing and to do a + little self-publicity... +

    +

    + mainly consists of two parts: +

    +
      +
    • + In the blog, I summarize, how I solved + some every-day problems, other people might stumble across too. + I am introducing new projects there and announcing new versions and/or + bugfixes to older projects. +
    • +
    • + The other part of the site is the + projects-section. + This is where I am hosting all projects, that I have made publicy + available. +
    • +
    +

    + If you want to hire me, you can find out more on the + contact-page. + If you are not yet sure, if you want to hire me, you might be + interessted in + what I can do for you, or + what I have already done for others. +

    +
    + + + diff --git a/dist/thymeleaf/agb.html b/dist/thymeleaf/agb.html new file mode 100644 index 00000000..e58107cf --- /dev/null +++ b/dist/thymeleaf/agb.html @@ -0,0 +1,196 @@ + + + + Allgemeine Geschäftsbedingungen (AGB) + + + + +
      +
    1. Home
    2. +
    3. Impressum
    4. +
    5. AGB
    6. +
    + +
    +

    Allgemeine Geschäftsbedingungen (AGB)

    +

    Stand: 01.02.2014

    +

    Angebote & Abrechnung

    +

    + Angebote sind freibleibend. + Alle Preise verstehen sich in Euro und zzgl. der gesetzl. MwSt. + Wenn nicht anders vereinbart erfolgt eine Anzahlung von 10% im Voraus. + Sollte sich der Zeitraum über den Leistungen erbracht werden über + mehrere Monate erstrecken, behalte ich mir vor, Rechnungen für + Leistungsabschnitte zu stellen (jedoch nicht häufiger als ein mal im + Monat). + Das Zahlungsziel beträgt 8 Tage. +

    +

    + Falls nicht anders vereinbart, ist bei Dienstleistungen eine + Korrekturschleife enthalten. + Darüber hinausgehende Überarbeitungen sowie gewünschte Zusatzleistungen + werden nach Aufwand per Stundensatz abgerechnet. + Sollte für den Auftrag ein rabattierter Stundensatz vereinbart worden + sein, so gilt dieser nicht automatisch für Überarbeitungen und + Zusatzleistungen. +

    +

    Absprachen

    +

    + Die zentralen Ansprechpartner des Kunden müssen verbindliche + Erklärungen abgeben können (z. B. Fristabsprachen, Abnahmen). + Bei Ausfall, Urlaub etc. sind Ersatzpersonen zu benennen. +

    +

    Leistungen & Abnahme

    +

    + Der Kunde ist in der Pflicht, erbrachte Leitungen direkt nach deren + Erstellung und ohne Aufforderung rechtzeitig (z.B. vor + Veröffentlichung) zu prüfen und Änderungswünsche oder Korrekturhinweise + direkt mitzuteilen. + Die Annahme von Leistungen ohne Beanstandung ist als Abnahme zu + verstehen. +

    +

    + Ich bin zu jeder Zeit berechtigt, die Arbeit in sinnvollen + Teilleistungen zu erbringen und zu berechnen. + Der Kunde ist verpflichtet, diese Teilleistungen abzunehmen. +

    +

    + Im Rahmen der Gestaltungsspielräume des Briefings vom Kunden trägt der + Kunde das Risiko des Nichtgefallens. +

    +

    Eigenleistungen

    +

    + Sofern der Kunde Eigenleistungen erbringt, ist die termingerechte + Lieferung für den Gesamtzeitplan relevant. + Bei verspäteter Lieferung bin ich nicht dazu verpflichtet, die + Auftragsarbeit unverzüglich fortzusetzen, wenn ich durch andere + terminliche Verpflichtungen daran gehindert werde. + Verzögerungen auf Kundenseite können zu erheblichen Gesamtverzögerungen + führen. + Für dadurch entstandenen Schaden und entgangenen Gewinn haftet der Kunde. +

    +

    + Der Kunde berücksichtigt bei der Lieferung von Daten und Materialien + die von mir im Rahmen des Angebots geforderten Formate. +

    +

    + Sofern Angaben, Muster, Inhalte, usw. vom Kunden geliefert werden, bin + ich für deren Richtigkeit und rechtliche Unbedenklichkeit nicht + verantwortlich. + Eine Prüfungspflicht besteht auf meiner Seite nicht. +

    +

    Fremdleistungen

    +

    + Angebote beziehen sich in der Regel auf von mir erbrachte Dienstleistung. + Die Kosten oder Gebühren Dritter (z.B. Provider, Lizenzen für Bild, Ton, + Schrift oder Software, Druckerei usw.) sind nicht enthalten, falls nicht + explizit erwähnt. +

    +

    + Bei Beauftragung von Fremdleistungen jedweder Art, berechne ich, falls + nicht anders vereinbart, eine Abwicklungspauschale in Höhe von 15% des + Auftragswerts für Organisation und Abstimmung. +

    +

    Nutzungsrechte

    +

    + An Unterlagen, die im Rahmen des Angebots übergeben werden (z.B. + Entwürfe, Konzepte), erhält der Kunde keine Nutzungsrechte. + Der Kunde erhält die vereinbarten Nutzungsrechte nur bei pünktlicher + und vollständiger Zahlung der vereinbarten Vergütung. +

    +

    + Eingesetzte Systeme (z.B. Springframework, Tomcat, CentOS usw.) + unterliegen ihren eigenen Nutzungsbestimmungen. +

    +

    Rechtliche Prüfung

    +

    + Ohne gesonderte Vereinbarung ist die patent-, muster-, urheber- und + markenrechtliche Schutz- oder Eintragungsfähigkeit der im Rahmen des + Vertrages gelieferten Ideen, Konzeptionen, Entwürfe und sonstiger + Leistungen nicht geschuldet. +

    +

    Höhere Gewalt

    +

    + Leistungsverzögerungen aufgrund von Umständen im Verantwortungsbereich + des Kunden (z.B. verspätete Anlieferung) und höherer Gewalt (z.B. Unfall, + Telekommunikationsstörung usw.) habe ich nicht zu vertreten. + Sie berechtigen mich das Erbringen der betreffenden Leistungen um die + Dauer der Behinderungen zzgl. einer angemessenen Anlaufzeit + aufzuschieben. +

    +

    Archivierung

    +

    + Ich bin nicht verpflichtet, erstellte Leistungen zu archivieren. + Unterlagen des Kunden muss ich nur dann zurückgeben, wenn dies der Kunde + vor der Übergabe ausdrücklich verlangt hat. +

    +

    Betreuung / Support / Wartung

    +

    + Ich bin nur in der in der Servicevereinbarung besprochenen Weise für die + für eine aktive Betreuung, Support oder Wartung (z.B. Sicherheitsupdates, Aktualitätsprüfungen usw.) verantwortlich. +

    +

    Referenzen

    +

    + Innerhalb der erstellten Leistung werde ich in branchenüblicher Form als + Leistungserbrinnger genannt (z.B. Impressum). +

    +

    + Ich bin berechtigt, den Kunden als Referenz zu benennen und das Projekt + öffentlich vorzustellen. + Der Kunde kann dagegen jederzeit schriftlich Widerspruch erheben. + Widerruft der Kunde seine Zustimmung, so bin ich berechtigt, erstellte + Werbe-Materialien weiter zu benutzen, verpflichte mich jedoch, keine + weiteren, Werbe-Materialien zu erstellen, die den Kunden nennen. +

    +

    Geheimhaltung

    +

    + Die Vertragsparteien vereinbaren Vertraulichkeit über Vertrag und + Erkenntnisse der jeweils anderen Partei. + Die Vertraulichkeit gilt auch über die Beendigung des + Vertragsverhältnisses hinaus. +

    +

    Schlussbestimmungen

    +

    + Erfüllungsort und ausschließlicher Gerichtsstand für alle + Rechtsstreitigkeiten ist Münster. +

    +

    + Sollten aus irgendeinem Grund eine oder mehrere Einzelbestimmungen + dieser AGB unwirksam sein, so bleibt die Gültigkeit der restlichen + Bestimmungen davon unberührt. +

    +

    + Regelungslücken dieser AGB werden durch Auslegung so gefüllt, dass sie + dem wirtschaftlichen Zweck des Vertrages Rechnung tragen. +

    +
    + + + diff --git a/dist/thymeleaf/blog.html b/dist/thymeleaf/blog.html new file mode 100644 index 00000000..891ee9bb --- /dev/null +++ b/dist/thymeleaf/blog.html @@ -0,0 +1,192 @@ + + + + Blog + + + + +
      +
    1. Home
    2. +
    3. Blog
    4. +
    + +
    + + + + + + + + +
    +
    + +
    +
    +
    +
      +
    + + diff --git a/dist/thymeleaf/blog/article.html b/dist/thymeleaf/blog/article.html new file mode 100644 index 00000000..faf9ab0b --- /dev/null +++ b/dist/thymeleaf/blog/article.html @@ -0,0 +1,332 @@ + + + + juplo - blog - Combining jetty-maven-plugin and wro4j-maven-plugin for Dynamic Reloading of LESS-Resources + + + + +
      +
    1. Home
    2. +
    3. Blog
    4. +
    + +
    +
    +
    +

    Combining jetty-maven-plugin and wro4j-maven-plugin for Dynamic Reloading of LESS-Resources

    + +
    +
    +

    Ever searched for a simple configuration, that lets you use your jetty-maven-plugin as you are used to, while working with LESS to simplify your stylesheets?

    +

    You cannot do both, use the Client-side mode of LESS to ease development and use the lesscss-maven-plugin to automatically compile the LESS-sources into CSS for production. That does not work, because your stylesheets must be linked in different ways if you are switching between the client-side mode – which is best for development – and the pre-compiled mode – which is best for production. For the client-side mode you need something like:

    +
    +  
    +  <link rel="stylesheet" type="text/css" href="styles.less" />
    +  <script src="less.js" type="text/javascript"></script>
    +  
    +          
    +

    While, for the pre-compiled mode, you want to link to your stylesheets as usual, with:

    +
    +  
    +  <link rel="stylesheet" type="text/css" href="styles.css" />
    +  
    +          
    +

    While looking for a solution to this dilemma, I stumbled accross wro4j. Originally intended, to speed up page-delivery by combining and minimizing multiple resources into one through the use of a servlet-filter, this tool also comes with a maven-plugin, that let you do the same offline, while compiling your webapp.

    +

    The idea is, to use the wro4j-maven-plugin to compile and combine your LESS-sources into CSS for production and to use the wro4j filter, to dynamically deliver the compiled CSS while developing. This way, you do not have to alter your HTML-code, when switching between development and production, because you always link to the CSS-files.

    +

    So, lets get dirty!

    +

    Step 1: Configure wro4j

    +

    First, we configure wro4j, like as we want to use it to speed up our page. The details are explained and linked on wro4j’s Getting-Started-Page. In short, we just need two files: wro.xml and wro.properties.

    +

    wro.xml

    +

    wro.xml tells wro4j, which resources should be combined and how the result should be named. I am using the following configuration to generate all LESS-Sources beneath base/ into one CSS-file called base.css:

    +
    +  
    +  <groups xmlns="http://www.isdc.ro/wro">
    +    <group name="base">
    +      <css>/less/base/*.less</css>
    +    </group>
    +  
    +          
    +

    wro4j looks for /less/base/*.less inside the root of the web-context, which is equal to src/main/webapp in a normal maven-project. There are other ways to specifie the resources, which enable you to store them elswhere. But this approach works best for our goal, because the path is understandable for both: the wro4j servlet-filter, we are configuring now for our development-environment, and the wro4j-maven-plugin, that we will configure later for build-time compilation.

    +

    wro.properties

    +

    wro.properties in short tells wro4j, how or if it should convert the combined sources and how it should behave. I am using the following configuration to tell wro4j, that it should convert *.less-sources into CSS and do that on every request:

    +
    +  
    +  preProcessors=less4j
    +  disableCache=true
    +  
    +          
    +

    You can do a lot more here. There are countless configuration options to fine-tune the behaviour of wro4j. The disableCache=true is crucial, because we would not see the changes take effect when developing with jetty-maven-plugin later on. You can also do much more with your resources here, for example minimizing. But for our goal, we are now only intrested in the compilation of our LESS-sources.

    +

    Step 2: Configure the wro4j servlet-filter

    +

    Configuring the filter in the web.xml is easy. It is explained in wro4j’s installation-insctuctions. But the trick is, that we do not want to configure that filter for the production-version of our webapp, because we want to compile the resources offline, when the webapp is build. To acchieve this, we can use the <overrideDescriptor>-Parameter of the jetty-maven-plugin.

    +

    <overrideDescriptor>

    +

    This parameter lets you specify additional configuration options for the web.xml of your webapp. I am using the following configuration for my jetty-maven-plugin:

    +
    +  
    +  <plugin>
    +    <groupId>org.eclipse.jetty</groupId>
    +    <artifactId>jetty-maven-plugin</artifactId>
    +    <configuration>
    +      <webApp>
    +        <overrideDescriptor>${project.basedir}/src/test/resources/jetty-web.xml</overrideDescriptor>
    +      </webApp>
    +    </configuration>
    +    <dependencies>
    +      <dependency>
    +        <groupId>ro.isdc.wro4j</groupId>
    +        <artifactId>wro4j-core</artifactId>
    +        <version>${wro4j.version}</version>
    +      </dependency>
    +      <dependency>
    +        <groupId>ro.isdc.wro4j</groupId>
    +        <artifactId>wro4j-extensions</artifactId>
    +        <version>${wro4j.version}</version>
    +        <exclusions>
    +          <exclusion>
    +              <groupId>javax.servlet</groupId>
    +              <artifactId>servlet-api</artifactId>
    +          </exclusion>
    +          <exclusion>
    +              <groupId>org.apache.commons</groupId>
    +              <artifactId>commons-lang3</artifactId>
    +          </exclusion>
    +          <exclusion>
    +              <groupId>commons-io</groupId>
    +              <artifactId>commons-io</artifactId>
    +          </exclusion>
    +          <exclusion>
    +              <groupId>commons-pool</groupId>
    +              <artifactId>commons-pool</artifactId>
    +          </exclusion>
    +          <exclusion>
    +              <groupId>org.springframework</groupId>
    +              <artifactId>spring-web</artifactId>
    +          </exclusion>
    +          <exclusion>
    +              <groupId>com.google.code.gson</groupId>
    +              <artifactId>gson</artifactId>
    +          </exclusion>
    +          <exclusion>
    +              <groupId>com.google.javascript</groupId>
    +              <artifactId>closure-compiler</artifactId>
    +          </exclusion>
    +          <exclusion>
    +              <groupId>com.github.lltyk</groupId>
    +              <artifactId>dojo-shrinksafe</artifactId>
    +          </exclusion>
    +          <exclusion>
    +              <groupId>org.jruby</groupId>
    +              <artifactId>jruby-core</artifactId>
    +          </exclusion>
    +          <exclusion>
    +            <groupId>org.jruby</groupId>
    +            <artifactId>jruby-stdlib</artifactId>
    +          </exclusion>
    +          <exclusion>
    +              <groupId>org.jruby</groupId>
    +              <artifactId>jruby-stdlib</artifactId>
    +          </exclusion>
    +          <exclusion>
    +              <groupId>me.n4u.sass</groupId>
    +              <artifactId>sass-gems</artifactId>
    +          </exclusion>
    +          <exclusion>
    +              <groupId>nz.co.edmi</groupId>
    +              <artifactId>bourbon-gem-jar</artifactId>
    +          </exclusion>
    +          <exclusion>
    +              <groupId>org.codehaus.gmaven.runtime</groupId>
    +              <artifactId>gmaven-runtime-1.7</artifactId>
    +          </exclusion>
    +          <exclusion>
    +              <groupId>org.webjars</groupId>
    +              <artifactId>jshint</artifactId>
    +          </exclusion>
    +          <exclusion>
    +              <groupId>org.webjars</groupId>
    +              <artifactId>less</artifactId>
    +          </exclusion>
    +          <exclusion>
    +              <groupId>org.webjars</groupId>
    +              <artifactId>emberjs</artifactId>
    +          </exclusion>
    +          <exclusion>
    +              <groupId>org.webjars</groupId>
    +              <artifactId>handlebars</artifactId>
    +          </exclusion>
    +          <exclusion>
    +              <groupId>org.webjars</groupId>
    +              <artifactId>coffee-script</artifactId>
    +          </exclusion>
    +          <exclusion>
    +              <groupId>org.webjars</groupId>
    +              <artifactId>jslint</artifactId>
    +          </exclusion>
    +          <exclusion>
    +              <groupId>org.webjars</groupId>
    +              <artifactId>json2</artifactId>
    +          </exclusion>
    +          <exclusion>
    +              <groupId>org.webjars</groupId>
    +              <artifactId>jquery</artifactId>
    +          </exclusion>
    +        </exclusions>
    +      </dependency>
    +    </dependencies>
    +  </plugin>
    +  
    +          
    +

    The dependencies to wro4j-core and wro4j-extensions are needed by jetty, to be able to enable the filter defined below. Unfortunatly, one of the transitive dependencies of wro4j-extensions triggers an uggly error when running the jetty-maven-plugin. Therefore, all unneeded dependencies of wro4j-extensions are excluded, as a workaround for this error/bug.

    +

    jetty-web.xml

    +

    And my jetty-web.xml looks like this:

    +
    +  
    +  <?xml version="1.0" encoding="UTF-8"?>
    +  <web-app xmlns="http://java.sun.com/xml/ns/javaee"
    +    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    +    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    +    version="2.5">
    +    <filter>
    +      <filter-name>wro</filter-name>
    +      <filter-class>ro.isdc.wro.http.WroFilter</filter-class>
    +    </filter>
    +    <filter-mapping>
    +      <filter-name>wro</filter-name>
    +      <url-pattern>*.css</url-pattern>
    +    </filter-mapping>
    +  </web-app>
    +  
    +          
    +

    The filter processes any URI’s that end with .css. This way, the wro4j servlet-filter makes base.css available under any path, because for exampl /base.css, /css/base.css and /foo/bar/base.css all end with .css.

    +

    This is all, that is needed to develop with dynamically reloadable compiled LESS-resources. Just fire up your browser and browse to /what/you/like/base.css. (But do not forget to put some LESS-files in src/main/webapp/less/base/ first!)

    +

    Step 3: Install wro4j-maven-plugin

    +

    All that is left over to configure now, is the build-process. If you would build and deploy your webapp now, the CSS-file base.css would not be generated and the link to your stylesheet, that already works in our jetty-maven-plugin environment would point to a 404. Hence, we need to set up the wro4j-maven-plugin. I am using this configuration:

    +
    +  
    +  <plugin>
    +    <groupId>ro.isdc.wro4j</groupId>
    +    <artifactId>wro4j-maven-plugin</artifactId>
    +    <version>${wro4j.version}</version>
    +    <configuration>
    +      <wroManagerFactory>ro.isdc.wro.maven.plugin.manager.factory.ConfigurableWroManagerFactory</wroManagerFactory>
    +      <cssDestinationFolder>${project.build.directory}/${project.build.finalName}/css/</cssDestinationFolder>
    +    </configuration>
    +    <executions>
    +      <execution>
    +        <phase>package</phase>
    +        <goals>
    +          <goal>run</goal>
    +        </goals>
    +      </execution>
    +    </executions>
    +  </plugin>
    +  
    +          
    +

    I connected the run-goal with the package-phase, because the statically compiled CSS-file is needed only in the final war. The ConfigurableWroManagerFactory tells wro4j, that it should look up further configuration options in our wro.properties-file, where we tell wro4j, that it should compile our LESS-resources. The <cssDestinationFolder>-tag tells wro4j, where it should put the generated CSS-file. You can adjust that to suite your needs.

    +

    That’s it: now the same CSS-file, which is created on the fly by the wro4j servlet-filter when using mvn jetty:run and, thus, enables dynamic reloading of our LESS-resources, is generated during the build-process by the wro4j-maven-plugin.

    +

    Cleanup and further considerations

    +

    lesscss-maven-plugin

    +

    If you already compile your LESS-resources with the lesscss-maven-plugin, you can stick with it and skip step 3. But I strongly recommend giving wro4j-maven-plugin a try, because it is a much more powerfull tool, that can speed up your final webapp even more.

    +

    Clean up your mess

    +

    With a configuration like the above one, your LESS-resources and wro4j-configuration-files will be packed into your production-war. That might be confusing later, because neither wro4j nor LESS is used in the final war. You can add the following to your pom.xml to exclude these files from your war for the sake of clarity:

    +
    +  
    +  <plugin>
    +    <artifactId>maven-war-plugin</artifactId>
    +    <configuration>
    +      <warSourceExcludes>
    +        WEB-INF/wro.*,
    +        less/**
    +      </warSourceExcludes>
    +    </configuration>
    +  </plugin>
    +  
    +          
    +

    What’s next?

    +

    We only scrached the surface, of what can be done with wro4j. Based on this configuration, you can easily enable additional features to fine-tune your final build for maximum speed. You really should take a look at the list of available Processors!

    +
    + +
    + + +
    +

    Leave a Reply

    + +
    +

    Logged in as Kai Moritz. Log out »

    + +

    +

    + + +

    + +

    +
    +
    +
    + + + diff --git a/dist/thymeleaf/blog/comments.html b/dist/thymeleaf/blog/comments.html new file mode 100644 index 00000000..3d4a05b7 --- /dev/null +++ b/dist/thymeleaf/blog/comments.html @@ -0,0 +1,501 @@ + + + + juplo - blog - hibernate4-maven-plugin + + + + +
      +
    1. Home
    2. +
    3. Blog
    4. +
    + +
    +
    +
    +

    hibernate4-maven-plugin

    + +
    +
    +

    A simple Plugin for generating a Database-Schema from Hibernate 4 Mapping-Annotations

    +

    + Hibernate comes with the buildin functionality, to automatically create or update the database schema. This functionality is configured in the session-configuraton via the parameter hbm2ddl.auto (see Hibernate Reference Documentation – Chapter 3.4. Optional configuration properties). But doing so is not very wise, because you can easily corrupt or erase your production database, if this configuration parameter slips through to your production environment. +

    +

    + Alternatively, you can run the tools SchemaExport or SchemaUpdate by hand. But that is not very comfortable and being used to maven you will quickly long for a plugin, that does that job automatically for you, when you fire up your test cases. +

    +

    In the good old times, there was the Maven Hibernate3 Plugin, that does this for you. But unfortunatly, this plugin is not compatible with Hibernate 4.x. Since there does not seem to be any successor for the Maven Hibernate3 Plugin and googeling does not help, I decided to write up this simple plugin (inspired by these two articles I found: Schema Export with Hibernate 4 and Maven and Schema generation with Hibernate 4, JPA and Maven). +

    +

    + I hope, the resulting simple to use buletproof hibernate4-maven-plugin is usefull! +

    +

    + Try it out now!

    +
    + +
    + +

    15 Responses to “hibernate4-maven-plugin”

    + +
      +
    1. +
      +
      + Jukes says: +
      + +

      + Hi thanks a lot for making this plugin available, great work!!
      + I have a problem generating postgres schema. Looks like the plugin ignores the data type when adding default values and that yields a syntax error from Postgres. Or maybe I’m doing something wrong. I’m using version 1.0.3.

      +

      For example I have in java:

      +

      + @Column(name = “financialEnabled”, nullable = false, columnDefinition = “default TRUE”)
      + private boolean financialEnabled; +

      +

      + Generated SQL is:
      + financialEnabled default TRUE not null, +

      +

      As you can see the data type boolean is not translated to the SQL script. Thanks a lot for your help.

      +
      + Reply +
      +
      +
        +
      • +
        +
        + Kai Moritz says: +
        + +

        + This plugin is only a tool to automate the generation of the SQL in your development-environment.
        + Questions on how to anotate your code correctly are better asked in a user-forum from hibernate or such.

        +

        + Nevertheless, I think I can give you a usefull hint:
        + You are overwriting the automatically generated column-definition with “default TRUE”.
        + Try it with

        +

        + @Column(name = “financialEnabled”, nullable = false)
        + private boolean financialEnabled;

        +
        + Reply +
        +
        +
      • +
      +
    2. +
    3. +
      +
      + Milios says: +
      + +

      Hi,

      +

      + looks like a very nice plugin. Unfortunately, part of our entities are in other modules/dependencies.
      + Do you plan to add the possibility to scan also for dependencies of the project or at least of the plugin?

      +

      Also, when I only want to generate the SQL and use the following configuration, I got nothing.

      +

      Config:

      +

      + de.juplo
      + hibernate4-maven-plugin
      + 1.0.2

      +

      + true
      + SCRIPT
      + NONE
      + com.deutscheboerse.hibernate.PostgreSQLDialect
      + ${project.build.directory}/hibernate4/cmm-schema.sql

      +

      + com.deutscheboerse.energy
      + energy-commons-hibernate
      + ${commons.hibernate.version}

      +

      + org.springframework.security
      + spring-security-core
      + ${spring.security.version}

      +

      + org.slf4j
      + slf4j-log4j12
      + ${slf4j.version}

      +

      + Output:
      + mvn hibernate4:export -e
      + [INFO] Error stacktraces are turned on.
      + [INFO] Scanning for projects…
      + [INFO]
      + [INFO] ————————————————————————
      + [INFO] Building CMM WAR 1.0.0-RC5-SNAPSHOT
      + [INFO] ————————————————————————
      + [INFO]
      + [INFO] — hibernate4-maven-plugin:1.0.2:export (default-cli) @ cmm-war —
      + [INFO] Scanning directory D:\_dev\work\ii\src\cmm\trunk\cmm-war\target\classes f
      + [INFO] No hibernate-properties-file found! (Checked path: D:\_dev\work\ii\src\cm
      + [INFO] Gathered hibernate-configuration (turn on debugging for details):
      + [INFO] hibernate.dialect = com.deutscheboerse.hibernate.PostgreSQLDialect
      + [INFO] HHH000400: Using dialect: com.deutscheboerse.hibernate.PostgreSQLDialect
      + [INFO] ————————————————————————
      + [INFO] BUILD SUCCESS
      + [INFO] ————————————————————————
      + [INFO] Total time: 10.932s
      + [INFO] Finished at: Thu Oct 10 12:51:05 UTC 2013
      + [INFO] Final Memory: 9M/23M
      + [INFO] ————————————————————————

      +

      + Thanks for any help,
      + Milos. +

      +
      + Reply +
      +
      +
        +
      • +
        +
        + Kai Moritz says: +
        + +

        + Yes, I am working on the possibility, to scan for annotations in dependencies.
        + Unfortunatly, I have no example-project for this use-case by hand.
        + It would help a lot, if you could provide a sample-project on github or such. +

        +

        Greetings kai

        +
        + Reply +
        +
        + +
      • +
      +
    4. +
    5. +
      +
      + Pedro says:
      + + + +

      Following my previous question, here is the debug info

      +

      [DEBUG] Dependency: /Users/pmarques/.m2/repository/org/springframework/security/spring-security-acl/3.1.4.RELEASE/spring-security-acl-3.1.4.RELEASE.jar
      + [DEBUG] Dependency: /Users/pmarques/.m2/repository/com/atomikos/atomikos-util/3.6.5/atomikos-util-3.6.5.jar
      + [DEBUG] Dependency: /Users/pmarques/.m2/repository/com/atomikos/transactions-api/3.6.5/transactions-api-3.6.5.jar
      + [DEBUG] Dependency: /Users/pmarques/.m2/repository/javax/transaction/transaction-api/1.1/transaction-api-1.1.jar
      + [DEBUG] Dependency: /Users/pmarques/.m2/repository/com/atomikos/transactions-jdbc-deprecated/3.6.5/transactions-jdbc-deprecated-3.6.5.jar
      + [DEBUG] Dependency: /Users/pmarques/.m2/repository/com/atomikos/transactions-jdbc/3.6.5/transactions-jdbc-3.6.5.jar
      + [DEBUG] Dependency: /Users/pmarques/.m2/repository/com/atomikos/transactions-jta/3.6.5/transactions-jta-3.6.5.jar
      + [DEBUG] Dependency: /Users/pmarques/.m2/repository/com/atomikos/transactions/3.6.5/transactions-3.6.5.jar
      + [DEBUG] Dependency: /Users/pmarques/.m2/repository/org/apache/geronimo/specs/geronimo-jta_1.0.1B_spec/1.0.1/geronimo-jta_1.0.1B_spec-1.0.1.jar
      + [DEBUG] Dependency: /Users/pmarques/.m2/repository/com/atomikos/transactions-jms-deprecated/3.6.5/transactions-jms-deprecated-3.6.5.jar
      + [DEBUG] Dependency: /Users/pmarques/.m2/repository/com/atomikos/transactions-jms/3.6.5/transactions-jms-3.6.5.jar
      + [DEBUG] Dependency: /Users/pmarques/.m2/repository/com/atomikos/transactions-hibernate3/3.6.5/transactions-hibernate3-3.6.5.jar
      + [INFO] Scanning directory /target/classes for annotated classes…

      + +
      + Reply
      +
      +
    6. +
    7. +
      +
      + Pedro says:
      + + + +

      Hi,

      +

      I have the following problem.
      + The project that I use to test (and use the plugin) has the annotated classes as a dependency.
      + I am getting the error:
      + No annotated classes found in directory /target/classes

      +

      Shouldn’t the plugin scan all the dependencies also?

      +

      Thanks,
      + Pedro.

      + +
      + Reply
      +
      +
        +
      • +
        +
        + Kai Moritz says:
        + + + +

        Hi Pedro,

        +

        I think, that your observation is right.
        + But otherwise, dependencies should only be scanned if requested, because automatic scanning of the dependencies might lead to errors in other situations.

        +

        If you can make your project available to me (for example via github, or simply by mailing zipped version), I would add a configuration-parameter to enable/disable dependency-scanning and upload the refined plugin to central.

        +

        Regards,

        +

        Kai Moritz

        + +
        + Reply
        +
        + +
      • +
      +
    8. +
    9. +
      +
      + mike says:
      + + + +

      Hello,

      +

      I’m upgrading from hibernate3 to to hibernate4 and have moved from the hibernate3-maven-plugin to this version. I haven’t undertaken (and don’t want to just yet) the big job of changing my hbm mapping files to annotations.

      +

      As far as I can see this is a show stopper for using your nice plugin. Can you please confirm if this is the case and whether you are planning to add support for scanning for hbm files?

      +

      Many thanks,

      +

      Mike Cohen.

      + +
      + Reply
      +
      + +
    10. +
    11. +
      +
      + Victor says:
      + + + +

      Hey I have modified your code to support envers and generate auditing tables, if you want I can send you a patch. Thanks!

      + +
      + Reply
      +
      + +
    12. +
    + + + + +
    + +

    Leave a Reply

    + + + + +
    + + +

    Logged in as Kai Moritz. Log out »

    + + + + +

    + +

    + + +

    + +

    +
    +
    +
    + + + diff --git a/dist/thymeleaf/contact.html b/dist/thymeleaf/contact.html new file mode 100644 index 00000000..8fe41778 --- /dev/null +++ b/dist/thymeleaf/contact.html @@ -0,0 +1,68 @@ + + + + Contact + + + + +
      +
    1. Home
    2. +
    3. About
    4. +
    5. Contact
    6. +
    + +
    +
    +
    + Portrait +
    + +
    +
    + + diff --git a/dist/thymeleaf/datenschutz.html b/dist/thymeleaf/datenschutz.html new file mode 100644 index 00000000..dec5ab11 --- /dev/null +++ b/dist/thymeleaf/datenschutz.html @@ -0,0 +1,51 @@ + + + + Datenschutz + + + + +
      +
    1. Home
    2. +
    3. Impressum
    4. +
    5. Datenschutz
    6. +
    + +
    +

    Datenschutz

    +

    Die Nutzung unserer Webseite ist in der Regel ohne Angabe personenbezogener Daten möglich. Soweit auf unseren Seiten personenbezogene Daten (beispielsweise Name, Anschrift oder eMail-Adressen) erhoben werden, erfolgt dies, soweit möglich, stets auf freiwilliger Basis. Diese Daten werden ohne Ihre ausdrückliche Zustimmung nicht an Dritte weitergegeben.

    +

    Wir weisen darauf hin, dass die Datenübertragung im Internet (z.B. bei der Kommunikation per E-Mail) Sicherheitslücken aufweisen kann. Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist nicht möglich.

    +

    Der Nutzung von im Rahmen der Impressumspflicht veröffentlichten Kontaktdaten durch Dritte zur Übersendung von nicht ausdrücklich angeforderter Werbung und Informationsmaterialien wird hiermit ausdrücklich widersprochen. Die Betreiber der Seiten behalten sich ausdrücklich rechtliche Schritte im Falle der unverlangten Zusendung von Werbeinformationen, etwa durch Spam-Mails, vor.

    + +

    Bitte beachten Sie auch die gesonderte Datenschutzerklärung zur Nutzung von Google-Analytics.

    +
    + + + diff --git a/dist/thymeleaf/error.html b/dist/thymeleaf/error.html new file mode 100644 index 00000000..a07dc238 --- /dev/null +++ b/dist/thymeleaf/error.html @@ -0,0 +1,13 @@ + + + + An unexpected Error occured! + + +
    +

    We do not know, what happend.

    +

    But we can tell you: WE ARE SORRY!

    +

    Really.

    +
    + + diff --git a/dist/thymeleaf/expertise.html b/dist/thymeleaf/expertise.html new file mode 100644 index 00000000..f45300c5 --- /dev/null +++ b/dist/thymeleaf/expertise.html @@ -0,0 +1,50 @@ + + + + Expertise + + + + +
      +
    1. Home
    2. +
    3. About
    4. +
    5. Expertise
    6. +
    + +
    + + diff --git a/dist/thymeleaf/google-analytics.html b/dist/thymeleaf/google-analytics.html new file mode 100644 index 00000000..496bcd76 --- /dev/null +++ b/dist/thymeleaf/google-analytics.html @@ -0,0 +1,51 @@ + + + + Google Analytics + + + + +
      +
    1. Home
    2. +
    3. Impressum
    4. +
    5. Google Analytics
    6. +
    + +
    +

    Google Analytics

    +

    Diese Website benutzt Google Analytics, einen Webanalysedienst der Google Inc. ("Google"). Google Analytics verwendet sog. "Cookies", Textdateien, die auf Ihrem Computer gespeichert werden und die eine Analyse der Benutzung der Website durch Sie ermöglichen. Die durch den Cookie erzeugten Informationen über Ihre Benutzung dieser Website werden in der Regel an einen Server von Google in den USA übertragen und dort gespeichert. Im Falle der Aktivierung der IP-Anonymisierung auf dieser Webseite wird Ihre IP-Adresse von Google jedoch innerhalb von Mitgliedstaaten der Europäischen Union oder in anderen Vertragsstaaten des Abkommens über den Europäischen Wirtschaftsraum zuvor gekürzt.

    +

    Nur in Ausnahmefällen wird die volle IP-Adresse an einen Server von Google in den USA übertragen und dort gekürzt. Im Auftrag des Betreibers dieser Website wird Google diese Informationen benutzen, um Ihre Nutzung der Website auszuwerten, um Reports über die Websiteaktivitäten zusammenzustellen und um weitere mit der Websitenutzung und der Internetnutzung verbundene Dienstleistungen gegenüber dem Websitebetreiber zu erbringen. Die im Rahmen von Google Analytics von Ihrem Browser übermittelte IP-Adresse wird nicht mit anderen Daten von Google zusammengeführt.

    +

    Sie können die Speicherung der Cookies durch eine entsprechende Einstellung Ihrer Browser-Software verhindern; wir weisen Sie jedoch darauf hin, dass Sie in diesem Fall gegebenenfalls nicht sämtliche Funktionen dieser Website vollumfänglich werden nutzen können. Sie können darüber hinaus die Erfassung der durch das Cookie erzeugten und auf Ihre Nutzung der Website bezogenen Daten (inkl. Ihrer IP-Adresse) an Google sowie die Verarbeitung dieser Daten durch Google verhindern, indem sie das unter dem folgenden Link verfügbare Browser-Plugin herunterladen und installieren:

    +

    http://tools.google.com/dlpage/gaoptout?hl=de.

    + +
    + + + diff --git a/dist/thymeleaf/haftung-inhalte.html b/dist/thymeleaf/haftung-inhalte.html new file mode 100644 index 00000000..f1948fbd --- /dev/null +++ b/dist/thymeleaf/haftung-inhalte.html @@ -0,0 +1,48 @@ + + + + Haftung für Inhalte + + + + +
      +
    1. Home
    2. +
    3. Impressum
    4. +
    5. Haftung für Inhalte
    6. +
    + +
    +

    Haftung für Inhalte

    +

    Sämtliche Inhalte unserer Internetseiten sind mit größtmöglicher Sorgfalt erstellt worden. Dennoch ist es uns nicht möglich, eine Gewähr dafür zu übernehmen, dass diese Inhalte richtig, vollständig und aktuell sind. Wir sind gemäß § 7 Abs. 1 TMG für die eigenen Inhalte auf unseren Internetseiten verantwortlich. Gemäß den §§ 8, 9 und 10 TMG besteht für uns allerdings keine Verpflichtung, dass wir Informationen von Dritten, die übermittelt oder gespeichert wurden, überwachen oder Umstände ausforschen müssten, die Hinweise auf nicht rechtmäßige Tätigkeiten ergeben. Davon nicht berührt, ist unsere Verpflichtung zur Sperrung oder Entfernung von Informationen, welche uns von den allgemeinen Gesetzen auferlegt wird. Wir haften allerdings insoweit erst in dem Moment, in dem wir von einer konkreten Verletzung von Rechten Kenntnis erlangen. Wenn wir von einer solchen Verletzung von Rechten Kenntnis erlangen, wird eine unverzügliche Entfernung der entsprechenden Inhalte erfolgen.

    +

    Quelle: Flegl Rechtsanwälte GmbH

    +
    + + + diff --git a/dist/thymeleaf/haftung-links.html b/dist/thymeleaf/haftung-links.html new file mode 100644 index 00000000..b4450303 --- /dev/null +++ b/dist/thymeleaf/haftung-links.html @@ -0,0 +1,48 @@ + + + + Haftung für Links + + + + +
      +
    1. Home
    2. +
    3. Impressum
    4. +
    5. Haftung für Links
    6. +
    + +
    +

    Haftung für Links

    +

    Unsere Internetseiten enthalten Links, die zu externen Internetseiten von Dritten führen. Auf die Inhalte dieser externen Seiten haben wir keine Einflussmöglichkeiten. Es ist uns daher nicht möglich, eine Gewähr für diese Inhalte zu übernehmen. Die Verantwortung dafür hat immer der jeweilige Anbieter/Betreiber der entsprechenden Internetseiten. Wir überprüfen die von uns verlinkten Internetseiten zum Zeitpunkt der Verlinkung auf einen möglichen Rechtsverstoß. Die Verlinkung kommt nur dann zustande, wenn ein rechtswidriger Inhalt zu diesem Zeitpunkt nicht erkennbar ist. Es kann uns jedoch, ohne einen konkreten Anhaltspunkt, nicht zugemutet werden, ständig die verlinkten Internetseiten inhaltlich zu kontrollieren. Wenn wir jedoch von einer Rechtsverletzung Kenntnis erlangen, werden wir den entsprechenden Link unverzüglich entfernen.

    +

    Quelle: Flegl Rechtsanwälte GmbH

    +
    + + + diff --git a/dist/thymeleaf/impressum.html b/dist/thymeleaf/impressum.html new file mode 100644 index 00000000..9e9cc05f --- /dev/null +++ b/dist/thymeleaf/impressum.html @@ -0,0 +1,67 @@ + + + + Impressum + + + + +
      +
    1. Home
    2. +
    3. Impressum
    4. +
    + +
    +

    Impressum

    +

    Angaben gemäß § 5 TMG:

    +

    + Kai Moritz
    + juplo.de
    + Zumsandestr. 29a
    + 48145 Münster +

    +

    Telefon: +49 (0) 176 20 50 47 47

    +

    E-Mail: kai@juplo.de

    +

    Umsatzsteuer-Identifikationsnummer gemäß §27 a Umsatzsteuergesetz: DE 23 500 84 56

    +

    Aufsichtsbehörde: Stadt Münster

    + +

    Contact

    +

    + More contact-information (Facebook, Google+, ...) can be found on the + contact-page. +

    +
    + +
      + +
    • Impressum
    • +
    • About
    • +
    + + diff --git a/dist/thymeleaf/index.html b/dist/thymeleaf/index.html new file mode 100644 index 00000000..30241332 --- /dev/null +++ b/dist/thymeleaf/index.html @@ -0,0 +1,139 @@ + + + + Home + + + + +
      +
    1. Home
    2. +
    +

    juplo

    + +
    +
    +
    +

    hibernate4-maven-plugin

    +

    + Lorem ipsum dolor + sit amet, + consectetur adipisicing elit, sed do eiusmod tempor incididunt ut + labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud + exercitation + ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute + irure dolor in reprehenderit in voluptate velit esse cillum dolore + eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non + proident, sunt in culpa qui officia deserunt mollit anim id est + laborum. +

    +
    +
    +

    fix-swf

    +

    + Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do + eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim + ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut + aliquip ex ea commodo consequat. +

    +
    +
    +
    +

    accelerator

    +

    + Duis aute irure dolor in + reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla + pariatur. Excepteur sint occaecat cupidatat non proident, sunt in + culpa qui officia deserunt mollit anim id est laborum. +

    +
    +
    +
    +

    jquery.openx

    +

    + Duis aute irure dolor in + reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla + pariatur. Excepteur sint occaecat cupidatat non proident, sunt in + culpa qui officia deserunt mollit anim id est laborum. +

    +
    +
    +

    Regex-Lab

    +

    + Excepteur sint occaecat cupidatat non proident, sunt in + culpa qui officia deserunt mollit anim id est laborum. +

    +
    +
    +
    +
    +

    jquery.openx

    +

    + Duis aute irure dolor in + reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla + pariatur. Excepteur sint occaecat cupidatat non proident, sunt in + culpa qui officia deserunt mollit anim id est laborum. +

    +
    +
    +

    Regex-Lab

    +

    + Excepteur sint occaecat cupidatat non proident, sunt in + culpa qui officia deserunt mollit anim id est laborum. +

    +
    +
    +
    + + + diff --git a/dist/thymeleaf/projects.html b/dist/thymeleaf/projects.html new file mode 100644 index 00000000..4737f8d1 --- /dev/null +++ b/dist/thymeleaf/projects.html @@ -0,0 +1,30 @@ + + + + Projects + + + + +
      +
    1. Home
    2. +
    3. Projects
    4. +
    + + + diff --git a/dist/thymeleaf/projects/fix-swf.html b/dist/thymeleaf/projects/fix-swf.html new file mode 100644 index 00000000..dba5d936 --- /dev/null +++ b/dist/thymeleaf/projects/fix-swf.html @@ -0,0 +1,39 @@ + + + + Fix SWF + + + + +
      +
    1. Home
    2. +
    3. Projects
    4. +
    5. Fix SWF
    6. +
    + + + diff --git a/dist/thymeleaf/projects/fix-swf/getting-started.html b/dist/thymeleaf/projects/fix-swf/getting-started.html new file mode 100644 index 00000000..b4b8fb02 --- /dev/null +++ b/dist/thymeleaf/projects/fix-swf/getting-started.html @@ -0,0 +1,40 @@ + + + + Fix SWF - Getting started + + + + +
      +
    1. Home
    2. +
    3. Projects
    4. +
    5. Fix SWF
    6. +
    7. Getting Started
    8. +
    + + + diff --git a/dist/thymeleaf/projects/fix-swf/overview.html b/dist/thymeleaf/projects/fix-swf/overview.html new file mode 100644 index 00000000..a2df3a06 --- /dev/null +++ b/dist/thymeleaf/projects/fix-swf/overview.html @@ -0,0 +1,40 @@ + + + + Fix SWF - Overview + + + + +
      +
    1. Home
    2. +
    3. Projects
    4. +
    5. Fix SWF
    6. +
    7. Overview
    8. +
    + + + diff --git a/dist/thymeleaf/projects/html-experimente.html b/dist/thymeleaf/projects/html-experimente.html new file mode 100644 index 00000000..77baf034 --- /dev/null +++ b/dist/thymeleaf/projects/html-experimente.html @@ -0,0 +1,176 @@ + + + + HTML-Experimente + + + + +
      +
    1. Home
    2. +
    3. Projects
    4. +
    5. HTML-Experimente
    6. +
    + +
    +

    HTML-Elemente / spezielle Seiten

    + +

    Layout-Grenzfälle

    + +

    Layout-Variationen

    + +

    Testseiten für einzelne Seiten-Bestandteile

    + +

    Anderer Krams...

    + +
    + + diff --git a/dist/thymeleaf/projects/html-experimente/basis-layout.html b/dist/thymeleaf/projects/html-experimente/basis-layout.html new file mode 100644 index 00000000..fe6fb75b --- /dev/null +++ b/dist/thymeleaf/projects/html-experimente/basis-layout.html @@ -0,0 +1,31 @@ + + + + HTML-Experimente - Basis-Layout + + + + +
      +
    1. Home
    2. +
    3. Projects
    4. +
    5. HTML-Experimente
    6. +
    7. Nur das Basis-Layout
    8. +
    + + + + diff --git a/dist/thymeleaf/projects/html-experimente/breadcrumb.html b/dist/thymeleaf/projects/html-experimente/breadcrumb.html new file mode 100644 index 00000000..21a1f47b --- /dev/null +++ b/dist/thymeleaf/projects/html-experimente/breadcrumb.html @@ -0,0 +1,28 @@ + + + + HTML-Experimente - Langer Breadcrumb + + + + +
      +
    1. Home
    2. +
    3. Projects
    4. +
    5. HTML-Experimente
    6. +
    7. Dies ist ein Seite mit einem unendlich langen Breadcrumb-Eintrag der bestimmt nicht in den vorgesehenen Platz passt
    8. +
    + + + diff --git a/dist/thymeleaf/projects/html-experimente/druck-layout.html b/dist/thymeleaf/projects/html-experimente/druck-layout.html new file mode 100644 index 00000000..45ca8a74 --- /dev/null +++ b/dist/thymeleaf/projects/html-experimente/druck-layout.html @@ -0,0 +1,31 @@ + + + + HTML-Experimente - Druck-Layout + + + + +
      +
    1. Home
    2. +
    3. Projects
    4. +
    5. HTML-Experimente
    6. +
    7. Druck-Layout
    8. +
    + + + + diff --git a/dist/thymeleaf/projects/html-experimente/fast-leer-einspaltig-mit-marginalinhalt.html b/dist/thymeleaf/projects/html-experimente/fast-leer-einspaltig-mit-marginalinhalt.html new file mode 100644 index 00000000..18a2738d --- /dev/null +++ b/dist/thymeleaf/projects/html-experimente/fast-leer-einspaltig-mit-marginalinhalt.html @@ -0,0 +1,42 @@ + + + + HTML-Experimente - Fast leere einspaltige Seite mit Marginalinhalt + + + + +
      +
    1. Home
    2. +
    3. Projects
    4. +
    5. HTML-Experimente
    6. +
    7. Leer, einspaltig, Marginal
    8. +
    + +
    +

    Fast leere einspaltige Seite mit Marginalinhalt

    +
    + + + diff --git a/dist/thymeleaf/projects/html-experimente/fast-leer-einspaltig.html b/dist/thymeleaf/projects/html-experimente/fast-leer-einspaltig.html new file mode 100644 index 00000000..86f07d13 --- /dev/null +++ b/dist/thymeleaf/projects/html-experimente/fast-leer-einspaltig.html @@ -0,0 +1,39 @@ + + + + HTML-Experimente - Fast leere einspaltige Seite + + + + +
      +
    1. Home
    2. +
    3. Projects
    4. +
    5. HTML-Experimente
    6. +
    7. Leer, einspaltig
    8. +
    + +
    +

    Fast leere einspaltige Seite

    +
    + + diff --git "a/dist/thymeleaf/projects/html-experimente/fast-leer-kein-men\303\274-aber-marginalinhalt.html" "b/dist/thymeleaf/projects/html-experimente/fast-leer-kein-men\303\274-aber-marginalinhalt.html" new file mode 100644 index 00000000..93c38ec9 --- /dev/null +++ "b/dist/thymeleaf/projects/html-experimente/fast-leer-kein-men\303\274-aber-marginalinhalt.html" @@ -0,0 +1,42 @@ + + + + HTML-Experimente - Fast leere Seite ohne Menü aber mit Marginalspalte + + + + +
      +
    1. Home
    2. +
    3. Projects
    4. +
    5. HTML-Experimente
    6. +
    7. Leer, ohne Menü, mit Marginal
    8. +
    + +
    +

    Fast leere Seite ohne Menü aber mit Marginalinhalt

    +
    + + + diff --git "a/dist/thymeleaf/projects/html-experimente/fast-leer-kein-men\303\274.html" "b/dist/thymeleaf/projects/html-experimente/fast-leer-kein-men\303\274.html" new file mode 100644 index 00000000..387236f1 --- /dev/null +++ "b/dist/thymeleaf/projects/html-experimente/fast-leer-kein-men\303\274.html" @@ -0,0 +1,39 @@ + + + + HTML-Experimente - Fast leere Seite ohne Menü + + + + +
      +
    1. Home
    2. +
    3. Projects
    4. +
    5. HTML-Experimente
    6. +
    7. Leer, ohne Menü
    8. +
    + +
    +

    Fast leere Seite ohne Menü

    +
    + + diff --git "a/dist/thymeleaf/projects/html-experimente/fast-leer-mit-men\303\274-und-marginalinhalt.html" "b/dist/thymeleaf/projects/html-experimente/fast-leer-mit-men\303\274-und-marginalinhalt.html" new file mode 100644 index 00000000..9c24fd8f --- /dev/null +++ "b/dist/thymeleaf/projects/html-experimente/fast-leer-mit-men\303\274-und-marginalinhalt.html" @@ -0,0 +1,33 @@ + + + + HTML-Experimente - Fast leere Seite mit Menü und Marginalinhalt + + + + +
      +
    1. Home
    2. +
    3. Projects
    4. +
    5. HTML-Experimente
    6. +
    7. Leer, mit Menü
    8. +
    + +
    +

    Fast leere Seite mit Menü und Marginalinhalt

    +
    + + + diff --git "a/dist/thymeleaf/projects/html-experimente/fast-leer-mit-men\303\274.html" "b/dist/thymeleaf/projects/html-experimente/fast-leer-mit-men\303\274.html" new file mode 100644 index 00000000..4f8c1bfe --- /dev/null +++ "b/dist/thymeleaf/projects/html-experimente/fast-leer-mit-men\303\274.html" @@ -0,0 +1,30 @@ + + + + HTML-Experimente - Fast leere Seite mit Menü + + + + +
      +
    1. Home
    2. +
    3. Projects
    4. +
    5. HTML-Experimente
    6. +
    7. Leer, mit Menü
    8. +
    + +
    +

    Fast leere Seite mit Menü

    +
    + + diff --git a/dist/thymeleaf/projects/html-experimente/formulare.html b/dist/thymeleaf/projects/html-experimente/formulare.html new file mode 100644 index 00000000..03a8514f --- /dev/null +++ b/dist/thymeleaf/projects/html-experimente/formulare.html @@ -0,0 +1,278 @@ + + + + HTML-Experimente - Formulare + + + + +
      +
    1. Home
    2. +
    3. Projects
    4. +
    5. HTML-Experimente
    6. +
    7. Formulare
    8. +
    + +
    +

    Formulare

    +
    +

    Anzeigetext

    +
    + + + < Fehler: Es wurde kein Text für die Anzeige eingegeben! +
    +
    +
    +

    Textformatierung

    +
    + + Die zusätzlichen Gestaltungsoptionen sind nur für das Magazin wählbar.
    + Online erscheint die Anzeige als normaler Fließtext. +
    +
    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    +
    +
    +
    +

    Einspaltige Radiobuttons...

    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    +
    +
    + + + +
    +
    +
    +

    Bild

    +
    + + Du kannst Deiner Anzeige ein Bild hinzufügen. + Das Bild erscheint nur online. + Im Magazin erscheint die Kleinanzeige mit Hinweis auf das Onlinebild. + +
    +
    + + +
    +
    + + +
    +
    +
    +
    +

    Alleinstehende Checkbox

    +
    + + +
    +
    +
    +

    Kundendaten

    +

    + Pflichtfelder sind mit einem + * markiert. +

    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + + < Fehler: Dies ist ein Pflichtfeld! +
    +
    + + +
    +
    + + +
    +
    +
    + +
    +
    +
    +

    Anzeige regionalisieren

    +

    + Indem Du Deine Kleinanzeige einer Stadt zuordnest, können Interessenten + diese online leichter finden, wenn sie nur nach Kleinanzeigen aus + bestimmten Städten suchen. + Du kannst auch keine Stadt zuordnen, dann wird die Kleinanzeige von + diesen Interessenten aber auch nicht gefunden. +

    +
    +
    + + +

    + Das Feld leer lassen, wenn die Anzeige nicht regionalisiert werden soll. +

    +
    +
    +
    +

    Ein Passwort-Eingabe-Feld

    +
    + + +
    +
    +
    +

    Lade das Bild hoch

    +

    + Du kannst ein Bild im JPEG- oder PNG-Format hochladen. + Das Bild darf nicht größer als 8 MByte sein. +

    +
    + + +
    +
    +
    + + +
    +
    +
    +

    Antworten

    +

    + Pflichtfelder sind mit einem + * markiert. +

    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    +
    +
    +

    Weiter mit Anmeldung

    +
    + + +
    +
    + + +
    +
    +
    +

    Weiter ohne Anmeldung

    + +
    + Was steht da? + Captcha +
    +
    + + +
    +
    +
    +
    + + diff --git a/dist/thymeleaf/projects/html-experimente/kein-layout.html b/dist/thymeleaf/projects/html-experimente/kein-layout.html new file mode 100644 index 00000000..19991b26 --- /dev/null +++ b/dist/thymeleaf/projects/html-experimente/kein-layout.html @@ -0,0 +1,26 @@ + + + + HTML-Experimente - Kein Layout + + +
      +
    1. Home
    2. +
    3. Projects
    4. +
    5. HTML-Experimente
    6. +
    7. Alle Stylings deaktiviert
    8. +
    + + + + diff --git a/dist/thymeleaf/projects/html-experimente/phone.html b/dist/thymeleaf/projects/html-experimente/phone.html new file mode 100644 index 00000000..00b47665 --- /dev/null +++ b/dist/thymeleaf/projects/html-experimente/phone.html @@ -0,0 +1,29 @@ + + + + HTML-Experimente - Layout PHONE + + + + + +
      +
    1. Home
    2. +
    3. Projects
    4. +
    5. HTML-Experimente
    6. +
    7. Layout PHONE
    8. +
    + + + + diff --git a/dist/thymeleaf/projects/html-experimente/seitenaufteilung.html b/dist/thymeleaf/projects/html-experimente/seitenaufteilung.html new file mode 100644 index 00000000..592764e6 --- /dev/null +++ b/dist/thymeleaf/projects/html-experimente/seitenaufteilung.html @@ -0,0 +1,29 @@ + + + + HTML-Experimente - Basis-Layout & Seitenaufteilung + + + + + +
      +
    1. Home
    2. +
    3. Projects
    4. +
    5. HTML-Experimente
    6. +
    7. Basis-Layout & Seitenaufteilung
    8. +
    + + + + diff --git a/dist/thymeleaf/projects/html-experimente/seitenkopf.html b/dist/thymeleaf/projects/html-experimente/seitenkopf.html new file mode 100644 index 00000000..e94d6c62 --- /dev/null +++ b/dist/thymeleaf/projects/html-experimente/seitenkopf.html @@ -0,0 +1,29 @@ + + + + HTML-Experimente - Basis-Layout & Seitenkopf + + + + + +
      +
    1. Home
    2. +
    3. Projects
    4. +
    5. HTML-Experimente
    6. +
    7. Basis-Layout & Seitenkopf
    8. +
    + + + + diff --git a/dist/thymeleaf/projects/html-experimente/symbole.html b/dist/thymeleaf/projects/html-experimente/symbole.html new file mode 100644 index 00000000..451f81a3 --- /dev/null +++ b/dist/thymeleaf/projects/html-experimente/symbole.html @@ -0,0 +1,425 @@ + + + + HTML-Experimente - Symbol-Font + + + + +
      +
    1. Home
    2. +
    3. Projects
    4. +
    5. HTML-Experimente
    6. +
    7. Symbol-Font
    8. +
    + +
    +

    Symbol-Font

    +

    100%

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +

    200%

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +

    300%

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +

    400%

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +

    500%

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + diff --git a/dist/thymeleaf/projects/html-experimente/tablet.html b/dist/thymeleaf/projects/html-experimente/tablet.html new file mode 100644 index 00000000..8274921c --- /dev/null +++ b/dist/thymeleaf/projects/html-experimente/tablet.html @@ -0,0 +1,29 @@ + + + + HTML-Experimente - Layout TABLET + + + + + +
      +
    1. Home
    2. +
    3. Projects
    4. +
    5. HTML-Experimente
    6. +
    7. Layout TABLET
    8. +
    + + + + diff --git a/dist/thymeleaf/projects/html-experimente/testlab.html b/dist/thymeleaf/projects/html-experimente/testlab.html new file mode 100644 index 00000000..0d99216c --- /dev/null +++ b/dist/thymeleaf/projects/html-experimente/testlab.html @@ -0,0 +1,269 @@ + + + + HTML-Experimente - Media-Query-Test: BEISPIEL + + + + +
    +
    +

    Anzeigetext

    +
    + + + < Fehler: Es wurde kein Text für die Anzeige eingegeben! +
    +
    +
    +

    Textformatierung

    +
    + + Die zusätzlichen Gestaltungsoptionen sind nur für das Magazin wählbar.
    + Online erscheint die Anzeige als normaler Fließtext. +
    +
    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    +
    +
    +
    +

    Einspaltige Radiobuttons...

    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    +
    +
    + + + +
    +
    +
    +

    Bild

    +
    + + Du kannst Deiner Anzeige ein Bild hinzufügen. + Das Bild erscheint nur online. + Im Magazin erscheint die Kleinanzeige mit Hinweis auf das Onlinebild. + +
    +
    + + +
    +
    + + +
    +
    +
    +
    +

    Alleinstehende Checkbox

    +
    + + +
    +
    +
    +

    Kundendaten

    +

    + Pflichtfelder sind mit einem + * markiert. +

    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + + < Fehler: Dies ist ein Pflichtfeld! +
    +
    + + +
    +
    + + +
    +
    +
    + +
    +
    +
    +

    Anzeige regionalisieren

    +

    + Indem Du Deine Kleinanzeige einer Stadt zuordnest, können Interessenten + diese online leichter finden, wenn sie nur nach Kleinanzeigen aus + bestimmten Städten suchen. + Du kannst auch keine Stadt zuordnen, dann wird die Kleinanzeige von + diesen Interessenten aber auch nicht gefunden. +

    +
    +
    + + +

    + Das Feld leer lassen, wenn die Anzeige nicht regionalisiert werden soll. +

    +
    +
    +
    +

    Ein Passwort-Eingabe-Feld

    +
    + + +
    +
    +
    +

    Lade das Bild hoch

    +

    + Du kannst ein Bild im JPEG- oder PNG-Format hochladen. + Das Bild darf nicht größer als 8 MByte sein. +

    +
    + + +
    +
    +
    + + +
    +
    +
    +

    Antworten

    +

    + Pflichtfelder sind mit einem + * markiert. +

    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    +
    +
    +

    Weiter mit Anmeldung

    +
    + + +
    +
    + + +
    +
    +
    +

    Weiter ohne Anmeldung

    + +
    + Was steht da? + Captcha +
    +
    + + +
    +
    +
    +
    + + diff --git a/dist/thymeleaf/projects/html-experimente/tiny.html b/dist/thymeleaf/projects/html-experimente/tiny.html new file mode 100644 index 00000000..7cfbf3b7 --- /dev/null +++ b/dist/thymeleaf/projects/html-experimente/tiny.html @@ -0,0 +1,29 @@ + + + + HTML-Experimente - Layout TINY + + + + + +
      +
    1. Home
    2. +
    3. Projects
    4. +
    5. HTML-Experimente
    6. +
    7. Layout TINY
    8. +
    + + + + diff --git a/dist/thymeleaf/projects/typo.html b/dist/thymeleaf/projects/typo.html new file mode 100644 index 00000000..80ccaca9 --- /dev/null +++ b/dist/thymeleaf/projects/typo.html @@ -0,0 +1,127 @@ + + + + Typography + + + + + +
      +
    1. Home
    2. +
    3. Projects
    4. +
    5. Typography
    6. +
    + +
    +

    Typography

    +

    + Lorem ipsum dolor sit amet, consectetur adipisicing elit, + sed do eiusmod tempor incididunt ut labore et dolore + magna aliqua. Ut enim ad minim veniam, quis nostrud + exercitation ullamco laboris nisi ut aliquip + ex ea commodo consequat. Duis aute irure dolor in reprehenderit + in voluptate velit esse cillum dolore eu fugiat nulla pariatur. + Excepteur sint occaecat cupidatat non proident, + sunt in culpa qui officia deserunt mollit anim id est laborum. +

    +

    Ein Link im Titel

    +

    Ein Link im Text.

    +

    Normal / Italic / Bold / Bold+Italic

    +
      +
    • normal
    • +
    • italic
    • +
    • bold
    • +
    • bold italic
    • +
    +

    + ÄäÖöÜüß@€¢ + ÄäÖöÜüß@€¢ + ÄäÖöÜüß@€¢ + ÄäÖöÜüß@€¢ +

    +

    H1: Heading

    +

    H2: Heading

    +

    H3: Heading

    +

    H4: Heading

    +

    H1: Heading

    +

    + Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do + eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim + ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut + aliquip ex ea commodo consequat. Duis aute irure dolor in + reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla + pariatur. Excepteur sint occaecat cupidatat non proident, sunt in + culpa qui officia deserunt mollit anim id est laborum. +

    +

    H2: Heading

    +

    + Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do + eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim + ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut + aliquip ex ea commodo consequat. Duis aute irure dolor in + reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla + pariatur. Excepteur sint occaecat cupidatat non proident, sunt in + culpa qui officia deserunt mollit anim id est laborum. +

    +

    H3: Heading

    +

    + Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do + eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim + ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut + aliquip ex ea commodo consequat. Duis aute irure dolor in + reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla + pariatur. Excepteur sint occaecat cupidatat non proident, sunt in + culpa qui officia deserunt mollit anim id est laborum. +

    +

    H4: Heading

    +

    + Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do + eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim + ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut + aliquip ex ea commodo consequat. Duis aute irure dolor in + reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla + pariatur. Excepteur sint occaecat cupidatat non proident, sunt in + culpa qui officia deserunt mollit anim id est laborum. +

    +

    Preformatted code

    +

    + Juplo Branding uses + google-code-prettify for automatic + syntax highlighting. +

    +
    <plugin>
    +  <groupId>ro.isdc.wro4j</groupId>
    +  <artifactId>wro4j-maven-plugin</artifactId>
    +  <version>${wro4j.version}</version>
    +  <configuration>
    +    <wroManagerFactory>ro.isdc.wro.maven.plugin.manager.factory.ConfigurableWroManagerFactory</wroManagerFactory>
    +    <cssDestinationFolder>${project.build.directory}/${project.build.finalName}/css/</cssDestinationFolder>
    +  </configuration>
    +  <executions>
    +    <execution>
    +      <phase>package</phase>
    +      <goals>
    +        <goal>run</goal>
    +      </goals>
    +    </execution>
    +  </executions>
    +</plugin>
    +
    +
    + + diff --git a/dist/thymeleaf/references.html b/dist/thymeleaf/references.html new file mode 100644 index 00000000..c8dde0ea --- /dev/null +++ b/dist/thymeleaf/references.html @@ -0,0 +1,48 @@ + + + + References + + + + +
      +
    1. Home
    2. +
    3. About
    4. +
    5. References
    6. +
    + +
    + + diff --git a/dist/thymeleaf/templates/fragments.html b/dist/thymeleaf/templates/fragments.html new file mode 100644 index 00000000..ca25678f --- /dev/null +++ b/dist/thymeleaf/templates/fragments.html @@ -0,0 +1,60 @@ + + + + Fragments + + + + +

    Explanation fo the german word "Impressum"

    +
    + +
    +

    Work-in-progress-hint

    +
    +
    +

    PAGE-TITLE

    +
    + Comming soon... +

    + PAGE-CONTENT +

    +
    +
    +
    +

    Marginalspalte

    +
    +
    + + +
    +
    + + diff --git a/dist/thymeleaf/templates/layout.html b/dist/thymeleaf/templates/layout.html new file mode 100644 index 00000000..128bbf63 --- /dev/null +++ b/dist/thymeleaf/templates/layout.html @@ -0,0 +1,161 @@ + + + + juplo - BASISTEMPLATE + + + + + + + + + + +
    + + +
    +
    +

    juplo - BASISTEMPLATE

    +
    +

    + Lorem ipsum dolor + sit amet, + consectetur adipisicing elit, sed do eiusmod tempor incididunt ut + labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud + exercitation + ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute + irure dolor in reprehenderit in voluptate velit esse cillum dolore + eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non + proident, sunt in culpa qui officia deserunt mollit anim id est + laborum. +

    +

    Duis aute irure dolor

    +
      +
    • Operators and other mathematical stuff: -+/*
    • +
    • + Characters offten used in programming languages: + {(<>)}@$?%*#;:&/\!^"'`~ +
    • +
    • Special german characters: ÄäÖöÜü
    • +
    • Other special characters: @?¢§%°
    • +
    +

    Excepteur sint occaecat cupidatat

    +

    + Lorem ipsum dolor sit amet, consectetur adipisicing elit, + sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris + nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in + reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla + pariatur. Excepteur sint occaecat cupidatat non proident, sunt in + culpa qui officia deserunt mollit anim id est laborum. +

    +

    + Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do + eiusmod tempor incididunt ut labore et dolore magna aliqua. + Ut enim ad minim veniam, quis nostrud exercitation + ullamco laboris nisi ut aliquip ex ea commodo consequat. + Duis aute irure dolor in reprehenderit in voluptate velit esse + cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat + cupidatat non proident, sunt in culpa qui officia deserunt mollit + anim id est laborum. +

    +
    +
    +
    + + + +
    +
    + +
    + + diff --git a/dist/thymeleaf/templates/testlab.html b/dist/thymeleaf/templates/testlab.html new file mode 100644 index 00000000..c382c607 --- /dev/null +++ b/dist/thymeleaf/templates/testlab.html @@ -0,0 +1,70 @@ + + + + juplo - TESTLABTEMPLATE + + + +

    TESTLAB-TEMPLATE

    +
    970px +
    670px +
    480px +
    320px + CONTENT +
    +
    +
    +
    + + diff --git a/dist/thymeleaf/urheberrechte.html b/dist/thymeleaf/urheberrechte.html new file mode 100644 index 00000000..9301d6e5 --- /dev/null +++ b/dist/thymeleaf/urheberrechte.html @@ -0,0 +1,48 @@ + + + + Urheberrecht + + + + +
      +
    1. Home
    2. +
    3. Impressum
    4. +
    5. Urheberrechte
    6. +
    + +
    +

    Urheberrechte

    +

    Die auf unseren Internetseiten enthaltenen Werke und Inhalte unterstehen dem Urheberrecht. Ohne schriftliche Genehmigung des jeweiligen Erstellers oder Autors dürfen die Werke bzw. Inhalte nicht vervielfältigt, bearbeitet, verbreitet und verwertet werden. Das Herunterladen und Kopieren unserer Internetseite ist für den privaten Gebrauch erlaubt, nicht jedoch für den kommerziellen. Wir weisen darauf hin, dass hinsichtlich der Inhalte auf unserer Internetseite, soweit sie nicht von uns erstellt worden sind, das Urheberrecht von Dritten beachtet wurde. Inhalte von Dritten erhalten als solche eine Kennzeichnung von uns. Wir wären Ihnen dankbar, wenn Sie uns einen Hinweis erteilen würden, falls Sie trotzdem auf eine Urheberrechtsverletzung gestoßen sind. Wenn wir von einer solchen Urheberrechtsverletzung Kenntnis erlangen, werden wir den entsprechenden Inhalt unverzüglich entfernen.

    +

    Quelle: Flegl Rechtsanwälte GmbH

    +
    + + + diff --git a/less/base.less b/less/base.less new file mode 100644 index 00000000..7db4285e --- /dev/null +++ b/less/base.less @@ -0,0 +1,13 @@ +@import 'variables.less'; +@import 'base/browserreset.less'; +@import 'base/fonts.less'; +@import 'base/util.less'; +@import 'base/typo.less'; +@import 'base/head.less'; +@import 'base/navigation.less'; +@import 'base/content.less'; +@import 'base/prettify.less'; +@import 'base/marginal.less'; +@import 'base/footer.less'; +@import 'base/formulare.less'; +@import 'base/404.less'; diff --git a/less/base/404.less b/less/base/404.less new file mode 100644 index 00000000..176ae548 --- /dev/null +++ b/less/base/404.less @@ -0,0 +1,91 @@ +.withbackground .content > .marginal > #nav +{ + z-index: 2; +} +.withbackground .content > .main +{ + display: block; +} +.withbackground .content > .main > * +{ + position: relative; + z-index: 3; +} +#footer +{ + z-index: 3; +} +.withbackground .content > .main > .background +{ + .bpreplay; + display: block; + position: absolute; + z-index: 1; + line-height: .8em; + height: .8em; + overflow: hidden; +} +.withbackground .content > .main > .heller +{ + color: @heller; + z-index: 2; +} +.withbackground .content > .main > .sehrhell +{ + color: @sehrhell; + text-shadow: .02em .01em 0 @hintergrund; +} +#bs1 +{ + font-size: 2000%; + top: 55%; + left: 11%; +} +#bs2 +{ + font-size: 2600%; + top: 30%; + right: -1%; +} +#bs3 +{ + font-size: 5000%; + top: -5%; + right: -5%; +} +#bs4 +{ + font-size: 600%; + top: 0; + left: 50%; +} +#bs5 +{ + font-size: 3600%; + top: 13%; + left: 35%; +} +#bs6 +{ + font-size: 2000%; + top: 0%; + left: 23%; +} +#bs7 +{ + font-size: 600%; + top: 72%; + left: 5%; +} +#bs8 +{ + font-size: 2200%; + top: 10%; + right: 27%; +} +#bs9 +{ + font-size: 1200%; + bottom: 26%; + left: 36%; +} diff --git a/less/base/browserreset.less b/less/base/browserreset.less new file mode 100644 index 00000000..9f8fc4ec --- /dev/null +++ b/less/base/browserreset.less @@ -0,0 +1,67 @@ +/** Browser-Reset *************************************************************/ + + +/** v1.0 | 20080212, s. http://meyerweb.com/eric/tools/css/reset/ */ + +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, font, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td { + margin: 0; + padding: 0; + border: 0; + outline: 0; + font-size: 100%; + vertical-align: baseline; + background: transparent; +} +body { + line-height: 1; +} +ol, ul { + list-style: none; +} +blockquote, q { + quotes: none; +} +blockquote:before, blockquote:after, +q:before, q:after { + content: ''; + content: none; +} + +/* remember to define focus styles! */ +:focus { + outline: 0; +} + +/* remember to highlight inserts somehow! */ +ins { + text-decoration: none; +} +del { + text-decoration: line-through; +} + +/* tables still need 'cellspacing="0"' in the markup */ +table { + border-collapse: collapse; + border-spacing: 0; +} + + +/** Eigene Reset-Erweiterungen */ + +a { + color: inherit; + text-decoration: none; +} +hr { + padding: 0; + margin: 0; +} diff --git a/less/base/content.less b/less/base/content.less new file mode 100644 index 00000000..e69de29b diff --git a/less/base/fonts.less b/less/base/fonts.less new file mode 100644 index 00000000..ff87c0e7 --- /dev/null +++ b/less/base/fonts.less @@ -0,0 +1,112 @@ +@font-face +{ + font-family: 'BPreplay'; + src: url('../fonts/BPreplay-webfont.eot'); + src: url('../fonts/BPreplay-webfont.eot?#iefix') format('embedded-opentype'), + url('../fonts/BPreplay-webfont.woff') format('woff'), + url('../fonts/BPreplay-webfont.ttf') format('truetype'), + url('../fonts/BPreplay-webfont.svg#BPreplayRegular') format('svg'); + font-weight: normal; + font-style: normal; +} + +@font-face +{ + font-family: 'BPreplay'; + src: url('../fonts/BPreplayItalics-webfont.eot'); + src: url('../fonts/BPreplayItalics-webfont.eot?#iefix') format('embedded-opentype'), + url('../fonts/BPreplayItalics-webfont.woff') format('woff'), + url('../fonts/BPreplayItalics-webfont.ttf') format('truetype'), + url('../fonts/BPreplayItalics-webfont.svg#BPreplayItalic') format('svg'); + font-weight: normal; + font-style: italic; +} + +@font-face +{ + font-family: 'BPreplay'; + src: url('../fonts/BPreplayBold-webfont.eot'); + src: url('../fonts/BPreplayBold-webfont.eot?#iefix') format('embedded-opentype'), + url('../fonts/BPreplayBold-webfont.woff') format('woff'), + url('../fonts/BPreplayBold-webfont.ttf') format('truetype'), + url('../fonts/BPreplayBold-webfont.svg#BPreplayBold') format('svg'); + font-weight: bold; + font-style: normal; +} + +@font-face +{ + font-family: 'BPreplay'; + src: url('../fonts/BPreplayBoldItalics-webfont.eot'); + src: url('../fonts/BPreplayBoldItalics-webfont.eot?#iefix') format('embedded-opentype'), + url('../fonts/BPreplayBoldItalics-webfont.woff') format('woff'), + url('../fonts/BPreplayBoldItalics-webfont.ttf') format('truetype'), + url('../fonts/BPreplayBoldItalics-webfont.svg#BPreplayBoldItalic') format('svg'); + font-weight: bold; + font-style: italic; +} + +@font-face +{ + font-family: 'DroidSerif'; + src: url('../fonts/DroidSerif-Regular-webfont.eot'); + src: url('../fonts/DroidSerif-Regular-webfont.eot?#iefix') format('embedded-opentype'), + url('../fonts/DroidSerif-Regular-webfont.woff') format('woff'), + url('../fonts/DroidSerif-Regular-webfont.ttf') format('truetype'), + url('../fonts/DroidSerif-Regular-webfont.svg#DroidSerifRegular') format('svg'); + font-weight: normal; + font-style: normal; + +} + +@font-face +{ + font-family: 'DroidSerif'; + src: url('../fonts/DroidSerif-Italic-webfont.eot'); + src: url('../fonts/DroidSerif-Italic-webfont.eot?#iefix') format('embedded-opentype'), + url('../fonts/DroidSerif-Italic-webfont.woff') format('woff'), + url('../fonts/DroidSerif-Italic-webfont.ttf') format('truetype'), + url('../fonts/DroidSerif-Italic-webfont.svg#DroidSerifItalic') format('svg'); + font-weight: normal; + font-style: italic; + +} + +@font-face +{ + font-family: 'DroidSerif'; + src: url('../fonts/DroidSerif-Bold-webfont.eot'); + src: url('../fonts/DroidSerif-Bold-webfont.eot?#iefix') format('embedded-opentype'), + url('../fonts/DroidSerif-Bold-webfont.woff') format('woff'), + url('../fonts/DroidSerif-Bold-webfont.ttf') format('truetype'), + url('../fonts/DroidSerif-Bold-webfont.svg#DroidSerifBold') format('svg'); + font-weight: bold; + font-style: normal; + +} + +@font-face +{ + font-family: 'DroidSerif'; + src: url('../fonts/DroidSerif-BoldItalic-webfont.eot'); + src: url('../fonts/DroidSerif-BoldItalic-webfont.eot?#iefix') format('embedded-opentype'), + url('../fonts/DroidSerif-BoldItalic-webfont.woff') format('woff'), + url('../fonts/DroidSerif-BoldItalic-webfont.ttf') format('truetype'), + url('../fonts/DroidSerif-BoldItalic-webfont.svg#DroidSerifBoldItalic') format('svg'); + font-weight: bold; + font-style: italic; + +} + +@font-face +{ + font-family: 'symbols'; + src: url('../fonts/symbols.eot'); + src: url('../fonts/symbols.eot?#iefix') format('embedded-opentype'), + url('../fonts/symbols.woff') format('woff'), + url('../fonts/symbols.ttf') format('truetype'), + url('../fonts/symbols.svg#symbols') format('svg'); + font-weight: normal; + font-style: normal; +} + diff --git a/less/base/footer.less b/less/base/footer.less new file mode 100644 index 00000000..16d95a8e --- /dev/null +++ b/less/base/footer.less @@ -0,0 +1,31 @@ +#footerlinks +{ + .bpreplay; + position: relative; + margin: 0; + padding: 0; + list-style-type: none; +} +#footerlinks li.f +{ + font-size: 137.5%; /** 22 px */ + float: left; + margin: .5em 1em 0 0; +} +#footerlinks #copyright +{ + color: @schrift; + margin: 0; + width: 100%; +} +#footerlinks a.f +{ + color: @normal; + border-color: @normal; +} +#footerlinks a.f:hover +{ + color: @dunkler; + border-color: @dunkler; + border-style: solid; +} diff --git a/less/base/formulare.less b/less/base/formulare.less new file mode 100644 index 00000000..55a7a8a6 --- /dev/null +++ b/less/base/formulare.less @@ -0,0 +1,419 @@ +/** Formulare *****************************************************************/ + +.form { + position: relative; + width: 100%; + overflow: hidden; +} + +/** Trennlinie */ +.form hr.f { + border-style: none; + border-top-style: dashed; + border-color: @normal; + border-width: .0625em; + margin: .625em 0; /** 10px 0 */ + background-color: transparent; +} + +/** Text im Formular */ +.form p.f { + color: @schrifthell; +} +.form p.f, +.form .radiobutton > legend.f, +.form .checkbox > legend.f, +.form .textarea > label.f { + display: block; + font-size: 87.5%; /** 14px */ + line-height: 1.5em; /** 21px */ + color: @schrifthell; + margin: .428571429em 0; /** 6px 0 */ +} + +/** Aufzählungen im Formular */ +.form ul.f, +.form ol.f { + color: @schrifthell; + margin: 1em 0; +} + +/** Info-Text */ +.form p.f.info, +.form .textarea > label.f.info, +.form .radiobutton > legend.f.info, +.form .checkbox > legend.f.info, +.form .textarea > label.f.info { + display: block; + font-size: 81.25%; /** 13px */ + line-height: 1.230769231em; /** 16px */ + font-style: italic; + color: @schrifthell; + padding: 0 0 0 1.538461538em; /** 0 0 0 20px */ + background-image: url(../img/em.png); + background-repeat: no-repeat; + background-position: 0 1px; + margin-top: .461538462em; /** 6px */ + margin-bottom: .461538462em; /** 6px */ +} +.form .info > a { + display: inline-block; +} + +/** Überschriften */ +.form h1.f { + font-size: 137.5%; /** 22px */ + letter-spacing: .0454545em; /** 1px */ + line-height: 1em; + padding: 0 0 .454545455em; /** 0 0 10px */ + border-bottom: .090909091em solid @normal; /** 2px */ + margin: .272727273em 0 .909090909em 0; /** 6px 0 20px 0 */ +} +.form h2.f { + font-size: 100%; /** 16px */ + letter-spacing: .0625em; /** 1px */ + text-transform: uppercase; + line-height: 1.625em; /** 26px */ + padding: 0 0 0 .125em; /** 0 0 0 2px */ + border-bottom: .0625em solid @normal; /** 1px */ + margin: 1.875em 0 .25em 0; /** 30px 0 4px 0 */ +} +.form h3.f { +/** border-bottom: 1px dashed @normal; */ +} +.form p.required { + text-indent: -999em; + margin: -1.785714286em 0 0 0; /** -25px 0 0 0 zu 14px */ +} +.form p.required > strong.r { + display: block; + float: right; + position: relative; + right: -994em; + margin-right: 1em; /** 14px */ + font-weight: normal; +} +.form p.required > strong.symbol { + font-size: 128.5714286%; /** 18px zu 14px */ + margin-right: .555555em; /** 10px */ + padding-top: .1666666em; /** 3px */ + right: -773.11em; /** Anpassung wegen abweichender Schriftgröße nötig: 994em * 14px / 18px */ + font-weight: 700; + color: @dunkel; +} + +/** Fehler-Hinweise */ +.f.error { + color: @fehler; +} +span.f.error { + display: block; + position: relative; + font-size: 87.5%; /** 14px */ + line-height: 1.214285714em; /** 17px */ + padding: .571428571em; /** 8px */ + color: @hintergrund; + background-color: @fehler; + margin: .857142857em 0 0 0; /** 12px 0 0 0 */ +} +span.f.error > span.e { + display: block; + width: .857142857em; /** 12px */ + height: .428571429em; /** 6px */ + background-image: url(../img/arrow-red.gif); + text-indent: -9999em; + position: absolute; + top: -.428571429em; /** -6px */ + left: 2.142857143em; /** 30px */ +} +span.f.error > strong.e { + text-transform: uppercase; +} + +/** Input, Select und Dateiupload mit Label */ +.form .text, +.form .select, +.form .file { + position: relative; + margin-bottom: .75em; /** 12px */ +} +.form .text, +.form .file { + margin-right: 10em; /** 160px */ +} +.form .select { + margin-right: 9em; /** 144px */ +} +h2.f + div.text, +h2.f + div.select, +h2.f + div.file, +h2.f + div.captcha, +p.f + div.text, +p.f + div.select, +p.f + div.file { + margin-top: 20px; +} +.form .text > label.f, +.form .textarea > label.f, +.form .select > label.f, +.form .file > label.f, +.form .captcha > span.f { + display: block; + position: relative; + font-size: 87.5%; /** 14px */ + line-height: 1.214285714em; /** 17px */ + padding: .571428571em 0 .571428571em 0; /** 8px 0 8px 0 */ + color: @schrift; +} +.form .file > label.f { + padding-top: .285714286em; /** 4px */ + padding-bottom: .285714286em; /** 4px */ +} +.form .captcha > span.f { + position: absolute; +} +.form .required > label.f { + padding-left: 1em; /** 14px */ +} +.form .required > label.f > .required { + display: block; + position: absolute; + font-size: 128.5714286%; /** 18px zu 14px */ + font-weight: 700; + color: @dunkel; + top: .611111111em; /** 11px */ + left: 0; +} +.form .file > label.f > .required { + top: .5em; /** 7px */ +} +.form .text > input.f, +.form .select > select.f, +.form .file > input.f { + display: block; + width: 100%; + position: absolute; + top: 0; + font-size: 81.25%; /** 13px */ + border: .076923077em solid @normal; /** 1px */ + color: @schrift; + background-color: @sehrhell; +} +.form .text > input.f { + line-height: 1.307692308em; /** 17px */ + padding: .538461538em; /** 7px */ + right: -12.307692308em; /** -160px */ +} +.form .select > select.f { + line-height: 1.230769231em; /** 16px */ + padding: .461538462em .538461538em; /** 6px 7px */ + right: -11.076923077em; /** -144px */ +} +.form .file > input.f { + margin-left: 11.076923077em; /** 144px */ +} +.form .captcha > img.f { + float: right; + margin-top: -.9375em; /** 15px */ + width: 7.5em; /** 120px */ + height: 3.75em; /** 60px */ +} +.form .text > input.f:focus, +.form .select > select.f:focus, +.form .text > input.f:active, +.form .select > select.f:active { + background-color: transparent; +} +.form .text > p.f.info, +.form .select > p.f.info, +.form .file > p.f.info { + position: relative; + left: 11.076923077em; /** 144px */ +} +.form .text > span.f.error, +.form .select > span.f.error, +.form .file > span.f.error { + width: 100%; + margin: .857142857em 0 0 10.285714286em; /** 12px 0 0 144px zu 14(!)px*/ +} + +/** Textfelder */ +.form .textarea { + position: relative; + margin: 0 .6875em .75em .6875em; /** 0px 11px 12px 11px */ +} +.form .textarea > label.f { + margin: .615384615em -.846153846em; /** 8px -11px */ +} +.form .textarea > textarea.f, +.form .textarea > div.textarea { + width: 100%; + border: .076923077em solid @normal; /** 1px */ + color: @schrift; + background-color: @sehrhell; + padding: .769230769em; /** 10px */ + position: relative; + left: -.846153846em; /** -11px */ +} +.form .textarea > div.textarea { + margin: 0; + font-size: 87.5%; /** 14px */ +} +.form .textarea > textarea.f:focus, +.form .textarea > textarea.f:active { + background-color: transparent; +} +.form .textarea > span.f.error { + margin: .714285714em -.785714286em 0 -.785714286em; /** 10px -11px 0 -11px */ +} + +/** Radiobuttons und Checkboxen */ +.form .radiobutton > legend.f.info, +.form .checkbox > legend.f.info { + padding: .230769231em 0 0 1.538461538em; /** 3px 0 0 20px zu 13px*/ + background-position: 0 .230769231em; /** 0 3px */ +} +.form .col2, +.form .radiobutton > .col2, +.form .checkbox > .col2 { + width: 48%; + float: left; +} +.form .col2.left, +.form .radiobutton > .col2.left, +.form .checkbox > .col2.left { + margin-right: 2%; +} +.form .col2.right, +.form .radiobutton > .col2.right, +.form .checkbox > .col2.right { + float: right; + margin-left: 2%; +} +.form div.checkbox, +.form .radiobutton > .f, +.form .checkbox > .f, +.form .radiobutton > .col2 > .f, +.form .checkbox > .col2 > .f { + position: relative; +} +.form div.checkbox > label.f, +.form .radiobutton > .f > label.f, +.form .checkbox > .f > label.f, +.form .radiobutton > .col2 > .f > label.f, +.form .checkbox > .col2 > .f > label.f { + display: block; + font-size: 87.5%; /** 14px */ + line-height: 1.285714286em; /** 18px */ + color: @schrift; + margin: .571428571em 0 .571428571em 1.428571429em; /** 8px 0 8px 20px */ +} +.form div.checkbox > input.f, +.form .radiobutton > .f > input.f, +.form .checkbox > .f > input.f, +.form .radiobutton > .col2 > .f > input.f, +.form .checkbox > .col2 > .f > input.f { + position: absolute; + margin: .285714286em 0; /** 4px 0 */ +} +.form div.checkbox > input.error, +.form .radiobutton > .f > input.error, +.form .checkbox > .f > input.error { + /** Wäre möglich -- konnte aber keine CSS-Eigenschaft finden, die sich rot färben ließ: der Firefox hat alles ignoriert! */ +} +.form div.checkbox:hover > label.f, +.form .radiobutton > .f:hover > label.f, +.form .checkbox > .f:hover > label.f, +.form div.checkbox:focus > label.f, +.form .radiobutton > .f:focus > label.f, +.form .checkbox > .f:focus > label.f, +.form div.checkbox:active > label.f, +.form .radiobutton > .f:active > label.f, +.form .checkbox > .f:active > label.f, +.form .radiobutton > .col2 > .f:hover > label.f, +.form .checkbox > .col2 > .f:hover > label.f, +.form .radiobutton > .col2 > .f:focus > label.f, +.form .checkbox > .col2 > .f:focus > label.f, +.form .radiobutton > .col2 > .f:active > label.f, +.form .checkbox > .col2 > .f:active > label.f { + color: @schrift; +} + +/** Sondereinstellungen für Fehler-Hervorhebungen */ +.form .text > input.error, +.form .textarea > textarea.error, +.form .select > select.error, +.form .file > input.error { + color: @schrift; + font-weight: 700; + border-color: @fehler; + background-color: @fehlerhell; +} + + +/** Absende-Buttons */ +ul.buttons, +ol.buttons { + margin: 0; + padding: 0; + list-style-type: none; + text-align: right; +} +ul.buttons > li.b, +ol.buttons > li.b { + display: inline-block; + margin: 0; + padding: 0; +} +.form .submit { + text-align: right; + margin-bottom: .75em; /** 12px */ +} +.form .submit > input.f, +.form .submit > a.f, +a.ln.button { + display: inline-block; + font-family: 'PT Sans', Helvetica, Arial, sans-serif; + font-size: 81.25%; /** 13px */ + letter-spacing: .076923077em; /** 1px */ + line-height: 25px; + padding:0 6px; + height: 1.923076923em; /** 25px */ + color: @hintergrund; + font-weight: 700; + background-color: @normal; + border-style: none; +} +.form .submit > input.f, +.form .submit > a.f, +ul.buttons > li.b, +ol.buttons > li.b { + margin: 0 0 0 .615384615em; /** 0 0 0 8px */ +} +a.ln.button:before { + content: none; +} +.form .submit > input.left, +.form .submit > a.left, +a.ln.button.left { + float: left; + margin: 0 .923076923em 0 0; /** 0 12px 0 0 */ +} +.form .submit > input.right, +.form .submit > a.right, +a.ln.button.right { + float: right; + margin: 0 0 0 .923076923em; /** 0 0 0 12px */ +} +.form .submit > input.f:hover, +.form .submit > a.f:hover, +a.ln.button:hover, +.form .submit > input.f:focus, +.form .submit > a.f:focus, +a.ln.button:focus, +.form .submit > a.f:active, +.form .submit > input.f:active, +a.ln.button:active { + background-color: @dunkel; + text-decoration: none; +} diff --git a/less/base/head.less b/less/base/head.less new file mode 100644 index 00000000..3c956271 --- /dev/null +++ b/less/base/head.less @@ -0,0 +1,26 @@ +#header +{ + .bpreplay; +} +#logo +{ + display: inline; + font-size: 400%; + line-height: 1.2em; + margin: 0; + padding: 0 0 0 .230769231em; /* 30px */ + color: @normal; + border: none; + position: relative; + left: -.3em; +} +#logo a.l:hover +{ + color: @dunkler; + border-style: none; +} +#slogan +{ + display: block; + color: @normal; +} diff --git a/less/base/marginal.less b/less/base/marginal.less new file mode 100644 index 00000000..9d12af5a --- /dev/null +++ b/less/base/marginal.less @@ -0,0 +1,7 @@ +.marginal h1 +{ + font-size: 125%; /** 20 px */ + line-height: 1em; /** 20px */ + margin: 1.5em 0 .5em 0; /** 30px 0 10px 0 */ + padding: 0; +} diff --git a/less/base/navigation.less b/less/base/navigation.less new file mode 100644 index 00000000..60874ab6 --- /dev/null +++ b/less/base/navigation.less @@ -0,0 +1,99 @@ +h2.nav +{ +} +#menu, +#submenu +{ + .bpreplay; + color: @normal; + margin: .5em 0 1.5em 0; + padding: 0.25em 0.25em 0.25em 1.5em; + border: 1px solid @normal; +} +#menu li.m, +#submenu li.s +{ + padding: .2em; +} +#menu li.m a.m, +#submenu li.s a.s +{ + color: @normal; +} +#menu li.m a.m:hover, +#submenu li.s a.s:hover +{ + color: @nochdunkler; +} +#menu li.m strong.m, +#menu li.m a.m.selected, +#menu li.m a.m:focus, +#menu li.m a.m:active, +#submenu li.s strong.s, +#submenu li.s a.s.selected, +#submenu li.s a.s:focus, +#submenu li.s a.s:active +{ + color: @dunkler; +} + +#breadcrumb +{ + .bpreplay; + color: @normal; +} +#breadcrumb strong.b.title +{ + float: left; + margin: 0 0.5em 0 0; +} +#breadcrumb ol.b +{ + display: inline; + margin: 0; + padding: 0; + list-style-type: none; +} +#breadcrumb ol.b li.b +{ + float: left; + margin: 0 0 0.5em 0.5em; + padding: 0; +} +#breadcrumb ol.b li.b:before +{ + content: '> '; +} +#breadcrumb ol.b li.b:first-child:before +{ + content: ''; +} +#breadcrumb ol.b li.b strong.b +{ + border-bottom: 1px solid @normal; +} +#breadcrumb ol.b li.b a.b +{ + color: @normal; +} +#breadcrumb ol.b li.b a.b:hover, +#breadcrumb ol.b li.b a.b:focus, +#breadcrumb ol.b li.b a.b:active +{ + color: @dunkler; +} +#breadcrumb a.hide +{ + position: static; +} +#breadcrumb a.hide:before +{ + content: ""; + display: table; + clear: both; +} +#breadcrumb hr.b +{ + clear: both; +} + diff --git a/less/base/prettify.less b/less/base/prettify.less new file mode 100644 index 00000000..b25145d4 --- /dev/null +++ b/less/base/prettify.less @@ -0,0 +1,39 @@ +/* Pretty printing styles. Used with prettify.js. */ +/* Vim sunburst theme by David Leibovic */ + +pre .str, code .str { color: #65B042; } /* string - green */ +pre .kwd, code .kwd { color: #E28964; } /* keyword - dark pink */ +pre .com, code .com { color: #AEAEAE; font-style: italic; } /* comment - gray */ +pre .typ, code .typ { color: #89bdff; } /* type - light blue */ +pre .lit, code .lit { color: #3387CC; } /* literal - blue */ +pre .pun, code .pun { color: #fff; } /* punctuation - white */ +pre .pln, code .pln { color: #fff; } /* plaintext - white */ +pre .tag, code .tag { color: #89bdff; } /* html/xml tag - light blue */ +pre .atn, code .atn { color: #bdb76b; } /* html/xml attribute name - khaki */ +pre .atv, code .atv { color: #65B042; } /* html/xml attribute value - green */ +pre .dec, code .dec { color: #3387CC; } /* decimal - blue */ + +pre.prettyprint, code.prettyprint { + background-color: #000; + overflow-x: scroll; +} + +pre.prettyprint { + width: 95%; + margin: 1em auto; + padding: 1em; + white-space: pre; +} + + +/* Specify class=linenums on a pre to get line numbering */ +ol.linenums { + margin-top: 0; + margin-bottom: 0; + color: #AEAEAE; +} /* IE indents via margin-left */ + +li.L0, li.L1, li.L2, li.L3, li.L4, li.L5, li.L6, li.L7, li.L8, li.L9 +{ + list-style-type: decimal; +} diff --git a/less/base/typo.less b/less/base/typo.less new file mode 100644 index 00000000..8e5e6031 --- /dev/null +++ b/less/base/typo.less @@ -0,0 +1,154 @@ +/** Typografische Grundeinstellungen ******************************************/ + +body +{ + .droid; + letter-spacing: 0; + line-height: 1.5em; + padding: .5em 1em 1em 1.5em; + background-color: @hintergrund; +} +h1, h2, h3, h4, h5, h6 +{ + .bpreplay; + color: @schrifthell; + line-height: 1.25em; + margin: 1.125em 0 .25em 0; /** Margin Top für h1 auf Marginalspalte abgestimmt! */ +} +h1 +{ + font-size: 137.5%; /** 22 px */ + color: @normal; + padding: 0 0 .25em 0; /** 0 0 5px 0 */ +} +h2 +{ + font-size: 125%; /** 20 px */ +} +h3 +{ + font-size: 112.5%; /** 18px */ +} +h4 +{ + /** font-size: 16px */ +} +h1 a, h2 a, h3 a, h4 a +{ + color: @normal; + border-style: none; +} +h1 a:hover, +h2 a:hover, +h3 a:hover, +h4 a:hover +{ + color: @dunkler; + border-bottom: 1px solid @dunkler; +} +h1 a:focus, +h2 a:focus, +h3 a:focus, +h4 a:focus, +h1 a:active, +h2 a:active, +h3 a:active, +h4 a:active +{ + color: @dunkel; + border-bottom: 1px solid @dunkel; +} +p +{ + margin: .5em 0 .5em 0; +} +ul, ol +{ + margin: .25em 0 .25em 0; /** 4px 0 4px 0 */ + padding: 0 0 0 1em; /** 0 0 0 16px */ +} +ul +{ + list-style-type: square; +} +ol +{ + list-style-type: decimal; + padding-left: 1.1875em; /** 19px */ +} +li +{ + padding-bottom: .25em; /** 2px */ +} +table, th, td +{ + padding: .1em .2em; +} +th, td +{ + font-size: 87.5%; /** 14px */ + line-height: 1.5em; /** 20px */ + border: .071428571em solid #000; /** 1px */ + padding: .214285714em .5em; /** 3px 7px */ +} +pre +{ + line-height: 1.2em; +} +code +{ + font-size: 120%; /** Otherwise, the font-size will be 75%, though not specified so anywhere!! */ + line-height: 1.2em; +} +hr +{ + border: none; + border-top: 2px solid @normal; + background-color: @normal; + height: 1px; + margin: 1em 0 1em 0; +} +a +{ + color: @dunkler; + border-bottom: 1px dashed @dunkler; +} +a:hover +{ + color: @nochdunkler; + border-bottom: 1px solid @nochdunkler; +} +a:focus, +a:active +{ + color: @dunkler; + border-bottom: 1px solid @dunkler; +} +a:visited +{ + border-bottom: 1px dotted @nochdunkler; +} + +h2 a, +h3 a, +h4 a +{ + color: @schrifthell; +} +h2 a:focus, +h2 a:active, +h3 a:focus, +h3 a:active, +h4 a:focus, +h4 a:active +{ + color: @normal; + border-bottom: 1px solid @normal; +} + + +.logo +{ + .bpreplay; + color: @normal; +} diff --git a/less/base/util.less b/less/base/util.less new file mode 100644 index 00000000..82a4fafc --- /dev/null +++ b/less/base/util.less @@ -0,0 +1,27 @@ +/** Allgemein nützliche Marker-Klassen */ + + +/** Micro Clearfix-Hack nach http://nicolasgallagher.com/micro-clearfix-hack/ */ + +.cf:before, +.cf:after { + content: ""; + display: table; +} +.cf:after { + clear:both; +} + +/** Hide helpful content in a way, that it is still accessible to screen-readers */ +.hide{ + position: absolute; + left: -99999999em; +} + + +/** Symbol-Font für Vektor-Icons */ + +.symbols +{ + font-family: 'symbols'; +} diff --git a/less/ie8.less b/less/ie8.less new file mode 100644 index 00000000..19ddbb89 --- /dev/null +++ b/less/ie8.less @@ -0,0 +1 @@ +body {} /** cssmin fails with an empty file! */ diff --git a/less/phone/404.less b/less/phone/404.less new file mode 100644 index 00000000..96fe2748 --- /dev/null +++ b/less/phone/404.less @@ -0,0 +1,62 @@ +.withbackground .content +{ + position: relative; +} +.withbackground .content > .main +{ + z-index: 1; +} +.withbackground .content > .marginal +{ + position: relative; + z-index: 3; + border-top: .142857143em solid @hintergrund; /** 2px */ +} +#bs1 +{ + top: -3%; +} +#bs2 +{ + font-size: 2000%; + top: 0%; + right: 3%; +} +#bs4 +{ + top: 5%; + left: 57%; + @media (max-width: 410px) + { + display: none; + } +} +#bs6 +{ + font-size: 1700%; + bottom: -10%; + left: 45%; +} +#bs7 +{ + top: 20%; + left: 2%; + @media (max-width: 410px) + { + top: 34%; + left: 30%; + } +} +#bs5, +#bs8 +{ + display: none; +} +#bs9 +{ + top: 20%; + @media (max-width: 410px) + { + display: none; + } +} diff --git a/less/phone/footer.less b/less/phone/footer.less new file mode 100644 index 00000000..01a021a8 --- /dev/null +++ b/less/phone/footer.less @@ -0,0 +1,35 @@ +#footer > #footerlinks +{ + position: static; + border-style: none; +} +#footer > #footerlinks > li.about +{ + display: none; +} +#footer > #footerlinks > li.f +{ + color: @hintergrund; + line-height: 1em; + margin: 0 1em 0 0; + padding: 0 0 .5em 0; +} +#footer > #footerlinks > li.f > a.f +{ + color: @hintergrund; + border-color: @hintergrund; +} +#footer > #footerlinks > li#copyright +{ + position: static; + float: right; + width: auto; + font-size: 137.5%; + margin: 0; + @media (max-width: 229px) + { + color: @schrift; + flow: none; + width: 100%; + } +} diff --git a/less/phone/head.less b/less/phone/head.less new file mode 100644 index 00000000..22d81010 --- /dev/null +++ b/less/phone/head.less @@ -0,0 +1,7 @@ +@media (max-width: 410px) +{ + #slogan + { + color: @normal; + } +} diff --git a/less/phone/layout.less b/less/phone/layout.less new file mode 100644 index 00000000..f2c4a238 --- /dev/null +++ b/less/phone/layout.less @@ -0,0 +1,218 @@ +/** Seite gesamt (Abmessungen, Aussenabstände etc.) */ + +body +{ + font-size: 87.5%; /** 14px */ + padding: 0; +} +#page +{ + position: relative; + overflow: hidden; +} + + +/** Seitenaufteilung mit/ohne Menü */ + +.content > .main +{ + margin: 0 1em 0 2.5em; +} +.menu .content > .main +{ + border-top-style: none; +} + + + +/** Seitenkopf positionieren */ + +#header +{ + margin: .5em 1em 1em 1.25em; +} +#header > hr.h +{ + display: none; +} + + +/** Bereichsauswahl positionieren und stylen */ + +#nav > hr.n +{ + display: none; +} +#menu +{ + border-style: none; + font-size: 125%; + line-height: 1.5em; +} +#menu +{ + font-size: 150%; + border-bottom: .125em solid @hintergrund; + margin-top: 0; + padding: .25em .25em 1em 1.5em; +} +#menu > li.m +{ + float: left; + @media (max-width: 359px) + { + float: none; + } + list-style-type: none; + padding: .25em 1em 0 0; +} +#menu > li.m > a.m +{ + color: @dunkel; +} +#menu > li.m > strong.m +{ + color: @hintergrund; + border-bottom: .0625em solid @hintergrund; +} +#menu > li.m > a.m:hover, +#menu > li.m > a.m:focus, +#menu > li.m > a.m:active +{ + color: @dunkler; + border-bottom: .0625em solid @dunkler; +} +#menu > li.m > a.m.selected +{ + color: @hintergrund; + border-bottom: .0625em dashed @hintergrund; +} +#menu > li.m > a.m.selected:hover, +#menu > li.m > a.m.selected:focus, +#menu > li.m > a.m.selected:active +{ + border-style: solid; +} + + +/** Navigations-Sprunglink reaktivieren und stylen */ + +#breadcrumb +{ + position: absolute; + top: .8em; + right: 1.5em; +} +#breadcrumb > strong.b, +#breadcrumb > ol.b, +#breadcrumb > hr.b +{ + display: none; +} +#breadcrumb > a.hide +{ + display: block; + overflow: hidden; + width: 3.5em; + height: 3em; + line-height: 3em; + color: @normal; + border-style: none; +} +#breadcrumb > a.hide:before +{ + content: ""; + font-family: 'symbols'; + font-size: 378%; /** Vielfaches von 14px */ + padding: 0 0 1em 0; + font-weight: normal; +} +#breadcrumb > a.hide:hover, +#breadcrumb > a.hide:focus, +#breadcrumb > a.hide:active +{ + color: @dunkler; +} + + +/** Inhalts-Sprunglink reaktivieren und stylen */ + +#nav:target +{ + position: absolute; + top: 0; + right: 0; + left: 0; + padding: .6em 1em 999em 2.5em; + margin-bottom: -993em; + z-index: 5; + background-color: @heller; + #menu + { + padding-top: 0; + padding-bottom: .75em; + } + > a.hide + { + position: absolute; + left: auto; + top: .8em; + right: 1.5em; + display: block; + overflow: hidden; + width: 3.5em; + height: 3em; + line-height: 3em; + color: @hintergrund; + border-style: none; + } + > a.hide:before + { + content: ""; + font-family: 'symbols'; + font-size: 378%; /** Vielfaches von 14px */ + padding: 0 0 1em 0; + margin: 0 1em 0 0; + } + > a.hide:hover, + > a.hide:focus, + > a.hide:active + { + color: @dunkler; + } +} + + +/** Footer positionieren */ + +#footer +{ + padding: 0 1em .5em 2.5em; + background-color: @heller; +} +#footer > hr.f +{ + border-color: @hintergrund; +} + + +/** Marginal-Inhalte anpassen... */ + +.marginal h1, +.marginal h2, +.marginal h3, +.marginal h4 +{ + color: @hintergrund; +} + + +/** Faux-Column-Hack für Marginalinhalte */ + +.marginal +{ + margin-top: 4em; + margin-bottom: -993em; + padding: 1em 1em 999em 2.5em; + background-color: @heller; +} diff --git a/less/phone/menu.less b/less/phone/menu.less new file mode 100644 index 00000000..83bd0992 --- /dev/null +++ b/less/phone/menu.less @@ -0,0 +1,6 @@ +#submenu +{ + border-style: none; + font-size: 125%; + line-height: 1.5em; +} diff --git a/less/phone/packs.less b/less/phone/packs.less new file mode 100644 index 00000000..0114499a --- /dev/null +++ b/less/phone/packs.less @@ -0,0 +1,11 @@ +.pack > .p.left, +.pack > .p.right, +.pack.bg > .p.left, +.pack.bg > .p.right, +.single, +.single.bg +{ + width: auto; + padding-bottom: 1.5em; + margin: 0 0 1.5em 0; +} diff --git a/less/phone/typo.less b/less/phone/typo.less new file mode 100644 index 00000000..ba61db5a --- /dev/null +++ b/less/phone/typo.less @@ -0,0 +1,4 @@ +h1 +{ + font-size: 150%; /** 24 px */ +} diff --git a/less/print.less b/less/print.less new file mode 100644 index 00000000..8d87aa48 --- /dev/null +++ b/less/print.less @@ -0,0 +1,30 @@ +@import 'variables.less'; + +#breadcrumb +{ + .droid; + color: @schrift; + font-weight: normal; +} +#breadcrumb strong.b +{ + font-weight: normal; +} +#breadcrumb ol.b li.b a.b, +#breadcrumb ol.b li.b strong.b +{ + color: @schrift; + border-style: none; +} +#breadcrumb a.hide +{ + display: none; +} +#breadcrumb hr.b +{ + display: none; +} +@import 'print/typo.less'; +@import 'print/layout.less'; +@import 'print/head.less'; +@import 'print/prettify.less'; diff --git a/less/print/head.less b/less/print/head.less new file mode 100644 index 00000000..db11a6e2 --- /dev/null +++ b/less/print/head.less @@ -0,0 +1,8 @@ +#logo +{ + padding-left: .0625em; +} +#slogan +{ + display: inline-block; +} diff --git a/less/print/layout.less b/less/print/layout.less new file mode 100644 index 00000000..392760e8 --- /dev/null +++ b/less/print/layout.less @@ -0,0 +1,54 @@ +body +{ + font-size: 75%; /** 12px */ +} +#header hr.h +{ + margin: .5em 0; +} +.content +{ + clear: both; +} +.marginal +{ + display: none; +} +#breadcrumb +{ + .droid; + color: @schrift; + font-weight: normal; +} +#breadcrumb strong.b +{ + font-weight: normal; +} +#breadcrumb ol.b li.b a.b, +#breadcrumb ol.b li.b strong.b +{ + color: @schrift; + border-style: none; +} +#breadcrumb a.hide +{ + display: none; +} +#breadcrumb hr.b +{ + display: none; +} +#nav +{ + display: none; +} +#footerlinks li.f +{ + display: none; +} +#footerlinks li#copyright +{ + .droid; + font-size: 100%; + display: block; +} diff --git a/less/print/prettify.less b/less/print/prettify.less new file mode 100644 index 00000000..0ed8c472 --- /dev/null +++ b/less/print/prettify.less @@ -0,0 +1,11 @@ +/* Pretty printing styles. Used with prettify.js. */ +pre .str, code .str { color: #060; } +pre .kwd, code .kwd { color: #006; font-weight: bold; } +pre .com, code .com { color: #600; font-style: italic; } +pre .typ, code .typ { color: #404; font-weight: bold; } +pre .lit, code .lit { color: #044; } +pre .pun, code .pun { color: #440; } +pre .pln, code .pln { color: #000; } +pre .tag, code .tag { color: #006; font-weight: bold; } +pre .atn, code .atn { color: #404; } +pre .atv, code .atv { color: #060; } diff --git a/less/print/typo.less b/less/print/typo.less new file mode 100644 index 00000000..58e2ca63 --- /dev/null +++ b/less/print/typo.less @@ -0,0 +1,5 @@ +a +{ + color: @schrift; + border-style: none; +} diff --git a/less/screen.less b/less/screen.less new file mode 100644 index 00000000..ba58223e --- /dev/null +++ b/less/screen.less @@ -0,0 +1,53 @@ +@import 'variables.less'; +@import 'screen/head.less'; +@import 'screen/menu.less'; +@import 'screen/footer-sticky.less'; +@import 'screen/wip.less'; +@import 'screen/packs.less'; + +@media (min-width: (@minscreen)) +{ + @import 'screen/layout.less'; + @import 'screen/footer.less'; + @media (max-width: (@maxtablet)) + { + @import 'tablet/typo.less'; + @import 'tablet/layout.less'; + @import 'tablet/menu.less'; + @import 'tablet/marginal.less'; + @import 'tablet/footer.less'; + } +} +@media (min-width: (@mindesktop)) +{ + @import 'screen/faux-column.less'; + @import 'screen/marginal.less'; + @import 'screen/content.less'; + @media (max-width: 1079px) + { + @import 'screen/onecolumn.less'; + } +} + +@media (max-width: (@maxtablet)) +{ + @import 'tablet/head.less'; + @import 'tablet/404.less'; +} + +@media (max-width: (@maxphone)) +{ + @import 'phone/typo.less'; + @import 'phone/layout.less'; + @import 'phone/head.less'; + @import 'phone/menu.less'; + @import 'phone/footer.less'; + @import 'phone/packs.less'; + @import 'phone/404.less'; +} + +@media (max-width: (@maxtiny)) +{ + @import 'tiny/layout.less'; + @import 'tiny/404.less'; +} diff --git a/less/screen/content.less b/less/screen/content.less new file mode 100644 index 00000000..35786c32 --- /dev/null +++ b/less/screen/content.less @@ -0,0 +1,26 @@ +.mcontent +{ + position: relative; + padding: 0 24.375em 0 0; +} +.mcontent > .mmain +{ + float: left; + min-height: 1em; + position: relative; + width: 100%; + border-right: .125em solid @normal; +} +.mcontent > .mmarginal +{ + float: left; + margin: 0 -27em 0 -.125em; + padding: 0 2em 1.0625em 2em; + position: relative; + width: 20.375em; + border-left: .125em solid @normal; +} +.mcontent > .mmain > * +{ + margin-right: 5%; +} diff --git a/less/screen/faux-column.less b/less/screen/faux-column.less new file mode 100644 index 00000000..2b6e5932 --- /dev/null +++ b/less/screen/faux-column.less @@ -0,0 +1,34 @@ +/** Faux-Column-Hack-Eigengewächs für die Marginalspalte */ + +.menu #page, +.nomenu #page +{ + max-width: 38em; /** 608px + 390px (Marginalspalte) = ca. 1000px */ + border-right: 24.375em solid @heller; +} +.nomenu #page +{ + border-right-color: @sehrhell; +} +.menu .content, +.nomenu .content +{ + margin-right: -24.375em; +} +.menu #header, +.nomenu #header +{ + margin-right: -24.375em; + background-color: @hintergrund; +} +.menu #breadcrumb, +.nomenu #breadcrumb +{ + right: -24.375em; /** Weil der Breadcrumb sonst an der Faux-Column umbricht! */ +} +.menu #footer, +.nomenu #footer +{ + margin-right: -24.375em; + background-color: @hintergrund; +} diff --git a/less/screen/footer-sticky.less b/less/screen/footer-sticky.less new file mode 100644 index 00000000..2ff65bd6 --- /dev/null +++ b/less/screen/footer-sticky.less @@ -0,0 +1,17 @@ +/** Make the footer sticky */ +html, body +{ + height: 100%; +} +#page +{ + position: relative; + min-height: 100%; +} +#footer +{ + position: absolute; + left: 0; + right: 0; + bottom: 0; +} diff --git a/less/screen/footer.less b/less/screen/footer.less new file mode 100644 index 00000000..884cfffa --- /dev/null +++ b/less/screen/footer.less @@ -0,0 +1,36 @@ +#footerlinks +{ + border-top: 1.25em solid @normal; /** 20px */ +} +#footerlinks > li.f +{ + line-height: .6666666667em; /* 20px */ + display: inline-block; + float: none; + margin: .5em 1em 0 0; + color: @normal; + vertical-align: top; +} +#footerlinks > li#copyright +{ + position: absolute; + float: none; + width: auto; + right: .625em; + top: -1em; /** 30px */ + line-height: 1.4em; /* 42px */ + color: @hintergrund; + margin: 0; + font-size: 187.5%; /** 30px */ +} +#footerlinks a.f +{ + color: @normal; + border-color: @normal; +} +#footerlinks a.f:hover +{ + color: @dunkler; + border-color: @dunkler; + border-style: solid; +} diff --git a/less/screen/head.less b/less/screen/head.less new file mode 100644 index 00000000..f0baa257 --- /dev/null +++ b/less/screen/head.less @@ -0,0 +1,31 @@ +#logo +{ + display: inline-block; + font-size: 812.5%; /* 130px */ + padding: 0; + line-height: 1em; + text-shadow: .092307692em .046153846em 0 @hintergrund; /** 12px 6px */ + z-index: 3; + left: auto; +} +#slogan +{ + display: block; + color: @hintergrund; + background-color: @normal; + font-size: 187.5%; /** 30px */ + line-height: .6666666667em; /* 20px */ + height: .6em; /* 18px */ + padding: .066666667em .066666667em 0 0; /** 2px 2px 0 0 */ + margin-left: 9em; /* 270px */ + position: relative; + z-index: 2; + top: -1.3em; /* 39px */ + text-align: right; + overflow: hidden; +} +#slogan > strong{ + display: inline-block; + position: relative; + top: -.2em; /* -6px */ +} diff --git a/less/screen/layout.less b/less/screen/layout.less new file mode 100644 index 00000000..9771f834 --- /dev/null +++ b/less/screen/layout.less @@ -0,0 +1,192 @@ +/** Seite gesamt (Abmessungen, Aussenabstände etc.) */ + +body +{ + padding: 0; + overflow-y: scroll; /** Die vertikale Scroll-Leiste stets anzeigen */ +} +#page +{ + margin: 0 auto; /** Seiteninhalte zentrieren, wenn max-width des Inhalts (s.u.) erreicht ist */ + max-width: 62.375em; /** 608px + 390px (Marginalspalte) = ca. 1000px (muss zu Wergen in faux-columns.less passen!!) */ +} + +/** Seitenaufteilung mit Menü (Zweispaltig) */ + +body +{ + padding: 0 3em 0 5em; +} +.content +{ + position: relative; + padding: 0 0 7.1875em 0; /** Unten: 115px (gemessene Gesamthöhe des Footers - mit Abstand und Margin) */ +} +.menu .content, +.nomenu .content +{ + padding-right: 27em; +} +.content > .main +{ + min-height: 1em; + position: relative; + width: 100%; +} +.menu .content > .main, +.nomenu .content > .main +{ + float: left; +} +.content > .marginal +{ + position: relative; + background-color: @heller; +} +.menu .content > .marginal, +.nomenu .content > .marginal +{ + float: left; + margin: 0 -27em 0 2.625em; + padding: 0 2em 1.0625em 2em; + width: 20.375em; +} + +/** Anpassungen für Seiten ohne Menü */ + +.nomenu .content > .marginal +{ + background-color: @sehrhell; +} + +/** Anpassungen für einspaltige Seiten */ + +.onecolumn .content > .marginal +{ + margin-top: 4em; + background-color: transparent; +} + +/** Seitenkopf positionieren */ + +#header +{ + margin-left: -2.125em; + padding: 1em 0; +} +#header > hr.h +{ + display: none; +} + + +/** Bereichsauswahl positionieren und stylen */ + +.onecolumn #nav +{ + position: absolute; + top: 0; + right: 0; /** Hier eigentlich nicht nötig, aber für Tablet-Style erforderrlich! */ + width: 100%; +} + +#nav > hr.n +{ + display: none; +} +#nav +{ + position: relative; + top: auto; + right: auto; + width: 22.375em; /** 358px = 326px + 32px*/ +} +#menu +{ + position: relative; + width: 200%; + top: -8em; /** 136px */ + right: 100%; + text-align: right; + list-style-type: none; + margin: 0 0 -2.125em 0; /** 0 0 -34px 0 */ + padding: 0; + border-style: none; +} +.onecolumn #menu +{ + top: -15.5625em; /** -249px -- warum auch immer... */ +} +#menu > li.m +{ + display: inline-block; + padding: 0 0 0 4em; +} +#menu > li.m > .m +{ + font-size: 250%; /** 40px */ + color: @normal; +} +#menu > li.m > a.m +{ + border-color: @normal; +} +#menu > li.m > a.m:hover +{ + border-color: @dunkler; +} +#menu > li.m > a.m:hover, +#menu > li.m > strong.m +{ + border-style: solid; +} +#menu > li.m > a.m.selected +{ + color: @normal; +} +#menu > li.m > a.m:hover +{ + color: @dunkler; +} +#menu > li.m > a.m:hover:before, +#menu > li.m > a.m.selected:before, +#menu > li.m > strong.m:before +{ + content: '> '; + margin-left: -.92em; +} + + +/** Breadcrump positionieren */ + +#breadcrumb +{ + position: absolute; + top: 8.375em; + left: 6.9em; + z-index: 3; +} +#breadcrumb > a.hide +{ + position: absolute; +} +#breadcrumb > hr.b +{ + display: none; +} + + +/** Footer positionieren */ + +#footer +{ + padding: 2em 0; +} +.onecolumn #footer +{ + background-color: @hintergrund; +} +#footer > hr.f +{ + display: none; +} diff --git a/less/screen/marginal.less b/less/screen/marginal.less new file mode 100644 index 00000000..02fc3cbc --- /dev/null +++ b/less/screen/marginal.less @@ -0,0 +1,7 @@ +.menu .content > .marginal h1, +.menu .content > .marginal h2, +.menu .content > .marginal h3, +.menu .content > .marginal h4 +{ + color: @hintergrund; +} diff --git a/less/screen/menu.less b/less/screen/menu.less new file mode 100644 index 00000000..afd9f248 --- /dev/null +++ b/less/screen/menu.less @@ -0,0 +1,90 @@ +#nav > h1.nav, +#nav > h2.nav.menu +{ + display: none; +} +#nav > h2.nav.submenu +{ + font-size: 125%; /** 20px */ + line-height: 1em; /** 20px */ + margin: 1.5em 0 .5em 0; /** 30px 0 10px 0 */ + padding: 0 0 0 1.65em; /** 0 0 0 33px */ + border: none; +} +#nav > h2.nav.submenu:before +{ + content: 'V '; + color: @hintergrund; + margin: 0 .75em 0 -1.7em; /** 0 15em 0 -34px */ +} +#nav > h2.nav.submenu > span.s +{ + display: none; +} +#nav > h2.nav.submenu > a.s +{ + color: @hintergrund; + border-style: dashed; + border-color: @hintergrund; +} +#nav > h2.nav.submenu > a.s:hover, +#nav > h2.nav.submenu > a.s:focus, +#nav > h2.nav.submenu > a.s:active +{ + border-style: solid; +} + +#submenu +{ + font-size: 125%; /** 20 px */ + list-style-type: none; + margin: 1em 0 4em 0; + padding: 0 0 0 1.65em; /** 0 0 0 33px */ + border-style: none; +} +#submenu ul.s +{ + margin: 1em 0 0 0; /** 16px 0 0 0 */ + padding: 0; + list-style-type: none; +} +#submenu li.s +{ + margin: 0 0 .5em 0; /** 0 0 10px 0 */ + padding: 0; +} +#submenu li.s.off +{ + display: none; +} +#submenu li.s > a.s +{ + color: @dunkler; +} +#submenu li.s > a.s.selected, +#submenu li.s > strong.s +{ + color: @hintergrund; + border-color: @hintergrund; +} +#submenu li.s > strong.s +{ + border-bottom: 1px solid @hintergrund; +} +#submenu li.s > a.s.selected:before, +#submenu li.s > a.s:hover:before, +#submenu li.s > a.s:focus:before, +#submenu li.s > a.s:active:before, +#submenu li.s > strong.s:before +{ + content: '> '; + margin: 0 .75em 0 -1.7em; /** 0 15px 0 -34px = Warum auch immer?!? */ +} +#submenu li.s.sub > a.s.selected:before, +#submenu li.s.sub > a.s:hover:before, +#submenu li.s.sub > a.s:focus:before, +#submenu li.s.sub > a.s:active:before, +#submenu li.s.sub > strong.s:before +{ + content: 'V '; +} diff --git a/less/screen/onecolumn.less b/less/screen/onecolumn.less new file mode 100644 index 00000000..0114499a --- /dev/null +++ b/less/screen/onecolumn.less @@ -0,0 +1,11 @@ +.pack > .p.left, +.pack > .p.right, +.pack.bg > .p.left, +.pack.bg > .p.right, +.single, +.single.bg +{ + width: auto; + padding-bottom: 1.5em; + margin: 0 0 1.5em 0; +} diff --git a/less/screen/packs.less b/less/screen/packs.less new file mode 100644 index 00000000..8c09844e --- /dev/null +++ b/less/screen/packs.less @@ -0,0 +1,37 @@ +.pack +{ + overflow: hidden; +} +.pack > .p.left, +.pack > .p.right +{ + width: 42%; + padding: 0 3% 999em 3%; + margin: 0 0 -998em 0; +} +.pack.bg > .p.left, +.pack.bg > .p.right +{ + background-color: @sehrhell; +} +.pack > .p.left +{ + float: left; +} +.pack > .p.right +{ + float: right; +} +.pack > .p img.p +{ + width: 91.9118%; +} +.single +{ + padding: 0 3% 1em 3%; + margin: 3% 0; +} +.single.bg +{ + background-color: @sehrhell; +} diff --git a/less/screen/wip.less b/less/screen/wip.less new file mode 100644 index 00000000..d9cef58f --- /dev/null +++ b/less/screen/wip.less @@ -0,0 +1,25 @@ +/** Pages under construction... */ +.wip, +.wip h1, +.wip h2, +.wip h3, +.wip h4, +.wip h5, +.wip h6, +.wip a +{ + color: rgba(128, 128, 128, 0); + text-decoration: none; + border-color: rgba(128, 128, 128, 0); + text-shadow: 0 0 6px #404040; +} +.wip +{ + position: relative; +} +.wip img.w +{ + margin-top: 30%; + position: absolute; + width: 100%; +} diff --git a/less/tablet/404.less b/less/tablet/404.less new file mode 100644 index 00000000..4cd1fe50 --- /dev/null +++ b/less/tablet/404.less @@ -0,0 +1,25 @@ +.withbackground .content +{ + position: relative; + top: auto; + bottom: auto; + left: auto; + rigth: auto; +} +#bs3 +{ + display: none; +} +#bs5 +{ + left: auto; + right: 13%; +} +#bs7 +{ + bottom: 21%; +} +#bs8 +{ + display: none; +} diff --git a/less/tablet/footer.less b/less/tablet/footer.less new file mode 100644 index 00000000..2541618b --- /dev/null +++ b/less/tablet/footer.less @@ -0,0 +1,82 @@ +.menu #footer > #footerlinks +{ + position: static; + border-style: none; + margin: 3.75em 0 0 2em; +} +.menu #footer > #footerlinks > li.f +{ + line-height: 1em; + display: block; + margin: 0 0 .25em 0; + color: @hintergrund; +} +.menu #footer > #footerlinks > li#copyright +{ + line-height: 1em; + font-size: 137.5%; + top: auto; + bottom: 0; + left: 0; + right: 0; + padding: 0 2.18181818em 1.5em; /* ? 3*16px ? */ + @media (max-width: (@maxsmalltablet)) + { + padding-right: 1.45454545em; + padding-bottom: 1em; + } + @media (max-width: (@maxsmallertablet)) + { + padding-right: .72727272em; + padding-bottom: .5em; + } + background-color: @heller; + text-align: right; +} +.menu #footer > #footerlinks a.f +{ + color: @hintergrund; + border-color: @hintergrund; +} +.menu #footer > #footerlinks a.f:hover +{ + color: @hintergrund; + border-color: @hintergrund; + border-style: solid; +} + + +.nomenu #footer > #footerlinks, +.onecolumn #footer > #footerlinks +{ + position: static; + margin: -.125em; + padding-top: 1.5em; + @media (max-width: (@maxsmalltablet)) + { + padding-top: 1em; + } + @media (max-width: (@maxsmallertablet)) + { + padding-top: .5em; + } + border-top: .125em solid @hintergrund; + > li.f + { + line-height: 1em; + margin: 0 1em 0 0; + padding: 0; + } + li.f > a.f + { + color: @hintergrund; + border-color: @hintergrund; + } + li#copyright + { + position: static; + float: right; + font-size: 137.5%; + margin: 0; + } +} diff --git a/less/tablet/head.less b/less/tablet/head.less new file mode 100644 index 00000000..2a6da915 --- /dev/null +++ b/less/tablet/head.less @@ -0,0 +1,24 @@ +@media (max-width: (@maxsmalltablet)) +{ + #logo + { + font-size: 650%; /* 104px */ + } + #slogan + { + font-size: 150%; /** 24px */ + } +} + +@media (max-width: (@maxsmallertablet)) +{ + #logo + { + font-size: 487.5%; /* 78px */ + } + #slogan + { + font-size: 112.5%; /** 18px */ + } +} + diff --git a/less/tablet/layout.less b/less/tablet/layout.less new file mode 100644 index 00000000..c63f9239 --- /dev/null +++ b/less/tablet/layout.less @@ -0,0 +1,280 @@ +/** Seite gesamt (Abmessungen, Aussenabstände etc.) */ + +body +{ + padding: 0; +} +#page +{ + overflow: hidden; +} +.nomenu #page +{ + padding: 0; +} + + +/** Seitenaufteilung mit/ohne Menü für Tablets optimieren */ + +.menu .content +{ + padding: 0; +} +.nomenu .content +{ + padding: 0 0 5em 0; + @media (max-width: (@maxsmalltablet)) + { + padding-bottom: 4em; + } + @media (max-width: (@maxsmallertablet)) + { + padding-bottom: 3.25em; + } +} +.content.cf:before, +.content.cf:after +{ + clear: none; + content: none; + display: inline; +} +.menu .content > .main, +.nomenu .content > .main, +.onecolumn .content > .main +{ + float: none; + width: auto; + padding: 0 3em 0 5em; + @media (max-width: (@maxsmalltablet)) + { + padding: 0 2em 0 3em; + } + @media (max-width: (@maxsmallertablet)) + { + padding: 0 1em 0 2.5em; + } + /** Die 1px-Rahmen triggern, dass das erste Margin den Footer aufschiebt. + Bei einem Wert von 0 ragt dieses Margin dann einfach aus dem Footer + heraus... */ + border-top: 1px solid @hintergrund; + border-bottom: 1px solid @hintergrund; +} +.menu .content > .marginal, +.nomenu .content > .marginal, +.onecolumn .content > .marginal +{ + position: static; + width: 100%; +} +.menu .content > .marginal +{ + margin: 3em 0 -994em -15em; + padding: 2em 0 999em 0; +} +.nomenu .content > .marginal +{ + margin: 3em 0 -994em 0; + padding: 0 0 999em 0; + background-color: transparent; +} +.onecolumn .content > .marginal +{ + margin: 6.5em 0 -1001.175em 0; + padding: 0 0 999em 0; + background-color: transparent; +} + + +/** Seitenkopf positionieren */ + +#header +{ + padding: 1em 3em 2em 5em; + @media (max-width: (@maxsmalltablet)) + { + margin-left: -1.5em; + padding: .5em 2em 2em 3em; + } + @media (max-width: (@maxsmallertablet)) + { + margin-left: -1.2em; + padding: 1em 1em 2em 2.5em; + } +} + + +/** Bereichsauswahl positionieren */ + +.menu #nav +{ + position: static; + border-right: .125em solid @hintergrund; + margin-left: 20em; + @media (max-width: (@maxsmalltablet)) + { + margin-left: 18.5em; + } + @media (max-width: (@maxsmallertablet)) + { + margin-left: 17.5em; + #menu > li.about + { + display: inline-block; + } + } + width: auto; +} +.nomenu #nav +{ + position: absolute; + top: 0; + right: 0; /** Hier eigentlich nicht nötig, aber für Tablet-Style erforderrlich! */ + width: 100%; +} + +.menu #menu, +.nomenu #menu, +.onecolumn #menu +{ + position: absolute; + width: auto; + top: -9em; + right: 3em; + @media (max-width: (@maxsmalltablet)) + { + top: -7.7em; + right: 2em; + } + @media (max-width: (@maxsmallertablet)) + { + top: -6.5em; + right: 1em; + } +} +#menu > li.about +{ + display: none; +} +#menu > li.m +{ + @media (max-width: (@maxsmalltablet)) + { + padding: 0 0 0 3em; + } + @media (max-width: (@maxsmallertablet)) + { + padding: 0 0 0 2em; + } +} +#menu > li.m > .m +{ + @media (max-width: (@maxsmalltablet)) + { + font-size: 200%; /* 32px */ + } + @media (max-width: (@maxsmallertablet)) + { + font-size: 150%; /* 24px */ + } +} +#menu > li.m > a.m:hover:before, +#menu > li.m > a.m.selected:before, +#menu > li.m > strong.m:before +{ + @media (max-width: (@maxsmalltablet)) + { + content: '> '; + margin-left: -.95em; + } + @media (max-width: (@maxsmallertablet)) + { + } +} + + +/** Footer positionieren */ + +.menu #footer +{ + position: static; + float: right; + margin: 3em 0 -999em -15em; + padding: 0 0 999em 0; + width: 15em; + background-color: @heller; +} +.nomenu #footer, +.onecolumn #footer +{ + padding: 0 3em 1.5em 5em; + @media (max-width: (@maxsmalltablet)) + { + padding: 0 2em 1em 3em; + } + @media (max-width: (@maxsmallertablet)) + { + padding: 0 1em .75em 2.5em; + } + background-color: @heller; + border-style: none; +} + + +/** Breadcrump positionieren */ + +.menu #breadcrumb, +.nomenu #breadcrumb, +.onecolumn #breadcrumb +{ + left: 11.9em; + right: 3em; + @media (max-width: (@maxsmalltablet)) + { + font-size: 87.5%; /* 14px */ + top: 7.2em; + left: 9.8em; + } + @media (max-width: (@maxsmallertablet)) + { + top: 5.8em; + left: 7em; + } +} + + +/** Faux-Column-Hack für Marginalinhalte */ + +.nomenu .content > .marginal aside.m, +.onecolumn .content > .marginal aside.m +{ + margin: 3.5em 0 -999em 0; + padding: 2em 3em 995em 5em; + background-color: @heller; + position: relative; + top: -4.5em; + @media (max-width: (@maxsmalltablet)) + { + padding-left: 3em; + padding-right: 2em; + } + @media (max-width: (@maxsmallertablet)) + { + padding-left: 2.5em; + padding-right: 1em; + } +} +.menu .content > .marginal > aside.m +{ + margin: 0 -12em 1em 20em; + @media (max-width: (@maxsmalltablet)) + { + margin-left: 18.5em; + margin-right: -13em; + } + @media (max-width: (@maxsmallertablet)) + { + margin-left: 17.5em; + margin-right: -14em; + } +} diff --git a/less/tablet/marginal.less b/less/tablet/marginal.less new file mode 100644 index 00000000..576c4e1f --- /dev/null +++ b/less/tablet/marginal.less @@ -0,0 +1,11 @@ +.nomenu .content > .marginal h1, +.onecolumn .content > .marginal h1, +.nomenu .content > .marginal h2, +.onecolumn .content > .marginal h2, +.nomenu .content > .marginal h3, +.onecolumn .content > .marginal h3, +.nomenu .content > .marginal h4, +.onecolumn .content > .marginal h4 +{ + color: @hintergrund; +} diff --git a/less/tablet/menu.less b/less/tablet/menu.less new file mode 100644 index 00000000..85ad92fe --- /dev/null +++ b/less/tablet/menu.less @@ -0,0 +1,4 @@ +#submenu +{ + padding-right: 1em; +} diff --git a/less/tablet/typo.less b/less/tablet/typo.less new file mode 100644 index 00000000..6bf6dffc --- /dev/null +++ b/less/tablet/typo.less @@ -0,0 +1,8 @@ +@media (max-width: (@maxsmalltablet)) +{ + h1 + { + font-size: 150%; /** 24 px */ + } +} + diff --git a/less/tiny/404.less b/less/tiny/404.less new file mode 100644 index 00000000..3830a8f2 --- /dev/null +++ b/less/tiny/404.less @@ -0,0 +1,19 @@ +.withbackground .content > .marginal +{ + border-top: .166666666666em solid @hintergrund; /** 2px */ +} +#bs1 +{ + top: -2%; + left: 57%; +} +#bs2, +#bs6 +{ + display: none; +} +#bs7 +{ + top: 32%; + left: 46%; +} diff --git a/less/tiny/layout.less b/less/tiny/layout.less new file mode 100644 index 00000000..dcef10cc --- /dev/null +++ b/less/tiny/layout.less @@ -0,0 +1,78 @@ +body +{ + font-size: 75%; /** 12px */ +} +#header +{ + margin: .25em .5em 1em 1em; +} +#nav:target +{ + padding-left: 0.5em; + padding-right: 0.5em; +} +#breadcrumb, +#nav:target > a.hide +{ + top: .5em; + right: .5em; +} +.content > .main, +#footer +{ + margin: 0; + padding: 0 .5em; +} +.content > .marginal +{ + padding: 1em .5em 999em .5em; + margin-bottom: -991em; +} + +@media (max-width: 210px) +{ + #header + { + font-size: 75%; + } + #nav:target + { + padding-top: 0; + } + #breadcrumb, + #nav:target > a.hide + { + top: .1em; + right: .3em; + } + #breadcrumb > a.hide:before, + #nav:target > a.hide:before + { + font-size: 300%; /** Vielfaches von 12px */ + } +} +@media (max-width: 150px) +{ + #header + { + font-size: 50%; + } + #header > hr.h + { + display: block; + } + #slogan + { + display: none; + } + #breadcrumb, + #nav:target > a.hide + { + top: .2em; + } + #breadcrumb > a.hide:before, + #nav:target > a.hide:before + { + font-size: 264%; /** Vielfaches von 12px */ + } +} diff --git a/less/variables.less b/less/variables.less new file mode 100644 index 00000000..cae170ca --- /dev/null +++ b/less/variables.less @@ -0,0 +1,42 @@ +/** Farb-Thema */ + +@normal: #0ACF00; +@dunkel: #2D9B27; +@dunkler: #078600; +@nochdunkler: #077600; +@hell: #42E73A; +@heller: #6EE768; +@sehrhell: #CEF7C8; + +@schrift: #000; +@schrifthell: tint(@schrift, 45%); + +@hintergrund: #FFF; + +@fehler: #e60000; +@fehlerhell: tint(@fehler, 70%); + + +/** Bildschirmbreiten für Media-Query */ + +@minscreen: 580px; +@mindesktop: 940px; +@maxtablet: @mindesktop - 1; +@maxsmalltablet: 800px; +@maxsmallertablet: 700px; +@maxphone: 579px; +@minphone: 300px; +@maxtiny: 299px; + +/** Schriften */ + +.droid () +{ + font-family: 'DroidSerif', 'Times New Roman', 'Palatino Linotype' , serif; +} + +.bpreplay () +{ + font-family: 'BPreplay', Helvetica, Arial, sans-serif; + font-weight: bold; +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..b4304aa2 --- /dev/null +++ b/package.json @@ -0,0 +1,13 @@ +{ + "name": "yourshouter", + "description": "Frontend for http://yourshouter.com", + "version": "0.0.1", + "devDependencies": { + "grunt-contrib-less": "~1.0.1", + "grunt-contrib-cssmin": "~0.13.0", + "grunt-newer": "~1.1.1", + "grunt-contrib-watch": "~0.6.1", + "grunt-contrib-clean": "~0.6.0", + "http-server": "~0.8.0" + } +} diff --git a/pom.xml b/pom.xml deleted file mode 100644 index 1e849578..00000000 --- a/pom.xml +++ /dev/null @@ -1,257 +0,0 @@ - - - 4.0.0 - - - de.juplo - branding - Juplo - branding - 1.0-SNAPSHOT - war - http://www.juplo.de/branding - - - - 2.0.6 - - - - - scm:git:http://juplo.de/git/branding - scm:git:ssh://juplo.de:/var/lib/git/juplo/branding - http://juplo.de/gitweb/?p=branding;a=summary - - - - - - kai - Kai Moritz - kai@juplo.de - - - - - - - - UTF-8 - - - 2.2.1 - 1.2 - 3.0.1 - 1.6.1 - 4.0.6.RELEASE - 2.1.3.RELEASE - 1.2.5 - 2.1.1.RELEASE - - - - - - - - - org.springframework - spring-webmvc - ${springframework.version} - - - commons-logging - commons-logging - - - - - - - org.thymeleaf - thymeleaf - ${thymeleaf.version} - runtime - - - org.thymeleaf - thymeleaf-spring4 - ${thymeleaf.version} - runtime - - - nz.net.ultraq.thymeleaf - thymeleaf-layout-dialect - ${thymeleaf-layout-dialect.version} - runtime - - - org.thymeleaf.extras - thymeleaf-extras-conditionalcomments - ${thymeleaf-extras-conditionalcomments.version} - runtime - - - - - javax.servlet - javax.servlet-api - ${servlet-api.version} - provided - - - javax.servlet.jsp - javax.servlet.jsp-api - ${jsp-api.version} - provided - - - javax.servlet - jstl - ${jstl.version} - runtime - - - - - org.slf4j - slf4j-api - ${slf4j.version} - - - org.slf4j - slf4j-log4j12 - ${slf4j.version} - runtime - - - org.slf4j - jcl-over-slf4j - ${slf4j.version} - runtime - - - - - - - - juplo.internal - Internal Release Repository - http://juplo.de/archiva/repository/internal/ - - - juplo.snapshots - Internal Snapshot Repository - http://juplo.de/archiva/repository/snapshots/ - - - - - - branding - - - org.apache.maven.plugins - maven-compiler-plugin - - 1.6 - 1.6 - utf8 - true - - - - org.lesscss - lesscss-maven-plugin - 1.7.0.1.1 - - - - compile - - - - - - base.less - screen.less - print.less - - ${project.basedir}/src/main/webapp/less - ${project.build.directory}/${project.build.finalName}/css - - - - maven-war-plugin - - less/** - - - - org.apache.maven.plugins - maven-source-plugin - - - attach-sources - verify - - jar - - - - - - org.eclipse.jetty - jetty-maven-plugin - - - - src/main/webapp - target/${project.build.finalName} - - - - - - org.codehaus.mojo - tomcat-maven-plugin - 1.1 - - / - UTF-8 - - - - com.google.appengine - appengine-maven-plugin - 1.8.2 - - - - - - - - - maven-changes-plugin - - - maven-javadoc-plugin - - - maven-jxr-plugin - - - maven-surefire-report-plugin - - - maven-scm-plugin - - install - - - - - - diff --git a/src/main/resources/log4j.xml b/src/main/resources/log4j.xml deleted file mode 100644 index a3d7d445..00000000 --- a/src/main/resources/log4j.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/spring/mvc.xml b/src/main/resources/spring/mvc.xml deleted file mode 100644 index 50f4fc70..00000000 --- a/src/main/resources/spring/mvc.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - /thymeleaf/**=staticResources - /*.html=urlFilenameViewController - /**/*.html=urlFilenameViewController - - - - - - - - - /thymeleaf/ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/webapp/WEB-INF/404.jsp b/src/main/webapp/WEB-INF/404.jsp deleted file mode 100644 index 38e4ebb4..00000000 --- a/src/main/webapp/WEB-INF/404.jsp +++ /dev/null @@ -1,29 +0,0 @@ -<%@page contentType="text/html;charset=UTF-8"%> -<%@page pageEncoding="UTF-8"%> -<%@page session="false" %> -<%@page isErrorPage="true" %> -<%@taglib uri="http://tiles.apache.org/tags-tiles" prefix="t" %> - - - - -
  • Home
  • -
  • ???
  • -
    - - ? - ? - ? - ? - ? - ? - ? - ? - ? -

    We do not know, where you are.

    -

    And we do not know, why you are here.

    -

    But we can tell you: WE ARE SORRY!

    -

    Really.

    -
    - -
    diff --git a/src/main/webapp/WEB-INF/appengine-web.xml b/src/main/webapp/WEB-INF/appengine-web.xml deleted file mode 100644 index 33fdac88..00000000 --- a/src/main/webapp/WEB-INF/appengine-web.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - stoked-legend-350 - 1 - true - diff --git a/src/main/webapp/WEB-INF/error.jsp b/src/main/webapp/WEB-INF/error.jsp deleted file mode 100644 index 813cd9e0..00000000 --- a/src/main/webapp/WEB-INF/error.jsp +++ /dev/null @@ -1,34 +0,0 @@ -<%@page contentType="text/html;charset=UTF-8"%> -<%@page pageEncoding="UTF-8"%> -<%@page session="false" %> -<%@page isErrorPage="true" %> -<%@taglib uri="http://tiles.apache.org/tags-tiles" prefix="t" %> - - - - -
  • Home
  • -
  • !#%*§
  • -
    - - x - # - * - % - § - ? - ? - ? - ? -

    We do not know, what happend.

    -

    But we can tell you: WE ARE SORRY!

    -

    Really.

    -
      -
    • ${pageContext.errorData.statusCode}
    • -
    • ${pageContext.errorData.requestURI}
    • -
    • ${pageContext.errorData.servletName}
    • -
    • ${pageContext.errorData.throwable}
    • -
    -
    - -
    diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index a204d6b3..00000000 --- a/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - branding - - - - - contextConfigLocation - - classpath:/spring/mvc.xml - - - - - org.springframework.web.context.ContextLoaderListener - - - - - - - characterEncodingFilter - org.springframework.web.filter.CharacterEncodingFilter - - encoding - UTF-8 - - - forceEncoding - true - - - - - characterEncodingFilter - /* - - - - - - - Dispatcher Servlet - Branding - org.springframework.web.servlet.DispatcherServlet - - contextConfigLocation - - - - 1 - - - - Dispatcher Servlet - Branding - / - - - diff --git a/src/main/webapp/fonts/BPreplay Open Font License.txt b/src/main/webapp/fonts/BPreplay Open Font License.txt deleted file mode 100644 index c5d0603f..00000000 --- a/src/main/webapp/fonts/BPreplay Open Font License.txt +++ /dev/null @@ -1,95 +0,0 @@ -Copyright (c) 2004, George Triantafyllakos (http://www.backpacker.gr), -with BPreplay. -Copyright (c) 2004, Magenta (http://www.magenta.gr). - -This Font Software is licensed under the SIL Open Font License, Version 1.1. -This license is copied below, and is also available with a FAQ at: -http://scripts.sil.org/OFL - - ------------------------------------------------------------ -SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 ------------------------------------------------------------ - -PREAMBLE -The goals of the Open Font License (OFL) are to stimulate worldwide -development of collaborative font projects, to support the font creation -efforts of academic and linguistic communities, and to provide a free and -open framework in which fonts may be shared and improved in partnership -with others. - -The OFL allows the licensed fonts to be used, studied, modified and -redistributed freely as long as they are not sold by themselves. The -fonts, including any derivative works, can be bundled, embedded, -redistributed and/or sold with any software provided that any reserved -names are not used by derivative works. The fonts and derivatives, -however, cannot be released under any other type of license. The -requirement for fonts to remain under this license does not apply -to any document created using the fonts or their derivatives. - -DEFINITIONS -"Font Software" refers to the set of files released by the Copyright -Holder(s) under this license and clearly marked as such. This may -include source files, build scripts and documentation. - -"Reserved Font Name" refers to any names specified as such after the -copyright statement(s). - -"Original Version" refers to the collection of Font Software components as -distributed by the Copyright Holder(s). - -"Modified Version" refers to any derivative made by adding to, deleting, -or substituting -- in part or in whole -- any of the components of the -Original Version, by changing formats or by porting the Font Software to a -new environment. - -"Author" refers to any designer, engineer, programmer, technical -writer or other person who contributed to the Font Software. - -PERMISSION & CONDITIONS -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Font Software, to use, study, copy, merge, embed, modify, -redistribute, and sell modified and unmodified copies of the Font -Software, subject to the following conditions: - -1) Neither the Font Software nor any of its individual components, -in Original or Modified Versions, may be sold by itself. - -2) Original or Modified Versions of the Font Software may be bundled, -redistributed and/or sold with any software, provided that each copy -contains the above copyright notice and this license. These can be -included either as stand-alone text files, human-readable headers or -in the appropriate machine-readable metadata fields within text or -binary files as long as those fields can be easily viewed by the user. - -3) No Modified Version of the Font Software may use the Reserved Font -Name(s) unless explicit written permission is granted by the corresponding -Copyright Holder. This restriction only applies to the primary font name as -presented to the users. - -4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font -Software shall not be used to promote, endorse or advertise any -Modified Version, except to acknowledge the contribution(s) of the -Copyright Holder(s) and the Author(s) or with their explicit written -permission. - -5) The Font Software, modified or unmodified, in part or in whole, -must be distributed entirely under this license, and must not be -distributed under any other license. The requirement for fonts to -remain under this license does not apply to any document created -using the Font Software. - -TERMINATION -This license becomes null and void if any of the above conditions are -not met. - -DISCLAIMER -THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT -OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE -COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL -DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM -OTHER DEALINGS IN THE FONT SOFTWARE. \ No newline at end of file diff --git a/src/main/webapp/fonts/BPreplay-webfont.eot b/src/main/webapp/fonts/BPreplay-webfont.eot deleted file mode 100644 index abc9b264..00000000 Binary files a/src/main/webapp/fonts/BPreplay-webfont.eot and /dev/null differ diff --git a/src/main/webapp/fonts/BPreplay-webfont.svg b/src/main/webapp/fonts/BPreplay-webfont.svg deleted file mode 100644 index 4893e75b..00000000 --- a/src/main/webapp/fonts/BPreplay-webfont.svg +++ /dev/null @@ -1,333 +0,0 @@ - - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Copyright c 2004 by Magenta 2008 by George Triantafyllakos Released under the SIL Open Font License OFL -Designer : MagentaGeorge Triantafyllakos -Foundry : MagentaGeorge Triantafyllakos -Foundry URL : httpwwwmagentagr - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/webapp/fonts/BPreplay-webfont.ttf b/src/main/webapp/fonts/BPreplay-webfont.ttf deleted file mode 100644 index 949a096d..00000000 Binary files a/src/main/webapp/fonts/BPreplay-webfont.ttf and /dev/null differ diff --git a/src/main/webapp/fonts/BPreplay-webfont.woff b/src/main/webapp/fonts/BPreplay-webfont.woff deleted file mode 100644 index db21dac4..00000000 Binary files a/src/main/webapp/fonts/BPreplay-webfont.woff and /dev/null differ diff --git a/src/main/webapp/fonts/BPreplayBold-webfont.eot b/src/main/webapp/fonts/BPreplayBold-webfont.eot deleted file mode 100644 index fccb706e..00000000 Binary files a/src/main/webapp/fonts/BPreplayBold-webfont.eot and /dev/null differ diff --git a/src/main/webapp/fonts/BPreplayBold-webfont.svg b/src/main/webapp/fonts/BPreplayBold-webfont.svg deleted file mode 100644 index 210d081c..00000000 --- a/src/main/webapp/fonts/BPreplayBold-webfont.svg +++ /dev/null @@ -1,333 +0,0 @@ - - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Copyright c 2004 by Magenta 2008 by George Triantafyllakos Released under the SIL Open Font License OFL -Designer : MagentaGeorge Triantafyllakos -Foundry : MagentaGeorge Triantafyllakos -Foundry URL : httpwwwmagentagr - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/webapp/fonts/BPreplayBold-webfont.ttf b/src/main/webapp/fonts/BPreplayBold-webfont.ttf deleted file mode 100644 index aef3cacb..00000000 Binary files a/src/main/webapp/fonts/BPreplayBold-webfont.ttf and /dev/null differ diff --git a/src/main/webapp/fonts/BPreplayBold-webfont.woff b/src/main/webapp/fonts/BPreplayBold-webfont.woff deleted file mode 100644 index 52b19ce5..00000000 Binary files a/src/main/webapp/fonts/BPreplayBold-webfont.woff and /dev/null differ diff --git a/src/main/webapp/fonts/BPreplayBoldItalics-webfont.eot b/src/main/webapp/fonts/BPreplayBoldItalics-webfont.eot deleted file mode 100644 index 92d4da9d..00000000 Binary files a/src/main/webapp/fonts/BPreplayBoldItalics-webfont.eot and /dev/null differ diff --git a/src/main/webapp/fonts/BPreplayBoldItalics-webfont.svg b/src/main/webapp/fonts/BPreplayBoldItalics-webfont.svg deleted file mode 100644 index 851d095e..00000000 --- a/src/main/webapp/fonts/BPreplayBoldItalics-webfont.svg +++ /dev/null @@ -1,333 +0,0 @@ - - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Copyright c 2004 by Magenta 2008 by George Triantafyllakos Released under the SIL Open Font License OFL -Designer : MagentaGeorge Triantafyllakos -Foundry : MagentaGeorge Triantafyllakos -Foundry URL : httpwwwmagentagr - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/webapp/fonts/BPreplayBoldItalics-webfont.ttf b/src/main/webapp/fonts/BPreplayBoldItalics-webfont.ttf deleted file mode 100644 index 53b118f7..00000000 Binary files a/src/main/webapp/fonts/BPreplayBoldItalics-webfont.ttf and /dev/null differ diff --git a/src/main/webapp/fonts/BPreplayBoldItalics-webfont.woff b/src/main/webapp/fonts/BPreplayBoldItalics-webfont.woff deleted file mode 100644 index e30ec306..00000000 Binary files a/src/main/webapp/fonts/BPreplayBoldItalics-webfont.woff and /dev/null differ diff --git a/src/main/webapp/fonts/BPreplayItalics-webfont.eot b/src/main/webapp/fonts/BPreplayItalics-webfont.eot deleted file mode 100644 index 0ce3b6be..00000000 Binary files a/src/main/webapp/fonts/BPreplayItalics-webfont.eot and /dev/null differ diff --git a/src/main/webapp/fonts/BPreplayItalics-webfont.svg b/src/main/webapp/fonts/BPreplayItalics-webfont.svg deleted file mode 100644 index c5c871a4..00000000 --- a/src/main/webapp/fonts/BPreplayItalics-webfont.svg +++ /dev/null @@ -1,333 +0,0 @@ - - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Copyright c 2004 by Magenta 2008 by George Triantafyllakos Released under the SIL Open Font License OFL -Designer : MagentaGeorge Triantafyllakos -Foundry : MagentaGeorge Triantafyllakos -Foundry URL : httpwwwmagentagr - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/webapp/fonts/BPreplayItalics-webfont.ttf b/src/main/webapp/fonts/BPreplayItalics-webfont.ttf deleted file mode 100644 index 3bc5a511..00000000 Binary files a/src/main/webapp/fonts/BPreplayItalics-webfont.ttf and /dev/null differ diff --git a/src/main/webapp/fonts/BPreplayItalics-webfont.woff b/src/main/webapp/fonts/BPreplayItalics-webfont.woff deleted file mode 100644 index 504404a4..00000000 Binary files a/src/main/webapp/fonts/BPreplayItalics-webfont.woff and /dev/null differ diff --git a/src/main/webapp/fonts/Droid-Serif-fontfacekit.zip b/src/main/webapp/fonts/Droid-Serif-fontfacekit.zip deleted file mode 100644 index f0c8fc8b..00000000 Binary files a/src/main/webapp/fonts/Droid-Serif-fontfacekit.zip and /dev/null differ diff --git a/src/main/webapp/fonts/DroidSerif-Bold-webfont.eot b/src/main/webapp/fonts/DroidSerif-Bold-webfont.eot deleted file mode 100644 index c0a081d0..00000000 Binary files a/src/main/webapp/fonts/DroidSerif-Bold-webfont.eot and /dev/null differ diff --git a/src/main/webapp/fonts/DroidSerif-Bold-webfont.svg b/src/main/webapp/fonts/DroidSerif-Bold-webfont.svg deleted file mode 100644 index 33b3d9fc..00000000 --- a/src/main/webapp/fonts/DroidSerif-Bold-webfont.svg +++ /dev/null @@ -1,167 +0,0 @@ - - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Digitized data copyright 2006 Google Corporation -Foundry : Ascender Corporation -Foundry URL : httpwwwascendercorpcom - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/webapp/fonts/DroidSerif-Bold-webfont.ttf b/src/main/webapp/fonts/DroidSerif-Bold-webfont.ttf deleted file mode 100644 index 995c73fd..00000000 Binary files a/src/main/webapp/fonts/DroidSerif-Bold-webfont.ttf and /dev/null differ diff --git a/src/main/webapp/fonts/DroidSerif-Bold-webfont.woff b/src/main/webapp/fonts/DroidSerif-Bold-webfont.woff deleted file mode 100644 index 56477f6a..00000000 Binary files a/src/main/webapp/fonts/DroidSerif-Bold-webfont.woff and /dev/null differ diff --git a/src/main/webapp/fonts/DroidSerif-BoldItalic-webfont.eot b/src/main/webapp/fonts/DroidSerif-BoldItalic-webfont.eot deleted file mode 100644 index 139cbb10..00000000 Binary files a/src/main/webapp/fonts/DroidSerif-BoldItalic-webfont.eot and /dev/null differ diff --git a/src/main/webapp/fonts/DroidSerif-BoldItalic-webfont.svg b/src/main/webapp/fonts/DroidSerif-BoldItalic-webfont.svg deleted file mode 100644 index d6b162e8..00000000 --- a/src/main/webapp/fonts/DroidSerif-BoldItalic-webfont.svg +++ /dev/null @@ -1,167 +0,0 @@ - - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Digitized data copyright 2007 Google Corporation -Foundry : Ascender Corporation -Foundry URL : httpwwwascendercorpcom - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/webapp/fonts/DroidSerif-BoldItalic-webfont.ttf b/src/main/webapp/fonts/DroidSerif-BoldItalic-webfont.ttf deleted file mode 100644 index 080aa21c..00000000 Binary files a/src/main/webapp/fonts/DroidSerif-BoldItalic-webfont.ttf and /dev/null differ diff --git a/src/main/webapp/fonts/DroidSerif-BoldItalic-webfont.woff b/src/main/webapp/fonts/DroidSerif-BoldItalic-webfont.woff deleted file mode 100644 index 06729cf8..00000000 Binary files a/src/main/webapp/fonts/DroidSerif-BoldItalic-webfont.woff and /dev/null differ diff --git a/src/main/webapp/fonts/DroidSerif-Italic-webfont.eot b/src/main/webapp/fonts/DroidSerif-Italic-webfont.eot deleted file mode 100644 index 2674ceb1..00000000 Binary files a/src/main/webapp/fonts/DroidSerif-Italic-webfont.eot and /dev/null differ diff --git a/src/main/webapp/fonts/DroidSerif-Italic-webfont.svg b/src/main/webapp/fonts/DroidSerif-Italic-webfont.svg deleted file mode 100644 index 1572ab61..00000000 --- a/src/main/webapp/fonts/DroidSerif-Italic-webfont.svg +++ /dev/null @@ -1,167 +0,0 @@ - - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Digitized data copyright 2007 Google Corporation -Foundry : Ascender Corporation -Foundry URL : httpwwwascendercorpcom - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/webapp/fonts/DroidSerif-Italic-webfont.ttf b/src/main/webapp/fonts/DroidSerif-Italic-webfont.ttf deleted file mode 100644 index 71e4ab19..00000000 Binary files a/src/main/webapp/fonts/DroidSerif-Italic-webfont.ttf and /dev/null differ diff --git a/src/main/webapp/fonts/DroidSerif-Italic-webfont.woff b/src/main/webapp/fonts/DroidSerif-Italic-webfont.woff deleted file mode 100644 index 763cb62a..00000000 Binary files a/src/main/webapp/fonts/DroidSerif-Italic-webfont.woff and /dev/null differ diff --git a/src/main/webapp/fonts/DroidSerif-Regular-webfont.eot b/src/main/webapp/fonts/DroidSerif-Regular-webfont.eot deleted file mode 100644 index 0a25a941..00000000 Binary files a/src/main/webapp/fonts/DroidSerif-Regular-webfont.eot and /dev/null differ diff --git a/src/main/webapp/fonts/DroidSerif-Regular-webfont.svg b/src/main/webapp/fonts/DroidSerif-Regular-webfont.svg deleted file mode 100644 index 4d37c8f3..00000000 --- a/src/main/webapp/fonts/DroidSerif-Regular-webfont.svg +++ /dev/null @@ -1,167 +0,0 @@ - - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Digitized data copyright 2006 Google Corporation -Foundry : Ascender Corporation -Foundry URL : httpwwwascendercorpcom - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/webapp/fonts/DroidSerif-Regular-webfont.ttf b/src/main/webapp/fonts/DroidSerif-Regular-webfont.ttf deleted file mode 100644 index 14c641ba..00000000 Binary files a/src/main/webapp/fonts/DroidSerif-Regular-webfont.ttf and /dev/null differ diff --git a/src/main/webapp/fonts/DroidSerif-Regular-webfont.woff b/src/main/webapp/fonts/DroidSerif-Regular-webfont.woff deleted file mode 100644 index 0ea54fdf..00000000 Binary files a/src/main/webapp/fonts/DroidSerif-Regular-webfont.woff and /dev/null differ diff --git a/src/main/webapp/fonts/symbols.eot b/src/main/webapp/fonts/symbols.eot deleted file mode 100644 index 751a81ab..00000000 Binary files a/src/main/webapp/fonts/symbols.eot and /dev/null differ diff --git a/src/main/webapp/fonts/symbols.svg b/src/main/webapp/fonts/symbols.svg deleted file mode 100644 index 907f22a8..00000000 --- a/src/main/webapp/fonts/symbols.svg +++ /dev/null @@ -1,86 +0,0 @@ - - - -Generated by IcoMoon - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/webapp/fonts/symbols.ttf b/src/main/webapp/fonts/symbols.ttf deleted file mode 100644 index 911bfc77..00000000 Binary files a/src/main/webapp/fonts/symbols.ttf and /dev/null differ diff --git a/src/main/webapp/fonts/symbols.woff b/src/main/webapp/fonts/symbols.woff deleted file mode 100644 index 3753b820..00000000 Binary files a/src/main/webapp/fonts/symbols.woff and /dev/null differ diff --git a/src/main/webapp/img/comming-soon.png b/src/main/webapp/img/comming-soon.png deleted file mode 100644 index b2f25825..00000000 Binary files a/src/main/webapp/img/comming-soon.png and /dev/null differ diff --git a/src/main/webapp/img/kai-moritz.jpg b/src/main/webapp/img/kai-moritz.jpg deleted file mode 100644 index c1815a1b..00000000 Binary files a/src/main/webapp/img/kai-moritz.jpg and /dev/null differ diff --git a/src/main/webapp/img/wip.gif b/src/main/webapp/img/wip.gif deleted file mode 100644 index 13a03b12..00000000 Binary files a/src/main/webapp/img/wip.gif and /dev/null differ diff --git a/src/main/webapp/js/base.js b/src/main/webapp/js/base.js deleted file mode 120000 index cd3c776d..00000000 --- a/src/main/webapp/js/base.js +++ /dev/null @@ -1 +0,0 @@ -prettify.js \ No newline at end of file diff --git a/src/main/webapp/js/html5shiv.js b/src/main/webapp/js/html5shiv.js deleted file mode 100644 index 448cebd7..00000000 --- a/src/main/webapp/js/html5shiv.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - HTML5 Shiv v3.7.0 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed -*/ -(function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag(); -a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/[\w\-]+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x"; -c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode|| -"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:"3.7.0",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f); -if(g)return a.createDocumentFragment();for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d - * Licensed under the Apache v2 License. - * - */ - - /** * @license Apache v2 - */ - -!function(a,b){function c(b){return a.less[b.split("/")[1]]}function d(a,b){"undefined"!=typeof console&&w.logLevel>=b&&console.log("less: "+a)}function e(a){return a.replace(/^[a-z-]+:\/+?[^\/]+/,"").replace(/^\//,"").replace(/\.[a-zA-Z]+$/,"").replace(/[^\.\w-]+/g,"-").replace(/\./g,":")}function f(a,c){var e="{line} {content}",f=a.filename||c,g=[],h=(a.type||"Syntax")+"Error: "+(a.message||"There is an error in your .less file")+" in "+f+" ",i=function(a,c,d){a.extract[c]!==b&&g.push(e.replace(/\{line\}/,(parseInt(a.line,10)||0)+(c-1)).replace(/\{class\}/,d).replace(/\{content\}/,a.extract[c]))};a.extract?(i(a,0,""),i(a,1,"line"),i(a,2,""),h+="on line "+a.line+", column "+(a.column+1)+":\n"+g.join("\n")):a.stack&&(h+=a.stack),d(h,z.errors)}function g(a,b,c){var f=b.href||"",g="less:"+(b.title||e(f)),h=document.getElementById(g),i=!1,j=document.createElement("style");if(j.setAttribute("type","text/css"),b.media&&j.setAttribute("media",b.media),j.id=g,j.styleSheet)try{j.styleSheet.cssText=a}catch(k){throw new Error("Couldn't reassign styleSheet.cssText.")}else j.appendChild(document.createTextNode(a)),i=null!==h&&h.childNodes.length>0&&j.childNodes.length>0&&h.firstChild.nodeValue===j.firstChild.nodeValue;var l=document.getElementsByTagName("head")[0];if(null===h||i===!1){var m=b&&b.nextSibling||null;m?m.parentNode.insertBefore(j,m):l.appendChild(j)}if(h&&i===!1&&h.parentNode.removeChild(h),c&&D){d("saving "+f+" to cache.",z.info);try{D.setItem(f,a),D.setItem(f+":timestamp",c)}catch(k){d("failed to save",z.errors)}}}function h(a){return w.postProcessor&&"function"==typeof w.postProcessor&&(a=w.postProcessor.call(a,a)||a),a}function i(a,c){var d,f,h="less-error-message:"+e(c||""),i='
  • {content}
  • ',j=document.createElement("div"),k=[],l=a.filename||c,m=l.match(/([^\/]+(\?.*)?)$/)[1];j.id=h,j.className="less-error-message",f="

    "+(a.type||"Syntax")+"Error: "+(a.message||"There is an error in your .less file")+'

    in '+m+" ";var n=function(a,c,d){a.extract[c]!==b&&k.push(i.replace(/\{line\}/,(parseInt(a.line,10)||0)+(c-1)).replace(/\{class\}/,d).replace(/\{content\}/,a.extract[c]))};a.extract?(n(a,0,""),n(a,1,"line"),n(a,2,""),f+="on line "+a.line+", column "+(a.column+1)+":

      "+k.join("")+"
    "):a.stack&&(f+="
    "+a.stack.split("\n").slice(1).join("
    ")),j.innerHTML=f,g([".less-error-message ul, .less-error-message li {","list-style-type: none;","margin-right: 15px;","padding: 4px 0;","margin: 0;","}",".less-error-message label {","font-size: 12px;","margin-right: 15px;","padding: 4px 0;","color: #cc7777;","}",".less-error-message pre {","color: #dd6666;","padding: 4px 0;","margin: 0;","display: inline-block;","}",".less-error-message pre.line {","color: #ff0000;","}",".less-error-message h3 {","font-size: 20px;","font-weight: bold;","padding: 15px 0 5px 0;","margin: 0;","}",".less-error-message a {","color: #10a","}",".less-error-message .error {","color: red;","font-weight: bold;","padding-bottom: 2px;","border-bottom: 1px dashed red;","}"].join("\n"),{title:"error-message"}),j.style.cssText=["font-family: Arial, sans-serif","border: 1px solid #e00","background-color: #eee","border-radius: 5px","-webkit-border-radius: 5px","-moz-border-radius: 5px","color: #e00","padding: 15px","margin-bottom: 15px"].join(";"),"development"==w.env&&(d=setInterval(function(){document.body&&(document.getElementById(h)?document.body.replaceChild(j,document.getElementById(h)):document.body.insertBefore(j,document.body.firstChild),clearInterval(d))},10))}function j(a,b){w.errorReporting&&"html"!==w.errorReporting?"console"===w.errorReporting?f(a,b):"function"==typeof w.errorReporting&&w.errorReporting("add",a,b):i(a,b)}function k(a){var b=document.getElementById("less-error-message:"+e(a));b&&b.parentNode.removeChild(b)}function l(){}function m(a){w.errorReporting&&"html"!==w.errorReporting?"console"===w.errorReporting?l(a):"function"==typeof w.errorReporting&&w.errorReporting("remove",a):k(a)}function n(a){for(var b,c=document.getElementsByTagName("style"),d=0;d0&&(h.splice(c-1,2),c-=2)}return g.hostPart=f[1],g.directories=h,g.path=f[1]+h.join("/"),g.fileUrl=g.path+(f[4]||""),g.url=g.fileUrl+(f[5]||""),g}function p(a,b){var c,d,e,f,g=o(a),h=o(b),i="";if(g.hostPart!==h.hostPart)return"";for(d=Math.max(h.directories.length,g.directories.length),c=0;d>c&&h.directories[c]===g.directories[c];c++);for(f=h.directories.slice(c),e=g.directories.slice(c),c=0;c=200&&b.status<300?c(b.responseText,b.getResponseHeader("Last-Modified")):"function"==typeof d&&d(b.status,a)}var g=q(),h=y?w.fileAsync:w.async;"function"==typeof g.overrideMimeType&&g.overrideMimeType("text/css"),d("XHR: Getting '"+a+"'",z.debug),g.open("GET",a,h),g.setRequestHeader("Accept",b||"text/x-less, text/css; q=0.9, */*; q=0.5"),g.send(null),y&&!w.fileAsync?0===g.status||g.status>=200&&g.status<300?c(g.responseText):e(g.status,a):h?g.onreadystatechange=function(){4==g.readyState&&f(g,c,e)}:f(g,c,e)}function s(b,c,d,e){c&&c.currentDirectory&&!/^([a-z-]+:)?\//.test(b)&&(b=c.currentDirectory+b);var f=o(b,a.location.href),g=f.url,h={currentDirectory:f.path,filename:g};if(c?(h.entryPath=c.entryPath,h.rootpath=c.rootpath,h.rootFilename=c.rootFilename,h.relativeUrls=c.relativeUrls):(h.entryPath=f.path,h.rootpath=w.rootpath||f.path,h.rootFilename=g,h.relativeUrls=e.relativeUrls),h.relativeUrls&&(h.rootpath=e.rootpath?o(e.rootpath+p(f.path,h.entryPath)).path:f.path),e.useFileCache&&E[g])try{var i=E[g];d(null,i,g,h,{lastModified:new Date})}catch(j){d(j,null,g)}else r(g,e.mime,function(a,b){E[g]=a;try{d(null,a,g,h,{lastModified:b})}catch(c){d(c,null,g)}},function(a,b){d({type:"File",message:"'"+b+"' wasn't found ("+a+")"},null,g)})}function t(a,b,c,d,e){var f=new w.tree.parseEnv(w);f.mime=a.type,(e||w.globalVars)&&(f.useFileCache=!0),s(a.href,null,function(h,i,j,k,l){if(l){l.remaining=d;var n=D&&D.getItem(j),o=D&&D.getItem(j+":timestamp");if(!c&&o&&l.lastModified&&new Date(l.lastModified).valueOf()===new Date(o).valueOf())return g(n,a),l.local=!0,void b(null,null,i,a,l,j)}m(j),i?(f.currentFileInfo=k,new w.Parser(f).parse(i,function(c,d){if(c)return b(c,null,null,a);try{b(c,d,i,a,l,j)}catch(c){b(c,null,null,a)}},{modifyVars:e,globalVars:w.globalVars})):b(h,null,null,a,l,j)},f,e)}function u(a,b,c){for(var d=0;dD&&(C=C.slice(y-D),D=y)}function h(a,b){var c=a.charCodeAt(0|b);return 32>=c&&(32===c||10===c||9===c)}function i(a){var b,c,d=typeof a;return"string"===d?v.charAt(y)!==a?null:(l(1),a):(g(),(b=a.exec(C))?(c=b[0].length,l(c),"string"==typeof b?b:1===b.length?b[0]:b):null)}function j(a){y>D&&(C=C.slice(y-D),D=y);var b=a.exec(C);return b?(l(b[0].length),"string"==typeof b?b:1===b.length?b[0]:b):null}function k(a){return v.charAt(y)!==a?null:(l(1),a)}function l(a){for(var b,c=y,d=z,e=y-D,f=y+C.length-e,g=y+=a,h=v;f>y&&(b=h.charCodeAt(y),!(b>32))&&(32===b||10===b||9===b||13===b);y++);return C=C.slice(a+y-g+e),D=y,!C.length&&z=0&&"\n"!==b.charAt(c);)e++;return"number"==typeof a&&(d=(b.slice(0,a).match(/\n/g)||"").length),{line:d,column:e}}function t(a,b,d){var e=d.currentFileInfo.filename;return"browser"!==w.mode&&"rhino"!==w.mode&&(e=c("path").resolve(e)),{lineNumber:s(a,b).line+1,fileName:e}}function u(a,b){var c=r(a,b),d=s(a.index,c),e=d.line,f=d.column,g=a.call&&s(a.call,c).line,h=c.split("\n");this.type=a.type||"Syntax",this.message=a.message,this.filename=a.filename||b.currentFileInfo.filename,this.index=a.index,this.line="number"==typeof e?e+1:null,this.callLine=g+1,this.callExtract=h[g],this.stack=a.stack,this.column=f,this.extract=[h[e-1],h[e],h[e+1]]}var v,y,z,A,B,C,D,E,F,G=[],H=a&&a.filename;a instanceof x.parseEnv||(a=new x.parseEnv(a));var I=this.imports={paths:a.paths||[],queue:[],files:a.files,contents:a.contents,contentsIgnoredChars:a.contentsIgnoredChars,mime:a.mime,error:null,push:function(b,c,d,e){var f=this;this.queue.push(b);var g=function(a,c,d){f.queue.splice(f.queue.indexOf(b),1);var g=d===H;f.files[d]=c,a&&!f.error&&(f.error=a),e(a,c,g,d)};w.Parser.importer?w.Parser.importer(b,c,g,a):w.Parser.fileLoader(b,c,function(b,e,f,h){if(b)return void g(b);var i=new x.parseEnv(a);i.currentFileInfo=h,i.processImports=!1,i.contents[f]=e,(c.reference||d.reference)&&(h.reference=!0),d.inline?g(null,e,f):new w.Parser(i).parse(e,function(a,b){g(a,b,f)})},a)}},J=j;return u.prototype=new Error,u.prototype.constructor=u,this.env=a=a||{},this.optimization="optimization"in this.env?this.env.optimization:1,E={imports:I,parse:function(d,e,f){var g,h,i,j,k,l=null,m="";if(y=z=D=A=0,j=f&&f.globalVars?w.Parser.serializeVars(f.globalVars)+"\n":"",k=f&&f.modifyVars?"\n"+w.Parser.serializeVars(f.modifyVars):"",(j||f&&f.banner)&&(m=(f&&f.banner?f.banner:"")+j,E.imports.contentsIgnoredChars[a.currentFileInfo.filename]=m.length),d=d.replace(/\r\n/g,"\n"),v=d=m+d.replace(/^\uFEFF/,"")+k,E.imports.contents[a.currentFileInfo.filename]=d,B=function(b){function c(b,c){l=new u({index:c||i,type:"Parse",message:b,filename:a.currentFileInfo.filename},a)}function d(a){var c=i-s;512>c&&!a||!c||(r.push(b.slice(s,i+1)),s=i+1)}var e,f,g,h,i,j,k,m,n,o=b.length,p=0,q=0,r=[],s=0;for(i=0;o>i;i++)if(k=b.charCodeAt(i),!(k>=97&&122>=k||34>k))switch(k){case 40:q++,f=i;continue;case 41:if(--q<0)return c("missing opening `(`");continue;case 59:q||d();continue;case 123:p++,e=i;continue;case 125:if(--p<0)return c("missing opening `{`");p||q||d();continue;case 92:if(o-1>i){i++;continue}return c("unescaped `\\`");case 34:case 39:case 96:for(n=0,j=i,i+=1;o>i;i++)if(m=b.charCodeAt(i),!(m>96)){if(m==k){n=1;break}if(92==m){if(i==o-1)return c("unescaped `\\`");i++}}if(n)continue;return c("unmatched `"+String.fromCharCode(k)+"`",j);case 47:if(q||i==o-1)continue;if(m=b.charCodeAt(i+1),47==m)for(i+=2;o>i&&(m=b.charCodeAt(i),!(13>=m)||10!=m&&13!=m);i++);else if(42==m){for(g=j=i,i+=2;o-1>i&&(m=b.charCodeAt(i),125==m&&(h=i),42!=m||47!=b.charCodeAt(i+1));i++);if(i==o-1)return c("missing closing `*/`",j);i++}continue;case 42:if(o-1>i&&47==b.charCodeAt(i+1))return c("unmatched `/*`");continue}return 0!==p?g>e&&h>g?c("missing closing `}` or `*/`",e):c("missing closing `}`",e):0!==q?c("missing closing `)`",f):(d(!0),r)}(d),l)return e(new u(l,a));C=B[0];try{g=new x.Ruleset(null,this.parsers.primary()),g.root=!0,g.firstRoot=!0}catch(n){return e(new u(n,a))}if(g.toCSS=function(d){return function(e,f){e=e||{};var g,h,i=new x.evalEnv(e);"object"!=typeof f||Array.isArray(f)||(f=Object.keys(f).map(function(a){var b=f[a];return b instanceof x.Value||(b instanceof x.Expression||(b=new x.Expression([b])),b=new x.Value([b])),new x.Rule("@"+a,b,!1,null,0)}),i.frames=[new x.Ruleset(null,f)]);try{var j,k=[],l=[new x.joinSelectorVisitor,new x.processExtendsVisitor,new x.toCSSVisitor({compress:Boolean(e.compress)})],m=this;if(e.plugins)for(j=0;j57||43>b||47===b||44==b))return a=j(/^([+-]?\d*\.?\d+)(%|[a-z]+)?/),a?new x.Dimension(a[1],a[2]):void 0},unicodeDescriptor:function(){var a;return a=j(/^U\+[0-9a-fA-F?]+(\-[0-9a-fA-F?]+)?/),a?new x.UnicodeDescriptor(a[0]):void 0},javascript:function(){var c,d,e=y;return"~"===v.charAt(e)&&(e++,d=!0),"`"===v.charAt(e)?(a.javascriptEnabled===b||a.javascriptEnabled||o("You are using JavaScript, which has been disabled."),d&&k("~"),c=j(/^`([^`]*)`/),c?new x.JavaScript(c[1],y,d):void 0):void 0}},variable:function(){var a;return"@"===v.charAt(y)&&(a=j(/^(@[\w-]+)\s*:/))?a[1]:void 0},rulesetCall:function(){var a;return"@"===v.charAt(y)&&(a=j(/^(@[\w-]+)\s*\(\s*\)\s*;/))?new x.RulesetCall(a[1]):void 0},extend:function(a){var b,c,d,e,f,g=y;if(j(a?/^&:extend\(/:/^:extend\(/)){do{for(d=null,b=null;!(d=j(/^(all)(?=\s*(\)|,))/))&&(c=this.element());)b?b.push(c):b=[c];d=d&&d[1],f=new x.Extend(new x.Selector(b),d,g),e?e.push(f):e=[f]}while(k(","));return m(/^\)/),a&&m(/^;/),e}},extendRule:function(){return this.extend(!0)},mixin:{call:function(){var b,c,g,h,i,l,m=v.charAt(y),o=!1,p=y;if("."===m||"#"===m){for(d();;){if(b=y,h=j(/^[#.](?:[\w-]|\\(?:[A-Fa-f0-9]{1,6} ?|[^A-Fa-f0-9]))+/),!h)break;g=new x.Element(i,h,b,a.currentFileInfo),c?c.push(g):c=[g],i=k(">")}return c&&(k("(")&&(l=this.args(!0).args,n(")")),F.important()&&(o=!0),F.end())?(f(),new x.mixin.Call(c,l,p,a.currentFileInfo,o)):void e()}},args:function(a){var b,c,g,h,i,l,m=E.parsers,n=m.entities,p={args:null,variadic:!1},q=[],r=[],s=[];for(d();;){if(a)l=m.detachedRuleset()||m.expression();else{if(m.comments(),"."===v.charAt(y)&&j(/^\.{3}/)){p.variadic=!0,k(";")&&!b&&(b=!0),(b?r:s).push({variadic:!0});break}l=n.variable()||n.literal()||n.keyword()}if(!l)break;h=null,l.throwAwayComments&&l.throwAwayComments(),i=l;var t=null;if(a?l.value&&1==l.value.length&&(t=l.value[0]):t=l,t&&t instanceof x.Variable)if(k(":")){if(q.length>0&&(b&&o("Cannot mix ; and , as delimiter types"),c=!0),i=a&&m.detachedRuleset()||m.expression(),!i){if(!a)return e(),p.args=[],p;o("could not understand value for named argument")}h=g=t.name}else{if(!a&&j(/^\.{3}/)){p.variadic=!0,k(";")&&!b&&(b=!0),(b?r:s).push({name:l.name,variadic:!0});break}a||(g=h=t.name,i=null)}i&&q.push(i),s.push({name:h,value:i}),k(",")||(k(";")||b)&&(c&&o("Cannot mix ; and , as delimiter types"),b=!0,q.length>1&&(i=new x.Value(q)),r.push({name:g,value:i}),g=null,q=[],c=!1)}return f(),p.args=b?r:s,p},definition:function(){var a,b,c,g,h=[],i=!1;if(!("."!==v.charAt(y)&&"#"!==v.charAt(y)||p(/^[^{]*\}/)))if(d(),b=j(/^([#.](?:[\w-]|\\(?:[A-Fa-f0-9]{1,6} ?|[^A-Fa-f0-9]))+)\s*\(/)){a=b[1];var l=this.args(!1);if(h=l.args,i=l.variadic,!k(")"))return A=y,void e();if(F.comments(),j(/^when/)&&(g=m(F.conditions,"expected condition")),c=F.block())return f(),new x.mixin.Definition(a,h,c,g,i);e()}else f()}},entity:function(){var a=this.entities;return a.literal()||a.variable()||a.url()||a.call()||a.keyword()||a.javascript()||this.comment()},end:function(){return k(";")||q("}")},alpha:function(){var a;if(j(/^\(opacity=/i))return a=j(/^\d+/)||this.entities.variable(),a?(n(")"),new x.Alpha(a)):void 0},element:function(){var b,c,g,h=y;return c=this.combinator(),b=j(/^(?:\d+\.\d+|\d+)%/)||j(/^(?:[.#]?|:*)(?:[\w-]|[^\x00-\x9f]|\\(?:[A-Fa-f0-9]{1,6} ?|[^A-Fa-f0-9]))+/)||k("*")||k("&")||this.attribute()||j(/^\([^()@]+\)/)||j(/^[\.#](?=@)/)||this.entities.variableCurly(),b||(d(),k("(")?(g=this.selector())&&k(")")?(b=new x.Paren(g),f()):e():f()),b?new x.Element(c,b,h,a.currentFileInfo):void 0},combinator:function(){var a=v.charAt(y);if(">"===a||"+"===a||"~"===a||"|"===a||"^"===a){for(y++,"^"===v.charAt(y)&&(a="^^",y++);h(v,y);)y++;return new x.Combinator(a)}return new x.Combinator(h(v,y-1)?" ":null)},lessSelector:function(){return this.selector(!0)},selector:function(b){for(var c,d,e,f,g,h,i,j=y,k=J;(b&&(g=this.extend())||b&&(h=k(/^when/))||(f=this.element()))&&(h?i=m(this.conditions,"expected condition"):i?o("CSS guard can only be used at the end of selector"):g?d?d.push(g):d=[g]:(d&&o("Extend can only be used at the end of selector"),e=v.charAt(y),c?c.push(f):c=[f],f=null),"{"!==e&&"}"!==e&&";"!==e&&","!==e&&")"!==e););return c?new x.Selector(c,d,i,j,a.currentFileInfo):void(d&&o("Extend must be used to extend a selector, it cannot be used on its own"))},attribute:function(){if(k("[")){var a,b,c,d=this.entities;return(a=d.variableCurly())||(a=m(/^(?:[_A-Za-z0-9-\*]*\|)?(?:[_A-Za-z0-9-]|\\.)+/)),c=j(/^[|~*$^]?=/),c&&(b=d.quoted()||j(/^[0-9]+%/)||j(/^[\w-]+/)||d.variableCurly()),n("]"),new x.Attribute(a,c,b)}},block:function(){var a;return k("{")&&(a=this.primary())&&k("}")?a:void 0},blockRuleset:function(){var a=this.block();return a&&(a=new x.Ruleset(null,a)),a},detachedRuleset:function(){var a=this.blockRuleset();return a?new x.DetachedRuleset(a):void 0},ruleset:function(){var b,c,g,h;for(d(),a.dumpLineNumbers&&(h=t(y,v,a));;){if(c=this.lessSelector(),!c)break;if(b?b.push(c):b=[c],this.comments(),c.condition&&b.length>1&&o("Guards are only currently allowed on a single selector."),!k(","))break;c.condition&&o("Guards are only currently allowed on a single selector."),this.comments()}if(b&&(g=this.block())){f();var i=new x.Ruleset(b,g,a.strictImports);return a.dumpLineNumbers&&(i.debugInfo=h),i}A=y,e()},rule:function(b){var c,g,h,i,j,k=y,l=v.charAt(k);if("."!==l&&"#"!==l&&"&"!==l)if(d(),c=this.variable()||this.ruleProperty()){if(j="string"==typeof c,j&&(g=this.detachedRuleset()),g||(g=b||!a.compress&&!j?this.anonymousValue()||this.value():this.value()||this.anonymousValue(),h=this.important(),i=!j&&c.pop().value),g&&this.end())return f(),new x.Rule(c,g,h,i,k,a.currentFileInfo);if(A=y,e(),g&&!b)return this.rule(!0)}else f()},anonymousValue:function(){var a;return a=/^([^@+\/'"*`(;{}-]*);/.exec(C),a?(y+=a[0].length-1,new x.Anonymous(a[1])):void 0},"import":function(){var b,c,g=y;d();var h=j(/^@import?\s+/),i=(h?this.importOptions():null)||{};return h&&(b=this.entities.quoted()||this.entities.url())&&(c=this.mediaFeatures(),k(";"))?(f(),c=c&&new x.Value(c),new x.Import(b,c,i,g,a.currentFileInfo)):void e()},importOptions:function(){var a,b,c,d={};if(!k("("))return null;do if(a=this.importOption()){switch(b=a,c=!0,b){case"css":b="less",c=!1;break;case"once":b="multiple",c=!1}if(d[b]=c,!k(","))break}while(a);return n(")"),d},importOption:function(){var a=j(/^(less|css|multiple|once|inline|reference)/);return a?a[1]:void 0},mediaFeature:function(){var b,c,d=this.entities,e=[];do if(b=d.keyword()||d.variable())e.push(b);else if(k("(")){if(c=this.property(),b=this.value(),!k(")"))return null;if(c&&b)e.push(new x.Paren(new x.Rule(c,b,null,null,y,a.currentFileInfo,!0)));else{if(!b)return null;e.push(new x.Paren(b))}}while(b);return e.length>0?new x.Expression(e):void 0},mediaFeatures:function(){var a,b=this.entities,c=[];do if(a=this.mediaFeature()){if(c.push(a),!k(","))break}else if(a=b.variable(),a&&(c.push(a),!k(",")))break;while(a);return c.length>0?c:null},media:function(){var b,c,d,e;return a.dumpLineNumbers&&(e=t(y,v,a)),j(/^@media/)&&(b=this.mediaFeatures(),c=this.block())?(d=new x.Media(c,b,y,a.currentFileInfo),a.dumpLineNumbers&&(d.debugInfo=e),d):void 0},directive:function(){var b,c,g,h,i,l,m,n=y,p=!0;if("@"===v.charAt(y)){if(c=this["import"]()||this.media())return c;if(d(),b=j(/^@[a-z-]+/)){switch(h=b,"-"==b.charAt(1)&&b.indexOf("-",2)>0&&(h="@"+b.slice(b.indexOf("-",2)+1)),h){case"@charset":i=!0,p=!1;break;case"@namespace":l=!0,p=!1;break;case"@keyframes":i=!0;break;case"@host":case"@page":case"@document":case"@supports":m=!0}return i?(c=this.entity(),c||o("expected "+b+" identifier")):l?(c=this.expression(),c||o("expected "+b+" expression")):m&&(c=(j(/^[^{;]+/)||"").trim(),c&&(c=new x.Anonymous(c))),p&&(g=this.blockRuleset()),g||!p&&c&&k(";")?(f(),new x.Directive(b,c,g,n,a.currentFileInfo,a.dumpLineNumbers?t(n,v,a):null)):void e()}}},value:function(){var a,b=[];do if(a=this.expression(),a&&(b.push(a),!k(",")))break;while(a);return b.length>0?new x.Value(b):void 0},important:function(){return"!"===v.charAt(y)?j(/^! *important/):void 0},sub:function(){var a,b;return k("(")&&(a=this.addition())?(b=new x.Expression([a]),n(")"),b.parens=!0,b):void 0},multiplication:function(){var a,b,c,d,e;if(a=this.operand()){for(e=h(v,y-1);;){if(p(/^\/[*\/]/))break;if(c=k("/")||k("*"),!c)break;if(b=this.operand(),!b)break;a.parensInOp=!0,b.parensInOp=!0,d=new x.Operation(c,[d||a,b],e),e=h(v,y-1)}return d||a}},addition:function(){var a,b,c,d,e;if(a=this.multiplication()){for(e=h(v,y-1);;){if(c=j(/^[-+]\s+/)||!e&&(k("+")||k("-")),!c)break;if(b=this.multiplication(),!b)break;a.parensInOp=!0,b.parensInOp=!0,d=new x.Operation(c,[d||a,b],e),e=h(v,y-1)}return d||a}},conditions:function(){var a,b,c,d=y;if(a=this.condition()){for(;;){if(!p(/^,\s*(not\s*)?\(/)||!k(","))break;if(b=this.condition(),!b)break;c=new x.Condition("or",c||a,b,d)}return c||a}},condition:function(){var a,b,c,d,e=this.entities,f=y,g=!1;return j(/^not/)&&(g=!0),n("("),a=this.addition()||e.keyword()||e.quoted(),a?(d=j(/^(?:>=|<=|=<|[<=>])/),d?(b=this.addition()||e.keyword()||e.quoted(),b?c=new x.Condition(d,a,b,f,g):o("expected expression")):c=new x.Condition("=",a,new x.Keyword("true"),f,g),n(")"),j(/^and/)?new x.Condition("and",c,this.condition()):c):void 0},operand:function(){var a,b=this.entities,c=v.charAt(y+1);"-"!==v.charAt(y)||"@"!==c&&"("!==c||(a=k("-"));var d=this.sub()||b.dimension()||b.color()||b.variable()||b.call();return a&&(d.parensInOp=!0,d=new x.Negative(d)),d},expression:function(){var a,b,c=[];do a=this.addition()||this.entity(),a&&(c.push(a),p(/^\/[\/*]/)||(b=k("/"),b&&c.push(new x.Anonymous(b))));while(a);return c.length>0?new x.Expression(c):void 0},property:function(){var a=j(/^(\*?-?[_a-zA-Z0-9-]+)\s*:/);return a?a[1]:void 0},ruleProperty:function(){function b(a){var b=a.exec(e);return b?(g.push(y+h),h+=b[0].length,e=e.slice(b[1].length),f.push(b[1])):void 0}var c,d,e=C,f=[],g=[],h=0;for(b(/^(\*?)/);b(/^((?:[\w-]+)|(?:@\{[\w-]+\}))/););if(f.length>1&&b(/^\s*((?:\+_|\+)?)\s*:/)){for(l(h),""===f[0]&&(f.shift(),g.shift()),d=0;dl;l++)e=b.rgb[l]/255,f=c.rgb[l]/255,h=a(e,f),g&&(h=(j*f+i*(e-j*(e+f-h)))/g),k[l]=255*h;return new d.Color(k,g)}function g(){var a,b=d.functions;for(a in l)l.hasOwnProperty(a)&&(b[a]=e.bind(null,Math[a],l[a]));for(a in m)m.hasOwnProperty(a)&&(b[a]=f.bind(null,m[a]));a=d.defaultFunc,b["default"]=a.eval.bind(a)}function h(a){return d.functions.hsla(a.h,a.s,a.l,a.a)}function i(a,b){return a instanceof d.Dimension&&a.unit.is("%")?parseFloat(a.value*b/100):j(a)}function j(a){if(a instanceof d.Dimension)return parseFloat(a.unit.is("%")?a.value/100:a.value);if("number"==typeof a)return a;throw{error:"RuntimeError",message:"color functions take numbers as parameters"}}function k(a){return Math.min(1,Math.max(0,a))}d.functions={rgb:function(a,b,c){return this.rgba(a,b,c,1)},rgba:function(a,b,c,e){var f=[a,b,c].map(function(a){return i(a,255)});return e=j(e),new d.Color(f,e)},hsl:function(a,b,c){return this.hsla(a,b,c,1)},hsla:function(a,b,c,d){function e(a){return a=0>a?a+1:a>1?a-1:a,1>6*a?g+(f-g)*a*6:1>2*a?f:2>3*a?g+(f-g)*(2/3-a)*6:g}a=j(a)%360/360,b=k(j(b)),c=k(j(c)),d=k(j(d));var f=.5>=c?c*(b+1):c+b-c*b,g=2*c-f;return this.rgba(255*e(a+1/3),255*e(a),255*e(a-1/3),d)},hsv:function(a,b,c){return this.hsva(a,b,c,1)},hsva:function(a,b,c,d){a=j(a)%360/360*360,b=j(b),c=j(c),d=j(d);var e,f;e=Math.floor(a/60%6),f=a/60-e;var g=[c,c*(1-b),c*(1-f*b),c*(1-(1-f)*b)],h=[[0,3,1],[2,0,1],[1,0,3],[1,2,0],[3,1,0],[0,1,2]];return this.rgba(255*g[h[e][0]],255*g[h[e][1]],255*g[h[e][2]],d)},hue:function(a){return new d.Dimension(Math.round(a.toHSL().h))},saturation:function(a){return new d.Dimension(Math.round(100*a.toHSL().s),"%")},lightness:function(a){return new d.Dimension(Math.round(100*a.toHSL().l),"%")},hsvhue:function(a){return new d.Dimension(Math.round(a.toHSV().h))},hsvsaturation:function(a){return new d.Dimension(Math.round(100*a.toHSV().s),"%")},hsvvalue:function(a){return new d.Dimension(Math.round(100*a.toHSV().v),"%")},red:function(a){return new d.Dimension(a.rgb[0])},green:function(a){return new d.Dimension(a.rgb[1])},blue:function(a){return new d.Dimension(a.rgb[2])},alpha:function(a){return new d.Dimension(a.toHSL().a)},luma:function(a){return new d.Dimension(Math.round(a.luma()*a.alpha*100),"%")},luminance:function(a){var b=.2126*a.rgb[0]/255+.7152*a.rgb[1]/255+.0722*a.rgb[2]/255;return new d.Dimension(Math.round(b*a.alpha*100),"%")},saturate:function(a,b){if(!a.rgb)return null;var c=a.toHSL();return c.s+=b.value/100,c.s=k(c.s),h(c)},desaturate:function(a,b){var c=a.toHSL();return c.s-=b.value/100,c.s=k(c.s),h(c)},lighten:function(a,b){var c=a.toHSL();return c.l+=b.value/100,c.l=k(c.l),h(c)},darken:function(a,b){var c=a.toHSL();return c.l-=b.value/100,c.l=k(c.l),h(c)},fadein:function(a,b){var c=a.toHSL();return c.a+=b.value/100,c.a=k(c.a),h(c)},fadeout:function(a,b){var c=a.toHSL();return c.a-=b.value/100,c.a=k(c.a),h(c)},fade:function(a,b){var c=a.toHSL();return c.a=b.value/100,c.a=k(c.a),h(c)},spin:function(a,b){var c=a.toHSL(),d=(c.h+b.value)%360;return c.h=0>d?360+d:d,h(c)},mix:function(a,b,c){c||(c=new d.Dimension(50));var e=c.value/100,f=2*e-1,g=a.toHSL().a-b.toHSL().a,h=((f*g==-1?f:(f+g)/(1+f*g))+1)/2,i=1-h,j=[a.rgb[0]*h+b.rgb[0]*i,a.rgb[1]*h+b.rgb[1]*i,a.rgb[2]*h+b.rgb[2]*i],k=a.alpha*e+b.alpha*(1-e);return new d.Color(j,k)},greyscale:function(a){return this.desaturate(a,new d.Dimension(100))},contrast:function(a,b,c,d){if(!a.rgb)return null;if("undefined"==typeof c&&(c=this.rgba(255,255,255,1)),"undefined"==typeof b&&(b=this.rgba(0,0,0,1)),b.luma()>c.luma()){var e=c;c=b,b=e}return d="undefined"==typeof d?.43:j(d),a.luma()i.value)&&(m[f]=g);else{if(k!==b&&j!==k)throw{type:"Argument",message:"incompatible types"};n[j]=m.length,m.push(g)}else Array.isArray(c[e].value)&&Array.prototype.push.apply(c,Array.prototype.slice.call(c[e].value));return 1==m.length?m[0]:(c=m.map(function(a){return a.toCSS(this.env)}).join(this.env.compress?",":", "),new d.Anonymous((a?"min":"max")+"("+c+")"))},min:function(){return this._minmax(!0,arguments)},max:function(){return this._minmax(!1,arguments)},"get-unit":function(a){return new d.Anonymous(a.unit)},argb:function(a){return new d.Anonymous(a.toARGB())},percentage:function(a){return new d.Dimension(100*a.value,"%")},color:function(a){if(a instanceof d.Quoted){var b,c=a.value;if(b=d.Color.fromKeyword(c))return b;if(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})/.test(c))return new d.Color(c.slice(1));throw{type:"Argument",message:"argument must be a color keyword or 3/6 digit hex e.g. #FFF"}}throw{type:"Argument",message:"argument must be a string"}},iscolor:function(a){return this._isa(a,d.Color)},isnumber:function(a){return this._isa(a,d.Dimension)},isstring:function(a){return this._isa(a,d.Quoted)},iskeyword:function(a){return this._isa(a,d.Keyword)},isurl:function(a){return this._isa(a,d.URL)},ispixel:function(a){return this.isunit(a,"px")},ispercentage:function(a){return this.isunit(a,"%")},isem:function(a){return this.isunit(a,"em")},isunit:function(a,b){return a instanceof d.Dimension&&a.unit.is(b.value||b)?d.True:d.False},_isa:function(a,b){return a instanceof b?d.True:d.False},tint:function(a,b){return this.mix(this.rgb(255,255,255),a,b)},shade:function(a,b){return this.mix(this.rgb(0,0,0),a,b)},extract:function(a,b){return b=b.value-1,Array.isArray(a.value)?a.value[b]:Array(a)[b]},length:function(a){var b=Array.isArray(a.value)?a.value.length:1;return new d.Dimension(b)},"data-uri":function(b,e){if("undefined"!=typeof a)return new d.URL(e||b,this.currentFileInfo).eval(this.env);var f=b.value,g=e&&e.value,h=c("fs"),i=c("path"),j=!1;if(arguments.length<2&&(g=f),this.env.isPathRelative(g)&&(g=this.currentFileInfo.relativeUrls?i.join(this.currentFileInfo.currentDirectory,g):i.join(this.currentFileInfo.entryPath,g)),arguments.length<2){var k;try{k=c("mime")}catch(l){k=d._mime}f=k.lookup(g);var m=k.charsets.lookup(f);j=["US-ASCII","UTF-8"].indexOf(m)<0,j&&(f+=";base64")}else j=/;base64$/.test(f);var n=h.readFileSync(g),o=32,p=parseInt(n.length/1024,10);if(p>=o&&this.env.ieCompat!==!1)return this.env.silent||console.warn("Skipped data-uri embedding of %s because its size (%dKB) exceeds IE8-safe %dKB!",g,p,o),new d.URL(e||b,this.currentFileInfo).eval(this.env);n=j?n.toString("base64"):encodeURIComponent(n);var q='"data:'+f+","+n+'"';return new d.URL(new d.Anonymous(q))},"svg-gradient":function(a){function e(){throw{type:"Argument",message:"svg-gradient expects direction, start_color [start_position], [color position,]..., end_color [end_position]"}}arguments.length<3&&e();var f,g,h,i,j,k,l,m=Array.prototype.slice.call(arguments,1),n="linear",o='x="0" y="0" width="1" height="1"',p=!0,q={compress:!1},r=a.toCSS(q);switch(r){case"to bottom":f='x1="0%" y1="0%" x2="0%" y2="100%"';break;case"to right":f='x1="0%" y1="0%" x2="100%" y2="0%"';break;case"to bottom right":f='x1="0%" y1="0%" x2="100%" y2="100%"';break;case"to top right":f='x1="0%" y1="100%" x2="100%" y2="0%"';break;case"ellipse":case"ellipse at center":n="radial",f='cx="50%" cy="50%" r="75%"',o='x="-50" y="-50" width="101" height="101"';break;default:throw{type:"Argument",message:"svg-gradient direction must be 'to bottom', 'to right', 'to bottom right', 'to top right' or 'ellipse at center'"}}for(g='<'+n+'Gradient id="gradient" gradientUnits="userSpaceOnUse" '+f+">",h=0;hl?' stop-opacity="'+l+'"':"")+"/>";if(g+="',p)try{g=c("./encoder").encodeBase64(g)}catch(s){p=!1}return g="'data:image/svg+xml"+(p?";base64":"")+","+g+"'",new d.URL(new d.Anonymous(g))}},d._mime={_types:{".htm":"text/html",".html":"text/html",".gif":"image/gif",".jpg":"image/jpeg",".jpeg":"image/jpeg",".png":"image/png"},lookup:function(a){var e=c("path").extname(a),f=d._mime._types[e];if(f===b)throw new Error('Optional dependency "mime" is required for '+e);return f},charsets:{lookup:function(a){return a&&/^text\//.test(a)?"UTF-8":""}}};var l={ceil:null,floor:null,sqrt:null,abs:null,tan:"",sin:"",cos:"",atan:"rad",asin:"rad",acos:"rad"},m={multiply:function(a,b){return a*b},screen:function(a,b){return a+b-a*b},overlay:function(a,b){return a*=2,1>=a?m.multiply(a,b):m.screen(a-1,b)},softlight:function(a,b){var c=1,d=a;return b>.5&&(d=1,c=a>.25?Math.sqrt(a):((16*a-12)*a+4)*a),a-(1-2*b)*d*(c-a)},hardlight:function(a,b){return m.overlay(b,a)},difference:function(a,b){return Math.abs(a-b)},exclusion:function(a,b){return a+b-2*a*b},average:function(a,b){return(a+b)/2},negation:function(a,b){return 1-Math.abs(a+b-1)}};d.defaultFunc={eval:function(){var a=this.value_,b=this.error_;if(b)throw b;return null!=a?a?d.True:d.False:void 0},value:function(a){this.value_=a},error:function(a){this.error_=a},reset:function(){this.value_=this.error_=null}},g(),d.fround=function(a,b){var c;return a&&null!=a.numPrecision?(c=Math.pow(10,a.numPrecision),Math.round(b*c)/c):b},d.functionCall=function(a,b){this.env=a,this.currentFileInfo=b},d.functionCall.prototype=d.functions}(c("./tree")),function(a){a.colors={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgrey:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",grey:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"}}(c("./tree")),function(a){a.debugInfo=function(b,c,d){var e="";if(b.dumpLineNumbers&&!b.compress)switch(b.dumpLineNumbers){case"comments":e=a.debugInfo.asComment(c);break;case"mediaquery":e=a.debugInfo.asMediaQuery(c);break;case"all":e=a.debugInfo.asComment(c)+(d||"")+a.debugInfo.asMediaQuery(c)}return e},a.debugInfo.asComment=function(a){return"/* line "+a.debugInfo.lineNumber+", "+a.debugInfo.fileName+" */\n"},a.debugInfo.asMediaQuery=function(a){return"@media -sass-debug-info{filename{font-family:"+("file://"+a.debugInfo.fileName).replace(/([.:\/\\])/g,function(a){return"\\"==a&&(a="/"),"\\"+a})+"}line{font-family:\\00003"+a.debugInfo.lineNumber+"}}\n"},a.find=function(a,b){for(var c,d=0;d1?"["+a.value.map(function(a){return a.toCSS(!1)}).join(", ")+"]":a.toCSS(!1)},a.toCSS=function(a){var b=[];return this.genCSS(a,{add:function(a){b.push(a)},isEmpty:function(){return 0===b.length}}),b.join("")},a.outputRuleset=function(a,b,c){var d,e=c.length;if(a.tabLevel=(0|a.tabLevel)+1,a.compress){for(b.add("{"),d=0;e>d;d++)c[d].genCSS(a,b);return b.add("}"),void a.tabLevel--}var f="\n"+Array(a.tabLevel).join(" "),g=f+" ";if(e){for(b.add(" {"+g),c[0].genCSS(a,b),d=1;e>d;d++)b.add(g),c[d].genCSS(a,b);b.add(f+"}")}else b.add(" {"+f+"}");a.tabLevel--}}(c("./tree")),function(a){a.Alpha=function(a){this.value=a},a.Alpha.prototype={type:"Alpha",accept:function(a){this.value=a.visit(this.value)},eval:function(b){return this.value.eval?new a.Alpha(this.value.eval(b)):this},genCSS:function(a,b){b.add("alpha(opacity="),this.value.genCSS?this.value.genCSS(a,b):b.add(this.value),b.add(")")},toCSS:a.toCSS}}(c("../tree")),function(a){a.Anonymous=function(a,b,c,d){this.value=a.value||a,this.index=b,this.mapLines=d,this.currentFileInfo=c},a.Anonymous.prototype={type:"Anonymous",eval:function(){return new a.Anonymous(this.value,this.index,this.currentFileInfo,this.mapLines)},compare:function(a){if(!a.toCSS)return-1;var b=this.toCSS(),c=a.toCSS();return b===c?0:c>b?-1:1},genCSS:function(a,b){b.add(this.value,this.currentFileInfo,this.index,this.mapLines)},toCSS:a.toCSS}}(c("../tree")),function(a){a.Assignment=function(a,b){this.key=a,this.value=b},a.Assignment.prototype={type:"Assignment",accept:function(a){this.value=a.visit(this.value)},eval:function(b){return this.value.eval?new a.Assignment(this.key,this.value.eval(b)):this},genCSS:function(a,b){b.add(this.key+"="),this.value.genCSS?this.value.genCSS(a,b):b.add(this.value)},toCSS:a.toCSS}}(c("../tree")),function(a){a.Call=function(a,b,c,d){this.name=a,this.args=b,this.index=c,this.currentFileInfo=d},a.Call.prototype={type:"Call",accept:function(a){this.args&&(this.args=a.visitArray(this.args))},eval:function(b){var c,d,e=this.args.map(function(a){return a.eval(b)}),f=this.name.toLowerCase();if(f in a.functions)try{if(d=new a.functionCall(b,this.currentFileInfo),c=d[f].apply(d,e),null!=c)return c}catch(g){throw{type:g.type||"Runtime",message:"error evaluating function `"+this.name+"`"+(g.message?": "+g.message:""),index:this.index,filename:this.currentFileInfo.filename}}return new a.Call(this.name,e,this.index,this.currentFileInfo)},genCSS:function(a,b){b.add(this.name+"(",this.currentFileInfo,this.index);for(var c=0;ca?"0":"")+a.toString(16)}).join("")}function c(a,b){return Math.min(Math.max(a,0),b)}a.Color=function(a,b){this.rgb=Array.isArray(a)?a:6==a.length?a.match(/.{2}/g).map(function(a){return parseInt(a,16)}):a.split("").map(function(a){return parseInt(a+a,16)}),this.alpha="number"==typeof b?b:1};var d="transparent";a.Color.prototype={type:"Color",eval:function(){return this},luma:function(){var a=this.rgb[0]/255,b=this.rgb[1]/255,c=this.rgb[2]/255;return a=.03928>=a?a/12.92:Math.pow((a+.055)/1.055,2.4),b=.03928>=b?b/12.92:Math.pow((b+.055)/1.055,2.4),c=.03928>=c?c/12.92:Math.pow((c+.055)/1.055,2.4),.2126*a+.7152*b+.0722*c},genCSS:function(a,b){b.add(this.toCSS(a))},toCSS:function(b,e){var f=b&&b.compress&&!e,g=a.fround(b,this.alpha);if(1>g)return 0===g&&this.isTransparentKeyword?d:"rgba("+this.rgb.map(function(a){return c(Math.round(a),255)}).concat(c(g,1)).join(","+(f?"":" "))+")";var h=this.toRGB();if(f){var i=h.split("");i[1]===i[2]&&i[3]===i[4]&&i[5]===i[6]&&(h="#"+i[1]+i[3]+i[5])}return h},operate:function(b,c,d){for(var e=[],f=this.alpha*(1-d.alpha)+d.alpha,g=0;3>g;g++)e[g]=a.operate(b,c,this.rgb[g],d.rgb[g]);return new a.Color(e,f)},toRGB:function(){return b(this.rgb)},toHSL:function(){var a,b,c=this.rgb[0]/255,d=this.rgb[1]/255,e=this.rgb[2]/255,f=this.alpha,g=Math.max(c,d,e),h=Math.min(c,d,e),i=(g+h)/2,j=g-h;if(g===h)a=b=0;else{switch(b=i>.5?j/(2-g-h):j/(g+h),g){case c:a=(d-e)/j+(e>d?6:0);break;case d:a=(e-c)/j+2;break;case e:a=(c-d)/j+4}a/=6}return{h:360*a,s:b,l:i,a:f}},toHSV:function(){var a,b,c=this.rgb[0]/255,d=this.rgb[1]/255,e=this.rgb[2]/255,f=this.alpha,g=Math.max(c,d,e),h=Math.min(c,d,e),i=g,j=g-h;if(b=0===g?0:j/g,g===h)a=0;else{switch(g){case c:a=(d-e)/j+(e>d?6:0);break;case d:a=(e-c)/j+2;break;case e:a=(c-d)/j+4}a/=6}return{h:360*a,s:b,v:i,a:f}},toARGB:function(){return b([255*this.alpha].concat(this.rgb))},compare:function(a){return a.rgb?a.rgb[0]===this.rgb[0]&&a.rgb[1]===this.rgb[1]&&a.rgb[2]===this.rgb[2]&&a.alpha===this.alpha?0:-1:-1}},a.Color.fromKeyword=function(b){if(b=b.toLowerCase(),a.colors.hasOwnProperty(b))return new a.Color(a.colors[b].slice(1));if(b===d){var c=new a.Color([0,0,0],0);return c.isTransparentKeyword=!0,c}}}(c("../tree")),function(a){a.Comment=function(a,b,c,d){this.value=a,this.silent=!!b,this.currentFileInfo=d},a.Comment.prototype={type:"Comment",genCSS:function(b,c){this.debugInfo&&c.add(a.debugInfo(b,this),this.currentFileInfo,this.index),c.add(this.value.trim())},toCSS:a.toCSS,isSilent:function(a){var b=this.currentFileInfo&&this.currentFileInfo.reference&&!this.isReferenced,c=a.compress&&!this.value.match(/^\/\*!/);return this.silent||b||c},eval:function(){return this},markReferenced:function(){this.isReferenced=!0}}}(c("../tree")),function(a){a.Condition=function(a,b,c,d,e){this.op=a.trim(),this.lvalue=b,this.rvalue=c,this.index=d,this.negate=e},a.Condition.prototype={type:"Condition",accept:function(a){this.lvalue=a.visit(this.lvalue),this.rvalue=a.visit(this.rvalue)},eval:function(a){var b,c=this.lvalue.eval(a),d=this.rvalue.eval(a),e=this.index;return b=function(a){switch(a){case"and":return c&&d;case"or":return c||d;default:if(c.compare)b=c.compare(d);else{if(!d.compare)throw{type:"Type",message:"Unable to perform comparison",index:e};b=d.compare(c)}switch(b){case-1:return"<"===a||"=<"===a||"<="===a;case 0:return"="===a||">="===a||"=<"===a||"<="===a;case 1:return">"===a||">="===a}}}(this.op),this.negate?!b:b}}}(c("../tree")),function(a){a.DetachedRuleset=function(a,b){this.ruleset=a,this.frames=b},a.DetachedRuleset.prototype={type:"DetachedRuleset",accept:function(a){this.ruleset=a.visit(this.ruleset)},eval:function(b){var c=this.frames||b.frames.slice(0);return new a.DetachedRuleset(this.ruleset,c)},callEval:function(b){return this.ruleset.eval(this.frames?new a.evalEnv(b,this.frames.concat(b.frames)):b)}}}(c("../tree")),function(a){a.Dimension=function(c,d){this.value=parseFloat(c),this.unit=d&&d instanceof a.Unit?d:new a.Unit(d?[d]:b)},a.Dimension.prototype={type:"Dimension",accept:function(a){this.unit=a.visit(this.unit)},eval:function(){return this},toColor:function(){return new a.Color([this.value,this.value,this.value])},genCSS:function(b,c){if(b&&b.strictUnits&&!this.unit.isSingular())throw new Error("Multiple units in dimension. Correct the units or use the unit function. Bad unit: "+this.unit.toString());var d=a.fround(b,this.value),e=String(d);if(0!==d&&1e-6>d&&d>-1e-6&&(e=d.toFixed(20).replace(/0+$/,"")),b&&b.compress){if(0===d&&this.unit.isLength())return void c.add(e);d>0&&1>d&&(e=e.substr(1))}c.add(e),this.unit.genCSS(b,c)},toCSS:a.toCSS,operate:function(b,c,d){var e=a.operate(b,c,this.value,d.value),f=this.unit.clone();if("+"===c||"-"===c)if(0===f.numerator.length&&0===f.denominator.length)f.numerator=d.unit.numerator.slice(0),f.denominator=d.unit.denominator.slice(0);else if(0===d.unit.numerator.length&&0===f.denominator.length);else{if(d=d.convertTo(this.unit.usedUnits()),b.strictUnits&&d.unit.toString()!==f.toString())throw new Error("Incompatible units. Change the units or use the unit function. Bad units: '"+f.toString()+"' and '"+d.unit.toString()+"'.");e=a.operate(b,c,this.value,d.value)}else"*"===c?(f.numerator=f.numerator.concat(d.unit.numerator).sort(),f.denominator=f.denominator.concat(d.unit.denominator).sort(),f.cancel()):"/"===c&&(f.numerator=f.numerator.concat(d.unit.denominator).sort(),f.denominator=f.denominator.concat(d.unit.numerator).sort(),f.cancel());return new a.Dimension(e,f)},compare:function(b){if(b instanceof a.Dimension){var c,d,e,f;if(this.unit.isEmpty()||b.unit.isEmpty())c=this,d=b;else if(c=this.unify(),d=b.unify(),0!==c.unit.compare(d.unit))return-1;return e=c.value,f=d.value,f>e?-1:e>f?1:0}return-1},unify:function(){return this.convertTo({length:"px",duration:"s",angle:"rad"})},convertTo:function(b){var c,d,e,f,g,h=this.value,i=this.unit.clone(),j={};if("string"==typeof b){for(c in a.UnitConversions)a.UnitConversions[c].hasOwnProperty(b)&&(j={},j[c]=b);b=j}g=function(a,b){return e.hasOwnProperty(a)?(b?h/=e[a]/e[f]:h*=e[a]/e[f],f):a};for(d in b)b.hasOwnProperty(d)&&(f=b[d],e=a.UnitConversions[d],i.map(g));return i.cancel(),new a.Dimension(h,i)}},a.UnitConversions={length:{m:1,cm:.01,mm:.001,"in":.0254,px:.0254/96,pt:.0254/72,pc:.0254/72*12},duration:{s:1,ms:.001},angle:{rad:1/(2*Math.PI),deg:1/360,grad:.0025,turn:1}},a.Unit=function(a,b,c){this.numerator=a?a.slice(0).sort():[],this.denominator=b?b.slice(0).sort():[],this.backupUnit=c},a.Unit.prototype={type:"Unit",clone:function(){return new a.Unit(this.numerator.slice(0),this.denominator.slice(0),this.backupUnit)},genCSS:function(a,b){this.numerator.length>=1?b.add(this.numerator[0]):this.denominator.length>=1?b.add(this.denominator[0]):a&&a.strictUnits||!this.backupUnit||b.add(this.backupUnit)},toCSS:a.toCSS,toString:function(){var a,b=this.numerator.join("*");for(a=0;a0)for(b=0;e>b;b++)this.numerator.push(a);else if(0>e)for(b=0;-e>b;b++)this.denominator.push(a)}0===this.numerator.length&&0===this.denominator.length&&c&&(this.backupUnit=c),this.numerator.sort(),this.denominator.sort()}}}(c("../tree")),function(a){a.Directive=function(a,b,c,d,e,f){this.name=a,this.value=b,c&&(this.rules=c,this.rules.allowImports=!0),this.index=d,this.currentFileInfo=e,this.debugInfo=f},a.Directive.prototype={type:"Directive",accept:function(a){var b=this.value,c=this.rules;c&&(c=a.visit(c)),b&&(b=a.visit(b))},genCSS:function(b,c){var d=this.value,e=this.rules;c.add(this.name,this.currentFileInfo,this.index),d&&(c.add(" "),d.genCSS(b,c)),e?a.outputRuleset(b,c,[e]):c.add(";")},toCSS:a.toCSS,eval:function(b){var c=this.value,d=this.rules;return c&&(c=c.eval(b)),d&&(d=d.eval(b),d.root=!0),new a.Directive(this.name,c,d,this.index,this.currentFileInfo,this.debugInfo)},variable:function(b){return this.rules?a.Ruleset.prototype.variable.call(this.rules,b):void 0},find:function(){return this.rules?a.Ruleset.prototype.find.apply(this.rules,arguments):void 0},rulesets:function(){return this.rules?a.Ruleset.prototype.rulesets.apply(this.rules):void 0},markReferenced:function(){var a,b;if(this.isReferenced=!0,this.rules)for(b=this.rules.rules,a=0;a":" > ","|":"|","^":" ^ ","^^":" ^^ "},_outputMapCompressed:{"":""," ":" ",":":" :","+":"+","~":"~",">":">","|":"|","^":"^","^^":"^^"},genCSS:function(a,b){b.add((a.compress?this._outputMapCompressed:this._outputMap)[this.value])},toCSS:a.toCSS}}(c("../tree")),function(a){a.Expression=function(a){this.value=a},a.Expression.prototype={type:"Expression",accept:function(a){this.value&&(this.value=a.visitArray(this.value))},eval:function(b){var c,d=this.parens&&!this.parensInOp,e=!1;return d&&b.inParenthesis(),this.value.length>1?c=new a.Expression(this.value.map(function(a){return a.eval(b)})):1===this.value.length?(this.value[0].parens&&!this.value[0].parensInOp&&(e=!0),c=this.value[0].eval(b)):c=this,d&&b.outOfParenthesis(),this.parens&&this.parensInOp&&!b.isMathOn()&&!e&&(c=new a.Paren(c)),c},genCSS:function(a,b){for(var c=0;c0&&c.length&&""===c[0].combinator.value&&(c[0].combinator.value=" "),d=d.concat(a[b].elements);this.selfSelectors=[{elements:d}]}}}(c("../tree")),function(a){a.Import=function(a,c,d,e,f){if(this.options=d,this.index=e,this.path=a,this.features=c,this.currentFileInfo=f,this.options.less!==b||this.options.inline)this.css=!this.options.less||this.options.inline;else{var g=this.getPath();g&&/css([\?;].*)?$/.test(g)&&(this.css=!0)}},a.Import.prototype={type:"Import",accept:function(a){this.features&&(this.features=a.visit(this.features)),this.path=a.visit(this.path),!this.options.inline&&this.root&&(this.root=a.visit(this.root))},genCSS:function(a,b){this.css&&(b.add("@import ",this.currentFileInfo,this.index),this.path.genCSS(a,b),this.features&&(b.add(" "),this.features.genCSS(a,b)),b.add(";"))},toCSS:a.toCSS,getPath:function(){if(this.path instanceof a.Quoted){var c=this.path.value;return this.css!==b||/(\.[a-z]*$)|([\?;].*)$/.test(c)?c:c+".less"}return this.path instanceof a.URL?this.path.value.value:null},evalForImport:function(b){return new a.Import(this.path.eval(b),this.features,this.options,this.index,this.currentFileInfo)},evalPath:function(b){var c=this.path.eval(b),d=this.currentFileInfo&&this.currentFileInfo.rootpath;if(!(c instanceof a.URL)){if(d){var e=c.value;e&&b.isPathRelative(e)&&(c.value=d+e)}c.value=b.normalizePath(c.value)}return c},eval:function(b){var c,d=this.features&&this.features.eval(b);if(this.skip&&("function"==typeof this.skip&&(this.skip=this.skip()),this.skip))return[];if(this.options.inline){var e=new a.Anonymous(this.root,0,{filename:this.importedFilename},!0);return this.features?new a.Media([e],this.features.value):[e]}if(this.css){var f=new a.Import(this.evalPath(b),d,this.options,this.index);if(!f.css&&this.error)throw this.error;return f}return c=new a.Ruleset(null,this.root.rules.slice(0)),c.evalImports(b),this.features?new a.Media(c.rules,this.features.value):c.rules}}}(c("../tree")),function(a){a.JavaScript=function(a,b,c){this.escaped=c,this.expression=a,this.index=b},a.JavaScript.prototype={type:"JavaScript",eval:function(b){var c,d=this,e={},f=this.expression.replace(/@\{([\w-]+)\}/g,function(c,e){return a.jsify(new a.Variable("@"+e,d.index).eval(b))});try{f=new Function("return ("+f+")")}catch(g){throw{message:"JavaScript evaluation error: "+g.message+" from `"+f+"`",index:this.index}}var h=b.frames[0].variables();for(var i in h)h.hasOwnProperty(i)&&(e[i.slice(1)]={value:h[i].value,toJS:function(){return this.value.eval(b).toCSS()}});try{c=f.call(e)}catch(g){throw{message:"JavaScript evaluation error: '"+g.name+": "+g.message.replace(/["]/g,"'")+"'",index:this.index}}return"number"==typeof c?new a.Dimension(c):"string"==typeof c?new a.Quoted('"'+c+'"',c,this.escaped,this.index):new a.Anonymous(Array.isArray(c)?c.join(", "):c)}}}(c("../tree")),function(a){a.Keyword=function(a){this.value=a},a.Keyword.prototype={type:"Keyword",eval:function(){return this},genCSS:function(a,b){if("%"===this.value)throw{type:"Syntax",message:"Invalid % without number"};b.add(this.value)},toCSS:a.toCSS,compare:function(b){return b instanceof a.Keyword?b.value===this.value?0:1:-1}},a.True=new a.Keyword("true"),a.False=new a.Keyword("false")}(c("../tree")),function(a){a.Media=function(b,c,d,e){this.index=d,this.currentFileInfo=e;var f=this.emptySelectors();this.features=new a.Value(c),this.rules=[new a.Ruleset(f,b)],this.rules[0].allowImports=!0},a.Media.prototype={type:"Media",accept:function(a){this.features&&(this.features=a.visit(this.features)),this.rules&&(this.rules=a.visitArray(this.rules))},genCSS:function(b,c){c.add("@media ",this.currentFileInfo,this.index),this.features.genCSS(b,c),a.outputRuleset(b,c,this.rules)},toCSS:a.toCSS,eval:function(b){b.mediaBlocks||(b.mediaBlocks=[],b.mediaPath=[]);var c=new a.Media(null,[],this.index,this.currentFileInfo);this.debugInfo&&(this.rules[0].debugInfo=this.debugInfo,c.debugInfo=this.debugInfo);var d=!1;b.strictMath||(d=!0,b.strictMath=!0);try{c.features=this.features.eval(b)}finally{d&&(b.strictMath=!1)}return b.mediaPath.push(c),b.mediaBlocks.push(c),b.frames.unshift(this.rules[0]),c.rules=[this.rules[0].eval(b)],b.frames.shift(),b.mediaPath.pop(),0===b.mediaPath.length?c.evalTop(b):c.evalNested(b)},variable:function(b){return a.Ruleset.prototype.variable.call(this.rules[0],b)},find:function(){return a.Ruleset.prototype.find.apply(this.rules[0],arguments)},rulesets:function(){return a.Ruleset.prototype.rulesets.apply(this.rules[0])},emptySelectors:function(){var b=new a.Element("","&",this.index,this.currentFileInfo),c=[new a.Selector([b],null,null,this.index,this.currentFileInfo)];return c[0].mediaEmpty=!0,c},markReferenced:function(){var a,b=this.rules[0].rules;for(this.rules[0].markReferenced(),this.isReferenced=!0,a=0;a1){var d=this.emptySelectors();c=new a.Ruleset(d,b.mediaBlocks),c.multiMedia=!0}return delete b.mediaBlocks,delete b.mediaPath,c},evalNested:function(b){var c,d,e=b.mediaPath.concat([this]);for(c=0;c0;c--)b.splice(c,0,new a.Anonymous("and"));return new a.Expression(b)})),new a.Ruleset([],[])},permute:function(a){if(0===a.length)return[];if(1===a.length)return a[0];for(var b=[],c=this.permute(a.slice(1)),d=0;d0){for(j=!0,g=0;gh;h++)s.value(h),r[h]=d.matchCondition(e,b);(r[0]||r[1])&&(r[0]!=r[1]&&(l.group=r[1]?u:v),q.push(l))}else q.push(l);p=!0}}for(s.reset(),n=[0,0,0],g=0;g0)m=v;else if(m=u,n[u]+n[v]>1)throw{type:"Runtime",message:"Ambiguous use of `default()` found when matching for `"+this.format(e)+"`",index:this.index,filename:this.currentFileInfo.filename};for(g=0;gh;h++)if(g=d[h],k=g&&g.name){for(l=!1,i=0;ii;i++)f.push(d[i].value.eval(b));n.prependRule(new a.Rule(k,new a.Expression(f).eval(b)))}else{if(j=g&&g.value)j=j.eval(b);else{if(!o[h].value)throw{type:"Runtime",message:"wrong number of arguments for "+this.name+" ("+p+" for "+this.arity+")"};j=o[h].value.eval(c),n.resetCache()}n.prependRule(new a.Rule(k,j)),e[h]=j}if(o[h].variadic&&d)for(i=m;p>i;i++)e[i]=d[i].value.eval(b);m++}return n},eval:function(b){return new a.mixin.Definition(this.name,this.params,this.rules,this.condition,this.variadic,this.frames||b.frames.slice(0))},evalCall:function(b,c,d){var e,f,g=[],h=this.frames?this.frames.concat(b.frames):b.frames,i=this.evalParams(b,new a.evalEnv(b,h),c,g);return i.prependRule(new a.Rule("@arguments",new a.Expression(g).eval(b))),e=this.rules.slice(0),f=new a.Ruleset(null,e),f.originalRuleset=this,f=f.eval(new a.evalEnv(b,[this,i].concat(h))),d&&(f=this.parent.makeImportant.apply(f)),f},matchCondition:function(b,c){return this.condition&&!this.condition.eval(new a.evalEnv(c,[this.evalParams(c,new a.evalEnv(c,this.frames.concat(c.frames)),b,[])].concat(this.frames).concat(c.frames)))?!1:!0},matchArgs:function(a,b){var c,d=a&&a.length||0;if(this.variadic){if(dthis.params.length)return!1}c=Math.min(d,this.arity);for(var e=0;c>e;e++)if(!this.params[e].name&&!this.params[e].variadic&&a[e].value.eval(b).toCSS()!=this.params[e].value.eval(b).toCSS())return!1;return!0}}}(c("../tree")),function(a){a.Negative=function(a){this.value=a},a.Negative.prototype={type:"Negative",accept:function(a){this.value=a.visit(this.value)},genCSS:function(a,b){b.add("-"),this.value.genCSS(a,b)},toCSS:a.toCSS,eval:function(b){return b.isMathOn()?new a.Operation("*",[new a.Dimension(-1),this.value]).eval(b):new a.Negative(this.value.eval(b))}}}(c("../tree")),function(a){a.Operation=function(a,b,c){this.op=a.trim(),this.operands=b,this.isSpaced=c},a.Operation.prototype={type:"Operation",accept:function(a){this.operands=a.visit(this.operands)},eval:function(b){var c=this.operands[0].eval(b),d=this.operands[1].eval(b);if(b.isMathOn()){if(c instanceof a.Dimension&&d instanceof a.Color&&(c=c.toColor()),d instanceof a.Dimension&&c instanceof a.Color&&(d=d.toColor()),!c.operate)throw{type:"Operation",message:"Operation on an invalid type"};return c.operate(b,this.op,d)}return new a.Operation(this.op,[c,d],this.isSpaced)},genCSS:function(a,b){this.operands[0].genCSS(a,b),this.isSpaced&&b.add(" "),b.add(this.op),this.isSpaced&&b.add(" "),this.operands[1].genCSS(a,b)},toCSS:a.toCSS},a.operate=function(a,b,c,d){switch(b){case"+":return c+d;case"-":return c-d;case"*":return c*d;case"/":return c/d}}}(c("../tree")),function(a){a.Paren=function(a){this.value=a},a.Paren.prototype={type:"Paren",accept:function(a){this.value=a.visit(this.value)},genCSS:function(a,b){b.add("("),this.value.genCSS(a,b),b.add(")")},toCSS:a.toCSS,eval:function(b){return new a.Paren(this.value.eval(b))}}}(c("../tree")),function(a){a.Quoted=function(a,b,c,d,e){this.escaped=c,this.value=b||"",this.quote=a.charAt(0),this.index=d,this.currentFileInfo=e},a.Quoted.prototype={type:"Quoted",genCSS:function(a,b){this.escaped||b.add(this.quote,this.currentFileInfo,this.index),b.add(this.value),this.escaped||b.add(this.quote)},toCSS:a.toCSS,eval:function(b){var c=this,d=this.value.replace(/`([^`]+)`/g,function(d,e){return new a.JavaScript(e,c.index,!0).eval(b).value}).replace(/@\{([\w-]+)\}/g,function(d,e){var f=new a.Variable("@"+e,c.index,c.currentFileInfo).eval(b,!0);return f instanceof a.Quoted?f.value:f.toCSS()});return new a.Quoted(this.quote+d+this.quote,d,this.escaped,this.index,this.currentFileInfo)},compare:function(a){if(!a.toCSS)return-1;var b=this.toCSS(),c=a.toCSS();return b===c?0:c>b?-1:1}}}(c("../tree")),function(a){function b(a,b){var c,d="",e=b.length,f={add:function(a){d+=a}};for(c=0;e>c;c++)b[c].eval(a).genCSS(a,f);return d}a.Rule=function(b,c,d,e,f,g,h){this.name=b,this.value=c instanceof a.Value||c instanceof a.Ruleset?c:new a.Value([c]),this.important=d?" "+d.trim():"",this.merge=e,this.index=f,this.currentFileInfo=g,this.inline=h||!1,this.variable=b.charAt&&"@"===b.charAt(0)},a.Rule.prototype={type:"Rule",accept:function(a){this.value=a.visit(this.value)},genCSS:function(a,b){b.add(this.name+(a.compress?":":": "),this.currentFileInfo,this.index);try{this.value.genCSS(a,b)}catch(c){throw c.index=this.index,c.filename=this.currentFileInfo.filename,c}b.add(this.important+(this.inline||a.lastRule&&a.compress?"":";"),this.currentFileInfo,this.index)},toCSS:a.toCSS,eval:function(c){var d,e=!1,f=this.name;"string"!=typeof f&&(f=1===f.length&&f[0]instanceof a.Keyword?f[0].value:b(c,f)),"font"!==f||c.strictMath||(e=!0,c.strictMath=!0);try{if(d=this.value.eval(c),!this.variable&&"DetachedRuleset"===d.type)throw{message:"Rulesets cannot be evaluated on a property.",index:this.index,filename:this.currentFileInfo.filename};return new a.Rule(f,d,this.important,this.merge,this.index,this.currentFileInfo,this.inline)}catch(g){throw"number"!=typeof g.index&&(g.index=this.index,g.filename=this.currentFileInfo.filename),g}finally{e&&(c.strictMath=!1)}},makeImportant:function(){return new a.Rule(this.name,this.value,"!important",this.merge,this.index,this.currentFileInfo,this.inline)}}}(c("../tree")),function(a){a.RulesetCall=function(a){this.variable=a},a.RulesetCall.prototype={type:"RulesetCall",accept:function(){},eval:function(b){var c=new a.Variable(this.variable).eval(b);return c.callEval(b)}}}(c("../tree")),function(a){a.Ruleset=function(a,b,c){this.selectors=a,this.rules=b,this._lookups={},this.strictImports=c},a.Ruleset.prototype={type:"Ruleset",accept:function(a){this.paths?a.visitArray(this.paths,!0):this.selectors&&(this.selectors=a.visitArray(this.selectors)),this.rules&&this.rules.length&&(this.rules=a.visitArray(this.rules))},eval:function(b){var c,d,e,f,g=this.selectors,h=a.defaultFunc,i=!1;if(g&&(d=g.length)){for(c=[],h.error({type:"Syntax",message:"it is currently only allowed in parametric mixin guards,"}),f=0;d>f;f++)e=g[f].eval(b),c.push(e),e.evaldCondition&&(i=!0);h.reset()}else i=!0;var j,k,l=this.rules?this.rules.slice(0):null,m=new a.Ruleset(c,l,this.strictImports);m.originalRuleset=this,m.root=this.root,m.firstRoot=this.firstRoot,m.allowImports=this.allowImports,this.debugInfo&&(m.debugInfo=this.debugInfo),i||(l.length=0);var n=b.frames;n.unshift(m);var o=b.selectors;o||(b.selectors=o=[]),o.unshift(this.selectors),(m.root||m.allowImports||!m.strictImports)&&m.evalImports(b);var p=m.rules,q=p?p.length:0;for(f=0;q>f;f++)(p[f]instanceof a.mixin.Definition||p[f]instanceof a.DetachedRuleset)&&(p[f]=p[f].eval(b));var r=b.mediaBlocks&&b.mediaBlocks.length||0;for(f=0;q>f;f++)p[f]instanceof a.mixin.Call?(l=p[f].eval(b).filter(function(b){return b instanceof a.Rule&&b.variable?!m.variable(b.name):!0}),p.splice.apply(p,[f,1].concat(l)),q+=l.length-1,f+=l.length-1,m.resetCache()):p[f]instanceof a.RulesetCall&&(l=p[f].eval(b).rules.filter(function(b){return b instanceof a.Rule&&b.variable?!1:!0}),p.splice.apply(p,[f,1].concat(l)),q+=l.length-1,f+=l.length-1,m.resetCache());for(f=0;fb;b++)c=g[b],(c instanceof d||c instanceof e)&&f.push(c);return f},prependRule:function(a){var b=this.rules;b?b.unshift(a):this.rules=[a]},find:function(b,c){c=c||this;var d,e=[],f=b.toCSS();return f in this._lookups?this._lookups[f]:(this.rulesets().forEach(function(f){if(f!==c)for(var g=0;gd?Array.prototype.push.apply(e,f.find(new a.Selector(b.elements.slice(d)),c)):e.push(f);break}}),this._lookups[f]=e,e)},genCSS:function(b,c){var d,e,f,g,h,i,j=[],k=[];b.tabLevel=b.tabLevel||0,this.root||b.tabLevel++;var l,m=b.compress?"":Array(b.tabLevel+1).join(" "),n=b.compress?"":Array(b.tabLevel).join(" ");for(d=0;dd;d++)if(i=p[d],o=i.length)for(d>0&&c.add(l),b.firstSelector=!0,i[0].genCSS(b,c),b.firstSelector=!1,e=1;o>e;e++)i[e].genCSS(b,c);c.add((b.compress?"{":" {\n")+m)}for(d=0;dd;d++)l&&c.add(l),k[d].genCSS(b,c);c.isEmpty()||b.compress||!this.firstRoot||c.add("\n")},toCSS:a.toCSS,markReferenced:function(){if(this.selectors)for(var a=0;a0&&this.mergeElementsOnToSelectors(r,i),f=0;f0&&(k[0].elements=k[0].elements.slice(0),k[0].elements.push(new a.Element(j.combinator,"",j.index,j.currentFileInfo))),s.push(k);else for(g=0;g0?(m=k.slice(0),q=m.pop(),o=d.createDerived(q.elements.slice(0)),p=!1):o=d.createDerived([]),l.length>1&&(n=n.concat(l.slice(1))),l.length>0&&(p=!1,o.elements.push(new a.Element(j.combinator,l[0].elements[0].value,j.index,j.currentFileInfo)),o.elements=o.elements.concat(l[0].elements.slice(1))),p||m.push(o),m=m.concat(n),s.push(m);i=s,r=[]}for(r.length>0&&this.mergeElementsOnToSelectors(r,i),e=0;e0&&b.push(i[e])}else if(c.length>0)for(e=0;e0?e[e.length-1]=e[e.length-1].createDerived(e[e.length-1].elements.concat(b)):e.push(new a.Selector(b))}}}(c("../tree")),function(a){a.Selector=function(a,b,c,d,e,f){this.elements=a,this.extendList=b,this.condition=c,this.currentFileInfo=e||{},this.isReferenced=f,c||(this.evaldCondition=!0)},a.Selector.prototype={type:"Selector",accept:function(a){this.elements&&(this.elements=a.visitArray(this.elements)),this.extendList&&(this.extendList=a.visitArray(this.extendList)),this.condition&&(this.condition=a.visit(this.condition))},createDerived:function(b,c,d){d=null!=d?d:this.evaldCondition;var e=new a.Selector(b,c||this.extendList,null,this.index,this.currentFileInfo,this.isReferenced);return e.evaldCondition=d,e.mediaEmpty=this.mediaEmpty,e},match:function(a){var b,c,d=this.elements,e=d.length;if(a.CacheElements(),b=a._elements.length,0===b||b>e)return 0;for(c=0;b>c;c++)if(d[c].value!==a._elements[c])return 0;return b},CacheElements:function(){var a,b,c,d="";if(!this._elements){for(a=this.elements.length,c=0;a>c;c++)if(b=this.elements[c],d+=b.combinator.value,b.value.value){if("string"!=typeof b.value.value){d="";break}d+=b.value.value}else d+=b.value;this._elements=d.match(/[,&#\.\w-]([\w-]|(\\.))*/g),this._elements?"&"===this._elements[0]&&this._elements.shift():this._elements=[]}},isJustParentSelector:function(){return!this.mediaEmpty&&1===this.elements.length&&"&"===this.elements[0].value&&(" "===this.elements[0].combinator.value||""===this.elements[0].combinator.value)},eval:function(a){var b=this.condition&&this.condition.eval(a),c=this.elements,d=this.extendList;return c=c&&c.map(function(b){return b.eval(a)}),d=d&&d.map(function(b){return b.eval(a)}),this.createDerived(c,d,b)},genCSS:function(a,b){var c,d;if(a&&a.firstSelector||""!==this.elements[0].combinator.value||b.add(" ",this.currentFileInfo,this.index),!this._css)for(c=0;cc;c++)this.visit(a[c]);return a}var e=[];for(c=0;d>c;c++){var f=this.visit(a[c]);f.splice?f.length&&this.flatten(f,e):e.push(f)}return e},flatten:function(a,b){b||(b=[]);var c,d,e,f,g,h;for(d=0,c=a.length;c>d;d++)if(e=a[d],e.splice)for(g=0,f=e.length;f>g;g++)h=e[g],h.splice?h.length&&this.flatten(h,b):b.push(h);else b.push(e);return b}}}(c("./tree")),function(a){a.importVisitor=function(b,c,d,e,f){if(this._visitor=new a.visitor(this),this._importer=b,this._finish=c,this.env=d||new a.evalEnv,this.importCount=0,this.onceFileDetectionMap=e||{},this.recursionDetector={},f)for(var g in f)f.hasOwnProperty(g)&&(this.recursionDetector[g]=!0)},a.importVisitor.prototype={isReplacing:!0,run:function(a){var b;try{this._visitor.visit(a)}catch(c){b=c}this.isFinished=!0,0===this.importCount&&this._finish(b)},visitImport:function(b,c){var d,e=this,f=b.options.inline;if(!b.css||f){try{d=b.evalForImport(this.env)}catch(g){g.filename||(g.index=b.index,g.filename=b.currentFileInfo.filename),b.css=!0,b.error=g}if(d&&(!d.css||f)){b=d,this.importCount++;var h=new a.evalEnv(this.env,this.env.frames.slice(0));b.options.multiple&&(h.importMultiple=!0),this._importer.push(b.getPath(),b.currentFileInfo,b.options,function(c,d,g,i){c&&!c.filename&&(c.index=b.index,c.filename=b.currentFileInfo.filename),h.importMultiple||(b.skip=g?!0:function(){return i in e.onceFileDetectionMap?!0:(e.onceFileDetectionMap[i]=!0,!1)});var j=function(a){e.importCount--,0===e.importCount&&e.isFinished&&e._finish(a)};if(d){b.root=d,b.importedFilename=i;var k=g||i in e.recursionDetector;if(!f&&(h.importMultiple||!k))return e.recursionDetector[i]=!0,void new a.importVisitor(e._importer,j,h,e.onceFileDetectionMap,e.recursionDetector).run(d)}j()})}}return c.visitDeeper=!1,b},visitRule:function(a,b){return b.visitDeeper=!1,a},visitDirective:function(a){return this.env.frames.unshift(a),a},visitDirectiveOut:function(){this.env.frames.shift()},visitMixinDefinition:function(a){return this.env.frames.unshift(a),a},visitMixinDefinitionOut:function(){this.env.frames.shift()},visitRuleset:function(a){return this.env.frames.unshift(a),a},visitRulesetOut:function(){this.env.frames.shift()},visitMedia:function(a){return this.env.frames.unshift(a.ruleset),a},visitMediaOut:function(){this.env.frames.shift()}}}(c("./tree")),function(a){a.joinSelectorVisitor=function(){this.contexts=[[]],this._visitor=new a.visitor(this)},a.joinSelectorVisitor.prototype={run:function(a){return this._visitor.visit(a)},visitRule:function(a,b){b.visitDeeper=!1},visitMixinDefinition:function(a,b){b.visitDeeper=!1},visitRuleset:function(a){var b,c=this.contexts[this.contexts.length-1],d=[];this.contexts.push(d),a.root||(b=a.selectors,b&&(b=b.filter(function(a){return a.getIsOutput()}),a.selectors=b.length?b:b=null,b&&a.joinSelectors(d,c,b)),b||(a.rules=null),a.paths=d)},visitRulesetOut:function(){this.contexts.length=this.contexts.length-1},visitMedia:function(a){var b=this.contexts[this.contexts.length-1];a.rules[0].root=0===b.length||b[0].multiMedia}}}(c("./tree")),function(a){a.toCSSVisitor=function(b){this._visitor=new a.visitor(this),this._env=b},a.toCSSVisitor.prototype={isReplacing:!0,run:function(a){return this._visitor.visit(a)},visitRule:function(a){return a.variable?[]:a},visitMixinDefinition:function(a){return a.frames=[],[]},visitExtend:function(){return[]},visitComment:function(a){return a.isSilent(this._env)?[]:a},visitMedia:function(a,b){return a.accept(this._visitor),b.visitDeeper=!1,a.rules.length?a:[]},visitDirective:function(b){if(b.currentFileInfo.reference&&!b.isReferenced)return[];if("@charset"===b.name){if(this.charset){if(b.debugInfo){var c=new a.Comment("/* "+b.toCSS(this._env).replace(/\n/g,"")+" */\n");return c.debugInfo=b.debugInfo,this._visitor.visit(c)}return[]}this.charset=!0}return b},checkPropertiesInRoot:function(b){for(var c,d=0;d0)&&e.splice(0,0,b);else{b.paths&&(b.paths=b.paths.filter(function(b){var c;for(" "===b[0].elements[0].combinator.value&&(b[0].elements[0].combinator=new a.Combinator("")),c=0;ch;)d=f[h],d&&d.rules?(e.push(this._visitor.visit(d)),f.splice(h,1),g--):h++;g>0?b.accept(this._visitor):b.rules=null,c.visitDeeper=!1,f=b.rules,f&&(this._mergeRules(f),f=b.rules),f&&(this._removeDuplicateRules(f),f=b.rules),f&&f.length>0&&b.paths.length>0&&e.splice(0,0,b)}return 1===e.length?e[0]:e},_removeDuplicateRules:function(b){if(b){var c,d,e,f={};for(e=b.length-1;e>=0;e--)if(d=b[e],d instanceof a.Rule)if(f[d.name]){c=f[d.name],c instanceof a.Rule&&(c=f[d.name]=[f[d.name].toCSS(this._env)]);var g=d.toCSS(this._env);-1!==c.indexOf(g)?b.splice(e,1):c.push(g)}else f[d.name]=d}},_mergeRules:function(b){if(b){for(var c,d,e,f={},g=0;g1){d=c[0];var h=[],i=[];c.map(function(a){"+"===a.merge&&(i.length>0&&h.push(e(i)),i=[]),i.push(a)}),h.push(e(i)),d.value=g(h)}})}}}}(c("./tree")),function(a){a.extendFinderVisitor=function(){this._visitor=new a.visitor(this),this.contexts=[],this.allExtendsStack=[[]]},a.extendFinderVisitor.prototype={run:function(a){return a=this._visitor.visit(a),a.allExtends=this.allExtendsStack[0],a},visitRule:function(a,b){b.visitDeeper=!1},visitMixinDefinition:function(a,b){b.visitDeeper=!1},visitRuleset:function(b){if(!b.root){var c,d,e,f,g=[],h=b.rules,i=h?h.length:0;for(c=0;i>c;c++)b.rules[c]instanceof a.Extend&&(g.push(h[c]),b.extendOnEveryPath=!0);var j=b.paths;for(c=0;c=0||(i=[k.selfSelectors[0]],g=n.findMatch(j,i),g.length&&j.selfSelectors.forEach(function(b){h=n.extendSelector(g,i,b),l=new a.Extend(k.selector,k.option,0),l.selfSelectors=h,h[h.length-1].extendList=[l],m.push(l),l.ruleset=k.ruleset,l.parent_ids=l.parent_ids.concat(k.parent_ids,j.parent_ids),k.firstExtendOnThisSelectorPath&&(l.firstExtendOnThisSelectorPath=!0,k.ruleset.paths.push(h))}));if(m.length){if(this.extendChainCount++,d>100){var o="{unable to calculate}",p="{unable to calculate}";try{o=m[0].selfSelectors[0].toCSS(),p=m[0].selector.toCSS()}catch(q){}throw{message:"extend circular reference detected. One of the circular extends is currently:"+o+":extend("+p+")"}}return m.concat(n.doExtendChaining(m,c,d+1))}return m},visitRule:function(a,b){b.visitDeeper=!1},visitMixinDefinition:function(a,b){b.visitDeeper=!1},visitSelector:function(a,b){b.visitDeeper=!1},visitRuleset:function(a){if(!a.root){var b,c,d,e,f=this.allExtendsStack[this.allExtendsStack.length-1],g=[],h=this;for(d=0;d0&&k[i.matched].combinator.value!==g?i=null:i.matched++,i&&(i.finished=i.matched===k.length,i.finished&&!a.allowAfter&&(e+1j&&k>0&&(l[l.length-1].elements=l[l.length-1].elements.concat(c[j].elements.slice(k)),k=0,j++),i=f.elements.slice(k,h.index).concat([g]).concat(d.elements.slice(1)),j===h.pathIndex&&e>0?l[l.length-1].elements=l[l.length-1].elements.concat(i):(l=l.concat(c.slice(j,h.pathIndex)),l.push(new a.Selector(i))),j=h.endPathIndex,k=h.endPathElementIndex,k>=c[j].elements.length&&(k=0,j++); -return j0&&(l[l.length-1].elements=l[l.length-1].elements.concat(c[j].elements.slice(k)),j++),l=l.concat(c.slice(j,c.length))},visitRulesetOut:function(){},visitMedia:function(a){var b=a.allExtends.concat(this.allExtendsStack[this.allExtendsStack.length-1]);b=b.concat(this.doExtendChaining(b,a.allExtends)),this.allExtendsStack.push(b)},visitMediaOut:function(){this.allExtendsStack.length=this.allExtendsStack.length-1},visitDirective:function(a){var b=a.allExtends.concat(this.allExtendsStack[this.allExtendsStack.length-1]);b=b.concat(this.doExtendChaining(b,a.allExtends)),this.allExtendsStack.push(b)},visitDirectiveOut:function(){this.allExtendsStack.length=this.allExtendsStack.length-1}}}(c("./tree")),function(a){a.sourceMapOutput=function(a){this._css=[],this._rootNode=a.rootNode,this._writeSourceMap=a.writeSourceMap,this._contentsMap=a.contentsMap,this._contentsIgnoredCharsMap=a.contentsIgnoredCharsMap,this._sourceMapFilename=a.sourceMapFilename,this._outputFilename=a.outputFilename,this._sourceMapURL=a.sourceMapURL,a.sourceMapBasepath&&(this._sourceMapBasepath=a.sourceMapBasepath.replace(/\\/g,"/")),this._sourceMapRootpath=a.sourceMapRootpath,this._outputSourceFiles=a.outputSourceFiles,this._sourceMapGeneratorConstructor=a.sourceMapGenerator||c("source-map").SourceMapGenerator,this._sourceMapRootpath&&"/"!==this._sourceMapRootpath.charAt(this._sourceMapRootpath.length-1)&&(this._sourceMapRootpath+="/"),this._lineNumber=0,this._column=0},a.sourceMapOutput.prototype.normalizeFilename=function(a){return a=a.replace(/\\/g,"/"),this._sourceMapBasepath&&0===a.indexOf(this._sourceMapBasepath)&&(a=a.substring(this._sourceMapBasepath.length),("\\"===a.charAt(0)||"/"===a.charAt(0))&&(a=a.substring(1))),(this._sourceMapRootpath||"")+a},a.sourceMapOutput.prototype.add=function(a,b,c,d){if(a){var e,f,g,h,i;if(b){var j=this._contentsMap[b.filename];this._contentsIgnoredCharsMap[b.filename]&&(c-=this._contentsIgnoredCharsMap[b.filename],0>c&&(c=0),j=j.slice(this._contentsIgnoredCharsMap[b.filename])),j=j.substring(0,c),f=j.split("\n"),h=f[f.length-1]}if(e=a.split("\n"),g=e[e.length-1],b)if(d)for(i=0;i0){var d,e=JSON.stringify(this._sourceMapGenerator.toJSON());this._sourceMapURL?d=this._sourceMapURL:this._sourceMapFilename&&(d=this.normalizeFilename(this._sourceMapFilename)),this._writeSourceMap?this._writeSourceMap(e):d="data:application/json,"+encodeURIComponent(e),d&&this._css.push("/*# sourceMappingURL="+d+" */")}return this._css.join("")}}(c("./tree"));var y=/^(file|chrome(-extension)?|resource|qrc|app):/.test(location.protocol);w.env=w.env||("127.0.0.1"==location.hostname||"0.0.0.0"==location.hostname||"localhost"==location.hostname||location.port&&location.port.length>0||y?"development":"production");var z={debug:3,info:2,errors:1,none:0};if(w.logLevel="undefined"!=typeof w.logLevel?w.logLevel:"development"===w.env?z.debug:z.errors,w.async=w.async||!1,w.fileAsync=w.fileAsync||!1,w.poll=w.poll||(y?1e3:1500),w.functions)for(var A in w.functions)w.functions.hasOwnProperty(A)&&(w.tree.functions[A]=w.functions[A]);var B=/!dumpLineNumbers:(comments|mediaquery|all)/.exec(location.hash);B&&(w.dumpLineNumbers=B[1]);var C=/^text\/(x-)?less$/,D=null,E={};if(w.watch=function(){return w.watchMode||(w.env="development",v()),this.watchMode=!0,!0},w.unwatch=function(){return clearInterval(w.watchTimer),this.watchMode=!1,!1},/!watch/.test(location.hash)&&w.watch(),"development"!=w.env)try{D="undefined"==typeof a.localStorage?null:a.localStorage}catch(F){}var G=document.getElementsByTagName("link");w.sheets=[];for(var H=0;H122||(l<65||h>90||e.push([Math.max(65,h)|32,Math.min(l,90)|32]),l<97||h>122||e.push([Math.max(97,h)&-33,Math.min(l,122)&-33]))}}e.sort(function(e,a){return e[0]-a[0]||a[1]-e[1]});b=[];f=[];for(a=0;ah[0]&&(h[1]+1>h[0]&&c.push("-"),c.push(g(h[1])));c.push("]");return c.join("")}function s(e){for(var a=e.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),c=a.length,d=[],f=0,h=0;f=2&&e==="["?a[f]=b(l):e!=="\\"&&(a[f]=l.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return a.join("")}for(var x=0,m=!1,j=!1,k=0,c=a.length;k=5&&"lang-"===w.substring(0,5))&&!(t&&typeof t[1]==="string"))f=!1,w="src";f||(r[z]=w)}h=c;c+=z.length;if(f){f=t[1];var l=z.indexOf(f),B=l+f.length;t[2]&&(B=z.length-t[2].length,l=B-f.length);w=w.substring(5);H(j+h,z.substring(0,l),g,k);H(j+h+l,f,I(w,f),k);H(j+h+B,z.substring(B),g,k)}else k.push(j+h,w)}a.g=k}var b={},s;(function(){for(var g=a.concat(d),j=[],k={},c=0,i=g.length;c=0;)b[n.charAt(e)]=r;r=r[1];n=""+r;k.hasOwnProperty(n)||(j.push(r),k[n]=q)}j.push(/[\S\s]/);s=S(j)})();var x=d.length;return g}function v(a){var d=[],g=[];a.tripleQuotedStrings?d.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?d.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/, -q,"'\"`"]):d.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&g.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var b=a.hashComments;b&&(a.cStyleComments?(b>1?d.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):d.push(["com",/^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),g.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/,q])):d.push(["com", -/^#[^\n\r]*/,q,"#"]));a.cStyleComments&&(g.push(["com",/^\/\/[^\n\r]*/,q]),g.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));if(b=a.regexLiterals){var s=(b=b>1?"":"\n\r")?".":"[\\S\\s]";g.push(["lang-regex",RegExp("^(?:^^\\.?|[+-]|[!=]=?=?|\\#|%=?|&&?=?|\\(|\\*=?|[+\\-]=|->|\\/=?|::?|<>?>?=?|,|;|\\?|@|\\[|~|{|\\^\\^?=?|\\|\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*("+("/(?=[^/*"+b+"])(?:[^/\\x5B\\x5C"+b+"]|\\x5C"+s+"|\\x5B(?:[^\\x5C\\x5D"+b+"]|\\x5C"+ -s+")*(?:\\x5D|$))+/")+")")])}(b=a.types)&&g.push(["typ",b]);b=(""+a.keywords).replace(/^ | $/g,"");b.length&&g.push(["kwd",RegExp("^(?:"+b.replace(/[\s,]+/g,"|")+")\\b"),q]);d.push(["pln",/^\s+/,q," \r\n\t\u00a0"]);b="^.[^\\s\\w.$@'\"`/\\\\]*";a.regexLiterals&&(b+="(?!s*/)");g.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/, -q],["pun",RegExp(b),q]);return C(d,g)}function J(a,d,g){function b(a){var c=a.nodeType;if(c==1&&!x.test(a.className))if("br"===a.nodeName)s(a),a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)b(a);else if((c==3||c==4)&&g){var d=a.nodeValue,i=d.match(m);if(i)c=d.substring(0,i.index),a.nodeValue=c,(d=d.substring(i.index+i[0].length))&&a.parentNode.insertBefore(j.createTextNode(d),a.nextSibling),s(a),c||a.parentNode.removeChild(a)}}function s(a){function b(a,c){var d= -c?a.cloneNode(!1):a,e=a.parentNode;if(e){var e=b(e,1),g=a.nextSibling;e.appendChild(d);for(var i=g;i;i=g)g=i.nextSibling,e.appendChild(i)}return d}for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),d;(d=a.parentNode)&&d.nodeType===1;)a=d;c.push(a)}for(var x=/(?:^|\s)nocode(?:\s|$)/,m=/\r\n?|\n/,j=a.ownerDocument,k=j.createElement("li");a.firstChild;)k.appendChild(a.firstChild);for(var c=[k],i=0;i=0;){var b=d[g];F.hasOwnProperty(b)?D.console&&console.warn("cannot override language handler %s",b):F[b]=a}}function I(a,d){if(!a||!F.hasOwnProperty(a))a=/^\s*=l&&(b+=2);g>=B&&(r+=2)}}finally{if(f)f.style.display=h}}catch(u){D.console&&console.log(u&&u.stack||u)}}var D=window,y=["break,continue,do,else,for,if,return,while"],E=[[y,"auto,case,char,const,default,double,enum,extern,float,goto,inline,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"], -"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],M=[E,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,delegate,dynamic_cast,explicit,export,friend,generic,late_check,mutable,namespace,nullptr,property,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],N=[E,"abstract,assert,boolean,byte,extends,final,finally,implements,import,instanceof,interface,null,native,package,strictfp,super,synchronized,throws,transient"], -O=[N,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,internal,into,is,let,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var,virtual,where"],E=[E,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],P=[y,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"], -Q=[y,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],W=[y,"as,assert,const,copy,drop,enum,extern,fail,false,fn,impl,let,log,loop,match,mod,move,mut,priv,pub,pure,ref,self,static,struct,true,trait,type,unsafe,use"],y=[y,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],R=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)\b/, -V=/\S/,X=v({keywords:[M,O,E,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",P,Q,y],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),F={};p(X,["default-code"]);p(C([],[["pln",/^[^]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-", -/^]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);p(C([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/], -["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css",/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);p(C([],[["atv",/^[\S\s]+/]]),["uq.val"]);p(v({keywords:M,hashComments:!0,cStyleComments:!0,types:R}),["c","cc","cpp","cxx","cyc","m"]);p(v({keywords:"null,true,false"}),["json"]);p(v({keywords:O,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:R}), -["cs"]);p(v({keywords:N,cStyleComments:!0}),["java"]);p(v({keywords:y,hashComments:!0,multiLineStrings:!0}),["bash","bsh","csh","sh"]);p(v({keywords:P,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),["cv","py","python"]);p(v({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:2}),["perl","pl","pm"]);p(v({keywords:Q, -hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb","ruby"]);p(v({keywords:E,cStyleComments:!0,regexLiterals:!0}),["javascript","js"]);p(v({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,throw,true,try,unless,until,when,while,yes",hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);p(v({keywords:W,cStyleComments:!0,multilineStrings:!0}),["rc","rs","rust"]); -p(C([],[["str",/^[\S\s]+/]]),["regex"]);var Y=D.PR={createSimpleLexer:C,registerLangHandler:p,sourceDecorator:v,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ",prettyPrintOne:D.prettyPrintOne=function(a,d,g){var b=document.createElement("div");b.innerHTML="
    "+a+"
    ";b=b.firstChild;g&&J(b,g,!0);K({h:d,j:g,c:b,i:1}); -return b.innerHTML},prettyPrint:D.prettyPrint=function(a,d){function g(){for(var b=D.PR_SHOULD_USE_CONTINUATION?c.now()+250:Infinity;i .marginal > #nav -{ - z-index: 2; -} -.withbackground .content > .main -{ - display: block; -} -.withbackground .content > .main > * -{ - position: relative; - z-index: 3; -} -#footer -{ - z-index: 3; -} -.withbackground .content > .main > .background -{ - .bpreplay; - display: block; - position: absolute; - z-index: 1; - line-height: .8em; - height: .8em; - overflow: hidden; -} -.withbackground .content > .main > .heller -{ - color: @heller; - z-index: 2; -} -.withbackground .content > .main > .sehrhell -{ - color: @sehrhell; - text-shadow: .02em .01em 0 @hintergrund; -} -#bs1 -{ - font-size: 2000%; - top: 55%; - left: 11%; -} -#bs2 -{ - font-size: 2600%; - top: 30%; - right: -1%; -} -#bs3 -{ - font-size: 5000%; - top: -5%; - right: -5%; -} -#bs4 -{ - font-size: 600%; - top: 0; - left: 50%; -} -#bs5 -{ - font-size: 3600%; - top: 13%; - left: 35%; -} -#bs6 -{ - font-size: 2000%; - top: 0%; - left: 23%; -} -#bs7 -{ - font-size: 600%; - top: 72%; - left: 5%; -} -#bs8 -{ - font-size: 2200%; - top: 10%; - right: 27%; -} -#bs9 -{ - font-size: 1200%; - bottom: 26%; - left: 36%; -} diff --git a/src/main/webapp/less/base/browserreset.less b/src/main/webapp/less/base/browserreset.less deleted file mode 100644 index 9f8fc4ec..00000000 --- a/src/main/webapp/less/base/browserreset.less +++ /dev/null @@ -1,67 +0,0 @@ -/** Browser-Reset *************************************************************/ - - -/** v1.0 | 20080212, s. http://meyerweb.com/eric/tools/css/reset/ */ - -html, body, div, span, applet, object, iframe, -h1, h2, h3, h4, h5, h6, p, blockquote, pre, -a, abbr, acronym, address, big, cite, code, -del, dfn, em, font, img, ins, kbd, q, s, samp, -small, strike, strong, sub, sup, tt, var, -b, u, i, center, -dl, dt, dd, ol, ul, li, -fieldset, form, label, legend, -table, caption, tbody, tfoot, thead, tr, th, td { - margin: 0; - padding: 0; - border: 0; - outline: 0; - font-size: 100%; - vertical-align: baseline; - background: transparent; -} -body { - line-height: 1; -} -ol, ul { - list-style: none; -} -blockquote, q { - quotes: none; -} -blockquote:before, blockquote:after, -q:before, q:after { - content: ''; - content: none; -} - -/* remember to define focus styles! */ -:focus { - outline: 0; -} - -/* remember to highlight inserts somehow! */ -ins { - text-decoration: none; -} -del { - text-decoration: line-through; -} - -/* tables still need 'cellspacing="0"' in the markup */ -table { - border-collapse: collapse; - border-spacing: 0; -} - - -/** Eigene Reset-Erweiterungen */ - -a { - color: inherit; - text-decoration: none; -} -hr { - padding: 0; - margin: 0; -} diff --git a/src/main/webapp/less/base/content.less b/src/main/webapp/less/base/content.less deleted file mode 100644 index e69de29b..00000000 diff --git a/src/main/webapp/less/base/fonts.less b/src/main/webapp/less/base/fonts.less deleted file mode 100644 index ff87c0e7..00000000 --- a/src/main/webapp/less/base/fonts.less +++ /dev/null @@ -1,112 +0,0 @@ -@font-face -{ - font-family: 'BPreplay'; - src: url('../fonts/BPreplay-webfont.eot'); - src: url('../fonts/BPreplay-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/BPreplay-webfont.woff') format('woff'), - url('../fonts/BPreplay-webfont.ttf') format('truetype'), - url('../fonts/BPreplay-webfont.svg#BPreplayRegular') format('svg'); - font-weight: normal; - font-style: normal; -} - -@font-face -{ - font-family: 'BPreplay'; - src: url('../fonts/BPreplayItalics-webfont.eot'); - src: url('../fonts/BPreplayItalics-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/BPreplayItalics-webfont.woff') format('woff'), - url('../fonts/BPreplayItalics-webfont.ttf') format('truetype'), - url('../fonts/BPreplayItalics-webfont.svg#BPreplayItalic') format('svg'); - font-weight: normal; - font-style: italic; -} - -@font-face -{ - font-family: 'BPreplay'; - src: url('../fonts/BPreplayBold-webfont.eot'); - src: url('../fonts/BPreplayBold-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/BPreplayBold-webfont.woff') format('woff'), - url('../fonts/BPreplayBold-webfont.ttf') format('truetype'), - url('../fonts/BPreplayBold-webfont.svg#BPreplayBold') format('svg'); - font-weight: bold; - font-style: normal; -} - -@font-face -{ - font-family: 'BPreplay'; - src: url('../fonts/BPreplayBoldItalics-webfont.eot'); - src: url('../fonts/BPreplayBoldItalics-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/BPreplayBoldItalics-webfont.woff') format('woff'), - url('../fonts/BPreplayBoldItalics-webfont.ttf') format('truetype'), - url('../fonts/BPreplayBoldItalics-webfont.svg#BPreplayBoldItalic') format('svg'); - font-weight: bold; - font-style: italic; -} - -@font-face -{ - font-family: 'DroidSerif'; - src: url('../fonts/DroidSerif-Regular-webfont.eot'); - src: url('../fonts/DroidSerif-Regular-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/DroidSerif-Regular-webfont.woff') format('woff'), - url('../fonts/DroidSerif-Regular-webfont.ttf') format('truetype'), - url('../fonts/DroidSerif-Regular-webfont.svg#DroidSerifRegular') format('svg'); - font-weight: normal; - font-style: normal; - -} - -@font-face -{ - font-family: 'DroidSerif'; - src: url('../fonts/DroidSerif-Italic-webfont.eot'); - src: url('../fonts/DroidSerif-Italic-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/DroidSerif-Italic-webfont.woff') format('woff'), - url('../fonts/DroidSerif-Italic-webfont.ttf') format('truetype'), - url('../fonts/DroidSerif-Italic-webfont.svg#DroidSerifItalic') format('svg'); - font-weight: normal; - font-style: italic; - -} - -@font-face -{ - font-family: 'DroidSerif'; - src: url('../fonts/DroidSerif-Bold-webfont.eot'); - src: url('../fonts/DroidSerif-Bold-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/DroidSerif-Bold-webfont.woff') format('woff'), - url('../fonts/DroidSerif-Bold-webfont.ttf') format('truetype'), - url('../fonts/DroidSerif-Bold-webfont.svg#DroidSerifBold') format('svg'); - font-weight: bold; - font-style: normal; - -} - -@font-face -{ - font-family: 'DroidSerif'; - src: url('../fonts/DroidSerif-BoldItalic-webfont.eot'); - src: url('../fonts/DroidSerif-BoldItalic-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/DroidSerif-BoldItalic-webfont.woff') format('woff'), - url('../fonts/DroidSerif-BoldItalic-webfont.ttf') format('truetype'), - url('../fonts/DroidSerif-BoldItalic-webfont.svg#DroidSerifBoldItalic') format('svg'); - font-weight: bold; - font-style: italic; - -} - -@font-face -{ - font-family: 'symbols'; - src: url('../fonts/symbols.eot'); - src: url('../fonts/symbols.eot?#iefix') format('embedded-opentype'), - url('../fonts/symbols.woff') format('woff'), - url('../fonts/symbols.ttf') format('truetype'), - url('../fonts/symbols.svg#symbols') format('svg'); - font-weight: normal; - font-style: normal; -} - diff --git a/src/main/webapp/less/base/footer.less b/src/main/webapp/less/base/footer.less deleted file mode 100644 index 16d95a8e..00000000 --- a/src/main/webapp/less/base/footer.less +++ /dev/null @@ -1,31 +0,0 @@ -#footerlinks -{ - .bpreplay; - position: relative; - margin: 0; - padding: 0; - list-style-type: none; -} -#footerlinks li.f -{ - font-size: 137.5%; /** 22 px */ - float: left; - margin: .5em 1em 0 0; -} -#footerlinks #copyright -{ - color: @schrift; - margin: 0; - width: 100%; -} -#footerlinks a.f -{ - color: @normal; - border-color: @normal; -} -#footerlinks a.f:hover -{ - color: @dunkler; - border-color: @dunkler; - border-style: solid; -} diff --git a/src/main/webapp/less/base/formulare.less b/src/main/webapp/less/base/formulare.less deleted file mode 100644 index 55a7a8a6..00000000 --- a/src/main/webapp/less/base/formulare.less +++ /dev/null @@ -1,419 +0,0 @@ -/** Formulare *****************************************************************/ - -.form { - position: relative; - width: 100%; - overflow: hidden; -} - -/** Trennlinie */ -.form hr.f { - border-style: none; - border-top-style: dashed; - border-color: @normal; - border-width: .0625em; - margin: .625em 0; /** 10px 0 */ - background-color: transparent; -} - -/** Text im Formular */ -.form p.f { - color: @schrifthell; -} -.form p.f, -.form .radiobutton > legend.f, -.form .checkbox > legend.f, -.form .textarea > label.f { - display: block; - font-size: 87.5%; /** 14px */ - line-height: 1.5em; /** 21px */ - color: @schrifthell; - margin: .428571429em 0; /** 6px 0 */ -} - -/** Aufzählungen im Formular */ -.form ul.f, -.form ol.f { - color: @schrifthell; - margin: 1em 0; -} - -/** Info-Text */ -.form p.f.info, -.form .textarea > label.f.info, -.form .radiobutton > legend.f.info, -.form .checkbox > legend.f.info, -.form .textarea > label.f.info { - display: block; - font-size: 81.25%; /** 13px */ - line-height: 1.230769231em; /** 16px */ - font-style: italic; - color: @schrifthell; - padding: 0 0 0 1.538461538em; /** 0 0 0 20px */ - background-image: url(../img/em.png); - background-repeat: no-repeat; - background-position: 0 1px; - margin-top: .461538462em; /** 6px */ - margin-bottom: .461538462em; /** 6px */ -} -.form .info > a { - display: inline-block; -} - -/** Überschriften */ -.form h1.f { - font-size: 137.5%; /** 22px */ - letter-spacing: .0454545em; /** 1px */ - line-height: 1em; - padding: 0 0 .454545455em; /** 0 0 10px */ - border-bottom: .090909091em solid @normal; /** 2px */ - margin: .272727273em 0 .909090909em 0; /** 6px 0 20px 0 */ -} -.form h2.f { - font-size: 100%; /** 16px */ - letter-spacing: .0625em; /** 1px */ - text-transform: uppercase; - line-height: 1.625em; /** 26px */ - padding: 0 0 0 .125em; /** 0 0 0 2px */ - border-bottom: .0625em solid @normal; /** 1px */ - margin: 1.875em 0 .25em 0; /** 30px 0 4px 0 */ -} -.form h3.f { -/** border-bottom: 1px dashed @normal; */ -} -.form p.required { - text-indent: -999em; - margin: -1.785714286em 0 0 0; /** -25px 0 0 0 zu 14px */ -} -.form p.required > strong.r { - display: block; - float: right; - position: relative; - right: -994em; - margin-right: 1em; /** 14px */ - font-weight: normal; -} -.form p.required > strong.symbol { - font-size: 128.5714286%; /** 18px zu 14px */ - margin-right: .555555em; /** 10px */ - padding-top: .1666666em; /** 3px */ - right: -773.11em; /** Anpassung wegen abweichender Schriftgröße nötig: 994em * 14px / 18px */ - font-weight: 700; - color: @dunkel; -} - -/** Fehler-Hinweise */ -.f.error { - color: @fehler; -} -span.f.error { - display: block; - position: relative; - font-size: 87.5%; /** 14px */ - line-height: 1.214285714em; /** 17px */ - padding: .571428571em; /** 8px */ - color: @hintergrund; - background-color: @fehler; - margin: .857142857em 0 0 0; /** 12px 0 0 0 */ -} -span.f.error > span.e { - display: block; - width: .857142857em; /** 12px */ - height: .428571429em; /** 6px */ - background-image: url(../img/arrow-red.gif); - text-indent: -9999em; - position: absolute; - top: -.428571429em; /** -6px */ - left: 2.142857143em; /** 30px */ -} -span.f.error > strong.e { - text-transform: uppercase; -} - -/** Input, Select und Dateiupload mit Label */ -.form .text, -.form .select, -.form .file { - position: relative; - margin-bottom: .75em; /** 12px */ -} -.form .text, -.form .file { - margin-right: 10em; /** 160px */ -} -.form .select { - margin-right: 9em; /** 144px */ -} -h2.f + div.text, -h2.f + div.select, -h2.f + div.file, -h2.f + div.captcha, -p.f + div.text, -p.f + div.select, -p.f + div.file { - margin-top: 20px; -} -.form .text > label.f, -.form .textarea > label.f, -.form .select > label.f, -.form .file > label.f, -.form .captcha > span.f { - display: block; - position: relative; - font-size: 87.5%; /** 14px */ - line-height: 1.214285714em; /** 17px */ - padding: .571428571em 0 .571428571em 0; /** 8px 0 8px 0 */ - color: @schrift; -} -.form .file > label.f { - padding-top: .285714286em; /** 4px */ - padding-bottom: .285714286em; /** 4px */ -} -.form .captcha > span.f { - position: absolute; -} -.form .required > label.f { - padding-left: 1em; /** 14px */ -} -.form .required > label.f > .required { - display: block; - position: absolute; - font-size: 128.5714286%; /** 18px zu 14px */ - font-weight: 700; - color: @dunkel; - top: .611111111em; /** 11px */ - left: 0; -} -.form .file > label.f > .required { - top: .5em; /** 7px */ -} -.form .text > input.f, -.form .select > select.f, -.form .file > input.f { - display: block; - width: 100%; - position: absolute; - top: 0; - font-size: 81.25%; /** 13px */ - border: .076923077em solid @normal; /** 1px */ - color: @schrift; - background-color: @sehrhell; -} -.form .text > input.f { - line-height: 1.307692308em; /** 17px */ - padding: .538461538em; /** 7px */ - right: -12.307692308em; /** -160px */ -} -.form .select > select.f { - line-height: 1.230769231em; /** 16px */ - padding: .461538462em .538461538em; /** 6px 7px */ - right: -11.076923077em; /** -144px */ -} -.form .file > input.f { - margin-left: 11.076923077em; /** 144px */ -} -.form .captcha > img.f { - float: right; - margin-top: -.9375em; /** 15px */ - width: 7.5em; /** 120px */ - height: 3.75em; /** 60px */ -} -.form .text > input.f:focus, -.form .select > select.f:focus, -.form .text > input.f:active, -.form .select > select.f:active { - background-color: transparent; -} -.form .text > p.f.info, -.form .select > p.f.info, -.form .file > p.f.info { - position: relative; - left: 11.076923077em; /** 144px */ -} -.form .text > span.f.error, -.form .select > span.f.error, -.form .file > span.f.error { - width: 100%; - margin: .857142857em 0 0 10.285714286em; /** 12px 0 0 144px zu 14(!)px*/ -} - -/** Textfelder */ -.form .textarea { - position: relative; - margin: 0 .6875em .75em .6875em; /** 0px 11px 12px 11px */ -} -.form .textarea > label.f { - margin: .615384615em -.846153846em; /** 8px -11px */ -} -.form .textarea > textarea.f, -.form .textarea > div.textarea { - width: 100%; - border: .076923077em solid @normal; /** 1px */ - color: @schrift; - background-color: @sehrhell; - padding: .769230769em; /** 10px */ - position: relative; - left: -.846153846em; /** -11px */ -} -.form .textarea > div.textarea { - margin: 0; - font-size: 87.5%; /** 14px */ -} -.form .textarea > textarea.f:focus, -.form .textarea > textarea.f:active { - background-color: transparent; -} -.form .textarea > span.f.error { - margin: .714285714em -.785714286em 0 -.785714286em; /** 10px -11px 0 -11px */ -} - -/** Radiobuttons und Checkboxen */ -.form .radiobutton > legend.f.info, -.form .checkbox > legend.f.info { - padding: .230769231em 0 0 1.538461538em; /** 3px 0 0 20px zu 13px*/ - background-position: 0 .230769231em; /** 0 3px */ -} -.form .col2, -.form .radiobutton > .col2, -.form .checkbox > .col2 { - width: 48%; - float: left; -} -.form .col2.left, -.form .radiobutton > .col2.left, -.form .checkbox > .col2.left { - margin-right: 2%; -} -.form .col2.right, -.form .radiobutton > .col2.right, -.form .checkbox > .col2.right { - float: right; - margin-left: 2%; -} -.form div.checkbox, -.form .radiobutton > .f, -.form .checkbox > .f, -.form .radiobutton > .col2 > .f, -.form .checkbox > .col2 > .f { - position: relative; -} -.form div.checkbox > label.f, -.form .radiobutton > .f > label.f, -.form .checkbox > .f > label.f, -.form .radiobutton > .col2 > .f > label.f, -.form .checkbox > .col2 > .f > label.f { - display: block; - font-size: 87.5%; /** 14px */ - line-height: 1.285714286em; /** 18px */ - color: @schrift; - margin: .571428571em 0 .571428571em 1.428571429em; /** 8px 0 8px 20px */ -} -.form div.checkbox > input.f, -.form .radiobutton > .f > input.f, -.form .checkbox > .f > input.f, -.form .radiobutton > .col2 > .f > input.f, -.form .checkbox > .col2 > .f > input.f { - position: absolute; - margin: .285714286em 0; /** 4px 0 */ -} -.form div.checkbox > input.error, -.form .radiobutton > .f > input.error, -.form .checkbox > .f > input.error { - /** Wäre möglich -- konnte aber keine CSS-Eigenschaft finden, die sich rot färben ließ: der Firefox hat alles ignoriert! */ -} -.form div.checkbox:hover > label.f, -.form .radiobutton > .f:hover > label.f, -.form .checkbox > .f:hover > label.f, -.form div.checkbox:focus > label.f, -.form .radiobutton > .f:focus > label.f, -.form .checkbox > .f:focus > label.f, -.form div.checkbox:active > label.f, -.form .radiobutton > .f:active > label.f, -.form .checkbox > .f:active > label.f, -.form .radiobutton > .col2 > .f:hover > label.f, -.form .checkbox > .col2 > .f:hover > label.f, -.form .radiobutton > .col2 > .f:focus > label.f, -.form .checkbox > .col2 > .f:focus > label.f, -.form .radiobutton > .col2 > .f:active > label.f, -.form .checkbox > .col2 > .f:active > label.f { - color: @schrift; -} - -/** Sondereinstellungen für Fehler-Hervorhebungen */ -.form .text > input.error, -.form .textarea > textarea.error, -.form .select > select.error, -.form .file > input.error { - color: @schrift; - font-weight: 700; - border-color: @fehler; - background-color: @fehlerhell; -} - - -/** Absende-Buttons */ -ul.buttons, -ol.buttons { - margin: 0; - padding: 0; - list-style-type: none; - text-align: right; -} -ul.buttons > li.b, -ol.buttons > li.b { - display: inline-block; - margin: 0; - padding: 0; -} -.form .submit { - text-align: right; - margin-bottom: .75em; /** 12px */ -} -.form .submit > input.f, -.form .submit > a.f, -a.ln.button { - display: inline-block; - font-family: 'PT Sans', Helvetica, Arial, sans-serif; - font-size: 81.25%; /** 13px */ - letter-spacing: .076923077em; /** 1px */ - line-height: 25px; - padding:0 6px; - height: 1.923076923em; /** 25px */ - color: @hintergrund; - font-weight: 700; - background-color: @normal; - border-style: none; -} -.form .submit > input.f, -.form .submit > a.f, -ul.buttons > li.b, -ol.buttons > li.b { - margin: 0 0 0 .615384615em; /** 0 0 0 8px */ -} -a.ln.button:before { - content: none; -} -.form .submit > input.left, -.form .submit > a.left, -a.ln.button.left { - float: left; - margin: 0 .923076923em 0 0; /** 0 12px 0 0 */ -} -.form .submit > input.right, -.form .submit > a.right, -a.ln.button.right { - float: right; - margin: 0 0 0 .923076923em; /** 0 0 0 12px */ -} -.form .submit > input.f:hover, -.form .submit > a.f:hover, -a.ln.button:hover, -.form .submit > input.f:focus, -.form .submit > a.f:focus, -a.ln.button:focus, -.form .submit > a.f:active, -.form .submit > input.f:active, -a.ln.button:active { - background-color: @dunkel; - text-decoration: none; -} diff --git a/src/main/webapp/less/base/head.less b/src/main/webapp/less/base/head.less deleted file mode 100644 index 3c956271..00000000 --- a/src/main/webapp/less/base/head.less +++ /dev/null @@ -1,26 +0,0 @@ -#header -{ - .bpreplay; -} -#logo -{ - display: inline; - font-size: 400%; - line-height: 1.2em; - margin: 0; - padding: 0 0 0 .230769231em; /* 30px */ - color: @normal; - border: none; - position: relative; - left: -.3em; -} -#logo a.l:hover -{ - color: @dunkler; - border-style: none; -} -#slogan -{ - display: block; - color: @normal; -} diff --git a/src/main/webapp/less/base/marginal.less b/src/main/webapp/less/base/marginal.less deleted file mode 100644 index 9d12af5a..00000000 --- a/src/main/webapp/less/base/marginal.less +++ /dev/null @@ -1,7 +0,0 @@ -.marginal h1 -{ - font-size: 125%; /** 20 px */ - line-height: 1em; /** 20px */ - margin: 1.5em 0 .5em 0; /** 30px 0 10px 0 */ - padding: 0; -} diff --git a/src/main/webapp/less/base/navigation.less b/src/main/webapp/less/base/navigation.less deleted file mode 100644 index 60874ab6..00000000 --- a/src/main/webapp/less/base/navigation.less +++ /dev/null @@ -1,99 +0,0 @@ -h2.nav -{ -} -#menu, -#submenu -{ - .bpreplay; - color: @normal; - margin: .5em 0 1.5em 0; - padding: 0.25em 0.25em 0.25em 1.5em; - border: 1px solid @normal; -} -#menu li.m, -#submenu li.s -{ - padding: .2em; -} -#menu li.m a.m, -#submenu li.s a.s -{ - color: @normal; -} -#menu li.m a.m:hover, -#submenu li.s a.s:hover -{ - color: @nochdunkler; -} -#menu li.m strong.m, -#menu li.m a.m.selected, -#menu li.m a.m:focus, -#menu li.m a.m:active, -#submenu li.s strong.s, -#submenu li.s a.s.selected, -#submenu li.s a.s:focus, -#submenu li.s a.s:active -{ - color: @dunkler; -} - -#breadcrumb -{ - .bpreplay; - color: @normal; -} -#breadcrumb strong.b.title -{ - float: left; - margin: 0 0.5em 0 0; -} -#breadcrumb ol.b -{ - display: inline; - margin: 0; - padding: 0; - list-style-type: none; -} -#breadcrumb ol.b li.b -{ - float: left; - margin: 0 0 0.5em 0.5em; - padding: 0; -} -#breadcrumb ol.b li.b:before -{ - content: '> '; -} -#breadcrumb ol.b li.b:first-child:before -{ - content: ''; -} -#breadcrumb ol.b li.b strong.b -{ - border-bottom: 1px solid @normal; -} -#breadcrumb ol.b li.b a.b -{ - color: @normal; -} -#breadcrumb ol.b li.b a.b:hover, -#breadcrumb ol.b li.b a.b:focus, -#breadcrumb ol.b li.b a.b:active -{ - color: @dunkler; -} -#breadcrumb a.hide -{ - position: static; -} -#breadcrumb a.hide:before -{ - content: ""; - display: table; - clear: both; -} -#breadcrumb hr.b -{ - clear: both; -} - diff --git a/src/main/webapp/less/base/prettify.less b/src/main/webapp/less/base/prettify.less deleted file mode 100644 index b25145d4..00000000 --- a/src/main/webapp/less/base/prettify.less +++ /dev/null @@ -1,39 +0,0 @@ -/* Pretty printing styles. Used with prettify.js. */ -/* Vim sunburst theme by David Leibovic */ - -pre .str, code .str { color: #65B042; } /* string - green */ -pre .kwd, code .kwd { color: #E28964; } /* keyword - dark pink */ -pre .com, code .com { color: #AEAEAE; font-style: italic; } /* comment - gray */ -pre .typ, code .typ { color: #89bdff; } /* type - light blue */ -pre .lit, code .lit { color: #3387CC; } /* literal - blue */ -pre .pun, code .pun { color: #fff; } /* punctuation - white */ -pre .pln, code .pln { color: #fff; } /* plaintext - white */ -pre .tag, code .tag { color: #89bdff; } /* html/xml tag - light blue */ -pre .atn, code .atn { color: #bdb76b; } /* html/xml attribute name - khaki */ -pre .atv, code .atv { color: #65B042; } /* html/xml attribute value - green */ -pre .dec, code .dec { color: #3387CC; } /* decimal - blue */ - -pre.prettyprint, code.prettyprint { - background-color: #000; - overflow-x: scroll; -} - -pre.prettyprint { - width: 95%; - margin: 1em auto; - padding: 1em; - white-space: pre; -} - - -/* Specify class=linenums on a pre to get line numbering */ -ol.linenums { - margin-top: 0; - margin-bottom: 0; - color: #AEAEAE; -} /* IE indents via margin-left */ - -li.L0, li.L1, li.L2, li.L3, li.L4, li.L5, li.L6, li.L7, li.L8, li.L9 -{ - list-style-type: decimal; -} diff --git a/src/main/webapp/less/base/typo.less b/src/main/webapp/less/base/typo.less deleted file mode 100644 index 8e5e6031..00000000 --- a/src/main/webapp/less/base/typo.less +++ /dev/null @@ -1,154 +0,0 @@ -/** Typografische Grundeinstellungen ******************************************/ - -body -{ - .droid; - letter-spacing: 0; - line-height: 1.5em; - padding: .5em 1em 1em 1.5em; - background-color: @hintergrund; -} -h1, h2, h3, h4, h5, h6 -{ - .bpreplay; - color: @schrifthell; - line-height: 1.25em; - margin: 1.125em 0 .25em 0; /** Margin Top für h1 auf Marginalspalte abgestimmt! */ -} -h1 -{ - font-size: 137.5%; /** 22 px */ - color: @normal; - padding: 0 0 .25em 0; /** 0 0 5px 0 */ -} -h2 -{ - font-size: 125%; /** 20 px */ -} -h3 -{ - font-size: 112.5%; /** 18px */ -} -h4 -{ - /** font-size: 16px */ -} -h1 a, h2 a, h3 a, h4 a -{ - color: @normal; - border-style: none; -} -h1 a:hover, -h2 a:hover, -h3 a:hover, -h4 a:hover -{ - color: @dunkler; - border-bottom: 1px solid @dunkler; -} -h1 a:focus, -h2 a:focus, -h3 a:focus, -h4 a:focus, -h1 a:active, -h2 a:active, -h3 a:active, -h4 a:active -{ - color: @dunkel; - border-bottom: 1px solid @dunkel; -} -p -{ - margin: .5em 0 .5em 0; -} -ul, ol -{ - margin: .25em 0 .25em 0; /** 4px 0 4px 0 */ - padding: 0 0 0 1em; /** 0 0 0 16px */ -} -ul -{ - list-style-type: square; -} -ol -{ - list-style-type: decimal; - padding-left: 1.1875em; /** 19px */ -} -li -{ - padding-bottom: .25em; /** 2px */ -} -table, th, td -{ - padding: .1em .2em; -} -th, td -{ - font-size: 87.5%; /** 14px */ - line-height: 1.5em; /** 20px */ - border: .071428571em solid #000; /** 1px */ - padding: .214285714em .5em; /** 3px 7px */ -} -pre -{ - line-height: 1.2em; -} -code -{ - font-size: 120%; /** Otherwise, the font-size will be 75%, though not specified so anywhere!! */ - line-height: 1.2em; -} -hr -{ - border: none; - border-top: 2px solid @normal; - background-color: @normal; - height: 1px; - margin: 1em 0 1em 0; -} -a -{ - color: @dunkler; - border-bottom: 1px dashed @dunkler; -} -a:hover -{ - color: @nochdunkler; - border-bottom: 1px solid @nochdunkler; -} -a:focus, -a:active -{ - color: @dunkler; - border-bottom: 1px solid @dunkler; -} -a:visited -{ - border-bottom: 1px dotted @nochdunkler; -} - -h2 a, -h3 a, -h4 a -{ - color: @schrifthell; -} -h2 a:focus, -h2 a:active, -h3 a:focus, -h3 a:active, -h4 a:focus, -h4 a:active -{ - color: @normal; - border-bottom: 1px solid @normal; -} - - -.logo -{ - .bpreplay; - color: @normal; -} diff --git a/src/main/webapp/less/base/util.less b/src/main/webapp/less/base/util.less deleted file mode 100644 index 82a4fafc..00000000 --- a/src/main/webapp/less/base/util.less +++ /dev/null @@ -1,27 +0,0 @@ -/** Allgemein nützliche Marker-Klassen */ - - -/** Micro Clearfix-Hack nach http://nicolasgallagher.com/micro-clearfix-hack/ */ - -.cf:before, -.cf:after { - content: ""; - display: table; -} -.cf:after { - clear:both; -} - -/** Hide helpful content in a way, that it is still accessible to screen-readers */ -.hide{ - position: absolute; - left: -99999999em; -} - - -/** Symbol-Font für Vektor-Icons */ - -.symbols -{ - font-family: 'symbols'; -} diff --git a/src/main/webapp/less/ie8.less b/src/main/webapp/less/ie8.less deleted file mode 100644 index e69de29b..00000000 diff --git a/src/main/webapp/less/phone/404.less b/src/main/webapp/less/phone/404.less deleted file mode 100644 index 96fe2748..00000000 --- a/src/main/webapp/less/phone/404.less +++ /dev/null @@ -1,62 +0,0 @@ -.withbackground .content -{ - position: relative; -} -.withbackground .content > .main -{ - z-index: 1; -} -.withbackground .content > .marginal -{ - position: relative; - z-index: 3; - border-top: .142857143em solid @hintergrund; /** 2px */ -} -#bs1 -{ - top: -3%; -} -#bs2 -{ - font-size: 2000%; - top: 0%; - right: 3%; -} -#bs4 -{ - top: 5%; - left: 57%; - @media (max-width: 410px) - { - display: none; - } -} -#bs6 -{ - font-size: 1700%; - bottom: -10%; - left: 45%; -} -#bs7 -{ - top: 20%; - left: 2%; - @media (max-width: 410px) - { - top: 34%; - left: 30%; - } -} -#bs5, -#bs8 -{ - display: none; -} -#bs9 -{ - top: 20%; - @media (max-width: 410px) - { - display: none; - } -} diff --git a/src/main/webapp/less/phone/footer.less b/src/main/webapp/less/phone/footer.less deleted file mode 100644 index 01a021a8..00000000 --- a/src/main/webapp/less/phone/footer.less +++ /dev/null @@ -1,35 +0,0 @@ -#footer > #footerlinks -{ - position: static; - border-style: none; -} -#footer > #footerlinks > li.about -{ - display: none; -} -#footer > #footerlinks > li.f -{ - color: @hintergrund; - line-height: 1em; - margin: 0 1em 0 0; - padding: 0 0 .5em 0; -} -#footer > #footerlinks > li.f > a.f -{ - color: @hintergrund; - border-color: @hintergrund; -} -#footer > #footerlinks > li#copyright -{ - position: static; - float: right; - width: auto; - font-size: 137.5%; - margin: 0; - @media (max-width: 229px) - { - color: @schrift; - flow: none; - width: 100%; - } -} diff --git a/src/main/webapp/less/phone/head.less b/src/main/webapp/less/phone/head.less deleted file mode 100644 index 22d81010..00000000 --- a/src/main/webapp/less/phone/head.less +++ /dev/null @@ -1,7 +0,0 @@ -@media (max-width: 410px) -{ - #slogan - { - color: @normal; - } -} diff --git a/src/main/webapp/less/phone/layout.less b/src/main/webapp/less/phone/layout.less deleted file mode 100644 index f2c4a238..00000000 --- a/src/main/webapp/less/phone/layout.less +++ /dev/null @@ -1,218 +0,0 @@ -/** Seite gesamt (Abmessungen, Aussenabstände etc.) */ - -body -{ - font-size: 87.5%; /** 14px */ - padding: 0; -} -#page -{ - position: relative; - overflow: hidden; -} - - -/** Seitenaufteilung mit/ohne Menü */ - -.content > .main -{ - margin: 0 1em 0 2.5em; -} -.menu .content > .main -{ - border-top-style: none; -} - - - -/** Seitenkopf positionieren */ - -#header -{ - margin: .5em 1em 1em 1.25em; -} -#header > hr.h -{ - display: none; -} - - -/** Bereichsauswahl positionieren und stylen */ - -#nav > hr.n -{ - display: none; -} -#menu -{ - border-style: none; - font-size: 125%; - line-height: 1.5em; -} -#menu -{ - font-size: 150%; - border-bottom: .125em solid @hintergrund; - margin-top: 0; - padding: .25em .25em 1em 1.5em; -} -#menu > li.m -{ - float: left; - @media (max-width: 359px) - { - float: none; - } - list-style-type: none; - padding: .25em 1em 0 0; -} -#menu > li.m > a.m -{ - color: @dunkel; -} -#menu > li.m > strong.m -{ - color: @hintergrund; - border-bottom: .0625em solid @hintergrund; -} -#menu > li.m > a.m:hover, -#menu > li.m > a.m:focus, -#menu > li.m > a.m:active -{ - color: @dunkler; - border-bottom: .0625em solid @dunkler; -} -#menu > li.m > a.m.selected -{ - color: @hintergrund; - border-bottom: .0625em dashed @hintergrund; -} -#menu > li.m > a.m.selected:hover, -#menu > li.m > a.m.selected:focus, -#menu > li.m > a.m.selected:active -{ - border-style: solid; -} - - -/** Navigations-Sprunglink reaktivieren und stylen */ - -#breadcrumb -{ - position: absolute; - top: .8em; - right: 1.5em; -} -#breadcrumb > strong.b, -#breadcrumb > ol.b, -#breadcrumb > hr.b -{ - display: none; -} -#breadcrumb > a.hide -{ - display: block; - overflow: hidden; - width: 3.5em; - height: 3em; - line-height: 3em; - color: @normal; - border-style: none; -} -#breadcrumb > a.hide:before -{ - content: ""; - font-family: 'symbols'; - font-size: 378%; /** Vielfaches von 14px */ - padding: 0 0 1em 0; - font-weight: normal; -} -#breadcrumb > a.hide:hover, -#breadcrumb > a.hide:focus, -#breadcrumb > a.hide:active -{ - color: @dunkler; -} - - -/** Inhalts-Sprunglink reaktivieren und stylen */ - -#nav:target -{ - position: absolute; - top: 0; - right: 0; - left: 0; - padding: .6em 1em 999em 2.5em; - margin-bottom: -993em; - z-index: 5; - background-color: @heller; - #menu - { - padding-top: 0; - padding-bottom: .75em; - } - > a.hide - { - position: absolute; - left: auto; - top: .8em; - right: 1.5em; - display: block; - overflow: hidden; - width: 3.5em; - height: 3em; - line-height: 3em; - color: @hintergrund; - border-style: none; - } - > a.hide:before - { - content: ""; - font-family: 'symbols'; - font-size: 378%; /** Vielfaches von 14px */ - padding: 0 0 1em 0; - margin: 0 1em 0 0; - } - > a.hide:hover, - > a.hide:focus, - > a.hide:active - { - color: @dunkler; - } -} - - -/** Footer positionieren */ - -#footer -{ - padding: 0 1em .5em 2.5em; - background-color: @heller; -} -#footer > hr.f -{ - border-color: @hintergrund; -} - - -/** Marginal-Inhalte anpassen... */ - -.marginal h1, -.marginal h2, -.marginal h3, -.marginal h4 -{ - color: @hintergrund; -} - - -/** Faux-Column-Hack für Marginalinhalte */ - -.marginal -{ - margin-top: 4em; - margin-bottom: -993em; - padding: 1em 1em 999em 2.5em; - background-color: @heller; -} diff --git a/src/main/webapp/less/phone/menu.less b/src/main/webapp/less/phone/menu.less deleted file mode 100644 index 83bd0992..00000000 --- a/src/main/webapp/less/phone/menu.less +++ /dev/null @@ -1,6 +0,0 @@ -#submenu -{ - border-style: none; - font-size: 125%; - line-height: 1.5em; -} diff --git a/src/main/webapp/less/phone/packs.less b/src/main/webapp/less/phone/packs.less deleted file mode 100644 index 0114499a..00000000 --- a/src/main/webapp/less/phone/packs.less +++ /dev/null @@ -1,11 +0,0 @@ -.pack > .p.left, -.pack > .p.right, -.pack.bg > .p.left, -.pack.bg > .p.right, -.single, -.single.bg -{ - width: auto; - padding-bottom: 1.5em; - margin: 0 0 1.5em 0; -} diff --git a/src/main/webapp/less/phone/typo.less b/src/main/webapp/less/phone/typo.less deleted file mode 100644 index ba61db5a..00000000 --- a/src/main/webapp/less/phone/typo.less +++ /dev/null @@ -1,4 +0,0 @@ -h1 -{ - font-size: 150%; /** 24 px */ -} diff --git a/src/main/webapp/less/print.less b/src/main/webapp/less/print.less deleted file mode 100644 index 8d87aa48..00000000 --- a/src/main/webapp/less/print.less +++ /dev/null @@ -1,30 +0,0 @@ -@import 'variables.less'; - -#breadcrumb -{ - .droid; - color: @schrift; - font-weight: normal; -} -#breadcrumb strong.b -{ - font-weight: normal; -} -#breadcrumb ol.b li.b a.b, -#breadcrumb ol.b li.b strong.b -{ - color: @schrift; - border-style: none; -} -#breadcrumb a.hide -{ - display: none; -} -#breadcrumb hr.b -{ - display: none; -} -@import 'print/typo.less'; -@import 'print/layout.less'; -@import 'print/head.less'; -@import 'print/prettify.less'; diff --git a/src/main/webapp/less/print/head.less b/src/main/webapp/less/print/head.less deleted file mode 100644 index db11a6e2..00000000 --- a/src/main/webapp/less/print/head.less +++ /dev/null @@ -1,8 +0,0 @@ -#logo -{ - padding-left: .0625em; -} -#slogan -{ - display: inline-block; -} diff --git a/src/main/webapp/less/print/layout.less b/src/main/webapp/less/print/layout.less deleted file mode 100644 index 392760e8..00000000 --- a/src/main/webapp/less/print/layout.less +++ /dev/null @@ -1,54 +0,0 @@ -body -{ - font-size: 75%; /** 12px */ -} -#header hr.h -{ - margin: .5em 0; -} -.content -{ - clear: both; -} -.marginal -{ - display: none; -} -#breadcrumb -{ - .droid; - color: @schrift; - font-weight: normal; -} -#breadcrumb strong.b -{ - font-weight: normal; -} -#breadcrumb ol.b li.b a.b, -#breadcrumb ol.b li.b strong.b -{ - color: @schrift; - border-style: none; -} -#breadcrumb a.hide -{ - display: none; -} -#breadcrumb hr.b -{ - display: none; -} -#nav -{ - display: none; -} -#footerlinks li.f -{ - display: none; -} -#footerlinks li#copyright -{ - .droid; - font-size: 100%; - display: block; -} diff --git a/src/main/webapp/less/print/prettify.less b/src/main/webapp/less/print/prettify.less deleted file mode 100644 index 0ed8c472..00000000 --- a/src/main/webapp/less/print/prettify.less +++ /dev/null @@ -1,11 +0,0 @@ -/* Pretty printing styles. Used with prettify.js. */ -pre .str, code .str { color: #060; } -pre .kwd, code .kwd { color: #006; font-weight: bold; } -pre .com, code .com { color: #600; font-style: italic; } -pre .typ, code .typ { color: #404; font-weight: bold; } -pre .lit, code .lit { color: #044; } -pre .pun, code .pun { color: #440; } -pre .pln, code .pln { color: #000; } -pre .tag, code .tag { color: #006; font-weight: bold; } -pre .atn, code .atn { color: #404; } -pre .atv, code .atv { color: #060; } diff --git a/src/main/webapp/less/print/typo.less b/src/main/webapp/less/print/typo.less deleted file mode 100644 index 58e2ca63..00000000 --- a/src/main/webapp/less/print/typo.less +++ /dev/null @@ -1,5 +0,0 @@ -a -{ - color: @schrift; - border-style: none; -} diff --git a/src/main/webapp/less/screen.less b/src/main/webapp/less/screen.less deleted file mode 100644 index ba58223e..00000000 --- a/src/main/webapp/less/screen.less +++ /dev/null @@ -1,53 +0,0 @@ -@import 'variables.less'; -@import 'screen/head.less'; -@import 'screen/menu.less'; -@import 'screen/footer-sticky.less'; -@import 'screen/wip.less'; -@import 'screen/packs.less'; - -@media (min-width: (@minscreen)) -{ - @import 'screen/layout.less'; - @import 'screen/footer.less'; - @media (max-width: (@maxtablet)) - { - @import 'tablet/typo.less'; - @import 'tablet/layout.less'; - @import 'tablet/menu.less'; - @import 'tablet/marginal.less'; - @import 'tablet/footer.less'; - } -} -@media (min-width: (@mindesktop)) -{ - @import 'screen/faux-column.less'; - @import 'screen/marginal.less'; - @import 'screen/content.less'; - @media (max-width: 1079px) - { - @import 'screen/onecolumn.less'; - } -} - -@media (max-width: (@maxtablet)) -{ - @import 'tablet/head.less'; - @import 'tablet/404.less'; -} - -@media (max-width: (@maxphone)) -{ - @import 'phone/typo.less'; - @import 'phone/layout.less'; - @import 'phone/head.less'; - @import 'phone/menu.less'; - @import 'phone/footer.less'; - @import 'phone/packs.less'; - @import 'phone/404.less'; -} - -@media (max-width: (@maxtiny)) -{ - @import 'tiny/layout.less'; - @import 'tiny/404.less'; -} diff --git a/src/main/webapp/less/screen/content.less b/src/main/webapp/less/screen/content.less deleted file mode 100644 index 35786c32..00000000 --- a/src/main/webapp/less/screen/content.less +++ /dev/null @@ -1,26 +0,0 @@ -.mcontent -{ - position: relative; - padding: 0 24.375em 0 0; -} -.mcontent > .mmain -{ - float: left; - min-height: 1em; - position: relative; - width: 100%; - border-right: .125em solid @normal; -} -.mcontent > .mmarginal -{ - float: left; - margin: 0 -27em 0 -.125em; - padding: 0 2em 1.0625em 2em; - position: relative; - width: 20.375em; - border-left: .125em solid @normal; -} -.mcontent > .mmain > * -{ - margin-right: 5%; -} diff --git a/src/main/webapp/less/screen/faux-column.less b/src/main/webapp/less/screen/faux-column.less deleted file mode 100644 index 2b6e5932..00000000 --- a/src/main/webapp/less/screen/faux-column.less +++ /dev/null @@ -1,34 +0,0 @@ -/** Faux-Column-Hack-Eigengewächs für die Marginalspalte */ - -.menu #page, -.nomenu #page -{ - max-width: 38em; /** 608px + 390px (Marginalspalte) = ca. 1000px */ - border-right: 24.375em solid @heller; -} -.nomenu #page -{ - border-right-color: @sehrhell; -} -.menu .content, -.nomenu .content -{ - margin-right: -24.375em; -} -.menu #header, -.nomenu #header -{ - margin-right: -24.375em; - background-color: @hintergrund; -} -.menu #breadcrumb, -.nomenu #breadcrumb -{ - right: -24.375em; /** Weil der Breadcrumb sonst an der Faux-Column umbricht! */ -} -.menu #footer, -.nomenu #footer -{ - margin-right: -24.375em; - background-color: @hintergrund; -} diff --git a/src/main/webapp/less/screen/footer-sticky.less b/src/main/webapp/less/screen/footer-sticky.less deleted file mode 100644 index 2ff65bd6..00000000 --- a/src/main/webapp/less/screen/footer-sticky.less +++ /dev/null @@ -1,17 +0,0 @@ -/** Make the footer sticky */ -html, body -{ - height: 100%; -} -#page -{ - position: relative; - min-height: 100%; -} -#footer -{ - position: absolute; - left: 0; - right: 0; - bottom: 0; -} diff --git a/src/main/webapp/less/screen/footer.less b/src/main/webapp/less/screen/footer.less deleted file mode 100644 index 884cfffa..00000000 --- a/src/main/webapp/less/screen/footer.less +++ /dev/null @@ -1,36 +0,0 @@ -#footerlinks -{ - border-top: 1.25em solid @normal; /** 20px */ -} -#footerlinks > li.f -{ - line-height: .6666666667em; /* 20px */ - display: inline-block; - float: none; - margin: .5em 1em 0 0; - color: @normal; - vertical-align: top; -} -#footerlinks > li#copyright -{ - position: absolute; - float: none; - width: auto; - right: .625em; - top: -1em; /** 30px */ - line-height: 1.4em; /* 42px */ - color: @hintergrund; - margin: 0; - font-size: 187.5%; /** 30px */ -} -#footerlinks a.f -{ - color: @normal; - border-color: @normal; -} -#footerlinks a.f:hover -{ - color: @dunkler; - border-color: @dunkler; - border-style: solid; -} diff --git a/src/main/webapp/less/screen/head.less b/src/main/webapp/less/screen/head.less deleted file mode 100644 index f0baa257..00000000 --- a/src/main/webapp/less/screen/head.less +++ /dev/null @@ -1,31 +0,0 @@ -#logo -{ - display: inline-block; - font-size: 812.5%; /* 130px */ - padding: 0; - line-height: 1em; - text-shadow: .092307692em .046153846em 0 @hintergrund; /** 12px 6px */ - z-index: 3; - left: auto; -} -#slogan -{ - display: block; - color: @hintergrund; - background-color: @normal; - font-size: 187.5%; /** 30px */ - line-height: .6666666667em; /* 20px */ - height: .6em; /* 18px */ - padding: .066666667em .066666667em 0 0; /** 2px 2px 0 0 */ - margin-left: 9em; /* 270px */ - position: relative; - z-index: 2; - top: -1.3em; /* 39px */ - text-align: right; - overflow: hidden; -} -#slogan > strong{ - display: inline-block; - position: relative; - top: -.2em; /* -6px */ -} diff --git a/src/main/webapp/less/screen/layout.less b/src/main/webapp/less/screen/layout.less deleted file mode 100644 index 9771f834..00000000 --- a/src/main/webapp/less/screen/layout.less +++ /dev/null @@ -1,192 +0,0 @@ -/** Seite gesamt (Abmessungen, Aussenabstände etc.) */ - -body -{ - padding: 0; - overflow-y: scroll; /** Die vertikale Scroll-Leiste stets anzeigen */ -} -#page -{ - margin: 0 auto; /** Seiteninhalte zentrieren, wenn max-width des Inhalts (s.u.) erreicht ist */ - max-width: 62.375em; /** 608px + 390px (Marginalspalte) = ca. 1000px (muss zu Wergen in faux-columns.less passen!!) */ -} - -/** Seitenaufteilung mit Menü (Zweispaltig) */ - -body -{ - padding: 0 3em 0 5em; -} -.content -{ - position: relative; - padding: 0 0 7.1875em 0; /** Unten: 115px (gemessene Gesamthöhe des Footers - mit Abstand und Margin) */ -} -.menu .content, -.nomenu .content -{ - padding-right: 27em; -} -.content > .main -{ - min-height: 1em; - position: relative; - width: 100%; -} -.menu .content > .main, -.nomenu .content > .main -{ - float: left; -} -.content > .marginal -{ - position: relative; - background-color: @heller; -} -.menu .content > .marginal, -.nomenu .content > .marginal -{ - float: left; - margin: 0 -27em 0 2.625em; - padding: 0 2em 1.0625em 2em; - width: 20.375em; -} - -/** Anpassungen für Seiten ohne Menü */ - -.nomenu .content > .marginal -{ - background-color: @sehrhell; -} - -/** Anpassungen für einspaltige Seiten */ - -.onecolumn .content > .marginal -{ - margin-top: 4em; - background-color: transparent; -} - -/** Seitenkopf positionieren */ - -#header -{ - margin-left: -2.125em; - padding: 1em 0; -} -#header > hr.h -{ - display: none; -} - - -/** Bereichsauswahl positionieren und stylen */ - -.onecolumn #nav -{ - position: absolute; - top: 0; - right: 0; /** Hier eigentlich nicht nötig, aber für Tablet-Style erforderrlich! */ - width: 100%; -} - -#nav > hr.n -{ - display: none; -} -#nav -{ - position: relative; - top: auto; - right: auto; - width: 22.375em; /** 358px = 326px + 32px*/ -} -#menu -{ - position: relative; - width: 200%; - top: -8em; /** 136px */ - right: 100%; - text-align: right; - list-style-type: none; - margin: 0 0 -2.125em 0; /** 0 0 -34px 0 */ - padding: 0; - border-style: none; -} -.onecolumn #menu -{ - top: -15.5625em; /** -249px -- warum auch immer... */ -} -#menu > li.m -{ - display: inline-block; - padding: 0 0 0 4em; -} -#menu > li.m > .m -{ - font-size: 250%; /** 40px */ - color: @normal; -} -#menu > li.m > a.m -{ - border-color: @normal; -} -#menu > li.m > a.m:hover -{ - border-color: @dunkler; -} -#menu > li.m > a.m:hover, -#menu > li.m > strong.m -{ - border-style: solid; -} -#menu > li.m > a.m.selected -{ - color: @normal; -} -#menu > li.m > a.m:hover -{ - color: @dunkler; -} -#menu > li.m > a.m:hover:before, -#menu > li.m > a.m.selected:before, -#menu > li.m > strong.m:before -{ - content: '> '; - margin-left: -.92em; -} - - -/** Breadcrump positionieren */ - -#breadcrumb -{ - position: absolute; - top: 8.375em; - left: 6.9em; - z-index: 3; -} -#breadcrumb > a.hide -{ - position: absolute; -} -#breadcrumb > hr.b -{ - display: none; -} - - -/** Footer positionieren */ - -#footer -{ - padding: 2em 0; -} -.onecolumn #footer -{ - background-color: @hintergrund; -} -#footer > hr.f -{ - display: none; -} diff --git a/src/main/webapp/less/screen/marginal.less b/src/main/webapp/less/screen/marginal.less deleted file mode 100644 index 02fc3cbc..00000000 --- a/src/main/webapp/less/screen/marginal.less +++ /dev/null @@ -1,7 +0,0 @@ -.menu .content > .marginal h1, -.menu .content > .marginal h2, -.menu .content > .marginal h3, -.menu .content > .marginal h4 -{ - color: @hintergrund; -} diff --git a/src/main/webapp/less/screen/menu.less b/src/main/webapp/less/screen/menu.less deleted file mode 100644 index afd9f248..00000000 --- a/src/main/webapp/less/screen/menu.less +++ /dev/null @@ -1,90 +0,0 @@ -#nav > h1.nav, -#nav > h2.nav.menu -{ - display: none; -} -#nav > h2.nav.submenu -{ - font-size: 125%; /** 20px */ - line-height: 1em; /** 20px */ - margin: 1.5em 0 .5em 0; /** 30px 0 10px 0 */ - padding: 0 0 0 1.65em; /** 0 0 0 33px */ - border: none; -} -#nav > h2.nav.submenu:before -{ - content: 'V '; - color: @hintergrund; - margin: 0 .75em 0 -1.7em; /** 0 15em 0 -34px */ -} -#nav > h2.nav.submenu > span.s -{ - display: none; -} -#nav > h2.nav.submenu > a.s -{ - color: @hintergrund; - border-style: dashed; - border-color: @hintergrund; -} -#nav > h2.nav.submenu > a.s:hover, -#nav > h2.nav.submenu > a.s:focus, -#nav > h2.nav.submenu > a.s:active -{ - border-style: solid; -} - -#submenu -{ - font-size: 125%; /** 20 px */ - list-style-type: none; - margin: 1em 0 4em 0; - padding: 0 0 0 1.65em; /** 0 0 0 33px */ - border-style: none; -} -#submenu ul.s -{ - margin: 1em 0 0 0; /** 16px 0 0 0 */ - padding: 0; - list-style-type: none; -} -#submenu li.s -{ - margin: 0 0 .5em 0; /** 0 0 10px 0 */ - padding: 0; -} -#submenu li.s.off -{ - display: none; -} -#submenu li.s > a.s -{ - color: @dunkler; -} -#submenu li.s > a.s.selected, -#submenu li.s > strong.s -{ - color: @hintergrund; - border-color: @hintergrund; -} -#submenu li.s > strong.s -{ - border-bottom: 1px solid @hintergrund; -} -#submenu li.s > a.s.selected:before, -#submenu li.s > a.s:hover:before, -#submenu li.s > a.s:focus:before, -#submenu li.s > a.s:active:before, -#submenu li.s > strong.s:before -{ - content: '> '; - margin: 0 .75em 0 -1.7em; /** 0 15px 0 -34px = Warum auch immer?!? */ -} -#submenu li.s.sub > a.s.selected:before, -#submenu li.s.sub > a.s:hover:before, -#submenu li.s.sub > a.s:focus:before, -#submenu li.s.sub > a.s:active:before, -#submenu li.s.sub > strong.s:before -{ - content: 'V '; -} diff --git a/src/main/webapp/less/screen/onecolumn.less b/src/main/webapp/less/screen/onecolumn.less deleted file mode 100644 index 0114499a..00000000 --- a/src/main/webapp/less/screen/onecolumn.less +++ /dev/null @@ -1,11 +0,0 @@ -.pack > .p.left, -.pack > .p.right, -.pack.bg > .p.left, -.pack.bg > .p.right, -.single, -.single.bg -{ - width: auto; - padding-bottom: 1.5em; - margin: 0 0 1.5em 0; -} diff --git a/src/main/webapp/less/screen/packs.less b/src/main/webapp/less/screen/packs.less deleted file mode 100644 index 8c09844e..00000000 --- a/src/main/webapp/less/screen/packs.less +++ /dev/null @@ -1,37 +0,0 @@ -.pack -{ - overflow: hidden; -} -.pack > .p.left, -.pack > .p.right -{ - width: 42%; - padding: 0 3% 999em 3%; - margin: 0 0 -998em 0; -} -.pack.bg > .p.left, -.pack.bg > .p.right -{ - background-color: @sehrhell; -} -.pack > .p.left -{ - float: left; -} -.pack > .p.right -{ - float: right; -} -.pack > .p img.p -{ - width: 91.9118%; -} -.single -{ - padding: 0 3% 1em 3%; - margin: 3% 0; -} -.single.bg -{ - background-color: @sehrhell; -} diff --git a/src/main/webapp/less/screen/wip.less b/src/main/webapp/less/screen/wip.less deleted file mode 100644 index d9cef58f..00000000 --- a/src/main/webapp/less/screen/wip.less +++ /dev/null @@ -1,25 +0,0 @@ -/** Pages under construction... */ -.wip, -.wip h1, -.wip h2, -.wip h3, -.wip h4, -.wip h5, -.wip h6, -.wip a -{ - color: rgba(128, 128, 128, 0); - text-decoration: none; - border-color: rgba(128, 128, 128, 0); - text-shadow: 0 0 6px #404040; -} -.wip -{ - position: relative; -} -.wip img.w -{ - margin-top: 30%; - position: absolute; - width: 100%; -} diff --git a/src/main/webapp/less/tablet/404.less b/src/main/webapp/less/tablet/404.less deleted file mode 100644 index 4cd1fe50..00000000 --- a/src/main/webapp/less/tablet/404.less +++ /dev/null @@ -1,25 +0,0 @@ -.withbackground .content -{ - position: relative; - top: auto; - bottom: auto; - left: auto; - rigth: auto; -} -#bs3 -{ - display: none; -} -#bs5 -{ - left: auto; - right: 13%; -} -#bs7 -{ - bottom: 21%; -} -#bs8 -{ - display: none; -} diff --git a/src/main/webapp/less/tablet/footer.less b/src/main/webapp/less/tablet/footer.less deleted file mode 100644 index 2541618b..00000000 --- a/src/main/webapp/less/tablet/footer.less +++ /dev/null @@ -1,82 +0,0 @@ -.menu #footer > #footerlinks -{ - position: static; - border-style: none; - margin: 3.75em 0 0 2em; -} -.menu #footer > #footerlinks > li.f -{ - line-height: 1em; - display: block; - margin: 0 0 .25em 0; - color: @hintergrund; -} -.menu #footer > #footerlinks > li#copyright -{ - line-height: 1em; - font-size: 137.5%; - top: auto; - bottom: 0; - left: 0; - right: 0; - padding: 0 2.18181818em 1.5em; /* ? 3*16px ? */ - @media (max-width: (@maxsmalltablet)) - { - padding-right: 1.45454545em; - padding-bottom: 1em; - } - @media (max-width: (@maxsmallertablet)) - { - padding-right: .72727272em; - padding-bottom: .5em; - } - background-color: @heller; - text-align: right; -} -.menu #footer > #footerlinks a.f -{ - color: @hintergrund; - border-color: @hintergrund; -} -.menu #footer > #footerlinks a.f:hover -{ - color: @hintergrund; - border-color: @hintergrund; - border-style: solid; -} - - -.nomenu #footer > #footerlinks, -.onecolumn #footer > #footerlinks -{ - position: static; - margin: -.125em; - padding-top: 1.5em; - @media (max-width: (@maxsmalltablet)) - { - padding-top: 1em; - } - @media (max-width: (@maxsmallertablet)) - { - padding-top: .5em; - } - border-top: .125em solid @hintergrund; - > li.f - { - line-height: 1em; - margin: 0 1em 0 0; - padding: 0; - } - li.f > a.f - { - color: @hintergrund; - border-color: @hintergrund; - } - li#copyright - { - position: static; - float: right; - font-size: 137.5%; - margin: 0; - } -} diff --git a/src/main/webapp/less/tablet/head.less b/src/main/webapp/less/tablet/head.less deleted file mode 100644 index 2a6da915..00000000 --- a/src/main/webapp/less/tablet/head.less +++ /dev/null @@ -1,24 +0,0 @@ -@media (max-width: (@maxsmalltablet)) -{ - #logo - { - font-size: 650%; /* 104px */ - } - #slogan - { - font-size: 150%; /** 24px */ - } -} - -@media (max-width: (@maxsmallertablet)) -{ - #logo - { - font-size: 487.5%; /* 78px */ - } - #slogan - { - font-size: 112.5%; /** 18px */ - } -} - diff --git a/src/main/webapp/less/tablet/layout.less b/src/main/webapp/less/tablet/layout.less deleted file mode 100644 index c63f9239..00000000 --- a/src/main/webapp/less/tablet/layout.less +++ /dev/null @@ -1,280 +0,0 @@ -/** Seite gesamt (Abmessungen, Aussenabstände etc.) */ - -body -{ - padding: 0; -} -#page -{ - overflow: hidden; -} -.nomenu #page -{ - padding: 0; -} - - -/** Seitenaufteilung mit/ohne Menü für Tablets optimieren */ - -.menu .content -{ - padding: 0; -} -.nomenu .content -{ - padding: 0 0 5em 0; - @media (max-width: (@maxsmalltablet)) - { - padding-bottom: 4em; - } - @media (max-width: (@maxsmallertablet)) - { - padding-bottom: 3.25em; - } -} -.content.cf:before, -.content.cf:after -{ - clear: none; - content: none; - display: inline; -} -.menu .content > .main, -.nomenu .content > .main, -.onecolumn .content > .main -{ - float: none; - width: auto; - padding: 0 3em 0 5em; - @media (max-width: (@maxsmalltablet)) - { - padding: 0 2em 0 3em; - } - @media (max-width: (@maxsmallertablet)) - { - padding: 0 1em 0 2.5em; - } - /** Die 1px-Rahmen triggern, dass das erste Margin den Footer aufschiebt. - Bei einem Wert von 0 ragt dieses Margin dann einfach aus dem Footer - heraus... */ - border-top: 1px solid @hintergrund; - border-bottom: 1px solid @hintergrund; -} -.menu .content > .marginal, -.nomenu .content > .marginal, -.onecolumn .content > .marginal -{ - position: static; - width: 100%; -} -.menu .content > .marginal -{ - margin: 3em 0 -994em -15em; - padding: 2em 0 999em 0; -} -.nomenu .content > .marginal -{ - margin: 3em 0 -994em 0; - padding: 0 0 999em 0; - background-color: transparent; -} -.onecolumn .content > .marginal -{ - margin: 6.5em 0 -1001.175em 0; - padding: 0 0 999em 0; - background-color: transparent; -} - - -/** Seitenkopf positionieren */ - -#header -{ - padding: 1em 3em 2em 5em; - @media (max-width: (@maxsmalltablet)) - { - margin-left: -1.5em; - padding: .5em 2em 2em 3em; - } - @media (max-width: (@maxsmallertablet)) - { - margin-left: -1.2em; - padding: 1em 1em 2em 2.5em; - } -} - - -/** Bereichsauswahl positionieren */ - -.menu #nav -{ - position: static; - border-right: .125em solid @hintergrund; - margin-left: 20em; - @media (max-width: (@maxsmalltablet)) - { - margin-left: 18.5em; - } - @media (max-width: (@maxsmallertablet)) - { - margin-left: 17.5em; - #menu > li.about - { - display: inline-block; - } - } - width: auto; -} -.nomenu #nav -{ - position: absolute; - top: 0; - right: 0; /** Hier eigentlich nicht nötig, aber für Tablet-Style erforderrlich! */ - width: 100%; -} - -.menu #menu, -.nomenu #menu, -.onecolumn #menu -{ - position: absolute; - width: auto; - top: -9em; - right: 3em; - @media (max-width: (@maxsmalltablet)) - { - top: -7.7em; - right: 2em; - } - @media (max-width: (@maxsmallertablet)) - { - top: -6.5em; - right: 1em; - } -} -#menu > li.about -{ - display: none; -} -#menu > li.m -{ - @media (max-width: (@maxsmalltablet)) - { - padding: 0 0 0 3em; - } - @media (max-width: (@maxsmallertablet)) - { - padding: 0 0 0 2em; - } -} -#menu > li.m > .m -{ - @media (max-width: (@maxsmalltablet)) - { - font-size: 200%; /* 32px */ - } - @media (max-width: (@maxsmallertablet)) - { - font-size: 150%; /* 24px */ - } -} -#menu > li.m > a.m:hover:before, -#menu > li.m > a.m.selected:before, -#menu > li.m > strong.m:before -{ - @media (max-width: (@maxsmalltablet)) - { - content: '> '; - margin-left: -.95em; - } - @media (max-width: (@maxsmallertablet)) - { - } -} - - -/** Footer positionieren */ - -.menu #footer -{ - position: static; - float: right; - margin: 3em 0 -999em -15em; - padding: 0 0 999em 0; - width: 15em; - background-color: @heller; -} -.nomenu #footer, -.onecolumn #footer -{ - padding: 0 3em 1.5em 5em; - @media (max-width: (@maxsmalltablet)) - { - padding: 0 2em 1em 3em; - } - @media (max-width: (@maxsmallertablet)) - { - padding: 0 1em .75em 2.5em; - } - background-color: @heller; - border-style: none; -} - - -/** Breadcrump positionieren */ - -.menu #breadcrumb, -.nomenu #breadcrumb, -.onecolumn #breadcrumb -{ - left: 11.9em; - right: 3em; - @media (max-width: (@maxsmalltablet)) - { - font-size: 87.5%; /* 14px */ - top: 7.2em; - left: 9.8em; - } - @media (max-width: (@maxsmallertablet)) - { - top: 5.8em; - left: 7em; - } -} - - -/** Faux-Column-Hack für Marginalinhalte */ - -.nomenu .content > .marginal aside.m, -.onecolumn .content > .marginal aside.m -{ - margin: 3.5em 0 -999em 0; - padding: 2em 3em 995em 5em; - background-color: @heller; - position: relative; - top: -4.5em; - @media (max-width: (@maxsmalltablet)) - { - padding-left: 3em; - padding-right: 2em; - } - @media (max-width: (@maxsmallertablet)) - { - padding-left: 2.5em; - padding-right: 1em; - } -} -.menu .content > .marginal > aside.m -{ - margin: 0 -12em 1em 20em; - @media (max-width: (@maxsmalltablet)) - { - margin-left: 18.5em; - margin-right: -13em; - } - @media (max-width: (@maxsmallertablet)) - { - margin-left: 17.5em; - margin-right: -14em; - } -} diff --git a/src/main/webapp/less/tablet/marginal.less b/src/main/webapp/less/tablet/marginal.less deleted file mode 100644 index 576c4e1f..00000000 --- a/src/main/webapp/less/tablet/marginal.less +++ /dev/null @@ -1,11 +0,0 @@ -.nomenu .content > .marginal h1, -.onecolumn .content > .marginal h1, -.nomenu .content > .marginal h2, -.onecolumn .content > .marginal h2, -.nomenu .content > .marginal h3, -.onecolumn .content > .marginal h3, -.nomenu .content > .marginal h4, -.onecolumn .content > .marginal h4 -{ - color: @hintergrund; -} diff --git a/src/main/webapp/less/tablet/menu.less b/src/main/webapp/less/tablet/menu.less deleted file mode 100644 index 85ad92fe..00000000 --- a/src/main/webapp/less/tablet/menu.less +++ /dev/null @@ -1,4 +0,0 @@ -#submenu -{ - padding-right: 1em; -} diff --git a/src/main/webapp/less/tablet/typo.less b/src/main/webapp/less/tablet/typo.less deleted file mode 100644 index 6bf6dffc..00000000 --- a/src/main/webapp/less/tablet/typo.less +++ /dev/null @@ -1,8 +0,0 @@ -@media (max-width: (@maxsmalltablet)) -{ - h1 - { - font-size: 150%; /** 24 px */ - } -} - diff --git a/src/main/webapp/less/tiny/404.less b/src/main/webapp/less/tiny/404.less deleted file mode 100644 index 3830a8f2..00000000 --- a/src/main/webapp/less/tiny/404.less +++ /dev/null @@ -1,19 +0,0 @@ -.withbackground .content > .marginal -{ - border-top: .166666666666em solid @hintergrund; /** 2px */ -} -#bs1 -{ - top: -2%; - left: 57%; -} -#bs2, -#bs6 -{ - display: none; -} -#bs7 -{ - top: 32%; - left: 46%; -} diff --git a/src/main/webapp/less/tiny/layout.less b/src/main/webapp/less/tiny/layout.less deleted file mode 100644 index dcef10cc..00000000 --- a/src/main/webapp/less/tiny/layout.less +++ /dev/null @@ -1,78 +0,0 @@ -body -{ - font-size: 75%; /** 12px */ -} -#header -{ - margin: .25em .5em 1em 1em; -} -#nav:target -{ - padding-left: 0.5em; - padding-right: 0.5em; -} -#breadcrumb, -#nav:target > a.hide -{ - top: .5em; - right: .5em; -} -.content > .main, -#footer -{ - margin: 0; - padding: 0 .5em; -} -.content > .marginal -{ - padding: 1em .5em 999em .5em; - margin-bottom: -991em; -} - -@media (max-width: 210px) -{ - #header - { - font-size: 75%; - } - #nav:target - { - padding-top: 0; - } - #breadcrumb, - #nav:target > a.hide - { - top: .1em; - right: .3em; - } - #breadcrumb > a.hide:before, - #nav:target > a.hide:before - { - font-size: 300%; /** Vielfaches von 12px */ - } -} -@media (max-width: 150px) -{ - #header - { - font-size: 50%; - } - #header > hr.h - { - display: block; - } - #slogan - { - display: none; - } - #breadcrumb, - #nav:target > a.hide - { - top: .2em; - } - #breadcrumb > a.hide:before, - #nav:target > a.hide:before - { - font-size: 264%; /** Vielfaches von 12px */ - } -} diff --git a/src/main/webapp/less/variables.less b/src/main/webapp/less/variables.less deleted file mode 100644 index cae170ca..00000000 --- a/src/main/webapp/less/variables.less +++ /dev/null @@ -1,42 +0,0 @@ -/** Farb-Thema */ - -@normal: #0ACF00; -@dunkel: #2D9B27; -@dunkler: #078600; -@nochdunkler: #077600; -@hell: #42E73A; -@heller: #6EE768; -@sehrhell: #CEF7C8; - -@schrift: #000; -@schrifthell: tint(@schrift, 45%); - -@hintergrund: #FFF; - -@fehler: #e60000; -@fehlerhell: tint(@fehler, 70%); - - -/** Bildschirmbreiten für Media-Query */ - -@minscreen: 580px; -@mindesktop: 940px; -@maxtablet: @mindesktop - 1; -@maxsmalltablet: 800px; -@maxsmallertablet: 700px; -@maxphone: 579px; -@minphone: 300px; -@maxtiny: 299px; - -/** Schriften */ - -.droid () -{ - font-family: 'DroidSerif', 'Times New Roman', 'Palatino Linotype' , serif; -} - -.bpreplay () -{ - font-family: 'BPreplay', Helvetica, Arial, sans-serif; - font-weight: bold; -} diff --git a/src/main/webapp/thymeleaf/404.html b/src/main/webapp/thymeleaf/404.html deleted file mode 100644 index 6c22532b..00000000 --- a/src/main/webapp/thymeleaf/404.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - 404: Page not found - - -
    -

    We do not know, where you are.

    -

    And we do not know, why you are here.

    -

    But we can tell you: WE ARE SORRY!

    -

    Really.

    -
    - - diff --git a/src/main/webapp/thymeleaf/about.html b/src/main/webapp/thymeleaf/about.html deleted file mode 100644 index ad290d5e..00000000 --- a/src/main/webapp/thymeleaf/about.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - About - - - - -
      -
    1. Home
    2. -
    3. About
    4. -
    - -
    -

    About

    -

    - is the place, where I collect and share - my more or less private projects. - It is a lab for experiments, that help me to do my job as a freelancer - at the desired level of quality. - Here, I can play with all the fancy new stuff, that might be a little - bit to much bleeding edge, to be used on a production site of a paying - client. -

    -

    - I decided to share all this stuff, because I am always learning a lot - from the internet-community. - I wanted to give back a little and try to help and teach others, as I - was helped and teached. - Also, this is a good oportunity, to show what I am doing and to do a - little self-publicity... -

    -

    - mainly consists of two parts: -

    -
      -
    • - In the blog, I summarize, how I solved - some every-day problems, other people might stumble across too. - I am introducing new projects there and announcing new versions and/or - bugfixes to older projects. -
    • -
    • - The other part of the site is the - projects-section. - This is where I am hosting all projects, that I have made publicy - available. -
    • -
    -

    - If you want to hire me, you can find out more on the - contact-page. - If you are not yet sure, if you want to hire me, you might be - interessted in - what I can do for you, or - what I have already done for others. -

    -
    - - - diff --git a/src/main/webapp/thymeleaf/agb.html b/src/main/webapp/thymeleaf/agb.html deleted file mode 100644 index 03b04935..00000000 --- a/src/main/webapp/thymeleaf/agb.html +++ /dev/null @@ -1,193 +0,0 @@ - - - - Allgemeine Geschäftsbedingungen (AGB) - - - - -
      -
    1. Home
    2. -
    3. Impressum
    4. -
    5. AGB
    6. -
    - -
    -

    Allgemeine Geschäftsbedingungen (AGB)

    -

    Stand: 01.02.2014

    -

    Angebote & Abrechnung

    -

    - Angebote sind freibleibend. - Alle Preise verstehen sich in Euro und zzgl. der gesetzl. MwSt. - Wenn nicht anders vereinbart erfolgt eine Anzahlung von 10% im Voraus. - Sollte sich der Zeitraum über den Leistungen erbracht werden über - mehrere Monate erstrecken, behalte ich mir vor, Rechnungen für - Leistungsabschnitte zu stellen (jedoch nicht häufiger als ein mal im - Monat). - Das Zahlungsziel beträgt 8 Tage. -

    -

    - Falls nicht anders vereinbart, ist bei Dienstleistungen eine - Korrekturschleife enthalten. - Darüber hinausgehende Überarbeitungen sowie gewünschte Zusatzleistungen - werden nach Aufwand per Stundensatz abgerechnet. - Sollte für den Auftrag ein rabattierter Stundensatz vereinbart worden - sein, so gilt dieser nicht automatisch für Überarbeitungen und - Zusatzleistungen. -

    -

    Absprachen

    -

    - Die zentralen Ansprechpartner des Kunden müssen verbindliche - Erklärungen abgeben können (z. B. Fristabsprachen, Abnahmen). - Bei Ausfall, Urlaub etc. sind Ersatzpersonen zu benennen. -

    -

    Leistungen & Abnahme

    -

    - Der Kunde ist in der Pflicht, erbrachte Leitungen direkt nach deren - Erstellung und ohne Aufforderung rechtzeitig (z.B. vor - Veröffentlichung) zu prüfen und Änderungswünsche oder Korrekturhinweise - direkt mitzuteilen. - Die Annahme von Leistungen ohne Beanstandung ist als Abnahme zu - verstehen. -

    -

    - Ich bin zu jeder Zeit berechtigt, die Arbeit in sinnvollen - Teilleistungen zu erbringen und zu berechnen. - Der Kunde ist verpflichtet, diese Teilleistungen abzunehmen. -

    -

    - Im Rahmen der Gestaltungsspielräume des Briefings vom Kunden trägt der - Kunde das Risiko des Nichtgefallens. -

    -

    Eigenleistungen

    -

    - Sofern der Kunde Eigenleistungen erbringt, ist die termingerechte - Lieferung für den Gesamtzeitplan relevant. - Bei verspäteter Lieferung bin ich nicht dazu verpflichtet, die - Auftragsarbeit unverzüglich fortzusetzen, wenn ich durch andere - terminliche Verpflichtungen daran gehindert werde. - Verzögerungen auf Kundenseite können zu erheblichen Gesamtverzögerungen - führen. - Für dadurch entstandenen Schaden und entgangenen Gewinn haftet der Kunde. -

    -

    - Der Kunde berücksichtigt bei der Lieferung von Daten und Materialien - die von mir im Rahmen des Angebots geforderten Formate. -

    -

    - Sofern Angaben, Muster, Inhalte, usw. vom Kunden geliefert werden, bin - ich für deren Richtigkeit und rechtliche Unbedenklichkeit nicht - verantwortlich. - Eine Prüfungspflicht besteht auf meiner Seite nicht. -

    -

    Fremdleistungen

    -

    - Angebote beziehen sich in der Regel auf von mir erbrachte Dienstleistung. - Die Kosten oder Gebühren Dritter (z.B. Provider, Lizenzen für Bild, Ton, - Schrift oder Software, Druckerei usw.) sind nicht enthalten, falls nicht - explizit erwähnt. -

    -

    - Bei Beauftragung von Fremdleistungen jedweder Art, berechne ich, falls - nicht anders vereinbart, eine Abwicklungspauschale in Höhe von 15% des - Auftragswerts für Organisation und Abstimmung. -

    -

    Nutzungsrechte

    -

    - An Unterlagen, die im Rahmen des Angebots übergeben werden (z.B. - Entwürfe, Konzepte), erhält der Kunde keine Nutzungsrechte. - Der Kunde erhält die vereinbarten Nutzungsrechte nur bei pünktlicher - und vollständiger Zahlung der vereinbarten Vergütung. -

    -

    - Eingesetzte Systeme (z.B. Springframework, Tomcat, CentOS usw.) - unterliegen ihren eigenen Nutzungsbestimmungen. -

    -

    Rechtliche Prüfung

    -

    - Ohne gesonderte Vereinbarung ist die patent-, muster-, urheber- und - markenrechtliche Schutz- oder Eintragungsfähigkeit der im Rahmen des - Vertrages gelieferten Ideen, Konzeptionen, Entwürfe und sonstiger - Leistungen nicht geschuldet. -

    -

    Höhere Gewalt

    -

    - Leistungsverzögerungen aufgrund von Umständen im Verantwortungsbereich - des Kunden (z.B. verspätete Anlieferung) und höherer Gewalt (z.B. Unfall, - Telekommunikationsstörung usw.) habe ich nicht zu vertreten. - Sie berechtigen mich das Erbringen der betreffenden Leistungen um die - Dauer der Behinderungen zzgl. einer angemessenen Anlaufzeit - aufzuschieben. -

    -

    Archivierung

    -

    - Ich bin nicht verpflichtet, erstellte Leistungen zu archivieren. - Unterlagen des Kunden muss ich nur dann zurückgeben, wenn dies der Kunde - vor der Übergabe ausdrücklich verlangt hat. -

    -

    Betreuung / Support / Wartung

    -

    - Ich bin nur in der in der Servicevereinbarung besprochenen Weise für die - für eine aktive Betreuung, Support oder Wartung (z.B. Sicherheitsupdates, Aktualitätsprüfungen usw.) verantwortlich. -

    -

    Referenzen

    -

    - Innerhalb der erstellten Leistung werde ich in branchenüblicher Form als - Leistungserbrinnger genannt (z.B. Impressum). -

    -

    - Ich bin berechtigt, den Kunden als Referenz zu benennen und das Projekt - öffentlich vorzustellen. - Der Kunde kann dagegen jederzeit schriftlich Widerspruch erheben. - Widerruft der Kunde seine Zustimmung, so bin ich berechtigt, erstellte - Werbe-Materialien weiter zu benutzen, verpflichte mich jedoch, keine - weiteren, Werbe-Materialien zu erstellen, die den Kunden nennen. -

    -

    Geheimhaltung

    -

    - Die Vertragsparteien vereinbaren Vertraulichkeit über Vertrag und - Erkenntnisse der jeweils anderen Partei. - Die Vertraulichkeit gilt auch über die Beendigung des - Vertragsverhältnisses hinaus. -

    -

    Schlussbestimmungen

    -

    - Erfüllungsort und ausschließlicher Gerichtsstand für alle - Rechtsstreitigkeiten ist Münster. -

    -

    - Sollten aus irgendeinem Grund eine oder mehrere Einzelbestimmungen - dieser AGB unwirksam sein, so bleibt die Gültigkeit der restlichen - Bestimmungen davon unberührt. -

    -

    - Regelungslücken dieser AGB werden durch Auslegung so gefüllt, dass sie - dem wirtschaftlichen Zweck des Vertrages Rechnung tragen. -

    -
    - - - diff --git a/src/main/webapp/thymeleaf/blog.html b/src/main/webapp/thymeleaf/blog.html deleted file mode 100644 index c67391d1..00000000 --- a/src/main/webapp/thymeleaf/blog.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - Blog - - - - -
      -
    1. Home
    2. -
    3. Blog
    4. -
    - -
    - - - - - - - - -
    -
    - -
    -
    -
    -
      -
    - - diff --git a/src/main/webapp/thymeleaf/blog/article.html b/src/main/webapp/thymeleaf/blog/article.html deleted file mode 100644 index db33ff39..00000000 --- a/src/main/webapp/thymeleaf/blog/article.html +++ /dev/null @@ -1,329 +0,0 @@ - - - - juplo - blog - Combining jetty-maven-plugin and wro4j-maven-plugin for Dynamic Reloading of LESS-Resources - - - - -
      -
    1. Home
    2. -
    3. Blog
    4. -
    - -
    -
    -
    -

    Combining jetty-maven-plugin and wro4j-maven-plugin for Dynamic Reloading of LESS-Resources

    - -
    -
    -

    Ever searched for a simple configuration, that lets you use your jetty-maven-plugin as you are used to, while working with LESS to simplify your stylesheets?

    -

    You cannot do both, use the Client-side mode of LESS to ease development and use the lesscss-maven-plugin to automatically compile the LESS-sources into CSS for production. That does not work, because your stylesheets must be linked in different ways if you are switching between the client-side mode – which is best for development – and the pre-compiled mode – which is best for production. For the client-side mode you need something like:

    -
    -  
    -  <link rel="stylesheet/less" type="text/css" href="styles.less" />
    -  <script src="less.js" type="text/javascript"></script>
    -  
    -          
    -

    While, for the pre-compiled mode, you want to link to your stylesheets as usual, with:

    -
    -  
    -  <link rel="stylesheet" type="text/css" href="styles.css" />
    -  
    -          
    -

    While looking for a solution to this dilemma, I stumbled accross wro4j. Originally intended, to speed up page-delivery by combining and minimizing multiple resources into one through the use of a servlet-filter, this tool also comes with a maven-plugin, that let you do the same offline, while compiling your webapp.

    -

    The idea is, to use the wro4j-maven-plugin to compile and combine your LESS-sources into CSS for production and to use the wro4j filter, to dynamically deliver the compiled CSS while developing. This way, you do not have to alter your HTML-code, when switching between development and production, because you always link to the CSS-files.

    -

    So, lets get dirty!

    -

    Step 1: Configure wro4j

    -

    First, we configure wro4j, like as we want to use it to speed up our page. The details are explained and linked on wro4j’s Getting-Started-Page. In short, we just need two files: wro.xml and wro.properties.

    -

    wro.xml

    -

    wro.xml tells wro4j, which resources should be combined and how the result should be named. I am using the following configuration to generate all LESS-Sources beneath base/ into one CSS-file called base.css:

    -
    -  
    -  <groups xmlns="http://www.isdc.ro/wro">
    -    <group name="base">
    -      <css>/less/base/*.less</css>
    -    </group>
    -  
    -          
    -

    wro4j looks for /less/base/*.less inside the root of the web-context, which is equal to src/main/webapp in a normal maven-project. There are other ways to specifie the resources, which enable you to store them elswhere. But this approach works best for our goal, because the path is understandable for both: the wro4j servlet-filter, we are configuring now for our development-environment, and the wro4j-maven-plugin, that we will configure later for build-time compilation.

    -

    wro.properties

    -

    wro.properties in short tells wro4j, how or if it should convert the combined sources and how it should behave. I am using the following configuration to tell wro4j, that it should convert *.less-sources into CSS and do that on every request:

    -
    -  
    -  preProcessors=less4j
    -  disableCache=true
    -  
    -          
    -

    You can do a lot more here. There are countless configuration options to fine-tune the behaviour of wro4j. The disableCache=true is crucial, because we would not see the changes take effect when developing with jetty-maven-plugin later on. You can also do much more with your resources here, for example minimizing. But for our goal, we are now only intrested in the compilation of our LESS-sources.

    -

    Step 2: Configure the wro4j servlet-filter

    -

    Configuring the filter in the web.xml is easy. It is explained in wro4j’s installation-insctuctions. But the trick is, that we do not want to configure that filter for the production-version of our webapp, because we want to compile the resources offline, when the webapp is build. To acchieve this, we can use the <overrideDescriptor>-Parameter of the jetty-maven-plugin.

    -

    <overrideDescriptor>

    -

    This parameter lets you specify additional configuration options for the web.xml of your webapp. I am using the following configuration for my jetty-maven-plugin:

    -
    -  
    -  <plugin>
    -    <groupId>org.eclipse.jetty</groupId>
    -    <artifactId>jetty-maven-plugin</artifactId>
    -    <configuration>
    -      <webApp>
    -        <overrideDescriptor>${project.basedir}/src/test/resources/jetty-web.xml</overrideDescriptor>
    -      </webApp>
    -    </configuration>
    -    <dependencies>
    -      <dependency>
    -        <groupId>ro.isdc.wro4j</groupId>
    -        <artifactId>wro4j-core</artifactId>
    -        <version>${wro4j.version}</version>
    -      </dependency>
    -      <dependency>
    -        <groupId>ro.isdc.wro4j</groupId>
    -        <artifactId>wro4j-extensions</artifactId>
    -        <version>${wro4j.version}</version>
    -        <exclusions>
    -          <exclusion>
    -              <groupId>javax.servlet</groupId>
    -              <artifactId>servlet-api</artifactId>
    -          </exclusion>
    -          <exclusion>
    -              <groupId>org.apache.commons</groupId>
    -              <artifactId>commons-lang3</artifactId>
    -          </exclusion>
    -          <exclusion>
    -              <groupId>commons-io</groupId>
    -              <artifactId>commons-io</artifactId>
    -          </exclusion>
    -          <exclusion>
    -              <groupId>commons-pool</groupId>
    -              <artifactId>commons-pool</artifactId>
    -          </exclusion>
    -          <exclusion>
    -              <groupId>org.springframework</groupId>
    -              <artifactId>spring-web</artifactId>
    -          </exclusion>
    -          <exclusion>
    -              <groupId>com.google.code.gson</groupId>
    -              <artifactId>gson</artifactId>
    -          </exclusion>
    -          <exclusion>
    -              <groupId>com.google.javascript</groupId>
    -              <artifactId>closure-compiler</artifactId>
    -          </exclusion>
    -          <exclusion>
    -              <groupId>com.github.lltyk</groupId>
    -              <artifactId>dojo-shrinksafe</artifactId>
    -          </exclusion>
    -          <exclusion>
    -              <groupId>org.jruby</groupId>
    -              <artifactId>jruby-core</artifactId>
    -          </exclusion>
    -          <exclusion>
    -            <groupId>org.jruby</groupId>
    -            <artifactId>jruby-stdlib</artifactId>
    -          </exclusion>
    -          <exclusion>
    -              <groupId>org.jruby</groupId>
    -              <artifactId>jruby-stdlib</artifactId>
    -          </exclusion>
    -          <exclusion>
    -              <groupId>me.n4u.sass</groupId>
    -              <artifactId>sass-gems</artifactId>
    -          </exclusion>
    -          <exclusion>
    -              <groupId>nz.co.edmi</groupId>
    -              <artifactId>bourbon-gem-jar</artifactId>
    -          </exclusion>
    -          <exclusion>
    -              <groupId>org.codehaus.gmaven.runtime</groupId>
    -              <artifactId>gmaven-runtime-1.7</artifactId>
    -          </exclusion>
    -          <exclusion>
    -              <groupId>org.webjars</groupId>
    -              <artifactId>jshint</artifactId>
    -          </exclusion>
    -          <exclusion>
    -              <groupId>org.webjars</groupId>
    -              <artifactId>less</artifactId>
    -          </exclusion>
    -          <exclusion>
    -              <groupId>org.webjars</groupId>
    -              <artifactId>emberjs</artifactId>
    -          </exclusion>
    -          <exclusion>
    -              <groupId>org.webjars</groupId>
    -              <artifactId>handlebars</artifactId>
    -          </exclusion>
    -          <exclusion>
    -              <groupId>org.webjars</groupId>
    -              <artifactId>coffee-script</artifactId>
    -          </exclusion>
    -          <exclusion>
    -              <groupId>org.webjars</groupId>
    -              <artifactId>jslint</artifactId>
    -          </exclusion>
    -          <exclusion>
    -              <groupId>org.webjars</groupId>
    -              <artifactId>json2</artifactId>
    -          </exclusion>
    -          <exclusion>
    -              <groupId>org.webjars</groupId>
    -              <artifactId>jquery</artifactId>
    -          </exclusion>
    -        </exclusions>
    -      </dependency>
    -    </dependencies>
    -  </plugin>
    -  
    -          
    -

    The dependencies to wro4j-core and wro4j-extensions are needed by jetty, to be able to enable the filter defined below. Unfortunatly, one of the transitive dependencies of wro4j-extensions triggers an uggly error when running the jetty-maven-plugin. Therefore, all unneeded dependencies of wro4j-extensions are excluded, as a workaround for this error/bug.

    -

    jetty-web.xml

    -

    And my jetty-web.xml looks like this:

    -
    -  
    -  <?xml version="1.0" encoding="UTF-8"?>
    -  <web-app xmlns="http://java.sun.com/xml/ns/javaee"
    -    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    -    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    -    version="2.5">
    -    <filter>
    -      <filter-name>wro</filter-name>
    -      <filter-class>ro.isdc.wro.http.WroFilter</filter-class>
    -    </filter>
    -    <filter-mapping>
    -      <filter-name>wro</filter-name>
    -      <url-pattern>*.css</url-pattern>
    -    </filter-mapping>
    -  </web-app>
    -  
    -          
    -

    The filter processes any URI’s that end with .css. This way, the wro4j servlet-filter makes base.css available under any path, because for exampl /base.css, /css/base.css and /foo/bar/base.css all end with .css.

    -

    This is all, that is needed to develop with dynamically reloadable compiled LESS-resources. Just fire up your browser and browse to /what/you/like/base.css. (But do not forget to put some LESS-files in src/main/webapp/less/base/ first!)

    -

    Step 3: Install wro4j-maven-plugin

    -

    All that is left over to configure now, is the build-process. If you would build and deploy your webapp now, the CSS-file base.css would not be generated and the link to your stylesheet, that already works in our jetty-maven-plugin environment would point to a 404. Hence, we need to set up the wro4j-maven-plugin. I am using this configuration:

    -
    -  
    -  <plugin>
    -    <groupId>ro.isdc.wro4j</groupId>
    -    <artifactId>wro4j-maven-plugin</artifactId>
    -    <version>${wro4j.version}</version>
    -    <configuration>
    -      <wroManagerFactory>ro.isdc.wro.maven.plugin.manager.factory.ConfigurableWroManagerFactory</wroManagerFactory>
    -      <cssDestinationFolder>${project.build.directory}/${project.build.finalName}/css/</cssDestinationFolder>
    -    </configuration>
    -    <executions>
    -      <execution>
    -        <phase>package</phase>
    -        <goals>
    -          <goal>run</goal>
    -        </goals>
    -      </execution>
    -    </executions>
    -  </plugin>
    -  
    -          
    -

    I connected the run-goal with the package-phase, because the statically compiled CSS-file is needed only in the final war. The ConfigurableWroManagerFactory tells wro4j, that it should look up further configuration options in our wro.properties-file, where we tell wro4j, that it should compile our LESS-resources. The <cssDestinationFolder>-tag tells wro4j, where it should put the generated CSS-file. You can adjust that to suite your needs.

    -

    That’s it: now the same CSS-file, which is created on the fly by the wro4j servlet-filter when using mvn jetty:run and, thus, enables dynamic reloading of our LESS-resources, is generated during the build-process by the wro4j-maven-plugin.

    -

    Cleanup and further considerations

    -

    lesscss-maven-plugin

    -

    If you already compile your LESS-resources with the lesscss-maven-plugin, you can stick with it and skip step 3. But I strongly recommend giving wro4j-maven-plugin a try, because it is a much more powerfull tool, that can speed up your final webapp even more.

    -

    Clean up your mess

    -

    With a configuration like the above one, your LESS-resources and wro4j-configuration-files will be packed into your production-war. That might be confusing later, because neither wro4j nor LESS is used in the final war. You can add the following to your pom.xml to exclude these files from your war for the sake of clarity:

    -
    -  
    -  <plugin>
    -    <artifactId>maven-war-plugin</artifactId>
    -    <configuration>
    -      <warSourceExcludes>
    -        WEB-INF/wro.*,
    -        less/**
    -      </warSourceExcludes>
    -    </configuration>
    -  </plugin>
    -  
    -          
    -

    What’s next?

    -

    We only scrached the surface, of what can be done with wro4j. Based on this configuration, you can easily enable additional features to fine-tune your final build for maximum speed. You really should take a look at the list of available Processors!

    -
    - -
    - - -
    -

    Leave a Reply

    - -
    -

    Logged in as Kai Moritz. Log out »

    - -

    -

    - - -

    - -

    -
    -
    -
    - - - diff --git a/src/main/webapp/thymeleaf/blog/comments.html b/src/main/webapp/thymeleaf/blog/comments.html deleted file mode 100644 index 73b340a0..00000000 --- a/src/main/webapp/thymeleaf/blog/comments.html +++ /dev/null @@ -1,498 +0,0 @@ - - - - juplo - blog - hibernate4-maven-plugin - - - - -
      -
    1. Home
    2. -
    3. Blog
    4. -
    - -
    -
    -
    -

    hibernate4-maven-plugin

    - -
    -
    -

    A simple Plugin for generating a Database-Schema from Hibernate 4 Mapping-Annotations

    -

    - Hibernate comes with the buildin functionality, to automatically create or update the database schema. This functionality is configured in the session-configuraton via the parameter hbm2ddl.auto (see Hibernate Reference Documentation – Chapter 3.4. Optional configuration properties). But doing so is not very wise, because you can easily corrupt or erase your production database, if this configuration parameter slips through to your production environment. -

    -

    - Alternatively, you can run the tools SchemaExport or SchemaUpdate by hand. But that is not very comfortable and being used to maven you will quickly long for a plugin, that does that job automatically for you, when you fire up your test cases. -

    -

    In the good old times, there was the Maven Hibernate3 Plugin, that does this for you. But unfortunatly, this plugin is not compatible with Hibernate 4.x. Since there does not seem to be any successor for the Maven Hibernate3 Plugin and googeling does not help, I decided to write up this simple plugin (inspired by these two articles I found: Schema Export with Hibernate 4 and Maven and Schema generation with Hibernate 4, JPA and Maven). -

    -

    - I hope, the resulting simple to use buletproof hibernate4-maven-plugin is usefull! -

    -

    - Try it out now!

    -
    - -
    - -

    15 Responses to “hibernate4-maven-plugin”

    - -
      -
    1. -
      -
      - Jukes says: -
      - -

      - Hi thanks a lot for making this plugin available, great work!!
      - I have a problem generating postgres schema. Looks like the plugin ignores the data type when adding default values and that yields a syntax error from Postgres. Or maybe I’m doing something wrong. I’m using version 1.0.3.

      -

      For example I have in java:

      -

      - @Column(name = “financialEnabled”, nullable = false, columnDefinition = “default TRUE”)
      - private boolean financialEnabled; -

      -

      - Generated SQL is:
      - financialEnabled default TRUE not null, -

      -

      As you can see the data type boolean is not translated to the SQL script. Thanks a lot for your help.

      -
      - Reply -
      -
      -
        -
      • -
        -
        - Kai Moritz says: -
        - -

        - This plugin is only a tool to automate the generation of the SQL in your development-environment.
        - Questions on how to anotate your code correctly are better asked in a user-forum from hibernate or such.

        -

        - Nevertheless, I think I can give you a usefull hint:
        - You are overwriting the automatically generated column-definition with “default TRUE”.
        - Try it with

        -

        - @Column(name = “financialEnabled”, nullable = false)
        - private boolean financialEnabled;

        -
        - Reply -
        -
        -
      • -
      -
    2. -
    3. -
      -
      - Milios says: -
      - -

      Hi,

      -

      - looks like a very nice plugin. Unfortunately, part of our entities are in other modules/dependencies.
      - Do you plan to add the possibility to scan also for dependencies of the project or at least of the plugin?

      -

      Also, when I only want to generate the SQL and use the following configuration, I got nothing.

      -

      Config:

      -

      - de.juplo
      - hibernate4-maven-plugin
      - 1.0.2

      -

      - true
      - SCRIPT
      - NONE
      - com.deutscheboerse.hibernate.PostgreSQLDialect
      - ${project.build.directory}/hibernate4/cmm-schema.sql

      -

      - com.deutscheboerse.energy
      - energy-commons-hibernate
      - ${commons.hibernate.version}

      -

      - org.springframework.security
      - spring-security-core
      - ${spring.security.version}

      -

      - org.slf4j
      - slf4j-log4j12
      - ${slf4j.version}

      -

      - Output:
      - mvn hibernate4:export -e
      - [INFO] Error stacktraces are turned on.
      - [INFO] Scanning for projects…
      - [INFO]
      - [INFO] ————————————————————————
      - [INFO] Building CMM WAR 1.0.0-RC5-SNAPSHOT
      - [INFO] ————————————————————————
      - [INFO]
      - [INFO] — hibernate4-maven-plugin:1.0.2:export (default-cli) @ cmm-war —
      - [INFO] Scanning directory D:\_dev\work\ii\src\cmm\trunk\cmm-war\target\classes f
      - [INFO] No hibernate-properties-file found! (Checked path: D:\_dev\work\ii\src\cm
      - [INFO] Gathered hibernate-configuration (turn on debugging for details):
      - [INFO] hibernate.dialect = com.deutscheboerse.hibernate.PostgreSQLDialect
      - [INFO] HHH000400: Using dialect: com.deutscheboerse.hibernate.PostgreSQLDialect
      - [INFO] ————————————————————————
      - [INFO] BUILD SUCCESS
      - [INFO] ————————————————————————
      - [INFO] Total time: 10.932s
      - [INFO] Finished at: Thu Oct 10 12:51:05 UTC 2013
      - [INFO] Final Memory: 9M/23M
      - [INFO] ————————————————————————

      -

      - Thanks for any help,
      - Milos. -

      -
      - Reply -
      -
      -
        -
      • -
        -
        - Kai Moritz says: -
        - -

        - Yes, I am working on the possibility, to scan for annotations in dependencies.
        - Unfortunatly, I have no example-project for this use-case by hand.
        - It would help a lot, if you could provide a sample-project on github or such. -

        -

        Greetings kai

        -
        - Reply -
        -
        - -
      • -
      -
    4. -
    5. -
      -
      - Pedro says:
      - - - -

      Following my previous question, here is the debug info

      -

      [DEBUG] Dependency: /Users/pmarques/.m2/repository/org/springframework/security/spring-security-acl/3.1.4.RELEASE/spring-security-acl-3.1.4.RELEASE.jar
      - [DEBUG] Dependency: /Users/pmarques/.m2/repository/com/atomikos/atomikos-util/3.6.5/atomikos-util-3.6.5.jar
      - [DEBUG] Dependency: /Users/pmarques/.m2/repository/com/atomikos/transactions-api/3.6.5/transactions-api-3.6.5.jar
      - [DEBUG] Dependency: /Users/pmarques/.m2/repository/javax/transaction/transaction-api/1.1/transaction-api-1.1.jar
      - [DEBUG] Dependency: /Users/pmarques/.m2/repository/com/atomikos/transactions-jdbc-deprecated/3.6.5/transactions-jdbc-deprecated-3.6.5.jar
      - [DEBUG] Dependency: /Users/pmarques/.m2/repository/com/atomikos/transactions-jdbc/3.6.5/transactions-jdbc-3.6.5.jar
      - [DEBUG] Dependency: /Users/pmarques/.m2/repository/com/atomikos/transactions-jta/3.6.5/transactions-jta-3.6.5.jar
      - [DEBUG] Dependency: /Users/pmarques/.m2/repository/com/atomikos/transactions/3.6.5/transactions-3.6.5.jar
      - [DEBUG] Dependency: /Users/pmarques/.m2/repository/org/apache/geronimo/specs/geronimo-jta_1.0.1B_spec/1.0.1/geronimo-jta_1.0.1B_spec-1.0.1.jar
      - [DEBUG] Dependency: /Users/pmarques/.m2/repository/com/atomikos/transactions-jms-deprecated/3.6.5/transactions-jms-deprecated-3.6.5.jar
      - [DEBUG] Dependency: /Users/pmarques/.m2/repository/com/atomikos/transactions-jms/3.6.5/transactions-jms-3.6.5.jar
      - [DEBUG] Dependency: /Users/pmarques/.m2/repository/com/atomikos/transactions-hibernate3/3.6.5/transactions-hibernate3-3.6.5.jar
      - [INFO] Scanning directory /target/classes for annotated classes…

      - -
      - Reply
      -
      -
    6. -
    7. -
      -
      - Pedro says:
      - - - -

      Hi,

      -

      I have the following problem.
      - The project that I use to test (and use the plugin) has the annotated classes as a dependency.
      - I am getting the error:
      - No annotated classes found in directory /target/classes

      -

      Shouldn’t the plugin scan all the dependencies also?

      -

      Thanks,
      - Pedro.

      - -
      - Reply
      -
      -
        -
      • -
        -
        - Kai Moritz says:
        - - - -

        Hi Pedro,

        -

        I think, that your observation is right.
        - But otherwise, dependencies should only be scanned if requested, because automatic scanning of the dependencies might lead to errors in other situations.

        -

        If you can make your project available to me (for example via github, or simply by mailing zipped version), I would add a configuration-parameter to enable/disable dependency-scanning and upload the refined plugin to central.

        -

        Regards,

        -

        Kai Moritz

        - -
        - Reply
        -
        - -
      • -
      -
    8. -
    9. -
      -
      - mike says:
      - - - -

      Hello,

      -

      I’m upgrading from hibernate3 to to hibernate4 and have moved from the hibernate3-maven-plugin to this version. I haven’t undertaken (and don’t want to just yet) the big job of changing my hbm mapping files to annotations.

      -

      As far as I can see this is a show stopper for using your nice plugin. Can you please confirm if this is the case and whether you are planning to add support for scanning for hbm files?

      -

      Many thanks,

      -

      Mike Cohen.

      - -
      - Reply
      -
      - -
    10. -
    11. -
      -
      - Victor says:
      - - - -

      Hey I have modified your code to support envers and generate auditing tables, if you want I can send you a patch. Thanks!

      - -
      - Reply
      -
      - -
    12. -
    - - - - -
    - -

    Leave a Reply

    - - - - -
    - - -

    Logged in as Kai Moritz. Log out »

    - - - - -

    - -

    - - -

    - -

    -
    -
    -
    - - - diff --git a/src/main/webapp/thymeleaf/contact.html b/src/main/webapp/thymeleaf/contact.html deleted file mode 100644 index 7faea163..00000000 --- a/src/main/webapp/thymeleaf/contact.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - Contact - - - - -
      -
    1. Home
    2. -
    3. About
    4. -
    5. Contact
    6. -
    - -
    -
    -
    - Portrait -
    - -
    -
    - - diff --git a/src/main/webapp/thymeleaf/datenschutz.html b/src/main/webapp/thymeleaf/datenschutz.html deleted file mode 100644 index 5b662e97..00000000 --- a/src/main/webapp/thymeleaf/datenschutz.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - Datenschutz - - - - -
      -
    1. Home
    2. -
    3. Impressum
    4. -
    5. Datenschutz
    6. -
    - -
    -

    Datenschutz

    -

    Die Nutzung unserer Webseite ist in der Regel ohne Angabe personenbezogener Daten möglich. Soweit auf unseren Seiten personenbezogene Daten (beispielsweise Name, Anschrift oder eMail-Adressen) erhoben werden, erfolgt dies, soweit möglich, stets auf freiwilliger Basis. Diese Daten werden ohne Ihre ausdrückliche Zustimmung nicht an Dritte weitergegeben.

    -

    Wir weisen darauf hin, dass die Datenübertragung im Internet (z.B. bei der Kommunikation per E-Mail) Sicherheitslücken aufweisen kann. Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist nicht möglich.

    -

    Der Nutzung von im Rahmen der Impressumspflicht veröffentlichten Kontaktdaten durch Dritte zur Übersendung von nicht ausdrücklich angeforderter Werbung und Informationsmaterialien wird hiermit ausdrücklich widersprochen. Die Betreiber der Seiten behalten sich ausdrücklich rechtliche Schritte im Falle der unverlangten Zusendung von Werbeinformationen, etwa durch Spam-Mails, vor.

    - -

    Bitte beachten Sie auch die gesonderte Datenschutzerklärung zur Nutzung von Google-Analytics.

    -
    - - - diff --git a/src/main/webapp/thymeleaf/error.html b/src/main/webapp/thymeleaf/error.html deleted file mode 100644 index a07dc238..00000000 --- a/src/main/webapp/thymeleaf/error.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - An unexpected Error occured! - - -
    -

    We do not know, what happend.

    -

    But we can tell you: WE ARE SORRY!

    -

    Really.

    -
    - - diff --git a/src/main/webapp/thymeleaf/expertise.html b/src/main/webapp/thymeleaf/expertise.html deleted file mode 100644 index a1c33356..00000000 --- a/src/main/webapp/thymeleaf/expertise.html +++ /dev/null @@ -1,47 +0,0 @@ - - - - Expertise - - - - -
      -
    1. Home
    2. -
    3. About
    4. -
    5. Expertise
    6. -
    - -
    - - diff --git a/src/main/webapp/thymeleaf/google-analytics.html b/src/main/webapp/thymeleaf/google-analytics.html deleted file mode 100644 index a932a54a..00000000 --- a/src/main/webapp/thymeleaf/google-analytics.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - Google Analytics - - - - -
      -
    1. Home
    2. -
    3. Impressum
    4. -
    5. Google Analytics
    6. -
    - -
    -

    Google Analytics

    -

    Diese Website benutzt Google Analytics, einen Webanalysedienst der Google Inc. ("Google"). Google Analytics verwendet sog. "Cookies", Textdateien, die auf Ihrem Computer gespeichert werden und die eine Analyse der Benutzung der Website durch Sie ermöglichen. Die durch den Cookie erzeugten Informationen über Ihre Benutzung dieser Website werden in der Regel an einen Server von Google in den USA übertragen und dort gespeichert. Im Falle der Aktivierung der IP-Anonymisierung auf dieser Webseite wird Ihre IP-Adresse von Google jedoch innerhalb von Mitgliedstaaten der Europäischen Union oder in anderen Vertragsstaaten des Abkommens über den Europäischen Wirtschaftsraum zuvor gekürzt.

    -

    Nur in Ausnahmefällen wird die volle IP-Adresse an einen Server von Google in den USA übertragen und dort gekürzt. Im Auftrag des Betreibers dieser Website wird Google diese Informationen benutzen, um Ihre Nutzung der Website auszuwerten, um Reports über die Websiteaktivitäten zusammenzustellen und um weitere mit der Websitenutzung und der Internetnutzung verbundene Dienstleistungen gegenüber dem Websitebetreiber zu erbringen. Die im Rahmen von Google Analytics von Ihrem Browser übermittelte IP-Adresse wird nicht mit anderen Daten von Google zusammengeführt.

    -

    Sie können die Speicherung der Cookies durch eine entsprechende Einstellung Ihrer Browser-Software verhindern; wir weisen Sie jedoch darauf hin, dass Sie in diesem Fall gegebenenfalls nicht sämtliche Funktionen dieser Website vollumfänglich werden nutzen können. Sie können darüber hinaus die Erfassung der durch das Cookie erzeugten und auf Ihre Nutzung der Website bezogenen Daten (inkl. Ihrer IP-Adresse) an Google sowie die Verarbeitung dieser Daten durch Google verhindern, indem sie das unter dem folgenden Link verfügbare Browser-Plugin herunterladen und installieren:

    -

    http://tools.google.com/dlpage/gaoptout?hl=de.

    - -
    - - - diff --git a/src/main/webapp/thymeleaf/haftung-inhalte.html b/src/main/webapp/thymeleaf/haftung-inhalte.html deleted file mode 100644 index 9e705027..00000000 --- a/src/main/webapp/thymeleaf/haftung-inhalte.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - Haftung für Inhalte - - - - -
      -
    1. Home
    2. -
    3. Impressum
    4. -
    5. Haftung für Inhalte
    6. -
    - -
    -

    Haftung für Inhalte

    -

    Sämtliche Inhalte unserer Internetseiten sind mit größtmöglicher Sorgfalt erstellt worden. Dennoch ist es uns nicht möglich, eine Gewähr dafür zu übernehmen, dass diese Inhalte richtig, vollständig und aktuell sind. Wir sind gemäß § 7 Abs. 1 TMG für die eigenen Inhalte auf unseren Internetseiten verantwortlich. Gemäß den §§ 8, 9 und 10 TMG besteht für uns allerdings keine Verpflichtung, dass wir Informationen von Dritten, die übermittelt oder gespeichert wurden, überwachen oder Umstände ausforschen müssten, die Hinweise auf nicht rechtmäßige Tätigkeiten ergeben. Davon nicht berührt, ist unsere Verpflichtung zur Sperrung oder Entfernung von Informationen, welche uns von den allgemeinen Gesetzen auferlegt wird. Wir haften allerdings insoweit erst in dem Moment, in dem wir von einer konkreten Verletzung von Rechten Kenntnis erlangen. Wenn wir von einer solchen Verletzung von Rechten Kenntnis erlangen, wird eine unverzügliche Entfernung der entsprechenden Inhalte erfolgen.

    -

    Quelle: Flegl Rechtsanwälte GmbH

    -
    - - - diff --git a/src/main/webapp/thymeleaf/haftung-links.html b/src/main/webapp/thymeleaf/haftung-links.html deleted file mode 100644 index dc1b44be..00000000 --- a/src/main/webapp/thymeleaf/haftung-links.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - Haftung für Links - - - - -
      -
    1. Home
    2. -
    3. Impressum
    4. -
    5. Haftung für Links
    6. -
    - -
    -

    Haftung für Links

    -

    Unsere Internetseiten enthalten Links, die zu externen Internetseiten von Dritten führen. Auf die Inhalte dieser externen Seiten haben wir keine Einflussmöglichkeiten. Es ist uns daher nicht möglich, eine Gewähr für diese Inhalte zu übernehmen. Die Verantwortung dafür hat immer der jeweilige Anbieter/Betreiber der entsprechenden Internetseiten. Wir überprüfen die von uns verlinkten Internetseiten zum Zeitpunkt der Verlinkung auf einen möglichen Rechtsverstoß. Die Verlinkung kommt nur dann zustande, wenn ein rechtswidriger Inhalt zu diesem Zeitpunkt nicht erkennbar ist. Es kann uns jedoch, ohne einen konkreten Anhaltspunkt, nicht zugemutet werden, ständig die verlinkten Internetseiten inhaltlich zu kontrollieren. Wenn wir jedoch von einer Rechtsverletzung Kenntnis erlangen, werden wir den entsprechenden Link unverzüglich entfernen.

    -

    Quelle: Flegl Rechtsanwälte GmbH

    -
    - - - diff --git a/src/main/webapp/thymeleaf/impressum.html b/src/main/webapp/thymeleaf/impressum.html deleted file mode 100644 index 87f85c16..00000000 --- a/src/main/webapp/thymeleaf/impressum.html +++ /dev/null @@ -1,64 +0,0 @@ - - - - Impressum - - - - -
      -
    1. Home
    2. -
    3. Impressum
    4. -
    - -
    -

    Impressum

    -

    Angaben gemäß § 5 TMG:

    -

    - Kai Moritz
    - juplo.de
    - Zumsandestr. 29a
    - 48145 Münster -

    -

    Telefon: +49 (0) 176 20 50 47 47

    -

    E-Mail: kai@juplo.de

    -

    Umsatzsteuer-Identifikationsnummer gemäß §27 a Umsatzsteuergesetz: DE 23 500 84 56

    -

    Aufsichtsbehörde: Stadt Münster

    - -

    Contact

    -

    - More contact-information (Facebook, Google+, ...) can be found on the - contact-page. -

    -
    - -
      - -
    • Impressum
    • -
    • About
    • -
    - - diff --git a/src/main/webapp/thymeleaf/index.html b/src/main/webapp/thymeleaf/index.html deleted file mode 100644 index d1ebe608..00000000 --- a/src/main/webapp/thymeleaf/index.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - Home - - - - -
      -
    1. Home
    2. -
    -

    juplo

    - -
    -
    -
    -

    hibernate4-maven-plugin

    -

    - Lorem ipsum dolor - sit amet, - consectetur adipisicing elit, sed do eiusmod tempor incididunt ut - labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud - exercitation - ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute - irure dolor in reprehenderit in voluptate velit esse cillum dolore - eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non - proident, sunt in culpa qui officia deserunt mollit anim id est - laborum. -

    -
    -
    -

    fix-swf

    -

    - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do - eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim - ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut - aliquip ex ea commodo consequat. -

    -
    -
    -
    -

    accelerator

    -

    - Duis aute irure dolor in - reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla - pariatur. Excepteur sint occaecat cupidatat non proident, sunt in - culpa qui officia deserunt mollit anim id est laborum. -

    -
    -
    -
    -

    jquery.openx

    -

    - Duis aute irure dolor in - reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla - pariatur. Excepteur sint occaecat cupidatat non proident, sunt in - culpa qui officia deserunt mollit anim id est laborum. -

    -
    -
    -

    Regex-Lab

    -

    - Excepteur sint occaecat cupidatat non proident, sunt in - culpa qui officia deserunt mollit anim id est laborum. -

    -
    -
    -
    -
    -

    jquery.openx

    -

    - Duis aute irure dolor in - reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla - pariatur. Excepteur sint occaecat cupidatat non proident, sunt in - culpa qui officia deserunt mollit anim id est laborum. -

    -
    -
    -

    Regex-Lab

    -

    - Excepteur sint occaecat cupidatat non proident, sunt in - culpa qui officia deserunt mollit anim id est laborum. -

    -
    -
    -
    - - - diff --git a/src/main/webapp/thymeleaf/projects.html b/src/main/webapp/thymeleaf/projects.html deleted file mode 100644 index a8617d9c..00000000 --- a/src/main/webapp/thymeleaf/projects.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - Projects - - - - -
      -
    1. Home
    2. -
    3. Projects
    4. -
    - - - diff --git a/src/main/webapp/thymeleaf/projects/fix-swf.html b/src/main/webapp/thymeleaf/projects/fix-swf.html deleted file mode 100644 index d534d504..00000000 --- a/src/main/webapp/thymeleaf/projects/fix-swf.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - Fix SWF - - - - -
      -
    1. Home
    2. -
    3. Projects
    4. -
    5. Fix SWF
    6. -
    - - - diff --git a/src/main/webapp/thymeleaf/projects/fix-swf/getting-started.html b/src/main/webapp/thymeleaf/projects/fix-swf/getting-started.html deleted file mode 100644 index 74bd2527..00000000 --- a/src/main/webapp/thymeleaf/projects/fix-swf/getting-started.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - Fix SWF - Getting started - - - - -
      -
    1. Home
    2. -
    3. Projects
    4. -
    5. Fix SWF
    6. -
    7. Getting Started
    8. -
    - - - diff --git a/src/main/webapp/thymeleaf/projects/fix-swf/overview.html b/src/main/webapp/thymeleaf/projects/fix-swf/overview.html deleted file mode 100644 index da67bcab..00000000 --- a/src/main/webapp/thymeleaf/projects/fix-swf/overview.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - Fix SWF - Overview - - - - -
      -
    1. Home
    2. -
    3. Projects
    4. -
    5. Fix SWF
    6. -
    7. Overview
    8. -
    - - - diff --git a/src/main/webapp/thymeleaf/projects/html-experimente.html b/src/main/webapp/thymeleaf/projects/html-experimente.html deleted file mode 100644 index 9ea48fe6..00000000 --- a/src/main/webapp/thymeleaf/projects/html-experimente.html +++ /dev/null @@ -1,173 +0,0 @@ - - - - HTML-Experimente - - - - -
      -
    1. Home
    2. -
    3. Projects
    4. -
    5. HTML-Experimente
    6. -
    - -
    -

    HTML-Elemente / spezielle Seiten

    - -

    Layout-Grenzfälle

    - -

    Layout-Variationen

    - -

    Testseiten für einzelne Seiten-Bestandteile

    - -

    Anderer Krams...

    - -
    - - diff --git a/src/main/webapp/thymeleaf/projects/html-experimente/basis-layout.html b/src/main/webapp/thymeleaf/projects/html-experimente/basis-layout.html deleted file mode 100644 index 3041aefb..00000000 --- a/src/main/webapp/thymeleaf/projects/html-experimente/basis-layout.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - HTML-Experimente - Basis-Layout - - - - -
      -
    1. Home
    2. -
    3. Projects
    4. -
    5. HTML-Experimente
    6. -
    7. Nur das Basis-Layout
    8. -
    - - - - diff --git a/src/main/webapp/thymeleaf/projects/html-experimente/breadcrumb.html b/src/main/webapp/thymeleaf/projects/html-experimente/breadcrumb.html deleted file mode 100644 index e9a0f9dc..00000000 --- a/src/main/webapp/thymeleaf/projects/html-experimente/breadcrumb.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - HTML-Experimente - Langer Breadcrumb - - - - -
      -
    1. Home
    2. -
    3. Projects
    4. -
    5. HTML-Experimente
    6. -
    7. Dies ist ein Seite mit einem unendlich langen Breadcrumb-Eintrag der bestimmt nicht in den vorgesehenen Platz passt
    8. -
    - - - diff --git a/src/main/webapp/thymeleaf/projects/html-experimente/druck-layout.html b/src/main/webapp/thymeleaf/projects/html-experimente/druck-layout.html deleted file mode 100644 index 953284a7..00000000 --- a/src/main/webapp/thymeleaf/projects/html-experimente/druck-layout.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - HTML-Experimente - Druck-Layout - - - - -
      -
    1. Home
    2. -
    3. Projects
    4. -
    5. HTML-Experimente
    6. -
    7. Druck-Layout
    8. -
    - - - - diff --git a/src/main/webapp/thymeleaf/projects/html-experimente/fast-leer-einspaltig-mit-marginalinhalt.html b/src/main/webapp/thymeleaf/projects/html-experimente/fast-leer-einspaltig-mit-marginalinhalt.html deleted file mode 100644 index 2bdb2b00..00000000 --- a/src/main/webapp/thymeleaf/projects/html-experimente/fast-leer-einspaltig-mit-marginalinhalt.html +++ /dev/null @@ -1,39 +0,0 @@ - - - - HTML-Experimente - Fast leere einspaltige Seite mit Marginalinhalt - - - - -
      -
    1. Home
    2. -
    3. Projects
    4. -
    5. HTML-Experimente
    6. -
    7. Leer, einspaltig, Marginal
    8. -
    - -
    -

    Fast leere einspaltige Seite mit Marginalinhalt

    -
    - - - diff --git a/src/main/webapp/thymeleaf/projects/html-experimente/fast-leer-einspaltig.html b/src/main/webapp/thymeleaf/projects/html-experimente/fast-leer-einspaltig.html deleted file mode 100644 index a4680d75..00000000 --- a/src/main/webapp/thymeleaf/projects/html-experimente/fast-leer-einspaltig.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - HTML-Experimente - Fast leere einspaltige Seite - - - - -
      -
    1. Home
    2. -
    3. Projects
    4. -
    5. HTML-Experimente
    6. -
    7. Leer, einspaltig
    8. -
    - -
    -

    Fast leere einspaltige Seite

    -
    - - diff --git "a/src/main/webapp/thymeleaf/projects/html-experimente/fast-leer-kein-men\303\274-aber-marginalinhalt.html" "b/src/main/webapp/thymeleaf/projects/html-experimente/fast-leer-kein-men\303\274-aber-marginalinhalt.html" deleted file mode 100644 index 912c8282..00000000 --- "a/src/main/webapp/thymeleaf/projects/html-experimente/fast-leer-kein-men\303\274-aber-marginalinhalt.html" +++ /dev/null @@ -1,39 +0,0 @@ - - - - HTML-Experimente - Fast leere Seite ohne Menü aber mit Marginalspalte - - - - -
      -
    1. Home
    2. -
    3. Projects
    4. -
    5. HTML-Experimente
    6. -
    7. Leer, ohne Menü, mit Marginal
    8. -
    - -
    -

    Fast leere Seite ohne Menü aber mit Marginalinhalt

    -
    - - - diff --git "a/src/main/webapp/thymeleaf/projects/html-experimente/fast-leer-kein-men\303\274.html" "b/src/main/webapp/thymeleaf/projects/html-experimente/fast-leer-kein-men\303\274.html" deleted file mode 100644 index c255fa33..00000000 --- "a/src/main/webapp/thymeleaf/projects/html-experimente/fast-leer-kein-men\303\274.html" +++ /dev/null @@ -1,36 +0,0 @@ - - - - HTML-Experimente - Fast leere Seite ohne Menü - - - - -
      -
    1. Home
    2. -
    3. Projects
    4. -
    5. HTML-Experimente
    6. -
    7. Leer, ohne Menü
    8. -
    - -
    -

    Fast leere Seite ohne Menü

    -
    - - diff --git "a/src/main/webapp/thymeleaf/projects/html-experimente/fast-leer-mit-men\303\274-und-marginalinhalt.html" "b/src/main/webapp/thymeleaf/projects/html-experimente/fast-leer-mit-men\303\274-und-marginalinhalt.html" deleted file mode 100644 index f173bcb6..00000000 --- "a/src/main/webapp/thymeleaf/projects/html-experimente/fast-leer-mit-men\303\274-und-marginalinhalt.html" +++ /dev/null @@ -1,30 +0,0 @@ - - - - HTML-Experimente - Fast leere Seite mit Menü und Marginalinhalt - - - - -
      -
    1. Home
    2. -
    3. Projects
    4. -
    5. HTML-Experimente
    6. -
    7. Leer, mit Menü
    8. -
    - -
    -

    Fast leere Seite mit Menü und Marginalinhalt

    -
    - - - diff --git "a/src/main/webapp/thymeleaf/projects/html-experimente/fast-leer-mit-men\303\274.html" "b/src/main/webapp/thymeleaf/projects/html-experimente/fast-leer-mit-men\303\274.html" deleted file mode 100644 index c6837ab9..00000000 --- "a/src/main/webapp/thymeleaf/projects/html-experimente/fast-leer-mit-men\303\274.html" +++ /dev/null @@ -1,27 +0,0 @@ - - - - HTML-Experimente - Fast leere Seite mit Menü - - - - -
      -
    1. Home
    2. -
    3. Projects
    4. -
    5. HTML-Experimente
    6. -
    7. Leer, mit Menü
    8. -
    - -
    -

    Fast leere Seite mit Menü

    -
    - - diff --git a/src/main/webapp/thymeleaf/projects/html-experimente/formulare.html b/src/main/webapp/thymeleaf/projects/html-experimente/formulare.html deleted file mode 100644 index 2fa07bc6..00000000 --- a/src/main/webapp/thymeleaf/projects/html-experimente/formulare.html +++ /dev/null @@ -1,275 +0,0 @@ - - - - HTML-Experimente - Formulare - - - - -
      -
    1. Home
    2. -
    3. Projects
    4. -
    5. HTML-Experimente
    6. -
    7. Formulare
    8. -
    - -
    -

    Formulare

    -
    -

    Anzeigetext

    -
    - - - < Fehler: Es wurde kein Text für die Anzeige eingegeben! -
    -
    -
    -

    Textformatierung

    -
    - - Die zusätzlichen Gestaltungsoptionen sind nur für das Magazin wählbar.
    - Online erscheint die Anzeige als normaler Fließtext. -
    -
    -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    -
    -
    -
    -

    Einspaltige Radiobuttons...

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

    Bild

    -
    - - Du kannst Deiner Anzeige ein Bild hinzufügen. - Das Bild erscheint nur online. - Im Magazin erscheint die Kleinanzeige mit Hinweis auf das Onlinebild. - -
    -
    - - -
    -
    - - -
    -
    -
    -
    -

    Alleinstehende Checkbox

    -
    - - -
    -
    -
    -

    Kundendaten

    -

    - Pflichtfelder sind mit einem - * markiert. -

    -
    - - -
    -
    - - -
    -
    - - -
    -
    - - - < Fehler: Dies ist ein Pflichtfeld! -
    -
    - - -
    -
    - - -
    -
    -
    - -
    -
    -
    -

    Anzeige regionalisieren

    -

    - Indem Du Deine Kleinanzeige einer Stadt zuordnest, können Interessenten - diese online leichter finden, wenn sie nur nach Kleinanzeigen aus - bestimmten Städten suchen. - Du kannst auch keine Stadt zuordnen, dann wird die Kleinanzeige von - diesen Interessenten aber auch nicht gefunden. -

    -
    -
    - - -

    - Das Feld leer lassen, wenn die Anzeige nicht regionalisiert werden soll. -

    -
    -
    -
    -

    Ein Passwort-Eingabe-Feld

    -
    - - -
    -
    -
    -

    Lade das Bild hoch

    -

    - Du kannst ein Bild im JPEG- oder PNG-Format hochladen. - Das Bild darf nicht größer als 8 MByte sein. -

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

    Antworten

    -

    - Pflichtfelder sind mit einem - * markiert. -

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

    Weiter mit Anmeldung

    -
    - - -
    -
    - - -
    -
    -
    -

    Weiter ohne Anmeldung

    - -
    - Was steht da? - Captcha -
    -
    - - -
    -
    -
    -
    - - diff --git a/src/main/webapp/thymeleaf/projects/html-experimente/kein-layout.html b/src/main/webapp/thymeleaf/projects/html-experimente/kein-layout.html deleted file mode 100644 index 19991b26..00000000 --- a/src/main/webapp/thymeleaf/projects/html-experimente/kein-layout.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - HTML-Experimente - Kein Layout - - -
      -
    1. Home
    2. -
    3. Projects
    4. -
    5. HTML-Experimente
    6. -
    7. Alle Stylings deaktiviert
    8. -
    - - - - diff --git a/src/main/webapp/thymeleaf/projects/html-experimente/phone.html b/src/main/webapp/thymeleaf/projects/html-experimente/phone.html deleted file mode 100644 index cc57e89b..00000000 --- a/src/main/webapp/thymeleaf/projects/html-experimente/phone.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - HTML-Experimente - Layout PHONE - - - - - -
      -
    1. Home
    2. -
    3. Projects
    4. -
    5. HTML-Experimente
    6. -
    7. Layout PHONE
    8. -
    - - - - diff --git a/src/main/webapp/thymeleaf/projects/html-experimente/seitenaufteilung.html b/src/main/webapp/thymeleaf/projects/html-experimente/seitenaufteilung.html deleted file mode 100644 index 95f97946..00000000 --- a/src/main/webapp/thymeleaf/projects/html-experimente/seitenaufteilung.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - HTML-Experimente - Basis-Layout & Seitenaufteilung - - - - - -
      -
    1. Home
    2. -
    3. Projects
    4. -
    5. HTML-Experimente
    6. -
    7. Basis-Layout & Seitenaufteilung
    8. -
    - - - - diff --git a/src/main/webapp/thymeleaf/projects/html-experimente/seitenkopf.html b/src/main/webapp/thymeleaf/projects/html-experimente/seitenkopf.html deleted file mode 100644 index 7cedd2da..00000000 --- a/src/main/webapp/thymeleaf/projects/html-experimente/seitenkopf.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - HTML-Experimente - Basis-Layout & Seitenkopf - - - - - -
      -
    1. Home
    2. -
    3. Projects
    4. -
    5. HTML-Experimente
    6. -
    7. Basis-Layout & Seitenkopf
    8. -
    - - - - diff --git a/src/main/webapp/thymeleaf/projects/html-experimente/symbole.html b/src/main/webapp/thymeleaf/projects/html-experimente/symbole.html deleted file mode 100644 index 1a850678..00000000 --- a/src/main/webapp/thymeleaf/projects/html-experimente/symbole.html +++ /dev/null @@ -1,422 +0,0 @@ - - - - HTML-Experimente - Symbol-Font - - - - -
      -
    1. Home
    2. -
    3. Projects
    4. -
    5. HTML-Experimente
    6. -
    7. Symbol-Font
    8. -
    - -
    -

    Symbol-Font

    -

    100%

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

    200%

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

    300%

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

    400%

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

    500%

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - diff --git a/src/main/webapp/thymeleaf/projects/html-experimente/tablet.html b/src/main/webapp/thymeleaf/projects/html-experimente/tablet.html deleted file mode 100644 index 3948e6cb..00000000 --- a/src/main/webapp/thymeleaf/projects/html-experimente/tablet.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - HTML-Experimente - Layout TABLET - - - - - -
      -
    1. Home
    2. -
    3. Projects
    4. -
    5. HTML-Experimente
    6. -
    7. Layout TABLET
    8. -
    - - - - diff --git a/src/main/webapp/thymeleaf/projects/html-experimente/testlab.html b/src/main/webapp/thymeleaf/projects/html-experimente/testlab.html deleted file mode 100644 index 9aba6787..00000000 --- a/src/main/webapp/thymeleaf/projects/html-experimente/testlab.html +++ /dev/null @@ -1,266 +0,0 @@ - - - - HTML-Experimente - Media-Query-Test: BEISPIEL - - - - -
    -
    -

    Anzeigetext

    -
    - - - < Fehler: Es wurde kein Text für die Anzeige eingegeben! -
    -
    -
    -

    Textformatierung

    -
    - - Die zusätzlichen Gestaltungsoptionen sind nur für das Magazin wählbar.
    - Online erscheint die Anzeige als normaler Fließtext. -
    -
    -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    -
    -
    -
    -

    Einspaltige Radiobuttons...

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

    Bild

    -
    - - Du kannst Deiner Anzeige ein Bild hinzufügen. - Das Bild erscheint nur online. - Im Magazin erscheint die Kleinanzeige mit Hinweis auf das Onlinebild. - -
    -
    - - -
    -
    - - -
    -
    -
    -
    -

    Alleinstehende Checkbox

    -
    - - -
    -
    -
    -

    Kundendaten

    -

    - Pflichtfelder sind mit einem - * markiert. -

    -
    - - -
    -
    - - -
    -
    - - -
    -
    - - - < Fehler: Dies ist ein Pflichtfeld! -
    -
    - - -
    -
    - - -
    -
    -
    - -
    -
    -
    -

    Anzeige regionalisieren

    -

    - Indem Du Deine Kleinanzeige einer Stadt zuordnest, können Interessenten - diese online leichter finden, wenn sie nur nach Kleinanzeigen aus - bestimmten Städten suchen. - Du kannst auch keine Stadt zuordnen, dann wird die Kleinanzeige von - diesen Interessenten aber auch nicht gefunden. -

    -
    -
    - - -

    - Das Feld leer lassen, wenn die Anzeige nicht regionalisiert werden soll. -

    -
    -
    -
    -

    Ein Passwort-Eingabe-Feld

    -
    - - -
    -
    -
    -

    Lade das Bild hoch

    -

    - Du kannst ein Bild im JPEG- oder PNG-Format hochladen. - Das Bild darf nicht größer als 8 MByte sein. -

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

    Antworten

    -

    - Pflichtfelder sind mit einem - * markiert. -

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

    Weiter mit Anmeldung

    -
    - - -
    -
    - - -
    -
    -
    -

    Weiter ohne Anmeldung

    - -
    - Was steht da? - Captcha -
    -
    - - -
    -
    -
    -
    - - diff --git a/src/main/webapp/thymeleaf/projects/html-experimente/tiny.html b/src/main/webapp/thymeleaf/projects/html-experimente/tiny.html deleted file mode 100644 index b0968a32..00000000 --- a/src/main/webapp/thymeleaf/projects/html-experimente/tiny.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - HTML-Experimente - Layout TINY - - - - - -
      -
    1. Home
    2. -
    3. Projects
    4. -
    5. HTML-Experimente
    6. -
    7. Layout TINY
    8. -
    - - - - diff --git a/src/main/webapp/thymeleaf/projects/typo.html b/src/main/webapp/thymeleaf/projects/typo.html deleted file mode 100644 index 77c14f07..00000000 --- a/src/main/webapp/thymeleaf/projects/typo.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - Typography - - - - -
      -
    1. Home
    2. -
    3. Projects
    4. -
    5. Typography
    6. -
    - -
    -

    Typography

    -

    - Lorem ipsum dolor sit amet, consectetur adipisicing elit, - sed do eiusmod tempor incididunt ut labore et dolore - magna aliqua. Ut enim ad minim veniam, quis nostrud - exercitation ullamco laboris nisi ut aliquip - ex ea commodo consequat. Duis aute irure dolor in reprehenderit - in voluptate velit esse cillum dolore eu fugiat nulla pariatur. - Excepteur sint occaecat cupidatat non proident, - sunt in culpa qui officia deserunt mollit anim id est laborum. -

    -

    Ein Link im Titel

    -

    Ein Link im Text.

    -

    Normal / Italic / Bold / Bold+Italic

    -
      -
    • normal
    • -
    • italic
    • -
    • bold
    • -
    • bold italic
    • -
    -

    - ÄäÖöÜüß@€¢ - ÄäÖöÜüß@€¢ - ÄäÖöÜüß@€¢ - ÄäÖöÜüß@€¢ -

    -

    H1: Heading

    -

    H2: Heading

    -

    H3: Heading

    -

    H4: Heading

    -

    H1: Heading

    -

    - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do - eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim - ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut - aliquip ex ea commodo consequat. Duis aute irure dolor in - reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla - pariatur. Excepteur sint occaecat cupidatat non proident, sunt in - culpa qui officia deserunt mollit anim id est laborum. -

    -

    H2: Heading

    -

    - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do - eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim - ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut - aliquip ex ea commodo consequat. Duis aute irure dolor in - reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla - pariatur. Excepteur sint occaecat cupidatat non proident, sunt in - culpa qui officia deserunt mollit anim id est laborum. -

    -

    H3: Heading

    -

    - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do - eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim - ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut - aliquip ex ea commodo consequat. Duis aute irure dolor in - reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla - pariatur. Excepteur sint occaecat cupidatat non proident, sunt in - culpa qui officia deserunt mollit anim id est laborum. -

    -

    H4: Heading

    -

    - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do - eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim - ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut - aliquip ex ea commodo consequat. Duis aute irure dolor in - reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla - pariatur. Excepteur sint occaecat cupidatat non proident, sunt in - culpa qui officia deserunt mollit anim id est laborum. -

    -

    Preformatted code

    -

    - Juplo Branding uses - google-code-prettify for automatic - syntax highlighting. -

    -
    <plugin>
    -  <groupId>ro.isdc.wro4j</groupId>
    -  <artifactId>wro4j-maven-plugin</artifactId>
    -  <version>${wro4j.version}</version>
    -  <configuration>
    -    <wroManagerFactory>ro.isdc.wro.maven.plugin.manager.factory.ConfigurableWroManagerFactory</wroManagerFactory>
    -    <cssDestinationFolder>${project.build.directory}/${project.build.finalName}/css/</cssDestinationFolder>
    -  </configuration>
    -  <executions>
    -    <execution>
    -      <phase>package</phase>
    -      <goals>
    -        <goal>run</goal>
    -      </goals>
    -    </execution>
    -  </executions>
    -</plugin>
    -
    -
    - - diff --git a/src/main/webapp/thymeleaf/references.html b/src/main/webapp/thymeleaf/references.html deleted file mode 100644 index 6d8531f0..00000000 --- a/src/main/webapp/thymeleaf/references.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - References - - - - -
      -
    1. Home
    2. -
    3. About
    4. -
    5. References
    6. -
    - -
    - - diff --git a/src/main/webapp/thymeleaf/templates/fragments.html b/src/main/webapp/thymeleaf/templates/fragments.html deleted file mode 100644 index 07772590..00000000 --- a/src/main/webapp/thymeleaf/templates/fragments.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - Fragments - - - - -

    Explanation fo the german word "Impressum"

    -
    - -
    -

    Work-in-progress-hint

    -
    -
    -

    PAGE-TITLE

    -
    - Comming soon... -

    - PAGE-CONTENT -

    -
    -
    -
    -

    Marginalspalte

    -
    -
    - - -
    -
    - - diff --git a/src/main/webapp/thymeleaf/templates/layout.html b/src/main/webapp/thymeleaf/templates/layout.html deleted file mode 100644 index 881957d6..00000000 --- a/src/main/webapp/thymeleaf/templates/layout.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - juplo - BASISTEMPLATE - - - - - - - - - - -
    - - -
    -
    -

    juplo - BASISTEMPLATE

    -
    -

    - Lorem ipsum dolor - sit amet, - consectetur adipisicing elit, sed do eiusmod tempor incididunt ut - labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud - exercitation - ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute - irure dolor in reprehenderit in voluptate velit esse cillum dolore - eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non - proident, sunt in culpa qui officia deserunt mollit anim id est - laborum. -

    -

    Duis aute irure dolor

    -
      -
    • Operators and other mathematical stuff: -+/*
    • -
    • - Characters offten used in programming languages: - {(<>)}@$?%*#;:&/\!^"'`~ -
    • -
    • Special german characters: ÄäÖöÜü
    • -
    • Other special characters: @?¢§%°
    • -
    -

    Excepteur sint occaecat cupidatat

    -

    - Lorem ipsum dolor sit amet, consectetur adipisicing elit, - sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. - Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris - nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in - reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla - pariatur. Excepteur sint occaecat cupidatat non proident, sunt in - culpa qui officia deserunt mollit anim id est laborum. -

    -

    - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do - eiusmod tempor incididunt ut labore et dolore magna aliqua. - Ut enim ad minim veniam, quis nostrud exercitation - ullamco laboris nisi ut aliquip ex ea commodo consequat. - Duis aute irure dolor in reprehenderit in voluptate velit esse - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat - cupidatat non proident, sunt in culpa qui officia deserunt mollit - anim id est laborum. -

    -
    -
    -
    - - - -
    -
    - -
    - - diff --git a/src/main/webapp/thymeleaf/templates/testlab.html b/src/main/webapp/thymeleaf/templates/testlab.html deleted file mode 100644 index c382c607..00000000 --- a/src/main/webapp/thymeleaf/templates/testlab.html +++ /dev/null @@ -1,70 +0,0 @@ - - - - juplo - TESTLABTEMPLATE - - - -

    TESTLAB-TEMPLATE

    -
    970px -
    670px -
    480px -
    320px - CONTENT -
    -
    -
    -
    - - diff --git a/src/main/webapp/thymeleaf/urheberrechte.html b/src/main/webapp/thymeleaf/urheberrechte.html deleted file mode 100644 index 87c20260..00000000 --- a/src/main/webapp/thymeleaf/urheberrechte.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - Urheberrecht - - - - -
      -
    1. Home
    2. -
    3. Impressum
    4. -
    5. Urheberrechte
    6. -
    - -
    -

    Urheberrechte

    -

    Die auf unseren Internetseiten enthaltenen Werke und Inhalte unterstehen dem Urheberrecht. Ohne schriftliche Genehmigung des jeweiligen Erstellers oder Autors dürfen die Werke bzw. Inhalte nicht vervielfältigt, bearbeitet, verbreitet und verwertet werden. Das Herunterladen und Kopieren unserer Internetseite ist für den privaten Gebrauch erlaubt, nicht jedoch für den kommerziellen. Wir weisen darauf hin, dass hinsichtlich der Inhalte auf unserer Internetseite, soweit sie nicht von uns erstellt worden sind, das Urheberrecht von Dritten beachtet wurde. Inhalte von Dritten erhalten als solche eine Kennzeichnung von uns. Wir wären Ihnen dankbar, wenn Sie uns einen Hinweis erteilen würden, falls Sie trotzdem auf eine Urheberrechtsverletzung gestoßen sind. Wenn wir von einer solchen Urheberrechtsverletzung Kenntnis erlangen, werden wir den entsprechenden Inhalt unverzüglich entfernen.

    -

    Quelle: Flegl Rechtsanwälte GmbH

    -
    - - -