├── .gitignore ├── LICENSE ├── README.md ├── gulpfile.js ├── package.json └── src ├── app.config.js ├── app.core.js ├── app.js ├── app.routes.js ├── app.services.js ├── assets ├── css │ ├── animations.css │ ├── font-icons.css │ └── style.css ├── fonts │ ├── icomoon.eot │ ├── icomoon.svg │ ├── icomoon.ttf │ └── icomoon.woff ├── images │ ├── angular.png │ ├── brickwall.png │ ├── fallback-thin.jpg │ ├── fallback.jpg │ ├── loading.jpg │ ├── mochaGrunge.png │ ├── shattered.png │ └── sos.png └── js │ ├── angular-animate.min.js │ ├── angular-cookies.min.js │ ├── angular-moment.min.js │ ├── angular-preload-image.min.js │ ├── angular-resource.min.js │ ├── angular-route.min.js │ ├── angular-touch.min.js │ ├── angular-truncate.js │ ├── angular.min.js │ └── moment.min.js ├── components ├── bar │ └── bar.ctrl.js └── show │ ├── show.css │ ├── show.drct.js │ └── show.tpl.html ├── directives └── ngEnter.drct.js ├── index.html ├── sections ├── home │ ├── home.css │ ├── home.ctrl.js │ └── home.tpl.html ├── popular │ ├── popular.ctrl.js │ └── popular.tpl.html ├── premieres │ ├── premieres.css │ ├── premieres.ctrl.js │ └── premieres.tpl.html ├── search │ ├── search.css │ ├── search.ctrl.js │ └── search.tpl.html └── view │ ├── view.css │ ├── view.ctrl.js │ └── view.tpl.html └── services ├── page.val.js └── show.fct.js /.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | .idea 3 | node_modules -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT LICENSE 2 | 3 | Copyright (c) 2012-2013 Lea Verou 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | AngularJS by Example 2 | === 3 | 4 | An application to demonstrate various real world AngularJS best practices and to compliment a tutorial series written on [revillweb.com](http://www.revillweb.com/). 5 | 6 | Contributing 7 | === 8 | 9 | If you think that a particular part of this application can be written better or you think this app is missing an important AngularJS concept then please submit a pull request, your help is very welcome. 10 | 11 | To do 12 | === 13 | 14 | * Add a contact page to the application to demonstrate form implementation and validation in AngularJS 15 | * Add tests for the majority of the application and accompanying tutorials 16 | 17 | Licence 18 | === 19 | 20 | The application and code are licenced under MIT. 21 | -------------------------------------------------------------------------------- /gulpfile.js: -------------------------------------------------------------------------------- 1 | var gulp = require('gulp'); 2 | var concat = require('gulp-concat'); 3 | var connect = require('gulp-connect'); 4 | var uglify = require('gulp-uglify'); 5 | var ngAnnotate = require('gulp-ng-annotate'); 6 | var usemin = require('gulp-usemin'); 7 | var rev = require('gulp-rev'); 8 | var revOutdated = require('gulp-rev-outdated'); 9 | var minifyCss = require('gulp-minify-css'); 10 | var ngHtml2Js = require("gulp-ng-html2js"); 11 | var inject = require("gulp-inject"); 12 | var clean = require('gulp-clean'); 13 | var replace = require('gulp-replace'); 14 | var gulpAngularExtender = require('gulp-angular-extender'); 15 | 16 | //Convert all HTML tpl files to Angular template module 17 | gulp.task('create-templates', function() { 18 | return gulp.src('./**/*.tpl.html') 19 | .pipe(ngHtml2Js({ 20 | moduleName: "app.templates", 21 | rename: function(url) { 22 | return url.replace('src/', ''); 23 | } 24 | })) 25 | .pipe(concat("app.templates.js")) 26 | .pipe(gulp.dest("src/")); 27 | }); 28 | 29 | //Inject the templates file into ./src/index.html to be picked up by usemin 30 | gulp.task('inject-templates', ['create-templates'], function() { 31 | return gulp.src('./src/index.html') 32 | .pipe(inject(gulp.src('./src/app.templates.js', {read: false}), {ignorePath: 'src', addRootSlash: false})) 33 | .pipe(gulp.dest('src/')); 34 | }); 35 | 36 | //Minify, concatenate and version CSS and JS 37 | //Use ngAnnotate to take care of Angular inject issues 38 | gulp.task('usemin', ['inject-templates'], function() { 39 | return gulp.src('./src/index.html') 40 | .pipe(usemin({ 41 | css: [minifyCss(), 'concat', rev()], 42 | js: [ngAnnotate(), uglify(), rev()], 43 | assets: [rev()] 44 | })) 45 | .pipe(gulp.dest('build/')); 46 | }); 47 | 48 | //Add Angular module dependency for templates 49 | gulp.task('add-dependencies', ['usemin'], function () { 50 | gulp.src('build/app.min-*.js') 51 | .pipe(gulpAngularExtender({ 52 | "app": [ 53 | "app.templates" 54 | ] 55 | })) 56 | .pipe(gulp.dest('build/')); 57 | }); 58 | 59 | //Copy the asset files from src to build 60 | gulp.task('copy-asset-files', function() { 61 | gulp.src(['./src/assets/fonts/*']).pipe(gulp.dest('build/assets/fonts/')); 62 | gulp.src(['./src/assets/images/*']).pipe(gulp.dest('build/assets/images/')); 63 | }); 64 | 65 | //Delete the temporary templates module file and remove the include from ./src/index.html 66 | gulp.task('clean', ['usemin'], function () { 67 | gulp.src('./src/app.templates.js', {read: false}) 68 | .pipe(clean()); 69 | gulp.src('./src/index.html') 70 | .pipe(replace(/(\s*)(\n*)(.*)(\n*)(\s*)()/g, '$1$6')) 71 | .pipe(gulp.dest('src/')); 72 | gulp.src(['build/*.*'], {read: false}) 73 | .pipe(revOutdated(1)) // leave 1 latest asset file for every file name prefix. 74 | .pipe(clean()); 75 | }); 76 | 77 | //Start a web server on port 8282 to server the src app 78 | gulp.task('connect-dev', function() { 79 | connect.server({ 80 | root: 'src/', 81 | port: 8282 82 | }); 83 | }); 84 | 85 | //Start a web server on port 8283 to server the build app (You probably wouldn't use this server for production delivery) 86 | gulp.task('connect-prod', function() { 87 | connect.server({ 88 | root: 'build/', 89 | port: 8283 90 | }); 91 | }); 92 | 93 | gulp.task('watch', ['usemin'], function () { 94 | gulp.watch('src/**/*.js', ['usemin']) 95 | }); 96 | 97 | //Build task which should be used to build the application to production (By a continuous integration server for example) 98 | gulp.task('build', ['create-templates', 'inject-templates', 'usemin', 'add-dependencies', 'copy-asset-files', 'clean', 'connect-prod']); 99 | 100 | //Default task which simply servers the source files 101 | gulp.task('default', ['connect-dev']); -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angularjs-by-example", 3 | "version": "1.0.0", 4 | "description": "An example application to demonstrate a wide range of AngularJS best practices", 5 | "main": "index.html", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "git://github.com/RevillWeb/angularjs-by-example.git" 12 | }, 13 | "keywords": [ 14 | "angularjs", 15 | "example", 16 | "angularjs", 17 | "tutorial", 18 | "angularjs" 19 | ], 20 | "author": "Leon Revill", 21 | "license": "BSD-2-Clause", 22 | "bugs": { 23 | "url": "https://github.com/RevillWeb/angularjs-by-example/issues" 24 | }, 25 | "devDependencies": { 26 | "gulp": "~3.8.8", 27 | "gulp-concat": "~2.4.1", 28 | "gulp-connect": "~2.0.6", 29 | "gulp-uglify": "~1.0.1", 30 | "gulp-ng-annotate": "~0.3.3", 31 | "gulp-usemin": "~0.3.8", 32 | "gulp-rev": "~1.1.0", 33 | "gulp-rev-outdated": "0.0.6", 34 | "gulp-minify-css": "~0.3.10", 35 | "gulp-ng-html2js": "~0.1.8", 36 | "gulp-inject": "~1.0.2", 37 | "gulp-clean": "~0.3.1", 38 | "gulp-replace": "~0.4.0", 39 | "gulp-angular-extender": "~0.1.0" 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/app.config.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | angular 3 | .module('app.config', []) 4 | .config(configs) 5 | .run(runs); 6 | 7 | function configs($httpProvider) { 8 | var interceptor = function($location, $log, $q) { 9 | function error(response) { 10 | if (response.status === 401) { 11 | $log.error('You are unauthorised to access the requested resource (401)'); 12 | } else if (response.status === 404) { 13 | $log.error('The requested resource could not be found (404)'); 14 | } else if (response.status === 500) { 15 | $log.error('Internal server error (500)'); 16 | } 17 | return $q.reject(response); 18 | } 19 | function success(response) { 20 | //Request completed successfully 21 | return response; 22 | } 23 | return function(promise) { 24 | return promise.then(success, error); 25 | } 26 | }; 27 | $httpProvider.interceptors.push(interceptor); 28 | } 29 | 30 | function runs($rootScope, PageValues) { 31 | $rootScope.$on('$routeChangeStart', function() { 32 | PageValues.loading = true; 33 | }); 34 | $rootScope.$on('$routeChangeSuccess', function() { 35 | PageValues.loading = false; 36 | }); 37 | } 38 | -------------------------------------------------------------------------------- /src/app.core.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | angular.module('app.core', []); 3 | 4 | -------------------------------------------------------------------------------- /src/app.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | angular.module('app', ['ngRoute', 'ngAnimate', 'angularMoment', 'angular-preload-image', 'truncate', 'app.routes', 'app.core', 'app.services', 'app.config']); 3 | 4 | -------------------------------------------------------------------------------- /src/app.routes.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | angular 4 | .module('app.routes', ['ngRoute']) 5 | .config(config); 6 | 7 | function config ($routeProvider) { 8 | $routeProvider. 9 | when('/', { 10 | templateUrl: 'sections/home/home.tpl.html', 11 | controller: 'HomeController as home' 12 | }) 13 | .when('/premieres', { 14 | templateUrl: 'sections/premieres/premieres.tpl.html', 15 | controller: 'PremieresController as premieres', 16 | resolve: { 17 | shows: function(ShowService) { 18 | return ShowService.getPremieres(); 19 | } 20 | } 21 | }) 22 | .when('/search', { 23 | templateUrl: 'sections/search/search.tpl.html', 24 | controller: 'SearchController as search' 25 | }) 26 | .when('/search/:query', { 27 | templateUrl: 'sections/search/search.tpl.html', 28 | controller: 'SearchController as search' 29 | }) 30 | .when('/popular', { 31 | templateUrl: 'sections/popular/popular.tpl.html', 32 | controller: 'PopularController as popular', 33 | resolve: { 34 | shows: function(ShowService) { 35 | return ShowService.getPopular(); 36 | } 37 | } 38 | }) 39 | .when('/view/:id', { 40 | templateUrl: 'sections/view/view.tpl.html', 41 | controller: 'ViewController as view', 42 | resolve: { 43 | show: function(ShowService, $route) { 44 | return ShowService.get($route.current.params.id); 45 | } 46 | } 47 | }) 48 | .otherwise({ 49 | redirectTo: '/' 50 | }); 51 | } -------------------------------------------------------------------------------- /src/app.services.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | angular.module('app.services', []); 3 | 4 | -------------------------------------------------------------------------------- /src/assets/css/animations.css: -------------------------------------------------------------------------------- 1 | /* 2 | The animate class is apart of the element and the ng-enter class 3 | is attached to the element once the enter animation event is triggered 4 | */ 5 | .reveal-animation.ng-enter { 6 | -webkit-transition: 500ms linear all; /* Safari/Chrome */ 7 | transition: 500ms linear all; /* All other modern browsers and IE10+ */ 8 | 9 | /* The animation preparation code */ 10 | opacity: 0; 11 | } 12 | 13 | /* 14 | Keep in mind that you want to combine both CSS 15 | classes together to avoid any CSS-specificity 16 | conflicts 17 | */ 18 | .reveal-animation.ng-enter.ng-enter-active { 19 | /* The animation code itself */ 20 | opacity: 1; 21 | } 22 | 23 | .animate-show { 24 | -webkit-transition: 500ms linear all; /* Safari/Chrome */ 25 | transition: 500ms linear all; /* All other modern browsers and IE10+ */ 26 | opacity: 1; 27 | } 28 | .animate-show.ng-hide-add, 29 | .animate-show.ng-hide-remove { 30 | display:block !important; 31 | } 32 | .animate-show.ng-hide { 33 | opacity: 0; 34 | } 35 | 36 | .repeat-animation.ng-enter, 37 | .repeat-animation.ng-leave, 38 | .repeat-animation.ng-move { 39 | -webkit-transition: 0.5s linear all; 40 | transition: 0.5s linear all; 41 | position: relative; 42 | } 43 | 44 | .repeat-animation.ng-enter { 45 | right: -50px; 46 | opacity: 0; 47 | } 48 | .repeat-animation.ng-enter.ng-enter-active { 49 | left: 0; 50 | opacity: 1; 51 | } 52 | 53 | .repeat-animation.ng-leave { 54 | left: 0; 55 | opacity: 1; 56 | } 57 | .repeat-animation.ng-leave.ng-leave-active { 58 | right: -50px; 59 | opacity:0; 60 | } 61 | 62 | .repeat-animation.ng-move { 63 | opacity: 0.5; 64 | } 65 | .repeat-animation.ng-move.ng-move-active { 66 | opacity: 1; 67 | } 68 | 69 | .throbber { 70 | position:relative; 71 | } 72 | .throbber:before { 73 | background: rgba(255, 255, 255, 0.8); 74 | position: absolute; 75 | top: 0; 76 | left: 0; 77 | right: 0; 78 | bottom: 0; 79 | content: ''; 80 | } 81 | .throbber:after { 82 | position: absolute; 83 | width: 50px; 84 | height: 50px; 85 | top: 50%; 86 | left: 50%; 87 | margin-top: -25px; 88 | margin-left: -25px; 89 | content:''; 90 | border: 2px solid transparent; 91 | border-top-color: #3bb9bb; 92 | border-bottom-color: #3bb9bb; 93 | border-radius: 50px; 94 | -webkit-animation: throbber 1s infinite; 95 | animation: throbber 1s infinite; 96 | } 97 | @-webkit-keyframes throbber { 98 | from { -webkit-transform: rotate(0deg); } 99 | to { -webkit-transform: rotate(360deg); } 100 | } 101 | @keyframes throbber { 102 | from { transform: rotate(0deg); } 103 | to { transform: rotate(360deg); } 104 | } 105 | 106 | .animate-repeat { 107 | line-height:40px; 108 | list-style:none; 109 | box-sizing:border-box; 110 | } 111 | 112 | .animate-repeat.ng-move, 113 | .animate-repeat.ng-enter, 114 | .animate-repeat.ng-leave { 115 | -webkit-transition:all linear 0.5s; 116 | transition:all linear 0.5s; 117 | } 118 | 119 | .animate-repeat.ng-leave.ng-leave-active, 120 | .animate-repeat.ng-move, 121 | .animate-repeat.ng-enter { 122 | opacity: 0; 123 | } 124 | 125 | .animate-repeat.ng-leave, 126 | .animate-repeat.ng-move.ng-move-active, 127 | .animate-repeat.ng-enter.ng-enter-active { 128 | opacity: 1; 129 | } -------------------------------------------------------------------------------- /src/assets/css/font-icons.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'icomoon'; 3 | src:url('lib/fonts/icomoon.eot'); 4 | src:url('../fonts/icomoon.eot?#iefix') format('embedded-opentype'), 5 | url('../fonts/icomoon.ttf') format('truetype'), 6 | url('../fonts/icomoon.woff') format('woff'), 7 | url('../fonts/icomoon.svg#icomoon') format('svg'); 8 | font-weight: normal; 9 | font-style: normal; 10 | } 11 | 12 | [class^="icon-"], [class*=" icon-"] { 13 | font-family: 'icomoon'; 14 | speak: none; 15 | font-style: normal; 16 | font-weight: normal; 17 | font-variant: normal; 18 | text-transform: none; 19 | line-height: 1; 20 | 21 | /* Better Font Rendering =========== */ 22 | -webkit-font-smoothing: antialiased; 23 | -moz-osx-font-smoothing: grayscale; 24 | } 25 | 26 | .icon-menu:before { 27 | content: "\e600"; 28 | } 29 | .icon-home:before { 30 | content: "\e000"; 31 | } 32 | .icon-home2:before { 33 | content: "\e001"; 34 | } 35 | .icon-home3:before { 36 | content: "\e002"; 37 | } 38 | .icon-home4:before { 39 | content: "\e003"; 40 | } 41 | .icon-home5:before { 42 | content: "\e004"; 43 | } 44 | .icon-home6:before { 45 | content: "\e005"; 46 | } 47 | .icon-home7:before { 48 | content: "\e006"; 49 | } 50 | .icon-home8:before { 51 | content: "\e007"; 52 | } 53 | .icon-home9:before { 54 | content: "\e008"; 55 | } 56 | .icon-home10:before { 57 | content: "\e009"; 58 | } 59 | .icon-home11:before { 60 | content: "\e00a"; 61 | } 62 | .icon-office:before { 63 | content: "\e00b"; 64 | } 65 | .icon-newspaper:before { 66 | content: "\e00c"; 67 | } 68 | .icon-pencil:before { 69 | content: "\e00d"; 70 | } 71 | .icon-pencil2:before { 72 | content: "\e00e"; 73 | } 74 | .icon-pencil3:before { 75 | content: "\e00f"; 76 | } 77 | .icon-pencil4:before { 78 | content: "\e010"; 79 | } 80 | .icon-pencil5:before { 81 | content: "\e011"; 82 | } 83 | .icon-pencil6:before { 84 | content: "\e012"; 85 | } 86 | .icon-quill:before { 87 | content: "\e013"; 88 | } 89 | .icon-quill2:before { 90 | content: "\e014"; 91 | } 92 | .icon-quill3:before { 93 | content: "\e015"; 94 | } 95 | .icon-pen:before { 96 | content: "\e016"; 97 | } 98 | .icon-pen2:before { 99 | content: "\e017"; 100 | } 101 | .icon-pen3:before { 102 | content: "\e018"; 103 | } 104 | .icon-pen4:before { 105 | content: "\e019"; 106 | } 107 | .icon-pen5:before { 108 | content: "\e01a"; 109 | } 110 | .icon-marker:before { 111 | content: "\e01b"; 112 | } 113 | .icon-home12:before { 114 | content: "\e01c"; 115 | } 116 | .icon-marker2:before { 117 | content: "\e01d"; 118 | } 119 | .icon-blog:before { 120 | content: "\e01e"; 121 | } 122 | .icon-blog2:before { 123 | content: "\e01f"; 124 | } 125 | .icon-brush:before { 126 | content: "\e020"; 127 | } 128 | .icon-palette:before { 129 | content: "\e021"; 130 | } 131 | .icon-palette2:before { 132 | content: "\e022"; 133 | } 134 | .icon-eyedropper:before { 135 | content: "\e023"; 136 | } 137 | .icon-eyedropper2:before { 138 | content: "\e024"; 139 | } 140 | .icon-droplet:before { 141 | content: "\e025"; 142 | } 143 | .icon-droplet2:before { 144 | content: "\e026"; 145 | } 146 | .icon-droplet3:before { 147 | content: "\e027"; 148 | } 149 | .icon-droplet4:before { 150 | content: "\e028"; 151 | } 152 | .icon-paint-format:before { 153 | content: "\e029"; 154 | } 155 | .icon-paint-format2:before { 156 | content: "\e02a"; 157 | } 158 | .icon-image:before { 159 | content: "\e02b"; 160 | } 161 | .icon-image2:before { 162 | content: "\e02c"; 163 | } 164 | .icon-image3:before { 165 | content: "\e02d"; 166 | } 167 | .icon-images:before { 168 | content: "\e02e"; 169 | } 170 | .icon-image4:before { 171 | content: "\e02f"; 172 | } 173 | .icon-image5:before { 174 | content: "\e030"; 175 | } 176 | .icon-image6:before { 177 | content: "\e031"; 178 | } 179 | .icon-images2:before { 180 | content: "\e032"; 181 | } 182 | .icon-image7:before { 183 | content: "\e033"; 184 | } 185 | .icon-camera:before { 186 | content: "\e034"; 187 | } 188 | .icon-camera2:before { 189 | content: "\e035"; 190 | } 191 | .icon-camera3:before { 192 | content: "\e036"; 193 | } 194 | .icon-camera4:before { 195 | content: "\e037"; 196 | } 197 | .icon-music:before { 198 | content: "\e038"; 199 | } 200 | .icon-music2:before { 201 | content: "\e039"; 202 | } 203 | .icon-music3:before { 204 | content: "\e03a"; 205 | } 206 | .icon-music4:before { 207 | content: "\e03b"; 208 | } 209 | .icon-music5:before { 210 | content: "\e03c"; 211 | } 212 | .icon-music6:before { 213 | content: "\e03d"; 214 | } 215 | .icon-piano:before { 216 | content: "\e03e"; 217 | } 218 | .icon-guitar:before { 219 | content: "\e03f"; 220 | } 221 | .icon-headphones:before { 222 | content: "\e040"; 223 | } 224 | .icon-headphones2:before { 225 | content: "\e041"; 226 | } 227 | .icon-play:before { 228 | content: "\e042"; 229 | } 230 | .icon-play2:before { 231 | content: "\e043"; 232 | } 233 | .icon-movie:before { 234 | content: "\e044"; 235 | } 236 | .icon-movie2:before { 237 | content: "\e045"; 238 | } 239 | .icon-movie3:before { 240 | content: "\e046"; 241 | } 242 | .icon-film:before { 243 | content: "\e047"; 244 | } 245 | .icon-film2:before { 246 | content: "\e048"; 247 | } 248 | .icon-film3:before { 249 | content: "\e049"; 250 | } 251 | .icon-film4:before { 252 | content: "\e04a"; 253 | } 254 | .icon-camera5:before { 255 | content: "\e04b"; 256 | } 257 | .icon-camera6:before { 258 | content: "\e04c"; 259 | } 260 | .icon-camera7:before { 261 | content: "\e04d"; 262 | } 263 | .icon-camera8:before { 264 | content: "\e04e"; 265 | } 266 | .icon-camera9:before { 267 | content: "\e04f"; 268 | } 269 | .icon-dice:before { 270 | content: "\e050"; 271 | } 272 | .icon-gamepad:before { 273 | content: "\e051"; 274 | } 275 | .icon-gamepad2:before { 276 | content: "\e052"; 277 | } 278 | .icon-gamepad3:before { 279 | content: "\e053"; 280 | } 281 | .icon-pacman:before { 282 | content: "\e054"; 283 | } 284 | .icon-spades:before { 285 | content: "\e055"; 286 | } 287 | .icon-clubs:before { 288 | content: "\e056"; 289 | } 290 | .icon-diamonds:before { 291 | content: "\e057"; 292 | } 293 | .icon-king:before { 294 | content: "\e058"; 295 | } 296 | .icon-queen:before { 297 | content: "\e059"; 298 | } 299 | .icon-rock:before { 300 | content: "\e05a"; 301 | } 302 | .icon-bishop:before { 303 | content: "\e05b"; 304 | } 305 | .icon-knight:before { 306 | content: "\e05c"; 307 | } 308 | .icon-pawn:before { 309 | content: "\e05d"; 310 | } 311 | .icon-chess:before { 312 | content: "\e05e"; 313 | } 314 | .icon-bullhorn:before { 315 | content: "\e05f"; 316 | } 317 | .icon-megaphone:before { 318 | content: "\e060"; 319 | } 320 | .icon-new:before { 321 | content: "\e061"; 322 | } 323 | .icon-connection:before { 324 | content: "\e062"; 325 | } 326 | .icon-connection2:before { 327 | content: "\e063"; 328 | } 329 | .icon-podcast:before { 330 | content: "\e064"; 331 | } 332 | .icon-radio:before { 333 | content: "\e065"; 334 | } 335 | .icon-feed:before { 336 | content: "\e066"; 337 | } 338 | .icon-connection3:before { 339 | content: "\e067"; 340 | } 341 | .icon-radio2:before { 342 | content: "\e068"; 343 | } 344 | .icon-podcast2:before { 345 | content: "\e069"; 346 | } 347 | .icon-podcast3:before { 348 | content: "\e06a"; 349 | } 350 | .icon-mic:before { 351 | content: "\e06b"; 352 | } 353 | .icon-mic2:before { 354 | content: "\e06c"; 355 | } 356 | .icon-mic3:before { 357 | content: "\e06d"; 358 | } 359 | .icon-mic4:before { 360 | content: "\e06e"; 361 | } 362 | .icon-mic5:before { 363 | content: "\e06f"; 364 | } 365 | .icon-book:before { 366 | content: "\e070"; 367 | } 368 | .icon-book2:before { 369 | content: "\e071"; 370 | } 371 | .icon-books:before { 372 | content: "\e072"; 373 | } 374 | .icon-reading:before { 375 | content: "\e073"; 376 | } 377 | .icon-library:before { 378 | content: "\e074"; 379 | } 380 | .icon-library2:before { 381 | content: "\e075"; 382 | } 383 | .icon-graduation:before { 384 | content: "\e076"; 385 | } 386 | .icon-file:before { 387 | content: "\e077"; 388 | } 389 | .icon-profile:before { 390 | content: "\e078"; 391 | } 392 | .icon-file2:before { 393 | content: "\e079"; 394 | } 395 | .icon-file3:before { 396 | content: "\e07a"; 397 | } 398 | .icon-file4:before { 399 | content: "\e07b"; 400 | } 401 | .icon-file5:before { 402 | content: "\e07c"; 403 | } 404 | .icon-file6:before { 405 | content: "\e07d"; 406 | } 407 | .icon-files:before { 408 | content: "\e07e"; 409 | } 410 | .icon-file-plus:before { 411 | content: "\e07f"; 412 | } 413 | .icon-file-minus:before { 414 | content: "\e080"; 415 | } 416 | .icon-file-download:before { 417 | content: "\e081"; 418 | } 419 | .icon-file-upload:before { 420 | content: "\e082"; 421 | } 422 | .icon-file-check:before { 423 | content: "\e083"; 424 | } 425 | .icon-file-remove:before { 426 | content: "\e084"; 427 | } 428 | .icon-file7:before { 429 | content: "\e085"; 430 | } 431 | .icon-file8:before { 432 | content: "\e086"; 433 | } 434 | .icon-file-plus2:before { 435 | content: "\e087"; 436 | } 437 | .icon-file-minus2:before { 438 | content: "\e088"; 439 | } 440 | .icon-file-download2:before { 441 | content: "\e089"; 442 | } 443 | .icon-file-upload2:before { 444 | content: "\e08a"; 445 | } 446 | .icon-file-check2:before { 447 | content: "\e08b"; 448 | } 449 | .icon-file-remove2:before { 450 | content: "\e08c"; 451 | } 452 | .icon-file9:before { 453 | content: "\e08d"; 454 | } 455 | .icon-copy:before { 456 | content: "\e08e"; 457 | } 458 | .icon-copy2:before { 459 | content: "\e08f"; 460 | } 461 | .icon-copy3:before { 462 | content: "\e090"; 463 | } 464 | .icon-copy4:before { 465 | content: "\e091"; 466 | } 467 | .icon-paste:before { 468 | content: "\e092"; 469 | } 470 | .icon-paste2:before { 471 | content: "\e093"; 472 | } 473 | .icon-paste3:before { 474 | content: "\e094"; 475 | } 476 | .icon-stack:before { 477 | content: "\e095"; 478 | } 479 | .icon-stack2:before { 480 | content: "\e096"; 481 | } 482 | .icon-stack3:before { 483 | content: "\e097"; 484 | } 485 | .icon-folder:before { 486 | content: "\e098"; 487 | } 488 | .icon-folder-download:before { 489 | content: "\e099"; 490 | } 491 | .icon-folder-upload:before { 492 | content: "\e09a"; 493 | } 494 | .icon-folder-plus:before { 495 | content: "\e09b"; 496 | } 497 | .icon-folder-plus2:before { 498 | content: "\e09c"; 499 | } 500 | .icon-folder-minus:before { 501 | content: "\e09d"; 502 | } 503 | .icon-folder-minus2:before { 504 | content: "\e09e"; 505 | } 506 | .icon-folder8:before { 507 | content: "\e09f"; 508 | } 509 | .icon-folder-remove:before { 510 | content: "\e0a0"; 511 | } 512 | .icon-folder2:before { 513 | content: "\e0a1"; 514 | } 515 | .icon-folder-open:before { 516 | content: "\e0a2"; 517 | } 518 | .icon-folder3:before { 519 | content: "\e0a3"; 520 | } 521 | .icon-folder4:before { 522 | content: "\e0a4"; 523 | } 524 | .icon-folder-plus3:before { 525 | content: "\e0a5"; 526 | } 527 | .icon-folder-minus3:before { 528 | content: "\e0a6"; 529 | } 530 | .icon-folder-plus4:before { 531 | content: "\e0a7"; 532 | } 533 | .icon-folder-remove2:before { 534 | content: "\e0a8"; 535 | } 536 | .icon-folder-download2:before { 537 | content: "\e0a9"; 538 | } 539 | .icon-folder-upload2:before { 540 | content: "\e0aa"; 541 | } 542 | .icon-folder-download3:before { 543 | content: "\e0ab"; 544 | } 545 | .icon-folder-upload3:before { 546 | content: "\e0ac"; 547 | } 548 | .icon-folder5:before { 549 | content: "\e0ad"; 550 | } 551 | .icon-folder-open2:before { 552 | content: "\e0ae"; 553 | } 554 | .icon-folder6:before { 555 | content: "\e0af"; 556 | } 557 | .icon-folder-open3:before { 558 | content: "\e0b0"; 559 | } 560 | .icon-certificate:before { 561 | content: "\e0b1"; 562 | } 563 | .icon-cc:before { 564 | content: "\e0b2"; 565 | } 566 | .icon-tag:before { 567 | content: "\e0b3"; 568 | } 569 | .icon-tag2:before { 570 | content: "\e0b4"; 571 | } 572 | .icon-tag3:before { 573 | content: "\e0b5"; 574 | } 575 | .icon-tag4:before { 576 | content: "\e0b6"; 577 | } 578 | .icon-tag5:before { 579 | content: "\e0b7"; 580 | } 581 | .icon-tag6:before { 582 | content: "\e0b8"; 583 | } 584 | .icon-tag7:before { 585 | content: "\e0b9"; 586 | } 587 | .icon-tags:before { 588 | content: "\e0ba"; 589 | } 590 | .icon-tags2:before { 591 | content: "\e0bb"; 592 | } 593 | .icon-tag8:before { 594 | content: "\e0bc"; 595 | } 596 | .icon-barcode:before { 597 | content: "\e0bd"; 598 | } 599 | .icon-barcode2:before { 600 | content: "\e0be"; 601 | } 602 | .icon-qrcode:before { 603 | content: "\e0bf"; 604 | } 605 | .icon-ticket:before { 606 | content: "\e0c0"; 607 | } 608 | .icon-cart:before { 609 | content: "\e0c1"; 610 | } 611 | .icon-cart2:before { 612 | content: "\e0c2"; 613 | } 614 | .icon-cart3:before { 615 | content: "\e0c3"; 616 | } 617 | .icon-cart4:before { 618 | content: "\e0c4"; 619 | } 620 | .icon-cart5:before { 621 | content: "\e0c5"; 622 | } 623 | .icon-cart6:before { 624 | content: "\e0c6"; 625 | } 626 | .icon-cart7:before { 627 | content: "\e0c7"; 628 | } 629 | .icon-cart-plus:before { 630 | content: "\e0c8"; 631 | } 632 | .icon-cart-minus:before { 633 | content: "\e0c9"; 634 | } 635 | .icon-cart-add:before { 636 | content: "\e0ca"; 637 | } 638 | .icon-cart-remove:before { 639 | content: "\e0cb"; 640 | } 641 | .icon-cart-checkout:before { 642 | content: "\e0cc"; 643 | } 644 | .icon-cart-remove2:before { 645 | content: "\e0cd"; 646 | } 647 | .icon-basket:before { 648 | content: "\e0ce"; 649 | } 650 | .icon-basket2:before { 651 | content: "\e0cf"; 652 | } 653 | .icon-bag:before { 654 | content: "\e0d0"; 655 | } 656 | .icon-bag2:before { 657 | content: "\e0d1"; 658 | } 659 | .icon-bag3:before { 660 | content: "\e0d2"; 661 | } 662 | .icon-coin:before { 663 | content: "\e0d3"; 664 | } 665 | .icon-coins:before { 666 | content: "\e0d4"; 667 | } 668 | .icon-credit:before { 669 | content: "\e0d5"; 670 | } 671 | .icon-credit2:before { 672 | content: "\e0d6"; 673 | } 674 | .icon-calculate:before { 675 | content: "\e0d7"; 676 | } 677 | .icon-calculate2:before { 678 | content: "\e0d8"; 679 | } 680 | .icon-support:before { 681 | content: "\e0d9"; 682 | } 683 | .icon-phone:before { 684 | content: "\e0da"; 685 | } 686 | .icon-phone2:before { 687 | content: "\e0db"; 688 | } 689 | .icon-phone3:before { 690 | content: "\e0dc"; 691 | } 692 | .icon-phone4:before { 693 | content: "\e0dd"; 694 | } 695 | .icon-contact-add:before { 696 | content: "\e0de"; 697 | } 698 | .icon-contact-remove:before { 699 | content: "\e0df"; 700 | } 701 | .icon-contact-add2:before { 702 | content: "\e0e0"; 703 | } 704 | .icon-contact-remove2:before { 705 | content: "\e0e1"; 706 | } 707 | .icon-call-incoming:before { 708 | content: "\e0e2"; 709 | } 710 | .icon-call-outgoing:before { 711 | content: "\e0e3"; 712 | } 713 | .icon-phone5:before { 714 | content: "\e0e4"; 715 | } 716 | .icon-phone6:before { 717 | content: "\e0e5"; 718 | } 719 | .icon-phone-hang-up:before { 720 | content: "\e0e6"; 721 | } 722 | .icon-phone-hang-up2:before { 723 | content: "\e0e7"; 724 | } 725 | .icon-address-book:before { 726 | content: "\e0e8"; 727 | } 728 | .icon-address-book2:before { 729 | content: "\e0e9"; 730 | } 731 | .icon-notebook:before { 732 | content: "\e0ea"; 733 | } 734 | .icon-envelop:before { 735 | content: "\e0eb"; 736 | } 737 | .icon-envelop2:before { 738 | content: "\e0ec"; 739 | } 740 | .icon-mail-send:before { 741 | content: "\e0ed"; 742 | } 743 | .icon-envelop-opened:before { 744 | content: "\e0ee"; 745 | } 746 | .icon-envelop3:before { 747 | content: "\e0ef"; 748 | } 749 | .icon-pushpin:before { 750 | content: "\e0f0"; 751 | } 752 | .icon-location:before { 753 | content: "\e0f1"; 754 | } 755 | .icon-location2:before { 756 | content: "\e0f2"; 757 | } 758 | .icon-location3:before { 759 | content: "\e0f3"; 760 | } 761 | .icon-location4:before { 762 | content: "\e0f4"; 763 | } 764 | .icon-location5:before { 765 | content: "\e0f5"; 766 | } 767 | .icon-location6:before { 768 | content: "\e0f6"; 769 | } 770 | .icon-location7:before { 771 | content: "\e0f7"; 772 | } 773 | .icon-compass:before { 774 | content: "\e0f8"; 775 | } 776 | .icon-compass2:before { 777 | content: "\e0f9"; 778 | } 779 | .icon-map:before { 780 | content: "\e0fa"; 781 | } 782 | .icon-map2:before { 783 | content: "\e0fb"; 784 | } 785 | .icon-map3:before { 786 | content: "\e0fc"; 787 | } 788 | .icon-map4:before { 789 | content: "\e0fd"; 790 | } 791 | .icon-direction:before { 792 | content: "\e0fe"; 793 | } 794 | .icon-history:before { 795 | content: "\e0ff"; 796 | } 797 | .icon-history2:before { 798 | content: "\e100"; 799 | } 800 | .icon-clock:before { 801 | content: "\e101"; 802 | } 803 | .icon-clock2:before { 804 | content: "\e102"; 805 | } 806 | .icon-clock3:before { 807 | content: "\e103"; 808 | } 809 | .icon-clock4:before { 810 | content: "\e104"; 811 | } 812 | .icon-watch:before { 813 | content: "\e105"; 814 | } 815 | .icon-clock5:before { 816 | content: "\e106"; 817 | } 818 | .icon-clock6:before { 819 | content: "\e107"; 820 | } 821 | .icon-clock7:before { 822 | content: "\e108"; 823 | } 824 | .icon-alarm:before { 825 | content: "\e109"; 826 | } 827 | .icon-alarm2:before { 828 | content: "\e10a"; 829 | } 830 | .icon-bell:before { 831 | content: "\e10b"; 832 | } 833 | .icon-bell2:before { 834 | content: "\e10c"; 835 | } 836 | .icon-alarm-plus:before { 837 | content: "\e10d"; 838 | } 839 | .icon-alarm-minus:before { 840 | content: "\e10e"; 841 | } 842 | .icon-alarm-check:before { 843 | content: "\e10f"; 844 | } 845 | .icon-alarm-cancel:before { 846 | content: "\e110"; 847 | } 848 | .icon-stopwatch:before { 849 | content: "\e111"; 850 | } 851 | .icon-calendar:before { 852 | content: "\e112"; 853 | } 854 | .icon-calendar2:before { 855 | content: "\e113"; 856 | } 857 | .icon-calendar3:before { 858 | content: "\e114"; 859 | } 860 | .icon-calendar4:before { 861 | content: "\e115"; 862 | } 863 | .icon-calendar5:before { 864 | content: "\e116"; 865 | } 866 | .icon-print:before { 867 | content: "\e117"; 868 | } 869 | .icon-print2:before { 870 | content: "\e118"; 871 | } 872 | .icon-print3:before { 873 | content: "\e119"; 874 | } 875 | .icon-mouse:before { 876 | content: "\e11a"; 877 | } 878 | .icon-mouse2:before { 879 | content: "\e11b"; 880 | } 881 | .icon-mouse3:before { 882 | content: "\e11c"; 883 | } 884 | .icon-mouse4:before { 885 | content: "\e11d"; 886 | } 887 | .icon-keyboard:before { 888 | content: "\e11e"; 889 | } 890 | .icon-keyboard2:before { 891 | content: "\e11f"; 892 | } 893 | .icon-screen:before { 894 | content: "\e120"; 895 | } 896 | .icon-screen2:before { 897 | content: "\e121"; 898 | } 899 | .icon-screen3:before { 900 | content: "\e122"; 901 | } 902 | .icon-screen4:before { 903 | content: "\e123"; 904 | } 905 | .icon-laptop:before { 906 | content: "\e124"; 907 | } 908 | .icon-mobile:before { 909 | content: "\e125"; 910 | } 911 | .icon-mobile2:before { 912 | content: "\e126"; 913 | } 914 | .icon-tablet:before { 915 | content: "\e127"; 916 | } 917 | .icon-mobile3:before { 918 | content: "\e128"; 919 | } 920 | .icon-tv:before { 921 | content: "\e129"; 922 | } 923 | .icon-cabinet:before { 924 | content: "\e12a"; 925 | } 926 | .icon-archive:before { 927 | content: "\e12b"; 928 | } 929 | .icon-drawer:before { 930 | content: "\e12c"; 931 | } 932 | .icon-drawer2:before { 933 | content: "\e12d"; 934 | } 935 | .icon-drawer3:before { 936 | content: "\e12e"; 937 | } 938 | .icon-box:before { 939 | content: "\e12f"; 940 | } 941 | .icon-box-add:before { 942 | content: "\e130"; 943 | } 944 | .icon-box-remove:before { 945 | content: "\e131"; 946 | } 947 | .icon-download:before { 948 | content: "\e132"; 949 | } 950 | .icon-upload:before { 951 | content: "\e133"; 952 | } 953 | .icon-disk:before { 954 | content: "\e134"; 955 | } 956 | .icon-cd:before { 957 | content: "\e135"; 958 | } 959 | .icon-storage:before { 960 | content: "\e136"; 961 | } 962 | .icon-storage2:before { 963 | content: "\e137"; 964 | } 965 | .icon-database:before { 966 | content: "\e138"; 967 | } 968 | .icon-database2:before { 969 | content: "\e139"; 970 | } 971 | .icon-database3:before { 972 | content: "\e13a"; 973 | } 974 | .icon-undo:before { 975 | content: "\e13b"; 976 | } 977 | .icon-redo:before { 978 | content: "\e13c"; 979 | } 980 | .icon-rotate:before { 981 | content: "\e13d"; 982 | } 983 | .icon-rotate2:before { 984 | content: "\e13e"; 985 | } 986 | .icon-flip:before { 987 | content: "\e13f"; 988 | } 989 | .icon-flip2:before { 990 | content: "\e140"; 991 | } 992 | .icon-unite:before { 993 | content: "\e141"; 994 | } 995 | .icon-subtract:before { 996 | content: "\e142"; 997 | } 998 | .icon-interset:before { 999 | content: "\e143"; 1000 | } 1001 | .icon-exclude:before { 1002 | content: "\e144"; 1003 | } 1004 | .icon-align-left:before { 1005 | content: "\e145"; 1006 | } 1007 | .icon-align-center-horizontal:before { 1008 | content: "\e146"; 1009 | } 1010 | .icon-align-right:before { 1011 | content: "\e147"; 1012 | } 1013 | .icon-align-top:before { 1014 | content: "\e148"; 1015 | } 1016 | .icon-align-center-vertical:before { 1017 | content: "\e149"; 1018 | } 1019 | .icon-align-bottom:before { 1020 | content: "\e14a"; 1021 | } 1022 | .icon-undo2:before { 1023 | content: "\e14b"; 1024 | } 1025 | .icon-redo2:before { 1026 | content: "\e14c"; 1027 | } 1028 | .icon-forward:before { 1029 | content: "\e14d"; 1030 | } 1031 | .icon-reply:before { 1032 | content: "\e14e"; 1033 | } 1034 | .icon-reply2:before { 1035 | content: "\e14f"; 1036 | } 1037 | .icon-bubble:before { 1038 | content: "\e150"; 1039 | } 1040 | .icon-bubbles:before { 1041 | content: "\e151"; 1042 | } 1043 | .icon-bubbles2:before { 1044 | content: "\e152"; 1045 | } 1046 | .icon-bubble2:before { 1047 | content: "\e153"; 1048 | } 1049 | .icon-bubbles3:before { 1050 | content: "\e154"; 1051 | } 1052 | .icon-bubbles4:before { 1053 | content: "\e155"; 1054 | } 1055 | .icon-bubble-notification:before { 1056 | content: "\e156"; 1057 | } 1058 | .icon-bubbles5:before { 1059 | content: "\e157"; 1060 | } 1061 | .icon-bubbles6:before { 1062 | content: "\e158"; 1063 | } 1064 | .icon-bubble3:before { 1065 | content: "\e159"; 1066 | } 1067 | .icon-bubble-dots:before { 1068 | content: "\e15a"; 1069 | } 1070 | .icon-bubble4:before { 1071 | content: "\e15b"; 1072 | } 1073 | .icon-bubble5:before { 1074 | content: "\e15c"; 1075 | } 1076 | .icon-bubble-dots2:before { 1077 | content: "\e15d"; 1078 | } 1079 | .icon-bubble6:before { 1080 | content: "\e15e"; 1081 | } 1082 | .icon-bubble7:before { 1083 | content: "\e15f"; 1084 | } 1085 | .icon-bubble8:before { 1086 | content: "\e160"; 1087 | } 1088 | .icon-bubbles7:before { 1089 | content: "\e161"; 1090 | } 1091 | .icon-bubble9:before { 1092 | content: "\e162"; 1093 | } 1094 | .icon-bubbles8:before { 1095 | content: "\e163"; 1096 | } 1097 | .icon-bubble10:before { 1098 | content: "\e164"; 1099 | } 1100 | .icon-bubble-dots3:before { 1101 | content: "\e165"; 1102 | } 1103 | .icon-bubble11:before { 1104 | content: "\e166"; 1105 | } 1106 | .icon-bubble12:before { 1107 | content: "\e167"; 1108 | } 1109 | .icon-bubble-dots4:before { 1110 | content: "\e168"; 1111 | } 1112 | .icon-bubble13:before { 1113 | content: "\e169"; 1114 | } 1115 | .icon-bubbles9:before { 1116 | content: "\e16a"; 1117 | } 1118 | .icon-bubbles10:before { 1119 | content: "\e16b"; 1120 | } 1121 | .icon-bubble-blocked:before { 1122 | content: "\e16c"; 1123 | } 1124 | .icon-bubble-quote:before { 1125 | content: "\e16d"; 1126 | } 1127 | .icon-bubble-user:before { 1128 | content: "\e16e"; 1129 | } 1130 | .icon-bubble-check:before { 1131 | content: "\e16f"; 1132 | } 1133 | .icon-bubble-video-chat:before { 1134 | content: "\e170"; 1135 | } 1136 | .icon-bubble-link:before { 1137 | content: "\e171"; 1138 | } 1139 | .icon-bubble-locked:before { 1140 | content: "\e172"; 1141 | } 1142 | .icon-bubble-star:before { 1143 | content: "\e173"; 1144 | } 1145 | .icon-bubble-heart:before { 1146 | content: "\e174"; 1147 | } 1148 | .icon-bubble-paperclip:before { 1149 | content: "\e175"; 1150 | } 1151 | .icon-bubble-cancel:before { 1152 | content: "\e176"; 1153 | } 1154 | .icon-bubble-plus:before { 1155 | content: "\e177"; 1156 | } 1157 | .icon-bubble-minus:before { 1158 | content: "\e178"; 1159 | } 1160 | .icon-bubble-notification2:before { 1161 | content: "\e179"; 1162 | } 1163 | .icon-bubble-trash:before { 1164 | content: "\e17a"; 1165 | } 1166 | .icon-bubble-left:before { 1167 | content: "\e17b"; 1168 | } 1169 | .icon-bubble-right:before { 1170 | content: "\e17c"; 1171 | } 1172 | .icon-bubble-up:before { 1173 | content: "\e17d"; 1174 | } 1175 | .icon-bubble-down:before { 1176 | content: "\e17e"; 1177 | } 1178 | .icon-bubble-first:before { 1179 | content: "\e17f"; 1180 | } 1181 | .icon-bubble-last:before { 1182 | content: "\e180"; 1183 | } 1184 | .icon-bubble-replu:before { 1185 | content: "\e181"; 1186 | } 1187 | .icon-bubble-forward:before { 1188 | content: "\e182"; 1189 | } 1190 | .icon-bubble-reply:before { 1191 | content: "\e183"; 1192 | } 1193 | .icon-bubble-forward2:before { 1194 | content: "\e184"; 1195 | } 1196 | .icon-user:before { 1197 | content: "\e185"; 1198 | } 1199 | .icon-users:before { 1200 | content: "\e186"; 1201 | } 1202 | .icon-user-plus:before { 1203 | content: "\e187"; 1204 | } 1205 | .icon-user-plus2:before { 1206 | content: "\e188"; 1207 | } 1208 | .icon-user-minus:before { 1209 | content: "\e189"; 1210 | } 1211 | .icon-user-minus2:before { 1212 | content: "\e18a"; 1213 | } 1214 | .icon-user-cancel:before { 1215 | content: "\e18b"; 1216 | } 1217 | .icon-user-block:before { 1218 | content: "\e18c"; 1219 | } 1220 | .icon-users2:before { 1221 | content: "\e18d"; 1222 | } 1223 | .icon-user2:before { 1224 | content: "\e18e"; 1225 | } 1226 | .icon-users3:before { 1227 | content: "\e18f"; 1228 | } 1229 | .icon-user-plus3:before { 1230 | content: "\e190"; 1231 | } 1232 | .icon-user-minus3:before { 1233 | content: "\e191"; 1234 | } 1235 | .icon-user-cancel2:before { 1236 | content: "\e192"; 1237 | } 1238 | .icon-user-block2:before { 1239 | content: "\e193"; 1240 | } 1241 | .icon-user3:before { 1242 | content: "\e194"; 1243 | } 1244 | .icon-user4:before { 1245 | content: "\e195"; 1246 | } 1247 | .icon-user5:before { 1248 | content: "\e196"; 1249 | } 1250 | .icon-user6:before { 1251 | content: "\e197"; 1252 | } 1253 | .icon-users4:before { 1254 | content: "\e198"; 1255 | } 1256 | .icon-user7:before { 1257 | content: "\e199"; 1258 | } 1259 | .icon-user8:before { 1260 | content: "\e19a"; 1261 | } 1262 | .icon-users5:before { 1263 | content: "\e19b"; 1264 | } 1265 | .icon-vcard:before { 1266 | content: "\e19c"; 1267 | } 1268 | .icon-tshirt:before { 1269 | content: "\e19d"; 1270 | } 1271 | .icon-hanger:before { 1272 | content: "\e19e"; 1273 | } 1274 | .icon-quotes-left:before { 1275 | content: "\e19f"; 1276 | } 1277 | .icon-quotes-right:before { 1278 | content: "\e1a0"; 1279 | } 1280 | .icon-quotes-right2:before { 1281 | content: "\e1a1"; 1282 | } 1283 | .icon-quotes-right3:before { 1284 | content: "\e1a2"; 1285 | } 1286 | .icon-busy:before { 1287 | content: "\e1a3"; 1288 | } 1289 | .icon-busy2:before { 1290 | content: "\e1a4"; 1291 | } 1292 | .icon-busy3:before { 1293 | content: "\e1a5"; 1294 | } 1295 | .icon-busy4:before { 1296 | content: "\e1a6"; 1297 | } 1298 | .icon-spinner:before { 1299 | content: "\e1a7"; 1300 | } 1301 | .icon-spinner2:before { 1302 | content: "\e1a8"; 1303 | } 1304 | .icon-spinner3:before { 1305 | content: "\e1a9"; 1306 | } 1307 | .icon-spinner4:before { 1308 | content: "\e1aa"; 1309 | } 1310 | .icon-spinner5:before { 1311 | content: "\e1ab"; 1312 | } 1313 | .icon-spinner6:before { 1314 | content: "\e1ac"; 1315 | } 1316 | .icon-spinner7:before { 1317 | content: "\e1ad"; 1318 | } 1319 | .icon-spinner8:before { 1320 | content: "\e1ae"; 1321 | } 1322 | .icon-spinner9:before { 1323 | content: "\e1af"; 1324 | } 1325 | .icon-spinner10:before { 1326 | content: "\e1b0"; 1327 | } 1328 | .icon-spinner11:before { 1329 | content: "\e1b1"; 1330 | } 1331 | .icon-spinner12:before { 1332 | content: "\e1b2"; 1333 | } 1334 | .icon-microscope:before { 1335 | content: "\e1b3"; 1336 | } 1337 | .icon-binoculars:before { 1338 | content: "\e1b4"; 1339 | } 1340 | .icon-binoculars2:before { 1341 | content: "\e1b5"; 1342 | } 1343 | .icon-search:before { 1344 | content: "\e1b6"; 1345 | } 1346 | .icon-search2:before { 1347 | content: "\e1b7"; 1348 | } 1349 | .icon-zoom-in:before { 1350 | content: "\e1b8"; 1351 | } 1352 | .icon-zoom-out:before { 1353 | content: "\e1b9"; 1354 | } 1355 | .icon-search3:before { 1356 | content: "\e1ba"; 1357 | } 1358 | .icon-search4:before { 1359 | content: "\e1bb"; 1360 | } 1361 | .icon-zoom-in2:before { 1362 | content: "\e1bc"; 1363 | } 1364 | .icon-zoom-out2:before { 1365 | content: "\e1bd"; 1366 | } 1367 | .icon-search5:before { 1368 | content: "\e1be"; 1369 | } 1370 | .icon-expand:before { 1371 | content: "\e1bf"; 1372 | } 1373 | .icon-contract:before { 1374 | content: "\e1c0"; 1375 | } 1376 | .icon-scale-up:before { 1377 | content: "\e1c1"; 1378 | } 1379 | .icon-scale-down:before { 1380 | content: "\e1c2"; 1381 | } 1382 | .icon-expand2:before { 1383 | content: "\e1c3"; 1384 | } 1385 | .icon-contract2:before { 1386 | content: "\e1c4"; 1387 | } 1388 | .icon-scale-up2:before { 1389 | content: "\e1c5"; 1390 | } 1391 | .icon-scale-down2:before { 1392 | content: "\e1c6"; 1393 | } 1394 | .icon-fullscreen:before { 1395 | content: "\e1c7"; 1396 | } 1397 | .icon-expand3:before { 1398 | content: "\e1c8"; 1399 | } 1400 | .icon-contract3:before { 1401 | content: "\e1c9"; 1402 | } 1403 | .icon-key:before { 1404 | content: "\e1ca"; 1405 | } 1406 | .icon-key2:before { 1407 | content: "\e1cb"; 1408 | } 1409 | .icon-key3:before { 1410 | content: "\e1cc"; 1411 | } 1412 | .icon-key4:before { 1413 | content: "\e1cd"; 1414 | } 1415 | .icon-key5:before { 1416 | content: "\e1ce"; 1417 | } 1418 | .icon-keyhole:before { 1419 | content: "\e1cf"; 1420 | } 1421 | .icon-lock:before { 1422 | content: "\e1d0"; 1423 | } 1424 | .icon-lock2:before { 1425 | content: "\e1d1"; 1426 | } 1427 | .icon-lock3:before { 1428 | content: "\e1d2"; 1429 | } 1430 | .icon-lock4:before { 1431 | content: "\e1d3"; 1432 | } 1433 | .icon-unlocked:before { 1434 | content: "\e1d4"; 1435 | } 1436 | .icon-lock5:before { 1437 | content: "\e1d5"; 1438 | } 1439 | .icon-unlocked2:before { 1440 | content: "\e1d6"; 1441 | } 1442 | .icon-wrench:before { 1443 | content: "\e1d7"; 1444 | } 1445 | .icon-wrench2:before { 1446 | content: "\e1d8"; 1447 | } 1448 | .icon-wrench3:before { 1449 | content: "\e1d9"; 1450 | } 1451 | .icon-wrench4:before { 1452 | content: "\e1da"; 1453 | } 1454 | .icon-settings:before { 1455 | content: "\e1db"; 1456 | } 1457 | .icon-equalizer:before { 1458 | content: "\e1dc"; 1459 | } 1460 | .icon-equalizer2:before { 1461 | content: "\e1dd"; 1462 | } 1463 | .icon-equalizer3:before { 1464 | content: "\e1de"; 1465 | } 1466 | .icon-cog:before { 1467 | content: "\e1df"; 1468 | } 1469 | .icon-cogs:before { 1470 | content: "\e1e0"; 1471 | } 1472 | .icon-cog2:before { 1473 | content: "\e1e1"; 1474 | } 1475 | .icon-cog3:before { 1476 | content: "\e1e2"; 1477 | } 1478 | .icon-cog4:before { 1479 | content: "\e1e3"; 1480 | } 1481 | .icon-cog5:before { 1482 | content: "\e1e4"; 1483 | } 1484 | .icon-cog6:before { 1485 | content: "\e1e5"; 1486 | } 1487 | .icon-cog7:before { 1488 | content: "\e1e6"; 1489 | } 1490 | .icon-factory:before { 1491 | content: "\e1e7"; 1492 | } 1493 | .icon-hammer:before { 1494 | content: "\e1e8"; 1495 | } 1496 | .icon-tools:before { 1497 | content: "\e1e9"; 1498 | } 1499 | .icon-screwdriver:before { 1500 | content: "\e1ea"; 1501 | } 1502 | .icon-screwdriver2:before { 1503 | content: "\e1eb"; 1504 | } 1505 | .icon-wand:before { 1506 | content: "\e1ec"; 1507 | } 1508 | .icon-wand2:before { 1509 | content: "\e1ed"; 1510 | } 1511 | .icon-health:before { 1512 | content: "\e1ee"; 1513 | } 1514 | .icon-aid:before { 1515 | content: "\e1ef"; 1516 | } 1517 | .icon-patch:before { 1518 | content: "\e1f0"; 1519 | } 1520 | .icon-bug:before { 1521 | content: "\e1f1"; 1522 | } 1523 | .icon-bug2:before { 1524 | content: "\e1f2"; 1525 | } 1526 | .icon-inject:before { 1527 | content: "\e1f3"; 1528 | } 1529 | .icon-inject2:before { 1530 | content: "\e1f4"; 1531 | } 1532 | .icon-construction:before { 1533 | content: "\e1f5"; 1534 | } 1535 | .icon-cone:before { 1536 | content: "\e1f6"; 1537 | } 1538 | .icon-pie:before { 1539 | content: "\e1f7"; 1540 | } 1541 | .icon-pie2:before { 1542 | content: "\e1f8"; 1543 | } 1544 | .icon-pie3:before { 1545 | content: "\e1f9"; 1546 | } 1547 | .icon-pie4:before { 1548 | content: "\e1fa"; 1549 | } 1550 | .icon-pie5:before { 1551 | content: "\e1fb"; 1552 | } 1553 | .icon-pie6:before { 1554 | content: "\e1fc"; 1555 | } 1556 | .icon-pie7:before { 1557 | content: "\e1fd"; 1558 | } 1559 | .icon-stats:before { 1560 | content: "\e1fe"; 1561 | } 1562 | .icon-stats2:before { 1563 | content: "\e1ff"; 1564 | } 1565 | .icon-stats3:before { 1566 | content: "\e200"; 1567 | } 1568 | .icon-bars:before { 1569 | content: "\e201"; 1570 | } 1571 | .icon-bars2:before { 1572 | content: "\e202"; 1573 | } 1574 | .icon-bars3:before { 1575 | content: "\e203"; 1576 | } 1577 | .icon-bars4:before { 1578 | content: "\e204"; 1579 | } 1580 | .icon-bars5:before { 1581 | content: "\e205"; 1582 | } 1583 | .icon-bars6:before { 1584 | content: "\e206"; 1585 | } 1586 | .icon-stats-up:before { 1587 | content: "\e207"; 1588 | } 1589 | .icon-stats-down:before { 1590 | content: "\e208"; 1591 | } 1592 | .icon-stairs-down:before { 1593 | content: "\e209"; 1594 | } 1595 | .icon-stairs-down2:before { 1596 | content: "\e20a"; 1597 | } 1598 | .icon-chart:before { 1599 | content: "\e20b"; 1600 | } 1601 | .icon-stairs:before { 1602 | content: "\e20c"; 1603 | } 1604 | .icon-stairs2:before { 1605 | content: "\e20d"; 1606 | } 1607 | .icon-ladder:before { 1608 | content: "\e20e"; 1609 | } 1610 | .icon-cake:before { 1611 | content: "\e20f"; 1612 | } 1613 | .icon-gift:before { 1614 | content: "\e210"; 1615 | } 1616 | .icon-gift2:before { 1617 | content: "\e211"; 1618 | } 1619 | .icon-balloon:before { 1620 | content: "\e212"; 1621 | } 1622 | .icon-rating:before { 1623 | content: "\e213"; 1624 | } 1625 | .icon-rating2:before { 1626 | content: "\e214"; 1627 | } 1628 | .icon-rating3:before { 1629 | content: "\e215"; 1630 | } 1631 | .icon-podium:before { 1632 | content: "\e216"; 1633 | } 1634 | .icon-medal:before { 1635 | content: "\e217"; 1636 | } 1637 | .icon-medal2:before { 1638 | content: "\e218"; 1639 | } 1640 | .icon-medal3:before { 1641 | content: "\e219"; 1642 | } 1643 | .icon-medal4:before { 1644 | content: "\e21a"; 1645 | } 1646 | .icon-medal5:before { 1647 | content: "\e21b"; 1648 | } 1649 | .icon-crown:before { 1650 | content: "\e21c"; 1651 | } 1652 | .icon-trophy:before { 1653 | content: "\e21d"; 1654 | } 1655 | .icon-trophy2:before { 1656 | content: "\e21e"; 1657 | } 1658 | .icon-trophy-star:before { 1659 | content: "\e21f"; 1660 | } 1661 | .icon-diamond:before { 1662 | content: "\e220"; 1663 | } 1664 | .icon-diamond2:before { 1665 | content: "\e221"; 1666 | } 1667 | .icon-glass:before { 1668 | content: "\e222"; 1669 | } 1670 | .icon-glass2:before { 1671 | content: "\e223"; 1672 | } 1673 | .icon-bottle:before { 1674 | content: "\e224"; 1675 | } 1676 | .icon-bottle2:before { 1677 | content: "\e225"; 1678 | } 1679 | .icon-mug:before { 1680 | content: "\e226"; 1681 | } 1682 | .icon-food:before { 1683 | content: "\e227"; 1684 | } 1685 | .icon-food2:before { 1686 | content: "\e228"; 1687 | } 1688 | .icon-hamburger:before { 1689 | content: "\e229"; 1690 | } 1691 | .icon-cup:before { 1692 | content: "\e22a"; 1693 | } 1694 | .icon-cup2:before { 1695 | content: "\e22b"; 1696 | } 1697 | .icon-leaf:before { 1698 | content: "\e22c"; 1699 | } 1700 | .icon-leaf2:before { 1701 | content: "\e22d"; 1702 | } 1703 | .icon-apple-fruit:before { 1704 | content: "\e22e"; 1705 | } 1706 | .icon-tree:before { 1707 | content: "\e22f"; 1708 | } 1709 | .icon-tree2:before { 1710 | content: "\e230"; 1711 | } 1712 | .icon-paw:before { 1713 | content: "\e231"; 1714 | } 1715 | .icon-steps:before { 1716 | content: "\e232"; 1717 | } 1718 | .icon-flower:before { 1719 | content: "\e233"; 1720 | } 1721 | .icon-rocket:before { 1722 | content: "\e234"; 1723 | } 1724 | .icon-meter:before { 1725 | content: "\e235"; 1726 | } 1727 | .icon-meter2:before { 1728 | content: "\e236"; 1729 | } 1730 | .icon-meter-slow:before { 1731 | content: "\e237"; 1732 | } 1733 | .icon-meter-medium:before { 1734 | content: "\e238"; 1735 | } 1736 | .icon-meter-fast:before { 1737 | content: "\e239"; 1738 | } 1739 | .icon-dashboard:before { 1740 | content: "\e23a"; 1741 | } 1742 | .icon-hammer2:before { 1743 | content: "\e23b"; 1744 | } 1745 | .icon-balance:before { 1746 | content: "\e23c"; 1747 | } 1748 | .icon-bomb:before { 1749 | content: "\e23d"; 1750 | } 1751 | .icon-fire:before { 1752 | content: "\e23e"; 1753 | } 1754 | .icon-fire2:before { 1755 | content: "\e23f"; 1756 | } 1757 | .icon-lab:before { 1758 | content: "\e240"; 1759 | } 1760 | .icon-atom:before { 1761 | content: "\e241"; 1762 | } 1763 | .icon-atom2:before { 1764 | content: "\e242"; 1765 | } 1766 | .icon-magnet:before { 1767 | content: "\e243"; 1768 | } 1769 | .icon-magnet2:before { 1770 | content: "\e244"; 1771 | } 1772 | .icon-magnet3:before { 1773 | content: "\e245"; 1774 | } 1775 | .icon-magnet4:before { 1776 | content: "\e246"; 1777 | } 1778 | .icon-dumbbell:before { 1779 | content: "\e247"; 1780 | } 1781 | .icon-skull:before { 1782 | content: "\e248"; 1783 | } 1784 | .icon-skull2:before { 1785 | content: "\e249"; 1786 | } 1787 | .icon-skull3:before { 1788 | content: "\e24a"; 1789 | } 1790 | .icon-lamp:before { 1791 | content: "\e24b"; 1792 | } 1793 | .icon-lamp2:before { 1794 | content: "\e24c"; 1795 | } 1796 | .icon-lamp3:before { 1797 | content: "\e24d"; 1798 | } 1799 | .icon-lamp4:before { 1800 | content: "\e24e"; 1801 | } 1802 | .icon-remove:before { 1803 | content: "\e24f"; 1804 | } 1805 | .icon-remove2:before { 1806 | content: "\e250"; 1807 | } 1808 | .icon-remove3:before { 1809 | content: "\e251"; 1810 | } 1811 | .icon-remove4:before { 1812 | content: "\e252"; 1813 | } 1814 | .icon-remove5:before { 1815 | content: "\e253"; 1816 | } 1817 | .icon-remove6:before { 1818 | content: "\e254"; 1819 | } 1820 | .icon-remove7:before { 1821 | content: "\e255"; 1822 | } 1823 | .icon-remove8:before { 1824 | content: "\e256"; 1825 | } 1826 | .icon-briefcase:before { 1827 | content: "\e257"; 1828 | } 1829 | .icon-briefcase2:before { 1830 | content: "\e258"; 1831 | } 1832 | .icon-briefcase3:before { 1833 | content: "\e259"; 1834 | } 1835 | .icon-airplane:before { 1836 | content: "\e25a"; 1837 | } 1838 | .icon-airplane2:before { 1839 | content: "\e25b"; 1840 | } 1841 | .icon-paper-plane:before { 1842 | content: "\e25c"; 1843 | } 1844 | .icon-car:before { 1845 | content: "\e25d"; 1846 | } 1847 | .icon-gas-pump:before { 1848 | content: "\e25e"; 1849 | } 1850 | .icon-bus:before { 1851 | content: "\e25f"; 1852 | } 1853 | .icon-truck:before { 1854 | content: "\e260"; 1855 | } 1856 | .icon-bike:before { 1857 | content: "\e261"; 1858 | } 1859 | .icon-road:before { 1860 | content: "\e262"; 1861 | } 1862 | .icon-train:before { 1863 | content: "\e263"; 1864 | } 1865 | .icon-ship:before { 1866 | content: "\e264"; 1867 | } 1868 | .icon-boat:before { 1869 | content: "\e265"; 1870 | } 1871 | .icon-cube:before { 1872 | content: "\e266"; 1873 | } 1874 | .icon-cube2:before { 1875 | content: "\e267"; 1876 | } 1877 | .icon-cube3:before { 1878 | content: "\e268"; 1879 | } 1880 | .icon-cube4:before { 1881 | content: "\e269"; 1882 | } 1883 | .icon-pyramid:before { 1884 | content: "\e26a"; 1885 | } 1886 | .icon-pyramid2:before { 1887 | content: "\e26b"; 1888 | } 1889 | .icon-cylinder:before { 1890 | content: "\e26c"; 1891 | } 1892 | .icon-package:before { 1893 | content: "\e26d"; 1894 | } 1895 | .icon-puzzle:before { 1896 | content: "\e26e"; 1897 | } 1898 | .icon-puzzle2:before { 1899 | content: "\e26f"; 1900 | } 1901 | .icon-puzzle3:before { 1902 | content: "\e270"; 1903 | } 1904 | .icon-puzzle4:before { 1905 | content: "\e271"; 1906 | } 1907 | .icon-glasses:before { 1908 | content: "\e272"; 1909 | } 1910 | .icon-glasses2:before { 1911 | content: "\e273"; 1912 | } 1913 | .icon-glasses3:before { 1914 | content: "\e274"; 1915 | } 1916 | .icon-sun-glasses:before { 1917 | content: "\e275"; 1918 | } 1919 | .icon-accessibility:before { 1920 | content: "\e276"; 1921 | } 1922 | .icon-accessibility2:before { 1923 | content: "\e277"; 1924 | } 1925 | .icon-brain:before { 1926 | content: "\e278"; 1927 | } 1928 | .icon-target:before { 1929 | content: "\e279"; 1930 | } 1931 | .icon-target2:before { 1932 | content: "\e27a"; 1933 | } 1934 | .icon-target3:before { 1935 | content: "\e27b"; 1936 | } 1937 | .icon-gun:before { 1938 | content: "\e27c"; 1939 | } 1940 | .icon-gun-ban:before { 1941 | content: "\e27d"; 1942 | } 1943 | .icon-shield:before { 1944 | content: "\e27e"; 1945 | } 1946 | .icon-shield2:before { 1947 | content: "\e27f"; 1948 | } 1949 | .icon-shield3:before { 1950 | content: "\e280"; 1951 | } 1952 | .icon-shield4:before { 1953 | content: "\e281"; 1954 | } 1955 | .icon-soccer:before { 1956 | content: "\e282"; 1957 | } 1958 | .icon-football:before { 1959 | content: "\e283"; 1960 | } 1961 | .icon-baseball:before { 1962 | content: "\e284"; 1963 | } 1964 | .icon-basketball:before { 1965 | content: "\e285"; 1966 | } 1967 | .icon-golf:before { 1968 | content: "\e286"; 1969 | } 1970 | .icon-hockey:before { 1971 | content: "\e287"; 1972 | } 1973 | .icon-racing:before { 1974 | content: "\e288"; 1975 | } 1976 | .icon-eight-ball:before { 1977 | content: "\e289"; 1978 | } 1979 | .icon-bowling-ball:before { 1980 | content: "\e28a"; 1981 | } 1982 | .icon-bowling:before { 1983 | content: "\e28b"; 1984 | } 1985 | .icon-bowling2:before { 1986 | content: "\e28c"; 1987 | } 1988 | .icon-lightning:before { 1989 | content: "\e28d"; 1990 | } 1991 | .icon-power:before { 1992 | content: "\e28e"; 1993 | } 1994 | .icon-power2:before { 1995 | content: "\e28f"; 1996 | } 1997 | .icon-switch:before { 1998 | content: "\e290"; 1999 | } 2000 | .icon-power-cord:before { 2001 | content: "\e291"; 2002 | } 2003 | .icon-cord:before { 2004 | content: "\e292"; 2005 | } 2006 | .icon-socket:before { 2007 | content: "\e293"; 2008 | } 2009 | .icon-clipboard:before { 2010 | content: "\e294"; 2011 | } 2012 | .icon-clipboard2:before { 2013 | content: "\e295"; 2014 | } 2015 | .icon-signup:before { 2016 | content: "\e296"; 2017 | } 2018 | .icon-clipboard3:before { 2019 | content: "\e297"; 2020 | } 2021 | .icon-clipboard4:before { 2022 | content: "\e298"; 2023 | } 2024 | .icon-list:before { 2025 | content: "\e299"; 2026 | } 2027 | .icon-list2:before { 2028 | content: "\e29a"; 2029 | } 2030 | .icon-list3:before { 2031 | content: "\e29b"; 2032 | } 2033 | .icon-numbered-list:before { 2034 | content: "\e29c"; 2035 | } 2036 | .icon-list4:before { 2037 | content: "\e29d"; 2038 | } 2039 | .icon-list5:before { 2040 | content: "\e29e"; 2041 | } 2042 | .icon-playlist:before { 2043 | content: "\e29f"; 2044 | } 2045 | .icon-grid:before { 2046 | content: "\e2a0"; 2047 | } 2048 | .icon-grid2:before { 2049 | content: "\e2a1"; 2050 | } 2051 | .icon-grid3:before { 2052 | content: "\e2a2"; 2053 | } 2054 | .icon-grid4:before { 2055 | content: "\e2a3"; 2056 | } 2057 | .icon-grid5:before { 2058 | content: "\e2a4"; 2059 | } 2060 | .icon-grid6:before { 2061 | content: "\e2a5"; 2062 | } 2063 | .icon-tree3:before { 2064 | content: "\e2a6"; 2065 | } 2066 | .icon-tree4:before { 2067 | content: "\e2a7"; 2068 | } 2069 | .icon-tree5:before { 2070 | content: "\e2a8"; 2071 | } 2072 | .icon-menu:before { 2073 | content: "\e2a9"; 2074 | } 2075 | .icon-menu2:before { 2076 | content: "\e2aa"; 2077 | } 2078 | .icon-circle-small:before { 2079 | content: "\e2ab"; 2080 | } 2081 | .icon-menu3:before { 2082 | content: "\e2ac"; 2083 | } 2084 | .icon-menu4:before { 2085 | content: "\e2ad"; 2086 | } 2087 | .icon-menu5:before { 2088 | content: "\e2ae"; 2089 | } 2090 | .icon-menu6:before { 2091 | content: "\e2af"; 2092 | } 2093 | .icon-menu7:before { 2094 | content: "\e2b0"; 2095 | } 2096 | .icon-menu8:before { 2097 | content: "\e2b1"; 2098 | } 2099 | .icon-menu9:before { 2100 | content: "\e2b2"; 2101 | } 2102 | .icon-cloud:before { 2103 | content: "\e2b3"; 2104 | } 2105 | .icon-cloud2:before { 2106 | content: "\e2b4"; 2107 | } 2108 | .icon-cloud3:before { 2109 | content: "\e2b5"; 2110 | } 2111 | .icon-cloud-download:before { 2112 | content: "\e2b6"; 2113 | } 2114 | .icon-cloud-upload:before { 2115 | content: "\e2b7"; 2116 | } 2117 | .icon-download2:before { 2118 | content: "\e2b8"; 2119 | } 2120 | .icon-upload2:before { 2121 | content: "\e2b9"; 2122 | } 2123 | .icon-download3:before { 2124 | content: "\e2ba"; 2125 | } 2126 | .icon-upload3:before { 2127 | content: "\e2bb"; 2128 | } 2129 | .icon-download4:before { 2130 | content: "\e2bc"; 2131 | } 2132 | .icon-upload4:before { 2133 | content: "\e2bd"; 2134 | } 2135 | .icon-download5:before { 2136 | content: "\e2be"; 2137 | } 2138 | .icon-upload5:before { 2139 | content: "\e2bf"; 2140 | } 2141 | .icon-download6:before { 2142 | content: "\e2c0"; 2143 | } 2144 | .icon-upload6:before { 2145 | content: "\e2c1"; 2146 | } 2147 | .icon-download7:before { 2148 | content: "\e2c2"; 2149 | } 2150 | .icon-upload7:before { 2151 | content: "\e2c3"; 2152 | } 2153 | .icon-globe:before { 2154 | content: "\e2c4"; 2155 | } 2156 | .icon-globe2:before { 2157 | content: "\e2c5"; 2158 | } 2159 | .icon-globe3:before { 2160 | content: "\e2c6"; 2161 | } 2162 | .icon-earth:before { 2163 | content: "\e2c7"; 2164 | } 2165 | .icon-network:before { 2166 | content: "\e2c8"; 2167 | } 2168 | .icon-link:before { 2169 | content: "\e2c9"; 2170 | } 2171 | .icon-link2:before { 2172 | content: "\e2ca"; 2173 | } 2174 | .icon-link3:before { 2175 | content: "\e2cb"; 2176 | } 2177 | .icon-link22:before { 2178 | content: "\e2cc"; 2179 | } 2180 | .icon-link4:before { 2181 | content: "\e2cd"; 2182 | } 2183 | .icon-link5:before { 2184 | content: "\e2ce"; 2185 | } 2186 | .icon-link6:before { 2187 | content: "\e2cf"; 2188 | } 2189 | .icon-anchor:before { 2190 | content: "\e2d0"; 2191 | } 2192 | .icon-flag:before { 2193 | content: "\e2d1"; 2194 | } 2195 | .icon-flag2:before { 2196 | content: "\e2d2"; 2197 | } 2198 | .icon-flag3:before { 2199 | content: "\e2d3"; 2200 | } 2201 | .icon-flag4:before { 2202 | content: "\e2d4"; 2203 | } 2204 | .icon-flag5:before { 2205 | content: "\e2d5"; 2206 | } 2207 | .icon-flag6:before { 2208 | content: "\e2d6"; 2209 | } 2210 | .icon-attachment:before { 2211 | content: "\e2d7"; 2212 | } 2213 | .icon-attachment2:before { 2214 | content: "\e2d8"; 2215 | } 2216 | .icon-eye:before { 2217 | content: "\e2d9"; 2218 | } 2219 | .icon-eye-blocked:before { 2220 | content: "\e2da"; 2221 | } 2222 | .icon-eye2:before { 2223 | content: "\e2db"; 2224 | } 2225 | .icon-eye3:before { 2226 | content: "\e2dc"; 2227 | } 2228 | .icon-eye-blocked2:before { 2229 | content: "\e2dd"; 2230 | } 2231 | .icon-eye4:before { 2232 | content: "\e2de"; 2233 | } 2234 | .icon-eye5:before { 2235 | content: "\e2df"; 2236 | } 2237 | .icon-eye6:before { 2238 | content: "\e2e0"; 2239 | } 2240 | .icon-eye7:before { 2241 | content: "\e2e1"; 2242 | } 2243 | .icon-eye8:before { 2244 | content: "\e2e2"; 2245 | } 2246 | .icon-bookmark:before { 2247 | content: "\e2e3"; 2248 | } 2249 | .icon-bookmark2:before { 2250 | content: "\e2e4"; 2251 | } 2252 | .icon-bookmarks:before { 2253 | content: "\e2e5"; 2254 | } 2255 | .icon-bookmark3:before { 2256 | content: "\e2e6"; 2257 | } 2258 | .icon-spotlight:before { 2259 | content: "\e2e7"; 2260 | } 2261 | .icon-starburst:before { 2262 | content: "\e2e8"; 2263 | } 2264 | .icon-snowflake:before { 2265 | content: "\e2e9"; 2266 | } 2267 | .icon-temperature:before { 2268 | content: "\e2ea"; 2269 | } 2270 | .icon-temperature2:before { 2271 | content: "\e2eb"; 2272 | } 2273 | .icon-weather-lightning:before { 2274 | content: "\e2ec"; 2275 | } 2276 | .icon-weather-rain:before { 2277 | content: "\e2ed"; 2278 | } 2279 | .icon-weather-snow:before { 2280 | content: "\e2ee"; 2281 | } 2282 | .icon-windy:before { 2283 | content: "\e2ef"; 2284 | } 2285 | .icon-fan:before { 2286 | content: "\e2f0"; 2287 | } 2288 | .icon-umbrella:before { 2289 | content: "\e2f1"; 2290 | } 2291 | .icon-sun:before { 2292 | content: "\e2f2"; 2293 | } 2294 | .icon-sun2:before { 2295 | content: "\e2f3"; 2296 | } 2297 | .icon-brightness-high:before { 2298 | content: "\e2f4"; 2299 | } 2300 | .icon-brightness-medium:before { 2301 | content: "\e2f5"; 2302 | } 2303 | .icon-brightness-low:before { 2304 | content: "\e2f6"; 2305 | } 2306 | .icon-brightness-contrast:before { 2307 | content: "\e2f7"; 2308 | } 2309 | .icon-contrast:before { 2310 | content: "\e2f8"; 2311 | } 2312 | .icon-moon:before { 2313 | content: "\e2f9"; 2314 | } 2315 | .icon-bed:before { 2316 | content: "\e2fa"; 2317 | } 2318 | .icon-bed2:before { 2319 | content: "\e2fb"; 2320 | } 2321 | .icon-star:before { 2322 | content: "\e2fc"; 2323 | } 2324 | .icon-star2:before { 2325 | content: "\e2fd"; 2326 | } 2327 | .icon-star3:before { 2328 | content: "\e2fe"; 2329 | } 2330 | .icon-star4:before { 2331 | content: "\e2ff"; 2332 | } 2333 | .icon-star5:before { 2334 | content: "\e300"; 2335 | } 2336 | .icon-star6:before { 2337 | content: "\e301"; 2338 | } 2339 | .icon-heart:before { 2340 | content: "\e302"; 2341 | } 2342 | .icon-heart2:before { 2343 | content: "\e303"; 2344 | } 2345 | .icon-heart3:before { 2346 | content: "\e304"; 2347 | } 2348 | .icon-heart4:before { 2349 | content: "\e305"; 2350 | } 2351 | .icon-heart-broken:before { 2352 | content: "\e306"; 2353 | } 2354 | .icon-heart5:before { 2355 | content: "\e307"; 2356 | } 2357 | .icon-heart6:before { 2358 | content: "\e308"; 2359 | } 2360 | .icon-heart-broken2:before { 2361 | content: "\e309"; 2362 | } 2363 | .icon-heart7:before { 2364 | content: "\e30a"; 2365 | } 2366 | .icon-heart8:before { 2367 | content: "\e30b"; 2368 | } 2369 | .icon-heart-broken3:before { 2370 | content: "\e30c"; 2371 | } 2372 | .icon-lips:before { 2373 | content: "\e30d"; 2374 | } 2375 | .icon-lips2:before { 2376 | content: "\e30e"; 2377 | } 2378 | .icon-thumbs-up:before { 2379 | content: "\e30f"; 2380 | } 2381 | .icon-thumbs-up2:before { 2382 | content: "\e310"; 2383 | } 2384 | .icon-thumbs-down:before { 2385 | content: "\e311"; 2386 | } 2387 | .icon-thumbs-down2:before { 2388 | content: "\e312"; 2389 | } 2390 | .icon-thumbs-up3:before { 2391 | content: "\e313"; 2392 | } 2393 | .icon-thumbs-up4:before { 2394 | content: "\e314"; 2395 | } 2396 | .icon-thumbs-up5:before { 2397 | content: "\e315"; 2398 | } 2399 | .icon-thumbs-up6:before { 2400 | content: "\e316"; 2401 | } 2402 | .icon-people:before { 2403 | content: "\e317"; 2404 | } 2405 | .icon-man:before { 2406 | content: "\e318"; 2407 | } 2408 | .icon-male:before { 2409 | content: "\e319"; 2410 | } 2411 | .icon-woman:before { 2412 | content: "\e31a"; 2413 | } 2414 | .icon-female:before { 2415 | content: "\e31b"; 2416 | } 2417 | .icon-peace:before { 2418 | content: "\e31c"; 2419 | } 2420 | .icon-yin-yang:before { 2421 | content: "\e31d"; 2422 | } 2423 | .icon-happy:before { 2424 | content: "\e31e"; 2425 | } 2426 | .icon-happy2:before { 2427 | content: "\e31f"; 2428 | } 2429 | .icon-smiley:before { 2430 | content: "\e320"; 2431 | } 2432 | .icon-smiley2:before { 2433 | content: "\e321"; 2434 | } 2435 | .icon-tongue:before { 2436 | content: "\e322"; 2437 | } 2438 | .icon-tongue2:before { 2439 | content: "\e323"; 2440 | } 2441 | .icon-sad:before { 2442 | content: "\e324"; 2443 | } 2444 | .icon-sad2:before { 2445 | content: "\e325"; 2446 | } 2447 | .icon-wink:before { 2448 | content: "\e326"; 2449 | } 2450 | .icon-wink2:before { 2451 | content: "\e327"; 2452 | } 2453 | .icon-grin:before { 2454 | content: "\e328"; 2455 | } 2456 | .icon-grin2:before { 2457 | content: "\e329"; 2458 | } 2459 | .icon-cool:before { 2460 | content: "\e32a"; 2461 | } 2462 | .icon-cool2:before { 2463 | content: "\e32b"; 2464 | } 2465 | .icon-angry:before { 2466 | content: "\e32c"; 2467 | } 2468 | .icon-angry2:before { 2469 | content: "\e32d"; 2470 | } 2471 | .icon-evil:before { 2472 | content: "\e32e"; 2473 | } 2474 | .icon-evil2:before { 2475 | content: "\e32f"; 2476 | } 2477 | .icon-shocked:before { 2478 | content: "\e330"; 2479 | } 2480 | .icon-shocked2:before { 2481 | content: "\e331"; 2482 | } 2483 | .icon-confused:before { 2484 | content: "\e332"; 2485 | } 2486 | .icon-confused2:before { 2487 | content: "\e333"; 2488 | } 2489 | .icon-neutral:before { 2490 | content: "\e334"; 2491 | } 2492 | .icon-neutral2:before { 2493 | content: "\e335"; 2494 | } 2495 | .icon-wondering:before { 2496 | content: "\e336"; 2497 | } 2498 | .icon-wondering2:before { 2499 | content: "\e337"; 2500 | } 2501 | .icon-cursor:before { 2502 | content: "\e338"; 2503 | } 2504 | .icon-cursor2:before { 2505 | content: "\e339"; 2506 | } 2507 | .icon-point-up:before { 2508 | content: "\e33a"; 2509 | } 2510 | .icon-point-right:before { 2511 | content: "\e33b"; 2512 | } 2513 | .icon-point-down:before { 2514 | content: "\e33c"; 2515 | } 2516 | .icon-point-left:before { 2517 | content: "\e33d"; 2518 | } 2519 | .icon-pointer:before { 2520 | content: "\e33e"; 2521 | } 2522 | .icon-hand:before { 2523 | content: "\e33f"; 2524 | } 2525 | .icon-stack-empty:before { 2526 | content: "\e340"; 2527 | } 2528 | .icon-stack-plus:before { 2529 | content: "\e341"; 2530 | } 2531 | .icon-stack-minus:before { 2532 | content: "\e342"; 2533 | } 2534 | .icon-stack-star:before { 2535 | content: "\e343"; 2536 | } 2537 | .icon-stack-picture:before { 2538 | content: "\e344"; 2539 | } 2540 | .icon-stack-down:before { 2541 | content: "\e345"; 2542 | } 2543 | .icon-stack-up:before { 2544 | content: "\e346"; 2545 | } 2546 | .icon-stack-cancel:before { 2547 | content: "\e347"; 2548 | } 2549 | .icon-stack-checkmark:before { 2550 | content: "\e348"; 2551 | } 2552 | .icon-stack-list:before { 2553 | content: "\e349"; 2554 | } 2555 | .icon-stack-clubs:before { 2556 | content: "\e34a"; 2557 | } 2558 | .icon-stack-spades:before { 2559 | content: "\e34b"; 2560 | } 2561 | .icon-stack-hearts:before { 2562 | content: "\e34c"; 2563 | } 2564 | .icon-stack-diamonds:before { 2565 | content: "\e34d"; 2566 | } 2567 | .icon-stack-user:before { 2568 | content: "\e34e"; 2569 | } 2570 | .icon-stack4:before { 2571 | content: "\e34f"; 2572 | } 2573 | .icon-stack-music:before { 2574 | content: "\e350"; 2575 | } 2576 | .icon-stack-play:before { 2577 | content: "\e351"; 2578 | } 2579 | .icon-move:before { 2580 | content: "\e352"; 2581 | } 2582 | .icon-resize:before { 2583 | content: "\e353"; 2584 | } 2585 | .icon-resize2:before { 2586 | content: "\e354"; 2587 | } 2588 | .icon-warning:before { 2589 | content: "\e355"; 2590 | } 2591 | .icon-warning2:before { 2592 | content: "\e356"; 2593 | } 2594 | .icon-notification:before { 2595 | content: "\e357"; 2596 | } 2597 | .icon-notification2:before { 2598 | content: "\e358"; 2599 | } 2600 | .icon-question:before { 2601 | content: "\e359"; 2602 | } 2603 | .icon-question2:before { 2604 | content: "\e35a"; 2605 | } 2606 | .icon-question3:before { 2607 | content: "\e35b"; 2608 | } 2609 | .icon-question4:before { 2610 | content: "\e35c"; 2611 | } 2612 | .icon-question5:before { 2613 | content: "\e35d"; 2614 | } 2615 | .icon-plus-circle:before { 2616 | content: "\e35e"; 2617 | } 2618 | .icon-plus-circle2:before { 2619 | content: "\e35f"; 2620 | } 2621 | .icon-minus-circle:before { 2622 | content: "\e360"; 2623 | } 2624 | .icon-minus-circle2:before { 2625 | content: "\e361"; 2626 | } 2627 | .icon-info:before { 2628 | content: "\e362"; 2629 | } 2630 | .icon-info2:before { 2631 | content: "\e363"; 2632 | } 2633 | .icon-blocked:before { 2634 | content: "\e364"; 2635 | } 2636 | .icon-cancel-circle:before { 2637 | content: "\e365"; 2638 | } 2639 | .icon-cancel-circle2:before { 2640 | content: "\e366"; 2641 | } 2642 | .icon-checkmark-circle:before { 2643 | content: "\e367"; 2644 | } 2645 | .icon-checkmark-circle2:before { 2646 | content: "\e368"; 2647 | } 2648 | .icon-cancel:before { 2649 | content: "\e369"; 2650 | } 2651 | .icon-spam:before { 2652 | content: "\e36a"; 2653 | } 2654 | .icon-close:before { 2655 | content: "\e36b"; 2656 | } 2657 | .icon-close2:before { 2658 | content: "\e36c"; 2659 | } 2660 | .icon-close3:before { 2661 | content: "\e36d"; 2662 | } 2663 | .icon-close4:before { 2664 | content: "\e36e"; 2665 | } 2666 | .icon-close5:before { 2667 | content: "\e36f"; 2668 | } 2669 | .icon-checkmark:before { 2670 | content: "\e370"; 2671 | } 2672 | .icon-checkmark2:before { 2673 | content: "\e371"; 2674 | } 2675 | .icon-checkmark3:before { 2676 | content: "\e372"; 2677 | } 2678 | .icon-checkmark4:before { 2679 | content: "\e373"; 2680 | } 2681 | .icon-spell-check:before { 2682 | content: "\e374"; 2683 | } 2684 | .icon-minus:before { 2685 | content: "\e375"; 2686 | } 2687 | .icon-plus:before { 2688 | content: "\e376"; 2689 | } 2690 | .icon-minus2:before { 2691 | content: "\e377"; 2692 | } 2693 | .icon-plus2:before { 2694 | content: "\e378"; 2695 | } 2696 | .icon-enter:before { 2697 | content: "\e379"; 2698 | } 2699 | .icon-exit:before { 2700 | content: "\e37a"; 2701 | } 2702 | .icon-enter2:before { 2703 | content: "\e37b"; 2704 | } 2705 | .icon-exit2:before { 2706 | content: "\e37c"; 2707 | } 2708 | .icon-enter3:before { 2709 | content: "\e37d"; 2710 | } 2711 | .icon-exit3:before { 2712 | content: "\e37e"; 2713 | } 2714 | .icon-exit4:before { 2715 | content: "\e37f"; 2716 | } 2717 | .icon-play3:before { 2718 | content: "\e380"; 2719 | } 2720 | .icon-pause:before { 2721 | content: "\e381"; 2722 | } 2723 | .icon-stop:before { 2724 | content: "\e382"; 2725 | } 2726 | .icon-backward:before { 2727 | content: "\e383"; 2728 | } 2729 | .icon-forward2:before { 2730 | content: "\e384"; 2731 | } 2732 | .icon-play4:before { 2733 | content: "\e385"; 2734 | } 2735 | .icon-pause2:before { 2736 | content: "\e386"; 2737 | } 2738 | .icon-stop2:before { 2739 | content: "\e387"; 2740 | } 2741 | .icon-backward2:before { 2742 | content: "\e388"; 2743 | } 2744 | .icon-forward3:before { 2745 | content: "\e389"; 2746 | } 2747 | .icon-first:before { 2748 | content: "\e38a"; 2749 | } 2750 | .icon-last:before { 2751 | content: "\e38b"; 2752 | } 2753 | .icon-previous:before { 2754 | content: "\e38c"; 2755 | } 2756 | .icon-next:before { 2757 | content: "\e38d"; 2758 | } 2759 | .icon-eject:before { 2760 | content: "\e38e"; 2761 | } 2762 | .icon-volume-high:before { 2763 | content: "\e38f"; 2764 | } 2765 | .icon-volume-medium:before { 2766 | content: "\e390"; 2767 | } 2768 | .icon-volume-low:before { 2769 | content: "\e391"; 2770 | } 2771 | .icon-volume-mute:before { 2772 | content: "\e392"; 2773 | } 2774 | .icon-volume-mute2:before { 2775 | content: "\e393"; 2776 | } 2777 | .icon-volume-increase:before { 2778 | content: "\e394"; 2779 | } 2780 | .icon-volume-decrease:before { 2781 | content: "\e395"; 2782 | } 2783 | .icon-volume-high2:before { 2784 | content: "\e396"; 2785 | } 2786 | .icon-volume-medium2:before { 2787 | content: "\e397"; 2788 | } 2789 | .icon-volume-low2:before { 2790 | content: "\e398"; 2791 | } 2792 | .icon-volume-mute3:before { 2793 | content: "\e399"; 2794 | } 2795 | .icon-volume-mute4:before { 2796 | content: "\e39a"; 2797 | } 2798 | .icon-volume-increase2:before { 2799 | content: "\e39b"; 2800 | } 2801 | .icon-volume-decrease2:before { 2802 | content: "\e39c"; 2803 | } 2804 | .icon-volume5:before { 2805 | content: "\e39d"; 2806 | } 2807 | .icon-volume4:before { 2808 | content: "\e39e"; 2809 | } 2810 | .icon-volume3:before { 2811 | content: "\e39f"; 2812 | } 2813 | .icon-volume2:before { 2814 | content: "\e3a0"; 2815 | } 2816 | .icon-volume1:before { 2817 | content: "\e3a1"; 2818 | } 2819 | .icon-volume0:before { 2820 | content: "\e3a2"; 2821 | } 2822 | .icon-volume-mute5:before { 2823 | content: "\e3a3"; 2824 | } 2825 | .icon-volume-mute6:before { 2826 | content: "\e3a4"; 2827 | } 2828 | .icon-loop:before { 2829 | content: "\e3a5"; 2830 | } 2831 | .icon-loop2:before { 2832 | content: "\e3a6"; 2833 | } 2834 | .icon-loop3:before { 2835 | content: "\e3a7"; 2836 | } 2837 | .icon-loop4:before { 2838 | content: "\e3a8"; 2839 | } 2840 | .icon-loop5:before { 2841 | content: "\e3a9"; 2842 | } 2843 | .icon-shuffle:before { 2844 | content: "\e3aa"; 2845 | } 2846 | .icon-shuffle2:before { 2847 | content: "\e3ab"; 2848 | } 2849 | .icon-wave:before { 2850 | content: "\e3ac"; 2851 | } 2852 | .icon-wave2:before { 2853 | content: "\e3ad"; 2854 | } 2855 | .icon-arrow-first:before { 2856 | content: "\e3ae"; 2857 | } 2858 | .icon-arrow-right:before { 2859 | content: "\e3af"; 2860 | } 2861 | .icon-arrow-up:before { 2862 | content: "\e3b0"; 2863 | } 2864 | .icon-arrow-right2:before { 2865 | content: "\e3b1"; 2866 | } 2867 | .icon-arrow-down:before { 2868 | content: "\e3b2"; 2869 | } 2870 | .icon-arrow-left:before { 2871 | content: "\e3b3"; 2872 | } 2873 | .icon-arrow-up2:before { 2874 | content: "\e3b4"; 2875 | } 2876 | .icon-arrow-right3:before { 2877 | content: "\e3b5"; 2878 | } 2879 | .icon-arrow-down2:before { 2880 | content: "\e3b6"; 2881 | } 2882 | .icon-arrow-left2:before { 2883 | content: "\e3b7"; 2884 | } 2885 | .icon-arrow-up-left:before { 2886 | content: "\e3b8"; 2887 | } 2888 | .icon-arrow-up3:before { 2889 | content: "\e3b9"; 2890 | } 2891 | .icon-arrow-up-right:before { 2892 | content: "\e3ba"; 2893 | } 2894 | .icon-arrow-right4:before { 2895 | content: "\e3bb"; 2896 | } 2897 | .icon-arrow-down-right:before { 2898 | content: "\e3bc"; 2899 | } 2900 | .icon-arrow-down3:before { 2901 | content: "\e3bd"; 2902 | } 2903 | .icon-arrow-down-left:before { 2904 | content: "\e3be"; 2905 | } 2906 | .icon-arrow-left3:before { 2907 | content: "\e3bf"; 2908 | } 2909 | .icon-arrow-up-left2:before { 2910 | content: "\e3c0"; 2911 | } 2912 | .icon-arrow-up4:before { 2913 | content: "\e3c1"; 2914 | } 2915 | .icon-arrow-up-right2:before { 2916 | content: "\e3c2"; 2917 | } 2918 | .icon-arrow-right5:before { 2919 | content: "\e3c3"; 2920 | } 2921 | .icon-arrow-down-right2:before { 2922 | content: "\e3c4"; 2923 | } 2924 | .icon-arrow-down4:before { 2925 | content: "\e3c5"; 2926 | } 2927 | .icon-arrow-down-left2:before { 2928 | content: "\e3c6"; 2929 | } 2930 | .icon-arrow-left4:before { 2931 | content: "\e3c7"; 2932 | } 2933 | .icon-arrow-up-left3:before { 2934 | content: "\e3c8"; 2935 | } 2936 | .icon-arrow-up5:before { 2937 | content: "\e3c9"; 2938 | } 2939 | .icon-arrow-up-right3:before { 2940 | content: "\e3ca"; 2941 | } 2942 | .icon-arrow-right6:before { 2943 | content: "\e3cb"; 2944 | } 2945 | .icon-arrow-down-right3:before { 2946 | content: "\e3cc"; 2947 | } 2948 | .icon-arrow-down5:before { 2949 | content: "\e3cd"; 2950 | } 2951 | .icon-arrow-down-left3:before { 2952 | content: "\e3ce"; 2953 | } 2954 | .icon-arrow-left5:before { 2955 | content: "\e3cf"; 2956 | } 2957 | .icon-arrow-up-left4:before { 2958 | content: "\e3d0"; 2959 | } 2960 | .icon-arrow-up6:before { 2961 | content: "\e3d1"; 2962 | } 2963 | .icon-arrow-up-right4:before { 2964 | content: "\e3d2"; 2965 | } 2966 | .icon-arrow-right7:before { 2967 | content: "\e3d3"; 2968 | } 2969 | .icon-arrow-down-right4:before { 2970 | content: "\e3d4"; 2971 | } 2972 | .icon-arrow-down6:before { 2973 | content: "\e3d5"; 2974 | } 2975 | .icon-arrow-down-left4:before { 2976 | content: "\e3d6"; 2977 | } 2978 | .icon-arrow-left6:before { 2979 | content: "\e3d7"; 2980 | } 2981 | .icon-arrow:before { 2982 | content: "\e3d8"; 2983 | } 2984 | .icon-arrow2:before { 2985 | content: "\e3d9"; 2986 | } 2987 | .icon-arrow3:before { 2988 | content: "\e3da"; 2989 | } 2990 | .icon-arrow4:before { 2991 | content: "\e3db"; 2992 | } 2993 | .icon-arrow5:before { 2994 | content: "\e3dc"; 2995 | } 2996 | .icon-arrow6:before { 2997 | content: "\e3dd"; 2998 | } 2999 | .icon-arrow7:before { 3000 | content: "\e3de"; 3001 | } 3002 | .icon-arrow8:before { 3003 | content: "\e3df"; 3004 | } 3005 | .icon-arrow-up-left5:before { 3006 | content: "\e3e0"; 3007 | } 3008 | .icon-arrow-square:before { 3009 | content: "\e3e1"; 3010 | } 3011 | .icon-arrow-up-right5:before { 3012 | content: "\e3e2"; 3013 | } 3014 | .icon-arrow-right8:before { 3015 | content: "\e3e3"; 3016 | } 3017 | .icon-arrow-down-right5:before { 3018 | content: "\e3e4"; 3019 | } 3020 | .icon-arrow-down7:before { 3021 | content: "\e3e5"; 3022 | } 3023 | .icon-arrow-down-left5:before { 3024 | content: "\e3e6"; 3025 | } 3026 | .icon-arrow-left7:before { 3027 | content: "\e3e7"; 3028 | } 3029 | .icon-arrow-up7:before { 3030 | content: "\e3e8"; 3031 | } 3032 | .icon-arrow-right9:before { 3033 | content: "\e3e9"; 3034 | } 3035 | .icon-arrow-down8:before { 3036 | content: "\e3ea"; 3037 | } 3038 | .icon-arrow-left8:before { 3039 | content: "\e3eb"; 3040 | } 3041 | .icon-arrow-up8:before { 3042 | content: "\e3ec"; 3043 | } 3044 | .icon-arrow-right10:before { 3045 | content: "\e3ed"; 3046 | } 3047 | .icon-arrow-bottom:before { 3048 | content: "\e3ee"; 3049 | } 3050 | .icon-arrow-left9:before { 3051 | content: "\e3ef"; 3052 | } 3053 | .icon-arrow-up-left6:before { 3054 | content: "\e3f0"; 3055 | } 3056 | .icon-arrow-up9:before { 3057 | content: "\e3f1"; 3058 | } 3059 | .icon-arrow-up-right6:before { 3060 | content: "\e3f2"; 3061 | } 3062 | .icon-arrow-right11:before { 3063 | content: "\e3f3"; 3064 | } 3065 | .icon-arrow-down-right6:before { 3066 | content: "\e3f4"; 3067 | } 3068 | .icon-arrow-down9:before { 3069 | content: "\e3f5"; 3070 | } 3071 | .icon-arrow-down-left6:before { 3072 | content: "\e3f6"; 3073 | } 3074 | .icon-arrow-left10:before { 3075 | content: "\e3f7"; 3076 | } 3077 | .icon-arrow-up-left7:before { 3078 | content: "\e3f8"; 3079 | } 3080 | .icon-arrow-up10:before { 3081 | content: "\e3f9"; 3082 | } 3083 | .icon-arrow-up-right7:before { 3084 | content: "\e3fa"; 3085 | } 3086 | .icon-arrow-right12:before { 3087 | content: "\e3fb"; 3088 | } 3089 | .icon-arrow-down-right7:before { 3090 | content: "\e3fc"; 3091 | } 3092 | .icon-arrow-down10:before { 3093 | content: "\e3fd"; 3094 | } 3095 | .icon-arrow-down-left7:before { 3096 | content: "\e3fe"; 3097 | } 3098 | .icon-arrow-left11:before { 3099 | content: "\e3ff"; 3100 | } 3101 | .icon-arrow-up11:before { 3102 | content: "\e400"; 3103 | } 3104 | .icon-arrow-right13:before { 3105 | content: "\e401"; 3106 | } 3107 | .icon-arrow-down11:before { 3108 | content: "\e402"; 3109 | } 3110 | .icon-arrow-left12:before { 3111 | content: "\e403"; 3112 | } 3113 | .icon-arrow-up12:before { 3114 | content: "\e404"; 3115 | } 3116 | .icon-arrow-right14:before { 3117 | content: "\e405"; 3118 | } 3119 | .icon-arrow-down12:before { 3120 | content: "\e406"; 3121 | } 3122 | .icon-arrow-left13:before { 3123 | content: "\e407"; 3124 | } 3125 | .icon-arrow-up13:before { 3126 | content: "\e408"; 3127 | } 3128 | .icon-arrow-right15:before { 3129 | content: "\e409"; 3130 | } 3131 | .icon-arrow-down13:before { 3132 | content: "\e40a"; 3133 | } 3134 | .icon-arrow-left14:before { 3135 | content: "\e40b"; 3136 | } 3137 | .icon-arrow-up14:before { 3138 | content: "\e40c"; 3139 | } 3140 | .icon-arrow-right16:before { 3141 | content: "\e40d"; 3142 | } 3143 | .icon-arrow-down14:before { 3144 | content: "\e40e"; 3145 | } 3146 | .icon-arrow-left15:before { 3147 | content: "\e40f"; 3148 | } 3149 | .icon-arrow-up15:before { 3150 | content: "\e410"; 3151 | } 3152 | .icon-arrow-right17:before { 3153 | content: "\e411"; 3154 | } 3155 | .icon-arrow-down15:before { 3156 | content: "\e412"; 3157 | } 3158 | .icon-arrow-left16:before { 3159 | content: "\e413"; 3160 | } 3161 | .icon-arrow-up16:before { 3162 | content: "\e414"; 3163 | } 3164 | .icon-arrow-right18:before { 3165 | content: "\e415"; 3166 | } 3167 | .icon-arrow-down16:before { 3168 | content: "\e416"; 3169 | } 3170 | .icon-arrow-left17:before { 3171 | content: "\e417"; 3172 | } 3173 | .icon-menu10:before { 3174 | content: "\e418"; 3175 | } 3176 | .icon-menu11:before { 3177 | content: "\e419"; 3178 | } 3179 | .icon-menu-close:before { 3180 | content: "\e41a"; 3181 | } 3182 | .icon-menu-close2:before { 3183 | content: "\e41b"; 3184 | } 3185 | .icon-enter4:before { 3186 | content: "\e41c"; 3187 | } 3188 | .icon-enter5:before { 3189 | content: "\e41d"; 3190 | } 3191 | .icon-esc:before { 3192 | content: "\e41e"; 3193 | } 3194 | .icon-backspace:before { 3195 | content: "\e41f"; 3196 | } 3197 | .icon-backspace2:before { 3198 | content: "\e420"; 3199 | } 3200 | .icon-backspace3:before { 3201 | content: "\e421"; 3202 | } 3203 | .icon-tab:before { 3204 | content: "\e422"; 3205 | } 3206 | .icon-transmission:before { 3207 | content: "\e423"; 3208 | } 3209 | .icon-transmission2:before { 3210 | content: "\e424"; 3211 | } 3212 | .icon-sort:before { 3213 | content: "\e425"; 3214 | } 3215 | .icon-sort2:before { 3216 | content: "\e426"; 3217 | } 3218 | .icon-key-keyboard:before { 3219 | content: "\e427"; 3220 | } 3221 | .icon-key-A:before { 3222 | content: "\e428"; 3223 | } 3224 | .icon-key-up:before { 3225 | content: "\e429"; 3226 | } 3227 | .icon-key-right:before { 3228 | content: "\e42a"; 3229 | } 3230 | .icon-key-down:before { 3231 | content: "\e42b"; 3232 | } 3233 | .icon-key-left:before { 3234 | content: "\e42c"; 3235 | } 3236 | .icon-command:before { 3237 | content: "\e42d"; 3238 | } 3239 | .icon-checkbox-checked:before { 3240 | content: "\e42e"; 3241 | } 3242 | .icon-checkbox-unchecked:before { 3243 | content: "\e42f"; 3244 | } 3245 | .icon-square:before { 3246 | content: "\e430"; 3247 | } 3248 | .icon-checkbox-partial:before { 3249 | content: "\e431"; 3250 | } 3251 | .icon-checkbox:before { 3252 | content: "\e432"; 3253 | } 3254 | .icon-checkbox-unchecked2:before { 3255 | content: "\e433"; 3256 | } 3257 | .icon-checkbox-partial2:before { 3258 | content: "\e434"; 3259 | } 3260 | .icon-checkbox-checked2:before { 3261 | content: "\e435"; 3262 | } 3263 | .icon-checkbox-unchecked3:before { 3264 | content: "\e436"; 3265 | } 3266 | .icon-checkbox-partial3:before { 3267 | content: "\e437"; 3268 | } 3269 | .icon-radio-checked:before { 3270 | content: "\e438"; 3271 | } 3272 | .icon-radio-unchecked:before { 3273 | content: "\e439"; 3274 | } 3275 | .icon-circle:before { 3276 | content: "\e43a"; 3277 | } 3278 | .icon-circle2:before { 3279 | content: "\e43b"; 3280 | } 3281 | .icon-crop:before { 3282 | content: "\e43c"; 3283 | } 3284 | .icon-crop2:before { 3285 | content: "\e43d"; 3286 | } 3287 | .icon-vector:before { 3288 | content: "\e43e"; 3289 | } 3290 | .icon-rulers:before { 3291 | content: "\e43f"; 3292 | } 3293 | .icon-scissors:before { 3294 | content: "\e440"; 3295 | } 3296 | .icon-scissors2:before { 3297 | content: "\e441"; 3298 | } 3299 | .icon-scissors3:before { 3300 | content: "\e442"; 3301 | } 3302 | .icon-filter:before { 3303 | content: "\e443"; 3304 | } 3305 | .icon-filter2:before { 3306 | content: "\e444"; 3307 | } 3308 | .icon-filter3:before { 3309 | content: "\e445"; 3310 | } 3311 | .icon-filter4:before { 3312 | content: "\e446"; 3313 | } 3314 | .icon-font:before { 3315 | content: "\e447"; 3316 | } 3317 | .icon-font-size:before { 3318 | content: "\e448"; 3319 | } 3320 | .icon-type:before { 3321 | content: "\e449"; 3322 | } 3323 | .icon-text-height:before { 3324 | content: "\e44a"; 3325 | } 3326 | .icon-text-width:before { 3327 | content: "\e44b"; 3328 | } 3329 | .icon-height:before { 3330 | content: "\e44c"; 3331 | } 3332 | .icon-width:before { 3333 | content: "\e44d"; 3334 | } 3335 | .icon-bold:before { 3336 | content: "\e44e"; 3337 | } 3338 | .icon-underline:before { 3339 | content: "\e44f"; 3340 | } 3341 | .icon-italic:before { 3342 | content: "\e450"; 3343 | } 3344 | .icon-strikethrough:before { 3345 | content: "\e451"; 3346 | } 3347 | .icon-strikethrough2:before { 3348 | content: "\e452"; 3349 | } 3350 | .icon-font-size2:before { 3351 | content: "\e453"; 3352 | } 3353 | .icon-bold2:before { 3354 | content: "\e454"; 3355 | } 3356 | .icon-underline2:before { 3357 | content: "\e455"; 3358 | } 3359 | .icon-italic2:before { 3360 | content: "\e456"; 3361 | } 3362 | .icon-strikethrough3:before { 3363 | content: "\e457"; 3364 | } 3365 | .icon-omega:before { 3366 | content: "\e458"; 3367 | } 3368 | .icon-sigma:before { 3369 | content: "\e459"; 3370 | } 3371 | .icon-nbsp:before { 3372 | content: "\e45a"; 3373 | } 3374 | .icon-page-break:before { 3375 | content: "\e45b"; 3376 | } 3377 | .icon-page-break2:before { 3378 | content: "\e45c"; 3379 | } 3380 | .icon-superscript:before { 3381 | content: "\e45d"; 3382 | } 3383 | .icon-subscript:before { 3384 | content: "\e45e"; 3385 | } 3386 | .icon-superscript2:before { 3387 | content: "\e45f"; 3388 | } 3389 | .icon-subscript2:before { 3390 | content: "\e460"; 3391 | } 3392 | .icon-text-color:before { 3393 | content: "\e461"; 3394 | } 3395 | .icon-highlight:before { 3396 | content: "\e462"; 3397 | } 3398 | .icon-pagebreak:before { 3399 | content: "\e463"; 3400 | } 3401 | .icon-clear-formatting:before { 3402 | content: "\e464"; 3403 | } 3404 | .icon-table:before { 3405 | content: "\e465"; 3406 | } 3407 | .icon-table2:before { 3408 | content: "\e466"; 3409 | } 3410 | .icon-insert-template:before { 3411 | content: "\e467"; 3412 | } 3413 | .icon-pilcrow:before { 3414 | content: "\e468"; 3415 | } 3416 | .icon-left-toright:before { 3417 | content: "\e469"; 3418 | } 3419 | .icon-right-toleft:before { 3420 | content: "\e46a"; 3421 | } 3422 | .icon-paragraph-left:before { 3423 | content: "\e46b"; 3424 | } 3425 | .icon-paragraph-center:before { 3426 | content: "\e46c"; 3427 | } 3428 | .icon-paragraph-right:before { 3429 | content: "\e46d"; 3430 | } 3431 | .icon-paragraph-justify:before { 3432 | content: "\e46e"; 3433 | } 3434 | .icon-paragraph-left2:before { 3435 | content: "\e46f"; 3436 | } 3437 | .icon-paragraph-center2:before { 3438 | content: "\e470"; 3439 | } 3440 | .icon-paragraph-right2:before { 3441 | content: "\e471"; 3442 | } 3443 | .icon-paragraph-justify2:before { 3444 | content: "\e472"; 3445 | } 3446 | .icon-indent-increase:before { 3447 | content: "\e473"; 3448 | } 3449 | .icon-indent-decrease:before { 3450 | content: "\e474"; 3451 | } 3452 | .icon-paragraph-left3:before { 3453 | content: "\e475"; 3454 | } 3455 | .icon-paragraph-center3:before { 3456 | content: "\e476"; 3457 | } 3458 | .icon-paragraph-right3:before { 3459 | content: "\e477"; 3460 | } 3461 | .icon-paragraph-justify3:before { 3462 | content: "\e478"; 3463 | } 3464 | .icon-indent-increase2:before { 3465 | content: "\e479"; 3466 | } 3467 | .icon-indent-decrease2:before { 3468 | content: "\e47a"; 3469 | } 3470 | .icon-share:before { 3471 | content: "\e47b"; 3472 | } 3473 | .icon-new-tab:before { 3474 | content: "\e47c"; 3475 | } 3476 | .icon-new-tab2:before { 3477 | content: "\e47d"; 3478 | } 3479 | .icon-popout:before { 3480 | content: "\e47e"; 3481 | } 3482 | .icon-embed:before { 3483 | content: "\e47f"; 3484 | } 3485 | .icon-code:before { 3486 | content: "\e480"; 3487 | } 3488 | .icon-console:before { 3489 | content: "\e481"; 3490 | } 3491 | .icon-seven-segment0:before { 3492 | content: "\e482"; 3493 | } 3494 | .icon-seven-segment1:before { 3495 | content: "\e483"; 3496 | } 3497 | .icon-seven-segment2:before { 3498 | content: "\e484"; 3499 | } 3500 | .icon-seven-segment3:before { 3501 | content: "\e485"; 3502 | } 3503 | .icon-seven-segment4:before { 3504 | content: "\e486"; 3505 | } 3506 | .icon-seven-segment5:before { 3507 | content: "\e487"; 3508 | } 3509 | .icon-seven-segment6:before { 3510 | content: "\e488"; 3511 | } 3512 | .icon-seven-segment7:before { 3513 | content: "\e489"; 3514 | } 3515 | .icon-seven-segment8:before { 3516 | content: "\e48a"; 3517 | } 3518 | .icon-seven-segment9:before { 3519 | content: "\e48b"; 3520 | } 3521 | .icon-share2:before { 3522 | content: "\e48c"; 3523 | } 3524 | .icon-share3:before { 3525 | content: "\e48d"; 3526 | } 3527 | .icon-mail:before { 3528 | content: "\e48e"; 3529 | } 3530 | .icon-mail2:before { 3531 | content: "\e48f"; 3532 | } 3533 | .icon-mail3:before { 3534 | content: "\e490"; 3535 | } 3536 | .icon-mail4:before { 3537 | content: "\e491"; 3538 | } 3539 | .icon-google:before { 3540 | content: "\e492"; 3541 | } 3542 | .icon-google-plus:before { 3543 | content: "\e493"; 3544 | } 3545 | .icon-google-plus2:before { 3546 | content: "\e494"; 3547 | } 3548 | .icon-google-plus3:before { 3549 | content: "\e495"; 3550 | } 3551 | .icon-google-plus4:before { 3552 | content: "\e496"; 3553 | } 3554 | .icon-google-drive:before { 3555 | content: "\e497"; 3556 | } 3557 | .icon-facebook:before { 3558 | content: "\e498"; 3559 | } 3560 | .icon-facebook2:before { 3561 | content: "\e499"; 3562 | } 3563 | .icon-facebook3:before { 3564 | content: "\e49a"; 3565 | } 3566 | .icon-facebook4:before { 3567 | content: "\e49b"; 3568 | } 3569 | .icon-instagram:before { 3570 | content: "\e49c"; 3571 | } 3572 | .icon-twitter:before { 3573 | content: "\e49d"; 3574 | } 3575 | .icon-twitter2:before { 3576 | content: "\e49e"; 3577 | } 3578 | .icon-twitter3:before { 3579 | content: "\e49f"; 3580 | } 3581 | .icon-feed2:before { 3582 | content: "\e4a0"; 3583 | } 3584 | .icon-feed3:before { 3585 | content: "\e4a1"; 3586 | } 3587 | .icon-feed4:before { 3588 | content: "\e4a2"; 3589 | } 3590 | .icon-youtube:before { 3591 | content: "\e4a3"; 3592 | } 3593 | .icon-youtube2:before { 3594 | content: "\e4a4"; 3595 | } 3596 | .icon-vimeo:before { 3597 | content: "\e4a5"; 3598 | } 3599 | .icon-vimeo2:before { 3600 | content: "\e4a6"; 3601 | } 3602 | .icon-vimeo3:before { 3603 | content: "\e4a7"; 3604 | } 3605 | .icon-lanyrd:before { 3606 | content: "\e4a8"; 3607 | } 3608 | .icon-flickr:before { 3609 | content: "\e4a9"; 3610 | } 3611 | .icon-flickr2:before { 3612 | content: "\e4aa"; 3613 | } 3614 | .icon-flickr3:before { 3615 | content: "\e4ab"; 3616 | } 3617 | .icon-flickr4:before { 3618 | content: "\e4ac"; 3619 | } 3620 | .icon-picassa:before { 3621 | content: "\e4ad"; 3622 | } 3623 | .icon-picassa2:before { 3624 | content: "\e4ae"; 3625 | } 3626 | .icon-dribbble:before { 3627 | content: "\e4af"; 3628 | } 3629 | .icon-dribbble2:before { 3630 | content: "\e4b0"; 3631 | } 3632 | .icon-dribbble3:before { 3633 | content: "\e4b1"; 3634 | } 3635 | .icon-forrst:before { 3636 | content: "\e4b2"; 3637 | } 3638 | .icon-forrst2:before { 3639 | content: "\e4b3"; 3640 | } 3641 | .icon-deviantart:before { 3642 | content: "\e4b4"; 3643 | } 3644 | .icon-deviantart2:before { 3645 | content: "\e4b5"; 3646 | } 3647 | .icon-steam:before { 3648 | content: "\e4b6"; 3649 | } 3650 | .icon-steam2:before { 3651 | content: "\e4b7"; 3652 | } 3653 | .icon-github:before { 3654 | content: "\e4b8"; 3655 | } 3656 | .icon-github2:before { 3657 | content: "\e4b9"; 3658 | } 3659 | .icon-github3:before { 3660 | content: "\e4ba"; 3661 | } 3662 | .icon-github4:before { 3663 | content: "\e4bb"; 3664 | } 3665 | .icon-github5:before { 3666 | content: "\e4bc"; 3667 | } 3668 | .icon-wordpress:before { 3669 | content: "\e4bd"; 3670 | } 3671 | .icon-wordpress2:before { 3672 | content: "\e4be"; 3673 | } 3674 | .icon-joomla:before { 3675 | content: "\e4bf"; 3676 | } 3677 | .icon-blogger:before { 3678 | content: "\e4c0"; 3679 | } 3680 | .icon-blogger2:before { 3681 | content: "\e4c1"; 3682 | } 3683 | .icon-tumblr:before { 3684 | content: "\e4c2"; 3685 | } 3686 | .icon-tumblr2:before { 3687 | content: "\e4c3"; 3688 | } 3689 | .icon-yahoo:before { 3690 | content: "\e4c4"; 3691 | } 3692 | .icon-tux:before { 3693 | content: "\e4c5"; 3694 | } 3695 | .icon-apple:before { 3696 | content: "\e4c6"; 3697 | } 3698 | .icon-finder:before { 3699 | content: "\e4c7"; 3700 | } 3701 | .icon-android:before { 3702 | content: "\e4c8"; 3703 | } 3704 | .icon-windows:before { 3705 | content: "\e4c9"; 3706 | } 3707 | .icon-windows8:before { 3708 | content: "\e4ca"; 3709 | } 3710 | .icon-soundcloud:before { 3711 | content: "\e4cb"; 3712 | } 3713 | .icon-soundcloud2:before { 3714 | content: "\e4cc"; 3715 | } 3716 | .icon-skype:before { 3717 | content: "\e4cd"; 3718 | } 3719 | .icon-reddit:before { 3720 | content: "\e4ce"; 3721 | } 3722 | .icon-linkedin:before { 3723 | content: "\e4cf"; 3724 | } 3725 | .icon-lastfm:before { 3726 | content: "\e4d0"; 3727 | } 3728 | .icon-lastfm2:before { 3729 | content: "\e4d1"; 3730 | } 3731 | .icon-delicious:before { 3732 | content: "\e4d2"; 3733 | } 3734 | .icon-stumbleupon:before { 3735 | content: "\e4d3"; 3736 | } 3737 | .icon-stumbleupon2:before { 3738 | content: "\e4d4"; 3739 | } 3740 | .icon-stackoverflow:before { 3741 | content: "\e4d5"; 3742 | } 3743 | .icon-pinterest:before { 3744 | content: "\e4d6"; 3745 | } 3746 | .icon-pinterest2:before { 3747 | content: "\e4d7"; 3748 | } 3749 | .icon-xing:before { 3750 | content: "\e4d8"; 3751 | } 3752 | .icon-xing2:before { 3753 | content: "\e4d9"; 3754 | } 3755 | .icon-flattr:before { 3756 | content: "\e4da"; 3757 | } 3758 | .icon-foursquare:before { 3759 | content: "\e4db"; 3760 | } 3761 | .icon-foursquare2:before { 3762 | content: "\e4dc"; 3763 | } 3764 | .icon-paypal:before { 3765 | content: "\e4dd"; 3766 | } 3767 | .icon-paypal2:before { 3768 | content: "\e4de"; 3769 | } 3770 | .icon-paypal3:before { 3771 | content: "\e4df"; 3772 | } 3773 | .icon-yelp:before { 3774 | content: "\e4e0"; 3775 | } 3776 | .icon-libreoffice:before { 3777 | content: "\e4e1"; 3778 | } 3779 | .icon-file-pdf:before { 3780 | content: "\e4e2"; 3781 | } 3782 | .icon-file-openoffice:before { 3783 | content: "\e4e3"; 3784 | } 3785 | .icon-file-word:before { 3786 | content: "\e4e4"; 3787 | } 3788 | .icon-file-excel:before { 3789 | content: "\e4e5"; 3790 | } 3791 | .icon-file-zip:before { 3792 | content: "\e4e6"; 3793 | } 3794 | .icon-file-powerpoint:before { 3795 | content: "\e4e7"; 3796 | } 3797 | .icon-file-xml:before { 3798 | content: "\e4e8"; 3799 | } 3800 | .icon-file-css:before { 3801 | content: "\e4e9"; 3802 | } 3803 | .icon-html5:before { 3804 | content: "\e4ea"; 3805 | } 3806 | .icon-html52:before { 3807 | content: "\e4eb"; 3808 | } 3809 | .icon-css3:before { 3810 | content: "\e4ec"; 3811 | } 3812 | .icon-chrome:before { 3813 | content: "\e4ed"; 3814 | } 3815 | .icon-firefox:before { 3816 | content: "\e4ee"; 3817 | } 3818 | .icon-IE:before { 3819 | content: "\e4ef"; 3820 | } 3821 | .icon-opera:before { 3822 | content: "\e4f0"; 3823 | } 3824 | .icon-safari:before { 3825 | content: "\e4f1"; 3826 | } 3827 | .icon-IcoMoon:before { 3828 | content: "\e4f2"; 3829 | } 3830 | -------------------------------------------------------------------------------- /src/assets/css/style.css: -------------------------------------------------------------------------------- 1 | body { 2 | background: #D1D1D1 url('../images/mochaGrunge.png'); 3 | font-family: 'Lato', sans-serif; 4 | } 5 | #main { 6 | min-height: 600px; 7 | margin-bottom: 20px; 8 | } 9 | h1, h2, h3, h4 { 10 | font-family: 'Lato', sans-serif; 11 | font-weight: 300; 12 | margin: 0; 13 | } 14 | a { 15 | color: #3bb9bb; 16 | -o-transition: color .2s linear; 17 | -moz-transition: color .2s linear; 18 | -webkit-transition: color .2s linear; 19 | } 20 | a:hover { 21 | color: #32a0a2; 22 | text-decoration: none; 23 | } 24 | #site-header { 25 | background-color: #222; 26 | border-color: #222; 27 | height: 60px; 28 | color: #CCC; 29 | font-weight: 300; 30 | } 31 | #site-header .logo { 32 | line-height: 60px; 33 | width: 170px; 34 | } 35 | #site-header .logo .alt { 36 | color: #3bb9bb; 37 | } 38 | #site-header .menu { 39 | list-style: none; 40 | margin: 0; 41 | padding: 0; 42 | } 43 | #site-header .menu li { 44 | display: inline-block; 45 | padding: 0 10px; 46 | } 47 | #site-header .menu li a { 48 | line-height: 60px; 49 | color: #CCC; 50 | transition: color .2s linear; 51 | -o-transition: color .2s linear; 52 | -moz-transition: color .2s linear; 53 | -webkit-transition: color .2s linear; 54 | } 55 | #site-header .menu li a:hover { 56 | line-height: 60px; 57 | color: #3bb9bb; 58 | text-decoration: none; 59 | } 60 | #site-bar { 61 | height: 40px; 62 | background: #4d4d4d; 63 | line-height: 40px; 64 | } 65 | #site-bar h1 { 66 | margin: 0; 67 | padding: 0; 68 | font-size: 22px; 69 | line-height: 40px; 70 | display: inline-block; 71 | color: #bbbbbb; 72 | } 73 | #site-bar p { 74 | margin: 0 0 0 4px; 75 | padding: 0 0 0 5px; 76 | font-size: 14px; 77 | display: inline-block; 78 | font-weight: 300; 79 | border-left: solid 1px #7a7a7a; 80 | line-height: 15px; 81 | color: #CCC; 82 | } 83 | footer { 84 | height: 30px; 85 | line-height: 30px; 86 | background: #FFF; 87 | position: fixed; 88 | bottom: 0; 89 | left: 0; 90 | right: 0; 91 | } 92 | footer .container { 93 | text-align: right; 94 | color: #999; 95 | } 96 | footer .container .glyphicon-heart { 97 | color: #ff2e46; 98 | } 99 | .no-data { 100 | text-align: center; 101 | font-style: italic; 102 | color: #333; 103 | line-height: 100px; 104 | margin: 0; 105 | } 106 | .page-loader { 107 | position: absolute; 108 | z-index: 500; 109 | top: 0; 110 | left: 0; 111 | right: 0; 112 | bottom: 0; 113 | padding: 200px 0 0 0; 114 | background-color: rgba(0, 0, 0, 0.80); 115 | } 116 | .btn { 117 | display: inline-block; 118 | margin-bottom: 0; 119 | font-weight: normal; 120 | text-align: center; 121 | vertical-align: middle; 122 | -ms-touch-action: manipulation; 123 | touch-action: manipulation; 124 | cursor: pointer; 125 | background-image: none; 126 | border: 1px solid transparent; 127 | white-space: nowrap; 128 | padding: 7px 12px; 129 | font-size: 14px; 130 | line-height: 1.42857143; 131 | border-radius: 4px; 132 | -webkit-user-select: none; 133 | -moz-user-select: none; 134 | -ms-user-select: none; 135 | user-select: none; 136 | padding: 9px 12px 7px; 137 | border-width: 0 1px 4px 1px; 138 | font-size: 12px; 139 | font-weight: bold; 140 | text-transform: uppercase; 141 | } 142 | .btn-default { 143 | color: #555555; 144 | background-color: #eeeeee; 145 | border-color: #e2e2e2; 146 | } 147 | .btn-default:hover, .btn-default:focus, .btn-group.open .dropdown-toggle.btn-default { 148 | background-color: #eeeeee; 149 | border-color: #e2e2e2; 150 | } 151 | .btn-primary { 152 | color: #ffffff; 153 | background-color: #158cba; 154 | border-color: #127ba3; 155 | } 156 | .btn-primary:hover, .btn-primary:focus, .btn-group.open .dropdown-toggle.btn-primary { 157 | background-color: #158cba; 158 | border-color: #127ba3; 159 | } 160 | .btn-success { 161 | color: #ffffff; 162 | background-color: #28b62c; 163 | border-color: #23a127; 164 | } 165 | .btn-success:hover, .btn-success:focus, .btn-group.open .dropdown-toggle.btn-success { 166 | background-color: #28b62c; 167 | border-color: #23a127; 168 | } 169 | .btn:hover { 170 | margin-top: 1px; 171 | border-bottom-width: 3px; 172 | } 173 | .btn-info { 174 | color: #ffffff; 175 | background-color: #75caeb; 176 | border-color: #5fc1e8; 177 | } 178 | .btn-info:hover, .btn-info:focus, .btn-group.open .dropdown-toggle.btn-info { 179 | background-color: #75caeb; 180 | border-color: #5fc1e8; 181 | } 182 | .btn-info.disabled, .btn-info[disabled], fieldset[disabled] .btn-info, .btn-info.disabled:hover, .btn-info[disabled]:hover, fieldset[disabled] .btn-info:hover, .btn-info.disabled:focus, .btn-info[disabled]:focus, fieldset[disabled] .btn-info:focus, .btn-info.disabled.focus, .btn-info[disabled].focus, fieldset[disabled] .btn-info.focus, .btn-info.disabled:active, .btn-info[disabled]:active, fieldset[disabled] .btn-info:active, .btn-info.disabled.active, .btn-info[disabled].active, fieldset[disabled] .btn-info.active { 183 | background-color: #75caeb; 184 | border-color: #5fc1e8; 185 | } 186 | .btn-lg, .btn-group-lg > .btn { 187 | padding: 15px 16px 13px; 188 | line-height: 15px; 189 | } 190 | .label { 191 | display: inline; 192 | padding: .2em .6em .3em; 193 | font-size: 75%; 194 | font-weight: bold; 195 | line-height: 1; 196 | color: #ffffff; 197 | text-align: center; 198 | white-space: nowrap; 199 | vertical-align: baseline; 200 | border-radius: .25em; 201 | } 202 | .label-info { 203 | background-color: #75caeb; 204 | } 205 | .label-default { 206 | background-color: #999999; 207 | } 208 | .label-dark { 209 | background-color: #333; 210 | } -------------------------------------------------------------------------------- /src/assets/fonts/icomoon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RevillWeb/angularjs-by-example/8e27c0de08e61ceb5ff76f723209e25ad492a9af/src/assets/fonts/icomoon.eot -------------------------------------------------------------------------------- /src/assets/fonts/icomoon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RevillWeb/angularjs-by-example/8e27c0de08e61ceb5ff76f723209e25ad492a9af/src/assets/fonts/icomoon.ttf -------------------------------------------------------------------------------- /src/assets/fonts/icomoon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RevillWeb/angularjs-by-example/8e27c0de08e61ceb5ff76f723209e25ad492a9af/src/assets/fonts/icomoon.woff -------------------------------------------------------------------------------- /src/assets/images/angular.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RevillWeb/angularjs-by-example/8e27c0de08e61ceb5ff76f723209e25ad492a9af/src/assets/images/angular.png -------------------------------------------------------------------------------- /src/assets/images/brickwall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RevillWeb/angularjs-by-example/8e27c0de08e61ceb5ff76f723209e25ad492a9af/src/assets/images/brickwall.png -------------------------------------------------------------------------------- /src/assets/images/fallback-thin.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RevillWeb/angularjs-by-example/8e27c0de08e61ceb5ff76f723209e25ad492a9af/src/assets/images/fallback-thin.jpg -------------------------------------------------------------------------------- /src/assets/images/fallback.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RevillWeb/angularjs-by-example/8e27c0de08e61ceb5ff76f723209e25ad492a9af/src/assets/images/fallback.jpg -------------------------------------------------------------------------------- /src/assets/images/loading.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RevillWeb/angularjs-by-example/8e27c0de08e61ceb5ff76f723209e25ad492a9af/src/assets/images/loading.jpg -------------------------------------------------------------------------------- /src/assets/images/mochaGrunge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RevillWeb/angularjs-by-example/8e27c0de08e61ceb5ff76f723209e25ad492a9af/src/assets/images/mochaGrunge.png -------------------------------------------------------------------------------- /src/assets/images/shattered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RevillWeb/angularjs-by-example/8e27c0de08e61ceb5ff76f723209e25ad492a9af/src/assets/images/shattered.png -------------------------------------------------------------------------------- /src/assets/images/sos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RevillWeb/angularjs-by-example/8e27c0de08e61ceb5ff76f723209e25ad492a9af/src/assets/images/sos.png -------------------------------------------------------------------------------- /src/assets/js/angular-animate.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | AngularJS v1.3.8 3 | (c) 2010-2014 Google, Inc. http://angularjs.org 4 | License: MIT 5 | */ 6 | (function(N,f,W){'use strict';f.module("ngAnimate",["ng"]).directive("ngAnimateChildren",function(){return function(X,C,g){g=g.ngAnimateChildren;f.isString(g)&&0===g.length?C.data("$$ngAnimateChildren",!0):X.$watch(g,function(f){C.data("$$ngAnimateChildren",!!f)})}}).factory("$$animateReflow",["$$rAF","$document",function(f,C){return function(g){return f(function(){g()})}}]).config(["$provide","$animateProvider",function(X,C){function g(f){for(var n=0;n=C&&b>=x&&c()}var m=g(e);a=e.data("$$ngAnimateCSS3Data");if(-1!=m.getAttribute("class").indexOf(b)&&a){var k="",t="";n(b.split(" "),function(a, 26 | b){var e=(0c?d=1:60>c?d=30:180>c&&(d=300),q=b.setTimeout(function(){l(a)},1e3*d)}}function m(a){x&&h.attr("datetime",a)}function n(){if(k(),o){var a=d.preprocessDate(o,u,r);l(a),m(a.toISOString())}}var o,p,q=null,r=f.format,s=e.withoutSuffix,t=(new Date).getTime(),u=f.preprocess,v=i.amTimeAgo.replace(/^::/,""),w=0===i.amTimeAgo.indexOf("::"),x="TIME"===h[0].nodeName.toUpperCase();p=g.$watch(v,function(a){return"undefined"==typeof a||null===a||""===a?(k(),void(o&&(h.text(""),m(""),o=null))):(o=a,n(),void(void 0!==a&&w&&p()))}),a.isDefined(i.amWithoutSuffix)&&g.$watch(i.amWithoutSuffix,function(a){"boolean"==typeof a?(s=a,n()):s=e.withoutSuffix}),i.$observe("amFormat",function(a){"undefined"!=typeof a&&(r=a,n())}),i.$observe("amPreprocess",function(a){u=a,n()}),g.$on("$destroy",function(){k()}),g.$on("amMoment:localeChanged",function(){n()})}}]).service("amMoment",["moment","$rootScope","$log","angularMomentConfig",function(b,c,d,e){var f=this;this.preprocessors={utc:b.utc,unix:b.unix},this.changeLocale=function(d){var e=(b.locale||b.lang)(d);return a.isDefined(d)&&(c.$broadcast("amMoment:localeChanged"),c.$broadcast("amMoment:languageChange")),e},this.changeLanguage=function(a){return d.warn("angular-moment: Usage of amMoment.changeLanguage() is deprecated. Please use changeLocale()"),f.changeLocale(a)},this.preprocessDate=function(c,f,g){return a.isUndefined(f)&&(f=e.preprocess),this.preprocessors[f]?this.preprocessors[f](c,g):(f&&d.warn("angular-moment: Ignoring unsupported value for preprocess: "+f),!isNaN(parseFloat(c))&&isFinite(c)?b(parseInt(c,10)):b(c,g))},this.applyTimezone=function(a){var b=e.timezone;return a&&b&&(a.tz?a=a.tz(b):d.warn("angular-moment: timezone specified but moment.tz() is undefined. Did you forget to include moment-timezone.js?")),a}}]).filter("amCalendar",["moment","amMoment",function(a,b){return function(c,d){if("undefined"==typeof c||null===c)return"";c=b.preprocessDate(c,d);var e=a(c);return e.isValid()?b.applyTimezone(e).calendar():""}}]).filter("amDateFormat",["moment","amMoment",function(a,b){return function(c,d,e){if("undefined"==typeof c||null===c)return"";c=b.preprocessDate(c,e);var f=a(c);return f.isValid()?b.applyTimezone(f).format(d):""}}]).filter("amDurationFormat",["moment",function(a){return function(b,c,d){return"undefined"==typeof b||null===b?"":a.duration(b,c).humanize(d)}}])}"function"==typeof define&&define.amd?define("angular-moment",["angular","moment"],a):a(angular,window.moment)}(); -------------------------------------------------------------------------------- /src/assets/js/angular-preload-image.min.js: -------------------------------------------------------------------------------- 1 | angular.module("angular-preload-image",[]);angular.module("angular-preload-image").factory("preLoader",function(){return function(e,t,n){angular.element(new Image).bind("load",function(){t()}).bind("error",function(){n()}).attr("src",e)}});angular.module("angular-preload-image").directive("preloadImage",["preLoader",function(e){return{restrict:"A",terminal:true,priority:100,link:function(t,n,r){var i=r.ngSrc;t.default=r.defaultImage||"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3wEWEygNWiLqlwAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAAAMSURBVAjXY/j//z8ABf4C/tzMWecAAAAASUVORK5CYII=";r.$set("src",t.default);e(i,function(){r.$set("src",i)},function(){if(r.fallbackImage!=undefined){r.$set("src",r.fallbackImage)}})}}}]);angular.module("angular-preload-image").directive("preloadBgImage",["preLoader",function(e){return{restrict:"A",link:function(t,n,r){if(r.preloadBgImage!=undefined){t.default=r.defaultImage||"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3wEWEygNWiLqlwAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAAAMSURBVAjXY/j//z8ABf4C/tzMWecAAAAASUVORK5CYII=";n.css({"background-image":'url("'+t.default+'")'});e(r.preloadBgImage,function(){n.css({"background-image":'url("'+r.preloadBgImage+'")'})},function(){if(r.fallbackImage!=undefined){n.css({"background-image":'url("'+r.fallbackImage+'")'})}})}}}}]) -------------------------------------------------------------------------------- /src/assets/js/angular-resource.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | AngularJS v1.3.8 3 | (c) 2010-2014 Google, Inc. http://angularjs.org 4 | License: MIT 5 | */ 6 | (function(I,d,B){'use strict';function D(f,q){q=q||{};d.forEach(q,function(d,h){delete q[h]});for(var h in f)!f.hasOwnProperty(h)||"$"===h.charAt(0)&&"$"===h.charAt(1)||(q[h]=f[h]);return q}var w=d.$$minErr("$resource"),C=/^(\.[a-zA-Z_$][0-9a-zA-Z_$]*)+$/;d.module("ngResource",["ng"]).provider("$resource",function(){var f=this;this.defaults={stripTrailingSlashes:!0,actions:{get:{method:"GET"},save:{method:"POST"},query:{method:"GET",isArray:!0},remove:{method:"DELETE"},"delete":{method:"DELETE"}}}; 7 | this.$get=["$http","$q",function(q,h){function t(d,g){this.template=d;this.defaults=s({},f.defaults,g);this.urlParams={}}function v(x,g,l,m){function c(b,k){var c={};k=s({},g,k);r(k,function(a,k){u(a)&&(a=a());var d;if(a&&a.charAt&&"@"==a.charAt(0)){d=b;var e=a.substr(1);if(null==e||""===e||"hasOwnProperty"===e||!C.test("."+e))throw w("badmember",e);for(var e=e.split("."),n=0,g=e.length;nb&&0b/a}var b=d(f[h]),c,q,a=["touch"];u.isDefined(f.ngSwipeDisableMouse)||a.push("mouse");e.bind(m,{start:function(a,b){c=a;q=!0},cancel:function(a){q=!1},end:function(a,c){g(a)&&l.$apply(function(){m.triggerHandler(p);b(l,{$event:c})})}},a)}}])}var n=u.module("ngTouch",[]);n.factory("$swipe", 7 | [function(){function h(d){var e=d.touches&&d.touches.length?d.touches:[d];d=d.changedTouches&&d.changedTouches[0]||d.originalEvent&&d.originalEvent.changedTouches&&d.originalEvent.changedTouches[0]||e[0].originalEvent||e[0];return{x:d.clientX,y:d.clientY}}function k(d,e){var l=[];u.forEach(d,function(d){(d=p[d][e])&&l.push(d)});return l.join(" ")}var p={mouse:{start:"mousedown",move:"mousemove",end:"mouseup"},touch:{start:"touchstart",move:"touchmove",end:"touchend",cancel:"touchcancel"}};return{bind:function(d, 8 | e,l){var m,f,g,b,c=!1;l=l||["mouse","touch"];d.on(k(l,"start"),function(a){g=h(a);c=!0;f=m=0;b=g;e.start&&e.start(g,a)});var q=k(l,"cancel");if(q)d.on(q,function(a){c=!1;e.cancel&&e.cancel(a)});d.on(k(l,"move"),function(a){if(c&&g){var d=h(a);m+=Math.abs(d.x-b.x);f+=Math.abs(d.y-b.y);b=d;10>m&&10>f||(f>m?(c=!1,e.cancel&&e.cancel(a)):(a.preventDefault(),e.move&&e.move(d,a)))}});d.on(k(l,"end"),function(a){c&&(c=!1,e.end&&e.end(h(a),a))})}}}]);n.config(["$provide",function(h){h.decorator("ngClickDirective", 9 | ["$delegate",function(k){k.shift();return k}])}]);n.directive("ngClick",["$parse","$timeout","$rootElement",function(h,k,p){function d(b,c,d){for(var a=0;aMath.abs(b[a]-c)&&25>Math.abs(e-f))return b.splice(a,a+2),!0}return!1}function e(b){if(!(2500e&&1>c||g&&g[0]===e&&g[1]===c||(g&&(g=null),"label"===b.target.tagName.toLowerCase()&&(g=[e,c]),d(f,e,c)||(b.stopPropagation(), 10 | b.preventDefault(),b.target&&b.target.blur()))}}function l(b){b=b.touches&&b.touches.length?b.touches:[b];var c=b[0].clientX,d=b[0].clientY;f.push(c,d);k(function(){for(var a=0;ak&&12>x&&(f||(p[0].addEventListener("click",e,!0),p[0].addEventListener("touchstart", 12 | l,!0),f=[]),m=Date.now(),d(f,h,t),r&&r.blur(),u.isDefined(g.disabled)&&!1!==g.disabled||c.triggerHandler("click",[b]));a()});c.onclick=function(a){};c.on("click",function(a,c){b.$apply(function(){k(b,{$event:c||a})})});c.on("mousedown",function(a){c.addClass("ng-click-active")});c.on("mousemove mouseup",function(a){c.removeClass("ng-click-active")})}}]);s("ngSwipeLeft",-1,"swipeleft");s("ngSwipeRight",1,"swiperight")})(window,window.angular); 13 | -------------------------------------------------------------------------------- /src/assets/js/angular-truncate.js: -------------------------------------------------------------------------------- 1 | angular.module('truncate', []) 2 | .filter('characters', function () { 3 | return function (input, chars, breakOnWord) { 4 | if (isNaN(chars)) return input; 5 | if (chars <= 0) return ''; 6 | if (input && input.length > chars) { 7 | input = input.substring(0, chars); 8 | 9 | if (!breakOnWord) { 10 | var lastspace = input.lastIndexOf(' '); 11 | //get last space 12 | if (lastspace !== -1) { 13 | input = input.substr(0, lastspace); 14 | } 15 | }else{ 16 | while(input.charAt(input.length-1) === ' '){ 17 | input = input.substr(0, input.length -1); 18 | } 19 | } 20 | return input + '...'; 21 | } 22 | return input; 23 | }; 24 | }) 25 | .filter('words', function () { 26 | return function (input, words) { 27 | if (isNaN(words)) return input; 28 | if (words <= 0) return ''; 29 | if (input) { 30 | var inputWords = input.split(/\s+/); 31 | if (inputWords.length > words) { 32 | input = inputWords.slice(0, words).join(' ') + '...'; 33 | } 34 | } 35 | return input; 36 | }; 37 | }); -------------------------------------------------------------------------------- /src/assets/js/moment.min.js: -------------------------------------------------------------------------------- 1 | //! moment.js 2 | //! version : 2.8.3 3 | //! authors : Tim Wood, Iskren Chernev, Moment.js contributors 4 | //! license : MIT 5 | //! momentjs.com 6 | (function(a){function b(a,b,c){switch(arguments.length){case 2:return null!=a?a:b;case 3:return null!=a?a:null!=b?b:c;default:throw new Error("Implement me")}}function c(a,b){return zb.call(a,b)}function d(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function e(a){tb.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+a)}function f(a,b){var c=!0;return m(function(){return c&&(e(a),c=!1),b.apply(this,arguments)},b)}function g(a,b){qc[a]||(e(b),qc[a]=!0)}function h(a,b){return function(c){return p(a.call(this,c),b)}}function i(a,b){return function(c){return this.localeData().ordinal(a.call(this,c),b)}}function j(){}function k(a,b){b!==!1&&F(a),n(this,a),this._d=new Date(+a._d)}function l(a){var b=y(a),c=b.year||0,d=b.quarter||0,e=b.month||0,f=b.week||0,g=b.day||0,h=b.hour||0,i=b.minute||0,j=b.second||0,k=b.millisecond||0;this._milliseconds=+k+1e3*j+6e4*i+36e5*h,this._days=+g+7*f,this._months=+e+3*d+12*c,this._data={},this._locale=tb.localeData(),this._bubble()}function m(a,b){for(var d in b)c(b,d)&&(a[d]=b[d]);return c(b,"toString")&&(a.toString=b.toString),c(b,"valueOf")&&(a.valueOf=b.valueOf),a}function n(a,b){var c,d,e;if("undefined"!=typeof b._isAMomentObject&&(a._isAMomentObject=b._isAMomentObject),"undefined"!=typeof b._i&&(a._i=b._i),"undefined"!=typeof b._f&&(a._f=b._f),"undefined"!=typeof b._l&&(a._l=b._l),"undefined"!=typeof b._strict&&(a._strict=b._strict),"undefined"!=typeof b._tzm&&(a._tzm=b._tzm),"undefined"!=typeof b._isUTC&&(a._isUTC=b._isUTC),"undefined"!=typeof b._offset&&(a._offset=b._offset),"undefined"!=typeof b._pf&&(a._pf=b._pf),"undefined"!=typeof b._locale&&(a._locale=b._locale),Ib.length>0)for(c in Ib)d=Ib[c],e=b[d],"undefined"!=typeof e&&(a[d]=e);return a}function o(a){return 0>a?Math.ceil(a):Math.floor(a)}function p(a,b,c){for(var d=""+Math.abs(a),e=a>=0;d.lengthd;d++)(c&&a[d]!==b[d]||!c&&A(a[d])!==A(b[d]))&&g++;return g+f}function x(a){if(a){var b=a.toLowerCase().replace(/(.)s$/,"$1");a=jc[a]||kc[b]||b}return a}function y(a){var b,d,e={};for(d in a)c(a,d)&&(b=x(d),b&&(e[b]=a[d]));return e}function z(b){var c,d;if(0===b.indexOf("week"))c=7,d="day";else{if(0!==b.indexOf("month"))return;c=12,d="month"}tb[b]=function(e,f){var g,h,i=tb._locale[b],j=[];if("number"==typeof e&&(f=e,e=a),h=function(a){var b=tb().utc().set(d,a);return i.call(tb._locale,b,e||"")},null!=f)return h(f);for(g=0;c>g;g++)j.push(h(g));return j}}function A(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=b>=0?Math.floor(b):Math.ceil(b)),c}function B(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}function C(a,b,c){return hb(tb([a,11,31+b-c]),b,c).week}function D(a){return E(a)?366:365}function E(a){return a%4===0&&a%100!==0||a%400===0}function F(a){var b;a._a&&-2===a._pf.overflow&&(b=a._a[Bb]<0||a._a[Bb]>11?Bb:a._a[Cb]<1||a._a[Cb]>B(a._a[Ab],a._a[Bb])?Cb:a._a[Db]<0||a._a[Db]>23?Db:a._a[Eb]<0||a._a[Eb]>59?Eb:a._a[Fb]<0||a._a[Fb]>59?Fb:a._a[Gb]<0||a._a[Gb]>999?Gb:-1,a._pf._overflowDayOfYear&&(Ab>b||b>Cb)&&(b=Cb),a._pf.overflow=b)}function G(a){return null==a._isValid&&(a._isValid=!isNaN(a._d.getTime())&&a._pf.overflow<0&&!a._pf.empty&&!a._pf.invalidMonth&&!a._pf.nullInput&&!a._pf.invalidFormat&&!a._pf.userInvalidated,a._strict&&(a._isValid=a._isValid&&0===a._pf.charsLeftOver&&0===a._pf.unusedTokens.length)),a._isValid}function H(a){return a?a.toLowerCase().replace("_","-"):a}function I(a){for(var b,c,d,e,f=0;f0;){if(d=J(e.slice(0,b).join("-")))return d;if(c&&c.length>=b&&w(e,c,!0)>=b-1)break;b--}f++}return null}function J(a){var b=null;if(!Hb[a]&&Jb)try{b=tb.locale(),require("./locale/"+a),tb.locale(b)}catch(c){}return Hb[a]}function K(a,b){return b._isUTC?tb(a).zone(b._offset||0):tb(a).local()}function L(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function M(a){var b,c,d=a.match(Nb);for(b=0,c=d.length;c>b;b++)d[b]=pc[d[b]]?pc[d[b]]:L(d[b]);return function(e){var f="";for(b=0;c>b;b++)f+=d[b]instanceof Function?d[b].call(e,a):d[b];return f}}function N(a,b){return a.isValid()?(b=O(b,a.localeData()),lc[b]||(lc[b]=M(b)),lc[b](a)):a.localeData().invalidDate()}function O(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(Ob.lastIndex=0;d>=0&&Ob.test(a);)a=a.replace(Ob,c),Ob.lastIndex=0,d-=1;return a}function P(a,b){var c,d=b._strict;switch(a){case"Q":return Zb;case"DDDD":return _b;case"YYYY":case"GGGG":case"gggg":return d?ac:Rb;case"Y":case"G":case"g":return cc;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return d?bc:Sb;case"S":if(d)return Zb;case"SS":if(d)return $b;case"SSS":if(d)return _b;case"DDD":return Qb;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return Ub;case"a":case"A":return b._locale._meridiemParse;case"X":return Xb;case"Z":case"ZZ":return Vb;case"T":return Wb;case"SSSS":return Tb;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return d?$b:Pb;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return Pb;case"Do":return Yb;default:return c=new RegExp(Y(X(a.replace("\\","")),"i"))}}function Q(a){a=a||"";var b=a.match(Vb)||[],c=b[b.length-1]||[],d=(c+"").match(hc)||["-",0,0],e=+(60*d[1])+A(d[2]);return"+"===d[0]?-e:e}function R(a,b,c){var d,e=c._a;switch(a){case"Q":null!=b&&(e[Bb]=3*(A(b)-1));break;case"M":case"MM":null!=b&&(e[Bb]=A(b)-1);break;case"MMM":case"MMMM":d=c._locale.monthsParse(b),null!=d?e[Bb]=d:c._pf.invalidMonth=b;break;case"D":case"DD":null!=b&&(e[Cb]=A(b));break;case"Do":null!=b&&(e[Cb]=A(parseInt(b,10)));break;case"DDD":case"DDDD":null!=b&&(c._dayOfYear=A(b));break;case"YY":e[Ab]=tb.parseTwoDigitYear(b);break;case"YYYY":case"YYYYY":case"YYYYYY":e[Ab]=A(b);break;case"a":case"A":c._isPm=c._locale.isPM(b);break;case"H":case"HH":case"h":case"hh":e[Db]=A(b);break;case"m":case"mm":e[Eb]=A(b);break;case"s":case"ss":e[Fb]=A(b);break;case"S":case"SS":case"SSS":case"SSSS":e[Gb]=A(1e3*("0."+b));break;case"X":c._d=new Date(1e3*parseFloat(b));break;case"Z":case"ZZ":c._useUTC=!0,c._tzm=Q(b);break;case"dd":case"ddd":case"dddd":d=c._locale.weekdaysParse(b),null!=d?(c._w=c._w||{},c._w.d=d):c._pf.invalidWeekday=b;break;case"w":case"ww":case"W":case"WW":case"d":case"e":case"E":a=a.substr(0,1);case"gggg":case"GGGG":case"GGGGG":a=a.substr(0,2),b&&(c._w=c._w||{},c._w[a]=A(b));break;case"gg":case"GG":c._w=c._w||{},c._w[a]=tb.parseTwoDigitYear(b)}}function S(a){var c,d,e,f,g,h,i;c=a._w,null!=c.GG||null!=c.W||null!=c.E?(g=1,h=4,d=b(c.GG,a._a[Ab],hb(tb(),1,4).year),e=b(c.W,1),f=b(c.E,1)):(g=a._locale._week.dow,h=a._locale._week.doy,d=b(c.gg,a._a[Ab],hb(tb(),g,h).year),e=b(c.w,1),null!=c.d?(f=c.d,g>f&&++e):f=null!=c.e?c.e+g:g),i=ib(d,e,f,h,g),a._a[Ab]=i.year,a._dayOfYear=i.dayOfYear}function T(a){var c,d,e,f,g=[];if(!a._d){for(e=V(a),a._w&&null==a._a[Cb]&&null==a._a[Bb]&&S(a),a._dayOfYear&&(f=b(a._a[Ab],e[Ab]),a._dayOfYear>D(f)&&(a._pf._overflowDayOfYear=!0),d=db(f,0,a._dayOfYear),a._a[Bb]=d.getUTCMonth(),a._a[Cb]=d.getUTCDate()),c=0;3>c&&null==a._a[c];++c)a._a[c]=g[c]=e[c];for(;7>c;c++)a._a[c]=g[c]=null==a._a[c]?2===c?1:0:a._a[c];a._d=(a._useUTC?db:cb).apply(null,g),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()+a._tzm)}}function U(a){var b;a._d||(b=y(a._i),a._a=[b.year,b.month,b.day,b.hour,b.minute,b.second,b.millisecond],T(a))}function V(a){var b=new Date;return a._useUTC?[b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate()]:[b.getFullYear(),b.getMonth(),b.getDate()]}function W(a){if(a._f===tb.ISO_8601)return void $(a);a._a=[],a._pf.empty=!0;var b,c,d,e,f,g=""+a._i,h=g.length,i=0;for(d=O(a._f,a._locale).match(Nb)||[],b=0;b0&&a._pf.unusedInput.push(f),g=g.slice(g.indexOf(c)+c.length),i+=c.length),pc[e]?(c?a._pf.empty=!1:a._pf.unusedTokens.push(e),R(e,c,a)):a._strict&&!c&&a._pf.unusedTokens.push(e);a._pf.charsLeftOver=h-i,g.length>0&&a._pf.unusedInput.push(g),a._isPm&&a._a[Db]<12&&(a._a[Db]+=12),a._isPm===!1&&12===a._a[Db]&&(a._a[Db]=0),T(a),F(a)}function X(a){return a.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e})}function Y(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function Z(a){var b,c,e,f,g;if(0===a._f.length)return a._pf.invalidFormat=!0,void(a._d=new Date(0/0));for(f=0;fg)&&(e=g,c=b));m(a,c||b)}function $(a){var b,c,d=a._i,e=dc.exec(d);if(e){for(a._pf.iso=!0,b=0,c=fc.length;c>b;b++)if(fc[b][1].exec(d)){a._f=fc[b][0]+(e[6]||" ");break}for(b=0,c=gc.length;c>b;b++)if(gc[b][1].exec(d)){a._f+=gc[b][0];break}d.match(Vb)&&(a._f+="Z"),W(a)}else a._isValid=!1}function _(a){$(a),a._isValid===!1&&(delete a._isValid,tb.createFromInputFallback(a))}function ab(a,b){var c,d=[];for(c=0;ca&&h.setFullYear(a),h}function db(a){var b=new Date(Date.UTC.apply(null,arguments));return 1970>a&&b.setUTCFullYear(a),b}function eb(a,b){if("string"==typeof a)if(isNaN(a)){if(a=b.weekdaysParse(a),"number"!=typeof a)return null}else a=parseInt(a,10);return a}function fb(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function gb(a,b,c){var d=tb.duration(a).abs(),e=yb(d.as("s")),f=yb(d.as("m")),g=yb(d.as("h")),h=yb(d.as("d")),i=yb(d.as("M")),j=yb(d.as("y")),k=e0,k[4]=c,fb.apply({},k)}function hb(a,b,c){var d,e=c-b,f=c-a.day();return f>e&&(f-=7),e-7>f&&(f+=7),d=tb(a).add(f,"d"),{week:Math.ceil(d.dayOfYear()/7),year:d.year()}}function ib(a,b,c,d,e){var f,g,h=db(a,0,1).getUTCDay();return h=0===h?7:h,c=null!=c?c:e,f=e-h+(h>d?7:0)-(e>h?7:0),g=7*(b-1)+(c-e)+f+1,{year:g>0?a:a-1,dayOfYear:g>0?g:D(a-1)+g}}function jb(b){var c=b._i,d=b._f;return b._locale=b._locale||tb.localeData(b._l),null===c||d===a&&""===c?tb.invalid({nullInput:!0}):("string"==typeof c&&(b._i=c=b._locale.preparse(c)),tb.isMoment(c)?new k(c,!0):(d?u(d)?Z(b):W(b):bb(b),new k(b)))}function kb(a,b){var c,d;if(1===b.length&&u(b[0])&&(b=b[0]),!b.length)return tb();for(c=b[0],d=1;d=0?"+":"-";return b+p(Math.abs(a),6)},gg:function(){return p(this.weekYear()%100,2)},gggg:function(){return p(this.weekYear(),4)},ggggg:function(){return p(this.weekYear(),5)},GG:function(){return p(this.isoWeekYear()%100,2)},GGGG:function(){return p(this.isoWeekYear(),4)},GGGGG:function(){return p(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return A(this.milliseconds()/100)},SS:function(){return p(A(this.milliseconds()/10),2)},SSS:function(){return p(this.milliseconds(),3)},SSSS:function(){return p(this.milliseconds(),3)},Z:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+p(A(a/60),2)+":"+p(A(a)%60,2)},ZZ:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+p(A(a/60),2)+p(A(a)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},X:function(){return this.unix()},Q:function(){return this.quarter()}},qc={},rc=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"];nc.length;)vb=nc.pop(),pc[vb+"o"]=i(pc[vb],vb);for(;oc.length;)vb=oc.pop(),pc[vb+vb]=h(pc[vb],2);pc.DDDD=h(pc.DDD,3),m(j.prototype,{set:function(a){var b,c;for(c in a)b=a[c],"function"==typeof b?this[c]=b:this["_"+c]=b},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(a){return this._months[a.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(a){return this._monthsShort[a.month()]},monthsParse:function(a){var b,c,d;for(this._monthsParse||(this._monthsParse=[]),b=0;12>b;b++)if(this._monthsParse[b]||(c=tb.utc([2e3,b]),d="^"+this.months(c,"")+"|^"+this.monthsShort(c,""),this._monthsParse[b]=new RegExp(d.replace(".",""),"i")),this._monthsParse[b].test(a))return b},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(a){return this._weekdays[a.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(a){return this._weekdaysShort[a.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(a){return this._weekdaysMin[a.day()]},weekdaysParse:function(a){var b,c,d;for(this._weekdaysParse||(this._weekdaysParse=[]),b=0;7>b;b++)if(this._weekdaysParse[b]||(c=tb([2e3,1]).day(b),d="^"+this.weekdays(c,"")+"|^"+this.weekdaysShort(c,"")+"|^"+this.weekdaysMin(c,""),this._weekdaysParse[b]=new RegExp(d.replace(".",""),"i")),this._weekdaysParse[b].test(a))return b},_longDateFormat:{LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY LT",LLLL:"dddd, MMMM D, YYYY LT"},longDateFormat:function(a){var b=this._longDateFormat[a];return!b&&this._longDateFormat[a.toUpperCase()]&&(b=this._longDateFormat[a.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a]=b),b},isPM:function(a){return"p"===(a+"").toLowerCase().charAt(0)},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(a,b){var c=this._calendar[a];return"function"==typeof c?c.apply(b):c},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(a,b,c,d){var e=this._relativeTime[c];return"function"==typeof e?e(a,b,c,d):e.replace(/%d/i,a)},pastFuture:function(a,b){var c=this._relativeTime[a>0?"future":"past"];return"function"==typeof c?c(b):c.replace(/%s/i,b)},ordinal:function(a){return this._ordinal.replace("%d",a)},_ordinal:"%d",preparse:function(a){return a},postformat:function(a){return a},week:function(a){return hb(a,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),tb=function(b,c,e,f){var g;return"boolean"==typeof e&&(f=e,e=a),g={},g._isAMomentObject=!0,g._i=b,g._f=c,g._l=e,g._strict=f,g._isUTC=!1,g._pf=d(),jb(g)},tb.suppressDeprecationWarnings=!1,tb.createFromInputFallback=f("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(a){a._d=new Date(a._i)}),tb.min=function(){var a=[].slice.call(arguments,0);return kb("isBefore",a)},tb.max=function(){var a=[].slice.call(arguments,0);return kb("isAfter",a)},tb.utc=function(b,c,e,f){var g;return"boolean"==typeof e&&(f=e,e=a),g={},g._isAMomentObject=!0,g._useUTC=!0,g._isUTC=!0,g._l=e,g._i=b,g._f=c,g._strict=f,g._pf=d(),jb(g).utc()},tb.unix=function(a){return tb(1e3*a)},tb.duration=function(a,b){var d,e,f,g,h=a,i=null;return tb.isDuration(a)?h={ms:a._milliseconds,d:a._days,M:a._months}:"number"==typeof a?(h={},b?h[b]=a:h.milliseconds=a):(i=Lb.exec(a))?(d="-"===i[1]?-1:1,h={y:0,d:A(i[Cb])*d,h:A(i[Db])*d,m:A(i[Eb])*d,s:A(i[Fb])*d,ms:A(i[Gb])*d}):(i=Mb.exec(a))?(d="-"===i[1]?-1:1,f=function(a){var b=a&&parseFloat(a.replace(",","."));return(isNaN(b)?0:b)*d},h={y:f(i[2]),M:f(i[3]),d:f(i[4]),h:f(i[5]),m:f(i[6]),s:f(i[7]),w:f(i[8])}):"object"==typeof h&&("from"in h||"to"in h)&&(g=r(tb(h.from),tb(h.to)),h={},h.ms=g.milliseconds,h.M=g.months),e=new l(h),tb.isDuration(a)&&c(a,"_locale")&&(e._locale=a._locale),e},tb.version=wb,tb.defaultFormat=ec,tb.ISO_8601=function(){},tb.momentProperties=Ib,tb.updateOffset=function(){},tb.relativeTimeThreshold=function(b,c){return mc[b]===a?!1:c===a?mc[b]:(mc[b]=c,!0)},tb.lang=f("moment.lang is deprecated. Use moment.locale instead.",function(a,b){return tb.locale(a,b)}),tb.locale=function(a,b){var c;return a&&(c="undefined"!=typeof b?tb.defineLocale(a,b):tb.localeData(a),c&&(tb.duration._locale=tb._locale=c)),tb._locale._abbr},tb.defineLocale=function(a,b){return null!==b?(b.abbr=a,Hb[a]||(Hb[a]=new j),Hb[a].set(b),tb.locale(a),Hb[a]):(delete Hb[a],null)},tb.langData=f("moment.langData is deprecated. Use moment.localeData instead.",function(a){return tb.localeData(a)}),tb.localeData=function(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return tb._locale;if(!u(a)){if(b=J(a))return b;a=[a]}return I(a)},tb.isMoment=function(a){return a instanceof k||null!=a&&c(a,"_isAMomentObject")},tb.isDuration=function(a){return a instanceof l};for(vb=rc.length-1;vb>=0;--vb)z(rc[vb]);tb.normalizeUnits=function(a){return x(a)},tb.invalid=function(a){var b=tb.utc(0/0);return null!=a?m(b._pf,a):b._pf.userInvalidated=!0,b},tb.parseZone=function(){return tb.apply(null,arguments).parseZone()},tb.parseTwoDigitYear=function(a){return A(a)+(A(a)>68?1900:2e3)},m(tb.fn=k.prototype,{clone:function(){return tb(this)},valueOf:function(){return+this._d+6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){var a=tb(this).utc();return 00:!1},parsingFlags:function(){return m({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(a){return this.zone(0,a)},local:function(a){return this._isUTC&&(this.zone(0,a),this._isUTC=!1,a&&this.add(this._dateTzOffset(),"m")),this},format:function(a){var b=N(this,a||tb.defaultFormat);return this.localeData().postformat(b)},add:s(1,"add"),subtract:s(-1,"subtract"),diff:function(a,b,c){var d,e,f,g=K(a,this),h=6e4*(this.zone()-g.zone());return b=x(b),"year"===b||"month"===b?(d=432e5*(this.daysInMonth()+g.daysInMonth()),e=12*(this.year()-g.year())+(this.month()-g.month()),f=this-tb(this).startOf("month")-(g-tb(g).startOf("month")),f-=6e4*(this.zone()-tb(this).startOf("month").zone()-(g.zone()-tb(g).startOf("month").zone())),e+=f/d,"year"===b&&(e/=12)):(d=this-g,e="second"===b?d/1e3:"minute"===b?d/6e4:"hour"===b?d/36e5:"day"===b?(d-h)/864e5:"week"===b?(d-h)/6048e5:d),c?e:o(e)},from:function(a,b){return tb.duration({to:this,from:a}).locale(this.locale()).humanize(!b)},fromNow:function(a){return this.from(tb(),a)},calendar:function(a){var b=a||tb(),c=K(b,this).startOf("day"),d=this.diff(c,"days",!0),e=-6>d?"sameElse":-1>d?"lastWeek":0>d?"lastDay":1>d?"sameDay":2>d?"nextDay":7>d?"nextWeek":"sameElse";return this.format(this.localeData().calendar(e,this))},isLeapYear:function(){return E(this.year())},isDST:function(){return this.zone()+a):+this.clone().startOf(b)>+tb(a).startOf(b)},isBefore:function(a,b){return b=x("undefined"!=typeof b?b:"millisecond"),"millisecond"===b?(a=tb.isMoment(a)?a:tb(a),+a>+this):+this.clone().startOf(b)<+tb(a).startOf(b)},isSame:function(a,b){return b=x(b||"millisecond"),"millisecond"===b?(a=tb.isMoment(a)?a:tb(a),+this===+a):+this.clone().startOf(b)===+K(a,this).startOf(b)},min:f("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(a){return a=tb.apply(null,arguments),this>a?this:a}),max:f("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(a){return a=tb.apply(null,arguments),a>this?this:a}),zone:function(a,b){var c,d=this._offset||0;return null==a?this._isUTC?d:this._dateTzOffset():("string"==typeof a&&(a=Q(a)),Math.abs(a)<16&&(a=60*a),!this._isUTC&&b&&(c=this._dateTzOffset()),this._offset=a,this._isUTC=!0,null!=c&&this.subtract(c,"m"),d!==a&&(!b||this._changeInProgress?t(this,tb.duration(d-a,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,tb.updateOffset(this,!0),this._changeInProgress=null)),this)},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.zone(this._tzm):"string"==typeof this._i&&this.zone(this._i),this},hasAlignedHourOffset:function(a){return a=a?tb(a).zone():0,(this.zone()-a)%60===0},daysInMonth:function(){return B(this.year(),this.month())},dayOfYear:function(a){var b=yb((tb(this).startOf("day")-tb(this).startOf("year"))/864e5)+1;return null==a?b:this.add(a-b,"d")},quarter:function(a){return null==a?Math.ceil((this.month()+1)/3):this.month(3*(a-1)+this.month()%3)},weekYear:function(a){var b=hb(this,this.localeData()._week.dow,this.localeData()._week.doy).year;return null==a?b:this.add(a-b,"y")},isoWeekYear:function(a){var b=hb(this,1,4).year;return null==a?b:this.add(a-b,"y")},week:function(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),"d")},isoWeek:function(a){var b=hb(this,1,4).week;return null==a?b:this.add(7*(a-b),"d")},weekday:function(a){var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,"d")},isoWeekday:function(a){return null==a?this.day()||7:this.day(this.day()%7?a:a-7)},isoWeeksInYear:function(){return C(this.year(),1,4)},weeksInYear:function(){var a=this.localeData()._week;return C(this.year(),a.dow,a.doy)},get:function(a){return a=x(a),this[a]()},set:function(a,b){return a=x(a),"function"==typeof this[a]&&this[a](b),this},locale:function(b){var c;return b===a?this._locale._abbr:(c=tb.localeData(b),null!=c&&(this._locale=c),this)},lang:f("moment().lang() is deprecated. Use moment().localeData() instead.",function(b){return b===a?this.localeData():this.locale(b)}),localeData:function(){return this._locale},_dateTzOffset:function(){return 15*Math.round(this._d.getTimezoneOffset()/15)}}),tb.fn.millisecond=tb.fn.milliseconds=ob("Milliseconds",!1),tb.fn.second=tb.fn.seconds=ob("Seconds",!1),tb.fn.minute=tb.fn.minutes=ob("Minutes",!1),tb.fn.hour=tb.fn.hours=ob("Hours",!0),tb.fn.date=ob("Date",!0),tb.fn.dates=f("dates accessor is deprecated. Use date instead.",ob("Date",!0)),tb.fn.year=ob("FullYear",!0),tb.fn.years=f("years accessor is deprecated. Use year instead.",ob("FullYear",!0)),tb.fn.days=tb.fn.day,tb.fn.months=tb.fn.month,tb.fn.weeks=tb.fn.week,tb.fn.isoWeeks=tb.fn.isoWeek,tb.fn.quarters=tb.fn.quarter,tb.fn.toJSON=tb.fn.toISOString,m(tb.duration.fn=l.prototype,{_bubble:function(){var a,b,c,d=this._milliseconds,e=this._days,f=this._months,g=this._data,h=0;g.milliseconds=d%1e3,a=o(d/1e3),g.seconds=a%60,b=o(a/60),g.minutes=b%60,c=o(b/60),g.hours=c%24,e+=o(c/24),h=o(pb(e)),e-=o(qb(h)),f+=o(e/30),e%=30,h+=o(f/12),f%=12,g.days=e,g.months=f,g.years=h},abs:function(){return this._milliseconds=Math.abs(this._milliseconds),this._days=Math.abs(this._days),this._months=Math.abs(this._months),this._data.milliseconds=Math.abs(this._data.milliseconds),this._data.seconds=Math.abs(this._data.seconds),this._data.minutes=Math.abs(this._data.minutes),this._data.hours=Math.abs(this._data.hours),this._data.months=Math.abs(this._data.months),this._data.years=Math.abs(this._data.years),this},weeks:function(){return o(this.days()/7)},valueOf:function(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*A(this._months/12)},humanize:function(a){var b=gb(this,!a,this.localeData());return a&&(b=this.localeData().pastFuture(+this,b)),this.localeData().postformat(b)},add:function(a,b){var c=tb.duration(a,b);return this._milliseconds+=c._milliseconds,this._days+=c._days,this._months+=c._months,this._bubble(),this},subtract:function(a,b){var c=tb.duration(a,b);return this._milliseconds-=c._milliseconds,this._days-=c._days,this._months-=c._months,this._bubble(),this},get:function(a){return a=x(a),this[a.toLowerCase()+"s"]()},as:function(a){var b,c;if(a=x(a),"month"===a||"year"===a)return b=this._days+this._milliseconds/864e5,c=this._months+12*pb(b),"month"===a?c:c/12;switch(b=this._days+qb(this._months/12),a){case"week":return b/7+this._milliseconds/6048e5;case"day":return b+this._milliseconds/864e5;case"hour":return 24*b+this._milliseconds/36e5;case"minute":return 24*b*60+this._milliseconds/6e4;case"second":return 24*b*60*60+this._milliseconds/1e3;case"millisecond":return Math.floor(24*b*60*60*1e3)+this._milliseconds;default:throw new Error("Unknown unit "+a)}},lang:tb.fn.lang,locale:tb.fn.locale,toIsoString:f("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",function(){return this.toISOString()}),toISOString:function(){var a=Math.abs(this.years()),b=Math.abs(this.months()),c=Math.abs(this.days()),d=Math.abs(this.hours()),e=Math.abs(this.minutes()),f=Math.abs(this.seconds()+this.milliseconds()/1e3);return this.asSeconds()?(this.asSeconds()<0?"-":"")+"P"+(a?a+"Y":"")+(b?b+"M":"")+(c?c+"D":"")+(d||e||f?"T":"")+(d?d+"H":"")+(e?e+"M":"")+(f?f+"S":""):"P0D"},localeData:function(){return this._locale}}),tb.duration.fn.toString=tb.duration.fn.toISOString;for(vb in ic)c(ic,vb)&&rb(vb.toLowerCase());tb.duration.fn.asMilliseconds=function(){return this.as("ms")},tb.duration.fn.asSeconds=function(){return this.as("s")},tb.duration.fn.asMinutes=function(){return this.as("m")},tb.duration.fn.asHours=function(){return this.as("h")},tb.duration.fn.asDays=function(){return this.as("d")},tb.duration.fn.asWeeks=function(){return this.as("weeks")},tb.duration.fn.asMonths=function(){return this.as("M")},tb.duration.fn.asYears=function(){return this.as("y")},tb.locale("en",{ordinal:function(a){var b=a%10,c=1===A(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th"; 7 | return a+c}}),Jb?module.exports=tb:"function"==typeof define&&define.amd?(define("moment",function(a,b,c){return c.config&&c.config()&&c.config().noGlobal===!0&&(xb.moment=ub),tb}),sb(!0)):sb()}).call(this); -------------------------------------------------------------------------------- /src/components/bar/bar.ctrl.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | angular 3 | .module('app.core') 4 | .controller('BarController', function($scope, PageValues) { 5 | //Setup the view model object 6 | var vm = this; 7 | vm.data = PageValues; 8 | }); -------------------------------------------------------------------------------- /src/components/show/show.css: -------------------------------------------------------------------------------- 1 | .show-frame { 2 | background-color: #FFF; 3 | position: relative; 4 | } 5 | .show-frame h2 { 6 | margin: 0; 7 | padding: 0 10px; 8 | font-size: 18px; 9 | background-color: #222; 10 | line-height: 40px; 11 | color: #CCC; 12 | } 13 | .show-frame img { 14 | width: 100%; 15 | height: 197px; 16 | } 17 | .show-frame .date { 18 | position: absolute; 19 | top: 10px; 20 | left: 10px; 21 | } 22 | .show-frame .inner { 23 | padding: 0 10px 10px 10px; 24 | } 25 | .show-frame .inner p { 26 | padding: 0; 27 | margin: 0; 28 | } 29 | .show-frame .inner ul.info { 30 | list-style: none; 31 | border-bottom: dotted 1px #CCC; 32 | padding: 0; 33 | line-height: 40px; 34 | } 35 | .show-frame .inner ul.info li { 36 | display: inline-block; 37 | margin: 0; 38 | padding: 0; 39 | text-align: center; 40 | font-size: 18px; 41 | font-weight: bold; 42 | text-shadow: 1px 1px 0 #CCC; 43 | } 44 | .show-frame .inner ul.info li .icon { 45 | margin-right: 3px; 46 | } 47 | .show-frame .inner ul.info li.rating { 48 | color: #d53930; 49 | } 50 | .show-frame .inner ul.info li.country { 51 | color: #6e480e; 52 | } 53 | .show-frame .genres { 54 | position: absolute; 55 | right: -320px; 56 | top: 0; 57 | margin: 0; 58 | padding: 0; 59 | list-style: none; 60 | transform: rotate(90deg); 61 | transform-origin: left top 0; 62 | -webkit-transform: rotate(90deg); 63 | -webkit-transform-origin: left top 0; 64 | overflow: hidden; 65 | height: 20px; 66 | width: 300px; 67 | transition: all .5s linear; 68 | -o-transition: all .5s linear; 69 | -moz-transition: all .5s linear; 70 | -webkit-transition: all .5s linear; 71 | } 72 | 73 | .show-frame .genres li { 74 | display: inline-block; 75 | line-height: 20px; 76 | margin: 0; 77 | padding: 0 10px; 78 | background-color: rgba(59, 185, 187, 1); 79 | color: #FFF; 80 | } 81 | .show-frame .buttons { 82 | text-align: center; 83 | width: 100%; 84 | padding-top: 10px; 85 | } 86 | .show-frame .buttons a { 87 | width: 120px; 88 | position: relative; 89 | padding-left: 30px; 90 | } 91 | .show-frame .buttons a .icon { 92 | position: absolute; 93 | left: 10px; 94 | font-size: 16px; 95 | 96 | } 97 | ul.list-of-shows { 98 | list-style: none; 99 | padding: 0; 100 | margin: 0; 101 | } 102 | ul.list-of-shows li { 103 | margin: 15px 0; 104 | } -------------------------------------------------------------------------------- /src/components/show/show.drct.js: -------------------------------------------------------------------------------- 1 | angular 2 | .module('app.core') 3 | .directive('show', show); 4 | function show(ShowService) { 5 | var directive = { 6 | controller: controller, 7 | templateUrl: 'components/show/show.tpl.html', 8 | restrict: 'E', 9 | scope: { 10 | show: '=' 11 | } 12 | }; 13 | return directive; 14 | function controller($scope) { 15 | $scope.genres = []; 16 | ShowService.get($scope.show.id).then(function(response){ 17 | $scope.genres = response.genres; 18 | }); 19 | } 20 | } -------------------------------------------------------------------------------- /src/components/show/show.tpl.html: -------------------------------------------------------------------------------- 1 |
2 |
    3 |
  • {{genre.name}}
  • 4 |
5 | 6 |
{{show.first_air_date | amDateFormat:'DD-MM-YYYY'}}
7 |

{{show.original_name | characters:40}}

8 |
9 |
    10 |
  • {{show.vote_average}}
  • 11 |
  • {{country}}{{$last ? '' : ', '}} --
  • 12 |
    13 |
14 |
15 | View 16 |
17 |
18 |
-------------------------------------------------------------------------------- /src/directives/ngEnter.drct.js: -------------------------------------------------------------------------------- 1 | angular 2 | .module('app.core') 3 | .directive('ngEnter', ngEnter); 4 | 5 | function ngEnter() { 6 | return function(scope, element, attrs) { 7 | element.bind("keydown keypress", function(event) { 8 | if(event.which === 13) { 9 | scope.$apply(function(){ 10 | scope.$eval(attrs.ngEnter); 11 | }); 12 | event.preventDefault(); 13 | } 14 | }); 15 | }; 16 | } -------------------------------------------------------------------------------- /src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | AngularJS App Example 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 38 | 39 | 40 | 41 | 52 | 53 |
54 |
55 |

{{bar.data.title}}

56 |

{{bar.data.description}}

57 |
58 |
59 |
60 | 61 |
62 |
63 | 64 |
65 |
66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | -------------------------------------------------------------------------------- /src/sections/home/home.css: -------------------------------------------------------------------------------- 1 | .home-frame { 2 | position: absolute; 3 | left: 0; 4 | right: 0; 5 | } 6 | .home-banner { 7 | background: url('../../assets/images/shattered.png'); 8 | } 9 | .home-banner .inner { 10 | padding: 60px 0 0 0; 11 | } 12 | .home-banner .inner img { 13 | float: left; 14 | margin-top: -45px; 15 | } 16 | .home-banner .inner h1 { 17 | line-height: 60px; 18 | font-size: 40px; 19 | } 20 | .home-banner .inner h1 span { 21 | color: #3bb9bb; 22 | } 23 | .home-banner .inner h2 { 24 | font-size: 24px; 25 | line-height: 30px; 26 | color: #666; 27 | } 28 | .home-banner .inner p { 29 | font-size: 16px; 30 | line-height: 25px; 31 | margin-top: 30px; 32 | } 33 | .tutorials-title { 34 | font-size: 30px; 35 | line-height: 50px; 36 | font-weight: 300; 37 | background-color: #333; 38 | color: #FFF; 39 | } 40 | .tutorials { 41 | margin: 20px 0; 42 | padding: 0; 43 | list-style: none; 44 | } 45 | .tutorials li { 46 | position: relative; 47 | background-color: #FFF; 48 | padding: 20px 150px 20px 20px; 49 | margin-bottom: 20px; 50 | } 51 | .tutorials li.offline { 52 | background-color: #999999; 53 | color: #666666; 54 | } 55 | .tutorials li .btn { 56 | position: absolute; 57 | right: 40px; 58 | top: 40px; 59 | } 60 | .tutorials li p { 61 | margin: 10px 0 0 0; 62 | font-size: 16px; 63 | line-height: 20px; 64 | color: #666; 65 | } 66 | .tutorials li .number { 67 | width: 80px; 68 | height: 80px; 69 | float: left; 70 | background-color: #333; 71 | margin: 0 20px 0 0; 72 | text-align: center; 73 | line-height: 80px; 74 | font-size: 40px; 75 | color: #CCC; 76 | } 77 | .tutorials li.offline .number { 78 | background-color: #919191; 79 | color: #666; 80 | } 81 | .share-buttons { 82 | float: right; 83 | width: 330px; 84 | height: 50px; 85 | margin-top: -10px; 86 | } 87 | .home-buttons { 88 | text-align: center; 89 | padding: 20px 0 40px 0; 90 | } 91 | .no-data.tuts { 92 | line-height: 50px; 93 | margin-bottom: 30px; 94 | } 95 | @media(max-width:992px) { 96 | .home-banner .inner { 97 | width: 100%; 98 | padding: 20px; 99 | } 100 | } -------------------------------------------------------------------------------- /src/sections/home/home.ctrl.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | angular 3 | .module('app.core') 4 | .controller('HomeController', function($scope, PageValues) { 5 | //Set page title and description 6 | PageValues.title = "HOME"; 7 | PageValues.description = "Learn AngularJS using best practice real world examples."; 8 | //Setup view model object 9 | var vm = this; 10 | vm.tutorials = [ 11 | { 12 | title: "INTRODUCTION", 13 | description: "An introduction to the AngularJS by example application and the tutorial series. All about why this project exists, what the tutorial series is likely to include and who the tutorials are for.", 14 | link: "http://www.revillweb.com/angularjs-by-example/1-introduction/" 15 | }, 16 | { 17 | title: "PROJECT STRUCTURE & MODULARITY", 18 | description: "Looking at project structure in terms of AngularJS modularity and also how best to lay out your directories to make development a breeze.", 19 | link: "http://www.revillweb.com/angularjs-by-example/2-project-structure/" 20 | }, 21 | { 22 | title: "CONTROLLERS", 23 | description: "Investigating the different ways you can write AngularJS controllers along with recommended best practices.", 24 | link: "http://www.revillweb.com/angularjs-by-example/3-controllers/" 25 | }, 26 | { 27 | title: "SHARING DATA WITH ANGULARJS SERVICES", 28 | description: "The fourth part in the AngularJS by Example series showing how to use AngularJS services to consume a third-party API and share data throughout your entire application.", 29 | link: "http://www.revillweb.com/angularjs-by-example/4-sharing-data-with-angularjs-services/" 30 | }, 31 | { 32 | title: "WRITING DIRECTIVES", 33 | description: "Theories behind directive design and how to best implement them within your application.", 34 | link: "#" 35 | }, 36 | { 37 | title: "BUILD PROCESS", 38 | description: "So you have an awesome AngularJS app, how do you get it ready for production and deployment? Using Gulp & GitFlow to get the job done.", 39 | link: "#" 40 | } 41 | ]; 42 | }); 43 | -------------------------------------------------------------------------------- /src/sections/home/home.tpl.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 | 5 |

LEARN ANGULARJS THE EASY WAY.

6 |

Learn how to build superb AngularJS web applications using real world best practice examples coupled with in-depth tutorials from revillweb.com.

7 |

This website is a living and breathing AngularJS web application built using recommended best practices. AngularJS by example provides you with a complete application demonstrating recommended best practices from app structure all the way through to production deployment.

8 |
9 | GitHub 10 | RevillWeb 11 |
12 |
13 |
14 |
15 |
16 |
17 | ARTICLES & TUTORIALS 18 | 21 |
22 |
23 |
24 |
    25 |
  • 26 |
    #{{$index + 1}}
    27 |

    {{tutorial.title}}

    28 |

    {{tutorial.description}}

    29 | View 30 |
    31 |
  • 32 |
33 |

More tutorials coming soon...

34 |
35 |
36 | -------------------------------------------------------------------------------- /src/sections/popular/popular.ctrl.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | angular 3 | .module('app.core') 4 | .controller('PopularController', function($scope, PageValues, shows) { 5 | //Set page title and description 6 | PageValues.title = "POPULAR"; 7 | PageValues.description = "The most popular TV shows."; 8 | //Setup view model object 9 | var vm = this; 10 | vm.shows = shows; 11 | }); -------------------------------------------------------------------------------- /src/sections/popular/popular.tpl.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/sections/premieres/premieres.css: -------------------------------------------------------------------------------- 1 | ul.show-list .showing-date { 2 | line-height: 40px; 3 | text-shadow: 1px 1px 1px #FFF; 4 | color: #333; 5 | font-size: 16px; 6 | } 7 | ul.show-list { 8 | list-style: none; 9 | padding: 0; 10 | margin: 20px 0; 11 | } -------------------------------------------------------------------------------- /src/sections/premieres/premieres.ctrl.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | angular 3 | .module('app.core') 4 | .controller('PremieresController', function($scope, shows, PageValues) { 5 | //Set page title and description 6 | PageValues.title = "PREMIERES"; 7 | PageValues.description = "Brand new shows showing this month."; 8 | //Setup view model object 9 | var vm = this; 10 | vm.shows = shows; 11 | }); -------------------------------------------------------------------------------- /src/sections/premieres/premieres.tpl.html: -------------------------------------------------------------------------------- 1 |
    2 |
  • 3 | 4 |
  • 5 |
-------------------------------------------------------------------------------- /src/sections/search/search.css: -------------------------------------------------------------------------------- 1 | .search-top { 2 | padding: 20px 0; 3 | } 4 | .search-results .throbber { 5 | margin-top: 50px; 6 | } 7 | .search-results .no-data { 8 | font-size: 18px; 9 | } 10 | .search-btn { 11 | height: 46px; 12 | } 13 | .search-btn:hover { 14 | height: 46px; 15 | margin-top: 0; 16 | } -------------------------------------------------------------------------------- /src/sections/search/search.ctrl.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | angular 3 | .module('app.core') 4 | .controller('SearchController', function($location, $routeParams, ShowService, PageValues) { 5 | //Set page title and description 6 | PageValues.title = "SEARCH"; 7 | PageValues.description = "Search for your favorite TV shows."; 8 | //Setup view model object 9 | var vm = this; 10 | vm.query = null; 11 | vm.shows = []; 12 | vm.loading = null; 13 | vm.setSearch = function() { 14 | var query = encodeURI(vm.query); 15 | $location.path('/search/' + query); 16 | }; 17 | vm.performSearch = function(query) { 18 | vm.loading = true; 19 | ShowService.search(query).then(function(response){ 20 | vm.shows = response; 21 | vm.loading = false; 22 | }); 23 | }; 24 | if (typeof $routeParams.query != "undefined") { 25 | vm.performSearch($routeParams.query); 26 | vm.query = decodeURI($routeParams.query); 27 | } 28 | }); -------------------------------------------------------------------------------- /src/sections/search/search.tpl.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 | 5 | 6 | 7 |
8 |
9 |
10 |
Use the search box above to find your favorite TV shows
11 |
Your search did not return any results
12 |
13 |
    14 |
  • 15 | 16 |
  • 17 |
18 |
-------------------------------------------------------------------------------- /src/sections/view/view.css: -------------------------------------------------------------------------------- 1 | .view-title { 2 | color: #FFF; 3 | position: absolute; 4 | z-index: 2; 5 | top: 100px; 6 | right: 0; 7 | left: 0; 8 | line-height: 40px; 9 | background-color: #3bb9bb; 10 | font-size: 22px; 11 | } 12 | .view-banner { 13 | position: absolute; 14 | top: 100px; 15 | left: 0; 16 | right: 0; 17 | height: 500px; 18 | background-size: 100%; 19 | background-position: 100% 0; 20 | z-index: 1; 21 | } 22 | .view-title ul { 23 | list-style: none; 24 | margin: 0; 25 | padding: 0; 26 | } 27 | .view-title ul li { 28 | display: inline-block; 29 | border-right: solid 1px #32a0a2; 30 | padding: 0 10px; 31 | } 32 | .view-title ul li:first-child { 33 | border-left: solid 1px #32a0a2; 34 | } 35 | .view-container { 36 | margin-top: 350px; 37 | z-index: 2; 38 | position: relative; 39 | } 40 | .view-container h2 { 41 | line-height: 50px; 42 | color: #FFF; 43 | text-shadow: 1px 1px 1px #333; 44 | } 45 | .view-section { 46 | background-color: #FFF; 47 | padding: 20px; 48 | font-size: 16px; 49 | line-height: 25px; 50 | position: relative; 51 | margin-bottom: 20px; 52 | } 53 | .view-top p { 54 | padding-bottom: 70px; 55 | } 56 | .view-top .poster { 57 | float: left; 58 | margin-right: 20px; 59 | } 60 | .view-top .poster img { 61 | width: 150px; 62 | height: auto; 63 | z-index: 100; 64 | position: relative; 65 | } 66 | .view-top .buttons { 67 | position: absolute; 68 | bottom: 0; 69 | right: 0; 70 | left: 0; 71 | background-color: #222; 72 | height: 80px; 73 | padding: 20px; 74 | text-align: center; 75 | z-index: 90; 76 | } 77 | ul.view-list { 78 | margin: 0; 79 | padding: 0; 80 | list-style: none; 81 | width: 100%; 82 | overflow-x: scroll; 83 | overflow-y: hidden; 84 | white-space: nowrap; 85 | } 86 | ul.view-list li { 87 | display: inline-block; 88 | margin: 10px; 89 | } 90 | ul.view-list li .item-info { 91 | text-align: center; 92 | font-size: 16px; 93 | } 94 | ul.view-list li img { 95 | height: 297px; 96 | } 97 | .comments { 98 | min-height: 100px; 99 | } 100 | .comments .throbber { 101 | margin-top: 30px; 102 | } 103 | .comments ul { 104 | list-style: none; 105 | margin: 0; 106 | padding: 0; 107 | } 108 | .comments ul li { 109 | clear: both; 110 | margin-bottom: 20px; 111 | } 112 | .comments ul li:last-child { 113 | clear: both; 114 | margin-bottom: 0; 115 | } 116 | .comments ul li .avatar { 117 | float: left; 118 | } 119 | .comments ul li .text { 120 | padding: 0 20px; 121 | margin-left: 138px; 122 | } 123 | .comments ul li .text span { 124 | font-size: 14px; 125 | } 126 | .comments ul li .text h3 { 127 | margin-bottom: 10px; 128 | } 129 | -------------------------------------------------------------------------------- /src/sections/view/view.ctrl.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | angular 3 | .module('app.core') 4 | .controller('ViewController', function($scope, $location, PageValues, show, ShowService, $routeParams) { 5 | //Set page title and description 6 | PageValues.title = "VIEW"; 7 | PageValues.description = "Overview, seasons & info for '" + show.original_name + "'."; 8 | //Setup view model object 9 | var vm = this; 10 | vm.show = show; 11 | vm.setBannerImage = function() { 12 | return { 13 | 'background': 'url() no-repeat', 14 | 'background-size': '100%', 15 | 'background-position': '100% 0%' 16 | }; 17 | }; 18 | vm.show.cast = []; 19 | ShowService.getCast(vm.show.id).then(function(response){ 20 | vm.show.cast = response.cast; 21 | }); 22 | }); -------------------------------------------------------------------------------- /src/sections/view/view.tpl.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 | {{view.show.original_name}} ({{view.show.first_air_date | amDateFormat:'YYYY'}}) 5 |
    6 |
  • {{view.show.vote_average}}
  • 7 |
  • {{genre.name}}{{$last ? '' : ', '}}
  • 8 |
  • {{view.show.status}}
  • 9 |
10 |
11 |
12 |
13 |

Show Summary

14 |
15 |
16 |

{{view.show.overview}}

17 |

No overview is available for this show

18 |
19 | Homepage 20 |
21 |
22 |
23 |

Seasons

24 |
25 |
    26 |
  • 27 | 28 |
    29 |
    #{{season.season_number}}
    30 |
    Episode Count: {{season.episode_count}}
    31 |
    32 |
  • 33 |
34 |

No season information available

35 |
36 | 37 |

Cast

38 |
39 |
    40 |
  • 41 | 42 |
    43 | {{actor.name}} as
    44 | {{actor.character}} 45 |
    46 |
  • 47 |
48 |

No cast information available

49 |
50 |
51 | -------------------------------------------------------------------------------- /src/services/page.val.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | angular 4 | .module('app.core') 5 | .value('PageValues', { 6 | 'title': null, 7 | 'description': null, 8 | 'loading': false 9 | }); -------------------------------------------------------------------------------- /src/services/show.fct.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* 4 | * Contains a service to communicate with the TRACK TV API 5 | */ 6 | angular 7 | .module('app.services') 8 | .constant('API_KEY', '87de9079e74c828116acce677f6f255b') 9 | .constant('BASE_URL', 'http://api.themoviedb.org/3') 10 | .factory('ShowService', dataService); 11 | 12 | function dataService($http, API_KEY, BASE_URL, $log, moment) { 13 | var data = { 14 | 'getPremieres': getPremieres, 15 | 'get': get, 16 | 'search': search, 17 | 'getPopular': getPopular, 18 | 'getCast': getCast 19 | }; 20 | function makeRequest(url, params) { 21 | var requestUrl = BASE_URL + '/' + url + '?api_key=' + API_KEY; 22 | angular.forEach(params, function(value, key){ 23 | requestUrl = requestUrl + '&' + key + '=' + value; 24 | }); 25 | return $http({ 26 | 'url': requestUrl, 27 | 'method': 'GET', 28 | 'headers': { 29 | 'Content-Type': 'application/json' 30 | }, 31 | 'cache': true 32 | }).then(function(response){ 33 | return response.data; 34 | }).catch(dataServiceError); 35 | } 36 | function getPremieres() { 37 | //Get first day of the current month 38 | var date = new Date(); 39 | date.setDate(1); 40 | return makeRequest('discover/tv', {'first_air_date.gte': moment(date).format('DD-MM-YYYY'), append_to_response: 'genres'}).then(function(data){ 41 | return data.results; 42 | }); 43 | } 44 | function get(id) { 45 | return makeRequest('tv/' + id, {}); 46 | } 47 | function getCast(id) { 48 | return makeRequest('tv/' + id + '/credits', {}); 49 | } 50 | function search(query) { 51 | return makeRequest('search/tv', {query: query}).then(function(data){ 52 | return data.results; 53 | }); 54 | } 55 | function getPopular() { 56 | return makeRequest('tv/popular', {}).then(function(data){ 57 | return data.results; 58 | }); 59 | } 60 | return data; 61 | 62 | function dataServiceError(errorResponse) { 63 | $log.error('XHR Failed for ShowService'); 64 | $log.error(errorResponse); 65 | return errorResponse; 66 | } 67 | } --------------------------------------------------------------------------------