fmsystem-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Fmsystem-commits] [12049] api: add template


From: Sigurd Nes
Subject: [Fmsystem-commits] [12049] api: add template
Date: Tue, 05 Aug 2014 12:28:35 +0000

Revision: 12049
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=12049
Author:   sigurdne
Date:     2014-08-05 12:28:34 +0000 (Tue, 05 Aug 2014)
Log Message:
-----------
api: add template

Added Paths:
-----------
    trunk/phpgwapi/js/SlickNav/
    trunk/phpgwapi/js/SlickNav/.gitattributes
    trunk/phpgwapi/js/SlickNav/.gitignore
    trunk/phpgwapi/js/SlickNav/MIT-LICENSE.txt
    trunk/phpgwapi/js/SlickNav/README.md
    trunk/phpgwapi/js/SlickNav/bower.json
    trunk/phpgwapi/js/SlickNav/demo/
    trunk/phpgwapi/js/SlickNav/demo/index.html
    trunk/phpgwapi/js/SlickNav/demo/style.css
    trunk/phpgwapi/js/SlickNav/jquery.slicknav.js
    trunk/phpgwapi/js/SlickNav/jquery.slicknav.min.js
    trunk/phpgwapi/js/SlickNav/modernizr.min.js
    trunk/phpgwapi/js/SlickNav/slicknav.css
    trunk/phpgwapi/templates/pure/
    trunk/phpgwapi/templates/pure/css/
    trunk/phpgwapi/templates/pure/css/HISTORY.md
    trunk/phpgwapi/templates/pure/css/LICENSE.md
    trunk/phpgwapi/templates/pure/css/README.md
    trunk/phpgwapi/templates/pure/css/base-context-min.css
    trunk/phpgwapi/templates/pure/css/base-context.css
    trunk/phpgwapi/templates/pure/css/base-min.css
    trunk/phpgwapi/templates/pure/css/base.css
    trunk/phpgwapi/templates/pure/css/bower.json
    trunk/phpgwapi/templates/pure/css/buttons-core-min.css
    trunk/phpgwapi/templates/pure/css/buttons-core.css
    trunk/phpgwapi/templates/pure/css/buttons-min.css
    trunk/phpgwapi/templates/pure/css/buttons.css
    trunk/phpgwapi/templates/pure/css/forms-min.css
    trunk/phpgwapi/templates/pure/css/forms-nr-min.css
    trunk/phpgwapi/templates/pure/css/forms-nr.css
    trunk/phpgwapi/templates/pure/css/forms.css
    trunk/phpgwapi/templates/pure/css/grids-core-min.css
    trunk/phpgwapi/templates/pure/css/grids-core.css
    trunk/phpgwapi/templates/pure/css/grids-min.css
    trunk/phpgwapi/templates/pure/css/grids-responsive-min.css
    trunk/phpgwapi/templates/pure/css/grids-responsive-old-ie-min.css
    trunk/phpgwapi/templates/pure/css/grids-responsive-old-ie.css
    trunk/phpgwapi/templates/pure/css/grids-responsive.css
    trunk/phpgwapi/templates/pure/css/grids-units-min.css
    trunk/phpgwapi/templates/pure/css/grids-units.css
    trunk/phpgwapi/templates/pure/css/grids.css
    trunk/phpgwapi/templates/pure/css/menus-core-min.css
    trunk/phpgwapi/templates/pure/css/menus-core.css
    trunk/phpgwapi/templates/pure/css/menus-min.css
    trunk/phpgwapi/templates/pure/css/menus-nr-min.css
    trunk/phpgwapi/templates/pure/css/menus-nr.css
    trunk/phpgwapi/templates/pure/css/menus-paginator-min.css
    trunk/phpgwapi/templates/pure/css/menus-paginator.css
    trunk/phpgwapi/templates/pure/css/menus.css
    trunk/phpgwapi/templates/pure/css/pure-min.css
    trunk/phpgwapi/templates/pure/css/pure-nr-min.css
    trunk/phpgwapi/templates/pure/css/pure-nr.css
    trunk/phpgwapi/templates/pure/css/pure.css
    trunk/phpgwapi/templates/pure/css/side-menu-old-ie.css
    trunk/phpgwapi/templates/pure/css/side-menu.css
    trunk/phpgwapi/templates/pure/css/slicknav_menu.css
    trunk/phpgwapi/templates/pure/css/tables-min.css
    trunk/phpgwapi/templates/pure/css/tables.css
    trunk/phpgwapi/templates/pure/footer.tpl
    trunk/phpgwapi/templates/pure/head.inc.php
    trunk/phpgwapi/templates/pure/head.tpl
    trunk/phpgwapi/templates/pure/images/
    trunk/phpgwapi/templates/pure/js/
    trunk/phpgwapi/templates/pure/js/ui.js
    trunk/phpgwapi/templates/pure/navbar.inc.php
    trunk/phpgwapi/templates/pure/navbar.tpl

Added: trunk/phpgwapi/js/SlickNav/.gitattributes
===================================================================
--- trunk/phpgwapi/js/SlickNav/.gitattributes                           (rev 0)
+++ trunk/phpgwapi/js/SlickNav/.gitattributes   2014-08-05 12:28:34 UTC (rev 
12049)
@@ -0,0 +1,22 @@
+# Auto detect text files and perform LF normalization
+* text=auto
+
+# Custom for Visual Studio
+*.cs     diff=csharp
+*.sln    merge=union
+*.csproj merge=union
+*.vbproj merge=union
+*.fsproj merge=union
+*.dbproj merge=union
+
+# Standard to msysgit
+*.doc   diff=astextplain
+*.DOC   diff=astextplain
+*.docx diff=astextplain
+*.DOCX diff=astextplain
+*.dot  diff=astextplain
+*.DOT  diff=astextplain
+*.pdf  diff=astextplain
+*.PDF   diff=astextplain
+*.rtf   diff=astextplain
+*.RTF   diff=astextplain

Added: trunk/phpgwapi/js/SlickNav/.gitignore
===================================================================
--- trunk/phpgwapi/js/SlickNav/.gitignore                               (rev 0)
+++ trunk/phpgwapi/js/SlickNav/.gitignore       2014-08-05 12:28:34 UTC (rev 
12049)
@@ -0,0 +1,215 @@
+#################
+## Eclipse
+#################
+
+*.pydevproject
+.project
+.metadata
+bin/
+tmp/
+*.tmp
+*.bak
+*.swp
+*~.nib
+local.properties
+.classpath
+.settings/
+.loadpath
+
+# External tool builders
+.externalToolBuilders/
+
+# Locally stored "Eclipse launch configurations"
+*.launch
+
+# CDT-specific
+.cproject
+
+# PDT-specific
+.buildpath
+
+
+#################
+## Visual Studio
+#################
+
+## Ignore Visual Studio temporary files, build results, and
+## files generated by popular Visual Studio add-ons.
+
+# User-specific files
+*.suo
+*.user
+*.sln.docstates
+
+# Build results
+
+[Dd]ebug/
+[Rr]elease/
+x64/
+build/
+[Bb]in/
+[Oo]bj/
+
+# MSTest test Results
+[Tt]est[Rr]esult*/
+[Bb]uild[Ll]og.*
+
+*_i.c
+*_p.c
+*.ilk
+*.meta
+*.obj
+*.pch
+*.pdb
+*.pgc
+*.pgd
+*.rsp
+*.sbr
+*.tlb
+*.tli
+*.tlh
+*.tmp
+*.tmp_proj
+*.log
+*.vspscc
+*.vssscc
+.builds
+*.pidb
+*.log
+*.scc
+
+# Visual C++ cache files
+ipch/
+*.aps
+*.ncb
+*.opensdf
+*.sdf
+*.cachefile
+
+# Visual Studio profiler
+*.psess
+*.vsp
+*.vspx
+
+# Guidance Automation Toolkit
+*.gpState
+
+# ReSharper is a .NET coding add-in
+_ReSharper*/
+*.[Rr]e[Ss]harper
+
+# TeamCity is a build add-in
+_TeamCity*
+
+# DotCover is a Code Coverage Tool
+*.dotCover
+
+# NCrunch
+*.ncrunch*
+.*crunch*.local.xml
+
+# Installshield output folder
+[Ee]xpress/
+
+# DocProject is a documentation generator add-in
+DocProject/buildhelp/
+DocProject/Help/*.HxT
+DocProject/Help/*.HxC
+DocProject/Help/*.hhc
+DocProject/Help/*.hhk
+DocProject/Help/*.hhp
+DocProject/Help/Html2
+DocProject/Help/html
+
+# Click-Once directory
+publish/
+
+# Publish Web Output
+*.Publish.xml
+*.pubxml
+
+# NuGet Packages Directory
+## TODO: If you have NuGet Package Restore enabled, uncomment the next line
+#packages/
+
+# Windows Azure Build Output
+csx
+*.build.csdef
+
+# Windows Store app package directory
+AppPackages/
+
+# Others
+sql/
+*.Cache
+ClientBin/
+[Ss]tyle[Cc]op.*
+~$*
+*~
+*.dbmdl
+*.[Pp]ublish.xml
+*.pfx
+*.publishsettings
+
+# RIA/Silverlight projects
+Generated_Code/
+
+# Backup & report files from converting an old project file to a newer
+# Visual Studio version. Backup files are not needed, because we have git ;-)
+_UpgradeReport_Files/
+Backup*/
+UpgradeLog*.XML
+UpgradeLog*.htm
+
+# SQL Server files
+App_Data/*.mdf
+App_Data/*.ldf
+
+#############
+## Windows detritus
+#############
+
+# Windows image file caches
+Thumbs.db
+ehthumbs.db
+
+# Folder config file
+Desktop.ini
+
+# Recycle Bin used on file shares
+$RECYCLE.BIN/
+
+# Mac crap
+.DS_Store
+
+
+#############
+## Python
+#############
+
+*.py[co]
+
+# Packages
+*.egg
+*.egg-info
+dist/
+build/
+eggs/
+parts/
+var/
+sdist/
+develop-eggs/
+.installed.cfg
+
+# Installer logs
+pip-log.txt
+
+# Unit test / coverage reports
+.coverage
+.tox
+
+#Translations
+*.mo
+
+#Mr Developer
+.mr.developer.cfg

Added: trunk/phpgwapi/js/SlickNav/MIT-LICENSE.txt
===================================================================
--- trunk/phpgwapi/js/SlickNav/MIT-LICENSE.txt                          (rev 0)
+++ trunk/phpgwapi/js/SlickNav/MIT-LICENSE.txt  2014-08-05 12:28:34 UTC (rev 
12049)
@@ -0,0 +1,19 @@
+Copyright (c) 2014 Josh Cope
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
\ No newline at end of file

Added: trunk/phpgwapi/js/SlickNav/README.md
===================================================================
--- trunk/phpgwapi/js/SlickNav/README.md                                (rev 0)
+++ trunk/phpgwapi/js/SlickNav/README.md        2014-08-05 12:28:34 UTC (rev 
12049)
@@ -0,0 +1,92 @@
+# SlickNav
+## Responsive Mobile Menu jQuery Plugin
+
+###[SlickNav.com](http://slicknav.com)
+
+### Features
+* Multi-level menu support
+* Flexible, simple markup
+* Cross-browser compatibility
+* Keyboard Accessible
+* Degrades gracefully without JavaScript
+* Creates ARIA compliant menu
+
+* * *
+### Usage
+
+####Include the CSS & JS
+slicknav.css can be modified to fit website design
+
+    <link rel="stylesheet" href="SlickNav/slicknav.css" />
+    <script src="SlickNav/jquery.slicknav.min.js"></script>
+
+####Menu Markup
+
+    <ul id="menu">
+        <li><a href="#">item 1</a></li>
+        <li><a href="#">item 2</a></li>
+        <li><a href="#">item 3</a></li>
+        <li><a href="#">item 4</a></li>
+    </ul>
+####Initialize
+
+    <script>
+        $(function(){
+            $('#menu').slicknav();
+        });
+    </script>
+
+### Options
+    'label' : 'MENU', // Label for menu button. Use an empty string for no 
label.
+    'duplicate': true, // If true, the mobile menu is a copy of the original.
+    'duration': true, // The duration of the sliding animation.
+    'easingOpen': 'swing', // Easing used for open animations.
+    'easingClose': 'swing' // Easing used for close animations.
+    'closedSymbol': '&#9658;', // Character after collapsed parents.
+    'openedSymbol': '&#9660;', // Character after expanded parents.
+    'prependTo': 'body', // Element, jQuery object, or jQuery selector string 
to prepend the mobile menu to.
+    'parentTag': 'a', // Element type for parent menu items.
+    'closeOnClick': false, // Close menu when a link is clicked.
+    'allowParentLinks': false // Allow clickable links as parent elements.
+    'nestedParentLinks': true // If false, parent links will be separated from 
the sub-menu toggle.
+    'showChildren': false // Show children of parent links by default.
+    
+### Callbacks
+    'init': function(){}, // Called after SlickNav creation
+    'open': function(trigger){}, // Called after menu or sub-menu opened. 
+    'close': function(trigger){} // Called after menu or sub-menu closed.
+
+### Methods
+    $('.menu').slicknav('toggle'); // Method to toggle the menu
+    $('.menu').slicknav('open'); // Method to open the menu
+    $('.menu').slicknav('close'); // Method to close the menu
+    
+Without any additional configuration, both the original and mobile menus will 
be displayed. It is recommended to use media queries to hide the original menu 
and display the mobile menu when appropriate. Modernizr or similar can be used 
for graceful degradation.
+
+For example:
+
+    .slicknav_menu {
+        display:none;
+    }
+    
+    @media screen and (max-width: 40em) {
+        /* #menu is the original menu */
+        .js #menu {
+            display:none;
+        }
+        
+        .js .slicknav_menu {
+            display:block;
+        }
+    }
+
+More examples at [SlickNav.com](http://slicknav.com)
+
+### Browser Support
+* Chrome
+* Firefox
+* Safari
+* Opera
+* IE7+
+* Android Browser
+* iOS Safari
\ No newline at end of file

Added: trunk/phpgwapi/js/SlickNav/bower.json
===================================================================
--- trunk/phpgwapi/js/SlickNav/bower.json                               (rev 0)
+++ trunk/phpgwapi/js/SlickNav/bower.json       2014-08-05 12:28:34 UTC (rev 
12049)
@@ -0,0 +1,21 @@
+{
+  "name": "slicknav",
+  "version": "1.0.0",
+  "authors": [
+    "Josh Cope"
+  ],
+  "main": [
+    "jquery.slicknav.js",
+    "slicknav.css"
+  ],
+  "ignore": [
+    "**/.*",
+    "node_modules",
+    "bower_components",
+    "test",
+    "tests"
+  ],
+  "dependencies": {
+    "jquery": ">=1.7.0"
+  }
+}

Added: trunk/phpgwapi/js/SlickNav/demo/index.html
===================================================================
--- trunk/phpgwapi/js/SlickNav/demo/index.html                          (rev 0)
+++ trunk/phpgwapi/js/SlickNav/demo/index.html  2014-08-05 12:28:34 UTC (rev 
12049)
@@ -0,0 +1,55 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+<meta name="viewport" content="width=device-width">
+
+<title>SlickNav Demo - Responsive Mobile Nav Plugin for jQuery</title>
+
+<link rel="stylesheet" href="style.css">
+<link rel="stylesheet" href="../slicknav.css">
+
+<script src="../modernizr.min.js"></script>
+</head>
+<body>
+<p><b>Resize browser to view mobile menu</b></p>
+
+<div id="demo1"></div>
+Original Menu hidden on mobile
+<ul id="menu">
+    <li>Parent 1
+        <ul>
+            <li><a href="#">item 3</a></li>
+            <li>Parent 3
+                <ul>
+                    <li><a href="#">item 8</a></li>
+                    <li><a href="#">item 9</a></li>
+                    <li><a href="#">item 10</a></li>
+                </ul>
+            </li>
+            <li><a href="#">item 4</a></li>
+        </ul>
+    </li>
+    <li><a href="#">item 1</a></li>
+    <li>non-link item</li>
+    <li>Parent 2
+        <ul>
+            <li><a href="#">item 5</a></li>
+            <li><a href="#">item 6</a></li>
+            <li><a href="#">item 7</a></li>
+        </ul>
+    </li>
+</ul>
+
+<script src="../../jquery/js/jquery-1.11.1.min.js"></script>
+<script src="../jquery.slicknav.js"></script>
+<script type="text/javascript">
+$(document).ready(function(){
+//     $('#menu').slicknav();
+       $('#menu').slicknav({
+               prependTo:'#demo1'
+       });
+
+});
+</script>
+</body>
+</html>

Added: trunk/phpgwapi/js/SlickNav/demo/style.css
===================================================================
--- trunk/phpgwapi/js/SlickNav/demo/style.css                           (rev 0)
+++ trunk/phpgwapi/js/SlickNav/demo/style.css   2014-08-05 12:28:34 UTC (rev 
12049)
@@ -0,0 +1,20 @@
+body {
+       font-family:Helvetica, Arial, sans-serif;
+       margin:0;
+       padding:0;
+       font-size:100%;
+}
+
+.slicknav_menu {
+       display:block;
+}
+
address@hidden screen and (max-width: 40em) {
+       .js #menu {
+               display:none;
+       }
+       
+       .js .slicknav_menu {
+               display:block;
+       }
+}

