├── .env.example ├── .gitignore ├── README.md ├── app ├── Console │ ├── Commands │ │ └── .gitkeep │ └── Kernel.php ├── Dream.php ├── Exceptions │ └── Handler.php ├── Http │ ├── Controllers │ │ ├── Auth │ │ │ ├── AuthController.php │ │ │ └── PasswordController.php │ │ ├── Controller.php │ │ └── DreamController.php │ ├── Middleware │ │ ├── Authenticate.php │ │ ├── RedirectIfAuthenticated.php │ │ └── VerifyCsrfToken.php │ └── routes.php ├── Jobs │ └── Job.php ├── Providers │ └── AppServiceProvider.php ├── Repositories │ ├── DreamRepository.php │ └── UserRepository.php └── User.php ├── artisan ├── bootstrap └── app.php ├── composer.json ├── composer.lock ├── database ├── migrations │ ├── .gitkeep │ ├── 2014_10_12_000000_create_users_table.php │ ├── 2014_10_12_100000_create_password_resets_table.php │ └── 2015_04_04_221517_create_dreams_table.php └── seeds │ ├── .gitkeep │ └── DatabaseSeeder.php ├── phpunit.xml ├── public ├── .htaccess ├── css │ └── grayscale.css ├── favicon.ico ├── font-awesome │ ├── css │ │ ├── font-awesome.css │ │ └── font-awesome.min.css │ ├── fonts │ │ ├── FontAwesome.otf │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.svg │ │ ├── fontawesome-webfont.ttf │ │ └── fontawesome-webfont.woff │ ├── less │ │ ├── bordered-pulled.less │ │ ├── core.less │ │ ├── fixed-width.less │ │ ├── font-awesome.less │ │ ├── icons.less │ │ ├── larger.less │ │ ├── list.less │ │ ├── mixins.less │ │ ├── path.less │ │ ├── rotated-flipped.less │ │ ├── spinning.less │ │ ├── stacked.less │ │ └── variables.less │ └── scss │ │ ├── _bordered-pulled.scss │ │ ├── _core.scss │ │ ├── _fixed-width.scss │ │ ├── _icons.scss │ │ ├── _larger.scss │ │ ├── _list.scss │ │ ├── _mixins.scss │ │ ├── _path.scss │ │ ├── _rotated-flipped.scss │ │ ├── _spinning.scss │ │ ├── _stacked.scss │ │ ├── _variables.scss │ │ └── font-awesome.scss ├── fonts │ ├── glyphicons-halflings-regular.eot │ ├── glyphicons-halflings-regular.svg │ ├── glyphicons-halflings-regular.ttf │ ├── glyphicons-halflings-regular.woff │ └── glyphicons-halflings-regular.woff2 ├── img │ ├── downloads-bg.jpg │ ├── intro-bg.jpg │ └── map-marker.png ├── index.php ├── js │ ├── app.js │ ├── controllers.js │ ├── grayscale.js │ ├── jquery.easing.min.js │ └── services.js └── robots.txt ├── resources ├── lang │ └── en │ │ ├── passwords.php │ │ └── validation.php └── views │ ├── .gitkeep │ ├── auth │ ├── password.blade.php │ ├── register.blade.php │ ├── reset.blade.php │ └── template.blade.php │ ├── emails │ └── password.blade.php │ └── index.php ├── server.php ├── storage ├── app │ └── .gitignore ├── framework │ ├── cache │ │ └── .gitignore │ ├── sessions │ │ └── .gitignore │ └── views │ │ └── .gitignore └── logs │ └── .gitignore └── tests ├── ExampleTest.php └── TestCase.php /.env.example: -------------------------------------------------------------------------------- 1 | APP_ENV=local 2 | APP_DEBUG=true 3 | APP_KEY=01234567890123456789012345678901 4 | 5 | APP_LOCALE=en 6 | APP_FALLBACK_LOCALE=en 7 | 8 | DB_CONNECTION=mysql 9 | DB_HOST=localhost 10 | DB_DATABASE=dreams 11 | DB_USERNAME=root 12 | DB_PASSWORD= 13 | 14 | CACHE_DRIVER=file 15 | SESSION_DRIVER=file 16 | QUEUE_DRIVER=sync 17 | 18 | MAIL_DRIVER=smtp 19 | MAIL_HOST=smtp.free.fr 20 | MAIL_PORT=25 21 | MAIL_USERNAME=moi 22 | MAIL_PASSWORD=moi@free.fr 23 | 24 | # FILESYSTEM_DRIVER=local 25 | # FILESYSTEM_CLOUD=s3 26 | 27 | # S3_KEY=null 28 | # S3_SECRET=null 29 | # S3_REGION=null 30 | # S3_BUCKET=null 31 | 32 | # RACKSPACE_USERNAME=null 33 | # RACKSPACE_KEY=null 34 | # RACKSPACE_CONTAINER=null 35 | # RACKSPACE_REGION=null 36 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /lumen.log 2 | /vendor 3 | .env 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## LumenAngular ## 2 | 3 | **LumenAngular** is a tutorial application. 4 | 5 | ### Installation ### 6 | 7 | * `git clone https://github.com/bestmomo/lumenangular.git projectname` 8 | * `cd projectname` 9 | * `composer install` 10 | * Create a database and inform *.env* (remove *.example*) 11 | * `php artisan migrate` to create tables 12 | * `php artisan db:seed` to populate tables 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /app/Console/Commands/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bestmomo/lumenangular/a714d55e1bd9a23200c9ef4d3352ad1be67b67d3/app/Console/Commands/.gitkeep -------------------------------------------------------------------------------- /app/Console/Kernel.php: -------------------------------------------------------------------------------- 1 | belongsTo('App\User'); 31 | } 32 | 33 | /** 34 | * is_owner mutator. 35 | * 36 | */ 37 | public function getIsOwnerAttribute() 38 | { 39 | if(Auth::check()) 40 | { 41 | return $this->attributes['user_id'] === Auth::id() || Auth::user()->admin; 42 | } 43 | 44 | return false; 45 | } 46 | 47 | } 48 | -------------------------------------------------------------------------------- /app/Exceptions/Handler.php: -------------------------------------------------------------------------------- 1 | middleware('guest', ['except' => ['getLogout', 'getLog']]); 21 | } 22 | 23 | /** 24 | * Get auth 25 | * 26 | * @return json 27 | */ 28 | public function getLog() 29 | { 30 | return ['auth' => Auth::check()]; 31 | } 32 | 33 | /** 34 | * Handle a login request to the application. 35 | * 36 | * @param \Illuminate\Http\Request $request 37 | * @return \Illuminate\Http\Response 38 | */ 39 | public function postLogin(Request $request) 40 | { 41 | $this->validate($request, [ 42 | 'email' => 'required|email', 43 | 'password' => 'required', 44 | ]); 45 | 46 | $credentials = $request->only('email', 'password'); 47 | 48 | if (Auth::attempt($credentials, $request->has('remember'))) 49 | { 50 | return ['result' => 'success']; 51 | } 52 | 53 | return ['result' => 'fail']; 54 | } 55 | 56 | /** 57 | * Log the user out of the application. 58 | * 59 | * @return \Illuminate\Http\Response 60 | */ 61 | public function getLogout() 62 | { 63 | Auth::logout(); 64 | 65 | return ['result' => 'success']; 66 | } 67 | 68 | /** 69 | * Show the application registration form. 70 | * 71 | * @return \Illuminate\Http\Response 72 | */ 73 | public function getRegister() 74 | { 75 | return view('auth.register'); 76 | } 77 | 78 | /** 79 | * Handle a registration request for the application. 80 | * 81 | * @param \Illuminate\Http\Request $request 82 | * @param App\Repositories\UserRepository 83 | * @return \Illuminate\Http\Response 84 | */ 85 | public function postRegister(Request $request, UserRepository $userRepository) 86 | { 87 | $this->validate($request, [ 88 | 'name' => 'required|max:255', 89 | 'email' => 'required|email|max:255|unique:users', 90 | 'password' => 'required|confirmed|min:6', 91 | ]); 92 | 93 | $user = $userRepository->store($request); 94 | 95 | Auth::login($user); 96 | 97 | return redirect('/'); 98 | } 99 | 100 | } 101 | -------------------------------------------------------------------------------- /app/Http/Controllers/Auth/PasswordController.php: -------------------------------------------------------------------------------- 1 | passwords = $passwords; 24 | 25 | $this->middleware('guest'); 26 | } 27 | 28 | /** 29 | * Display the form to request a password reset link. 30 | * 31 | * @return Response 32 | */ 33 | public function getEmail() 34 | { 35 | return view('auth.password'); 36 | } 37 | 38 | /** 39 | * Send a reset link to the given user. 40 | * 41 | * @param Request $request 42 | * @return Response 43 | */ 44 | public function postEmail(Request $request) 45 | { 46 | $this->validate($request, ['email' => 'required|email']); 47 | 48 | $response = $this->passwords->sendResetLink($request->only('email'), function($m) 49 | { 50 | $m->subject('Your Password Reset Link'); 51 | $m->from('administraor@blop.fr', 'administrator'); 52 | }); 53 | 54 | switch ($response) 55 | { 56 | case PasswordBroker::RESET_LINK_SENT: 57 | return redirect()->back()->with('status', trans($response)); 58 | 59 | case PasswordBroker::INVALID_USER: 60 | return redirect()->back()->withErrors(['email' => trans($response)]); 61 | } 62 | } 63 | 64 | /** 65 | * Display the password reset view for the given token. 66 | * 67 | * @param string $token 68 | * @return Response 69 | */ 70 | public function getReset($token) 71 | { 72 | return view('auth.reset')->with('token', $token); 73 | } 74 | 75 | /** 76 | * Reset the given user's password. 77 | * 78 | * @param Request $request 79 | * @return Response 80 | */ 81 | public function postReset(Request $request) 82 | { 83 | $this->validate($request, [ 84 | 'token' => 'required', 85 | 'email' => 'required|email', 86 | 'password' => 'required|confirmed', 87 | ]); 88 | 89 | $credentials = $request->only( 90 | 'email', 'password', 'password_confirmation', 'token' 91 | ); 92 | 93 | $response = $this->passwords->reset($credentials, function($user, $password) 94 | { 95 | $user->password = bcrypt($password); 96 | 97 | $user->save(); 98 | 99 | Auth::login($user); 100 | }); 101 | 102 | switch ($response) 103 | { 104 | case PasswordBroker::PASSWORD_RESET: 105 | return redirect('/'); 106 | 107 | default: 108 | return redirect()->back() 109 | ->withInput($request->only('email')) 110 | ->withErrors(['email' => trans($response)]); 111 | } 112 | } 113 | 114 | } 115 | -------------------------------------------------------------------------------- /app/Http/Controllers/Controller.php: -------------------------------------------------------------------------------- 1 | 'required|max:2000', 24 | ]; 25 | 26 | /** 27 | * Create a new DreamController controller instance. 28 | * 29 | * @param App\Repositories\DreamRepository $dreamRepository 30 | * @return void 31 | */ 32 | public function __construct(DreamRepository $dreamRepository) 33 | { 34 | $this->dreamRepository = $dreamRepository; 35 | 36 | $this->middleware('auth', ['only' => ['store', 'update', 'destroy']]); 37 | } 38 | 39 | /** 40 | * Display a listing of the resource. 41 | * 42 | * @return Response 43 | */ 44 | public function index() 45 | { 46 | return $this->dreamRepository->getDreamsWithUserPaginate(4); 47 | } 48 | 49 | /** 50 | * Store a newly created resource in storage. 51 | * 52 | * @param Illuminate\Http\Request $request 53 | * @return Response 54 | */ 55 | public function store(Request $request) 56 | { 57 | $this->validate($request, $this->rules); 58 | 59 | $this->dreamRepository->store($request->all(), Auth::id()); 60 | 61 | return $this->dreamRepository->getDreamsWithUserPaginate(4); 62 | } 63 | 64 | /** 65 | * Update the specified resource in storage. 66 | * 67 | * @param Illuminate\Http\Request $request 68 | * @param int $id 69 | * @return Response 70 | */ 71 | public function update(Request $request, $id) 72 | { 73 | $this->validate($request, $this->rules); 74 | 75 | if ($this->dreamRepository->update($request->all(), $id)) 76 | { 77 | return ['result' => 'success']; 78 | } 79 | } 80 | 81 | /** 82 | * Remove the specified resource from storage. 83 | * 84 | * @param int $id 85 | * @return Response 86 | */ 87 | public function destroy($id) 88 | { 89 | if ($this->dreamRepository->destroy($id)) 90 | { 91 | return ['result' => 'success']; 92 | } 93 | } 94 | 95 | } 96 | -------------------------------------------------------------------------------- /app/Http/Middleware/Authenticate.php: -------------------------------------------------------------------------------- 1 | ajax()) 20 | { 21 | return response('Unauthorized.', 401); 22 | } 23 | else 24 | { 25 | return redirect()->guest('auth/login'); 26 | } 27 | } 28 | 29 | return $next($request); 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /app/Http/Middleware/RedirectIfAuthenticated.php: -------------------------------------------------------------------------------- 1 | get('/', function() { 15 | return view('index'); 16 | }); 17 | 18 | $app->get('auth/log', ['uses' => 'App\Http\Controllers\Auth\AuthController@getLog']); 19 | $app->post('auth/login', ['uses' => 'App\Http\Controllers\Auth\AuthController@postLogin']); 20 | $app->get('auth/logout', ['uses' => 'App\Http\Controllers\Auth\AuthController@getLogout']); 21 | $app->get('auth/register', ['uses' => 'App\Http\Controllers\Auth\AuthController@getRegister']); 22 | $app->post('auth/register', ['uses' => 'App\Http\Controllers\Auth\AuthController@postRegister']); 23 | 24 | $app->get('password/email', ['uses' => 'App\Http\Controllers\Auth\PasswordController@getEmail']); 25 | $app->post('password/email', ['uses' => 'App\Http\Controllers\Auth\PasswordController@postEmail']); 26 | $app->get('password/reset/{token}', ['uses' => 'App\Http\Controllers\Auth\PasswordController@getReset']); 27 | $app->post('password/reset', ['uses' => 'App\Http\Controllers\Auth\PasswordController@postReset']); 28 | 29 | 30 | $app->get('dream', ['uses' => 'App\Http\Controllers\DreamController@index']); 31 | $app->post('dream', ['uses' => 'App\Http\Controllers\DreamController@store']); 32 | $app->put('dream/{id}', ['uses' => 'App\Http\Controllers\DreamController@update']); 33 | $app->delete('dream/{id}', ['uses' => 'App\Http\Controllers\DreamController@destroy']); 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /app/Jobs/Job.php: -------------------------------------------------------------------------------- 1 | latest() 20 | ->simplePaginate($n); 21 | 22 | return $dreams; 23 | } 24 | 25 | /** 26 | * Store a dream. 27 | * 28 | * @param array $inputs 29 | * @param integer $user_id 30 | * @return boolean 31 | */ 32 | public function store($inputs, $user_id) 33 | { 34 | $dream = new Dream; 35 | $dream->content = $inputs['content']; 36 | $dream->user_id = $user_id; 37 | $dream->save(); 38 | } 39 | 40 | /** 41 | * Update a dream. 42 | * 43 | * @param array $inputs 44 | * @param integer $id 45 | * @return boolean 46 | */ 47 | public function update($inputs, $id) 48 | { 49 | $dream = $this->getById($id); 50 | 51 | if ($this->checkUser($dream)) 52 | { 53 | $dream->content = $inputs['content']; 54 | return $dream->save(); 55 | } 56 | return false; 57 | } 58 | 59 | /** 60 | * Destroy a dream. 61 | * 62 | * @param integer $id 63 | * @return boolean 64 | */ 65 | public function destroy($id) 66 | { 67 | $dream = $this->getById($id); 68 | 69 | if ($this->checkUser($dream)) 70 | { 71 | return $dream->delete(); 72 | } 73 | return false; 74 | } 75 | 76 | /** 77 | * Get a dream by id. 78 | * 79 | * @param integer $id 80 | * @return boolean 81 | */ 82 | public function getById($id) 83 | { 84 | return Dream::findOrFail($id); 85 | } 86 | 87 | /** 88 | * Check valid user. 89 | * 90 | * @param App\Dream $dream 91 | * @return boolean 92 | */ 93 | private function checkUser(Dream $dream) 94 | { 95 | return $dream->user_id == Auth::id() || Auth::user()->admin; 96 | } 97 | 98 | } 99 | -------------------------------------------------------------------------------- /app/Repositories/UserRepository.php: -------------------------------------------------------------------------------- 1 | $request->name, 19 | 'email' => $request->email, 20 | 'password' => bcrypt($request->password), 21 | ]); 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /app/User.php: -------------------------------------------------------------------------------- 1 | hasMany('App\Dream'); 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /artisan: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env php 2 | make( 32 | 'Illuminate\Contracts\Console\Kernel' 33 | ); 34 | 35 | exit($kernel->handle(new ArgvInput, new ConsoleOutput)); 36 | -------------------------------------------------------------------------------- /bootstrap/app.php: -------------------------------------------------------------------------------- 1 | withFacades(); 23 | 24 | $app->withEloquent(); 25 | 26 | /* 27 | |-------------------------------------------------------------------------- 28 | | Register Container Bindings 29 | |-------------------------------------------------------------------------- 30 | | 31 | | Now we will register a few bindings in the service container. We will 32 | | register the exception handler and the console kernel. You may add 33 | | your own bindings here if you like or you can make another file. 34 | | 35 | */ 36 | 37 | $app->singleton( 38 | Illuminate\Contracts\Debug\ExceptionHandler::class, 39 | App\Exceptions\Handler::class 40 | ); 41 | $app->singleton( 42 | Illuminate\Contracts\Console\Kernel::class, 43 | App\Console\Kernel::class 44 | ); 45 | 46 | /* 47 | |-------------------------------------------------------------------------- 48 | | Register Middleware 49 | |-------------------------------------------------------------------------- 50 | | 51 | | Next, we will register the middleware with the application. These can 52 | | be global middleware that run before and after each request into a 53 | | route or middleware that'll be assigned to some specific routes. 54 | | 55 | */ 56 | 57 | $app->middleware([ 58 | Illuminate\Cookie\Middleware\EncryptCookies::class, 59 | Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, 60 | Illuminate\Session\Middleware\StartSession::class, 61 | Illuminate\View\Middleware\ShareErrorsFromSession::class, 62 | Laravel\Lumen\Http\Middleware\VerifyCsrfToken::class, 63 | ]); 64 | 65 | $app->routeMiddleware([ 66 | 'auth' => App\Http\Middleware\Authenticate::class, 67 | 'guest' => App\Http\Middleware\RedirectIfAuthenticated::class, 68 | ]); 69 | 70 | /* 71 | |-------------------------------------------------------------------------- 72 | | Register Service Providers 73 | |-------------------------------------------------------------------------- 74 | | 75 | | Here we will register all of the application's service providers which 76 | | are used to bind services into the container. Service providers are 77 | | totally optional, so you are not required to uncomment this line. 78 | | 79 | */ 80 | 81 | //$app->register('App\Providers\AppServiceProvider'); 82 | 83 | /* 84 | |-------------------------------------------------------------------------- 85 | | Load The Application Routes 86 | |-------------------------------------------------------------------------- 87 | | 88 | | Next we will include the routes file so that they can all be added to 89 | | the application. This will provide all of the URLs the application 90 | | can respond to, as well as the controllers that may handle them. 91 | | 92 | */ 93 | 94 | require __DIR__.'/../app/Http/routes.php'; 95 | 96 | return $app; 97 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "laravel/lumen", 3 | "description": "The Laravel Lumen Framework.", 4 | "keywords": ["framework", "laravel", "lumen"], 5 | "license": "MIT", 6 | "type": "project", 7 | "require": { 8 | "php": ">=5.5.9", 9 | "laravel/lumen-framework": "5.1.*", 10 | "vlucas/phpdotenv": "~1.0", 11 | "illuminate/mail": "5.1.*" 12 | }, 13 | "require-dev": { 14 | "phpunit/phpunit": "~4.0", 15 | "fzaninotto/faker": "~1.0" 16 | }, 17 | "autoload": { 18 | "psr-4": { 19 | "App\\": "app/" 20 | }, 21 | "classmap": [ 22 | "database/" 23 | ] 24 | }, 25 | "autoload-dev": { 26 | "classmap": [ 27 | "tests/" 28 | ] 29 | }, 30 | "config": { 31 | "preferred-install": "dist" 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /database/migrations/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bestmomo/lumenangular/a714d55e1bd9a23200c9ef4d3352ad1be67b67d3/database/migrations/.gitkeep -------------------------------------------------------------------------------- /database/migrations/2014_10_12_000000_create_users_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 17 | $table->string('name'); 18 | $table->string('email')->unique(); 19 | $table->string('password', 60); 20 | $table->boolean('admin')->default(false); 21 | $table->rememberToken(); 22 | $table->timestamps(); 23 | }); 24 | } 25 | 26 | /** 27 | * Reverse the migrations. 28 | * 29 | * @return void 30 | */ 31 | public function down() 32 | { 33 | Schema::drop('users'); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /database/migrations/2014_10_12_100000_create_password_resets_table.php: -------------------------------------------------------------------------------- 1 | string('email')->index(); 17 | $table->string('token')->index(); 18 | $table->timestamp('created_at'); 19 | }); 20 | } 21 | 22 | /** 23 | * Reverse the migrations. 24 | * 25 | * @return void 26 | */ 27 | public function down() 28 | { 29 | Schema::drop('password_resets'); 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /database/migrations/2015_04_04_221517_create_dreams_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 12 | $table->timestamps(); 13 | $table->text('content'); 14 | $table->integer('user_id')->unsigned(); 15 | }); 16 | 17 | Schema::table('dreams', function(Blueprint $table) { 18 | $table->foreign('user_id')->references('id')->on('users') 19 | ->onDelete('restrict') 20 | ->onUpdate('restrict'); 21 | }); 22 | } 23 | 24 | public function down() 25 | { 26 | Schema::table('dreams', function(Blueprint $table) { 27 | $table->dropForeign('dreams_user_id_foreign'); 28 | }); 29 | 30 | Schema::drop('dreams'); 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /database/seeds/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bestmomo/lumenangular/a714d55e1bd9a23200c9ef4d3352ad1be67b67d3/database/seeds/.gitkeep -------------------------------------------------------------------------------- /database/seeds/DatabaseSeeder.php: -------------------------------------------------------------------------------- 1 | 'admin', 23 | 'email' => 'admin@use.fr', 24 | 'password' => bcrypt('admin'), 25 | 'admin' => true 26 | ]); 27 | 28 | User::create([ 29 | 'name' => 'user', 30 | 'email' => 'user@use.fr', 31 | 'password' => bcrypt('user') 32 | ]); 33 | 34 | foreach (range(1, 10) as $i) { 35 | Dream::create([ 36 | 'content' => $i . ' ' . $this->lorem, 37 | 'user_id' => rand(1, 2) 38 | ]); 39 | } 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /phpunit.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 14 | ./tests/ 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /public/.htaccess: -------------------------------------------------------------------------------- 1 | 2 | 3 | Options -MultiViews 4 | 5 | 6 | RewriteEngine On 7 | 8 | # Redirect Trailing Slashes... 9 | RewriteRule ^(.*)/$ /$1 [L,R=301] 10 | 11 | # Handle Front Controller... 12 | RewriteCond %{REQUEST_FILENAME} !-d 13 | RewriteCond %{REQUEST_FILENAME} !-f 14 | RewriteRule ^ index.php [L] 15 | 16 | -------------------------------------------------------------------------------- /public/css/grayscale.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Start Bootstrap - Grayscale Bootstrap Theme (http://startbootstrap.com) 3 | * Code licensed under the Apache License v2.0. 4 | * For details, see http://www.apache.org/licenses/LICENSE-2.0. 5 | */ 6 | 7 | body { 8 | width: 100%; 9 | height: 100%; 10 | font-family: Lora,"Helvetica Neue",Helvetica,Arial,sans-serif; 11 | color: #fff; 12 | background-color: #000; 13 | } 14 | 15 | html { 16 | width: 100%; 17 | height: 100%; 18 | } 19 | 20 | h1, 21 | h2, 22 | h3, 23 | h4, 24 | h5, 25 | h6 { 26 | margin: 0 0 35px; 27 | text-transform: uppercase; 28 | font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif; 29 | font-weight: 700; 30 | letter-spacing: 1px; 31 | } 32 | 33 | p { 34 | margin: 0 0 25px; 35 | font-size: 18px; 36 | line-height: 1.5; 37 | } 38 | 39 | @media(min-width:768px) { 40 | p { 41 | margin: 0 0 35px; 42 | font-size: 20px; 43 | line-height: 1.6; 44 | } 45 | } 46 | 47 | a { 48 | color: #42dca3; 49 | -webkit-transition: all .2s ease-in-out; 50 | -moz-transition: all .2s ease-in-out; 51 | transition: all .2s ease-in-out; 52 | } 53 | 54 | a:hover, 55 | a:focus { 56 | text-decoration: none; 57 | color: #1d9b6c; 58 | } 59 | 60 | .light { 61 | font-weight: 400; 62 | } 63 | 64 | .navbar-custom { 65 | margin-bottom: 0; 66 | border-bottom: 1px solid rgba(255,255,255,.3); 67 | text-transform: uppercase; 68 | font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif; 69 | background-color: #000; 70 | } 71 | 72 | .navbar-custom .navbar-brand { 73 | font-weight: 700; 74 | } 75 | 76 | .navbar-custom .navbar-brand:focus { 77 | outline: 0; 78 | } 79 | 80 | .navbar-custom .navbar-brand .navbar-toggle { 81 | padding: 4px 6px; 82 | font-size: 16px; 83 | color: #fff; 84 | } 85 | 86 | .navbar-custom .navbar-brand .navbar-toggle:focus, 87 | .navbar-custom .navbar-brand .navbar-toggle:active { 88 | outline: 0; 89 | } 90 | 91 | .navbar-custom a { 92 | color: #fff; 93 | } 94 | 95 | .navbar-custom .nav li a { 96 | -webkit-transition: background .3s ease-in-out; 97 | -moz-transition: background .3s ease-in-out; 98 | transition: background .3s ease-in-out; 99 | } 100 | 101 | .navbar-custom .nav li a:hover { 102 | outline: 0; 103 | color: rgba(255,255,255,.8); 104 | background-color: transparent; 105 | } 106 | 107 | .navbar-custom .nav li a:focus, 108 | .navbar-custom .nav li a:active { 109 | outline: 0; 110 | background-color: transparent; 111 | } 112 | 113 | .navbar-custom .nav li.active { 114 | outline: 0; 115 | } 116 | 117 | .navbar-custom .nav li.active a { 118 | background-color: rgba(255,255,255,.3); 119 | } 120 | 121 | .navbar-custom .nav li.active a:hover { 122 | color: #fff; 123 | } 124 | 125 | @media(min-width:768px) { 126 | .navbar-custom { 127 | padding: 20px 0; 128 | border-bottom: 0; 129 | letter-spacing: 1px; 130 | background: 0 0; 131 | -webkit-transition: background .5s ease-in-out,padding .5s ease-in-out; 132 | -moz-transition: background .5s ease-in-out,padding .5s ease-in-out; 133 | transition: background .5s ease-in-out,padding .5s ease-in-out; 134 | } 135 | 136 | .navbar-custom.top-nav-collapse { 137 | padding: 0; 138 | border-bottom: 1px solid rgba(255,255,255,.3); 139 | background: #000; 140 | } 141 | } 142 | 143 | .intro { 144 | display: table; 145 | width: 100%; 146 | height: auto; 147 | padding: 100px 0; 148 | text-align: center; 149 | color: #fff; 150 | background: url(../img/intro-bg.jpg) no-repeat bottom center scroll; 151 | background-color: #000; 152 | -webkit-background-size: cover; 153 | -moz-background-size: cover; 154 | background-size: cover; 155 | -o-background-size: cover; 156 | } 157 | 158 | .intro .intro-body { 159 | display: table-cell; 160 | vertical-align: middle; 161 | } 162 | 163 | .intro .intro-body .brand-heading { 164 | font-size: 40px; 165 | } 166 | 167 | .intro .intro-body .intro-text { 168 | font-size: 18px; 169 | } 170 | 171 | @media(min-width:768px) { 172 | .intro { 173 | height: 100%; 174 | padding: 0; 175 | } 176 | 177 | .intro .intro-body .brand-heading { 178 | font-size: 100px; 179 | } 180 | 181 | .intro .intro-body .intro-text { 182 | font-size: 26px; 183 | } 184 | } 185 | 186 | .btn-circle { 187 | width: 70px; 188 | height: 70px; 189 | margin-top: 15px; 190 | padding: 7px 16px; 191 | border: 2px solid #fff; 192 | border-radius: 100%!important; 193 | font-size: 40px; 194 | color: #fff; 195 | background: 0 0; 196 | -webkit-transition: background .3s ease-in-out; 197 | -moz-transition: background .3s ease-in-out; 198 | transition: background .3s ease-in-out; 199 | } 200 | 201 | .btn-circle:hover, 202 | .btn-circle:focus { 203 | outline: 0; 204 | color: #fff; 205 | background: rgba(255,255,255,.1); 206 | } 207 | 208 | .btn-circle i.animated { 209 | -webkit-transition-property: -webkit-transform; 210 | -webkit-transition-duration: 1s; 211 | -moz-transition-property: -moz-transform; 212 | -moz-transition-duration: 1s; 213 | } 214 | 215 | .btn-circle:hover i.animated { 216 | -webkit-animation-name: pulse; 217 | -moz-animation-name: pulse; 218 | -webkit-animation-duration: 1.5s; 219 | -moz-animation-duration: 1.5s; 220 | -webkit-animation-iteration-count: infinite; 221 | -moz-animation-iteration-count: infinite; 222 | -webkit-animation-timing-function: linear; 223 | -moz-animation-timing-function: linear; 224 | } 225 | 226 | @-webkit-keyframes pulse { 227 | 0% { 228 | -webkit-transform: scale(1); 229 | transform: scale(1); 230 | } 231 | 232 | 50% { 233 | -webkit-transform: scale(1.2); 234 | transform: scale(1.2); 235 | } 236 | 237 | 100% { 238 | -webkit-transform: scale(1); 239 | transform: scale(1); 240 | } 241 | } 242 | 243 | @-moz-keyframes pulse { 244 | 0% { 245 | -moz-transform: scale(1); 246 | transform: scale(1); 247 | } 248 | 249 | 50% { 250 | -moz-transform: scale(1.2); 251 | transform: scale(1.2); 252 | } 253 | 254 | 100% { 255 | -moz-transform: scale(1); 256 | transform: scale(1); 257 | } 258 | } 259 | 260 | .content-section { 261 | padding-top: 100px; 262 | } 263 | 264 | .download-section { 265 | width: 100%; 266 | padding: 50px 0; 267 | color: #fff; 268 | background: url(../img/downloads-bg.jpg) no-repeat center center scroll; 269 | background-color: #000; 270 | -webkit-background-size: cover; 271 | -moz-background-size: cover; 272 | background-size: cover; 273 | -o-background-size: cover; 274 | } 275 | 276 | #map { 277 | width: 100%; 278 | height: 200px; 279 | margin-top: 100px; 280 | } 281 | 282 | @media(min-width:767px) { 283 | .content-section { 284 | padding-top: 250px; 285 | } 286 | 287 | .download-section { 288 | padding: 100px 0; 289 | } 290 | 291 | #map { 292 | height: 400px; 293 | margin-top: 250px; 294 | } 295 | } 296 | 297 | .btn { 298 | border-radius: 0; 299 | text-transform: uppercase; 300 | font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif; 301 | font-weight: 400; 302 | -webkit-transition: all .3s ease-in-out; 303 | -moz-transition: all .3s ease-in-out; 304 | transition: all .3s ease-in-out; 305 | } 306 | 307 | .btn-default { 308 | border: 1px solid #42dca3; 309 | color: #42dca3; 310 | background-color: transparent; 311 | } 312 | 313 | .btn-default:hover, 314 | .btn-default:focus { 315 | border: 1px solid #42dca3; 316 | outline: 0; 317 | color: #000; 318 | background-color: #42dca3; 319 | } 320 | 321 | ul.banner-social-buttons { 322 | margin-top: 0; 323 | } 324 | 325 | @media(max-width:1199px) { 326 | ul.banner-social-buttons { 327 | margin-top: 15px; 328 | } 329 | } 330 | 331 | @media(max-width:767px) { 332 | ul.banner-social-buttons li { 333 | display: block; 334 | margin-bottom: 20px; 335 | padding: 0; 336 | } 337 | 338 | ul.banner-social-buttons li:last-child { 339 | margin-bottom: 0; 340 | } 341 | } 342 | 343 | footer { 344 | padding: 50px 0; 345 | } 346 | 347 | footer p { 348 | margin: 0; 349 | } 350 | 351 | ::-moz-selection { 352 | text-shadow: none; 353 | background: #fcfcfc; 354 | background: rgba(255,255,255,.2); 355 | } 356 | 357 | ::selection { 358 | text-shadow: none; 359 | background: #fcfcfc; 360 | background: rgba(255,255,255,.2); 361 | } 362 | 363 | img::selection { 364 | background: 0 0; 365 | } 366 | 367 | img::-moz-selection { 368 | background: 0 0; 369 | } 370 | 371 | body { 372 | webkit-tap-highlight-color: rgba(255,255,255,.2); 373 | } 374 | 375 | 376 | /* add-ons */ 377 | 378 | .has-error .checkbox, .has-error .checkbox-inline, .has-error .control-label, .has-error .help-block, .has-error .radio, .has-error .radio-inline, .has-error.checkbox label, .has-error.checkbox-inline label, .has-error.radio label, .has-error.radio-inline label { 379 | color: #e88; 380 | } 381 | 382 | .modal-header, .modal-body { 383 | color: #444; 384 | } 385 | 386 | textarea { 387 | resize: none; 388 | } 389 | 390 | .cadre { 391 | border-radius: 20px; 392 | border: 4px solid #888; 393 | padding-top: 40px; 394 | padding-right: 20px; 395 | padding-left: 20px; 396 | margin: 20px; 397 | } -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bestmomo/lumenangular/a714d55e1bd9a23200c9ef4d3352ad1be67b67d3/public/favicon.ico -------------------------------------------------------------------------------- /public/font-awesome/css/font-awesome.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.2.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"} -------------------------------------------------------------------------------- /public/font-awesome/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bestmomo/lumenangular/a714d55e1bd9a23200c9ef4d3352ad1be67b67d3/public/font-awesome/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /public/font-awesome/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bestmomo/lumenangular/a714d55e1bd9a23200c9ef4d3352ad1be67b67d3/public/font-awesome/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /public/font-awesome/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bestmomo/lumenangular/a714d55e1bd9a23200c9ef4d3352ad1be67b67d3/public/font-awesome/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /public/font-awesome/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bestmomo/lumenangular/a714d55e1bd9a23200c9ef4d3352ad1be67b67d3/public/font-awesome/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /public/font-awesome/less/bordered-pulled.less: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em @fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .pull-right { float: right; } 11 | .pull-left { float: left; } 12 | 13 | .@{fa-css-prefix} { 14 | &.pull-left { margin-right: .3em; } 15 | &.pull-right { margin-left: .3em; } 16 | } 17 | -------------------------------------------------------------------------------- /public/font-awesome/less/core.less: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal 14px/1 FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | } 12 | -------------------------------------------------------------------------------- /public/font-awesome/less/fixed-width.less: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .@{fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /public/font-awesome/less/font-awesome.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables.less"; 7 | @import "mixins.less"; 8 | @import "path.less"; 9 | @import "core.less"; 10 | @import "larger.less"; 11 | @import "fixed-width.less"; 12 | @import "list.less"; 13 | @import "bordered-pulled.less"; 14 | @import "spinning.less"; 15 | @import "rotated-flipped.less"; 16 | @import "stacked.less"; 17 | @import "icons.less"; 18 | -------------------------------------------------------------------------------- /public/font-awesome/less/icons.less: -------------------------------------------------------------------------------- 1 | /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen 2 | readers do not read off random characters that represent icons */ 3 | 4 | .@{fa-css-prefix}-glass:before { content: @fa-var-glass; } 5 | .@{fa-css-prefix}-music:before { content: @fa-var-music; } 6 | .@{fa-css-prefix}-search:before { content: @fa-var-search; } 7 | .@{fa-css-prefix}-envelope-o:before { content: @fa-var-envelope-o; } 8 | .@{fa-css-prefix}-heart:before { content: @fa-var-heart; } 9 | .@{fa-css-prefix}-star:before { content: @fa-var-star; } 10 | .@{fa-css-prefix}-star-o:before { content: @fa-var-star-o; } 11 | .@{fa-css-prefix}-user:before { content: @fa-var-user; } 12 | .@{fa-css-prefix}-film:before { content: @fa-var-film; } 13 | .@{fa-css-prefix}-th-large:before { content: @fa-var-th-large; } 14 | .@{fa-css-prefix}-th:before { content: @fa-var-th; } 15 | .@{fa-css-prefix}-th-list:before { content: @fa-var-th-list; } 16 | .@{fa-css-prefix}-check:before { content: @fa-var-check; } 17 | .@{fa-css-prefix}-remove:before, 18 | .@{fa-css-prefix}-close:before, 19 | .@{fa-css-prefix}-times:before { content: @fa-var-times; } 20 | .@{fa-css-prefix}-search-plus:before { content: @fa-var-search-plus; } 21 | .@{fa-css-prefix}-search-minus:before { content: @fa-var-search-minus; } 22 | .@{fa-css-prefix}-power-off:before { content: @fa-var-power-off; } 23 | .@{fa-css-prefix}-signal:before { content: @fa-var-signal; } 24 | .@{fa-css-prefix}-gear:before, 25 | .@{fa-css-prefix}-cog:before { content: @fa-var-cog; } 26 | .@{fa-css-prefix}-trash-o:before { content: @fa-var-trash-o; } 27 | .@{fa-css-prefix}-home:before { content: @fa-var-home; } 28 | .@{fa-css-prefix}-file-o:before { content: @fa-var-file-o; } 29 | .@{fa-css-prefix}-clock-o:before { content: @fa-var-clock-o; } 30 | .@{fa-css-prefix}-road:before { content: @fa-var-road; } 31 | .@{fa-css-prefix}-download:before { content: @fa-var-download; } 32 | .@{fa-css-prefix}-arrow-circle-o-down:before { content: @fa-var-arrow-circle-o-down; } 33 | .@{fa-css-prefix}-arrow-circle-o-up:before { content: @fa-var-arrow-circle-o-up; } 34 | .@{fa-css-prefix}-inbox:before { content: @fa-var-inbox; } 35 | .@{fa-css-prefix}-play-circle-o:before { content: @fa-var-play-circle-o; } 36 | .@{fa-css-prefix}-rotate-right:before, 37 | .@{fa-css-prefix}-repeat:before { content: @fa-var-repeat; } 38 | .@{fa-css-prefix}-refresh:before { content: @fa-var-refresh; } 39 | .@{fa-css-prefix}-list-alt:before { content: @fa-var-list-alt; } 40 | .@{fa-css-prefix}-lock:before { content: @fa-var-lock; } 41 | .@{fa-css-prefix}-flag:before { content: @fa-var-flag; } 42 | .@{fa-css-prefix}-headphones:before { content: @fa-var-headphones; } 43 | .@{fa-css-prefix}-volume-off:before { content: @fa-var-volume-off; } 44 | .@{fa-css-prefix}-volume-down:before { content: @fa-var-volume-down; } 45 | .@{fa-css-prefix}-volume-up:before { content: @fa-var-volume-up; } 46 | .@{fa-css-prefix}-qrcode:before { content: @fa-var-qrcode; } 47 | .@{fa-css-prefix}-barcode:before { content: @fa-var-barcode; } 48 | .@{fa-css-prefix}-tag:before { content: @fa-var-tag; } 49 | .@{fa-css-prefix}-tags:before { content: @fa-var-tags; } 50 | .@{fa-css-prefix}-book:before { content: @fa-var-book; } 51 | .@{fa-css-prefix}-bookmark:before { content: @fa-var-bookmark; } 52 | .@{fa-css-prefix}-print:before { content: @fa-var-print; } 53 | .@{fa-css-prefix}-camera:before { content: @fa-var-camera; } 54 | .@{fa-css-prefix}-font:before { content: @fa-var-font; } 55 | .@{fa-css-prefix}-bold:before { content: @fa-var-bold; } 56 | .@{fa-css-prefix}-italic:before { content: @fa-var-italic; } 57 | .@{fa-css-prefix}-text-height:before { content: @fa-var-text-height; } 58 | .@{fa-css-prefix}-text-width:before { content: @fa-var-text-width; } 59 | .@{fa-css-prefix}-align-left:before { content: @fa-var-align-left; } 60 | .@{fa-css-prefix}-align-center:before { content: @fa-var-align-center; } 61 | .@{fa-css-prefix}-align-right:before { content: @fa-var-align-right; } 62 | .@{fa-css-prefix}-align-justify:before { content: @fa-var-align-justify; } 63 | .@{fa-css-prefix}-list:before { content: @fa-var-list; } 64 | .@{fa-css-prefix}-dedent:before, 65 | .@{fa-css-prefix}-outdent:before { content: @fa-var-outdent; } 66 | .@{fa-css-prefix}-indent:before { content: @fa-var-indent; } 67 | .@{fa-css-prefix}-video-camera:before { content: @fa-var-video-camera; } 68 | .@{fa-css-prefix}-photo:before, 69 | .@{fa-css-prefix}-image:before, 70 | .@{fa-css-prefix}-picture-o:before { content: @fa-var-picture-o; } 71 | .@{fa-css-prefix}-pencil:before { content: @fa-var-pencil; } 72 | .@{fa-css-prefix}-map-marker:before { content: @fa-var-map-marker; } 73 | .@{fa-css-prefix}-adjust:before { content: @fa-var-adjust; } 74 | .@{fa-css-prefix}-tint:before { content: @fa-var-tint; } 75 | .@{fa-css-prefix}-edit:before, 76 | .@{fa-css-prefix}-pencil-square-o:before { content: @fa-var-pencil-square-o; } 77 | .@{fa-css-prefix}-share-square-o:before { content: @fa-var-share-square-o; } 78 | .@{fa-css-prefix}-check-square-o:before { content: @fa-var-check-square-o; } 79 | .@{fa-css-prefix}-arrows:before { content: @fa-var-arrows; } 80 | .@{fa-css-prefix}-step-backward:before { content: @fa-var-step-backward; } 81 | .@{fa-css-prefix}-fast-backward:before { content: @fa-var-fast-backward; } 82 | .@{fa-css-prefix}-backward:before { content: @fa-var-backward; } 83 | .@{fa-css-prefix}-play:before { content: @fa-var-play; } 84 | .@{fa-css-prefix}-pause:before { content: @fa-var-pause; } 85 | .@{fa-css-prefix}-stop:before { content: @fa-var-stop; } 86 | .@{fa-css-prefix}-forward:before { content: @fa-var-forward; } 87 | .@{fa-css-prefix}-fast-forward:before { content: @fa-var-fast-forward; } 88 | .@{fa-css-prefix}-step-forward:before { content: @fa-var-step-forward; } 89 | .@{fa-css-prefix}-eject:before { content: @fa-var-eject; } 90 | .@{fa-css-prefix}-chevron-left:before { content: @fa-var-chevron-left; } 91 | .@{fa-css-prefix}-chevron-right:before { content: @fa-var-chevron-right; } 92 | .@{fa-css-prefix}-plus-circle:before { content: @fa-var-plus-circle; } 93 | .@{fa-css-prefix}-minus-circle:before { content: @fa-var-minus-circle; } 94 | .@{fa-css-prefix}-times-circle:before { content: @fa-var-times-circle; } 95 | .@{fa-css-prefix}-check-circle:before { content: @fa-var-check-circle; } 96 | .@{fa-css-prefix}-question-circle:before { content: @fa-var-question-circle; } 97 | .@{fa-css-prefix}-info-circle:before { content: @fa-var-info-circle; } 98 | .@{fa-css-prefix}-crosshairs:before { content: @fa-var-crosshairs; } 99 | .@{fa-css-prefix}-times-circle-o:before { content: @fa-var-times-circle-o; } 100 | .@{fa-css-prefix}-check-circle-o:before { content: @fa-var-check-circle-o; } 101 | .@{fa-css-prefix}-ban:before { content: @fa-var-ban; } 102 | .@{fa-css-prefix}-arrow-left:before { content: @fa-var-arrow-left; } 103 | .@{fa-css-prefix}-arrow-right:before { content: @fa-var-arrow-right; } 104 | .@{fa-css-prefix}-arrow-up:before { content: @fa-var-arrow-up; } 105 | .@{fa-css-prefix}-arrow-down:before { content: @fa-var-arrow-down; } 106 | .@{fa-css-prefix}-mail-forward:before, 107 | .@{fa-css-prefix}-share:before { content: @fa-var-share; } 108 | .@{fa-css-prefix}-expand:before { content: @fa-var-expand; } 109 | .@{fa-css-prefix}-compress:before { content: @fa-var-compress; } 110 | .@{fa-css-prefix}-plus:before { content: @fa-var-plus; } 111 | .@{fa-css-prefix}-minus:before { content: @fa-var-minus; } 112 | .@{fa-css-prefix}-asterisk:before { content: @fa-var-asterisk; } 113 | .@{fa-css-prefix}-exclamation-circle:before { content: @fa-var-exclamation-circle; } 114 | .@{fa-css-prefix}-gift:before { content: @fa-var-gift; } 115 | .@{fa-css-prefix}-leaf:before { content: @fa-var-leaf; } 116 | .@{fa-css-prefix}-fire:before { content: @fa-var-fire; } 117 | .@{fa-css-prefix}-eye:before { content: @fa-var-eye; } 118 | .@{fa-css-prefix}-eye-slash:before { content: @fa-var-eye-slash; } 119 | .@{fa-css-prefix}-warning:before, 120 | .@{fa-css-prefix}-exclamation-triangle:before { content: @fa-var-exclamation-triangle; } 121 | .@{fa-css-prefix}-plane:before { content: @fa-var-plane; } 122 | .@{fa-css-prefix}-calendar:before { content: @fa-var-calendar; } 123 | .@{fa-css-prefix}-random:before { content: @fa-var-random; } 124 | .@{fa-css-prefix}-comment:before { content: @fa-var-comment; } 125 | .@{fa-css-prefix}-magnet:before { content: @fa-var-magnet; } 126 | .@{fa-css-prefix}-chevron-up:before { content: @fa-var-chevron-up; } 127 | .@{fa-css-prefix}-chevron-down:before { content: @fa-var-chevron-down; } 128 | .@{fa-css-prefix}-retweet:before { content: @fa-var-retweet; } 129 | .@{fa-css-prefix}-shopping-cart:before { content: @fa-var-shopping-cart; } 130 | .@{fa-css-prefix}-folder:before { content: @fa-var-folder; } 131 | .@{fa-css-prefix}-folder-open:before { content: @fa-var-folder-open; } 132 | .@{fa-css-prefix}-arrows-v:before { content: @fa-var-arrows-v; } 133 | .@{fa-css-prefix}-arrows-h:before { content: @fa-var-arrows-h; } 134 | .@{fa-css-prefix}-bar-chart-o:before, 135 | .@{fa-css-prefix}-bar-chart:before { content: @fa-var-bar-chart; } 136 | .@{fa-css-prefix}-twitter-square:before { content: @fa-var-twitter-square; } 137 | .@{fa-css-prefix}-facebook-square:before { content: @fa-var-facebook-square; } 138 | .@{fa-css-prefix}-camera-retro:before { content: @fa-var-camera-retro; } 139 | .@{fa-css-prefix}-key:before { content: @fa-var-key; } 140 | .@{fa-css-prefix}-gears:before, 141 | .@{fa-css-prefix}-cogs:before { content: @fa-var-cogs; } 142 | .@{fa-css-prefix}-comments:before { content: @fa-var-comments; } 143 | .@{fa-css-prefix}-thumbs-o-up:before { content: @fa-var-thumbs-o-up; } 144 | .@{fa-css-prefix}-thumbs-o-down:before { content: @fa-var-thumbs-o-down; } 145 | .@{fa-css-prefix}-star-half:before { content: @fa-var-star-half; } 146 | .@{fa-css-prefix}-heart-o:before { content: @fa-var-heart-o; } 147 | .@{fa-css-prefix}-sign-out:before { content: @fa-var-sign-out; } 148 | .@{fa-css-prefix}-linkedin-square:before { content: @fa-var-linkedin-square; } 149 | .@{fa-css-prefix}-thumb-tack:before { content: @fa-var-thumb-tack; } 150 | .@{fa-css-prefix}-external-link:before { content: @fa-var-external-link; } 151 | .@{fa-css-prefix}-sign-in:before { content: @fa-var-sign-in; } 152 | .@{fa-css-prefix}-trophy:before { content: @fa-var-trophy; } 153 | .@{fa-css-prefix}-github-square:before { content: @fa-var-github-square; } 154 | .@{fa-css-prefix}-upload:before { content: @fa-var-upload; } 155 | .@{fa-css-prefix}-lemon-o:before { content: @fa-var-lemon-o; } 156 | .@{fa-css-prefix}-phone:before { content: @fa-var-phone; } 157 | .@{fa-css-prefix}-square-o:before { content: @fa-var-square-o; } 158 | .@{fa-css-prefix}-bookmark-o:before { content: @fa-var-bookmark-o; } 159 | .@{fa-css-prefix}-phone-square:before { content: @fa-var-phone-square; } 160 | .@{fa-css-prefix}-twitter:before { content: @fa-var-twitter; } 161 | .@{fa-css-prefix}-facebook:before { content: @fa-var-facebook; } 162 | .@{fa-css-prefix}-github:before { content: @fa-var-github; } 163 | .@{fa-css-prefix}-unlock:before { content: @fa-var-unlock; } 164 | .@{fa-css-prefix}-credit-card:before { content: @fa-var-credit-card; } 165 | .@{fa-css-prefix}-rss:before { content: @fa-var-rss; } 166 | .@{fa-css-prefix}-hdd-o:before { content: @fa-var-hdd-o; } 167 | .@{fa-css-prefix}-bullhorn:before { content: @fa-var-bullhorn; } 168 | .@{fa-css-prefix}-bell:before { content: @fa-var-bell; } 169 | .@{fa-css-prefix}-certificate:before { content: @fa-var-certificate; } 170 | .@{fa-css-prefix}-hand-o-right:before { content: @fa-var-hand-o-right; } 171 | .@{fa-css-prefix}-hand-o-left:before { content: @fa-var-hand-o-left; } 172 | .@{fa-css-prefix}-hand-o-up:before { content: @fa-var-hand-o-up; } 173 | .@{fa-css-prefix}-hand-o-down:before { content: @fa-var-hand-o-down; } 174 | .@{fa-css-prefix}-arrow-circle-left:before { content: @fa-var-arrow-circle-left; } 175 | .@{fa-css-prefix}-arrow-circle-right:before { content: @fa-var-arrow-circle-right; } 176 | .@{fa-css-prefix}-arrow-circle-up:before { content: @fa-var-arrow-circle-up; } 177 | .@{fa-css-prefix}-arrow-circle-down:before { content: @fa-var-arrow-circle-down; } 178 | .@{fa-css-prefix}-globe:before { content: @fa-var-globe; } 179 | .@{fa-css-prefix}-wrench:before { content: @fa-var-wrench; } 180 | .@{fa-css-prefix}-tasks:before { content: @fa-var-tasks; } 181 | .@{fa-css-prefix}-filter:before { content: @fa-var-filter; } 182 | .@{fa-css-prefix}-briefcase:before { content: @fa-var-briefcase; } 183 | .@{fa-css-prefix}-arrows-alt:before { content: @fa-var-arrows-alt; } 184 | .@{fa-css-prefix}-group:before, 185 | .@{fa-css-prefix}-users:before { content: @fa-var-users; } 186 | .@{fa-css-prefix}-chain:before, 187 | .@{fa-css-prefix}-link:before { content: @fa-var-link; } 188 | .@{fa-css-prefix}-cloud:before { content: @fa-var-cloud; } 189 | .@{fa-css-prefix}-flask:before { content: @fa-var-flask; } 190 | .@{fa-css-prefix}-cut:before, 191 | .@{fa-css-prefix}-scissors:before { content: @fa-var-scissors; } 192 | .@{fa-css-prefix}-copy:before, 193 | .@{fa-css-prefix}-files-o:before { content: @fa-var-files-o; } 194 | .@{fa-css-prefix}-paperclip:before { content: @fa-var-paperclip; } 195 | .@{fa-css-prefix}-save:before, 196 | .@{fa-css-prefix}-floppy-o:before { content: @fa-var-floppy-o; } 197 | .@{fa-css-prefix}-square:before { content: @fa-var-square; } 198 | .@{fa-css-prefix}-navicon:before, 199 | .@{fa-css-prefix}-reorder:before, 200 | .@{fa-css-prefix}-bars:before { content: @fa-var-bars; } 201 | .@{fa-css-prefix}-list-ul:before { content: @fa-var-list-ul; } 202 | .@{fa-css-prefix}-list-ol:before { content: @fa-var-list-ol; } 203 | .@{fa-css-prefix}-strikethrough:before { content: @fa-var-strikethrough; } 204 | .@{fa-css-prefix}-underline:before { content: @fa-var-underline; } 205 | .@{fa-css-prefix}-table:before { content: @fa-var-table; } 206 | .@{fa-css-prefix}-magic:before { content: @fa-var-magic; } 207 | .@{fa-css-prefix}-truck:before { content: @fa-var-truck; } 208 | .@{fa-css-prefix}-pinterest:before { content: @fa-var-pinterest; } 209 | .@{fa-css-prefix}-pinterest-square:before { content: @fa-var-pinterest-square; } 210 | .@{fa-css-prefix}-google-plus-square:before { content: @fa-var-google-plus-square; } 211 | .@{fa-css-prefix}-google-plus:before { content: @fa-var-google-plus; } 212 | .@{fa-css-prefix}-money:before { content: @fa-var-money; } 213 | .@{fa-css-prefix}-caret-down:before { content: @fa-var-caret-down; } 214 | .@{fa-css-prefix}-caret-up:before { content: @fa-var-caret-up; } 215 | .@{fa-css-prefix}-caret-left:before { content: @fa-var-caret-left; } 216 | .@{fa-css-prefix}-caret-right:before { content: @fa-var-caret-right; } 217 | .@{fa-css-prefix}-columns:before { content: @fa-var-columns; } 218 | .@{fa-css-prefix}-unsorted:before, 219 | .@{fa-css-prefix}-sort:before { content: @fa-var-sort; } 220 | .@{fa-css-prefix}-sort-down:before, 221 | .@{fa-css-prefix}-sort-desc:before { content: @fa-var-sort-desc; } 222 | .@{fa-css-prefix}-sort-up:before, 223 | .@{fa-css-prefix}-sort-asc:before { content: @fa-var-sort-asc; } 224 | .@{fa-css-prefix}-envelope:before { content: @fa-var-envelope; } 225 | .@{fa-css-prefix}-linkedin:before { content: @fa-var-linkedin; } 226 | .@{fa-css-prefix}-rotate-left:before, 227 | .@{fa-css-prefix}-undo:before { content: @fa-var-undo; } 228 | .@{fa-css-prefix}-legal:before, 229 | .@{fa-css-prefix}-gavel:before { content: @fa-var-gavel; } 230 | .@{fa-css-prefix}-dashboard:before, 231 | .@{fa-css-prefix}-tachometer:before { content: @fa-var-tachometer; } 232 | .@{fa-css-prefix}-comment-o:before { content: @fa-var-comment-o; } 233 | .@{fa-css-prefix}-comments-o:before { content: @fa-var-comments-o; } 234 | .@{fa-css-prefix}-flash:before, 235 | .@{fa-css-prefix}-bolt:before { content: @fa-var-bolt; } 236 | .@{fa-css-prefix}-sitemap:before { content: @fa-var-sitemap; } 237 | .@{fa-css-prefix}-umbrella:before { content: @fa-var-umbrella; } 238 | .@{fa-css-prefix}-paste:before, 239 | .@{fa-css-prefix}-clipboard:before { content: @fa-var-clipboard; } 240 | .@{fa-css-prefix}-lightbulb-o:before { content: @fa-var-lightbulb-o; } 241 | .@{fa-css-prefix}-exchange:before { content: @fa-var-exchange; } 242 | .@{fa-css-prefix}-cloud-download:before { content: @fa-var-cloud-download; } 243 | .@{fa-css-prefix}-cloud-upload:before { content: @fa-var-cloud-upload; } 244 | .@{fa-css-prefix}-user-md:before { content: @fa-var-user-md; } 245 | .@{fa-css-prefix}-stethoscope:before { content: @fa-var-stethoscope; } 246 | .@{fa-css-prefix}-suitcase:before { content: @fa-var-suitcase; } 247 | .@{fa-css-prefix}-bell-o:before { content: @fa-var-bell-o; } 248 | .@{fa-css-prefix}-coffee:before { content: @fa-var-coffee; } 249 | .@{fa-css-prefix}-cutlery:before { content: @fa-var-cutlery; } 250 | .@{fa-css-prefix}-file-text-o:before { content: @fa-var-file-text-o; } 251 | .@{fa-css-prefix}-building-o:before { content: @fa-var-building-o; } 252 | .@{fa-css-prefix}-hospital-o:before { content: @fa-var-hospital-o; } 253 | .@{fa-css-prefix}-ambulance:before { content: @fa-var-ambulance; } 254 | .@{fa-css-prefix}-medkit:before { content: @fa-var-medkit; } 255 | .@{fa-css-prefix}-fighter-jet:before { content: @fa-var-fighter-jet; } 256 | .@{fa-css-prefix}-beer:before { content: @fa-var-beer; } 257 | .@{fa-css-prefix}-h-square:before { content: @fa-var-h-square; } 258 | .@{fa-css-prefix}-plus-square:before { content: @fa-var-plus-square; } 259 | .@{fa-css-prefix}-angle-double-left:before { content: @fa-var-angle-double-left; } 260 | .@{fa-css-prefix}-angle-double-right:before { content: @fa-var-angle-double-right; } 261 | .@{fa-css-prefix}-angle-double-up:before { content: @fa-var-angle-double-up; } 262 | .@{fa-css-prefix}-angle-double-down:before { content: @fa-var-angle-double-down; } 263 | .@{fa-css-prefix}-angle-left:before { content: @fa-var-angle-left; } 264 | .@{fa-css-prefix}-angle-right:before { content: @fa-var-angle-right; } 265 | .@{fa-css-prefix}-angle-up:before { content: @fa-var-angle-up; } 266 | .@{fa-css-prefix}-angle-down:before { content: @fa-var-angle-down; } 267 | .@{fa-css-prefix}-desktop:before { content: @fa-var-desktop; } 268 | .@{fa-css-prefix}-laptop:before { content: @fa-var-laptop; } 269 | .@{fa-css-prefix}-tablet:before { content: @fa-var-tablet; } 270 | .@{fa-css-prefix}-mobile-phone:before, 271 | .@{fa-css-prefix}-mobile:before { content: @fa-var-mobile; } 272 | .@{fa-css-prefix}-circle-o:before { content: @fa-var-circle-o; } 273 | .@{fa-css-prefix}-quote-left:before { content: @fa-var-quote-left; } 274 | .@{fa-css-prefix}-quote-right:before { content: @fa-var-quote-right; } 275 | .@{fa-css-prefix}-spinner:before { content: @fa-var-spinner; } 276 | .@{fa-css-prefix}-circle:before { content: @fa-var-circle; } 277 | .@{fa-css-prefix}-mail-reply:before, 278 | .@{fa-css-prefix}-reply:before { content: @fa-var-reply; } 279 | .@{fa-css-prefix}-github-alt:before { content: @fa-var-github-alt; } 280 | .@{fa-css-prefix}-folder-o:before { content: @fa-var-folder-o; } 281 | .@{fa-css-prefix}-folder-open-o:before { content: @fa-var-folder-open-o; } 282 | .@{fa-css-prefix}-smile-o:before { content: @fa-var-smile-o; } 283 | .@{fa-css-prefix}-frown-o:before { content: @fa-var-frown-o; } 284 | .@{fa-css-prefix}-meh-o:before { content: @fa-var-meh-o; } 285 | .@{fa-css-prefix}-gamepad:before { content: @fa-var-gamepad; } 286 | .@{fa-css-prefix}-keyboard-o:before { content: @fa-var-keyboard-o; } 287 | .@{fa-css-prefix}-flag-o:before { content: @fa-var-flag-o; } 288 | .@{fa-css-prefix}-flag-checkered:before { content: @fa-var-flag-checkered; } 289 | .@{fa-css-prefix}-terminal:before { content: @fa-var-terminal; } 290 | .@{fa-css-prefix}-code:before { content: @fa-var-code; } 291 | .@{fa-css-prefix}-mail-reply-all:before, 292 | .@{fa-css-prefix}-reply-all:before { content: @fa-var-reply-all; } 293 | .@{fa-css-prefix}-star-half-empty:before, 294 | .@{fa-css-prefix}-star-half-full:before, 295 | .@{fa-css-prefix}-star-half-o:before { content: @fa-var-star-half-o; } 296 | .@{fa-css-prefix}-location-arrow:before { content: @fa-var-location-arrow; } 297 | .@{fa-css-prefix}-crop:before { content: @fa-var-crop; } 298 | .@{fa-css-prefix}-code-fork:before { content: @fa-var-code-fork; } 299 | .@{fa-css-prefix}-unlink:before, 300 | .@{fa-css-prefix}-chain-broken:before { content: @fa-var-chain-broken; } 301 | .@{fa-css-prefix}-question:before { content: @fa-var-question; } 302 | .@{fa-css-prefix}-info:before { content: @fa-var-info; } 303 | .@{fa-css-prefix}-exclamation:before { content: @fa-var-exclamation; } 304 | .@{fa-css-prefix}-superscript:before { content: @fa-var-superscript; } 305 | .@{fa-css-prefix}-subscript:before { content: @fa-var-subscript; } 306 | .@{fa-css-prefix}-eraser:before { content: @fa-var-eraser; } 307 | .@{fa-css-prefix}-puzzle-piece:before { content: @fa-var-puzzle-piece; } 308 | .@{fa-css-prefix}-microphone:before { content: @fa-var-microphone; } 309 | .@{fa-css-prefix}-microphone-slash:before { content: @fa-var-microphone-slash; } 310 | .@{fa-css-prefix}-shield:before { content: @fa-var-shield; } 311 | .@{fa-css-prefix}-calendar-o:before { content: @fa-var-calendar-o; } 312 | .@{fa-css-prefix}-fire-extinguisher:before { content: @fa-var-fire-extinguisher; } 313 | .@{fa-css-prefix}-rocket:before { content: @fa-var-rocket; } 314 | .@{fa-css-prefix}-maxcdn:before { content: @fa-var-maxcdn; } 315 | .@{fa-css-prefix}-chevron-circle-left:before { content: @fa-var-chevron-circle-left; } 316 | .@{fa-css-prefix}-chevron-circle-right:before { content: @fa-var-chevron-circle-right; } 317 | .@{fa-css-prefix}-chevron-circle-up:before { content: @fa-var-chevron-circle-up; } 318 | .@{fa-css-prefix}-chevron-circle-down:before { content: @fa-var-chevron-circle-down; } 319 | .@{fa-css-prefix}-html5:before { content: @fa-var-html5; } 320 | .@{fa-css-prefix}-css3:before { content: @fa-var-css3; } 321 | .@{fa-css-prefix}-anchor:before { content: @fa-var-anchor; } 322 | .@{fa-css-prefix}-unlock-alt:before { content: @fa-var-unlock-alt; } 323 | .@{fa-css-prefix}-bullseye:before { content: @fa-var-bullseye; } 324 | .@{fa-css-prefix}-ellipsis-h:before { content: @fa-var-ellipsis-h; } 325 | .@{fa-css-prefix}-ellipsis-v:before { content: @fa-var-ellipsis-v; } 326 | .@{fa-css-prefix}-rss-square:before { content: @fa-var-rss-square; } 327 | .@{fa-css-prefix}-play-circle:before { content: @fa-var-play-circle; } 328 | .@{fa-css-prefix}-ticket:before { content: @fa-var-ticket; } 329 | .@{fa-css-prefix}-minus-square:before { content: @fa-var-minus-square; } 330 | .@{fa-css-prefix}-minus-square-o:before { content: @fa-var-minus-square-o; } 331 | .@{fa-css-prefix}-level-up:before { content: @fa-var-level-up; } 332 | .@{fa-css-prefix}-level-down:before { content: @fa-var-level-down; } 333 | .@{fa-css-prefix}-check-square:before { content: @fa-var-check-square; } 334 | .@{fa-css-prefix}-pencil-square:before { content: @fa-var-pencil-square; } 335 | .@{fa-css-prefix}-external-link-square:before { content: @fa-var-external-link-square; } 336 | .@{fa-css-prefix}-share-square:before { content: @fa-var-share-square; } 337 | .@{fa-css-prefix}-compass:before { content: @fa-var-compass; } 338 | .@{fa-css-prefix}-toggle-down:before, 339 | .@{fa-css-prefix}-caret-square-o-down:before { content: @fa-var-caret-square-o-down; } 340 | .@{fa-css-prefix}-toggle-up:before, 341 | .@{fa-css-prefix}-caret-square-o-up:before { content: @fa-var-caret-square-o-up; } 342 | .@{fa-css-prefix}-toggle-right:before, 343 | .@{fa-css-prefix}-caret-square-o-right:before { content: @fa-var-caret-square-o-right; } 344 | .@{fa-css-prefix}-euro:before, 345 | .@{fa-css-prefix}-eur:before { content: @fa-var-eur; } 346 | .@{fa-css-prefix}-gbp:before { content: @fa-var-gbp; } 347 | .@{fa-css-prefix}-dollar:before, 348 | .@{fa-css-prefix}-usd:before { content: @fa-var-usd; } 349 | .@{fa-css-prefix}-rupee:before, 350 | .@{fa-css-prefix}-inr:before { content: @fa-var-inr; } 351 | .@{fa-css-prefix}-cny:before, 352 | .@{fa-css-prefix}-rmb:before, 353 | .@{fa-css-prefix}-yen:before, 354 | .@{fa-css-prefix}-jpy:before { content: @fa-var-jpy; } 355 | .@{fa-css-prefix}-ruble:before, 356 | .@{fa-css-prefix}-rouble:before, 357 | .@{fa-css-prefix}-rub:before { content: @fa-var-rub; } 358 | .@{fa-css-prefix}-won:before, 359 | .@{fa-css-prefix}-krw:before { content: @fa-var-krw; } 360 | .@{fa-css-prefix}-bitcoin:before, 361 | .@{fa-css-prefix}-btc:before { content: @fa-var-btc; } 362 | .@{fa-css-prefix}-file:before { content: @fa-var-file; } 363 | .@{fa-css-prefix}-file-text:before { content: @fa-var-file-text; } 364 | .@{fa-css-prefix}-sort-alpha-asc:before { content: @fa-var-sort-alpha-asc; } 365 | .@{fa-css-prefix}-sort-alpha-desc:before { content: @fa-var-sort-alpha-desc; } 366 | .@{fa-css-prefix}-sort-amount-asc:before { content: @fa-var-sort-amount-asc; } 367 | .@{fa-css-prefix}-sort-amount-desc:before { content: @fa-var-sort-amount-desc; } 368 | .@{fa-css-prefix}-sort-numeric-asc:before { content: @fa-var-sort-numeric-asc; } 369 | .@{fa-css-prefix}-sort-numeric-desc:before { content: @fa-var-sort-numeric-desc; } 370 | .@{fa-css-prefix}-thumbs-up:before { content: @fa-var-thumbs-up; } 371 | .@{fa-css-prefix}-thumbs-down:before { content: @fa-var-thumbs-down; } 372 | .@{fa-css-prefix}-youtube-square:before { content: @fa-var-youtube-square; } 373 | .@{fa-css-prefix}-youtube:before { content: @fa-var-youtube; } 374 | .@{fa-css-prefix}-xing:before { content: @fa-var-xing; } 375 | .@{fa-css-prefix}-xing-square:before { content: @fa-var-xing-square; } 376 | .@{fa-css-prefix}-youtube-play:before { content: @fa-var-youtube-play; } 377 | .@{fa-css-prefix}-dropbox:before { content: @fa-var-dropbox; } 378 | .@{fa-css-prefix}-stack-overflow:before { content: @fa-var-stack-overflow; } 379 | .@{fa-css-prefix}-instagram:before { content: @fa-var-instagram; } 380 | .@{fa-css-prefix}-flickr:before { content: @fa-var-flickr; } 381 | .@{fa-css-prefix}-adn:before { content: @fa-var-adn; } 382 | .@{fa-css-prefix}-bitbucket:before { content: @fa-var-bitbucket; } 383 | .@{fa-css-prefix}-bitbucket-square:before { content: @fa-var-bitbucket-square; } 384 | .@{fa-css-prefix}-tumblr:before { content: @fa-var-tumblr; } 385 | .@{fa-css-prefix}-tumblr-square:before { content: @fa-var-tumblr-square; } 386 | .@{fa-css-prefix}-long-arrow-down:before { content: @fa-var-long-arrow-down; } 387 | .@{fa-css-prefix}-long-arrow-up:before { content: @fa-var-long-arrow-up; } 388 | .@{fa-css-prefix}-long-arrow-left:before { content: @fa-var-long-arrow-left; } 389 | .@{fa-css-prefix}-long-arrow-right:before { content: @fa-var-long-arrow-right; } 390 | .@{fa-css-prefix}-apple:before { content: @fa-var-apple; } 391 | .@{fa-css-prefix}-windows:before { content: @fa-var-windows; } 392 | .@{fa-css-prefix}-android:before { content: @fa-var-android; } 393 | .@{fa-css-prefix}-linux:before { content: @fa-var-linux; } 394 | .@{fa-css-prefix}-dribbble:before { content: @fa-var-dribbble; } 395 | .@{fa-css-prefix}-skype:before { content: @fa-var-skype; } 396 | .@{fa-css-prefix}-foursquare:before { content: @fa-var-foursquare; } 397 | .@{fa-css-prefix}-trello:before { content: @fa-var-trello; } 398 | .@{fa-css-prefix}-female:before { content: @fa-var-female; } 399 | .@{fa-css-prefix}-male:before { content: @fa-var-male; } 400 | .@{fa-css-prefix}-gittip:before { content: @fa-var-gittip; } 401 | .@{fa-css-prefix}-sun-o:before { content: @fa-var-sun-o; } 402 | .@{fa-css-prefix}-moon-o:before { content: @fa-var-moon-o; } 403 | .@{fa-css-prefix}-archive:before { content: @fa-var-archive; } 404 | .@{fa-css-prefix}-bug:before { content: @fa-var-bug; } 405 | .@{fa-css-prefix}-vk:before { content: @fa-var-vk; } 406 | .@{fa-css-prefix}-weibo:before { content: @fa-var-weibo; } 407 | .@{fa-css-prefix}-renren:before { content: @fa-var-renren; } 408 | .@{fa-css-prefix}-pagelines:before { content: @fa-var-pagelines; } 409 | .@{fa-css-prefix}-stack-exchange:before { content: @fa-var-stack-exchange; } 410 | .@{fa-css-prefix}-arrow-circle-o-right:before { content: @fa-var-arrow-circle-o-right; } 411 | .@{fa-css-prefix}-arrow-circle-o-left:before { content: @fa-var-arrow-circle-o-left; } 412 | .@{fa-css-prefix}-toggle-left:before, 413 | .@{fa-css-prefix}-caret-square-o-left:before { content: @fa-var-caret-square-o-left; } 414 | .@{fa-css-prefix}-dot-circle-o:before { content: @fa-var-dot-circle-o; } 415 | .@{fa-css-prefix}-wheelchair:before { content: @fa-var-wheelchair; } 416 | .@{fa-css-prefix}-vimeo-square:before { content: @fa-var-vimeo-square; } 417 | .@{fa-css-prefix}-turkish-lira:before, 418 | .@{fa-css-prefix}-try:before { content: @fa-var-try; } 419 | .@{fa-css-prefix}-plus-square-o:before { content: @fa-var-plus-square-o; } 420 | .@{fa-css-prefix}-space-shuttle:before { content: @fa-var-space-shuttle; } 421 | .@{fa-css-prefix}-slack:before { content: @fa-var-slack; } 422 | .@{fa-css-prefix}-envelope-square:before { content: @fa-var-envelope-square; } 423 | .@{fa-css-prefix}-wordpress:before { content: @fa-var-wordpress; } 424 | .@{fa-css-prefix}-openid:before { content: @fa-var-openid; } 425 | .@{fa-css-prefix}-institution:before, 426 | .@{fa-css-prefix}-bank:before, 427 | .@{fa-css-prefix}-university:before { content: @fa-var-university; } 428 | .@{fa-css-prefix}-mortar-board:before, 429 | .@{fa-css-prefix}-graduation-cap:before { content: @fa-var-graduation-cap; } 430 | .@{fa-css-prefix}-yahoo:before { content: @fa-var-yahoo; } 431 | .@{fa-css-prefix}-google:before { content: @fa-var-google; } 432 | .@{fa-css-prefix}-reddit:before { content: @fa-var-reddit; } 433 | .@{fa-css-prefix}-reddit-square:before { content: @fa-var-reddit-square; } 434 | .@{fa-css-prefix}-stumbleupon-circle:before { content: @fa-var-stumbleupon-circle; } 435 | .@{fa-css-prefix}-stumbleupon:before { content: @fa-var-stumbleupon; } 436 | .@{fa-css-prefix}-delicious:before { content: @fa-var-delicious; } 437 | .@{fa-css-prefix}-digg:before { content: @fa-var-digg; } 438 | .@{fa-css-prefix}-pied-piper:before { content: @fa-var-pied-piper; } 439 | .@{fa-css-prefix}-pied-piper-alt:before { content: @fa-var-pied-piper-alt; } 440 | .@{fa-css-prefix}-drupal:before { content: @fa-var-drupal; } 441 | .@{fa-css-prefix}-joomla:before { content: @fa-var-joomla; } 442 | .@{fa-css-prefix}-language:before { content: @fa-var-language; } 443 | .@{fa-css-prefix}-fax:before { content: @fa-var-fax; } 444 | .@{fa-css-prefix}-building:before { content: @fa-var-building; } 445 | .@{fa-css-prefix}-child:before { content: @fa-var-child; } 446 | .@{fa-css-prefix}-paw:before { content: @fa-var-paw; } 447 | .@{fa-css-prefix}-spoon:before { content: @fa-var-spoon; } 448 | .@{fa-css-prefix}-cube:before { content: @fa-var-cube; } 449 | .@{fa-css-prefix}-cubes:before { content: @fa-var-cubes; } 450 | .@{fa-css-prefix}-behance:before { content: @fa-var-behance; } 451 | .@{fa-css-prefix}-behance-square:before { content: @fa-var-behance-square; } 452 | .@{fa-css-prefix}-steam:before { content: @fa-var-steam; } 453 | .@{fa-css-prefix}-steam-square:before { content: @fa-var-steam-square; } 454 | .@{fa-css-prefix}-recycle:before { content: @fa-var-recycle; } 455 | .@{fa-css-prefix}-automobile:before, 456 | .@{fa-css-prefix}-car:before { content: @fa-var-car; } 457 | .@{fa-css-prefix}-cab:before, 458 | .@{fa-css-prefix}-taxi:before { content: @fa-var-taxi; } 459 | .@{fa-css-prefix}-tree:before { content: @fa-var-tree; } 460 | .@{fa-css-prefix}-spotify:before { content: @fa-var-spotify; } 461 | .@{fa-css-prefix}-deviantart:before { content: @fa-var-deviantart; } 462 | .@{fa-css-prefix}-soundcloud:before { content: @fa-var-soundcloud; } 463 | .@{fa-css-prefix}-database:before { content: @fa-var-database; } 464 | .@{fa-css-prefix}-file-pdf-o:before { content: @fa-var-file-pdf-o; } 465 | .@{fa-css-prefix}-file-word-o:before { content: @fa-var-file-word-o; } 466 | .@{fa-css-prefix}-file-excel-o:before { content: @fa-var-file-excel-o; } 467 | .@{fa-css-prefix}-file-powerpoint-o:before { content: @fa-var-file-powerpoint-o; } 468 | .@{fa-css-prefix}-file-photo-o:before, 469 | .@{fa-css-prefix}-file-picture-o:before, 470 | .@{fa-css-prefix}-file-image-o:before { content: @fa-var-file-image-o; } 471 | .@{fa-css-prefix}-file-zip-o:before, 472 | .@{fa-css-prefix}-file-archive-o:before { content: @fa-var-file-archive-o; } 473 | .@{fa-css-prefix}-file-sound-o:before, 474 | .@{fa-css-prefix}-file-audio-o:before { content: @fa-var-file-audio-o; } 475 | .@{fa-css-prefix}-file-movie-o:before, 476 | .@{fa-css-prefix}-file-video-o:before { content: @fa-var-file-video-o; } 477 | .@{fa-css-prefix}-file-code-o:before { content: @fa-var-file-code-o; } 478 | .@{fa-css-prefix}-vine:before { content: @fa-var-vine; } 479 | .@{fa-css-prefix}-codepen:before { content: @fa-var-codepen; } 480 | .@{fa-css-prefix}-jsfiddle:before { content: @fa-var-jsfiddle; } 481 | .@{fa-css-prefix}-life-bouy:before, 482 | .@{fa-css-prefix}-life-buoy:before, 483 | .@{fa-css-prefix}-life-saver:before, 484 | .@{fa-css-prefix}-support:before, 485 | .@{fa-css-prefix}-life-ring:before { content: @fa-var-life-ring; } 486 | .@{fa-css-prefix}-circle-o-notch:before { content: @fa-var-circle-o-notch; } 487 | .@{fa-css-prefix}-ra:before, 488 | .@{fa-css-prefix}-rebel:before { content: @fa-var-rebel; } 489 | .@{fa-css-prefix}-ge:before, 490 | .@{fa-css-prefix}-empire:before { content: @fa-var-empire; } 491 | .@{fa-css-prefix}-git-square:before { content: @fa-var-git-square; } 492 | .@{fa-css-prefix}-git:before { content: @fa-var-git; } 493 | .@{fa-css-prefix}-hacker-news:before { content: @fa-var-hacker-news; } 494 | .@{fa-css-prefix}-tencent-weibo:before { content: @fa-var-tencent-weibo; } 495 | .@{fa-css-prefix}-qq:before { content: @fa-var-qq; } 496 | .@{fa-css-prefix}-wechat:before, 497 | .@{fa-css-prefix}-weixin:before { content: @fa-var-weixin; } 498 | .@{fa-css-prefix}-send:before, 499 | .@{fa-css-prefix}-paper-plane:before { content: @fa-var-paper-plane; } 500 | .@{fa-css-prefix}-send-o:before, 501 | .@{fa-css-prefix}-paper-plane-o:before { content: @fa-var-paper-plane-o; } 502 | .@{fa-css-prefix}-history:before { content: @fa-var-history; } 503 | .@{fa-css-prefix}-circle-thin:before { content: @fa-var-circle-thin; } 504 | .@{fa-css-prefix}-header:before { content: @fa-var-header; } 505 | .@{fa-css-prefix}-paragraph:before { content: @fa-var-paragraph; } 506 | .@{fa-css-prefix}-sliders:before { content: @fa-var-sliders; } 507 | .@{fa-css-prefix}-share-alt:before { content: @fa-var-share-alt; } 508 | .@{fa-css-prefix}-share-alt-square:before { content: @fa-var-share-alt-square; } 509 | .@{fa-css-prefix}-bomb:before { content: @fa-var-bomb; } 510 | .@{fa-css-prefix}-soccer-ball-o:before, 511 | .@{fa-css-prefix}-futbol-o:before { content: @fa-var-futbol-o; } 512 | .@{fa-css-prefix}-tty:before { content: @fa-var-tty; } 513 | .@{fa-css-prefix}-binoculars:before { content: @fa-var-binoculars; } 514 | .@{fa-css-prefix}-plug:before { content: @fa-var-plug; } 515 | .@{fa-css-prefix}-slideshare:before { content: @fa-var-slideshare; } 516 | .@{fa-css-prefix}-twitch:before { content: @fa-var-twitch; } 517 | .@{fa-css-prefix}-yelp:before { content: @fa-var-yelp; } 518 | .@{fa-css-prefix}-newspaper-o:before { content: @fa-var-newspaper-o; } 519 | .@{fa-css-prefix}-wifi:before { content: @fa-var-wifi; } 520 | .@{fa-css-prefix}-calculator:before { content: @fa-var-calculator; } 521 | .@{fa-css-prefix}-paypal:before { content: @fa-var-paypal; } 522 | .@{fa-css-prefix}-google-wallet:before { content: @fa-var-google-wallet; } 523 | .@{fa-css-prefix}-cc-visa:before { content: @fa-var-cc-visa; } 524 | .@{fa-css-prefix}-cc-mastercard:before { content: @fa-var-cc-mastercard; } 525 | .@{fa-css-prefix}-cc-discover:before { content: @fa-var-cc-discover; } 526 | .@{fa-css-prefix}-cc-amex:before { content: @fa-var-cc-amex; } 527 | .@{fa-css-prefix}-cc-paypal:before { content: @fa-var-cc-paypal; } 528 | .@{fa-css-prefix}-cc-stripe:before { content: @fa-var-cc-stripe; } 529 | .@{fa-css-prefix}-bell-slash:before { content: @fa-var-bell-slash; } 530 | .@{fa-css-prefix}-bell-slash-o:before { content: @fa-var-bell-slash-o; } 531 | .@{fa-css-prefix}-trash:before { content: @fa-var-trash; } 532 | .@{fa-css-prefix}-copyright:before { content: @fa-var-copyright; } 533 | .@{fa-css-prefix}-at:before { content: @fa-var-at; } 534 | .@{fa-css-prefix}-eyedropper:before { content: @fa-var-eyedropper; } 535 | .@{fa-css-prefix}-paint-brush:before { content: @fa-var-paint-brush; } 536 | .@{fa-css-prefix}-birthday-cake:before { content: @fa-var-birthday-cake; } 537 | .@{fa-css-prefix}-area-chart:before { content: @fa-var-area-chart; } 538 | .@{fa-css-prefix}-pie-chart:before { content: @fa-var-pie-chart; } 539 | .@{fa-css-prefix}-line-chart:before { content: @fa-var-line-chart; } 540 | .@{fa-css-prefix}-lastfm:before { content: @fa-var-lastfm; } 541 | .@{fa-css-prefix}-lastfm-square:before { content: @fa-var-lastfm-square; } 542 | .@{fa-css-prefix}-toggle-off:before { content: @fa-var-toggle-off; } 543 | .@{fa-css-prefix}-toggle-on:before { content: @fa-var-toggle-on; } 544 | .@{fa-css-prefix}-bicycle:before { content: @fa-var-bicycle; } 545 | .@{fa-css-prefix}-bus:before { content: @fa-var-bus; } 546 | .@{fa-css-prefix}-ioxhost:before { content: @fa-var-ioxhost; } 547 | .@{fa-css-prefix}-angellist:before { content: @fa-var-angellist; } 548 | .@{fa-css-prefix}-cc:before { content: @fa-var-cc; } 549 | .@{fa-css-prefix}-shekel:before, 550 | .@{fa-css-prefix}-sheqel:before, 551 | .@{fa-css-prefix}-ils:before { content: @fa-var-ils; } 552 | .@{fa-css-prefix}-meanpath:before { content: @fa-var-meanpath; } 553 | -------------------------------------------------------------------------------- /public/font-awesome/less/larger.less: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .@{fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .@{fa-css-prefix}-2x { font-size: 2em; } 11 | .@{fa-css-prefix}-3x { font-size: 3em; } 12 | .@{fa-css-prefix}-4x { font-size: 4em; } 13 | .@{fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /public/font-awesome/less/list.less: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: @fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .@{fa-css-prefix}-li { 11 | position: absolute; 12 | left: -@fa-li-width; 13 | width: @fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.@{fa-css-prefix}-lg { 17 | left: (-@fa-li-width + (4em / 14)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /public/font-awesome/less/mixins.less: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | .fa-icon() { 5 | display: inline-block; 6 | font: normal normal normal 14px/1 FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | } 12 | 13 | .fa-icon-rotate(@degrees, @rotation) { 14 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation); 15 | -webkit-transform: rotate(@degrees); 16 | -ms-transform: rotate(@degrees); 17 | transform: rotate(@degrees); 18 | } 19 | 20 | .fa-icon-flip(@horiz, @vert, @rotation) { 21 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation, mirror=1); 22 | -webkit-transform: scale(@horiz, @vert); 23 | -ms-transform: scale(@horiz, @vert); 24 | transform: scale(@horiz, @vert); 25 | } 26 | -------------------------------------------------------------------------------- /public/font-awesome/less/path.less: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}'); 7 | src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'), 8 | url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'), 9 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), 10 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); 11 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 12 | font-weight: normal; 13 | font-style: normal; 14 | } 15 | -------------------------------------------------------------------------------- /public/font-awesome/less/rotated-flipped.less: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } 5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } 6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } 7 | 8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } 9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .@{fa-css-prefix}-rotate-90, 15 | :root .@{fa-css-prefix}-rotate-180, 16 | :root .@{fa-css-prefix}-rotate-270, 17 | :root .@{fa-css-prefix}-flip-horizontal, 18 | :root .@{fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /public/font-awesome/less/spinning.less: -------------------------------------------------------------------------------- 1 | // Spinning Icons 2 | // -------------------------- 3 | 4 | .@{fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | @-webkit-keyframes fa-spin { 10 | 0% { 11 | -webkit-transform: rotate(0deg); 12 | transform: rotate(0deg); 13 | } 14 | 100% { 15 | -webkit-transform: rotate(359deg); 16 | transform: rotate(359deg); 17 | } 18 | } 19 | 20 | @keyframes fa-spin { 21 | 0% { 22 | -webkit-transform: rotate(0deg); 23 | transform: rotate(0deg); 24 | } 25 | 100% { 26 | -webkit-transform: rotate(359deg); 27 | transform: rotate(359deg); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /public/font-awesome/less/stacked.less: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; } 21 | -------------------------------------------------------------------------------- /public/font-awesome/less/variables.less: -------------------------------------------------------------------------------- 1 | // Variables 2 | // -------------------------- 3 | 4 | @fa-font-path: "../fonts"; 5 | //@fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.2.0/fonts"; // for referencing Bootstrap CDN font files directly 6 | @fa-css-prefix: fa; 7 | @fa-version: "4.2.0"; 8 | @fa-border-color: #eee; 9 | @fa-inverse: #fff; 10 | @fa-li-width: (30em / 14); 11 | 12 | @fa-var-adjust: "\f042"; 13 | @fa-var-adn: "\f170"; 14 | @fa-var-align-center: "\f037"; 15 | @fa-var-align-justify: "\f039"; 16 | @fa-var-align-left: "\f036"; 17 | @fa-var-align-right: "\f038"; 18 | @fa-var-ambulance: "\f0f9"; 19 | @fa-var-anchor: "\f13d"; 20 | @fa-var-android: "\f17b"; 21 | @fa-var-angellist: "\f209"; 22 | @fa-var-angle-double-down: "\f103"; 23 | @fa-var-angle-double-left: "\f100"; 24 | @fa-var-angle-double-right: "\f101"; 25 | @fa-var-angle-double-up: "\f102"; 26 | @fa-var-angle-down: "\f107"; 27 | @fa-var-angle-left: "\f104"; 28 | @fa-var-angle-right: "\f105"; 29 | @fa-var-angle-up: "\f106"; 30 | @fa-var-apple: "\f179"; 31 | @fa-var-archive: "\f187"; 32 | @fa-var-area-chart: "\f1fe"; 33 | @fa-var-arrow-circle-down: "\f0ab"; 34 | @fa-var-arrow-circle-left: "\f0a8"; 35 | @fa-var-arrow-circle-o-down: "\f01a"; 36 | @fa-var-arrow-circle-o-left: "\f190"; 37 | @fa-var-arrow-circle-o-right: "\f18e"; 38 | @fa-var-arrow-circle-o-up: "\f01b"; 39 | @fa-var-arrow-circle-right: "\f0a9"; 40 | @fa-var-arrow-circle-up: "\f0aa"; 41 | @fa-var-arrow-down: "\f063"; 42 | @fa-var-arrow-left: "\f060"; 43 | @fa-var-arrow-right: "\f061"; 44 | @fa-var-arrow-up: "\f062"; 45 | @fa-var-arrows: "\f047"; 46 | @fa-var-arrows-alt: "\f0b2"; 47 | @fa-var-arrows-h: "\f07e"; 48 | @fa-var-arrows-v: "\f07d"; 49 | @fa-var-asterisk: "\f069"; 50 | @fa-var-at: "\f1fa"; 51 | @fa-var-automobile: "\f1b9"; 52 | @fa-var-backward: "\f04a"; 53 | @fa-var-ban: "\f05e"; 54 | @fa-var-bank: "\f19c"; 55 | @fa-var-bar-chart: "\f080"; 56 | @fa-var-bar-chart-o: "\f080"; 57 | @fa-var-barcode: "\f02a"; 58 | @fa-var-bars: "\f0c9"; 59 | @fa-var-beer: "\f0fc"; 60 | @fa-var-behance: "\f1b4"; 61 | @fa-var-behance-square: "\f1b5"; 62 | @fa-var-bell: "\f0f3"; 63 | @fa-var-bell-o: "\f0a2"; 64 | @fa-var-bell-slash: "\f1f6"; 65 | @fa-var-bell-slash-o: "\f1f7"; 66 | @fa-var-bicycle: "\f206"; 67 | @fa-var-binoculars: "\f1e5"; 68 | @fa-var-birthday-cake: "\f1fd"; 69 | @fa-var-bitbucket: "\f171"; 70 | @fa-var-bitbucket-square: "\f172"; 71 | @fa-var-bitcoin: "\f15a"; 72 | @fa-var-bold: "\f032"; 73 | @fa-var-bolt: "\f0e7"; 74 | @fa-var-bomb: "\f1e2"; 75 | @fa-var-book: "\f02d"; 76 | @fa-var-bookmark: "\f02e"; 77 | @fa-var-bookmark-o: "\f097"; 78 | @fa-var-briefcase: "\f0b1"; 79 | @fa-var-btc: "\f15a"; 80 | @fa-var-bug: "\f188"; 81 | @fa-var-building: "\f1ad"; 82 | @fa-var-building-o: "\f0f7"; 83 | @fa-var-bullhorn: "\f0a1"; 84 | @fa-var-bullseye: "\f140"; 85 | @fa-var-bus: "\f207"; 86 | @fa-var-cab: "\f1ba"; 87 | @fa-var-calculator: "\f1ec"; 88 | @fa-var-calendar: "\f073"; 89 | @fa-var-calendar-o: "\f133"; 90 | @fa-var-camera: "\f030"; 91 | @fa-var-camera-retro: "\f083"; 92 | @fa-var-car: "\f1b9"; 93 | @fa-var-caret-down: "\f0d7"; 94 | @fa-var-caret-left: "\f0d9"; 95 | @fa-var-caret-right: "\f0da"; 96 | @fa-var-caret-square-o-down: "\f150"; 97 | @fa-var-caret-square-o-left: "\f191"; 98 | @fa-var-caret-square-o-right: "\f152"; 99 | @fa-var-caret-square-o-up: "\f151"; 100 | @fa-var-caret-up: "\f0d8"; 101 | @fa-var-cc: "\f20a"; 102 | @fa-var-cc-amex: "\f1f3"; 103 | @fa-var-cc-discover: "\f1f2"; 104 | @fa-var-cc-mastercard: "\f1f1"; 105 | @fa-var-cc-paypal: "\f1f4"; 106 | @fa-var-cc-stripe: "\f1f5"; 107 | @fa-var-cc-visa: "\f1f0"; 108 | @fa-var-certificate: "\f0a3"; 109 | @fa-var-chain: "\f0c1"; 110 | @fa-var-chain-broken: "\f127"; 111 | @fa-var-check: "\f00c"; 112 | @fa-var-check-circle: "\f058"; 113 | @fa-var-check-circle-o: "\f05d"; 114 | @fa-var-check-square: "\f14a"; 115 | @fa-var-check-square-o: "\f046"; 116 | @fa-var-chevron-circle-down: "\f13a"; 117 | @fa-var-chevron-circle-left: "\f137"; 118 | @fa-var-chevron-circle-right: "\f138"; 119 | @fa-var-chevron-circle-up: "\f139"; 120 | @fa-var-chevron-down: "\f078"; 121 | @fa-var-chevron-left: "\f053"; 122 | @fa-var-chevron-right: "\f054"; 123 | @fa-var-chevron-up: "\f077"; 124 | @fa-var-child: "\f1ae"; 125 | @fa-var-circle: "\f111"; 126 | @fa-var-circle-o: "\f10c"; 127 | @fa-var-circle-o-notch: "\f1ce"; 128 | @fa-var-circle-thin: "\f1db"; 129 | @fa-var-clipboard: "\f0ea"; 130 | @fa-var-clock-o: "\f017"; 131 | @fa-var-close: "\f00d"; 132 | @fa-var-cloud: "\f0c2"; 133 | @fa-var-cloud-download: "\f0ed"; 134 | @fa-var-cloud-upload: "\f0ee"; 135 | @fa-var-cny: "\f157"; 136 | @fa-var-code: "\f121"; 137 | @fa-var-code-fork: "\f126"; 138 | @fa-var-codepen: "\f1cb"; 139 | @fa-var-coffee: "\f0f4"; 140 | @fa-var-cog: "\f013"; 141 | @fa-var-cogs: "\f085"; 142 | @fa-var-columns: "\f0db"; 143 | @fa-var-comment: "\f075"; 144 | @fa-var-comment-o: "\f0e5"; 145 | @fa-var-comments: "\f086"; 146 | @fa-var-comments-o: "\f0e6"; 147 | @fa-var-compass: "\f14e"; 148 | @fa-var-compress: "\f066"; 149 | @fa-var-copy: "\f0c5"; 150 | @fa-var-copyright: "\f1f9"; 151 | @fa-var-credit-card: "\f09d"; 152 | @fa-var-crop: "\f125"; 153 | @fa-var-crosshairs: "\f05b"; 154 | @fa-var-css3: "\f13c"; 155 | @fa-var-cube: "\f1b2"; 156 | @fa-var-cubes: "\f1b3"; 157 | @fa-var-cut: "\f0c4"; 158 | @fa-var-cutlery: "\f0f5"; 159 | @fa-var-dashboard: "\f0e4"; 160 | @fa-var-database: "\f1c0"; 161 | @fa-var-dedent: "\f03b"; 162 | @fa-var-delicious: "\f1a5"; 163 | @fa-var-desktop: "\f108"; 164 | @fa-var-deviantart: "\f1bd"; 165 | @fa-var-digg: "\f1a6"; 166 | @fa-var-dollar: "\f155"; 167 | @fa-var-dot-circle-o: "\f192"; 168 | @fa-var-download: "\f019"; 169 | @fa-var-dribbble: "\f17d"; 170 | @fa-var-dropbox: "\f16b"; 171 | @fa-var-drupal: "\f1a9"; 172 | @fa-var-edit: "\f044"; 173 | @fa-var-eject: "\f052"; 174 | @fa-var-ellipsis-h: "\f141"; 175 | @fa-var-ellipsis-v: "\f142"; 176 | @fa-var-empire: "\f1d1"; 177 | @fa-var-envelope: "\f0e0"; 178 | @fa-var-envelope-o: "\f003"; 179 | @fa-var-envelope-square: "\f199"; 180 | @fa-var-eraser: "\f12d"; 181 | @fa-var-eur: "\f153"; 182 | @fa-var-euro: "\f153"; 183 | @fa-var-exchange: "\f0ec"; 184 | @fa-var-exclamation: "\f12a"; 185 | @fa-var-exclamation-circle: "\f06a"; 186 | @fa-var-exclamation-triangle: "\f071"; 187 | @fa-var-expand: "\f065"; 188 | @fa-var-external-link: "\f08e"; 189 | @fa-var-external-link-square: "\f14c"; 190 | @fa-var-eye: "\f06e"; 191 | @fa-var-eye-slash: "\f070"; 192 | @fa-var-eyedropper: "\f1fb"; 193 | @fa-var-facebook: "\f09a"; 194 | @fa-var-facebook-square: "\f082"; 195 | @fa-var-fast-backward: "\f049"; 196 | @fa-var-fast-forward: "\f050"; 197 | @fa-var-fax: "\f1ac"; 198 | @fa-var-female: "\f182"; 199 | @fa-var-fighter-jet: "\f0fb"; 200 | @fa-var-file: "\f15b"; 201 | @fa-var-file-archive-o: "\f1c6"; 202 | @fa-var-file-audio-o: "\f1c7"; 203 | @fa-var-file-code-o: "\f1c9"; 204 | @fa-var-file-excel-o: "\f1c3"; 205 | @fa-var-file-image-o: "\f1c5"; 206 | @fa-var-file-movie-o: "\f1c8"; 207 | @fa-var-file-o: "\f016"; 208 | @fa-var-file-pdf-o: "\f1c1"; 209 | @fa-var-file-photo-o: "\f1c5"; 210 | @fa-var-file-picture-o: "\f1c5"; 211 | @fa-var-file-powerpoint-o: "\f1c4"; 212 | @fa-var-file-sound-o: "\f1c7"; 213 | @fa-var-file-text: "\f15c"; 214 | @fa-var-file-text-o: "\f0f6"; 215 | @fa-var-file-video-o: "\f1c8"; 216 | @fa-var-file-word-o: "\f1c2"; 217 | @fa-var-file-zip-o: "\f1c6"; 218 | @fa-var-files-o: "\f0c5"; 219 | @fa-var-film: "\f008"; 220 | @fa-var-filter: "\f0b0"; 221 | @fa-var-fire: "\f06d"; 222 | @fa-var-fire-extinguisher: "\f134"; 223 | @fa-var-flag: "\f024"; 224 | @fa-var-flag-checkered: "\f11e"; 225 | @fa-var-flag-o: "\f11d"; 226 | @fa-var-flash: "\f0e7"; 227 | @fa-var-flask: "\f0c3"; 228 | @fa-var-flickr: "\f16e"; 229 | @fa-var-floppy-o: "\f0c7"; 230 | @fa-var-folder: "\f07b"; 231 | @fa-var-folder-o: "\f114"; 232 | @fa-var-folder-open: "\f07c"; 233 | @fa-var-folder-open-o: "\f115"; 234 | @fa-var-font: "\f031"; 235 | @fa-var-forward: "\f04e"; 236 | @fa-var-foursquare: "\f180"; 237 | @fa-var-frown-o: "\f119"; 238 | @fa-var-futbol-o: "\f1e3"; 239 | @fa-var-gamepad: "\f11b"; 240 | @fa-var-gavel: "\f0e3"; 241 | @fa-var-gbp: "\f154"; 242 | @fa-var-ge: "\f1d1"; 243 | @fa-var-gear: "\f013"; 244 | @fa-var-gears: "\f085"; 245 | @fa-var-gift: "\f06b"; 246 | @fa-var-git: "\f1d3"; 247 | @fa-var-git-square: "\f1d2"; 248 | @fa-var-github: "\f09b"; 249 | @fa-var-github-alt: "\f113"; 250 | @fa-var-github-square: "\f092"; 251 | @fa-var-gittip: "\f184"; 252 | @fa-var-glass: "\f000"; 253 | @fa-var-globe: "\f0ac"; 254 | @fa-var-google: "\f1a0"; 255 | @fa-var-google-plus: "\f0d5"; 256 | @fa-var-google-plus-square: "\f0d4"; 257 | @fa-var-google-wallet: "\f1ee"; 258 | @fa-var-graduation-cap: "\f19d"; 259 | @fa-var-group: "\f0c0"; 260 | @fa-var-h-square: "\f0fd"; 261 | @fa-var-hacker-news: "\f1d4"; 262 | @fa-var-hand-o-down: "\f0a7"; 263 | @fa-var-hand-o-left: "\f0a5"; 264 | @fa-var-hand-o-right: "\f0a4"; 265 | @fa-var-hand-o-up: "\f0a6"; 266 | @fa-var-hdd-o: "\f0a0"; 267 | @fa-var-header: "\f1dc"; 268 | @fa-var-headphones: "\f025"; 269 | @fa-var-heart: "\f004"; 270 | @fa-var-heart-o: "\f08a"; 271 | @fa-var-history: "\f1da"; 272 | @fa-var-home: "\f015"; 273 | @fa-var-hospital-o: "\f0f8"; 274 | @fa-var-html5: "\f13b"; 275 | @fa-var-ils: "\f20b"; 276 | @fa-var-image: "\f03e"; 277 | @fa-var-inbox: "\f01c"; 278 | @fa-var-indent: "\f03c"; 279 | @fa-var-info: "\f129"; 280 | @fa-var-info-circle: "\f05a"; 281 | @fa-var-inr: "\f156"; 282 | @fa-var-instagram: "\f16d"; 283 | @fa-var-institution: "\f19c"; 284 | @fa-var-ioxhost: "\f208"; 285 | @fa-var-italic: "\f033"; 286 | @fa-var-joomla: "\f1aa"; 287 | @fa-var-jpy: "\f157"; 288 | @fa-var-jsfiddle: "\f1cc"; 289 | @fa-var-key: "\f084"; 290 | @fa-var-keyboard-o: "\f11c"; 291 | @fa-var-krw: "\f159"; 292 | @fa-var-language: "\f1ab"; 293 | @fa-var-laptop: "\f109"; 294 | @fa-var-lastfm: "\f202"; 295 | @fa-var-lastfm-square: "\f203"; 296 | @fa-var-leaf: "\f06c"; 297 | @fa-var-legal: "\f0e3"; 298 | @fa-var-lemon-o: "\f094"; 299 | @fa-var-level-down: "\f149"; 300 | @fa-var-level-up: "\f148"; 301 | @fa-var-life-bouy: "\f1cd"; 302 | @fa-var-life-buoy: "\f1cd"; 303 | @fa-var-life-ring: "\f1cd"; 304 | @fa-var-life-saver: "\f1cd"; 305 | @fa-var-lightbulb-o: "\f0eb"; 306 | @fa-var-line-chart: "\f201"; 307 | @fa-var-link: "\f0c1"; 308 | @fa-var-linkedin: "\f0e1"; 309 | @fa-var-linkedin-square: "\f08c"; 310 | @fa-var-linux: "\f17c"; 311 | @fa-var-list: "\f03a"; 312 | @fa-var-list-alt: "\f022"; 313 | @fa-var-list-ol: "\f0cb"; 314 | @fa-var-list-ul: "\f0ca"; 315 | @fa-var-location-arrow: "\f124"; 316 | @fa-var-lock: "\f023"; 317 | @fa-var-long-arrow-down: "\f175"; 318 | @fa-var-long-arrow-left: "\f177"; 319 | @fa-var-long-arrow-right: "\f178"; 320 | @fa-var-long-arrow-up: "\f176"; 321 | @fa-var-magic: "\f0d0"; 322 | @fa-var-magnet: "\f076"; 323 | @fa-var-mail-forward: "\f064"; 324 | @fa-var-mail-reply: "\f112"; 325 | @fa-var-mail-reply-all: "\f122"; 326 | @fa-var-male: "\f183"; 327 | @fa-var-map-marker: "\f041"; 328 | @fa-var-maxcdn: "\f136"; 329 | @fa-var-meanpath: "\f20c"; 330 | @fa-var-medkit: "\f0fa"; 331 | @fa-var-meh-o: "\f11a"; 332 | @fa-var-microphone: "\f130"; 333 | @fa-var-microphone-slash: "\f131"; 334 | @fa-var-minus: "\f068"; 335 | @fa-var-minus-circle: "\f056"; 336 | @fa-var-minus-square: "\f146"; 337 | @fa-var-minus-square-o: "\f147"; 338 | @fa-var-mobile: "\f10b"; 339 | @fa-var-mobile-phone: "\f10b"; 340 | @fa-var-money: "\f0d6"; 341 | @fa-var-moon-o: "\f186"; 342 | @fa-var-mortar-board: "\f19d"; 343 | @fa-var-music: "\f001"; 344 | @fa-var-navicon: "\f0c9"; 345 | @fa-var-newspaper-o: "\f1ea"; 346 | @fa-var-openid: "\f19b"; 347 | @fa-var-outdent: "\f03b"; 348 | @fa-var-pagelines: "\f18c"; 349 | @fa-var-paint-brush: "\f1fc"; 350 | @fa-var-paper-plane: "\f1d8"; 351 | @fa-var-paper-plane-o: "\f1d9"; 352 | @fa-var-paperclip: "\f0c6"; 353 | @fa-var-paragraph: "\f1dd"; 354 | @fa-var-paste: "\f0ea"; 355 | @fa-var-pause: "\f04c"; 356 | @fa-var-paw: "\f1b0"; 357 | @fa-var-paypal: "\f1ed"; 358 | @fa-var-pencil: "\f040"; 359 | @fa-var-pencil-square: "\f14b"; 360 | @fa-var-pencil-square-o: "\f044"; 361 | @fa-var-phone: "\f095"; 362 | @fa-var-phone-square: "\f098"; 363 | @fa-var-photo: "\f03e"; 364 | @fa-var-picture-o: "\f03e"; 365 | @fa-var-pie-chart: "\f200"; 366 | @fa-var-pied-piper: "\f1a7"; 367 | @fa-var-pied-piper-alt: "\f1a8"; 368 | @fa-var-pinterest: "\f0d2"; 369 | @fa-var-pinterest-square: "\f0d3"; 370 | @fa-var-plane: "\f072"; 371 | @fa-var-play: "\f04b"; 372 | @fa-var-play-circle: "\f144"; 373 | @fa-var-play-circle-o: "\f01d"; 374 | @fa-var-plug: "\f1e6"; 375 | @fa-var-plus: "\f067"; 376 | @fa-var-plus-circle: "\f055"; 377 | @fa-var-plus-square: "\f0fe"; 378 | @fa-var-plus-square-o: "\f196"; 379 | @fa-var-power-off: "\f011"; 380 | @fa-var-print: "\f02f"; 381 | @fa-var-puzzle-piece: "\f12e"; 382 | @fa-var-qq: "\f1d6"; 383 | @fa-var-qrcode: "\f029"; 384 | @fa-var-question: "\f128"; 385 | @fa-var-question-circle: "\f059"; 386 | @fa-var-quote-left: "\f10d"; 387 | @fa-var-quote-right: "\f10e"; 388 | @fa-var-ra: "\f1d0"; 389 | @fa-var-random: "\f074"; 390 | @fa-var-rebel: "\f1d0"; 391 | @fa-var-recycle: "\f1b8"; 392 | @fa-var-reddit: "\f1a1"; 393 | @fa-var-reddit-square: "\f1a2"; 394 | @fa-var-refresh: "\f021"; 395 | @fa-var-remove: "\f00d"; 396 | @fa-var-renren: "\f18b"; 397 | @fa-var-reorder: "\f0c9"; 398 | @fa-var-repeat: "\f01e"; 399 | @fa-var-reply: "\f112"; 400 | @fa-var-reply-all: "\f122"; 401 | @fa-var-retweet: "\f079"; 402 | @fa-var-rmb: "\f157"; 403 | @fa-var-road: "\f018"; 404 | @fa-var-rocket: "\f135"; 405 | @fa-var-rotate-left: "\f0e2"; 406 | @fa-var-rotate-right: "\f01e"; 407 | @fa-var-rouble: "\f158"; 408 | @fa-var-rss: "\f09e"; 409 | @fa-var-rss-square: "\f143"; 410 | @fa-var-rub: "\f158"; 411 | @fa-var-ruble: "\f158"; 412 | @fa-var-rupee: "\f156"; 413 | @fa-var-save: "\f0c7"; 414 | @fa-var-scissors: "\f0c4"; 415 | @fa-var-search: "\f002"; 416 | @fa-var-search-minus: "\f010"; 417 | @fa-var-search-plus: "\f00e"; 418 | @fa-var-send: "\f1d8"; 419 | @fa-var-send-o: "\f1d9"; 420 | @fa-var-share: "\f064"; 421 | @fa-var-share-alt: "\f1e0"; 422 | @fa-var-share-alt-square: "\f1e1"; 423 | @fa-var-share-square: "\f14d"; 424 | @fa-var-share-square-o: "\f045"; 425 | @fa-var-shekel: "\f20b"; 426 | @fa-var-sheqel: "\f20b"; 427 | @fa-var-shield: "\f132"; 428 | @fa-var-shopping-cart: "\f07a"; 429 | @fa-var-sign-in: "\f090"; 430 | @fa-var-sign-out: "\f08b"; 431 | @fa-var-signal: "\f012"; 432 | @fa-var-sitemap: "\f0e8"; 433 | @fa-var-skype: "\f17e"; 434 | @fa-var-slack: "\f198"; 435 | @fa-var-sliders: "\f1de"; 436 | @fa-var-slideshare: "\f1e7"; 437 | @fa-var-smile-o: "\f118"; 438 | @fa-var-soccer-ball-o: "\f1e3"; 439 | @fa-var-sort: "\f0dc"; 440 | @fa-var-sort-alpha-asc: "\f15d"; 441 | @fa-var-sort-alpha-desc: "\f15e"; 442 | @fa-var-sort-amount-asc: "\f160"; 443 | @fa-var-sort-amount-desc: "\f161"; 444 | @fa-var-sort-asc: "\f0de"; 445 | @fa-var-sort-desc: "\f0dd"; 446 | @fa-var-sort-down: "\f0dd"; 447 | @fa-var-sort-numeric-asc: "\f162"; 448 | @fa-var-sort-numeric-desc: "\f163"; 449 | @fa-var-sort-up: "\f0de"; 450 | @fa-var-soundcloud: "\f1be"; 451 | @fa-var-space-shuttle: "\f197"; 452 | @fa-var-spinner: "\f110"; 453 | @fa-var-spoon: "\f1b1"; 454 | @fa-var-spotify: "\f1bc"; 455 | @fa-var-square: "\f0c8"; 456 | @fa-var-square-o: "\f096"; 457 | @fa-var-stack-exchange: "\f18d"; 458 | @fa-var-stack-overflow: "\f16c"; 459 | @fa-var-star: "\f005"; 460 | @fa-var-star-half: "\f089"; 461 | @fa-var-star-half-empty: "\f123"; 462 | @fa-var-star-half-full: "\f123"; 463 | @fa-var-star-half-o: "\f123"; 464 | @fa-var-star-o: "\f006"; 465 | @fa-var-steam: "\f1b6"; 466 | @fa-var-steam-square: "\f1b7"; 467 | @fa-var-step-backward: "\f048"; 468 | @fa-var-step-forward: "\f051"; 469 | @fa-var-stethoscope: "\f0f1"; 470 | @fa-var-stop: "\f04d"; 471 | @fa-var-strikethrough: "\f0cc"; 472 | @fa-var-stumbleupon: "\f1a4"; 473 | @fa-var-stumbleupon-circle: "\f1a3"; 474 | @fa-var-subscript: "\f12c"; 475 | @fa-var-suitcase: "\f0f2"; 476 | @fa-var-sun-o: "\f185"; 477 | @fa-var-superscript: "\f12b"; 478 | @fa-var-support: "\f1cd"; 479 | @fa-var-table: "\f0ce"; 480 | @fa-var-tablet: "\f10a"; 481 | @fa-var-tachometer: "\f0e4"; 482 | @fa-var-tag: "\f02b"; 483 | @fa-var-tags: "\f02c"; 484 | @fa-var-tasks: "\f0ae"; 485 | @fa-var-taxi: "\f1ba"; 486 | @fa-var-tencent-weibo: "\f1d5"; 487 | @fa-var-terminal: "\f120"; 488 | @fa-var-text-height: "\f034"; 489 | @fa-var-text-width: "\f035"; 490 | @fa-var-th: "\f00a"; 491 | @fa-var-th-large: "\f009"; 492 | @fa-var-th-list: "\f00b"; 493 | @fa-var-thumb-tack: "\f08d"; 494 | @fa-var-thumbs-down: "\f165"; 495 | @fa-var-thumbs-o-down: "\f088"; 496 | @fa-var-thumbs-o-up: "\f087"; 497 | @fa-var-thumbs-up: "\f164"; 498 | @fa-var-ticket: "\f145"; 499 | @fa-var-times: "\f00d"; 500 | @fa-var-times-circle: "\f057"; 501 | @fa-var-times-circle-o: "\f05c"; 502 | @fa-var-tint: "\f043"; 503 | @fa-var-toggle-down: "\f150"; 504 | @fa-var-toggle-left: "\f191"; 505 | @fa-var-toggle-off: "\f204"; 506 | @fa-var-toggle-on: "\f205"; 507 | @fa-var-toggle-right: "\f152"; 508 | @fa-var-toggle-up: "\f151"; 509 | @fa-var-trash: "\f1f8"; 510 | @fa-var-trash-o: "\f014"; 511 | @fa-var-tree: "\f1bb"; 512 | @fa-var-trello: "\f181"; 513 | @fa-var-trophy: "\f091"; 514 | @fa-var-truck: "\f0d1"; 515 | @fa-var-try: "\f195"; 516 | @fa-var-tty: "\f1e4"; 517 | @fa-var-tumblr: "\f173"; 518 | @fa-var-tumblr-square: "\f174"; 519 | @fa-var-turkish-lira: "\f195"; 520 | @fa-var-twitch: "\f1e8"; 521 | @fa-var-twitter: "\f099"; 522 | @fa-var-twitter-square: "\f081"; 523 | @fa-var-umbrella: "\f0e9"; 524 | @fa-var-underline: "\f0cd"; 525 | @fa-var-undo: "\f0e2"; 526 | @fa-var-university: "\f19c"; 527 | @fa-var-unlink: "\f127"; 528 | @fa-var-unlock: "\f09c"; 529 | @fa-var-unlock-alt: "\f13e"; 530 | @fa-var-unsorted: "\f0dc"; 531 | @fa-var-upload: "\f093"; 532 | @fa-var-usd: "\f155"; 533 | @fa-var-user: "\f007"; 534 | @fa-var-user-md: "\f0f0"; 535 | @fa-var-users: "\f0c0"; 536 | @fa-var-video-camera: "\f03d"; 537 | @fa-var-vimeo-square: "\f194"; 538 | @fa-var-vine: "\f1ca"; 539 | @fa-var-vk: "\f189"; 540 | @fa-var-volume-down: "\f027"; 541 | @fa-var-volume-off: "\f026"; 542 | @fa-var-volume-up: "\f028"; 543 | @fa-var-warning: "\f071"; 544 | @fa-var-wechat: "\f1d7"; 545 | @fa-var-weibo: "\f18a"; 546 | @fa-var-weixin: "\f1d7"; 547 | @fa-var-wheelchair: "\f193"; 548 | @fa-var-wifi: "\f1eb"; 549 | @fa-var-windows: "\f17a"; 550 | @fa-var-won: "\f159"; 551 | @fa-var-wordpress: "\f19a"; 552 | @fa-var-wrench: "\f0ad"; 553 | @fa-var-xing: "\f168"; 554 | @fa-var-xing-square: "\f169"; 555 | @fa-var-yahoo: "\f19e"; 556 | @fa-var-yelp: "\f1e9"; 557 | @fa-var-yen: "\f157"; 558 | @fa-var-youtube: "\f167"; 559 | @fa-var-youtube-play: "\f16a"; 560 | @fa-var-youtube-square: "\f166"; 561 | 562 | -------------------------------------------------------------------------------- /public/font-awesome/scss/_bordered-pulled.scss: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em $fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .pull-right { float: right; } 11 | .pull-left { float: left; } 12 | 13 | .#{$fa-css-prefix} { 14 | &.pull-left { margin-right: .3em; } 15 | &.pull-right { margin-left: .3em; } 16 | } 17 | -------------------------------------------------------------------------------- /public/font-awesome/scss/_core.scss: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal 14px/1 FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | } 12 | -------------------------------------------------------------------------------- /public/font-awesome/scss/_fixed-width.scss: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .#{$fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /public/font-awesome/scss/_larger.scss: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .#{$fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .#{$fa-css-prefix}-2x { font-size: 2em; } 11 | .#{$fa-css-prefix}-3x { font-size: 3em; } 12 | .#{$fa-css-prefix}-4x { font-size: 4em; } 13 | .#{$fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /public/font-awesome/scss/_list.scss: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: $fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .#{$fa-css-prefix}-li { 11 | position: absolute; 12 | left: -$fa-li-width; 13 | width: $fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.#{$fa-css-prefix}-lg { 17 | left: -$fa-li-width + (4em / 14); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /public/font-awesome/scss/_mixins.scss: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | @mixin fa-icon() { 5 | display: inline-block; 6 | font: normal normal normal 14px/1 FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | } 12 | 13 | @mixin fa-icon-rotate($degrees, $rotation) { 14 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}); 15 | -webkit-transform: rotate($degrees); 16 | -ms-transform: rotate($degrees); 17 | transform: rotate($degrees); 18 | } 19 | 20 | @mixin fa-icon-flip($horiz, $vert, $rotation) { 21 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}); 22 | -webkit-transform: scale($horiz, $vert); 23 | -ms-transform: scale($horiz, $vert); 24 | transform: scale($horiz, $vert); 25 | } 26 | -------------------------------------------------------------------------------- /public/font-awesome/scss/_path.scss: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); 7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), 8 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), 9 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), 10 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); 11 | //src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 12 | font-weight: normal; 13 | font-style: normal; 14 | } 15 | -------------------------------------------------------------------------------- /public/font-awesome/scss/_rotated-flipped.scss: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } 5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } 6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } 7 | 8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } 9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .#{$fa-css-prefix}-rotate-90, 15 | :root .#{$fa-css-prefix}-rotate-180, 16 | :root .#{$fa-css-prefix}-rotate-270, 17 | :root .#{$fa-css-prefix}-flip-horizontal, 18 | :root .#{$fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /public/font-awesome/scss/_spinning.scss: -------------------------------------------------------------------------------- 1 | // Spinning Icons 2 | // -------------------------- 3 | 4 | .#{$fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | @-webkit-keyframes fa-spin { 10 | 0% { 11 | -webkit-transform: rotate(0deg); 12 | transform: rotate(0deg); 13 | } 14 | 100% { 15 | -webkit-transform: rotate(359deg); 16 | transform: rotate(359deg); 17 | } 18 | } 19 | 20 | @keyframes fa-spin { 21 | 0% { 22 | -webkit-transform: rotate(0deg); 23 | transform: rotate(0deg); 24 | } 25 | 100% { 26 | -webkit-transform: rotate(359deg); 27 | transform: rotate(359deg); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /public/font-awesome/scss/_stacked.scss: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; } 21 | -------------------------------------------------------------------------------- /public/font-awesome/scss/_variables.scss: -------------------------------------------------------------------------------- 1 | // Variables 2 | // -------------------------- 3 | 4 | $fa-font-path: "../fonts" !default; 5 | //$fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.2.0/fonts" !default; // for referencing Bootstrap CDN font files directly 6 | $fa-css-prefix: fa !default; 7 | $fa-version: "4.2.0" !default; 8 | $fa-border-color: #eee !default; 9 | $fa-inverse: #fff !default; 10 | $fa-li-width: (30em / 14) !default; 11 | 12 | $fa-var-adjust: "\f042"; 13 | $fa-var-adn: "\f170"; 14 | $fa-var-align-center: "\f037"; 15 | $fa-var-align-justify: "\f039"; 16 | $fa-var-align-left: "\f036"; 17 | $fa-var-align-right: "\f038"; 18 | $fa-var-ambulance: "\f0f9"; 19 | $fa-var-anchor: "\f13d"; 20 | $fa-var-android: "\f17b"; 21 | $fa-var-angellist: "\f209"; 22 | $fa-var-angle-double-down: "\f103"; 23 | $fa-var-angle-double-left: "\f100"; 24 | $fa-var-angle-double-right: "\f101"; 25 | $fa-var-angle-double-up: "\f102"; 26 | $fa-var-angle-down: "\f107"; 27 | $fa-var-angle-left: "\f104"; 28 | $fa-var-angle-right: "\f105"; 29 | $fa-var-angle-up: "\f106"; 30 | $fa-var-apple: "\f179"; 31 | $fa-var-archive: "\f187"; 32 | $fa-var-area-chart: "\f1fe"; 33 | $fa-var-arrow-circle-down: "\f0ab"; 34 | $fa-var-arrow-circle-left: "\f0a8"; 35 | $fa-var-arrow-circle-o-down: "\f01a"; 36 | $fa-var-arrow-circle-o-left: "\f190"; 37 | $fa-var-arrow-circle-o-right: "\f18e"; 38 | $fa-var-arrow-circle-o-up: "\f01b"; 39 | $fa-var-arrow-circle-right: "\f0a9"; 40 | $fa-var-arrow-circle-up: "\f0aa"; 41 | $fa-var-arrow-down: "\f063"; 42 | $fa-var-arrow-left: "\f060"; 43 | $fa-var-arrow-right: "\f061"; 44 | $fa-var-arrow-up: "\f062"; 45 | $fa-var-arrows: "\f047"; 46 | $fa-var-arrows-alt: "\f0b2"; 47 | $fa-var-arrows-h: "\f07e"; 48 | $fa-var-arrows-v: "\f07d"; 49 | $fa-var-asterisk: "\f069"; 50 | $fa-var-at: "\f1fa"; 51 | $fa-var-automobile: "\f1b9"; 52 | $fa-var-backward: "\f04a"; 53 | $fa-var-ban: "\f05e"; 54 | $fa-var-bank: "\f19c"; 55 | $fa-var-bar-chart: "\f080"; 56 | $fa-var-bar-chart-o: "\f080"; 57 | $fa-var-barcode: "\f02a"; 58 | $fa-var-bars: "\f0c9"; 59 | $fa-var-beer: "\f0fc"; 60 | $fa-var-behance: "\f1b4"; 61 | $fa-var-behance-square: "\f1b5"; 62 | $fa-var-bell: "\f0f3"; 63 | $fa-var-bell-o: "\f0a2"; 64 | $fa-var-bell-slash: "\f1f6"; 65 | $fa-var-bell-slash-o: "\f1f7"; 66 | $fa-var-bicycle: "\f206"; 67 | $fa-var-binoculars: "\f1e5"; 68 | $fa-var-birthday-cake: "\f1fd"; 69 | $fa-var-bitbucket: "\f171"; 70 | $fa-var-bitbucket-square: "\f172"; 71 | $fa-var-bitcoin: "\f15a"; 72 | $fa-var-bold: "\f032"; 73 | $fa-var-bolt: "\f0e7"; 74 | $fa-var-bomb: "\f1e2"; 75 | $fa-var-book: "\f02d"; 76 | $fa-var-bookmark: "\f02e"; 77 | $fa-var-bookmark-o: "\f097"; 78 | $fa-var-briefcase: "\f0b1"; 79 | $fa-var-btc: "\f15a"; 80 | $fa-var-bug: "\f188"; 81 | $fa-var-building: "\f1ad"; 82 | $fa-var-building-o: "\f0f7"; 83 | $fa-var-bullhorn: "\f0a1"; 84 | $fa-var-bullseye: "\f140"; 85 | $fa-var-bus: "\f207"; 86 | $fa-var-cab: "\f1ba"; 87 | $fa-var-calculator: "\f1ec"; 88 | $fa-var-calendar: "\f073"; 89 | $fa-var-calendar-o: "\f133"; 90 | $fa-var-camera: "\f030"; 91 | $fa-var-camera-retro: "\f083"; 92 | $fa-var-car: "\f1b9"; 93 | $fa-var-caret-down: "\f0d7"; 94 | $fa-var-caret-left: "\f0d9"; 95 | $fa-var-caret-right: "\f0da"; 96 | $fa-var-caret-square-o-down: "\f150"; 97 | $fa-var-caret-square-o-left: "\f191"; 98 | $fa-var-caret-square-o-right: "\f152"; 99 | $fa-var-caret-square-o-up: "\f151"; 100 | $fa-var-caret-up: "\f0d8"; 101 | $fa-var-cc: "\f20a"; 102 | $fa-var-cc-amex: "\f1f3"; 103 | $fa-var-cc-discover: "\f1f2"; 104 | $fa-var-cc-mastercard: "\f1f1"; 105 | $fa-var-cc-paypal: "\f1f4"; 106 | $fa-var-cc-stripe: "\f1f5"; 107 | $fa-var-cc-visa: "\f1f0"; 108 | $fa-var-certificate: "\f0a3"; 109 | $fa-var-chain: "\f0c1"; 110 | $fa-var-chain-broken: "\f127"; 111 | $fa-var-check: "\f00c"; 112 | $fa-var-check-circle: "\f058"; 113 | $fa-var-check-circle-o: "\f05d"; 114 | $fa-var-check-square: "\f14a"; 115 | $fa-var-check-square-o: "\f046"; 116 | $fa-var-chevron-circle-down: "\f13a"; 117 | $fa-var-chevron-circle-left: "\f137"; 118 | $fa-var-chevron-circle-right: "\f138"; 119 | $fa-var-chevron-circle-up: "\f139"; 120 | $fa-var-chevron-down: "\f078"; 121 | $fa-var-chevron-left: "\f053"; 122 | $fa-var-chevron-right: "\f054"; 123 | $fa-var-chevron-up: "\f077"; 124 | $fa-var-child: "\f1ae"; 125 | $fa-var-circle: "\f111"; 126 | $fa-var-circle-o: "\f10c"; 127 | $fa-var-circle-o-notch: "\f1ce"; 128 | $fa-var-circle-thin: "\f1db"; 129 | $fa-var-clipboard: "\f0ea"; 130 | $fa-var-clock-o: "\f017"; 131 | $fa-var-close: "\f00d"; 132 | $fa-var-cloud: "\f0c2"; 133 | $fa-var-cloud-download: "\f0ed"; 134 | $fa-var-cloud-upload: "\f0ee"; 135 | $fa-var-cny: "\f157"; 136 | $fa-var-code: "\f121"; 137 | $fa-var-code-fork: "\f126"; 138 | $fa-var-codepen: "\f1cb"; 139 | $fa-var-coffee: "\f0f4"; 140 | $fa-var-cog: "\f013"; 141 | $fa-var-cogs: "\f085"; 142 | $fa-var-columns: "\f0db"; 143 | $fa-var-comment: "\f075"; 144 | $fa-var-comment-o: "\f0e5"; 145 | $fa-var-comments: "\f086"; 146 | $fa-var-comments-o: "\f0e6"; 147 | $fa-var-compass: "\f14e"; 148 | $fa-var-compress: "\f066"; 149 | $fa-var-copy: "\f0c5"; 150 | $fa-var-copyright: "\f1f9"; 151 | $fa-var-credit-card: "\f09d"; 152 | $fa-var-crop: "\f125"; 153 | $fa-var-crosshairs: "\f05b"; 154 | $fa-var-css3: "\f13c"; 155 | $fa-var-cube: "\f1b2"; 156 | $fa-var-cubes: "\f1b3"; 157 | $fa-var-cut: "\f0c4"; 158 | $fa-var-cutlery: "\f0f5"; 159 | $fa-var-dashboard: "\f0e4"; 160 | $fa-var-database: "\f1c0"; 161 | $fa-var-dedent: "\f03b"; 162 | $fa-var-delicious: "\f1a5"; 163 | $fa-var-desktop: "\f108"; 164 | $fa-var-deviantart: "\f1bd"; 165 | $fa-var-digg: "\f1a6"; 166 | $fa-var-dollar: "\f155"; 167 | $fa-var-dot-circle-o: "\f192"; 168 | $fa-var-download: "\f019"; 169 | $fa-var-dribbble: "\f17d"; 170 | $fa-var-dropbox: "\f16b"; 171 | $fa-var-drupal: "\f1a9"; 172 | $fa-var-edit: "\f044"; 173 | $fa-var-eject: "\f052"; 174 | $fa-var-ellipsis-h: "\f141"; 175 | $fa-var-ellipsis-v: "\f142"; 176 | $fa-var-empire: "\f1d1"; 177 | $fa-var-envelope: "\f0e0"; 178 | $fa-var-envelope-o: "\f003"; 179 | $fa-var-envelope-square: "\f199"; 180 | $fa-var-eraser: "\f12d"; 181 | $fa-var-eur: "\f153"; 182 | $fa-var-euro: "\f153"; 183 | $fa-var-exchange: "\f0ec"; 184 | $fa-var-exclamation: "\f12a"; 185 | $fa-var-exclamation-circle: "\f06a"; 186 | $fa-var-exclamation-triangle: "\f071"; 187 | $fa-var-expand: "\f065"; 188 | $fa-var-external-link: "\f08e"; 189 | $fa-var-external-link-square: "\f14c"; 190 | $fa-var-eye: "\f06e"; 191 | $fa-var-eye-slash: "\f070"; 192 | $fa-var-eyedropper: "\f1fb"; 193 | $fa-var-facebook: "\f09a"; 194 | $fa-var-facebook-square: "\f082"; 195 | $fa-var-fast-backward: "\f049"; 196 | $fa-var-fast-forward: "\f050"; 197 | $fa-var-fax: "\f1ac"; 198 | $fa-var-female: "\f182"; 199 | $fa-var-fighter-jet: "\f0fb"; 200 | $fa-var-file: "\f15b"; 201 | $fa-var-file-archive-o: "\f1c6"; 202 | $fa-var-file-audio-o: "\f1c7"; 203 | $fa-var-file-code-o: "\f1c9"; 204 | $fa-var-file-excel-o: "\f1c3"; 205 | $fa-var-file-image-o: "\f1c5"; 206 | $fa-var-file-movie-o: "\f1c8"; 207 | $fa-var-file-o: "\f016"; 208 | $fa-var-file-pdf-o: "\f1c1"; 209 | $fa-var-file-photo-o: "\f1c5"; 210 | $fa-var-file-picture-o: "\f1c5"; 211 | $fa-var-file-powerpoint-o: "\f1c4"; 212 | $fa-var-file-sound-o: "\f1c7"; 213 | $fa-var-file-text: "\f15c"; 214 | $fa-var-file-text-o: "\f0f6"; 215 | $fa-var-file-video-o: "\f1c8"; 216 | $fa-var-file-word-o: "\f1c2"; 217 | $fa-var-file-zip-o: "\f1c6"; 218 | $fa-var-files-o: "\f0c5"; 219 | $fa-var-film: "\f008"; 220 | $fa-var-filter: "\f0b0"; 221 | $fa-var-fire: "\f06d"; 222 | $fa-var-fire-extinguisher: "\f134"; 223 | $fa-var-flag: "\f024"; 224 | $fa-var-flag-checkered: "\f11e"; 225 | $fa-var-flag-o: "\f11d"; 226 | $fa-var-flash: "\f0e7"; 227 | $fa-var-flask: "\f0c3"; 228 | $fa-var-flickr: "\f16e"; 229 | $fa-var-floppy-o: "\f0c7"; 230 | $fa-var-folder: "\f07b"; 231 | $fa-var-folder-o: "\f114"; 232 | $fa-var-folder-open: "\f07c"; 233 | $fa-var-folder-open-o: "\f115"; 234 | $fa-var-font: "\f031"; 235 | $fa-var-forward: "\f04e"; 236 | $fa-var-foursquare: "\f180"; 237 | $fa-var-frown-o: "\f119"; 238 | $fa-var-futbol-o: "\f1e3"; 239 | $fa-var-gamepad: "\f11b"; 240 | $fa-var-gavel: "\f0e3"; 241 | $fa-var-gbp: "\f154"; 242 | $fa-var-ge: "\f1d1"; 243 | $fa-var-gear: "\f013"; 244 | $fa-var-gears: "\f085"; 245 | $fa-var-gift: "\f06b"; 246 | $fa-var-git: "\f1d3"; 247 | $fa-var-git-square: "\f1d2"; 248 | $fa-var-github: "\f09b"; 249 | $fa-var-github-alt: "\f113"; 250 | $fa-var-github-square: "\f092"; 251 | $fa-var-gittip: "\f184"; 252 | $fa-var-glass: "\f000"; 253 | $fa-var-globe: "\f0ac"; 254 | $fa-var-google: "\f1a0"; 255 | $fa-var-google-plus: "\f0d5"; 256 | $fa-var-google-plus-square: "\f0d4"; 257 | $fa-var-google-wallet: "\f1ee"; 258 | $fa-var-graduation-cap: "\f19d"; 259 | $fa-var-group: "\f0c0"; 260 | $fa-var-h-square: "\f0fd"; 261 | $fa-var-hacker-news: "\f1d4"; 262 | $fa-var-hand-o-down: "\f0a7"; 263 | $fa-var-hand-o-left: "\f0a5"; 264 | $fa-var-hand-o-right: "\f0a4"; 265 | $fa-var-hand-o-up: "\f0a6"; 266 | $fa-var-hdd-o: "\f0a0"; 267 | $fa-var-header: "\f1dc"; 268 | $fa-var-headphones: "\f025"; 269 | $fa-var-heart: "\f004"; 270 | $fa-var-heart-o: "\f08a"; 271 | $fa-var-history: "\f1da"; 272 | $fa-var-home: "\f015"; 273 | $fa-var-hospital-o: "\f0f8"; 274 | $fa-var-html5: "\f13b"; 275 | $fa-var-ils: "\f20b"; 276 | $fa-var-image: "\f03e"; 277 | $fa-var-inbox: "\f01c"; 278 | $fa-var-indent: "\f03c"; 279 | $fa-var-info: "\f129"; 280 | $fa-var-info-circle: "\f05a"; 281 | $fa-var-inr: "\f156"; 282 | $fa-var-instagram: "\f16d"; 283 | $fa-var-institution: "\f19c"; 284 | $fa-var-ioxhost: "\f208"; 285 | $fa-var-italic: "\f033"; 286 | $fa-var-joomla: "\f1aa"; 287 | $fa-var-jpy: "\f157"; 288 | $fa-var-jsfiddle: "\f1cc"; 289 | $fa-var-key: "\f084"; 290 | $fa-var-keyboard-o: "\f11c"; 291 | $fa-var-krw: "\f159"; 292 | $fa-var-language: "\f1ab"; 293 | $fa-var-laptop: "\f109"; 294 | $fa-var-lastfm: "\f202"; 295 | $fa-var-lastfm-square: "\f203"; 296 | $fa-var-leaf: "\f06c"; 297 | $fa-var-legal: "\f0e3"; 298 | $fa-var-lemon-o: "\f094"; 299 | $fa-var-level-down: "\f149"; 300 | $fa-var-level-up: "\f148"; 301 | $fa-var-life-bouy: "\f1cd"; 302 | $fa-var-life-buoy: "\f1cd"; 303 | $fa-var-life-ring: "\f1cd"; 304 | $fa-var-life-saver: "\f1cd"; 305 | $fa-var-lightbulb-o: "\f0eb"; 306 | $fa-var-line-chart: "\f201"; 307 | $fa-var-link: "\f0c1"; 308 | $fa-var-linkedin: "\f0e1"; 309 | $fa-var-linkedin-square: "\f08c"; 310 | $fa-var-linux: "\f17c"; 311 | $fa-var-list: "\f03a"; 312 | $fa-var-list-alt: "\f022"; 313 | $fa-var-list-ol: "\f0cb"; 314 | $fa-var-list-ul: "\f0ca"; 315 | $fa-var-location-arrow: "\f124"; 316 | $fa-var-lock: "\f023"; 317 | $fa-var-long-arrow-down: "\f175"; 318 | $fa-var-long-arrow-left: "\f177"; 319 | $fa-var-long-arrow-right: "\f178"; 320 | $fa-var-long-arrow-up: "\f176"; 321 | $fa-var-magic: "\f0d0"; 322 | $fa-var-magnet: "\f076"; 323 | $fa-var-mail-forward: "\f064"; 324 | $fa-var-mail-reply: "\f112"; 325 | $fa-var-mail-reply-all: "\f122"; 326 | $fa-var-male: "\f183"; 327 | $fa-var-map-marker: "\f041"; 328 | $fa-var-maxcdn: "\f136"; 329 | $fa-var-meanpath: "\f20c"; 330 | $fa-var-medkit: "\f0fa"; 331 | $fa-var-meh-o: "\f11a"; 332 | $fa-var-microphone: "\f130"; 333 | $fa-var-microphone-slash: "\f131"; 334 | $fa-var-minus: "\f068"; 335 | $fa-var-minus-circle: "\f056"; 336 | $fa-var-minus-square: "\f146"; 337 | $fa-var-minus-square-o: "\f147"; 338 | $fa-var-mobile: "\f10b"; 339 | $fa-var-mobile-phone: "\f10b"; 340 | $fa-var-money: "\f0d6"; 341 | $fa-var-moon-o: "\f186"; 342 | $fa-var-mortar-board: "\f19d"; 343 | $fa-var-music: "\f001"; 344 | $fa-var-navicon: "\f0c9"; 345 | $fa-var-newspaper-o: "\f1ea"; 346 | $fa-var-openid: "\f19b"; 347 | $fa-var-outdent: "\f03b"; 348 | $fa-var-pagelines: "\f18c"; 349 | $fa-var-paint-brush: "\f1fc"; 350 | $fa-var-paper-plane: "\f1d8"; 351 | $fa-var-paper-plane-o: "\f1d9"; 352 | $fa-var-paperclip: "\f0c6"; 353 | $fa-var-paragraph: "\f1dd"; 354 | $fa-var-paste: "\f0ea"; 355 | $fa-var-pause: "\f04c"; 356 | $fa-var-paw: "\f1b0"; 357 | $fa-var-paypal: "\f1ed"; 358 | $fa-var-pencil: "\f040"; 359 | $fa-var-pencil-square: "\f14b"; 360 | $fa-var-pencil-square-o: "\f044"; 361 | $fa-var-phone: "\f095"; 362 | $fa-var-phone-square: "\f098"; 363 | $fa-var-photo: "\f03e"; 364 | $fa-var-picture-o: "\f03e"; 365 | $fa-var-pie-chart: "\f200"; 366 | $fa-var-pied-piper: "\f1a7"; 367 | $fa-var-pied-piper-alt: "\f1a8"; 368 | $fa-var-pinterest: "\f0d2"; 369 | $fa-var-pinterest-square: "\f0d3"; 370 | $fa-var-plane: "\f072"; 371 | $fa-var-play: "\f04b"; 372 | $fa-var-play-circle: "\f144"; 373 | $fa-var-play-circle-o: "\f01d"; 374 | $fa-var-plug: "\f1e6"; 375 | $fa-var-plus: "\f067"; 376 | $fa-var-plus-circle: "\f055"; 377 | $fa-var-plus-square: "\f0fe"; 378 | $fa-var-plus-square-o: "\f196"; 379 | $fa-var-power-off: "\f011"; 380 | $fa-var-print: "\f02f"; 381 | $fa-var-puzzle-piece: "\f12e"; 382 | $fa-var-qq: "\f1d6"; 383 | $fa-var-qrcode: "\f029"; 384 | $fa-var-question: "\f128"; 385 | $fa-var-question-circle: "\f059"; 386 | $fa-var-quote-left: "\f10d"; 387 | $fa-var-quote-right: "\f10e"; 388 | $fa-var-ra: "\f1d0"; 389 | $fa-var-random: "\f074"; 390 | $fa-var-rebel: "\f1d0"; 391 | $fa-var-recycle: "\f1b8"; 392 | $fa-var-reddit: "\f1a1"; 393 | $fa-var-reddit-square: "\f1a2"; 394 | $fa-var-refresh: "\f021"; 395 | $fa-var-remove: "\f00d"; 396 | $fa-var-renren: "\f18b"; 397 | $fa-var-reorder: "\f0c9"; 398 | $fa-var-repeat: "\f01e"; 399 | $fa-var-reply: "\f112"; 400 | $fa-var-reply-all: "\f122"; 401 | $fa-var-retweet: "\f079"; 402 | $fa-var-rmb: "\f157"; 403 | $fa-var-road: "\f018"; 404 | $fa-var-rocket: "\f135"; 405 | $fa-var-rotate-left: "\f0e2"; 406 | $fa-var-rotate-right: "\f01e"; 407 | $fa-var-rouble: "\f158"; 408 | $fa-var-rss: "\f09e"; 409 | $fa-var-rss-square: "\f143"; 410 | $fa-var-rub: "\f158"; 411 | $fa-var-ruble: "\f158"; 412 | $fa-var-rupee: "\f156"; 413 | $fa-var-save: "\f0c7"; 414 | $fa-var-scissors: "\f0c4"; 415 | $fa-var-search: "\f002"; 416 | $fa-var-search-minus: "\f010"; 417 | $fa-var-search-plus: "\f00e"; 418 | $fa-var-send: "\f1d8"; 419 | $fa-var-send-o: "\f1d9"; 420 | $fa-var-share: "\f064"; 421 | $fa-var-share-alt: "\f1e0"; 422 | $fa-var-share-alt-square: "\f1e1"; 423 | $fa-var-share-square: "\f14d"; 424 | $fa-var-share-square-o: "\f045"; 425 | $fa-var-shekel: "\f20b"; 426 | $fa-var-sheqel: "\f20b"; 427 | $fa-var-shield: "\f132"; 428 | $fa-var-shopping-cart: "\f07a"; 429 | $fa-var-sign-in: "\f090"; 430 | $fa-var-sign-out: "\f08b"; 431 | $fa-var-signal: "\f012"; 432 | $fa-var-sitemap: "\f0e8"; 433 | $fa-var-skype: "\f17e"; 434 | $fa-var-slack: "\f198"; 435 | $fa-var-sliders: "\f1de"; 436 | $fa-var-slideshare: "\f1e7"; 437 | $fa-var-smile-o: "\f118"; 438 | $fa-var-soccer-ball-o: "\f1e3"; 439 | $fa-var-sort: "\f0dc"; 440 | $fa-var-sort-alpha-asc: "\f15d"; 441 | $fa-var-sort-alpha-desc: "\f15e"; 442 | $fa-var-sort-amount-asc: "\f160"; 443 | $fa-var-sort-amount-desc: "\f161"; 444 | $fa-var-sort-asc: "\f0de"; 445 | $fa-var-sort-desc: "\f0dd"; 446 | $fa-var-sort-down: "\f0dd"; 447 | $fa-var-sort-numeric-asc: "\f162"; 448 | $fa-var-sort-numeric-desc: "\f163"; 449 | $fa-var-sort-up: "\f0de"; 450 | $fa-var-soundcloud: "\f1be"; 451 | $fa-var-space-shuttle: "\f197"; 452 | $fa-var-spinner: "\f110"; 453 | $fa-var-spoon: "\f1b1"; 454 | $fa-var-spotify: "\f1bc"; 455 | $fa-var-square: "\f0c8"; 456 | $fa-var-square-o: "\f096"; 457 | $fa-var-stack-exchange: "\f18d"; 458 | $fa-var-stack-overflow: "\f16c"; 459 | $fa-var-star: "\f005"; 460 | $fa-var-star-half: "\f089"; 461 | $fa-var-star-half-empty: "\f123"; 462 | $fa-var-star-half-full: "\f123"; 463 | $fa-var-star-half-o: "\f123"; 464 | $fa-var-star-o: "\f006"; 465 | $fa-var-steam: "\f1b6"; 466 | $fa-var-steam-square: "\f1b7"; 467 | $fa-var-step-backward: "\f048"; 468 | $fa-var-step-forward: "\f051"; 469 | $fa-var-stethoscope: "\f0f1"; 470 | $fa-var-stop: "\f04d"; 471 | $fa-var-strikethrough: "\f0cc"; 472 | $fa-var-stumbleupon: "\f1a4"; 473 | $fa-var-stumbleupon-circle: "\f1a3"; 474 | $fa-var-subscript: "\f12c"; 475 | $fa-var-suitcase: "\f0f2"; 476 | $fa-var-sun-o: "\f185"; 477 | $fa-var-superscript: "\f12b"; 478 | $fa-var-support: "\f1cd"; 479 | $fa-var-table: "\f0ce"; 480 | $fa-var-tablet: "\f10a"; 481 | $fa-var-tachometer: "\f0e4"; 482 | $fa-var-tag: "\f02b"; 483 | $fa-var-tags: "\f02c"; 484 | $fa-var-tasks: "\f0ae"; 485 | $fa-var-taxi: "\f1ba"; 486 | $fa-var-tencent-weibo: "\f1d5"; 487 | $fa-var-terminal: "\f120"; 488 | $fa-var-text-height: "\f034"; 489 | $fa-var-text-width: "\f035"; 490 | $fa-var-th: "\f00a"; 491 | $fa-var-th-large: "\f009"; 492 | $fa-var-th-list: "\f00b"; 493 | $fa-var-thumb-tack: "\f08d"; 494 | $fa-var-thumbs-down: "\f165"; 495 | $fa-var-thumbs-o-down: "\f088"; 496 | $fa-var-thumbs-o-up: "\f087"; 497 | $fa-var-thumbs-up: "\f164"; 498 | $fa-var-ticket: "\f145"; 499 | $fa-var-times: "\f00d"; 500 | $fa-var-times-circle: "\f057"; 501 | $fa-var-times-circle-o: "\f05c"; 502 | $fa-var-tint: "\f043"; 503 | $fa-var-toggle-down: "\f150"; 504 | $fa-var-toggle-left: "\f191"; 505 | $fa-var-toggle-off: "\f204"; 506 | $fa-var-toggle-on: "\f205"; 507 | $fa-var-toggle-right: "\f152"; 508 | $fa-var-toggle-up: "\f151"; 509 | $fa-var-trash: "\f1f8"; 510 | $fa-var-trash-o: "\f014"; 511 | $fa-var-tree: "\f1bb"; 512 | $fa-var-trello: "\f181"; 513 | $fa-var-trophy: "\f091"; 514 | $fa-var-truck: "\f0d1"; 515 | $fa-var-try: "\f195"; 516 | $fa-var-tty: "\f1e4"; 517 | $fa-var-tumblr: "\f173"; 518 | $fa-var-tumblr-square: "\f174"; 519 | $fa-var-turkish-lira: "\f195"; 520 | $fa-var-twitch: "\f1e8"; 521 | $fa-var-twitter: "\f099"; 522 | $fa-var-twitter-square: "\f081"; 523 | $fa-var-umbrella: "\f0e9"; 524 | $fa-var-underline: "\f0cd"; 525 | $fa-var-undo: "\f0e2"; 526 | $fa-var-university: "\f19c"; 527 | $fa-var-unlink: "\f127"; 528 | $fa-var-unlock: "\f09c"; 529 | $fa-var-unlock-alt: "\f13e"; 530 | $fa-var-unsorted: "\f0dc"; 531 | $fa-var-upload: "\f093"; 532 | $fa-var-usd: "\f155"; 533 | $fa-var-user: "\f007"; 534 | $fa-var-user-md: "\f0f0"; 535 | $fa-var-users: "\f0c0"; 536 | $fa-var-video-camera: "\f03d"; 537 | $fa-var-vimeo-square: "\f194"; 538 | $fa-var-vine: "\f1ca"; 539 | $fa-var-vk: "\f189"; 540 | $fa-var-volume-down: "\f027"; 541 | $fa-var-volume-off: "\f026"; 542 | $fa-var-volume-up: "\f028"; 543 | $fa-var-warning: "\f071"; 544 | $fa-var-wechat: "\f1d7"; 545 | $fa-var-weibo: "\f18a"; 546 | $fa-var-weixin: "\f1d7"; 547 | $fa-var-wheelchair: "\f193"; 548 | $fa-var-wifi: "\f1eb"; 549 | $fa-var-windows: "\f17a"; 550 | $fa-var-won: "\f159"; 551 | $fa-var-wordpress: "\f19a"; 552 | $fa-var-wrench: "\f0ad"; 553 | $fa-var-xing: "\f168"; 554 | $fa-var-xing-square: "\f169"; 555 | $fa-var-yahoo: "\f19e"; 556 | $fa-var-yelp: "\f1e9"; 557 | $fa-var-yen: "\f157"; 558 | $fa-var-youtube: "\f167"; 559 | $fa-var-youtube-play: "\f16a"; 560 | $fa-var-youtube-square: "\f166"; 561 | 562 | -------------------------------------------------------------------------------- /public/font-awesome/scss/font-awesome.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables"; 7 | @import "mixins"; 8 | @import "path"; 9 | @import "core"; 10 | @import "larger"; 11 | @import "fixed-width"; 12 | @import "list"; 13 | @import "bordered-pulled"; 14 | @import "spinning"; 15 | @import "rotated-flipped"; 16 | @import "stacked"; 17 | @import "icons"; 18 | -------------------------------------------------------------------------------- /public/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bestmomo/lumenangular/a714d55e1bd9a23200c9ef4d3352ad1be67b67d3/public/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /public/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bestmomo/lumenangular/a714d55e1bd9a23200c9ef4d3352ad1be67b67d3/public/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /public/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bestmomo/lumenangular/a714d55e1bd9a23200c9ef4d3352ad1be67b67d3/public/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /public/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bestmomo/lumenangular/a714d55e1bd9a23200c9ef4d3352ad1be67b67d3/public/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /public/img/downloads-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bestmomo/lumenangular/a714d55e1bd9a23200c9ef4d3352ad1be67b67d3/public/img/downloads-bg.jpg -------------------------------------------------------------------------------- /public/img/intro-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bestmomo/lumenangular/a714d55e1bd9a23200c9ef4d3352ad1be67b67d3/public/img/intro-bg.jpg -------------------------------------------------------------------------------- /public/img/map-marker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bestmomo/lumenangular/a714d55e1bd9a23200c9ef4d3352ad1be67b67d3/public/img/map-marker.png -------------------------------------------------------------------------------- /public/index.php: -------------------------------------------------------------------------------- 1 | run(); 29 | -------------------------------------------------------------------------------- /public/js/app.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* App Module */ 4 | 5 | var dreamsApp = angular.module('dreamsApp', [ 6 | 'dreamsControllers', 7 | 'dreamsServices' 8 | 9 | ]); 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /public/js/controllers.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* Controllers */ 4 | 5 | var dreamsControllers = angular.module('dreamsControllers', []); 6 | 7 | dreamsControllers.controller('AppCtrl', ['$scope', 'Log', 'Logout', 'Dream', 8 | function AppCtrl($scope, Log, Logout, Dream) { 9 | 10 | // Variables 11 | $scope.isLogged = false; 12 | $scope.data = {}; 13 | $scope.page = 1; 14 | $scope.previous = false; 15 | $scope.next = false; 16 | 17 | /* Initial log */ 18 | Log.get({}, 19 | function success(response) { 20 | $scope.isLogged = response.auth; 21 | }, 22 | function error(errorResponse) { 23 | console.log("Error:" + JSON.stringify(errorResponse)); 24 | } 25 | ); 26 | 27 | /* Pagination */ 28 | $scope.paginate = function (direction) { 29 | if (direction === 'previous') 30 | --$scope.page; 31 | else if (direction === 'next') 32 | ++$scope.page; 33 | Dream.get({page: $scope.page}, 34 | function success(response) { 35 | $scope.data = response.data; 36 | $scope.previous = response.prev_page_url; 37 | $scope.next = response.next_page_url; 38 | }, 39 | function error(errorResponse) { 40 | console.log("Error:" + JSON.stringify(errorResponse)); 41 | } 42 | ); 43 | }; 44 | 45 | /* Initial page */ 46 | $scope.paginate(); 47 | 48 | /* Logout */ 49 | $scope.logout = function () { 50 | Logout.get({}, 51 | function success() { 52 | $scope.isLogged = false; 53 | $.each($scope.data, function(key) { 54 | $scope.data[key].is_owner = false; 55 | }); 56 | }, 57 | function error(errorResponse) { 58 | console.log("Error:" + JSON.stringify(errorResponse)); 59 | } 60 | ); 61 | }; 62 | 63 | /* Edit Dream */ 64 | $scope.edit = function (id, index) { 65 | $scope.errorContent = null; 66 | $scope.id = $scope.data[index].id; 67 | $scope.content = $scope.data[index].content; 68 | $scope.index = index; 69 | $('#myModal').modal(); 70 | }; 71 | 72 | /* Destroy Dream */ 73 | $scope.destroy = function (id) { 74 | if (confirm("Really delete this dream ?")) 75 | { 76 | Dream.delete({id: id}, 77 | function success() { 78 | $scope.paginate(); 79 | }, 80 | function error(errorResponse) { 81 | console.log("Error:" + JSON.stringify(errorResponse)); 82 | } 83 | ); 84 | } 85 | }; 86 | 87 | /* Update Dream */ 88 | $scope.submitChange = function () { 89 | $scope.errorContent = null; 90 | Dream.update({id: $scope.id}, {content: $scope.content}, 91 | function success(response) { 92 | $scope.data[$scope.index].content = $scope.content; 93 | $('#myModal').modal('hide'); 94 | }, 95 | function error(errorResponse) { 96 | $scope.errorContent = errorResponse.data.content[0]; 97 | } 98 | ); 99 | }; 100 | 101 | }]); 102 | 103 | dreamsControllers.controller('LoginCtrl', ['$scope', 'Login', 104 | function LoginCtrl($scope, Login) { 105 | $scope.isAlert = false; 106 | 107 | /* Login */ 108 | $scope.submit = function () { 109 | $scope.errorEmail = null; 110 | $scope.errorPassword = null; 111 | $scope.isAlert = false; 112 | Login.save({}, $scope.formData, 113 | function success(response) { 114 | if (response.result === 'success') { 115 | $scope.$parent.isLogged = true; 116 | $scope.$parent.paginate(); 117 | window.location = '#page-top'; 118 | } else { 119 | $scope.isAlert = true; 120 | } 121 | }, 122 | function error(errorResponse) { 123 | if (errorResponse.data.password) { 124 | $scope.errorPassword = errorResponse.data.password[0]; 125 | } 126 | if (errorResponse.data.email) { 127 | $scope.errorEmail = errorResponse.data.email[0]; 128 | } 129 | } 130 | ); 131 | }; 132 | 133 | }]); 134 | 135 | dreamsControllers.controller('DreamCtrl', ['$scope', 'Dream', 136 | function DreamCtrl($scope, Dream) { 137 | 138 | /* Create Dream */ 139 | $scope.submitCreate = function () { 140 | $scope.errorCreateContent = null; 141 | Dream.save({}, $scope.formData, 142 | function success(response) { 143 | $scope.formData.content = null; 144 | $scope.$parent.page = 1; 145 | $scope.$parent.data = response.data; 146 | $scope.$parent.previous = response.prev_page_url; 147 | $scope.$parent.next = response.next_page_url; 148 | window.location = '#dreams'; 149 | }, 150 | function error(errorResponse) { 151 | $scope.errorCreateContent = errorResponse.data.content[0]; 152 | } 153 | ); 154 | }; 155 | 156 | }]); 157 | 158 | 159 | 160 | -------------------------------------------------------------------------------- /public/js/grayscale.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Start Bootstrap - Grayscale Bootstrap Theme (http://startbootstrap.com) 3 | * Code licensed under the Apache License v2.0. 4 | * For details, see http://www.apache.org/licenses/LICENSE-2.0. 5 | */ 6 | 7 | // jQuery to collapse the navbar on scroll 8 | $(window).scroll(function() { 9 | if ($(".navbar").offset().top > 50) { 10 | $(".navbar-fixed-top").addClass("top-nav-collapse"); 11 | } else { 12 | $(".navbar-fixed-top").removeClass("top-nav-collapse"); 13 | } 14 | }); 15 | 16 | // jQuery for page scrolling feature - requires jQuery Easing plugin 17 | $(function() { 18 | $('a.page-scroll').bind('click', function(event) { 19 | var $anchor = $(this); 20 | $('html, body').stop().animate({ 21 | scrollTop: $($anchor.attr('href')).offset().top 22 | }, 1500, 'easeInOutExpo'); 23 | event.preventDefault(); 24 | }); 25 | }); 26 | 27 | // Closes the Responsive Menu on Menu Item Click 28 | $('.navbar-collapse ul li a').click(function() { 29 | $('.navbar-toggle:visible').click(); 30 | }); 31 | 32 | // Google Maps Scripts 33 | // When the window has finished loading create our google map below 34 | google.maps.event.addDomListener(window, 'load', init); 35 | 36 | function init() { 37 | // Basic options for a simple Google Map 38 | // For more options see: https://developers.google.com/maps/documentation/javascript/reference#MapOptions 39 | var mapOptions = { 40 | // How zoomed in you want the map to start at (always required) 41 | zoom: 15, 42 | 43 | // The latitude and longitude to center the map (always required) 44 | center: new google.maps.LatLng(40.6700, -73.9400), // New York 45 | 46 | // Disables the default Google Maps UI components 47 | disableDefaultUI: true, 48 | scrollwheel: false, 49 | draggable: false, 50 | 51 | // How you would like to style the map. 52 | // This is where you would paste any style found on Snazzy Maps. 53 | styles: [{ 54 | "featureType": "water", 55 | "elementType": "geometry", 56 | "stylers": [{ 57 | "color": "#000000" 58 | }, { 59 | "lightness": 17 60 | }] 61 | }, { 62 | "featureType": "landscape", 63 | "elementType": "geometry", 64 | "stylers": [{ 65 | "color": "#000000" 66 | }, { 67 | "lightness": 20 68 | }] 69 | }, { 70 | "featureType": "road.highway", 71 | "elementType": "geometry.fill", 72 | "stylers": [{ 73 | "color": "#000000" 74 | }, { 75 | "lightness": 17 76 | }] 77 | }, { 78 | "featureType": "road.highway", 79 | "elementType": "geometry.stroke", 80 | "stylers": [{ 81 | "color": "#000000" 82 | }, { 83 | "lightness": 29 84 | }, { 85 | "weight": 0.2 86 | }] 87 | }, { 88 | "featureType": "road.arterial", 89 | "elementType": "geometry", 90 | "stylers": [{ 91 | "color": "#000000" 92 | }, { 93 | "lightness": 18 94 | }] 95 | }, { 96 | "featureType": "road.local", 97 | "elementType": "geometry", 98 | "stylers": [{ 99 | "color": "#000000" 100 | }, { 101 | "lightness": 16 102 | }] 103 | }, { 104 | "featureType": "poi", 105 | "elementType": "geometry", 106 | "stylers": [{ 107 | "color": "#000000" 108 | }, { 109 | "lightness": 21 110 | }] 111 | }, { 112 | "elementType": "labels.text.stroke", 113 | "stylers": [{ 114 | "visibility": "on" 115 | }, { 116 | "color": "#000000" 117 | }, { 118 | "lightness": 16 119 | }] 120 | }, { 121 | "elementType": "labels.text.fill", 122 | "stylers": [{ 123 | "saturation": 36 124 | }, { 125 | "color": "#000000" 126 | }, { 127 | "lightness": 40 128 | }] 129 | }, { 130 | "elementType": "labels.icon", 131 | "stylers": [{ 132 | "visibility": "off" 133 | }] 134 | }, { 135 | "featureType": "transit", 136 | "elementType": "geometry", 137 | "stylers": [{ 138 | "color": "#000000" 139 | }, { 140 | "lightness": 19 141 | }] 142 | }, { 143 | "featureType": "administrative", 144 | "elementType": "geometry.fill", 145 | "stylers": [{ 146 | "color": "#000000" 147 | }, { 148 | "lightness": 20 149 | }] 150 | }, { 151 | "featureType": "administrative", 152 | "elementType": "geometry.stroke", 153 | "stylers": [{ 154 | "color": "#000000" 155 | }, { 156 | "lightness": 17 157 | }, { 158 | "weight": 1.2 159 | }] 160 | }] 161 | }; 162 | 163 | // Get the HTML DOM element that will contain your map 164 | // We are using a div with id="map" seen below in the 165 | var mapElement = document.getElementById('map'); 166 | 167 | // Create the Google Map using out element and options defined above 168 | var map = new google.maps.Map(mapElement, mapOptions); 169 | 170 | // Custom Map Marker Icon - Customize the map-marker.png file to customize your icon 171 | var image = 'img/map-marker.png'; 172 | var myLatLng = new google.maps.LatLng(40.6700, -73.9400); 173 | var beachMarker = new google.maps.Marker({ 174 | position: myLatLng, 175 | map: map, 176 | icon: image 177 | }); 178 | } 179 | -------------------------------------------------------------------------------- /public/js/jquery.easing.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/ 3 | * 4 | * Uses the built in easing capabilities added In jQuery 1.1 5 | * to offer multiple easing options 6 | * 7 | * TERMS OF USE - EASING EQUATIONS 8 | * 9 | * Open source under the BSD License. 10 | * 11 | * Copyright © 2001 Robert Penner 12 | * All rights reserved. 13 | * 14 | * TERMS OF USE - jQuery Easing 15 | * 16 | * Open source under the BSD License. 17 | * 18 | * Copyright © 2008 George McGinley Smith 19 | * All rights reserved. 20 | * 21 | * Redistribution and use in source and binary forms, with or without modification, 22 | * are permitted provided that the following conditions are met: 23 | * 24 | * Redistributions of source code must retain the above copyright notice, this list of 25 | * conditions and the following disclaimer. 26 | * Redistributions in binary form must reproduce the above copyright notice, this list 27 | * of conditions and the following disclaimer in the documentation and/or other materials 28 | * provided with the distribution. 29 | * 30 | * Neither the name of the author nor the names of contributors may be used to endorse 31 | * or promote products derived from this software without specific prior written permission. 32 | * 33 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 34 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 35 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 36 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 37 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 38 | * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 39 | * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 40 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 41 | * OF THE POSSIBILITY OF SUCH DAMAGE. 42 | * 43 | */ 44 | jQuery.easing.jswing=jQuery.easing.swing;jQuery.extend(jQuery.easing,{def:"easeOutQuad",swing:function(e,f,a,h,g){return jQuery.easing[jQuery.easing.def](e,f,a,h,g)},easeInQuad:function(e,f,a,h,g){return h*(f/=g)*f+a},easeOutQuad:function(e,f,a,h,g){return -h*(f/=g)*(f-2)+a},easeInOutQuad:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f+a}return -h/2*((--f)*(f-2)-1)+a},easeInCubic:function(e,f,a,h,g){return h*(f/=g)*f*f+a},easeOutCubic:function(e,f,a,h,g){return h*((f=f/g-1)*f*f+1)+a},easeInOutCubic:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f*f+a}return h/2*((f-=2)*f*f+2)+a},easeInQuart:function(e,f,a,h,g){return h*(f/=g)*f*f*f+a},easeOutQuart:function(e,f,a,h,g){return -h*((f=f/g-1)*f*f*f-1)+a},easeInOutQuart:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f*f*f+a}return -h/2*((f-=2)*f*f*f-2)+a},easeInQuint:function(e,f,a,h,g){return h*(f/=g)*f*f*f*f+a},easeOutQuint:function(e,f,a,h,g){return h*((f=f/g-1)*f*f*f*f+1)+a},easeInOutQuint:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f*f*f*f+a}return h/2*((f-=2)*f*f*f*f+2)+a},easeInSine:function(e,f,a,h,g){return -h*Math.cos(f/g*(Math.PI/2))+h+a},easeOutSine:function(e,f,a,h,g){return h*Math.sin(f/g*(Math.PI/2))+a},easeInOutSine:function(e,f,a,h,g){return -h/2*(Math.cos(Math.PI*f/g)-1)+a},easeInExpo:function(e,f,a,h,g){return(f==0)?a:h*Math.pow(2,10*(f/g-1))+a},easeOutExpo:function(e,f,a,h,g){return(f==g)?a+h:h*(-Math.pow(2,-10*f/g)+1)+a},easeInOutExpo:function(e,f,a,h,g){if(f==0){return a}if(f==g){return a+h}if((f/=g/2)<1){return h/2*Math.pow(2,10*(f-1))+a}return h/2*(-Math.pow(2,-10*--f)+2)+a},easeInCirc:function(e,f,a,h,g){return -h*(Math.sqrt(1-(f/=g)*f)-1)+a},easeOutCirc:function(e,f,a,h,g){return h*Math.sqrt(1-(f=f/g-1)*f)+a},easeInOutCirc:function(e,f,a,h,g){if((f/=g/2)<1){return -h/2*(Math.sqrt(1-f*f)-1)+a}return h/2*(Math.sqrt(1-(f-=2)*f)+1)+a},easeInElastic:function(f,h,e,l,k){var i=1.70158;var j=0;var g=l;if(h==0){return e}if((h/=k)==1){return e+l}if(!j){j=k*0.3}if(g "Passwords must be at least six characters and match the confirmation.", 17 | "user" => "We can't find a user with that e-mail address.", 18 | "token" => "This password reset token is invalid.", 19 | "sent" => "We have e-mailed your password reset link!", 20 | "reset" => "Your password has been reset!", 21 | 22 | ]; 23 | -------------------------------------------------------------------------------- /resources/lang/en/validation.php: -------------------------------------------------------------------------------- 1 | "The :attribute must be accepted.", 17 | "active_url" => "The :attribute is not a valid URL.", 18 | "after" => "The :attribute must be a date after :date.", 19 | "alpha" => "The :attribute may only contain letters.", 20 | "alpha_dash" => "The :attribute may only contain letters, numbers, and dashes.", 21 | "alpha_num" => "The :attribute may only contain letters and numbers.", 22 | "array" => "The :attribute must be an array.", 23 | "before" => "The :attribute must be a date before :date.", 24 | "between" => [ 25 | "numeric" => "The :attribute must be between :min and :max.", 26 | "file" => "The :attribute must be between :min and :max kilobytes.", 27 | "string" => "The :attribute must be between :min and :max characters.", 28 | "array" => "The :attribute must have between :min and :max items.", 29 | ], 30 | "boolean" => "The :attribute field must be true or false.", 31 | "confirmed" => "The :attribute confirmation does not match.", 32 | "date" => "The :attribute is not a valid date.", 33 | "date_format" => "The :attribute does not match the format :format.", 34 | "different" => "The :attribute and :other must be different.", 35 | "digits" => "The :attribute must be :digits digits.", 36 | "digits_between" => "The :attribute must be between :min and :max digits.", 37 | "email" => "The :attribute must be a valid email address.", 38 | "filled" => "The :attribute field is required.", 39 | "exists" => "The selected :attribute is invalid.", 40 | "image" => "The :attribute must be an image.", 41 | "in" => "The selected :attribute is invalid.", 42 | "integer" => "The :attribute must be an integer.", 43 | "ip" => "The :attribute must be a valid IP address.", 44 | "max" => [ 45 | "numeric" => "The :attribute may not be greater than :max.", 46 | "file" => "The :attribute may not be greater than :max kilobytes.", 47 | "string" => "The :attribute may not be greater than :max characters.", 48 | "array" => "The :attribute may not have more than :max items.", 49 | ], 50 | "mimes" => "The :attribute must be a file of type: :values.", 51 | "min" => [ 52 | "numeric" => "The :attribute must be at least :min.", 53 | "file" => "The :attribute must be at least :min kilobytes.", 54 | "string" => "The :attribute must be at least :min characters.", 55 | "array" => "The :attribute must have at least :min items.", 56 | ], 57 | "not_in" => "The selected :attribute is invalid.", 58 | "numeric" => "The :attribute must be a number.", 59 | "regex" => "The :attribute format is invalid.", 60 | "required" => "The :attribute field is required.", 61 | "required_if" => "The :attribute field is required when :other is :value.", 62 | "required_with" => "The :attribute field is required when :values is present.", 63 | "required_with_all" => "The :attribute field is required when :values is present.", 64 | "required_without" => "The :attribute field is required when :values is not present.", 65 | "required_without_all" => "The :attribute field is required when none of :values are present.", 66 | "same" => "The :attribute and :other must match.", 67 | "size" => [ 68 | "numeric" => "The :attribute must be :size.", 69 | "file" => "The :attribute must be :size kilobytes.", 70 | "string" => "The :attribute must be :size characters.", 71 | "array" => "The :attribute must contain :size items.", 72 | ], 73 | "unique" => "The :attribute has already been taken.", 74 | "url" => "The :attribute format is invalid.", 75 | "timezone" => "The :attribute must be a valid zone.", 76 | 77 | /* 78 | |-------------------------------------------------------------------------- 79 | | Custom Validation Language Lines 80 | |-------------------------------------------------------------------------- 81 | | 82 | | Here you may specify custom validation messages for attributes using the 83 | | convention "attribute.rule" to name the lines. This makes it quick to 84 | | specify a specific custom language line for a given attribute rule. 85 | | 86 | */ 87 | 88 | 'custom' => [ 89 | 'attribute-name' => [ 90 | 'rule-name' => 'custom-message', 91 | ], 92 | ], 93 | 94 | /* 95 | |-------------------------------------------------------------------------- 96 | | Custom Validation Attributes 97 | |-------------------------------------------------------------------------- 98 | | 99 | | The following language lines are used to swap attribute place-holders 100 | | with something more reader friendly such as E-Mail Address instead 101 | | of "email". This simply helps us make messages a little cleaner. 102 | | 103 | */ 104 | 105 | 'attributes' => [], 106 | 107 | ]; 108 | -------------------------------------------------------------------------------- /resources/views/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bestmomo/lumenangular/a714d55e1bd9a23200c9ef4d3352ad1be67b67d3/resources/views/.gitkeep -------------------------------------------------------------------------------- /resources/views/auth/password.blade.php: -------------------------------------------------------------------------------- 1 | @extends('auth/template') 2 | 3 | @section('content') 4 |

