diff --git a/.gitignore b/.gitignore index 4e923db..a671002 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,7 @@ - credentials.php +.* +!/.gitignore +www/js/*.js +www/css/*.css +node_modules/* +www/css/images/** \ No newline at end of file diff --git a/Gruntfile.js b/Gruntfile.js new file mode 100644 index 0000000..178e0d6 --- /dev/null +++ b/Gruntfile.js @@ -0,0 +1,176 @@ +/*global module:false*/ +module.exports = function(grunt) { + + // Project configuration. + grunt.initConfig({ + // Metadata. + pkg: grunt.file.readJSON('package.json'), + banner: '/*! <%= pkg.title || pkg.name %> - v<%= pkg.version %> - ' + + '<%= grunt.template.today("yyyy-mm-dd") %>\n' + + '<%= pkg.homepage ? "* " + pkg.homepage + "\\n" : "" %>' + + '* Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author.name %>;' + + ' Licensed <%= _.pluck(pkg.licenses, "type").join(", ") %> */\n', + less: { + development: { + src: "less/*.less", + dest: ".tmp/<%= pkg.name %>.css" + } + }, + concat: { + js: { + src: [ + 'js/libs/jquery-1.11.0.min.js', // make sure it's first + 'js/libs/*.js', + 'js/libs/jquery.mobile/*.min.js', + 'js/api/*.js', + 'js/*.js', + // make sure we put main.js last + '!js/main.js', + 'js/main.js', + ], + dest: 'www/js/<%= pkg.name %>.js' + }, + less: { + src: [ + 'js/libs/jquery.mobile/jquery.mobile-1.4.2.css', + 'less/*.css', + '.tmp/<%= pkg.name %>.css' + ], + dest: 'www/css/<%= pkg.name %>.css' /* to css so it's replaced */ + } + }, + autoprefixer: { + options: { + browsers: ['> 1%', 'last 2 versions', 'ie 8', 'ie 9', 'ff 17', 'opera 12.1'] + }, + // prefix all specified files and save them separately + single_file: { + options: {}, + // expand: true, + // flatten: true, + src: 'www/css/<%= pkg.name %>.css', + dest: 'www/css/<%= pkg.name %>.css' + } + }, + cssmin: { + minify: { + expand: true, + cwd: 'www/css/', + src: ['*.css', '!*.min.css'], + dest: 'www/css/', + ext: '.min.css' + } + }, + uglify: { + options: { +// banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n', + mangle: true, + beautify: false, + compress: {}, +// report: 'min', + preserveComments: 'some' + }, + js: { + files: { + 'www/js/<%= pkg.name %>.min.js' : ['www/js/<%= pkg.name %>.js'] + } + }, + /*jslibs: { + cwd: "js/libs/", +// src: ['js/libs/*.js', '!js/libs/*.min.js'], // source files mask + src: ['*.js', '!*.min.js'], // source files mask + dest: 'www/js/libs/', // destination folder + expand: true, // allow dynamic building + flatten: true, // remove all unnecessary nesting + ext: '.min.js' // replace .js to .min.js +// files: { +// 'www/js/<%= pkg.name %>.min.js' : ['www/js/<%= pkg.name %>.js'] +// } + }*/ + }, + jshint: { + options: { + globals: { + jQuery: true, + $: true, + console: false, + d3d: true, + ConnectAPI: true, + NetworkAPI: true, + InfoAPI: true, + ConfigAPI: true, + addToHomescreen: true + }, + browser: true, + curly: true, + eqeqeq: true, + immed: true, + latedef: true, + newcap: true, + noarg: true, + sub: true, + undef: true, + unused: false, + boss: true, + eqnull: true + }, +// gruntfile: { +// src: 'Gruntfile.js' +// }, +// lib_test: { +// src: ['www/js/*.js', '!www/js/<%= pkg.name %>.js', '!www/js/<%= pkg.name %>.min.js'] +// } + src: ['js/**.js'], + }, + clean: { + main: { + src: "www/css/images" + } + }, + copy: { + main: { + expand: true, + nonull: true, + cwd: "js/libs/jquery.mobile/images/", + src: "**", + dest: "www/css/images/", + filter: grunt.file.exists + } + }, + watch: { + javascript: { + files: ["js/**", '!www/js/<%= pkg.name %>.min.js', '!www/js/<%= pkg.name %>.js'], + tasks: ["jshint", "concat:js", "uglify:js"] + }, + styles: { + files: ["less/**"], + tasks: ["less", "autoprefixer", "concat:less", "cssmin"] + } + }, + }); + + // These plugins provide necessary tasks. + grunt.loadNpmTasks('grunt-contrib-less'); + grunt.loadNpmTasks('grunt-contrib-concat'); + grunt.loadNpmTasks('grunt-contrib-uglify'); + grunt.loadNpmTasks('grunt-contrib-jshint'); + grunt.loadNpmTasks('grunt-contrib-watch'); + grunt.loadNpmTasks('grunt-autoprefixer'); + grunt.loadNpmTasks('grunt-contrib-cssmin'); + grunt.loadNpmTasks('grunt-contrib-copy'); + grunt.loadNpmTasks('grunt-contrib-clean'); + + // Default task. + grunt.registerTask('default', [ + 'less', + 'autoprefixer', + 'concat', + 'cssmin', + 'uglify', + 'jshint', + 'clean', + 'copy', + 'watch' + ]); + +}; diff --git a/css/add2home.css b/css/add2home.css deleted file mode 100644 index a2d64ae..0000000 --- a/css/add2home.css +++ /dev/null @@ -1,180 +0,0 @@ -/** - * - * Main container - * - */ -#addToHomeScreen { - z-index:9999; - -webkit-user-select:none; - user-select:none; - -webkit-box-sizing:border-box; - box-sizing:border-box; - -webkit-touch-callout:none; - touch-callout:none; - width:240px; - font-size:15px; - padding:12px 14px; - text-align:left; - font-family:helvetica; - background-image:-webkit-gradient(linear,0 0,0 100%,color-stop(0,#fff),color-stop(0.02,#eee),color-stop(0.98,#ccc),color-stop(1,#a3a3a3)); - border:1px solid #505050; - -webkit-border-radius:8px; - -webkit-background-clip:padding-box; - color:#333; - text-shadow:0 1px 0 rgba(255,255,255,0.75); - line-height:130%; - -webkit-box-shadow:0 0 4px rgba(0,0,0,0.5); -} - -#addToHomeScreen.addToHomeIOS7 { - background:#f2f2f2 !important; - -webkit-border-radius:1px !important; - border:1px solid #ccc; - -webkit-box-shadow:0 0 4px rgba(0,0,0,0.2); -} - -#addToHomeScreen.addToHomeIpad { - width:268px; - font-size:18px; - padding:14px; -} - -/** - * - * The 'wide' class is added when the popup contains the touch icon - * - */ -#addToHomeScreen.addToHomeWide { - width:296px; -} - -#addToHomeScreen.addToHomeIpad.addToHomeWide { - width:320px; - font-size:18px; - padding:14px; -} - -/** - * - * The balloon arrow - * - */ -#addToHomeScreen .addToHomeArrow { - position:absolute; - background-image:-webkit-gradient(linear,0 0,100% 100%,color-stop(0,rgba(204,204,204,0)),color-stop(0.4,rgba(204,204,204,0)),color-stop(0.4,#ccc)); - border-width:0 1px 1px 0; - border-style:solid; - border-color:#505050; - width:16px; height:16px; - -webkit-transform:rotateZ(45deg); - bottom:-9px; - left:50%; - margin-left:-8px; - -webkit-box-shadow:inset -1px -1px 0 #a9a9a9; - -webkit-border-bottom-right-radius:2px; -} - -#addToHomeScreen.addToHomeIOS7 .addToHomeArrow { - background-image:-webkit-gradient(linear,0 0,100% 100%,color-stop(0,rgba(204,204,204,0)),color-stop(0.4,rgba(204,204,204,0)),color-stop(0.4,#f2f2f2)) !important; - -webkit-box-shadow:inset -1px -1px 0 #fff !important; - border-color:#ccc !important; -} - -/** - * - * The balloon arrow for iPad - * - */ -#addToHomeScreen.addToHomeIpad .addToHomeArrow { - -webkit-transform:rotateZ(-135deg); - background-image:-webkit-gradient(linear,0 0,100% 100%,color-stop(0,rgba(238,238,238,0)),color-stop(0.4,rgba(238,238,238,0)),color-stop(0.4,#eee)); - -webkit-box-shadow:inset -1px -1px 0 #fff; - top:-9px; bottom:auto; left:50%; -} - - -/** - * - * Close button - * - */ -#addToHomeScreen .addToHomeClose { - -webkit-box-sizing:border-box; - position:absolute; - right:4px; - top:4px; - width:18px; - height:18px; line-height:14px; - text-align:center; - text-indent:1px; - -webkit-border-radius:9px; - background:rgba(0,0,0,0.12); - color:#888; - -webkit-box-shadow:0 1px 0 #fff; - font-size:16px; -} - -#addToHomeScreen.addToHomeIOS7 .addToHomeClose { - line-height:12px; - padding-right:1px; - background:transparent; - border: 1px solid #888; - -webkit-box-shadow:none; -} - -/** - * - * The '+' icon, displayed only on iOS < 4.2 - * - */ -#addToHomeScreen .addToHomePlus { - font-weight:bold; - font-size:1.3em; -} - - -/** - * - * The 'share' icon, displayed only on iOS >= 4.2 - * - */ -#addToHomeScreen .addToHomeShare { - display:inline-block; - width:18px; - height:15px; - background-repeat:no-repeat; - background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAeCAQAAADu6HTYAAADPElEQVR4Xq3TX2gcRRzA8e/M7mVv2+TSNpc/TZtrY6jUGqgaSAmEChKLrYK0YH0RFC2CSCkEfCghiKU04J8qNigq6os+iQV98MHWFwVBrQQRWs21lBw5cw3NNb1/udu72RGG5Y77IzXW77D7sAwf5scyYoL6BGXSDKFZwaGpLvIUaeoCkvX1MmsM0Ny6oRSQYOLuIS+YZOpfQdqslpUxcZrzTVAz4qPwW2O3CeIwC/RSzeY6Ow1QhUrkr+YOWfEKDkEP8Rij7CHKJmrFSDHBdwGEE5wiGChPN+PnT8VdRtEIl1d4gRj/1EVe5ZSBKGh8iqQpo/Fo5+3C/gz0MYg4zgwbqday1/Q4B8BGQ45d/Hi54lakCrU5obOcidJpu1+Lg9whjabyaOYLnrIBFFaRD+xe2ybMDWY66GmP/WA9cGfGp0CWhy0wkMN8inepFiH2rV1j0NQSNQbFLRQnS8/8YSDBBpadfv4CYDub2fmeHDNAsL1MBWUel0iA+Xik6eHcyvD3vAMSU1TGuA/YRS+dD7ovCQN43GKRFCU20Kd3V/avDVVyAZ5niTEuLA5/zBGWg9EEEhfJKN200Tat8CmRAQb9+wv7soPlHt2tQorsz1uPbr0HTY4sJwrH47zJZwABBAKLMBoQXepwgTwdHCo+fXMkQ4lrxEmQ5AaXipPqDY9V2vn09tgvTPI71EEGYxM+/uMJLJ4svpgaWGKOi/xKgmqLSUGSUd5f2vIVJ/CgBaTIUsZ7ZBsn0+NzfMOXLFCXQyTcybN6ep5ZZgUOHn7jpfUpsZshdugPGf+E5zjbyHTSRyQ8xfRPPM/s63RHeuknSoT22mjmmnAOIMkUZ6D1xSfPPAfd1WFKM3sO2CMaHx8M1NjnXKHaAGGkOW0C02WeYHUz4qMtx+w5gUDS8NckYe5lHsMYwCZEPyEEmjLDZFmAS7CDviMdxyTkMNVBKEmYLvbiQQBIBBbCQG04bGQvFWz6CfsCQLWCigILFwcfkGYBiOpbYuOizTAyYyDdCtrGaRG1LCkIgMYEFhI0WqQZoSlbGRyHKe4qOx7iv2bVQW9dp4dlM/x6kmwnWQcd/Q3FCqwTEiT5s+6D5v/pb0SSHyg7uhMWAAAAAElFTkSuQmCC); - background-size:18px 15px; - text-indent:-9999em; - overflow:hidden; -} - -#addToHomeScreen.addToHomeIOS7 .addToHomeShare { - width:11px; - background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAA8CAYAAAAQTCjdAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAASCQAAEgkB80sG3AAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAKjSURBVGiB7dpPiFVVHMDxz7m9NCtMyI2bEJEC25WrEkzHUXCRraIwdNE8ZxfYIlcis1ZEbGEzT1QCF4XgH1CyWhUoJKIWNRGEiCNKmkSiYTzfcfGuOokx77x3ZlS8382959zfn+/invvn3RdijHIRBrwkOINCYXEcdjpb7VyiYdBsLScwt5y6IloYdzqXo36Ro0gY9IKWo+5JwmzBt2HQnBw9ehYNazyn5TBee8Dh+Vq+CWu92GufnkTDR6ab7gDeBNHouMM/l9tXTXM0fGBmL726Fg1Dam74EsvKqR8VNowL2Yzj5f7rnnE4DHq2235diYYhhTGfC94up35T0y+6di/ITU0rKVd+sEi0P7xr2pSJOu8zvF+OzqEv7vDH/WFxt7/cshy/ticsN8sXYUht0kXDOlsF9XJ4UaEvNoz9X3zc5bKaZThbyr5jzJ4wlNY7KTgM+ES0vhz+KeiPw36fKC/ucAF9uFBOrTZm26SJCtaV27+xIo7cXdkTEhvOoh+XyxprU1qnim7CQdGK2HAyKRexYVShT3RItDElN+mkjiP2Ym+S3f01hv2EVal5WW6hU0ElmptaqJuBpXg6MbeFH2LDpU6CQ93zWIKnEvs0cayGU3glMfkOo1jQYewZzOuyz7FC95Jwo5OgUFfgeg993hh/eTqCTxOSm/iuk8DY0Ap1b2GhtHXxsfZN4j/X0fOx4auEIknEhqv4OiUn1L13Z/+xWfWVaG4q0dxUormpRHNTieamEs1NJZqbJ1Q0jHvdiJo5S2cVjSNOCHZhn3/SnuYnIvl3yomIIz7MXZMn9hydRCrR3FSiualEc1OJ5qYSzU0lmptKNDePjWgwcPePT7/g+4cp8wCW4GXaryK3tL+mLdD5x62ppllgu7bso8q/2HIbzGWdNmWnSJwAAAAASUVORK5CYII=); - background-size:11px 15px; -} - -/** - * - * The touch icon (if available) - * - */ -#addToHomeScreen .addToHomeTouchIcon { - display:block; - float:left; - -webkit-border-radius:6px; - border-radius:6px; - -webkit-box-shadow:0 1px 3px rgba(0,0,0,0.5), - inset 0 0 2px rgba(255,255,255,0.9); - box-shadow:0 1px 3px rgba(0,0,0,0.5), - inset 0 0 2px rgba(255,255,255,0.9); - background-repeat:no-repeat; - width:57px; height:57px; - -webkit-background-size:57px 57px; - background-size:57px 57px; - margin:0 12px 0 0; - border:1px solid #333; - -webkit-background-clip:padding-box; - background-clip:padding-box; -} diff --git a/css/bg.css b/css/bg.css deleted file mode 100644 index 7c023ad..0000000 --- a/css/bg.css +++ /dev/null @@ -1,82 +0,0 @@ -.uiButtonsContainer { - position: absolute; - max-width: 1024px; - /*min-width: 800px;*/ - width: 100%; - height: 100%; - /*max-height: 768px;*/ - /*min-height: 300px;*/ - top: 0; left: 0; right: 0; bottom: 0; - /*overflow: hidden;*/ - margin: 0 auto; - outline: 2px solid #5e8c71; - box-shadow: 0 0 8px rgba(8, 8, 8, 0.25); - /* height: 768px;*/ -} - -#d3dlogo { - position: absolute; - top: 2.5%; - /*left: 31%;*/ - width: 100%; - margin: 0 auto; - height: 139px; - background: url('../img/logo_full.png') no-repeat center center; - cursor: pointer; -} - -.bgContainer { - position: absolute; - width: 100%; - height: 100%; - overflow: hidden; -} -.bgTop, .bgMiddle, .bgBottom { - opacity: 1.0; - transition: opacity .35s linear; - position: absolute; - left: 0; - z-index: -5; -} -.bgTop { - top: 0; -} -.bgMiddle { - top: 30%; -} -.bgBottom { - bottom: 0; -} - -/* The code below is for resizing UI elements as the viewport becomes less high (suitable for tablets & smartphones) */ - -@media screen and (max-height: 655px) { - .bgMiddle { opacity: 0; } -} - -@media screen and (max-height: 675px) { - #d3dlogo { - /*width: 399px;*/ - height: 74px; - background-image: url('../img/logo_small.png'); - top: 6%; - } -} - -@media screen and (max-height: 560px) { - #d3dlogo { - /*width: 399px;*/ - height: 57px; - background-image: url('../img/logo_smaller_wide.png'); - top: 6%; - } -} - -@media screen and (max-height: 420px) { - #d3dlogo { - top: 3%; - } -} - - - diff --git a/css/chosen.min.css b/css/chosen.min.css deleted file mode 100644 index 79772fc..0000000 --- a/css/chosen.min.css +++ /dev/null @@ -1,3 +0,0 @@ -/* Chosen v1.1.0 | (c) 2011-2013 by Harvest | MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md */ - -.chosen-container{position:relative;display:inline-block;vertical-align:middle;font-size:13px;zoom:1;*display:inline;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chosen-container .chosen-drop{position:absolute;top:100%;left:-9999px;z-index:1010;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:100%;border:1px solid #aaa;border-top:0;background:#fff;box-shadow:0 4px 5px rgba(0,0,0,.15)}.chosen-container.chosen-with-drop .chosen-drop{left:0}.chosen-container a{cursor:pointer}.chosen-container-single .chosen-single{position:relative;display:block;overflow:hidden;padding:0 0 0 8px;height:23px;border:1px solid #aaa;border-radius:5px;background-color:#fff;background:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#fff),color-stop(50%,#f6f6f6),color-stop(52%,#eee),color-stop(100%,#f4f4f4));background:-webkit-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:-moz-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:-o-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background-clip:padding-box;box-shadow:0 0 3px #fff inset,0 1px 1px rgba(0,0,0,.1);color:#444;text-decoration:none;white-space:nowrap;line-height:24px}.chosen-container-single .chosen-default{color:#999}.chosen-container-single .chosen-single span{display:block;overflow:hidden;margin-right:26px;text-overflow:ellipsis;white-space:nowrap}.chosen-container-single .chosen-single-with-deselect span{margin-right:38px}.chosen-container-single .chosen-single abbr{position:absolute;top:6px;right:26px;display:block;width:12px;height:12px;background:url(../img/chosenchosen-sprite.png) -42px 1px no-repeat;font-size:1px}.chosen-container-single .chosen-single abbr:hover{background-position:-42px -10px}.chosen-container-single.chosen-disabled .chosen-single abbr:hover{background-position:-42px -10px}.chosen-container-single .chosen-single div{position:absolute;top:0;right:0;display:block;width:18px;height:100%}.chosen-container-single .chosen-single div b{display:block;width:100%;height:100%;background:url(../img/chosen/chosen-sprite.png) no-repeat 0 2px}.chosen-container-single .chosen-search{position:relative;z-index:1010;margin:0;padding:3px 4px;white-space:nowrap}.chosen-container-single .chosen-search input[type=text]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:1px 0;padding:4px 20px 4px 5px;width:100%;height:auto;outline:0;border:1px solid #aaa;background:#fff url(../img/chosen/chosen-sprite.png) no-repeat 100% -20px;background:url(../img/chosen/chosen-sprite.png) no-repeat 100% -20px;font-size:1em;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-single .chosen-drop{margin-top:-1px;border-radius:0 0 4px 4px;background-clip:padding-box}.chosen-container-single.chosen-container-single-nosearch .chosen-search{position:absolute;left:-9999px}.chosen-container .chosen-results{position:relative;overflow-x:hidden;overflow-y:auto;margin:0 4px 4px 0;padding:0 0 0 4px;max-height:240px;-webkit-overflow-scrolling:touch}.chosen-container .chosen-results li{display:none;margin:0;padding:5px 6px;list-style:none;line-height:15px;-webkit-touch-callout:none}.chosen-container .chosen-results li.active-result{display:list-item;cursor:pointer}.chosen-container .chosen-results li.disabled-result{display:list-item;color:#ccc;cursor:default}.chosen-container .chosen-results li.highlighted{background-color:#3875d7;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#3875d7),color-stop(90%,#2a62bc));background-image:-webkit-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:-moz-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:-o-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:linear-gradient(#3875d7 20%,#2a62bc 90%);color:#fff}.chosen-container .chosen-results li.no-results{display:list-item;background:#f4f4f4}.chosen-container .chosen-results li.group-result{display:list-item;font-weight:700;cursor:default}.chosen-container .chosen-results li.group-option{padding-left:15px}.chosen-container .chosen-results li em{font-style:normal;text-decoration:underline}.chosen-container-multi .chosen-choices{position:relative;overflow:hidden;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;width:100%;height:auto!important;height:1%;border:1px solid #aaa;background-color:#fff;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(1%,#eee),color-stop(15%,#fff));background-image:-webkit-linear-gradient(#eee 1%,#fff 15%);background-image:-moz-linear-gradient(#eee 1%,#fff 15%);background-image:-o-linear-gradient(#eee 1%,#fff 15%);background-image:linear-gradient(#eee 1%,#fff 15%);cursor:text}.chosen-container-multi .chosen-choices li{float:left;list-style:none}.chosen-container-multi .chosen-choices li.search-field{margin:0;padding:0;white-space:nowrap}.chosen-container-multi .chosen-choices li.search-field input[type=text]{margin:1px 0;padding:5px;height:15px;outline:0;border:0!important;background:transparent!important;box-shadow:none;color:#666;font-size:100%;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-multi .chosen-choices li.search-field .default{color:#999}.chosen-container-multi .chosen-choices li.search-choice{position:relative;margin:3px 0 3px 5px;padding:3px 20px 3px 5px;border:1px solid #aaa;border-radius:3px;background-color:#e4e4e4;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-o-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-clip:padding-box;box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);color:#333;line-height:13px;cursor:default}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{position:absolute;top:4px;right:3px;display:block;width:12px;height:12px;background:url(../img/chosen/chosen-sprite.png) -42px 1px no-repeat;font-size:1px}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover{background-position:-42px -10px}.chosen-container-multi .chosen-choices li.search-choice-disabled{padding-right:5px;border:1px solid #ccc;background-color:#e4e4e4;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-o-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);color:#666}.chosen-container-multi .chosen-choices li.search-choice-focus{background:#d4d4d4}.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close{background-position:-42px -10px}.chosen-container-multi .chosen-results{margin:0;padding:0}.chosen-container-multi .chosen-drop .result-selected{display:list-item;color:#ccc;cursor:default}.chosen-container-active .chosen-single{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active.chosen-with-drop .chosen-single{border:1px solid #aaa;-moz-border-radius-bottomright:0;border-bottom-right-radius:0;-moz-border-radius-bottomleft:0;border-bottom-left-radius:0;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#eee),color-stop(80%,#fff));background-image:-webkit-linear-gradient(#eee 20%,#fff 80%);background-image:-moz-linear-gradient(#eee 20%,#fff 80%);background-image:-o-linear-gradient(#eee 20%,#fff 80%);background-image:linear-gradient(#eee 20%,#fff 80%);box-shadow:0 1px 0 #fff inset}.chosen-container-active.chosen-with-drop .chosen-single div{border-left:0;background:transparent}.chosen-container-active.chosen-with-drop .chosen-single div b{background-position:-18px 2px}.chosen-container-active .chosen-choices{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active .chosen-choices li.search-field input[type=text]{color:#111!important}.chosen-disabled{opacity:.5!important;cursor:default}.chosen-disabled .chosen-single{cursor:default}.chosen-disabled .chosen-choices .search-choice .search-choice-close{cursor:default}.chosen-rtl{text-align:right}.chosen-rtl .chosen-single{overflow:visible;padding:0 8px 0 0}.chosen-rtl .chosen-single span{margin-right:0;margin-left:26px;direction:rtl}.chosen-rtl .chosen-single-with-deselect span{margin-left:38px}.chosen-rtl .chosen-single div{right:auto;left:3px}.chosen-rtl .chosen-single abbr{right:auto;left:26px}.chosen-rtl .chosen-choices li{float:right}.chosen-rtl .chosen-choices li.search-field input[type=text]{direction:rtl}.chosen-rtl .chosen-choices li.search-choice{margin:3px 5px 3px 0;padding:3px 5px 3px 19px}.chosen-rtl .chosen-choices li.search-choice .search-choice-close{right:auto;left:4px}.chosen-rtl.chosen-container-single-nosearch .chosen-search,.chosen-rtl .chosen-drop{left:9999px}.chosen-rtl.chosen-container-single .chosen-results{margin:0 0 4px 4px;padding:0 4px 0 0}.chosen-rtl .chosen-results li.group-option{padding-right:15px;padding-left:0}.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div{border-right:0}.chosen-rtl .chosen-search input[type=text]{padding:4px 5px 4px 20px;background:#fff url(../img/chosen/chosen-sprite.png) no-repeat -30px -20px;background:url(../img/chosen/chosen-sprite.png) no-repeat -30px -20px;direction:rtl}.chosen-rtl.chosen-container-single .chosen-single div b{background-position:6px 2px}.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b{background-position:-12px 2px}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-resolution:144dpi){.chosen-rtl .chosen-search input[type=text],.chosen-container-single .chosen-single abbr,.chosen-container-single .chosen-single div b,.chosen-container-single .chosen-search input[type=text],.chosen-container-multi .chosen-choices .search-choice .search-choice-close,.chosen-container .chosen-results-scroll-down span,.chosen-container .chosen-results-scroll-up span{background-image:url(../img/chosen/chosen-sprite@2x.png)!important;background-size:52px 37px!important;background-repeat:no-repeat!important}} \ No newline at end of file diff --git a/css/main.css b/css/main.css deleted file mode 100644 index 2d8d6a9..0000000 --- a/css/main.css +++ /dev/null @@ -1,207 +0,0 @@ -p, small { - line-height: 1.2em; -} - -#container { - position:absolute; - width: 100%; - max-width: 1024px; - /*max-height: 768px;*/ - top: 0; - bottom: 0; - left: 0; - right: 0; - overflow: hidden; - margin: 0 auto; - - box-shadow: 0 0 0 2px #5e8c71, 0 0 8px 4px rgba(8, 8, 8, 0.25); -} - -a { - color: #5491D2; - text-decoration: none; -} - -#preloader { - position: absolute; - top: 50%; - left: 50%; - width: 50px; - height: 50px; - margin: -25px 0 0 -25px; - pointer-events: none; -} -#list { - padding: 0; -} - -.box{ - list-style-type: none; - float: left; - - margin: 0 15px 15px 0; - /*padding: 25px;*/ - padding: 0 0 25px 0; - display: block; - position: relative; - - min-width: 200px; /*175px;*/ - min-height: 175px; /*175px;*/ - /*height: 275px;*/ - - border: 2px solid #333; - border-radius: 25px; - - -moz-box-shadow: 0px 2px 7px 0px rgba(16, 16, 16, 0.60); - -webkit-box-shadow: 0px 2px 7px 0px rgba(16, 16, 16, 0.60); - box-shadow: 0px 2px 7px 0px rgba(16, 16, 16, 0.60); - - transition:background-color 0.1s, color 0.1s; -} -.box:hover { - background-color: #5491D2; -} -.box:hover .link{ - color: #fff; -} -.box.complex { - width: 375px; /*320px;*/ - height: 350px; - /*border: 2px solid #00f;*/ -} -box.connecting { - border: 2px solid #ff0; -} -.box .link{ - display:block; - padding: 25px 25px 12px 25px; - text-align: center; - - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; -} -.box.complex .link { - position: relative; - top: auto; - right: auto; - bottom: auto; - left: auto; -} -.box small { - margin: 0.5em 0 0 0; - display: block; -} - -#hint { - display:none; - position: absolute; - bottom: 1em; -} - -#networkForm { - display: none; -} -.box .networkForm { - display: none; -} -.box.complex .networkForm { - display: block; -} - - -/* FORMS */ -form label { - min-width: 110px; - display: block; - float: left; - margin: 1px 0 10px 0; -} -form label.inline { - display: inline; - float: none; -} - -form input, form select { - margin-bottom: 5px; -} -form select { - margin-right: 5px; -} -form input[type="text"], form input[type="number"], form input[type="password"], form select { - width: 130px; -} -form input[type="text"], form input[type="number"], form input[type="password"] { - border: 1px solid rgb(144, 192, 255); - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; -} -form .row { - clear: left; -} -form .row div { -/* float: left;*/ -} - - -/* NETWORK PANEL */ -.networkForm { - background-color: #fff; - /*border-radius: 0 0 25px 25px;*/ - padding: 12px 25px 12px 25px; -} -.networkForm p { - margin: 0 0 10px 0; -} - -.networkForm #network { - margin-right: 5px; - width: 180px; -} -.networkForm #ssid, -.networkForm #listNetworks, -.networkForm #passwordSettings { - display: none; -} -.networkForm.customNetwork #passwordSettings { - display: block; -} -.networkForm.customNetwork #ssid, -.networkForm.customNetwork #listNetworks{ - display: inline-block; -} -.networkForm.customNetwork #network, -.networkForm.customNetwork #refreshNetworks { - display: none; -} -.networkForm #status { - position: relative; - top: 2px; -} -.networkForm #action { - /*clear: left;*/ - display: block; - padding: 5px 4px 4px 4px; -} -.networkForm #action.error { - background: #EB313C; - color: #fff; -} -.networkForm #action.warning { - background: #E9A86E; -} -.networkForm #action.notice { - background: #93CAF4; -} -.networkForm #action.info { - background: #97DD8A; -} -.networkForm #action.none { - display: none; -} -.networkForm .chosen-container-single .chosen-default { - color: #333; /* let's not pretend it's disabled */ -} \ No newline at end of file diff --git a/css/mobile.css b/css/mobile.css deleted file mode 100644 index ab29eb0..0000000 --- a/css/mobile.css +++ /dev/null @@ -1,51 +0,0 @@ -/* MOBILE */ -@media only screen and (max-width: 480px), -only screen and (max-width: 720px) and (min-device-pixel-ratio : 1.5), -only screen and (max-width: 720px) and (-webkit-min-device-pixel-ratio : 1.5) { - body { - /*background-color: #f0f;*/ - } - - #d3dlogo { - /*width: 399px;*/ - height: 57px; - background-image: url('../img/logo_smaller_wide.png'); - top: 7px; - } - - .popup { - /*background-color: rgba(255, 255, 255, 0.6);*/ - background-color: rgba(245, 245, 245, 0.65); - position: absolute; - bottom: 0; - left: 0; - top: 75px; - width: 100%; - height: auto; - margin: 0; - - /*-moz-box-shadow: 0 0 0 3px rgba(16, 16, 16, 1.0), 0 2px 6px 0 rgba(16, 16, 16, 0.65), 0 6px 6px -2px rgba(16, 16, 16, 0.2) inset;*/ - /*-webkit-box-shadow: 0 0 0 3px rgba(16, 16, 16, 1.0), 0 2px 6px 0 rgba(16, 16, 16, 0.65), 0 6px 6px -2px rgba(16, 16, 16, 0.2) inset;*/ - box-shadow: 0 0 0 2px rgba(16, 16, 16, 0.8), 0 2px 6px 0 rgba(16, 16, 16, 0.65), 0 6px 6px -2px rgba(16, 16, 16, 0.2) inset; - border: 0; - border-radius: 0; - /*-moz-border-radius: 15px;*/ - /*-webkit-border-radius: 15px;*/ - overflow-x: hidden; - overflow-y: scroll; - } - - .bgContainer { - /*display: none;*/ - } - - #list { - padding: 0; - } - #list li { - list-style-type: none; - float: none; - } - -} - diff --git a/css/normalize.css b/css/normalize.css deleted file mode 100644 index 823cc10..0000000 --- a/css/normalize.css +++ /dev/null @@ -1,534 +0,0 @@ -/*! normalize.css v1.0.2 | MIT License | git.io/normalize */ - -/* ========================================================================== - HTML5 display definitions - ========================================================================== */ - -/* - * Corrects `block` display not defined in IE 6/7/8/9 and Firefox 3. - */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -nav, -section, -summary { - display: block; -} - -/* - * Corrects `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. - */ - -audio, -canvas, -video { - display: inline-block; - *display: inline; - *zoom: 1; -} - -/* - * Prevents modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ - -audio:not([controls]) { - display: none; - height: 0; -} - -/* - * Addresses styling for `hidden` attribute not present in IE 7/8/9, Firefox 3, - * and Safari 4. - * Known issue: no IE 6 support. - */ - -[hidden] { - display: none; -} - -/* ========================================================================== - Base - ========================================================================== */ - -/* - * 1. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using - * `em` units. - * 2. Prevents iOS text size adjust after orientation change, without disabling - * user zoom. - */ - -html { - font-size: 100%; /* 1 */ - -webkit-text-size-adjust: 100%; /* 2 */ - -ms-text-size-adjust: 100%; /* 2 */ -} - -/* - * Addresses `font-family` inconsistency between `textarea` and other form - * elements. - */ - -html, -button, -input, -select, -textarea { - font-family: sans-serif; -} - -/* - * Addresses margins handled incorrectly in IE 6/7. - */ - -body { - margin: 0; -} - -/* ========================================================================== - Links - ========================================================================== */ - -/* - * Addresses `outline` inconsistency between Chrome and other browsers. - */ - -a:focus { - outline: thin dotted; -} - -/* - * Improves readability when focused and also mouse hovered in all browsers. - */ - -a:active, -a:hover { - outline: 0; -} - -/* ========================================================================== - Typography - ========================================================================== */ - -/* - * Addresses font sizes and margins set differently in IE 6/7. - * Addresses 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; -} - -/* - * Addresses styling not present in IE 7/8/9, Safari 5, and Chrome. - */ - -abbr[title] { - border-bottom: 1px dotted; -} - -/* - * Addresses style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. - */ - -b, -strong { - font-weight: bold; -} - -blockquote { - margin: 1em 40px; -} - -/* - * Addresses styling not present in Safari 5 and Chrome. - */ - -dfn { - font-style: italic; -} - -/* - * Addresses styling not present in IE 6/7/8/9. - */ - -mark { - background: #ff0; - color: #000; -} - -/* - * Addresses margins set differently in IE 6/7. - */ - -p, -pre { - margin: 1em 0; -} - -/* - * Corrects 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; -} - -/* - * Improves readability of pre-formatted text in all browsers. - */ - -pre { - white-space: pre; - white-space: pre-wrap; - word-wrap: break-word; -} - -/* - * Addresses CSS quotes not supported in IE 6/7. - */ - -q { - quotes: none; -} - -/* - * Addresses `quotes` property not supported in Safari 4. - */ - -q:before, -q:after { - content: ''; - content: none; -} - -/* - * Addresses inconsistent and variable font size in all browsers. - */ - -small { - font-size: 80%; -} - -/* - * Prevents `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 - ========================================================================== */ - -/* - * Addresses margins set differently in IE 6/7. - */ - -dl, -menu, -ol, -ul { - margin: 1em 0; -} - -dd { - margin: 0 0 0 40px; -} - -/* - * Addresses paddings set differently in IE 6/7. - */ - -menu, -ol, -ul { - padding: 0 0 0 40px; -} - -/* - * Corrects list images handled incorrectly in IE 7. - */ - -nav ul, -nav ol { - list-style: none; - list-style-image: none; -} - -/* ========================================================================== - Embedded content - ========================================================================== */ - -/* - * 1. Removes border when inside `a` element in IE 6/7/8/9 and Firefox 3. - * 2. Improves image quality when scaled in IE 7. - */ - -img { - border: 0; /* 1 */ - -ms-interpolation-mode: bicubic; /* 2 */ -} - -/* - * Corrects overflow displayed oddly in IE 9. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* ========================================================================== - Figures - ========================================================================== */ - -/* - * Addresses margin not present in IE 6/7/8/9, Safari 5, and Opera 11. - */ - -figure { - margin: 0; -} - -/* ========================================================================== - Forms - ========================================================================== */ - -/* - * Corrects 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. Corrects color not being inherited in IE 6/7/8/9. - * 2. Corrects text not wrapping in Firefox 3. - * 3. Corrects alignment displayed oddly in IE 6/7. - */ - -legend { - border: 0; /* 1 */ - padding: 0; - white-space: normal; /* 2 */ - *margin-left: -7px; /* 3 */ -} - -/* - * 1. Corrects font size not being inherited in all browsers. - * 2. Addresses margins set differently in IE 6/7, Firefox 3+, Safari 5, - * and Chrome. - * 3. Improves 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 */ -} - -/* - * Addresses Firefox 3+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. - */ - -button, -input { - line-height: normal; -} - -/* - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Corrects inability to style clickable `input` types in iOS. - * 3. Improves usability and consistency of cursor style between image-type - * `input` and others. - * 4. Removes 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], -input[disabled] { - cursor: default; -} - -/* - * 1. Addresses box sizing set to content-box in IE 8/9. - * 2. Removes excess padding in IE 8/9. - * 3. Removes 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. Addresses `appearance` set to `searchfield` in Safari 5 and Chrome. - * 2. Addresses `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; -} - -/* - * Removes 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; -} - -/* - * Removes inner padding and border in Firefox 3+. - */ - -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -/* - * 1. Removes default vertical scrollbar in IE 6/7/8/9. - * 2. Improves 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; -} - - -/* http://nicolasgallagher.com/micro-clearfix-hack/ */ -/** - * For modern browsers - * 1. The space content is one way to avoid an Opera bug when the - * contenteditable attribute is included anywhere else in the document. - * Otherwise it causes space to appear at the top and bottom of elements - * that are clearfixed. - * 2. The use of `table` rather than `block` is only necessary if using - * `:before` to contain the top-margins of child elements. - */ - -/** - * For IE 6/7 only - * Include this rule to trigger hasLayout and contain floats. - */ -.cf { - *zoom: 1; -} - -.cf:before, -.cf:after { - content: " "; /* 1 */ - display: table; /* 2 */ -} - -.cf:after { - clear: both; -} diff --git a/css/popups.css b/css/popups.css deleted file mode 100644 index 81ad646..0000000 --- a/css/popups.css +++ /dev/null @@ -1,41 +0,0 @@ -#contentOverlay { - background-color: rgba(255, 255, 255, 0.65); - z-index: 10; - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - width: 100%; - max-width: 1024px; - height: 100%; - /*max-height: 768px;*/ -} - -.popup { - background-color: #fff; - z-index: 15; - - position: absolute; - bottom: 6%; - left: 50%; - width: 80%; - height: 70%; - margin: -35% 0 0 -40%; - - /*-moz-box-shadow: 0px 2px 6px 0px rgba(16, 16, 16, 0.65);*/ - /*-webkit-box-shadow: 0px 2px 6px 0px rgba(16, 16, 16, 0.65);*/ - box-shadow: 0px 2px 6px 0px rgba(16, 16, 16, 0.65); - border: 2px solid #222; - border-radius: 15px; - /*-moz-border-radius: 15px;*/ - /*-webkit-border-radius: 15px;*/ - overflow-x: hidden; - overflow-y: auto; - -webkit-overflow-scrolling: touch; -} - -.popup .content { - margin: 0 1em; -} - diff --git a/img/bg_bottom.png b/img/bg_bottom.png deleted file mode 100644 index 17c1fd3..0000000 Binary files a/img/bg_bottom.png and /dev/null differ diff --git a/img/bg_middle.png b/img/bg_middle.png deleted file mode 100644 index 0fb448c..0000000 Binary files a/img/bg_middle.png and /dev/null differ diff --git a/img/bg_top.png b/img/bg_top.png deleted file mode 100644 index 5ab0088..0000000 Binary files a/img/bg_top.png and /dev/null differ diff --git a/img/bg_vertical2.png b/img/bg_vertical2.png deleted file mode 100644 index 3b0b4e0..0000000 Binary files a/img/bg_vertical2.png and /dev/null differ diff --git a/img/chosen/chosen-sprite.png b/img/chosen/chosen-sprite.png deleted file mode 100644 index 3611ae4..0000000 Binary files a/img/chosen/chosen-sprite.png and /dev/null differ diff --git a/img/chosen/chosen-sprite@2x.png b/img/chosen/chosen-sprite@2x.png deleted file mode 100644 index ffe4d7d..0000000 Binary files a/img/chosen/chosen-sprite@2x.png and /dev/null differ diff --git a/index.html b/index.html deleted file mode 100644 index 981b403..0000000 --- a/index.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - Doodle3D Connect - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - -
- -
- -
- -
-
-
- -
-

Connect this box to your WiFi network:

-
- - -
-
-
- -
-
-
- - -
-
-
- - -
-
- -
-
- Connecting the box to your WiFi network makes it easier to connect to and allows you to update. You can also continue using the box on it’s own WiFi network by going to draw.doodle3d.com. -
-
- - - \ No newline at end of file diff --git a/js/Box.js b/js/Box.js deleted file mode 100644 index 42999e4..0000000 --- a/js/Box.js +++ /dev/null @@ -1,79 +0,0 @@ -/* - * This file is part of the Doodle3D project (http://doodle3d.com). - * - * Copyright (c) 2013, Doodle3D - * This software is licensed under the terms of the GNU GPL v2 or later. - * See file LICENSE.txt or visit http://www.gnu.org/licenses/gpl.html for full license details. - */ -function Box() { - - this.localip; - this.wifiboxid; - this.connecting = false; - this.destroyedHandler; - - var _element; - var _networkPanel; - var _delayedDestroy; - var _self = this; - - this.init = function(boxData,parentElement) { - - _self.localip = boxData.localip; - _self.wifiboxid = boxData.wifiboxid; - var url = "http://"+_self.localip; - - // create box dom element - var link = (boxData.link)? boxData.link : url; - var linkElement = $(""+_self.wifiboxid+""); - _element = $("
  • "); - _element.append(linkElement); - _element.hide().appendTo(parentElement).fadeIn(500); - - // create network panel dom element - var networkPanelElement = $("#networkForm").clone(); - networkPanelElement.addClass(networkPanelElement.attr("id")); - networkPanelElement.removeAttr("id"); - _element.append(networkPanelElement); - - // create network panel - _networkPanel = new NetworkPanel(); - _networkPanel.id = _self.localip; - _networkPanel.init(url,networkPanelElement, networkStatusChangeHandler); - - } - function networkStatusChangeHandler(networkStatus) { - console.log("Box:networkStatusChangeHandler: ",networkStatus); - _self.connecting = (networkStatus == NetworkAPI.STATUS.CONNECTING); - - // because openwrt can be slow to update it's ssid, a box might - // report it failed connecting but is then slightly later connects - // so we correct CONNECTING_FAILED to CONNECTED unless the box is connected by wire - if(_self.localip != "192.168.5.1" && networkStatus == NetworkAPI.STATUS.CONNECTING_FAILED) { - networkStatus = NetworkAPI.STATUS.CONNECTED; - } - - _element.toggleClass("complex",(networkStatus !== NetworkAPI.STATUS.CONNECTED)); - - if(_self.connecting) { - clearTimeout(_delayedDestroy); - _delayedDestroy = setTimeout(function() { - console.log("delayed remove"); - //removeBox(box,true); - _self.destroy() - }, 10000); - } - } - this.destroy = function() { - console.log("Box:destroy"); - clearTimeout(_delayedDestroy); - - _networkPanel.destroy(); - - _element.fadeOut(500,function() { - _element.remove(); - }); - - if(_self.destroyedHandler) _self.destroyedHandler(_self); - } -} \ No newline at end of file diff --git a/js/BoxPage.js b/js/BoxPage.js new file mode 100644 index 0000000..021c591 --- /dev/null +++ b/js/BoxPage.js @@ -0,0 +1,114 @@ +/* + * This file is part of the Doodle3D project (http://doodle3d.com). + * + * Copyright (c) 2013, Doodle3D + * This software is licensed under the terms of the GNU GPL v2 or later. + * See file LICENSE.txt or visit http://www.gnu.org/licenses/gpl.html for full license details. + */ + +(function (w) { + var _page; + var _list; + var _title; + var _intro; + var _drawItem; + //var _updateItem; + var _joinNetworkItem; + var _defaultItems; + + var _networkStatus; + var _networkAPI = new NetworkAPI(); + var _boxData = {}; + var _retryRetrieveStatusDelay; + var _retryRetrieveStatusDelayTime = 3000; + var PAGE_ID = "#box"; + + var _self = this; + + $.mobile.document.on( "pageinit", PAGE_ID, function( event, data ) { + //console.log("Box page pageinit"); + _page = $(this); + _list = _page.find("ul[data-role=listview]"); + _title = _page.find(".ui-title"); + _intro = _page.find(".intro"); + + _defaultItems = _list.children(); + _drawItem = _list.find("#drawItem"); + //_updateItem = _list.find("#updateItem"); + _joinNetworkItem = _list.find("#joinNetworkItem"); + + // make sure draw link is opened in same WebApp (added to homescreen) + // and it doesn't start a browser + $.stayInWebApp("#box #drawItem a",true); + }); + $.mobile.document.on( "pagebeforeshow", PAGE_ID, function( event, data ) { + console.log("Box page pagebeforeshow"); + _boxData = d3d.util.getPageParams(PAGE_ID); + if(_boxData === undefined) { + $.mobile.changePage("#boxes"); + return; + } + var boxURL = "http://"+_boxData.localip; + //console.log(" _boxData: ",_boxData); + + _title.text(_boxData.wifiboxid); + setNetworkStatus(NetworkAPI.STATUS.CONNECTED); + + var drawLink = (_boxData.link)? _boxData.link : boxURL; + _page.find("#drawItem a").attr("href",drawLink); + + _networkAPI.init(boxURL); + retrieveNetworkStatus(); + }); + $.mobile.document.on( "pagebeforehide", PAGE_ID, function( event, data ) { + clearTimeout(_retryRetrieveStatusDelay); + }); + + + function retrieveNetworkStatus() { + _networkAPI.status(function(data) { + data.status = parseInt(data.status,10); + setNetworkStatus(data.status); + }, function() { + clearTimeout(_retryRetrieveStatusDelay); + _retryRetrieveStatusDelay = setTimeout(_self.retrieveStatus, _retryRetrieveStatusDelayTime); // retry after delay + }); + } + + function setNetworkStatus(status) { + console.log(PAGE_ID+":setNetworkStatus: ",status); + var introText = ""; + if(status === NetworkAPI.STATUS.CONNECTED) { // online + //console.log("online"); + _drawItem.find("a").text("Draw"); + + // display the right buttons + _defaultItems.toggleClass("ui-screen-hidden",false); + _joinNetworkItem.toggleClass("ui-screen-hidden",true); + // ToDo: retrieve update information + + } else { // offline + //console.log("offline"); + introText = "Please connect your WiFi-Box to the internet. You can also use it offline, but then you won't be able to update."; + + _drawItem.find("a").text("Draw (offline)"); + + // display the right buttons + _defaultItems.toggleClass("ui-screen-hidden",true); + _drawItem.toggleClass("ui-screen-hidden",false); + _joinNetworkItem.toggleClass("ui-screen-hidden",false); + + var joinLink = _joinNetworkItem.find("a").attr("href"); + joinLink = d3d.util.replaceURLParameters(joinLink,_boxData); + _joinNetworkItem.find("a").attr("href",joinLink); + } + + _intro.text(introText); + _intro.toggleClass("ui-screen-hidden",(introText === "")); + + // ToDo: update footer with network info + + _list.listview('refresh'); // jQuery mobile enhance content + _networkStatus = status; + } +})(window); \ No newline at end of file diff --git a/js/BoxesPage.js b/js/BoxesPage.js new file mode 100644 index 0000000..0644db8 --- /dev/null +++ b/js/BoxesPage.js @@ -0,0 +1,91 @@ +/* + * This file is part of the Doodle3D project (http://doodle3d.com). + * + * Copyright (c) 2013, Doodle3D + * This software is licensed under the terms of the GNU GPL v2 or later. + * See file LICENSE.txt or visit http://www.gnu.org/licenses/gpl.html for full license details. + */ + +(function (w) { + var _connectAPI = new ConnectAPI(); + + var _page; + var _list; + var _findItem; + var PAGE_ID = "#boxes"; + + $.mobile.document.on( "pageinit", PAGE_ID, function( event, data ) { + //console.log("Boxes page pageinit"); + _page = $(this); + _list = _page.find("#boxeslist"); + _findItem = _list.find("#findItem"); + + _connectAPI.refreshing = onRefreshing; + _connectAPI.listFailed = onListFailed; + _connectAPI.listSuccess = onlistSuccess; + _connectAPI.listUpdated = onListUpdated; + _connectAPI.boxAppeared = onBoxAppeared; + _connectAPI.boxDisapeared = onBoxDisapeared; + }); + $.mobile.document.on( "pagebeforeshow", PAGE_ID, function( event, data ) { + //console.log("Boxes page pagebeforeshow"); + _connectAPI.start(); + }); + $.mobile.document.on( "pageshow", PAGE_ID, function( event, data ) { + //console.log("Boxes page pageshow"); + addToHomescreen(/*{ + debug: true, // activate debug mode in ios emulation + skipFirstVisit: false, // show at first access + startDelay: 0, // display the message right away + lifespan: 0, // do not automatically kill the call out + displayPace: 0, // do not obey the display pace + maxDisplayCount: 0 // do not obey the max display count + }*/); + }); + $.mobile.document.on( "pagebeforehide", PAGE_ID, function( event, data ) { + //console.log("Boxes page pagehide"); + _connectAPI.stop(); + }); + + function onRefreshing() { + //console.log("onRefreshing"); + d3d.util.showLoader(true); + } + function onListFailed() { + d3d.util.enableRefreshPrevention(); + d3d.util.enableLeaveWarning("You're not connecting to the internet, leaving now will interrupt the connection proces"); + } + function onlistSuccess() { + d3d.util.disableRefreshPrevention(); + d3d.util.disableLeaveWarning(); + } + function onListUpdated(boxesData) { + //console.log("onListUpdated: ",boxesData); + } + function onBoxAppeared(boxData) { + console.log("onBoxAppeared: ",boxData.localip); + + var linkParams = {localip: boxData.localip,wifiboxid: boxData.wifiboxid}; + if(boxData.link) { linkParams.link = boxData.link; } + var link = "#box"; + link = d3d.util.replaceURLParameters(link,linkParams); + var id = boxData.localip.replace(/\./g,"-"); + var linkElement = $(""+boxData.wifiboxid+""); + var box = $("
  • "); + box.append(linkElement); + box.hide().appendTo(_list).fadeIn(500); + _list.append(_findItem); // make sure find is the last item + _list.listview('refresh'); // jQuery mobile enhance content + } + function onBoxDisapeared(boxData) { + console.log("onBoxDisapeared: ",boxData.localip); + + var id = boxData.localip.replace(/\./g,"-"); + var box = _list.find("#"+id); + console.log(" box: ",box); + box.fadeOut(500,function() { + box.remove(); + //_list.listview('refresh'); + }); + } +})(window); \ No newline at end of file diff --git a/js/ConnectingToNetworkPage.js b/js/ConnectingToNetworkPage.js new file mode 100644 index 0000000..bc66e4f --- /dev/null +++ b/js/ConnectingToNetworkPage.js @@ -0,0 +1,202 @@ +/* + * This file is part of the Doodle3D project (http://doodle3d.com). + * + * Copyright (c) 2013, Doodle3D + * This software is licensed under the terms of the GNU GPL v2 or later. + * See file LICENSE.txt or visit http://www.gnu.org/licenses/gpl.html for full license details. + */ + +(function (w) { + + var _page; + var _statusField; + var _actionField; + var _networkAPI = new NetworkAPI(); + var _connectAPI = new ConnectAPI(); + var _connectedBoxNetworkAPI = new NetworkAPI(); + var _infoAPI = new InfoAPI(); + var _pageData = {}; + var _formData; + var _wifiboxid; + var _wifiboxSSID; + var _connectedChecking = false; + + var CONNECTED_REDIRECT_DELAY = 5000; + var _connectedRedirectDelay; + var BACKUP_REDIRECT_DELAY = 10*1000; // when the wifiboxid isn't retrievable we want to redirect anyway + var _backupRedirectDelay; + var PAGE_ID = "#connecting_to_network"; + + var _self = this; + + $.mobile.document.on( "pageinit", PAGE_ID, function( event, data ) { + console.log(PAGE_ID+": pageinit"); + _page = $(this); + _statusField = _page.find("#status"); + _actionField = _page.find("#action"); + }); + $.mobile.document.on( "pagebeforeshow", PAGE_ID, function( event, data ) { + console.log(PAGE_ID+": pagebeforeshow"); + _pageData = d3d.util.getPageParams(PAGE_ID); + var form = data.prevPage.find("form"); + // check if there are url params and a form from a prev page + if(_pageData === undefined || form.length === 0) { + $.mobile.changePage("#boxes"); + return; + } + var boxURL = "http://"+_pageData.localip; + _formData = d3d.util.getFormData(form); + _infoAPI.init(boxURL); + _networkAPI.init(boxURL); + retrieveWiFiBoxID(function() { + console.log(" _wifiboxid: ",_wifiboxid); + console.log(" _wifiboxSSID: ",_wifiboxSSID); + joinNetwork(); + _networkAPI.refreshing = onRefreshing; + _networkAPI.updated = onStatusUpdated; + _networkAPI.startAutoRefresh(); + }); + }); + $.mobile.document.on( "pagebeforehide", PAGE_ID, function( event, data ) { + console.log(PAGE_ID+": pagebeforehide"); + _networkAPI.stopAutoRefresh(); + _connectAPI.stop(); + _connectedBoxNetworkAPI.stopAutoRefresh(); + clearTimeout(_connectedRedirectDelay); + clearTimeout(_backupRedirectDelay); + }); + function retrieveWiFiBoxID(completeHandler) { + console.log(PAGE_ID+":retrieveWiFiBoxID"); + _infoAPI.getInfo(function(infoData) { + _wifiboxid = infoData.wifiboxid; + _wifiboxSSID = infoData.substituted_ssid; + completeHandler(); + },function() { + _wifiboxid = undefined; + _wifiboxSSID = undefined; + // try connecting anyway (making sure wifiboxid retrieval isn't blocking) + completeHandler(); + }); + } + function joinNetwork() { + console.log(PAGE_ID+":joinNetwork"); + _networkAPI.associate(_pageData.ssid,_formData.password,true); + _connectedChecking = false; + } + function onRefreshing() { + //console.log("ConnectingToNetworkPage:onRefreshing"); + d3d.util.showLoader(true); + } + function onStatusUpdated(data) { + console.log("ConnectingToNetworkPage:onStatusUpdated"); + //console.log(" data: ",data); + data.status = parseInt(data.status,10); + console.log(" data.status: ",data.status); + + // update texts + var statusText = ""; + var actionText = ""; + switch(data.status) { + case NetworkAPI.STATUS.CONNECTING: + statusText = "Connecting to "+_pageData.ssid+"..."; + //actionText = "Please reconnect yourself to "+_pageData.ssid+". Once you are connected return to this page."; + actionText = "Please reconnect yourself to "+_pageData.ssid+". Once you are connected return to this page."; + _actionField.attr("class","notice"); + break; + case NetworkAPI.STATUS.CONNECTING_FAILED: + statusText = "Could not connect..."; + actionText = "Please check password and try again"; + _actionField.attr("class","error"); + break; + case NetworkAPI.STATUS.CONNECTED: + statusText = "Connected to "+_pageData.ssid; + actionText = "Please reconnect yourself to "+_pageData.ssid+". Once you are connected return to this page."; + _actionField.attr("class","notice"); + break; + default: + actionText = "Something went wrong, please try again"; + _actionField.attr("class","error"); + break; + } + // TODO ignore connected? + _statusField.html(statusText); + _actionField.html(actionText); + + // When the box is connecting we start checking connect.doodle3d.com + // for a box with the same wifiboxid + if(data.status === NetworkAPI.STATUS.CONNECTING && !_connectedChecking) { + if(_wifiboxid !== undefined || _wifiboxSSID !== undefined) { + console.log(" start checking for same box"); + _connectAPI.boxAppeared = onBoxAppeared; + } else { + // if there is no wifiboxid or ssid available we'll check if we're online + console.log(" start checking for internet"); + _connectAPI.listSuccess = onListSuccess; + } + _connectAPI.checkLocal = false; + _connectAPI.start(); + _connectedChecking = true; + } + } + function onBoxAppeared(boxData) { + console.log(PAGE_ID+":onBoxAppeared: ",boxData.localip,boxData.wifiboxid); + // if same box is found... + if(_wifiboxid !== undefined && boxData.wifiboxid === _wifiboxid) { + console.log("found _wifiboxid"); + checkBox(boxData); + // wifiboxid of older firmware isn't available, fallback to ssid + } else if(_wifiboxSSID !== undefined){ + console.log("no _wifiboxid, falling back to _wifiboxSSID comparison"); + var connectedBoxConfigAPI = new ConfigAPI(); + connectedBoxConfigAPI.init("http://"+boxData.localip); + connectedBoxConfigAPI.save({},function(saveResponseData) { + if(saveResponseData.substituted_ssid === _wifiboxSSID) { + checkBox(boxData); + } + }); + } + } + function checkBox(boxData) { + // check if it finished connecting + var boxURL = "http://"+boxData.localip; + _connectedBoxNetworkAPI = new NetworkAPI(); + _connectedBoxNetworkAPI.init(boxURL); + _connectedBoxNetworkAPI.updated = function(data) { + data.status = parseInt(data.status,10); + console.log(PAGE_ID+":connectedBoxNetworkAPI:onStatusUpdated: ",data.status); + // if box finished connecting + if(data.status === NetworkAPI.STATUS.CONNECTED) { + console.log(" found connected box"); + _statusField.html("Connected to "+_pageData.ssid); + _actionField.html("Congratulations the box is connected to "+_pageData.ssid+". You will be redirected in a moment..."); + _actionField.attr("class","info"); + // prevent status changes by wired box + _networkAPI.stopAutoRefresh(); + + _connectedRedirectDelay = setTimeout(function () { + // redirect to it's box page + console.log(" redirect to box"); + // replace this page with boxes page in history + window.history.replaceState(null, "", "#boxes"); + var linkParams = {localip: boxData.localip,wifiboxid: boxData.wifiboxid}; + var link = "#box"; + link = d3d.util.replaceURLParameters(link,linkParams); + $.mobile.changePage(link); + _connectedBoxNetworkAPI.stopAutoRefresh(); + + // disable warnings that are enabled on boxes page + d3d.util.disableRefreshPrevention(); + d3d.util.disableLeaveWarning(); + },CONNECTED_REDIRECT_DELAY); + } + }; + _connectedBoxNetworkAPI.startAutoRefresh(); + } + // when no wifiboxid or wifiboxSSID is available but we are online, we redirect to the boxes page + function onListSuccess() { + console.log(PAGE_ID+":onListSuccess"); + _backupRedirectDelay = setTimeout(function () { + $.mobile.changePage("#boxes"); + },BACKUP_REDIRECT_DELAY); + } +})(window); \ No newline at end of file diff --git a/js/JoinNetworkPage.js b/js/JoinNetworkPage.js new file mode 100644 index 0000000..c250aca --- /dev/null +++ b/js/JoinNetworkPage.js @@ -0,0 +1,91 @@ +/* + * This file is part of the Doodle3D project (http://doodle3d.com). + * + * Copyright (c) 2013, Doodle3D + * This software is licensed under the terms of the GNU GPL v2 or later. + * See file LICENSE.txt or visit http://www.gnu.org/licenses/gpl.html for full license details. + */ + +(function (w) { + + var _page; + var _list; + //var _joinOtherItem; + var _networks; + var _networkAPI = new NetworkAPI(); + var _boxData = {}; + var _refreshDelay; + var _refreshDelayTime = 3000; + var PAGE_ID = "#join_network"; + + var _self = this; + + $.mobile.document.on( "pageinit", PAGE_ID, function( event, data ) { + console.log("Join network page pageinit"); + _page = $(this); + _list = _page.find("ul[data-role=listview]"); + //_joinOtherItem = _list.find("#joinOther"); + }); + $.mobile.document.on( "pagebeforeshow", PAGE_ID, function( event, data ) { + console.log("Join network page pagebeforeshow"); + _boxData = d3d.util.getPageParams(PAGE_ID); + if(_boxData === undefined) { + $.mobile.changePage("#boxes"); + return; + } + var boxURL = "http://"+_boxData.localip; + console.log(" _boxData: ",_boxData); + + _networkAPI.init(boxURL); + refreshNetworks(); + }); + $.mobile.document.on( "pagebeforehide", PAGE_ID, function( event, data ) { + console.log("Join network page pagehide"); + clearTimeout(_refreshDelay); + }); + function refreshNetworks() { + //console.log("JoinNetwork:refreshNetworks"); + d3d.util.showLoader(); + _networkAPI.scan(function(data) { // completed + //console.log("JoinNetwork:refreshNetworks:scanned"); + d3d.util.hideLoader(); + _networks = {}; + $.each(data.networks, function(index,network) { + _networks[network.ssid] = network; + }); + // update list + updateList(); + // keep refreshing + clearTimeout(_refreshDelay); + _refreshDelay = setTimeout(refreshNetworks, _refreshDelayTime); + }); + } + function updateList() { + _list.empty(); + var baseConnectingLink = _list.data("connecting-target"); + var baseSecuredLink = _list.data("secured-target"); + var linkParams = $.extend({}, _boxData); + //console.log(" linkParams: ",linkParams); + $.each(_networks, function(index,network) { + //console.log(" network: ",network); + linkParams.ssid = network.ssid; + + var secured = (network.encryption !== "none" && network.encryption !== ""); + var link; + var icon = ""; + if(secured) { + linkParams.encryption = network.encryption; + link = d3d.util.replaceURLParameters(baseSecuredLink,linkParams); + icon = "lock"; + } else { + link = d3d.util.replaceURLParameters(baseConnectingLink,linkParams); + } + //console.log(" link: ",link); + _list.append( + $('
  • '+network.ssid+'
  • ') + ); + }); + //_list.append(_joinOtherItem); + _list.listview('refresh'); // jQuery mobile enhance content + } +})(window); \ No newline at end of file diff --git a/js/JoinSecuredNetworkPage.js b/js/JoinSecuredNetworkPage.js new file mode 100644 index 0000000..ad0412d --- /dev/null +++ b/js/JoinSecuredNetworkPage.js @@ -0,0 +1,60 @@ +/* + * This file is part of the Doodle3D project (http://doodle3d.com). + * + * Copyright (c) 2013, Doodle3D + * This software is licensed under the terms of the GNU GPL v2 or later. + * See file LICENSE.txt or visit http://www.gnu.org/licenses/gpl.html for full license details. + */ + +(function (w) { + + var _page; + var _title; + var _form; + var _passwordField; + var _passwordCloneField; + var _submitButton; + var _pageData = {}; + var PAGE_ID = "#join_secured_network"; + + var _self = this; + + $.mobile.document.on( "pageinit", PAGE_ID, function( event, data ) { + console.log(PAGE_ID+" pageinit"); + _page = $(this); + _title = _page.find("h3"); + _form = _page.find("form"); + _passwordField = _form.find("input[name=password]"); + _passwordField.psswrd(); + _passwordCloneField = _form.find("input[name=password-clone]"); + _submitButton = _form.find("input[type=submit]"); + + _form.submit(join); + }); + $.mobile.document.on( "pagebeforeshow", PAGE_ID, function( event, data ) { + console.log(PAGE_ID+" pagebeforeshow"); + _pageData = d3d.util.getPageParams(PAGE_ID); + if(_pageData === undefined) { + $.mobile.changePage("#boxes"); + return; + } + console.log(" _pageData: ",_pageData); + _title.text("Join "+_pageData.ssid); + _form.attr("id","Join "+_pageData.ssid); + _passwordField.val(""); + _passwordCloneField.val(""); + }); + $.mobile.document.on( "pageshow", PAGE_ID, function( event, data ) { + d3d.util.autofocus(_form); + }); + function join(){ + console.log("JoinSecuredNetworkPage:submit"); + // ToDo: validation + // http://www.raymondcamden.com/index.cfm/2012/7/30/Example-of-form-validation-in-a-jQuery-Mobile-Application + if(_passwordField.val().length === 0) { return false; } + var submitLink = _form.data("target"); + submitLink = d3d.util.replaceURLParameters(submitLink,_pageData); + $.mobile.changePage(submitLink); + return false; + } +})(window); \ No newline at end of file diff --git a/js/NetworkPanel.js b/js/NetworkPanel.js deleted file mode 100644 index eacb93b..0000000 --- a/js/NetworkPanel.js +++ /dev/null @@ -1,317 +0,0 @@ -/* - * This file is part of the Doodle3D project (http://doodle3d.com). - * - * Copyright (c) 2013, Doodle3D - * This software is licensed under the terms of the GNU GPL v2 or later. - * See file LICENSE.txt or visit http://www.gnu.org/licenses/gpl.html for full license details. - */ - -function NetworkPanel() { - - this.id; - - var NETWORK_SELECTOR_DEFAULT = ""; // used as first item in networks list - //var NETWORK_SELECTOR_CUSTOM = "join other network..."; - - // network mode - NetworkPanel.NETWORK_MODE = { - NEITHER: "neither", - CLIENT: "clientMode", - ACCESS_POINT: "accessPointMode" - }; - var _networkMode = NetworkPanel.NETWORK_MODE.NEITHER; - - var _api = new NetworkAPI(); - var _networks = {}; - var _currentNetwork; // the ssid of the network the box is on - var _selectedNetwork; // the ssid of the selected network in the client mode settings - - var _currentNetworkStatus; - var _customNetwork = false; - - var _retryDelay = 2000; - var _retryRetrieveStatusDelayTime = 1000; - var _retryRetrieveStatusDelay; - var _retrieveStatusDelayTime = 1000; - var _retrieveStatusDelay; - - var _statusChangeHandler; - - // ui elements - var _element; - var _networkSelector; - var _btnRefreshNetworks; - var _networkField; - var _btnListNetworks; - var _passwordSettings; - var _passwordField; - var _btnConnect; - var _statusTextField; - var _actionTextField; - - var _self = this; - - this.init = function(wifiboxURL,panelElement,statusChangeHandler) { - - //console.log(_self.id,"NetworkPanel:init"); - - _api.init(wifiboxURL); - - _element = panelElement; - _networkSelector = _element.find("#network"); - _btnRefreshNetworks = _element.find("#refreshNetworks"); - _networkField = _element.find("#ssid"); - _btnListNetworks = _element.find("#listNetworks"); - _passwordSettings = _element.find("#passwordSettings"); - _passwordField = _element.find("#phrase"); - _btnConnect = _element.find("#btnConnect"); - _statusTextField = _element.find("#status"); - _actionTextField = _element.find("#action"); - - _btnRefreshNetworks.on('touchstart mousedown',onRefreshClick); - _btnListNetworks.on('touchstart mousedown',showNetworkSelector); - //_btnConnect.on('touchstart mousedown',_self.connectToNetwork); - _element.submit(connectToNetwork); - - _networkSelector.change(networkSelectorChanged); - _networkSelector.chosen({width: "180px"}); - _networkSelector.on('chosen:hiding_dropdown', function() { - _self.refreshNetworks - }); - //_networkSelector.trigger("chosen:updated"); - _passwordField.showPassword(); - - _statusChangeHandler = statusChangeHandler; - - _self.retrieveStatus(function(networkStatus) { - if(networkStatus != NetworkAPI.STATUS.CONNECTED) { - _self.refreshNetworks(); - } - }); - } - /* - * Handlers - */ - function onRefreshClick() { - _btnRefreshNetworks.attr("disabled", true); - _self.refreshNetworks(function() { - _btnRefreshNetworks.removeAttr("disabled"); - }) - } - function networkSelectorChanged(e) { - var selectedOption = $(this).find("option:selected"); - _self.selectNetwork(selectedOption.val()); - }; - - this.retrieveStatus = function(completeHandler) { - //console.log(_self.id,"NetworkPanel:retrieveStatus"); - _api.status(function(data) { - if(typeof data.status === 'string') { - data.status = parseInt(data.status); - } - //console.log(_self.id,"NetworkPanel:retrievedStatus status: ",data.status,data.statusMessage); - //console.log(" networkPanel ",_element[0]," parent: ",_element.parent()[0]); - // ToDo: update _currentNetwork when available - - setStatus(data.status,data); - - // Keep checking for updates? - switch(data.status) { - case NetworkAPI.STATUS.CONNECTING: - case NetworkAPI.STATUS.CREATING: - clearTimeout(_retryRetrieveStatusDelay); - _retryRetrieveStatusDelay = setTimeout(_self.retrieveStatus,_retryRetrieveStatusDelayTime); // retry after delay - break; - } - _currentNetworkStatus = data.status; - if(completeHandler) completeHandler(data.status); - }, function() { - //console.log("NetworkPanel:retrieveStatus failed"); - clearTimeout(_retryRetrieveStatusDelay); - _retryRetrieveStatusDelay = setTimeout(_self.retrieveStatus, _retryRetrieveStatusDelayTime); // retry after delay - }); - }; - function setStatus(status,data) { - if(status == _currentNetworkStatus) return; - _currentNetworkStatus = status; - var targetNetwork; - - // update info - switch(status) { - case NetworkAPI.STATUS.CONNECTED: - //console.log(" data.ssid: ",data.ssid); - if(data.ssid == "") { - _currentNetwork = undefined; - //data.status = NetworkAPI.STATUS.NOT_CONNECTED; - setStatus(NetworkAPI.STATUS.NOT_CONNECTED); - } else { - _currentNetwork = data.ssid; - } - break; - case NetworkAPI.STATUS.CONNECTING: - if(_selectedNetwork != undefined) { - targetNetwork = _selectedNetwork; - } else if(_currentNetwork != undefined) { - targetNetwork = _currentNetwork; - } - case NetworkAPI.STATUS.CREATING: - case NetworkAPI.STATUS.CREATED: - _currentNetwork = undefined; - break; - } - // network selector - switch(status) { - case NetworkAPI.STATUS.NOT_CONNECTED: - case NetworkAPI.STATUS.CREATING: - case NetworkAPI.STATUS.CREATED: - _networkSelector.val(NETWORK_SELECTOR_DEFAULT); - break; - case NetworkAPI.STATUS.CONNECTED: - _self.selectNetwork(_currentNetwork); - break; - case NetworkAPI.STATUS.CONNECTING: - case NetworkAPI.STATUS.CONNECTING_FAILED: - // ToDo - break; - } - // connect button - switch(status) { - case NetworkAPI.STATUS.CONNECTING: - case NetworkAPI.STATUS.CREATING: - _btnConnect.attr("disabled", true); - break; - default: - _btnConnect.removeAttr("disabled"); - break; - } - // update status text - var statusText = ""; - switch(status) { - case NetworkAPI.STATUS.CONNECTING: - statusText = "Connecting... "; - break; - case NetworkAPI.STATUS.CONNECTING_FAILED: - //msg = data.statusMessage; - statusText = "Could not connect."; - break; - } - _statusTextField.html(statusText); - - // update action text - var actionText = ""; - switch(status) { - case NetworkAPI.STATUS.CONNECTING: - if(targetNetwork != undefined) { - actionText = "Connect your device to "+targetNetwork+"."; - _actionTextField.attr("class","info"); - } - break; - case NetworkAPI.STATUS.CONNECTING_FAILED: - actionText = "Please check password and try again"; - _actionTextField.attr("class","error"); - break; - default: - _actionTextField.attr("class","none"); - break; - } - _actionTextField.html(actionText); - - if(_statusChangeHandler) _statusChangeHandler(status); - } - this.refreshNetworks = function(completeHandler) { - //console.log("NetworkPanel:refreshNetworks"); - _api.scan(function(data) { // completed - //console.log("NetworkPanel:scanned"); - - // order networks alphabetically - /*data.networks.sort(function (a, b) { - if (a.ssid > b.ssid) - return 1; - if (a.ssid < b.ssid) - return -1; - // a must be equal to b - return 0; - });*/ - - fillNetworkSelector(data.networks) - _networks = {}; - $.each(data.networks, function(index,network) { - _networks[network.ssid] = network; - }); - - if(completeHandler) completeHandler(); - }); - }; - function fillNetworkSelector(networks) { - var foundCurrentNetwork = false; - _networkSelector.empty(); - _networkSelector.append( - $("").val(NETWORK_SELECTOR_DEFAULT).html(NETWORK_SELECTOR_DEFAULT) - ); - $.each(networks, function(index,network) { - if(network.ssid == _currentNetwork) { - foundCurrentNetwork = true; - } - _networkSelector.append( - $("").val(network.ssid).html(network.ssid) - ); - }); - /*_networkSelector.append( - $("").val(NETWORK_SELECTOR_CUSTOM).html(NETWORK_SELECTOR_CUSTOM) - );*/ - if(foundCurrentNetwork) { - _networkSelector.val(_currentNetwork); - //_self.selectNetwork(_currentNetwork); - } - _networkSelector.trigger("chosen:updated"); - } - - this.selectNetwork = function(ssid) { - //console.log("NetworkPanel:selectNetwork: ",ssid); - if(ssid == "") return; - _selectedNetwork = ssid; - - var network = _networks[ssid]; - //console.log(" network: ",network); - /*if(ssid == NETWORK_SELECTOR_CUSTOM) { - showCustomNetworkInput(); - _passwordSettings.show(); - } else*/ if(network === undefined || network.encryption == "none" || ssid == NETWORK_SELECTOR_DEFAULT) { - _passwordSettings.hide(); - } else { - _passwordSettings.show(); - } - _passwordField.val(""); - }; - - function showNetworkSelector() { - _customNetwork = false; - _element.removeClass("customNetwork"); - _networkSelector.val(NETWORK_SELECTOR_DEFAULT); - } - /*function showCustomNetworkInput() { - _customNetwork = true; - _element.addClass("customNetwork"); - }*/ - - function connectToNetwork() { - //console.log("NetworkPanel:connectToNetwork"); - if(_selectedNetwork == NETWORK_SELECTOR_DEFAULT) return; - - setStatus(NetworkAPI.STATUS.CONNECTING); // override status - - var ssid = (_customNetwork)? _networkField.val() : _selectedNetwork; - _api.associate(ssid,_passwordField.val(),true); - - // after switching wifi network or creating a access point we delay the status retrieval - // because the webserver needs time to switch it's status - clearTimeout(_retrieveStatusDelay); - _retrieveStatusDelay = setTimeout(_self.retrieveStatus, _retrieveStatusDelayTime); - - return false; - }; - this.destroy = function() { - clearTimeout(_retryRetrieveStatusDelay); - clearTimeout(_retrieveStatusDelay); - } -} diff --git a/js/api/ConfigAPI.js b/js/api/ConfigAPI.js new file mode 100644 index 0000000..3d93a15 --- /dev/null +++ b/js/api/ConfigAPI.js @@ -0,0 +1,102 @@ +/* + * This file is part of the Doodle3D project (http://doodle3d.com). + * + * Copyright (c) 2013, Doodle3D + * This software is licensed under the terms of the GNU GPL v2 or later. + * See file LICENSE.txt or visit http://www.gnu.org/licenses/gpl.html for full license details. + */ + +function ConfigAPI() { + + var _apiPath = "/d3dapi"; + var _apiCGIPath = "/cgi-bin"+_apiPath; + var _wifiboxURL; + var _wifiboxCGIBinURL; + + var _timeoutTime = 3000; + var _saveSettingsTimeoutTime = 8000; + + var _self = this; + + this.init = function(wifiboxURL) { + //console.log("ConfigAPI:init"); + + _wifiboxURL = wifiboxURL+_apiPath; + _wifiboxCGIBinURL = wifiboxURL+_apiCGIPath; + } + this.loadAll = function(completeHandler,failedHandler) { + //console.log("ConfigAPI:loadAll"); + $.ajax({ + url: _wifiboxURL + "/config/all", + type: "GET", + dataType: 'json', + timeout: _timeoutTime, + success: function(response){ + if(response.status == "error" || response.status == "fail") { + if(failedHandler) failedHandler(response); + } else { + completeHandler(response.data); + } + } + }).fail(function() { + if(failedHandler) failedHandler(); + }); + }; + this.load = function(targetSettings,completeHandler,failedHandler) { + //console.log("ConfigAPI:load"); + $.ajax({ + url: _wifiboxURL + "/config/", + type: "GET", + dataType: 'json', + data: targetSettings, + timeout: _timeoutTime, + success: function(response){ + if(response.status == "error" || response.status == "fail") { + if(failedHandler) failedHandler(response); + } else { + completeHandler(response.data); + } + } + }).fail(function() { + if(failedHandler) failedHandler(); + }); + }; + this.save = function(newSettings,completeHandler,failedHandler) { + //console.log("ConfigAPI:save"); + $.ajax({ + url: _wifiboxCGIBinURL + "/config", + type: "POST", + data: newSettings, + dataType: 'json', + timeout: _saveSettingsTimeoutTime, + success: function(response){ + //console.log("ConfigAPI:save response: ",response); + if(response.status == "error" || response.status == "fail") { + if(failedHandler) failedHandler(response); + } else { + completeHandler(response.data); + } + } + }).fail(function() { + if(failedHandler) failedHandler(); + }); + }; + this.resetAll = function(completeHandler,failedHandler) { + //console.log("ConfigAPI:resetAll"); + $.ajax({ + url: _wifiboxCGIBinURL + "/config/resetall", + type: "POST", + dataType: 'json', + timeout: _timeoutTime, + success: function(response){ + if(response.status == "error" || response.status == "fail") { + if(failedHandler) failedHandler(response); + } else { + completeHandler(response.data); + } + } + }).fail(function() { + if(failedHandler) failedHandler(); + }); + }; +} \ No newline at end of file diff --git a/js/api/ConnectAPI.js b/js/api/ConnectAPI.js index b54a4ec..a81ce58 100644 --- a/js/api/ConnectAPI.js +++ b/js/api/ConnectAPI.js @@ -7,9 +7,35 @@ */ function ConnectAPI() { + // callbacks + this.refreshing; // I'm refreshing my list + this.listFailed; // list retrieval from connect.doodle3d.com failed + this.listSuccess; // list retrieval from connect.doodle3d.com succeeded + this.listUpdated; // the list of boxes is updated / changed + this.boxAppeared; // a new box appeared + this.boxDisapeared; // a box disappeared + //this.boxUpdated; // a box is updated / changed + + this.checkLocal = true; // check for wired and access point boxes + var _apiURL = "http://connect.doodle3d.com/api"; + var _networkAPI = new NetworkAPI(); var _timeoutTime = 3000; + var _refreshDelay; + var _refreshInterval = 5000; + var _running; + var _listChanged = false; + + var _wiredBox = {localip:"192.168.5.1",wifiboxid:"Wired WiFi-Box"}; + var _apBox = {localip:"192.168.10.1",wifiboxid:"WiFi-Box",link:"http://draw.doodle3d.com"}; + + var _boxTimeoutTime = 500; + var _numBoxesChecking = 0; // count how many boxes we are checking + var _numBoxesFound = 0; // count how many boxes responded + var _boxes = {}; // current list of boxes + var _numBoxes = 0; // current number of boxes + var _checkedWiredBox = false; var _self = this; this.list = function(completeHandler,failedHandler) { @@ -19,18 +45,143 @@ function ConnectAPI() { type: "GET", dataType: 'json', timeout: _timeoutTime, + cache: false, success: function(response){ //console.log("ConnectAPI:list response: ",response); if(response.status == "error" || response.status == "fail") { //console.log("ConnectAPI:list failed: ",response); if(failedHandler) failedHandler(response); } else { + if(_self.listSuccess) {_self.listSuccess(); } completeHandler(response.data); } } }).fail(function() { //console.log("ConnectAPI:list failed"); if(failedHandler) failedHandler(); + if(_self.listFailed) {_self.listFailed(); } }); }; + + this.start = function(interval,listUpdated) { + if(interval) { + _refreshInterval = interval; + } + if(listUpdated) { + _self.listUpdated = listUpdated; + } + _running = true; + _self.refresh(); + } + this.stop = function() { + _running = false; + clearTimeout(_refreshDelay); + } + this.refresh = function(listUpdated) { + if(listUpdated) { _self.listUpdated = listUpdated; } + if(_self.refreshing) { _self.refreshing(); } + + _self.list(function(foundBoxes) { + //console.log(" foundBoxes: ",foundBoxes); + if(_self.checkLocal) { + foundBoxes.push(_wiredBox); // check for a wired box + } + updateList(foundBoxes); + if(_running) { + clearTimeout(_refreshDelay); + _refreshDelay = setTimeout(_self.refresh, _refreshInterval); + } + }, function() { + console.log("ConnectAPI list retrieve failed"); + if(_self.checkLocal) { + // if web is not accessible try to find a box as an accesspoint + // if not found, we look for a wired box + _networkAPI.alive(_apBox.localip,_boxTimeoutTime,function() { + updateList([_apBox]); + }, function() { + updateList([_wiredBox]); + }); + } + if(_running) { + clearTimeout(_refreshDelay); + _refreshDelay = setTimeout(_self.refresh, _refreshInterval); + } + }); + } + + function updateList(foundBoxes) { + //console.log("updateList"); + _numBoxesChecking = 0; + _numBoxesFound = 0; + _listChanged = false; + + // remove stored, but not found boxes + jQuery.each(_boxes, function (index,box) { + var found = false; + jQuery.each(foundBoxes, function (index,foundBox) { + if(foundBox.localip == box.localip && + foundBox.wifiboxid == box.wifiboxid) found = true; + }); + if(!found) removeBox(box.localip); + }) + + // check if all found boxes are alive + jQuery.each(foundBoxes, function (index,foundBox) { + if(foundBox === _apBox) { // don't recheck apBox + addBox(foundBox); + } else { + checkBox(foundBox); + } + }); + + if(foundBoxes.length == 0 && _self.listUpdated) { + _self.listUpdated(_boxes); + } + } + function checkBox(boxData) { + //console.log(" checkBox: ",boxData.localip); + _numBoxesChecking++; + + _networkAPI.alive(boxData.localip,_boxTimeoutTime,function() { + if(boxData.localip === _wiredBox.localip) { + // double check wired box (otherwise it shows up on switch to ap) + if(_checkedWiredBox) { + addBox(boxData); + _numBoxesFound++; + } + _checkedWiredBox = true; + } else { + addBox(boxData); + _numBoxesFound++; + } + }, function() { + removeBox(boxData.localip); + if(boxData === _wiredBox) { + _checkedWiredBox = false; + } + },function(){ + _numBoxesChecking--; + if(_numBoxesChecking <= 0 && _listChanged && _self.listUpdated) { + _self.listUpdated(_boxes); + } + }); + } + function getBox(localip) { + return _boxes[localip]; + } + function addBox(box) { + if(getBox(box.localip) !== undefined) return; + _boxes[box.localip] = box; + _numBoxes++; + if(_self.boxAppeared) _self.boxAppeared(box); + _listChanged = true; + } + function removeBox(localip) { + var box = getBox(localip); + if(box === undefined) return; + delete _boxes[localip]; + _numBoxes--; + if(_self.boxDisapeared) _self.boxDisapeared(box); + _listChanged = true; + } } \ No newline at end of file diff --git a/js/api/InfoAPI.js b/js/api/InfoAPI.js new file mode 100644 index 0000000..474b764 --- /dev/null +++ b/js/api/InfoAPI.js @@ -0,0 +1,61 @@ +/* + * This file is part of the Doodle3D project (http://doodle3d.com). + * + * Copyright (c) 2013, Doodle3D + * This software is licensed under the terms of the GNU GPL v2 or later. + * See file LICENSE.txt or visit http://www.gnu.org/licenses/gpl.html for full license details. + */ + +function InfoAPI() { + + var _apiPath = "/d3dapi"; + var _apiCGIPath = "/cgi-bin"+_apiPath; + var _wifiboxURL; + var _wifiboxCGIBinURL; + + var _timeoutTime = 3000; + + var _configAPI = new ConfigAPI(); // needed for wifiboxid workaround + + var _self = this; + + this.init = function(wifiboxURL) { + console.log("InfoAPI:init"); + + _wifiboxURL = wifiboxURL+_apiPath; + _wifiboxCGIBinURL = wifiboxURL+_apiCGIPath; + _configAPI.init(wifiboxURL); + } + this.getInfo = function(completeHandler,failedHandler) { + $.ajax({ + url: _wifiboxURL + "/info", + type: "GET", + dataType: 'json', + timeout: _timeoutTime, + success: function(response){ + if(response.status == "error" || response.status == "fail") { + if(failedHandler) failedHandler(response); + } else { + var infoData = response.data; + // Versions older than 0.10.2 don't include wifiboxid in info response + // so we use a workaround (saving to config to retrieve substituted_wifiboxid or substituted_ssid) + if(infoData.wifiboxid === undefined) { + _configAPI.save({},function(saveResponseData) { + infoData.wifiboxid = saveResponseData.substituted_wifiboxid; + // when no wifiboxid is available we could use the substituted_ssid to compare + infoData.substituted_ssid = saveResponseData.substituted_ssid; + completeHandler(infoData); + },function() { + failedHandler(); + }); + } else { + completeHandler(infoData); + } + + } + } + }).fail(function() { + if(failedHandler) failedHandler(); + }); + }; +} \ No newline at end of file diff --git a/js/api/NetworkAPI.js b/js/api/NetworkAPI.js index db0c6e1..12befa5 100644 --- a/js/api/NetworkAPI.js +++ b/js/api/NetworkAPI.js @@ -23,6 +23,18 @@ function NetworkAPI() { var _wifiboxCGIBinURL; var _timeoutTime = 3000; + var _networkStatus; + var _networkSSID; + + var _associateTime; + var _retrieveStatusDelayTime = 3000; + var _autoRefreshing = false; + var _refreshDelay; + this.refreshDelayTime = 2000; + //callbacks + this.refreshing; // I'm refreshing + this.updated; // New network status info + var _self = this; this.init = function(wifiboxURL) { @@ -55,26 +67,81 @@ function NetworkAPI() { }; this.status = function(completeHandler,failedHandler) { //console.log("NetworkAPI:status"); - $.ajax({ - url: _wifiboxURL + "/network/status", - type: "GET", - dataType: 'json', - timeout: _timeoutTime, - success: function(response){ - //console.log("NetworkAPI:status response: ",response); - if(response.status == "error" || response.status == "fail") { - if(failedHandler) failedHandler(response); - } else { - completeHandler(response.data); + // After switching wifi network or creating a access point we delay the actual status + // retrieval because the webserver needs time to switch it's status + var now = new Date().getTime(); + if(now < _associateTime+_retrieveStatusDelayTime) { + var data = {status: NetworkAPI.STATUS.CONNECTING}; + completeHandler(data); + } else { + $.ajax({ + url: _wifiboxURL + "/network/status", + type: "GET", + dataType: 'json', + timeout: _timeoutTime, + success: function(response){ + //console.log("NetworkAPI:status response: ",response); + if(response.status == "error" || response.status == "fail") { + if(failedHandler) failedHandler(response); + } else { + var data = response.data; + // The WiFi-Box won't create a access point when it already is when booting, + // so when the status is empty it actually is a access point. + if(data.status === "") { + data.status = NetworkAPI.STATUS.CREATED.toString(); + } + completeHandler(response.data); + } } - } - }).fail(function() { - if(failedHandler) failedHandler(); - }); + }).fail(function() { + if(failedHandler) failedHandler(); + }); + } }; + this.startAutoRefresh = function(delay,refreshingHandler,updatedHandler) { + if(delay !== undefined) { _self.refreshDelayTime = delay; } + if(refreshingHandler !== undefined) { _self.refreshing = refreshingHandler; } + if(updatedHandler !== undefined) { _self.updated = updatedHandler; } + _autoRefreshing = true; + _self.refresh(); + } + this.stopAutoRefresh = function() { + _autoRefreshing = false; + clearTimeout(_refreshDelay); + } + this.refresh = function() { + //console.log("NetworkAPI:refresh"); + if(_self.refreshing) { _self.refreshing(); } + _self.status(function(data) { // completed + //console.log("NetworkAPI:refresh:completed"); + //console.log(" data: ",data); + + if(_self.updated !== undefined && + (_networkStatus !== data.status || _networkSSID !== data.ssid)) { + _networkStatus = data.status; + _networkSSID = data.ssid; + _self.updated(data); + } + if(_autoRefreshing) { + // keep refreshing + clearTimeout(_refreshDelay); + _refreshDelay = setTimeout(_self.refresh, _self.refreshDelayTime); + } + },function() { // failed + if(_autoRefreshing) { + // retry + clearTimeout(_refreshDelay); + _refreshDelay = setTimeout(_self.refresh, _self.refreshDelayTime); + } + }); + } this.associate = function(ssid,phrase,recreate) { - //console.log("NetworkAPI:associate"); + console.log("NetworkAPI:associate"); + console.log(" ssid: ",ssid); + console.log(" recreate: ",recreate); + if(phrase === undefined) { phrase = ""; } + console.log(" phrase: ",phrase); var postData = { ssid:ssid, phrase:phrase, @@ -92,6 +159,7 @@ function NetworkAPI() { }).fail(function() { //console.log("NetworkAPI:associate: timeout (normal behavior)"); }); + _associateTime = new Date().getTime(); }; this.openAP = function() { @@ -123,7 +191,7 @@ function NetworkAPI() { }); }; - this.alive = function(wifiboxURL,timeoutTime,completeHandler,failedHandler) { + this.alive = function(wifiboxURL,timeoutTime,successHandler,failedHandler, completeHandler) { if(wifiboxURL.indexOf("http://") != 0) { wifiboxURL = "http://" + wifiboxURL; } @@ -134,17 +202,21 @@ function NetworkAPI() { type: "GET", dataType: 'json', timeout: timeoutTime, + cache: false, success: function(response){ //console.log("NetworkAPI:alive response: ",response); if(response.status == "error" || response.status == "fail") { if(failedHandler) failedHandler(response); + if(completeHandler) completeHandler(false, response); } else { - completeHandler(response.data); + successHandler(response.data); + if(completeHandler) completeHandler(true, response.data); } } }).fail(function() { //console.log("NetworkAPI:alive failed"); if(failedHandler) failedHandler(); + if(completeHandler) completeHandler(false); }); }; } \ No newline at end of file diff --git a/js/libs/.jquery-1.11.0.min.js b/js/libs/.jquery-1.11.0.min.js new file mode 100644 index 0000000..73f33fb --- /dev/null +++ b/js/libs/.jquery-1.11.0.min.js @@ -0,0 +1,4 @@ +/*! jQuery v1.11.0 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k="".trim,l={},m="1.11.0",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(l.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:k&&!k.call("\ufeff\xa0")?function(a){return null==a?"":k.call(a)}:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||n.guid++,e):void 0},now:function(){return+new Date},support:l}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s="sizzle"+-new Date,t=a.document,u=0,v=0,w=eb(),x=eb(),y=eb(),z=function(a,b){return a===b&&(j=!0),0},A="undefined",B=1<<31,C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=D.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",M=L.replace("w","w#"),N="\\["+K+"*("+L+")"+K+"*(?:([*^$|!~]?=)"+K+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+M+")|)|)"+K+"*\\]",O=":("+L+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+N.replace(3,8)+")*)|.*)\\)|)",P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(O),U=new RegExp("^"+M+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L.replace("w","w*")+")"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=/'|\\/g,ab=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),bb=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{G.apply(D=H.call(t.childNodes),t.childNodes),D[t.childNodes.length].nodeType}catch(cb){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function db(a,b,d,e){var f,g,h,i,j,m,p,q,u,v;if((b?b.ownerDocument||b:t)!==l&&k(b),b=b||l,d=d||[],!a||"string"!=typeof a)return d;if(1!==(i=b.nodeType)&&9!==i)return[];if(n&&!e){if(f=Z.exec(a))if(h=f[1]){if(9===i){if(g=b.getElementById(h),!g||!g.parentNode)return d;if(g.id===h)return d.push(g),d}else if(b.ownerDocument&&(g=b.ownerDocument.getElementById(h))&&r(b,g)&&g.id===h)return d.push(g),d}else{if(f[2])return G.apply(d,b.getElementsByTagName(a)),d;if((h=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(h)),d}if(c.qsa&&(!o||!o.test(a))){if(q=p=s,u=b,v=9===i&&a,1===i&&"object"!==b.nodeName.toLowerCase()){m=ob(a),(p=b.getAttribute("id"))?q=p.replace(_,"\\$&"):b.setAttribute("id",q),q="[id='"+q+"'] ",j=m.length;while(j--)m[j]=q+pb(m[j]);u=$.test(a)&&mb(b.parentNode)||b,v=m.join(",")}if(v)try{return G.apply(d,u.querySelectorAll(v)),d}catch(w){}finally{p||b.removeAttribute("id")}}}return xb(a.replace(P,"$1"),b,d,e)}function eb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function fb(a){return a[s]=!0,a}function gb(a){var b=l.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function hb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function ib(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||B)-(~a.sourceIndex||B);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function jb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function kb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function lb(a){return fb(function(b){return b=+b,fb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function mb(a){return a&&typeof a.getElementsByTagName!==A&&a}c=db.support={},f=db.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},k=db.setDocument=function(a){var b,e=a?a.ownerDocument||a:t,g=e.defaultView;return e!==l&&9===e.nodeType&&e.documentElement?(l=e,m=e.documentElement,n=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){k()},!1):g.attachEvent&&g.attachEvent("onunload",function(){k()})),c.attributes=gb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=gb(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(e.getElementsByClassName)&&gb(function(a){return a.innerHTML="
    ",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=gb(function(a){return m.appendChild(a).id=s,!e.getElementsByName||!e.getElementsByName(s).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==A&&n){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){var c=typeof a.getAttributeNode!==A&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==A?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==A&&n?b.getElementsByClassName(a):void 0},p=[],o=[],(c.qsa=Y.test(e.querySelectorAll))&&(gb(function(a){a.innerHTML="",a.querySelectorAll("[t^='']").length&&o.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||o.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll(":checked").length||o.push(":checked")}),gb(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&o.push("name"+K+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||o.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),o.push(",.*:")})),(c.matchesSelector=Y.test(q=m.webkitMatchesSelector||m.mozMatchesSelector||m.oMatchesSelector||m.msMatchesSelector))&&gb(function(a){c.disconnectedMatch=q.call(a,"div"),q.call(a,"[s!='']:x"),p.push("!=",O)}),o=o.length&&new RegExp(o.join("|")),p=p.length&&new RegExp(p.join("|")),b=Y.test(m.compareDocumentPosition),r=b||Y.test(m.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},z=b?function(a,b){if(a===b)return j=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===t&&r(t,a)?-1:b===e||b.ownerDocument===t&&r(t,b)?1:i?I.call(i,a)-I.call(i,b):0:4&d?-1:1)}:function(a,b){if(a===b)return j=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],k=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:i?I.call(i,a)-I.call(i,b):0;if(f===g)return ib(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)k.unshift(c);while(h[d]===k[d])d++;return d?ib(h[d],k[d]):h[d]===t?-1:k[d]===t?1:0},e):l},db.matches=function(a,b){return db(a,null,null,b)},db.matchesSelector=function(a,b){if((a.ownerDocument||a)!==l&&k(a),b=b.replace(S,"='$1']"),!(!c.matchesSelector||!n||p&&p.test(b)||o&&o.test(b)))try{var d=q.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return db(b,l,null,[a]).length>0},db.contains=function(a,b){return(a.ownerDocument||a)!==l&&k(a),r(a,b)},db.attr=function(a,b){(a.ownerDocument||a)!==l&&k(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!n):void 0;return void 0!==f?f:c.attributes||!n?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},db.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},db.uniqueSort=function(a){var b,d=[],e=0,f=0;if(j=!c.detectDuplicates,i=!c.sortStable&&a.slice(0),a.sort(z),j){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return i=null,a},e=db.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=db.selectors={cacheLength:50,createPseudo:fb,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ab,bb),a[3]=(a[4]||a[5]||"").replace(ab,bb),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||db.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&db.error(a[0]),a},PSEUDO:function(a){var b,c=!a[5]&&a[2];return V.CHILD.test(a[0])?null:(a[3]&&void 0!==a[4]?a[2]=a[4]:c&&T.test(c)&&(b=ob(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ab,bb).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=w[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&w(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==A&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=db.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),t=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&t){k=q[s]||(q[s]={}),j=k[a]||[],n=j[0]===u&&j[1],m=j[0]===u&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[u,n,m];break}}else if(t&&(j=(b[s]||(b[s]={}))[a])&&j[0]===u)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(t&&((l[s]||(l[s]={}))[a]=[u,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||db.error("unsupported pseudo: "+a);return e[s]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?fb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:fb(function(a){var b=[],c=[],d=g(a.replace(P,"$1"));return d[s]?fb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:fb(function(a){return function(b){return db(a,b).length>0}}),contains:fb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:fb(function(a){return U.test(a||"")||db.error("unsupported lang: "+a),a=a.replace(ab,bb).toLowerCase(),function(b){var c;do if(c=n?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===m},focus:function(a){return a===l.activeElement&&(!l.hasFocus||l.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:lb(function(){return[0]}),last:lb(function(a,b){return[b-1]}),eq:lb(function(a,b,c){return[0>c?c+b:c]}),even:lb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:lb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:lb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:lb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function qb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=v++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[u,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[s]||(b[s]={}),(h=i[d])&&h[0]===u&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function rb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function sb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function tb(a,b,c,d,e,f){return d&&!d[s]&&(d=tb(d)),e&&!e[s]&&(e=tb(e,f)),fb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||wb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:sb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=sb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=sb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ub(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],i=g||d.relative[" "],j=g?1:0,k=qb(function(a){return a===b},i,!0),l=qb(function(a){return I.call(b,a)>-1},i,!0),m=[function(a,c,d){return!g&&(d||c!==h)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>j;j++)if(c=d.relative[a[j].type])m=[qb(rb(m),c)];else{if(c=d.filter[a[j].type].apply(null,a[j].matches),c[s]){for(e=++j;f>e;e++)if(d.relative[a[e].type])break;return tb(j>1&&rb(m),j>1&&pb(a.slice(0,j-1).concat({value:" "===a[j-2].type?"*":""})).replace(P,"$1"),c,e>j&&ub(a.slice(j,e)),f>e&&ub(a=a.slice(e)),f>e&&pb(a))}m.push(c)}return rb(m)}function vb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,i,j,k){var m,n,o,p=0,q="0",r=f&&[],s=[],t=h,v=f||e&&d.find.TAG("*",k),w=u+=null==t?1:Math.random()||.1,x=v.length;for(k&&(h=g!==l&&g);q!==x&&null!=(m=v[q]);q++){if(e&&m){n=0;while(o=a[n++])if(o(m,g,i)){j.push(m);break}k&&(u=w)}c&&((m=!o&&m)&&p--,f&&r.push(m))}if(p+=q,c&&q!==p){n=0;while(o=b[n++])o(r,s,g,i);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=E.call(j));s=sb(s)}G.apply(j,s),k&&!f&&s.length>0&&p+b.length>1&&db.uniqueSort(j)}return k&&(u=w,h=t),r};return c?fb(f):f}g=db.compile=function(a,b){var c,d=[],e=[],f=y[a+" "];if(!f){b||(b=ob(a)),c=b.length;while(c--)f=ub(b[c]),f[s]?d.push(f):e.push(f);f=y(a,vb(e,d))}return f};function wb(a,b,c){for(var d=0,e=b.length;e>d;d++)db(a,b[d],c);return c}function xb(a,b,e,f){var h,i,j,k,l,m=ob(a);if(!f&&1===m.length){if(i=m[0]=m[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&c.getById&&9===b.nodeType&&n&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(ab,bb),b)||[])[0],!b)return e;a=a.slice(i.shift().value.length)}h=V.needsContext.test(a)?0:i.length;while(h--){if(j=i[h],d.relative[k=j.type])break;if((l=d.find[k])&&(f=l(j.matches[0].replace(ab,bb),$.test(i[0].type)&&mb(b.parentNode)||b))){if(i.splice(h,1),a=f.length&&pb(i),!a)return G.apply(e,f),e;break}}}return g(a,m)(f,b,!n,e,$.test(a)&&mb(b.parentNode)||b),e}return c.sortStable=s.split("").sort(z).join("")===s,c.detectDuplicates=!!j,k(),c.sortDetached=gb(function(a){return 1&a.compareDocumentPosition(l.createElement("div"))}),gb(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||hb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&gb(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||hb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),gb(function(a){return null==a.getAttribute("disabled")})||hb(J,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),db}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=a.document,A=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,B=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:A.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:z,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=z.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return y.find(a);this.length=1,this[0]=d}return this.context=z,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};B.prototype=n.fn,y=n(z);var C=/^(?:parents|prev(?:Until|All))/,D={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!n(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function E(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return E(a,"nextSibling")},prev:function(a){return E(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(D[a]||(e=n.unique(e)),C.test(a)&&(e=e.reverse())),this.pushStack(e)}});var F=/\S+/g,G={};function H(a){var b=G[a]={};return n.each(a.match(F)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?G[a]||H(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&n.each(arguments,function(a,c){var d;while((d=n.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){if(a===!0?!--n.readyWait:!n.isReady){if(!z.body)return setTimeout(n.ready);n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(z,[n]),n.fn.trigger&&n(z).trigger("ready").off("ready"))}}});function J(){z.addEventListener?(z.removeEventListener("DOMContentLoaded",K,!1),a.removeEventListener("load",K,!1)):(z.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(z.addEventListener||"load"===event.type||"complete"===z.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===z.readyState)setTimeout(n.ready);else if(z.addEventListener)z.addEventListener("DOMContentLoaded",K,!1),a.addEventListener("load",K,!1);else{z.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&z.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!n.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}J(),n.ready()}}()}return I.promise(b)};var L="undefined",M;for(M in n(l))break;l.ownLast="0"!==M,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c=z.getElementsByTagName("body")[0];c&&(a=z.createElement("div"),a.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",b=z.createElement("div"),c.appendChild(a).appendChild(b),typeof b.style.zoom!==L&&(b.style.cssText="border:0;margin:0;width:1px;padding:1px;display:inline;zoom:1",(l.inlineBlockNeedsLayout=3===b.offsetWidth)&&(c.style.zoom=1)),c.removeChild(a),a=b=null)}),function(){var a=z.createElement("div");if(null==l.deleteExpando){l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}}a=null}(),n.acceptData=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0}return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(n.acceptData(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f +}}function S(a,b,c){if(n.acceptData(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d]));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},X=/^(?:checkbox|radio)$/i;!function(){var a=z.createDocumentFragment(),b=z.createElement("div"),c=z.createElement("input");if(b.setAttribute("className","t"),b.innerHTML="
    a",l.leadingWhitespace=3===b.firstChild.nodeType,l.tbody=!b.getElementsByTagName("tbody").length,l.htmlSerialize=!!b.getElementsByTagName("link").length,l.html5Clone="<:nav>"!==z.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,a.appendChild(c),l.appendChecked=c.checked,b.innerHTML="",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,a.appendChild(b),b.innerHTML="",l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){l.noCloneEvent=!1}),b.cloneNode(!0).click()),null==l.deleteExpando){l.deleteExpando=!0;try{delete b.test}catch(d){l.deleteExpando=!1}}a=b=c=null}(),function(){var b,c,d=z.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),l[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var Y=/^(?:input|select|textarea)$/i,Z=/^key/,$=/^(?:mouse|contextmenu)|click/,_=/^(?:focusinfocus|focusoutblur)$/,ab=/^([^.]*)(?:\.(.+)|)$/;function bb(){return!0}function cb(){return!1}function db(){try{return z.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof n===L||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(F)||[""],h=b.length;while(h--)f=ab.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(F)||[""],j=b.length;while(j--)if(h=ab.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,m,o=[d||z],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||z,3!==d.nodeType&&8!==d.nodeType&&!_.test(p+n.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[n.expando]?b:new n.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),k=n.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!n.isWindow(d)){for(i=k.delegateType||p,_.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||z)&&o.push(l.defaultView||l.parentWindow||a)}m=0;while((h=o[m++])&&!b.isPropagationStopped())b.type=m>1?i:k.bindType||p,f=(n._data(h,"events")||{})[b.type]&&n._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&n.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&n.acceptData(d)&&g&&d[p]&&!n.isWindow(d)){l=d[g],l&&(d[g]=null),n.event.triggered=p;try{d[p]()}catch(r){}n.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((n.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?n(c,this).index(i)>=0:n.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h]","i"),ib=/^\s+/,jb=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,kb=/<([\w:]+)/,lb=/\s*$/g,sb={option:[1,""],legend:[1,"
    ","
    "],area:[1,"",""],param:[1,"",""],thead:[1,"","
    "],tr:[2,"","
    "],col:[2,"","
    "],td:[3,"","
    "],_default:l.htmlSerialize?[0,"",""]:[1,"X
    ","
    "]},tb=eb(z),ub=tb.appendChild(z.createElement("div"));sb.optgroup=sb.option,sb.tbody=sb.tfoot=sb.colgroup=sb.caption=sb.thead,sb.th=sb.td;function vb(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==L?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==L?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,vb(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function wb(a){X.test(a.type)&&(a.defaultChecked=a.checked)}function xb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function yb(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function zb(a){var b=qb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ab(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}function Bb(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Cb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(yb(b).text=a.text,zb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&X.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}n.extend({clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!hb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ub.innerHTML=a.outerHTML,ub.removeChild(f=ub.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=vb(f),h=vb(a),g=0;null!=(e=h[g]);++g)d[g]&&Cb(e,d[g]);if(b)if(c)for(h=h||vb(a),d=d||vb(f),g=0;null!=(e=h[g]);g++)Bb(e,d[g]);else Bb(a,f);return d=vb(f,"script"),d.length>0&&Ab(d,!i&&vb(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k,m=a.length,o=eb(b),p=[],q=0;m>q;q++)if(f=a[q],f||0===f)if("object"===n.type(f))n.merge(p,f.nodeType?[f]:f);else if(mb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(kb.exec(f)||["",""])[1].toLowerCase(),k=sb[i]||sb._default,h.innerHTML=k[1]+f.replace(jb,"<$1>")+k[2],e=k[0];while(e--)h=h.lastChild;if(!l.leadingWhitespace&&ib.test(f)&&p.push(b.createTextNode(ib.exec(f)[0])),!l.tbody){f="table"!==i||lb.test(f)?""!==k[1]||lb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)n.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}n.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),l.appendChecked||n.grep(vb(p,"input"),wb),q=0;while(f=p[q++])if((!d||-1===n.inArray(f,d))&&(g=n.contains(f.ownerDocument,f),h=vb(o.appendChild(f),"script"),g&&Ab(h),c)){e=0;while(f=h[e++])pb.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.deleteExpando,m=n.event.special;null!=(d=a[h]);h++)if((b||n.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k?delete d[i]:typeof d.removeAttribute!==L?d.removeAttribute(i):d[i]=null,c.push(f))}}}),n.fn.extend({text:function(a){return W(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||z).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(vb(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&Ab(vb(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(vb(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return W(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(gb,""):void 0;if(!("string"!=typeof a||nb.test(a)||!l.htmlSerialize&&hb.test(a)||!l.leadingWhitespace&&ib.test(a)||sb[(kb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(jb,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(vb(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(vb(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,k=this.length,m=this,o=k-1,p=a[0],q=n.isFunction(p);if(q||k>1&&"string"==typeof p&&!l.checkClone&&ob.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(k&&(i=n.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=n.map(vb(i,"script"),yb),f=g.length;k>j;j++)d=i,j!==o&&(d=n.clone(d,!0,!0),f&&n.merge(g,vb(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,n.map(g,zb),j=0;f>j;j++)d=g[j],pb.test(d.type||"")&&!n._data(d,"globalEval")&&n.contains(h,d)&&(d.src?n._evalUrl&&n._evalUrl(d.src):n.globalEval((d.text||d.textContent||d.innerHTML||"").replace(rb,"")));i=c=null}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],g=n(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Db,Eb={};function Fb(b,c){var d=n(c.createElement(b)).appendTo(c.body),e=a.getDefaultComputedStyle?a.getDefaultComputedStyle(d[0]).display:n.css(d[0],"display");return d.detach(),e}function Gb(a){var b=z,c=Eb[a];return c||(c=Fb(a,b),"none"!==c&&c||(Db=(Db||n(" + + + +

    The markup is an iframe inside a popup container. The popup will have a 15 pixels padding because of class ui-content and a one pixel border because the framework will add class ui-body-a to the popup.

    + +

    When using an iframe inside a popup it is important to initially set the width and height attributes to 0. This prevents the page to breaking on platforms like Android 2.3. Note that you have to set the attributes, because setting the width and height with CSS is not sufficient. You can leave the actual width and height in the markup for browsers that have JavaScript disabled and use attr() to set the zero values upon the pagecreate event.

    + +

    Next, bind to the popupbeforeposition event to set the desired size of the iframe when the popup is shown or when the window is resized (e.g. orientation change). For the iframe examples on this page a custom function scale() is used to scale down the iframe to fit smaller screens.

    + +

    When the popup is closed the width and height should be set back to 0. You can do this by binding to the popupafterclose event.

    + +

    Note that the video will still be playing in the iframe when the popup is closed. If available you can use the 3rd party API to stop the video on the popupafterclose event. Another way is to create the iframe when the popup is opened and destroy it when the popup is closed, but this would drop support for browsers that have JavaScript disabled.

    + +

    Map example

    + +

    In the second example, an iframe is used to display Google Maps API. Using an iframe prevents issues with the controls of the map.

    + +
    + Open Map + +
    + Close + +
    +
    + +

    Expand the section below to view the source of the iframe.

    + +
    +

    map.html

    +
    
    +<!DOCTYPE html>
    +<html>
    +<head>
    +    <meta charset="utf-8">
    +    <title>Map</title>
    +    <script>
    +        function initialize() {
    +            var myLatlng = new google.maps.LatLng( 51.520838, -0.140261 );
    +            var myOptions = {
    +                zoom: 15,
    +                center: myLatlng,
    +                mapTypeId: google.maps.MapTypeId.ROADMAP
    +            }
    +            var map = new google.maps.Map( document.getElementById( "map_canvas" ), myOptions );
    +        }
    +    </script>
    +    <script src="http://maps.google.com/maps/api/js?sensor=false"></script>
    +    <style>
    +        html {
    +            height: 100%;
    +            overflow: hidden;
    +        }
    +        body {
    +            margin: 0;
    +            padding: 0;
    +            height: 100%;
    +        }
    +        #map_canvas {
    +            height: 100%;
    +        }
    +    </style>
    +</head>
    +<body onload="initialize()">
    +
    +    <div id="map_canvas"></div>
    +
    +</body>
    +</html>
    +
    +
    + +

    Setting the size of the iframe is done exactly the same as for the video example, with one exception. You should also set the width and height of the div that contains the map to prevent the page to break on platforms like Android 2.3. In this example the ID of this div is #map_canvas.

    + + +
    + +
    + + + + +
    + +
    + + + + + + diff --git a/js/libs/.jquery.mobile/demos/popup-iframe/map.html b/js/libs/.jquery.mobile/demos/popup-iframe/map.html new file mode 100644 index 0000000..802c818 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/popup-iframe/map.html @@ -0,0 +1,38 @@ + + + + + Map + + + + + + +
    + + + diff --git a/js/libs/.jquery.mobile/demos/popup-iframe/popup-iframe-map.js b/js/libs/.jquery.mobile/demos/popup-iframe/popup-iframe-map.js new file mode 100644 index 0000000..7b4671d --- /dev/null +++ b/js/libs/.jquery.mobile/demos/popup-iframe/popup-iframe-map.js @@ -0,0 +1,60 @@ +// popup examples +$( document ).on( "pagecreate", function() { + + // The window width and height are decreased by 30 to take the tolerance of 15 pixels at each side into account + function scale( width, height, padding, border ) { + var scrWidth = $( window ).width() - 30, + scrHeight = $( window ).height() - 30, + ifrPadding = 2 * padding, + ifrBorder = 2 * border, + ifrWidth = width + ifrPadding + ifrBorder, + ifrHeight = height + ifrPadding + ifrBorder, + h, w; + + if ( ifrWidth < scrWidth && ifrHeight < scrHeight ) { + w = ifrWidth; + h = ifrHeight; + } else if ( ( ifrWidth / scrWidth ) > ( ifrHeight / scrHeight ) ) { + w = scrWidth; + h = ( scrWidth / ifrWidth ) * ifrHeight; + } else { + h = scrHeight; + w = ( scrHeight / ifrHeight ) * ifrWidth; + } + + return { + 'width': w - ( ifrPadding + ifrBorder ), + 'height': h - ( ifrPadding + ifrBorder ) + }; + }; + + $( ".ui-popup iframe" ) + .attr( "width", 0 ) + .attr( "height", "auto" ); + + $( "#popupMap iframe" ).contents().find( "#map_canvas" ) + .css( { "width" : 0, "height" : 0 } ); + + $( "#popupMap" ).on({ + popupbeforeposition: function() { + var size = scale( 480, 320, 0, 1 ), + w = size.width, + h = size.height; + + $( "#popupMap iframe" ) + .attr( "width", w ) + .attr( "height", h ); + + $( "#popupMap iframe" ).contents().find( "#map_canvas" ) + .css( { "width": w, "height" : h } ); + }, + popupafterclose: function() { + $( "#popupMap iframe" ) + .attr( "width", 0 ) + .attr( "height", 0 ); + + $( "#popupMap iframe" ).contents().find( "#map_canvas" ) + .css( { "width": 0, "height" : 0 } ); + } + }); +}); diff --git a/js/libs/.jquery.mobile/demos/popup-iframe/popup-iframe-video.js b/js/libs/.jquery.mobile/demos/popup-iframe/popup-iframe-video.js new file mode 100644 index 0000000..8471753 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/popup-iframe/popup-iframe-video.js @@ -0,0 +1,52 @@ +// popup examples +$( document ).on( "pagecreate", function() { + + // The window width and height are decreased by 30 to take the tolerance of 15 pixels at each side into account + function scale( width, height, padding, border ) { + var scrWidth = $( window ).width() - 30, + scrHeight = $( window ).height() - 30, + ifrPadding = 2 * padding, + ifrBorder = 2 * border, + ifrWidth = width + ifrPadding + ifrBorder, + ifrHeight = height + ifrPadding + ifrBorder, + h, w; + + if ( ifrWidth < scrWidth && ifrHeight < scrHeight ) { + w = ifrWidth; + h = ifrHeight; + } else if ( ( ifrWidth / scrWidth ) > ( ifrHeight / scrHeight ) ) { + w = scrWidth; + h = ( scrWidth / ifrWidth ) * ifrHeight; + } else { + h = scrHeight; + w = ( scrHeight / ifrHeight ) * ifrWidth; + } + + return { + 'width': w - ( ifrPadding + ifrBorder ), + 'height': h - ( ifrPadding + ifrBorder ) + }; + }; + + $( ".ui-popup iframe" ) + .attr( "width", 0 ) + .attr( "height", "auto" ); + + $( "#popupVideo" ).on({ + popupbeforeposition: function() { + // call our custom function scale() to get the width and height + var size = scale( 497, 298, 15, 1 ), + w = size.width, + h = size.height; + + $( "#popupVideo iframe" ) + .attr( "width", w ) + .attr( "height", h ); + }, + popupafterclose: function() { + $( "#popupVideo iframe" ) + .attr( "width", 0 ) + .attr( "height", 0 ); + } + }); +}); diff --git a/js/libs/.jquery.mobile/demos/popup-image-scaling/index.html b/js/libs/.jquery.mobile/demos/popup-image-scaling/index.html new file mode 100644 index 0000000..4b744e5 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/popup-image-scaling/index.html @@ -0,0 +1,442 @@ + + + + + + Popup image scaling - jQuery Mobile Demos + + + + + + + + + + +
    + +
    +

    jQuery Mobile

    +

    Demos

    + Menu + Search +
    + +
    + +

    Scaling images

    + +

    The framework CSS contains rules that make images that are immediate children of the popup scale to fit the screen. Because of the absolute positioning of the popup container and screen, the height is not adjusted to screen height on all browsers. You can prevent vertical scrolling with a simple script that sets the max-height of the image.

    + +

    The handler is bound to the popupbeforeposition event, which ensures the image is not only scaled before it is shown but also when the window is resized (e.g. orientation change). In this code example the height is reduced by 60 to take a top and bottom tolerance of 30 pixels into account.

    + +
    + Photo landscape + Photo portrait + +
    + ClosePhoto landscape +
    + +
    + ClosePhoto portrait +
    +
    + +
    +
    + +
    + + + + +
    + +
    + + +
    + + + diff --git a/js/libs/.jquery.mobile/demos/popup-image-scaling/popup-image-scaling.js b/js/libs/.jquery.mobile/demos/popup-image-scaling/popup-image-scaling.js new file mode 100644 index 0000000..3a60efe --- /dev/null +++ b/js/libs/.jquery.mobile/demos/popup-image-scaling/popup-image-scaling.js @@ -0,0 +1,8 @@ +$( document ).on( "pagecreate", function() { + $( ".photopopup" ).on({ + popupbeforeposition: function() { + var maxHeight = $( window ).height() - 60 + "px"; + $( ".photopopup img" ).css( "max-height", maxHeight ); + } + }); +}); diff --git a/js/libs/.jquery.mobile/demos/popup-outside-multipage/index.html b/js/libs/.jquery.mobile/demos/popup-outside-multipage/index.html new file mode 100644 index 0000000..28bf6e6 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/popup-outside-multipage/index.html @@ -0,0 +1,468 @@ + + + + + + Popup across multiple pages - jQuery Mobile Demos + + + + + + + + + + + +
    + +
    +

    jQuery Mobile

    +

    Demos

    + Menu + Search +
    + +
    + +

    Using the same popup across multiple pages

    + +

    You can reuse the same popup on multiple pages if you declare it as a direct child of the body element. It can then appear on any page in the document.

    +

    If you define the popup outside of any page, then you must take care to instantiate the popup widget yourself. You can do this as early as DOMReady, because the popup is not on any page.

    +

    If you wish the popup to be opened from a set of links, then you must also handle that manually, because automatic handling via data-rel="popup" is restricted to popups on the active page.

    +

    The example below illustrates the setup with two pages.

    +
    + Menu +
    + +
    +
    + +
    + + + + +
    + +
    + + +
    + +
    +
    + Menu +

    Another Page

    +
    +
    +

    This is another page that can be reached using the links in the global menu.

    +
    +
    +
    +
    + Menu +

    Third Page

    +
    +
    +

    This is a third page that can be reached using the links in the global menu.

    +
    +
    + + + diff --git a/js/libs/.jquery.mobile/demos/popup/index.html b/js/libs/.jquery.mobile/demos/popup/index.html new file mode 100644 index 0000000..6edada4 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/popup/index.html @@ -0,0 +1,730 @@ + + + + + + Popup - jQuery Mobile Demos + + + + + + + + + + + + +
    + +
    +

    jQuery Mobile

    +

    Demos

    + Menu + Search +
    + +
    + +

    Popup

    + +

    The popup widget can be used for various types of popups. From a small tooltip popup to a large photo lightbox.

    + +

    Popup basics

    + +

    To create a popup, add the data-role="popup" attribute to a div with the popup contents. Then create a link with the href set to the id of the popup div, and add the attribute data-rel="popup" to tell the framework to open the popup when the link is tapped. A popup div has to be nested inside the same page as the link.

    + +
    + Basic Popup + +
    +

    This is a completely basic popup, no options set.

    +
    +
    + +

    Tooltip

    +

    A tooltip can be created by adding a theme swatch to a basic popup and adding padding via the ui-content class. Here we also show how you can custom style the tooltip button.

    +
    +

    A paragraph with a tooltip. Learn more

    + +
    +

    Here is a tiny popup being used like a tooltip. The text will wrap to multiple lines as needed.

    +
    +
    + +

    Photo lightbox

    +

    A lightbox for displaying images can be created easily by placing an image in a popup. In this example, a close button is added to the markup by adding a link. The data-overlay-theme="b" attribute adds a dark backdrop behind the photos. For advanced photo techniques, see scaling images in popups.

    + +
    + Paris, France + Sydney, Australia + New York, USA + +
    + CloseParis, France +
    +
    + CloseSydney, Australia +
    +
    + CloseNew York, USA +
    +
    + +

    Menu

    +

    A menu can be created by adding a listview inside a popup.

    +
    + Actions... + +
    + +
    +
    + +

    Nested menu

    +

    A nested menu can be created by placing listviews into an accordion inside a popup.

    +
    + Choose a creature... + +
    +
    +
    +

    Farm animals

    + +
    +
    +

    Pets

    + +
    +
    +

    Ocean Creatures

    + +
    +
    +

    Wild Animals

    + +
    +
    +
    +
    + +

    Form

    +

    You can place a form inside a popup. When it opens, focus will be restricted to elements inside the popup.

    +
    + Sign in + +
    +
    +
    +

    Please sign in

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

    Dialog

    +

    Standard dialog markup can be placed into a popup. To create a modal style dialog, add the data-dismissible="false" attribute to the popup to prevent the click-outside-to-close behavior so people need to interact with popup buttons to close it.

    +
    + Delete page... + +
    +
    +

    Delete Page?

    +
    +
    +

    Are you sure you want to delete this page?

    +

    This action cannot be undone.

    + Cancel + Delete +
    +
    +
    + +

    Adding padding

    +

    For popups with formatted text, padding is needed. The ui-content class can be added to the popup to add the standard 15px of padding. When padding is added, we apply a few style rules to negate the top margin for the first heading or paragraph in the popup and do the same for the last element's bottom margin.

    +
    + Popup with padding + +
    +

    This is a popup with the ui-content class added to the popup container.

    +
    + +
    + +

    Closing popups

    +

    By default popups can be closed either by clicking outside the popup widget or by pressing the Esc key. To prevent this, the data-dismissible="false" attribute can be added to the popup. To add an explicit close button to a popup, add a link with the role of button into the popup container with a data-rel="back" attribute and position via a class.

    + +
    + Right close button + Left close button + Undismissible Popup + +
    + Close +

    I have a close button at the top right corner with simple HTML markup.

    +
    + +
    + Close +

    I have a close button at the top left corner with simple HTML markup.

    +
    + +
    + Close +

    I have the data-dismissible attribute set to false. I'm not closeable by clicking outside of me.

    +
    +
    + +

    Position

    +

    By default, popups open centered vertically and horizontally over the element you clicked (the origin) which is good for popups used as tooltips or menus. If a popup should appear centered within the window instead of over the origin, add the data-position-to attribute to the link and specify a value of window. It's also possible to specify any valid selector as the value of position-to in addition to origin and window.

    + +
    + Position to window + Position to origin + Position to #position-header + +
    +

    I am positioned to the window.

    +
    + +
    +

    I am positioned over the origin.

    +
    + +
    +

    I am positioned over the header for this section via a selector. If the header isn't scrolled into view, collision detection will place the popup so it's in view.

    +
    +
    + +

    Transitions

    +

    By default, popups have no transition to make them open as quickly as possible. To set the transition used for a popup, add the data-transition attribute to the link that references the popup. The reverse transition will be used when closing the popup. For performance reasons on mobile devices, we recommend using simpler transitions like pop, fade or none for smooth and fast popup animations.

    + +
    + No transition + Pop + Fade + Flip + Turn + Flow + Slide + Slidefade + Slide up + Slide down + +
    +

    I'm a simple popup.

    +
    +
    + +

    Theme

    + +

    The popup has two theme-related options: data-theme and data-overlay-theme. The data-theme option refers to the theme of the popup itself, whereas data-overlay-theme controls the semi-opaque layer behind the popup. The theme is inherited from the page; specify data-theme="none" for a popup with a transparent background.

    + +
    + Theme A +
    +

    I have data-theme="a" set on me

    +
    + + Theme "none", no shadow +
    + Close + firefox logo on a transparent popup +
    + + Overlay theme A +
    +

    I have a data-overlay-theme="a" set on me

    +
    + + Theme B + overlay A +
    +

    I have data-theme="b" and data-overlay-theme="a" set on me

    +
    +
    + +

    Arrow

    +

    The popup can display an arrow along one of its edges when it opens if the data-arrow attribute is set. The attribute can take a value of true, false, or a string containing a comma-separated list of edge abbreviations ("l" for left, "t" for top, "r" for right, and "b" for bottom). For example, if you set data-arrow="r,b" then the arrow will only ever appear along the bottom or right edge of the popup. true is the same as "l,t,r,b" and false or "" indicates that the popup should be displayed without an arrow.

    +

    Click in the pink area below to display a popup with an arrow.

    +
    +
    +

    A paragraph inside the popup with an arrow.

    +

    This second paragraph serves to increase the height of the popup

    +
    + +
    + +

    Pre-rendered markup

    +

    You can supply pre-rendered popup markup to save startup time. The page in the example below contains a popup with pre-rendered markup supplied as part of the original page markup.

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

    Pre-rendered popup demo

    +
    +
    + +
    +
    +
    +
    +
    +

    This is the contents of the pre-rendered popup

    +
    +
    +
    + + + diff --git a/js/libs/.jquery.mobile/demos/rangeslider/index.html b/js/libs/.jquery.mobile/demos/rangeslider/index.html new file mode 100644 index 0000000..ded8348 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/rangeslider/index.html @@ -0,0 +1,550 @@ + + + + + + Rangeslider - jQuery Mobile Demos + + + + + + + + + +
    + +
    +

    jQuery Mobile

    +

    Demos

    + Menu + Search +
    + +
    + +

    Range slider

    + +

    Range slider offer two handles to set a min and max value along a numeric continuum. +

    + +

    Basic range slider

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

    Step attribute

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

    No highlight

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

    Theme

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

    Mini

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

    Disabled

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

    Label hidden

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

    Fieldcontain

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

    Fieldcontain, mini

    + +
    +
    +
    +
    + + + + +
    +
    + +
    + +
    +
    + +
    + + + + +
    + +
    + + +
    + + + diff --git a/js/libs/.jquery.mobile/demos/rwd/index.html b/js/libs/.jquery.mobile/demos/rwd/index.html new file mode 100644 index 0000000..3669ea7 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/rwd/index.html @@ -0,0 +1,506 @@ + + + + + + Responsive Web Design - jQuery Mobile Demos + + + + + + + + + +
    + +
    +

    jQuery Mobile

    +

    Demos

    + Menu + Search +
    + +
    + +

    Responsive Web Design

    + +

    Responsive web design (RWD) is a design and technical approach that aims to adapt the layout and interaction of a site or app to work optimally across a wide range of device resolutions, screen densities and interaction modes with the same underlying codebase. The framework has a number of responsive widgets: responsive grids, reflow tables and column chooser tables, and panels.

    + +

    RWD basics

    +

    RWD has three key elements:

    +

      +
    • CSS media queries, used to target styles to specific device characteristics such as screen width breakpoint or resolution.
    • +
    • A fluid grid, that specifies elements and widgets in flexible units with the goal of making them flow to fill their containers.
    • +
    • Flexible images and media, are also sized in relative units so they re-size to fit within their containers.
    • +
    + +

    By creating all screen elements to be fluid and flexible, it allows the media queries to focus primarily on controlling layout rules for containers; the modules inside simply re-size to fit their containers.

    + +

    A simple responsive example may be two stacked containers, each with flexible content or widgets inside. At greater widths, media queries are used to float both containers to create a two column layout to take better advantage of the wider screen.

    + +

    Since the content inside each container is designed to re-flow to fit its parent, the media queries can focus just on the rules for making the columns stack or float, and to override or add styles only needed at greater widths.

    + +

    Progressive Enhancement

    + +

    In addition to these three core RWD principles, we advocate following progressive enhancement (PE) practices. This means always starting with semantic HTML which will work on any device, then unobtrusively layering in advanced CSS and JS only for capable browsers. This provides a solid foundation for the device-level optimizations that RWD provides and is how the jQuery Mobile library is built.

    + +

    Responsive & Responsible

    + +

    When working with RWD, it's very important to consider performance to ensure that you're not simply taking a heavy desktop site and shrinking it down to mobile screens. We recommend following a "mobile-first" approach to keep development focused on reducing bandwidth, server requests and optimizing source order.

    + +

    When building a page, start by creating the lightest and most semantic HTML possible. Think about how the source order of the markup would work if you didn't have CSS or JS. Do not include code that is only needed for larger viewports and hide it at smaller widths. Instead, use Ajax to conditionally load these assets when larger screens are detected via JS.

    + +

    When writing CSS for a responsive site or app, it's usually most efficient to write all the core typography and basic style elements outside of a media query to form the styles for the smallest devices, such as phones. This is a good approach because the majority of these core styles are usually also shared at greater widths, albeit in a different layout and it leverages the cascading power of CSS. Build up breakpoints using multiple min-width media queries to layer in additional style rules that should only apply above a certain screen width.

    + +

    For images in your pages, we recommend starting with images sized for mobile screens in the markup. It doesn't make sense to serve a 1,000 pixel wide photo to a smartphone with a 480 pixel max resolution because this is a waste of bandwidth and memory. Instead, include an image targeted for a mobile size. Add a width: 100%; style rule to make images scale to the page or container, but not larger because this would look blurry.

    + +

    For larger or higher resolution screens, there is a wide range of JS-based techniques and services to conditionally load a higher quality image. The forthcoming pictureelement will address the need to handle multiple image sources natively in HTML and can be used today with a polyfill script.

    + +

    Always look for ways to limit the number of server requests on a page by concatenating files into a single request and always use minification and compression (gzip).

    + +

    Responsive in jQuery Mobile

    + +

    jQuery Mobile has always been designed to work within a responsive context and our docs and forms had a few responsive elements from the very start. All the widgets are built to be 100% flexible in width to fit easily inside any responsive layout system you choose to build.

    + +

    Here is a checklist of RWD tips to keep in mind:

    + +
      +
    • Create a style override stylesheet and include it after the jQuery Mobile framework stylesheet. This will hold all your custom styles, tweaks to the default widgets and media queries.
    • +
    • Start by writing the styles you want to see at the narrowest screen width (i.e. "mobile first"). These should be outside a media query. This mobile-first approach is efficient because you can lay down the core typography, colors and styles for mobile knowing that these tend to also be used for wider breakpoints.
    • +
    • Choose the breakpoints based on your content, not a specific device. Since there are devices of every imaginable width, it's smarter to choose breakpoints based on how your content looks in your design system. As you re-size the window to greater widths, identify where your content hits a point where it could adapt to take advantage of a wider width.
    • +
    • Write media queries' widths in ems, not pixels. This ensures the layout will adapt to font size changes in addition to screen widths. To calculate the width in ems, divide the target breakpoint in pixels (320px) by 16px (the default font size) to get the em-based width (20em).
    • +
    • Use min-width breakpoints that build on top of the mobile styles. The first breakpoint applies layout adjustments on top of the standard mobile styles so these can be fairly lightweight. Additional min-width breakpoints can be added for even wider screens that each build on the previous breakpoint styles.
    • +
    • To override framework styles only for smaller screens, use a max-width breakpoint instead. This allows you to constrain your style overrides to only apply below a certain screen width. Above this width, all the normal styles will apply so this is good for certain types of overrides.
    • +
    + +

    Putting it together

    + +

    Here is a simple skeleton of a mobile-first stylesheet that starts with mobile-first styles, then builds up a responsive layout by adding two breakpoints:

    + +
    
    +/* Start with core styles outside of a media query that apply to mobile and up */
    +/* Global typography and design elements, stacked containers */
    +body { font-family: Helvetica, san-serif; }
    +H1 { color: green; }
    +a:link { color:purple; }
    +
    +/* Stack the two content containers */
    +.main,
    +.sidebar { display:block; width:100%; }
    +
    +/* First breakpoint at 576px */
    +/* Inherits mobile styles, but floats containers to make columns */
    +@media all and (min-width: 36em){
    +	.main { float: left; width:60%; }
    +	.sidebar { float: left; width:40%; }
    +}
    +
    +/* Second breakpoint at 800px */
    +/* Adjusts column proportions, tweaks base H1 */
    +@media all and (min-width: 50em){
    +	.main { width:70%; }
    +	.sidebar { width:30%; }
    +
    +	/* You can also tweak any other styles in a breakpoint */
    +	H1 { color: blue; font-size:1.2em }
    +}
    +
    + +
    +
    + +
    + + + + +
    + +
    + + +
    + + + diff --git a/js/libs/.jquery.mobile/demos/selectmenu-custom-filter/index.html b/js/libs/.jquery.mobile/demos/selectmenu-custom-filter/index.html new file mode 100644 index 0000000..59a504c --- /dev/null +++ b/js/libs/.jquery.mobile/demos/selectmenu-custom-filter/index.html @@ -0,0 +1,516 @@ + + + + + + Filterable inside custom select - jQuery Mobile Demos + + + + + + + + + + + +
    + +
    +

    jQuery Mobile

    +

    Demos

    + Menu + Search +
    + +
    + +

    Filterable inside custom select

    + +

    + This examples shows how you can filter the list inside a custom select menu. +

    + +

    You can create an input field and prepend it to the popup and/or the dialog used by the custom select menu list and you can use it to filter items inside the list by instantiating a filterable widget on the list.

    + +
    +
    + + +
    + +
    +
    + +
    + + + + +
    + +
    + + +
    + + + diff --git a/js/libs/.jquery.mobile/demos/selectmenu-custom/index.html b/js/libs/.jquery.mobile/demos/selectmenu-custom/index.html new file mode 100644 index 0000000..62a6133 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/selectmenu-custom/index.html @@ -0,0 +1,774 @@ + + + + + + Custom selects - jQuery Mobile Demos + + + + + + + + + +
    + +
    +

    jQuery Mobile

    +

    Demos

    + Menu + Search +
    + +
    + +

    Custom select menu

    + +

    The custom select uses a popup with a listview to display the menu. For long lists a dialog will be used. +

    + +

    Examples

    + +
    +
    + + +
    +
    + +
    +
    + + +
    +
    + +
    +
    + + +
    +
    + +
    +
    + + +
    +
    + +
    +
    + + +
    +
    + +
    +
    + + +
    +
    + +
    +
    + + +
    +
    + +
    +
    + + +
    +
    + +
    +
    + + +
    +
    + +
    +
    + + +
    +
    + +
    +
    + + +
    +
    + +
    +
    + + +
    +
    + +
    +
    + Vertical controlgroup: + + + + + + +
    +
    + +
    +
    + Vertical controlgroup, icon left, mini sized: + + + + + + +
    +
    + +
    +
    + Horizontal controlgroup: + + + + + + +
    +
    + +
    +
    + Horizontal controlgroup, mini sized: + + + + + + +
    +
    + +
    +
    + +
    + + + + +
    + +
    + + +
    + + + diff --git a/js/libs/.jquery.mobile/demos/selectmenu/index.html b/js/libs/.jquery.mobile/demos/selectmenu/index.html new file mode 100644 index 0000000..b95b67c --- /dev/null +++ b/js/libs/.jquery.mobile/demos/selectmenu/index.html @@ -0,0 +1,642 @@ + + + + + + Selects - jQuery Mobile Demos + + + + + + + + + +
    + +
    +

    jQuery Mobile

    +

    Demos

    + Menu + Search +
    + +
    + +

    Select menu

    + +

    The select menu is based on a native select element, which is hidden from view and replaced with a custom-styled select button. Tapping it opens the native menu. There is also a custom select menu widget, which also replaces the native dropdown. +

    + +

    Basic select

    +
    +
    +
    + + +
    + +
    + +

    Mini

    + +
    +
    +
    + + +
    + +
    + +

    Icon position

    + +
    +
    +
    + + +
    + +
    + +

    Selected option

    + +
    +
    +
    + + +
    + +
    + +

    Disabled option

    + +
    +
    +
    + + +
    + +
    + +

    Optgroup

    + +
    +
    +
    + + +
    + +
    + +

    Vertical group

    + +
    +
    +
    + Vertical controlgroup: + + + + + + +
    + +
    + +

    Vertical group, mini

    + +
    +
    +
    + Vertical controlgroup, icon left, mini sized: + + + + + + +
    + +
    + +

    Horizontal group

    + +
    +
    +
    + Horizontal controlgroup: + + + + + + +
    + +
    + +

    Horizontal group, mini

    + +
    +
    +
    + Horizontal controlgroup, mini sized: + + + + + + +
    + +
    + +
    +
    + +
    + + + + +
    + +
    + + +
    + + + diff --git a/js/libs/.jquery.mobile/demos/slider-flipswitch/index.html b/js/libs/.jquery.mobile/demos/slider-flipswitch/index.html new file mode 100644 index 0000000..cfcea9f --- /dev/null +++ b/js/libs/.jquery.mobile/demos/slider-flipswitch/index.html @@ -0,0 +1,514 @@ + + + + + + Flip Toggle Switch - jQuery Mobile Demos + + + + + + + + + +
    + +
    +

    jQuery Mobile

    +

    Demos

    + Menu + Search +
    + +
    + +

    Flip switch

    + +

    Flip switches are used for boolean style inputs like true/false or on/off in a compact UI element. +

    + +

    Basic

    +
    +
    + + + +
    + +

    Theme

    + +
    +
    + + + +
    + +

    Mini

    + +
    +
    + + + +
    + +

    Disabled

    + +
    +
    + + + +
    + +

    Label hidden

    + +
    +
    + + + +
    + +

    Fieldcontain

    + +
    +
    +
    + + +
    + +
    + +

    Fieldcontain, mini

    + +
    +
    +
    + + +
    + +
    + +
    +
    + +
    + + + + +
    + +
    + + +
    + + + diff --git a/js/libs/.jquery.mobile/demos/slider-tooltip/index.html b/js/libs/.jquery.mobile/demos/slider-tooltip/index.html new file mode 100644 index 0000000..bd6f274 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/slider-tooltip/index.html @@ -0,0 +1,436 @@ + + + + + + Slider Tooltip Extension - jQuery Mobile Demos + + + + + + + + + +
    +
    +

    jQuery Mobile

    +

    Demos

    + Menu + Search +
    + +
    + +

    Slider tooltip extension

    + +
    +
    + + + + + + + + + +
    + +
    +
    + +
    + + + + +
    + +
    + + +
    + + + diff --git a/js/libs/.jquery.mobile/demos/slider/index.html b/js/libs/.jquery.mobile/demos/slider/index.html new file mode 100644 index 0000000..83d5c7e --- /dev/null +++ b/js/libs/.jquery.mobile/demos/slider/index.html @@ -0,0 +1,532 @@ + + + + + + Slider - jQuery Mobile Demos + + + + + + + + + + +
    + +
    +

    jQuery Mobile

    +

    Demos

    + Menu + Search +
    + +
    + +

    Slider

    + +

    Sliders are used to enter numeric values along a continuum and can also be dual handle range sliders or flip switches. +

    + +

    Basic slider

    + +
    +
    + + + +
    + +

    Step attribute

    + +
    +
    + + + +
    + +

    Highlight

    + +
    +
    + + + +
    + +

    Theme

    + +
    +
    + + + +
    + +

    Mini sized

    + +
    +
    + + + +
    + +

    Disabled

    + +
    +
    + + + +
    + +

    Label hidden

    + +
    +
    + + + +
    + +

    Fieldcontain

    + +
    +
    +
    + + +
    + +
    + +

    Fieldcontain, mini sized

    + +
    +
    +
    + + +
    + +
    + +

    Full width slider, no input

    + +

    Here we show how you can hide the number input and make the slider full width with custom CSS.

    + +
    +
    + + + +
    + +
    +
    + +
    + + + + +
    + +
    + + +
    + + + diff --git a/js/libs/.jquery.mobile/demos/swipe-list/index.html b/js/libs/.jquery.mobile/demos/swipe-list/index.html new file mode 100644 index 0000000..3211e4d --- /dev/null +++ b/js/libs/.jquery.mobile/demos/swipe-list/index.html @@ -0,0 +1,706 @@ + + + + + + Swipe to delete list item - jQuery Mobile Demos + + + + + + + + + + + + +
    + +
    +

    jQuery Mobile

    +

    Demos

    + Menu + Search +
    + +
    + +

    Swipe to delete list item

    + +

    This demo shows how you can remove list items by swiping left or right. For devices without touchscreen there is a delete button. This demo also contains a custom styled confirmation popup.

    + +

    Open swipe list demo

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

    Inbox

    + Back + Refresh +
    + +
    + + + +
    + +
    + +

    Are you sure you want to delete:

    + +
    +
    + Yes +
    +
    + Cancel +
    +
    + +
    + +
    + + + diff --git a/js/libs/.jquery.mobile/demos/swipe-page/buenosaires.html b/js/libs/.jquery.mobile/demos/swipe-page/buenosaires.html new file mode 100644 index 0000000..1e93547 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/swipe-page/buenosaires.html @@ -0,0 +1,46 @@ + + + + + + Buenos Aires + + + + + + + + + + + + + +
    + +
    + +
    + Close +

    At 140 meters (16 lanes), Avenida 9 de Julio in Buenos Aires is the world’s widest avenue. Its name honors Argentina’s birthdate. (July 9, 1816). The avenue runs roughly one kilometer to the west of the Río de la Plata waterfront, from the Retiro district in the north to Constitución station in the south. source: inautonews.com

    +
    + +
    + +
    + + + + + diff --git a/js/libs/.jquery.mobile/demos/swipe-page/capetown.html b/js/libs/.jquery.mobile/demos/swipe-page/capetown.html new file mode 100644 index 0000000..7d0503e --- /dev/null +++ b/js/libs/.jquery.mobile/demos/swipe-page/capetown.html @@ -0,0 +1,46 @@ + + + + + + Cape Town + + + + + + + + + + + + + +
    + +
    + +
    + Close +

    Although it’s the youngest official language in the world, Afrikaans is most widely spoken and is home language for 40% of the Cape's population. The remainder of the population speaks either Xhosa or English as a home language. source: gotravel24.com

    +
    + +
    + +
    + + + + + diff --git a/js/libs/.jquery.mobile/demos/swipe-page/index.html b/js/libs/.jquery.mobile/demos/swipe-page/index.html new file mode 100644 index 0000000..fbff795 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/swipe-page/index.html @@ -0,0 +1,471 @@ + + + + + + Swipe to navigate - jQuery Mobile Demos + + + + + + + + + + + + + +
    + +
    +

    jQuery Mobile

    +

    Demos

    + Menu + Search +
    + +
    + +

    Swipe to navigate

    + +
    +

    This demo shows how you can use the swipe event to navigate between pages. We are using single HTML files for each page. Here you can see the JavaScript and CSS source. On each of the demo pages you can see the page markup as well.

    + +

    Open swipe page demo

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

    City

    + Back +
    + +
    + +
    + +
    + Close +

    Here some text.

    +
    + +
    + +
    + + + + + diff --git a/js/libs/.jquery.mobile/demos/swipe-page/newyork.html b/js/libs/.jquery.mobile/demos/swipe-page/newyork.html new file mode 100644 index 0000000..b866a8a --- /dev/null +++ b/js/libs/.jquery.mobile/demos/swipe-page/newyork.html @@ -0,0 +1,46 @@ + + + + + + New York + + + + + + + + + + + + + +
    + +
    + +
    + Close +

    Although many legends exist about the origin of New York City's nickname, the Big Apple, most historians agree that it can be traced back to a writer who covered horse racing in the 1920s. In The Morning Telegraph, he wrote that stable hands often referred to New York as the Big Apple, meaning that any thoroughbred that raced in New York had reached the pinnacle of racing. source: nylady.hubpages.com

    +
    + +
    + +
    + + + + + diff --git a/js/libs/.jquery.mobile/demos/swipe-page/paris.html b/js/libs/.jquery.mobile/demos/swipe-page/paris.html new file mode 100644 index 0000000..e6a130b --- /dev/null +++ b/js/libs/.jquery.mobile/demos/swipe-page/paris.html @@ -0,0 +1,46 @@ + + + + + + Paris + + + + + + + + + + + + + +
    + +
    + +
    + Close +

    Each year, 44 million tourists visit Paris and the surrounding Ile de France region. Paris is year after year the most visited city in the world. source: parisdigest.com

    +
    + +
    + +
    + + + + + diff --git a/js/libs/.jquery.mobile/demos/swipe-page/seoul.html b/js/libs/.jquery.mobile/demos/swipe-page/seoul.html new file mode 100644 index 0000000..402a1be --- /dev/null +++ b/js/libs/.jquery.mobile/demos/swipe-page/seoul.html @@ -0,0 +1,46 @@ + + + + + + Seoul + + + + + + + + + + + + + +
    + +
    + +
    + Close +

    Seoul, officially the Seoul Special City, is the capital and largest city of South Korea. With a population of over 10 million, it is one of the world's largest cities. The Seoul National Capital Area, which includes the Incheon metropolis and most of Gyeonggi province, has 24.5 million inhabitants. source: bezbrige.com

    +
    + +
    + +
    + + + + + diff --git a/js/libs/.jquery.mobile/demos/swipe-page/swipe-page.css b/js/libs/.jquery.mobile/demos/swipe-page/swipe-page.css new file mode 100644 index 0000000..b302ff2 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/swipe-page/swipe-page.css @@ -0,0 +1,32 @@ +/* Set the background image sources */ +#newyork { background-image: url("../_assets/img/newyork.jpg"); } +#buenosaires { background-image: url("../_assets/img/buenosaires.jpg"); } +#paris { background-image: url("../_assets/img/paris.jpg"); } +#capetown { background-image: url("../_assets/img/capetown.jpg"); } +#seoul { background-image: url("../_assets/img/seoul.jpg"); } +#sydney { background-image: url("../_assets/img/sydney.jpg"); } +/* Background settings */ +.demo-page { + background-size: cover; + background-position: center center; + background-repeat: no-repeat; +} +/* Transparent footer */ +.demo-page .ui-footer { + background: none; + border: none; + bottom: 0; +} +/* The footer won't have a height because there are only two absolute positioned elements in it. +So we position the buttons from the bottom. */ +.control.ui-btn-left, +.trivia-btn.ui-btn-right { + top: auto; + bottom: 7px; + margin: 0; +} +/* Custom styling for the trivia source */ +small { + font-size: .75em; + color: #666; +} diff --git a/js/libs/.jquery.mobile/demos/swipe-page/swipe-page.js b/js/libs/.jquery.mobile/demos/swipe-page/swipe-page.js new file mode 100644 index 0000000..a4d1d76 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/swipe-page/swipe-page.js @@ -0,0 +1,97 @@ +// Pagecreate will fire for each of the pages in this demo +// but we only need to bind once so we use "one()" +$( document ).one( "pagecreate", ".demo-page", function() { + // Initialize the external persistent header and footer + $( "#header" ).toolbar({ theme: "b" }); + $( "#footer" ).toolbar({ theme: "b" }); + + // Handler for navigating to the next page + function navnext( next ) { + $( ":mobile-pagecontainer" ).pagecontainer( "change", next + ".html", { + transition: "slide" + }); + } + + // Handler for navigating to the previous page + function navprev( prev ) { + $( ":mobile-pagecontainer" ).pagecontainer( "change", prev + ".html", { + transition: "slide", + reverse: true + }); + } + + // Navigate to the next page on swipeleft + $( document ).on( "swipeleft", ".ui-page", function( event ) { + // Get the filename of the next page. We stored that in the data-next + // attribute in the original markup. + var next = $( this ).jqmData( "next" ); + + // Check if there is a next page and + // swipes may also happen when the user highlights text, so ignore those. + // We're only interested in swipes on the page. + if ( next && ( event.target === $( this )[ 0 ] ) ) { + navnext( next ); + } + }); + + // Navigate to the next page when the "next" button in the footer is clicked + $( document ).on( "click", ".next", function() { + var next = $( ".ui-page-active" ).jqmData( "next" ); + + // Check if there is a next page + if ( next ) { + navnext( next ); + } + }); + + // The same for the navigating to the previous page + $( document ).on( "swiperight", ".ui-page", function( event ) { + var prev = $( this ).jqmData( "prev" ); + + if ( prev && ( event.target === $( this )[ 0 ] ) ) { + navprev( prev ); + } + }); + + $( document ).on( "click", ".prev", function() { + var prev = $( ".ui-page-active" ).jqmData( "prev" ); + + if ( prev ) { + navprev( prev ); + } + }); +}); + +$( document ).on( "pageshow", ".demo-page", function() { + var thePage = $( this ), + title = thePage.jqmData( "title" ), + next = thePage.jqmData( "next" ), + prev = thePage.jqmData( "prev" ); + + // Point the "Trivia" button to the popup for the current page. + $( "#trivia-button" ).attr( "href", "#" + thePage.find( ".trivia" ).attr( "id" ) ); + + // We use the same header on each page + // so we have to update the title + $( "#header h1" ).text( title ); + + // Prefetch the next page + // We added data-dom-cache="true" to the page so it won't be deleted + // so there is no need to prefetch it + if ( next ) { + $( ":mobile-pagecontainer" ).pagecontainer( "load", next + ".html" ); + } + + // We disable the next or previous buttons in the footer + // if there is no next or previous page + // We use the same footer on each page + // so first we remove the disabled class if it is there + $( ".next.ui-state-disabled, .prev.ui-state-disabled" ).removeClass( "ui-state-disabled" ); + + if ( ! next ) { + $( ".next" ).addClass( "ui-state-disabled" ); + } + if ( ! prev ) { + $( ".prev" ).addClass( "ui-state-disabled" ); + } +}); diff --git a/js/libs/.jquery.mobile/demos/swipe-page/sydney.html b/js/libs/.jquery.mobile/demos/swipe-page/sydney.html new file mode 100644 index 0000000..a31eef3 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/swipe-page/sydney.html @@ -0,0 +1,46 @@ + + + + + + Sydney + + + + + + + + + + + + + +
    + +
    + +
    + Close +

    The Sydney Opera House provides 45,000 square metres (11 acres) of usable office space out of 18,000 square metres (4.5 acres) of land. It is 183 metres (600 feet) tall and about 120 metres (388 feet) wide at its widest point. It is supported on 580 concrete piers sunk up to 25 metres below sea level. It has about 1000 rooms. It has five theatres, five rehearsal studios, two main halls, four restaurants, six bars and numerous souvenir shops. source: sheppardsoftware.com

    +
    + +
    + +
    + + + + + diff --git a/js/libs/.jquery.mobile/demos/table-column-toggle-example/index.html b/js/libs/.jquery.mobile/demos/table-column-toggle-example/index.html new file mode 100644 index 0000000..1e43064 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/table-column-toggle-example/index.html @@ -0,0 +1,574 @@ + + + + + + Table Column toggle demo: Phone comparison - jQuery Mobile Demos + + + + + + + + + + +
    + +
    +

    jQuery Mobile

    +

    Demos

    + Menu + Search +
    + +
    + +

    Popular Phones

    + +

    This is an example of how to use the column toggle table to create a comparison view where products can be shown or hidden.

    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Model +

    Apple

    +

    iPhone 5

    +
    +

    Samsung

    +

    Galaxy S III

    +
    +

    Nokia

    +

    Lumia 920

    +
    +

    HTC

    +

    One X

    +
    Photo
    Height4.87"5.38"5.11"5.3"
    Width2.31"2.78"2.79"2.75"
    Depth0.3"0.34"0.42"0.37"
    Weight (lbs.)0.250.290.410.29
    + + + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + + + + +
    + +
    + + + + +
    + +
    + + + + + + diff --git a/js/libs/.jquery.mobile/demos/table-column-toggle-heading-groups/index.html b/js/libs/.jquery.mobile/demos/table-column-toggle-heading-groups/index.html new file mode 100644 index 0000000..f14767d --- /dev/null +++ b/js/libs/.jquery.mobile/demos/table-column-toggle-heading-groups/index.html @@ -0,0 +1,603 @@ + + + + + + Table Column toggle: Heading groups - jQuery Mobile Demos + + + + + + + + + + +
    + +
    +

    jQuery Mobile

    +

    Demos

    + Menu + Search +
    + +
    + +

    Table Column toggle: Heading groups

    + +

    The columns of data are shown and toggled as sets under each grouped heading for each financial quarter. In this example, the totals are shown at narrow widths, then more historical quarters are revealed at wider widths by assigning priorities to the columns.

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Q1 2012Q2 2012Q3 2012Q4 2012YTD Totals
    StoreIncomeProfitChangeIncomeProfitChangeIncomeProfitChangeIncomeProfitChangeIncomeProfitChange
    Boston2,898739-5.8%3,6471,354+5.8%4,9812,246+13.4%3,4571,259-3.9%12,4636,234+5.9%
    Chicago2,898739-5.8%3,6471,354+5.8%4,9812,246+13.4%3,4571,259-3.9%12,4636,234+5.9%
    NYC2,898739-5.8%3,6471,354+5.8%4,9812,246+13.4%3,4571,259-3.9%12,4636,234+5.9%
    + +
    + +
    +
    + +
    + + + + +
    + +
    + + +
    + + + diff --git a/js/libs/.jquery.mobile/demos/table-column-toggle-options/index.html b/js/libs/.jquery.mobile/demos/table-column-toggle-options/index.html new file mode 100644 index 0000000..8d5fd04 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/table-column-toggle-options/index.html @@ -0,0 +1,519 @@ + + + + + + Table Column toggle: Customization options - jQuery Mobile Demos + + + + + + + + + +
    + +
    +

    jQuery Mobile

    +

    Demos

    + Menu + Search +
    + +
    + +

    Table Column toggle: Customization options

    + +

    This table illustrates the standard customization options for a column toggle table. The table has a custom theme and label text for the column chooser button, and a theme set on the popup.

    + +

    The table background is themed by adding class="ui-body-d" to the table element. The table header is given a themed appearance by adding the class="ui-bar-d" to the header row. The striped rows are created by adding the table-stripe class to the table element.

    + +

    Top Movies

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    RankMovie TitleYearRatingReviews
    1Citizen Kane1941100%74
    2Casablanca194297%64
    3The Godfather197297%87
    4Gone with the Wind193996%87
    5Lawrence of Arabia196294%87
    6Dr. Strangelove Or How I Learned to Stop Worrying and Love the Bomb196492%74
    7The Graduate196791%122
    8The Wizard of Oz193990%72
    9Singin' in the Rain195289%85
    10Inception201084%78
    + +
    + +
    +
    + +
    + + + + +
    + +
    + + +
    + + + diff --git a/js/libs/.jquery.mobile/demos/table-column-toggle/index.html b/js/libs/.jquery.mobile/demos/table-column-toggle/index.html new file mode 100644 index 0000000..b7df3a7 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/table-column-toggle/index.html @@ -0,0 +1,705 @@ + + + + + + Table: Column Toggle - jQuery Mobile Demos + + + + + + + + + +
    + +
    +

    jQuery Mobile

    +

    Demos

    + Menu + Search +
    + +
    + +

    Table: Column Toggle

    + +

    The column toggle table mode selectively hides columns at narrower widths as a sensible default but also offers a menu to let users manually control which columns they want to see.

    + +

    Column toggle basics

    +

    This table mode automatically hides less important columns at narrower widths and surfaces a button to open a menu that allows the user to choose what columns they want to see. In this mode, the author attempts to define which columns are most important to show across various widths by assigning a priority to each column.

    + +

    A user may choose to check as many columns as they want by tapping the "Columns..." button to open the column + chooser popup. The popup contains a dynamically generated list of columns based on the table markup that can be checked and unchecked to adjust the visible columns.

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    RankMovie TitleYearRatingReviews
    1Citizen Kane1941100%74
    2Casablanca194297%64
    3The Godfather197297%87
    4Gone with the Wind193996%87
    5Lawrence of Arabia196294%87
    6Dr. Strangelove Or How I Learned to Stop Worrying and Love the Bomb196492%74
    7The Graduate196791%122
    8The Wizard of Oz193990%72
    9Singin' in the Rain195289%85
    10Inception201084%78
    +
    + +

    Applying column chooser mode to a table

    + +

    The column chooser mode requires a table element with two attributes: data-role="table" and data-mode="columntoggle". An ID attribute is also required on the table to associate it with the column chooser popup menu.

    + +
    
    +<table data-role="table" data-mode="columntoggle" id="my-table">
    +
    + +

    Setting column priority

    + +

    The table works by hiding and showing columns based on two inputs: available screen width or by the user checking and unchecking which columns to display in a column picker popup. Add data-priority attributes to each of the table headers of columns you want to responsively display and assign a priority (1 = highest, 6 = lowest). Any table header given a priority will be available in the column picker menu.

    +

    To make a column persistent so it's not available for hiding, omit the data-priority attribute. This will make the column visible at all widths and won't be available in the column chooser menu.

    + +
    
    +<th>I'm critical and can't be removed</th>
    +<th data-priority="1">I'm very important</th>
    +<th data-priority="3">I'm somewhat</th>
    +<th data-priority="5">I'm less important</th>
    +
    + +

    You may use any priority naming convention and assign as many (or few) levels of priority for the columns. The plugin simply generates class names based on the values in the data-priority attribute so even though we default to using a numeric system of 1-6, any naming convention is possible.

    +

    For example, if a priority of data-priority="critical" is added to the heading, a class of ui-table-priority-critial will be applied to each cell in that column. If a priority is assigned, the column will be made available for toggling in the column menu and the class will be added to each cell. The rest of the styling and media query creation is up to you to write in your custom stylesheet.

    + +

    Theme & customization

    +

    The column chooser popup is opened via a button that is generated by the framework. The button's text is "Columns..." by default but can be set by adding the data-column-btn-text attribute to the table to the text string you want in the button. The button will inherit the theme from the content area, just like all buttons, but the theme can be set manually by adding the data-column-btn-theme attribute to any swatch letter in your theme.

    +

    The table background is themed by adding class="ui-body-d" to the table element. The table header is given a themed appearance by adding the class="ui-bar-d" to the header row. The striped rows are created by adding the table-stripe class to the table element.

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    RankMovie TitleYearRatingReviews
    1Citizen Kane1941100%74
    2Casablanca194297%64
    3The Godfather197297%87
    4Gone with the Wind193996%87
    5Lawrence of Arabia196294%87
    6Dr. Strangelove Or How I Learned to Stop Worrying and Love the Bomb196492%74
    7The Graduate196791%122
    8The Wizard of Oz193990%72
    9Singin' in the Rain195289%85
    10Inception201084%78
    + +
    + +

    Making the table responsive

    + +

    The styles for all columns that have priorities assigned (1-6) start as display:none in the structure stylesheet since we're taking a mobile-first approach to our styles. This means that only columns that should be persistent are visible in the styles to start.

    + +

    The framework does not automatically include the the media queries to progressively display columns at wider widths. We do this to make it easier for developers to customize the media query widths for each priority level.

    + +

    Media queries add the responsive behavior to show and hide columns by priority. Each media query is written using min-width widths so they build on top of each other. The widths are set in em units so they respond to font size changes. To calculate a pixel withs in em units, divide the target width by 16 (pixels) - it's that easy.

    + +

    Inside each media query, we override the display:none style properties set on all the priority columns in the basic styles to display:table-cell so they become visible again and act as a table.

    + +

    To customize the breakpoints, copy the following style block into your custom style overrides and adjust the min-width media query values for each priority level to specify where various priority columns should appear.

    + +

    In the example styles below for a my-custom-class class on the table, the priority 1 columns are shown first, at widths above 20em (320px), then priority 2 kicks in above 30em (480px) and so on up to wide desktop widths with priority 6. Feel free to change these breakpoints in your stylesheet and choose how many priority levels you'd like to use.

    + +
    
    +/* Show priority 1 at 320px (20em x 16px) */
    +@media screen and (min-width: 20em) {
    +   .my-custom-class th.ui-table-priority-1,
    +   .my-custom-class td.ui-table-priority-1 {
    +     display: table-cell;
    +   }
    +}
    +/* Show priority 2 at 480px (30em x 16px) */
    +@media screen and (min-width: 30em) {
    +   .my-custom-class  th.ui-table-priority-2,
    +   .my-custom-class td.ui-table-priority-2 {
    +     display: table-cell;
    +   }
    +}
    +...more breakpoints...
    +
    + +

    Due to CSS specificity, you will also need to include the class definitions for the hidden and visible states after the custom breakpoints in your custom stylesheet so be sure to include these as well:

    + +
    
    +/* Manually hidden */
    +.my-custom-class th.ui-table-cell-hidden,
    +.my-custom-class td.ui-table-cell-hidden {
    +  display: none;
    +}
    +
    +/* Manually shown */
    +.my-custom-class th.ui-table-cell-visible,
    +.my-custom-class td.ui-table-cell-visible {
    +   display: table-cell;
    +}
    +
    + +

    Applying a preset breakpoint

    +

    Even though we strongly encourage you to write custom breakpoints yourself, the framework includes a set of pre-configured breakpoints for each of the six priority levels that you can use if they happen work well for your content.

    +

    These breakpoints can be applied by adding a class="ui-responsive" to the table element. Here is an example of a table with this class added:

    + +
    
    +<table data-role="table" class="ui-responsive" data-mode="columntoggle" id="my-table">
    +
    + +

    The six preset breakpoint classes included in the column toggle stylesheet use regular increments of 10em (160 pixels). Here is a summary of the breakpoints assigned to each priority in the preset styles:

    +
    +
    data-priority="1"
    Displays the column at 320px (20em)
    +
    data-priority="2"
    Displays the column at 480px (30em)
    +
    data-priority="3"
    Displays the column at 640px (40em)
    +
    data-priority="4"
    Displays the column at 800px (50em)
    +
    data-priority="5"
    Displays the column at 960px (60em)
    +
    data-priority="6"
    Displays the column at 1,120px (70em)
    +
    + +

    If these preset breakpoints don't work for your content and layout needs, we recommend that you create custom breakpoints to fine tune the styles.

    + +

    Grouped column headers

    +

    It's fairly common to need to logically group multiple columns under a heading group for financial or scientific data. The framework can support the most simple version of this by allowing for two rows of table headers (TH), with the first row containing simple colspan attributes to group the columns below. In this configuration, the framework will parse the first row only for the priority and expose these heading groups as the options in the column chooser popup. In this configuration, the second heading will not be exposed as columns that can be hidden or shown independently of the groupings in the chooser.

    + +
    +
    + +
    + + + + +
    + +
    + + +
    + + + diff --git a/js/libs/.jquery.mobile/demos/table-reflow-heading-groups/index.html b/js/libs/.jquery.mobile/demos/table-reflow-heading-groups/index.html new file mode 100644 index 0000000..7205347 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/table-reflow-heading-groups/index.html @@ -0,0 +1,600 @@ + + + + + + Table Reflow: Heading groups - jQuery Mobile Demos + + + + + + + + + + +
    + +
    +

    jQuery Mobile

    +

    Demos

    + Menu + Search +
    + +
    + +

    Table Reflow: Heading groups

    + +

    This table will stack the data into label value pairs at narrow widths. The grouped column headings are displayed as subheadings between data sets. The screen needs to be wide before it shows the tabular format so the media query is set to 72em (1,152px). There are custom styles for the first row to set the background to dark gray with white text and hide the label so it looks more like a section divider.

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Q1 2012Q2 2012Q3 2012Q4 2012YTD Totals
    StoreIncomeProfitChangeIncomeProfitChangeIncomeProfitChangeIncomeProfitChangeIncomeProfitChange
    Boston2,898739-5.8%3,6471,354+5.8%4,9812,246+13.4%3,4571,259-3.9%12,4636,234+5.9%
    Chicago2,898739-5.8%3,6471,354+5.8%4,9812,246+13.4%3,4571,259-3.9%12,4636,234+5.9%
    NYC2,898739-5.8%3,6471,354+5.8%4,9812,246+13.4%3,4571,259-3.9%12,4636,234+5.9%
    + +
    + +
    +
    + +
    + + + + +
    + +
    + + +
    + + + diff --git a/js/libs/.jquery.mobile/demos/table-reflow-stripes-strokes/index.html b/js/libs/.jquery.mobile/demos/table-reflow-stripes-strokes/index.html new file mode 100644 index 0000000..732e2a1 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/table-reflow-stripes-strokes/index.html @@ -0,0 +1,546 @@ + + + + + + Table Reflow: Stripes and strokes - jQuery Mobile Demos + + + + + + + + + + +
    + +
    +

    jQuery Mobile

    +

    Demos

    + Menu + Search +
    + +
    + +

    Table Reflow: Stripes and strokes

    + +

    Top Movies

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    RankMovie TitleYearRatingReviewsDirector
    1Citizen Kane1941100%74Orson Welles
    2Casablanca194297%64Michael Curtiz
    3The Godfather197297%87Francis Ford Coppola
    4Gone with the Wind193996%87Victor Fleming
    5Lawrence of Arabia196294%87Sir David Lean
    6Dr. Strangelove Or How I Learned to Stop Worrying and Love the Bomb196492%74Stanley Kubrick
    7The Graduate196791%122Mike Nichols
    8The Wizard of Oz193990%72Victor Fleming
    9Singin' in the Rain195289%85Stanley Donen, Gene Kelly
    10Inception201084%78Christopher Nolan
    + +
    + +
    +
    + +
    + + + + +
    + +
    + + +
    + + + diff --git a/js/libs/.jquery.mobile/demos/table-reflow-styling/index.html b/js/libs/.jquery.mobile/demos/table-reflow-styling/index.html new file mode 100644 index 0000000..a462d8d --- /dev/null +++ b/js/libs/.jquery.mobile/demos/table-reflow-styling/index.html @@ -0,0 +1,635 @@ + + + + + + Table Reflow: Custom styles - jQuery Mobile Demos + + + + + + + + + + +
    + +
    +

    jQuery Mobile

    +

    Demos

    + Menu + Search +
    + +
    + +

    Table Reflow: Custom styles

    + +

    Custom styles for the reflow table at stacked widths.

    + +

    Top Movies

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    RankMovie TitleYearRatingReviewsDirector
    1Citizen Kane1941100%74Orson Welles
    2Casablanca194297%64Michael Curtiz
    3The Godfather197297%87Francis Ford Coppola
    4Gone with the Wind193996%87Victor Fleming
    5Lawrence of Arabia196294%87Sir David Lean
    6Dr. Strangelove Or How I Learned to Stop Worrying and Love the Bomb196492%74Stanley Kubrick
    7The Graduate196791%122Mike Nichols
    8The Wizard of Oz193990%72Victor Fleming
    9Singin' in the Rain195289%85Stanley Donen, Gene Kelly
    10Inception201084%78Christopher Nolan
    + +
    + +
    +
    + +
    + + + + +
    + +
    + + +
    + + + diff --git a/js/libs/.jquery.mobile/demos/table-reflow/index.html b/js/libs/.jquery.mobile/demos/table-reflow/index.html new file mode 100644 index 0000000..e651957 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/table-reflow/index.html @@ -0,0 +1,664 @@ + + + + + + Table: Reflow - jQuery Mobile Demos + + + + + + + + + +
    + +
    +

    jQuery Mobile

    +

    Demos

    + Menu + Search +
    + +
    + +

    Table: Reflow

    + +

    The reflow table mode works by collapsing the table columns into a stacked presentation that looks like blocks of label/data pairs for each row. +

    + +

    Reflow basics

    +

    The reflow responsive table only requires a table with a data-role="table" on the table element. There is no need to set the data-mode attribute since reflow is the default. Be sure to include thead and tbody elements in your table. This example also uses the preset responsive breakpoint, applied via the ui-responsive class.

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    RankMovie TitleYearRatingReviews
    1Citizen Kane1941100%74
    2Casablanca194297%64
    3The Godfather197297%87
    4Gone with the Wind193996%87
    5Lawrence of Arabia196294%87
    6Dr. Strangelove Or How I Learned to Stop Worrying and Love the Bomb196492%74
    7The Graduate196791%122
    8The Wizard of Oz193990%72
    9Singin' in the Rain195289%85
    10Inception201084%78
    +
    + +

    Making the table responsive

    + +

    By default, a table with reflow mode will display the stacked presentation style on all screen widths. The styles to make the table responsive are added by applying a media query with rules to switch to the tabular style presentation above a specific screen width.

    +

    This is done by wrapping a few simple CSS rules in and a media query that only applies the rules above a certain width breakpoint. The styles make the table header rows visible, display the cells in a tabular format, and hide the generated label elements within each. Here is an example media query that swaps the presentation at 40em (640 pixels):

    + +
    
    +@media ( min-width: 40em ) {
    +	/* Show the table header rows and set all cells to display: table-cell */
    +	.my-custom-breakpoint td,
    +	.my-custom-breakpoint th,
    +	.my-custom-breakpoint tbody th,
    +	.my-custom-breakpoint tbody td,
    +	.my-custom-breakpoint thead td,
    +	.my-custom-breakpoint thead th {
    +		display: table-cell;
    +		margin: 0;
    +	}
    +	/* Hide the labels in each cell */
    +	.my-custom-breakpoint td .ui-table-cell-label,
    +	.my-custom-breakpoint th .ui-table-cell-label {
    +		display: none;
    +	}
    +}
    +
    + +

    It's best to use a class on the table to apply the breakpoint. Add these rules to your custom stylesheet that is included in the head of the page. We recommend creating a set of custom breakpoint classes that can be used to apply standard table breakpoints in your project.

    + +

    Choosing a breakpoint

    + +

    The goal is to determine the minimum width at which the entire table will fit comfortably within the screen. Find this width by populating a table with realistic sample data, then adjust the browser window until the table completely fits and has a bit of extra space to account for rendering differences across devices. This is the natural place to set the breakpoint that switches between the stacked and tabular presentation modes. The breakpoint width is highly dependent on the number of columns in the table and content within each cell.

    + +

    Applying a preset breakpoint

    + +

    Even though we strongly encourage you to write custom breakpoints yourself, the framework includes a single pre-configured breakpoint that targets the stacked style to smaller phones and swaps to a tabular prsentation on larger phones, tablet and desktop devices. To use this preset breakpoint, add the ui-responsive class to the table to convert from the stacked presentation to a tabular presentation at 560px (35em). If this breakpoint doesn't work for your content, we encourage you to write a custom breakpoint as descibed above.

    + +
    
    +<table data-role="table" class="ui-responsive">
    +
    + +

    Grouped column headers

    + +

    It's fairly common to need to logically group multiple columns together under a heading group for financial or scientific data. The framework can support the most simple version of this by allowing for two rows of table headers (TH), with the first row containing simple colspan attributes to group the columns below. In this configuration, the framework will add a class to the label of the first cell in each group to allow you to style these differently and provide additional visual hierarchy.

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ParisAverage Temperatures (C)Average Rainfall
    MonthMinimum TempMaximum TempPrecipitaion (mm)Rainfall Days
    Jaunuary3817.810
    February2921.79
    March41324.210
    April61524.611
    May102026.210
    June132325.19
    July152521.77
    August152521.47
    September112115.68
    October91725.311
    November51122.412
    December3826.612
    +
    + +
    +
    + +
    + + + + +
    + +
    + + +
    + + + diff --git a/js/libs/.jquery.mobile/demos/tabs/ajax-content.html b/js/libs/.jquery.mobile/demos/tabs/ajax-content.html new file mode 100644 index 0000000..b763c08 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/tabs/ajax-content.html @@ -0,0 +1 @@ +
    I am ajax tab content i was pulled in from ajax-content.html
    diff --git a/js/libs/.jquery.mobile/demos/tabs/index.html b/js/libs/.jquery.mobile/demos/tabs/index.html new file mode 100644 index 0000000..d32ede2 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/tabs/index.html @@ -0,0 +1,487 @@ + + + + + + Tabs - jQuery Mobile Demos + + + + + + + + + + +
    + +
    +

    jQuery Mobile

    +

    Demos

    + Menu + Search +
    + +
    + +

    Tabs

    + +

    The jQuery mobile tabs widget is actually just an extension of the jQuery ui tabs widget and takes all the same options and methods

    +

    +

    Use navbar for tabs

    +
    +
    +
    + +
    +
    +

    First tab contents

    +
    +
    + +
    +
    +
    +
    +

    Use inset listview for tabs

    +
    + +
    +

    First tab contents

    +
    + + + +
    +
    +

    Tabbed page content

    +

    You can also use tabs to swap out an enitre pages content Tabbed Content Pages

    + +
    +
    + +
    + + + + +
    + +
    + + +
    + + + diff --git a/js/libs/.jquery.mobile/demos/tabs/tabbed-content.html b/js/libs/.jquery.mobile/demos/tabs/tabbed-content.html new file mode 100644 index 0000000..53baa73 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/tabs/tabbed-content.html @@ -0,0 +1,48 @@ + + + + + + Navbar - jQuery Mobile Demos + + + + + + + + + +
    +
    +
    +
    + +
    + +
    +

    First tab contents

    +
    +
    + +
    +
    + + +
    +
    + + diff --git a/js/libs/.jquery.mobile/demos/textinput/index.html b/js/libs/.jquery.mobile/demos/textinput/index.html new file mode 100644 index 0000000..0e3b6bd --- /dev/null +++ b/js/libs/.jquery.mobile/demos/textinput/index.html @@ -0,0 +1,781 @@ + + + + + + Textinput - jQuery Mobile Demos + + + + + + + + + +
    + +
    +

    jQuery Mobile

    +

    Demos

    + Menu + Search +
    + +
    + +

    Text inputs

    + +

    Text inputs and textareas are coded with standard HTML elements, then enhanced by jQuery Mobile to make them more attractive and useable on a mobile device. +

    + +

    Text

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

    Search

    + +
    +
    + + +
    +
    + +

    Textarea

    + +
    +
    + + +
    +
    + +

    Number

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

    Date

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

    Month

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

    Week

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

    Time

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

    Datetime

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

    Telephone

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

    Email

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

    URL

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

    Password

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

    Color

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

    File

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

    Mini

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

    Placeholder

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

    Value/Text

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

    Label hidden

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

    Disabled

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

    Enhanced

    + +
    +
    + +
    + + Clear text +
    + + + + + + +
    +
    + +

    Fieldcontain

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

    Fieldcontain, mini sized

    + +
    +
    +
    + + +
    + +
    + + +
    + +
    + + +
    + +
    + + +
    +
    +
    + +
    +
    + +
    + + + + +
    + +
    + + +
    + + + diff --git a/js/libs/.jquery.mobile/demos/theme-classic/images/ajax-loader.gif b/js/libs/.jquery.mobile/demos/theme-classic/images/ajax-loader.gif new file mode 100644 index 0000000..57f5624 Binary files /dev/null and b/js/libs/.jquery.mobile/demos/theme-classic/images/ajax-loader.gif differ diff --git a/js/libs/.jquery.mobile/demos/theme-classic/index.html b/js/libs/.jquery.mobile/demos/theme-classic/index.html new file mode 100644 index 0000000..0475e5a --- /dev/null +++ b/js/libs/.jquery.mobile/demos/theme-classic/index.html @@ -0,0 +1,395 @@ + + + + + + Classic theme - jQuery Mobile Demos + + + + + + + + + + +
    + +
    +

    Classic theme

    + Back + Button + +
    + +
    + +

    This "classic" theme mimics the old jQuery Mobile default theme. IMPORTANT: This classic theme is only a demo and not a supported feature. Issues or ThemeRoller incompatibility might not be fixed, this theme is not available on the CDN, and this demo can be removed at any time.

    + +

    Open the classic theme CSS file in a new tab

    + +
    +
    +
    + Theme: + + + + + + + + + + +
    +
    +
    +
    + Navbars: + + + + +
    +
    +
    +
    + Shadow:
    Off: set the widget option shadow to false (data-shadow="false")
    + + + + +
    +
    +
    +
    + Icon shadow:
    On: add class ui-shadow-icon to the button or its container
    + + + + +
    +
    +
    +
    + Gradient:
    Off: remove background-image rules from classic theme CSS
    + + + + +
    +
    +
    +
    + Highlight:
    Off: remove .ui-btn:before rule from classic theme CSS
    + + + + +
    +
    +
    + +
    +

    I am a div with classes ui-body, ui-body-a and ui-corner-all.

    +

    I am a link

    +

    Panels

    + Reveal + Overlay + Push +
    + +
    +

    I am a div with classes ui-bar, ui-bar-a and ui-corner-all. I am a link

    +
    + + We + + + +
      +
    • I
    • +
    • Divider3
    • +
    • am
    • +
    • static6
    • +
    + + + + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    +
    + Checkbox: + + + + + + +
    +
    +
    +
    + Radio: + + + + + + +
    +
    +
    +
    + Controlgroup: + + + Three +
    +
    +
    + + +
    +
    + + +
    +
    + + Active button + +

    Form inside static list:

    + +
    +
      +
    • + + +
    • +
    • + + +
    • +
    • + + +
    • +
    +
    + +
    +

    ui-bar-a

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

    Heading

    +

    I'm the collapsible content with a themed content block set to "a".

    +
    + +
    +
    +

    Section 1

    +

    I'm the collapsible content for section 1

    +
    +
    +

    Section 2

    +

    I'm the collapsible content for section 2

    +
    +
    +

    Section 3

    +

    I'm the collapsible content for section 3

    +
    +
    + +
    + +
    + +

    Footer

    +
    + +
    + +

    + +
    + +
    + +

    + +
    + +
    + +

    + +
    + +
    + + + diff --git a/js/libs/.jquery.mobile/demos/theme-classic/theme-classic.css b/js/libs/.jquery.mobile/demos/theme-classic/theme-classic.css new file mode 100644 index 0000000..1775535 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/theme-classic/theme-classic.css @@ -0,0 +1,1359 @@ +/* +This "classic" theme mimics the old jQuery Mobile default theme. IMPORTANT: This classic theme is only a demo and not a supported feature. Issues or ThemeRoller incompatibility might not be fixed, this theme is not available on the CDN, and this demo can be removed at any time. +*/ + +/* Globals */ + +/* Font +-----------------------------------------------------------------------------------------------------------*/ + +html { + font-size: 100%; +} +body, +input, +select, +textarea, +button, +.ui-btn { + font-size: 1em; + line-height: 1.3; + font-family: sans-serif /*{global-font-family}*/; +} +legend, +.ui-input-text input, +.ui-input-search input { + color: inherit; + text-shadow: inherit; +} +/* Form labels (overrides font-weight bold in bars, and mini font-size) */ +.ui-mobile label, +div.ui-controlgroup-label { + font-weight: normal; + font-size: 16px; +} + +/* Separators +-----------------------------------------------------------------------------------------------------------*/ +/* Field contain separator (< 28em) */ +.ui-field-contain { + border-bottom-color: #828282; + border-bottom-color: rgba(0,0,0,.15); + border-bottom-width: 1px; + border-bottom-style: solid; +} + +/* Table opt-in classes: strokes between each row, and alternating row stripes */ +/* Classes table-stroke and table-stripe are deprecated in 1.4. */ +.table-stroke thead th, +.table-stripe thead th, +.table-stripe tbody tr:last-child { + border-bottom: 1px solid #d6d6d6; /* non-RGBA fallback */ + border-bottom: 1px solid rgba(0,0,0,.1); +} +.table-stroke tbody th, +.table-stroke tbody td { + border-bottom: 1px solid #e6e6e6; /* non-RGBA fallback */ + border-bottom: 1px solid rgba(0,0,0,.05); +} +.table-stripe.table-stroke tbody tr:last-child th, +.table-stripe.table-stroke tbody tr:last-child td { + border-bottom: 0; +} +.table-stripe tbody tr:nth-child(odd) td, +.table-stripe tbody tr:nth-child(odd) th { + background-color: #eeeeee; /* non-RGBA fallback */ + background-color: rgba(0,0,0,.04); +} + +/* Buttons +-----------------------------------------------------------------------------------------------------------*/ + +.ui-btn, +label.ui-btn { + font-weight: bold; + border-width: 1px; + border-style: solid; +} +.ui-btn:link { + text-decoration: none !important; +} +.ui-btn-active { + cursor: pointer; +} + +/* Corner rounding +-----------------------------------------------------------------------------------------------------------*/ +/* Class ui-btn-corner-all deprecated in 1.4 */ + +.ui-corner-all { + /* Note: change this radius to .6em if you want the old, more rounded, corner style. */ + -webkit-border-radius: .3125em /*{global-radii-blocks}*/; + border-radius: .3125em /*{global-radii-blocks}*/; +} +/* Buttons */ +.ui-btn-corner-all, +.ui-btn.ui-corner-all, +/* Slider track */ +.ui-slider-track.ui-corner-all, +/* Flipswitch */ +.ui-flipswitch.ui-corner-all, +/* Count bubble */ +.ui-li-count { + /* Note: change this radius to 1em if you want the old, more rounded, button corner style. */ + -webkit-border-radius: .3125em /*{global-radii-buttons}*/; + border-radius: .3125em /*{global-radii-buttons}*/; +} +/* Icon-only buttons */ +.ui-btn-icon-notext.ui-btn-corner-all, +.ui-btn-icon-notext.ui-corner-all { + -webkit-border-radius: 1em; + border-radius: 1em; +} +/* Radius clip workaround for cleaning up corner trapping */ +.ui-btn-corner-all, +.ui-corner-all { + -webkit-background-clip: padding; + background-clip: padding-box; +} +/* Popup arrow */ +.ui-popup.ui-corner-all > .ui-popup-arrow-guide { + left: .6em /*{global-radii-blocks}*/; + right: .6em /*{global-radii-blocks}*/; + top: .6em /*{global-radii-blocks}*/; + bottom: .6em /*{global-radii-blocks}*/; +} + +/* Shadow +-----------------------------------------------------------------------------------------------------------*/ + +.ui-shadow { + -webkit-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/; + -moz-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/; + box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/; +} +.ui-shadow-inset { + -webkit-box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/; + -moz-box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/; + box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/; +} +.ui-overlay-shadow { + -webkit-box-shadow: 0 0 12px rgba(0,0,0,.6); + -moz-box-shadow: 0 0 12px rgba(0,0,0,.6); + box-shadow: 0 0 12px rgba(0,0,0,.6); +} + +/* Icons +-----------------------------------------------------------------------------------------------------------*/ + +.ui-btn-icon-left:after, +.ui-btn-icon-right:after, +.ui-btn-icon-top:after, +.ui-btn-icon-bottom:after, +.ui-btn-icon-notext:after, +html .ui-btn.ui-checkbox-off:after, +html .ui-btn.ui-radio-off:after { + background-color: #666 /*{global-icon-color}*/; + background-color: rgba(0,0,0,.3) /*{global-icon-disc}*/; + background-position: center center; + background-repeat: no-repeat; + -webkit-border-radius: 1em; + border-radius: 1em; +} + +/* Alt icons */ +.ui-alt-icon.ui-btn:after, +.ui-alt-icon .ui-btn:after, +html .ui-alt-icon.ui-checkbox-off:after, +html .ui-alt-icon.ui-radio-off:after, +html .ui-alt-icon .ui-checkbox-off:after, +html .ui-alt-icon .ui-radio-off:after { + background-color: #666 /*{global-icon-color}*/; + background-color: rgba(0,0,0,.15); +} + +/* No disc */ +.ui-nodisc-icon.ui-btn:after, +.ui-nodisc-icon .ui-btn:after { + background-color: transparent; +} + +/* Icon shadow */ +.ui-shadow-icon.ui-btn:after, +.ui-shadow-icon .ui-btn:after { + -webkit-box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; + -moz-box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; + box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; +} + +/* Checkbox and radio */ +html .ui-btn.ui-checkbox-off:after, +html .ui-btn.ui-checkbox-on:after, +html .ui-btn.ui-radio-off:after, +html .ui-btn.ui-radio-on:after { + display: block; + width: 18px; + height: 18px; + margin: -9px 2px 0 2px; +} +.ui-btn.ui-checkbox-off:after, +.ui-btn.ui-radio-off:after { + background-image: none; + filter: Alpha(Opacity=30); + opacity: .3; +} +html .ui-btn.ui-checkbox-off:after, +html .ui-btn.ui-checkbox-on:after { + -webkit-border-radius: .1875em; + border-radius: .1875em; +} +.ui-radio .ui-btn.ui-radio-on:after { + background-image: none; + background-color: #fff; + width: 8px; + height: 8px; + border-width: 5px; + border-style: solid; +} +.ui-alt-icon.ui-btn.ui-radio-on:after, +.ui-alt-icon .ui-btn.ui-radio-on:after { + background-color: #000; +} + +/* Loader */ +.ui-icon-loading { + background: url("images/ajax-loader.gif"); + background-size: 2.875em 2.875em; +} + +/* Swatches */ + +/* A +-----------------------------------------------------------------------------------------------------------*/ + +/* Bar: Toolbars, dividers, slider track */ +.ui-bar-a, +.ui-page-theme-a .ui-bar-inherit, +html .ui-bar-a .ui-bar-inherit, +html .ui-body-a .ui-bar-inherit, +html body .ui-group-theme-a .ui-bar-inherit { + background: #111 /*{a-bar-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from( #3c3c3c /*{a-bar-background-start}*/), to( #111 /*{a-bar-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient( #3c3c3c /*{a-bar-background-start}*/, #111 /*{a-bar-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient( #3c3c3c /*{a-bar-background-start}*/, #111 /*{a-bar-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient( #3c3c3c /*{a-bar-background-start}*/, #111 /*{a-bar-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient( #3c3c3c /*{a-bar-background-start}*/, #111 /*{a-bar-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient( #3c3c3c /*{a-bar-background-start}*/, #111 /*{a-bar-background-end}*/); + border-color: #333 /*{a-bar-border}*/; + color: #fff /*{a-bar-color}*/; + text-shadow: 0 /*{a-bar-shadow-x}*/ -1px /*{a-bar-shadow-y}*/ 0 /*{a-bar-shadow-radius}*/ #000 /*{a-bar-shadow-color}*/; + font-weight: bold; +} +.ui-bar-a { + border-width: 1px; + border-style: solid; +} + +/* Page and overlay */ +.ui-overlay-a, +.ui-page-theme-a, +.ui-page-theme-a .ui-panel-wrapper { + background: #222 /*{a-page-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from( #444 /*{a-page-background-start}*/), to( #222 /*{a-page-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient( #444 /*{a-page-background-start}*/, #222 /*{a-page-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient( #444 /*{a-page-background-start}*/, #222 /*{a-page-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient( #444 /*{a-page-background-start}*/, #222 /*{a-page-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient( #444 /*{a-page-background-start}*/, #222 /*{a-page-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient( #444 /*{a-page-background-start}*/, #222 /*{a-page-background-end}*/); + border-color: #444 /*{a-page-border}*/; + color: #fff /*{a-page-color}*/; + text-shadow: 0 /*{a-page-shadow-x}*/ 1px /*{a-page-shadow-y}*/ 0 /*{a-page-shadow-radius}*/ #111 /*{a-page-shadow-color}*/; +} + +/* Body: Read-only lists, text inputs, collapsible content */ +.ui-body-a, +.ui-page-theme-a .ui-body-inherit, +html .ui-bar-a .ui-body-inherit, +html .ui-body-a .ui-body-inherit, +html body .ui-group-theme-a .ui-body-inherit, +html .ui-panel-page-container-a { + background: #222 /*{a-body-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from( #444 /*{a-body-background-start}*/), to( #222 /*{a-body-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient( #444 /*{a-body-background-start}*/, #222 /*{a-body-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient( #444 /*{a-body-background-start}*/, #222 /*{a-body-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient( #444 /*{a-body-background-start}*/, #222 /*{a-body-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient( #444 /*{a-body-background-start}*/, #222 /*{a-body-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient( #444 /*{a-body-background-start}*/, #222 /*{a-body-background-end}*/); + border-color: #444 /*{a-body-border}*/; + color: #fff /*{a-body-color}*/; + text-shadow: 0 /*{a-body-shadow-x}*/ 1px /*{a-body-shadow-y}*/ 0 /*{a-body-shadow-radius}*/ #111 /*{a-body-shadow-color}*/; +} +.ui-body-a { + border-width: 1px; + border-style: solid; +} + +/* Links */ +.ui-page-theme-a a, +html .ui-bar-a a, +html .ui-body-a a, +html body .ui-group-theme-a a { + color: #2489ce /*{a-link-color}*/; + font-weight: bold; +} +.ui-page-theme-a a:visited, +html .ui-bar-a a:visited, +html .ui-body-a a:visited, +html body .ui-group-theme-a a:visited { + color: #2489ce /*{a-link-visited}*/; +} +.ui-page-theme-a a:hover, +html .ui-bar-a a:hover, +html .ui-body-a a:hover, +html body .ui-group-theme-a a:hover { + color: #2489ce /*{a-link-hover}*/; +} +.ui-page-theme-a a:active, +html .ui-bar-a a:active, +html .ui-body-a a:active, +html body .ui-group-theme-a a:active { + color: #2489ce /*{a-link-active}*/; +} + +/* Button up */ +.ui-page-theme-a .ui-btn, +html .ui-bar-a .ui-btn, +html .ui-body-a .ui-btn, +html body .ui-group-theme-a .ui-btn, +html head + body .ui-btn.ui-btn-a, +/* Button visited */ +.ui-page-theme-a .ui-btn:visited, +html .ui-bar-a .ui-btn:visited, +html .ui-body-a .ui-btn:visited, +html body .ui-group-theme-a .ui-btn:visited, +html head + body .ui-btn.ui-btn-a:visited { + background: #333 /*{a-bup-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from( #444 /*{a-bup-background-start}*/), to( #2d2d2d /*{a-bup-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient( #444 /*{a-bup-background-start}*/, #2d2d2d /*{a-bup-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient( #444 /*{a-bup-background-start}*/, #2d2d2d /*{a-bup-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient( #444 /*{a-bup-background-start}*/, #2d2d2d /*{a-bup-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient( #444 /*{a-bup-background-start}*/, #2d2d2d /*{a-bup-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient( #444 /*{a-bup-background-start}*/, #2d2d2d /*{a-bup-background-end}*/); + border-color: #111 /*{a-bup-border}*/; + color: #fff /*{a-bup-color}*/; + text-shadow: 0 /*{a-bup-shadow-x}*/ 1px /*{a-bup-shadow-y}*/ 0 /*{a-bup-shadow-radius}*/ #111 /*{a-bup-shadow-color}*/; +} +/* Button hover */ +.ui-page-theme-a .ui-btn:hover, +html .ui-bar-a .ui-btn:hover, +html .ui-body-a .ui-btn:hover, +html body .ui-group-theme-a .ui-btn:hover, +html head + body .ui-btn.ui-btn-a:hover { + background: #444 /*{a-bhover-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from( #555 /*{a-bhover-background-start}*/), to( #383838 /*{a-bhover-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient( #555 /*{a-bhover-background-start}*/, #383838 /*{a-bhover-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient( #555 /*{a-bhover-background-start}*/, #383838 /*{a-bhover-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient( #555 /*{a-bhover-background-start}*/, #383838 /*{a-bhover-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient( #555 /*{a-bhover-background-start}*/, #383838 /*{a-bhover-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient( #555 /*{a-bhover-background-start}*/, #383838 /*{a-bhover-background-end}*/); + border-color: #000 /*{a-bhover-border}*/; + color: #fff /*{a-bhover-color}*/; + text-shadow: 0 /*{a-bhover-shadow-x}*/ 1px /*{a-bhover-shadow-y}*/ 0 /*{a-bhover-shadow-radius}*/ #111 /*{a-bhover-shadow-color}*/; +} +/* Button down */ +.ui-page-theme-a .ui-btn:active, +html .ui-bar-a .ui-btn:active, +html .ui-body-a .ui-btn:active, +html body .ui-group-theme-a .ui-btn:active, +html head + body .ui-btn.ui-btn-a:active { + background: #222 /*{a-bdown-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from( #202020 /*{a-bdown-background-start}*/), to( #2c2c2c /*{a-bdown-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient( #202020 /*{a-bdown-background-start}*/, #2c2c2c /*{a-bdown-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient( #202020 /*{a-bdown-background-start}*/, #2c2c2c /*{a-bdown-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient( #202020 /*{a-bdown-background-start}*/, #2c2c2c /*{a-bdown-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient( #202020 /*{a-bdown-background-start}*/, #2c2c2c /*{a-bdown-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient( #202020 /*{a-bdown-background-start}*/, #2c2c2c /*{a-bdown-background-end}*/); + border-color: #000 /*{a-bdown-border}*/; + color: #fff /*{a-bdown-color}*/; + text-shadow: 0 /*{a-bdown-shadow-x}*/ 1px /*{a-bdown-shadow-y}*/ 0 /*{a-bdown-shadow-radius}*/ #111 /*{a-bdown-shadow-color}*/; +} + +/* Active button */ +.ui-page-theme-a .ui-btn.ui-btn-active, +html .ui-bar-a .ui-btn.ui-btn-active, +html .ui-body-a .ui-btn.ui-btn-active, +html body .ui-group-theme-a .ui-btn.ui-btn-active, +html head + body .ui-btn.ui-btn-a.ui-btn-active, +/* Active checkbox icon */ +.ui-page-theme-a .ui-checkbox-on:after, +html .ui-bar-a .ui-checkbox-on:after, +html .ui-body-a .ui-checkbox-on:after, +html body .ui-group-theme-a .ui-checkbox-on:after, +.ui-btn.ui-checkbox-on.ui-btn-a:after, +/* Active flipswitch background */ +.ui-page-theme-a .ui-flipswitch-active, +html .ui-bar-a .ui-flipswitch-active, +html .ui-body-a .ui-flipswitch-active, +html body .ui-group-theme-a .ui-flipswitch-active, +html body .ui-flipswitch.ui-bar-a.ui-flipswitch-active, +/* Active slider track */ +.ui-page-theme-a .ui-slider-track .ui-btn-active, +html .ui-bar-a .ui-slider-track .ui-btn-active, +html .ui-body-a .ui-slider-track .ui-btn-active, +html body .ui-group-theme-a .ui-slider-track .ui-btn-active, +html body div.ui-slider-track.ui-body-a .ui-btn-active { + background-color: #5393c5 /*{a-active-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from( #5393c5 /*{a-active-background-start}*/), to( #6facd5 /*{a-active-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient( #5393c5 /*{a-active-background-start}*/, #6facd5 /*{a-active-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient( #5393c5 /*{a-active-background-start}*/, #6facd5 /*{a-active-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient( #5393c5 /*{a-active-background-start}*/, #6facd5 /*{a-active-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient( #5393c5 /*{a-active-background-start}*/, #6facd5 /*{a-active-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient( #5393c5 /*{a-active-background-start}*/, #6facd5 /*{a-active-background-end}*/); + border-color: #2373a5 /*{a-active-border}*/; + color: #fff /*{a-active-color}*/; + text-shadow: 0 /*{a-active-shadow-x}*/ 1px /*{a-active-shadow-y}*/ 0 /*{a-active-shadow-radius}*/ #3373a5 /*{a-active-shadow-color}*/; +} +/* Active radio button icon */ +.ui-page-theme-a .ui-radio-on:after, +html .ui-bar-a .ui-radio-on:after, +html .ui-body-a .ui-radio-on:after, +html body .ui-group-theme-a .ui-radio-on:after, +.ui-btn.ui-radio-on.ui-btn-a:after { + border-color: #5393c5 /*{a-active-background-color}*/; +} + +/* Focus */ +.ui-page-theme-a .ui-btn:focus, +html .ui-bar-a .ui-btn:focus, +html .ui-body-a .ui-btn:focus, +html body .ui-group-theme-a .ui-btn:focus, +html head + body .ui-btn.ui-btn-a:focus, +/* Focus buttons and text inputs with div wrap */ +.ui-page-theme-a .ui-focus, +html .ui-bar-a .ui-focus, +html .ui-body-a .ui-focus, +html body .ui-group-theme-a .ui-focus, +html head + body .ui-btn-a.ui-focus, +html head + body .ui-body-a.ui-focus { + -webkit-box-shadow: 0 0 12px #387bbe /*{a-active-background-color}*/; + -moz-box-shadow: 0 0 12px #387bbe /*{a-active-background-color}*/; + box-shadow: 0 0 12px #387bbe /*{a-active-background-color}*/; +} + +/* B +-----------------------------------------------------------------------------------------------------------*/ + +/* Bar: Toolbars, dividers, slider track */ +.ui-bar-b, +.ui-page-theme-b .ui-bar-inherit, +html .ui-bar-b .ui-bar-inherit, +html .ui-body-b .ui-bar-inherit, +html body .ui-group-theme-b .ui-bar-inherit { + background: #5e87b0 /*{b-bar-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from( #6facd5 /*{b-bar-background-start}*/), to( #497bae /*{b-bar-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient( #6facd5 /*{b-bar-background-start}*/, #497bae /*{b-bar-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient( #6facd5 /*{b-bar-background-start}*/, #497bae /*{b-bar-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient( #6facd5 /*{b-bar-background-start}*/, #497bae /*{b-bar-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient( #6facd5 /*{b-bar-background-start}*/, #497bae /*{b-bar-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient( #6facd5 /*{b-bar-background-start}*/, #497bae /*{b-bar-background-end}*/); + border-color: #456f9a /*{b-bar-border}*/; + color: #fff /*{b-bar-color}*/; + text-shadow: 0 /*{b-bar-shadow-x}*/ 1px /*{b-bar-shadow-y}*/ 0 /*{b-bar-shadow-radius}*/ #3e6790 /*{b-bar-shadow-color}*/; + font-weight: bold; +} +.ui-bar-b { + border-width: 1px; + border-style: solid; +} + +/* Page and overlay */ +.ui-overlay-b, +.ui-page-theme-b, +.ui-page-theme-b .ui-panel-wrapper { + background: #f3f3f3 /*{b-page-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from( #ddd /*{b-page-background-start}*/), to( #ccc /*{b-page-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient( #ddd /*{b-page-background-start}*/, #ccc /*{b-page-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient( #ddd /*{b-page-background-start}*/, #ccc /*{b-page-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient( #ddd /*{b-page-background-start}*/, #ccc /*{b-page-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient( #ddd /*{b-page-background-start}*/, #ccc /*{b-page-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient( #ddd /*{b-page-background-start}*/, #ccc /*{b-page-background-end}*/); + border-color: #999 /*{b-page-border}*/; + color: #222 /*{b-page-color}*/; + text-shadow: 0 /*{b-page-shadow-x}*/ 1px /*{b-page-shadow-y}*/ 0 /*{b-page-shadow-radius}*/ #fff /*{b-page-shadow-color}*/; +} + +/* Body: Read-only lists, text inputs, collapsible content */ +.ui-body-b, +.ui-page-theme-b .ui-body-inherit, +html .ui-bar-b .ui-body-inherit, +html .ui-body-b .ui-body-inherit, +html body .ui-group-theme-b .ui-body-inherit, +html .ui-panel-page-container-b { + background: #f3f3f3 /*{b-body-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from( #ddd /*{b-body-background-start}*/), to( #ccc /*{b-body-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient( #ddd /*{b-body-background-start}*/, #ccc /*{b-body-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient( #ddd /*{b-body-background-start}*/, #ccc /*{b-body-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient( #ddd /*{b-body-background-start}*/, #ccc /*{b-body-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient( #ddd /*{b-body-background-start}*/, #ccc /*{b-body-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient( #ddd /*{b-body-background-start}*/, #ccc /*{b-body-background-end}*/); + border-color: #999 /*{b-body-border}*/; + color: #222 /*{b-body-color}*/; + text-shadow: 0 /*{b-body-shadow-x}*/ 1px /*{b-body-shadow-y}*/ 0 /*{b-body-shadow-radius}*/ #fff /*{b-body-shadow-color}*/; +} +.ui-body-b { + border-width: 1px; + border-style: solid; +} + +/* Links */ +.ui-page-theme-b a, +html .ui-bar-b a, +html .ui-body-b a, +html body .ui-group-theme-b a { + color: #2489ce /*{b-link-color}*/; + font-weight: bold; +} +.ui-page-theme-b a:visited, +html .ui-bar-b a:visited, +html .ui-body-b a:visited, +html body .ui-group-theme-b a:visited { + color: #2489ce /*{b-link-visited}*/; +} +.ui-page-theme-b a:hover, +html .ui-bar-b a:hover, +html .ui-body-b a:hover, +html body .ui-group-theme-b a:hover { + color: #2489ce /*{b-link-hover}*/; +} +.ui-page-theme-b a:active, +html .ui-bar-b a:active, +html .ui-body-b a:active, +html body .ui-group-theme-b a:active { + color: #2489ce /*{b-link-active}*/; +} + +/* Button up */ +.ui-page-theme-b .ui-btn, +html .ui-bar-b .ui-btn, +html .ui-body-b .ui-btn, +html body .ui-group-theme-b .ui-btn, +html head + body .ui-btn.ui-btn-b, +/* Button visited */ +.ui-page-theme-b .ui-btn:visited, +html .ui-bar-b .ui-btn:visited, +html .ui-body-b .ui-btn:visited, +html body .ui-group-theme-b .ui-btn:visited, +html head + body .ui-btn.ui-btn-b:visited { + background: #396b9e /*{b-bup-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from( #5f9cc5 /*{b-bup-background-start}*/), to( #396b9e /*{b-bup-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient( #5f9cc5 /*{b-bup-background-start}*/, #396b9e /*{b-bup-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient( #5f9cc5 /*{b-bup-background-start}*/, #396b9e /*{b-bup-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient( #5f9cc5 /*{b-bup-background-start}*/, #396b9e /*{b-bup-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient( #5f9cc5 /*{b-bup-background-start}*/, #396b9e /*{b-bup-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient( #5f9cc5 /*{b-bup-background-start}*/, #396b9e /*{b-bup-background-end}*/); + border-color: #044062 /*{b-bup-border}*/; + color: #fff /*{b-bup-color}*/; + text-shadow: 0 /*{b-bup-shadow-x}*/ 1px /*{b-bup-shadow-y}*/ 0 /*{b-bup-shadow-radius}*/ #194b7e /*{b-bup-shadow-color}*/; +} +/* Button hover */ +.ui-page-theme-b .ui-btn:hover, +html .ui-bar-b .ui-btn:hover, +html .ui-body-b .ui-btn:hover, +html body .ui-group-theme-b .ui-btn:hover, +html head + body .ui-btn.ui-btn-b:hover { + background: #4b88b6 /*{b-bhover-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from( #6facd5 /*{b-bhover-background-start}*/), to( #4272a4 /*{b-bhover-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient( #6facd5 /*{b-bhover-background-start}*/, #4272a4 /*{b-bhover-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient( #6facd5 /*{b-bhover-background-start}*/, #4272a4 /*{b-bhover-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient( #6facd5 /*{b-bhover-background-start}*/, #4272a4 /*{b-bhover-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient( #6facd5 /*{b-bhover-background-start}*/, #4272a4 /*{b-bhover-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient( #6facd5 /*{b-bhover-background-start}*/, #4272a4 /*{b-bhover-background-end}*/); + border-color: #00415e /*{b-bhover-border}*/; + color: #fff /*{b-bhover-color}*/; + text-shadow: 0 /*{b-bhover-shadow-x}*/ 1px /*{b-bhover-shadow-y}*/ 0 /*{b-bhover-shadow-radius}*/ #194b7e /*{b-bhover-shadow-color}*/; +} +/* Button down */ +.ui-page-theme-b .ui-btn:active, +html .ui-bar-b .ui-btn:active, +html .ui-body-b .ui-btn:active, +html body .ui-group-theme-b .ui-btn:active, +html head + body .ui-btn.ui-btn-b:active { + background: #4e89c5 /*{b-bdown-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from( #295b8e /*{b-bdown-background-start}*/), to( #3e79b5 /*{b-bdown-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient( #295b8e /*{b-bdown-background-start}*/, #3e79b5 /*{b-bdown-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient( #295b8e /*{b-bdown-background-start}*/, #3e79b5 /*{b-bdown-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient( #295b8e /*{b-bdown-background-start}*/, #3e79b5 /*{b-bdown-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient( #295b8e /*{b-bdown-background-start}*/, #3e79b5 /*{b-bdown-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient( #295b8e /*{b-bdown-background-start}*/, #3e79b5 /*{b-bdown-background-end}*/); + border-color: #225377 /*{b-bdown-border}*/; + color: #fff /*{b-bdown-color}*/; + text-shadow: 0 /*{b-bdown-shadow-x}*/ 1px /*{b-bdown-shadow-y}*/ 0 /*{b-bdown-shadow-radius}*/ #194b7e /*{b-bdown-shadow-color}*/; +} + +/* Active button */ +.ui-page-theme-b .ui-btn.ui-btn-active, +html .ui-bar-b .ui-btn.ui-btn-active, +html .ui-body-b .ui-btn.ui-btn-active, +html body .ui-group-theme-b .ui-btn.ui-btn-active, +html head + body .ui-btn.ui-btn-b.ui-btn-active, +/* Active checkbox icon */ +.ui-page-theme-b .ui-checkbox-on:after, +html .ui-bar-b .ui-checkbox-on:after, +html .ui-body-b .ui-checkbox-on:after, +html body .ui-group-theme-b .ui-checkbox-on:after, +.ui-btn.ui-checkbox-on.ui-btn-b:after, +/* Active flipswitch background */ +.ui-page-theme-b .ui-flipswitch-active, +html .ui-bar-b .ui-flipswitch-active, +html .ui-body-b .ui-flipswitch-active, +html body .ui-group-theme-b .ui-flipswitch-active, +html body .ui-flipswitch.ui-bar-b.ui-flipswitch-active, +/* Active slider track */ +.ui-page-theme-b .ui-slider-track .ui-btn-active, +html .ui-bar-b .ui-slider-track .ui-btn-active, +html .ui-body-b .ui-slider-track .ui-btn-active, +html body .ui-group-theme-b .ui-slider-track .ui-btn-active, +html body div.ui-slider-track.ui-body-b .ui-btn-active { + background-color: #5393c5 /*{b-active-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from( #5393c5 /*{b-active-background-start}*/), to( #6facd5 /*{b-active-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient( #5393c5 /*{b-active-background-start}*/, #6facd5 /*{b-active-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient( #5393c5 /*{b-active-background-start}*/, #6facd5 /*{b-active-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient( #5393c5 /*{b-active-background-start}*/, #6facd5 /*{b-active-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient( #5393c5 /*{b-active-background-start}*/, #6facd5 /*{b-active-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient( #5393c5 /*{b-active-background-start}*/, #6facd5 /*{b-active-background-end}*/); + border-color: #2373a5 /*{b-active-border}*/; + color: #fff /*{b-active-color}*/; + text-shadow: 0 /*{b-active-shadow-x}*/ 1px /*{b-active-shadow-y}*/ 0 /*{b-active-shadow-radius}*/ #3373a5 /*{b-active-shadow-color}*/; +} +/* Active radio button icon */ +.ui-page-theme-b .ui-radio-on:after, +html .ui-bar-b .ui-radio-on:after, +html .ui-body-b .ui-radio-on:after, +html body .ui-group-theme-b .ui-radio-on:after, +.ui-btn.ui-radio-on.ui-btn-b:after { + border-color: #5393c5 /*{b-active-background-color}*/; +} + +/* Focus */ +.ui-page-theme-b .ui-btn:focus, +html .ui-bar-b .ui-btn:focus, +html .ui-body-b .ui-btn:focus, +html body .ui-group-theme-b .ui-btn:focus, +html head + body .ui-btn.ui-btn-b:focus, +/* Focus buttons and text inputs with div wrap */ +.ui-page-theme-b .ui-focus, +html .ui-bar-b .ui-focus, +html .ui-body-b .ui-focus, +html body .ui-group-theme-b .ui-focus, +html head + body .ui-btn-b.ui-focus, +html head + body .ui-body-b.ui-focus { + -webkit-box-shadow: 0 0 12px #387bbe /*{b-active-background-color}*/; + -moz-box-shadow: 0 0 12px #387bbe /*{b-active-background-color}*/; + box-shadow: 0 0 12px #387bbe /*{b-active-background-color}*/; +} + +/* C +-----------------------------------------------------------------------------------------------------------*/ + +/* Bar: Toolbars, dividers, slider track */ +.ui-bar-c, +.ui-page-theme-c .ui-bar-inherit, +html .ui-bar-c .ui-bar-inherit, +html .ui-body-c .ui-bar-inherit, +html body .ui-group-theme-c .ui-bar-inherit { + background: #eee /*{c-bar-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from( #f0f0f0 /*{c-bar-background-start}*/), to( #ddd /*{c-bar-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient( #f0f0f0 /*{c-bar-background-start}*/, #ddd /*{c-bar-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient( #f0f0f0 /*{c-bar-background-start}*/, #ddd /*{c-bar-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient( #f0f0f0 /*{c-bar-background-start}*/, #ddd /*{c-bar-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient( #f0f0f0 /*{c-bar-background-start}*/, #ddd /*{c-bar-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient( #f0f0f0 /*{c-bar-background-start}*/, #ddd /*{c-bar-background-end}*/); + border-color: #b3b3b3 /*{c-bar-border}*/; + color: #3e3e3e /*{c-bar-color}*/; + text-shadow: 0 /*{c-bar-shadow-x}*/ 1px /*{c-bar-shadow-y}*/ 0 /*{c-bar-shadow-radius}*/ #fff /*{c-bar-shadow-color}*/; + font-weight: bold; +} +.ui-bar-c { + border-width: 1px; + border-style: solid; +} + +/* Page and overlay */ +.ui-overlay-c, +.ui-page-theme-c, +.ui-page-theme-c .ui-panel-wrapper { + background: #f9f9f9 /*{c-page-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from( #f9f9f9 /*{c-page-background-start}*/), to( #eee /*{c-page-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient( #f9f9f9 /*{c-page-background-start}*/, #eee /*{c-page-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient( #f9f9f9 /*{c-page-background-start}*/, #eee /*{c-page-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient( #f9f9f9 /*{c-page-background-start}*/, #eee /*{c-page-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient( #f9f9f9 /*{c-page-background-start}*/, #eee /*{c-page-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient( #f9f9f9 /*{c-page-background-start}*/, #eee /*{c-page-background-end}*/); + border-color: #aaa /*{c-page-border}*/; + color: #333 /*{c-page-color}*/; + text-shadow: 0 /*{c-page-shadow-x}*/ 1px /*{c-page-shadow-y}*/ 0 /*{c-page-shadow-radius}*/ #fff /*{c-page-shadow-color}*/; +} + +/* Body: Read-only lists, text inputs, collapsible content */ +.ui-body-c, +.ui-page-theme-c .ui-body-inherit, +html .ui-bar-c .ui-body-inherit, +html .ui-body-c .ui-body-inherit, +html body .ui-group-theme-c .ui-body-inherit, +html .ui-panel-page-container-c { + background: #f9f9f9 /*{c-body-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from( #f9f9f9 /*{c-body-background-start}*/), to( #eee /*{c-body-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient( #f9f9f9 /*{c-body-background-start}*/, #eee /*{c-body-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient( #f9f9f9 /*{c-body-background-start}*/, #eee /*{c-body-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient( #f9f9f9 /*{c-body-background-start}*/, #eee /*{c-body-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient( #f9f9f9 /*{c-body-background-start}*/, #eee /*{c-body-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient( #f9f9f9 /*{c-body-background-start}*/, #eee /*{c-body-background-end}*/); + border-color: #aaa /*{c-body-border}*/; + color: #333 /*{c-body-color}*/; + text-shadow: 0 /*{c-body-shadow-x}*/ 1px /*{c-body-shadow-y}*/ 0 /*{c-body-shadow-radius}*/ #fff /*{c-body-shadow-color}*/; +} +.ui-body-c { + border-width: 1px; + border-style: solid; +} + +/* Links */ +.ui-page-theme-c a, +html .ui-bar-c a, +html .ui-body-c a, +html body .ui-group-theme-c a { + color: #2489ce /*{c-link-color}*/; + font-weight: bold; +} +.ui-page-theme-c a:visited, +html .ui-bar-c a:visited, +html .ui-body-c a:visited, +html body .ui-group-theme-c a:visited { + color: #2489ce /*{c-link-visited}*/; +} +.ui-page-theme-c a:hover, +html .ui-bar-c a:hover, +html .ui-body-c a:hover, +html body .ui-group-theme-c a:hover { + color: #2489ce /*{c-link-hover}*/; +} +.ui-page-theme-c a:active, +html .ui-bar-c a:active, +html .ui-body-c a:active, +html body .ui-group-theme-c a:active { + color: #2489ce /*{c-link-active}*/; +} + +/* Button up */ +.ui-page-theme-c .ui-btn, +html .ui-bar-c .ui-btn, +html .ui-body-c .ui-btn, +html body .ui-group-theme-c .ui-btn, +html head + body .ui-btn.ui-btn-c, +/* Button visited */ +.ui-page-theme-c .ui-btn:visited, +html .ui-bar-c .ui-btn:visited, +html .ui-body-c .ui-btn:visited, +html body .ui-group-theme-c .ui-btn:visited, +html head + body .ui-btn.ui-btn-c:visited { + background: #eee /*{c-bup-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from( #fff /*{c-bup-background-start}*/), to( #f1f1f1 /*{c-bup-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient( #fff /*{c-bup-background-start}*/, #f1f1f1 /*{c-bup-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient( #fff /*{c-bup-background-start}*/, #f1f1f1 /*{c-bup-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient( #fff /*{c-bup-background-start}*/, #f1f1f1 /*{c-bup-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient( #fff /*{c-bup-background-start}*/, #f1f1f1 /*{c-bup-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient( #fff /*{c-bup-background-start}*/, #f1f1f1 /*{c-bup-background-end}*/); + border-color: #ccc /*{c-bup-border}*/; + color: #222 /*{c-bup-color}*/; + text-shadow: 0 /*{c-bup-shadow-x}*/ 1px /*{c-bup-shadow-y}*/ 0 /*{c-bup-shadow-radius}*/ #fff /*{c-bup-shadow-color}*/; +} +/* Button hover */ +.ui-page-theme-c .ui-btn:hover, +html .ui-bar-c .ui-btn:hover, +html .ui-body-c .ui-btn:hover, +html body .ui-group-theme-c .ui-btn:hover, +html head + body .ui-btn.ui-btn-c:hover { + background: #dfdfdf /*{c-bhover-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from( #f6f6f6 /*{c-bhover-background-start}*/), to( #e0e0e0 /*{c-bhover-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient( #f6f6f6 /*{c-bhover-background-start}*/, #e0e0e0 /*{c-bhover-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient( #f6f6f6 /*{c-bhover-background-start}*/, #e0e0e0 /*{c-bhover-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient( #f6f6f6 /*{c-bhover-background-start}*/, #e0e0e0 /*{c-bhover-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient( #f6f6f6 /*{c-bhover-background-start}*/, #e0e0e0 /*{c-bhover-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient( #f6f6f6 /*{c-bhover-background-start}*/, #e0e0e0 /*{c-bhover-background-end}*/); + border-color: #bbb /*{c-bhover-border}*/; + color: #222 /*{c-bhover-color}*/; + text-shadow: 0 /*{c-bhover-shadow-x}*/ 1px /*{c-bhover-shadow-y}*/ 0 /*{c-bhover-shadow-radius}*/ #fff /*{c-bhover-shadow-color}*/; +} +/* Button down */ +.ui-page-theme-c .ui-btn:active, +html .ui-bar-c .ui-btn:active, +html .ui-body-c .ui-btn:active, +html body .ui-group-theme-c .ui-btn:active, +html head + body .ui-btn.ui-btn-c:active { + background: #d6d6d6 /*{c-bdown-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from( #d0d0d0 /*{c-bdown-background-start}*/), to( #dfdfdf /*{c-bdown-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient( #d0d0d0 /*{c-bdown-background-start}*/, #dfdfdf /*{c-bdown-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient( #d0d0d0 /*{c-bdown-background-start}*/, #dfdfdf /*{c-bdown-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient( #d0d0d0 /*{c-bdown-background-start}*/, #dfdfdf /*{c-bdown-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient( #d0d0d0 /*{c-bdown-background-start}*/, #dfdfdf /*{c-bdown-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient( #d0d0d0 /*{c-bdown-background-start}*/, #dfdfdf /*{c-bdown-background-end}*/); + border-color: #bbb /*{c-bdown-border}*/; + color: #222 /*{c-bdown-color}*/; + text-shadow: 0 /*{c-bdown-shadow-x}*/ 1px /*{c-bdown-shadow-y}*/ 0 /*{c-bdown-shadow-radius}*/ #fff /*{c-bdown-shadow-color}*/; +} + +/* Active button */ +.ui-page-theme-c .ui-btn.ui-btn-active, +html .ui-bar-c .ui-btn.ui-btn-active, +html .ui-body-c .ui-btn.ui-btn-active, +html body .ui-group-theme-c .ui-btn.ui-btn-active, +html head + body .ui-btn.ui-btn-c.ui-btn-active, +/* Active checkbox icon */ +.ui-page-theme-c .ui-checkbox-on:after, +html .ui-bar-c .ui-checkbox-on:after, +html .ui-body-c .ui-checkbox-on:after, +html body .ui-group-theme-c .ui-checkbox-on:after, +.ui-btn.ui-checkbox-on.ui-btn-c:after, +/* Active flipswitch background */ +.ui-page-theme-c .ui-flipswitch-active, +html .ui-bar-c .ui-flipswitch-active, +html .ui-body-c .ui-flipswitch-active, +html body .ui-group-theme-c .ui-flipswitch-active, +html body .ui-flipswitch.ui-bar-c.ui-flipswitch-active, +/* Active slider track */ +.ui-page-theme-c .ui-slider-track .ui-btn-active, +html .ui-bar-c .ui-slider-track .ui-btn-active, +html .ui-body-c .ui-slider-track .ui-btn-active, +html body .ui-group-theme-c .ui-slider-track .ui-btn-active, +html body div.ui-slider-track.ui-body-c .ui-btn-active { + background-color: #5393c5 /*{c-active-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from( #5393c5 /*{c-active-background-start}*/), to( #6facd5 /*{c-active-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient( #5393c5 /*{c-active-background-start}*/, #6facd5 /*{c-active-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient( #5393c5 /*{c-active-background-start}*/, #6facd5 /*{c-active-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient( #5393c5 /*{c-active-background-start}*/, #6facd5 /*{c-active-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient( #5393c5 /*{c-active-background-start}*/, #6facd5 /*{c-active-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient( #5393c5 /*{c-active-background-start}*/, #6facd5 /*{c-active-background-end}*/); + border-color: #2373a5 /*{c-active-border}*/; + color: #fff /*{c-active-color}*/; + text-shadow: 0 /*{c-active-shadow-x}*/ 1px /*{c-active-shadow-y}*/ 0 /*{c-active-shadow-radius}*/ #3373a5 /*{c-active-shadow-color}*/; +} +/* Active radio button icon */ +.ui-page-theme-c .ui-radio-on:after, +html .ui-bar-c .ui-radio-on:after, +html .ui-body-c .ui-radio-on:after, +html body .ui-group-theme-c .ui-radio-on:after, +.ui-btn.ui-radio-on.ui-btn-c:after { + border-color: #5393c5 /*{c-active-background-color}*/; +} + +/* Focus */ +.ui-page-theme-c .ui-btn:focus, +html .ui-bar-c .ui-btn:focus, +html .ui-body-c .ui-btn:focus, +html body .ui-group-theme-c .ui-btn:focus, +html head + body .ui-btn.ui-btn-c:focus, +/* Focus buttons and text inputs with div wrap */ +.ui-page-theme-c .ui-focus, +html .ui-bar-c .ui-focus, +html .ui-body-c .ui-focus, +html body .ui-group-theme-c .ui-focus, +html head + body .ui-btn-c.ui-focus, +html head + body .ui-body-c.ui-focus { + -webkit-box-shadow: 0 0 12px #387bbe /*{c-active-background-color}*/; + -moz-box-shadow: 0 0 12px #387bbe /*{c-active-background-color}*/; + box-shadow: 0 0 12px #387bbe /*{c-active-background-color}*/; +} + +/* D +-----------------------------------------------------------------------------------------------------------*/ + +/* Bar: Toolbars, dividers, slider track */ +.ui-bar-d, +.ui-page-theme-d .ui-bar-inherit, +html .ui-bar-d .ui-bar-inherit, +html .ui-body-d .ui-bar-inherit, +html body .ui-group-theme-d .ui-bar-inherit { + background: #bbb /*{d-bar-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from( #ddd /*{d-bar-background-start}*/), to( #bbb /*{d-bar-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient( #ddd /*{d-bar-background-start}*/, #bbb /*{d-bar-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient( #ddd /*{d-bar-background-start}*/, #bbb /*{d-bar-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient( #ddd /*{d-bar-background-start}*/, #bbb /*{d-bar-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient( #ddd /*{d-bar-background-start}*/, #bbb /*{d-bar-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient( #ddd /*{d-bar-background-start}*/, #bbb /*{d-bar-background-end}*/); + border-color: #bbb /*{d-bar-border}*/; + color: #333 /*{d-bar-color}*/; + text-shadow: 0 /*{d-bar-shadow-x}*/ 1px /*{d-bar-shadow-y}*/ 0 /*{d-bar-shadow-radius}*/ #eee /*{d-bar-shadow-color}*/; + font-weight: bold; +} +.ui-bar-d { + border-width: 1px; + border-style: solid; +} + +/* Page and overlay */ +.ui-overlay-d, +.ui-page-theme-d, +.ui-page-theme-d .ui-panel-wrapper { + background: #fff /*{d-page-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from( #fff /*{d-page-background-start}*/), to( #fff /*{d-body-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient( #fff /*{d-page-background-start}*/, #fff /*{d-page-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient( #fff /*{d-page-background-start}*/, #fff /*{d-page-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient( #fff /*{d-page-background-start}*/, #fff /*{d-page-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient( #fff /*{d-page-background-start}*/, #fff /*{d-page-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient( #fff /*{d-page-background-start}*/, #fff /*{d-page-background-end}*/); + border-color: #bbb /*{d-page-border}*/; + color: #333 /*{d-page-color}*/; + text-shadow: 0 /*{d-page-shadow-x}*/ 1px /*{d-page-shadow-y}*/ 0 /*{d-page-shadow-radius}*/ #fff /*{d-page-shadow-color}*/; +} + +/* Body: Read-only lists, text inputs, collapsible content */ +.ui-body-d, +.ui-page-theme-d .ui-body-inherit, +html .ui-bar-d .ui-body-inherit, +html .ui-body-d .ui-body-inherit, +html body .ui-group-theme-d .ui-body-inherit, +html .ui-panel-page-container-d { + background: #fff /*{d-body-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from( #fff /*{d-body-background-start}*/), to( #fff /*{d-body-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient( #fff /*{d-body-background-start}*/, #fff /*{d-body-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient( #fff /*{d-body-background-start}*/, #fff /*{d-body-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient( #fff /*{d-body-background-start}*/, #fff /*{d-body-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient( #fff /*{d-body-background-start}*/, #fff /*{d-body-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient( #fff /*{d-body-background-start}*/, #fff /*{d-body-background-end}*/); + border-color: #bbb /*{d-body-border}*/; + color: #333 /*{d-body-color}*/; + text-shadow: 0 /*{d-body-shadow-x}*/ 1px /*{d-body-shadow-y}*/ 0 /*{d-body-shadow-radius}*/ #fff /*{d-body-shadow-color}*/; +} +.ui-body-d { + border-width: 1px; + border-style: solid; +} + +/* Links */ +.ui-page-theme-d a, +html .ui-bar-d a, +html .ui-body-d a, +html body .ui-group-theme-d a { + color: #2489ce /*{d-link-color}*/; + font-weight: bold; +} +.ui-page-theme-d a:visited, +html .ui-bar-d a:visited, +html .ui-body-d a:visited, +html body .ui-group-theme-d a:visited { + color: #2489ce /*{d-link-visited}*/; +} +.ui-page-theme-d a:hover, +html .ui-bar-d a:hover, +html .ui-body-d a:hover, +html body .ui-group-theme-d a:hover { + color: #2489ce /*{d-link-hover}*/; +} +.ui-page-theme-d a:active, +html .ui-bar-d a:active, +html .ui-body-d a:active, +html body .ui-group-theme-d a:active { + color: #2489ce /*{d-link-active}*/; +} + +/* Button up */ +.ui-page-theme-d .ui-btn, +html .ui-bar-d .ui-btn, +html .ui-body-d .ui-btn, +html body .ui-group-theme-d .ui-btn, +html head + body .ui-btn.ui-btn-d, +/* Button visited */ +.ui-page-theme-d .ui-btn:visited, +html .ui-bar-d .ui-btn:visited, +html .ui-body-d .ui-btn:visited, +html body .ui-group-theme-d .ui-btn:visited, +html head + body .ui-btn.ui-btn-d:visited { + background: #fff /*{d-bup-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from( #fafafa /*{d-bup-background-start}*/), to( #f6f6f6 /*{d-bup-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient( #fafafa /*{d-bup-background-start}*/, #f6f6f6 /*{d-bup-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient( #fafafa /*{d-bup-background-start}*/, #f6f6f6 /*{d-bup-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient( #fafafa /*{d-bup-background-start}*/, #f6f6f6 /*{d-bup-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient( #fafafa /*{d-bup-background-start}*/, #f6f6f6 /*{d-bup-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient( #fafafa /*{d-bup-background-start}*/, #f6f6f6 /*{d-bup-background-end}*/); + border-color: #bbb /*{d-bup-border}*/; + color: #333 /*{d-bup-color}*/; + text-shadow: 0 /*{d-bup-shadow-x}*/ 1px /*{d-bup-shadow-y}*/ 0 /*{d-bup-shadow-radius}*/ #fff /*{d-bup-shadow-color}*/; +} +/* Button hover */ +.ui-page-theme-d .ui-btn:hover, +html .ui-bar-d .ui-btn:hover, +html .ui-body-d .ui-btn:hover, +html body .ui-group-theme-d .ui-btn:hover, +html head + body .ui-btn.ui-btn-d:hover { + background: #eee /*{d-bhover-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from( #eee /*{d-bhover-background-start}*/), to( #fff /*{d-bhover-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient( #eee /*{d-bhover-background-start}*/, #fff /*{d-bhover-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient( #eee /*{d-bhover-background-start}*/, #fff /*{d-bhover-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient( #eee /*{d-bhover-background-start}*/, #fff /*{d-bhover-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient( #eee /*{d-bhover-background-start}*/, #fff /*{d-bhover-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient( #eee /*{d-bhover-background-start}*/, #fff /*{d-bhover-background-end}*/); + border-color: #aaa /*{d-bhover-border}*/; + color: #333 /*{d-bhover-color}*/; + text-shadow: 0 /*{d-bhover-shadow-x}*/ 1px /*{d-bhover-shadow-y}*/ 0 /*{d-bhover-shadow-radius}*/ #fff /*{d-bhover-shadow-color}*/; +} +/* Button down */ +.ui-page-theme-d .ui-btn:active, +html .ui-bar-d .ui-btn:active, +html .ui-body-d .ui-btn:active, +html body .ui-group-theme-d .ui-btn:active, +html head + body .ui-btn.ui-btn-d:active { + background: #eee /*{d-bdown-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from( #e5e5e5 /*{d-bdown-background-start}*/), to( #f2f2f2 /*{d-bdown-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient( #e5e5e5 /*{d-bdown-background-start}*/, #f2f2f2 /*{d-bdown-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient( #e5e5e5 /*{d-bdown-background-start}*/, #f2f2f2 /*{d-bdown-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient( #e5e5e5 /*{d-bdown-background-start}*/, #f2f2f2 /*{d-bdown-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient( #e5e5e5 /*{d-bdown-background-start}*/, #f2f2f2 /*{d-bdown-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient( #e5e5e5 /*{d-bdown-background-start}*/, #f2f2f2 /*{d-bdown-background-end}*/); + border-color: #aaa /*{d-bdown-border}*/; + color: #333 /*{d-bdown-color}*/; + text-shadow: 0 /*{d-bdown-shadow-x}*/ 1px /*{d-bdown-shadow-y}*/ 0 /*{d-bdown-shadow-radius}*/ #fff /*{d-bdown-shadow-color}*/; +} + +/* Active button */ +.ui-page-theme-d .ui-btn.ui-btn-active, +html .ui-bar-d .ui-btn.ui-btn-active, +html .ui-body-d .ui-btn.ui-btn-active, +html body .ui-group-theme-d .ui-btn.ui-btn-active, +html head + body .ui-btn.ui-btn-d.ui-btn-active, +/* Active checkbox icon */ +.ui-page-theme-d .ui-checkbox-on:after, +html .ui-bar-d .ui-checkbox-on:after, +html .ui-body-d .ui-checkbox-on:after, +html body .ui-group-theme-d .ui-checkbox-on:after, +.ui-btn.ui-checkbox-on.ui-btn-d:after, +/* Active flipswitch background */ +.ui-page-theme-d .ui-flipswitch-active, +html .ui-bar-d .ui-flipswitch-active, +html .ui-body-d .ui-flipswitch-active, +html body .ui-group-theme-d .ui-flipswitch-active, +html body .ui-flipswitch.ui-bar-d.ui-flipswitch-active, +/* Active slider track */ +.ui-page-theme-d .ui-slider-track .ui-btn-active, +html .ui-bar-d .ui-slider-track .ui-btn-active, +html .ui-body-d .ui-slider-track .ui-btn-active, +html body .ui-group-theme-d .ui-slider-track .ui-btn-active, +html body div.ui-slider-track.ui-body-d .ui-btn-active { + background-color: #5393c5 /*{d-active-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from( #5393c5 /*{d-active-background-start}*/), to( #6facd5 /*{d-active-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient( #5393c5 /*{d-active-background-start}*/, #6facd5 /*{d-active-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient( #5393c5 /*{d-active-background-start}*/, #6facd5 /*{d-active-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient( #5393c5 /*{d-active-background-start}*/, #6facd5 /*{d-active-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient( #5393c5 /*{d-active-background-start}*/, #6facd5 /*{d-active-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient( #5393c5 /*{d-active-background-start}*/, #6facd5 /*{d-active-background-end}*/); + border-color: #2373a5 /*{d-active-border}*/; + color: #fff /*{d-active-color}*/; + text-shadow: 0 /*{d-active-shadow-x}*/ 1px /*{d-active-shadow-y}*/ 0 /*{d-active-shadow-radius}*/ #3373a5 /*{d-active-shadow-color}*/; +} +/* Active radio button icon */ +.ui-page-theme-d .ui-radio-on:after, +html .ui-bar-d .ui-radio-on:after, +html .ui-body-d .ui-radio-on:after, +html body .ui-group-theme-d .ui-radio-on:after, +.ui-btn.ui-radio-on.ui-btn-d:after { + border-color: #5393c5 /*{d-active-background-color}*/; +} + +/* Focus */ +.ui-page-theme-d .ui-btn:focus, +html .ui-bar-d .ui-btn:focus, +html .ui-body-d .ui-btn:focus, +html body .ui-group-theme-d .ui-btn:focus, +html head + body .ui-btn.ui-btn-d:focus, +/* Focus buttons and text inputs with div wrap */ +.ui-page-theme-d .ui-focus, +html .ui-bar-d .ui-focus, +html .ui-body-d .ui-focus, +html body .ui-group-theme-d .ui-focus, +html head + body .ui-btn-d.ui-focus, +html head + body .ui-body-d.ui-focus { + -webkit-box-shadow: 0 0 12px #387bbe /*{d-active-background-color}*/; + -moz-box-shadow: 0 0 12px #387bbe /*{d-active-background-color}*/; + box-shadow: 0 0 12px #387bbe /*{d-active-background-color}*/; +} + +/* E +-----------------------------------------------------------------------------------------------------------*/ + +/* Bar: Toolbars, dividers, slider track */ +.ui-bar-e, +.ui-page-theme-e .ui-bar-inherit, +html .ui-bar-e .ui-bar-inherit, +html .ui-body-e .ui-bar-inherit, +html body .ui-group-theme-e .ui-bar-inherit { + background: #fadb4e /*{e-bar-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from( #fceda7 /*{e-bar-background-start}*/), to( #fbef7e /*{e-bar-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient( #fceda7 /*{e-bar-background-start}*/, #fbef7e /*{e-bar-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient( #fceda7 /*{e-bar-background-start}*/, #fbef7e /*{e-bar-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient( #fceda7 /*{e-bar-background-start}*/, #fbef7e /*{e-bar-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient( #fceda7 /*{e-bar-background-start}*/, #fbef7e /*{e-bar-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient( #fceda7 /*{e-bar-background-start}*/, #fbef7e /*{e-bar-background-end}*/); + border-color: #f7c942 /*{e-bar-border}*/; + color: #333 /*{e-bar-color}*/; + text-shadow: 0 /*{e-bar-shadow-x}*/ 1px /*{e-bar-shadow-y}*/ 0 /*{e-bar-shadow-radius}*/ #fff /*{e-bar-shadow-color}*/; + font-weight: bold; +} +.ui-bar-e { + border-width: 1px; + border-style: solid; +} + +/* Page and overlay */ +.ui-overlay-e, +.ui-page-theme-e, +.ui-page-theme-e .ui-panel-wrapper { + background: #fff9df /*{e-page-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from( #fffadf /*{e-page-background-start}*/), to( #fff3a5 /*{e-body-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient( #fffadf /*{e-page-background-start}*/, #fff3a5 /*{e-page-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient( #fffadf /*{e-page-background-start}*/, #fff3a5 /*{e-page-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient( #fffadf /*{e-page-background-start}*/, #fff3a5 /*{e-page-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient( #fffadf /*{e-page-background-start}*/, #fff3a5 /*{e-page-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient( #fffadf /*{e-page-background-start}*/, #fff3a5 /*{e-page-background-end}*/); + border-color: #f7c942 /*{e-page-border}*/; + color: #222 /*{e-page-color}*/; + text-shadow: 0 /*{e-page-shadow-x}*/ 1px /*{e-page-shadow-y}*/ 0 /*{e-page-shadow-radius}*/ #fff /*{e-page-shadow-color}*/; +} + +/* Body: Read-only lists, text inputs, collapsible content */ +.ui-body-e, +.ui-page-theme-e .ui-body-inherit, +html .ui-bar-e .ui-body-inherit, +html .ui-body-e .ui-body-inherit, +html body .ui-group-theme-e .ui-body-inherit, +html .ui-panel-page-container-e { + background: #fff9df /*{e-body-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from( #fffadf /*{e-body-background-start}*/), to( #fff3a5 /*{e-body-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient( #fffadf /*{e-body-background-start}*/, #fff3a5 /*{e-body-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient( #fffadf /*{e-body-background-start}*/, #fff3a5 /*{e-body-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient( #fffadf /*{e-body-background-start}*/, #fff3a5 /*{e-body-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient( #fffadf /*{e-body-background-start}*/, #fff3a5 /*{e-body-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient( #fffadf /*{e-body-background-start}*/, #fff3a5 /*{e-body-background-end}*/); + border-color: #f7c942 /*{e-body-border}*/; + color: #222 /*{e-body-color}*/; + text-shadow: 0 /*{e-body-shadow-x}*/ 1px /*{e-body-shadow-y}*/ 0 /*{e-body-shadow-radius}*/ #fff /*{e-body-shadow-color}*/; +} +.ui-body-e { + border-width: 1px; + border-style: solid; +} + +/* Links */ +.ui-page-theme-e a, +html .ui-bar-e a, +html .ui-body-e a, +html body .ui-group-theme-e a { + color: #2489ce /*{e-link-color}*/; + font-weight: bold; +} +.ui-page-theme-e a:visited, +html .ui-bar-e a:visited, +html .ui-body-e a:visited, +html body .ui-group-theme-e a:visited { + color: #2489ce /*{e-link-visited}*/; +} +.ui-page-theme-e a:hover, +html .ui-bar-e a:hover, +html .ui-body-e a:hover, +html body .ui-group-theme-e a:hover { + color: #2489ce /*{e-link-hover}*/; +} +.ui-page-theme-e a:active, +html .ui-bar-e a:active, +html .ui-body-e a:active, +html body .ui-group-theme-e a:active { + color: #2489ce /*{e-link-active}*/; +} + +/* Button up */ +.ui-page-theme-e .ui-btn, +html .ui-bar-e .ui-btn, +html .ui-body-e .ui-btn, +html body .ui-group-theme-e .ui-btn, +html head + body .ui-btn.ui-btn-e, +/* Button visited */ +.ui-page-theme-e .ui-btn:visited, +html .ui-bar-e .ui-btn:visited, +html .ui-body-e .ui-btn:visited, +html body .ui-group-theme-e .ui-btn:visited, +html head + body .ui-btn.ui-btn-e:visited { + background: #fadb4e /*{e-bup-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from( #ffefaa /*{e-bup-background-start}*/), to( #ffe155 /*{e-bup-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient( #ffefaa /*{e-bup-background-start}*/, #ffe155 /*{e-bup-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient( #ffefaa /*{e-bup-background-start}*/, #ffe155 /*{e-bup-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient( #ffefaa /*{e-bup-background-start}*/, #ffe155 /*{e-bup-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient( #ffefaa /*{e-bup-background-start}*/, #ffe155 /*{e-bup-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient( #ffefaa /*{e-bup-background-start}*/, #ffe155 /*{e-bup-background-end}*/); + border-color: #f4c63f /*{e-bup-border}*/; + color: #222 /*{e-bup-color}*/; + text-shadow: 0 /*{e-bup-shadow-x}*/ 1px /*{e-bup-shadow-y}*/ 0 /*{e-bup-shadow-radius}*/ #fff /*{e-bup-shadow-color}*/; +} +/* Button hover */ +.ui-page-theme-e .ui-btn:hover, +html .ui-bar-e .ui-btn:hover, +html .ui-body-e .ui-btn:hover, +html body .ui-group-theme-e .ui-btn:hover, +html head + body .ui-btn.ui-btn-e:hover { + background: #fbe26f /*{e-bhover-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from( #fff5ba /*{e-bhover-background-start}*/), to( #fbdd52 /*{e-bhover-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient( #fff5ba /*{e-bhover-background-start}*/, #fbdd52 /*{e-bhover-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient( #fff5ba /*{e-bhover-background-start}*/, #fbdd52 /*{e-bhover-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient( #fff5ba /*{e-bhover-background-start}*/, #fbdd52 /*{e-bhover-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient( #fff5ba /*{e-bhover-background-start}*/, #fbdd52 /*{e-bhover-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient( #fff5ba /*{e-bhover-background-start}*/, #fbdd52 /*{e-bhover-background-end}*/); + border-color: #f2c43d /*{e-bhover-border}*/; + color: #111 /*{e-bhover-color}*/; + text-shadow: 0 /*{e-bhover-shadow-x}*/ 1px /*{e-bhover-shadow-y}*/ 0 /*{e-bhover-shadow-radius}*/ #fff /*{e-bhover-shadow-color}*/; +} +/* Button down */ +.ui-page-theme-e .ui-btn:active, +html .ui-bar-e .ui-btn:active, +html .ui-body-e .ui-btn:active, +html body .ui-group-theme-e .ui-btn:active, +html head + body .ui-btn.ui-btn-e:active { + background: #fceda7 /*{e-bdown-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from( #f8d94c /*{e-bdown-background-start}*/), to( #fadb4e /*{e-bdown-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient( #f8d94c /*{e-bdown-background-start}*/, #fadb4e /*{e-bdown-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient( #f8d94c /*{e-bdown-background-start}*/, #fadb4e /*{e-bdown-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient( #f8d94c /*{e-bdown-background-start}*/, #fadb4e /*{e-bdown-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient( #f8d94c /*{e-bdown-background-start}*/, #fadb4e /*{e-bdown-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient( #f8d94c /*{e-bdown-background-start}*/, #fadb4e /*{e-bdown-background-end}*/); + border-color: #f2c43d /*{e-bdown-border}*/; + color: #111 /*{e-bdown-color}*/; + text-shadow: 0 /*{e-bdown-shadow-x}*/ 1px /*{e-bdown-shadow-y}*/ 0 /*{e-bdown-shadow-radius}*/ #fff /*{e-bdown-shadow-color}*/; +} + +/* Active button */ +.ui-page-theme-e .ui-btn.ui-btn-active, +html .ui-bar-e .ui-btn.ui-btn-active, +html .ui-body-e .ui-btn.ui-btn-active, +html body .ui-group-theme-e .ui-btn.ui-btn-active, +html head + body .ui-btn.ui-btn-e.ui-btn-active, +/* Active checkbox icon */ +.ui-page-theme-e .ui-checkbox-on:after, +html .ui-bar-e .ui-checkbox-on:after, +html .ui-body-e .ui-checkbox-on:after, +html body .ui-group-theme-e .ui-checkbox-on:after, +.ui-btn.ui-checkbox-on.ui-btn-e:after, +/* Active flipswitch background */ +.ui-page-theme-e .ui-flipswitch-active, +html .ui-bar-e .ui-flipswitch-active, +html .ui-body-e .ui-flipswitch-active, +html body .ui-group-theme-e .ui-flipswitch-active, +html body .ui-flipswitch.ui-bar-e.ui-flipswitch-active, +/* Active slider track */ +.ui-page-theme-e .ui-slider-track .ui-btn-active, +html .ui-bar-e .ui-slider-track .ui-btn-active, +html .ui-body-e .ui-slider-track .ui-btn-active, +html body .ui-group-theme-e .ui-slider-track .ui-btn-active, +html body div.ui-slider-track.ui-body-e .ui-btn-active { + background-color: #5393c5 /*{e-active-background-color}*/; + background-image: -webkit-gradient(linear, left top, left bottom, from( #5393c5 /*{e-active-background-start}*/), to( #6facd5 /*{e-active-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient( #5393c5 /*{e-active-background-start}*/, #6facd5 /*{e-active-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient( #5393c5 /*{e-active-background-start}*/, #6facd5 /*{e-active-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient( #5393c5 /*{e-active-background-start}*/, #6facd5 /*{e-active-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient( #5393c5 /*{e-active-background-start}*/, #6facd5 /*{e-active-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient( #5393c5 /*{e-active-background-start}*/, #6facd5 /*{e-active-background-end}*/); + border-color: #2373a5 /*{e-active-border}*/; + color: #fff /*{e-active-color}*/; + text-shadow: 0 /*{e-active-shadow-x}*/ 1px /*{e-active-shadow-y}*/ 0 /*{e-active-shadow-radius}*/ #3373a5 /*{e-active-shadow-color}*/; +} +/* Active radio button icon */ +.ui-page-theme-e .ui-radio-on:after, +html .ui-bar-e .ui-radio-on:after, +html .ui-body-e .ui-radio-on:after, +html body .ui-group-theme-e .ui-radio-on:after, +.ui-btn.ui-radio-on.ui-btn-e:after { + border-color: #5393c5 /*{e-active-background-color}*/; +} + +/* Focus */ +.ui-page-theme-e .ui-btn:focus, +html .ui-bar-e .ui-btn:focus, +html .ui-body-e .ui-btn:focus, +html body .ui-group-theme-e .ui-btn:focus, +html head + body .ui-btn.ui-btn-e:focus, +/* Focus buttons and text inputs with div wrap */ +.ui-page-theme-e .ui-focus, +html .ui-bar-e .ui-focus, +html .ui-body-e .ui-focus, +html body .ui-group-theme-e .ui-focus, +html head + body .ui-btn-e.ui-focus, +html head + body .ui-body-e.ui-focus { + -webkit-box-shadow: 0 0 12px #387bbe /*{e-active-background-color}*/; + -moz-box-shadow: 0 0 12px #387bbe /*{e-active-background-color}*/; + box-shadow: 0 0 12px #387bbe /*{e-active-background-color}*/; +} + +/* "classic" theme specific rules +-----------------------------------------------------------------------------------------------------------*/ +/* Button top highlight. Note: this won't work with buttons inside an ordered list because we use :before for list numbering */ +.ui-btn:before { + content: ""; + display: block; + position: absolute; + top: 0; + left: 0; + right: 0; + height: 100%; + border-top: 1px solid rgba(255,255,255,.3); + -webkit-border-radius: inherit; + border-radius: inherit; +} + +/* Unset background gradient */ +.ui-li-static, +.ui-collapsible-content, +.ui-input-text, +.ui-input-search, +.ui-flipswitch, +.ui-slider-track, +input.ui-slider-input { + background-image: none !important; +} + +/* Structure */ + +/* Disabled +-----------------------------------------------------------------------------------------------------------*/ +/* Class ui-disabled deprecated in 1.4. :disabled not supported by IE8 so we use [disabled] */ + +.ui-disabled, +.ui-state-disabled, +button[disabled], +.ui-select .ui-btn.ui-state-disabled { + filter: Alpha(Opacity=30); + opacity: .3; + cursor: default !important; + pointer-events: none; +} + +/* Focus state outline +-----------------------------------------------------------------------------------------------------------*/ + +.ui-btn:focus, +.ui-btn.ui-focus { + outline: 0; +} +/* Unset box-shadow in browsers that don't do it right */ +.ui-noboxshadow .ui-shadow, +.ui-noboxshadow .ui-shadow-inset, +.ui-noboxshadow .ui-overlay-shadow, +.ui-noboxshadow .ui-shadow-icon.ui-btn:after, +.ui-noboxshadow .ui-shadow-icon .ui-btn:after, +.ui-noboxshadow .ui-focus, +.ui-noboxshadow .ui-btn:focus, +.ui-noboxshadow input:focus, +.ui-noboxshadow .ui-panel { + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; +} +.ui-noboxshadow .ui-btn:focus, +.ui-noboxshadow .ui-focus { + outline-width: 1px; + outline-style: auto; +} diff --git a/js/libs/.jquery.mobile/demos/theme-default/index.html b/js/libs/.jquery.mobile/demos/theme-default/index.html new file mode 100644 index 0000000..689cdeb --- /dev/null +++ b/js/libs/.jquery.mobile/demos/theme-default/index.html @@ -0,0 +1,344 @@ + + + + + + Default theme - jQuery Mobile Demos + + + + + + + + +
    + +
    +

    Default theme

    + Back + Button + +
    + +
    + +
    +
    +
    + Theme: + + + + +
    +
    +
    +
    + Navbars: + + + + +
    +
    +
    +
    + Shadow:
    Off: set the widget option shadow to false (data-shadow="false")
    + + + + +
    +
    +
    +
    + Icon shadow:
    On: add class ui-shadow-icon to the button or its container
    + + + + +
    +
    +
    + +
    +

    I am a div with classes ui-body, ui-body-a and ui-corner-all.

    +

    I am a link

    +

    Panels

    + Reveal + Overlay + Push +
    + +
    +

    I am a div with classes ui-bar, ui-bar-a and ui-corner-all. I am a link

    +
    + + We + + + +
      +
    • I
    • +
    • Divider3
    • +
    • am
    • +
    • static6
    • +
    + + + + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    +
    + Checkbox: + + + + + + +
    +
    +
    +
    + Radio: + + + + + + +
    +
    +
    +
    + Controlgroup: + + + Three +
    +
    +
    + + +
    +
    + + +
    +
    + + Active button + +

    Form inside static list:

    + +
    +
      +
    • + + +
    • +
    • + + +
    • +
    • + + +
    • +
    +
    + +
    +

    ui-bar-a

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

    Heading

    +

    I'm the collapsible content with a themed content block set to "a".

    +
    + +
    +
    +

    Section 1

    +

    I'm the collapsible content for section 1

    +
    +
    +

    Section 2

    +

    I'm the collapsible content for section 2

    +
    +
    +

    Section 3

    +

    I'm the collapsible content for section 3

    +
    +
    + +
    + +
    + +

    Footer

    +
    + +
    + +

    + +
    + +
    + +

    + +
    + +
    + +

    + +
    + +
    + + + diff --git a/js/libs/.jquery.mobile/demos/toolbar-dynamic/index.html b/js/libs/.jquery.mobile/demos/toolbar-dynamic/index.html new file mode 100644 index 0000000..06f0c07 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/toolbar-dynamic/index.html @@ -0,0 +1,46 @@ + + + + + + Dynamic toolbars - jQuery Mobile Demos + + + + + + + + + + +
    + +
    + +

    Dynamic toolbars

    + +

    click on the button to dynamically inject toolbars. Note that we have to update the page height and padding by calling $.mobile.resetActivePageHeight();.

    + +
    + +
    + +
    + +
    + + + diff --git a/js/libs/.jquery.mobile/demos/toolbar-external/index.html b/js/libs/.jquery.mobile/demos/toolbar-external/index.html new file mode 100644 index 0000000..0650265 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/toolbar-external/index.html @@ -0,0 +1,77 @@ + + + + + + External toolbars - jQuery Mobile Demos + + + + + + + + + + +
    + Back +

    External header

    +
    + +
    + +
    + +

    External toolbars

    + +

    The header and footer on this page are positioned outside the page. They are before and after the page within the body. These Toolbars will remain in the dom until manually removed.

    + +

    Markup

    + +

    The markup for external toolbars is identical to normal toolbars, you just place the toolbar outside the page within the body of your page

    + +

    Auto init

    + +

    Because these toolbars are not within the page they will not auto initalize. You must call the toolbar plugin yourself.

    + +
    
    +$(function(){
    +	$( "[data-role='header'], [data-role='footer']" ).toolbar();
    +});
    +
    + +

    Theme

    + +

    Since external toolbars are outside the page they don't inherit a theme from the page. This means you always have to set a theme for them. You can use the data-theme attribute for this or set the theme option when you call the plugin: + +

    
    +$(function(){
    +	$( "[data-role='header']" ).toolbar({ theme: "a" });
    +});
    +
    + +

    Ajax navigation

    + +

    Because these toolbars are not within the page they will remain in the DOM until manually removed.

    + +

    Toolbars not within a page will not be pulled into the DOM during Ajax navigation.

    + +

    Fixed external toolbars

    + +

    External toolbars can also be set to fixed positioning just like normal toolbars: External fixed toolbars

    + +
    + +
    + +
    +

    External footer

    +
    + + + diff --git a/js/libs/.jquery.mobile/demos/toolbar-external/index2.html b/js/libs/.jquery.mobile/demos/toolbar-external/index2.html new file mode 100644 index 0000000..4806f27 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/toolbar-external/index2.html @@ -0,0 +1,41 @@ + + + + + + External toolbars - jQuery Mobile Demos + + + + + + + + + + +
    + Back +

    External header

    +
    + +
    + +
    + +

    External toolbars page 2

    + +
    + +
    + +
    +

    External footer

    +
    + + + diff --git a/js/libs/.jquery.mobile/demos/toolbar-fixed-external/index.html b/js/libs/.jquery.mobile/demos/toolbar-fixed-external/index.html new file mode 100644 index 0000000..06e083b --- /dev/null +++ b/js/libs/.jquery.mobile/demos/toolbar-fixed-external/index.html @@ -0,0 +1,63 @@ + + + + + + External fixed toolbars - jQuery Mobile Demos + + + + + + + + + + +
    + Back +

    External fixed header

    +
    + +
    + +
    + +

    Fixed external toolbars

    + +

    The header and footer on this page are outside of the page within the body. They have been set to position fixed.

    + +

    Auto init

    + +

    Because these toolbars are not within the page they will not auto initalize. You must call the toolbar plugin yourself.

    + +
    
    +$(function(){
    +	$( "[data-role='header'], [data-role='footer']" ).toolbar();
    +});
    +
    + +

    Theme

    + +

    Since external toolbars are outside the page they don't inherit a theme from the page. This means you always have to set a theme for them. You can use the data-theme attribute for this or set the theme option when you call the plugin: + +

    True persistent toolbars

    + +

    Because External toolbars are outside of the page they are not effected by transition and make truly persistent toolbars possible.

    + +

    Persistant toolbar demo

    + +
    + +
    + +
    +

    External fixed footer

    +
    + + + diff --git a/js/libs/.jquery.mobile/demos/toolbar-fixed-forms/index.html b/js/libs/.jquery.mobile/demos/toolbar-fixed-forms/index.html new file mode 100644 index 0000000..73ce92b --- /dev/null +++ b/js/libs/.jquery.mobile/demos/toolbar-fixed-forms/index.html @@ -0,0 +1,132 @@ + + + + + + Fixed Toolbars - jQuery Mobile Framework + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/demos/toolbar-fixed-fullscreen/index.html b/js/libs/.jquery.mobile/demos/toolbar-fixed-fullscreen/index.html new file mode 100644 index 0000000..00e022b --- /dev/null +++ b/js/libs/.jquery.mobile/demos/toolbar-fixed-fullscreen/index.html @@ -0,0 +1,46 @@ + + + + + + Fullscreen Fixed toolbars - jQuery Mobile Framework + + + + + + + + + + +
    + +
    + Back +

    Fullscreen fixed header

    +
    + +
    + + New York + +
    +

    This page demonstrates the "fullscreen" toolbar mode. This toolbar treatment is used in special cases where you want the content to fill the whole screen, and you want the header and footer toolbars to appear and disappear when the page is clicked responsively — a common scenario for photo, image or video viewers.

    + +

    To enable this toolbar feature type, you apply the data-fullscreen="true" attribute and the data-position="fixed" attribute to both the header and footer div elements. The framework will also unset the padding for the content container (.ui-content).

    + +

    Keep in mind that the toolbars in this mode will sit over page content, so not all content will be accessible with the toolbars visible.

    +
    +
    + +
    + +
    +

    Fullscreen fixed Footer

    +
    + +
    + + + diff --git a/js/libs/.jquery.mobile/demos/toolbar-fixed-persistent-optimized/index.html b/js/libs/.jquery.mobile/demos/toolbar-fixed-persistent-optimized/index.html new file mode 100644 index 0000000..75ff8ab --- /dev/null +++ b/js/libs/.jquery.mobile/demos/toolbar-fixed-persistent-optimized/index.html @@ -0,0 +1,62 @@ + + + + + + + Ajax optimized persistent toolbars - jQuery Mobile Demos + + + + + + + + + + +
    + Back +

    Fixed external header

    +
    + +
    + +
    + +

    Ajax optimized Persistant Toolbars

    + +

    These pages have been optimized on the server side to check if the request is coming from an Ajax request and if so they only send the actual page div instead fo the entire page. If you navigate to any of the pages in the nav bar at the bottom and inspect the return data you will see it contains no head, toolbars, html tag, or body tag.

    + +

    However if you refresh the page all of these things will be present. This is done by checking the HTTP_X_REQUESTED_WITH header

    + +
    
    +if (!isset($_SERVER['HTTP_X_REQUESTED_WITH']) || strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) !== 'xmlhttprequest') {
    +
    + +

    All of the markup not needed when being requested via Ajax is wrapped in if statements like the one above.

    + +
    + +
    + + +
    +
    + +
    +
    + + + + diff --git a/js/libs/.jquery.mobile/demos/toolbar-fixed-persistent-optimized/page-b.html b/js/libs/.jquery.mobile/demos/toolbar-fixed-persistent-optimized/page-b.html new file mode 100644 index 0000000..878f520 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/toolbar-fixed-persistent-optimized/page-b.html @@ -0,0 +1,90 @@ + + + + + + + Ajax optimized persistent toolbars - jQuery Mobile Demos + + + + + + + + + + +
    + Back +

    Fixed external header

    +
    + + +
    + + + +
    + + +
    +
    + +
    +
    + + + + diff --git a/js/libs/.jquery.mobile/demos/toolbar-fixed-persistent-optimized/page-c.html b/js/libs/.jquery.mobile/demos/toolbar-fixed-persistent-optimized/page-c.html new file mode 100644 index 0000000..a82c8d2 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/toolbar-fixed-persistent-optimized/page-c.html @@ -0,0 +1,128 @@ + + + + + + + Ajax optimized persistent toolbars - jQuery Mobile Demos + + + + + + + + + + +
    + Back +

    Fixed external header

    +
    + + +
    + + + +
    + + +
    +
    + +
    +
    + + + + diff --git a/js/libs/.jquery.mobile/demos/toolbar-fixed-persistent-optimized/page-d.html b/js/libs/.jquery.mobile/demos/toolbar-fixed-persistent-optimized/page-d.html new file mode 100644 index 0000000..b7f0ee2 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/toolbar-fixed-persistent-optimized/page-d.html @@ -0,0 +1,106 @@ + + + + + + + Ajax optimized persistent toolbars - jQuery Mobile Demos + + + + + + + + + + +
    + Back +

    Fixed external header

    +
    + + +
    + + + +
    + + +
    +
    + +
    +
    + + + + diff --git a/js/libs/.jquery.mobile/demos/toolbar-fixed-persistent/index.html b/js/libs/.jquery.mobile/demos/toolbar-fixed-persistent/index.html new file mode 100644 index 0000000..44a4b65 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/toolbar-fixed-persistent/index.html @@ -0,0 +1,86 @@ + + + + + + Persistent toolbars - jQuery Mobile Demos + + + + + + + + + + +
    + Back +

    Info

    +
    + +
    + +
    + +

    Persistent toolbars

    + +

    These pages are a demo of a persistent navbar in a fixed footer toolbar. Click on any of the links in the footer, and you'll see the page content transition. Both the persistent header and footer on these pages remain in place during the animation to a new HTML page.

    + +

    With the new external toolbars no extra effort is required to now have persistent toolbars. Simply place them outside of the page container on each page they will be loaded on the first page and persist on subsequent pages. The toolbars still need to be placed on each page to account for refresh however they will be ignored if not within a page container.

    + +

    Typically, the persistent toolbar technique will be combined with fixed positioning.

    + +

    Updating toolbar contents

    + +

    Because the same toolbar is used on every page, you might want to update the content. In this demo we show how to change the heading in the header and set the nav button of the page currently in view to the active state.

    + +
    + +

    Improving page load with persistent toolbars

    + +

    By combining this technique with a little bit of server side logic you can reduce the file size for each page load significantly by not sending anything except the actual page container back when the request is from ajax. this not only reduces file size but makes the actual processing of the page quicker also. To see an example of this technique see Ajax optimized persistent toolbars

    + +

    A note about transitions

    + +

    By Removing the toolbars from the page container they are no longer part of the page transition which dramaticly improves the performance of complex 3D page transitions over the older style of persistent toolbars.

    + +
    + +
    + +
    +
    + +
    +
    + + + diff --git a/js/libs/.jquery.mobile/demos/toolbar-fixed-persistent/page-b.html b/js/libs/.jquery.mobile/demos/toolbar-fixed-persistent/page-b.html new file mode 100644 index 0000000..1290281 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/toolbar-fixed-persistent/page-b.html @@ -0,0 +1,103 @@ + + + + + + Persistent toolbars - jQuery Mobile Demos + + + + + + + + + + +
    + Back +

    Friends

    +
    + +
    + + + +
    + +
    +
    + +
    +
    + + + diff --git a/js/libs/.jquery.mobile/demos/toolbar-fixed-persistent/page-c.html b/js/libs/.jquery.mobile/demos/toolbar-fixed-persistent/page-c.html new file mode 100644 index 0000000..93a2a1f --- /dev/null +++ b/js/libs/.jquery.mobile/demos/toolbar-fixed-persistent/page-c.html @@ -0,0 +1,141 @@ + + + + + + Persistent toolbars - jQuery Mobile Demos + + + + + + + + + + +
    + Back +

    Albums

    +
    + +
    + + + +
    + +
    +
    + +
    +
    + + + diff --git a/js/libs/.jquery.mobile/demos/toolbar-fixed-persistent/page-d.html b/js/libs/.jquery.mobile/demos/toolbar-fixed-persistent/page-d.html new file mode 100644 index 0000000..0e3a924 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/toolbar-fixed-persistent/page-d.html @@ -0,0 +1,119 @@ + + + + + + Persistent toolbars - jQuery Mobile Demos + + + + + + + + + + +
    + Back +

    Emails

    +
    + +
    + + + +
    + +
    +
    + +
    +
    + + + diff --git a/js/libs/.jquery.mobile/demos/toolbar-fixed/index.html b/js/libs/.jquery.mobile/demos/toolbar-fixed/index.html new file mode 100644 index 0000000..c14b5a2 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/toolbar-fixed/index.html @@ -0,0 +1,111 @@ + + + + + + Fixed Toolbars - jQuery Mobile Framework + + + + + + + + + +
    + +
    + Back +

    Fixed header

    +
    + +
    + +

    Fixed toolbars

    + +

    In browsers that support CSS position: fixed (most desktop browsers, iOS5+, Android 2.2+, and others), toolbars that use the "fixedtoolbar" plugin will be fixed to the top or bottom of the viewport, while the page content scrolls freely in between. In browsers that don't support fixed positioning, the toolbars will remain positioned in flow, at the top or bottom of the page.

    + +

    Fixed basics

    +

    To enable this behavior on a header or footer, add the data-position="fixed" attribute to a jQuery Mobile header or footer element.

    + +

    Fixed header markup example:

    + +
    
    +<div data-role="header" data-position="fixed">
    +	<h1>Fixed Header!</h1>
    +</div>
    +
    + +

    Fixed footer markup example:

    + +
    
    +<div data-role="footer" data-position="fixed">
    +	<h1>Fixed Footer!</h1>
    +</div>
    +
    + +

    Fullscreen Toolbars

    + +

    Fullscreen fixed toolbars sit on top of the content at all times when they are visible, and unlike regular fixed toolbars, fullscreen toolbars do not fall back to static positioning when toggled. Instead they disappear from the screen entirely. Fullscreen toolbars are ideal for more immersive interfaces, like a photo viewer that is meant to fill the entire screen with the photo itself and no distractions.

    + +

    To enable this option on a fixed header or footer, add the data-fullscreen attribute to the element.

    + +
    
    +<div data-role="header" data-position="fixed" data-fullscreen="true">
    +	<h1>Fixed Header!</h1>
    +</div>
    +
    + +

    Forms in toolbars

    + +

    While all form elements are now tested to work correctly within static toolbars as of jQuery Mobile 1.1, we recommend extensive testing when using form elements within fixed toolbars or within any position: fixed elements. This can potentially trigger a number of unpredictable issues in various mobile browsers, Android 2.2/2.3 in particular (detailed in Known issues in Android 2.2/2.3, below).

    + +

    Forms in toolbar example

    + +

    Changes in jQuery Mobile 1.1

    + +

    Prior to version 1.1, jQuery Mobile used dynamically re-positioned toolbars for the fixed header effect because very few mobile browsers supported the position:fixed CSS property, and simulating fixed support through the use of "fake" JavaScript overflow-scrolling behavior would have reduced our browser support reach, in addition to feeling unnatural on certain platforms. This behavior was not ideal, and jQuery Mobile 1.1 took a new approach to fixed toolbars that allows much broader support. The framework now offers true fixed toolbars on many popular platforms, while gracefully degrading non-supporting platforms to static positioning.

    + +

    Polyfilling older platforms

    +

    The fixed toolbar plugin degrades gracefully in platforms that do not support CSS position:fixed properly, such as iOS4.3. If you still need to support fixed toolbars on that platform (with the show/hide behavior) included in previous releases, Filament Group has developed a polyfill that you can use.

    + + + + +

    Just include the CSS and JS files after your references to jQuery Mobile and Fixed toolbars will work similarly to jQuery Mobile 1.0 in iOS4.3, with the inclusion of the new API for the 1.1 fixedtoolbar plugin.

    + +

    If you have any improvements to suggest, fork the gist on github and let us know!

    + +

    Known issue with form controls inside fixed toolbars, and programmatic scroll

    +

    An obscure issue exists in iOS5 and some Android platforms where form controls placed inside fixed-positioned containers can lose their hit area when the window is programatically scrolled (using window.scrollTo for example). This is not an issue specific to jQuery Mobile, but because of it, we recommend not programatically scrolling a document when using form controls inside jQuery Mobile fixed toolbars. This ticket from the Device Bugs project tracker explains this problem in more detail.

    + +

    Known issues in Android 2.2/2.3

    +

    Android 2.2/2.3's implementation of position: fixed; can, in conjunction with seemingly unrelated styles and markup patterns, cause a number of strange issues, particularly in the case of position: absolute elements inside of position: fixed elements. While we've done our best to work around a number of these unique bugs within the scope of the library, custom styles may cause a number of issues.

    +
      +
    • Form elements elsewhere on the page—select menus in particular—can fail to respond to user interaction when an empty absolute positioned element is placed within a fixed position element. In rare cases—and specific to Android 2.2—this can cause entire pages to fail to respond to user interaction. This can seemingly be solved by adding any character to the absolute positioned element, including a non-breaking space, and in some cases even whitespace.
    • +
    • The above-described issue can also be triggered by an absolute positioned image inside of a fixed position element, but only when that image is using something other than its inherent dimensions. If a height or width is specified on the image using CSS, or the image src is invalid (thus having no inherent height and width), this issue can occur. If an image that is inherently, say, 50x50 pixels is placed in a fixed element and left at its inherent dimensions, this issue does not seem to occur.
    • +
    • When a position: fixed element appears anywhere on a page, most 2D CSS transforms will fail. Oddly, only translate transforms seem unaffected by this. Even more oddly, this issue is solved by setting a CSS opacity of .9 or below on the parent of the fixed element.
    • +
    • Combinations of position: fixed and overflow properties are best avoided, as both have been known to cause unpredictable issues in older versions of Android OS.
    • +
    • Any element that triggers the on-screen keyboard, when placed inside a position: fixed element, will fail to respond to user input when using anything other than the default keyboard. This includes Swype, XT9 or, it seems, any input method apart from the standard non-predictive keyboard.
    • +
    + +

    While we will continue to try to find ways to mitigate these bugs as best we can, we currently advise against implementing fixed toolbars containing complicated user styles and form elements without extensive testing in all versions of Android's native browser.

    + +

    No longer supported: touchOverflowEnabled

    + +

    Prior to jQuery Mobile 1.1, true fixed toolbar support was contingent on native browser support for the CSS property overflow-scrolling: touch, which is currently only supported in iOS5. As of version 1.1, jQuery Mobile no longer uses this CSS property at all. We've removed all internal usage of this property in the framework, but we've left it defined globally on the $.mobile object to reduce the risk that its removal will cause trouble with existing applications. This property is flagged for removal, so please update your code to no longer use it. The support test for this property, however, remains defined under $.support and we have no plans to remove that test at this time.

    + +
    + +
    +

    Fixed footer

    +
    + +
    + + + diff --git a/js/libs/.jquery.mobile/demos/toolbar/index.html b/js/libs/.jquery.mobile/demos/toolbar/index.html new file mode 100644 index 0000000..73b64f7 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/toolbar/index.html @@ -0,0 +1,571 @@ + + + + + + Toolbar - jQuery Mobile Demos + + + + + + + + + +
    + +
    +

    jQuery Mobile

    +

    Demos

    + Menu + Search +
    + +
    + +

    Toolbar

    + +

    The toolbar widget is used to enhance headers and footers.

    + +

    Markup

    + +

    Header

    + +

    The header is a toolbar at the top of the page that usually contains the page title text and optional buttons positioned to the left and/or right of the title for navigation or actions.

    + +

    The title text is normally an H1 heading element but it's possible to use any heading level (H1-H6) to allow for semantic flexibility. The framework add class ui-title to headings that are immediate children of toolbars. All heading levels with class ui-title are styled identically by default to maintain visual consistency.

    + +
    +
    +

    Page Title

    +
    +
    + +

    Footer

    + +

    The footer is a toolbar at the bottom of the page that can contain a wide range of content, from form elements to navbars.

    + +

    The footer bar has the same basic structure as the header except it uses the data-role attribute value of footer. Headings that are immediate children of the footer get class ui-title, just like headers.

    + +
    +
    +

    Powered by jQuery Mobile

    +
    +
    + +

    Theme

    + +

    The header and footer toolbar inherit the theme swatch from the page by default but you can easily set the theme swatch color. If you use external fixed toolbars you always have to set a theme, because there is no parent page from which they can inherit the theme.

    + +
    +
    +

    Page Title

    +
    +
    + +

    External toolbars

    + +

    If you want to use the same toolbar on multiple pages, you can use external toolbars. + +

    Fixed position

    + +

    Toolbars can be set to fixed position by adding the data-position="fixed" to the header or footer. This will make them remain at the top (header) or bottom (footer) of the window at all time instead of scrolling with the page. See fixed toolbars.

    + +

    Fullscreen position

    + +

    The toolbars can be set to fullscreen fixed position that overlays the toolbar over the content by adding the data-fullscreen="true" to a fixed header. See fullscreen toolbars.

    + +

    External fixed toolbars

    + +

    See external fixed toolbars.

    + +

    Persistent toolbars

    + +

    See persistent toolbars.

    + +

    Buttons in toolbars

    + +

    The framework automatically enhances links in toolbars as buttons with inline and mini style, but this has been deprecated in version 1.4. The same goes for positioning the first two buttons in a header left and right if they are immediate child of the header. The demos below prepare you for the next version.

    + +

    Header button position classes

    + +

    You can use the ui-btn-left and ui-btn-right classes to position buttons in the header.

    + +
    +
    + Cancel +

    My App

    +
    +
    + +
    +
    +

    Page Title

    + Options +
    +
    + +

    Buttons in headers without a heading

    + +

    The heading in the header bar has some margin that will give the bar its height. If you choose not to use a heading, you will need to add an element with class="ui-title" so that the bar can get the height and display correctly.

    + +
    +
    + View + +
    +
    + +

    Adding back button to header

    + +

    jQuery Mobile has a feature to automatically create and append "back" buttons to any header, though it is disabled by default. This is primarily useful in chromeless installed applications, such as those running in a native app webview. The framework automatically generates a "back" button on a header when the page plugin's addBackBtn option is true. This can also be set via markup if the header has a data-add-back-btn="true" attribute.

    + +

    If you use the attribute data-rel="back" on an anchor, any clicks on that anchor will mimic the back button, going back one history entry and ignoring the anchor's default href. This is particularly useful when linking back to a named page, such as a link that says "home", or when generating "back" buttons with JavaScript, such as a button to close a dialog. When using this feature in your source markup, be sure to provide a meaningful href that actually points to the URL of the referring page. This will allow the feature to work for users in C-Grade browsers.

    + +

    If you just want a reverse transition without actually going back in history, you should use the data-direction="reverse" attribute.

    + +

    Customizing the back button text

    + +

    If you'd like to configure the back button text, you can either use the data-back-btn-text="previous" attribute on your header element, or set it programmatically via the toolbar plugin's options:
    $.mobile.toolbar.prototype.options.backBtnText = "previous";

    + +

    Default back button style

    + +

    If you'd like to configure the back button theme, you can use:
    + $.mobile.toolbar.prototype.options.backBtnTheme = "a";
    + If you're doing this programmatically, set this option inside the mobileinit event handler.

    + +

    Navbars

    + +

    See navbar for examples of navigation bars inside toolbars.

    + +

    Grouped buttons

    + +

    To group buttons into a button set, wrap the links in an element with data-role="controlgroup" and data-type="horizontal" attributes.

    + +
    +
    +
    + Add + Up + Down +
    +
    My header
    +
    +
    + +

    Adding padding

    + +

    By default, toolbars don't have any padding to accommodate nav bars and other widgets. To add padding inside of a full-width toolbar, wrap the toolbar's contents in an element and add class ui-bar to that element or apply your own padding rule in your custom CSS.

    + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    + + + + +
    + +
    + + +
    + + + diff --git a/js/libs/.jquery.mobile/demos/transitions/index.html b/js/libs/.jquery.mobile/demos/transitions/index.html new file mode 100644 index 0000000..478e7bd --- /dev/null +++ b/js/libs/.jquery.mobile/demos/transitions/index.html @@ -0,0 +1,544 @@ + + + + + + Transitions - jQuery Mobile Demos + + + + + + + + + + +
    + +
    +

    jQuery Mobile

    +

    Demos

    + Menu + Search +
    + +
    + +

    Transitions

    + +

    The jQuery Mobile framework includes a set of CSS-based transition effects that can be applied to any page link or form submission with Ajax navigation. +

    + +

    Page transitions

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

    fade

    dialogpage

    pop

    dialogpage

    flip

    dialogpage

    turn

    dialogpage

    flow

    dialogpage

    slidefade

    dialogpage

    slide

    dialogpage

    slideup

    dialogpage

    slidedown

    dialogpage

    none

    dialogpage
    +
    + +

    Important: Some platforms currently have issues with transitions. + We are working on a solution to solve the problem for everyone. + If you are experiencing flickers and flashes during or at the end of a transition we suggest the following workaround. + Please note that this workaround should be thoroughly tested on the target platform before deployment. + This workaround is known to cause performance issues and browser crashes on some platforms, especially Android. + Add the following code to your custom css. +

    + + .ui-page { -webkit-backface-visibility: hidden; } + + +

    Only seeing fade transitions? To view all transition types, you must be on a browser that supports 3D transforms. By default, devices that lack 3D support (such as Android 2.x) will fallback to "fade" for all transition types. This behavior is configurable (see below).

    + +

    Transitions were originally inspired by jQtouch They've since been rebuilt, but props to David Kaneda and Jonathan Stark for the initial guidance.

    + +

    Setting a transition

    +

    By default, the framework applies a fade transition. To set a custom transition effect, add the data-transition attribute to the link.

    + + + <a href="index.html" data-transition="pop">I'll pop</a> + + +

    When the Back button is pressed, the framework will automatically apply the reverse version of the transition that was used to show the page. To specify that the reverse version of a transition should be used, add the data-direction="reverse" attribute to a link.

    + +

    Global configuration

    + +

    Set the defaultPageTransition global option if you'd prefer a different default transition. Dialogs have a different option called defaultDialogTransition that can also be configured.

    + +

    Browser support

    +

    All transitions are built with CSS keyframe animations and include -webkit vendor prefixed rules for iOS, Blackberry, Android, Safari and Chrome browsers, -moz rules for Firefox browsers, and unprefixed rules for Windows Phone 8 and IE10. Support for keyframe animations and transition smoothness is determined by the browser version and hardware and will safely fall back to no transition if animations aren't supported. To proactively exclude transition in situations with poor performance, we exclude browsers that lack 3D transforms and provide a fallback transition and apply a max width for when transitions are applied.

    + +

    Fallback transition

    +

    By default, all transitions except fade require 3D transform support. Devices that lack 3D support will fall back to a fade transition, regardless of the transition specified. We do this to proactively exclude poorly-performing platforms like Android 2.x from advanced transitions and ensure they still have a smooth experience. Note that there are platforms such as Android 3.0 that technically support 3D transforms, but still have poor animation performance so this won't guarantee that every browser will be 100% flicker-free but we try to target this responsibly.

    + +

    The fallback transition for browsers that don't support 3D transforms can be configured for each transition type, but by default we specify "fade" as the fallback. For example, this will set the fallback transition for the slideout transition to "none":

    + $.mobile.transitionFallbacks.slideout = "none" + +

    Max scroll for transitions

    +

    By default, transitions are disabled (set to "none") when you're either coming FROM or going TO a page where the scroll position is 3x the height of the device's screen. + This feature was added because of the slow response times and the possibility of browser crashing when clicking on a list item (or any navigation element) far down a long page which leads to the + browser trying to animate a really massively tall page from the scroll position to the top of the screen. The scroll position, not total screen height, is the determining factor for performance. + This scroll position breakpoint is configurable via the new getMaxScrollForTransition function.

    + +

    Max width for transitions

    +

    By default, transitions can be disabled (set to "none") when the window width is greater than a certain pixel width. This feature is useful because transitions can be distracting or perform poorly on larger screens. This value is configurable via the global option $.mobile.maxTransitionWidth, which defaults to false. The option accepts any number representing a pixel width or false value. If it's not false, the handler will use a "none" transition when the window is wider than the specified value.

    + +

    Same page transition

    +

    Transitions to the current active page are ignored by default but can be enabled by using the allowSamePageTransition option of the pagecontainer widget's change() method. Note that not all transitions will work as expected and may end in an impractical result.

    + +

    Creating custom transitions

    +

    jQuery Mobile allows for the addition of custom transitions to the $.mobile.transitionHandlers dictionary so you can expand the selection of transitions on your site or app. + +

    +
    + +
    + + + + +
    + +
    + + +
    + + + diff --git a/js/libs/.jquery.mobile/demos/transitions/page-transitions-dialog.html b/js/libs/.jquery.mobile/demos/transitions/page-transitions-dialog.html new file mode 100644 index 0000000..54fa958 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/transitions/page-transitions-dialog.html @@ -0,0 +1,34 @@ + + + + + + Transitions - jQuery Mobile Demos + + + + + + + + + + +
    + +
    +

    Dialog

    +
    + +
    +

    That was an animated page transition effect to a dialog that we added with a data-transition attribute on the link.

    +

    Since it uses CSS animations, this should be hardware accelerated on many devices. To see transitions, 3D transform support is required so if you only saw a fade transition that's the reason.

    + + Take me back +
    +
    + +
    + + + diff --git a/js/libs/.jquery.mobile/demos/transitions/page-transitions-page.html b/js/libs/.jquery.mobile/demos/transitions/page-transitions-page.html new file mode 100644 index 0000000..4d40aa2 --- /dev/null +++ b/js/libs/.jquery.mobile/demos/transitions/page-transitions-page.html @@ -0,0 +1,67 @@ + + + + + + Transitions - jQuery Mobile Demos + + + + + + + + + + +
    +
    +

    Page

    +
    + +
    +

    That was an animated page transition effect to a page that we added with a data-transition attribute on the link. This uses a different background theme swatch to see how that looks with the transitions.

    +

    Since it uses CSS animations, this should be hardware accelerated on many devices. To see transitions, 3D transform support is required so if you only saw a fade transition that's the reason.

    + +
    +

    Here's a few form elements

    + +

    These are here to see if this slows down rendering.

    + +
    + + +
    + +
    + + +
    + +
    + + +
    + +
    + + +
    + +
    + + Take me back +
    + +
    +
    + + +
    +
    +
    + + diff --git a/js/libs/.jquery.mobile/images/ajax-loader.gif b/js/libs/.jquery.mobile/images/ajax-loader.gif new file mode 100644 index 0000000..57f5624 Binary files /dev/null and b/js/libs/.jquery.mobile/images/ajax-loader.gif differ diff --git a/js/libs/.jquery.mobile/images/icons-png/action-black.png b/js/libs/.jquery.mobile/images/icons-png/action-black.png new file mode 100644 index 0000000..15e8e48 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/action-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/action-white.png b/js/libs/.jquery.mobile/images/icons-png/action-white.png new file mode 100644 index 0000000..9f31c01 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/action-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/alert-black.png b/js/libs/.jquery.mobile/images/icons-png/alert-black.png new file mode 100644 index 0000000..0a34a99 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/alert-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/alert-white.png b/js/libs/.jquery.mobile/images/icons-png/alert-white.png new file mode 100644 index 0000000..d44e25b Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/alert-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/arrow-d-black.png b/js/libs/.jquery.mobile/images/icons-png/arrow-d-black.png new file mode 100644 index 0000000..797ab9b Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/arrow-d-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/arrow-d-l-black.png b/js/libs/.jquery.mobile/images/icons-png/arrow-d-l-black.png new file mode 100644 index 0000000..0701883 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/arrow-d-l-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/arrow-d-l-white.png b/js/libs/.jquery.mobile/images/icons-png/arrow-d-l-white.png new file mode 100644 index 0000000..4234114 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/arrow-d-l-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/arrow-d-r-black.png b/js/libs/.jquery.mobile/images/icons-png/arrow-d-r-black.png new file mode 100644 index 0000000..33cd363 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/arrow-d-r-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/arrow-d-r-white.png b/js/libs/.jquery.mobile/images/icons-png/arrow-d-r-white.png new file mode 100644 index 0000000..3db6ebd Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/arrow-d-r-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/arrow-d-white.png b/js/libs/.jquery.mobile/images/icons-png/arrow-d-white.png new file mode 100644 index 0000000..0fcdb6c Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/arrow-d-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/arrow-l-black.png b/js/libs/.jquery.mobile/images/icons-png/arrow-l-black.png new file mode 100644 index 0000000..93a248e Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/arrow-l-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/arrow-l-white.png b/js/libs/.jquery.mobile/images/icons-png/arrow-l-white.png new file mode 100644 index 0000000..3c8b133 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/arrow-l-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/arrow-r-black.png b/js/libs/.jquery.mobile/images/icons-png/arrow-r-black.png new file mode 100644 index 0000000..b5f5d49 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/arrow-r-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/arrow-r-white.png b/js/libs/.jquery.mobile/images/icons-png/arrow-r-white.png new file mode 100644 index 0000000..bf31606 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/arrow-r-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/arrow-u-black.png b/js/libs/.jquery.mobile/images/icons-png/arrow-u-black.png new file mode 100644 index 0000000..f9e15da Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/arrow-u-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/arrow-u-l-black.png b/js/libs/.jquery.mobile/images/icons-png/arrow-u-l-black.png new file mode 100644 index 0000000..b518a1d Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/arrow-u-l-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/arrow-u-l-white.png b/js/libs/.jquery.mobile/images/icons-png/arrow-u-l-white.png new file mode 100644 index 0000000..71adaa1 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/arrow-u-l-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/arrow-u-r-black.png b/js/libs/.jquery.mobile/images/icons-png/arrow-u-r-black.png new file mode 100644 index 0000000..375b097 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/arrow-u-r-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/arrow-u-r-white.png b/js/libs/.jquery.mobile/images/icons-png/arrow-u-r-white.png new file mode 100644 index 0000000..45b518d Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/arrow-u-r-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/arrow-u-white.png b/js/libs/.jquery.mobile/images/icons-png/arrow-u-white.png new file mode 100644 index 0000000..18afaa1 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/arrow-u-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/audio-black.png b/js/libs/.jquery.mobile/images/icons-png/audio-black.png new file mode 100644 index 0000000..b7901c5 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/audio-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/audio-white.png b/js/libs/.jquery.mobile/images/icons-png/audio-white.png new file mode 100644 index 0000000..3408282 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/audio-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/back-black.png b/js/libs/.jquery.mobile/images/icons-png/back-black.png new file mode 100644 index 0000000..b58685d Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/back-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/back-white.png b/js/libs/.jquery.mobile/images/icons-png/back-white.png new file mode 100644 index 0000000..856d515 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/back-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/bars-black.png b/js/libs/.jquery.mobile/images/icons-png/bars-black.png new file mode 100644 index 0000000..f3e99e6 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/bars-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/bars-white.png b/js/libs/.jquery.mobile/images/icons-png/bars-white.png new file mode 100644 index 0000000..84059c6 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/bars-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/bullets-black.png b/js/libs/.jquery.mobile/images/icons-png/bullets-black.png new file mode 100644 index 0000000..10a2f1c Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/bullets-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/bullets-white.png b/js/libs/.jquery.mobile/images/icons-png/bullets-white.png new file mode 100644 index 0000000..49971a1 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/bullets-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/calendar-black.png b/js/libs/.jquery.mobile/images/icons-png/calendar-black.png new file mode 100644 index 0000000..c4a643c Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/calendar-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/calendar-white.png b/js/libs/.jquery.mobile/images/icons-png/calendar-white.png new file mode 100644 index 0000000..e5b7b9f Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/calendar-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/camera-black.png b/js/libs/.jquery.mobile/images/icons-png/camera-black.png new file mode 100644 index 0000000..6a029ea Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/camera-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/camera-white.png b/js/libs/.jquery.mobile/images/icons-png/camera-white.png new file mode 100644 index 0000000..7f00e23 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/camera-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/carat-d-black.png b/js/libs/.jquery.mobile/images/icons-png/carat-d-black.png new file mode 100644 index 0000000..0653b69 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/carat-d-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/carat-d-white.png b/js/libs/.jquery.mobile/images/icons-png/carat-d-white.png new file mode 100644 index 0000000..9e7e9e9 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/carat-d-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/carat-l-black.png b/js/libs/.jquery.mobile/images/icons-png/carat-l-black.png new file mode 100644 index 0000000..c8c495d Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/carat-l-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/carat-l-white.png b/js/libs/.jquery.mobile/images/icons-png/carat-l-white.png new file mode 100644 index 0000000..af941a0 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/carat-l-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/carat-r-black.png b/js/libs/.jquery.mobile/images/icons-png/carat-r-black.png new file mode 100644 index 0000000..1343997 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/carat-r-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/carat-r-white.png b/js/libs/.jquery.mobile/images/icons-png/carat-r-white.png new file mode 100644 index 0000000..f377fd8 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/carat-r-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/carat-u-black.png b/js/libs/.jquery.mobile/images/icons-png/carat-u-black.png new file mode 100644 index 0000000..a1a5ab6 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/carat-u-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/carat-u-white.png b/js/libs/.jquery.mobile/images/icons-png/carat-u-white.png new file mode 100644 index 0000000..5b2deba Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/carat-u-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/check-black.png b/js/libs/.jquery.mobile/images/icons-png/check-black.png new file mode 100644 index 0000000..2cf2fc6 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/check-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/check-white.png b/js/libs/.jquery.mobile/images/icons-png/check-white.png new file mode 100644 index 0000000..b9f558c Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/check-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/clock-black.png b/js/libs/.jquery.mobile/images/icons-png/clock-black.png new file mode 100644 index 0000000..0c38d91 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/clock-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/clock-white.png b/js/libs/.jquery.mobile/images/icons-png/clock-white.png new file mode 100644 index 0000000..bf5a877 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/clock-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/cloud-black.png b/js/libs/.jquery.mobile/images/icons-png/cloud-black.png new file mode 100644 index 0000000..7c50e37 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/cloud-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/cloud-white.png b/js/libs/.jquery.mobile/images/icons-png/cloud-white.png new file mode 100644 index 0000000..6bbe752 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/cloud-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/comment-black.png b/js/libs/.jquery.mobile/images/icons-png/comment-black.png new file mode 100644 index 0000000..8de9ce8 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/comment-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/comment-white.png b/js/libs/.jquery.mobile/images/icons-png/comment-white.png new file mode 100644 index 0000000..5ff59e3 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/comment-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/delete-black.png b/js/libs/.jquery.mobile/images/icons-png/delete-black.png new file mode 100644 index 0000000..94a5b9f Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/delete-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/delete-white.png b/js/libs/.jquery.mobile/images/icons-png/delete-white.png new file mode 100644 index 0000000..ff984a9 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/delete-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/edit-black.png b/js/libs/.jquery.mobile/images/icons-png/edit-black.png new file mode 100644 index 0000000..ab390d7 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/edit-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/edit-white.png b/js/libs/.jquery.mobile/images/icons-png/edit-white.png new file mode 100644 index 0000000..ae657a0 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/edit-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/eye-black.png b/js/libs/.jquery.mobile/images/icons-png/eye-black.png new file mode 100644 index 0000000..d7cc1d0 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/eye-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/eye-white.png b/js/libs/.jquery.mobile/images/icons-png/eye-white.png new file mode 100644 index 0000000..c05bd0d Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/eye-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/forbidden-black.png b/js/libs/.jquery.mobile/images/icons-png/forbidden-black.png new file mode 100644 index 0000000..7509825 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/forbidden-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/forbidden-white.png b/js/libs/.jquery.mobile/images/icons-png/forbidden-white.png new file mode 100644 index 0000000..bf13593 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/forbidden-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/forward-black.png b/js/libs/.jquery.mobile/images/icons-png/forward-black.png new file mode 100644 index 0000000..bcc4622 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/forward-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/forward-white.png b/js/libs/.jquery.mobile/images/icons-png/forward-white.png new file mode 100644 index 0000000..fa80f36 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/forward-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/gear-black.png b/js/libs/.jquery.mobile/images/icons-png/gear-black.png new file mode 100644 index 0000000..b6b37b4 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/gear-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/gear-white.png b/js/libs/.jquery.mobile/images/icons-png/gear-white.png new file mode 100644 index 0000000..72c9767 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/gear-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/grid-black.png b/js/libs/.jquery.mobile/images/icons-png/grid-black.png new file mode 100644 index 0000000..aee3160 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/grid-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/grid-white.png b/js/libs/.jquery.mobile/images/icons-png/grid-white.png new file mode 100644 index 0000000..19652cd Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/grid-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/heart-black.png b/js/libs/.jquery.mobile/images/icons-png/heart-black.png new file mode 100644 index 0000000..fda9f92 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/heart-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/heart-white.png b/js/libs/.jquery.mobile/images/icons-png/heart-white.png new file mode 100644 index 0000000..ba7a949 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/heart-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/home-black.png b/js/libs/.jquery.mobile/images/icons-png/home-black.png new file mode 100644 index 0000000..6b4e5f3 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/home-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/home-white.png b/js/libs/.jquery.mobile/images/icons-png/home-white.png new file mode 100644 index 0000000..c1f8fed Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/home-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/info-black.png b/js/libs/.jquery.mobile/images/icons-png/info-black.png new file mode 100644 index 0000000..46ee7e3 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/info-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/info-white.png b/js/libs/.jquery.mobile/images/icons-png/info-white.png new file mode 100644 index 0000000..af8346f Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/info-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/location-black.png b/js/libs/.jquery.mobile/images/icons-png/location-black.png new file mode 100644 index 0000000..4cd8998 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/location-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/location-white.png b/js/libs/.jquery.mobile/images/icons-png/location-white.png new file mode 100644 index 0000000..f6eeacd Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/location-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/lock-black.png b/js/libs/.jquery.mobile/images/icons-png/lock-black.png new file mode 100644 index 0000000..bf947e8 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/lock-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/lock-white.png b/js/libs/.jquery.mobile/images/icons-png/lock-white.png new file mode 100644 index 0000000..aa60e23 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/lock-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/mail-black.png b/js/libs/.jquery.mobile/images/icons-png/mail-black.png new file mode 100644 index 0000000..cb67c0e Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/mail-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/mail-white.png b/js/libs/.jquery.mobile/images/icons-png/mail-white.png new file mode 100644 index 0000000..06a6083 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/mail-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/minus-black.png b/js/libs/.jquery.mobile/images/icons-png/minus-black.png new file mode 100644 index 0000000..97589d7 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/minus-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/minus-white.png b/js/libs/.jquery.mobile/images/icons-png/minus-white.png new file mode 100644 index 0000000..874eaf3 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/minus-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/navigation-black.png b/js/libs/.jquery.mobile/images/icons-png/navigation-black.png new file mode 100644 index 0000000..17abd7b Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/navigation-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/navigation-white.png b/js/libs/.jquery.mobile/images/icons-png/navigation-white.png new file mode 100644 index 0000000..195388d Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/navigation-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/phone-black.png b/js/libs/.jquery.mobile/images/icons-png/phone-black.png new file mode 100644 index 0000000..6d0a09c Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/phone-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/phone-white.png b/js/libs/.jquery.mobile/images/icons-png/phone-white.png new file mode 100644 index 0000000..773b602 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/phone-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/plus-black.png b/js/libs/.jquery.mobile/images/icons-png/plus-black.png new file mode 100644 index 0000000..0854727 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/plus-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/plus-white.png b/js/libs/.jquery.mobile/images/icons-png/plus-white.png new file mode 100644 index 0000000..7b48418 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/plus-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/power-black.png b/js/libs/.jquery.mobile/images/icons-png/power-black.png new file mode 100644 index 0000000..bb95411 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/power-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/power-white.png b/js/libs/.jquery.mobile/images/icons-png/power-white.png new file mode 100644 index 0000000..8852da1 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/power-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/recycle-black.png b/js/libs/.jquery.mobile/images/icons-png/recycle-black.png new file mode 100644 index 0000000..dabed38 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/recycle-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/recycle-white.png b/js/libs/.jquery.mobile/images/icons-png/recycle-white.png new file mode 100644 index 0000000..42c37b6 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/recycle-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/refresh-black.png b/js/libs/.jquery.mobile/images/icons-png/refresh-black.png new file mode 100644 index 0000000..fb19712 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/refresh-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/refresh-white.png b/js/libs/.jquery.mobile/images/icons-png/refresh-white.png new file mode 100644 index 0000000..fdd59ad Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/refresh-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/search-black.png b/js/libs/.jquery.mobile/images/icons-png/search-black.png new file mode 100644 index 0000000..02b66cf Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/search-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/search-white.png b/js/libs/.jquery.mobile/images/icons-png/search-white.png new file mode 100644 index 0000000..274517d Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/search-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/shop-black.png b/js/libs/.jquery.mobile/images/icons-png/shop-black.png new file mode 100644 index 0000000..c2f3719 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/shop-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/shop-white.png b/js/libs/.jquery.mobile/images/icons-png/shop-white.png new file mode 100644 index 0000000..96de975 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/shop-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/star-black.png b/js/libs/.jquery.mobile/images/icons-png/star-black.png new file mode 100644 index 0000000..381e1f2 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/star-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/star-white.png b/js/libs/.jquery.mobile/images/icons-png/star-white.png new file mode 100644 index 0000000..bf6c4ab Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/star-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/tag-black.png b/js/libs/.jquery.mobile/images/icons-png/tag-black.png new file mode 100644 index 0000000..d6f65d1 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/tag-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/tag-white.png b/js/libs/.jquery.mobile/images/icons-png/tag-white.png new file mode 100644 index 0000000..fc0df96 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/tag-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/user-black.png b/js/libs/.jquery.mobile/images/icons-png/user-black.png new file mode 100644 index 0000000..1a0cb07 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/user-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/user-white.png b/js/libs/.jquery.mobile/images/icons-png/user-white.png new file mode 100644 index 0000000..f843f6f Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/user-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/video-black.png b/js/libs/.jquery.mobile/images/icons-png/video-black.png new file mode 100644 index 0000000..97e74d4 Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/video-black.png differ diff --git a/js/libs/.jquery.mobile/images/icons-png/video-white.png b/js/libs/.jquery.mobile/images/icons-png/video-white.png new file mode 100644 index 0000000..cbe8bde Binary files /dev/null and b/js/libs/.jquery.mobile/images/icons-png/video-white.png differ diff --git a/js/libs/.jquery.mobile/images/icons-svg/action-black.svg b/js/libs/.jquery.mobile/images/icons-svg/action-black.svg new file mode 100644 index 0000000..ae0670a --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/action-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/action-white.svg b/js/libs/.jquery.mobile/images/icons-svg/action-white.svg new file mode 100644 index 0000000..381b002 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/action-white.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/alert-black.svg b/js/libs/.jquery.mobile/images/icons-svg/alert-black.svg new file mode 100644 index 0000000..e1cf40c --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/alert-black.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/alert-white.svg b/js/libs/.jquery.mobile/images/icons-svg/alert-white.svg new file mode 100644 index 0000000..69d8c0a --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/alert-white.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/arrow-d-black.svg b/js/libs/.jquery.mobile/images/icons-svg/arrow-d-black.svg new file mode 100644 index 0000000..7a8b7de --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/arrow-d-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/arrow-d-l-black.svg b/js/libs/.jquery.mobile/images/icons-svg/arrow-d-l-black.svg new file mode 100644 index 0000000..8c8d305 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/arrow-d-l-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/arrow-d-l-white.svg b/js/libs/.jquery.mobile/images/icons-svg/arrow-d-l-white.svg new file mode 100644 index 0000000..f7379cd --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/arrow-d-l-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/arrow-d-r-black.svg b/js/libs/.jquery.mobile/images/icons-svg/arrow-d-r-black.svg new file mode 100644 index 0000000..95861e0 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/arrow-d-r-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/arrow-d-r-white.svg b/js/libs/.jquery.mobile/images/icons-svg/arrow-d-r-white.svg new file mode 100644 index 0000000..7874ca8 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/arrow-d-r-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/arrow-d-white.svg b/js/libs/.jquery.mobile/images/icons-svg/arrow-d-white.svg new file mode 100644 index 0000000..f80ad1b --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/arrow-d-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/arrow-l-black.svg b/js/libs/.jquery.mobile/images/icons-svg/arrow-l-black.svg new file mode 100644 index 0000000..0190649 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/arrow-l-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/arrow-l-white.svg b/js/libs/.jquery.mobile/images/icons-svg/arrow-l-white.svg new file mode 100644 index 0000000..d9de81d --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/arrow-l-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/arrow-r-black.svg b/js/libs/.jquery.mobile/images/icons-svg/arrow-r-black.svg new file mode 100644 index 0000000..7853c5f --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/arrow-r-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/arrow-r-white.svg b/js/libs/.jquery.mobile/images/icons-svg/arrow-r-white.svg new file mode 100644 index 0000000..8c28fc7 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/arrow-r-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/arrow-u-black.svg b/js/libs/.jquery.mobile/images/icons-svg/arrow-u-black.svg new file mode 100644 index 0000000..abf9d90 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/arrow-u-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/arrow-u-l-black.svg b/js/libs/.jquery.mobile/images/icons-svg/arrow-u-l-black.svg new file mode 100644 index 0000000..08b5c6d --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/arrow-u-l-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/arrow-u-l-white.svg b/js/libs/.jquery.mobile/images/icons-svg/arrow-u-l-white.svg new file mode 100644 index 0000000..234471e --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/arrow-u-l-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/arrow-u-r-black.svg b/js/libs/.jquery.mobile/images/icons-svg/arrow-u-r-black.svg new file mode 100644 index 0000000..db1536d --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/arrow-u-r-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/arrow-u-r-white.svg b/js/libs/.jquery.mobile/images/icons-svg/arrow-u-r-white.svg new file mode 100644 index 0000000..5a510f2 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/arrow-u-r-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/arrow-u-white.svg b/js/libs/.jquery.mobile/images/icons-svg/arrow-u-white.svg new file mode 100644 index 0000000..7e2aeb2 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/arrow-u-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/audio-black.svg b/js/libs/.jquery.mobile/images/icons-svg/audio-black.svg new file mode 100644 index 0000000..f3651d7 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/audio-black.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/audio-white.svg b/js/libs/.jquery.mobile/images/icons-svg/audio-white.svg new file mode 100644 index 0000000..a689699 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/audio-white.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/back-black.svg b/js/libs/.jquery.mobile/images/icons-svg/back-black.svg new file mode 100644 index 0000000..0b281e8 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/back-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/back-white.svg b/js/libs/.jquery.mobile/images/icons-svg/back-white.svg new file mode 100644 index 0000000..c13ff0a --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/back-white.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/bars-black.svg b/js/libs/.jquery.mobile/images/icons-svg/bars-black.svg new file mode 100644 index 0000000..86b42c9 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/bars-black.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/bars-white.svg b/js/libs/.jquery.mobile/images/icons-svg/bars-white.svg new file mode 100644 index 0000000..035c299 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/bars-white.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/bullets-black.svg b/js/libs/.jquery.mobile/images/icons-svg/bullets-black.svg new file mode 100644 index 0000000..cd96193 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/bullets-black.svg @@ -0,0 +1,10 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/bullets-white.svg b/js/libs/.jquery.mobile/images/icons-svg/bullets-white.svg new file mode 100644 index 0000000..4655f15 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/bullets-white.svg @@ -0,0 +1,11 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/calendar-black.svg b/js/libs/.jquery.mobile/images/icons-svg/calendar-black.svg new file mode 100644 index 0000000..5c3aede --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/calendar-black.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/calendar-white.svg b/js/libs/.jquery.mobile/images/icons-svg/calendar-white.svg new file mode 100644 index 0000000..177dab9 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/calendar-white.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/camera-black.svg b/js/libs/.jquery.mobile/images/icons-svg/camera-black.svg new file mode 100644 index 0000000..58a3182 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/camera-black.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/camera-white.svg b/js/libs/.jquery.mobile/images/icons-svg/camera-white.svg new file mode 100644 index 0000000..78c620e --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/camera-white.svg @@ -0,0 +1,10 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/carat-d-black.svg b/js/libs/.jquery.mobile/images/icons-svg/carat-d-black.svg new file mode 100644 index 0000000..03dc079 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/carat-d-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/carat-d-white.svg b/js/libs/.jquery.mobile/images/icons-svg/carat-d-white.svg new file mode 100644 index 0000000..21ea91f --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/carat-d-white.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/carat-l-black.svg b/js/libs/.jquery.mobile/images/icons-svg/carat-l-black.svg new file mode 100644 index 0000000..bc853bc --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/carat-l-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/carat-l-white.svg b/js/libs/.jquery.mobile/images/icons-svg/carat-l-white.svg new file mode 100644 index 0000000..d9a6ce7 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/carat-l-white.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/carat-r-black.svg b/js/libs/.jquery.mobile/images/icons-svg/carat-r-black.svg new file mode 100644 index 0000000..594cfa2 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/carat-r-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/carat-r-white.svg b/js/libs/.jquery.mobile/images/icons-svg/carat-r-white.svg new file mode 100644 index 0000000..d384145 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/carat-r-white.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/carat-u-black.svg b/js/libs/.jquery.mobile/images/icons-svg/carat-u-black.svg new file mode 100644 index 0000000..7647d06 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/carat-u-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/carat-u-white.svg b/js/libs/.jquery.mobile/images/icons-svg/carat-u-white.svg new file mode 100644 index 0000000..cdbc1cf --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/carat-u-white.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/check-black.svg b/js/libs/.jquery.mobile/images/icons-svg/check-black.svg new file mode 100644 index 0000000..a4b8663 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/check-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/check-white.svg b/js/libs/.jquery.mobile/images/icons-svg/check-white.svg new file mode 100644 index 0000000..7afefd5 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/check-white.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/clock-black.svg b/js/libs/.jquery.mobile/images/icons-svg/clock-black.svg new file mode 100644 index 0000000..c68abef --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/clock-black.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/clock-white.svg b/js/libs/.jquery.mobile/images/icons-svg/clock-white.svg new file mode 100644 index 0000000..5589238 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/clock-white.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/cloud-black.svg b/js/libs/.jquery.mobile/images/icons-svg/cloud-black.svg new file mode 100644 index 0000000..ddfbde5 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/cloud-black.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/cloud-white.svg b/js/libs/.jquery.mobile/images/icons-svg/cloud-white.svg new file mode 100644 index 0000000..d5b0794 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/cloud-white.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/comment-black.svg b/js/libs/.jquery.mobile/images/icons-svg/comment-black.svg new file mode 100644 index 0000000..485fcc8 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/comment-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/comment-white.svg b/js/libs/.jquery.mobile/images/icons-svg/comment-white.svg new file mode 100644 index 0000000..8d188db --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/comment-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/delete-black.svg b/js/libs/.jquery.mobile/images/icons-svg/delete-black.svg new file mode 100644 index 0000000..74d9988 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/delete-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/delete-white.svg b/js/libs/.jquery.mobile/images/icons-svg/delete-white.svg new file mode 100644 index 0000000..a6cc735 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/delete-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/edit-black.svg b/js/libs/.jquery.mobile/images/icons-svg/edit-black.svg new file mode 100644 index 0000000..d908f9d --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/edit-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/edit-white.svg b/js/libs/.jquery.mobile/images/icons-svg/edit-white.svg new file mode 100644 index 0000000..a88643d --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/edit-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/eye-black.svg b/js/libs/.jquery.mobile/images/icons-svg/eye-black.svg new file mode 100644 index 0000000..d55bc65 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/eye-black.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/eye-white.svg b/js/libs/.jquery.mobile/images/icons-svg/eye-white.svg new file mode 100644 index 0000000..f95ad50 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/eye-white.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/forbidden-black.svg b/js/libs/.jquery.mobile/images/icons-svg/forbidden-black.svg new file mode 100644 index 0000000..fe831bc --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/forbidden-black.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/forbidden-white.svg b/js/libs/.jquery.mobile/images/icons-svg/forbidden-white.svg new file mode 100644 index 0000000..710ac39 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/forbidden-white.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/forward-black.svg b/js/libs/.jquery.mobile/images/icons-svg/forward-black.svg new file mode 100644 index 0000000..b0001d9 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/forward-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/forward-white.svg b/js/libs/.jquery.mobile/images/icons-svg/forward-white.svg new file mode 100644 index 0000000..e1f3a6a --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/forward-white.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/gear-black.svg b/js/libs/.jquery.mobile/images/icons-svg/gear-black.svg new file mode 100644 index 0000000..4f397c5 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/gear-black.svg @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/gear-white.svg b/js/libs/.jquery.mobile/images/icons-svg/gear-white.svg new file mode 100644 index 0000000..3a5668f --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/gear-white.svg @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/grid-black.svg b/js/libs/.jquery.mobile/images/icons-svg/grid-black.svg new file mode 100644 index 0000000..e692e1f --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/grid-black.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/grid-white.svg b/js/libs/.jquery.mobile/images/icons-svg/grid-white.svg new file mode 100644 index 0000000..5cfaa7c --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/grid-white.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/heart-black.svg b/js/libs/.jquery.mobile/images/icons-svg/heart-black.svg new file mode 100644 index 0000000..f4946b0 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/heart-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/heart-white.svg b/js/libs/.jquery.mobile/images/icons-svg/heart-white.svg new file mode 100644 index 0000000..190ebef --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/heart-white.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/home-black.svg b/js/libs/.jquery.mobile/images/icons-svg/home-black.svg new file mode 100644 index 0000000..a4950a3 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/home-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/home-white.svg b/js/libs/.jquery.mobile/images/icons-svg/home-white.svg new file mode 100644 index 0000000..b7c1a61 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/home-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/info-black.svg b/js/libs/.jquery.mobile/images/icons-svg/info-black.svg new file mode 100644 index 0000000..151cfa2 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/info-black.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/info-white.svg b/js/libs/.jquery.mobile/images/icons-svg/info-white.svg new file mode 100644 index 0000000..dd0f885 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/info-white.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/location-black.svg b/js/libs/.jquery.mobile/images/icons-svg/location-black.svg new file mode 100644 index 0000000..4a29d73 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/location-black.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/location-white.svg b/js/libs/.jquery.mobile/images/icons-svg/location-white.svg new file mode 100644 index 0000000..2b6ac8a --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/location-white.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/lock-black.svg b/js/libs/.jquery.mobile/images/icons-svg/lock-black.svg new file mode 100644 index 0000000..0a005ea --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/lock-black.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/lock-white.svg b/js/libs/.jquery.mobile/images/icons-svg/lock-white.svg new file mode 100644 index 0000000..b1e042c --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/lock-white.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/mail-black.svg b/js/libs/.jquery.mobile/images/icons-svg/mail-black.svg new file mode 100644 index 0000000..635c615 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/mail-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/mail-white.svg b/js/libs/.jquery.mobile/images/icons-svg/mail-white.svg new file mode 100644 index 0000000..547f512 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/mail-white.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/minus-black.svg b/js/libs/.jquery.mobile/images/icons-svg/minus-black.svg new file mode 100644 index 0000000..a20df14 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/minus-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/minus-white.svg b/js/libs/.jquery.mobile/images/icons-svg/minus-white.svg new file mode 100644 index 0000000..8063cdc --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/minus-white.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/navigation-black.svg b/js/libs/.jquery.mobile/images/icons-svg/navigation-black.svg new file mode 100644 index 0000000..6867808 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/navigation-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/navigation-white.svg b/js/libs/.jquery.mobile/images/icons-svg/navigation-white.svg new file mode 100644 index 0000000..0d3115f --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/navigation-white.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/phone-black.svg b/js/libs/.jquery.mobile/images/icons-svg/phone-black.svg new file mode 100644 index 0000000..cf84c78 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/phone-black.svg @@ -0,0 +1,12 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/phone-white.svg b/js/libs/.jquery.mobile/images/icons-svg/phone-white.svg new file mode 100644 index 0000000..825425e --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/phone-white.svg @@ -0,0 +1,12 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/plus-black.svg b/js/libs/.jquery.mobile/images/icons-svg/plus-black.svg new file mode 100644 index 0000000..2e268b0 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/plus-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/plus-white.svg b/js/libs/.jquery.mobile/images/icons-svg/plus-white.svg new file mode 100644 index 0000000..488129f --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/plus-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/power-black.svg b/js/libs/.jquery.mobile/images/icons-svg/power-black.svg new file mode 100644 index 0000000..461ea1f --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/power-black.svg @@ -0,0 +1,12 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/power-white.svg b/js/libs/.jquery.mobile/images/icons-svg/power-white.svg new file mode 100644 index 0000000..5c82ba7 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/power-white.svg @@ -0,0 +1,12 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/recycle-black.svg b/js/libs/.jquery.mobile/images/icons-svg/recycle-black.svg new file mode 100644 index 0000000..25078b7 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/recycle-black.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/recycle-white.svg b/js/libs/.jquery.mobile/images/icons-svg/recycle-white.svg new file mode 100644 index 0000000..8a9f5e7 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/recycle-white.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/refresh-black.svg b/js/libs/.jquery.mobile/images/icons-svg/refresh-black.svg new file mode 100644 index 0000000..16c978c --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/refresh-black.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/refresh-white.svg b/js/libs/.jquery.mobile/images/icons-svg/refresh-white.svg new file mode 100644 index 0000000..fa370e6 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/refresh-white.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/search-black.svg b/js/libs/.jquery.mobile/images/icons-svg/search-black.svg new file mode 100644 index 0000000..229b221 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/search-black.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/search-white.svg b/js/libs/.jquery.mobile/images/icons-svg/search-white.svg new file mode 100644 index 0000000..a54a52a --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/search-white.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/shop-black.svg b/js/libs/.jquery.mobile/images/icons-svg/shop-black.svg new file mode 100644 index 0000000..ba541b4 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/shop-black.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/shop-white.svg b/js/libs/.jquery.mobile/images/icons-svg/shop-white.svg new file mode 100644 index 0000000..3acf9e8 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/shop-white.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/star-black.svg b/js/libs/.jquery.mobile/images/icons-svg/star-black.svg new file mode 100644 index 0000000..43076c0 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/star-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/star-white.svg b/js/libs/.jquery.mobile/images/icons-svg/star-white.svg new file mode 100644 index 0000000..e0cc53d --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/star-white.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/tag-black.svg b/js/libs/.jquery.mobile/images/icons-svg/tag-black.svg new file mode 100644 index 0000000..bd11ae6 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/tag-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/tag-white.svg b/js/libs/.jquery.mobile/images/icons-svg/tag-white.svg new file mode 100644 index 0000000..7cd4a50 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/tag-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/user-black.svg b/js/libs/.jquery.mobile/images/icons-svg/user-black.svg new file mode 100644 index 0000000..7530c98 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/user-black.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/user-white.svg b/js/libs/.jquery.mobile/images/icons-svg/user-white.svg new file mode 100644 index 0000000..5528c2e --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/user-white.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/video-black.svg b/js/libs/.jquery.mobile/images/icons-svg/video-black.svg new file mode 100644 index 0000000..9474acd --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/video-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/images/icons-svg/video-white.svg b/js/libs/.jquery.mobile/images/icons-svg/video-white.svg new file mode 100644 index 0000000..3619868 --- /dev/null +++ b/js/libs/.jquery.mobile/images/icons-svg/video-white.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/js/libs/.jquery.mobile/jquery.mobile-1.4.2.css b/js/libs/.jquery.mobile/jquery.mobile-1.4.2.css new file mode 100644 index 0000000..f2bc600 --- /dev/null +++ b/js/libs/.jquery.mobile/jquery.mobile-1.4.2.css @@ -0,0 +1,4698 @@ +/*! +* jQuery Mobile 1.4.2 +* Git HEAD hash: 9d9a42a27d0c693e8b5569c3a10d771916af5045 <> Date: Fri Feb 28 2014 17:32:01 UTC +* http://jquerymobile.com +* +* Copyright 2010, 2014 jQuery Foundation, Inc. and other contributors +* Released under the MIT license. +* http://jquery.org/license +* +*/ + + +/* SVG icons */ +.ui-icon-action:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M9%2C5v3l5-4L9%2C0v3c0%2C0-5%2C0-5%2C7C6%2C5%2C9%2C5%2C9%2C5z%20M11%2C12H2V5h1l2-2H0v11h13V7l-2%2C2V12z%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-icon-alert:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C0L0%2C12h14L7%2C0z%20M7%2C11c-0.553%2C0-1-0.447-1-1s0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1S7.553%2C11%2C7%2C11z%20M7%2C8%20C6.447%2C8%2C6%2C7.553%2C6%2C7V5c0-0.553%2C0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1v2C8%2C7.553%2C7.553%2C8%2C7%2C8z%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-icon-arrow-d-l:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C3%2011%2C0%203.5%2C7.5%200%2C4%200%2C14%2010%2C14%206.5%2C10.5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-icon-arrow-d-r:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2210.5%2C7.5%203%2C0%200%2C3%207.5%2C10.5%204%2C14%2014%2C14%2014%2C4%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-icon-arrow-d:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%229%2C7%209%2C0%205%2C0%205%2C7%200%2C7%207%2C14%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-icon-arrow-l:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C5%207%2C0%200%2C7%207%2C14%207%2C9%2014%2C9%2014%2C5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-icon-arrow-r:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C7%207%2C0%207%2C5%200%2C5%200%2C9%207%2C9%207%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-icon-arrow-u-l:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C11%206.5%2C3.5%2010%2C0%200%2C0%200%2C10%203.5%2C6.5%2011%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-icon-arrow-u-r:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C0%204%2C0%207.5%2C3.5%200%2C11%203%2C14%2010.5%2C6.5%2014%2C10%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-icon-arrow-u:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C0%200%2C7%205%2C7%205%2C14%209%2C14%209%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-icon-audio:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.018px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014.018%2014%22%20style%3D%22enable-background%3Anew%200%200%2014.018%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M1%2C4C0.447%2C4%2C0%2C4.447%2C0%2C5v4c0%2C0.553%2C0.447%2C1%2C1%2C1h1l4%2C4V0L2%2C4H1z%20M10.346%2C7c0-1.699-1.042-3.154-2.546-3.867L6.982%2C4.68%20C7.885%2C5.107%2C8.51%2C5.98%2C8.51%2C7S7.885%2C8.893%2C6.982%2C9.32L7.8%2C10.867C9.304%2C10.154%2C10.346%2C8.699%2C10.346%2C7z%20M9.447%2C0.017L8.618%2C1.586%20C10.723%2C2.584%2C12.182%2C4.621%2C12.182%2C7s-1.459%2C4.416-3.563%2C5.414l0.829%2C1.569c2.707-1.283%2C4.57-3.925%2C4.57-6.983%20S12.154%2C1.3%2C9.447%2C0.017z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-icon-back:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M5%2C3V0L1%2C4l4%2C4V5c0%2C0%2C6%2C0%2C6%2C3s-5%2C4-5%2C4v2c0%2C0%2C7-1%2C7-6C13%2C4%2C8%2C3%2C5%2C3z%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-icon-bars:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M1%2C4h12c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H1C0.447%2C2%2C0%2C2.447%2C0%2C3S0.447%2C4%2C1%2C4z%20M13%2C6H1%20C0.447%2C6%2C0%2C6.447%2C0%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H1c-0.553%2C0-1%2C0.447-1%2C1%20s0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-icon-bullets:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M5%2C4h8c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H5C4.447%2C2%2C4%2C2.447%2C4%2C3S4.447%2C4%2C5%2C4z%20M13%2C6H5%20C4.447%2C6%2C4%2C6.447%2C4%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H5c-0.553%2C0-1%2C0.447-1%2C1%20s0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%20M1%2C2C0.447%2C2%2C0%2C2.447%2C0%2C3s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C2%2C1%2C2z%20M1%2C6%20C0.447%2C6%2C0%2C6.447%2C0%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1s1-0.447%2C1-1C2%2C6.447%2C1.553%2C6%2C1%2C6z%20M1%2C10c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1s1-0.447%2C1-1%20S1.553%2C10%2C1%2C10z%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-icon-calendar:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M0%2C8h2V6H0V8z%20M3%2C8h2V6H3V8z%20M6%2C8h2V6H6V8z%20M9%2C8h2V6H9V8z%20M12%2C8h2V6h-2V8z%20M0%2C11h2V9H0V11z%20M3%2C11h2V9H3V11z%20M6%2C11h2V9H6V11z%20%20M9%2C11h2V9H9V11z%20M12%2C11h2V9h-2V11z%20M0%2C14h2v-2H0V14z%20M3%2C14h2v-2H3V14z%20M6%2C14h2v-2H6V14z%20M9%2C14h2v-2H9V14z%20M12%2C1%20c0-0.553-0.447-1-1-1s-1%2C0.447-1%2C1H4c0-0.553-0.447-1-1-1S2%2C0.447%2C2%2C1H0v4h14V1H12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-icon-camera:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M12%2C2.5H9.908c-0.206-0.581-0.756-1-1.408-1h-3c-0.652%2C0-1.202%2C0.419-1.408%2C1H2c-1.104%2C0-2%2C0.896-2%2C2%20v6c0%2C1.104%2C0.896%2C2%2C2%2C2h10c1.104%2C0%2C2-0.896%2C2-2v-6C14%2C3.396%2C13.104%2C2.5%2C12%2C2.5z%20M7%2C10.5c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3C10%2C9.156%2C8.657%2C10.5%2C7%2C10.5z%20M7%2C5.5c-1.104%2C0-2%2C0.896-2%2C2c0%2C1.104%2C0.896%2C2%2C2%2C2c1.104%2C0%2C2-0.896%2C2-2%20C9%2C6.396%2C8.104%2C5.5%2C7%2C5.5z%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-icon-carat-d:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2211.949%2C3.404%207%2C8.354%202.05%2C3.404%20-0.071%2C5.525%207%2C12.596%2014.07%2C5.525%20%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-icon-carat-l:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2210.596%2C11.949%205.646%2C7%2010.596%2C2.05%208.475%2C-0.071%201.404%2C7%208.475%2C14.07%20%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-icon-carat-r:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%223.404%2C2.051%208.354%2C7%203.404%2C11.95%205.525%2C14.07%2012.596%2C7%205.525%2C-0.071%20%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-icon-carat-u:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%222.051%2C10.596%207%2C5.646%2011.95%2C10.596%2014.07%2C8.475%207%2C1.404%20-0.071%2C8.475%20%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-icon-check:after, +/* Used ui-checkbox-on twice to increase specificity. If active state has background-image for gradient this rule overrides. */ +html .ui-btn.ui-checkbox-on.ui-checkbox-on:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2214%2C4%2011%2C1%205.003%2C6.997%203%2C5%200%2C8%204.966%2C13%204.983%2C12.982%205%2C13%20%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-icon-clock:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C12c-2.762%2C0-5-2.238-5-5s2.238-5%2C5-5s5%2C2.238%2C5%2C5%20S9.762%2C12%2C7%2C12z%20M9%2C6H8V4c0-0.553-0.447-1-1-1S6%2C3.447%2C6%2C4v3c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1S9.553%2C6%2C9%2C6z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-icon-cloud:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M14%2C9.5c0-0.793-0.465-1.473-1.134-1.795C12.949%2C7.484%2C13%2C7.249%2C13%2C7c0-1.104-0.896-2-2-2%20c-0.158%2C0-0.311%2C0.023-0.457%2C0.058C9.816%2C3.549%2C8.286%2C2.5%2C6.5%2C2.5c-2.33%2C0-4.224%2C1.777-4.454%2C4.046C0.883%2C6.76%2C0%2C7.773%2C0%2C9%20c0%2C1.381%2C1.119%2C2.5%2C2.5%2C2.5h10v-0.07C13.361%2C11.206%2C14%2C10.432%2C14%2C9.5z%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-icon-comment:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M12%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v7c0%2C1.104%2C0.896%2C2%2C2%2C2h1v3l3-3h6c1.104%2C0%2C2-0.896%2C2-2V2C14%2C0.896%2C13.104%2C0%2C12%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-icon-delete:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C3%2011%2C0%207%2C4%203%2C0%200%2C3%204%2C7%200%2C11%203%2C14%207%2C10%2011%2C14%2014%2C11%2010%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-icon-edit:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M1%2C10l-1%2C4l4-1l7-7L8%2C3L1%2C10z%20M11%2C0L9%2C2l3%2C3l2-2L11%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-icon-eye:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C2C3%2C2%2C0%2C7%2C0%2C7s3%2C5%2C7%2C5s7-5%2C7-5S11%2C2%2C7%2C2z%20M7%2C10c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3C10%2C8.656%2C8.657%2C10%2C7%2C10z%20M7%2C6C6.448%2C6%2C6%2C6.447%2C6%2C7c0%2C0.553%2C0.448%2C1%2C1%2C1s1-0.447%2C1-1C8%2C6.447%2C7.552%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-icon-forbidden:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M12.601%2C11.187C13.476%2C10.018%2C14%2C8.572%2C14%2C7c0-3.866-3.134-7-7-7C5.428%2C0%2C3.982%2C0.524%2C2.813%2C1.399L2.757%2C1.343L2.053%2C2.048%20L2.048%2C2.053L1.343%2C2.758l0.056%2C0.056C0.524%2C3.982%2C0%2C5.428%2C0%2C7c0%2C3.866%2C3.134%2C7%2C7%2C7c1.572%2C0%2C3.018-0.524%2C4.187-1.399l0.056%2C0.057%20l0.705-0.705l0.005-0.005l0.705-0.705L12.601%2C11.187z%20M7%2C2c2.761%2C0%2C5%2C2.238%2C5%2C5c0%2C1.019-0.308%2C1.964-0.832%2C2.754L4.246%2C2.832%20C5.036%2C2.308%2C5.981%2C2%2C7%2C2z%20M7%2C12c-2.761%2C0-5-2.238-5-5c0-1.019%2C0.308-1.964%2C0.832-2.754l6.922%2C6.922C8.964%2C11.692%2C8.019%2C12%2C7%2C12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-icon-forward:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M13%2C4L9%2C0v3C6%2C3%2C1%2C4%2C1%2C8c0%2C5%2C7%2C6%2C7%2C6v-2c0%2C0-5-1-5-4s6-3%2C6-3v3L13%2C4z%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-icon-gear:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M13.621%2C5.904l-1.036-0.259c-0.168-0.042-0.303-0.168-0.355-0.332c-0.092-0.284-0.205-0.559-0.339-0.82%20c-0.079-0.153-0.073-0.337%2C0.017-0.486l0.549-0.915c0.118-0.196%2C0.088-0.448-0.075-0.61l-0.862-0.863%20c-0.162-0.163-0.414-0.193-0.611-0.075l-0.916%2C0.55C9.844%2C2.182%2C9.659%2C2.188%2C9.506%2C2.109C9.244%2C1.975%2C8.97%2C1.861%2C8.686%2C1.77%20c-0.165-0.052-0.29-0.187-0.332-0.354L8.095%2C0.379C8.039%2C0.156%2C7.839%2C0%2C7.609%2C0H6.391c-0.229%2C0-0.43%2C0.156-0.485%2C0.379L5.646%2C1.415%20C5.604%2C1.582%2C5.479%2C1.718%2C5.313%2C1.77c-0.284%2C0.092-0.559%2C0.206-0.82%2C0.34C4.339%2C2.188%2C4.155%2C2.182%2C4.007%2C2.093L3.092%2C1.544%20c-0.196-0.118-0.448-0.087-0.61%2C0.075L1.619%2C2.481C1.457%2C2.644%2C1.426%2C2.896%2C1.544%2C3.093l0.549%2C0.914%20c0.089%2C0.148%2C0.095%2C0.332%2C0.017%2C0.486C1.975%2C4.755%2C1.861%2C5.029%2C1.77%2C5.314c-0.053%2C0.164-0.188%2C0.29-0.354%2C0.332L0.379%2C5.905%20C0.156%2C5.961%2C0%2C6.161%2C0%2C6.391v1.219c0%2C0.229%2C0.156%2C0.43%2C0.379%2C0.485l1.036%2C0.26C1.582%2C8.396%2C1.717%2C8.521%2C1.77%2C8.687%20c0.092%2C0.284%2C0.205%2C0.559%2C0.34%2C0.82C2.188%2C9.66%2C2.182%2C9.844%2C2.093%2C9.993l-0.549%2C0.915c-0.118%2C0.195-0.087%2C0.448%2C0.075%2C0.61%20l0.862%2C0.862c0.162%2C0.163%2C0.414%2C0.193%2C0.61%2C0.075l0.915-0.549c0.148-0.089%2C0.332-0.095%2C0.486-0.017%20c0.262%2C0.135%2C0.536%2C0.248%2C0.82%2C0.34c0.165%2C0.053%2C0.291%2C0.187%2C0.332%2C0.354l0.259%2C1.036C5.96%2C13.844%2C6.16%2C14%2C6.39%2C14h1.22%20c0.229%2C0%2C0.43-0.156%2C0.485-0.379l0.259-1.036c0.042-0.167%2C0.168-0.302%2C0.333-0.354c0.284-0.092%2C0.559-0.205%2C0.82-0.34%20c0.154-0.078%2C0.338-0.072%2C0.486%2C0.017l0.914%2C0.549c0.197%2C0.118%2C0.449%2C0.088%2C0.611-0.074l0.862-0.863%20c0.163-0.162%2C0.193-0.415%2C0.075-0.611l-0.549-0.915c-0.089-0.148-0.096-0.332-0.017-0.485c0.134-0.263%2C0.248-0.536%2C0.339-0.82%20c0.053-0.165%2C0.188-0.291%2C0.355-0.333l1.036-0.259C13.844%2C8.039%2C14%2C7.839%2C14%2C7.609V6.39C14%2C6.16%2C13.844%2C5.96%2C13.621%2C5.904z%20M7%2C10%20c-1.657%2C0-3-1.343-3-3s1.343-3%2C3-3s3%2C1.343%2C3%2C3S8.657%2C10%2C7%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-icon-grid:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M3%2C0H1C0.447%2C0%2C0%2C0.447%2C0%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C4%2C0.447%2C3.553%2C0%2C3%2C0z%20M8%2C0H6%20C5.447%2C0%2C5%2C0.447%2C5%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C9%2C0.447%2C8.553%2C0%2C8%2C0z%20M13%2C0h-2c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C14%2C0.447%2C13.553%2C0%2C13%2C0z%20M3%2C5H1C0.447%2C5%2C0%2C5.447%2C0%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1V6C4%2C5.447%2C3.553%2C5%2C3%2C5z%20M8%2C5H6C5.447%2C5%2C5%2C5.447%2C5%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6%20C9%2C5.447%2C8.553%2C5%2C8%2C5z%20M13%2C5h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6C14%2C5.447%2C13.553%2C5%2C13%2C5z%20M3%2C10%20H1c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C4%2C10.447%2C3.553%2C10%2C3%2C10z%20M8%2C10H6c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C9%2C10.447%2C8.553%2C10%2C8%2C10z%20M13%2C10h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1v-2C14%2C10.447%2C13.553%2C10%2C13%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-icon-heart:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C1.872c-2-3-7-2-7%2C2c0%2C3%2C4%2C7%2C4%2C7s2.417%2C2.479%2C3%2C3c0.583-0.521%2C3-3%2C3-3s4-4%2C4-7%20C14-0.128%2C9-1.128%2C7%2C1.872z%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-icon-home:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C0%200%2C7%202%2C7%202%2C14%205%2C14%205%2C9%209%2C9%209%2C14%2012%2C14%2012%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-icon-info:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C2c0.552%2C0%2C1%2C0.447%2C1%2C1S7.552%2C4%2C7%2C4S6%2C3.553%2C6%2C3%20S6.448%2C2%2C7%2C2z%20M9%2C11H5v-1h1V6H5V5h3v5h1V11z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-icon-location:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C0C4.791%2C0%2C3%2C1.791%2C3%2C4c0%2C2%2C4%2C10%2C4%2C10s4-8%2C4-10C11%2C1.791%2C9.209%2C0%2C7%2C0z%20M7%2C6C5.896%2C6%2C5%2C5.104%2C5%2C4%20s0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2S8.104%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-icon-lock:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M12%2C6V5c0-2.762-2.238-5-5-5C4.239%2C0%2C2%2C2.238%2C2%2C5v1H1v8h12V6H12z%20M7.5%2C9.848V12h-1V9.848%20C6.207%2C9.673%2C6%2C9.366%2C6%2C9c0-0.553%2C0.448-1%2C1-1s1%2C0.447%2C1%2C1C8%2C9.366%2C7.793%2C9.673%2C7.5%2C9.848z%20M10%2C6H4V5c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3V6z%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-icon-mail:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M0%2C3.75V12h14V3.75L7%2C9L0%2C3.75z%20M14%2C2H0l7%2C5L14%2C2z%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-icon-minus:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Crect%20y%3D%225%22%20style%3D%22fill%3A%23FFFFFF%3B%22%20width%3D%2214%22%20height%3D%224%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-icon-navigation:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2213%2C1%200%2C6%207%2C7%208%2C14%20%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-icon-phone:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%22-0.01%200.008%2014%2014%22%20style%3D%22enable-background%3Anew%20-0.01%200.008%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M6.939%2C9.189C6.165%2C8.557%2C5.271%2C7.705%2C4.497%2C6.744C3.953%2C6.071%2C3.473%2C5.363%2C3.969%2C4.866l-3.482-3.48%20C-0.021%2C2.02-1.146%2C5.04%2C3.675%2C9.984c5.08%2C5.211%2C8.356%2C4.097%2C8.92%2C3.511l-3.396-3.4C8.725%2C10.568%2C8.113%2C10.146%2C6.939%2C9.189z%20%20M13.82%2C11.519v-0.004c0%2C0-2.648-2.646-2.649-2.647c-0.21-0.211-0.546-0.205-0.754%2C0.002L9.455%2C9.831l3.403%2C3.407%20c0%2C0%2C0.962-0.96%2C0.961-0.961l0.002-0.001C14.043%2C12.056%2C14.021%2C11.721%2C13.82%2C11.519z%20M5.192%2C3.644V3.642%20c0.222-0.222%2C0.2-0.557%2C0-0.758V2.881c0%2C0-2.726-2.725-2.727-2.726C2.255-0.055%2C1.92-0.05%2C1.712%2C0.156L0.751%2C1.121l3.479%2C3.482%20C4.231%2C4.604%2C5.192%2C3.645%2C5.192%2C3.644z%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-icon-plus:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C5%209%2C5%209%2C0%205%2C0%205%2C5%200%2C5%200%2C9%205%2C9%205%2C14%209%2C14%209%2C9%2014%2C9%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-icon-power:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M11.243%2C2.408c-0.392-0.401-1.024-0.401-1.415%2C0c-0.391%2C0.401-0.391%2C1.054%2C0%2C1.455%20C10.584%2C4.642%2C11%2C5.675%2C11%2C6.773s-0.416%2C2.133-1.172%2C2.91c-1.512%2C1.558-4.145%2C1.558-5.656%2C0C3.416%2C8.904%2C3%2C7.872%2C3%2C6.773%20C3%2C5.673%2C3.416%2C4.64%2C4.172%2C3.863c0.39-0.401%2C0.39-1.054%2C0-1.455c-0.391-0.401-1.024-0.401-1.415%2C0C1.624%2C3.574%2C1%2C5.125%2C1%2C6.773%20c0%2C1.647%2C0.624%2C3.199%2C1.757%2C4.365c1.134%2C1.166%2C2.64%2C1.809%2C4.243%2C1.809c1.604%2C0%2C3.109-0.645%2C4.243-1.811%20C12.376%2C9.975%2C13%2C8.423%2C13%2C6.773C13%2C5.125%2C12.376%2C3.574%2C11.243%2C2.408z%20M7%2C8.053c0.553%2C0%2C1-0.445%2C1-1v-6c0-0.553-0.447-1-1-1%20c-0.553%2C0-1%2C0.447-1%2C1v6C6%2C7.604%2C6.447%2C8.053%2C7%2C8.053z%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-icon-recycle:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M3%2C7h1L2%2C4L0%2C7h1c0%2C3.313%2C2.687%2C6%2C6%2C6c0.702%2C0%2C1.374-0.127%2C2-0.35v-2.205C8.41%2C10.789%2C7.732%2C11%2C7%2C11%20C4.791%2C11%2C3%2C9.209%2C3%2C7z%20M13%2C7c0-3.313-2.688-6-6-6C6.298%2C1%2C5.626%2C1.127%2C5%2C1.349v2.206C5.59%2C3.211%2C6.268%2C3%2C7%2C3c2.209%2C0%2C4%2C1.791%2C4%2C4%20h-1l2%2C3l2-3H13z%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-icon-refresh:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.001px%22%20height%3D%2214.002px%22%20viewBox%3D%220%200%2014.001%2014.002%22%20style%3D%22enable-background%3Anew%200%200%2014.001%2014.002%3B%22%20%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M14.001%2C6.001v-6l-2.06%2C2.06c-0.423-0.424-0.897-0.809-1.44-1.122C7.153-0.994%2C2.872%2C0.153%2C0.939%2C3.501%20c-1.933%2C3.348-0.786%2C7.629%2C2.562%2C9.562c3.348%2C1.933%2C7.629%2C0.785%2C9.562-2.562l-1.732-1c-1.381%2C2.392-4.438%2C3.211-6.83%2C1.83%20s-3.211-4.438-1.83-6.83s4.438-3.211%2C6.83-1.83c0.389%2C0.225%2C0.718%2C0.506%2C1.02%2C0.81l-2.52%2C2.52H14.001z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-icon-search:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M10.171%2C8.766c0.617-0.888%2C0.979-1.964%2C0.979-3.126c0-3.037-2.463-5.5-5.5-5.5s-5.5%2C2.463-5.5%2C5.5%20s2.463%2C5.5%2C5.5%2C5.5c1.152%2C0%2C2.223-0.355%2C3.104-0.962l3.684%2C3.683l1.414-1.414L10.171%2C8.766z%20M5.649%2C9.14c-1.933%2C0-3.5-1.567-3.5-3.5%20c0-1.933%2C1.567-3.5%2C3.5-3.5c1.933%2C0%2C3.5%2C1.567%2C3.5%2C3.5C9.149%2C7.572%2C7.582%2C9.14%2C5.649%2C9.14z%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-icon-shop:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M10%2C4V3c0-1.657-1.343-3-3-3S4%2C1.343%2C4%2C3v1H1v10h12V4H10z%20M4.5%2C6C4.224%2C6%2C4%2C5.776%2C4%2C5.5%20S4.224%2C5%2C4.5%2C5S5%2C5.224%2C5%2C5.5S4.776%2C6%2C4.5%2C6z%20M5%2C3c0-1.104%2C0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2v1H5V3z%20M9.5%2C6C9.225%2C6%2C9%2C5.776%2C9%2C5.5%20S9.225%2C5%2C9.5%2C5S10%2C5.224%2C10%2C5.5S9.775%2C6%2C9.5%2C6z%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-icon-star:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2214%2C5%209%2C5%207%2C0%205%2C5%200%2C5%204%2C8%202.625%2C13%207%2C10%2011.375%2C13%2010%2C8%20%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-icon-tag:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M5%2C0H0v5l9%2C9l5-5L5%2C0z%20M3%2C4C2.447%2C4%2C2%2C3.553%2C2%2C3s0.447-1%2C1-1s1%2C0.447%2C1%2C1S3.553%2C4%2C3%2C4z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-icon-user:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M8.851%2C10.101c-0.18-0.399-0.2-0.763-0.153-1.104C9.383%2C8.49%2C9.738%2C7.621%2C9.891%2C6.465C10.493%2C6.355%2C10.5%2C5.967%2C10.5%2C5.5%20c0-0.437-0.008-0.804-0.502-0.94C9.999%2C4.539%2C10%2C4.521%2C10%2C4.5c0-2.103-1-4-2-4C8%2C0.5%2C7.5%2C0%2C6.5%2C0C5%2C0%2C4%2C1.877%2C4%2C4.5%20c0%2C0.021%2C0.001%2C0.039%2C0.002%2C0.06C3.508%2C4.696%2C3.5%2C5.063%2C3.5%2C5.5c0%2C0.467%2C0.007%2C0.855%2C0.609%2C0.965%20C4.262%2C7.621%2C4.617%2C8.49%2C5.303%2C8.997c0.047%2C0.341%2C0.026%2C0.704-0.153%2C1.104C1.503%2C10.503%2C0%2C12%2C0%2C12v2h14v-2%20C14%2C12%2C12.497%2C10.503%2C8.851%2C10.101z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-icon-video:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%20-2%2014%2014%22%20style%3D%22enable-background%3Anew%200%20-2%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M8%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2h6c1.104%2C0%2C2-0.896%2C2-2V5V2C10%2C0.896%2C9.104%2C0%2C8%2C0z%20%20M10%2C5l4%2C4V1L10%2C5z%22%2F%3E%3C%2Fsvg%3E"); +} +/* Alt icons */ +.ui-alt-icon.ui-icon-action:after, +.ui-alt-icon .ui-icon-action:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M9%2C5v3l5-4L9%2C0v3c0%2C0-5%2C0-5%2C7C6%2C5%2C9%2C5%2C9%2C5z%20M11%2C12H2V5h1l2-2H0v11h13V7l-2%2C2V12z%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-alert:after, +.ui-alt-icon .ui-icon-alert:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0L0%2C12h14L7%2C0z%20M7%2C11c-0.553%2C0-1-0.447-1-1s0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1S7.553%2C11%2C7%2C11z%20M7%2C8C6.447%2C8%2C6%2C7.553%2C6%2C7V5%20c0-0.553%2C0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1v2C8%2C7.553%2C7.553%2C8%2C7%2C8z%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-arrow-d:after, +.ui-alt-icon .ui-icon-arrow-d:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%229%2C7%209%2C0%205%2C0%205%2C7%200%2C7%207%2C14%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-arrow-d-l:after, +.ui-alt-icon .ui-icon-arrow-d-l:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C3%2011%2C0%203.5%2C7.5%200%2C4%200%2C14%2010%2C14%206.5%2C10.5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-arrow-d-r:after, +.ui-alt-icon .ui-icon-arrow-d-r:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2210.5%2C7.5%203%2C0%200%2C3%207.5%2C10.5%204%2C14%2014%2C14%2014%2C4%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-arrow-l:after, +.ui-alt-icon .ui-icon-arrow-l:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C5%207%2C0%200%2C7%207%2C14%207%2C9%2014%2C9%2014%2C5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-arrow-r:after, +.ui-alt-icon .ui-icon-arrow-r:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C7%207%2C0%207%2C5%200%2C5%200%2C9%207%2C9%207%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-arrow-u:after, +.ui-alt-icon .ui-icon-arrow-u:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C0%200%2C7%205%2C7%205%2C14%209%2C14%209%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-arrow-u-l:after, +.ui-alt-icon .ui-icon-arrow-u-l:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C11%206.5%2C3.5%2010%2C0%200%2C0%200%2C10%203.5%2C6.5%2011%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-arrow-u-r:after, +.ui-alt-icon .ui-icon-arrow-u-r:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C0%204%2C0%207.5%2C3.5%200%2C11%203%2C14%2010.5%2C6.5%2014%2C10%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-audio:after, +.ui-alt-icon .ui-icon-audio:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.018px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014.018%2014%22%20style%3D%22enable-background%3Anew%200%200%2014.018%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C4C0.447%2C4%2C0%2C4.447%2C0%2C5v4c0%2C0.553%2C0.447%2C1%2C1%2C1h1l4%2C4V0L2%2C4H1z%20M10.346%2C7c0-1.699-1.042-3.154-2.546-3.867L6.982%2C4.68%20C7.885%2C5.107%2C8.51%2C5.98%2C8.51%2C7S7.885%2C8.893%2C6.982%2C9.32L7.8%2C10.867C9.304%2C10.154%2C10.346%2C8.699%2C10.346%2C7z%20M9.447%2C0.017L8.618%2C1.586%20C10.723%2C2.584%2C12.182%2C4.621%2C12.182%2C7s-1.459%2C4.416-3.563%2C5.414l0.829%2C1.569c2.707-1.283%2C4.57-3.925%2C4.57-6.983%20S12.154%2C1.3%2C9.447%2C0.017z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-back:after, +.ui-alt-icon .ui-icon-back:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C3V0L1%2C4l4%2C4V5c0%2C0%2C6%2C0%2C6%2C3s-5%2C4-5%2C4v2c0%2C0%2C7-1%2C7-6C13%2C4%2C8%2C3%2C5%2C3z%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-bars:after, +.ui-alt-icon .ui-icon-bars:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C4h12c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H1C0.447%2C2%2C0%2C2.447%2C0%2C3S0.447%2C4%2C1%2C4z%20M13%2C6H1C0.447%2C6%2C0%2C6.447%2C0%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H1c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1h12%20c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-bullets:after, +.ui-alt-icon .ui-icon-bullets:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C4h8c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H5C4.447%2C2%2C4%2C2.447%2C4%2C3S4.447%2C4%2C5%2C4z%20M13%2C6H5C4.447%2C6%2C4%2C6.447%2C4%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H5c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1h8%20c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%20M1%2C2C0.447%2C2%2C0%2C2.447%2C0%2C3s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C2%2C1%2C2z%20M1%2C6C0.447%2C6%2C0%2C6.447%2C0%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1s1-0.447%2C1-1C2%2C6.447%2C1.553%2C6%2C1%2C6z%20M1%2C10c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C10%2C1%2C10z%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-calendar:after, +.ui-alt-icon .ui-icon-calendar:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M0%2C8h2V6H0V8z%20M3%2C8h2V6H3V8z%20M6%2C8h2V6H6V8z%20M9%2C8h2V6H9V8z%20M12%2C8h2V6h-2V8z%20M0%2C11h2V9H0V11z%20M3%2C11h2V9H3V11z%20M6%2C11h2V9H6V11z%20%20M9%2C11h2V9H9V11z%20M12%2C11h2V9h-2V11z%20M0%2C14h2v-2H0V14z%20M3%2C14h2v-2H3V14z%20M6%2C14h2v-2H6V14z%20M9%2C14h2v-2H9V14z%20M12%2C1%20c0-0.553-0.447-1-1-1s-1%2C0.447-1%2C1H4c0-0.553-0.447-1-1-1S2%2C0.447%2C2%2C1H0v4h14V1H12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-camera:after, +.ui-alt-icon .ui-icon-camera:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C2.5H9.908c-0.206-0.581-0.756-1-1.408-1h-3c-0.652%2C0-1.202%2C0.419-1.408%2C1H2c-1.104%2C0-2%2C0.896-2%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2%20h10c1.104%2C0%2C2-0.896%2C2-2v-6C14%2C3.396%2C13.104%2C2.5%2C12%2C2.5z%20M7%2C10.5c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3%20C10%2C9.156%2C8.657%2C10.5%2C7%2C10.5z%20M7%2C5.5c-1.104%2C0-2%2C0.896-2%2C2c0%2C1.104%2C0.896%2C2%2C2%2C2c1.104%2C0%2C2-0.896%2C2-2C9%2C6.396%2C8.104%2C5.5%2C7%2C5.5z%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-carat-d:after, +.ui-alt-icon .ui-icon-carat-d:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2211.949%2C3.404%207%2C8.354%202.05%2C3.404%20-0.071%2C5.525%207%2C12.596%2014.07%2C5.525%20%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-carat-l:after, +.ui-alt-icon .ui-icon-carat-l:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2210.596%2C11.949%205.646%2C7%2010.596%2C2.05%208.475%2C-0.071%201.404%2C7%208.475%2C14.07%20%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-carat-r:after, +.ui-alt-icon .ui-icon-carat-r:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%223.404%2C2.051%208.354%2C7%203.404%2C11.95%205.525%2C14.07%2012.596%2C7%205.525%2C-0.071%20%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-carat-u:after, +.ui-alt-icon .ui-icon-carat-u:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%222.051%2C10.596%207%2C5.646%2011.95%2C10.596%2014.07%2C8.475%207%2C1.404%20-0.071%2C8.475%20%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-check:after, +.ui-alt-icon .ui-icon-check:after, +html .ui-alt-icon.ui-btn.ui-checkbox-on:after, +html .ui-alt-icon .ui-btn.ui-checkbox-on:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C4%2011%2C1%205.003%2C6.997%203%2C5%200%2C8%204.966%2C13%204.983%2C12.982%205%2C13%20%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-clock:after, +.ui-alt-icon .ui-icon-clock:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C12c-2.762%2C0-5-2.238-5-5s2.238-5%2C5-5s5%2C2.238%2C5%2C5%20S9.762%2C12%2C7%2C12z%20M9%2C6H8V4c0-0.553-0.447-1-1-1S6%2C3.447%2C6%2C4v3c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1S9.553%2C6%2C9%2C6z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-cloud:after, +.ui-alt-icon .ui-icon-cloud:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M14%2C9.5c0-0.793-0.465-1.473-1.134-1.795C12.949%2C7.484%2C13%2C7.249%2C13%2C7c0-1.104-0.896-2-2-2c-0.158%2C0-0.311%2C0.023-0.457%2C0.058%20C9.816%2C3.549%2C8.286%2C2.5%2C6.5%2C2.5c-2.33%2C0-4.224%2C1.777-4.454%2C4.046C0.883%2C6.76%2C0%2C7.773%2C0%2C9c0%2C1.381%2C1.119%2C2.5%2C2.5%2C2.5h10v-0.07%20C13.361%2C11.206%2C14%2C10.432%2C14%2C9.5z%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-comment:after, +.ui-alt-icon .ui-icon-comment:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v7c0%2C1.104%2C0.896%2C2%2C2%2C2h1v3l3-3h6c1.104%2C0%2C2-0.896%2C2-2V2C14%2C0.896%2C13.104%2C0%2C12%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-delete:after, +.ui-alt-icon .ui-icon-delete:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C3%2011%2C0%207%2C4%203%2C0%200%2C3%204%2C7%200%2C11%203%2C14%207%2C10%2011%2C14%2014%2C11%2010%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-edit:after, +.ui-alt-icon .ui-icon-edit:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C10l-1%2C4l4-1l7-7L8%2C3L1%2C10z%20M11%2C0L9%2C2l3%2C3l2-2L11%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-eye:after, +.ui-alt-icon .ui-icon-eye:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C2C3%2C2%2C0%2C7%2C0%2C7s3%2C5%2C7%2C5s7-5%2C7-5S11%2C2%2C7%2C2z%20M7%2C10c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3%20C10%2C8.656%2C8.657%2C10%2C7%2C10z%20M7%2C6C6.448%2C6%2C6%2C6.447%2C6%2C7c0%2C0.553%2C0.448%2C1%2C1%2C1s1-0.447%2C1-1C8%2C6.447%2C7.552%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-forbidden:after, +.ui-alt-icon .ui-icon-forbidden:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12.601%2C11.187C13.476%2C10.018%2C14%2C8.572%2C14%2C7c0-3.866-3.134-7-7-7C5.428%2C0%2C3.982%2C0.524%2C2.813%2C1.399L2.757%2C1.343L2.053%2C2.048%20L2.048%2C2.053L1.343%2C2.758l0.056%2C0.056C0.524%2C3.982%2C0%2C5.428%2C0%2C7c0%2C3.866%2C3.134%2C7%2C7%2C7c1.572%2C0%2C3.018-0.524%2C4.187-1.399l0.056%2C0.057%20l0.705-0.705l0.005-0.005l0.705-0.705L12.601%2C11.187z%20M7%2C2c2.761%2C0%2C5%2C2.238%2C5%2C5c0%2C1.019-0.308%2C1.964-0.832%2C2.754L4.246%2C2.832%20C5.036%2C2.308%2C5.981%2C2%2C7%2C2z%20M7%2C12c-2.761%2C0-5-2.238-5-5c0-1.019%2C0.308-1.964%2C0.832-2.754l6.922%2C6.922C8.964%2C11.692%2C8.019%2C12%2C7%2C12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-forward:after, +.ui-alt-icon .ui-icon-forward:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M13%2C4L9%2C0v3C6%2C3%2C1%2C4%2C1%2C8c0%2C5%2C7%2C6%2C7%2C6v-2c0%2C0-5-1-5-4s6-3%2C6-3v3L13%2C4z%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-gear:after, +.ui-alt-icon .ui-icon-gear:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M13.621%2C5.904l-1.036-0.259c-0.168-0.042-0.303-0.168-0.355-0.332c-0.092-0.284-0.205-0.559-0.339-0.82%20c-0.079-0.153-0.073-0.337%2C0.017-0.486l0.549-0.915c0.118-0.196%2C0.088-0.448-0.075-0.61l-0.862-0.863%20c-0.162-0.163-0.414-0.193-0.611-0.075l-0.916%2C0.55C9.844%2C2.182%2C9.659%2C2.188%2C9.506%2C2.109C9.244%2C1.975%2C8.97%2C1.861%2C8.686%2C1.77%20c-0.165-0.052-0.29-0.187-0.332-0.354L8.095%2C0.379C8.039%2C0.156%2C7.839%2C0%2C7.609%2C0H6.391c-0.229%2C0-0.43%2C0.156-0.485%2C0.379L5.646%2C1.415%20C5.604%2C1.582%2C5.479%2C1.718%2C5.313%2C1.77c-0.284%2C0.092-0.559%2C0.206-0.82%2C0.34C4.339%2C2.188%2C4.155%2C2.182%2C4.007%2C2.093L3.092%2C1.544%20c-0.196-0.118-0.448-0.087-0.61%2C0.075L1.619%2C2.481C1.457%2C2.644%2C1.426%2C2.896%2C1.544%2C3.093l0.549%2C0.914%20c0.089%2C0.148%2C0.095%2C0.332%2C0.017%2C0.486C1.975%2C4.755%2C1.861%2C5.029%2C1.77%2C5.314c-0.053%2C0.164-0.188%2C0.29-0.354%2C0.332L0.379%2C5.905%20C0.156%2C5.961%2C0%2C6.161%2C0%2C6.391v1.219c0%2C0.229%2C0.156%2C0.43%2C0.379%2C0.485l1.036%2C0.26C1.582%2C8.396%2C1.717%2C8.521%2C1.77%2C8.687%20c0.092%2C0.284%2C0.205%2C0.559%2C0.34%2C0.82C2.188%2C9.66%2C2.182%2C9.844%2C2.093%2C9.993l-0.549%2C0.915c-0.118%2C0.195-0.087%2C0.448%2C0.075%2C0.61%20l0.862%2C0.862c0.162%2C0.163%2C0.414%2C0.193%2C0.61%2C0.075l0.915-0.549c0.148-0.089%2C0.332-0.095%2C0.486-0.017%20c0.262%2C0.135%2C0.536%2C0.248%2C0.82%2C0.34c0.165%2C0.053%2C0.291%2C0.187%2C0.332%2C0.354l0.259%2C1.036C5.96%2C13.844%2C6.16%2C14%2C6.39%2C14h1.22%20c0.229%2C0%2C0.43-0.156%2C0.485-0.379l0.259-1.036c0.042-0.167%2C0.168-0.302%2C0.333-0.354c0.284-0.092%2C0.559-0.205%2C0.82-0.34%20c0.154-0.078%2C0.338-0.072%2C0.486%2C0.017l0.914%2C0.549c0.197%2C0.118%2C0.449%2C0.088%2C0.611-0.074l0.862-0.863%20c0.163-0.162%2C0.193-0.415%2C0.075-0.611l-0.549-0.915c-0.089-0.148-0.096-0.332-0.017-0.485c0.134-0.263%2C0.248-0.536%2C0.339-0.82%20c0.053-0.165%2C0.188-0.291%2C0.355-0.333l1.036-0.259C13.844%2C8.039%2C14%2C7.839%2C14%2C7.609V6.39C14%2C6.16%2C13.844%2C5.96%2C13.621%2C5.904z%20M7%2C10%20c-1.657%2C0-3-1.343-3-3s1.343-3%2C3-3s3%2C1.343%2C3%2C3S8.657%2C10%2C7%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-grid:after, +.ui-alt-icon .ui-icon-grid:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M3%2C0H1C0.447%2C0%2C0%2C0.447%2C0%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C4%2C0.447%2C3.553%2C0%2C3%2C0z%20M8%2C0H6%20C5.447%2C0%2C5%2C0.447%2C5%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C9%2C0.447%2C8.553%2C0%2C8%2C0z%20M13%2C0h-2c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C14%2C0.447%2C13.553%2C0%2C13%2C0z%20M3%2C5H1C0.447%2C5%2C0%2C5.447%2C0%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1V6C4%2C5.447%2C3.553%2C5%2C3%2C5z%20M8%2C5H6C5.447%2C5%2C5%2C5.447%2C5%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6%20C9%2C5.447%2C8.553%2C5%2C8%2C5z%20M13%2C5h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6C14%2C5.447%2C13.553%2C5%2C13%2C5z%20M3%2C10%20H1c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C4%2C10.447%2C3.553%2C10%2C3%2C10z%20M8%2C10H6c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C9%2C10.447%2C8.553%2C10%2C8%2C10z%20M13%2C10h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1v-2C14%2C10.447%2C13.553%2C10%2C13%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-heart:after, +.ui-alt-icon .ui-icon-heart:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C1.958c-2-3-7-2.128-7%2C1.872c0%2C3%2C4%2C7%2C4%2C7s2.417%2C2.48%2C3%2C3c0.583-0.52%2C3-3%2C3-3s4-4%2C4-7C14-0.169%2C9-1.042%2C7%2C1.958z%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-home:after, +.ui-alt-icon .ui-icon-home:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C0%200%2C7%202%2C7%202%2C14%205%2C14%205%2C9%209%2C9%209%2C14%2012%2C14%2012%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-info:after, +.ui-alt-icon .ui-icon-info:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C2c0.552%2C0%2C1%2C0.447%2C1%2C1S7.552%2C4%2C7%2C4S6%2C3.553%2C6%2C3%20S6.448%2C2%2C7%2C2z%20M9%2C11H5v-1h1V6H5V5h3v5h1V11z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-location:after, +.ui-alt-icon .ui-icon-location:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C4.791%2C0%2C3%2C1.791%2C3%2C4c0%2C2%2C4%2C10%2C4%2C10s4-8%2C4-10C11%2C1.791%2C9.209%2C0%2C7%2C0z%20M7%2C6C5.896%2C6%2C5%2C5.104%2C5%2C4s0.896-2%2C2-2%20c1.104%2C0%2C2%2C0.896%2C2%2C2S8.104%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-lock:after, +.ui-alt-icon .ui-icon-lock:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C6V5c0-2.762-2.238-5-5-5C4.239%2C0%2C2%2C2.238%2C2%2C5v1H1v8h12V6H12z%20M7.5%2C9.848V12h-1V9.848C6.207%2C9.673%2C6%2C9.366%2C6%2C9%20c0-0.553%2C0.448-1%2C1-1s1%2C0.447%2C1%2C1C8%2C9.366%2C7.793%2C9.673%2C7.5%2C9.848z%20M10%2C6H4V5c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3V6z%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-mail:after, +.ui-alt-icon .ui-icon-mail:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M0%2C3.75V12h14V3.75L7%2C9L0%2C3.75z%20M14%2C2H0l7%2C5L14%2C2z%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-minus:after, +.ui-alt-icon .ui-icon-minus:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Crect%20y%3D%225%22%20width%3D%2214%22%20height%3D%224%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-navigation:after, +.ui-alt-icon .ui-icon-navigation:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2213%2C1%200%2C6%207%2C7%208%2C14%20%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-phone:after, +.ui-alt-icon .ui-icon-phone:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M6.949%2C9.182C6.175%2C8.549%2C5.281%2C7.697%2C4.507%2C6.736C3.963%2C6.063%2C3.483%2C5.355%2C3.979%2C4.858l-3.482-3.48%20c-0.508%2C0.634-1.633%2C3.654%2C3.188%2C8.598c5.08%2C5.211%2C8.356%2C4.097%2C8.92%2C3.511l-3.396-3.399C8.734%2C10.561%2C8.123%2C10.139%2C6.949%2C9.182z%20%20M13.83%2C11.512v-0.004c0%2C0-2.648-2.646-2.649-2.647c-0.21-0.212-0.546-0.205-0.754%2C0.002L9.465%2C9.823l3.402%2C3.407%20c0%2C0%2C0.963-0.961%2C0.961-0.961l0.002-0.002C14.053%2C12.049%2C14.031%2C11.713%2C13.83%2C11.512z%20M5.202%2C3.636V3.634%20c0.222-0.222%2C0.2-0.557%2C0-0.758V2.873c0%2C0-2.726-2.725-2.727-2.726c-0.21-0.21-0.545-0.205-0.753%2C0.001L0.761%2C1.113L4.24%2C4.595%20C4.241%2C4.596%2C5.202%2C3.637%2C5.202%2C3.636z%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-plus:after, +.ui-alt-icon .ui-icon-plus:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C5%209%2C5%209%2C0%205%2C0%205%2C5%200%2C5%200%2C9%205%2C9%205%2C14%209%2C14%209%2C9%2014%2C9%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-power:after, +.ui-alt-icon .ui-icon-power:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M11.243%2C2.408c-0.392-0.401-1.024-0.401-1.415%2C0c-0.391%2C0.401-0.391%2C1.054%2C0%2C1.455C10.584%2C4.642%2C11%2C5.675%2C11%2C6.773%20s-0.416%2C2.133-1.172%2C2.91c-1.512%2C1.558-4.145%2C1.558-5.656%2C0C3.416%2C8.904%2C3%2C7.872%2C3%2C6.773C3%2C5.673%2C3.416%2C4.64%2C4.172%2C3.863%20c0.39-0.401%2C0.39-1.054%2C0-1.455c-0.391-0.401-1.024-0.401-1.415%2C0C1.624%2C3.574%2C1%2C5.125%2C1%2C6.773c0%2C1.647%2C0.624%2C3.199%2C1.757%2C4.365%20c1.134%2C1.166%2C2.64%2C1.809%2C4.243%2C1.809c1.604%2C0%2C3.109-0.645%2C4.243-1.811C12.376%2C9.975%2C13%2C8.423%2C13%2C6.773%20C13%2C5.125%2C12.376%2C3.574%2C11.243%2C2.408z%20M7%2C8.053c0.553%2C0%2C1-0.445%2C1-1v-6c0-0.553-0.447-1-1-1c-0.553%2C0-1%2C0.447-1%2C1v6%20C6%2C7.604%2C6.447%2C8.053%2C7%2C8.053z%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-recycle:after, +.ui-alt-icon .ui-icon-recycle:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M3%2C7h1L2%2C4L0%2C7h1c0%2C3.313%2C2.687%2C6%2C6%2C6c0.702%2C0%2C1.374-0.127%2C2-0.35v-2.205C8.41%2C10.789%2C7.732%2C11%2C7%2C11C4.791%2C11%2C3%2C9.209%2C3%2C7z%20%20M13%2C7c0-3.313-2.688-6-6-6C6.298%2C1%2C5.626%2C1.127%2C5%2C1.349v2.206C5.59%2C3.211%2C6.268%2C3%2C7%2C3c2.209%2C0%2C4%2C1.791%2C4%2C4h-1l2%2C3l2-3H13z%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-refresh:after, +.ui-alt-icon .ui-icon-refresh:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.001px%22%20height%3D%2214.002px%22%20viewBox%3D%220%200%2014.001%2014.002%22%20style%3D%22enable-background%3Anew%200%200%2014.001%2014.002%3B%22%20%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M14.001%2C6.001v-6l-2.06%2C2.06c-0.423-0.424-0.897-0.809-1.44-1.122C7.153-0.994%2C2.872%2C0.153%2C0.939%2C3.501%20c-1.933%2C3.348-0.786%2C7.629%2C2.562%2C9.562c3.348%2C1.933%2C7.629%2C0.785%2C9.562-2.562l-1.732-1c-1.381%2C2.392-4.438%2C3.211-6.83%2C1.83%20s-3.211-4.438-1.83-6.83s4.438-3.211%2C6.83-1.83c0.389%2C0.225%2C0.718%2C0.506%2C1.02%2C0.81l-2.52%2C2.52H14.001z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-search:after, +.ui-alt-icon .ui-icon-search:after, +.ui-input-search:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M10.171%2C8.766c0.617-0.888%2C0.979-1.964%2C0.979-3.126c0-3.037-2.463-5.5-5.5-5.5s-5.5%2C2.463-5.5%2C5.5s2.463%2C5.5%2C5.5%2C5.5%20c1.152%2C0%2C2.223-0.355%2C3.104-0.962l3.684%2C3.683l1.414-1.414L10.171%2C8.766z%20M5.649%2C9.14c-1.933%2C0-3.5-1.567-3.5-3.5%20c0-1.933%2C1.567-3.5%2C3.5-3.5c1.933%2C0%2C3.5%2C1.567%2C3.5%2C3.5C9.149%2C7.572%2C7.582%2C9.14%2C5.649%2C9.14z%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-shop:after, +.ui-alt-icon .ui-icon-shop:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M10%2C4V3c0-1.657-1.343-3-3-3S4%2C1.343%2C4%2C3v1H1v10h12V4H10z%20M4.5%2C6C4.224%2C6%2C4%2C5.776%2C4%2C5.5S4.224%2C5%2C4.5%2C5S5%2C5.224%2C5%2C5.5%20S4.776%2C6%2C4.5%2C6z%20M5%2C3c0-1.104%2C0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2v1H5V3z%20M9.5%2C6C9.225%2C6%2C9%2C5.776%2C9%2C5.5S9.225%2C5%2C9.5%2C5S10%2C5.224%2C10%2C5.5%20S9.775%2C6%2C9.5%2C6z%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-star:after, +.ui-alt-icon .ui-icon-star:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C5%209%2C5%207%2C0%205%2C5%200%2C5%204%2C8%202.625%2C13%207%2C10%2011.375%2C13%2010%2C8%20%22%2F%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-tag:after, +.ui-alt-icon .ui-icon-tag:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C0H0v5l9%2C9l5-5L5%2C0z%20M3%2C4C2.447%2C4%2C2%2C3.553%2C2%2C3s0.447-1%2C1-1s1%2C0.447%2C1%2C1S3.553%2C4%2C3%2C4z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-user:after, +.ui-alt-icon .ui-icon-user:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M8.851%2C10.101c-0.18-0.399-0.2-0.763-0.153-1.104C9.383%2C8.49%2C9.738%2C7.621%2C9.891%2C6.465C10.493%2C6.355%2C10.5%2C5.967%2C10.5%2C5.5%20c0-0.437-0.008-0.804-0.502-0.94C9.999%2C4.539%2C10%2C4.521%2C10%2C4.5c0-2.103-1-4-2-4C8%2C0.5%2C7.5%2C0%2C6.5%2C0C5%2C0%2C4%2C1.877%2C4%2C4.5%20c0%2C0.021%2C0.001%2C0.039%2C0.002%2C0.06C3.508%2C4.696%2C3.5%2C5.063%2C3.5%2C5.5c0%2C0.467%2C0.007%2C0.855%2C0.609%2C0.965%20C4.262%2C7.621%2C4.617%2C8.49%2C5.303%2C8.997c0.047%2C0.341%2C0.026%2C0.704-0.153%2C1.104C1.503%2C10.503%2C0%2C12%2C0%2C12v2h14v-2%20C14%2C12%2C12.497%2C10.503%2C8.851%2C10.101z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.ui-alt-icon.ui-icon-video:after, +.ui-alt-icon .ui-icon-video:after { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%20-2%2014%2014%22%20style%3D%22enable-background%3Anew%200%20-2%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M8%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2h6c1.104%2C0%2C2-0.896%2C2-2V5V2C10%2C0.896%2C9.104%2C0%2C8%2C0z%20M10%2C5l4%2C4V1L10%2C5z%22%2F%3E%3C%2Fsvg%3E"); +} +/* PNG icons */ +.ui-nosvg .ui-icon-action:after { + background-image: url(images/icons-png/action-white.png); +} +.ui-nosvg .ui-icon-alert:after { + background-image: url(images/icons-png/alert-white.png); +} +.ui-nosvg .ui-icon-arrow-d-l:after { + background-image: url(images/icons-png/arrow-d-l-white.png); +} +.ui-nosvg .ui-icon-arrow-d-r:after { + background-image: url(images/icons-png/arrow-d-r-white.png); +} +.ui-nosvg .ui-icon-arrow-d:after { + background-image: url(images/icons-png/arrow-d-white.png); +} +.ui-nosvg .ui-icon-arrow-l:after { + background-image: url(images/icons-png/arrow-l-white.png); +} +.ui-nosvg .ui-icon-arrow-r:after { + background-image: url(images/icons-png/arrow-r-white.png); +} +.ui-nosvg .ui-icon-arrow-u-l:after { + background-image: url(images/icons-png/arrow-u-l-white.png); +} +.ui-nosvg .ui-icon-arrow-u-r:after { + background-image: url(images/icons-png/arrow-u-r-white.png); +} +.ui-nosvg .ui-icon-arrow-u:after { + background-image: url(images/icons-png/arrow-u-white.png); +} +.ui-nosvg .ui-icon-audio:after { + background-image: url(images/icons-png/audio-white.png); +} +.ui-nosvg .ui-icon-back:after { + background-image: url(images/icons-png/back-white.png); +} +.ui-nosvg .ui-icon-bars:after { + background-image: url(images/icons-png/bars-white.png); +} +.ui-nosvg .ui-icon-bullets:after { + background-image: url(images/icons-png/bullets-white.png); +} +.ui-nosvg .ui-icon-calendar:after { + background-image: url(images/icons-png/calendar-white.png); +} +.ui-nosvg .ui-icon-camera:after { + background-image: url(images/icons-png/camera-white.png); +} +.ui-nosvg .ui-icon-carat-d:after { + background-image: url(images/icons-png/carat-d-white.png); +} +.ui-nosvg .ui-icon-carat-l:after { + background-image: url(images/icons-png/carat-l-white.png); +} +.ui-nosvg .ui-icon-carat-r:after { + background-image: url(images/icons-png/carat-r-white.png); +} +.ui-nosvg .ui-icon-carat-u:after { + background-image: url(images/icons-png/carat-u-white.png); +} +.ui-nosvg .ui-icon-check:after, +html.ui-nosvg .ui-btn.ui-checkbox-on:after { + background-image: url(images/icons-png/check-white.png); +} +.ui-nosvg .ui-icon-clock:after { + background-image: url(images/icons-png/clock-white.png); +} +.ui-nosvg .ui-icon-cloud:after { + background-image: url(images/icons-png/cloud-white.png); +} +.ui-nosvg .ui-icon-comment:after { + background-image: url(images/icons-png/comment-white.png); +} +.ui-nosvg .ui-icon-delete:after { + background-image: url(images/icons-png/delete-white.png); +} +.ui-nosvg .ui-icon-edit:after { + background-image: url(images/icons-png/edit-white.png); +} +.ui-nosvg .ui-icon-eye:after { + background-image: url(images/icons-png/eye-white.png); +} +.ui-nosvg .ui-icon-forbidden:after { + background-image: url(images/icons-png/forbidden-white.png); +} +.ui-nosvg .ui-icon-forward:after { + background-image: url(images/icons-png/forward-white.png); +} +.ui-nosvg .ui-icon-gear:after { + background-image: url(images/icons-png/gear-white.png); +} +.ui-nosvg .ui-icon-grid:after { + background-image: url(images/icons-png/grid-white.png); +} +.ui-nosvg .ui-icon-heart:after { + background-image: url(images/icons-png/heart-white.png); +} +.ui-nosvg .ui-icon-home:after { + background-image: url(images/icons-png/home-white.png); +} +.ui-nosvg .ui-icon-info:after { + background-image: url(images/icons-png/info-white.png); +} +.ui-nosvg .ui-icon-location:after { + background-image: url(images/icons-png/location-white.png); +} +.ui-nosvg .ui-icon-lock:after { + background-image: url(images/icons-png/lock-white.png); +} +.ui-nosvg .ui-icon-mail:after { + background-image: url(images/icons-png/mail-white.png); +} +.ui-nosvg .ui-icon-minus:after { + background-image: url(images/icons-png/minus-white.png); +} +.ui-nosvg .ui-icon-navigation:after { + background-image: url(images/icons-png/navigation-white.png); +} +.ui-nosvg .ui-icon-phone:after { + background-image: url(images/icons-png/phone-white.png); +} +.ui-nosvg .ui-icon-plus:after { + background-image: url(images/icons-png/plus-white.png); +} +.ui-nosvg .ui-icon-power:after { + background-image: url(images/icons-png/power-white.png); +} +.ui-nosvg .ui-icon-recycle:after { + background-image: url(images/icons-png/recycle-white.png); +} +.ui-nosvg .ui-icon-refresh:after { + background-image: url(images/icons-png/refresh-white.png); +} +.ui-nosvg .ui-icon-search:after { + background-image: url(images/icons-png/search-white.png); +} +.ui-nosvg .ui-icon-shop:after { + background-image: url(images/icons-png/shop-white.png); +} +.ui-nosvg .ui-icon-star:after { + background-image: url(images/icons-png/star-white.png); +} +.ui-nosvg .ui-icon-tag:after { + background-image: url(images/icons-png/tag-white.png); +} +.ui-nosvg .ui-icon-user:after { + background-image: url(images/icons-png/user-white.png); +} +.ui-nosvg .ui-icon-video:after { + background-image: url(images/icons-png/video-white.png); +} +/* Alt icons */ +.ui-nosvg .ui-alt-icon.ui-icon-action:after, +.ui-nosvg .ui-alt-icon .ui-icon-action:after { + background-image: url(images/icons-png/action-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-alert:after, +.ui-nosvg .ui-alt-icon .ui-icon-alert:after { + background-image: url(images/icons-png/alert-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-arrow-d:after, +.ui-nosvg .ui-alt-icon .ui-icon-arrow-d:after { + background-image: url(images/icons-png/arrow-d-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-arrow-d-l:after, +.ui-nosvg .ui-alt-icon .ui-icon-arrow-d-l:after { + background-image: url(images/icons-png/arrow-d-l-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-arrow-d-r:after, +.ui-nosvg .ui-alt-icon .ui-icon-arrow-d-r:after { + background-image: url(images/icons-png/arrow-d-r-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-arrow-l:after, +.ui-nosvg .ui-alt-icon .ui-icon-arrow-l:after { + background-image: url(images/icons-png/arrow-l-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-arrow-r:after, +.ui-nosvg .ui-alt-icon .ui-icon-arrow-r:after { + background-image: url(images/icons-png/arrow-r-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-arrow-u:after, +.ui-nosvg .ui-alt-icon .ui-icon-arrow-u:after { + background-image: url(images/icons-png/arrow-u-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-arrow-u-l:after, +.ui-nosvg .ui-alt-icon .ui-icon-arrow-u-l:after { + background-image: url(images/icons-png/arrow-u-l-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-arrow-u-r:after, +.ui-nosvg .ui-alt-icon .ui-icon-arrow-u-r:after { + background-image: url(images/icons-png/arrow-u-r-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-audio:after, +.ui-nosvg .ui-alt-icon .ui-icon-audio:after { + background-image: url(images/icons-png/audio-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-back:after, +.ui-nosvg .ui-alt-icon .ui-icon-back:after { + background-image: url(images/icons-png/back-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-bars:after, +.ui-nosvg .ui-alt-icon .ui-icon-bars:after { + background-image: url(images/icons-png/bars-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-bullets:after, +.ui-nosvg .ui-alt-icon .ui-icon-bullets:after { + background-image: url(images/icons-png/bullets-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-calendar:after, +.ui-nosvg .ui-alt-icon .ui-icon-calendar:after { + background-image: url(images/icons-png/calendar-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-camera:after, +.ui-nosvg .ui-alt-icon .ui-icon-camera:after { + background-image: url(images/icons-png/camera-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-carat-d:after, +.ui-nosvg .ui-alt-icon .ui-icon-carat-d:after { + background-image: url(images/icons-png/carat-d-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-carat-l:after, +.ui-nosvg .ui-alt-icon .ui-icon-carat-l:after { + background-image: url(images/icons-png/carat-l-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-carat-r:after, +.ui-nosvg .ui-alt-icon .ui-icon-carat-r:after { + background-image: url(images/icons-png/carat-r-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-carat-u:after, +.ui-nosvg .ui-alt-icon .ui-icon-carat-u:after { + background-image: url(images/icons-png/carat-u-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-check:after, +.ui-nosvg .ui-alt-icon .ui-icon-check:after, +.ui-nosvg .ui-alt-icon.ui-btn.ui-checkbox-on:after, +.ui-nosvg .ui-alt-icon .ui-btn.ui-checkbox-on:after { + background-image: url(images/icons-png/check-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-clock:after, +.ui-nosvg .ui-alt-icon .ui-icon-clock:after { + background-image: url(images/icons-png/clock-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-cloud:after, +.ui-nosvg .ui-alt-icon .ui-icon-cloud:after { + background-image: url(images/icons-png/cloud-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-comment:after, +.ui-nosvg .ui-alt-icon .ui-icon-comment:after { + background-image: url(images/icons-png/comment-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-delete:after, +.ui-nosvg .ui-alt-icon .ui-icon-delete:after { + background-image: url(images/icons-png/delete-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-edit:after, +.ui-nosvg .ui-alt-icon .ui-icon-edit:after { + background-image: url(images/icons-png/edit-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-eye:after, +.ui-nosvg .ui-alt-icon .ui-icon-eye:after { + background-image: url(images/icons-png/eye-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-forbidden:after, +.ui-nosvg .ui-alt-icon .ui-icon-forbidden:after { + background-image: url(images/icons-png/forbidden-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-forward:after, +.ui-nosvg .ui-alt-icon .ui-icon-forward:after { + background-image: url(images/icons-png/forward-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-gear:after, +.ui-nosvg .ui-alt-icon .ui-icon-gear:after { + background-image: url(images/icons-png/gear-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-grid:after, +.ui-nosvg .ui-alt-icon .ui-icon-grid:after { + background-image: url(images/icons-png/grid-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-heart:after, +.ui-nosvg .ui-alt-icon .ui-icon-heart:after { + background-image: url(images/icons-png/heart-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-home:after, +.ui-nosvg .ui-alt-icon .ui-icon-home:after { + background-image: url(images/icons-png/home-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-info:after, +.ui-nosvg .ui-alt-icon .ui-icon-info:after { + background-image: url(images/icons-png/info-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-location:after, +.ui-nosvg .ui-alt-icon .ui-icon-location:after { + background-image: url(images/icons-png/location-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-lock:after, +.ui-nosvg .ui-alt-icon .ui-icon-lock:after { + background-image: url(images/icons-png/lock-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-mail:after, +.ui-nosvg .ui-alt-icon .ui-icon-mail:after { + background-image: url(images/icons-png/mail-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-minus:after, +.ui-nosvg .ui-alt-icon .ui-icon-minus:after { + background-image: url(images/icons-png/minus-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-navigation:after, +.ui-nosvg .ui-alt-icon .ui-icon-navigation:after { + background-image: url(images/icons-png/navigation-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-phone:after, +.ui-nosvg .ui-alt-icon .ui-icon-phone:after { + background-image: url(images/icons-png/phone-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-plus:after, +.ui-nosvg .ui-alt-icon .ui-icon-plus:after { + background-image: url(images/icons-png/plus-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-power:after, +.ui-nosvg .ui-alt-icon .ui-icon-power:after { + background-image: url(images/icons-png/power-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-recycle:after, +.ui-nosvg .ui-alt-icon .ui-icon-recycle:after { + background-image: url(images/icons-png/recycle-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-refresh:after, +.ui-nosvg .ui-alt-icon .ui-icon-refresh:after { + background-image: url(images/icons-png/refresh-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-search:after, +.ui-nosvg .ui-alt-icon .ui-icon-search:after, +.ui-nosvg .ui-input-search:after { + background-image: url(images/icons-png/search-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-shop:after, +.ui-nosvg .ui-alt-icon .ui-icon-shop:after { + background-image: url(images/icons-png/shop-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-star:after, +.ui-nosvg .ui-alt-icon .ui-icon-star:after { + background-image: url(images/icons-png/star-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-tag:after, +.ui-nosvg .ui-alt-icon .ui-icon-tag:after { + background-image: url(images/icons-png/tag-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-user:after, +.ui-nosvg .ui-alt-icon .ui-icon-user:after { + background-image: url(images/icons-png/user-black.png); +} +.ui-nosvg .ui-alt-icon.ui-icon-video:after, +.ui-nosvg .ui-alt-icon .ui-icon-video:after { + background-image: url(images/icons-png/video-black.png); +} +/* Globals */ +/* Font +-----------------------------------------------------------------------------------------------------------*/ +html { + font-size: 100%; +} +body, +input, +select, +textarea, +button, +.ui-btn { + font-size: 1em; + line-height: 1.3; + font-family: sans-serif /*{global-font-family}*/; +} +legend, +.ui-input-text input, +.ui-input-search input { + color: inherit; + text-shadow: inherit; +} +/* Form labels (overrides font-weight bold in bars, and mini font-size) */ +.ui-mobile label, +div.ui-controlgroup-label { + font-weight: normal; + font-size: 16px; +} +/* Separators +-----------------------------------------------------------------------------------------------------------*/ +/* Field contain separator (< 28em) */ +.ui-field-contain { + border-bottom-color: #828282; + border-bottom-color: rgba(0,0,0,.15); + border-bottom-width: 1px; + border-bottom-style: solid; +} +/* Table opt-in classes: strokes between each row, and alternating row stripes */ +/* Classes table-stroke and table-stripe are deprecated in 1.4. */ +.table-stroke thead th, +.table-stripe thead th, +.table-stripe tbody tr:last-child { + border-bottom: 1px solid #d6d6d6; /* non-RGBA fallback */ + border-bottom: 1px solid rgba(0,0,0,.1); +} +.table-stroke tbody th, +.table-stroke tbody td { + border-bottom: 1px solid #e6e6e6; /* non-RGBA fallback */ + border-bottom: 1px solid rgba(0,0,0,.05); +} +.table-stripe.table-stroke tbody tr:last-child th, +.table-stripe.table-stroke tbody tr:last-child td { + border-bottom: 0; +} +.table-stripe tbody tr:nth-child(odd) td, +.table-stripe tbody tr:nth-child(odd) th { + background-color: #eeeeee; /* non-RGBA fallback */ + background-color: rgba(0,0,0,.04); +} +/* Buttons +-----------------------------------------------------------------------------------------------------------*/ +.ui-btn, +label.ui-btn { + font-weight: bold; + border-width: 1px; + border-style: solid; +} +.ui-btn:link { + text-decoration: none !important; +} +.ui-btn-active { + cursor: pointer; +} +/* Corner rounding +-----------------------------------------------------------------------------------------------------------*/ +/* Class ui-btn-corner-all deprecated in 1.4 */ +.ui-corner-all { + -webkit-border-radius: .3125em /*{global-radii-blocks}*/; + border-radius: .3125em /*{global-radii-blocks}*/; +} +/* Buttons */ +.ui-btn-corner-all, +.ui-btn.ui-corner-all, +/* Slider track */ +.ui-slider-track.ui-corner-all, +/* Flipswitch */ +.ui-flipswitch.ui-corner-all, +/* Count bubble */ +.ui-li-count { + -webkit-border-radius: .3125em /*{global-radii-buttons}*/; + border-radius: .3125em /*{global-radii-buttons}*/; +} +/* Icon-only buttons */ +.ui-btn-icon-notext.ui-btn-corner-all, +.ui-btn-icon-notext.ui-corner-all { + -webkit-border-radius: 1em; + border-radius: 1em; +} +/* Radius clip workaround for cleaning up corner trapping */ +.ui-btn-corner-all, +.ui-corner-all { + -webkit-background-clip: padding; + background-clip: padding-box; +} +/* Popup arrow */ +.ui-popup.ui-corner-all > .ui-popup-arrow-guide { + left: .6em /*{global-radii-blocks}*/; + right: .6em /*{global-radii-blocks}*/; + top: .6em /*{global-radii-blocks}*/; + bottom: .6em /*{global-radii-blocks}*/; +} +/* Shadow +-----------------------------------------------------------------------------------------------------------*/ +.ui-shadow { + -webkit-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/; + -moz-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/; + box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/; +} +.ui-shadow-inset { + -webkit-box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/; + -moz-box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/; + box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/; +} +.ui-overlay-shadow { + -webkit-box-shadow: 0 0 12px rgba(0,0,0,.6); + -moz-box-shadow: 0 0 12px rgba(0,0,0,.6); + box-shadow: 0 0 12px rgba(0,0,0,.6); +} +/* Icons +-----------------------------------------------------------------------------------------------------------*/ +.ui-btn-icon-left:after, +.ui-btn-icon-right:after, +.ui-btn-icon-top:after, +.ui-btn-icon-bottom:after, +.ui-btn-icon-notext:after { + background-color: #666 /*{global-icon-color}*/; + background-color: rgba(0,0,0,.3) /*{global-icon-disc}*/; + background-position: center center; + background-repeat: no-repeat; + -webkit-border-radius: 1em; + border-radius: 1em; +} +/* Alt icons */ +.ui-alt-icon.ui-btn:after, +.ui-alt-icon .ui-btn:after, +html .ui-alt-icon.ui-checkbox-off:after, +html .ui-alt-icon.ui-radio-off:after, +html .ui-alt-icon .ui-checkbox-off:after, +html .ui-alt-icon .ui-radio-off:after { + background-color: #666 /*{global-icon-color}*/; + background-color: rgba(0,0,0,.15); +} +/* No disc */ +.ui-nodisc-icon.ui-btn:after, +.ui-nodisc-icon .ui-btn:after { + background-color: transparent; +} +/* Icon shadow */ +.ui-shadow-icon.ui-btn:after, +.ui-shadow-icon .ui-btn:after { + -webkit-box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; + -moz-box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; + box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; +} +/* Checkbox and radio */ +.ui-btn.ui-checkbox-off:after, +.ui-btn.ui-checkbox-on:after, +.ui-btn.ui-radio-off:after, +.ui-btn.ui-radio-on:after { + display: block; + width: 18px; + height: 18px; + margin: -9px 2px 0 2px; +} +.ui-checkbox-off:after, +.ui-btn.ui-radio-off:after { + filter: Alpha(Opacity=30); + opacity: .3; +} +.ui-btn.ui-checkbox-off:after, +.ui-btn.ui-checkbox-on:after { + -webkit-border-radius: .1875em; + border-radius: .1875em; +} +.ui-radio .ui-btn.ui-radio-on:after { + background-image: none; + background-color: #fff; + width: 8px; + height: 8px; + border-width: 5px; + border-style: solid; +} +.ui-alt-icon.ui-btn.ui-radio-on:after, +.ui-alt-icon .ui-btn.ui-radio-on:after { + background-color: #000; +} +/* Loader */ +.ui-icon-loading { + background: url(images/ajax-loader.gif); + background-size: 2.875em 2.875em; +} +/* Swatches */ +/* A +-----------------------------------------------------------------------------------------------------------*/ +/* Bar: Toolbars, dividers, slider track */ +.ui-bar-a, +.ui-page-theme-a .ui-bar-inherit, +html .ui-bar-a .ui-bar-inherit, +html .ui-body-a .ui-bar-inherit, +html body .ui-group-theme-a .ui-bar-inherit { + background-color: #e9e9e9 /*{a-bar-background-color}*/; + border-color: #ddd /*{a-bar-border}*/; + color: #333 /*{a-bar-color}*/; + text-shadow: 0 /*{a-bar-shadow-x}*/ 1px /*{a-bar-shadow-y}*/ 0 /*{a-bar-shadow-radius}*/ #eee /*{a-bar-shadow-color}*/; + font-weight: bold; +} +.ui-bar-a { + border-width: 1px; + border-style: solid; +} +/* Page and overlay */ +.ui-overlay-a, +.ui-page-theme-a, +.ui-page-theme-a .ui-panel-wrapper { + background-color: #f9f9f9 /*{a-page-background-color}*/; + border-color: #bbb /*{a-page-border}*/; + color: #333 /*{a-page-color}*/; + text-shadow: 0 /*{a-page-shadow-x}*/ 1px /*{a-page-shadow-y}*/ 0 /*{a-page-shadow-radius}*/ #f3f3f3 /*{a-page-shadow-color}*/; +} +/* Body: Read-only lists, text inputs, collapsible content */ +.ui-body-a, +.ui-page-theme-a .ui-body-inherit, +html .ui-bar-a .ui-body-inherit, +html .ui-body-a .ui-body-inherit, +html body .ui-group-theme-a .ui-body-inherit, +html .ui-panel-page-container-a { + background-color: #fff /*{a-body-background-color}*/; + border-color: #ddd /*{a-body-border}*/; + color: #333 /*{a-body-color}*/; + text-shadow: 0 /*{a-body-shadow-x}*/ 1px /*{a-body-shadow-y}*/ 0 /*{a-body-shadow-radius}*/ #f3f3f3 /*{a-body-shadow-color}*/; +} +.ui-body-a { + border-width: 1px; + border-style: solid; +} +/* Links */ +.ui-page-theme-a a, +html .ui-bar-a a, +html .ui-body-a a, +html body .ui-group-theme-a a { + color: #3388cc /*{a-link-color}*/; + font-weight: bold; +} +.ui-page-theme-a a:visited, +html .ui-bar-a a:visited, +html .ui-body-a a:visited, +html body .ui-group-theme-a a:visited { + color: #3388cc /*{a-link-visited}*/; +} +.ui-page-theme-a a:hover, +html .ui-bar-a a:hover, +html .ui-body-a a:hover, +html body .ui-group-theme-a a:hover { + color: #005599 /*{a-link-hover}*/; +} +.ui-page-theme-a a:active, +html .ui-bar-a a:active, +html .ui-body-a a:active, +html body .ui-group-theme-a a:active { + color: #005599 /*{a-link-active}*/; +} +/* Button up */ +.ui-page-theme-a .ui-btn, +html .ui-bar-a .ui-btn, +html .ui-body-a .ui-btn, +html body .ui-group-theme-a .ui-btn, +html head + body .ui-btn.ui-btn-a, +/* Button visited */ +.ui-page-theme-a .ui-btn:visited, +html .ui-bar-a .ui-btn:visited, +html .ui-body-a .ui-btn:visited, +html body .ui-group-theme-a .ui-btn:visited, +html head + body .ui-btn.ui-btn-a:visited { + background-color: #f6f6f6 /*{a-bup-background-color}*/; + border-color: #ddd /*{a-bup-border}*/; + color: #333 /*{a-bup-color}*/; + text-shadow: 0 /*{a-bup-shadow-x}*/ 1px /*{a-bup-shadow-y}*/ 0 /*{a-bup-shadow-radius}*/ #f3f3f3 /*{a-bup-shadow-color}*/; +} +/* Button hover */ +.ui-page-theme-a .ui-btn:hover, +html .ui-bar-a .ui-btn:hover, +html .ui-body-a .ui-btn:hover, +html body .ui-group-theme-a .ui-btn:hover, +html head + body .ui-btn.ui-btn-a:hover { + background-color: #ededed /*{a-bhover-background-color}*/; + border-color: #ddd /*{a-bhover-border}*/; + color: #333 /*{a-bhover-color}*/; + text-shadow: 0 /*{a-bhover-shadow-x}*/ 1px /*{a-bhover-shadow-y}*/ 0 /*{a-bhover-shadow-radius}*/ #f3f3f3 /*{a-bhover-shadow-color}*/; +} +/* Button down */ +.ui-page-theme-a .ui-btn:active, +html .ui-bar-a .ui-btn:active, +html .ui-body-a .ui-btn:active, +html body .ui-group-theme-a .ui-btn:active, +html head + body .ui-btn.ui-btn-a:active { + background-color: #e8e8e8 /*{a-bdown-background-color}*/; + border-color: #ddd /*{a-bdown-border}*/; + color: #333 /*{a-bdown-color}*/; + text-shadow: 0 /*{a-bdown-shadow-x}*/ 1px /*{a-bdown-shadow-y}*/ 0 /*{a-bdown-shadow-radius}*/ #f3f3f3 /*{a-bdown-shadow-color}*/; +} +/* Active button */ +.ui-page-theme-a .ui-btn.ui-btn-active, +html .ui-bar-a .ui-btn.ui-btn-active, +html .ui-body-a .ui-btn.ui-btn-active, +html body .ui-group-theme-a .ui-btn.ui-btn-active, +html head + body .ui-btn.ui-btn-a.ui-btn-active, +/* Active checkbox icon */ +.ui-page-theme-a .ui-checkbox-on:after, +html .ui-bar-a .ui-checkbox-on:after, +html .ui-body-a .ui-checkbox-on:after, +html body .ui-group-theme-a .ui-checkbox-on:after, +.ui-btn.ui-checkbox-on.ui-btn-a:after, +/* Active flipswitch background */ +.ui-page-theme-a .ui-flipswitch-active, +html .ui-bar-a .ui-flipswitch-active, +html .ui-body-a .ui-flipswitch-active, +html body .ui-group-theme-a .ui-flipswitch-active, +html body .ui-flipswitch.ui-bar-a.ui-flipswitch-active, +/* Active slider track */ +.ui-page-theme-a .ui-slider-track .ui-btn-active, +html .ui-bar-a .ui-slider-track .ui-btn-active, +html .ui-body-a .ui-slider-track .ui-btn-active, +html body .ui-group-theme-a .ui-slider-track .ui-btn-active, +html body div.ui-slider-track.ui-body-a .ui-btn-active { + background-color: #3388cc /*{a-active-background-color}*/; + border-color: #3388cc /*{a-active-border}*/; + color: #fff /*{a-active-color}*/; + text-shadow: 0 /*{a-active-shadow-x}*/ 1px /*{a-active-shadow-y}*/ 0 /*{a-active-shadow-radius}*/ #005599 /*{a-active-shadow-color}*/; +} +/* Active radio button icon */ +.ui-page-theme-a .ui-radio-on:after, +html .ui-bar-a .ui-radio-on:after, +html .ui-body-a .ui-radio-on:after, +html body .ui-group-theme-a .ui-radio-on:after, +.ui-btn.ui-radio-on.ui-btn-a:after { + border-color: #3388cc /*{a-active-background-color}*/; +} +/* Focus */ +.ui-page-theme-a .ui-btn:focus, +html .ui-bar-a .ui-btn:focus, +html .ui-body-a .ui-btn:focus, +html body .ui-group-theme-a .ui-btn:focus, +html head + body .ui-btn.ui-btn-a:focus, +/* Focus buttons and text inputs with div wrap */ +.ui-page-theme-a .ui-focus, +html .ui-bar-a .ui-focus, +html .ui-body-a .ui-focus, +html body .ui-group-theme-a .ui-focus, +html head + body .ui-btn-a.ui-focus, +html head + body .ui-body-a.ui-focus { + -webkit-box-shadow: 0 0 12px #3388cc /*{a-active-background-color}*/; + -moz-box-shadow: 0 0 12px #3388cc /*{a-active-background-color}*/; + box-shadow: 0 0 12px #3388cc /*{a-active-background-color}*/; +} +/* B +-----------------------------------------------------------------------------------------------------------*/ +/* Bar: Toolbars, dividers, slider track */ +.ui-bar-b, +.ui-page-theme-b .ui-bar-inherit, +html .ui-bar-b .ui-bar-inherit, +html .ui-body-b .ui-bar-inherit, +html body .ui-group-theme-b .ui-bar-inherit { + background-color: #1d1d1d /*{b-bar-background-color}*/; + border-color: #1b1b1b /*{b-bar-border}*/; + color: #fff /*{b-bar-color}*/; + text-shadow: 0 /*{b-bar-shadow-x}*/ 1px /*{b-bar-shadow-y}*/ 0 /*{b-bar-shadow-radius}*/ #111 /*{b-bar-shadow-color}*/; + font-weight: bold; +} +.ui-bar-b { + border-width: 1px; + border-style: solid; +} +/* Page and overlay */ +.ui-overlay-b, +.ui-page-theme-b, +.ui-page-theme-b .ui-panel-wrapper { + background-color: #252525 /*{b-page-background-color}*/; + border-color: #454545 /*{b-page-border}*/; + color: #fff /*{b-page-color}*/; + text-shadow: 0 /*{b-page-shadow-x}*/ 1px /*{b-page-shadow-y}*/ 0 /*{b-page-shadow-radius}*/ #111 /*{b-page-shadow-color}*/; +} +/* Body: Read-only lists, text inputs, collapsible content */ +.ui-body-b, +.ui-page-theme-b .ui-body-inherit, +html .ui-bar-b .ui-body-inherit, +html .ui-body-b .ui-body-inherit, +html body .ui-group-theme-b .ui-body-inherit, +html .ui-panel-page-container-b { + background-color: #2a2a2a /*{b-body-background-color}*/; + border-color: #1d1d1d /*{b-body-border}*/; + color: #fff /*{b-body-color}*/; + text-shadow: 0 /*{b-body-shadow-x}*/ 1px /*{b-body-shadow-y}*/ 0 /*{b-body-shadow-radius}*/ #111 /*{b-body-shadow-color}*/; +} +.ui-body-b { + border-width: 1px; + border-style: solid; +} +/* Links */ +.ui-page-theme-b a, +html .ui-bar-b a, +html .ui-body-b a, +html body .ui-group-theme-b a { + color: #22aadd /*{b-link-color}*/; + font-weight: bold; +} +.ui-page-theme-b a:visited, +html .ui-bar-b a:visited, +html .ui-body-b a:visited, +html body .ui-group-theme-b a:visited { + color: #22aadd /*{b-link-visited}*/; +} +.ui-page-theme-b a:hover, +html .ui-bar-b a:hover, +html .ui-body-b a:hover, +html body .ui-group-theme-b a:hover { + color: #0088bb /*{b-link-hover}*/; +} +.ui-page-theme-b a:active, +html .ui-bar-b a:active, +html .ui-body-b a:active, +html body .ui-group-theme-b a:active { + color: #0088bb /*{b-link-active}*/; +} +/* Button up */ +.ui-page-theme-b .ui-btn, +html .ui-bar-b .ui-btn, +html .ui-body-b .ui-btn, +html body .ui-group-theme-b .ui-btn, +html head + body .ui-btn.ui-btn-b, +/* Button visited */ +.ui-page-theme-b .ui-btn:visited, +html .ui-bar-b .ui-btn:visited, +html .ui-body-b .ui-btn:visited, +html body .ui-group-theme-b .ui-btn:visited, +html head + body .ui-btn.ui-btn-b:visited { + background-color: #333 /*{b-bup-background-color}*/; + border-color: #1f1f1f /*{b-bup-border}*/; + color: #fff /*{b-bup-color}*/; + text-shadow: 0 /*{b-bup-shadow-x}*/ 1px /*{b-bup-shadow-y}*/ 0 /*{b-bup-shadow-radius}*/ #111 /*{b-bup-shadow-color}*/; +} +/* Button hover */ +.ui-page-theme-b .ui-btn:hover, +html .ui-bar-b .ui-btn:hover, +html .ui-body-b .ui-btn:hover, +html body .ui-group-theme-b .ui-btn:hover, +html head + body .ui-btn.ui-btn-b:hover { + background-color: #373737 /*{b-bhover-background-color}*/; + border-color: #1f1f1f /*{b-bhover-border}*/; + color: #fff /*{b-bhover-color}*/; + text-shadow: 0 /*{b-bhover-shadow-x}*/ 1px /*{b-bhover-shadow-y}*/ 0 /*{b-bhover-shadow-radius}*/ #111 /*{b-bhover-shadow-color}*/; +} +/* Button down */ +.ui-page-theme-b .ui-btn:active, +html .ui-bar-b .ui-btn:active, +html .ui-body-b .ui-btn:active, +html body .ui-group-theme-b .ui-btn:active, +html head + body .ui-btn.ui-btn-b:active { + background-color: #404040 /*{b-bdown-background-color}*/; + border-color: #1f1f1f /*{b-bdown-border}*/; + color: #fff /*{b-bdown-color}*/; + text-shadow: 0 /*{b-bdown-shadow-x}*/ 1px /*{b-bdown-shadow-y}*/ 0 /*{b-bdown-shadow-radius}*/ #111 /*{b-bdown-shadow-color}*/; +} +/* Active button */ +.ui-page-theme-b .ui-btn.ui-btn-active, +html .ui-bar-b .ui-btn.ui-btn-active, +html .ui-body-b .ui-btn.ui-btn-active, +html body .ui-group-theme-b .ui-btn.ui-btn-active, +html head + body .ui-btn.ui-btn-b.ui-btn-active, +/* Active checkbox icon */ +.ui-page-theme-b .ui-checkbox-on:after, +html .ui-bar-b .ui-checkbox-on:after, +html .ui-body-b .ui-checkbox-on:after, +html body .ui-group-theme-b .ui-checkbox-on:after, +.ui-btn.ui-checkbox-on.ui-btn-b:after, +/* Active flipswitch background */ +.ui-page-theme-b .ui-flipswitch-active, +html .ui-bar-b .ui-flipswitch-active, +html .ui-body-b .ui-flipswitch-active, +html body .ui-group-theme-b .ui-flipswitch-active, +html body .ui-flipswitch.ui-bar-b.ui-flipswitch-active, +/* Active slider track */ +.ui-page-theme-b .ui-slider-track .ui-btn-active, +html .ui-bar-b .ui-slider-track .ui-btn-active, +html .ui-body-b .ui-slider-track .ui-btn-active, +html body .ui-group-theme-b .ui-slider-track .ui-btn-active, +html body div.ui-slider-track.ui-body-b .ui-btn-active { + background-color: #22aadd /*{b-active-background-color}*/; + border-color: #22aadd /*{b-active-border}*/; + color: #fff /*{b-active-color}*/; + text-shadow: 0 /*{b-active-shadow-x}*/ 1px /*{b-active-shadow-y}*/ 0 /*{b-active-shadow-radius}*/ #0088bb /*{b-active-shadow-color}*/; +} +/* Active radio button icon */ +.ui-page-theme-b .ui-radio-on:after, +html .ui-bar-b .ui-radio-on:after, +html .ui-body-b .ui-radio-on:after, +html body .ui-group-theme-b .ui-radio-on:after, +.ui-btn.ui-radio-on.ui-btn-b:after { + border-color: #22aadd /*{b-active-background-color}*/; +} +/* Focus */ +.ui-page-theme-b .ui-btn:focus, +html .ui-bar-b .ui-btn:focus, +html .ui-body-b .ui-btn:focus, +html body .ui-group-theme-b .ui-btn:focus, +html head + body .ui-btn.ui-btn-b:focus, +/* Focus buttons and text inputs with div wrap */ +.ui-page-theme-b .ui-focus, +html .ui-bar-b .ui-focus, +html .ui-body-b .ui-focus, +html body .ui-group-theme-b .ui-focus, +html head + body .ui-btn-b.ui-focus, +html head + body .ui-body-b.ui-focus { + -webkit-box-shadow: 0 0 12px #22aadd /*{b-active-background-color}*/; + -moz-box-shadow: 0 0 12px #22aadd /*{b-active-background-color}*/; + box-shadow: 0 0 12px #22aadd /*{b-active-background-color}*/; +} +/* Structure */ +/* Disabled +-----------------------------------------------------------------------------------------------------------*/ +/* Class ui-disabled deprecated in 1.4. :disabled not supported by IE8 so we use [disabled] */ +.ui-disabled, +.ui-state-disabled, +button[disabled], +.ui-select .ui-btn.ui-state-disabled { + filter: Alpha(Opacity=30); + opacity: .3; + cursor: default !important; + pointer-events: none; +} +/* Focus state outline +-----------------------------------------------------------------------------------------------------------*/ +.ui-btn:focus, +.ui-btn.ui-focus { + outline: 0; +} +/* Unset box-shadow in browsers that don't do it right */ +.ui-noboxshadow .ui-shadow, +.ui-noboxshadow .ui-shadow-inset, +.ui-noboxshadow .ui-overlay-shadow, +.ui-noboxshadow .ui-shadow-icon.ui-btn:after, +.ui-noboxshadow .ui-shadow-icon .ui-btn:after, +.ui-noboxshadow .ui-focus, +.ui-noboxshadow .ui-btn:focus, +.ui-noboxshadow input:focus, +.ui-noboxshadow .ui-panel { + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; +} +.ui-noboxshadow .ui-btn:focus, +.ui-noboxshadow .ui-focus { + outline-width: 1px; + outline-style: auto; +} +/* Some unsets */ +.ui-mobile, +.ui-mobile body { + height: 99.9%; +} +.ui-mobile fieldset, +.ui-page { + padding: 0; + margin: 0; +} +.ui-mobile a img, +.ui-mobile fieldset { + border-width: 0; +} +/* Fixes for fieldset issues on IE10 and FF (see #6077) */ +.ui-mobile fieldset { + min-width: 0; +} +@-moz-document url-prefix() { + .ui-mobile fieldset { + display: table-column; + vertical-align: middle; + } +} +/* Viewport */ +.ui-mobile-viewport { + margin: 0; + overflow-x: visible; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust:none; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +/* Issue #2066 */ +body.ui-mobile-viewport, +div.ui-mobile-viewport { + overflow-x: hidden; +} +/* "page" containers - full-screen views, one should always be in view post-pageload */ +.ui-mobile [data-role=page], +.ui-mobile [data-role=dialog], +.ui-page { + top: 0; + left: 0; + width: 100%; + min-height: 100%; + position: absolute; + display: none; + border: 0; +} +/* On ios4, setting focus on the page element causes flashing during transitions when there is an outline, so we turn off outlines */ +.ui-page { + outline: none; +} +.ui-mobile .ui-page-active { + display: block; + overflow: visible; + overflow-x: hidden; +} +@media screen and (orientation: portrait) { + .ui-mobile .ui-page { + min-height: 420px; + } +} +@media screen and (orientation: landscape) { + .ui-mobile .ui-page { + min-height: 300px; + } +} +/* Fouc */ +.ui-mobile-rendering > * { + visibility: hidden; +} +/* Non-js content hiding */ +.ui-nojs { + position: absolute !important; + height: 1px; + width: 1px; + overflow: hidden; + clip: rect(1px,1px,1px,1px); +} +/* Loading screen */ +.ui-loading .ui-loader { + display: block; +} +.ui-loader { + display: none; + z-index: 9999999; + position: fixed; + top: 50%; + left: 50%; + border:0; +} +.ui-loader-default { + background: none; + filter: Alpha(Opacity=18); + opacity: .18; + width: 2.875em; + height: 2.875em; + margin-left: -1.4375em; + margin-top: -1.4375em; +} +.ui-loader-verbose { + width: 12.5em; + filter: Alpha(Opacity=88); + opacity: .88; + box-shadow: 0 1px 1px -1px #fff; + height: auto; + margin-left: -6.875em; + margin-top: -2.6875em; + padding: .625em; +} +.ui-loader-default h1 { + font-size: 0; + width: 0; + height: 0; + overflow: hidden; +} +.ui-loader-verbose h1 { + font-size: 1em; + margin: 0; + text-align: center; +} +.ui-loader .ui-icon-loading { + background-color: #000; + display: block; + margin: 0; + width: 2.75em; + height: 2.75em; + padding: .0625em; + -webkit-border-radius: 2.25em; + border-radius: 2.25em; +} +.ui-loader-verbose .ui-icon-loading { + margin: 0 auto .625em; + filter: Alpha(Opacity=75); + opacity: .75; +} +.ui-loader-textonly { + padding: .9375em; + margin-left: -7.1875em; +} +.ui-loader-textonly .ui-icon-loading { + display: none; +} +.ui-loader-fakefix { + position: absolute; +} +/* Headers, content panels */ +.ui-bar, +.ui-body { + position: relative; + padding: .4em 1em; + overflow: hidden; + display: block; + clear: both; +} +.ui-bar h1, +.ui-bar h2, +.ui-bar h3, +.ui-bar h4, +.ui-bar h5, +.ui-bar h6 { + margin: 0; + padding: 0; + font-size: 1em; + display: inline-block; +} +.ui-header, +.ui-footer { + border-width: 1px 0; + border-style: solid; + position: relative; +} +.ui-header:empty, +.ui-footer:empty { + min-height: 2.6875em; +} +.ui-header .ui-title, +.ui-footer .ui-title { + font-size: 1em; + min-height: 1.1em; + text-align: center; + display: block; + margin: 0 30%; + padding: .7em 0; + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + outline: 0 !important; +} +.ui-footer .ui-title { + margin: 0 1em; +} +.ui-content { + border-width: 0; + overflow: visible; + overflow-x: hidden; + padding: 1em; +} +/* Corner styling for dialogs and popups */ +.ui-corner-all > .ui-header:first-child, +.ui-corner-all > .ui-content:first-child, +.ui-corner-all > .ui-footer:first-child { + -webkit-border-top-left-radius: inherit; + border-top-left-radius: inherit; + -webkit-border-top-right-radius: inherit; + border-top-right-radius: inherit; +} +.ui-corner-all > .ui-header:last-child, +.ui-corner-all > .ui-content:last-child, +.ui-corner-all > .ui-footer:last-child { + -webkit-border-bottom-left-radius: inherit; + border-bottom-left-radius: inherit; + -webkit-border-bottom-right-radius: inherit; + border-bottom-right-radius: inherit; +} +/* Buttons and icons */ +.ui-btn { + font-size: 16px; + margin: .5em 0; + padding: .7em 1em; + display: block; + position: relative; + text-align: center; + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.ui-btn-icon-notext { + padding: 0; + width: 1.75em; + height: 1.75em; + text-indent: -9999px; + white-space: nowrap !important; +} +.ui-mini { + font-size: 12.5px; +} +.ui-mini .ui-btn { + font-size: inherit; +} +/* Make buttons in toolbars default to mini and inline. */ +.ui-header .ui-btn, +.ui-footer .ui-btn { + font-size: 12.5px; + display: inline-block; + vertical-align: middle; +} +/* To ensure same top and left/right position when ui-btn-left/right are added to something other than buttons. */ +.ui-header .ui-btn-left, +.ui-header .ui-btn-right { + font-size: 12.5px; +} +.ui-mini.ui-btn-icon-notext, +.ui-mini .ui-btn-icon-notext, +.ui-header .ui-btn-icon-notext, +.ui-footer .ui-btn-icon-notext { + font-size: 16px; + padding: 0; +} +.ui-btn-inline { + display: inline-block; + vertical-align: middle; + margin-right: .625em; +} +.ui-btn-icon-left { + padding-left: 2.5em; +} +.ui-btn-icon-right { + padding-right: 2.5em; +} +.ui-btn-icon-top { + padding-top: 2.5em; +} +.ui-btn-icon-bottom { + padding-bottom: 2.5em; +} +.ui-header .ui-btn-icon-top, +.ui-footer .ui-btn-icon-top, +.ui-header .ui-btn-icon-bottom, +.ui-footer .ui-btn-icon-bottom { + padding-left: .3125em; + padding-right: .3125em; +} +.ui-btn-icon-left:after, +.ui-btn-icon-right:after, +.ui-btn-icon-top:after, +.ui-btn-icon-bottom:after, +.ui-btn-icon-notext:after { + content: ""; + position: absolute; + display: block; + width: 22px; + height: 22px; +} +.ui-btn-icon-notext:after, +.ui-btn-icon-left:after, +.ui-btn-icon-right:after { + top: 50%; + margin-top: -11px; +} +.ui-btn-icon-left:after { + left: .5625em; +} +.ui-btn-icon-right:after { + right: .5625em; +} +.ui-mini.ui-btn-icon-left:after, +.ui-mini .ui-btn-icon-left:after, +.ui-header .ui-btn-icon-left:after, +.ui-footer .ui-btn-icon-left:after { + left: .37em; +} +.ui-mini.ui-btn-icon-right:after, +.ui-mini .ui-btn-icon-right:after, +.ui-header .ui-btn-icon-right:after, +.ui-footer .ui-btn-icon-right:after { + right: .37em; +} +.ui-btn-icon-notext:after, +.ui-btn-icon-top:after, +.ui-btn-icon-bottom:after { + left: 50%; + margin-left: -11px; +} +.ui-btn-icon-top:after { + top: .5625em; +} +.ui-btn-icon-bottom:after { + top: auto; + bottom: .5625em; +} +/* Buttons in header position classes */ +.ui-header .ui-btn-left, +.ui-header .ui-btn-right, +.ui-btn-left > [class*="ui-"], +.ui-btn-right > [class*="ui-"] { + margin: 0; +} +.ui-btn-left, +.ui-btn-right { + position: absolute; + top: .24em; +} +.ui-btn-left { + left: .4em; +} +.ui-btn-right { + right: .4em; +} +.ui-btn-icon-notext.ui-btn-left { + top: .3125em; + left: .3125em; +} +.ui-btn-icon-notext.ui-btn-right { + top: .3125em; + right: .3125em; +} +/* Button elements */ +button.ui-btn, +.ui-controlgroup-controls button.ui-btn-icon-notext { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-appearance: none; + -moz-appearance: none; + width: 100%; +} +button.ui-btn-inline { + width: auto; +} +/* Firefox adds a 1px border in a button element. We negate this to make sure they have the same height as other buttons in controlgroups. */ +button.ui-btn::-moz-focus-inner { + border: 0; +} +button.ui-btn-icon-notext, +.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + width: 1.75em; +} +/* Form labels */ +.ui-mobile label, +.ui-controlgroup-label { + display: block; + margin: 0 0 .4em; +} +/* Accessible content hiding */ +/* ui-hide-label deprecated in 1.4. TODO: Remove in 1.5 */ +.ui-hide-label > label, +.ui-hide-label .ui-controlgroup-label, +.ui-hide-label .ui-rangeslider label, +.ui-hidden-accessible { + position: absolute !important; + height: 1px; + width: 1px; + overflow: hidden; + clip: rect(1px,1px,1px,1px); +} +/* Used for hiding elements by the filterable widget. You can also use this class to hide list items or buttons in controlgroups; this ensures correct corner styling. */ +.ui-screen-hidden { + display: none !important; +} +/* Transitions originally inspired by those from jQtouch, nice work, folks */ +.ui-mobile-viewport-transitioning, +.ui-mobile-viewport-transitioning .ui-page { + width: 100%; + height: 100%; + overflow: hidden; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.ui-page-pre-in { + opacity: 0; +} +.in { + -webkit-animation-timing-function: ease-out; + -webkit-animation-duration: 350ms; + -moz-animation-timing-function: ease-out; + -moz-animation-duration: 350ms; + animation-timing-function: ease-out; + animation-duration: 350ms; +} +.out { + -webkit-animation-timing-function: ease-in; + -webkit-animation-duration: 225ms; + -moz-animation-timing-function: ease-in; + -moz-animation-duration: 225ms; + animation-timing-function: ease-in; + animation-duration: 225ms; +} +@-webkit-keyframes fadein { + from { opacity: 0; } + to { opacity: 1; } +} +@-moz-keyframes fadein { + from { opacity: 0; } + to { opacity: 1; } +} +@keyframes fadein { + from { opacity: 0; } + to { opacity: 1; } +} +@-webkit-keyframes fadeout { + from { opacity: 1; } + to { opacity: 0; } +} +@-moz-keyframes fadeout { + from { opacity: 1; } + to { opacity: 0; } +} +@keyframes fadeout { + from { opacity: 1; } + to { opacity: 0; } +} +.fade.out { + opacity: 0; + -webkit-animation-duration: 125ms; + -webkit-animation-name: fadeout; + -moz-animation-duration: 125ms; + -moz-animation-name: fadeout; + animation-duration: 125ms; + animation-name: fadeout; +} +.fade.in { + opacity: 1; + -webkit-animation-duration: 225ms; + -webkit-animation-name: fadein; + -moz-animation-duration: 225ms; + -moz-animation-name: fadein; + animation-duration: 225ms; + animation-name: fadein; +} +.pop { + -webkit-transform-origin: 50% 50%; + -moz-transform-origin: 50% 50%; + transform-origin: 50% 50%; +} +.pop.in { + -webkit-transform: scale(1); + -webkit-animation-name: popin; + -webkit-animation-duration: 350ms; + -moz-transform: scale(1); + -moz-animation-name: popin; + -moz-animation-duration: 350ms; + transform: scale(1); + animation-name: popin; + animation-duration: 350ms; + opacity: 1; +} +.pop.out { + -webkit-animation-name: fadeout; + -webkit-animation-duration: 100ms; + -moz-animation-name: fadeout; + -moz-animation-duration: 100ms; + animation-name: fadeout; + animation-duration: 100ms; + opacity: 0; +} +.pop.in.reverse { + -webkit-animation-name: fadein; + -moz-animation-name: fadein; + animation-name: fadein; +} +.pop.out.reverse { + -webkit-transform: scale(.8); + -webkit-animation-name: popout; + -moz-transform: scale(.8); + -moz-animation-name: popout; + transform: scale(.8); + animation-name: popout; +} +@-webkit-keyframes popin { + from { + -webkit-transform: scale(.8); + opacity: 0; + } + to { + -webkit-transform: scale(1); + opacity: 1; + } +} +@-moz-keyframes popin { + from { + -moz-transform: scale(.8); + opacity: 0; + } + to { + -moz-transform: scale(1); + opacity: 1; + } +} +@keyframes popin { + from { + transform: scale(.8); + opacity: 0; + } + to { + transform: scale(1); + opacity: 1; + } +} +@-webkit-keyframes popout { + from { + -webkit-transform: scale(1); + opacity: 1; + } + to { + -webkit-transform: scale(.8); + opacity: 0; + } +} +@-moz-keyframes popout { + from { + -moz-transform: scale(1); + opacity: 1; + } + to { + -moz-transform: scale(.8); + opacity: 0; + } +} +@keyframes popout { + from { + transform: scale(1); + opacity: 1; + } + to { + transform: scale(.8); + opacity: 0; + } +} +/* keyframes for slidein from sides */ +@-webkit-keyframes slideinfromright { + from { -webkit-transform: translate3d(100%,0,0); } + to { -webkit-transform: translate3d(0,0,0); } +} +@-moz-keyframes slideinfromright { + from { -moz-transform: translateX(100%); } + to { -moz-transform: translateX(0); } +} +@keyframes slideinfromright { + from { transform: translateX(100%); } + to { transform: translateX(0); } +} +@-webkit-keyframes slideinfromleft { + from { -webkit-transform: translate3d(-100%,0,0); } + to { -webkit-transform: translate3d(0,0,0); } +} +@-moz-keyframes slideinfromleft { + from { -moz-transform: translateX(-100%); } + to { -moz-transform: translateX(0); } +} +@keyframes slideinfromleft { + from { transform: translateX(-100%); } + to { transform: translateX(0); } +} +/* keyframes for slideout to sides */ +@-webkit-keyframes slideouttoleft { + from { -webkit-transform: translate3d(0,0,0); } + to { -webkit-transform: translate3d(-100%,0,0); } +} +@-moz-keyframes slideouttoleft { + from { -moz-transform: translateX(0); } + to { -moz-transform: translateX(-100%); } +} +@keyframes slideouttoleft { + from { transform: translateX(0); } + to { transform: translateX(-100%); } +} +@-webkit-keyframes slideouttoright { + from { -webkit-transform: translate3d(0,0,0); } + to { -webkit-transform: translate3d(100%,0,0); } +} +@-moz-keyframes slideouttoright { + from { -moz-transform: translateX(0); } + to { -moz-transform: translateX(100%); } +} +@keyframes slideouttoright { + from { transform: translateX(0); } + to { transform: translateX(100%); } +} +.slide.out, .slide.in { + -webkit-animation-timing-function: ease-out; + -webkit-animation-duration: 350ms; + -moz-animation-timing-function: ease-out; + -moz-animation-duration: 350ms; + animation-timing-function: ease-out; + animation-duration: 350ms; +} +.slide.out { + -webkit-transform: translate3d(-100%,0,0); + -webkit-animation-name: slideouttoleft; + -moz-transform: translateX(-100%); + -moz-animation-name: slideouttoleft; + transform: translateX(-100%); + animation-name: slideouttoleft; +} +.slide.in { + -webkit-transform: translate3d(0,0,0); + -webkit-animation-name: slideinfromright; + -moz-transform: translateX(0); + -moz-animation-name: slideinfromright; + transform: translateX(0); + animation-name: slideinfromright; +} +.slide.out.reverse { + -webkit-transform: translate3d(100%,0,0); + -webkit-animation-name: slideouttoright; + -moz-transform: translateX(100%); + -moz-animation-name: slideouttoright; + transform: translateX(100%); + animation-name: slideouttoright; +} +.slide.in.reverse { + -webkit-transform: translate3d(0,0,0); + -webkit-animation-name: slideinfromleft; + -moz-transform: translateX(0); + -moz-animation-name: slideinfromleft; + transform: translateX(0); + animation-name: slideinfromleft; +} +.slidefade.out { + -webkit-transform: translateX(-100%); + -webkit-animation-name: slideouttoleft; + -webkit-animation-duration: 225ms; + -moz-transform: translateX(-100%); + -moz-animation-name: slideouttoleft; + -moz-animation-duration: 225ms; + transform: translateX(-100%); + animation-name: slideouttoleft; + animation-duration: 225ms; +} +.slidefade.in { + -webkit-transform: translateX(0); + -webkit-animation-name: fadein; + -webkit-animation-duration: 200ms; + -moz-transform: translateX(0); + -moz-animation-name: fadein; + -moz-animation-duration: 200ms; + transform: translateX(0); + animation-name: fadein; + animation-duration: 200ms; +} +.slidefade.out.reverse { + -webkit-transform: translateX(100%); + -webkit-animation-name: slideouttoright; + -webkit-animation-duration: 200ms; + -moz-transform: translateX(100%); + -moz-animation-name: slideouttoright; + -moz-animation-duration: 200ms; + transform: translateX(100%); + animation-name: slideouttoright; + animation-duration: 200ms; +} +.slidefade.in.reverse { + -webkit-transform: translateX(0); + -webkit-animation-name: fadein; + -webkit-animation-duration: 200ms; + -moz-transform: translateX(0); + -moz-animation-name: fadein; + -moz-animation-duration: 200ms; + transform: translateX(0); + animation-name: fadein; + animation-duration: 200ms; +} +/* slide down */ +.slidedown.out { + -webkit-animation-name: fadeout; + -webkit-animation-duration: 100ms; + -moz-animation-name: fadeout; + -moz-animation-duration: 100ms; + animation-name: fadeout; + animation-duration: 100ms; +} +.slidedown.in { + -webkit-transform: translateY(0); + -webkit-animation-name: slideinfromtop; + -webkit-animation-duration: 250ms; + -moz-transform: translateY(0); + -moz-animation-name: slideinfromtop; + -moz-animation-duration: 250ms; + transform: translateY(0); + animation-name: slideinfromtop; + animation-duration: 250ms; +} +.slidedown.in.reverse { + -webkit-animation-name: fadein; + -webkit-animation-duration: 150ms; + -moz-animation-name: fadein; + -moz-animation-duration: 150ms; + animation-name: fadein; + animation-duration: 150ms; +} +.slidedown.out.reverse { + -webkit-transform: translateY(-100%); + -webkit-animation-name: slideouttotop; + -webkit-animation-duration: 200ms; + -moz-transform: translateY(-100%); + -moz-animation-name: slideouttotop; + -moz-animation-duration: 200ms; + transform: translateY(-100%); + animation-name: slideouttotop; + animation-duration: 200ms; +} +@-webkit-keyframes slideinfromtop { + from { -webkit-transform: translateY(-100%); } + to { -webkit-transform: translateY(0); } +} +@-moz-keyframes slideinfromtop { + from { -moz-transform: translateY(-100%); } + to { -moz-transform: translateY(0); } +} +@keyframes slideinfromtop { + from { transform: translateY(-100%); } + to { transform: translateY(0); } +} +@-webkit-keyframes slideouttotop { + from { -webkit-transform: translateY(0); } + to { -webkit-transform: translateY(-100%); } +} +@-moz-keyframes slideouttotop { + from { -moz-transform: translateY(0); } + to { -moz-transform: translateY(-100%); } +} +@keyframes slideouttotop { + from { transform: translateY(0); } + to { transform: translateY(-100%); } +} +/* slide up */ +.slideup.out { + -webkit-animation-name: fadeout; + -webkit-animation-duration: 100ms; + -moz-animation-name: fadeout; + -moz-animation-duration: 100ms; + animation-name: fadeout; + animation-duration: 100ms; +} +.slideup.in { + -webkit-transform: translateY(0); + -webkit-animation-name: slideinfrombottom; + -webkit-animation-duration: 250ms; + -moz-transform: translateY(0); + -moz-animation-name: slideinfrombottom; + -moz-animation-duration: 250ms; + transform: translateY(0); + animation-name: slideinfrombottom; + animation-duration: 250ms; +} +.slideup.in.reverse { + -webkit-animation-name: fadein; + -webkit-animation-duration: 150ms; + -moz-animation-name: fadein; + -moz-animation-duration: 150ms; + animation-name: fadein; + animation-duration: 150ms; +} +.slideup.out.reverse { + -webkit-transform: translateY(100%); + -webkit-animation-name: slideouttobottom; + -webkit-animation-duration: 200ms; + -moz-transform: translateY(100%); + -moz-animation-name: slideouttobottom; + -moz-animation-duration: 200ms; + transform: translateY(100%); + animation-name: slideouttobottom; + animation-duration: 200ms; +} +@-webkit-keyframes slideinfrombottom { + from { -webkit-transform: translateY(100%); } + to { -webkit-transform: translateY(0); } +} +@-moz-keyframes slideinfrombottom { + from { -moz-transform: translateY(100%); } + to { -moz-transform: translateY(0); } +} +@keyframes slideinfrombottom { + from { transform: translateY(100%); } + to { transform: translateY(0); } +} +@-webkit-keyframes slideouttobottom { + from { -webkit-transform: translateY(0); } + to { -webkit-transform: translateY(100%); } +} +@-moz-keyframes slideouttobottom { + from { -moz-transform: translateY(0); } + to { -moz-transform: translateY(100%); } +} +@keyframes slideouttobottom { + from { transform: translateY(0); } + to { transform: translateY(100%); } +} +/* The properties in this rule are only necessary for the 'flip' transition. + * We need specify the perspective to create a projection matrix. This will add + * some depth as the element flips. The depth number represents the distance of + * the viewer from the z-plane. According to the CSS3 spec, 1000 is a moderate + * value. + */ +.viewport-flip { + -webkit-perspective: 1000; + -moz-perspective: 1000; + perspective: 1000; + position: absolute; +} +.flip { + -webkit-backface-visibility: hidden; + -webkit-transform: translateX(0); /* Needed to work around an iOS 3.1 bug that causes listview thumbs to disappear when -webkit-visibility:hidden is used. */ + -moz-backface-visibility: hidden; + -moz-transform: translateX(0); + backface-visibility: hidden; + transform: translateX(0); +} +.flip.out { + -webkit-transform: rotateY(-90deg) scale(.9); + -webkit-animation-name: flipouttoleft; + -webkit-animation-duration: 175ms; + -moz-transform: rotateY(-90deg) scale(.9); + -moz-animation-name: flipouttoleft; + -moz-animation-duration: 175ms; + transform: rotateY(-90deg) scale(.9); + animation-name: flipouttoleft; + animation-duration: 175ms; +} +.flip.in { + -webkit-animation-name: flipintoright; + -webkit-animation-duration: 225ms; + -moz-animation-name: flipintoright; + -moz-animation-duration: 225ms; + animation-name: flipintoright; + animation-duration: 225ms; +} +.flip.out.reverse { + -webkit-transform: rotateY(90deg) scale(.9); + -webkit-animation-name: flipouttoright; + -moz-transform: rotateY(90deg) scale(.9); + -moz-animation-name: flipouttoright; + transform: rotateY(90deg) scale(.9); + animation-name: flipouttoright; +} +.flip.in.reverse { + -webkit-animation-name: flipintoleft; + -moz-animation-name: flipintoleft; + animation-name: flipintoleft; +} +@-webkit-keyframes flipouttoleft { + from { -webkit-transform: rotateY(0); } + to { -webkit-transform: rotateY(-90deg) scale(.9); } +} +@-moz-keyframes flipouttoleft { + from { -moz-transform: rotateY(0); } + to { -moz-transform: rotateY(-90deg) scale(.9); } +} +@keyframes flipouttoleft { + from { transform: rotateY(0); } + to { transform: rotateY(-90deg) scale(.9); } +} +@-webkit-keyframes flipouttoright { + from { -webkit-transform: rotateY(0) ; } + to { -webkit-transform: rotateY(90deg) scale(.9); } +} +@-moz-keyframes flipouttoright { + from { -moz-transform: rotateY(0); } + to { -moz-transform: rotateY(90deg) scale(.9); } +} +@keyframes flipouttoright { + from { transform: rotateY(0); } + to { transform: rotateY(90deg) scale(.9); } +} +@-webkit-keyframes flipintoleft { + from { -webkit-transform: rotateY(-90deg) scale(.9); } + to { -webkit-transform: rotateY(0); } +} +@-moz-keyframes flipintoleft { + from { -moz-transform: rotateY(-90deg) scale(.9); } + to { -moz-transform: rotateY(0); } +} +@keyframes flipintoleft { + from { transform: rotateY(-90deg) scale(.9); } + to { transform: rotateY(0); } +} +@-webkit-keyframes flipintoright { + from { -webkit-transform: rotateY(90deg) scale(.9); } + to { -webkit-transform: rotateY(0); } +} +@-moz-keyframes flipintoright { + from { -moz-transform: rotateY(90deg) scale(.9); } + to { -moz-transform: rotateY(0); } +} +@keyframes flipintoright { + from { transform: rotateY(90deg) scale(.9); } + to { transform: rotateY(0); } +} +/* The properties in this rule are only necessary for the 'flip' transition. + * We need specify the perspective to create a projection matrix. This will add + * some depth as the element flips. The depth number represents the distance of + * the viewer from the z-plane. According to the CSS3 spec, 1000 is a moderate + * value. + */ +.viewport-turn { + -webkit-perspective: 200px; + -moz-perspective: 200px; + -ms-perspective: 200px; + perspective: 200px; + position: absolute; +} +.turn { + -webkit-backface-visibility: hidden; + -webkit-transform: translateX(0); /* Needed to work around an iOS 3.1 bug that causes listview thumbs to disappear when -webkit-visibility:hidden is used. */ + -webkit-transform-origin: 0; + + -moz-backface-visibility: hidden; + -moz-transform: translateX(0); + -moz-transform-origin: 0; + + backface-visibility :hidden; + transform: translateX(0); + transform-origin: 0; +} +.turn.out { + -webkit-transform: rotateY(-90deg) scale(.9); + -webkit-animation-name: flipouttoleft; + -webkit-animation-duration: 125ms; + -moz-transform: rotateY(-90deg) scale(.9); + -moz-animation-name: flipouttoleft; + -moz-animation-duration: 125ms; + transform: rotateY(-90deg) scale(.9); + animation-name: flipouttoleft; + animation-duration: 125ms; +} +.turn.in { + -webkit-animation-name: flipintoright; + -webkit-animation-duration: 250ms; + -moz-animation-name: flipintoright; + -moz-animation-duration: 250ms; + animation-name: flipintoright; + animation-duration: 250ms; + +} +.turn.out.reverse { + -webkit-transform: rotateY(90deg) scale(.9); + -webkit-animation-name: flipouttoright; + -moz-transform: rotateY(90deg) scale(.9); + -moz-animation-name: flipouttoright; + transform: rotateY(90deg) scale(.9); + animation-name: flipouttoright; +} +.turn.in.reverse { + -webkit-animation-name: flipintoleft; + -moz-animation-name: flipintoleft; + animation-name: flipintoleft; +} +@-webkit-keyframes flipouttoleft { + from { -webkit-transform: rotateY(0); } + to { -webkit-transform: rotateY(-90deg) scale(.9); } +} +@-moz-keyframes flipouttoleft { + from { -moz-transform: rotateY(0); } + to { -moz-transform: rotateY(-90deg) scale(.9); } +} +@keyframes flipouttoleft { + from { transform: rotateY(0); } + to { transform: rotateY(-90deg) scale(.9); } +} +@-webkit-keyframes flipouttoright { + from { -webkit-transform: rotateY(0) ; } + to { -webkit-transform: rotateY(90deg) scale(.9); } +} +@-moz-keyframes flipouttoright { + from { -moz-transform: rotateY(0); } + to { -moz-transform: rotateY(90deg) scale(.9); } +} +@keyframes flipouttoright { + from { transform: rotateY(0); } + to { transform: rotateY(90deg) scale(.9); } +} +@-webkit-keyframes flipintoleft { + from { -webkit-transform: rotateY(-90deg) scale(.9); } + to { -webkit-transform: rotateY(0); } +} +@-moz-keyframes flipintoleft { + from { -moz-transform: rotateY(-90deg) scale(.9); } + to { -moz-transform: rotateY(0); } +} +@keyframes flipintoleft { + from { transform: rotateY(-90deg) scale(.9); } + to { transform: rotateY(0); } +} +@-webkit-keyframes flipintoright { + from { -webkit-transform: rotateY(90deg) scale(.9); } + to { -webkit-transform: rotateY(0); } +} +@-moz-keyframes flipintoright { + from { -moz-transform: rotateY(90deg) scale(.9); } + to { -moz-transform: rotateY(0); } +} +@keyframes flipintoright { + from { transform: rotateY(90deg) scale(.9); } + to { transform: rotateY(0); } +} +/* flow transition */ +.flow { + -webkit-transform-origin: 50% 30%; + -webkit-box-shadow: 0 0 20px rgba(0,0,0,.4); + -moz-transform-origin: 50% 30%; + -moz-box-shadow: 0 0 20px rgba(0,0,0,.4); + transform-origin: 50% 30%; + box-shadow: 0 0 20px rgba(0,0,0,.4); +} +.ui-dialog.flow { + -webkit-transform-origin: none; + -webkit-box-shadow: none; + -moz-transform-origin: none; + -moz-box-shadow: none; + transform-origin: none; + box-shadow: none; +} +.flow.out { + -webkit-transform: translateX(-100%) scale(.7); + -webkit-animation-name: flowouttoleft; + -webkit-animation-timing-function: ease; + -webkit-animation-duration: 350ms; + -moz-transform: translateX(-100%) scale(.7); + -moz-animation-name: flowouttoleft; + -moz-animation-timing-function: ease; + -moz-animation-duration: 350ms; + transform: translateX(-100%) scale(.7); + animation-name: flowouttoleft; + animation-timing-function: ease; + animation-duration: 350ms; +} +.flow.in { + -webkit-transform: translateX(0) scale(1); + -webkit-animation-name: flowinfromright; + -webkit-animation-timing-function: ease; + -webkit-animation-duration: 350ms; + -moz-transform: translateX(0) scale(1); + -moz-animation-name: flowinfromright; + -moz-animation-timing-function: ease; + -moz-animation-duration: 350ms; + transform: translateX(0) scale(1); + animation-name: flowinfromright; + animation-timing-function: ease; + animation-duration: 350ms; +} +.flow.out.reverse { + -webkit-transform: translateX(100%); + -webkit-animation-name: flowouttoright; + -moz-transform: translateX(100%); + -moz-animation-name: flowouttoright; + transform: translateX(100%); + animation-name: flowouttoright; +} +.flow.in.reverse { + -webkit-animation-name: flowinfromleft; + -moz-animation-name: flowinfromleft; + animation-name: flowinfromleft; +} +@-webkit-keyframes flowouttoleft { + 0% { -webkit-transform: translateX(0) scale(1); } + 60%, 70% { -webkit-transform: translateX(0) scale(.7); } + 100% { -webkit-transform: translateX(-100%) scale(.7); } +} +@-moz-keyframes flowouttoleft { + 0% { -moz-transform: translateX(0) scale(1); } + 60%, 70% { -moz-transform: translateX(0) scale(.7); } + 100% { -moz-transform: translateX(-100%) scale(.7); } +} +@keyframes flowouttoleft { + 0% { transform: translateX(0) scale(1); } + 60%, 70% { transform: translateX(0) scale(.7); } + 100% { transform: translateX(-100%) scale(.7); } +} +@-webkit-keyframes flowouttoright { + 0% { -webkit-transform: translateX(0) scale(1); } + 60%, 70% { -webkit-transform: translateX(0) scale(.7); } + 100% { -webkit-transform: translateX(100%) scale(.7); } +} +@-moz-keyframes flowouttoright { + 0% { -moz-transform: translateX(0) scale(1); } + 60%, 70% { -moz-transform: translateX(0) scale(.7); } + 100% { -moz-transform: translateX(100%) scale(.7); } +} +@keyframes flowouttoright { + 0% { transform: translateX(0) scale(1); } + 60%, 70% { transform: translateX(0) scale(.7); } + 100% { transform: translateX(100%) scale(.7); } +} +@-webkit-keyframes flowinfromleft { + 0% { -webkit-transform: translateX(-100%) scale(.7); } + 30%, 40% { -webkit-transform: translateX(0) scale(.7); } + 100% { -webkit-transform: translateX(0) scale(1); } +} +@-moz-keyframes flowinfromleft { + 0% { -moz-transform: translateX(-100%) scale(.7); } + 30%, 40% { -moz-transform: translateX(0) scale(.7); } + 100% { -moz-transform: translateX(0) scale(1); } +} +@keyframes flowinfromleft { + 0% { transform: translateX(-100%) scale(.7); } + 30%, 40% { transform: translateX(0) scale(.7); } + 100% { transform: translateX(0) scale(1); } +} +@-webkit-keyframes flowinfromright { + 0% { -webkit-transform: translateX(100%) scale(.7); } + 30%, 40% { -webkit-transform: translateX(0) scale(.7); } + 100% { -webkit-transform: translateX(0) scale(1); } +} +@-moz-keyframes flowinfromright { + 0% { -moz-transform: translateX(100%) scale(.7); } + 30%, 40% { -moz-transform: translateX(0) scale(.7); } + 100% { -moz-transform: translateX(0) scale(1); } +} +@keyframes flowinfromright { + 0% { transform: translateX(100%) scale(.7); } + 30%, 40% { transform: translateX(0) scale(.7); } + 100% { transform: translateX(0) scale(1); } +} +.ui-field-contain, +.ui-mobile fieldset.ui-field-contain { + display: block; + position: relative; + overflow: visible; + clear: both; + padding: .8em 0; +} +.ui-field-contain > label ~ [class*="ui-"], +.ui-field-contain .ui-controlgroup-controls { + margin: 0; +} +.ui-field-contain:last-child { + border-bottom-width: 0; +} +@media (min-width: 28em) { + .ui-field-contain, + .ui-mobile fieldset.ui-field-contain { + padding: 0; + margin: 1em 0; + border-bottom-width: 0; + } + .ui-field-contain:before, + .ui-field-contain:after { + content: ""; + display: table; + } + .ui-field-contain:after { + clear: both; + } + .ui-field-contain > label, + .ui-field-contain .ui-controlgroup-label, + .ui-field-contain > .ui-rangeslider > label { + float: left; + width: 20%; + margin: .5em 2% 0 0; + } + .ui-popup .ui-field-contain > label, + .ui-popup .ui-field-contain .ui-controlgroup-label, + .ui-popup .ui-field-contain > .ui-rangeslider > label { + float: none; + width: auto; + margin: 0 0 .4em; + } + .ui-field-contain > label ~ [class*="ui-"], + .ui-field-contain .ui-controlgroup-controls { + float: left; + width: 78%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + box-sizing: border-box; + } + /* ui-hide-label deprecated in 1.4. TODO: Remove in 1.5 */ + .ui-hide-label > label ~ [class*="ui-"], + .ui-hide-label .ui-controlgroup-controls, + .ui-popup .ui-field-contain > label ~ [class*="ui-"], + .ui-popup .ui-field-contain .ui-controlgroup-controls { + float: none; + width: 100%; + } + .ui-field-contain > label ~ .ui-btn-inline { + width: auto; + margin-right: .625em; + } +} +/* content configurations. */ +.ui-grid-a, +.ui-grid-b, +.ui-grid-c, +.ui-grid-d, +.ui-grid-solo { + overflow: hidden; +} +.ui-block-a, +.ui-block-b, +.ui-block-c, +.ui-block-d, +.ui-block-e { + margin: 0; + padding: 0; + border: 0; + float: left; + min-height: 1px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +/* force new row */ +.ui-block-a { + clear: left; +} +ul.ui-grid-a, +ul.ui-grid-b, +ul.ui-grid-c, +ul.ui-grid-d, +ul.ui-grid-solo, +li.ui-block-a, +li.ui-block-b, +li.ui-block-c, +li.ui-block-d, +li.ui-block-e { + margin-left: 0; + margin-right: 0; + padding: 0; + list-style: none; +} +/* No margin in grids for 100% width button elements until we can use max-width: fill-available; */ +[class*="ui-block-"] > button.ui-btn { + margin-right: 0; + margin-left: 0; +} +[class*="ui-block-"] > .ui-btn, +[class*="ui-block-"] > .ui-select, +[class*="ui-block-"] > .ui-checkbox, +[class*="ui-block-"] > .ui-radio, +[class*="ui-block-"] > button.ui-btn-inline, +[class*="ui-block-"] > button.ui-btn-icon-notext { + margin-right: .3125em; + margin-left: .3125em; +} +.ui-grid-a > .ui-block-a, +.ui-grid-a > .ui-block-b { + /* width: 49.95%; IE7 */ + /* margin-right: -.5px; BB5 */ + width: 50%; +} +.ui-grid-b > .ui-block-a, +.ui-grid-b > .ui-block-b, +.ui-grid-b > .ui-block-c { + /* width: 33.25%; IE7 */ + /* margin-right: -.5px; BB5 */ + width: 33.333%; +} +.ui-grid-c > .ui-block-a, +.ui-grid-c > .ui-block-b, +.ui-grid-c > .ui-block-c, +.ui-grid-c > .ui-block-d { + /* width: 24.925%; IE7 */ + /* margin-right: -.5px; BB5 */ + width: 25%; +} +.ui-grid-d > .ui-block-a, +.ui-grid-d > .ui-block-b, +.ui-grid-d > .ui-block-c, +.ui-grid-d > .ui-block-d, +.ui-grid-d > .ui-block-e { + /* width: 19.925%; IE7 */ + width: 20%; +} +.ui-grid-solo > .ui-block-a { + width: 100%; + float: none; +} +/* preset breakpoint to switch to stacked grid styles below 35em (560px) */ +@media (max-width: 35em) { + .ui-responsive > .ui-block-a, + .ui-responsive > .ui-block-b, + .ui-responsive > .ui-block-c, + .ui-responsive > .ui-block-d, + .ui-responsive > .ui-block-e { + width: 100%; + float: none; + } +} +/* fixed page header & footer configuration */ +.ui-header-fixed, +.ui-footer-fixed { + left: 0; + right: 0; + width: 100%; + position: fixed; + z-index: 1000; +} +.ui-header-fixed { + top: -1px; + padding-top: 1px; +} +.ui-header-fixed.ui-fixed-hidden { + top: 0; + padding-top: 0; +} +.ui-header-fixed .ui-btn-left, +.ui-header-fixed .ui-btn-right { + margin-top: 1px; +} +.ui-header-fixed.ui-fixed-hidden .ui-btn-left, +.ui-header-fixed.ui-fixed-hidden .ui-btn-right { + margin-top: 0; +} +.ui-footer-fixed { + bottom: -1px; + padding-bottom: 1px; +} +.ui-footer-fixed.ui-fixed-hidden { + bottom: 0; + padding-bottom: 0; +} +.ui-header-fullscreen, +.ui-footer-fullscreen { + filter: Alpha(Opacity=90); + opacity: .9; +} +/* updatePagePadding() will update the padding to actual height of header and footer. */ +.ui-page-header-fixed { + padding-top: 2.8125em; +} +.ui-page-footer-fixed { + padding-bottom: 2.8125em; +} +.ui-page-header-fullscreen > .ui-content, +.ui-page-footer-fullscreen > .ui-content { + padding: 0; +} +.ui-fixed-hidden { + position: absolute; +} +/* Tap toggle: hide external fixed footer. See issue #6604 */ +.ui-footer-fixed.ui-fixed-hidden { + display: none; +} +.ui-page .ui-footer-fixed.ui-fixed-hidden { + display: block +} +.ui-page-header-fullscreen .ui-fixed-hidden, +.ui-page-footer-fullscreen .ui-fixed-hidden { + position: absolute !important; + height: 1px; + width: 1px; + overflow: hidden; + clip: rect(1px,1px,1px,1px); +} +.ui-header-fixed .ui-btn, +.ui-footer-fixed .ui-btn { + z-index: 10; +} +/* workarounds for other widgets */ +.ui-android-2x-fixed .ui-li-has-thumb { + -webkit-transform: translate3d(0,0,0); +} +.ui-navbar { + max-width: 100%; +} +.ui-navbar ul:before, +.ui-navbar ul:after { + content: ""; + display: table; +} +.ui-navbar ul:after { + clear: both; +} +.ui-navbar ul { + list-style: none; + margin: 0; + padding: 0; + position: relative; + display: block; + border: 0; + max-width: 100%; + overflow: visible; +} +.ui-navbar li .ui-btn { + font-size: 12.5px; + display: block; + margin: 0; + border-right-width: 0; +} +.ui-navbar .ui-btn:focus { + z-index: 1; +} +/* fixes gaps caused by subpixel problem */ +.ui-navbar li:last-child .ui-btn { + margin-right: -4px; +} +.ui-navbar li:last-child .ui-btn:after { + margin-right: 4px; +} +.ui-content .ui-navbar li:last-child .ui-btn, +.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn { + border-right-width: 1px; + margin-right: 0; +} +.ui-content .ui-navbar li:last-child .ui-btn:after, +.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn:after { + margin-right: 0; +} +.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn { + border-right-width: 1px; + margin-right: -1px; +} +.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn:after { + margin-right: 1px; +} +.ui-navbar .ui-grid-duo .ui-btn { + border-top-width: 0; +} +.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, +.ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn { + border-top-width: 1px; +} +.ui-header .ui-navbar .ui-btn, +.ui-footer .ui-navbar .ui-btn { + border-top-width: 0; + border-bottom-width: 0; +} +.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, +.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, +.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn, +.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn { + border-top-width: 0; +} +.ui-header .ui-title ~ .ui-navbar .ui-btn, +.ui-footer .ui-title ~ .ui-navbar .ui-btn, +.ui-header .ui-navbar .ui-grid-duo .ui-btn, +.ui-footer .ui-navbar .ui-grid-duo .ui-btn, +.ui-header .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, +.ui-footer .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, +.ui-header .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn, +.ui-footer .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn { + border-top-width: 1px; +} +/* Hide the native input element */ +.ui-input-btn input { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + padding: 0; + border: 0; + outline: 0; + -webkit-border-radius: inherit; + border-radius: inherit; + -webkit-appearance: none; + -moz-appearance: none; + cursor: pointer; + background: #fff; + background: rgba(255,255,255,0); + filter: Alpha(Opacity=0); + opacity: .1; + font-size: 1px; + text-indent: -9999px; + z-index: 2; +} +/* Fixes IE/WP filter alpha opacity bugs */ +.ui-input-btn.ui-state-disabled input { + position: absolute !important; + height: 1px; + width: 1px; + overflow: hidden; + clip: rect(1px,1px,1px,1px); +} +.ui-collapsible { + margin: 0 -1em; +} +.ui-collapsible-inset, +.ui-collapsible-set { + margin: .5em 0; +} +.ui-collapsible-heading { + display: block; + margin: 0; + padding: 0; + position: relative; +} +.ui-collapsible-heading .ui-btn { + text-align: left; + margin: 0; + border-left-width: 0; + border-right-width: 0; +} +.ui-collapsible-heading .ui-btn-icon-top, +.ui-collapsible-heading .ui-btn-icon-bottom { + text-align: center; +} +.ui-collapsible-inset .ui-collapsible-heading .ui-btn { + border-right-width: 1px; + border-left-width: 1px; +} +.ui-collapsible-collapsed + .ui-collapsible:not(.ui-collapsible-inset) > .ui-collapsible-heading .ui-btn { + border-top-width: 0; +} +.ui-collapsible-set .ui-collapsible:not(.ui-collapsible-inset) .ui-collapsible-heading .ui-btn { + border-top-width: 1px; +} +.ui-collapsible-heading-status { + position: absolute !important; + height: 1px; + width: 1px; + overflow: hidden; + clip: rect(1px,1px,1px,1px); +} +.ui-collapsible-content { + display: block; + margin: 0; + padding: .5em 1em; +} +.ui-collapsible-themed-content .ui-collapsible-content { + border-left-width: 0; + border-right-width: 0; + border-top-width: 0; + border-bottom-width: 1px; + border-style: solid; +} +.ui-collapsible-inset.ui-collapsible-themed-content .ui-collapsible-content { + border-left-width: 1px; + border-right-width: 1px; +} +.ui-collapsible-inset .ui-collapsible-content { + margin: 0; +} +.ui-collapsible-content-collapsed { + display: none; +} +.ui-collapsible-set > .ui-collapsible.ui-corner-all { + -webkit-border-radius: 0; + border-radius: 0; +} +.ui-collapsible-heading, +.ui-collapsible-heading > .ui-btn { + -webkit-border-radius: inherit; + border-radius: inherit; +} +.ui-collapsible-set .ui-collapsible.ui-first-child { + -webkit-border-top-right-radius: inherit; + border-top-right-radius: inherit; + -webkit-border-top-left-radius: inherit; + border-top-left-radius: inherit; +} +.ui-collapsible-content, +.ui-collapsible-set .ui-collapsible.ui-last-child { + -webkit-border-bottom-right-radius: inherit; + border-bottom-right-radius: inherit; + -webkit-border-bottom-left-radius: inherit; + border-bottom-left-radius: inherit; +} +.ui-collapsible-themed-content:not(.ui-collapsible-collapsed) > .ui-collapsible-heading { + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; +} +.ui-collapsible-set .ui-collapsible { + margin: -1px -1em 0; +} +.ui-collapsible-set .ui-collapsible-inset { + margin: -1px 0 0; +} +.ui-collapsible-set .ui-collapsible.ui-first-child { + margin-top: 0; +} +.ui-controlgroup, +fieldset.ui-controlgroup { + padding: 0; + margin: .5em 0; +} +.ui-field-contain .ui-controlgroup, +.ui-field-contain fieldset.ui-controlgroup { + margin: 0; +} +.ui-mini .ui-controlgroup-label { + font-size: 16px; +} +.ui-controlgroup.ui-mini .ui-btn-icon-notext, +.ui-controlgroup .ui-mini.ui-btn-icon-notext { + font-size: inherit; +} +.ui-controlgroup-controls .ui-btn, +.ui-controlgroup-controls .ui-checkbox, +.ui-controlgroup-controls .ui-radio, +.ui-controlgroup-controls .ui-select { + margin: 0; +} +.ui-controlgroup-controls .ui-btn:focus, +.ui-controlgroup-controls .ui-btn.ui-focus { + z-index: 1; +} +.ui-controlgroup-controls li { + list-style: none; +} +.ui-controlgroup-horizontal .ui-controlgroup-controls { + display: inline-block; + vertical-align: middle; +} +.ui-controlgroup-horizontal .ui-controlgroup-controls:before, +.ui-controlgroup-horizontal .ui-controlgroup-controls:after { + content: ""; + display: table; +} +.ui-controlgroup-horizontal .ui-controlgroup-controls:after { + clear: both; +} +.ui-controlgroup-horizontal .ui-controlgroup-controls > .ui-btn, +.ui-controlgroup-horizontal .ui-controlgroup-controls li > .ui-btn, +.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-checkbox, +.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-radio, +.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-select { + float: left; + clear: none; +} +.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn, +.ui-controlgroup-controls .ui-btn-icon-notext { + width: auto; +} +.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn-icon-notext, +.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn-icon-notext { + width: 1.5em; +} + .ui-controlgroup-controls .ui-btn-icon-notext { + height: auto; + padding: .7em 1em; +} +.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn { + border-bottom-width: 0; +} +.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn.ui-last-child { + border-bottom-width: 1px; +} +.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn { + border-right-width: 0; +} +.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn.ui-last-child { + border-right-width: 1px; +} +.ui-controlgroup-controls .ui-btn-corner-all, +.ui-controlgroup-controls .ui-btn.ui-corner-all { + -webkit-border-radius: 0; + border-radius: 0; +} +.ui-controlgroup-controls, +.ui-controlgroup-controls .ui-radio, +.ui-controlgroup-controls .ui-checkbox, +.ui-controlgroup-controls .ui-select, +.ui-controlgroup-controls li { + -webkit-border-radius: inherit; + border-radius: inherit; +} +.ui-controlgroup-vertical .ui-btn.ui-first-child { + -webkit-border-top-left-radius: inherit; + border-top-left-radius: inherit; + -webkit-border-top-right-radius: inherit; + border-top-right-radius: inherit; +} +.ui-controlgroup-vertical .ui-btn.ui-last-child { + -webkit-border-bottom-left-radius: inherit; + border-bottom-left-radius: inherit; + -webkit-border-bottom-right-radius: inherit; + border-bottom-right-radius: inherit; +} +.ui-controlgroup-horizontal .ui-btn.ui-first-child { + -webkit-border-top-left-radius: inherit; + border-top-left-radius: inherit; + -webkit-border-bottom-left-radius: inherit; + border-bottom-left-radius: inherit; +} +.ui-controlgroup-horizontal .ui-btn.ui-last-child { + -webkit-border-top-right-radius: inherit; + border-top-right-radius: inherit; + -webkit-border-bottom-right-radius: inherit; + border-bottom-right-radius: inherit; +} +.ui-controlgroup-controls a.ui-shadow:not(:focus), +.ui-controlgroup-controls button.ui-shadow:not(:focus), +.ui-controlgroup-controls div.ui-shadow:not(.ui-focus) { + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; +} +/* Fixes legend not wrapping on IE10 */ +.ui-controlgroup-label legend { + max-width: 100%; +} +.ui-controlgroup-controls > label { + position: absolute !important; + height: 1px; + width: 1px; + overflow: hidden; + clip: rect(1px,1px,1px,1px); +} +.ui-dialog { + background: none !important; /* this is to ensure that dialog theming does not apply (by default at least) on the page div */ +} +.ui-dialog-contain { + width: 92.5%; + max-width: 500px; + margin: 10% auto 1em auto; + padding: 0; + position: relative; + top: -1em; +} +.ui-dialog-contain > .ui-header, +.ui-dialog-contain > .ui-content, +.ui-dialog-contain > .ui-footer { + display: block; + position: relative; + width: auto; + margin: 0; +} +.ui-dialog-contain > .ui-header { + overflow: hidden; + z-index: 10; + padding: 0; + border-top-width: 0; +} +.ui-dialog-contain > .ui-footer { + z-index: 10; + padding: 0 1em; + border-bottom-width: 0; +} +.ui-popup-open .ui-header-fixed, +.ui-popup-open .ui-footer-fixed { + position: absolute !important; /* See issues #4816, #4844 and #4874 and popup.js */ +} +.ui-popup-screen { + background-image: url("data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="); /* Necessary to set some form of background to ensure element is clickable in IE6/7. While legacy IE won't understand the data-URI'd image, it ensures no additional requests occur in all other browsers with little overhead. */ + top: 0; + left: 0; + right: 0; + bottom: 1px; + position: absolute; + filter: Alpha(Opacity=0); + opacity: 0; + z-index: 1099; +} +.ui-popup-screen.in { + opacity: 0.5; + filter: Alpha(Opacity=50); +} +.ui-popup-screen.out { + opacity: 0; + filter: Alpha(Opacity=0); +} +.ui-popup-container { + z-index: 1100; + display: inline-block; + position: absolute; + padding: 0; + outline: 0; +} +.ui-popup { + position: relative; +} +.ui-popup.ui-body-inherit { + border-width: 1px; + border-style: solid; +} +.ui-popup-hidden { + left: 0; + top: 0; + position: absolute !important; + visibility: hidden; +} +.ui-popup-truncate { + height: 1px; + width: 1px; + margin: -1px; + overflow: hidden; + clip: rect(1px,1px,1px,1px); +} +.ui-popup.ui-content, +.ui-popup .ui-content { + overflow: visible; +} +.ui-popup > .ui-header { + border-top-width: 0; +} +.ui-popup > .ui-footer { + border-bottom-width: 0; +} +.ui-popup > p, +.ui-popup > h1, +.ui-popup > h2, +.ui-popup > h3, +.ui-popup > h4, +.ui-popup > h5, +.ui-popup > h6 { + margin: .5em .4375em; +} +.ui-popup > span { + display: block; + margin: .5em .4375em; +} +.ui-popup-container .ui-content > p, +.ui-popup-container .ui-content > h1, +.ui-popup-container .ui-content > h2, +.ui-popup-container .ui-content > h3, +.ui-popup-container .ui-content > h4, +.ui-popup-container .ui-content > h5, +.ui-popup-container .ui-content > h6 { + margin: .5em 0; +} +.ui-popup-container .ui-content > span { + margin: 0; +} +.ui-popup-container .ui-content > p:first-child, +.ui-popup-container .ui-content > h1:first-child, +.ui-popup-container .ui-content > h2:first-child, +.ui-popup-container .ui-content > h3:first-child, +.ui-popup-container .ui-content > h4:first-child, +.ui-popup-container .ui-content > h5:first-child, +.ui-popup-container .ui-content > h6:first-child { + margin-top: 0; +} +.ui-popup-container .ui-content > p:last-child, +.ui-popup-container .ui-content > h1:last-child, +.ui-popup-container .ui-content > h2:last-child, +.ui-popup-container .ui-content > h3:last-child, +.ui-popup-container .ui-content > h4:last-child, +.ui-popup-container .ui-content > h5:last-child, +.ui-popup-container .ui-content > h6:last-child { + margin-bottom: 0; +} +.ui-popup > img { + max-width: 100%; + max-height: 100%; + vertical-align: middle; +} +.ui-popup:not(.ui-content) > img:only-child, +.ui-popup:not(.ui-content) > .ui-btn-left:first-child + img:last-child, +.ui-popup:not(.ui-content) > .ui-btn-right:first-child + img:last-child { + -webkit-border-radius: inherit; + border-radius: inherit; +} +.ui-popup iframe { + vertical-align: middle; +} +.ui-popup > .ui-btn-left, +.ui-popup > .ui-btn-right { + position: absolute; + top: -11px; + margin: 0; + z-index: 1101; +} +.ui-popup > .ui-btn-left { + left: -11px; +} +.ui-popup > .ui-btn-right { + right: -11px; +} +/* Dimensions related to the popup arrow +-----------------------------------------------------------------------------------------------------------*/ +/* desired triangle height: 10px */ +/** + * guide for the arrow - its width, height, and offset are theme-dependent and + * should be expessed as left, right, top, bottom, so that the element bearing + * such a class becomes stretched inside its parent position: relative element. + * The left/top/right/bottom specified below should reflect the corresponding + * border radii and so it leaves room for the shadow: + * ..--------------------.. + * ." ^ top ". + * / v \ + * | +------------------+ | + * | | | | + * | left| |right| + * |<--->| |<--->| + * | +------------------+ | + * \ ^ / + * `. v bottom .' + * ""--------------------"" + * The idea is that the top/left of the arrow container box does not move to a + * coordinate smaller than the top/left of the guide and the right/bottom of + * the arrow container box does not move to a coordinate larger than the + * bottom/right of the guide. This will help us avoid the following situation: + * ..--------------------.. + * ." ^ top ". + * /|/ v \ + * / | +------------------+ | + * \ | | | | + * \| left| |right| + * |<--->| |<--->| + * | +------------------+ | + * \ ^ / + * `. v bottom .' + * ""--------------------"" + * The arrow should not receive a top/left coordinate such that it is too close + * to one of the corners, because then at first the shadow of the arrow and, + * given a coordinate even closer to the corner, even the body of the arrow will + * "stick out" of the corner of the popup. The guide provides a hint to the + * arrow positioning code as to which range of values is acceptable for the + * arrow container's top/left coordinate. + **/ +.ui-popup-arrow-container { + width: 20px; + height: 20px; +} +/* aside from the "infinities" (-1000,2000), triangle height is used */ +.ui-popup-arrow-container.ui-popup-arrow-l { + left: -10px; + clip: rect(-1000px,10px,2000px,-1000px); +} +.ui-popup-arrow-container.ui-popup-arrow-t { + top: -10px; + clip: rect(-1000px,2000px,10px,-1000px); +} +.ui-popup-arrow-container.ui-popup-arrow-r { + right: -10px; + clip: rect(-1000px,2000px,2000px,10px); +} +.ui-popup-arrow-container.ui-popup-arrow-b { + bottom: -10px; + clip: rect(10px,2000px,1000px,-1000px); +} +/** + * For each side, the arrow is twice the desired size and its corner is aligned + * with the edge of the container: + * + * /\ /\ +----+ /\ + * / \ / \ | /\ |top / \ + * +----+ \ / +----+ +-->|/ \| / \ + * left| / | \ / | \ |right | | | / \ + * |/ | \ / | \| | /| |\ / \ + * |\ | / \ | /| | / +----+ \ \ +----+ / + * | \ | / \ | / | | \ / \| |/ + * +----+ / \ +----+ | \ / | | + * ^ \ / \ / ^ | \ / +->|\ /| + * | \/ \/ | | \ / | | \/ |bottom + * | | | \/ | +----+ + * +-------------------+--------+-----------+ + * | + * arrow container + * (clips arrow) + **/ +.ui-popup-arrow-container .ui-popup-arrow { + /* (4*desired triangle height)/sqrt(2) - does not account for border - centred within the outer rectangle */ + width: 28.284271247px; + height: 28.284271247px; + border-width: 1px; + border-style: solid; +} +.ui-popup-arrow-container.ui-popup-arrow-t .ui-popup-arrow { + left: -4.142135623px; + top: 5.857864376px; +} +.ui-popup-arrow-container.ui-popup-arrow-b .ui-popup-arrow { + left: -4.142135623px; + top: -14.142135623px; +} +.ui-popup-arrow-container.ui-popup-arrow-l .ui-popup-arrow { + left: 5.857864376px; + top: -4.142135623px; +} +.ui-popup-arrow-container.ui-popup-arrow-r .ui-popup-arrow { + left: -14.142135623px; + top: -4.142135623px; +} +/* Fix rotation center for oldIE - see http://www.useragentman.com/IETransformsTranslator/ */ +.ui-popup-arrow-container.ui-popup-arrow-t.ie .ui-popup-arrow { + margin-left: -5.857864376269049px; + margin-top: -7.0710678118654755px; +} +.ui-popup-arrow-container.ui-popup-arrow-b.ie .ui-popup-arrow { + margin-left: -5.857864376269049px; + margin-top: -4.142135623730951px; +} + +.ui-popup-arrow-container.ui-popup-arrow-l.ie .ui-popup-arrow { + margin-left: -7.0710678118654755px; + margin-top: -5.857864376269049px; +} +.ui-popup-arrow-container.ui-popup-arrow-r.ie .ui-popup-arrow { + margin-left: -4.142135623730951px; + margin-top: -5.857864376269049px; +} +/* structure */ +.ui-popup > .ui-popup-arrow-guide { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + visibility: hidden; +} +.ui-popup-arrow-container { + position: absolute; +} +.ui-popup-arrow { + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); + position: absolute; + overflow: hidden; + box-sizing: border-box; +} +.ui-popup-arrow-container.ie .ui-popup-arrow { + -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865474, M12=-0.7071067811865477, M21=0.7071067811865477, M22=0.7071067811865474, SizingMethod='auto expand')"; + filter: progid:DXImageTransform.Microsoft.Matrix( + M11=0.7071067811865474, + M12=-0.7071067811865477, + M21=0.7071067811865477, + M22=0.7071067811865474, + SizingMethod='auto expand'); +} +.ui-checkbox, +.ui-radio { + margin: .5em 0; + position: relative; +} +.ui-checkbox .ui-btn, +.ui-radio .ui-btn { + margin: 0; + text-align: left; + white-space: normal; /* Nowrap + ellipsis doesn't work on label. Issue #1419. */ + z-index: 2; +} +.ui-controlgroup .ui-checkbox .ui-btn.ui-focus, +.ui-controlgroup .ui-radio .ui-btn.ui-focus { + z-index: 3; +} +.ui-checkbox .ui-btn-icon-top, +.ui-radio .ui-btn-icon-top, +.ui-checkbox .ui-btn-icon-bottom, +.ui-radio .ui-btn-icon-bottom { + text-align: center; +} +.ui-controlgroup-horizontal .ui-checkbox .ui-btn:after, +.ui-controlgroup-horizontal .ui-radio .ui-btn:after { + content: none; + display: none; +} +/* Native input positioning */ +.ui-checkbox input, +.ui-radio input { + position: absolute; + left: .466em; + top: 50%; + width: 22px; + height: 22px; + margin: -11px 0 0 0; + outline: 0 !important; + z-index: 1; +} +.ui-controlgroup-horizontal .ui-checkbox input, +.ui-controlgroup-horizontal .ui-radio input { + left: 50%; + margin-left: -9px; +} +.ui-checkbox input:disabled, +.ui-radio input:disabled { + position: absolute !important; + height: 1px; + width: 1px; + overflow: hidden; + clip: rect(1px,1px,1px,1px); +} +.ui-select { + margin-top: .5em; + margin-bottom: .5em; /* no shorthand for margin because it would override margin-right for inline selects */ + position: relative; +} +.ui-select > select { + position: absolute !important; + height: 1px; + width: 1px; + overflow: hidden; + clip: rect(1px,1px,1px,1px); +} +.ui-select .ui-btn { + margin: 0; + opacity: 1; /* Fixes #2588: When Windows Phone 7.5 (Mango) tries to calculate a numeric opacity for a select (including "inherit") without explicitly specifying an opacity on the parent to give it context, a bug appears where clicking elsewhere on the page after opening the select will open the select again. */ +} +.ui-select .ui-btn select { + position: absolute; + top: 0; + left: 0; + width: 100%; + min-height: 1.5em; + min-height: 100%; + height: 3em; + max-height: 100%; + outline: 0; + -webkit-border-radius: inherit; + border-radius: inherit; + -webkit-appearance: none; + -moz-appearance: none; + cursor: pointer; + filter: Alpha(Opacity=0); + opacity: 0; + z-index: 2; +} +@-moz-document url-prefix() { + .ui-select .ui-btn select { + opacity: 0.0001; + } +} +/* Display none because of issues with IE/WP's filter alpha opacity */ +.ui-select .ui-state-disabled select { + display: none; +} +/* Because we add all classes of the select and option elements to the span... */ +.ui-select span.ui-state-disabled { + filter: Alpha(Opacity=100); + opacity: 1; +} +.ui-select .ui-btn.ui-select-nativeonly { + border-radius: 0; + border: 0; +} +.ui-select .ui-btn.ui-select-nativeonly select { + opacity: 1; + text-indent: 0; + display: block; +} +/* ui-li-count is styled in the listview CSS. We set padding and offset here because select supports icon position while listview doesn't. */ +.ui-select .ui-li-has-count.ui-btn { + padding-right: 2.8125em; +} +.ui-select .ui-li-has-count.ui-btn-icon-right { + padding-right: 4.6875em; +} +.ui-select .ui-btn-icon-right .ui-li-count { + right: 3.2em; +} +/* We set the rules for the span as well to fix an issue on Chrome with text-overflow ellipsis for the button in combination with text-align center. */ +.ui-select .ui-btn > span:not(.ui-li-count) { + display: block; + text-overflow: ellipsis; + overflow: hidden !important; + white-space: nowrap; +} +.ui-selectmenu.ui-popup { + min-width: 11em; +} +.ui-selectmenu .ui-dialog-contain { + overflow: hidden; +} +.ui-selectmenu .ui-header { + margin: 0; + padding: 0; + border-width: 0; +} +.ui-selectmenu.ui-dialog .ui-header { + z-index: 1; + position: relative; +} +.ui-selectmenu.ui-popup .ui-header { + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; +} +/* when no placeholder is defined in a multiple select, the header height doesn't even extend past the close button. this shim's content in there */ +.ui-selectmenu.ui-popup .ui-header h1:after { + content: '.'; + visibility: hidden; +} +.ui-selectmenu .ui-header .ui-title { + margin: 0 2.875em; +} +.ui-selectmenu.ui-dialog .ui-content { + overflow: visible; + z-index: 1; +} +.ui-selectmenu .ui-selectmenu-list { + margin: 0; + -webkit-border-radius: inherit; + border-radius: inherit; +} +.ui-header:not(.ui-screen-hidden) + .ui-selectmenu-list { + -webkit-border-top-right-radius: 0; + border-top-right-radius: 0; + -webkit-border-top-left-radius: 0; + border-top-left-radius: 0; +} +.ui-header.ui-screen-hidden + .ui-selectmenu-list li.ui-first-child .ui-btn { + border-top-width: 0; +} +.ui-selectmenu .ui-selectmenu-list li.ui-last-child .ui-btn { + border-bottom-width: 0; +} +.ui-selectmenu .ui-btn.ui-li-divider { + cursor: default; +} +.ui-selectmenu .ui-selectmenu-placeholder { + display: none; +} +.ui-listview, +.ui-listview > li { + margin: 0; + padding: 0; + list-style: none; +} +.ui-content .ui-listview, +.ui-panel-inner > .ui-listview { + margin: -1em; +} +.ui-content .ui-listview-inset, +.ui-panel-inner > .ui-listview-inset { + margin: 1em 0; +} +.ui-collapsible-content > .ui-listview { + margin: -.5em -1em; +} +.ui-collapsible-content > .ui-listview-inset { + margin: .5em 0; +} +.ui-listview > li { + display: block; + position: relative; + overflow: visible; +} +.ui-listview > .ui-li-static, +.ui-listview > .ui-li-divider, +.ui-listview > li > a.ui-btn { + margin: 0; + display: block; + position: relative; + text-align: left; + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; +} +.ui-listview > li > .ui-btn:focus { + z-index: 1; +} +.ui-listview > .ui-li-static, +.ui-listview > .ui-li-divider, +.ui-listview > li > a.ui-btn { + border-width: 1px 0 0 0; + border-style: solid; +} +.ui-listview-inset > .ui-li-static, +.ui-listview-inset > .ui-li-divider, +.ui-listview-inset > li > a.ui-btn { + border-right-width: 1px; + border-left-width: 1px; +} +.ui-listview > .ui-li-static.ui-last-child, +.ui-listview > .ui-li-divider.ui-last-child, +.ui-listview > li.ui-last-child > a.ui-btn { + border-bottom-width: 1px; +} +.ui-collapsible-content > .ui-listview:not(.ui-listview-inset) > li.ui-first-child, +.ui-collapsible-content > .ui-listview:not(.ui-listview-inset) > li.ui-first-child > a.ui-btn { + border-top-width: 0; +} +.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset) > li.ui-last-child, +.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset) > li.ui-last-child > a.ui-btn { + border-bottom-width: 0; +} +.ui-listview > li.ui-first-child, +.ui-listview > li.ui-first-child > a.ui-btn { + -webkit-border-top-right-radius: inherit; + border-top-right-radius: inherit; + -webkit-border-top-left-radius: inherit; + border-top-left-radius: inherit; +} +.ui-listview > li.ui-last-child, +.ui-listview > li.ui-last-child > a.ui-btn { + -webkit-border-bottom-right-radius: inherit; + border-bottom-right-radius: inherit; + -webkit-border-bottom-left-radius: inherit; + border-bottom-left-radius: inherit; +} +.ui-listview > li.ui-li-has-alt > a.ui-btn { + -webkit-border-top-right-radius: 0; + border-top-right-radius: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; +} +.ui-listview > li.ui-first-child > a.ui-btn + a.ui-btn { + -webkit-border-top-left-radius: 0; + border-top-left-radius: 0; + -webkit-border-top-right-radius: inherit; + border-top-right-radius: inherit; +} +.ui-listview > li.ui-last-child > a.ui-btn + a.ui-btn { + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -webkit-border-bottom-right-radius: inherit; + border-bottom-right-radius: inherit; +} +.ui-listview > li.ui-first-child img:first-child:not(.ui-li-icon) { + -webkit-border-top-left-radius: inherit; + border-top-left-radius: inherit; +} +.ui-listview > li.ui-last-child img:first-child:not(.ui-li-icon) { + -webkit-border-bottom-left-radius: inherit; + border-bottom-left-radius: inherit; +} +.ui-collapsible-content > .ui-listview:not(.ui-listview-inset) { + -webkit-border-radius: inherit; + border-radius: inherit; +} +.ui-listview > .ui-li-static { + padding: .7em 1em; +} +.ui-listview > .ui-li-divider { + padding: .5em 1.143em; + font-size: 14px; + font-weight: bold; + cursor: default; + outline: 0; /* Dividers in custom selectmenus have tabindex */ +} +.ui-listview > .ui-li-has-count > .ui-btn, +.ui-listview > .ui-li-static.ui-li-has-count, +.ui-listview > .ui-li-divider.ui-li-has-count { + padding-right: 2.8125em; +} +.ui-listview > .ui-li-has-count > .ui-btn-icon-right { + padding-right: 4.6875em; +} +.ui-listview > .ui-li-has-thumb > .ui-btn, +.ui-listview > .ui-li-static.ui-li-has-thumb { + min-height: 3.625em; + padding-left: 6.25em; +} +/* ui-li-has-icon deprecated in 1.4. TODO: remove in 1.5 */ +.ui-listview > .ui-li-has-icon > .ui-btn, +.ui-listview > .ui-li-static.ui-li-has-icon { + min-height: 1.25em; + padding-left: 2.5em; +} +/* Used by both listview and custom multiple select button */ +.ui-li-count { + position: absolute; + font-size: 12.5px; + font-weight: bold; + text-align: center; + border-width: 1px; + border-style: solid; + padding: 0 .48em; + line-height: 1.6em; + min-height: 1.6em; + min-width: .64em; + right: .8em; + top: 50%; + margin-top: -.88em; +} +.ui-listview .ui-btn-icon-right .ui-li-count { + right: 3.2em; +} +.ui-listview .ui-li-has-thumb > img:first-child, +.ui-listview .ui-li-has-thumb > .ui-btn > img:first-child, +.ui-listview .ui-li-has-thumb .ui-li-thumb { + position: absolute; + left: 0; + top: 0; + max-height: 5em; + max-width: 5em; +} +/* ui-li-has-icon deprecated in 1.4. TODO: remove in 1.5 */ +.ui-listview > .ui-li-has-icon > img:first-child, +.ui-listview > .ui-li-has-icon > .ui-btn > img:first-child { + position: absolute; + left: .625em; + top: .9em; + max-height: 1em; + max-width: 1em; +} +.ui-listview > li h1, +.ui-listview > li h2, +.ui-listview > li h3, +.ui-listview > li h4, +.ui-listview > li h5, +.ui-listview > li h6 { + font-size: 1em; + font-weight: bold; + display: block; + margin: .45em 0; + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; +} +.ui-listview > li p { + font-size: .75em; + font-weight: normal; + display: block; + margin: .6em 0; + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; +} +.ui-listview .ui-li-aside { + position: absolute; + top: 1em; + right: 3.333em; + margin: 0; + text-align: right; +} +.ui-listview > li.ui-li-has-alt > .ui-btn { + margin-right: 2.5em; + border-right-width: 0; +} +.ui-listview > li.ui-li-has-alt > .ui-btn + .ui-btn { + position: absolute; + width: 2.5em; + height: 100%; + min-height: auto; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + border-left-width: 1px; + top: 0; + right: 0; + margin: 0; + padding: 0; + z-index: 2; +} +.ui-listview-inset > li.ui-li-has-alt > .ui-btn + .ui-btn { + border-right-width: 1px; +} +.ui-listview > li.ui-li-has-alt > .ui-btn + .ui-btn:focus { + z-index: 3; +} +ol.ui-listview, +ol.ui-listview > .ui-li-divider { + counter-reset: listnumbering; +} +ol.ui-listview > li > .ui-btn, +ol.ui-listview > li.ui-li-static { + vertical-align: middle; +} +ol.ui-listview > li > .ui-btn:first-child:before, +ol.ui-listview > li.ui-li-static:before, +ol.ui-listview > li.ui-field-contain > label:before, +ol.ui-listview > li.ui-field-contain > .ui-controlgroup-label:before { + display: inline-block; + font-size: .9em; + font-weight: normal; + padding-right: .3em; + min-width: 1.4em; + line-height: 1.5; + vertical-align: middle; + counter-increment: listnumbering; + content: counter(listnumbering) "."; +} +ol.ui-listview > li.ui-field-contain:before { + content: none; + display: none; +} +ol.ui-listview > li h1:first-child, +ol.ui-listview > li h2:first-child, +ol.ui-listview > li h3:first-child, +ol.ui-listview > li h4:first-child, +ol.ui-listview > li h5:first-child, +ol.ui-listview > li h6:first-child, +ol.ui-listview > li p:first-child, +ol.ui-listview > li img:first-child + * { + display: inline-block; + vertical-align: middle; +} +ol.ui-listview > li h1:first-child ~ *, +ol.ui-listview > li h2:first-child ~ *, +ol.ui-listview > li h3:first-child ~ *, +ol.ui-listview > li h4:first-child ~ *, +ol.ui-listview > li h5:first-child ~ *, +ol.ui-listview > li h6:first-child ~ *, +ol.ui-listview > li p:first-child ~ *, +ol.ui-listview > li img:first-child + * ~ * { + margin-top: 0; + text-indent: 2.04em; /* (1.4em + .3em) * .9em / .75em */ +} +html .ui-filterable + .ui-listview, +html .ui-filterable.ui-listview { + margin-top: .5em; +} +.ui-collapsible-content > form.ui-filterable { + margin-top: -.5em; +} +.ui-collapsible-content > .ui-input-search.ui-filterable { + margin-top: 0; +} +.ui-collapsible-content > .ui-filterable + .ui-listview:not(.ui-listview-inset) > li.ui-first-child, +.ui-collapsible-content > .ui-filterable + .ui-listview:not(.ui-listview-inset) > li.ui-first-child > a.ui-btn, +.ui-collapsible-content > .ui-filterable.ui-listview:not(.ui-listview-inset) > li.ui-first-child, +.ui-collapsible-content > .ui-filterable.ui-listview:not(.ui-listview-inset) > li.ui-first-child > a.ui-btn { + border-top-width: 1px; +} +div.ui-slider { + height: 30px; + margin: .5em 0; + padding: 0; + -ms-touch-action: pan-y pinch-zoom double-tap-zoom; +} +div.ui-slider:before, +div.ui-slider:after { + content: ""; + display: table; +} +div.ui-slider:after { + clear: both; +} +input.ui-slider-input { + display: block; + float: left; + font-size: 14px; + font-weight: bold; + margin: 0; + padding: 4px; + width: 40px; + height: 20px; + line-height: 20px; + border-width: 1px; + border-style: solid; + outline: 0; + text-align: center; + vertical-align: text-bottom; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + -ms-box-sizing: content-box; + box-sizing: content-box; +} +.ui-slider-input::-webkit-outer-spin-button, +.ui-slider-input::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} +.ui-slider-track { + position: relative; + overflow: visible; + border-width: 1px; + border-style: solid; + height: 15px; + margin: 0 15px 0 68px; + top: 6px; +} +.ui-slider-track.ui-mini { + height: 12px; + top: 8px; +} +.ui-slider-track .ui-slider-bg { + height: 100%; +} +/* High level of specificity to override button margins in grids */ +.ui-slider-track .ui-btn.ui-slider-handle { + position: absolute; + z-index: 1; + top: 50%; + width: 28px; + height: 28px; + margin: -15px 0 0 -15px; + outline: 0; + padding: 0; +} +.ui-slider-track.ui-mini .ui-slider-handle { + height: 14px; + width: 14px; + margin: -8px 0 0 -8px; +} +select.ui-slider-switch { + position: absolute !important; + height: 1px; + width: 1px; + overflow: hidden; + clip: rect(1px,1px,1px,1px); +} +div.ui-slider-switch { + display: inline-block; + height: 32px; + width: 5.8em; + top: 0; +} +/* reset the clearfix */ +div.ui-slider-switch:before, +div.ui-slider-switch:after { + display: none; + clear: none; +} +div.ui-slider-switch.ui-mini { + height: 29px; + top: 0; +} +.ui-slider-inneroffset { + margin: 0 16px; + position: relative; + z-index: 1; +} +.ui-slider-switch.ui-mini .ui-slider-inneroffset { + margin: 0 15px 0 14px; +} +.ui-slider-switch .ui-btn.ui-slider-handle { + margin: 1px 0 0 -15px; +} +.ui-slider-switch.ui-mini .ui-slider-handle { + width: 25px; + height: 25px; + margin: 1px 0 0 -13px; + padding: 0; +} +.ui-slider-handle-snapping { + -webkit-transition: left 70ms linear; + -moz-transition: left 70ms linear; + transition: left 70ms linear; +} +.ui-slider-switch .ui-slider-label { + position: absolute; + text-align: center; + width: 100%; + overflow: hidden; + font-size: 16px; + top: 0; + line-height: 2; + min-height: 100%; + white-space: nowrap; + cursor: pointer; +} +.ui-slider-switch.ui-mini .ui-slider-label { + font-size: 14px; +} +.ui-slider-switch .ui-slider-label-a { + z-index: 1; + left: 0; + text-indent: -1.5em; +} +.ui-slider-switch .ui-slider-label-b { + z-index: 0; + right: 0; + text-indent: 1.5em; +} +/* The corner radii for ui-slider-switch/track can be specified in theme CSS. The bg and handle inherits. */ +.ui-slider-track .ui-slider-bg, +.ui-slider-switch .ui-slider-label, +.ui-slider-switch .ui-slider-inneroffset, +.ui-slider-handle { + -webkit-border-radius: inherit; + border-radius: inherit; +} +.ui-field-contain div.ui-slider-switch { + margin: 0; +} +/* ui-hide-label deprecated in 1.4. TODO: Remove in 1.5 */ +.ui-field-contain div.ui-slider-switch, +.ui-field-contain.ui-hide-label div.ui-slider-switch, +html .ui-popup .ui-field-contain div.ui-slider-switch { + display: inline-block; + width: 5.8em; +} +/* slider tooltip +-----------------------------------------------------------------------------------------------------------*/ +.ui-slider-popup { + width: 64px; + height: 64px; + font-size: 36px; + padding-top: 14px; + opacity: 0.8; +} +.ui-slider-popup { + position: absolute !important; + text-align: center; + z-index: 100; +} +.ui-slider-track .ui-btn.ui-slider-handle { + font-size: .9em; + line-height: 30px; +} +.ui-rangeslider { + margin: .5em 0; +} +.ui-rangeslider:before, +.ui-rangeslider:after { + content: ""; + display: table; +} +.ui-rangeslider:after { + clear: both; +} +.ui-rangeslider .ui-slider-input.ui-rangeslider-last { + float: right; +} +.ui-rangeslider .ui-rangeslider-sliders { + position: relative; + overflow: visible; + height: 30px; + margin: 0 68px; +} +.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track { + position: absolute; + top: 6px; + right: 0; + left: 0; + margin: 0; +} +.ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track { + top: 8px; +} +.ui-rangeslider .ui-slider-track:first-child .ui-slider-bg { + display: none; +} +.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child { + background-color: transparent; + background: none; + border-width: 0; + height: 0; +} +/* this makes ie6 and ie7 set height to 0 to fix z-index problem */ +html >/**/body .ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child { + height: 15px; + border-width: 1px; +} +html >/**/body .ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track:first-child { + height: 12px; +} +/* Hide the second label (the first is moved outside the div) */ +div.ui-rangeslider label { + position: absolute !important; + height: 1px; + width: 1px; + overflow: hidden; + clip: rect(1px,1px,1px,1px); +} +.ui-field-contain .ui-rangeslider input.ui-slider-input, +.ui-field-contain .ui-rangeslider.ui-mini input.ui-slider-input, +.ui-field-contain .ui-rangeslider .ui-rangeslider-sliders, +.ui-field-contain .ui-rangeslider.ui-mini .ui-rangeslider-sliders { + margin-top: 0; + margin-bottom: 0; +} +.ui-input-text, +.ui-input-search { + margin: .5em 0; + border-width: 1px; + border-style: solid; +} +.ui-input-text input, +.ui-input-search input, +textarea.ui-input-text { + padding: .4em; + line-height: 1.4em; + display: block; + width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + box-sizing: border-box; + outline: 0; +} +.ui-input-text input, +.ui-input-search input { + margin: 0; + min-height: 2.2em; + text-align: left; /* Opera aligns type="date" right by default */ + border: 0; + background: transparent none; + -webkit-appearance: none; + -webkit-border-radius: inherit; + border-radius: inherit; +} +textarea.ui-input-text { + overflow: auto; + resize: vertical; +} +.ui-mini .ui-input-text input, +.ui-mini .ui-input-search input, +.ui-input-text.ui-mini input, +.ui-input-search.ui-mini input, +.ui-mini textarea.ui-input-text, +textarea.ui-mini { + font-size: 14px; +} +/* Same margin for mini textareas as other mini sized widgets (12.5/14 * 0.5em) */ +.ui-mini textarea.ui-input-text, +textarea.ui-mini { + margin: .446em 0; +} +.ui-input-has-clear, +.ui-input-search { + position: relative; +} +/* Padding on the div instead of input because of browser spinners etc. */ +.ui-input-has-clear { + padding-right: 2.375em; +} +.ui-mini.ui-input-has-clear { + padding-right: 2.923em; +} +.ui-input-has-clear input { + padding-right: 0; + /* Autofill on Chrome has bg color so we unset corners right as well. */ + -webkit-border-top-right-radius: 0; + border-top-right-radius: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; +} +/* Search icon */ +.ui-input-search input { + padding-left: 1.75em; +} +.ui-input-search:after { + position: absolute; + left: .3125em; + top: 50%; + margin-top: -7px; + content: ""; + background-position: center center; + background-repeat: no-repeat; + width: 14px; + height: 14px; + filter: Alpha(Opacity=50); + opacity: .5; +} +.ui-input-search.ui-input-has-clear .ui-btn.ui-input-clear, +.ui-input-text.ui-input-has-clear .ui-btn.ui-input-clear { + position: absolute; + right: 0; + top: 50%; + margin: -14px .3125em 0; + border: 0; + background-color: transparent; +} +.ui-input-search .ui-input-clear-hidden, +.ui-input-text .ui-input-clear-hidden { + display: none; +} +/* Resolves issue #5166: Added to support issue introduced in Firefox 15. We can likely remove this in the future. */ +.ui-input-text input::-moz-placeholder, +.ui-input-search input::-moz-placeholder, +textarea.ui-input-text::-moz-placeholder { + color: #aaa; +} +/* Same for IE10 */ +.ui-input-text input:-ms-input-placeholder, +.ui-input-search input:-ms-input-placeholder, +textarea.ui-input-text:-ms-input-placeholder { + color: #aaa; +} +/* Resolves issue #5131: Width of textinput depends on its type, +for Android 4.1 */ +.ui-input-text input[type=number]::-webkit-outer-spin-button { + margin: 0; +} +/* Resolves issue #5756: Textinput in IE10 has a default clear button */ +.ui-input-text input::-ms-clear, +.ui-input-search input::-ms-clear { + display: none; +} +.ui-input-text input:focus, +.ui-input-search input:focus { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +textarea.ui-input-text.ui-textinput-autogrow { + overflow: hidden; +} +.ui-textinput-autogrow-resize { + -webkit-transition: height 0.25s; + -o-transition: height 0.25s; + -moz-transition: height 0.25s; + transition: height 0.25s; +} +.ui-flipswitch { + display: inline-block; + vertical-align: middle; + width: 5.875em; /* Override this and padding-left in next rule if you use labels other than "on/off" and need more space */ + height: 1.875em; + border-width: 1px; + border-style: solid; + margin: .5em 0; + overflow: hidden; + -webkit-transition-property: padding, width, background-color, color, border-color; + -moz-transition-property: padding, width, background-color, color, border-color; + -o-transition-property: padding, width, background-color, color, border-color; + transition-property: padding, width, background-color, color, border-color; + -webkit-transition-duration: 100ms; + -moz-transition-duration: 100ms; + -o-transition-duration: 100ms; + transition-duration: 100ms; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; +} +.ui-flipswitch.ui-flipswitch-active { + padding-left: 4em; /* Override this and width in previous rule if you use labels other than "on/off" and need more space */ + width: 1.875em; +} +.ui-flipswitch-input { + position: absolute; + height: 1px; + width: 1px; + margin: -1px; + overflow: hidden; + clip: rect(1px,1px,1px,1px); + border: 0; + outline: 0; + filter: Alpha(Opacity=0); + opacity: 0; +} +.ui-flipswitch .ui-btn.ui-flipswitch-on, +.ui-flipswitch .ui-flipswitch-off { + float: left; + height: 1.75em; + margin: .0625em; + line-height: 1.65em; +} +.ui-flipswitch .ui-btn.ui-flipswitch-on { + width: 1.75em; + padding: 0; + text-indent: -2.6em; /* Override this to center text if you use a label other than "on" */ + text-align: left; + border-width: 1px; + border-style: solid; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + box-sizing: border-box; + border-radius: inherit; + overflow: visible; + color: inherit; + text-shadow: inherit; +} +.ui-flipswitch .ui-flipswitch-off { + padding: 1px; + text-indent: 1em; /* Override this to center text if you use a label other than "off" */ +} +/* Override field container CSS to prevent the flipswitch from becomming full width */ +html .ui-field-contain > label + .ui-flipswitch, +html .ui-popup .ui-field-contain > label + .ui-flipswitch { + display: inline-block; + width: 5.875em; /* If you override the width for .ui-flipswitch you should repeat the same value here */ + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + -ms-box-sizing: content-box; + box-sizing: content-box; +} +.ui-field-contain .ui-flipswitch.ui-flipswitch-active, +.ui-popup .ui-field-contain .ui-flipswitch.ui-flipswitch-active { + width: 1.875em; +} +.ui-table { + border: 0; + border-collapse: collapse; + padding: 0; + width: 100%; +} +.ui-table th, +.ui-table td { + line-height: 1.5em; + text-align: left; + padding: .4em .5em; + vertical-align:top; +} +.ui-table th .ui-btn, +.ui-table td .ui-btn { + line-height: normal; +} +.ui-table th { + font-weight: bold; +} +.ui-table caption { + text-align: left; + margin-bottom: 1.4em; + opacity: .5; +} +/* + Styles for the table columntoggle mode +*/ +.ui-table-columntoggle-btn { + float: right; + margin-bottom: .8em; +} +/* Remove top/bottom margins around the fieldcontain on check list */ +.ui-table-columntoggle-popup fieldset { + margin:0; +} +.ui-table-columntoggle { + clear: both; +} +/* Hide all prioritized columns by default */ +@media only all { + th.ui-table-priority-6, + td.ui-table-priority-6, + th.ui-table-priority-5, + td.ui-table-priority-5, + th.ui-table-priority-4, + td.ui-table-priority-4, + th.ui-table-priority-3, + td.ui-table-priority-3, + th.ui-table-priority-2, + td.ui-table-priority-2, + th.ui-table-priority-1, + td.ui-table-priority-1 { + display: none; + } +} +/* Preset breakpoints if ".ui-responsive" class added to table */ +/* Show priority 1 at 320px (20em x 16px) */ +@media screen and (min-width: 20em) { + .ui-table-columntoggle.ui-responsive th.ui-table-priority-1, + .ui-table-columntoggle.ui-responsive td.ui-table-priority-1 { + display: table-cell; + } +} +/* Show priority 2 at 480px (30em x 16px) */ +@media screen and (min-width: 30em) { + .ui-table-columntoggle.ui-responsive th.ui-table-priority-2, + .ui-table-columntoggle.ui-responsive td.ui-table-priority-2 { + display: table-cell; + } +} +/* Show priority 3 at 640px (40em x 16px) */ +@media screen and (min-width: 40em) { + .ui-table-columntoggle.ui-responsive th.ui-table-priority-3, + .ui-table-columntoggle.ui-responsive td.ui-table-priority-3 { + display: table-cell; + } +} +/* Show priority 4 at 800px (50em x 16px) */ +@media screen and (min-width: 50em) { + .ui-table-columntoggle.ui-responsive th.ui-table-priority-4, + .ui-table-columntoggle.ui-responsive td.ui-table-priority-4 { + display: table-cell; + } +} +/* Show priority 5 at 960px (60em x 16px) */ +@media screen and (min-width: 60em) { + .ui-table-columntoggle.ui-responsive th.ui-table-priority-5, + .ui-table-columntoggle.ui-responsive td.ui-table-priority-5 { + display: table-cell; + } +} +/* Show priority 6 at 1,120px (70em x 16px) */ +@media screen and (min-width: 70em) { + .ui-table-columntoggle.ui-responsive th.ui-table-priority-6, + .ui-table-columntoggle.ui-responsive td.ui-table-priority-6 { + display: table-cell; + } +} +/* Unchecked manually: Always hide */ +.ui-table-columntoggle th.ui-table-cell-hidden, +.ui-table-columntoggle td.ui-table-cell-hidden, +.ui-table-columntoggle.ui-responsive th.ui-table-cell-hidden, +.ui-table-columntoggle.ui-responsive td.ui-table-cell-hidden { + display: none; +} +/* Checked manually: Always show */ +.ui-table-columntoggle th.ui-table-cell-visible, +.ui-table-columntoggle td.ui-table-cell-visible, +.ui-table-columntoggle.ui-responsive th.ui-table-cell-visible, +.ui-table-columntoggle.ui-responsive td.ui-table-cell-visible { + display: table-cell; +} +/* + Styles for the table columntoggle mode +*/ +.ui-table-reflow td .ui-table-cell-label, +.ui-table-reflow th .ui-table-cell-label { + display: none; +} +/* Mobile first styles: Begin with the stacked presentation at narrow widths */ +@media only all { + /* Hide the table headers */ + .ui-table-reflow thead td, + .ui-table-reflow thead th { + display: none; + } + /* Show the table cells as a block level element */ + .ui-table-reflow td, + .ui-table-reflow th { + text-align: left; + display: block; + } + /* Add a fair amount of top margin to visually separate each row when stacked */ + .ui-table-reflow tbody th { + margin-top: 3em; + } + /* Make the label elements a percentage width */ + .ui-table-reflow td .ui-table-cell-label, + .ui-table-reflow th .ui-table-cell-label { + padding: .4em; + min-width: 30%; + display: inline-block; + margin: -.4em 1em -.4em -.4em; + } + /* For grouped headers, have a different style to visually separate the levels by classing the first label in each col group */ + .ui-table-reflow th .ui-table-cell-label-top, + .ui-table-reflow td .ui-table-cell-label-top { + display: block; + padding: .4em 0; + margin: .4em 0; + text-transform: uppercase; + font-size: .9em; + font-weight: normal; + } +} +/* Breakpoint to show as a standard table at 560px (35em x 16px) or wider */ +@media ( min-width: 35em ) { + /* Fixes table rendering when switching between breakpoints in Safari <= 5. See https://github.com/jquery/jquery-mobile/issues/5380 */ + .ui-table-reflow.ui-responsive { + display: table-row-group; + } + /* Show the table header rows */ + .ui-table-reflow.ui-responsive td, + .ui-table-reflow.ui-responsive th, + .ui-table-reflow.ui-responsive tbody th, + .ui-table-reflow.ui-responsive tbody td, + .ui-table-reflow.ui-responsive thead td, + .ui-table-reflow.ui-responsive thead th { + display: table-cell; + margin: 0; + } + /* Hide the labels in each cell */ + .ui-table-reflow.ui-responsive td .ui-table-cell-label, + .ui-table-reflow.ui-responsive th .ui-table-cell-label { + display: none; + } +} +/* Hack to make IE9 and WP7.5 treat cells like block level elements, scoped to ui-responsive class */ +/* Applied in a max-width media query up to the table layout breakpoint so we don't need to negate this*/ +@media ( max-width: 35em ) { + .ui-table-reflow.ui-responsive td, + .ui-table-reflow.ui-responsive th { + width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + float: left; + clear: left; + } +} +/* Panel */ +.ui-panel { + width: 17em; + min-height: 100%; + max-height: none; + border-width: 0; + position: absolute; + top: 0; + display: block; +} +.ui-panel-closed { + width: 0; + max-height: 100%; + overflow: hidden; + visibility: hidden; +} +.ui-panel-fixed { + position: fixed; + bottom: -1px; /* Fixes gap on Chrome for Android */ + padding-bottom: 1px; +} +.ui-panel-display-reveal { + z-index: 1; +} +.ui-panel-display-push { + z-index: 999; +} +.ui-panel-display-overlay { + z-index: 1001; /* Fixed toolbars have z-index 1000 */ +} +.ui-panel-inner { + padding: 1em; +} +/* Container, page and wrapper */ +.ui-panel-page-container { + overflow-x: visible; +} +.ui-panel-page-container-themed .ui-page-active { + background: none; +} +.ui-panel-wrapper { + position: relative; + min-height: inherit; + border: 0; + overflow-x: hidden; + z-index: 999; +} +/* Fixed toolbars */ +.ui-panel-fixed-toolbar { + overflow-x: hidden; +} +/* Dismiss */ +.ui-panel-dismiss { + position: absolute; + top: 0; + left: 0; + right: 0; + height: 100%; + z-index: 1002; + display: none; +} +.ui-panel-dismiss-open { + display: block; +} +/* Animate class is added to panel, wrapper and fixed toolbars */ +.ui-panel-animate { + -webkit-transition: -webkit-transform 300ms ease; + -webkit-transition-duration: 300ms; + -moz-transition: -moz-transform 300ms ease; + transition: transform 300ms ease; +} +/* Fix for Windows Phone issue #6349: unset the transition for transforms in case of fixed toolbars. */ +@media screen and ( max-device-width: 768px ) { + .ui-page-header-fixed .ui-panel-animate.ui-panel-wrapper, + .ui-page-footer-fixed .ui-panel-animate.ui-panel-wrapper, + .ui-panel-animate.ui-panel-fixed-toolbar { + -ms-transition: none; + } + /* We need a transitionend event ... */ + .ui-panel-animate.ui-panel-fixed-toolbar { + -ms-transition: -ms-transform 1ms; + -ms-transform: rotate(0deg); + } +} +/* Hardware acceleration for smoother transitions on WebKit browsers */ +.ui-panel-animate.ui-panel:not(.ui-panel-display-reveal) { + -webkit-backface-visibility: hidden; + -webkit-transform: translate3d(0,0,0); +} +/* Panel positioning (for overlay and push) */ +/* Panel left closed */ +.ui-panel-position-left { + left: -17em; +} +/* Panel left closed animated */ +.ui-panel-animate.ui-panel-position-left.ui-panel-display-overlay, +.ui-panel-animate.ui-panel-position-left.ui-panel-display-push { + left: 0; + -webkit-transform: translate3d(-17em,0,0); + -moz-transform: translate3d(-17em,0,0); + transform: translate3d(-17em,0,0); +} +/* Panel left open */ +.ui-panel-position-left.ui-panel-display-reveal, /* Unset "panel left closed" for reveal */ +.ui-panel-open.ui-panel-position-left { + left: 0; +} +/* Panel left open animated */ +.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-overlay, +.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-push { + -webkit-transform: translate3d(0,0,0); + transform: translate3d(0,0,0); + -moz-transform: none; +} +/* Panel right closed */ +.ui-panel-position-right { + right: -17em; +} +/* Panel right closed animated */ +.ui-panel-animate.ui-panel-position-right.ui-panel-display-overlay, +.ui-panel-animate.ui-panel-position-right.ui-panel-display-push { + right: 0; + -webkit-transform: translate3d(17em,0,0); + -moz-transform: translate3d(17em,0,0); + transform: translate3d(17em,0,0); +} +/* Panel right open */ +.ui-panel-position-right.ui-panel-display-reveal, /* Unset "panel right closed" for reveal */ +.ui-panel-position-right.ui-panel-open { + right: 0; +} +/* Panel right open animated */ +.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-overlay, +.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-push { + -webkit-transform: translate3d(0,0,0); + transform: translate3d(0,0,0); + -moz-transform: none; +} +/* Wrapper and fixed toolbars positioning (for reveal and push) */ +/* Panel left open */ +.ui-panel-page-content-position-left { + left: 17em; + right: -17em; +} +/* Panel left open animated */ +.ui-panel-animate.ui-panel-page-content-position-left { + left: 0; + right: 0; + -webkit-transform: translate3d(17em,0,0); + -moz-transform: translate3d(17em,0,0); + transform: translate3d(17em,0,0); +} +/* Panel right open */ +.ui-panel-page-content-position-right { + left: -17em; + right: 17em; +} +/* Panel right open animated */ +.ui-panel-animate.ui-panel-page-content-position-right { + left: 0; + right: 0; + -webkit-transform: translate3d(-17em,0,0); + -moz-transform: translate3d(-17em,0,0); + transform: translate3d(-17em,0,0); +} +/* Dismiss model open */ +.ui-panel-dismiss-open.ui-panel-dismiss-position-left { + left: 17em; +} +.ui-panel-dismiss-open.ui-panel-dismiss-position-right { + right: 17em; +} +/* Shadows and borders */ +.ui-panel-display-reveal { + -webkit-box-shadow: inset -5px 0 5px rgba(0,0,0,.15); + -moz-box-shadow: inset -5px 0 5px rgba(0,0,0,.15); + box-shadow: inset -5px 0 5px rgba(0,0,0,.15); +} +.ui-panel-position-right.ui-panel-display-reveal { + -webkit-box-shadow: inset 5px 0 5px rgba(0,0,0,.15); + -moz-box-shadow: inset 5px 0 5px rgba(0,0,0,.15); + box-shadow: inset 5px 0 5px rgba(0,0,0,.15); +} +.ui-panel-display-overlay { + -webkit-box-shadow: 5px 0 5px rgba(0,0,0,.15); + -moz-box-shadow: 5px 0 5px rgba(0,0,0,.15); + box-shadow: 5px 0 5px rgba(0,0,0,.15); +} +.ui-panel-position-right.ui-panel-display-overlay { + -webkit-box-shadow: -5px 0 5px rgba(0,0,0,.15); + -moz-box-shadow: -5px 0 5px rgba(0,0,0,.15); + box-shadow: -5px 0 5px rgba(0,0,0,.15); +} +.ui-panel-open.ui-panel-position-left.ui-panel-display-push { + border-right-width: 1px; + margin-right: -1px; +} +.ui-panel-page-content-position-left.ui-panel-page-content-display-push { + margin-left: 1px; + width: auto; +} +.ui-panel-open.ui-panel-position-right.ui-panel-display-push { + border-left-width: 1px; + margin-left: -1px; +} +.ui-panel-page-content-position-right.ui-panel-page-content-display-push { + margin-right: 1px; + width: auto; +} +/* Responsive: wrap on wide viewports once open */ +@media (min-width:55em) { + .ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-left { + margin-right: 17em; + } + .ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-right { + margin-left: 17em; + } + .ui-responsive-panel .ui-panel-page-content-open { + width: auto; + } + .ui-responsive-panel .ui-panel-dismiss-display-push, + .ui-responsive-panel.ui-page-active ~ .ui-panel-dismiss-display-push { + display: none; + } +} +.ui-tabs { + position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ + padding: .2em; +} diff --git a/js/libs/.jquery.mobile/jquery.mobile-1.4.2.js b/js/libs/.jquery.mobile/jquery.mobile-1.4.2.js new file mode 100644 index 0000000..7734c5d --- /dev/null +++ b/js/libs/.jquery.mobile/jquery.mobile-1.4.2.js @@ -0,0 +1,15056 @@ +/*! +* jQuery Mobile 1.4.2 +* Git HEAD hash: 9d9a42a27d0c693e8b5569c3a10d771916af5045 <> Date: Fri Feb 28 2014 17:32:01 UTC +* http://jquerymobile.com +* +* Copyright 2010, 2014 jQuery Foundation, Inc. and other contributors +* Released under the MIT license. +* http://jquery.org/license +* +*/ + + +(function ( root, doc, factory ) { + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define( [ "jquery" ], function ( $ ) { + factory( $, root, doc ); + return $.mobile; + }); + } else { + // Browser globals + factory( root.jQuery, root, doc ); + } +}( this, document, function ( jQuery, window, document, undefined ) { +(function( $ ) { + $.mobile = {}; +}( jQuery )); + +(function( $, window, undefined ) { + $.extend( $.mobile, { + + // Version of the jQuery Mobile Framework + version: "1.4.2", + + // Deprecated and no longer used in 1.4 remove in 1.5 + // Define the url parameter used for referencing widget-generated sub-pages. + // Translates to example.html&ui-page=subpageIdentifier + // hash segment before &ui-page= is used to make Ajax request + subPageUrlKey: "ui-page", + + hideUrlBar: true, + + // Keepnative Selector + keepNative: ":jqmData(role='none'), :jqmData(role='nojs')", + + // Deprecated in 1.4 remove in 1.5 + // Class assigned to page currently in view, and during transitions + activePageClass: "ui-page-active", + + // Deprecated in 1.4 remove in 1.5 + // Class used for "active" button state, from CSS framework + activeBtnClass: "ui-btn-active", + + // Deprecated in 1.4 remove in 1.5 + // Class used for "focus" form element state, from CSS framework + focusClass: "ui-focus", + + // Automatically handle clicks and form submissions through Ajax, when same-domain + ajaxEnabled: true, + + // Automatically load and show pages based on location.hash + hashListeningEnabled: true, + + // disable to prevent jquery from bothering with links + linkBindingEnabled: true, + + // Set default page transition - 'none' for no transitions + defaultPageTransition: "fade", + + // Set maximum window width for transitions to apply - 'false' for no limit + maxTransitionWidth: false, + + // Minimum scroll distance that will be remembered when returning to a page + // Deprecated remove in 1.5 + minScrollBack: 0, + + // Set default dialog transition - 'none' for no transitions + defaultDialogTransition: "pop", + + // Error response message - appears when an Ajax page request fails + pageLoadErrorMessage: "Error Loading Page", + + // For error messages, which theme does the box uses? + pageLoadErrorMessageTheme: "a", + + // replace calls to window.history.back with phonegaps navigation helper + // where it is provided on the window object + phonegapNavigationEnabled: false, + + //automatically initialize the DOM when it's ready + autoInitializePage: true, + + pushStateEnabled: true, + + // allows users to opt in to ignoring content by marking a parent element as + // data-ignored + ignoreContentEnabled: false, + + buttonMarkup: { + hoverDelay: 200 + }, + + // disable the alteration of the dynamic base tag or links in the case + // that a dynamic base tag isn't supported + dynamicBaseEnabled: true, + + // default the property to remove dependency on assignment in init module + pageContainer: $(), + + //enable cross-domain page support + allowCrossDomainPages: false, + + dialogHashKey: "&ui-state=dialog" + }); +})( jQuery, this ); + +(function( $, window, undefined ) { + var nsNormalizeDict = {}, + oldFind = $.find, + rbrace = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/, + jqmDataRE = /:jqmData\(([^)]*)\)/g; + + $.extend( $.mobile, { + + // Namespace used framework-wide for data-attrs. Default is no namespace + + ns: "", + + // Retrieve an attribute from an element and perform some massaging of the value + + getAttribute: function( element, key ) { + var data; + + element = element.jquery ? element[0] : element; + + if ( element && element.getAttribute ) { + data = element.getAttribute( "data-" + $.mobile.ns + key ); + } + + // Copied from core's src/data.js:dataAttr() + // Convert from a string to a proper data type + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + // Only convert to a number if it doesn't change the string + +data + "" === data ? +data : + rbrace.test( data ) ? JSON.parse( data ) : + data; + } catch( err ) {} + + return data; + }, + + // Expose our cache for testing purposes. + nsNormalizeDict: nsNormalizeDict, + + // Take a data attribute property, prepend the namespace + // and then camel case the attribute string. Add the result + // to our nsNormalizeDict so we don't have to do this again. + nsNormalize: function( prop ) { + return nsNormalizeDict[ prop ] || + ( nsNormalizeDict[ prop ] = $.camelCase( $.mobile.ns + prop ) ); + }, + + // Find the closest javascript page element to gather settings data jsperf test + // http://jsperf.com/single-complex-selector-vs-many-complex-selectors/edit + // possibly naive, but it shows that the parsing overhead for *just* the page selector vs + // the page and dialog selector is negligable. This could probably be speed up by + // doing a similar parent node traversal to the one found in the inherited theme code above + closestPageData: function( $target ) { + return $target + .closest( ":jqmData(role='page'), :jqmData(role='dialog')" ) + .data( "mobile-page" ); + } + + }); + + // Mobile version of data and removeData and hasData methods + // ensures all data is set and retrieved using jQuery Mobile's data namespace + $.fn.jqmData = function( prop, value ) { + var result; + if ( typeof prop !== "undefined" ) { + if ( prop ) { + prop = $.mobile.nsNormalize( prop ); + } + + // undefined is permitted as an explicit input for the second param + // in this case it returns the value and does not set it to undefined + if ( arguments.length < 2 || value === undefined ) { + result = this.data( prop ); + } else { + result = this.data( prop, value ); + } + } + return result; + }; + + $.jqmData = function( elem, prop, value ) { + var result; + if ( typeof prop !== "undefined" ) { + result = $.data( elem, prop ? $.mobile.nsNormalize( prop ) : prop, value ); + } + return result; + }; + + $.fn.jqmRemoveData = function( prop ) { + return this.removeData( $.mobile.nsNormalize( prop ) ); + }; + + $.jqmRemoveData = function( elem, prop ) { + return $.removeData( elem, $.mobile.nsNormalize( prop ) ); + }; + + $.find = function( selector, context, ret, extra ) { + if ( selector.indexOf( ":jqmData" ) > -1 ) { + selector = selector.replace( jqmDataRE, "[data-" + ( $.mobile.ns || "" ) + "$1]" ); + } + + return oldFind.call( this, selector, context, ret, extra ); + }; + + $.extend( $.find, oldFind ); + +})( jQuery, this ); + +/*! + * jQuery UI Core c0ab71056b936627e8a7821f03c044aec6280a40 + * http://jqueryui.com + * + * Copyright 2013 jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/category/ui-core/ + */ +(function( $, undefined ) { + +var uuid = 0, + runiqueId = /^ui-id-\d+$/; + +// $.ui might exist from components with no dependencies, e.g., $.ui.position +$.ui = $.ui || {}; + +$.extend( $.ui, { + version: "c0ab71056b936627e8a7821f03c044aec6280a40", + + keyCode: { + BACKSPACE: 8, + COMMA: 188, + DELETE: 46, + DOWN: 40, + END: 35, + ENTER: 13, + ESCAPE: 27, + HOME: 36, + LEFT: 37, + PAGE_DOWN: 34, + PAGE_UP: 33, + PERIOD: 190, + RIGHT: 39, + SPACE: 32, + TAB: 9, + UP: 38 + } +}); + +// plugins +$.fn.extend({ + focus: (function( orig ) { + return function( delay, fn ) { + return typeof delay === "number" ? + this.each(function() { + var elem = this; + setTimeout(function() { + $( elem ).focus(); + if ( fn ) { + fn.call( elem ); + } + }, delay ); + }) : + orig.apply( this, arguments ); + }; + })( $.fn.focus ), + + scrollParent: function() { + var scrollParent; + if (($.ui.ie && (/(static|relative)/).test(this.css("position"))) || (/absolute/).test(this.css("position"))) { + scrollParent = this.parents().filter(function() { + return (/(relative|absolute|fixed)/).test($.css(this,"position")) && (/(auto|scroll)/).test($.css(this,"overflow")+$.css(this,"overflow-y")+$.css(this,"overflow-x")); + }).eq(0); + } else { + scrollParent = this.parents().filter(function() { + return (/(auto|scroll)/).test($.css(this,"overflow")+$.css(this,"overflow-y")+$.css(this,"overflow-x")); + }).eq(0); + } + + return ( /fixed/ ).test( this.css( "position") ) || !scrollParent.length ? $( this[ 0 ].ownerDocument || document ) : scrollParent; + }, + + uniqueId: function() { + return this.each(function() { + if ( !this.id ) { + this.id = "ui-id-" + (++uuid); + } + }); + }, + + removeUniqueId: function() { + return this.each(function() { + if ( runiqueId.test( this.id ) ) { + $( this ).removeAttr( "id" ); + } + }); + } +}); + +// selectors +function focusable( element, isTabIndexNotNaN ) { + var map, mapName, img, + nodeName = element.nodeName.toLowerCase(); + if ( "area" === nodeName ) { + map = element.parentNode; + mapName = map.name; + if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) { + return false; + } + img = $( "img[usemap=#" + mapName + "]" )[0]; + return !!img && visible( img ); + } + return ( /input|select|textarea|button|object/.test( nodeName ) ? + !element.disabled : + "a" === nodeName ? + element.href || isTabIndexNotNaN : + isTabIndexNotNaN) && + // the element and all of its ancestors must be visible + visible( element ); +} + +function visible( element ) { + return $.expr.filters.visible( element ) && + !$( element ).parents().addBack().filter(function() { + return $.css( this, "visibility" ) === "hidden"; + }).length; +} + +$.extend( $.expr[ ":" ], { + data: $.expr.createPseudo ? + $.expr.createPseudo(function( dataName ) { + return function( elem ) { + return !!$.data( elem, dataName ); + }; + }) : + // support: jQuery <1.8 + function( elem, i, match ) { + return !!$.data( elem, match[ 3 ] ); + }, + + focusable: function( element ) { + return focusable( element, !isNaN( $.attr( element, "tabindex" ) ) ); + }, + + tabbable: function( element ) { + var tabIndex = $.attr( element, "tabindex" ), + isTabIndexNaN = isNaN( tabIndex ); + return ( isTabIndexNaN || tabIndex >= 0 ) && focusable( element, !isTabIndexNaN ); + } +}); + +// support: jQuery <1.8 +if ( !$( "" ).outerWidth( 1 ).jquery ) { + $.each( [ "Width", "Height" ], function( i, name ) { + var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ], + type = name.toLowerCase(), + orig = { + innerWidth: $.fn.innerWidth, + innerHeight: $.fn.innerHeight, + outerWidth: $.fn.outerWidth, + outerHeight: $.fn.outerHeight + }; + + function reduce( elem, size, border, margin ) { + $.each( side, function() { + size -= parseFloat( $.css( elem, "padding" + this ) ) || 0; + if ( border ) { + size -= parseFloat( $.css( elem, "border" + this + "Width" ) ) || 0; + } + if ( margin ) { + size -= parseFloat( $.css( elem, "margin" + this ) ) || 0; + } + }); + return size; + } + + $.fn[ "inner" + name ] = function( size ) { + if ( size === undefined ) { + return orig[ "inner" + name ].call( this ); + } + + return this.each(function() { + $( this ).css( type, reduce( this, size ) + "px" ); + }); + }; + + $.fn[ "outer" + name] = function( size, margin ) { + if ( typeof size !== "number" ) { + return orig[ "outer" + name ].call( this, size ); + } + + return this.each(function() { + $( this).css( type, reduce( this, size, true, margin ) + "px" ); + }); + }; + }); +} + +// support: jQuery <1.8 +if ( !$.fn.addBack ) { + $.fn.addBack = function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + }; +} + +// support: jQuery 1.6.1, 1.6.2 (http://bugs.jquery.com/ticket/9413) +if ( $( "" ).data( "a-b", "a" ).removeData( "a-b" ).data( "a-b" ) ) { + $.fn.removeData = (function( removeData ) { + return function( key ) { + if ( arguments.length ) { + return removeData.call( this, $.camelCase( key ) ); + } else { + return removeData.call( this ); + } + }; + })( $.fn.removeData ); +} + + + + + +// deprecated +$.ui.ie = !!/msie [\w.]+/.exec( navigator.userAgent.toLowerCase() ); + +$.support.selectstart = "onselectstart" in document.createElement( "div" ); +$.fn.extend({ + disableSelection: function() { + return this.bind( ( $.support.selectstart ? "selectstart" : "mousedown" ) + + ".ui-disableSelection", function( event ) { + event.preventDefault(); + }); + }, + + enableSelection: function() { + return this.unbind( ".ui-disableSelection" ); + }, + + zIndex: function( zIndex ) { + if ( zIndex !== undefined ) { + return this.css( "zIndex", zIndex ); + } + + if ( this.length ) { + var elem = $( this[ 0 ] ), position, value; + while ( elem.length && elem[ 0 ] !== document ) { + // Ignore z-index if position is set to a value where z-index is ignored by the browser + // This makes behavior of this function consistent across browsers + // WebKit always returns auto if the element is positioned + position = elem.css( "position" ); + if ( position === "absolute" || position === "relative" || position === "fixed" ) { + // IE returns 0 when zIndex is not specified + // other browsers return a string + // we ignore the case of nested elements with an explicit value of 0 + //
    + value = parseInt( elem.css( "zIndex" ), 10 ); + if ( !isNaN( value ) && value !== 0 ) { + return value; + } + } + elem = elem.parent(); + } + } + + return 0; + } +}); + +// $.ui.plugin is deprecated. Use $.widget() extensions instead. +$.ui.plugin = { + add: function( module, option, set ) { + var i, + proto = $.ui[ module ].prototype; + for ( i in set ) { + proto.plugins[ i ] = proto.plugins[ i ] || []; + proto.plugins[ i ].push( [ option, set[ i ] ] ); + } + }, + call: function( instance, name, args, allowDisconnected ) { + var i, + set = instance.plugins[ name ]; + + if ( !set ) { + return; + } + + if ( !allowDisconnected && ( !instance.element[ 0 ].parentNode || instance.element[ 0 ].parentNode.nodeType === 11 ) ) { + return; + } + + for ( i = 0; i < set.length; i++ ) { + if ( instance.options[ set[ i ][ 0 ] ] ) { + set[ i ][ 1 ].apply( instance.element, args ); + } + } + } +}; + +})( jQuery ); + +(function( $, window, undefined ) { + + // Subtract the height of external toolbars from the page height, if the page does not have + // internal toolbars of the same type + var compensateToolbars = function( page, desiredHeight ) { + var pageParent = page.parent(), + toolbarsAffectingHeight = [], + externalHeaders = pageParent.children( ":jqmData(role='header')" ), + internalHeaders = page.children( ":jqmData(role='header')" ), + externalFooters = pageParent.children( ":jqmData(role='footer')" ), + internalFooters = page.children( ":jqmData(role='footer')" ); + + // If we have no internal headers, but we do have external headers, then their height + // reduces the page height + if ( internalHeaders.length === 0 && externalHeaders.length > 0 ) { + toolbarsAffectingHeight = toolbarsAffectingHeight.concat( externalHeaders.toArray() ); + } + + // If we have no internal footers, but we do have external footers, then their height + // reduces the page height + if ( internalFooters.length === 0 && externalFooters.length > 0 ) { + toolbarsAffectingHeight = toolbarsAffectingHeight.concat( externalFooters.toArray() ); + } + + $.each( toolbarsAffectingHeight, function( index, value ) { + desiredHeight -= $( value ).outerHeight(); + }); + + // Height must be at least zero + return Math.max( 0, desiredHeight ); + }; + + $.extend( $.mobile, { + // define the window and the document objects + window: $( window ), + document: $( document ), + + // TODO: Remove and use $.ui.keyCode directly + keyCode: $.ui.keyCode, + + // Place to store various widget extensions + behaviors: {}, + + // Scroll page vertically: scroll to 0 to hide iOS address bar, or pass a Y value + silentScroll: function( ypos ) { + if ( $.type( ypos ) !== "number" ) { + ypos = $.mobile.defaultHomeScroll; + } + + // prevent scrollstart and scrollstop events + $.event.special.scrollstart.enabled = false; + + setTimeout(function() { + window.scrollTo( 0, ypos ); + $.mobile.document.trigger( "silentscroll", { x: 0, y: ypos }); + }, 20 ); + + setTimeout(function() { + $.event.special.scrollstart.enabled = true; + }, 150 ); + }, + + getClosestBaseUrl: function( ele ) { + // Find the closest page and extract out its url. + var url = $( ele ).closest( ".ui-page" ).jqmData( "url" ), + base = $.mobile.path.documentBase.hrefNoHash; + + if ( !$.mobile.dynamicBaseEnabled || !url || !$.mobile.path.isPath( url ) ) { + url = base; + } + + return $.mobile.path.makeUrlAbsolute( url, base ); + }, + removeActiveLinkClass: function( forceRemoval ) { + if ( !!$.mobile.activeClickedLink && + ( !$.mobile.activeClickedLink.closest( "." + $.mobile.activePageClass ).length || + forceRemoval ) ) { + + $.mobile.activeClickedLink.removeClass( $.mobile.activeBtnClass ); + } + $.mobile.activeClickedLink = null; + }, + + // DEPRECATED in 1.4 + // Find the closest parent with a theme class on it. Note that + // we are not using $.fn.closest() on purpose here because this + // method gets called quite a bit and we need it to be as fast + // as possible. + getInheritedTheme: function( el, defaultTheme ) { + var e = el[ 0 ], + ltr = "", + re = /ui-(bar|body|overlay)-([a-z])\b/, + c, m; + while ( e ) { + c = e.className || ""; + if ( c && ( m = re.exec( c ) ) && ( ltr = m[ 2 ] ) ) { + // We found a parent with a theme class + // on it so bail from this loop. + break; + } + + e = e.parentNode; + } + // Return the theme letter we found, if none, return the + // specified default. + return ltr || defaultTheme || "a"; + }, + + enhanceable: function( elements ) { + return this.haveParents( elements, "enhance" ); + }, + + hijackable: function( elements ) { + return this.haveParents( elements, "ajax" ); + }, + + haveParents: function( elements, attr ) { + if ( !$.mobile.ignoreContentEnabled ) { + return elements; + } + + var count = elements.length, + $newSet = $(), + e, $element, excluded, + i, c; + + for ( i = 0; i < count; i++ ) { + $element = elements.eq( i ); + excluded = false; + e = elements[ i ]; + + while ( e ) { + c = e.getAttribute ? e.getAttribute( "data-" + $.mobile.ns + attr ) : ""; + + if ( c === "false" ) { + excluded = true; + break; + } + + e = e.parentNode; + } + + if ( !excluded ) { + $newSet = $newSet.add( $element ); + } + } + + return $newSet; + }, + + getScreenHeight: function() { + // Native innerHeight returns more accurate value for this across platforms, + // jQuery version is here as a normalized fallback for platforms like Symbian + return window.innerHeight || $.mobile.window.height(); + }, + + //simply set the active page's minimum height to screen height, depending on orientation + resetActivePageHeight: function( height ) { + var page = $( "." + $.mobile.activePageClass ), + pageHeight = page.height(), + pageOuterHeight = page.outerHeight( true ); + + height = compensateToolbars( page, + ( typeof height === "number" ) ? height : $.mobile.getScreenHeight() ); + + page.css( "min-height", height - ( pageOuterHeight - pageHeight ) ); + }, + + loading: function() { + // If this is the first call to this function, instantiate a loader widget + var loader = this.loading._widget || $( $.mobile.loader.prototype.defaultHtml ).loader(), + + // Call the appropriate method on the loader + returnValue = loader.loader.apply( loader, arguments ); + + // Make sure the loader is retained for future calls to this function. + this.loading._widget = loader; + + return returnValue; + } + }); + + $.addDependents = function( elem, newDependents ) { + var $elem = $( elem ), + dependents = $elem.jqmData( "dependents" ) || $(); + + $elem.jqmData( "dependents", $( dependents ).add( newDependents ) ); + }; + + // plugins + $.fn.extend({ + removeWithDependents: function() { + $.removeWithDependents( this ); + }, + + // Enhance child elements + enhanceWithin: function() { + var index, + widgetElements = {}, + keepNative = $.mobile.page.prototype.keepNativeSelector(), + that = this; + + // Add no js class to elements + if ( $.mobile.nojs ) { + $.mobile.nojs( this ); + } + + // Bind links for ajax nav + if ( $.mobile.links ) { + $.mobile.links( this ); + } + + // Degrade inputs for styleing + if ( $.mobile.degradeInputsWithin ) { + $.mobile.degradeInputsWithin( this ); + } + + // Run buttonmarkup + if ( $.fn.buttonMarkup ) { + this.find( $.fn.buttonMarkup.initSelector ).not( keepNative ) + .jqmEnhanceable().buttonMarkup(); + } + + // Add classes for fieldContain + if ( $.fn.fieldcontain ) { + this.find( ":jqmData(role='fieldcontain')" ).not( keepNative ) + .jqmEnhanceable().fieldcontain(); + } + + // Enhance widgets + $.each( $.mobile.widgets, function( name, constructor ) { + + // If initSelector not false find elements + if ( constructor.initSelector ) { + + // Filter elements that should not be enhanced based on parents + var elements = $.mobile.enhanceable( that.find( constructor.initSelector ) ); + + // If any matching elements remain filter ones with keepNativeSelector + if ( elements.length > 0 ) { + + // $.mobile.page.prototype.keepNativeSelector is deprecated this is just for backcompat + // Switch to $.mobile.keepNative in 1.5 which is just a value not a function + elements = elements.not( keepNative ); + } + + // Enhance whatever is left + if ( elements.length > 0 ) { + widgetElements[ constructor.prototype.widgetName ] = elements; + } + } + }); + + for ( index in widgetElements ) { + widgetElements[ index ][ index ](); + } + + return this; + }, + + addDependents: function( newDependents ) { + $.addDependents( this, newDependents ); + }, + + // note that this helper doesn't attempt to handle the callback + // or setting of an html element's text, its only purpose is + // to return the html encoded version of the text in all cases. (thus the name) + getEncodedText: function() { + return $( "
    " ).text( this.text() ).html(); + }, + + // fluent helper function for the mobile namespaced equivalent + jqmEnhanceable: function() { + return $.mobile.enhanceable( this ); + }, + + jqmHijackable: function() { + return $.mobile.hijackable( this ); + } + }); + + $.removeWithDependents = function( nativeElement ) { + var element = $( nativeElement ); + + ( element.jqmData( "dependents" ) || $() ).remove(); + element.remove(); + }; + $.addDependents = function( nativeElement, newDependents ) { + var element = $( nativeElement ), + dependents = element.jqmData( "dependents" ) || $(); + + element.jqmData( "dependents", $( dependents ).add( newDependents ) ); + }; + + $.find.matches = function( expr, set ) { + return $.find( expr, null, null, set ); + }; + + $.find.matchesSelector = function( node, expr ) { + return $.find( expr, null, null, [ node ] ).length > 0; + }; + +})( jQuery, this ); + + +/*! + * jQuery UI Widget c0ab71056b936627e8a7821f03c044aec6280a40 + * http://jqueryui.com + * + * Copyright 2013 jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/jQuery.widget/ + */ +(function( $, undefined ) { + +var uuid = 0, + slice = Array.prototype.slice, + _cleanData = $.cleanData; +$.cleanData = function( elems ) { + for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) { + try { + $( elem ).triggerHandler( "remove" ); + // http://bugs.jquery.com/ticket/8235 + } catch( e ) {} + } + _cleanData( elems ); +}; + +$.widget = function( name, base, prototype ) { + var fullName, existingConstructor, constructor, basePrototype, + // proxiedPrototype allows the provided prototype to remain unmodified + // so that it can be used as a mixin for multiple widgets (#8876) + proxiedPrototype = {}, + namespace = name.split( "." )[ 0 ]; + + name = name.split( "." )[ 1 ]; + fullName = namespace + "-" + name; + + if ( !prototype ) { + prototype = base; + base = $.Widget; + } + + // create selector for plugin + $.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) { + return !!$.data( elem, fullName ); + }; + + $[ namespace ] = $[ namespace ] || {}; + existingConstructor = $[ namespace ][ name ]; + constructor = $[ namespace ][ name ] = function( options, element ) { + // allow instantiation without "new" keyword + if ( !this._createWidget ) { + return new constructor( options, element ); + } + + // allow instantiation without initializing for simple inheritance + // must use "new" keyword (the code above always passes args) + if ( arguments.length ) { + this._createWidget( options, element ); + } + }; + // extend with the existing constructor to carry over any static properties + $.extend( constructor, existingConstructor, { + version: prototype.version, + // copy the object used to create the prototype in case we need to + // redefine the widget later + _proto: $.extend( {}, prototype ), + // track widgets that inherit from this widget in case this widget is + // redefined after a widget inherits from it + _childConstructors: [] + }); + + basePrototype = new base(); + // we need to make the options hash a property directly on the new instance + // otherwise we'll modify the options hash on the prototype that we're + // inheriting from + basePrototype.options = $.widget.extend( {}, basePrototype.options ); + $.each( prototype, function( prop, value ) { + if ( !$.isFunction( value ) ) { + proxiedPrototype[ prop ] = value; + return; + } + proxiedPrototype[ prop ] = (function() { + var _super = function() { + return base.prototype[ prop ].apply( this, arguments ); + }, + _superApply = function( args ) { + return base.prototype[ prop ].apply( this, args ); + }; + return function() { + var __super = this._super, + __superApply = this._superApply, + returnValue; + + this._super = _super; + this._superApply = _superApply; + + returnValue = value.apply( this, arguments ); + + this._super = __super; + this._superApply = __superApply; + + return returnValue; + }; + })(); + }); + constructor.prototype = $.widget.extend( basePrototype, { + // TODO: remove support for widgetEventPrefix + // always use the name + a colon as the prefix, e.g., draggable:start + // don't prefix for widgets that aren't DOM-based + widgetEventPrefix: existingConstructor ? (basePrototype.widgetEventPrefix || name) : name + }, proxiedPrototype, { + constructor: constructor, + namespace: namespace, + widgetName: name, + widgetFullName: fullName + }); + + // If this widget is being redefined then we need to find all widgets that + // are inheriting from it and redefine all of them so that they inherit from + // the new version of this widget. We're essentially trying to replace one + // level in the prototype chain. + if ( existingConstructor ) { + $.each( existingConstructor._childConstructors, function( i, child ) { + var childPrototype = child.prototype; + + // redefine the child widget using the same prototype that was + // originally used, but inherit from the new version of the base + $.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor, child._proto ); + }); + // remove the list of existing child constructors from the old constructor + // so the old child constructors can be garbage collected + delete existingConstructor._childConstructors; + } else { + base._childConstructors.push( constructor ); + } + + $.widget.bridge( name, constructor ); + + return constructor; +}; + +$.widget.extend = function( target ) { + var input = slice.call( arguments, 1 ), + inputIndex = 0, + inputLength = input.length, + key, + value; + for ( ; inputIndex < inputLength; inputIndex++ ) { + for ( key in input[ inputIndex ] ) { + value = input[ inputIndex ][ key ]; + if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) { + // Clone objects + if ( $.isPlainObject( value ) ) { + target[ key ] = $.isPlainObject( target[ key ] ) ? + $.widget.extend( {}, target[ key ], value ) : + // Don't extend strings, arrays, etc. with objects + $.widget.extend( {}, value ); + // Copy everything else by reference + } else { + target[ key ] = value; + } + } + } + } + return target; +}; + +$.widget.bridge = function( name, object ) { + var fullName = object.prototype.widgetFullName || name; + $.fn[ name ] = function( options ) { + var isMethodCall = typeof options === "string", + args = slice.call( arguments, 1 ), + returnValue = this; + + // allow multiple hashes to be passed on init + options = !isMethodCall && args.length ? + $.widget.extend.apply( null, [ options ].concat(args) ) : + options; + + if ( isMethodCall ) { + this.each(function() { + var methodValue, + instance = $.data( this, fullName ); + if ( options === "instance" ) { + returnValue = instance; + return false; + } + if ( !instance ) { + return $.error( "cannot call methods on " + name + " prior to initialization; " + + "attempted to call method '" + options + "'" ); + } + if ( !$.isFunction( instance[options] ) || options.charAt( 0 ) === "_" ) { + return $.error( "no such method '" + options + "' for " + name + " widget instance" ); + } + methodValue = instance[ options ].apply( instance, args ); + if ( methodValue !== instance && methodValue !== undefined ) { + returnValue = methodValue && methodValue.jquery ? + returnValue.pushStack( methodValue.get() ) : + methodValue; + return false; + } + }); + } else { + this.each(function() { + var instance = $.data( this, fullName ); + if ( instance ) { + instance.option( options || {} )._init(); + } else { + $.data( this, fullName, new object( options, this ) ); + } + }); + } + + return returnValue; + }; +}; + +$.Widget = function( /* options, element */ ) {}; +$.Widget._childConstructors = []; + +$.Widget.prototype = { + widgetName: "widget", + widgetEventPrefix: "", + defaultElement: "
    ", + options: { + disabled: false, + + // callbacks + create: null + }, + _createWidget: function( options, element ) { + element = $( element || this.defaultElement || this )[ 0 ]; + this.element = $( element ); + this.uuid = uuid++; + this.eventNamespace = "." + this.widgetName + this.uuid; + this.options = $.widget.extend( {}, + this.options, + this._getCreateOptions(), + options ); + + this.bindings = $(); + this.hoverable = $(); + this.focusable = $(); + + if ( element !== this ) { + $.data( element, this.widgetFullName, this ); + this._on( true, this.element, { + remove: function( event ) { + if ( event.target === element ) { + this.destroy(); + } + } + }); + this.document = $( element.style ? + // element within the document + element.ownerDocument : + // element is window or document + element.document || element ); + this.window = $( this.document[0].defaultView || this.document[0].parentWindow ); + } + + this._create(); + this._trigger( "create", null, this._getCreateEventData() ); + this._init(); + }, + _getCreateOptions: $.noop, + _getCreateEventData: $.noop, + _create: $.noop, + _init: $.noop, + + destroy: function() { + this._destroy(); + // we can probably remove the unbind calls in 2.0 + // all event bindings should go through this._on() + this.element + .unbind( this.eventNamespace ) + .removeData( this.widgetFullName ) + // support: jquery <1.6.3 + // http://bugs.jquery.com/ticket/9413 + .removeData( $.camelCase( this.widgetFullName ) ); + this.widget() + .unbind( this.eventNamespace ) + .removeAttr( "aria-disabled" ) + .removeClass( + this.widgetFullName + "-disabled " + + "ui-state-disabled" ); + + // clean up events and states + this.bindings.unbind( this.eventNamespace ); + this.hoverable.removeClass( "ui-state-hover" ); + this.focusable.removeClass( "ui-state-focus" ); + }, + _destroy: $.noop, + + widget: function() { + return this.element; + }, + + option: function( key, value ) { + var options = key, + parts, + curOption, + i; + + if ( arguments.length === 0 ) { + // don't return a reference to the internal hash + return $.widget.extend( {}, this.options ); + } + + if ( typeof key === "string" ) { + // handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } } + options = {}; + parts = key.split( "." ); + key = parts.shift(); + if ( parts.length ) { + curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] ); + for ( i = 0; i < parts.length - 1; i++ ) { + curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {}; + curOption = curOption[ parts[ i ] ]; + } + key = parts.pop(); + if ( value === undefined ) { + return curOption[ key ] === undefined ? null : curOption[ key ]; + } + curOption[ key ] = value; + } else { + if ( value === undefined ) { + return this.options[ key ] === undefined ? null : this.options[ key ]; + } + options[ key ] = value; + } + } + + this._setOptions( options ); + + return this; + }, + _setOptions: function( options ) { + var key; + + for ( key in options ) { + this._setOption( key, options[ key ] ); + } + + return this; + }, + _setOption: function( key, value ) { + this.options[ key ] = value; + + if ( key === "disabled" ) { + this.widget() + .toggleClass( this.widgetFullName + "-disabled", !!value ); + this.hoverable.removeClass( "ui-state-hover" ); + this.focusable.removeClass( "ui-state-focus" ); + } + + return this; + }, + + enable: function() { + return this._setOptions({ disabled: false }); + }, + disable: function() { + return this._setOptions({ disabled: true }); + }, + + _on: function( suppressDisabledCheck, element, handlers ) { + var delegateElement, + instance = this; + + // no suppressDisabledCheck flag, shuffle arguments + if ( typeof suppressDisabledCheck !== "boolean" ) { + handlers = element; + element = suppressDisabledCheck; + suppressDisabledCheck = false; + } + + // no element argument, shuffle and use this.element + if ( !handlers ) { + handlers = element; + element = this.element; + delegateElement = this.widget(); + } else { + // accept selectors, DOM elements + element = delegateElement = $( element ); + this.bindings = this.bindings.add( element ); + } + + $.each( handlers, function( event, handler ) { + function handlerProxy() { + // allow widgets to customize the disabled handling + // - disabled as an array instead of boolean + // - disabled class as method for disabling individual parts + if ( !suppressDisabledCheck && + ( instance.options.disabled === true || + $( this ).hasClass( "ui-state-disabled" ) ) ) { + return; + } + return ( typeof handler === "string" ? instance[ handler ] : handler ) + .apply( instance, arguments ); + } + + // copy the guid so direct unbinding works + if ( typeof handler !== "string" ) { + handlerProxy.guid = handler.guid = + handler.guid || handlerProxy.guid || $.guid++; + } + + var match = event.match( /^(\w+)\s*(.*)$/ ), + eventName = match[1] + instance.eventNamespace, + selector = match[2]; + if ( selector ) { + delegateElement.delegate( selector, eventName, handlerProxy ); + } else { + element.bind( eventName, handlerProxy ); + } + }); + }, + + _off: function( element, eventName ) { + eventName = (eventName || "").split( " " ).join( this.eventNamespace + " " ) + this.eventNamespace; + element.unbind( eventName ).undelegate( eventName ); + }, + + _delay: function( handler, delay ) { + function handlerProxy() { + return ( typeof handler === "string" ? instance[ handler ] : handler ) + .apply( instance, arguments ); + } + var instance = this; + return setTimeout( handlerProxy, delay || 0 ); + }, + + _hoverable: function( element ) { + this.hoverable = this.hoverable.add( element ); + this._on( element, { + mouseenter: function( event ) { + $( event.currentTarget ).addClass( "ui-state-hover" ); + }, + mouseleave: function( event ) { + $( event.currentTarget ).removeClass( "ui-state-hover" ); + } + }); + }, + + _focusable: function( element ) { + this.focusable = this.focusable.add( element ); + this._on( element, { + focusin: function( event ) { + $( event.currentTarget ).addClass( "ui-state-focus" ); + }, + focusout: function( event ) { + $( event.currentTarget ).removeClass( "ui-state-focus" ); + } + }); + }, + + _trigger: function( type, event, data ) { + var prop, orig, + callback = this.options[ type ]; + + data = data || {}; + event = $.Event( event ); + event.type = ( type === this.widgetEventPrefix ? + type : + this.widgetEventPrefix + type ).toLowerCase(); + // the original event may come from any element + // so we need to reset the target on the new event + event.target = this.element[ 0 ]; + + // copy original event properties over to the new event + orig = event.originalEvent; + if ( orig ) { + for ( prop in orig ) { + if ( !( prop in event ) ) { + event[ prop ] = orig[ prop ]; + } + } + } + + this.element.trigger( event, data ); + return !( $.isFunction( callback ) && + callback.apply( this.element[0], [ event ].concat( data ) ) === false || + event.isDefaultPrevented() ); + } +}; + +$.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) { + $.Widget.prototype[ "_" + method ] = function( element, options, callback ) { + if ( typeof options === "string" ) { + options = { effect: options }; + } + var hasOptions, + effectName = !options ? + method : + options === true || typeof options === "number" ? + defaultEffect : + options.effect || defaultEffect; + options = options || {}; + if ( typeof options === "number" ) { + options = { duration: options }; + } + hasOptions = !$.isEmptyObject( options ); + options.complete = callback; + if ( options.delay ) { + element.delay( options.delay ); + } + if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) { + element[ method ]( options ); + } else if ( effectName !== method && element[ effectName ] ) { + element[ effectName ]( options.duration, options.easing, callback ); + } else { + element.queue(function( next ) { + $( this )[ method ](); + if ( callback ) { + callback.call( element[ 0 ] ); + } + next(); + }); + } + }; +}); + +})( jQuery ); + +(function( $, undefined ) { + +var rcapitals = /[A-Z]/g, + replaceFunction = function( c ) { + return "-" + c.toLowerCase(); + }; + +$.extend( $.Widget.prototype, { + _getCreateOptions: function() { + var option, value, + elem = this.element[ 0 ], + options = {}; + + // + if ( !$.mobile.getAttribute( elem, "defaults" ) ) { + for ( option in this.options ) { + value = $.mobile.getAttribute( elem, option.replace( rcapitals, replaceFunction ) ); + + if ( value != null ) { + options[ option ] = value; + } + } + } + + return options; + } +}); + +//TODO: Remove in 1.5 for backcompat only +$.mobile.widget = $.Widget; + +})( jQuery ); + + +(function( $ ) { + // TODO move loader class down into the widget settings + var loaderClass = "ui-loader", $html = $( "html" ); + + $.widget( "mobile.loader", { + // NOTE if the global config settings are defined they will override these + // options + options: { + // the theme for the loading message + theme: "a", + + // whether the text in the loading message is shown + textVisible: false, + + // custom html for the inner content of the loading message + html: "", + + // the text to be displayed when the popup is shown + text: "loading" + }, + + defaultHtml: "
    " + + "" + + "

    " + + "
    ", + + // For non-fixed supportin browsers. Position at y center (if scrollTop supported), above the activeBtn (if defined), or just 100px from top + fakeFixLoader: function() { + var activeBtn = $( "." + $.mobile.activeBtnClass ).first(); + + this.element + .css({ + top: $.support.scrollTop && this.window.scrollTop() + this.window.height() / 2 || + activeBtn.length && activeBtn.offset().top || 100 + }); + }, + + // check position of loader to see if it appears to be "fixed" to center + // if not, use abs positioning + checkLoaderPosition: function() { + var offset = this.element.offset(), + scrollTop = this.window.scrollTop(), + screenHeight = $.mobile.getScreenHeight(); + + if ( offset.top < scrollTop || ( offset.top - scrollTop ) > screenHeight ) { + this.element.addClass( "ui-loader-fakefix" ); + this.fakeFixLoader(); + this.window + .unbind( "scroll", this.checkLoaderPosition ) + .bind( "scroll", $.proxy( this.fakeFixLoader, this ) ); + } + }, + + resetHtml: function() { + this.element.html( $( this.defaultHtml ).html() ); + }, + + // Turn on/off page loading message. Theme doubles as an object argument + // with the following shape: { theme: '', text: '', html: '', textVisible: '' } + // NOTE that the $.mobile.loading* settings and params past the first are deprecated + // TODO sweet jesus we need to break some of this out + show: function( theme, msgText, textonly ) { + var textVisible, message, loadSettings; + + this.resetHtml(); + + // use the prototype options so that people can set them globally at + // mobile init. Consistency, it's what's for dinner + if ( $.type( theme ) === "object" ) { + loadSettings = $.extend( {}, this.options, theme ); + + theme = loadSettings.theme; + } else { + loadSettings = this.options; + + // here we prefer the theme value passed as a string argument, then + // we prefer the global option because we can't use undefined default + // prototype options, then the prototype option + theme = theme || loadSettings.theme; + } + + // set the message text, prefer the param, then the settings object + // then loading message + message = msgText || ( loadSettings.text === false ? "" : loadSettings.text ); + + // prepare the dom + $html.addClass( "ui-loading" ); + + textVisible = loadSettings.textVisible; + + // add the proper css given the options (theme, text, etc) + // Force text visibility if the second argument was supplied, or + // if the text was explicitly set in the object args + this.element.attr("class", loaderClass + + " ui-corner-all ui-body-" + theme + + " ui-loader-" + ( textVisible || msgText || theme.text ? "verbose" : "default" ) + + ( loadSettings.textonly || textonly ? " ui-loader-textonly" : "" ) ); + + // TODO verify that jquery.fn.html is ok to use in both cases here + // this might be overly defensive in preventing unknowing xss + // if the html attribute is defined on the loading settings, use that + // otherwise use the fallbacks from above + if ( loadSettings.html ) { + this.element.html( loadSettings.html ); + } else { + this.element.find( "h1" ).text( message ); + } + + // attach the loader to the DOM + this.element.appendTo( $.mobile.pageContainer ); + + // check that the loader is visible + this.checkLoaderPosition(); + + // on scroll check the loader position + this.window.bind( "scroll", $.proxy( this.checkLoaderPosition, this ) ); + }, + + hide: function() { + $html.removeClass( "ui-loading" ); + + if ( this.options.text ) { + this.element.removeClass( "ui-loader-fakefix" ); + } + + $.mobile.window.unbind( "scroll", this.fakeFixLoader ); + $.mobile.window.unbind( "scroll", this.checkLoaderPosition ); + } + }); + +})(jQuery, this); + + +/*! + * jQuery hashchange event - v1.3 - 7/21/2010 + * http://benalman.com/projects/jquery-hashchange-plugin/ + * + * Copyright (c) 2010 "Cowboy" Ben Alman + * Dual licensed under the MIT and GPL licenses. + * http://benalman.com/about/license/ + */ + +// Script: jQuery hashchange event +// +// *Version: 1.3, Last updated: 7/21/2010* +// +// Project Home - http://benalman.com/projects/jquery-hashchange-plugin/ +// GitHub - http://github.com/cowboy/jquery-hashchange/ +// Source - http://github.com/cowboy/jquery-hashchange/raw/master/jquery.ba-hashchange.js +// (Minified) - http://github.com/cowboy/jquery-hashchange/raw/master/jquery.ba-hashchange.min.js (0.8kb gzipped) +// +// About: License +// +// Copyright (c) 2010 "Cowboy" Ben Alman, +// Dual licensed under the MIT and GPL licenses. +// http://benalman.com/about/license/ +// +// About: Examples +// +// These working examples, complete with fully commented code, illustrate a few +// ways in which this plugin can be used. +// +// hashchange event - http://benalman.com/code/projects/jquery-hashchange/examples/hashchange/ +// document.domain - http://benalman.com/code/projects/jquery-hashchange/examples/document_domain/ +// +// About: Support and Testing +// +// Information about what version or versions of jQuery this plugin has been +// tested with, what browsers it has been tested in, and where the unit tests +// reside (so you can test it yourself). +// +// jQuery Versions - 1.2.6, 1.3.2, 1.4.1, 1.4.2 +// Browsers Tested - Internet Explorer 6-8, Firefox 2-4, Chrome 5-6, Safari 3.2-5, +// Opera 9.6-10.60, iPhone 3.1, Android 1.6-2.2, BlackBerry 4.6-5. +// Unit Tests - http://benalman.com/code/projects/jquery-hashchange/unit/ +// +// About: Known issues +// +// While this jQuery hashchange event implementation is quite stable and +// robust, there are a few unfortunate browser bugs surrounding expected +// hashchange event-based behaviors, independent of any JavaScript +// window.onhashchange abstraction. See the following examples for more +// information: +// +// Chrome: Back Button - http://benalman.com/code/projects/jquery-hashchange/examples/bug-chrome-back-button/ +// Firefox: Remote XMLHttpRequest - http://benalman.com/code/projects/jquery-hashchange/examples/bug-firefox-remote-xhr/ +// WebKit: Back Button in an Iframe - http://benalman.com/code/projects/jquery-hashchange/examples/bug-webkit-hash-iframe/ +// Safari: Back Button from a different domain - http://benalman.com/code/projects/jquery-hashchange/examples/bug-safari-back-from-diff-domain/ +// +// Also note that should a browser natively support the window.onhashchange +// event, but not report that it does, the fallback polling loop will be used. +// +// About: Release History +// +// 1.3 - (7/21/2010) Reorganized IE6/7 Iframe code to make it more +// "removable" for mobile-only development. Added IE6/7 document.title +// support. Attempted to make Iframe as hidden as possible by using +// techniques from http://www.paciellogroup.com/blog/?p=604. Added +// support for the "shortcut" format $(window).hashchange( fn ) and +// $(window).hashchange() like jQuery provides for built-in events. +// Renamed jQuery.hashchangeDelay to and +// lowered its default value to 50. Added +// and properties plus document-domain.html +// file to address access denied issues when setting document.domain in +// IE6/7. +// 1.2 - (2/11/2010) Fixed a bug where coming back to a page using this plugin +// from a page on another domain would cause an error in Safari 4. Also, +// IE6/7 Iframe is now inserted after the body (this actually works), +// which prevents the page from scrolling when the event is first bound. +// Event can also now be bound before DOM ready, but it won't be usable +// before then in IE6/7. +// 1.1 - (1/21/2010) Incorporated document.documentMode test to fix IE8 bug +// where browser version is incorrectly reported as 8.0, despite +// inclusion of the X-UA-Compatible IE=EmulateIE7 meta tag. +// 1.0 - (1/9/2010) Initial Release. Broke out the jQuery BBQ event.special +// window.onhashchange functionality into a separate plugin for users +// who want just the basic event & back button support, without all the +// extra awesomeness that BBQ provides. This plugin will be included as +// part of jQuery BBQ, but also be available separately. + +(function($,window,undefined){ + '$:nomunge'; // Used by YUI compressor. + + // Reused string. + var str_hashchange = 'hashchange', + + // Method / object references. + doc = document, + fake_onhashchange, + special = $.event.special, + + // Does the browser support window.onhashchange? Note that IE8 running in + // IE7 compatibility mode reports true for 'onhashchange' in window, even + // though the event isn't supported, so also test document.documentMode. + doc_mode = doc.documentMode, + supports_onhashchange = 'on' + str_hashchange in window && ( doc_mode === undefined || doc_mode > 7 ); + + // Get location.hash (or what you'd expect location.hash to be) sans any + // leading #. Thanks for making this necessary, Firefox! + function get_fragment( url ) { + url = url || location.href; + return '#' + url.replace( /^[^#]*#?(.*)$/, '$1' ); + }; + + // Method: jQuery.fn.hashchange + // + // Bind a handler to the window.onhashchange event or trigger all bound + // window.onhashchange event handlers. This behavior is consistent with + // jQuery's built-in event handlers. + // + // Usage: + // + // > jQuery(window).hashchange( [ handler ] ); + // + // Arguments: + // + // handler - (Function) Optional handler to be bound to the hashchange + // event. This is a "shortcut" for the more verbose form: + // jQuery(window).bind( 'hashchange', handler ). If handler is omitted, + // all bound window.onhashchange event handlers will be triggered. This + // is a shortcut for the more verbose + // jQuery(window).trigger( 'hashchange' ). These forms are described in + // the section. + // + // Returns: + // + // (jQuery) The initial jQuery collection of elements. + + // Allow the "shortcut" format $(elem).hashchange( fn ) for binding and + // $(elem).hashchange() for triggering, like jQuery does for built-in events. + $.fn[ str_hashchange ] = function( fn ) { + return fn ? this.bind( str_hashchange, fn ) : this.trigger( str_hashchange ); + }; + + // Property: jQuery.fn.hashchange.delay + // + // The numeric interval (in milliseconds) at which the + // polling loop executes. Defaults to 50. + + // Property: jQuery.fn.hashchange.domain + // + // If you're setting document.domain in your JavaScript, and you want hash + // history to work in IE6/7, not only must this property be set, but you must + // also set document.domain BEFORE jQuery is loaded into the page. This + // property is only applicable if you are supporting IE6/7 (or IE8 operating + // in "IE7 compatibility" mode). + // + // In addition, the property must be set to the + // path of the included "document-domain.html" file, which can be renamed or + // modified if necessary (note that the document.domain specified must be the + // same in both your main JavaScript as well as in this file). + // + // Usage: + // + // jQuery.fn.hashchange.domain = document.domain; + + // Property: jQuery.fn.hashchange.src + // + // If, for some reason, you need to specify an Iframe src file (for example, + // when setting document.domain as in ), you can + // do so using this property. Note that when using this property, history + // won't be recorded in IE6/7 until the Iframe src file loads. This property + // is only applicable if you are supporting IE6/7 (or IE8 operating in "IE7 + // compatibility" mode). + // + // Usage: + // + // jQuery.fn.hashchange.src = 'path/to/file.html'; + + $.fn[ str_hashchange ].delay = 50; + /* + $.fn[ str_hashchange ].domain = null; + $.fn[ str_hashchange ].src = null; + */ + + // Event: hashchange event + // + // Fired when location.hash changes. In browsers that support it, the native + // HTML5 window.onhashchange event is used, otherwise a polling loop is + // initialized, running every milliseconds to + // see if the hash has changed. In IE6/7 (and IE8 operating in "IE7 + // compatibility" mode), a hidden Iframe is created to allow the back button + // and hash-based history to work. + // + // Usage as described in : + // + // > // Bind an event handler. + // > jQuery(window).hashchange( function(e) { + // > var hash = location.hash; + // > ... + // > }); + // > + // > // Manually trigger the event handler. + // > jQuery(window).hashchange(); + // + // A more verbose usage that allows for event namespacing: + // + // > // Bind an event handler. + // > jQuery(window).bind( 'hashchange', function(e) { + // > var hash = location.hash; + // > ... + // > }); + // > + // > // Manually trigger the event handler. + // > jQuery(window).trigger( 'hashchange' ); + // + // Additional Notes: + // + // * The polling loop and Iframe are not created until at least one handler + // is actually bound to the 'hashchange' event. + // * If you need the bound handler(s) to execute immediately, in cases where + // a location.hash exists on page load, via bookmark or page refresh for + // example, use jQuery(window).hashchange() or the more verbose + // jQuery(window).trigger( 'hashchange' ). + // * The event can be bound before DOM ready, but since it won't be usable + // before then in IE6/7 (due to the necessary Iframe), recommended usage is + // to bind it inside a DOM ready handler. + + // Override existing $.event.special.hashchange methods (allowing this plugin + // to be defined after jQuery BBQ in BBQ's source code). + special[ str_hashchange ] = $.extend( special[ str_hashchange ], { + + // Called only when the first 'hashchange' event is bound to window. + setup: function() { + // If window.onhashchange is supported natively, there's nothing to do.. + if ( supports_onhashchange ) { return false; } + + // Otherwise, we need to create our own. And we don't want to call this + // until the user binds to the event, just in case they never do, since it + // will create a polling loop and possibly even a hidden Iframe. + $( fake_onhashchange.start ); + }, + + // Called only when the last 'hashchange' event is unbound from window. + teardown: function() { + // If window.onhashchange is supported natively, there's nothing to do.. + if ( supports_onhashchange ) { return false; } + + // Otherwise, we need to stop ours (if possible). + $( fake_onhashchange.stop ); + } + + }); + + // fake_onhashchange does all the work of triggering the window.onhashchange + // event for browsers that don't natively support it, including creating a + // polling loop to watch for hash changes and in IE 6/7 creating a hidden + // Iframe to enable back and forward. + fake_onhashchange = (function(){ + var self = {}, + timeout_id, + + // Remember the initial hash so it doesn't get triggered immediately. + last_hash = get_fragment(), + + fn_retval = function(val){ return val; }, + history_set = fn_retval, + history_get = fn_retval; + + // Start the polling loop. + self.start = function() { + timeout_id || poll(); + }; + + // Stop the polling loop. + self.stop = function() { + timeout_id && clearTimeout( timeout_id ); + timeout_id = undefined; + }; + + // This polling loop checks every $.fn.hashchange.delay milliseconds to see + // if location.hash has changed, and triggers the 'hashchange' event on + // window when necessary. + function poll() { + var hash = get_fragment(), + history_hash = history_get( last_hash ); + + if ( hash !== last_hash ) { + history_set( last_hash = hash, history_hash ); + + $(window).trigger( str_hashchange ); + + } else if ( history_hash !== last_hash ) { + location.href = location.href.replace( /#.*/, '' ) + history_hash; + } + + timeout_id = setTimeout( poll, $.fn[ str_hashchange ].delay ); + }; + + // vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv + // vvvvvvvvvvvvvvvvvvv REMOVE IF NOT SUPPORTING IE6/7/8 vvvvvvvvvvvvvvvvvvv + // vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv + window.attachEvent && !window.addEventListener && !supports_onhashchange && (function(){ + // Not only do IE6/7 need the "magical" Iframe treatment, but so does IE8 + // when running in "IE7 compatibility" mode. + + var iframe, + iframe_src; + + // When the event is bound and polling starts in IE 6/7, create a hidden + // Iframe for history handling. + self.start = function(){ + if ( !iframe ) { + iframe_src = $.fn[ str_hashchange ].src; + iframe_src = iframe_src && iframe_src + get_fragment(); + + // Create hidden Iframe. Attempt to make Iframe as hidden as possible + // by using techniques from http://www.paciellogroup.com/blog/?p=604. + iframe = $('