Added: trunk/phpgwapi/js/SlickNav/jquery.slicknav.js
===================================================================
--- trunk/phpgwapi/js/SlickNav/jquery.slicknav.js                               
(rev 0)
+++ trunk/phpgwapi/js/SlickNav/jquery.slicknav.js       2014-08-05 12:28:34 UTC 
(rev 12049)
@@ -0,0 +1,417 @@
+/*!
+    SlickNav Responsive Mobile Menu
+    (c) 2014 Josh Cope
+    licensed under MIT
+*/
+;(function ($, document, window) {
+    var
+    // default settings object.
+    defaults = {
+        label: 'MENU',
+        duplicate: true,
+        duration: 200,
+        easingOpen: 'swing',
+        easingClose: 'swing',
+        closedSymbol: '&#9658;',
+        openedSymbol: '&#9660;',
+        prependTo: 'body',
+        parentTag: 'a',
+        closeOnClick: false,
+        allowParentLinks: false,
+        nestedParentLinks: true,
+        showChildren: false,
+        init: function(){},
+        open: function(){},
+        close: function(){}
+    },
+    mobileMenu = 'slicknav',
+    prefix = 'slicknav';
+    
+    function Plugin( element, options ) {
+        this.element = element;
+
+        // jQuery has an extend method which merges the contents of two or
+        // more objects, storing the result in the first object. The first 
object
+        // is generally empty as we don't want to alter the default options for
+        // future instances of the plugin
+        this.settings = $.extend( {}, defaults, options) ;
+        
+        this._defaults = defaults;
+        this._name = mobileMenu;
+        
+        this.init();
+    }
+    
+    Plugin.prototype.init = function () {
+        var $this = this;
+        var menu = $(this.element);
+        var settings = this.settings;
+        
+        // clone menu if needed
+        if (settings.duplicate) {
+            $this.mobileNav = menu.clone();
+            //remove ids from clone to prevent css issues
+            $this.mobileNav.removeAttr('id');
+            $this.mobileNav.find('*').each(function(i,e){
+                $(e).removeAttr('id');
+            });
+        }
+        else
+            $this.mobileNav = menu;
+        
+        // styling class for the button
+        var iconClass = prefix+'_icon';
+        
+        if (settings.label === '') {
+            iconClass += ' '+prefix+'_no-text';
+        }
+        
+        if (settings.parentTag == 'a') {
+            settings.parentTag = 'a href="#"';
+        }
+        
+        // create menu bar
+        $this.mobileNav.attr('class', prefix+'_nav');
+        var menuBar = $('<div class="'+prefix+'_menu"></div>');
+        $this.btn = $('<'+settings.parentTag+' aria-haspopup="true" 
tabindex="0" class="'+prefix+'_btn '+prefix+'_collapsed"><span 
class="'+prefix+'_menutxt">'+settings.label+'</span><span 
class="'+iconClass+'"><span class="'+prefix+'_icon-bar"></span><span 
class="'+prefix+'_icon-bar"></span><span 
class="'+prefix+'_icon-bar"></span></span></a>');
+        $(menuBar).append($this.btn);        
+        $(settings.prependTo).prepend(menuBar);
+        menuBar.append($this.mobileNav);
+        
+        // iterate over structure adding additional structure
+        var items = $this.mobileNav.find('li');
+        $(items).each(function () {
+            var item = $(this);
+            var data = {};
+            data.children = item.children('ul').attr('role','menu');
+            item.data("menu", data);
+            
+            // if a list item has a nested menu
+            if (data.children.length > 0) {
+            
+                // select all text before the child menu
+                // check for anchors
+                
+                var a = item.contents();
+                var containsAnchor = false;
+                
+                var nodes = [];
+                $(a).each(function(){
+                    if(!$(this).is("ul")) {
+                        nodes.push(this);
+                    }
+                    else {
+                        return false;
+                    }
+                    
+                    if($(this).is("a")) {
+                        containsAnchor = true;
+                    }
+                });
+                
+                var wrapElement = $('<'+settings.parentTag+' role="menuitem" 
aria-haspopup="true" tabindex="-1" class="'+prefix+'_item"/>');
+                
+                // wrap item text with tag and add classes unless we are 
separating parent links
+                if ((!settings.allowParentLinks || settings.nestedParentLinks) 
|| !containsAnchor) {
+                    var $wrap = $(nodes).wrapAll(wrapElement).parent();
+                    $wrap.addClass(prefix+'_row');
+                } else
+                    $(nodes).wrapAll('<span class="'+prefix+'_parent-link 
'+prefix+'_row"/>').parent();
+                
+                item.addClass(prefix+'_collapsed');
+                item.addClass(prefix+'_parent');
+                
+                // create parent arrow. wrap with link if parent links and 
separating
+                var arrowElement = $('<span 
class="'+prefix+'_arrow">'+settings.closedSymbol+'</span>');
+                
+                if (settings.allowParentLinks && !settings.nestedParentLinks 
&& containsAnchor)
+                    arrowElement = arrowElement.wrap(wrapElement).parent();
+                
+                //append arrow
+                $(nodes).last().after(arrowElement);
+                
+            
+            } else if ( item.children().length === 0) {
+                 item.addClass(prefix+'_txtnode');
+            }
+            
+            // accessibility for links
+            item.children('a').attr('role', 'menuitem').click(function(event){
+                //Emulate menu close if set
+                //Ensure that it's not a parent
+                if (settings.closeOnClick && 
!$(event.target).parent().closest('li').hasClass(prefix+'_parent'))
+                    $($this.btn).click();
+            });
+            
+            //also close on click if parent links are set
+            if (settings.closeOnClick && settings.allowParentLinks) {
+                item.children('a').children('a').click(function(event){
+                    //Emulate menu close
+                        $($this.btn).click();
+                });
+                
+                item.find('.'+prefix+'_parent-link 
a:not(.'+prefix+'_item)').click(function(event){
+                    //Emulate menu close
+                        $($this.btn).click();
+                });
+            }
+        });
+        
+        // structure is in place, now hide appropriate items
+        $(items).each(function () {
+            var data = $(this).data("menu");
+            if (!settings.showChildren){
+                $this._visibilityToggle(data.children, null, false, null, 
true);
+            }
+        });
+        
+        // finally toggle entire menu
+        $this._visibilityToggle($this.mobileNav, null, false, 'init', true);
+        
+        // accessibility for menu button
+        $this.mobileNav.attr('role','menu');
+        
+        // outline prevention when using mouse
+        $(document).mousedown(function(){
+            $this._outlines(false);
+        });
+        
+        $(document).keyup(function(){
+            $this._outlines(true);
+        });
+        
+        // menu button click
+        $($this.btn).click(function (e) {
+            e.preventDefault();
+            $this._menuToggle();
+        });
+        
+        // click on menu parent
+        $this.mobileNav.on('click', '.'+prefix+'_item', function(e){
+            e.preventDefault();
+            $this._itemClick($(this));
+        });
+        
+        // check for enter key on menu button and menu parents
+        $($this.btn).keydown(function (e) {
+            var ev = e || event;
+            if(ev.keyCode == 13) {
+                e.preventDefault();
+                $this._menuToggle();
+            }
+        });
+        
+        $this.mobileNav.on('keydown', '.'+prefix+'_item', function(e) {
+            var ev = e || event;
+            if(ev.keyCode == 13) {
+                e.preventDefault();
+                $this._itemClick($(e.target));
+            }
+        });
+        
+        // allow links clickable within parent tags if set
+        if (settings.allowParentLinks && settings.nestedParentLinks) {
+            $('.'+prefix+'_item a').click(function(e){
+                    e.stopImmediatePropagation();
+            });
+        }
+    };
+    
+    //toggle menu
+    Plugin.prototype._menuToggle = function(el){
+        var $this = this;
+        var btn = $this.btn;
+        var mobileNav = $this.mobileNav;
+        
+        if (btn.hasClass(prefix+'_collapsed')) {
+            btn.removeClass(prefix+'_collapsed');
+            btn.addClass(prefix+'_open');
+        } else {
+            btn.removeClass(prefix+'_open');
+            btn.addClass(prefix+'_collapsed');
+        }
+        btn.addClass(prefix+'_animating');
+        $this._visibilityToggle(mobileNav, btn.parent(), true, btn);
+    };
+    
+    // toggle clicked items
+    Plugin.prototype._itemClick = function(el) {
+        var $this = this;
+        var settings = $this.settings;
+        var data = el.data("menu");
+        if (!data) {
+            data = {};
+            data.arrow = el.children('.'+prefix+'_arrow');
+            data.ul = el.next('ul');
+            data.parent = el.parent();
+            //Separated parent link structure
+            if (data.parent.hasClass(prefix+'_parent-link')) {
+                data.parent = el.parent().parent();
+                data.ul = el.parent().next('ul');
+            }
+            el.data("menu", data);
+        }
+        if (data.parent.hasClass(prefix+'_collapsed')) {
+            data.arrow.html(settings.openedSymbol);
+            data.parent.removeClass(prefix+'_collapsed');
+            data.parent.addClass(prefix+'_open');
+            data.parent.addClass(prefix+'_animating');
+            $this._visibilityToggle(data.ul, data.parent, true, el);
+        } else {
+            data.arrow.html(settings.closedSymbol);
+            data.parent.addClass(prefix+'_collapsed');
+            data.parent.removeClass(prefix+'_open');
+            data.parent.addClass(prefix+'_animating');
+            $this._visibilityToggle(data.ul, data.parent, true, el);
+        }
+    };
+
+    // toggle actual visibility and accessibility tags
+    Plugin.prototype._visibilityToggle = function(el, parent, animate, 
trigger, init) {
+        var $this = this;
+        var settings = $this.settings;
+        var items = $this._getActionItems(el);
+        var duration = 0;
+        if (animate)
+            duration = settings.duration;
+        
+        if (el.hasClass(prefix+'_hidden')) {
+            el.removeClass(prefix+'_hidden');
+            el.slideDown(duration, settings.easingOpen, function(){
+                
+                $(trigger).removeClass(prefix+'_animating');
+                $(parent).removeClass(prefix+'_animating');
+                
+                //Fire open callback
+                if (!init) {
+                    settings.open(trigger);
+                }
+            });
+            el.attr('aria-hidden','false');
+            items.attr('tabindex', '0');
+            $this._setVisAttr(el, false);
+        } else {
+            el.addClass(prefix+'_hidden');
+            el.slideUp(duration, this.settings.easingClose, function() {
+                el.attr('aria-hidden','true');
+                items.attr('tabindex', '-1');
+                $this._setVisAttr(el, true);
+                el.hide(); //jQuery 1.7 bug fix
+                
+                $(trigger).removeClass(prefix+'_animating');
+                $(parent).removeClass(prefix+'_animating');
+                
+                //Fire init or close callback
+                if (!init)
+                    settings.close(trigger);
+                else if (trigger == 'init')
+                    settings.init();
+            });
+        }
+    };
+
+    // set attributes of element and children based on visibility
+    Plugin.prototype._setVisAttr = function(el, hidden) {
+        var $this = this;
+        
+        // select all parents that aren't hidden
+        var nonHidden = 
el.children('li').children('ul').not('.'+prefix+'_hidden');
+        
+        // iterate over all items setting appropriate tags
+        if (!hidden) {
+            nonHidden.each(function(){
+                var ul = $(this);
+                ul.attr('aria-hidden','false');
+                var items = $this._getActionItems(ul);
+                items.attr('tabindex', '0');
+                $this._setVisAttr(ul, hidden);
+            });
+        } else {
+            nonHidden.each(function(){
+                var ul = $(this);
+                ul.attr('aria-hidden','true');
+                var items = $this._getActionItems(ul);
+                items.attr('tabindex', '-1');
+                $this._setVisAttr(ul, hidden);
+            });
+        }
+    };
+
+    // get all 1st level items that are clickable
+    Plugin.prototype._getActionItems = function(el) {
+        var data = el.data("menu");
+        if (!data) {
+            data = {};
+            var items = el.children('li');
+            var anchors = items.find('a');
+            data.links = anchors.add(items.find('.'+prefix+'_item'));
+            el.data("menu", data);
+        }
+        return data.links;
+    };
+
+    Plugin.prototype._outlines = function(state) {
+        if (!state) {
+            $('.'+prefix+'_item, .'+prefix+'_btn').css('outline','none');
+        } else {
+            $('.'+prefix+'_item, .'+prefix+'_btn').css('outline','');
+        }
+    };
+    
+    Plugin.prototype.toggle = function(){
+        var $this = this;
+        $this._menuToggle();
+    };
+    
+    Plugin.prototype.open = function(){
+        var $this = this;
+        if ($this.btn.hasClass(prefix+'_collapsed')) {
+            $this._menuToggle();
+        }
+    };
+    
+    Plugin.prototype.close = function(){
+        var $this = this;
+        if ($this.btn.hasClass(prefix+'_open')) {
+            $this._menuToggle();
+        }
+    };
+    
+    $.fn[mobileMenu] = function ( options ) {
+        var args = arguments;
+
+        // Is the first parameter an object (options), or was omitted, 
instantiate a new instance
+        if (options === undefined || typeof options === 'object') {
+            return this.each(function () {
+
+                // Only allow the plugin to be instantiated once due to methods
+                if (!$.data(this, 'plugin_' + mobileMenu)) {
+
+                    // if it has no instance, create a new one, pass options 
to our plugin constructor,
+                    // and store the plugin instance in the elements jQuery 
data object.
+                    $.data(this, 'plugin_' + mobileMenu, new Plugin( this, 
options ));
+                }
+            });
+
+        // If is a string and doesn't start with an underscore or 'init' 
function, treat this as a call to a public method.
+        } else if (typeof options === 'string' && options[0] !== '_' && 
options !== 'init') {
+
+            // Cache the method call to make it possible to return a value
+            var returns;
+
+            this.each(function () {
+                var instance = $.data(this, 'plugin_' + mobileMenu);
+
+                // Tests that there's already a plugin-instance and checks 
that the requested public method exists
+                if (instance instanceof Plugin && typeof instance[options] === 
'function') {
+
+                    // Call the method of our plugin instance, and pass it the 
supplied arguments.
+                    returns = instance[options].apply( instance, 
Array.prototype.slice.call( args, 1 ) );
+                }
+            });
+
+            // If the earlier cached method gives a value back return the 
value, otherwise return this to preserve chainability.
+            return returns !== undefined ? returns : this;
+        }
+    };
+}(jQuery, document, window));

Added: trunk/phpgwapi/js/SlickNav/jquery.slicknav.min.js
===================================================================
--- trunk/phpgwapi/js/SlickNav/jquery.slicknav.min.js                           
(rev 0)
+++ trunk/phpgwapi/js/SlickNav/jquery.slicknav.min.js   2014-08-05 12:28:34 UTC 
(rev 12049)
@@ -0,0 +1,6 @@
+/*!
+    SlickNav Responsive Mobile Menu
+    (c) 2014 Josh Cope
+    licensed under MIT
+*/
+;(function(e,t,n){function 
o(t,n){this.element=t;this.settings=e.extend({},r,n);this._defaults=r;this._name=i;this.init()}var
 
r={label:"MENU",duplicate:true,duration:200,easingOpen:"swing",easingClose:"swing",closedSymbol:"&#9658;",openedSymbol:"&#9660;",prependTo:"body",parentTag:"a",closeOnClick:false,allowParentLinks:false,nestedParentLinks:true,showChildren:false,init:function(){},open:function(){},close:function(){}},i="slicknav",s="slicknav";o.prototype.init=function(){var
 n=this;var r=e(this.element);var 
i=this.settings;if(i.duplicate){n.mobileNav=r.clone();n.mobileNav.removeAttr("id");n.mobileNav.find("*").each(function(t,n){e(n).removeAttr("id")})}else
 n.mobileNav=r;var o=s+"_icon";if(i.label===""){o+=" 
"+s+"_no-text"}if(i.parentTag=="a"){i.parentTag='a 
href="#"'}n.mobileNav.attr("class",s+"_nav");var u=e('<div 
class="'+s+'_menu"></div>');n.btn=e("<"+i.parentTag+' aria-haspopup="true" 
tabindex="0" class="'+s+"_btn "+s+'_collapsed"><span 
class="'+s+'_menutxt">'+i.label+'</span><span class="'+o+'"><span 
class="'+s+'_icon-bar"></span><span class="'+s+'_icon-bar"></span><span 
class="'+s+'_icon-bar"></span></span></a>');e(u).append(n.btn);e(i.prependTo).prepend(u);u.append(n.mobileNav);var
 a=n.mobileNav.find("li");e(a).each(function(){var t=e(this);var 
r={};r.children=t.children("ul").attr("role","menu");t.data("menu",r);if(r.children.length>0){var
 o=t.contents();var u=false;var 
a=[];e(o).each(function(){if(!e(this).is("ul")){a.push(this)}else{return 
false}if(e(this).is("a")){u=true}});var f=e("<"+i.parentTag+' role="menuitem" 
aria-haspopup="true" tabindex="-1" 
class="'+s+'_item"/>');if(!i.allowParentLinks||i.nestedParentLinks||!u){var 
l=e(a).wrapAll(f).parent();l.addClass(s+"_row")}else e(a).wrapAll('<span 
class="'+s+"_parent-link 
"+s+'_row"/>').parent();t.addClass(s+"_collapsed");t.addClass(s+"_parent");var 
c=e('<span 
class="'+s+'_arrow">'+i.closedSymbol+"</span>");if(i.allowParentLinks&&!i.nestedParentLinks&&u)c=c.wrap(f).parent();e(a).last().after(c)}else
 
if(t.children().length===0){t.addClass(s+"_txtnode")}t.children("a").attr("role","menuitem").click(function(t){if(i.closeOnClick&&!e(t.target).parent().closest("li").hasClass(s+"_parent"))e(n.btn).click()});if(i.closeOnClick&&i.allowParentLinks){t.children("a").children("a").click(function(t){e(n.btn).click()});t.find("."+s+"_parent-link
 
a:not(."+s+"_item)").click(function(t){e(n.btn).click()})}});e(a).each(function(){var
 
t=e(this).data("menu");if(!i.showChildren){n._visibilityToggle(t.children,null,false,null,true)}});n._visibilityToggle(n.mobileNav,null,false,"init",true);n.mobileNav.attr("role","menu");e(t).mousedown(function(){n._outlines(false)});e(t).keyup(function(){n._outlines(true)});e(n.btn).click(function(e){e.preventDefault();n._menuToggle()});n.mobileNav.on("click","."+s+"_item",function(t){t.preventDefault();n._itemClick(e(this))});e(n.btn).keydown(function(e){var
 
t=e||event;if(t.keyCode==13){e.preventDefault();n._menuToggle()}});n.mobileNav.on("keydown","."+s+"_item",function(t){var
 
r=t||event;if(r.keyCode==13){t.preventDefault();n._itemClick(e(t.target))}});if(i.allowParentLinks&&i.nestedParentLinks){e("."+s+"_item
 
a").click(function(e){e.stopImmediatePropagation()})}};o.prototype._menuToggle=function(e){var
 t=this;var n=t.btn;var 
r=t.mobileNav;if(n.hasClass(s+"_collapsed")){n.removeClass(s+"_collapsed");n.addClass(s+"_open")}else{n.removeClass(s+"_open");n.addClass(s+"_collapsed")}n.addClass(s+"_animating");t._visibilityToggle(r,n.parent(),true,n)};o.prototype._itemClick=function(e){var
 t=this;var n=t.settings;var 
r=e.data("menu");if(!r){r={};r.arrow=e.children("."+s+"_arrow");r.ul=e.next("ul");r.parent=e.parent();if(r.parent.hasClass(s+"_parent-link")){r.parent=e.parent().parent();r.ul=e.parent().next("ul")}e.data("menu",r)}if(r.parent.hasClass(s+"_collapsed")){r.arrow.html(n.openedSymbol);r.parent.removeClass(s+"_collapsed");r.parent.addClass(s+"_open");r.parent.addClass(s+"_animating");t._visibilityToggle(r.ul,r.parent,true,e)}else{r.arrow.html(n.closedSymbol);r.parent.addClass(s+"_collapsed");r.parent.removeClass(s+"_open");r.parent.addClass(s+"_animating");t._visibilityToggle(r.ul,r.parent,true,e)}};o.prototype._visibilityToggle=function(t,n,r,i,o){var
 u=this;var a=u.settings;var f=u._getActionItems(t);var 
l=0;if(r)l=a.duration;if(t.hasClass(s+"_hidden")){t.removeClass(s+"_hidden");t.slideDown(l,a.easingOpen,function(){e(i).removeClass(s+"_animating");e(n).removeClass(s+"_animating");if(!o){a.open(i)}});t.attr("aria-hidden","false");f.attr("tabindex","0");u._setVisAttr(t,false)}else{t.addClass(s+"_hidden");t.slideUp(l,this.settings.easingClose,function(){t.attr("aria-hidden","true");f.attr("tabindex","-1");u._setVisAttr(t,true);t.hide();e(i).removeClass(s+"_animating");e(n).removeClass(s+"_animating");if(!o)a.close(i);else
 if(i=="init")a.init()})}};o.prototype._setVisAttr=function(t,n){var r=this;var 
i=t.children("li").children("ul").not("."+s+"_hidden");if(!n){i.each(function(){var
 t=e(this);t.attr("aria-hidden","false");var 
i=r._getActionItems(t);i.attr("tabindex","0");r._setVisAttr(t,n)})}else{i.each(function(){var
 t=e(this);t.attr("aria-hidden","true");var 
i=r._getActionItems(t);i.attr("tabindex","-1");r._setVisAttr(t,n)})}};o.prototype._getActionItems=function(e){var
 t=e.data("menu");if(!t){t={};var n=e.children("li");var 
r=n.find("a");t.links=r.add(n.find("."+s+"_item"));e.data("menu",t)}return 
t.links};o.prototype._outlines=function(t){if(!t){e("."+s+"_item, 
."+s+"_btn").css("outline","none")}else{e("."+s+"_item, 
."+s+"_btn").css("outline","")}};o.prototype.toggle=function(){var 
e=this;e._menuToggle()};o.prototype.open=function(){var 
e=this;if(e.btn.hasClass(s+"_collapsed")){e._menuToggle()}};o.prototype.close=function(){var
 e=this;if(e.btn.hasClass(s+"_open")){e._menuToggle()}};e.fn[i]=function(t){var 
n=arguments;if(t===undefined||typeof t==="object"){return 
this.each(function(){if(!e.data(this,"plugin_"+i)){e.data(this,"plugin_"+i,new 
o(this,t))}})}else if(typeof t==="string"&&t[0]!=="_"&&t!=="init"){var 
r;this.each(function(){var s=e.data(this,"plugin_"+i);if(s instanceof o&&typeof 
s[t]==="function"){r=s[t].apply(s,Array.prototype.slice.call(n,1))}});return 
r!==undefined?r:this}}})(jQuery,document,window)
\ No newline at end of file

Added: trunk/phpgwapi/js/SlickNav/modernizr.min.js
===================================================================
--- trunk/phpgwapi/js/SlickNav/modernizr.min.js                         (rev 0)
+++ trunk/phpgwapi/js/SlickNav/modernizr.min.js 2014-08-05 12:28:34 UTC (rev 
12049)
@@ -0,0 +1,4 @@
+/* Modernizr 2.6.2 (Custom Build) | MIT & BSD
+ * Build: 
http://modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-applicationcache-canvas-canvastext-draganddrop-hashchange-history-audio-video-indexeddb-input-inputtypes-localstorage-postmessage-sessionstorage-websockets-websqldatabase-webworkers-geolocation-inlinesvg-smil-svg-svgclippaths-touch-webgl-shiv-mq-cssclasses-addtest-prefixed-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load
+ */
+;window.Modernizr=function(a,b,c){function D(a){j.cssText=a}function 
E(a,b){return D(n.join(a+";")+(b||""))}function F(a,b){return typeof 
a===b}function G(a,b){return!!~(""+a).indexOf(b)}function H(a,b){for(var d in 
a){var e=a[d];if(!G(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function 
I(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return 
d===!1?a[e]:F(f,"function")?f.bind(d||b):f}return!1}function J(a,b,c){var 
d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+p.join(d+" ")+d).split(" 
");return F(b,"string")||F(b,"undefined")?H(e,b):(e=(a+" "+q.join(d+" 
")+d).split(" "),I(e,b,c))}function K(){e.input=function(c){for(var 
d=0,e=c.length;d<e;d++)u[c[d]]=c[d]in k;return 
u.list&&(u.list=!!b.createElement("datalist")&&!!a.HTMLDataListElement),u}("autocomplete
 autofocus list placeholder max min multiple pattern required step".split(" 
")),e.inputtypes=function(a){for(var 
d=0,e,f,h,i=a.length;d<i;d++)k.setAttribute("type",f=a[d]),e=k.type!=="text",e&&(k.value=l,k.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(f)&&k.style.WebkitAppearance!==c?(g.appendChild(k),h=b.defaultView,e=h.getComputedStyle&&h.getComputedStyle(k,null).WebkitAppearance!=="textfield"&&k.offsetHeight!==0,g.removeChild(k)):/^(search|tel)$/.test(f)||(/^(url|email)$/.test(f)?e=k.checkValidity&&k.checkValidity()===!1:e=k.value!=l)),t[a[d]]=!!e;return
 t}("search tel url email datetime date month week time datetime-local number 
range color".split(" "))}var 
d="2.6.2",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k=b.createElement("input"),l=":)",m={}.toString,n="
 -webkit- -moz- -o- -ms- ".split(" "),o="Webkit Moz O ms",p=o.split(" 
"),q=o.toLowerCase().split(" 
"),r={svg:"http://www.w3.org/2000/svg"},s={},t={},u={},v=[],w=v.slice,x,y=function(a,c,d,e){var
 
f,i,j,k,l=b.createElement("div"),m=b.body,n=m||b.createElement("body");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:h+(d+1),l.appendChild(j);return
 f=["&#173;",'<style 
id="s',h,'">',a,"</style>"].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},z=function(b){var
 c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return y("@media 
"+b+" { #"+h+" { position: absolute; } 
}",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)["position"]=="absolute"}),d},A=function(){function
 d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;return 
f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=F(e[d],"function"),F(e[d],"undefined")||(e[d]=c),e.removeAttribute(d))),e=null,f}var
 
a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return
 
d}(),B={}.hasOwnProperty,C;!F(B,"undefined")&&!F(B.call,"undefined")?C=function(a,b){return
 B.call(a,b)}:C=function(a,b){return b in 
a&&F(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var
 c=this;if(typeof c!="function")throw new TypeError;var 
d=w.call(arguments,1),e=function(){if(this instanceof e){var 
a=function(){};a.prototype=c.prototype;var f=new 
a,g=c.apply(f,d.concat(w.call(arguments)));return Object(g)===g?g:f}return 
c.apply(b,d.concat(w.call(arguments)))};return e}),s.flexbox=function(){return 
J("flexWrap")},s.canvas=function(){var 
a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},s.canvastext=function(){return!!e.canvas&&!!F(b.createElement("canvas").getContext("2d").fillText,"function")},s.webgl=function(){return!!a.WebGLRenderingContext},s.touch=function(){var
 c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof 
DocumentTouch?c=!0:y(["@media 
(",n.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},s.geolocation=function(){return"geolocation"in
 
navigator},s.postmessage=function(){return!!a.postMessage},s.websqldatabase=function(){return!!a.openDatabase},s.indexedDB=function(){return!!J("indexedDB",a)},s.hashchange=function(){return
 
A("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},s.history=function(){return!!a.history&&!!history.pushState},s.draganddrop=function(){var
 a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in 
a},s.websockets=function(){return"WebSocket"in a||"MozWebSocket"in 
a},s.rgba=function(){return 
D("background-color:rgba(150,255,150,.5)"),G(j.backgroundColor,"rgba")},s.hsla=function(){return
 
D("background-color:hsla(120,40%,100%,.5)"),G(j.backgroundColor,"rgba")||G(j.backgroundColor,"hsla")},s.multiplebgs=function(){return
 D("background:url(https://),url(https://),red 
url(https://)"),/(url\s*\(.*?){3}/.test(j.background)},s.backgroundsize=function(){return
 J("backgroundSize")},s.borderimage=function(){return 
J("borderImage")},s.borderradius=function(){return 
J("borderRadius")},s.boxshadow=function(){return 
J("boxShadow")},s.textshadow=function(){return 
b.createElement("div").style.textShadow===""},s.opacity=function(){return 
E("opacity:.55"),/^0.55$/.test(j.opacity)},s.cssanimations=function(){return 
J("animationName")},s.csscolumns=function(){return 
J("columnCount")},s.cssgradients=function(){var 
a="background-image:",b="gradient(linear,left top,right 
bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, 
white);";return D((a+"-webkit- ".split(" 
").join(b+a)+n.join(c+a)).slice(0,-a.length)),G(j.backgroundImage,"gradient")},s.cssreflections=function(){return
 
J("boxReflect")},s.csstransforms=function(){return!!J("transform")},s.csstransforms3d=function(){var
 a=!!J("perspective");return a&&"webkitPerspective"in g.style&&y("@media 
(transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},s.csstransitions=function(){return
 J("transition")},s.fontface=function(){var a;return y('@font-face 
{font-family:"font";src:url("https://";)}',function(c,d){var 
e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&g.indexOf(d.split("
 ")[0])===0}),a},s.generatedcontent=function(){var a;return y(["#",h,"{font:0/0 
a}#",h,':after{content:"',l,'";visibility:hidden;font:3px/1 
a}'].join(""),function(b){a=b.offsetHeight>=3}),a},s.video=function(){var 
a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType)c=new 
Boolean(c),c.ogg=a.canPlayType('video/ogg; 
codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; 
codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; 
codecs="vp8, vorbis"').replace(/^no$/,"")}catch(d){}return 
c},s.audio=function(){var 
a=b.createElement("audio"),c=!1;try{if(c=!!a.canPlayType)c=new 
Boolean(c),c.ogg=a.canPlayType('audio/ogg; 
codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav;
 
codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,"")}catch(d){}return
 c},s.localstorage=function(){try{return 
localStorage.setItem(h,h),localStorage.removeItem(h),!0}catch(a){return!1}},s.sessionstorage=function(){try{return
 
sessionStorage.setItem(h,h),sessionStorage.removeItem(h),!0}catch(a){return!1}},s.webworkers=function(){return!!a.Worker},s.applicationcache=function(){return!!a.applicationCache},s.svg=function(){return!!b.createElementNS&&!!b.createElementNS(r.svg,"svg").createSVGRect},s.inlinesvg=function(){var
 a=b.createElement("div");return 
a.innerHTML="<svg/>",(a.firstChild&&a.firstChild.namespaceURI)==r.svg},s.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(m.call(b.createElementNS(r.svg,"animate")))},s.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(m.call(b.createElementNS(r.svg,"clipPath")))};for(var
 L in 
s)C(s,L)&&(x=L.toLowerCase(),e[x]=s[L](),v.push((e[x]?"":"no-")+x));return 
e.input||K(),e.addTest=function(a,b){if(typeof a=="object")for(var d in 
a)C(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return 
e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" 
"+(b?"":"no-")+a),e[a]=b}return e},D(""),i=k=null,function(a,b){function 
k(a,b){var 
c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return
 
c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function
 l(){var a=r.elements;return typeof a=="string"?a.split(" "):a}function 
m(a){var b=i[a[g]];return b||(b={},h++,a[g]=h,i[h]=b),b}function 
n(a,c,f){c||(c=b);if(j)return c.createElement(a);f||(f=m(c));var g;return 
f.cache[a]?g=f.cache[a].cloneNode():e.test(a)?g=(f.cache[a]=f.createElem(a)).cloneNode():g=f.createElem(a),g.canHaveChildren&&!d.test(a)?f.frag.appendChild(g):g}function
 o(a,c){a||(a=b);if(j)return a.createDocumentFragment();c=c||m(a);var 
d=c.frag.cloneNode(),e=0,f=l(),g=f.length;for(;e<g;e++)d.createElement(f[e]);return
 d}function 
p(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return
 
r.shivMethods?n(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return
 function(){var 
n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+l().join().replace(/\w+/g,function(a){return
 b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return 
n}")(r,b.frag)}function q(a){a||(a=b);var c=m(a);return 
r.shivCSS&&!f&&!c.hasCSS&&(c.hasCSS=!!k(a,"article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}")),j||p(a,c),a}var
 
c=a.html5||{},d=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,e=/^(?: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,f,g="_html5shiv",h=0,i={},j;(function(){try{var
 a=b.createElement("a");a.innerHTML="<xyz></xyz>",f="hidden"in 
a,j=a.childNodes.length==1||function(){b.createElement("a");var 
a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof 
a.createDocumentFragment=="undefined"||typeof 
a.createElement=="undefined"}()}catch(c){f=!0,j=!0}})();var 
r={elements:c.elements||"abbr article aside audio bdi canvas data datalist 
details figcaption figure footer header hgroup mark meter nav output progress 
section summary time 
video",shivCSS:c.shivCSS!==!1,supportsUnknownElements:j,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:q,createElement:n,createDocumentFragment:o};a.html5=r,q(b)}(this,b),e._version=d,e._prefixes=n,e._domPrefixes=q,e._cssomPrefixes=p,e.mq=z,e.hasEvent=A,e.testProp=function(a){return
 H([a])},e.testAllProps=J,e.testStyles=y,e.prefixed=function(a,b,c){return 
b?J(a,b,c):J(a,"pfx")},g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?"
 js "+v.join(" "):""),e}(this,this.document),function(a,b,c){function 
d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof 
a}function f(){}function 
g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var 
a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function
 i(a,c,d,e,f,i,j){function 
k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var
 d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var 
j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function
 j(a,b,c,d,f){return 
q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function
 k(){var a=B;return a.loader={load:j,i:0},a}var 
l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in
 
l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object
 
Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object
 Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return 
b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var 
a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f<d;f++)g=a[f].split("="),(e=z[g.shift()])&&(c=e(c,g));for(f=0;f<b;f++)c=x[f](c);return
 c}function g(a,e,f,g,h){var 
i=b(a),j=i.autoCallback;i.url.split(".").pop().split("?").shift(),i.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split("/").pop().split("?")[0]]),i.instead?i.instead(a,e,f,g,h):(y[i.url]?i.noexec=!0:y[i.url]=1,f.load(i.url,i.forceCSS||!i.forceJS&&"css"==i.url.split(".").pop().split("?").shift()?"c":c,i.noexec,i.attrs,i.timeout),(d(e)||d(j))&&f.load(function(){k(),e&&e(i.origUrl,h,g),j&&j(i.origUrl,h,g),y[i.url]=2})))}function
 h(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var 
a=[].slice.call(arguments);k.apply(this,a),l()}),g(a,j,b,0,h);else 
if(Object(a)===a)for(n in m=function(){var b=0,c;for(c in 
a)a.hasOwnProperty(c)&&b++;return 
b}(),a)a.hasOwnProperty(n)&&(!c&&!--m&&(d(j)?j=function(){var 
a=[].slice.call(arguments);k.apply(this,a),l()}:j[n]=function(a){return 
function(){var 
b=[].slice.call(arguments);a&&a.apply(this,b),l()}}(k[n])),g(a[n],j,b,n,h))}else!c&&l()}var
 
h=!!a.test,i=a.load||a.both,j=a.callback||f,k=j,l=a.complete||f,m,n;c(h?a.yep:a.nope,!!i),i&&c(i)}var
 i,j,l=this.yepnope.loader;if(e(a))g(a,0,l,0);else 
if(w(a))for(i=0;i<a.length;i++)j=a[i],e(j)?g(j,0,l,0):w(j)?B(j):Object(j)===j&&h(j,l);else
 
Object(a)===a&&h(a,l)},B.addPrefix=function(a,b){z[a]=b},B.addFilter=function(a){x.push(a)},B.errorTimeout=1e4,null==b.readyState&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",A=function(){b.removeEventListener("DOMContentLoaded",A,0),b.readyState="complete"},0)),a.yepnope=k(),a.yepnope.executeStack=h,a.yepnope.injectJs=function(a,c,d,e,i,j){var
 k=b.createElement("script"),l,o,e=e||B.errorTimeout;k.src=a;for(o in 
d)k.setAttribute(o,d[o]);c=j?h:c||f,k.onreadystatechange=k.onload=function(){!l&&g(k.readyState)&&(l=1,c(),k.onload=k.onreadystatechange=null)},m(function(){l||(l=1,c(1))},e),i?k.onload():n.parentNode.insertBefore(k,n)},a.yepnope.injectCss=function(a,c,d,e,g,i){var
 
e=b.createElement("link"),j,c=i?h:c||f;e.href=a,e.rel="stylesheet",e.type="text/css";for(j
 in 
d)e.setAttribute(j,d[j]);g||(n.parentNode.insertBefore(e,n),m(c,0))}}(this,document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))};

Added: trunk/phpgwapi/js/SlickNav/slicknav.css
===================================================================
--- trunk/phpgwapi/js/SlickNav/slicknav.css                             (rev 0)
+++ trunk/phpgwapi/js/SlickNav/slicknav.css     2014-08-05 12:28:34 UTC (rev 
12049)
@@ -0,0 +1,103 @@
+/*
+    Mobile Menu Core Style
+*/
+
+.slicknav_btn { position: relative; display: block; vertical-align: middle; 
float: right; padding: 0.438em 0.625em 0.438em 0.625em; line-height: 1.125em; 
cursor: pointer; }
+.slicknav_menu  .slicknav_menutxt { display: block; line-height: 1.188em; 
float: left; }
+.slicknav_menu .slicknav_icon { float: left; margin: 0.188em 0 0 0.438em; }
+.slicknav_menu .slicknav_no-text { margin: 0 }
+.slicknav_menu .slicknav_icon-bar { display: block; width: 1.125em; height: 
0.125em; -webkit-border-radius: 1px; -moz-border-radius: 1px; border-radius: 
1px; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); -moz-box-shadow: 0 1px 0 
rgba(0, 0, 0, 0.25); box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); }
+.slicknav_btn .slicknav_icon-bar + .slicknav_icon-bar { margin-top: 0.188em }
+.slicknav_nav { clear: both }
+.slicknav_nav ul,
+.slicknav_nav li { display: block }
+.slicknav_nav .slicknav_arrow { font-size: 0.8em; margin: 0 0 0 0.4em; }
+.slicknav_nav .slicknav_item { cursor: pointer; }
+.slicknav_nav .slicknav_row { display: block; }
+.slicknav_nav a { display: block }
+.slicknav_nav .slicknav_item a,
+.slicknav_nav .slicknav_parent-link a { display: inline }
+.slicknav_menu:before,
+.slicknav_menu:after { content: " "; display: table; }
+.slicknav_menu:after { clear: both }
+/* IE6/7 support */
+.slicknav_menu { *zoom: 1 }
+
+/* 
+    User Default Style
+    Change the following styles to modify the appearance of the menu.
+*/
+
+.slicknav_menu {
+    font-size:16px;
+}
+/* Button */
+.slicknav_btn {
+    margin: 5px 5px 6px;
+    text-decoration:none;
+    text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
+    -webkit-border-radius: 4px;
+    -moz-border-radius: 4px;
+    border-radius: 4px;  
+    background-color: #222222;
+}
+/* Button Text */
+.slicknav_menu  .slicknav_menutxt {
+    color: #FFF;
+    font-weight: bold;
+    text-shadow: 0 1px 3px #000;
+}
+/* Button Lines */
+.slicknav_menu .slicknav_icon-bar {
+  background-color: #f5f5f5;
+}
+.slicknav_menu {
+    background:#4c4c4c;
+    padding:5px;
+}
+.slicknav_nav {
+    color:#fff;
+    margin:0;
+    padding:0;
+    font-size:0.875em;
+}
+.slicknav_nav, .slicknav_nav ul {
+    list-style: none;
+    overflow:hidden;
+}
+.slicknav_nav ul {
+    padding:0;
+    margin:0 0 0 20px;
+}
+.slicknav_nav .slicknav_row {
+    padding:5px 10px;
+    margin:2px 5px;
+}
+.slicknav_nav a{
+    padding:5px 10px;
+    margin:2px 5px;
+    text-decoration:none;
+    color:#fff;
+}
+.slicknav_nav .slicknav_item a,
+.slicknav_nav .slicknav_parent-link a {
+    padding:0;
+    margin:0;
+}
+.slicknav_nav .slicknav_row:hover {
+    -webkit-border-radius: 6px;
+    -moz-border-radius: 6px;
+    border-radius: 6px;
+    background:#ccc;
+    color:#fff;
+}
+.slicknav_nav a:hover{
+    -webkit-border-radius: 6px;
+    -moz-border-radius: 6px;
+    border-radius: 6px;
+    background:#ccc;
+    color:#222;
+}
+.slicknav_nav .slicknav_txtnode {
+     margin-left:15px;
+}
\ No newline at end of file

Added: trunk/phpgwapi/templates/pure/css/HISTORY.md
===================================================================
--- trunk/phpgwapi/templates/pure/css/HISTORY.md                                
(rev 0)
+++ trunk/phpgwapi/templates/pure/css/HISTORY.md        2014-08-05 12:28:34 UTC 
(rev 12049)
@@ -0,0 +1,413 @@
+Pure Change History
+===================
+
+0.5.0 (2014-05-27)
+------------------
+
+### Base
+
+* Added the `.pure-img` class name for make images scale with the viewport in
+  fluid layouts.
+
+### Grids
+
+* __[!]__ Removed `.pure-g-r` from core, in favor of a mobile-first responsive
+  grid system. ([#24][], [#267][])
+
+  To use the mobile-first grid system, you need to pull in `pure.css`, along
+  with `grids-responsive.css`. We also have `grids-responsive-old-ie.css` that
+  you can serve to IE < 9 users so that they can view a desktop-version of your
+  website:
+
+    ```html
+    <link rel="stylesheet" 
href="http://yui.yahooapis.com/pure/0.5.0-rc-1/pure-min.css";>
+
+    <!--[if lt IE 9]>
+        <link rel="stylesheet" 
href="http://yui.yahooapis.com/pure/0.5.0-rc-1/grids-responsive-old-ie-min.css";>
+    <![endif]-->
+    <!--[if gt IE 8]><!-->
+        <link rel="stylesheet" 
href="http://yui.yahooapis.com/pure/0.5.0-rc-1/grids-responsive-min.css";>
+    <!--<![endif]-->
+    ```
+
+  Find out more about the new grid system at <http://purecss.io/grids/>.
+
+### Tables
+
+* Switched cell padding in Tables from `px` to `em` units, and also increased
+  the amount of padding to `padding: 0.5em 1em`.
+
+
+[#24]: https://github.com/yui/pure/issues/24
+[#267]: https://github.com/yui/pure/pull/267
+
+
+0.4.2 (2014-02-13)
+------------------
+
+* Added `main` to Pure's `bower.json` file to allow easier integration with
+  build processes and tooling. ([#286][] @stevenvachon)
+
+### Forms
+
+* Improved how `<input type="color">` elements look in Chrome by fixing
+  paddings. ([#283][] @jpetto)
+
+* Removed `font-size` rules from `<input>`, `<legend>`, and `<fieldset>`
+  elements within `.pure-form`. Font sizes are now inherited from the
+  application's CSS file. ([#265][])
+
+* Invalid `<input>` elements within a Pure Form no longer explicitly set a
+  `border-width`. ([#295][] @kwando)
+
+
+[#265]: https://github.com/yui/pure/issues/265
+[#283]: https://github.com/yui/pure/issues/283
+[#286]: https://github.com/yui/pure/issues/286
+[#295]: https://github.com/yui/pure/issues/295
+
+
+0.4.1 (2014-02-06)
+------------------
+
+### Base
+
+* Elements that have Pure classnames which set a `display` declaration _and_ 
use
+  the `hidden` HTML attribute will now properly be hidden. With these changes,
+  the following button will be hidden from view:
+
+    ```html
+    <button class="pure-button" hidden>No showy</button>
+    ```
+
+  A new rule for the `[hidden]` selector has been added with the declaration:
+  `display: none !important;`. This is a time where it's appropriate for a
+  project like Pure to use `!important`. ([#177][])
+
+### Buttons
+
+* Removed all the occurrences of `-ms-linear-gradient()` from Buttons since it
+  has never been in the final version of IE 10. ([#200][]: @AurelioDeRosa)
+
+* `<input>` Buttons now have the same height as non-input buttons.
+  `font-family: inherit;` has been added to the `.pure-button` selector to
+  normalize the difference in height. ([#221][] @narcis-radu)
+
+* Buttons now have visually uniform default `padding` on all four sides. The
+  left/right padding is 2x the top/bottom padding. ([#191][] @achalv)
+
+### Forms
+
+* Added `vertical-align: top;` to `<textarea>`s within `.pure-form-aligned`
+  Forms to fix an alignment issue where its label was aligned to the middle.
+  ([#174][] @rictorres, @ItsAsbreuk)
+
+* Added styling for `<input>` elements that don't have a `type` attribute.
+  ([#261][] @dougdavies)
+
+### Grids
+
+* Added all non-reduced fractions to Grids default 5ths- and 24ths-based units.
+  There are now styles specified for `.pure-u-1-24` – `.pure-u-24-24`. All 
5ths-
+  based units and reduced factions still remain; e.g., both `.pure-u-12-24` and
+  `.pure-u-1-2` exist. ([#144][] @mike-engel)
+
+* Removed `grids-units.css` from `src/`, this file is now generated via a Grunt
+  task. The units generation is done via the new
+  [`rework-pure-grids`][rework-pure-grids] [Rework][] plugin, and it can be 
used
+  to create any custom nth-based units for Pure's Grids system.
+
+### Menus
+
+* Removed hard-coded height for horizontal menus. ([#164][])
+
+
+[#144]: https://github.com/yui/pure/issues/144
+[#164]: https://github.com/yui/pure/issues/164
+[#174]: https://github.com/yui/pure/issues/174
+[#177]: https://github.com/yui/pure/issues/177
+[#191]: https://github.com/yui/pure/issues/191
+[#200]: https://github.com/yui/pure/issues/200
+[#221]: https://github.com/yui/pure/issues/221
+[#261]: https://github.com/yui/pure/issues/261
+
+[rework-pure-grids]: https://github.com/ericf/rework-pure-grids
+[Rework]: https://github.com/visionmedia/rework
+
+
+0.4.0 (2014-02-06)
+------------------
+
+* __[!]__ Corrupted release build, use `0.4.1`.
+
+
+0.3.0 (2013-09-09)
+------------------
+
+* __[!]__ Pure now requires the Base module (which is Normalize.css) to be on
+  the page. Pure has essentially always required the styles provided by
+  Normalize.css via the Base module, and this now makes it a firm requirement.
+  The `pure-min.css` and `pure-nr-min.css` rollup files already include the 
Base
+  module.
+
+  **Note:** When using a [custom subset][Customize] of Pure, be sure to include
+  the Base module.
+
+* Added non-minified rollup files: `pure.css` and `pure-nr.css`. These files 
are
+  created in addition to the minified rollups: `pure-min.css` and
+  `pure-nr-min.css`. The minified rollups _should_ be used in production.
+  ([#171][] @omeid)
+
+### Base
+
+* __[!]__ Removed Normalize.css from checked-in `src/`. Bower is now used to
+  programmatically import Normalize.css into `bower_components/` if it's not
+  already installed. Normalize.css is still bundled with Pure, this change is a
+  development-time change only. ([#160][])
+
+### Buttons
+
+* Removed `-webkit-font-smoothing: antialiased` rule from Buttons. Pure should
+  not dictate sub-pixel font rendering, that should be left to the person's
+  browser settings and/or the developer. ([#170][] @dchest)
+
+### Forms
+
+* __[!]__ Removed `forms-core.css`. This was a copy of Normalize.css' form
+  related styles. Now that Pure requires the Base module (Normalize.css) to be
+  on the page, the Forms Core submodule is no longer needed. ([#160][])
+
+* Added `:focus` styles to `[readonly]` `<input>` elements. ([#143][])
+
+* Removed `-webkit-font-smoothing: antialiased` rule from Forms input styles.
+  Pure should not dictate sub-pixel font rendering, that should be left to the
+  person's browser settings and/or the developer. ([#185][] @dchest)
+
+### Grids
+
+* __[!]__ Improved support for Grids across OS/browser combinations, and its
+  ability to withstand the use of non-default fonts when set by either the
+  person in their browser settings or by the developer using custom fonts.
+
+  Grids now uses CSS3 Flexbox when possible to avoid the side-effects of 
setting
+  a negative `letter-spacing` — the fallback for older browsers. Grids also now
+  uses a specific font stack on `.pure-g` and `.pure-g-r` classes to ensure the
+  greatest OS/browser compatibility when non-default fonts are being used. By
+  default grid units will now have `font-family: sans-serif;` applied — this is
+  the default font stack Pure's Base module (Normalize.css) applies to the
+  `<body>`.
+
+  This is a **breaking change** if you are using any non-default fonts in your
+  web project. Fortunately, it's quite easy to make sure your custom font 
stacks
+  apply to content within Pure Girds. Instead of applying your custom font to
+  only the `<body>` element, apply it to the grid units as well:
+
+    ```css
+    body,
+    .pure-g [class *= "pure-u"],
+    .pure-g-r [class *= "pure-u"] {
+        /* Set you're content font stack here: */
+        font-family: Georgia, Times, "Times New Roman", serif;
+    }
+    ```
+
+  Refer to the [Grids Documentation][Grids-fonts] for more details on using
+  non-default fonts with Pure Grids.
+  ([#41][], [#162][], [#166][], [#189][]: @adapterik @dannyfritz, @pandeiro)
+
+* Fixed grid units from falling to a new line on IE 6 and IE 7. Grid units now
+  have a separate `*width` value for these older versions of IE. This value is
+  `0.005%` less than the standard `width` value. This fix does not affect 
modern
+  browsers because it uses the star hack. ([#154][])
+
+* Added a `height: auto` rule to images within a `.pure-g-r` so that their
+  aspect ratios are maintained when the page is resized. ([#172][]: @dchest)
+
+
+[#41]: https://github.com/yui/pure/issues/41
+[#143]: https://github.com/yui/pure/issues/143
+[#154]: https://github.com/yui/pure/issues/154
+[#160]: https://github.com/yui/pure/issues/160
+[#162]: https://github.com/yui/pure/issues/162
+[#166]: https://github.com/yui/pure/issues/166
+[#170]: https://github.com/yui/pure/issues/170
+[#171]: https://github.com/yui/pure/issues/171
+[#172]: https://github.com/yui/pure/issues/172
+[#185]: https://github.com/yui/pure/issues/185
+[#189]: https://github.com/yui/pure/issues/189
+
+[Customize]: http://purecss.io/customize/
+[Grids-fonts]: http://purecss.io/grids/#using-grids-with-custom-fonts
+
+
+0.2.1 (2013-07-17)
+------------------
+
+### Forms
+
+* __[!]__ Made `[readonly]` `<input>`s look visually different to `[disabled]`
+  and regular `<input>`s. ([#102][]: @jaseg)
+
+* Fixed copy/paste bug that mapped text inputs to `.pure-form` instead of
+  `.pure-group`. The `.pure-form-group input` styles are now applied to all
+  text-ish `<input>` elements. ([#96][])
+
+* Fixed `.pure-input-rounded` styles to now apply correctly. The change to use
+  more specific selectors for text-ish inputs in v0.2.0 caused the
+  `.pure-input-rounded` selector to not apply because it was less specific. 
This
+  selector now has right specificity. ([#109][]: @AurelioDeRosa)
+
+* Added `display: block` to `<textarea>`s in `.pure-form-stacked` `<form>`s to
+  fix an alignment issue for subsequent elements. ([#90][]: @AurelioDeRosa)
+
+* Removed the gray `color` from `.pure-form label`. This allows `<label>`s to
+  inherit their foreground color. ([#89][]: @AurelioDeRosa)
+
+### Grids
+
+* __[!]__ Changed `.pure-u-1` grid unit to now use `width: 100%` instead of
+  `display: block` to achieve taking up the full width of its container. This
+  makes it easier to override and align since it's using `display: 
inline-block`
+  like the other grid units. ([#94][])
+
+* Fixed `width` value typo in `.pure-u-1-6`, changed it from `16.656%` to
+  `16.666%`. ([#115][]: @chilts)
+
+### Menus
+
+* __[!]__ Fixed broken styling of active paginator items by using Grids CSS
+  rules to layout items horizontally; this makes sure the active item isn't
+  overlapped. ([#127][])
+
+### Tables
+
+* Removed `white-space: nowrap` from `.pure-table thead`. This fixes issues
+  where tables inside of grids would break the grid. ([#95][]: @AurelioDeRosa)
+
+
+[#89]: https://github.com/yui/pure/issues/89
+[#90]: https://github.com/yui/pure/issues/90
+[#94]: https://github.com/yui/pure/issues/94
+[#95]: https://github.com/yui/pure/issues/95
+[#96]: https://github.com/yui/pure/issues/96
+[#102]: https://github.com/yui/pure/issues/102
+[#109]: https://github.com/yui/pure/issues/109
+[#115]: https://github.com/yui/pure/issues/115
+[#127]: https://github.com/yui/pure/issues/127
+[#172]: https://github.com/yui/pure/pull/172
+
+
+0.2.0 (2013-06-11)
+------------------
+
+* __[!]__ Fixed accessibility mistake by removing `a:focus {outline: none;}`
+  rule from `buttons-core.css`.
+
+* __[!]__ Improved `:focus` styles by applying the same rules that are used by
+  `:hover` styles. When overriding Pure's `:hover` styles, be sure to include
+  `:focus` selectors as well.
+
+* Added improvements to developer workflow:
+
+    * Added basic Tests using CSSLint via `grunt test` ([#25][])
+
+    * Integrated Travis CI which runs `grunt test` on pushes to `master` and 
for
+      pull requests.
+
+    * Added `grunt watch` task which runs tests and build.
+
+    * Added support to `pure-site` for serving `pure` locally during
+      development. ([#46][], [yui/pure-site#111][])
+
+* Removed vendor prefixes for `box-shadow`, `text-shadow`, `border-radius`. All
+  modern browsers support the non-prefixed versions of these properties.
+  ([#23][])
+
+### Forms
+
+* __[!]__ Replaced `.pure-help-inline` with `.pure-form-message-inline`. We
+  still support the older classname but it is deprecated and will be going away
+  in a future release. ([#32][]: @dannytatom)
+
+* Added a new class called `.pure-form-message`. It works the same way as
+  `.pure-form-message-inline` but is meant for block elements.
+  ([#32][]: @dannytatom)
+
+* Added focus styles for file, radio, and checkbox `<input>`s to improve
+  accessibility. ([#42][]: @codepb)
+
+* `<textarea>`s now have the same styling as `<input>`s. ([#49][]: @rcbdev)
+
+* `.pure-form input` rules are now more specific by targetting only "texty"
+  `<inputs>`. This prevents these styles from affecting "buttony" `<input>`s.
+  ([#54][])
+
+### Grids
+
+* Elements with classnames before the responsive grid's unit classnames now
+  works correctly. Before units were targeted using the `^=` ("starts with")
+  selector, which meant that if another classname preceded the unit classname,
+  then the rule would not apply. ([#44][])
+
+### Menus
+
+* Added `.pure-menu-separator` classname that can be used to visually
+  separate horizontal menu items. ([#53][]: @codepb, @mseri)
+
+* Focused menus have an `outline: none` by default. Instead, menu-items that
+  have been opened to display children (in a drop-down menu) get a slight
+  background (`#dedede`) for accessibility. ([#22][])
+
+
+[#22]: https://github.com/yui/pure/issues/22
+[#23]: https://github.com/yui/pure/issues/23
+[#25]: https://github.com/yui/pure/issues/25
+[#32]: https://github.com/yui/pure/issues/32
+[#42]: https://github.com/yui/pure/issues/42
+[#44]: https://github.com/yui/pure/issues/44
+[#46]: https://github.com/yui/pure/issues/46
+[#49]: https://github.com/yui/pure/issues/49
+[#53]: https://github.com/yui/pure/issues/53
+[#54]: https://github.com/yui/pure/issues/54
+
+[yui/pure-site#111]: https://github.com/yui/pure-site/issues/111
+
+
+0.1.0 (2013-05-24)
+------------------
+
+* __[!]__ Initial public release.
+
+* Upgraded Normalize.css to 1.1.2.
+
+* Integrated Bower into `grunt import` process.
+
+* Cleaned up manual test files, removing unnecessary CSS files and cruft.
+
+### Buttons
+
+* Added `border-radius: 2px` to enhance the appearance the they are click-able.
+
+### Menus
+
+* Removed `border-radius` from vertical menus.
+
+* Replaced blue hover for menus with light grey (`#eee`)
+
+* Removed `font-weight: bold` from selected menu items.
+
+
+0.0.2 (2013-05-16)
+------------------
+
+* __[!]__ Renamed to Pure.
+
+* __[!]__ Renamed CSS classname prefix to `pure`.
+
+* Preview release (2).
+
+
+0.0.1 (2013-05-14)
+------------------
+
+* Preview release.

Added: trunk/phpgwapi/templates/pure/css/LICENSE.md
===================================================================
--- trunk/phpgwapi/templates/pure/css/LICENSE.md                                
(rev 0)
+++ trunk/phpgwapi/templates/pure/css/LICENSE.md        2014-08-05 12:28:34 UTC 
(rev 12049)
@@ -0,0 +1,52 @@
+Software License Agreement (BSD License)
+========================================
+
+Copyright 2014 Yahoo! Inc. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+
+    * Redistributions in binary form must reproduce the above copyright
+      notice, this list of conditions and the following disclaimer in the
+      documentation and/or other materials provided with the distribution.
+
+    * Neither the name of the Yahoo! Inc. nor the
+      names of its contributors may be used to endorse or promote products
+      derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL YAHOO! INC. BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+Normalize.css License
+=====================
+
+Copyright (c) Nicolas Gallagher and Jonathan Neal
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 
of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Added: trunk/phpgwapi/templates/pure/css/README.md
===================================================================
--- trunk/phpgwapi/templates/pure/css/README.md                         (rev 0)
+++ trunk/phpgwapi/templates/pure/css/README.md 2014-08-05 12:28:34 UTC (rev 
12049)
@@ -0,0 +1,170 @@
+Pure
+====
+
+[![Pure](http://f.cl.ly/items/2y0M0E2Q3a2H0z1N1Y19/pure-banner.png)][Pure]
+
+A set of small, responsive CSS modules that you can use in every web project.
+[http://purecss.io/][Pure]
+
+[![Build Status](https://travis-ci.org/yui/pure.png?branch=master)][Build 
Status]
+
+**Use From the CDN:**
+
+```html
+<link rel="stylesheet" href="http://yui.yahooapis.com/pure/0.5.0/pure-min.css";>
+```
+
+Note: You can [customize which Pure modules you need][customize].
+
+**Install with Bower:**
+
+```shell
+$ bower install --save pure
+```
+
+
+[Pure]: http://purecss.io/
+[Bower]: http://bower.io/
+[Build Status]: https://travis-ci.org/yui/pure
+[customize]: http://purecss.io/customize/
+
+
+Features
+--------
+
+Pure is meant to be a starting point for every website or web app. We take care
+of all the CSS work that every site needs, without making it look 
cookie-cutter:
+
+* A responsive grid that can be customized to your needs.
+
+* A solid base built on [Normalize.css][] to fix cross-browser compatibility
+  issues.
+
+* Consistently styled buttons that work with `<a>` and `<button>` elements.
+
+* Styles for vertical and horizontal menus, including support for dropdown
+  menus.
+
+* Useful form alignments that look great on all screen sizes.
+
+* Various common table styles.
+
+* An extremely minimalist look that is super-easy to customize.
+
+* Responsive by default, with a non-responsive option.
+
+* Easy one-click customization with the [Skin Builder][].
+
+* Extremely small file size: **4.5KB minified + gzip**.
+
+
+[Normalize.css]: http://necolas.github.io/normalize.css/
+[Skin Builder]: http://yui.github.io/skinbuilder/?mode=pure
+
+
+Get Started
+-----------
+
+To get started using Pure, go to the [Pure CSS website][Pure]. The website has
+extensive documentation and examples necessary to get you started using Pure.
+
+You can include the Pure CSS file in your project by fetching it from Yahoo's
+CDN:
+
+```html
+<link rel="stylesheet" href="http://yui.yahooapis.com/pure/0.5.0/pure-min.css";>
+```
+
+You can also install Pure using [Bower][], using the following command:
+
+```shell
+$ bower install --save pure
+```
+
+
+Build From Source
+-----------------
+
+Optionally, you can build Pure from its source on Github. To do this, you'll
+need to have Node.js and npm installed. We use [Grunt][] to build Pure.
+
+```shell
+$ git clone address@hidden:yui/pure.git
+$ cd pure
+$ npm install
+$ grunt
+```
+
+### Build Files
+
+Now, all Pure CSS files should be built into the `pure/build/` directory. All
+files that are in this build directory are also available on the CDN. The 
naming
+conventions of the files in the `build/` directory follow these rules:
+
+* `[module]-core.css`: The minimal set of styles, ususally structural, that
+  provide the base on which the rest of the module's styles build.
+
+* `[module]-nr.css`: Rollup of `[module]-core.css` + `[module].css` +
+  `[module]-[feature].css` from the `src/[module]/` dir. This is the
+  non-responsive version of a module.
+
+* `[module].css`: Rollup of `[module]-nr.css` + `[module]-r.css` from the
+  `build/` dir. This is the responsive version of a module.
+
+* `*-min.css`: A minified file version of the files of the same name.
+
+* `pure.css`: A rollup of all `[module].css` files in the `build/` dir. This is
+  a responsive roll-up of everything, non-minified.
+
+* `pure-min.css`: Minified version of `pure.css` that should be used in
+  production.
+
+* `pure-nr.css`: A Rollup of all modules without @media queries. This is a
+  non-responsive roll-up of everything, non-minified.
+
+* `pure-nr-min.css`: Minified version of `pure-nr.css` that should be used in
+  production.
+
+
+[Grunt]: http://gruntjs.com/
+
+
+Browser Support and Testing
+---------------------------
+
+Pure is tested and works in:
+
+* IE 7+
+* Latest Stable: Firefox, Chrome, Safari
+* iOS 6.x, 7.x
+* Android 4.x
+
+
+Docs and Website
+----------------
+
+[Pure's website][Pure] is also open source, so please open any issues or pull
+requests for the docs and website over at the [`pure-site`][pure-site]
+repository.
+
+
+[pure-site]: https://github.com/yui/pure-site
+
+
+Contributing
+------------
+
+See the [CONTRIBUTING file][] for information on how to contribute to Pure.
+
+
+[CONTRIBUTING file]: https://github.com/yui/pure/blob/master/CONTRIBUTING.md
+
+
+License
+-------
+
+This software is free to use under the Yahoo! Inc. BSD license.
+See the [LICENSE file][] for license text and copyright information.
+
+
+[LICENSE file]: https://github.com/yui/pure/blob/master/LICENSE.md

Added: trunk/phpgwapi/templates/pure/css/base-context-min.css
===================================================================
--- trunk/phpgwapi/templates/pure/css/base-context-min.css                      
        (rev 0)
+++ trunk/phpgwapi/templates/pure/css/base-context-min.css      2014-08-05 
12:28:34 UTC (rev 12049)
@@ -0,0 +1,11 @@
+/*!
+Pure v0.5.0
+Copyright 2014 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+https://github.com/yui/pure/blob/master/LICENSE.md
+*/
+/*!
+normalize.css v1.1.3 | MIT License | git.io/normalize
+Copyright (c) Nicolas Gallagher and Jonathan Neal
+*/
+/*! normalize.css v1.1.3 | MIT License | git.io/normalize */.pure 
article,.pure aside,.pure details,.pure figcaption,.pure figure,.pure 
footer,.pure header,.pure hgroup,.pure main,.pure nav,.pure section,.pure 
summary{display:block}.pure audio,.pure canvas,.pure 
video{display:inline-block;*display:inline;*zoom:1}.pure 
audio:not([controls]){display:none;height:0}.pure 
[hidden]{display:none}.pure{font-size:100%;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}.pure,.pure
 button,.pure input,.pure select,.pure 
textarea{font-family:sans-serif}.pure{margin:0}.pure a:focus{outline:thin 
dotted}.pure a:active,.pure a:hover{outline:0}.pure 
h1{font-size:2em;margin:.67em 0}.pure h2{font-size:1.5em;margin:.83em 0}.pure 
h3{font-size:1.17em;margin:1em 0}.pure h4{font-size:1em;margin:1.33em 0}.pure 
h5{font-size:.83em;margin:1.67em 0}.pure h6{font-size:.67em;margin:2.33em 
0}.pure abbr[title]{border-bottom:1px dotted}.pure b,.pure 
strong{font-weight:700}.pure blockquote{margin:1em 40px}.pure 
dfn{font-style:italic}.pure 
hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}.pure 
mark{background:#ff0;color:#000}.pure p,.pure pre{margin:1em 0}.pure code,.pure 
kbd,.pure pre,.pure samp{font-family:monospace,serif;_font-family:'courier 
new',monospace;font-size:1em}.pure 
pre{white-space:pre;white-space:pre-wrap;word-wrap:break-word}.pure 
q{quotes:none}.pure q:before,.pure q:after{content:'';content:none}.pure 
small{font-size:80%}.pure sub,.pure 
sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.pure 
sup{top:-.5em}.pure sub{bottom:-.25em}.pure dl,.pure menu,.pure ol,.pure 
ul{margin:1em 0}.pure dd{margin:0 0 0 40px}.pure menu,.pure ol,.pure 
ul{padding:0 0 0 40px}.pure nav ul,.pure nav 
ol{list-style:none;list-style-image:none}.pure 
img{border:0;-ms-interpolation-mode:bicubic}.pure 
svg:not(:root){overflow:hidden}.pure figure{margin:0}.pure form{margin:0}.pure 
fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}.pure 
legend{border:0;padding:0;white-space:normal;*margin-left:-7px}.pure 
button,.pure input,.pure select,.pure 
textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}.pure
 button,.pure input{line-height:normal}.pure button,.pure 
select{text-transform:none}.pure button,.pure input[type=button],.pure 
input[type=reset],.pure 
input[type=submit]{-webkit-appearance:button;cursor:pointer;*overflow:visible}.pure
 button[disabled],.pure input[disabled]{cursor:default}.pure 
input[type=checkbox],.pure 
input[type=radio]{box-sizing:border-box;padding:0;*height:13px;*width:13px}.pure
 
input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}.pure
 input[type=search]::-webkit-search-cancel-button,.pure 
input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.pure 
button::-moz-focus-inner,.pure input::-moz-focus-inner{border:0;padding:0}.pure 
textarea{overflow:auto;vertical-align:top}.pure 
table{border-collapse:collapse;border-spacing:0}.pure 
[hidden]{display:none!important}.pure 
.pure-img{max-width:100%;height:auto;display:block}
\ No newline at end of file

Added: trunk/phpgwapi/templates/pure/css/base-context.css
===================================================================
--- trunk/phpgwapi/templates/pure/css/base-context.css                          
(rev 0)
+++ trunk/phpgwapi/templates/pure/css/base-context.css  2014-08-05 12:28:34 UTC 
(rev 12049)
@@ -0,0 +1,590 @@
+/*!
+Pure v0.5.0
+Copyright 2014 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+https://github.com/yui/pure/blob/master/LICENSE.md
+*/
+/*!
+normalize.css v1.1.3 | MIT License | git.io/normalize
+Copyright (c) Nicolas Gallagher and Jonathan Neal
+*/
+/*! normalize.css v1.1.3 | MIT License | git.io/normalize */
+
+/* ==========================================================================
+   HTML5 display definitions
+   ========================================================================== 
*/
+
+/**
+ * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3.
+ */
+
+.pure article,
+.pure aside,
+.pure details,
+.pure figcaption,
+.pure figure,
+.pure footer,
+.pure header,
+.pure hgroup,
+.pure main,
+.pure nav,
+.pure section,
+.pure summary {
+    display: block;
+}
+
+/**
+ * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
+ */
+
+.pure audio,
+.pure canvas,
+.pure video {
+    display: inline-block;
+    *display: inline;
+    *zoom: 1;
+}
+
+/**
+ * Prevent modern browsers from displaying `audio` without controls.
+ * Remove excess height in iOS 5 devices.
+ */
+
+.pure audio:not([controls]) {
+    display: none;
+    height: 0;
+}
+
+/**
+ * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
+ * Known issue: no IE 6 support.
+ */
+
+.pure [hidden] {
+    display: none;
+}
+
+/* ==========================================================================
+   Base
+   ========================================================================== 
*/
+
+/**
+ * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
+ *    `em` units.
+ * 2. Prevent iOS text size adjust after orientation change, without disabling
+ *    user zoom.
+ */
+
+.pure {
+    font-size: 100%;
+    /* 1 */
+    -ms-text-size-adjust: 100%;
+    /* 2 */
+    -webkit-text-size-adjust: 100%;
+    /* 2 */
+}
+
+/**
+ * Address `font-family` inconsistency between `textarea` and other form
+ * elements.
+ */
+
+.pure,
+.pure button,
+.pure input,
+.pure select,
+.pure textarea {
+    font-family: sans-serif;
+}
+
+/**
+ * Address margins handled incorrectly in IE 6/7.
+ */
+
+.pure {
+    margin: 0;
+}
+
+/* ==========================================================================
+   Links
+   ========================================================================== 
*/
+
+/**
+ * Address `outline` inconsistency between Chrome and other browsers.
+ */
+
+.pure a:focus {
+    outline: thin dotted;
+}
+
+/**
+ * Improve readability when focused and also mouse hovered in all browsers.
+ */
+
+.pure a:active,
+.pure a:hover {
+    outline: 0;
+}
+
+/* ==========================================================================
+   Typography
+   ========================================================================== 
*/
+
+/**
+ * Address font sizes and margins set differently in IE 6/7.
+ * Address font sizes within `section` and `article` in Firefox 4+, Safari 5,
+ * and Chrome.
+ */
+
+.pure h1 {
+    font-size: 2em;
+    margin: 0.67em 0;
+}
+
+.pure h2 {
+    font-size: 1.5em;
+    margin: 0.83em 0;
+}
+
+.pure h3 {
+    font-size: 1.17em;
+    margin: 1em 0;
+}
+
+.pure h4 {
+    font-size: 1em;
+    margin: 1.33em 0;
+}
+
+.pure h5 {
+    font-size: 0.83em;
+    margin: 1.67em 0;
+}
+
+.pure h6 {
+    font-size: 0.67em;
+    margin: 2.33em 0;
+}
+
+/**
+ * Address styling not present in IE 7/8/9, Safari 5, and Chrome.
+ */
+
+.pure abbr[title] {
+    border-bottom: 1px dotted;
+}
+
+/**
+ * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome.
+ */
+
+.pure b,
+.pure strong {
+    font-weight: bold;
+}
+
+.pure blockquote {
+    margin: 1em 40px;
+}
+
+/**
+ * Address styling not present in Safari 5 and Chrome.
+ */
+
+.pure dfn {
+    font-style: italic;
+}
+
+/**
+ * Address differences between Firefox and other browsers.
+ * Known issue: no IE 6/7 normalization.
+ */
+
+.pure hr {
+    -moz-box-sizing: content-box;
+    box-sizing: content-box;
+    height: 0;
+}
+
+/**
+ * Address styling not present in IE 6/7/8/9.
+ */
+
+.pure mark {
+    background: #ff0;
+    color: #000;
+}
+
+/**
+ * Address margins set differently in IE 6/7.
+ */
+
+.pure p,
+.pure pre {
+    margin: 1em 0;
+}
+
+/**
+ * Correct font family set oddly in IE 6, Safari 4/5, and Chrome.
+ */
+
+.pure code,
+.pure kbd,
+.pure pre,
+.pure samp {
+    font-family: monospace, serif;
+    _font-family: 'courier new', monospace;
+    font-size: 1em;
+}
+
+/**
+ * Improve readability of pre-formatted text in all browsers.
+ */
+
+.pure pre {
+    white-space: pre;
+    white-space: pre-wrap;
+    word-wrap: break-word;
+}
+
+/**
+ * Address CSS quotes not supported in IE 6/7.
+ */
+
+.pure q {
+    quotes: none;
+}
+
+/**
+ * Address `quotes` property not supported in Safari 4.
+ */
+
+.pure q:before,
+.pure q:after {
+    content: '';
+    content: none;
+}
+
+/**
+ * Address inconsistent and variable font size in all browsers.
+ */
+
+.pure small {
+    font-size: 80%;
+}
+
+/**
+ * Prevent `sub` and `sup` affecting `line-height` in all browsers.
+ */
+
+.pure sub,
+.pure sup {
+    font-size: 75%;
+    line-height: 0;
+    position: relative;
+    vertical-align: baseline;
+}
+
+.pure sup {
+    top: -0.5em;
+}
+
+.pure sub {
+    bottom: -0.25em;
+}
+
+/* ==========================================================================
+   Lists
+   ========================================================================== 
*/
+
+/**
+ * Address margins set differently in IE 6/7.
+ */
+
+.pure dl,
+.pure menu,
+.pure ol,
+.pure ul {
+    margin: 1em 0;
+}
+
+.pure dd {
+    margin: 0 0 0 40px;
+}
+
+/**
+ * Address paddings set differently in IE 6/7.
+ */
+
+.pure menu,
+.pure ol,
+.pure ul {
+    padding: 0 0 0 40px;
+}
+
+/**
+ * Correct list images handled incorrectly in IE 7.
+ */
+
+.pure nav ul,
+.pure nav ol {
+    list-style: none;
+    list-style-image: none;
+}
+
+/* ==========================================================================
+   Embedded content
+   ========================================================================== 
*/
+
+/**
+ * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
+ * 2. Improve image quality when scaled in IE 7.
+ */
+
+.pure img {
+    border: 0;
+    /* 1 */
+    -ms-interpolation-mode: bicubic;
+    /* 2 */
+}
+
+/**
+ * Correct overflow displayed oddly in IE 9.
+ */
+
+.pure svg:not(:root) {
+    overflow: hidden;
+}
+
+/* ==========================================================================
+   Figures
+   ========================================================================== 
*/
+
+/**
+ * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11.
+ */
+
+.pure figure {
+    margin: 0;
+}
+
+/* ==========================================================================
+   Forms
+   ========================================================================== 
*/
+
+/**
+ * Correct margin displayed oddly in IE 6/7.
+ */
+
+.pure form {
+    margin: 0;
+}
+
+/**
+ * Define consistent border, margin, and padding.
+ */
+
+.pure fieldset {
+    border: 1px solid #c0c0c0;
+    margin: 0 2px;
+    padding: 0.35em 0.625em 0.75em;
+}
+
+/**
+ * 1. Correct color not being inherited in IE 6/7/8/9.
+ * 2. Correct text not wrapping in Firefox 3.
+ * 3. Correct alignment displayed oddly in IE 6/7.
+ */
+
+.pure legend {
+    border: 0;
+    /* 1 */
+    padding: 0;
+    white-space: normal;
+    /* 2 */
+    *margin-left: -7px;
+    /* 3 */
+}
+
+/**
+ * 1. Correct font size not being inherited in all browsers.
+ * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
+ *    and Chrome.
+ * 3. Improve appearance and consistency in all browsers.
+ */
+
+.pure button,
+.pure input,
+.pure select,
+.pure textarea {
+    font-size: 100%;
+    /* 1 */
+    margin: 0;
+    /* 2 */
+    vertical-align: baseline;
+    /* 3 */
+    *vertical-align: middle;
+    /* 3 */
+}
+
+/**
+ * Address Firefox 3+ setting `line-height` on `input` using `!important` in
+ * the UA stylesheet.
+ */
+
+.pure button,
+.pure input {
+    line-height: normal;
+}
+
+/**
+ * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * All other form control elements do not inherit `text-transform` values.
+ * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
+ * Correct `select` style inheritance in Firefox 4+ and Opera.
+ */
+
+.pure button,
+.pure select {
+    text-transform: none;
+}
+
+/**
+ * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ *    and `video` controls.
+ * 2. Correct inability to style clickable `input` types in iOS.
+ * 3. Improve usability and consistency of cursor style between image-type
+ *    `input` and others.
+ * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
+ *    Known issue: inner spacing remains in IE 6.
+ */
+
+.pure button,
+.pure input[type="button"],
+.pure /* 1 */
+input[type="reset"],
+.pure input[type="submit"] {
+    -webkit-appearance: button;
+    /* 2 */
+    cursor: pointer;
+    /* 3 */
+    *overflow: visible;
+    /* 4 */
+}
+
+/**
+ * Re-set default cursor for disabled elements.
+ */
+
+.pure button[disabled],
+.pure input[disabled] {
+    cursor: default;
+}
+
+/**
+ * 1. Address box sizing set to content-box in IE 8/9.
+ * 2. Remove excess padding in IE 8/9.
+ * 3. Remove excess padding in IE 7.
+ *    Known issue: excess padding remains in IE 6.
+ */
+
+.pure input[type="checkbox"],
+.pure input[type="radio"] {
+    box-sizing: border-box;
+    /* 1 */
+    padding: 0;
+    /* 2 */
+    *height: 13px;
+    /* 3 */
+    *width: 13px;
+    /* 3 */
+}
+
+/**
+ * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
+ * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
+ *    (include `-moz` to future-proof).
+ */
+
+.pure input[type="search"] {
+    -webkit-appearance: textfield;
+    /* 1 */
+    -moz-box-sizing: content-box;
+    -webkit-box-sizing: content-box;
+    /* 2 */
+    box-sizing: content-box;
+}
+
+/**
+ * Remove inner padding and search cancel button in Safari 5 and Chrome
+ * on OS X.
+ */
+
+.pure input[type="search"]::-webkit-search-cancel-button,
+.pure input[type="search"]::-webkit-search-decoration {
+    -webkit-appearance: none;
+}
+
+/**
+ * Remove inner padding and border in Firefox 3+.
+ */
+
+.pure button::-moz-focus-inner,
+.pure input::-moz-focus-inner {
+    border: 0;
+    padding: 0;
+}
+
+/**
+ * 1. Remove default vertical scrollbar in IE 6/7/8/9.
+ * 2. Improve readability and alignment in all browsers.
+ */
+
+.pure textarea {
+    overflow: auto;
+    /* 1 */
+    vertical-align: top;
+    /* 2 */
+}
+
+/* ==========================================================================
+   Tables
+   ========================================================================== 
*/
+
+/**
+ * Remove most spacing between table cells.
+ */
+
+.pure table {
+    border-collapse: collapse;
+    border-spacing: 0;
+}
+
+/*csslint important:false*/
+
+/* ==========================================================================
+   Pure Base Extras
+   ========================================================================== 
*/
+
+/**
+ * Extra rules that Pure adds on top of Normalize.css
+ */
+
+/**
+ * Always hide an element when it has the `hidden` HTML attribute.
+ */
+
+.pure [hidden] {
+    display: none !important;
+}
+
+/**
+ * Add this class to an image to make it fit within it's fluid parent wrapper 
while maintaining
+ * aspect ratio.
+ */
+
+.pure .pure-img {
+    max-width: 100%;
+    height: auto;
+    display: block;
+}
\ No newline at end of file

Added: trunk/phpgwapi/templates/pure/css/base-min.css
===================================================================
--- trunk/phpgwapi/templates/pure/css/base-min.css                              
(rev 0)
+++ trunk/phpgwapi/templates/pure/css/base-min.css      2014-08-05 12:28:34 UTC 
(rev 12049)
@@ -0,0 +1,11 @@
+/*!
+Pure v0.5.0
+Copyright 2014 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+https://github.com/yui/pure/blob/master/LICENSE.md
+*/
+/*!
+normalize.css v1.1.3 | MIT License | git.io/normalize
+Copyright (c) Nicolas Gallagher and Jonathan Neal
+*/
+/*! normalize.css v1.1.3 | MIT License | git.io/normalize 
*/article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-size:100%;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}html,button,input,select,textarea{font-family:sans-serif}body{margin:0}a:focus{outline:thin
 dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 
0}h2{font-size:1.5em;margin:.83em 0}h3{font-size:1.17em;margin:1em 
0}h4{font-size:1em;margin:1.33em 0}h5{font-size:.83em;margin:1.67em 
0}h6{font-size:.67em;margin:2.33em 0}abbr[title]{border-bottom:1px 
dotted}b,strong{font-weight:700}blockquote{margin:1em 
40px}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}p,pre{margin:1em
 0}code,kbd,pre,samp{font-family:monospace,serif;_font-family:'courier 
new',monospace;font-size:1em}pre{white-space:pre;white-space:pre-wrap;word-wrap:break-word}q{quotes:none}q:before,q:after{content:'';content:none}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}dl,menu,ol,ul{margin:1em
 0}dd{margin:0 0 0 40px}menu,ol,ul{padding:0 0 0 40px}nav ul,nav 
ol{list-style:none;list-style-image:none}img{border:0;-ms-interpolation-mode:bicubic}svg:not(:root){overflow:hidden}figure{margin:0}form{margin:0}fieldset{border:1px
 solid silver;margin:0 2px;padding:.35em .625em 
.75em}legend{border:0;padding:0;white-space:normal;*margin-left:-7px}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,select{text-transform:none}button,html
 
input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;*overflow:visible}button[disabled],html
 
input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0;*height:13px;*width:13px}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}[hidden]{display:none!important}.pure-img{max-width:100%;height:auto;display:block}
\ No newline at end of file

Added: trunk/phpgwapi/templates/pure/css/base.css
===================================================================
--- trunk/phpgwapi/templates/pure/css/base.css                          (rev 0)
+++ trunk/phpgwapi/templates/pure/css/base.css  2014-08-05 12:28:34 UTC (rev 
12049)
@@ -0,0 +1,565 @@
+/*!
+Pure v0.5.0
+Copyright 2014 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+https://github.com/yui/pure/blob/master/LICENSE.md
+*/
+/*!
+normalize.css v1.1.3 | MIT License | git.io/normalize
+Copyright (c) Nicolas Gallagher and Jonathan Neal
+*/
+/*! normalize.css v1.1.3 | MIT License | git.io/normalize */
+
+/* ==========================================================================
+   HTML5 display definitions
+   ========================================================================== 
*/
+
+/**
+ * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3.
+ */
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+nav,
+section,
+summary {
+    display: block;
+}
+
+/**
+ * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
+ */
+
+audio,
+canvas,
+video {
+    display: inline-block;
+    *display: inline;
+    *zoom: 1;
+}
+
+/**
+ * Prevent modern browsers from displaying `audio` without controls.
+ * Remove excess height in iOS 5 devices.
+ */
+
+audio:not([controls]) {
+    display: none;
+    height: 0;
+}
+
+/**
+ * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
+ * Known issue: no IE 6 support.
+ */
+
+[hidden] {
+    display: none;
+}
+
+/* ==========================================================================
+   Base
+   ========================================================================== 
*/
+
+/**
+ * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
+ *    `em` units.
+ * 2. Prevent iOS text size adjust after orientation change, without disabling
+ *    user zoom.
+ */
+
+html {
+    font-size: 100%; /* 1 */
+    -ms-text-size-adjust: 100%; /* 2 */
+    -webkit-text-size-adjust: 100%; /* 2 */
+}
+
+/**
+ * Address `font-family` inconsistency between `textarea` and other form
+ * elements.
+ */
+
+html,
+button,
+input,
+select,
+textarea {
+    font-family: sans-serif;
+}
+
+/**
+ * Address margins handled incorrectly in IE 6/7.
+ */
+
+body {
+    margin: 0;
+}
+
+/* ==========================================================================
+   Links
+   ========================================================================== 
*/
+
+/**
+ * Address `outline` inconsistency between Chrome and other browsers.
+ */
+
+a:focus {
+    outline: thin dotted;
+}
+
+/**
+ * Improve readability when focused and also mouse hovered in all browsers.
+ */
+
+a:active,
+a:hover {
+    outline: 0;
+}
+
+/* ==========================================================================
+   Typography
+   ========================================================================== 
*/
+
+/**
+ * Address font sizes and margins set differently in IE 6/7.
+ * Address font sizes within `section` and `article` in Firefox 4+, Safari 5,
+ * and Chrome.
+ */
+
+h1 {
+    font-size: 2em;
+    margin: 0.67em 0;
+}
+
+h2 {
+    font-size: 1.5em;
+    margin: 0.83em 0;
+}
+
+h3 {
+    font-size: 1.17em;
+    margin: 1em 0;
+}
+
+h4 {
+    font-size: 1em;
+    margin: 1.33em 0;
+}
+
+h5 {
+    font-size: 0.83em;
+    margin: 1.67em 0;
+}
+
+h6 {
+    font-size: 0.67em;
+    margin: 2.33em 0;
+}
+
+/**
+ * Address styling not present in IE 7/8/9, Safari 5, and Chrome.
+ */
+
+abbr[title] {
+    border-bottom: 1px dotted;
+}
+
+/**
+ * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome.
+ */
+
+b,
+strong {
+    font-weight: bold;
+}
+
+blockquote {
+    margin: 1em 40px;
+}
+
+/**
+ * Address styling not present in Safari 5 and Chrome.
+ */
+
+dfn {
+    font-style: italic;
+}
+
+/**
+ * Address differences between Firefox and other browsers.
+ * Known issue: no IE 6/7 normalization.
+ */
+
+hr {
+    -moz-box-sizing: content-box;
+    box-sizing: content-box;
+    height: 0;
+}
+
+/**
+ * Address styling not present in IE 6/7/8/9.
+ */
+
+mark {
+    background: #ff0;
+    color: #000;
+}
+
+/**
+ * Address margins set differently in IE 6/7.
+ */
+
+p,
+pre {
+    margin: 1em 0;
+}
+
+/**
+ * Correct font family set oddly in IE 6, Safari 4/5, and Chrome.
+ */
+
+code,
+kbd,
+pre,
+samp {
+    font-family: monospace, serif;
+    _font-family: 'courier new', monospace;
+    font-size: 1em;
+}
+
+/**
+ * Improve readability of pre-formatted text in all browsers.
+ */
+
+pre {
+    white-space: pre;
+    white-space: pre-wrap;
+    word-wrap: break-word;
+}
+
+/**
+ * Address CSS quotes not supported in IE 6/7.
+ */
+
+q {
+    quotes: none;
+}
+
+/**
+ * Address `quotes` property not supported in Safari 4.
+ */
+
+q:before,
+q:after {
+    content: '';
+    content: none;
+}
+
+/**
+ * Address inconsistent and variable font size in all browsers.
+ */
+
+small {
+    font-size: 80%;
+}
+
+/**
+ * Prevent `sub` and `sup` affecting `line-height` in all browsers.
+ */
+
+sub,
+sup {
+    font-size: 75%;
+    line-height: 0;
+    position: relative;
+    vertical-align: baseline;
+}
+
+sup {
+    top: -0.5em;
+}
+
+sub {
+    bottom: -0.25em;
+}
+
+/* ==========================================================================
+   Lists
+   ========================================================================== 
*/
+
+/**
+ * Address margins set differently in IE 6/7.
+ */
+
+dl,
+menu,
+ol,
+ul {
+    margin: 1em 0;
+}
+
+dd {
+    margin: 0 0 0 40px;
+}
+
+/**
+ * Address paddings set differently in IE 6/7.
+ */
+
+menu,
+ol,
+ul {
+    padding: 0 0 0 40px;
+}
+
+/**
+ * Correct list images handled incorrectly in IE 7.
+ */
+
+nav ul,
+nav ol {
+    list-style: none;
+    list-style-image: none;
+}
+
+/* ==========================================================================
+   Embedded content
+   ========================================================================== 
*/
+
+/**
+ * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
+ * 2. Improve image quality when scaled in IE 7.
+ */
+
+img {
+    border: 0; /* 1 */
+    -ms-interpolation-mode: bicubic; /* 2 */
+}
+
+/**
+ * Correct overflow displayed oddly in IE 9.
+ */
+
+svg:not(:root) {
+    overflow: hidden;
+}
+
+/* ==========================================================================
+   Figures
+   ========================================================================== 
*/
+
+/**
+ * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11.
+ */
+
+figure {
+    margin: 0;
+}
+
+/* ==========================================================================
+   Forms
+   ========================================================================== 
*/
+
+/**
+ * Correct margin displayed oddly in IE 6/7.
+ */
+
+form {
+    margin: 0;
+}
+
+/**
+ * Define consistent border, margin, and padding.
+ */
+
+fieldset {
+    border: 1px solid #c0c0c0;
+    margin: 0 2px;
+    padding: 0.35em 0.625em 0.75em;
+}
+
+/**
+ * 1. Correct color not being inherited in IE 6/7/8/9.
+ * 2. Correct text not wrapping in Firefox 3.
+ * 3. Correct alignment displayed oddly in IE 6/7.
+ */
+
+legend {
+    border: 0; /* 1 */
+    padding: 0;
+    white-space: normal; /* 2 */
+    *margin-left: -7px; /* 3 */
+}
+
+/**
+ * 1. Correct font size not being inherited in all browsers.
+ * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
+ *    and Chrome.
+ * 3. Improve appearance and consistency in all browsers.
+ */
+
+button,
+input,
+select,
+textarea {
+    font-size: 100%; /* 1 */
+    margin: 0; /* 2 */
+    vertical-align: baseline; /* 3 */
+    *vertical-align: middle; /* 3 */
+}
+
+/**
+ * Address Firefox 3+ setting `line-height` on `input` using `!important` in
+ * the UA stylesheet.
+ */
+
+button,
+input {
+    line-height: normal;
+}
+
+/**
+ * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * All other form control elements do not inherit `text-transform` values.
+ * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
+ * Correct `select` style inheritance in Firefox 4+ and Opera.
+ */
+
+button,
+select {
+    text-transform: none;
+}
+
+/**
+ * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ *    and `video` controls.
+ * 2. Correct inability to style clickable `input` types in iOS.
+ * 3. Improve usability and consistency of cursor style between image-type
+ *    `input` and others.
+ * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
+ *    Known issue: inner spacing remains in IE 6.
+ */
+
+button,
+html input[type="button"], /* 1 */
+input[type="reset"],
+input[type="submit"] {
+    -webkit-appearance: button; /* 2 */
+    cursor: pointer; /* 3 */
+    *overflow: visible;  /* 4 */
+}
+
+/**
+ * Re-set default cursor for disabled elements.
+ */
+
+button[disabled],
+html input[disabled] {
+    cursor: default;
+}
+
+/**
+ * 1. Address box sizing set to content-box in IE 8/9.
+ * 2. Remove excess padding in IE 8/9.
+ * 3. Remove excess padding in IE 7.
+ *    Known issue: excess padding remains in IE 6.
+ */
+
+input[type="checkbox"],
+input[type="radio"] {
+    box-sizing: border-box; /* 1 */
+    padding: 0; /* 2 */
+    *height: 13px; /* 3 */
+    *width: 13px; /* 3 */
+}
+
+/**
+ * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
+ * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
+ *    (include `-moz` to future-proof).
+ */
+
+input[type="search"] {
+    -webkit-appearance: textfield; /* 1 */
+    -moz-box-sizing: content-box;
+    -webkit-box-sizing: content-box; /* 2 */
+    box-sizing: content-box;
+}
+
+/**
+ * Remove inner padding and search cancel button in Safari 5 and Chrome
+ * on OS X.
+ */
+
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+    -webkit-appearance: none;
+}
+
+/**
+ * Remove inner padding and border in Firefox 3+.
+ */
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+    border: 0;
+    padding: 0;
+}
+
+/**
+ * 1. Remove default vertical scrollbar in IE 6/7/8/9.
+ * 2. Improve readability and alignment in all browsers.
+ */
+
+textarea {
+    overflow: auto; /* 1 */
+    vertical-align: top; /* 2 */
+}
+
+/* ==========================================================================
+   Tables
+   ========================================================================== 
*/
+
+/**
+ * Remove most spacing between table cells.
+ */
+
+table {
+    border-collapse: collapse;
+    border-spacing: 0;
+}
+
+/*csslint important:false*/
+
+/* ==========================================================================
+   Pure Base Extras
+   ========================================================================== 
*/
+
+/**
+ * Extra rules that Pure adds on top of Normalize.css
+ */
+
+/**
+ * Always hide an element when it has the `hidden` HTML attribute.
+ */
+
+[hidden] {
+    display: none !important;
+}
+
+/**
+ * Add this class to an image to make it fit within it's fluid parent wrapper 
while maintaining
+ * aspect ratio.
+ */
+.pure-img {
+    max-width: 100%;
+    height: auto;
+    display: block;
+}

Added: trunk/phpgwapi/templates/pure/css/bower.json
===================================================================
--- trunk/phpgwapi/templates/pure/css/bower.json                                
(rev 0)
+++ trunk/phpgwapi/templates/pure/css/bower.json        2014-08-05 12:28:34 UTC 
(rev 12049)
@@ -0,0 +1,8 @@
+{
+  "name": "pure",
+  "version": "0.5.0",
+  "main": "pure.css",
+  "devDependencies": {
+    "normalize-css": "1.1.3"
+  }
+}
\ No newline at end of file

Added: trunk/phpgwapi/templates/pure/css/buttons-core-min.css
===================================================================
--- trunk/phpgwapi/templates/pure/css/buttons-core-min.css                      
        (rev 0)
+++ trunk/phpgwapi/templates/pure/css/buttons-core-min.css      2014-08-05 
12:28:34 UTC (rev 12049)
@@ -0,0 +1,7 @@
+/*!
+Pure v0.5.0
+Copyright 2014 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+https://github.com/yui/pure/blob/master/LICENSE.md
+*/
+.pure-button{display:inline-block;*display:inline;zoom:1;line-height:normal;white-space:nowrap;vertical-align:baseline;text-align:center;cursor:pointer;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pure-button::-moz-focus-inner{padding:0;border:0}
\ No newline at end of file

Added: trunk/phpgwapi/templates/pure/css/buttons-core.css
===================================================================
--- trunk/phpgwapi/templates/pure/css/buttons-core.css                          
(rev 0)
+++ trunk/phpgwapi/templates/pure/css/buttons-core.css  2014-08-05 12:28:34 UTC 
(rev 12049)
@@ -0,0 +1,28 @@
+/*!
+Pure v0.5.0
+Copyright 2014 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+https://github.com/yui/pure/blob/master/LICENSE.md
+*/
+.pure-button {
+    /* Structure */
+    display: inline-block;
+    *display: inline; /*IE 6/7*/
+    zoom: 1;
+    line-height: normal;
+    white-space: nowrap;
+    vertical-align: baseline;
+    text-align: center;
+    cursor: pointer;
+    -webkit-user-drag: none;
+    -webkit-user-select: none;
+    -moz-user-select: none;
+    -ms-user-select: none;
+    user-select: none;
+}
+
+/* Firefox: Get rid of the inner focus border */
+.pure-button::-moz-focus-inner {
+    padding: 0;
+    border: 0;
+}

Added: trunk/phpgwapi/templates/pure/css/buttons-min.css
===================================================================
--- trunk/phpgwapi/templates/pure/css/buttons-min.css                           
(rev 0)
+++ trunk/phpgwapi/templates/pure/css/buttons-min.css   2014-08-05 12:28:34 UTC 
(rev 12049)
@@ -0,0 +1,7 @@
+/*!
+Pure v0.5.0
+Copyright 2014 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+https://github.com/yui/pure/blob/master/LICENSE.md
+*/
+.pure-button{display:inline-block;*display:inline;zoom:1;line-height:normal;white-space:nowrap;vertical-align:baseline;text-align:center;cursor:pointer;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pure-button::-moz-focus-inner{padding:0;border:0}.pure-button{font-family:inherit;font-size:100%;*font-size:90%;*overflow:visible;padding:.5em
 1em;color:#444;color:rgba(0,0,0,.8);*color:#444;border:1px solid #999;border:0 
rgba(0,0,0,0);background-color:#E6E6E6;text-decoration:none;border-radius:2px}.pure-button-hover,.pure-button:hover,.pure-button:focus{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000',
 endColorstr='#1a000000', 
GradientType=0);background-image:-webkit-gradient(linear,0 0,0 
100%,from(transparent),color-stop(40%,rgba(0,0,0,.05)),to(rgba(0,0,0,.1)));background-image:-webkit-linear-gradient(transparent,rgba(0,0,0,.05)
 40%,rgba(0,0,0,.1));background-image:-moz-linear-gradient(top,rgba(0,0,0,.05) 
0,rgba(0,0,0,.1));background-image:-o-linear-gradient(transparent,rgba(0,0,0,.05)
 
40%,rgba(0,0,0,.1));background-image:linear-gradient(transparent,rgba(0,0,0,.05)
 
40%,rgba(0,0,0,.1))}.pure-button:focus{outline:0}.pure-button-active,.pure-button:active{box-shadow:0
 0 0 1px rgba(0,0,0,.15) inset,0 0 6px rgba(0,0,0,.2) 
inset}.pure-button[disabled],.pure-button-disabled,.pure-button-disabled:hover,.pure-button-disabled:focus,.pure-button-disabled:active{border:0;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);filter:alpha(opacity=40);-khtml-opacity:.4;-moz-opacity:.4;opacity:.4;cursor:not-allowed;box-shadow:none}.pure-button-hidden{display:none}.pure-button::-moz-focus-inner{padding:0;border:0}.pure-button-primary,.pure-button-selected,a.pure-button-primary,a.pure-button-selected{background-color:#0078e7;color:#fff}
\ No newline at end of file

Added: trunk/phpgwapi/templates/pure/css/buttons.css
===================================================================
--- trunk/phpgwapi/templates/pure/css/buttons.css                               
(rev 0)
+++ trunk/phpgwapi/templates/pure/css/buttons.css       2014-08-05 12:28:34 UTC 
(rev 12049)
@@ -0,0 +1,98 @@
+/*!
+Pure v0.5.0
+Copyright 2014 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+https://github.com/yui/pure/blob/master/LICENSE.md
+*/
+.pure-button {
+    /* Structure */
+    display: inline-block;
+    *display: inline; /*IE 6/7*/
+    zoom: 1;
+    line-height: normal;
+    white-space: nowrap;
+    vertical-align: baseline;
+    text-align: center;
+    cursor: pointer;
+    -webkit-user-drag: none;
+    -webkit-user-select: none;
+    -moz-user-select: none;
+    -ms-user-select: none;
+    user-select: none;
+}
+
+/* Firefox: Get rid of the inner focus border */
+.pure-button::-moz-focus-inner {
+    padding: 0;
+    border: 0;
+}
+
+/*csslint outline-none:false*/
+
+.pure-button {
+    font-family: inherit;
+    font-size: 100%;
+    *font-size: 90%; /*IE 6/7 - To reduce IE's oversized button text*/
+    *overflow: visible; /*IE 6/7 - Because of IE's overly large left/right 
padding on buttons */
+    padding: 0.5em 1em;
+    color: #444; /* rgba not supported (IE 8) */
+    color: rgba(0, 0, 0, 0.80); /* rgba supported */
+    *color: #444; /* IE 6 & 7 */
+    border: 1px solid #999;  /*IE 6/7/8*/
+    border: none rgba(0, 0, 0, 0);  /*IE9 + everything else*/
+    background-color: #E6E6E6;
+    text-decoration: none;
+    border-radius: 2px;
+}
+
+.pure-button-hover,
+.pure-button:hover,
+.pure-button:focus {
+    filter: 
progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', 
endColorstr='#1a000000',GradientType=0);
+    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(transparent), 
color-stop(40%, rgba(0,0,0, 0.05)), to(rgba(0,0,0, 0.10)));
+    background-image: -webkit-linear-gradient(transparent, rgba(0,0,0, 0.05) 
40%, rgba(0,0,0, 0.10));
+    background-image: -moz-linear-gradient(top, rgba(0,0,0, 0.05) 0%, 
rgba(0,0,0, 0.10));
+    background-image: -o-linear-gradient(transparent, rgba(0,0,0, 0.05) 40%, 
rgba(0,0,0, 0.10));
+    background-image: linear-gradient(transparent, rgba(0,0,0, 0.05) 40%, 
rgba(0,0,0, 0.10));
+}
+.pure-button:focus {
+    outline: 0;
+}
+.pure-button-active,
+.pure-button:active {
+    box-shadow: 0 0 0 1px rgba(0,0,0, 0.15) inset, 0 0 6px rgba(0,0,0, 0.20) 
inset;
+}
+
+.pure-button[disabled],
+.pure-button-disabled,
+.pure-button-disabled:hover,
+.pure-button-disabled:focus,
+.pure-button-disabled:active {
+    border: none;
+    background-image: none;
+    filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+    filter: alpha(opacity=40);
+    -khtml-opacity: 0.40;
+    -moz-opacity: 0.40;
+    opacity: 0.40;
+    cursor: not-allowed;
+    box-shadow: none;
+}
+
+.pure-button-hidden {
+    display: none;
+}
+
+/* Firefox: Get rid of the inner focus border */
+.pure-button::-moz-focus-inner{
+    padding: 0;
+    border: 0;
+}
+
+.pure-button-primary,
+.pure-button-selected,
+a.pure-button-primary,
+a.pure-button-selected {
+    background-color: rgb(0, 120, 231);
+    color: #fff;
+}

Added: trunk/phpgwapi/templates/pure/css/forms-min.css
===================================================================
--- trunk/phpgwapi/templates/pure/css/forms-min.css                             
(rev 0)
+++ trunk/phpgwapi/templates/pure/css/forms-min.css     2014-08-05 12:28:34 UTC 
(rev 12049)
@@ -0,0 +1,7 @@
+/*!
+Pure v0.5.0
+Copyright 2014 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+https://github.com/yui/pure/blob/master/LICENSE.md
+*/
+.pure-form input[type=text],.pure-form input[type=password],.pure-form 
input[type=email],.pure-form input[type=url],.pure-form 
input[type=date],.pure-form input[type=month],.pure-form 
input[type=time],.pure-form input[type=datetime],.pure-form 
input[type=datetime-local],.pure-form input[type=week],.pure-form 
input[type=number],.pure-form input[type=search],.pure-form 
input[type=tel],.pure-form input[type=color],.pure-form select,.pure-form 
textarea{padding:.5em .6em;display:inline-block;border:1px solid 
#ccc;box-shadow:inset 0 1px 3px 
#ddd;border-radius:4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.pure-form
 input:not([type]){padding:.5em .6em;display:inline-block;border:1px solid 
#ccc;box-shadow:inset 0 1px 3px 
#ddd;border-radius:4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.pure-form
 input[type=color]{padding:.2em .5em}.pure-form 
input[type=text]:focus,.pure-form input[type=password]:focus,.pure-form 
input[type=email]:focus,.pure-form input[type=url]:focus,.pure-form 
input[type=date]:focus,.pure-form input[type=month]:focus,.pure-form 
input[type=time]:focus,.pure-form input[type=datetime]:focus,.pure-form 
input[type=datetime-local]:focus,.pure-form input[type=week]:focus,.pure-form 
input[type=number]:focus,.pure-form input[type=search]:focus,.pure-form 
input[type=tel]:focus,.pure-form input[type=color]:focus,.pure-form 
select:focus,.pure-form textarea:focus{outline:0;outline:thin dotted 
\9;border-color:#129FEA}.pure-form 
input:not([type]):focus{outline:0;outline:thin dotted 
\9;border-color:#129FEA}.pure-form input[type=file]:focus,.pure-form 
input[type=radio]:focus,.pure-form input[type=checkbox]:focus{outline:thin 
dotted #333;outline:1px auto #129FEA}.pure-form .pure-checkbox,.pure-form 
.pure-radio{margin:.5em 0;display:block}.pure-form 
input[type=text][disabled],.pure-form input[type=password][disabled],.pure-form 
input[type=email][disabled],.pure-form input[type=url][disabled],.pure-form 
input[type=date][disabled],.pure-form input[type=month][disabled],.pure-form 
input[type=time][disabled],.pure-form input[type=datetime][disabled],.pure-form 
input[type=datetime-local][disabled],.pure-form 
input[type=week][disabled],.pure-form input[type=number][disabled],.pure-form 
input[type=search][disabled],.pure-form input[type=tel][disabled],.pure-form 
input[type=color][disabled],.pure-form select[disabled],.pure-form 
textarea[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form
 
input:not([type])[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form
 input[readonly],.pure-form select[readonly],.pure-form 
textarea[readonly]{background:#eee;color:#777;border-color:#ccc}.pure-form 
input:focus:invalid,.pure-form textarea:focus:invalid,.pure-form 
select:focus:invalid{color:#b94a48;border-color:#ee5f5b}.pure-form 
input:focus:invalid:focus,.pure-form textarea:focus:invalid:focus,.pure-form 
select:focus:invalid:focus{border-color:#e9322d}.pure-form 
input[type=file]:focus:invalid:focus,.pure-form 
input[type=radio]:focus:invalid:focus,.pure-form 
input[type=checkbox]:focus:invalid:focus{outline-color:#e9322d}.pure-form 
select{border:1px solid #ccc;background-color:#fff}.pure-form 
select[multiple]{height:auto}.pure-form label{margin:.5em 0 .2em}.pure-form 
fieldset{margin:0;padding:.35em 0 .75em;border:0}.pure-form 
legend{display:block;width:100%;padding:.3em 
0;margin-bottom:.3em;color:#333;border-bottom:1px solid 
#e5e5e5}.pure-form-stacked input[type=text],.pure-form-stacked 
input[type=password],.pure-form-stacked input[type=email],.pure-form-stacked 
input[type=url],.pure-form-stacked input[type=date],.pure-form-stacked 
input[type=month],.pure-form-stacked input[type=time],.pure-form-stacked 
input[type=datetime],.pure-form-stacked 
input[type=datetime-local],.pure-form-stacked 
input[type=week],.pure-form-stacked input[type=number],.pure-form-stacked 
input[type=search],.pure-form-stacked input[type=tel],.pure-form-stacked 
input[type=color],.pure-form-stacked select,.pure-form-stacked 
label,.pure-form-stacked textarea{display:block;margin:.25em 
0}.pure-form-stacked input:not([type]){display:block;margin:.25em 
0}.pure-form-aligned input,.pure-form-aligned textarea,.pure-form-aligned 
select,.pure-form-aligned 
.pure-help-inline,.pure-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.pure-form-aligned
 textarea{vertical-align:top}.pure-form-aligned 
.pure-control-group{margin-bottom:.5em}.pure-form-aligned .pure-control-group 
label{text-align:right;display:inline-block;vertical-align:middle;width:10em;margin:0
 1em 0 0}.pure-form-aligned .pure-controls{margin:1.5em 0 0 10em}.pure-form 
input.pure-input-rounded,.pure-form 
.pure-input-rounded{border-radius:2em;padding:.5em 1em}.pure-form .pure-group 
fieldset{margin-bottom:10px}.pure-form .pure-group 
input{display:block;padding:10px;margin:0;border-radius:0;position:relative;top:-1px}.pure-form
 .pure-group input:focus{z-index:2}.pure-form .pure-group 
input:first-child{top:1px;border-radius:4px 4px 0 0}.pure-form .pure-group 
input:last-child{top:-2px;border-radius:0 0 4px 4px}.pure-form .pure-group 
button{margin:.35em 0}.pure-form .pure-input-1{width:100%}.pure-form 
.pure-input-2-3{width:66%}.pure-form .pure-input-1-2{width:50%}.pure-form 
.pure-input-1-3{width:33%}.pure-form .pure-input-1-4{width:25%}.pure-form 
.pure-help-inline,.pure-form-message-inline{display:inline-block;padding-left:.3em;color:#666;vertical-align:middle;font-size:.875em}.pure-form-message{display:block;color:#666;font-size:address@hidden
 only screen and (max-width :480px){.pure-form button[type=submit]{margin:.7em 
0 0}.pure-form input:not([type]),.pure-form input[type=text],.pure-form 
input[type=password],.pure-form input[type=email],.pure-form 
input[type=url],.pure-form input[type=date],.pure-form 
input[type=month],.pure-form input[type=time],.pure-form 
input[type=datetime],.pure-form input[type=datetime-local],.pure-form 
input[type=week],.pure-form input[type=number],.pure-form 
input[type=search],.pure-form input[type=tel],.pure-form 
input[type=color],.pure-form label{margin-bottom:.3em;display:block}.pure-group 
input:not([type]),.pure-group input[type=text],.pure-group 
input[type=password],.pure-group input[type=email],.pure-group 
input[type=url],.pure-group input[type=date],.pure-group 
input[type=month],.pure-group input[type=time],.pure-group 
input[type=datetime],.pure-group input[type=datetime-local],.pure-group 
input[type=week],.pure-group input[type=number],.pure-group 
input[type=search],.pure-group input[type=tel],.pure-group 
input[type=color]{margin-bottom:0}.pure-form-aligned .pure-control-group 
label{margin-bottom:.3em;text-align:left;display:block;width:100%}.pure-form-aligned
 .pure-controls{margin:1.5em 0 0}.pure-form 
.pure-help-inline,.pure-form-message-inline,.pure-form-message{display:block;font-size:.75em;padding:.2em
 0 .8em}}
\ No newline at end of file

Added: trunk/phpgwapi/templates/pure/css/forms-nr-min.css
===================================================================
--- trunk/phpgwapi/templates/pure/css/forms-nr-min.css                          
(rev 0)
+++ trunk/phpgwapi/templates/pure/css/forms-nr-min.css  2014-08-05 12:28:34 UTC 
(rev 12049)
@@ -0,0 +1,7 @@
+/*!
+Pure v0.5.0
+Copyright 2014 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+https://github.com/yui/pure/blob/master/LICENSE.md
+*/
+.pure-form input[type=text],.pure-form input[type=password],.pure-form 
input[type=email],.pure-form input[type=url],.pure-form 
input[type=date],.pure-form input[type=month],.pure-form 
input[type=time],.pure-form input[type=datetime],.pure-form 
input[type=datetime-local],.pure-form input[type=week],.pure-form 
input[type=number],.pure-form input[type=search],.pure-form 
input[type=tel],.pure-form input[type=color],.pure-form select,.pure-form 
textarea{padding:.5em .6em;display:inline-block;border:1px solid 
#ccc;box-shadow:inset 0 1px 3px 
#ddd;border-radius:4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.pure-form
 input:not([type]){padding:.5em .6em;display:inline-block;border:1px solid 
#ccc;box-shadow:inset 0 1px 3px 
#ddd;border-radius:4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.pure-form
 input[type=color]{padding:.2em .5em}.pure-form 
input[type=text]:focus,.pure-form input[type=password]:focus,.pure-form 
input[type=email]:focus,.pure-form input[type=url]:focus,.pure-form 
input[type=date]:focus,.pure-form input[type=month]:focus,.pure-form 
input[type=time]:focus,.pure-form input[type=datetime]:focus,.pure-form 
input[type=datetime-local]:focus,.pure-form input[type=week]:focus,.pure-form 
input[type=number]:focus,.pure-form input[type=search]:focus,.pure-form 
input[type=tel]:focus,.pure-form input[type=color]:focus,.pure-form 
select:focus,.pure-form textarea:focus{outline:0;outline:thin dotted 
\9;border-color:#129FEA}.pure-form 
input:not([type]):focus{outline:0;outline:thin dotted 
\9;border-color:#129FEA}.pure-form input[type=file]:focus,.pure-form 
input[type=radio]:focus,.pure-form input[type=checkbox]:focus{outline:thin 
dotted #333;outline:1px auto #129FEA}.pure-form .pure-checkbox,.pure-form 
.pure-radio{margin:.5em 0;display:block}.pure-form 
input[type=text][disabled],.pure-form input[type=password][disabled],.pure-form 
input[type=email][disabled],.pure-form input[type=url][disabled],.pure-form 
input[type=date][disabled],.pure-form input[type=month][disabled],.pure-form 
input[type=time][disabled],.pure-form input[type=datetime][disabled],.pure-form 
input[type=datetime-local][disabled],.pure-form 
input[type=week][disabled],.pure-form input[type=number][disabled],.pure-form 
input[type=search][disabled],.pure-form input[type=tel][disabled],.pure-form 
input[type=color][disabled],.pure-form select[disabled],.pure-form 
textarea[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form
 
input:not([type])[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form
 input[readonly],.pure-form select[readonly],.pure-form 
textarea[readonly]{background:#eee;color:#777;border-color:#ccc}.pure-form 
input:focus:invalid,.pure-form textarea:focus:invalid,.pure-form 
select:focus:invalid{color:#b94a48;border-color:#ee5f5b}.pure-form 
input:focus:invalid:focus,.pure-form textarea:focus:invalid:focus,.pure-form 
select:focus:invalid:focus{border-color:#e9322d}.pure-form 
input[type=file]:focus:invalid:focus,.pure-form 
input[type=radio]:focus:invalid:focus,.pure-form 
input[type=checkbox]:focus:invalid:focus{outline-color:#e9322d}.pure-form 
select{border:1px solid #ccc;background-color:#fff}.pure-form 
select[multiple]{height:auto}.pure-form label{margin:.5em 0 .2em}.pure-form 
fieldset{margin:0;padding:.35em 0 .75em;border:0}.pure-form 
legend{display:block;width:100%;padding:.3em 
0;margin-bottom:.3em;color:#333;border-bottom:1px solid 
#e5e5e5}.pure-form-stacked input[type=text],.pure-form-stacked 
input[type=password],.pure-form-stacked input[type=email],.pure-form-stacked 
input[type=url],.pure-form-stacked input[type=date],.pure-form-stacked 
input[type=month],.pure-form-stacked input[type=time],.pure-form-stacked 
input[type=datetime],.pure-form-stacked 
input[type=datetime-local],.pure-form-stacked 
input[type=week],.pure-form-stacked input[type=number],.pure-form-stacked 
input[type=search],.pure-form-stacked input[type=tel],.pure-form-stacked 
input[type=color],.pure-form-stacked select,.pure-form-stacked 
label,.pure-form-stacked textarea{display:block;margin:.25em 
0}.pure-form-stacked input:not([type]){display:block;margin:.25em 
0}.pure-form-aligned input,.pure-form-aligned textarea,.pure-form-aligned 
select,.pure-form-aligned 
.pure-help-inline,.pure-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.pure-form-aligned
 textarea{vertical-align:top}.pure-form-aligned 
.pure-control-group{margin-bottom:.5em}.pure-form-aligned .pure-control-group 
label{text-align:right;display:inline-block;vertical-align:middle;width:10em;margin:0
 1em 0 0}.pure-form-aligned .pure-controls{margin:1.5em 0 0 10em}.pure-form 
input.pure-input-rounded,.pure-form 
.pure-input-rounded{border-radius:2em;padding:.5em 1em}.pure-form .pure-group 
fieldset{margin-bottom:10px}.pure-form .pure-group 
input{display:block;padding:10px;margin:0;border-radius:0;position:relative;top:-1px}.pure-form
 .pure-group input:focus{z-index:2}.pure-form .pure-group 
input:first-child{top:1px;border-radius:4px 4px 0 0}.pure-form .pure-group 
input:last-child{top:-2px;border-radius:0 0 4px 4px}.pure-form .pure-group 
button{margin:.35em 0}.pure-form .pure-input-1{width:100%}.pure-form 
.pure-input-2-3{width:66%}.pure-form .pure-input-1-2{width:50%}.pure-form 
.pure-input-1-3{width:33%}.pure-form .pure-input-1-4{width:25%}.pure-form 
.pure-help-inline,.pure-form-message-inline{display:inline-block;padding-left:.3em;color:#666;vertical-align:middle;font-size:.875em}.pure-form-message{display:block;color:#666;font-size:.875em}
\ No newline at end of file

Added: trunk/phpgwapi/templates/pure/css/forms-nr.css
===================================================================
--- trunk/phpgwapi/templates/pure/css/forms-nr.css                              
(rev 0)
+++ trunk/phpgwapi/templates/pure/css/forms-nr.css      2014-08-05 12:28:34 UTC 
(rev 12049)
@@ -0,0 +1,302 @@
+/*!
+Pure v0.5.0
+Copyright 2014 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+https://github.com/yui/pure/blob/master/LICENSE.md
+*/
+.pure-form input[type="text"],
+.pure-form input[type="password"],
+.pure-form input[type="email"],
+.pure-form input[type="url"],
+.pure-form input[type="date"],
+.pure-form input[type="month"],
+.pure-form input[type="time"],
+.pure-form input[type="datetime"],
+.pure-form input[type="datetime-local"],
+.pure-form input[type="week"],
+.pure-form input[type="number"],
+.pure-form input[type="search"],
+.pure-form input[type="tel"],
+.pure-form input[type="color"],
+.pure-form select,
+.pure-form textarea {
+    padding: 0.5em 0.6em;
+    display: inline-block;
+    border: 1px solid #ccc;
+    box-shadow: inset 0 1px 3px #ddd;
+    border-radius: 4px;
+    -webkit-box-sizing: border-box;
+    -moz-box-sizing: border-box;
+    box-sizing: border-box;
+}
+
+/*
+Need to separate out the :not() selector from the rest of the CSS 2.1 selectors
+since IE8 won't execute CSS that contains a CSS3 selector.
+*/
+.pure-form input:not([type]) {
+    padding: 0.5em 0.6em;
+    display: inline-block;
+    border: 1px solid #ccc;
+    box-shadow: inset 0 1px 3px #ddd;
+    border-radius: 4px;
+    -webkit-box-sizing: border-box;
+    -moz-box-sizing: border-box;
+    box-sizing: border-box;
+}
+
+
+/* Chrome (as of v.32/34 on OS X) needs additional room for color to display. 
*/
+/* May be able to remove this tweak as color inputs become more standardized 
across browsers. */
+.pure-form input[type="color"] {
+    padding: 0.2em 0.5em;
+}
+
+
+.pure-form input[type="text"]:focus,
+.pure-form input[type="password"]:focus,
+.pure-form input[type="email"]:focus,
+.pure-form input[type="url"]:focus,
+.pure-form input[type="date"]:focus,
+.pure-form input[type="month"]:focus,
+.pure-form input[type="time"]:focus,
+.pure-form input[type="datetime"]:focus,
+.pure-form input[type="datetime-local"]:focus,
+.pure-form input[type="week"]:focus,
+.pure-form input[type="number"]:focus,
+.pure-form input[type="search"]:focus,
+.pure-form input[type="tel"]:focus,
+.pure-form input[type="color"]:focus,
+.pure-form select:focus,
+.pure-form textarea:focus {
+    outline: 0;
+    outline: thin dotted \9; /* IE6-9 */
+    border-color: #129FEA;
+}
+
+/*
+Need to separate out the :not() selector from the rest of the CSS 2.1 selectors
+since IE8 won't execute CSS that contains a CSS3 selector.
+*/
+.pure-form input:not([type]):focus {
+    outline: 0;
+    outline: thin dotted \9; /* IE6-9 */
+    border-color: #129FEA;
+}
+
+.pure-form input[type="file"]:focus,
+.pure-form input[type="radio"]:focus,
+.pure-form input[type="checkbox"]:focus {
+    outline: thin dotted #333;
+    outline: 1px auto #129FEA;
+}
+.pure-form .pure-checkbox,
+.pure-form .pure-radio {
+    margin: 0.5em 0;
+    display: block;
+}
+
+.pure-form input[type="text"][disabled],
+.pure-form input[type="password"][disabled],
+.pure-form input[type="email"][disabled],
+.pure-form input[type="url"][disabled],
+.pure-form input[type="date"][disabled],
+.pure-form input[type="month"][disabled],
+.pure-form input[type="time"][disabled],
+.pure-form input[type="datetime"][disabled],
+.pure-form input[type="datetime-local"][disabled],
+.pure-form input[type="week"][disabled],
+.pure-form input[type="number"][disabled],
+.pure-form input[type="search"][disabled],
+.pure-form input[type="tel"][disabled],
+.pure-form input[type="color"][disabled],
+.pure-form select[disabled],
+.pure-form textarea[disabled] {
+    cursor: not-allowed;
+    background-color: #eaeded;
+    color: #cad2d3;
+}
+
+/*
+Need to separate out the :not() selector from the rest of the CSS 2.1 selectors
+since IE8 won't execute CSS that contains a CSS3 selector.
+*/
+.pure-form input:not([type])[disabled] {
+    cursor: not-allowed;
+    background-color: #eaeded;
+    color: #cad2d3;
+}
+.pure-form input[readonly],
+.pure-form select[readonly],
+.pure-form textarea[readonly] {
+    background: #eee; /* menu hover bg color */
+    color: #777; /* menu text color */
+    border-color: #ccc;
+}
+
+.pure-form input:focus:invalid,
+.pure-form textarea:focus:invalid,
+.pure-form select:focus:invalid {
+    color: #b94a48;
+    border-color: #ee5f5b;
+}
+.pure-form input:focus:invalid:focus,
+.pure-form textarea:focus:invalid:focus,
+.pure-form select:focus:invalid:focus {
+    border-color: #e9322d;
+}
+.pure-form input[type="file"]:focus:invalid:focus,
+.pure-form input[type="radio"]:focus:invalid:focus,
+.pure-form input[type="checkbox"]:focus:invalid:focus {
+    outline-color: #e9322d;
+}
+.pure-form select {
+    border: 1px solid #ccc;
+    background-color: white;
+}
+.pure-form select[multiple] {
+    height: auto;
+}
+.pure-form label {
+    margin: 0.5em 0 0.2em;
+}
+.pure-form fieldset {
+    margin: 0;
+    padding: 0.35em 0 0.75em;
+    border: 0;
+}
+.pure-form legend {
+    display: block;
+    width: 100%;
+    padding: 0.3em 0;
+    margin-bottom: 0.3em;
+    color: #333;
+    border-bottom: 1px solid #e5e5e5;
+}
+
+.pure-form-stacked input[type="text"],
+.pure-form-stacked input[type="password"],
+.pure-form-stacked input[type="email"],
+.pure-form-stacked input[type="url"],
+.pure-form-stacked input[type="date"],
+.pure-form-stacked input[type="month"],
+.pure-form-stacked input[type="time"],
+.pure-form-stacked input[type="datetime"],
+.pure-form-stacked input[type="datetime-local"],
+.pure-form-stacked input[type="week"],
+.pure-form-stacked input[type="number"],
+.pure-form-stacked input[type="search"],
+.pure-form-stacked input[type="tel"],
+.pure-form-stacked input[type="color"],
+.pure-form-stacked select,
+.pure-form-stacked label,
+.pure-form-stacked textarea {
+    display: block;
+    margin: 0.25em 0;
+}
+
+/*
+Need to separate out the :not() selector from the rest of the CSS 2.1 selectors
+since IE8 won't execute CSS that contains a CSS3 selector.
+*/
+.pure-form-stacked input:not([type]) {
+    display: block;
+    margin: 0.25em 0;
+}
+.pure-form-aligned input,
+.pure-form-aligned textarea,
+.pure-form-aligned select,
+/* NOTE: pure-help-inline is deprecated. Use .pure-form-message-inline 
instead. */
+.pure-form-aligned .pure-help-inline,
+.pure-form-message-inline {
+    display: inline-block;
+    *display: inline;
+    *zoom: 1;
+    vertical-align: middle;
+}
+.pure-form-aligned textarea {
+    vertical-align: top;
+}
+
+/* Aligned Forms */
+.pure-form-aligned .pure-control-group {
+    margin-bottom: 0.5em;
+}
+.pure-form-aligned .pure-control-group label {
+    text-align: right;
+    display: inline-block;
+    vertical-align: middle;
+    width: 10em;
+    margin: 0 1em 0 0;
+}
+.pure-form-aligned .pure-controls {
+    margin: 1.5em 0 0 10em;
+}
+
+/* Rounded Inputs */
+.pure-form input.pure-input-rounded,
+.pure-form .pure-input-rounded {
+    border-radius: 2em;
+    padding: 0.5em 1em;
+}
+
+/* Grouped Inputs */
+.pure-form .pure-group fieldset {
+    margin-bottom: 10px;
+}
+.pure-form .pure-group input {
+    display: block;
+    padding: 10px;
+    margin: 0;
+    border-radius: 0;
+    position: relative;
+    top: -1px;
+}
+.pure-form .pure-group input:focus {
+    z-index: 2;
+}
+.pure-form .pure-group input:first-child {
+    top: 1px;
+    border-radius: 4px 4px 0 0;
+}
+.pure-form .pure-group input:last-child {
+    top: -2px;
+    border-radius: 0 0 4px 4px;
+}
+.pure-form .pure-group button {
+    margin: 0.35em 0;
+}
+
+.pure-form .pure-input-1 {
+    width: 100%;
+}
+.pure-form .pure-input-2-3 {
+    width: 66%;
+}
+.pure-form .pure-input-1-2 {
+    width: 50%;
+}
+.pure-form .pure-input-1-3 {
+    width: 33%;
+}
+.pure-form .pure-input-1-4 {
+    width: 25%;
+}
+
+/* Inline help for forms */
+/* NOTE: pure-help-inline is deprecated. Use .pure-form-message-inline 
instead. */
+.pure-form .pure-help-inline,
+.pure-form-message-inline {
+    display: inline-block;
+    padding-left: 0.3em;
+    color: #666;
+    vertical-align: middle;
+    font-size: 0.875em;
+}
+
+/* Block help for forms */
+.pure-form-message {
+    display: block;
+    color: #666;
+    font-size: 0.875em;
+}

Added: trunk/phpgwapi/templates/pure/css/forms.css
===================================================================
--- trunk/phpgwapi/templates/pure/css/forms.css                         (rev 0)
+++ trunk/phpgwapi/templates/pure/css/forms.css 2014-08-05 12:28:34 UTC (rev 
12049)
@@ -0,0 +1,367 @@
+/*!
+Pure v0.5.0
+Copyright 2014 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+https://github.com/yui/pure/blob/master/LICENSE.md
+*/
+.pure-form input[type="text"],
+.pure-form input[type="password"],
+.pure-form input[type="email"],
+.pure-form input[type="url"],
+.pure-form input[type="date"],
+.pure-form input[type="month"],
+.pure-form input[type="time"],
+.pure-form input[type="datetime"],
+.pure-form input[type="datetime-local"],
+.pure-form input[type="week"],
+.pure-form input[type="number"],
+.pure-form input[type="search"],
+.pure-form input[type="tel"],
+.pure-form input[type="color"],
+.pure-form select,
+.pure-form textarea {
+    padding: 0.5em 0.6em;
+    display: inline-block;
+    border: 1px solid #ccc;
+    box-shadow: inset 0 1px 3px #ddd;
+    border-radius: 4px;
+    -webkit-box-sizing: border-box;
+    -moz-box-sizing: border-box;
+    box-sizing: border-box;
+}
+
+/*
+Need to separate out the :not() selector from the rest of the CSS 2.1 selectors
+since IE8 won't execute CSS that contains a CSS3 selector.
+*/
+.pure-form input:not([type]) {
+    padding: 0.5em 0.6em;
+    display: inline-block;
+    border: 1px solid #ccc;
+    box-shadow: inset 0 1px 3px #ddd;
+    border-radius: 4px;
+    -webkit-box-sizing: border-box;
+    -moz-box-sizing: border-box;
+    box-sizing: border-box;
+}
+
+
+/* Chrome (as of v.32/34 on OS X) needs additional room for color to display. 
*/
+/* May be able to remove this tweak as color inputs become more standardized 
across browsers. */
+.pure-form input[type="color"] {
+    padding: 0.2em 0.5em;
+}
+
+
+.pure-form input[type="text"]:focus,
+.pure-form input[type="password"]:focus,
+.pure-form input[type="email"]:focus,
+.pure-form input[type="url"]:focus,
+.pure-form input[type="date"]:focus,
+.pure-form input[type="month"]:focus,
+.pure-form input[type="time"]:focus,
+.pure-form input[type="datetime"]:focus,
+.pure-form input[type="datetime-local"]:focus,
+.pure-form input[type="week"]:focus,
+.pure-form input[type="number"]:focus,
+.pure-form input[type="search"]:focus,
+.pure-form input[type="tel"]:focus,
+.pure-form input[type="color"]:focus,
+.pure-form select:focus,
+.pure-form textarea:focus {
+    outline: 0;
+    outline: thin dotted \9; /* IE6-9 */
+    border-color: #129FEA;
+}
+
+/*
+Need to separate out the :not() selector from the rest of the CSS 2.1 selectors
+since IE8 won't execute CSS that contains a CSS3 selector.
+*/
+.pure-form input:not([type]):focus {
+    outline: 0;
+    outline: thin dotted \9; /* IE6-9 */
+    border-color: #129FEA;
+}
+
+.pure-form input[type="file"]:focus,
+.pure-form input[type="radio"]:focus,
+.pure-form input[type="checkbox"]:focus {
+    outline: thin dotted #333;
+    outline: 1px auto #129FEA;
+}
+.pure-form .pure-checkbox,
+.pure-form .pure-radio {
+    margin: 0.5em 0;
+    display: block;
+}
+
+.pure-form input[type="text"][disabled],
+.pure-form input[type="password"][disabled],
+.pure-form input[type="email"][disabled],
+.pure-form input[type="url"][disabled],
+.pure-form input[type="date"][disabled],
+.pure-form input[type="month"][disabled],
+.pure-form input[type="time"][disabled],
+.pure-form input[type="datetime"][disabled],
+.pure-form input[type="datetime-local"][disabled],
+.pure-form input[type="week"][disabled],
+.pure-form input[type="number"][disabled],
+.pure-form input[type="search"][disabled],
+.pure-form input[type="tel"][disabled],
+.pure-form input[type="color"][disabled],
+.pure-form select[disabled],
+.pure-form textarea[disabled] {
+    cursor: not-allowed;
+    background-color: #eaeded;
+    color: #cad2d3;
+}
+
+/*
+Need to separate out the :not() selector from the rest of the CSS 2.1 selectors
+since IE8 won't execute CSS that contains a CSS3 selector.
+*/
+.pure-form input:not([type])[disabled] {
+    cursor: not-allowed;
+    background-color: #eaeded;
+    color: #cad2d3;
+}
+.pure-form input[readonly],
+.pure-form select[readonly],
+.pure-form textarea[readonly] {
+    background: #eee; /* menu hover bg color */
+    color: #777; /* menu text color */
+    border-color: #ccc;
+}
+
+.pure-form input:focus:invalid,
+.pure-form textarea:focus:invalid,
+.pure-form select:focus:invalid {
+    color: #b94a48;
+    border-color: #ee5f5b;
+}
+.pure-form input:focus:invalid:focus,
+.pure-form textarea:focus:invalid:focus,
+.pure-form select:focus:invalid:focus {
+    border-color: #e9322d;
+}
+.pure-form input[type="file"]:focus:invalid:focus,
+.pure-form input[type="radio"]:focus:invalid:focus,
+.pure-form input[type="checkbox"]:focus:invalid:focus {
+    outline-color: #e9322d;
+}
+.pure-form select {
+    border: 1px solid #ccc;
+    background-color: white;
+}
+.pure-form select[multiple] {
+    height: auto;
+}
+.pure-form label {
+    margin: 0.5em 0 0.2em;
+}
+.pure-form fieldset {
+    margin: 0;
+    padding: 0.35em 0 0.75em;
+    border: 0;
+}
+.pure-form legend {
+    display: block;
+    width: 100%;
+    padding: 0.3em 0;
+    margin-bottom: 0.3em;
+    color: #333;
+    border-bottom: 1px solid #e5e5e5;
+}
+
+.pure-form-stacked input[type="text"],
+.pure-form-stacked input[type="password"],
+.pure-form-stacked input[type="email"],
+.pure-form-stacked input[type="url"],
+.pure-form-stacked input[type="date"],
+.pure-form-stacked input[type="month"],
+.pure-form-stacked input[type="time"],
+.pure-form-stacked input[type="datetime"],
+.pure-form-stacked input[type="datetime-local"],
+.pure-form-stacked input[type="week"],
+.pure-form-stacked input[type="number"],
+.pure-form-stacked input[type="search"],
+.pure-form-stacked input[type="tel"],
+.pure-form-stacked input[type="color"],
+.pure-form-stacked select,
+.pure-form-stacked label,
+.pure-form-stacked textarea {
+    display: block;
+    margin: 0.25em 0;
+}
+
+/*
+Need to separate out the :not() selector from the rest of the CSS 2.1 selectors
+since IE8 won't execute CSS that contains a CSS3 selector.
+*/
+.pure-form-stacked input:not([type]) {
+    display: block;
+    margin: 0.25em 0;
+}
+.pure-form-aligned input,
+.pure-form-aligned textarea,
+.pure-form-aligned select,
+/* NOTE: pure-help-inline is deprecated. Use .pure-form-message-inline 
instead. */
+.pure-form-aligned .pure-help-inline,
+.pure-form-message-inline {
+    display: inline-block;
+    *display: inline;
+    *zoom: 1;
+    vertical-align: middle;
+}
+.pure-form-aligned textarea {
+    vertical-align: top;
+}
+
+/* Aligned Forms */
+.pure-form-aligned .pure-control-group {
+    margin-bottom: 0.5em;
+}
+.pure-form-aligned .pure-control-group label {
+    text-align: right;
+    display: inline-block;
+    vertical-align: middle;
+    width: 10em;
+    margin: 0 1em 0 0;
+}
+.pure-form-aligned .pure-controls {
+    margin: 1.5em 0 0 10em;
+}
+
+/* Rounded Inputs */
+.pure-form input.pure-input-rounded,
+.pure-form .pure-input-rounded {
+    border-radius: 2em;
+    padding: 0.5em 1em;
+}
+
+/* Grouped Inputs */
+.pure-form .pure-group fieldset {
+    margin-bottom: 10px;
+}
+.pure-form .pure-group input {
+    display: block;
+    padding: 10px;
+    margin: 0;
+    border-radius: 0;
+    position: relative;
+    top: -1px;
+}
+.pure-form .pure-group input:focus {
+    z-index: 2;
+}
+.pure-form .pure-group input:first-child {
+    top: 1px;
+    border-radius: 4px 4px 0 0;
+}
+.pure-form .pure-group input:last-child {
+    top: -2px;
+    border-radius: 0 0 4px 4px;
+}
+.pure-form .pure-group button {
+    margin: 0.35em 0;
+}
+
+.pure-form .pure-input-1 {
+    width: 100%;
+}
+.pure-form .pure-input-2-3 {
+    width: 66%;
+}
+.pure-form .pure-input-1-2 {
+    width: 50%;
+}
+.pure-form .pure-input-1-3 {
+    width: 33%;
+}
+.pure-form .pure-input-1-4 {
+    width: 25%;
+}
+
+/* Inline help for forms */
+/* NOTE: pure-help-inline is deprecated. Use .pure-form-message-inline 
instead. */
+.pure-form .pure-help-inline,
+.pure-form-message-inline {
+    display: inline-block;
+    padding-left: 0.3em;
+    color: #666;
+    vertical-align: middle;
+    font-size: 0.875em;
+}
+
+/* Block help for forms */
+.pure-form-message {
+    display: block;
+    color: #666;
+    font-size: 0.875em;
+}
+
address@hidden only screen and (max-width : 480px) {
+    .pure-form button[type="submit"] {
+        margin: 0.7em 0 0;
+    }
+
+    .pure-form input:not([type]),
+    .pure-form input[type="text"],
+    .pure-form input[type="password"],
+    .pure-form input[type="email"],
+    .pure-form input[type="url"],
+    .pure-form input[type="date"],
+    .pure-form input[type="month"],
+    .pure-form input[type="time"],
+    .pure-form input[type="datetime"],
+    .pure-form input[type="datetime-local"],
+    .pure-form input[type="week"],
+    .pure-form input[type="number"],
+    .pure-form input[type="search"],
+    .pure-form input[type="tel"],
+    .pure-form input[type="color"],
+    .pure-form label {
+        margin-bottom: 0.3em;
+        display: block;
+    }
+
+    .pure-group input:not([type]),
+    .pure-group input[type="text"],
+    .pure-group input[type="password"],
+    .pure-group input[type="email"],
+    .pure-group input[type="url"],
+    .pure-group input[type="date"],
+    .pure-group input[type="month"],
+    .pure-group input[type="time"],
+    .pure-group input[type="datetime"],
+    .pure-group input[type="datetime-local"],
+    .pure-group input[type="week"],
+    .pure-group input[type="number"],
+    .pure-group input[type="search"],
+    .pure-group input[type="tel"],
+    .pure-group input[type="color"] {
+        margin-bottom: 0;
+    }
+
+    .pure-form-aligned .pure-control-group label {
+        margin-bottom: 0.3em;
+        text-align: left;
+        display: block;
+        width: 100%;
+    }
+
+    .pure-form-aligned .pure-controls {
+        margin: 1.5em 0 0 0;
+    }
+
+    /* NOTE: pure-help-inline is deprecated. Use .pure-form-message-inline 
instead. */
+    .pure-form .pure-help-inline,
+    .pure-form-message-inline,
+    .pure-form-message {
+        display: block;
+        font-size: 0.75em;
+        /* Increased bottom padding to make it group with its related input 
element. */
+        padding: 0.2em 0 0.8em;
+    }
+}

Added: trunk/phpgwapi/templates/pure/css/grids-core-min.css
===================================================================
--- trunk/phpgwapi/templates/pure/css/grids-core-min.css                        
        (rev 0)
+++ trunk/phpgwapi/templates/pure/css/grids-core-min.css        2014-08-05 
12:28:34 UTC (rev 12049)
@@ -0,0 +1,7 @@
+/*!
+Pure v0.5.0
+Copyright 2014 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+https://github.com/yui/pure/blob/master/LICENSE.md
+*/
+.pure-g{letter-spacing:-.31em;*letter-spacing:normal;*word-spacing:-.43em;text-rendering:optimizespeed;font-family:FreeSans,Arimo,"Droid
 Sans",Helvetica,Arial,sans-serif;display:-webkit-flex;-webkit-flex-flow:row 
wrap;display:-ms-flexbox;-ms-flex-flow:row wrap}.opera-only 
:-o-prefocus,.pure-g{word-spacing:-.43em}.pure-u{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-g
 [class *="pure-u"]{font-family:sans-serif}
\ No newline at end of file

Added: trunk/phpgwapi/templates/pure/css/grids-core.css
===================================================================
--- trunk/phpgwapi/templates/pure/css/grids-core.css                            
(rev 0)
+++ trunk/phpgwapi/templates/pure/css/grids-core.css    2014-08-05 12:28:34 UTC 
(rev 12049)
@@ -0,0 +1,73 @@
+/*!
+Pure v0.5.0
+Copyright 2014 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+https://github.com/yui/pure/blob/master/LICENSE.md
+*/
+/*csslint regex-selectors:false, known-properties:false, 
duplicate-properties:false*/
+
+.pure-g {
+    letter-spacing: -0.31em; /* Webkit: collapse white-space between units */
+    *letter-spacing: normal; /* reset IE < 8 */
+    *word-spacing: -0.43em; /* IE < 8: collapse white-space between units */
+    text-rendering: optimizespeed; /* Webkit: fixes text-rendering: 
optimizeLegibility */
+
+    /*
+    Sets the font stack to fonts known to work properly with the above letter
+    and word spacings. See: https://github.com/yui/pure/issues/41/
+
+    The following font stack makes Pure Grids work on all known environments.
+
+    * FreeSans: Ships with many Linux distros, including Ubuntu
+
+    * Arimo: Ships with Chrome OS. Arimo has to be defined before Helvetica and
+      Arial to get picked up by the browser, even though neither is available
+      in Chrome OS.
+
+    * Droid Sans: Ships with all versions of Android.
+
+    * Helvetica, Arial, sans-serif: Common font stack on OS X and Windows.
+    */
+    font-family: FreeSans, Arimo, "Droid Sans", Helvetica, Arial, sans-serif;
+
+    /*
+    Use flexbox when possible to avoid `letter-spacing` side-effects.
+
+    NOTE: Firefox (as of 25) does not currently support flex-wrap, so the
+    `-moz-` prefix version is omitted.
+    */
+
+    display: -webkit-flex;
+    -webkit-flex-flow: row wrap;
+
+    /* IE10 uses display: flexbox */
+    display: -ms-flexbox;
+    -ms-flex-flow: row wrap;
+}
+
+/* Opera as of 12 on Windows needs word-spacing.
+   The ".opera-only" selector is used to prevent actual prefocus styling
+   and is not required in markup.
+*/
+.opera-only :-o-prefocus,
+.pure-g {
+    word-spacing: -0.43em;
+}
+
+.pure-u {
+    display: inline-block;
+    *display: inline; /* IE < 8: fake inline-block */
+    zoom: 1;
+    letter-spacing: normal;
+    word-spacing: normal;
+    vertical-align: top;
+    text-rendering: auto;
+}
+
+/*
+Resets the font family back to the OS/browser's default sans-serif font,
+this the same font stack that Normalize.css sets for the `body`.
+*/
+.pure-g [class *= "pure-u"] {
+    font-family: sans-serif;
+}

Added: trunk/phpgwapi/templates/pure/css/grids-min.css
===================================================================
--- trunk/phpgwapi/templates/pure/css/grids-min.css                             
(rev 0)
+++ trunk/phpgwapi/templates/pure/css/grids-min.css     2014-08-05 12:28:34 UTC 
(rev 12049)
@@ -0,0 +1,7 @@
+/*!
+Pure v0.5.0
+Copyright 2014 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+https://github.com/yui/pure/blob/master/LICENSE.md
+*/
+.pure-g{letter-spacing:-.31em;*letter-spacing:normal;*word-spacing:-.43em;text-rendering:optimizespeed;font-family:FreeSans,Arimo,"Droid
 Sans",Helvetica,Arial,sans-serif;display:-webkit-flex;-webkit-flex-flow:row 
wrap;display:-ms-flexbox;-ms-flex-flow:row wrap}.opera-only 
:-o-prefocus,.pure-g{word-spacing:-.43em}.pure-u{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-g
 [class 
*="pure-u"]{font-family:sans-serif}.pure-u-1,.pure-u-1-1,.pure-u-1-2,.pure-u-1-3,.pure-u-2-3,.pure-u-1-4,.pure-u-3-4,.pure-u-1-5,.pure-u-2-5,.pure-u-3-5,.pure-u-4-5,.pure-u-5-5,.pure-u-1-6,.pure-u-5-6,.pure-u-1-8,.pure-u-3-8,.pure-u-5-8,.pure-u-7-8,.pure-u-1-12,.pure-u-5-12,.pure-u-7-12,.pure-u-11-12,.pure-u-1-24,.pure-u-2-24,.pure-u-3-24,.pure-u-4-24,.pure-u-5-24,.pure-u-6-24,.pure-u-7-24,.pure-u-8-24,.pure-u-9-24,.pure-u-10-24,.pure-u-11-24,.pure-u-12-24,.pure-u-13-24,.pure-u-14-24,.pure-u-15-24,.pure-u-16-24,.pure-u-17-24,.pure-u-18-24,.pure-u-19-24,.pure-u-20-24,.pure-u-21-24,.pure-u-22-24,.pure-u-23-24,.pure-u-24-24{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-1-24{width:4.1667%;*width:4.1357%}.pure-u-1-12,.pure-u-2-24{width:8.3333%;*width:8.3023%}.pure-u-1-8,.pure-u-3-24{width:12.5%;*width:12.469%}.pure-u-1-6,.pure-u-4-24{width:16.6667%;*width:16.6357%}.pure-u-1-5{width:20%;*width:19.969%}.pure-u-5-24{width:20.8333%;*width:20.8023%}.pure-u-1-4,.pure-u-6-24{width:25%;*width:24.969%}.pure-u-7-24{width:29.1667%;*width:29.1357%}.pure-u-1-3,.pure-u-8-24{width:33.3333%;*width:33.3023%}.pure-u-3-8,.pure-u-9-24{width:37.5%;*width:37.469%}.pure-u-2-5{width:40%;*width:39.969%}.pure-u-5-12,.pure-u-10-24{width:41.6667%;*width:41.6357%}.pure-u-11-24{width:45.8333%;*width:45.8023%}.pure-u-1-2,.pure-u-12-24{width:50%;*width:49.969%}.pure-u-13-24{width:54.1667%;*width:54.1357%}.pure-u-7-12,.pure-u-14-24{width:58.3333%;*width:58.3023%}.pure-u-3-5{width:60%;*width:59.969%}.pure-u-5-8,.pure-u-15-24{width:62.5%;*width:62.469%}.pure-u-2-3,.pure-u-16-24{width:66.6667%;*width:66.6357%}.pure-u-17-24{width:70.8333%;*width:70.8023%}.pure-u-3-4,.pure-u-18-24{width:75%;*width:74.969%}.pure-u-19-24{width:79.1667%;*width:79.1357%}.pure-u-4-5{width:80%;*width:79.969%}.pure-u-5-6,.pure-u-20-24{width:83.3333%;*width:83.3023%}.pure-u-7-8,.pure-u-21-24{width:87.5%;*width:87.469%}.pure-u-11-12,.pure-u-22-24{width:91.6667%;*width:91.6357%}.pure-u-23-24{width:95.8333%;*width:95.8023%}.pure-u-1,.pure-u-1-1,.pure-u-5-5,.pure-u-24-24{width:100%}
\ No newline at end of file

Added: trunk/phpgwapi/templates/pure/css/grids-responsive-min.css
===================================================================
--- trunk/phpgwapi/templates/pure/css/grids-responsive-min.css                  
        (rev 0)
+++ trunk/phpgwapi/templates/pure/css/grids-responsive-min.css  2014-08-05 
12:28:34 UTC (rev 12049)
@@ -0,0 +1,7 @@
+/*!
+Pure v0.5.0
+Copyright 2014 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+https://github.com/yui/pure/blob/master/LICENSE.md
+*/

@@ Diff output truncated at 153600 characters. @@



reply via email to

[Prev in Thread] Current Thread [Next in Thread]