Reset Password

5 | @if (session('status')) 6 |
7 | {{ session('status') }} 8 |
9 | @endif 10 |
11 | 12 |
13 | 14 |
15 | 16 | {!! $errors->first('email', ':message') !!} 17 |
18 | 19 |
20 | 21 |
22 | 23 |
24 |
25 | @stop -------------------------------------------------------------------------------- /resources/views/auth/register.blade.php: -------------------------------------------------------------------------------- 1 | @extends('auth/template') 2 | 3 | @section('content') 4 |

Register

5 |
6 | 7 |
8 | 9 |
10 | 11 | {!! $errors->first('name', ':message') !!} 12 |
13 | 14 |
15 | 16 | {!! $errors->first('email', ':message') !!} 17 |
18 | 19 |
20 | 21 |
22 | 23 |
24 | 25 | {!! $errors->first('password', ':message') !!} 26 |
27 | 28 |
29 | 30 |
31 | 32 |
33 | 34 |
35 | 36 |
37 |
38 | @stop 39 | -------------------------------------------------------------------------------- /resources/views/auth/reset.blade.php: -------------------------------------------------------------------------------- 1 | @extends('auth/template') 2 | 3 | @section('content') 4 |

Reset Password

5 |
6 | 7 | 8 | 9 |
10 | 11 |
12 | 13 | {!! $errors->first('email', ':message') !!} 14 |
15 | 16 |
17 | 18 |
19 | 20 |
21 | 22 | {!! $errors->first('password', ':message') !!} 23 |
24 | 25 |
26 | 27 |
28 | 29 |
30 | 31 |
32 | 33 |
34 |
35 | @stop -------------------------------------------------------------------------------- /resources/views/auth/template.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Dreams 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 55 | 56 | 57 |
58 |
59 |
60 |
61 |
62 | @yield('content') 63 |
64 |
65 |
66 |
67 |
68 | 69 | 70 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | -------------------------------------------------------------------------------- /resources/views/emails/password.blade.php: -------------------------------------------------------------------------------- 1 | Click here to reset your password 2 | 3 | -------------------------------------------------------------------------------- /resources/views/index.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Dreams 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 92 | 93 | 94 |
95 |
96 |
97 |
98 |
99 |

Your dreams

100 |

Share your dreams with all dreamers

101 | 102 | 103 | 104 |
105 |
106 |
107 |
108 |
109 | 110 | 111 |
112 |
113 |
114 | 120 |
121 |

122 | Dream of {{ dream.user.name}} 123 |

124 |

{{ dream.content}}

125 |

126 | 134 |

135 |
136 | 142 |
143 |
144 |
145 | 146 | 147 | 176 | 177 | 178 |
179 |
180 |
181 |
182 |
183 |

Login

184 |
185 | 188 |
189 | 190 |
191 | 192 | {{ errorEmail}} 193 |
194 | 195 |
196 | 197 | {{ errorPassword}} 198 |
199 | 200 |
201 | 204 |
205 | 206 |
207 | 208 |
209 | 210 | 213 |
214 |
215 |
216 |
217 | I want to suscribe ! 218 |
219 |
220 | 221 |
222 |

Add a dream

223 |
224 |
225 | 226 |
227 | 228 | {{ errorCreateContent }} 229 |
230 | 231 |
232 | 233 |
234 | 235 |
236 |
237 |
238 |
239 |
240 |
241 |
242 | 243 | 244 | 249 | 250 | 251 | 252 | 253 | 254 | -------------------------------------------------------------------------------- /server.php: -------------------------------------------------------------------------------- 1 | call('GET', '/'); 13 | 14 | $this->assertResponseOk(); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /tests/TestCase.php: -------------------------------------------------------------------------------- 1 |