commit 8b9b14919acccc1b511199d4df1a45a8215508ef Author: Nafies Luthfi Date: Thu Jul 7 08:28:34 2016 +0800 First init Add User Registrations and Login Add User chage password Add User reset password Add Manage Projects (with tests) Add Manage Users (with test) Add Manage Roles Add Manage Permissions Add Manage Project Payments diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..9180c43 --- /dev/null +++ b/.env.example @@ -0,0 +1,28 @@ +APP_ENV=local +APP_DEBUG=true +APP_KEY=SomeRandomString + +APP_LOCALE=id +APP_TIMEZONE=Asia/Makassar + +DB_HOST=127.0.0.1 +DB_DATABASE=homestead +DB_USERNAME=homestead +DB_PASSWORD=secret + +CACHE_DRIVER=file +SESSION_DRIVER=file +QUEUE_DRIVER=sync + +REDIS_HOST=127.0.0.1 +REDIS_PASSWORD=null +REDIS_PORT=6379 + +MAIL_DRIVER=smtp +MAIL_HOST=mailtrap.io +MAIL_PORT=2525 +MAIL_USERNAME=null +MAIL_PASSWORD=null +MAIL_ENCRYPTION=null +MAIL_FROM=null +MAIL_NAME=null \ No newline at end of file diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..95883de --- /dev/null +++ b/.gitattributes @@ -0,0 +1,3 @@ +* text=auto +*.css linguist-vendored +*.less linguist-vendored diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6b3af3f --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +/vendor +/node_modules +/public/storage +Homestead.yaml +Homestead.json +.env diff --git a/app/Console/Commands/Inspire.php b/app/Console/Commands/Inspire.php new file mode 100644 index 0000000..db9ab85 --- /dev/null +++ b/app/Console/Commands/Inspire.php @@ -0,0 +1,33 @@ +comment(PHP_EOL.Inspiring::quote().PHP_EOL); + } +} diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php new file mode 100644 index 0000000..71c519d --- /dev/null +++ b/app/Console/Kernel.php @@ -0,0 +1,30 @@ +command('inspire') + // ->hourly(); + } +} diff --git a/app/Entities/Backups/BackupsRepository.php b/app/Entities/Backups/BackupsRepository.php new file mode 100755 index 0000000..d69c1aa --- /dev/null +++ b/app/Entities/Backups/BackupsRepository.php @@ -0,0 +1,92 @@ +storageType = 'local'; + $this->storage = Storage::disk($this->storageType); + } + + public function getAllFiles() + { + $backups = \File::allFiles(storage_path('app/backup/db')); + + // Sort files by modified time DESC + usort($backups, function($a, $b) { + return -1 * strcmp($a->getMTime(), $b->getMTime()); + }); + + return $backups; + } + + public function create($backupData) + { + $manager = app()->make(Manager::class); + $fileName = $backupData['file_name'] ?: date('Y-m-d_Hi'); + try { + $manager->makeBackup()->run('mysql', [ + new Destination($this->storageType, 'backup/db/' . $fileName) + ], 'gzip'); + + return $fileName; + + } catch (FileExistsException $e) { + flash()->error('Database tidak dapat dibackup dengan Nama File yang sama.'); + return false; + } + } + + public function restore($fileName) + { + try { + $manager = app()->make(Manager::class); + $manager->makeRestore()->run($this->storageType, 'backup/db/' . $fileName, 'mysql', 'gzip'); + return true; + + } catch (FileNotFoundException $e) { + flash()->error('Tidak dapat mengembalikan Database.'); + return false; + } + } + + public function delete($fileName) + { + if ($this->storage->has('backup/db/' . $fileName)) { + $this->storage->delete('backup/db/' . $fileName); + + return true; + } + + return false; + } + + public function proccessBackupFileUpload($req) + { + $file = $req->file('backup_file'); + + if ($this->storage->has('backup/db/' . $file->getClientOriginalName())) { + flash()->error('Upload file gagal, terdapat Nama File yang sama.'); + return false; + } + + $result = $this->storage->put('backup/db/' . $file->getClientOriginalName(), file_get_contents($file)); + + return $result; + } +} \ No newline at end of file diff --git a/app/Entities/BaseRepository.php b/app/Entities/BaseRepository.php new file mode 100755 index 0000000..200fca9 --- /dev/null +++ b/app/Entities/BaseRepository.php @@ -0,0 +1,21 @@ +hasRoles(['customer'])->lists('name','id'); + } + + public function getWorkersList() + { + return User::orderBy('name')->hasRoles(['worker'])->lists('name','id'); + } +} \ No newline at end of file diff --git a/app/Entities/EloquentRepository.php b/app/Entities/EloquentRepository.php new file mode 100755 index 0000000..b2991ab --- /dev/null +++ b/app/Entities/EloquentRepository.php @@ -0,0 +1,106 @@ +model = $model; + } + + public function setModel(Model $model) + { + $this->model = $model; + } + + public function getAll($q) + { + return $this->model->latest() + ->where('name','like','%'.$q.'%') + ->paginate($this->_paginate); + } + + public function getById($id) + { + return $this->getBy($this->model->getKeyName(), $id); + } + + public function getBy($column, $value) + { + $model = $this->model->newQuery()->where($column, $value)->get(); + if ($model->count() > 1) + return $model; + + return $model->first(); + } + + public function requireById($id) + { + $model = $this->getById($id); + if ( ! $model ) + throw new EntityNotFoundException($id, $this->model->getTable()); + return $model; + } + + public function getNewInstance($attributes = []) + { + return $this->model->newInstance($attributes); + } + + public function create($data) + { + if ($data instanceof Model) + { + return $this->storeEloquentModel($data); + } else { + foreach ($data as $key => $value) { + if (!$data[$key]) $data[$key] = null; + } + return $this->storeArray($data); + } + } + + public function update($data = [], $modelId) + { + foreach ($data as $key => $value) { + if (!$data[$key]) $data[$key] = null; + } + + $model = $this->requireById($modelId); + $model->update($data); + return $model; + } + + public function delete($modelId) + { + $model = $this->requireById($modelId); + return $model->delete(); + } + + protected function storeEloquentModel(Model $model) + { + if ($model->getDirty()) + { + return $model->save(); + } else { + return $model->touch(); + } + } + + protected function storeArray($data) + { + $model = $this->getNewInstance($data); + $this->storeEloquentModel($model); + return $model; + } +} diff --git a/app/Entities/Masters/Master.php b/app/Entities/Masters/Master.php new file mode 100755 index 0000000..1a3a347 --- /dev/null +++ b/app/Entities/Masters/Master.php @@ -0,0 +1,16 @@ +name; + } + +} \ No newline at end of file diff --git a/app/Entities/Masters/MastersRepository.php b/app/Entities/Masters/MastersRepository.php new file mode 100755 index 0000000..64245c7 --- /dev/null +++ b/app/Entities/Masters/MastersRepository.php @@ -0,0 +1,18 @@ +getAll(); + foreach ($optionsData as $key => $value) { + $option = $options->where('key', $key)->first(); + $option->value = $value; + $option->save(); + } + + return 'saved'; + } +} \ No newline at end of file diff --git a/app/Entities/Pages/PagesRepository.php b/app/Entities/Pages/PagesRepository.php new file mode 100755 index 0000000..eac4b03 --- /dev/null +++ b/app/Entities/Pages/PagesRepository.php @@ -0,0 +1,28 @@ +model = $model; + } + + public function getTotalIncome() + { + return Payment::whereType(1)->sum('amount'); + } + + public function getTotalExpenditure() + { + return Payment::whereType(0)->sum('amount'); + } +} \ No newline at end of file diff --git a/app/Entities/Payments/Payment.php b/app/Entities/Payments/Payment.php new file mode 100755 index 0000000..f8d9bf4 --- /dev/null +++ b/app/Entities/Payments/Payment.php @@ -0,0 +1,27 @@ +belongsTo(Project::class); + } + + public function customer() + { + return $this->belongsTo(User::class, 'customer_id'); + } +} diff --git a/app/Entities/Payments/PaymentPresenter.php b/app/Entities/Payments/PaymentPresenter.php new file mode 100644 index 0000000..3e642dc --- /dev/null +++ b/app/Entities/Payments/PaymentPresenter.php @@ -0,0 +1,23 @@ +entity->type == 0 ? formatRp(-$this->entity->amount) : formatRp($this->entity->amount); + } + + public function projectLink() + { + return link_to_route('projects.show', $this->project->name, [$this->project_id]); + } + + public function projectPaymentsLink() + { + return link_to_route('projects.payments', trans('project.payments'), [$this->project_id]); + } +} \ No newline at end of file diff --git a/app/Entities/Payments/PaymentsRepository.php b/app/Entities/Payments/PaymentsRepository.php new file mode 100755 index 0000000..4f957db --- /dev/null +++ b/app/Entities/Payments/PaymentsRepository.php @@ -0,0 +1,24 @@ +model->latest() + ->paginate($this->_paginate); + } +} \ No newline at end of file diff --git a/app/Entities/Projects/Feature.php b/app/Entities/Projects/Feature.php new file mode 100755 index 0000000..ab7eaa8 --- /dev/null +++ b/app/Entities/Projects/Feature.php @@ -0,0 +1,16 @@ +storeArray($featureData); + } +} \ No newline at end of file diff --git a/app/Entities/Projects/Project.php b/app/Entities/Projects/Project.php new file mode 100755 index 0000000..de42ecb --- /dev/null +++ b/app/Entities/Projects/Project.php @@ -0,0 +1,34 @@ +hasMany(Feature::class); + } + + public function payments() + { + return $this->hasMany(Payment::class)->orderBy('date','desc'); + } + + public function customer() + { + return $this->belongsTo(User::class,'customer_id'); + } + +} diff --git a/app/Entities/Projects/ProjectPresenter.php b/app/Entities/Projects/ProjectPresenter.php new file mode 100644 index 0000000..c60fbdb --- /dev/null +++ b/app/Entities/Projects/ProjectPresenter.php @@ -0,0 +1,24 @@ +customer_id ? $this->customer->name . ' (' . $this->customer->email . ')' : '-'; + } + + public function projectLink() + { + return link_to_route('projects.show', $this->name, [$this->id]); + } + + public function status() + { + return getProjectStatusesList($this->entity->status_id); + } + +} \ No newline at end of file diff --git a/app/Entities/Projects/ProjectsRepository.php b/app/Entities/Projects/ProjectsRepository.php new file mode 100755 index 0000000..48a2f10 --- /dev/null +++ b/app/Entities/Projects/ProjectsRepository.php @@ -0,0 +1,80 @@ +model->latest() + ->where(function($query) use ($q, $statusId, $statusIds) { + $query->where('name','like','%'.$q.'%'); + if ($statusId && in_array($statusId, $statusIds)) + $query->where('status_id', $statusId); + }) + ->withCount('payments') + ->paginate($this->_paginate); + } + + public function create($projectData) + { + $projectData['project_value'] = $projectData['proposal_value'] ?: 0; + $projectData['owner_id'] = auth()->id(); + DB::beginTransaction(); + + if ($projectData['customer_id'] == '') { + $customer = $this->createNewCustomer($projectData['customer_name'], $projectData['customer_email']); + $projectData['customer_id'] = $customer->id; + } + unset($projectData['customer_name']); + unset($projectData['customer_email']); + + $project = $this->storeArray($projectData); + DB::commit(); + return $project; + } + + public function getStatusName($statusId) + { + return getProjectStatusesList($statusId); + } + + public function createNewCustomer($customerName, $customerEmail) + { + $newCustomer = new User; + $newCustomer->name = $customerName; + $newCustomer->email = $customerEmail; + $newCustomer->username = str_replace(' ', '_', strtolower($customerName)); + $newCustomer->password = Option::get('default_password', 'member'); + $newCustomer->remember_token = str_random(10); + $newCustomer->save(); + $newCustomer->assignRole('customer'); + return $newCustomer; + } + + public function delete($projectId) + { + $project = $this->requireById($projectId); + $project->payments()->delete(); + $project->features()->delete(); + + return $project->delete(); + } +} \ No newline at end of file diff --git a/app/Entities/References/Reference.php b/app/Entities/References/Reference.php new file mode 100755 index 0000000..9cf9c3b --- /dev/null +++ b/app/Entities/References/Reference.php @@ -0,0 +1,12 @@ +belongsToMany(Role::class); + } + + /** + * Assign the given role to the user. + * + * @param string $role + * @return mixed + */ + public function assignRole($role) + { + return $this->roles()->save( + Role::whereName($role)->firstOrFail() + ); + } + + /** + * Determine if the user has the given role. + * + * @param mixed $role + * @return boolean + */ + public function hasRole($role) + { + if (is_string($role)) { + return $this->roles->contains('name', $role); + } + + return !! $role->intersect($this->roles)->count(); + } + + /** + * Determine if the user may perform the given permission. + * + * @param Permission $permission + * @return boolean + */ + public function hasPermission(Permission $permission) + { + return $this->hasRole($permission->roles); + } + + public function hasRoles(array $roleNameArray) + { + return $this->roles->contains(function($key, $role) use ($roleNameArray) { + return in_array($role->name, $roleNameArray); + }); + } + + public function scopeHasRoles($query, array $roleNameArray) + { + return $query->whereHas('roles', function($q) use ($roleNameArray) { + $q->whereIn('name',$roleNameArray); + }); + } +} diff --git a/app/Entities/Users/Permission.php b/app/Entities/Users/Permission.php new file mode 100644 index 0000000..af9a98b --- /dev/null +++ b/app/Entities/Users/Permission.php @@ -0,0 +1,23 @@ +belongsToMany(Role::class, 'user_role_permission'); + } +} diff --git a/app/Entities/Users/Role.php b/app/Entities/Users/Role.php new file mode 100755 index 0000000..78bca36 --- /dev/null +++ b/app/Entities/Users/Role.php @@ -0,0 +1,39 @@ +belongsToMany(Permission::class, 'user_role_permission'); + } + + /** + * Grant the given permission to a role. + * + * @param Permission $permission + * @return mixed + */ + public function givePermissionTo(Permission $permission) + { + return $this->permissions()->save($permission); + } + + public function users() + { + return $this->belongsToMany(User::class, 'role_user'); + } +} diff --git a/app/Entities/Users/User.php b/app/Entities/Users/User.php new file mode 100644 index 0000000..e4ddd9e --- /dev/null +++ b/app/Entities/Users/User.php @@ -0,0 +1,21 @@ +attributes['password'] = bcrypt($value); + } +} diff --git a/app/Entities/Users/UserPresenter.php b/app/Entities/Users/UserPresenter.php new file mode 100644 index 0000000..679473a --- /dev/null +++ b/app/Entities/Users/UserPresenter.php @@ -0,0 +1,62 @@ +roles as $key => $role) { + $string .= ($key != 0) ? ' | ' : ''; + $string .= $role->label; + } + + return $string; + } + + public function rolesLink() + { + $string = ''; + foreach($this->roles as $key => $role) { + $string .= ($key != 0) ? ' | ' : ''; + $string .= link_to_route('users.index', $role->label, ['role' => $role->name], ['title' => 'Lihat semua ' . $role->label]); + } + + return $string; + } + + public function usernameRoles() + { + $string = $this->username . ' ('; + foreach($this->roles as $key => $role) { + $string .= ($key != 0) ? ' | ' : ''; + $string .= $role->label; + } + $string .= ')'; + + return $string; + } + + public function displayPermissions() + { + $string = ''; + + return $string; + } + + public function photo() + { + return Html::image('assets/imgs/icon_user_1.png', $this->name, ['width' => '100px']); + } + +} \ No newline at end of file diff --git a/app/Entities/Users/UsersRepository.php b/app/Entities/Users/UsersRepository.php new file mode 100755 index 0000000..1c32f1b --- /dev/null +++ b/app/Entities/Users/UsersRepository.php @@ -0,0 +1,75 @@ +model->latest() + ->where('name','like','%'.$q.'%') + ->whereHas('roles', function($query) use ($rolesString) { + if (!is_null($rolesString)) { + $query->whereIn('name', explode('|', $rolesString)); + } + }) + ->paginate($this->_paginate); + } + + public function create($userData) + { + if ($userData['password'] == '') + $userData['password'] = Option::get('password_default','member'); + + $user = $this->storeArray($userData); + $user->roles()->sync($userData['role']); + + return $user; + } + + public function update($userData, $userId) + { + $user = $this->requireById($userId); + + foreach ($userData as $key => $value) { + if ($value == '' || $key == 'role') continue; + $user->{$key} = $value; + } + + $user->roles()->sync($userData['role']); + + if ($user->save()) + return $user; + + throw new UpdateUserException('Failed to update User'); + } + + public function getRolesList() + { + return Role::where('type', 0)->lists('label','id')->all(); + } + + public function delete($userId) + { + $user = $this->requireById($userId); + $user->roles()->detach(); + + return $user->delete(); + } +} \ No newline at end of file diff --git a/app/Events/Event.php b/app/Events/Event.php new file mode 100644 index 0000000..ba2f888 --- /dev/null +++ b/app/Events/Event.php @@ -0,0 +1,8 @@ +user = Auth::user(); + $this->auth = $auth; + $this->passwords = $passwords; + + $this->middleware('guest', ['only' => [ + 'getLogin', 'postLogin', 'getRegister', 'postRegister', + 'getActivate', 'getEmail', 'postEmail', 'getReset', 'postReset' + ] + ]); + $this->middleware('auth', ['only' => [ + 'getLogout', 'getChangePassword', 'postChangePassword', + 'getProfile', 'patchProfile' + ] + ]); + } + + public function getLogin() + { + return view('auth.login'); + } + + public function postLogin(LoginRequest $req) + { + $loginData = $req->only('username','password'); + + if (Auth::attempt($loginData, $req->has('remember'))) + { + + flash()->success('Selamat datang kembali ' . Auth::user()->name . '.'); + return redirect()->intended('home'); + } + + flash()->error('Mohon maaf, anda tidak dapat login, cek kembali username/password anda!'); + return redirect()->back()->withInput(); + } + + public function getLogout() + { + Auth::logout(); + + flash()->success('Anda telah logout.'); + return redirect()->route('auth.login'); + } + + public function getRegister() + { + return view('auth.register'); + } + + public function postRegister(RegisterRequest $req) + { + $registerData = $req->only('name','username','email','password'); + + $user = User::create($registerData); + $user->assignRole('customer'); + Auth::login($user); + + flash()->success('Selamat datang ' . $user->name . '.'); + return redirect()->route('home'); + } + + public function getActivate($code) + { + + } + + public function getChangePassword() + { + return view('auth.change-password'); + } + + public function postChangePassword(ChangePasswordRequest $req) + { + $input = $req->except('_token'); + + if (app('hash')->check($input['old_password'], $this->user->password)) + { + $this->user->password = $input['password']; + $this->user->save(); + + flash()->success('Password berhasil diubah!'); + return redirect()->back(); + } + + flash()->error('Password lama tidak cocok!'); + return redirect()->back(); + } + + public function getProfile() + { + $user = Auth::user(); + return view('auth.profile', compact('user')); + } + + public function patchProfile(UpdateProfileRequest $req) + { + $this->user->name = $req->get('name'); + $this->user->save(); + + flash()->success('Profil berhasil diupdate.'); + return redirect()->route('auth.profile'); + } + + /** + * Overrided from Illuminate\Foundation\Auth\ResetsPasswords + */ + protected function resetPassword($user, $password) + { + $user->password = $password; + $user->save(); + Auth::login($user); + } +} diff --git a/app/Http/Controllers/BackupsController.php b/app/Http/Controllers/BackupsController.php new file mode 100755 index 0000000..e8408bb --- /dev/null +++ b/app/Http/Controllers/BackupsController.php @@ -0,0 +1,84 @@ +repo = $repo; + } + + public function index(Request $req) + { + $backups = $this->repo->getAllFiles(); + return view('backups.index',compact('backups')); + } + + public function restore($fileName) + { + return view('backups.restore', compact('fileName')); + } + + public function postRestore(Request $req, $fileName) + { + $result = $this->repo->restore($fileName); + + if ($result) + flash()->success('Database berhasil dikembalikan dengan file ' . $fileName); + + return redirect()->route('backups.index'); + } + + public function store(CreateRequest $req) + { + $fileName = $this->repo->create($req->except('_token')); + + if ($fileName) + flash()->success('Backup berhasil dilakukan, nama File : ' . $fileName); + + return redirect()->route('backups.index'); + } + + public function delete($fileName) + { + return view('backups.delete', compact('fileName')); + } + + public function destroy(Request $req, $fileName) + { + $result = $this->repo->delete($fileName); + + if ($result) + flash()->success('File ' . $fileName . ' berhasil dihapus.'); + else + flash()->error('File ' . $fileName . ' gagal dihapus.'); + + return redirect()->route('backups.index'); + } + + public function upload(BackupUploadRequest $req) + { + $result = $this->repo->proccessBackupFileUpload($req); + if ($result) + flash()->success('Upload file berhasil.'); + + return redirect()->route('backups.index'); + } + + public function download($fileName) + { + return response()->download(storage_path('app') . '/backup/db/'.$fileName); + } + +} diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php new file mode 100644 index 0000000..03e02a2 --- /dev/null +++ b/app/Http/Controllers/Controller.php @@ -0,0 +1,13 @@ +repo = $repo; + $this->middleware('auth'); + } + + public function index(Request $req) + { + $masters = $this->repo->getAll($req->get('q')); + return view('masters.index',compact('masters')); + } + + public function create() + { + return view('masters.create'); + } + + public function store(CreateRequest $req) + { + $master = $this->repo->create($req->except('_token')); + flash()->success(trans('master.created')); + return redirect()->route('masters.edit', $master->id); + } + + public function show($masterId) + { + $master = $this->repo->requireById($masterId); + return view('masters.show', compact('master')); + } + + public function edit($masterId) + { + $master = $this->repo->requireById($masterId); + return view('masters.edit',compact('master')); + } + + public function update(UpdateRequest $req, $masterId) + { + $master = $this->repo->update($req->except(['_method','_token']), $masterId); + flash()->success(trans('master.updated')); + return redirect()->route('masters.edit', $masterId); + } + + public function delete($masterId) + { + $master = $this->repo->requireById($masterId); + return view('masters.delete', compact('master')); + } + + public function destroy(DeleteRequest $req, $masterId) + { + if ($masterId == $req->get('master_id')) + { + $this->repo->delete($masterId); + flash()->success(trans('master.deleted')); + } + else + flash()->error(trans('master.undeleted')); + + return redirect()->route('masters.index'); + } + +} diff --git a/app/Http/Controllers/PagesController.php b/app/Http/Controllers/PagesController.php new file mode 100644 index 0000000..dfe3299 --- /dev/null +++ b/app/Http/Controllers/PagesController.php @@ -0,0 +1,29 @@ +repo = $repo; + } + + public function home() + { + $totalIncome = $this->repo->getTotalIncome(); + $totalExpenditure = $this->repo->getTotalExpenditure(); + + return view('pages.home', compact('totalIncome','totalExpenditure')); + } + + public function about() + { + return view('pages.about'); + } + +} diff --git a/app/Http/Controllers/PaymentsController.php b/app/Http/Controllers/PaymentsController.php new file mode 100755 index 0000000..32e2204 --- /dev/null +++ b/app/Http/Controllers/PaymentsController.php @@ -0,0 +1,79 @@ +repo = $repo; + } + + public function index(Request $req) + { + $payments = $this->repo->getAll($req->get('q')); + return view('payments.index',compact('payments')); + } + + public function create() + { + return view('payments.create'); + } + + public function store(CreateRequest $req) + { + $payment = $this->repo->create($req->except('_token')); + flash()->success(trans('payment.created')); + return redirect()->route('payments.edit', $payment->id); + } + + public function show($paymentId) + { + $payment = $this->repo->requireById($paymentId); + return view('payments.show', compact('payment')); + } + + public function edit($paymentId) + { + $payment = $this->repo->requireById($paymentId); + $customers = $this->repo->getCustomersList(); + return view('payments.edit',compact('payment','customers')); + } + + public function update(UpdateRequest $req, $paymentId) + { + $payment = $this->repo->update($req->except(['_method','_token']), $paymentId); + flash()->success(trans('payment.updated')); + return redirect()->route('payments.edit', $paymentId); + } + + public function delete($paymentId) + { + $payment = $this->repo->requireById($paymentId); + return view('payments.delete', compact('payment')); + } + + public function destroy(DeleteRequest $req, $paymentId) + { + if ($paymentId == $req->get('payment_id')) + { + $this->repo->delete($paymentId); + flash()->success(trans('payment.deleted')); + } + else + flash()->error(trans('payment.undeleted')); + + return redirect()->route('payments.index'); + } + +} diff --git a/app/Http/Controllers/Projects/FeaturesController.php b/app/Http/Controllers/Projects/FeaturesController.php new file mode 100755 index 0000000..1fd7f54 --- /dev/null +++ b/app/Http/Controllers/Projects/FeaturesController.php @@ -0,0 +1,80 @@ +repo = $repo; + } + + public function create($projectId) + { + $project = $this->repo->requireProjectById($projectId); + $workers = $this->repo->getWorkersList(); + return view('features.create',compact('project','workers')); + } + + public function store(CreateRequest $req) + { + $feature = $this->repo->create($req->except('_token')); + flash()->success(trans('feature.created')); + return redirect()->route('features.show', $feature->id); + } + + public function show($featureId) + { + $feature = $this->repo->requireById($featureId); + return view('features.show', compact('feature')); + } + + public function edit($featureId) + { + $feature = $this->repo->requireById($featureId); + return view('features.edit',compact('feature')); + } + + public function update(UpdateRequest $req, $featureId) + { + $feature = $this->repo->update($req->except(['_method','_token']), $featureId); + flash()->success(trans('feature.updated')); + return redirect()->route('features.edit', $featureId); + } + + public function delete($featureId) + { + $feature = $this->repo->requireById($featureId); + return view('features.delete', compact('feature')); + } + + public function destroy(DeleteRequest $req, $featureId) + { + if ($featureId == $req->get('feature_id')) + { + $this->repo->delete($featureId); + flash()->success(trans('feature.deleted')); + } + else + flash()->error(trans('feature.undeleted')); + + return redirect()->route('features.index'); + } + + public function tasks($featureId) + { + $feature = $this->repo->requireById($featureId); + return view('features.features', compact('feature')); + } + +} diff --git a/app/Http/Controllers/Projects/ProjectsController.php b/app/Http/Controllers/Projects/ProjectsController.php new file mode 100755 index 0000000..9284492 --- /dev/null +++ b/app/Http/Controllers/Projects/ProjectsController.php @@ -0,0 +1,99 @@ +repo = $repo; + } + + public function index(Request $req) + { + $status = null; + $statusId = $req->get('status'); + if ($statusId) { + $status = $this->repo->getStatusName($statusId); + } + + $projects = $this->repo->getProjects($req->get('q'), $statusId); + return view('projects.index',compact('projects','status')); + } + + public function create() + { + $customers = $this->repo->getCustomersList(); + return view('projects.create', compact('customers')); + } + + public function store(CreateRequest $req) + { + $project = $this->repo->create($req->except('_token')); + flash()->success(trans('project.created')); + return redirect()->route('projects.index'); + } + + public function show($projectId) + { + $project = $this->repo->requireById($projectId); + return view('projects.show', compact('project')); + } + + public function edit($projectId) + { + $project = $this->repo->requireById($projectId); + $statuses = getProjectStatusesList(); + $customers = $this->repo->getCustomersList(); + return view('projects.edit',compact('project','statuses','customers')); + } + + public function update(UpdateRequest $req, $projectId) + { + $project = $this->repo->update($req->except(['_method','_token']), $projectId); + flash()->success(trans('project.updated')); + return redirect()->route('projects.edit', $projectId); + } + + public function delete($projectId) + { + $project = $this->repo->requireById($projectId); + return view('projects.delete', compact('project')); + } + + public function destroy(DeleteRequest $req, $projectId) + { + if ($projectId == $req->get('project_id')) + { + $this->repo->delete($projectId); + flash()->success(trans('project.deleted')); + } + else + flash()->error(trans('project.undeleted')); + + return redirect()->route('projects.index'); + } + + public function features($projectId) + { + $project = $this->repo->requireById($projectId); + return view('projects.features', compact('project')); + } + + public function payments($projectId) + { + $project = $this->repo->requireById($projectId); + return view('projects.payments', compact('project')); + } + +} diff --git a/app/Http/Controllers/References/OptionsController.php b/app/Http/Controllers/References/OptionsController.php new file mode 100755 index 0000000..0a7afde --- /dev/null +++ b/app/Http/Controllers/References/OptionsController.php @@ -0,0 +1,65 @@ +repo = $repo; + } + + public function index(Request $req) + { + $options = $this->repo->getAll(); + return view('options.index',compact('options')); + } + + public function create() + { + return view('options.create'); + } + + public function store(CreateRequest $req) + { + $option = $this->repo->create($req->except('_token')); + flash()->success(trans('option.created')); + return redirect()->route('options.index'); + } + + public function delete($optionId) + { + $option = $this->repo->requireById($optionId); + return view('options.delete', compact('option')); + } + + public function destroy(Request $req, $optionId) + { + if ($optionId == $req->get('option_id')) + { + $this->repo->delete($optionId); + flash()->success(trans('option.deleted')); + } + else + flash()->error(trans('option.undeleted')); + + return redirect()->route('options.index'); + } + + public function save(Request $req) + { + $this->repo->save($req->except(['_method','_token'])); + flash()->success(trans('option.updated')); + return redirect()->route('options.index'); + } + +} diff --git a/app/Http/Controllers/Users/PermissionsController.php b/app/Http/Controllers/Users/PermissionsController.php new file mode 100755 index 0000000..41ffcfc --- /dev/null +++ b/app/Http/Controllers/Users/PermissionsController.php @@ -0,0 +1,66 @@ +has('act') && in_array($req->get('act'), ['show','edit','del'])) { + $permission = $this->requireById($req->get('id')); + } + + $permissions = Permission::whereType(1)->withCount('roles')->get(); + return view('users.permissions',compact('permissions','permission')); + } + + public function store(CreateRequest $req) + { + $permissionData = $req->except('_token'); + $permissionData['type'] = 1; // Permission Type + $permission = Permission::create($permissionData); + flash()->success(trans('permission.created')); + return redirect()->route('permissions.index'); + } + + public function update(UpdateRequest $req, $permissionId) + { + $permission = $this->requireById($permissionId); + $permission->update($req->except(['_method','_token'])); + flash()->success(trans('permission.updated')); + return redirect()->back(); + } + + public function delete($permissionId) + { + $permission = $this->requireById($permissionId); + return view('permissions.delete', compact('permission')); + } + + public function destroy(DeleteRequest $req, $permissionId) + { + if ($permissionId == $req->get('permission_id')) + { + $this->requireById($permissionId)->delete(); + flash()->success(trans('permission.deleted')); + } + else + flash()->error(trans('permission.undeleted')); + + return redirect()->route('permissions.index'); + } + + private function requireById($permissionId) + { + return Permission::findOrFail($permissionId); + } + +} diff --git a/app/Http/Controllers/Users/RolesController.php b/app/Http/Controllers/Users/RolesController.php new file mode 100755 index 0000000..56ba7fa --- /dev/null +++ b/app/Http/Controllers/Users/RolesController.php @@ -0,0 +1,85 @@ +has('act') && in_array($req->get('act'), ['show','edit','del'])) { + $role = $this->requireById($req->get('id')); + if ($req->get('act') == 'show') { + $permissions = $this->getAllPermissions(); + } + } + + $roles = Role::whereType(0)->get(); + return view('users.roles',compact('roles','role','permissions')); + } + + public function store(CreateRequest $req) + { + $roleData = $req->except('_token'); + $roleData['type'] = 0; // Role Type + $role = Role::create($roleData); + flash()->success(trans('role.created')); + return redirect()->route('roles.index'); + } + + public function update(UpdateRequest $req, $roleId) + { + $role = $this->requireById($roleId); + $role->update($req->except(['_method','_token'])); + flash()->success(trans('role.updated')); + return redirect()->back(); + } + + public function destroy(DeleteRequest $req, $roleId) + { + if ($roleId == $req->get('role_id')) + { + $role = $this->requireById($roleId); + $role->permissions()->detach(); + $role->delete(); + + flash()->success(trans('role.deleted')); + } + else + flash()->error(trans('role.undeleted')); + + return redirect()->route('roles.index'); + } + + public function updatePermissions(Request $req, $roleId) + { + $role = $this->requireById($roleId); + if ($req->has('permission')) + $role->permissions()->sync($req->get('permission')); + else + $role->permissions()->detach(); + + flash()->success(trans('role.updated')); + return redirect()->back(); + } + + private function requireById($roleId) + { + return Role::findOrFail($roleId); + } + + private function getAllPermissions() + { + return Permission::whereType(1)->get(); + } + + +} diff --git a/app/Http/Controllers/Users/UsersController.php b/app/Http/Controllers/Users/UsersController.php new file mode 100755 index 0000000..f56aaa5 --- /dev/null +++ b/app/Http/Controllers/Users/UsersController.php @@ -0,0 +1,82 @@ +repo = $repo; + } + + public function index(Request $req) + { + $users = $this->repo->getUsers($req->get('q'), $req->get('role')); + return view('users.index',compact('users')); + } + + public function create() + { + $roles = $this->repo->getRolesList(); + return view('users.create', compact('roles')); + } + + public function store(CreateRequest $req) + { + $userData = $req->except(['_token','password_confirmation']); + $user = $this->repo->create($userData); + flash()->success(trans('user.created')); + return redirect()->route('users.index'); + } + + public function show($userId) + { + $user = $this->repo->requireById($userId); + return view('users.show', compact('user')); + } + + public function edit($userId) + { + $user = $this->repo->requireById($userId); + + $roles = $this->repo->getRolesList(); + return view('users.edit',compact('user','roles')); + } + + public function update(UpdateRequest $req, $userId) + { + $userData = $req->except(['_method','_token','password_confirmation']); + $user = $this->repo->update($userData, $userId); + flash()->success(trans('user.updated')); + return redirect()->route('users.edit', $userId); + } + + public function delete($userId) + { + $user = $this->repo->requireById($userId); + return view('users.delete', compact('user')); + } + + public function destroy(DeleteRequest $req, $userId) + { + if ($userId == $req->get('user_id')) { + $this->repo->delete($userId); + flash()->success(trans('user.deleted')); + } else { + flash()->error(trans('user.undeleted')); + } + + return redirect()->route('users.index'); + } + +} diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php new file mode 100644 index 0000000..d1951ea --- /dev/null +++ b/app/Http/Kernel.php @@ -0,0 +1,54 @@ + [ + \App\Http\Middleware\EncryptCookies::class, + \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, + \Illuminate\Session\Middleware\StartSession::class, + \Illuminate\View\Middleware\ShareErrorsFromSession::class, + \App\Http\Middleware\VerifyCsrfToken::class, + ], + + 'api' => [ + 'throttle:60,1', + ], + ]; + + /** + * The application's route middleware. + * + * These middleware may be assigned to groups or used individually. + * + * @var array + */ + protected $routeMiddleware = [ + 'auth' => \App\Http\Middleware\Authenticate::class, + 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, + 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, + 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, + + 'role' => \App\Http\Middleware\RoleMiddleware::class, + ]; +} diff --git a/app/Http/Middleware/Authenticate.php b/app/Http/Middleware/Authenticate.php new file mode 100644 index 0000000..1cbe354 --- /dev/null +++ b/app/Http/Middleware/Authenticate.php @@ -0,0 +1,30 @@ +guest()) { + if ($request->ajax() || $request->wantsJson()) { + return response('Unauthorized.', 401); + } else { + return redirect()->guest('auth/login'); + } + } + + return $next($request); + } +} diff --git a/app/Http/Middleware/EncryptCookies.php b/app/Http/Middleware/EncryptCookies.php new file mode 100644 index 0000000..3aa15f8 --- /dev/null +++ b/app/Http/Middleware/EncryptCookies.php @@ -0,0 +1,17 @@ +check()) { + return redirect('/'); + } + + return $next($request); + } +} diff --git a/app/Http/Middleware/RoleMiddleware.php b/app/Http/Middleware/RoleMiddleware.php new file mode 100644 index 0000000..dacf9d7 --- /dev/null +++ b/app/Http/Middleware/RoleMiddleware.php @@ -0,0 +1,33 @@ +check() == false) { + return redirect()->guest('auth/login'); + } + + // Cek apakah grup user ada di dalam array $nameArray? + if (auth()->user()->hasRoles($nameArray) == false) + { + flash()->error('Anda tidak dapat mengakses halaman ' . $request->path() . '.'); + return redirect()->route('home'); + } + + return $next($request); + } +} diff --git a/app/Http/Middleware/VerifyCsrfToken.php b/app/Http/Middleware/VerifyCsrfToken.php new file mode 100644 index 0000000..a2c3541 --- /dev/null +++ b/app/Http/Middleware/VerifyCsrfToken.php @@ -0,0 +1,17 @@ +check(); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'old_password' => 'required', + 'password' => 'required|between:6,15|confirmed', + 'password_confirmation' => 'required', + ]; + } + + public function messages() + { + return [ + 'old_password.required' => 'Password lama harus diisi.', + 'password.required' => 'Password baru harus diisi.', + 'password.between' => 'Password baru harus antara 6 - 15 karakter.', + 'password.confirmed' => 'Konfirmasi password baru tidak sesuai.', + 'password_confirmation.required' => 'Konfirmasi password baru harus diisi.', + ]; + } +} diff --git a/app/Http/Requests/Accounts/LoginRequest.php b/app/Http/Requests/Accounts/LoginRequest.php new file mode 100644 index 0000000..42b5988 --- /dev/null +++ b/app/Http/Requests/Accounts/LoginRequest.php @@ -0,0 +1,39 @@ +guest(); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'username' => 'required', + 'password' => 'required', + ]; + } + + public function messages() + { + return [ + 'username.required' => 'Username harus diisi.', + 'password.required' => 'Password harus diisi.', + ]; + } +} diff --git a/app/Http/Requests/Accounts/RegisterRequest.php b/app/Http/Requests/Accounts/RegisterRequest.php new file mode 100644 index 0000000..34247bd --- /dev/null +++ b/app/Http/Requests/Accounts/RegisterRequest.php @@ -0,0 +1,50 @@ +guest(); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'name' => 'required', + 'username' => 'required|alpha_num', + 'email' => 'required|email|unique:users,email', + 'password' => 'required|between:6,15|confirmed', + 'password_confirmation' => 'required', + ]; + } + + public function messages() + { + return [ + 'name.required' => 'Nama harus diisi.', + 'username.required' => 'Username harus diisi.', + 'username.alpha_num' => 'Username harus berupa huruf dan angka.', + 'email.required' => 'Email harus diisi.', + 'email.email' => 'Email tidak valid.', + 'email.unique' => 'Email ini sudah terdaftar.', + 'password.required' => 'Password harus diisi.', + 'password.between' => 'Password baru harus antara 6 - 15 karakter.', + 'password.confirmed' => 'Konfirmasi password tidak sesuai.', + 'password_confirmation.required' => 'Konfirmasi password harus diisi.', + ]; + } +} diff --git a/app/Http/Requests/Accounts/UpdateProfileRequest.php b/app/Http/Requests/Accounts/UpdateProfileRequest.php new file mode 100644 index 0000000..a972b81 --- /dev/null +++ b/app/Http/Requests/Accounts/UpdateProfileRequest.php @@ -0,0 +1,38 @@ +check(); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'name' => 'required|max:60' + ]; + } + + public function messages() + { + return [ + 'name.required' => 'Nama harus diisi.', + 'name.max' => 'Nama maksimal 60 karakter.', + ]; + } +} diff --git a/app/Http/Requests/Backups/BackupUploadRequest.php b/app/Http/Requests/Backups/BackupUploadRequest.php new file mode 100644 index 0000000..7ef5115 --- /dev/null +++ b/app/Http/Requests/Backups/BackupUploadRequest.php @@ -0,0 +1,52 @@ +user()->can('manage_backups'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'backup_file' => 'required|sql_zip' + ]; + } + + public function messages() + { + return [ + 'file.sql_zip' => 'Isian file harus dokumen berjenis .zip, .gz atau .sql', + ]; + } + + protected function getValidatorInstance() + { + $validator = parent::getValidatorInstance(); + + $validator->addImplicitExtension('sql_zip', function($attribute, $value, $parameters) { + if ($value) + return in_array($value->getClientOriginalExtension(), ['zip','gz','sql']); + + return false; + }); + + return $validator; + } + +} diff --git a/app/Http/Requests/Backups/CreateRequest.php b/app/Http/Requests/Backups/CreateRequest.php new file mode 100644 index 0000000..2d4c475 --- /dev/null +++ b/app/Http/Requests/Backups/CreateRequest.php @@ -0,0 +1,31 @@ +user()->can('manage_backups'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'file_name' => 'max:20|alpha_dash', + ]; + } + +} diff --git a/app/Http/Requests/Backups/DeleteRequest.php b/app/Http/Requests/Backups/DeleteRequest.php new file mode 100644 index 0000000..65526c9 --- /dev/null +++ b/app/Http/Requests/Backups/DeleteRequest.php @@ -0,0 +1,31 @@ +user()->can('manage_backups'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'file_name' => 'required' + ]; + } + +} diff --git a/app/Http/Requests/Masters/CreateRequest.php b/app/Http/Requests/Masters/CreateRequest.php new file mode 100644 index 0000000..ca6e1bc --- /dev/null +++ b/app/Http/Requests/Masters/CreateRequest.php @@ -0,0 +1,32 @@ +user()->can('manage_masters'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'name' => 'required|max:60|unique:masters,name', + 'description' => 'max:255' + ]; + } + +} diff --git a/app/Http/Requests/Masters/DeleteRequest.php b/app/Http/Requests/Masters/DeleteRequest.php new file mode 100644 index 0000000..b8d264c --- /dev/null +++ b/app/Http/Requests/Masters/DeleteRequest.php @@ -0,0 +1,31 @@ +user()->can('manage_masters'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'master_id' => 'required' + ]; + } + +} diff --git a/app/Http/Requests/Masters/UpdateRequest.php b/app/Http/Requests/Masters/UpdateRequest.php new file mode 100644 index 0000000..4b8ef3b --- /dev/null +++ b/app/Http/Requests/Masters/UpdateRequest.php @@ -0,0 +1,32 @@ +user()->can('manage_masters'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'name' => 'required|max:60|unique:masters,name,' . $this->segment(2), + 'description' => 'max:255' + ]; + } + +} diff --git a/app/Http/Requests/Options/CreateRequest.php b/app/Http/Requests/Options/CreateRequest.php new file mode 100644 index 0000000..6496cb3 --- /dev/null +++ b/app/Http/Requests/Options/CreateRequest.php @@ -0,0 +1,31 @@ +user()->can('manage_options'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'key' => 'required|max:255|alpha_dash', + 'value' => 'max:255', + ]; + } +} diff --git a/app/Http/Requests/Payments/CreateRequest.php b/app/Http/Requests/Payments/CreateRequest.php new file mode 100644 index 0000000..ca6e1bc --- /dev/null +++ b/app/Http/Requests/Payments/CreateRequest.php @@ -0,0 +1,32 @@ +user()->can('manage_masters'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'name' => 'required|max:60|unique:masters,name', + 'description' => 'max:255' + ]; + } + +} diff --git a/app/Http/Requests/Payments/DeleteRequest.php b/app/Http/Requests/Payments/DeleteRequest.php new file mode 100644 index 0000000..b8d264c --- /dev/null +++ b/app/Http/Requests/Payments/DeleteRequest.php @@ -0,0 +1,31 @@ +user()->can('manage_masters'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'master_id' => 'required' + ]; + } + +} diff --git a/app/Http/Requests/Payments/UpdateRequest.php b/app/Http/Requests/Payments/UpdateRequest.php new file mode 100644 index 0000000..57274d8 --- /dev/null +++ b/app/Http/Requests/Payments/UpdateRequest.php @@ -0,0 +1,35 @@ +user()->can('manage_payments'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'type' => 'required|numeric', + 'amount' => 'required|numeric', + 'date' => 'required|date|date_format:Y-m-d', + 'customer_id' => 'required|numeric', + 'description' => 'required|max:255' + ]; + } + +} diff --git a/app/Http/Requests/Projects/CreateRequest.php b/app/Http/Requests/Projects/CreateRequest.php new file mode 100644 index 0000000..4e01bef --- /dev/null +++ b/app/Http/Requests/Projects/CreateRequest.php @@ -0,0 +1,45 @@ +user()->can('manage_projects'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'name' => 'required|max:50', + 'proposal_date' => 'date|date_format:Y-m-d', + 'proposal_value' => 'numeric', + 'customer_id' => 'numeric', + 'customer_name' => 'required_without:customer_id|max:60', + 'customer_email' => 'required_without:customer_id|email|unique:users,email', + 'description' => 'max:255', + ]; + } + + public function messages() + { + return [ + 'customer_name.required_without' => 'Nama Customer Wajib diisi.', + 'customer_email.required_without' => 'Email Customer Wajib diisi.', + ]; + } + +} diff --git a/app/Http/Requests/Projects/DeleteRequest.php b/app/Http/Requests/Projects/DeleteRequest.php new file mode 100644 index 0000000..2b72995 --- /dev/null +++ b/app/Http/Requests/Projects/DeleteRequest.php @@ -0,0 +1,31 @@ +user()->can('manage_projects'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'project_id' => 'required' + ]; + } + +} diff --git a/app/Http/Requests/Projects/UpdateRequest.php b/app/Http/Requests/Projects/UpdateRequest.php new file mode 100644 index 0000000..c2174d9 --- /dev/null +++ b/app/Http/Requests/Projects/UpdateRequest.php @@ -0,0 +1,38 @@ +user()->can('manage_projects'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'name' => 'required|max:50', + 'description' => 'max:255', + 'proposal_date' => 'date|date_format:Y-m-d', + 'proposal_value' => 'numeric', + 'start_date' => 'date|date_format:Y-m-d', + 'end_date' => 'date|date_format:Y-m-d', + 'project_value' => 'numeric', + 'customer_id' => 'numeric', + ]; + } + +} diff --git a/app/Http/Requests/Request.php b/app/Http/Requests/Request.php new file mode 100644 index 0000000..76b2ffd --- /dev/null +++ b/app/Http/Requests/Request.php @@ -0,0 +1,10 @@ +user()->can('manage_users'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'name' => 'required|min:5', + 'username' => 'required|alpha_dash|min:4|unique:users,username', + 'email' => 'required|email|unique:users,email', + 'role' => 'required|array', + 'password' => 'between:6,15|confirmed', + 'password_confirmation' => 'required_with:password', + ]; + } +} diff --git a/app/Http/Requests/Users/DeleteRequest.php b/app/Http/Requests/Users/DeleteRequest.php new file mode 100644 index 0000000..ef21ed7 --- /dev/null +++ b/app/Http/Requests/Users/DeleteRequest.php @@ -0,0 +1,30 @@ +user()->can('manage_users'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'user_id' => 'required', + ]; + } +} diff --git a/app/Http/Requests/Users/Permissions/CreateRequest.php b/app/Http/Requests/Users/Permissions/CreateRequest.php new file mode 100644 index 0000000..04e29d1 --- /dev/null +++ b/app/Http/Requests/Users/Permissions/CreateRequest.php @@ -0,0 +1,32 @@ +user()->can('manage_role_permissions'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'name' => 'required|max:60|unique:roles_permissions,name', + 'label' => 'required|max:60', + ]; + } + +} diff --git a/app/Http/Requests/Users/Permissions/DeleteRequest.php b/app/Http/Requests/Users/Permissions/DeleteRequest.php new file mode 100644 index 0000000..d9db79d --- /dev/null +++ b/app/Http/Requests/Users/Permissions/DeleteRequest.php @@ -0,0 +1,31 @@ +user()->can('manage_role_permissions'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'permission_id' => 'required' + ]; + } + +} diff --git a/app/Http/Requests/Users/Permissions/UpdateRequest.php b/app/Http/Requests/Users/Permissions/UpdateRequest.php new file mode 100644 index 0000000..9f8930f --- /dev/null +++ b/app/Http/Requests/Users/Permissions/UpdateRequest.php @@ -0,0 +1,32 @@ +user()->can('manage_role_permissions'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'name' => 'required|max:60|unique:roles_permissions,name,' . $this->segment(2), + 'label' => 'required|max:60', + ]; + } + +} diff --git a/app/Http/Requests/Users/Roles/CreateRequest.php b/app/Http/Requests/Users/Roles/CreateRequest.php new file mode 100644 index 0000000..d93a752 --- /dev/null +++ b/app/Http/Requests/Users/Roles/CreateRequest.php @@ -0,0 +1,32 @@ +user()->can('manage_role_permissions'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'name' => 'required|max:60|unique:roles_permissions,name', + 'label' => 'required|max:60', + ]; + } + +} diff --git a/app/Http/Requests/Users/Roles/DeleteRequest.php b/app/Http/Requests/Users/Roles/DeleteRequest.php new file mode 100644 index 0000000..6ac7825 --- /dev/null +++ b/app/Http/Requests/Users/Roles/DeleteRequest.php @@ -0,0 +1,31 @@ +user()->can('manage_role_permissions'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'role_id' => 'required' + ]; + } + +} diff --git a/app/Http/Requests/Users/Roles/UpdateRequest.php b/app/Http/Requests/Users/Roles/UpdateRequest.php new file mode 100644 index 0000000..57bef66 --- /dev/null +++ b/app/Http/Requests/Users/Roles/UpdateRequest.php @@ -0,0 +1,32 @@ +user()->can('manage_role_permissions'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'name' => 'required|max:60|unique:roles_permissions,name,' . $this->segment(2), + 'label' => 'required|max:60', + ]; + } + +} diff --git a/app/Http/Requests/Users/UpdateRequest.php b/app/Http/Requests/Users/UpdateRequest.php new file mode 100644 index 0000000..57ee8c1 --- /dev/null +++ b/app/Http/Requests/Users/UpdateRequest.php @@ -0,0 +1,35 @@ +user()->can('manage_users'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'name' => 'required|min:5', + 'username' => 'required|alpha_dash|min:4|unique:users,username,' . $this->segment(2), + 'email' => 'required|email|unique:users,email,' . $this->segment(2), + 'role' => 'required|array', + 'password' => 'required_with:password_confirmation|between:6,15|confirmed', + 'password_confirmation' => 'required_with:password', + ]; + } +} diff --git a/app/Http/routes.php b/app/Http/routes.php new file mode 100644 index 0000000..aa3c77c --- /dev/null +++ b/app/Http/routes.php @@ -0,0 +1,10 @@ + 'auth','middleware' => 'web','as'=>'auth.'], function() { + Route::get('login', ['as'=>'login', 'uses' => 'AuthController@getLogin']); + Route::post('login', ['as'=>'login', 'uses' => 'AuthController@postLogin']); + Route::get('logout', ['as'=>'logout', 'uses' => 'AuthController@getLogout']); + Route::get('register', ['as'=>'register', 'uses' => 'AuthController@getRegister']); + Route::post('register', ['as'=>'register', 'uses' => 'AuthController@postRegister']); + Route::get('activate', ['as'=>'activate', 'uses' => 'AuthController@getActivate']); + Route::get('change-password', ['as'=>'change-password', 'uses' => 'AuthController@getChangePassword']); + Route::post('change-password', ['as'=>'change-password', 'uses' => 'AuthController@postChangePassword']); + Route::get('forgot-password', ['as'=>'forgot-password', 'uses' => 'AuthController@getEmail']); + Route::post('forgot-password', ['as'=>'forgot-password', 'uses' => 'AuthController@postEmail']); + Route::get('reset/{token}', ['as'=>'reset', 'uses' => 'AuthController@getReset']); + Route::post('reset', ['as'=>'post-reset', 'uses' => 'AuthController@postReset']); + Route::get('profile', ['as'=>'profile', 'uses' => 'AuthController@getProfile']); + Route::patch('profile', ['as'=>'profile', 'uses' => 'AuthController@patchProfile']); +}); diff --git a/app/Http/routes/backup.php b/app/Http/routes/backup.php new file mode 100644 index 0000000..4fc5a90 --- /dev/null +++ b/app/Http/routes/backup.php @@ -0,0 +1,14 @@ + ['web','role:admin']], function() { + /** + * Backups Routes + */ + Route::get('backups/{fileName}/restore', ['as'=>'backups.restore', 'uses'=>'BackupsController@restore']); + Route::post('backups/{fileName}/restore', ['as'=>'backups.restore', 'uses'=>'BackupsController@postRestore']); + Route::get('backups/{fileName}/dl', ['as'=>'backups.download', 'uses'=>'BackupsController@download']); + Route::post('backups/upload', ['as'=>'backups.upload', 'uses'=>'BackupsController@upload']); + Route::get('backups/{id}/delete', ['as'=>'backups.delete', 'uses'=>'BackupsController@delete']); + Route::resource('backups','BackupsController'); + +}); diff --git a/app/Http/routes/helpers.php b/app/Http/routes/helpers.php new file mode 100644 index 0000000..fdd9cc5 --- /dev/null +++ b/app/Http/routes/helpers.php @@ -0,0 +1,182 @@ +
'; +// }); + +// Route::get('add-customers', function() { +// $customers = ['Huda','Om Ekong','Isra Tanjung','Ahmad Fatah','STAI Buntok','Hasto','Jakhoster','Ujang Rahman','Donny','Ipul Batulicin','Joenathan Tanumiha','Prima','Dinas Koperasi UKM Kalsel','Stikes Husada Borneo','Rumah Web','Herbert','Donny Kurniawan']; +// foreach ($customers as $customer) { +// $user = new App\Entities\Users\User; +// $user->name = $customer; +// $user->username = str_replace(' ', '_', strtolower($customer)); +// $user->email = $user->username . '@mail.com'; +// $user->password = 'member'; +// $user->save(); +// $user->assignRole('customer'); +// } +// }); + +Route::get('add-existing-payments', function() { + // $payments = [ + // ['Frestour.com','500000','2014-05-14','Jasa website','Heru Yugo'], + // ['Elfbandung','500000','2014-06-12','Sistem reservasi','Heru Yugo'], + // ['Skripsi Ryan','250000','2014-06-21','Input jadwal, export to XL & PDF','Heru Yugo'], + // ['Bandungrafting.com','300000','2014-06-30','Jasa website','Heru Yugo'], + // ['Cianjurnews.com','150000','2014-07-09','Halaman index','Heru Yugo'], + // ['Bandungrafting.com','150000','2014-07-11','Jasa website','Heru Yugo'], + // ['Glowinklash.com','250000','2014-07-20','Jasa website','Heru Yugo'], + // ['Trijayatrans.com','50000','2014-07-20','Form reservasi email','Heru Yugo'], + // ['Skripsi Rotan','500000','2014-08-10','Shopping cart, halaman produk dgn pengurutan produk terlaris, CRUD tarif pengiriman','Andie'], + // ['Skripsi Makarizo','500000','2014-08-10','Shopping cart, laporan penjualan, backup database MySQL','Andie'], + // ['Stimi-bjm.ac.id','2000000','2014-08-11','DP jasa website','STIMI'], + // ['Stimi-bjm.ac.id','-1000000','2014-08-11','DP jasa website, hosting, domain','Heru Yugo'], + // ['Belimukena.com','5000000','2014-08-17','Shopping cart, management sistem','Heru Yugo'], + // ['Belimukena.com','-500000','2014-08-17','Pembagian belimukena.com','Heru Yugo'], + // ['Skripsi Absensi (sms gateway)','700000','2014-08-17','SMS gateway broadcast, input absen dan laporan semester','Andie'], + // ['Skripsi SPB (sms gateway)','300000','2014-08-17','SMS gateway broadcast dan laporan','Andie'], + // ['Belimukena.com','200000','2014-09-08','Revisi tambahan','Heru Yugo'], + // ['Imet18.com','750000','2014-09-12','Sistem informasi laporan prospecting','Heru Yugo'], + // ['Livescore','2000000','2014-09-18','Website seperti livescore','Heru Yugo'], + // ['Rajabagus','1400000','2014-09-24','Pembuatan import code/voucher dan signup with voucher','Heru Yugo'], + // ['Stimi-bjm.ac.id','2000000','2014-10-14','Pelunasan website stimi','STIMI'], + // ['Belimukena.com','600000','2014-11-07','Biaya maintenance 2014-11','Heru Yugo'], + // ['bandungtraverservice.com','500000','2014-11-13','fee isi content bandung travel service','Heru Yugo'], + // ['Belimukena.com','300000','2014-12-08','Biaya maintenance 2014-12','Heru Yugo'], + // ['Belimukena.com','100000','2014-12-08','fee buat reject order reason','Heru Yugo'], + // ['Legacyvapestore.com','350000','2014-12-12','fee isi content dan buat tutorial','Heru Yugo'], + // ['Aplikasi Toko Obat Sholah (Andie)','700000','2014-12-23','fee buat shopping cart apotik dan print nota','Andie'], + // ['Panjimitra.co.id','344500','2015-01-02','DP corporate email panjimitra.co.id','Heru Yugo'], + // ['Aplikasi Toko Obat Sholah (Andie)','1000000','2015-01-02','fee revisi shopping cart apotik dan management stok','Andie'], + // ['Panjimitra.co.id','580000','2015-01-05','Pelunasan corporate email panjimitra.co.id','Heru Yugo'], + // ['elfjakarta.com','150000','2015-01-05','DP pembuatan website dan aplikasi reservasi elfjakarta.com','Heru Yugo'], + // ['Aplikasi Toko Obat Sholah (Andie)','100000','2015-01-09','Jasa setting printer dan printout nota','Sholah'], + // ['Belimukena.com','300000','2015-01-09','Biaya maintenance 2015-01','Heru Yugo'], + // ['elfjakarta.com','150000','2015-01-10','Pelunasan Elfjakarta.com','Heru Yugo'], + // ['mambabykid.com','250000','2015-01-16','DP MambabyKid.com','Heru Yugo'], + // ['mambabykid.com','250000','2015-01-20','Pelunasan Mambabykid.com','Heru Yugo'], + // ['Aplikasi Reservasi Frestour','1000000','2015-01-21','DP Payapps','Heru Yugo'], + // ['Belimukena.com','300000','2015-02-10','Biaya maintenance 2015-02','Heru Yugo'], + // ['alamjayatrans.com','350000','2015-02-20','Buat landing page untuk car rental','Heru Yugo'], + // ['Rajatourbandung.com','50000','2015-02-20','Form reservasi email','Heru Yugo'], + // ['Belimukena.com','300000','2015-03-04','Biaya maintenance 2015-03','Heru Yugo'], + // ['Belimukena.com','350000','2015-03-04','Revisi form cart (ditambahkan custom nama pengirim di akun admin, reseller dan company reseller)','Heru Yugo'], + // ['Diskonmobisuzuki.com','350000','2015-03-20','Pembuatan fitur sales area','Eko'], + // ['Aplikasi Order','200000','2015-03-22','DP aplikasi order','Heru Yugo'], + // ['azka.co.id','300000','2015-03-30','Landing page car rental','Heru Yugo'], + // ['Legacyvapestore.com','350000','2015-04-04','DP redesign Legacyvapestore','Heru Yugo'], + // ['autodaihatsu.com','300000','2015-04-08','DP pembuatan website sales daihatsu bandung','Heru Yugo'], + // ['Belimukena.com','450000','2015-04-13','Biaya maintenance 2015-04 (plus security)','Heru Yugo'], + // ['my-trans.co.id','1300000','2015-04-27','DP pembuatan web company profile www.my-trans.co.id','Yamin'], + // ['my-trans.co.id','-650000','2015-04-27','Biaya hosting dan domain','Heru Yugo'], + // ['berkahsynergy.com','300000','2015-04-28','Pembuatan template berkahsynergy.com (redesign)','Erwin Fastweb'], + // ['autodaihatsu.com','200000','2015-04-30','Pelunasan pembuatan website sales daihatsu bandung','Heru Yugo'], + // ['Legacyvapestore.com','250000','2015-05-04','Pelunasan redesign website legacyvapestore','Heru Yugo'], + // ['Belimukena.com','1350000','2015-05-15','Biaya maintenance 2015-05, 2015-06, 2015-07','Heru Yugo'], + // ['Belimukena.com','150000','2015-05-15','Sebagian biaya maintenance 2015-08 (dipake mas yugo/pak Arise)','Heru Yugo'], + // ['Aplikasi Toko Obat Sholah (Andie)','100000','2015-05-23','Backup dan restore aplikasi web toko sholah','Sholah'], + // ['Aplikasi Toko Obat Sholah','1000000','2015-05-26','DP pembuatan aplikasi','Sholah'], + // ['Kursus Private PHP dan Konsul Skripsi','900000','2015-05-28','DP Kursus Private Pemrograman PHP dan Konsultasi Skirpsi','Huda'], + // ['my-trans.co.id','500000','2015-05-29','Pembayaran ke 2 website my-trans dan aplikasi connote','Yamin'], + // ['my-trans.co.id','1250000','2015-06-22','Pelunasan website my trans','Yamin'], + // ['Aplikasi Toko Obat Sholah','700000','2015-06-23','Pelunasan pembuatan aplikasi toko obat Sholah','Sholah'], + // ['Ambasadortrans.com','250000','2015-07-01','DP aplikasi reservasi ambasador trans','Heru Yugo'], + // ['Kursus Private PHP dan Konsul Skripsi','900000','2015-07-02','Pelunasan Kursus Private Pemrograman PHP dan Konsultasi Skirpsi','Huda'], + // ['Aplikasi Reservasi Frestour','1200000','2015-07-06','Pelunasan payapps tourbandung.com dari total (Rp. 1.500.000)','Heru Yugo'], + // ['my-trans.co.id','150000','2015-07-08','Pembayaran fitur Konversi kurs dollar Tarif international dan setting email di ponsel','Yamin'], + // ['Aplikasi Toko Obat Sholah','100000','2015-07-23','Perbaiki Jaringan toko Sholah','Sholah'], + // ['pulaupermata.com','1000000','2015-07-28','Biaya pembuatan website toko permata','Om Ekong'], + // ['Belimukena.com','450000','2015-08-10','Biaya maintenance 2015-08','Heru Yugo'], + // ['Ambasadortrans.com','100000','2015-08-18','Pembayaran ke 2 (sisa Rp. 150.000)','Heru Yugo'], + // ['Stimi-bjm.ac.id','500000','2015-08-19','Pembayaran perbaikan pengumuman kopertis, pasang channel youtube stimi, setting social icons','STIMI'], + // ['Belimukena.com','450000','2015-09-07','Biaya maintenance 2015-09','Heru Yugo'], + // ['online.my-trans.co.id','4400000','2015-09-08','Pembayaran uang muka aplikasi My-Trans','Yamin'], + // ['Stimi-bjm.ac.id','1000000','2015-09-16','Perpanjangan hosting dan domain s/d 2016-10-01','STIMI'], + // ['Stimi-bjm.ac.id','-800000','2015-09-16','Transfer to mas Yugo (plus Rp. 100Rb utk talangan perpanjangan Indonet 2015-09)','Heru Yugo'], + // ['Aplikasi Apotek Iloenk','1000000','2015-09-27','DP Aplikasi Apotek Iloenk','Isra Tanjung'], + // ['Belimukena.com','900000','2015-09-29','Modifikasi kalkulasi ongkir dgn API Rajaongkir (Migrasi Rajaongkir)','Heru Yugo'], + // ['Belimukena.com','450000','2015-10-10','Biaya maintenance 2015-10','Heru Yugo'], + // ['Aplikasi Toko Obat Sholah','200000','2015-10-13','Install ulang aplikasi Toko Obat dan Restore Database','Sholah'], + // ['sia.stimi-bjm.ac.id','5000000','2015-10-28','Uang muka pembuatan aplikasi SIAKAD STIMI Banjarmasin','STIMI'], + // ['Aplikasi Apotek Iloenk','1000000','2015-11-02','Pelunasan Aplikasi Apotek Iloenk','Isra Tanjung'], + // ['Belimukena.com','450000','2015-11-06','Biaya maintenance 2015-11','Heru Yugo'], + // ['Ambasadortrans.com','150000','2015-12-05','Pelunasan','Heru Yugo'], + // ['Belimukena.com','450000','2015-12-07','Biaya maintenance 2015-12','Heru Yugo'], + // ['DutaKurirBorneo.co.id','525000','2015-12-08','Biaya hosting dan domain','Ahmad Fatah'], + // ['DutaKurirBorneo.co.id','-425000','2015-12-08','Biaya hosting dan domain','Heru Yugo'], + // ['Aplikasi Reservasi Frestour','100000','2015-12-08','Cicilan Frestour.com Payapps (sisa Rp. 200.000)','Heru Yugo'], + // ['Panjimitra.co.id','300000','2015-12-11','Fee hosting domain panjimitra.co.id','Heru Yugo'], + // ['stai-almaarif-buntok.ac.id','2300000','2015-12-14','DP+domain+hosting','STAI Buntok'], + // ['stai-almaarif-buntok.ac.id','-1800000','2015-12-14','DP+domain+hosting','Heru Yugo'], + // ['stai-almaarif-buntok.ac.id','100000','2015-12-14','Bonus dari Yugo','Heru Yugo'], + // ['Aplikasi Reservasi Frestour','200000','2015-12-14','Cicilan Frestour.com Payapps (Lunas)','Heru Yugo'], + // ['online.my-trans.co.id','4400000','2015-12-15','Pelunasan Aplikasi E-Connote My-trans','Yamin'], + // ['online.my-trans.co.id','-300000','2015-12-15','Fee mas yugo','Heru Yugo'], + // ['Belimukena.com','450000','2016-01-06','Biaya maintenance 2016-01','Heru Yugo'], + // ['borneotaichiclass.com','500000','2016-01-12','DP Website BorneoTaichiClass.com','Hasto'], + // ['borneotaichiclass.com','-240000','2016-01-12','Hosting Domain','Jakhoster'], + // ['bintangtimur.co.id','1325000','2016-01-21','DP Website BintangTimur.co.id','Ujang Rahman'], + // ['bintangtimur.co.id','-825000','2016-01-25','Domain Hosting Website BintangTimur.co.id','Heru Yugo'], + // ['borneotaichiclass.com','650000','2016-01-27','Pelunasan Website BorneoTaichiClass.com, domain taichichuanpropatria-bjm.com dan domain kungfupropatria-bjm.com','Hasto'], + // ['kungfupropatria-bjm.com','-240000','2016-01-27','domain taichichuanpropatria-bjm.com dan domain kungfupropatria-bjm.com','Jakhoster'], + // ['Belimukena.com','450000','2016-02-10','Biaya maintenance 2016-02','Heru Yugo'], + // ['majas.co.id','900000','2016-02-19','DP Pembuatan web majas.co.id','Donny'], + // ['Aplikasi Apotek Mubarok','1000000','2016-02-24','DP Pembuatan Aplikasi Apotek Mubarok','Ipul Batulicin'], + // ['Aplikasi Apotek Mubarok','1000000','2016-02-28','Pelunasan Pembuatan Aplikasi Apotek Mubarok','Ipul Batulicin'], + // ['sia.stimi-bjm.ac.id','5000000','2016-03-03','Pelunasan Aplikasi Siakad dan Tracer Study STIMI','STIMI'], + // ['Belimukena.com','450000','2016-03-08','Biaya maintenance 2016-03','Heru Yugo'], + // ['attelierjewelry.com','1000000','2016-03-10','DP online store attelierjewelry.com','Joenathan Tanumiha'], + // ['Aplikasi QRCode Haki','250000','2016-03-18','Cicilan 1 DP','Erwin Fastweb'], + // ['Calief Gallery','1500000','2016-03-31','Cicilan 1 DP Aplikasi Order Calief Gallery','Heru Yugo'], + // ['Aplikasi QRCode Haki','250000','2016-03-31','Cicilan 2 DP','Erwin Fastweb'], + // ['my-trans.co.id','650000','2016-04-04','Biaya hosting dan domain','Yamin'], + // ['my-trans.co.id','-650000','2016-04-04','Biaya hosting dan domain','Heru Yugo'], + // ['Calief Gallery','1000000','2016-04-04','Cicilan 2 DP Aplikasi Order Calief Gallery','Heru Yugo'], + // ['stai-almaarif-buntok.ac.id','2300000','2016-04-04','Pelunasan pembuatan website stai-almaarif-buntok.ac.id','STAI Buntok'], + // ['stai-almaarif-buntok.ac.id','-800000','2016-04-04','Pelunasan pembuatan website stai-almaarif-buntok.ac.id','Heru Yugo'], + // ['Belimukena.com','450000','2016-04-05','Biaya maintenance 2016-04','Heru Yugo'], + // ['stai-almaarif-buntok.ac.id','-400000','2016-04-06','Fee marketing dari pak Prima','Prima'], + // ['Bimtek Pemasaran Online','4000000','2016-04-14','Honor narasumber','Dinas Koperasi UKM Kalsel'], + // ['sia.stikeshusada-borneo.ac.id','8000000','2016-04-18','DP Aplikasi Siakad dan Tracer Study STIKES HB','Stikes Husada Borneo'], + // ['sia.stikeshusada-borneo.ac.id','-2000000','2016-04-19','Fee Aplikasi Siakad STIKES HB','Prima'], + // ['Calief Gallery','1800000','2016-04-19','Pelunasan Aplikasi Order Calief Gallery','Heru Yugo'], + // ['borneotaichiclass.com','150000','2016-04-26','Fee revisi website dan edit artikel','Hasto'], + // ['attelierjewelry.com','-315000','2016-04-27','Domain Hosting Attelierjewelry.com','Rumah Web'], + // ['bintangtimur.co.id','1000000','2016-04-28','Pelunasan Website BintangTimur.co.id (belum entry content)','Ujang Rahman'], + // ['Aplikasi QRCode Haki','500000','2016-04-29','Cicilan 3 DP','Erwin Fastweb'], + // ['Belimukena.com','450000','2016-05-04','Biaya maintenance 2016-05','Heru Yugo'], + // ['majas.co.id','-110000','2016-05-10','Domain majas.co.id','Rumah Web'], + // ['majas.co.id','-250000','2016-05-11','Hosting 2GB majas.co.id','Jakhoster'], + // ['Belimukena.com','450000','2016-06-06','Biaya maintenance 2016-06','Heru Yugo'], + // ['Aplikasi Toko Obat Berkah','1900000','2016-06-17','Aplikasi Toko Obat Berkah','Sholah'], + // ['Aplikasi e-report CK Balangan','1200000','2016-06-18','DP Aplikasi Pelaporan Online & Domain+Hosting','Herbert'], + // ['Aplikasi Direktori KKF','400000','2016-06-18','DP Aplikasi Direktori Pelaku Usaha KKF','Donny Kurniawan'], + // ['Aplikasi e-report CK Balangan','-55000','2016-06-24','Domain ckbalangan.web.id','Rumah Web'], + // ['Aplikasi QRCode Haki','1000000','2016-06-29','Cicilan 4','Erwin Fastweb'], + // ]; + // $formated = []; + // $projects = Project::all(); + // $customers = App\Entities\Users\User::latest()->hasRoles(['customer'])->get(); + // // dump($projects->lists('name')); + // foreach ($payments as $payment) { + // $formated[] = [ + // 'project_id' => ($project = $projects->where('name', $payment[0])->first()) ? $project->id : 'hit', + // 'amount' => abs($payment[1]), + // 'type' => $payment[1] < 0 ? 0 : 1, + // 'date' => $payment[2], + // 'description' => $payment[3], + // 'customer_id' => ($customer = $customers->where('name', $payment[4])->first()) ? $customer->id : 'hit', + // 'created_at' => $payment[2] . ' 00:00:00', + // ]; + // } + + // DB::beginTransaction(); + // DB::table('payments')->insert($formated); + // DB::commit(); + + // echo '
$formated : ', print_r($formated, true), '
'; + // die(); +}); diff --git a/app/Http/routes/pages.php b/app/Http/routes/pages.php new file mode 100644 index 0000000..61c8402 --- /dev/null +++ b/app/Http/routes/pages.php @@ -0,0 +1,8 @@ +route('home'); }); +Route::get('about', ['as'=>'about', 'uses' => 'PagesController@about', 'middleware'=>['web']]); +Route::get('home', ['as'=>'home', 'uses' => 'PagesController@home', 'middleware'=>['web','auth']]); \ No newline at end of file diff --git a/app/Http/routes/payments.php b/app/Http/routes/payments.php new file mode 100644 index 0000000..d2ddbbf --- /dev/null +++ b/app/Http/routes/payments.php @@ -0,0 +1,9 @@ + ['web','role:admin']], function() { + /** + * Payments Routes + */ + Route::get('payments/{id}/delete', ['as'=>'payments.delete', 'uses'=>'PaymentsController@delete']); + Route::resource('payments','PaymentsController'); +}); diff --git a/app/Http/routes/projects.php b/app/Http/routes/projects.php new file mode 100644 index 0000000..ecd139c --- /dev/null +++ b/app/Http/routes/projects.php @@ -0,0 +1,17 @@ + ['web','role:admin'], 'namespace' => 'Projects'], function() { + /** + * Projects Routes + */ + Route::get('projects/{id}/delete', ['as'=>'projects.delete', 'uses'=>'ProjectsController@delete']); + Route::get('projects/{id}/features', ['as'=>'projects.features', 'uses'=>'ProjectsController@features']); + Route::get('projects/{id}/payments', ['as'=>'projects.payments', 'uses'=>'ProjectsController@payments']); + Route::resource('projects','ProjectsController'); + + /** + * Features Routes + */ + Route::get('projects/{id}/features/create', ['as'=>'features.create', 'uses'=>'FeaturesController@create']); + Route::resource('features','FeaturesController',['except' => ['index','create']]); +}); diff --git a/app/Http/routes/references.php b/app/Http/routes/references.php new file mode 100644 index 0000000..8ae160c --- /dev/null +++ b/app/Http/routes/references.php @@ -0,0 +1,13 @@ + 'References','middleware'=>['web','role:admin']], function() { + /** + * Options Routes + */ + Route::get('options', ['as'=>'options.index' , 'uses'=>'OptionsController@index']); + Route::get('options/create', ['as'=>'options.create' , 'uses'=>'OptionsController@create']); + Route::post('options/store', ['as'=>'options.store' , 'uses'=>'OptionsController@store']); + Route::patch('options/save', ['as'=>'options.save' , 'uses'=>'OptionsController@save']); + Route::get('options/{id}/delete', ['as'=>'options.delete' , 'uses'=>'OptionsController@delete']); + Route::delete('options/{optionId}/destroy', ['as'=>'options.destroy' , 'uses'=>'OptionsController@destroy']); +}); \ No newline at end of file diff --git a/app/Http/routes/users.php b/app/Http/routes/users.php new file mode 100644 index 0000000..f6ab042 --- /dev/null +++ b/app/Http/routes/users.php @@ -0,0 +1,20 @@ + ['web','role:admin'], 'namespace' => 'Users'], function() { + /** + * Users Routes + */ + Route::get('users/{id}/delete', ['as'=>'users.delete', 'uses'=>'UsersController@delete']); + Route::resource('users','UsersController'); + + /** + * Permissions Routes + */ + Route::resource('permissions','PermissionsController'); + + /** + * Roles Routes + */ + Route::resource('roles','RolesController'); + Route::post('roles/{id}/update-permissions', ['as' => 'roles.update-permissions', 'uses' => 'RolesController@updatePermissions']); +}); diff --git a/app/Jobs/Job.php b/app/Jobs/Job.php new file mode 100644 index 0000000..55ece29 --- /dev/null +++ b/app/Jobs/Job.php @@ -0,0 +1,21 @@ +groupBy('status_id') + ->lists('count','status_id') + ->all(); + view()->share('projectCounts', $projectCounts); + } + + /** + * Register any application services. + * + * @return void + */ + public function register() + { + // + } +} diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php new file mode 100644 index 0000000..7941c57 --- /dev/null +++ b/app/Providers/AuthServiceProvider.php @@ -0,0 +1,48 @@ + 'App\Policies\ModelPolicy', + ]; + + /** + * Register any application authentication / authorization services. + * + * @param \Illuminate\Contracts\Auth\Access\Gate $gate + * @return void + */ + public function boot(GateContract $gate) + { + $this->registerPolicies($gate); + + // Dynamically register permissions with Laravel's Gate. + foreach ($this->getPermissions() as $permission) { + $gate->define($permission->name, function ($user) use ($permission) { + return $user->hasPermission($permission); + }); + } + + } + + /** + * Fetch the collection of site permissions. + * + * @return \Illuminate\Database\Eloquent\Collection + */ + protected function getPermissions() + { + return Permission::with('roles')->get(); + } +} diff --git a/app/Providers/EventServiceProvider.php b/app/Providers/EventServiceProvider.php new file mode 100644 index 0000000..58ce962 --- /dev/null +++ b/app/Providers/EventServiceProvider.php @@ -0,0 +1,33 @@ + [ + 'App\Listeners\EventListener', + ], + ]; + + /** + * Register any other events for your application. + * + * @param \Illuminate\Contracts\Events\Dispatcher $events + * @return void + */ + public function boot(DispatcherContract $events) + { + parent::boot($events); + + // + } +} diff --git a/app/Providers/FormFieldServiceProvider.php b/app/Providers/FormFieldServiceProvider.php new file mode 100644 index 0000000..888ff6b --- /dev/null +++ b/app/Providers/FormFieldServiceProvider.php @@ -0,0 +1,32 @@ +app['formField'] = $this->app->share(function($app) + { + return new FormField(); + }); + } +} diff --git a/app/Providers/OptionServiceProvider.php b/app/Providers/OptionServiceProvider.php new file mode 100644 index 0000000..e956c92 --- /dev/null +++ b/app/Providers/OptionServiceProvider.php @@ -0,0 +1,32 @@ +app['option'] = $this->app->share(function($app) + { + return new Option(); + }); + } +} diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php new file mode 100644 index 0000000..d50b1c0 --- /dev/null +++ b/app/Providers/RouteServiceProvider.php @@ -0,0 +1,44 @@ +group(['namespace' => $this->namespace], function ($router) { + require app_path('Http/routes.php'); + }); + } +} diff --git a/app/Services/Facades/FormField.php b/app/Services/Facades/FormField.php new file mode 100644 index 0000000..bdb4d42 --- /dev/null +++ b/app/Services/Facades/FormField.php @@ -0,0 +1,10 @@ +errorBag = Session::get('errors', new MessageBag);; + } + + public function text($name, $options = []) + { + $hasError = $this->errorBag->has($name) ? 'has-error' : ''; + $htmlForm = '
'; + + $value = isset($options['value']) ? $options['value'] : null; + $type = isset($options['type']) ? $options['type'] : 'text'; + + $fieldParams = ['class'=>'form-control']; + if (isset($options['class'])) { $fieldParams['class'] .= ' ' . $options['class']; } + + $htmlForm .= $this->setFormFieldLabel($name, $options); + + if (isset($options['addon'])) { $htmlForm .= '
'; } + if (isset($options['addon']['before'])) { + $htmlForm .= '' . $options['addon']['before'] . ''; + } + if (isset($options['readonly']) && $options['readonly'] == true) { $fieldParams += ['readonly']; } + if (isset($options['disabled']) && $options['disabled'] == true) { $fieldParams += ['disabled']; } + if (isset($options['required']) && $options['required'] == true) { $fieldParams += ['required']; } + if (isset($options['min'])) { $fieldParams += ['min' => $options['min']]; } + if (isset($options['placeholder'])) { $fieldParams += ['placeholder' => $options['placeholder']]; } + if (isset($options['style'])) { $fieldParams += ['style' => $options['style']]; } + if (isset($options['id'])) { $fieldParams += ['id' => $options['id']]; } + + $htmlForm .= Form::input($type, $name, $value, $fieldParams); + + if (isset($options['addon']['after'])) { + $htmlForm .= '' . $options['addon']['after'] . ''; + } + if (isset($options['addon'])) { $htmlForm .= '
'; } + if (isset($options['info'])) { + $class = isset($options['info']['class']) ? $options['info']['class'] : 'info'; + $htmlForm .= '

' . $options['info']['text'] . '

'; + } + $htmlForm .= $this->errorBag->first($name, ':message'); + + $htmlForm .= '
'; + + return $htmlForm; + } + + public function textarea($name, $options = []) + { + $hasError = $this->errorBag->has($name) ? 'has-error' : ''; + $htmlForm = '
'; + + $rows = isset($options['rows']) ? $options['rows'] : 5; + $value = isset($options['value']) ? $options['value'] : null; + + $fieldParams = ['class'=>'form-control','rows' => $rows]; + + if (isset($options['readonly']) && $options['readonly'] == true) { $fieldParams += ['readonly']; } + if (isset($options['disabled']) && $options['disabled'] == true) { $fieldParams += ['disabled']; } + if (isset($options['required']) && $options['required'] == true) { $fieldParams += ['required']; } + if (isset($options['placeholder'])) { $fieldParams += ['placeholder' => $options['placeholder']]; } + + $htmlForm .= $this->setFormFieldLabel($name, $options); + + $htmlForm .= Form::textarea($name, $value, $fieldParams); + $htmlForm .= $this->errorBag->first($name, ':message'); + $htmlForm .= '
'; + + return $htmlForm; + } + + public function select($name, $selectOptions, $options = []) + { + $hasError = $this->errorBag->has($name) ? 'has-error' : ''; + $htmlForm = '
'; + + $value = isset($options['value']) ? $options['value'] : null; + + $fieldParams = ['class'=>'form-control']; + if (isset($options['class'])) { $fieldParams['class'] .= ' ' . $options['class']; } + + if (isset($options['readonly']) && $options['readonly'] == true) { $fieldParams += ['readonly']; } + if (isset($options['disabled']) && $options['disabled'] == true) { $fieldParams += ['disabled']; } + if (isset($options['required']) && $options['required'] == true) { $fieldParams += ['required']; } + if (isset($options['multiple']) && $options['multiple'] == true) { $fieldParams += ['multiple', 'name' => $name . '[]']; } + if (isset($options['placeholder'])) { $fieldParams += ['placeholder' => $options['placeholder']]; } + + $htmlForm .= $this->setFormFieldLabel($name, $options); + + $htmlForm .= Form::select($name, $selectOptions, $value, $fieldParams); + $htmlForm .= $this->errorBag->first($name, ':message'); + + $htmlForm .= '
'; + + return $htmlForm; + } + + public function multiSelect($name, $selectOptions, $options = []) + { + $options['multiple'] = true; + + return $this->select($name, $selectOptions, $options); + } + + public function email($name, $options = []) + { + $options['type'] = 'email'; + return $this->text($name, $options); + } + + public function password($name, $options = []) + { + $options['type'] = 'password'; + return $this->text($name, $options); + } + + public function radios($name, array $radioOptions, $options = []) + { + $hasError = $this->errorBag->has($name) ? 'has-error' : ''; + + $htmlForm = '
'; + $htmlForm .= $this->setFormFieldLabel($name, $options); + + $listStyle = isset($options['list_style']) ? $options['list_style'] : 'inline'; + $htmlForm .= ''; + $htmlForm .= $this->errorBag->first($name, ':message'); + + $htmlForm .= '
'; + + return $htmlForm; + } + + public function checkboxes($name, array $checkboxOptions, $options = []) + { + $hasError = $this->errorBag->has($name) ? 'has-error' : ''; + $htmlForm = '
'; + + $htmlForm .= $this->setFormFieldLabel($name, $options); + + $listStyle = isset($options['list_style']) ? $options['list_style'] : 'inline'; + $htmlForm .= ''; + $htmlForm .= $this->errorBag->first($name, ':message'); + $htmlForm .= '
'; + + return $htmlForm; + } + + public function textDisplay($name, $value, $options = []) + { + $label = isset($options['label']) ? $options['label'] : str_split_ucwords($name); + + $htmlForm = '
'; + $htmlForm .= Form::label($name, $label, ['class'=>'control-label']); + $htmlForm .= '
' . $value . '
'; + $htmlForm .= '
'; + + return $htmlForm; + } + + public function file($name, $options = []) + { + $hasError = $this->errorBag->has($name) ? 'has-error' : ''; + $label = isset($options['label']) ? $options['label'] : str_split_ucwords($name); + + $htmlForm = '
'; + $htmlForm .= $this->setFormFieldLabel($name, $options); + + $fieldParams = ['class'=>'form-control']; + if (isset($options['class'])) { $fieldParams['class'] .= ' ' . $options['class']; } + if (isset($options['multiple']) && $options['multiple'] == true) { + $name = $name . '[]'; + $fieldParams += ['multiple' => true]; + } + + $htmlForm .= Form::file($name, $fieldParams); + if (isset($options['info'])) { + $htmlForm .= '

' . $options['info']['text'] . '

'; + } + $htmlForm .= $this->errorBag->first($name, ':message'); + $htmlForm .= '
'; + + return $htmlForm; + } + + public function delete($form_params = [], $button_label = 'x', $button_options = [], $hiddenFields = []) + { + $form_params['method'] = 'delete'; + $form_params['class'] = isset($form_params['class']) ? $form_params['class'] : 'del-form'; + $form_params['style'] = isset($form_params['style']) ? $form_params['style'] : 'display:inline'; + + if (! isset($button_options['class'])) + $button_options['class'] = 'pull-right'; + + if (! isset($button_options['title'])) + $button_options['title'] = 'Remove this'; + + $htmlForm = Form::open($form_params); + if (!empty($hiddenFields)) + { + foreach ($hiddenFields as $k => $v) + { + $htmlForm .= Form::hidden($k, $v); + } + } + $htmlForm .= Form::submit($button_label, $button_options); + $htmlForm .= Form::close(); + + return $htmlForm; + } + + public function arrays($name, array $fieldKeys, $options = []) + { + $hasError = $this->errorBag->has($name) ? 'has-error' : ''; + $label = isset($options['label']) ? $options['label'] : str_split_ucwords($name); + + $htmlForm = '
'; + $htmlForm .= Form::label($name, $label, ['class'=>'control-label']); + + if (empty($contents) == false) { + foreach ($checkboxOptions as $key => $option) { + $htmlForm .= '
'; + $htmlForm .= Form::text($name . '[]', $key); + $htmlForm .= '
'; + } + } + + $htmlForm .= '
'; + $htmlForm .= '
'; + $htmlForm .= Form::text($fieldKeys[0], null, ['class' => 'form-control']); + $htmlForm .= '
'; + $htmlForm .= '
'; + $htmlForm .= Form::text($fieldKeys[1], null, ['class' => 'form-control']); + $htmlForm .= '
'; + $htmlForm .= '
'; + $htmlForm .= ''; + + $htmlForm .= $this->errorBag->first($name, ':message'); + $htmlForm .= '
'; + + return $htmlForm; + } + + public function price($name, $options = []) + { + $options['type'] = 'number'; + $options['addon'] = ['before' => isset($options['currency']) ? $options['currency'] : 'Rp']; + $options['class'] = 'text-right'; + return $this->text($name, $options); + } + + private function setFormFieldLabel($name, $options) + { + if (isset($options['label']) && $options['label'] != false) { + $label = isset($options['label']) ? $options['label'] : str_split_ucwords($name); + return Form::label($name, $label, ['class'=>'control-label']) . ' '; + } elseif (! isset($options['label'])) { + return Form::label($name, str_split_ucwords($name), ['class'=>'control-label']) . ' '; + } + } +} \ No newline at end of file diff --git a/app/Services/Option.php b/app/Services/Option.php new file mode 100644 index 0000000..f6b77cf --- /dev/null +++ b/app/Services/Option.php @@ -0,0 +1,35 @@ +option = Cache::get('option_all'); + // } else { + // $this->option = SiteOption::all(); + // Cache::put('option_all', $this->option, 60); + // } + $this->option = SiteOption::all(); + } + + public function get($key, $default = '') + { + $option = $this->option->where('key', $key)->first(); + if ($option) { + return $option->value; + } + return $default; + } +} \ No newline at end of file diff --git a/app/helpers.php b/app/helpers.php new file mode 100755 index 0000000..ee84d2b --- /dev/null +++ b/app/helpers.php @@ -0,0 +1,217 @@ + $v) + { + $htmlForm .= Form::hidden($k, $v); + } + } + $htmlForm .= Form::submit($button_label, $button_options); + $htmlForm .= Form::close(); + + return $htmlForm; +} + +function formatDate($date) +{ + if (!$date || $date == '0000-00-00') + return null; + + $explodedDate = explode('-', $date); + + if (count($explodedDate) == 3 && checkdate($explodedDate[1], $explodedDate[0], $explodedDate[2])) { + return $explodedDate[2] . '-' . $explodedDate[1] . '-' . $explodedDate[0]; + } else if (count($explodedDate) == 3 && checkdate($explodedDate[1], $explodedDate[2], $explodedDate[0])) { + return $explodedDate[2] . '-' . $explodedDate[1] . '-' . $explodedDate[0]; + } + + throw new App\Exceptions\InvalidDateException('Kesalahan format tanggal'); +} + +function dateId($date) { + if (is_null($date) || $date == '0000-00-00') + return '-'; + + $explodedDate = explode('-', $date); + + if (count($explodedDate) == 3 && checkdate($explodedDate[1], $explodedDate[2], $explodedDate[0])) { + $months = getMonths(); + return $explodedDate[2] . ' ' . $months[$explodedDate[1]] . ' ' . $explodedDate[0]; + } + + throw new App\Exceptions\InvalidDateException('Kesalahan format tanggal'); +} + +function monthNumber($number) { + return str_pad($number, 2, "0", STR_PAD_LEFT); +} + +function monthId($monthNumber) { + if (is_null($monthNumber)) + return $monthNumber; + + $months = getMonths(); + $monthNumber = monthNumber($monthNumber); + return $months[$monthNumber]; +} + +function getMonths() +{ + return [ + '' => 'Pilih Bulan', + '01' => 'Januari', + '02' => 'Pebruari', + '03' => 'Maret', + '04' => 'April', + '05' => 'Mei', + '06' => 'Juni', + '07' => 'Juli', + '08' => 'Agustus', + '09' => 'September', + '10' => 'Oktober', + '11' => 'Nopember', + '12' => 'Desember', + ]; +} + +function getYears() +{ + $yearRange = range(2015, date('Y')); + foreach ($yearRange as $year) { + $years[$year] = $year; + } + return $years; +} + +function str_split_ucwords($string) +{ + return ucwords(str_replace('_', ' ', $string)); +} + +function getDays() +{ + return $days = [1 => 'Senin','Selasa','Rabu','Kamis','Jumat','Sabtu']; +} + +function getDay($dayIndex = null) +{ + $days = getDays(); + if (!is_null($dayIndex) && in_array($dayIndex, range(1, 7))) return $days[$dayIndex]; + + return '-'; +} + +function sanitizeNumber($number) +{ + return str_replace(',', '.', $number); +} + +function formatSizeUnits($bytes) +{ + if ($bytes >= 1073741824) + { + $bytes = number_format($bytes / 1073741824, 2) . ' GB'; + } + elseif ($bytes >= 1048576) + { + $bytes = number_format($bytes / 1048576, 2) . ' MB'; + } + elseif ($bytes >= 1024) + { + $bytes = number_format($bytes / 1024, 2) . ' KB'; + } + elseif ($bytes > 1) + { + $bytes = $bytes . ' bytes'; + } + elseif ($bytes == 1) + { + $bytes = $bytes . ' byte'; + } + else + { + $bytes = '0 bytes'; + } + + return $bytes; +} + +/** + * Overide Laravel Collective link_to_route helper function + * @param string $name Name of route + * @param string $title Text that displayed on view + * @param array $parameters URL Parameter + * @param array $attributes The anchor tag atributes + */ +function html_link_to_route($name, $title = null, $parameters = [], $attributes = []) { + if (array_key_exists('icon', $attributes)) + $title = ' ' . $title; + + return app('html')->decode(link_to_route($name, $title, $parameters, $attributes)); +} + +function getProjectStatusesList($statusId = null) { + $statuses = [1 => 'Planned','On Progress','Done','Closed','Canceled','On Hold']; + + if (!is_null($statusId) && array_key_exists($statusId, $statuses)) { + return $statuses[$statusId]; + } + + return $statuses; +} + +function dateDifference($date1 , $date2 , $differenceFormat = '%m Bulan %d Hari' ) +{ + $datetime1 = date_create($date1); + $datetime2 = date_create($date2); + + $interval = date_diff($datetime1, $datetime2); + + return $interval->format($differenceFormat); + +} \ No newline at end of file diff --git a/artisan b/artisan new file mode 100755 index 0000000..df630d0 --- /dev/null +++ b/artisan @@ -0,0 +1,51 @@ +#!/usr/bin/env php +make(Illuminate\Contracts\Console\Kernel::class); + +$status = $kernel->handle( + $input = new Symfony\Component\Console\Input\ArgvInput, + new Symfony\Component\Console\Output\ConsoleOutput +); + +/* +|-------------------------------------------------------------------------- +| Shutdown The Application +|-------------------------------------------------------------------------- +| +| Once Artisan has finished running. We will fire off the shutdown events +| so that any final work may be done by the application before we shut +| down the process. This is the last thing to happen to the request. +| +*/ + +$kernel->terminate($input, $status); + +exit($status); diff --git a/bootstrap/app.php b/bootstrap/app.php new file mode 100755 index 0000000..f2801ad --- /dev/null +++ b/bootstrap/app.php @@ -0,0 +1,55 @@ +singleton( + Illuminate\Contracts\Http\Kernel::class, + App\Http\Kernel::class +); + +$app->singleton( + Illuminate\Contracts\Console\Kernel::class, + App\Console\Kernel::class +); + +$app->singleton( + Illuminate\Contracts\Debug\ExceptionHandler::class, + App\Exceptions\Handler::class +); + +/* +|-------------------------------------------------------------------------- +| Return The Application +|-------------------------------------------------------------------------- +| +| This script returns the application instance. The instance is given to +| the calling script so we can separate the building of the instances +| from the actual running of the application and sending responses. +| +*/ + +return $app; diff --git a/bootstrap/autoload.php b/bootstrap/autoload.php new file mode 100755 index 0000000..3830137 --- /dev/null +++ b/bootstrap/autoload.php @@ -0,0 +1,34 @@ +=5.5.9", + "laravel/framework": "5.2.*", + "laravelcollective/html": "5.2.*", + "laracasts/flash": "~1.3", + "laracasts/presenter": "^0.2.1", + "barryvdh/laravel-debugbar": "^2.0", + "backup-manager/laravel": "^1.0" + }, + "require-dev": { + "fzaninotto/faker": "~1.4", + "mockery/mockery": "0.9.*", + "phpunit/phpunit": "~4.0", + "symfony/css-selector": "2.8.*|3.0.*", + "symfony/dom-crawler": "2.8.*|3.0.*" + }, + "autoload": { + "classmap": [ + "database" + ], + "psr-4": { + "App\\": "app/" + } + }, + "autoload-dev": { + "classmap": [ + "tests/TestCase.php" + ] + }, + "scripts": { + "post-root-package-install": [ + "php -r \"copy('.env.example', '.env');\"" + ], + "post-create-project-cmd": [ + "php artisan key:generate" + ], + "post-install-cmd": [ + "php artisan clear-compiled", + "php artisan optimize" + ], + "pre-update-cmd": [ + "php artisan clear-compiled" + ], + "post-update-cmd": [ + "php artisan optimize" + ] + }, + "config": { + "preferred-install": "dist" + } +} diff --git a/composer.lock b/composer.lock new file mode 100644 index 0000000..88791ad --- /dev/null +++ b/composer.lock @@ -0,0 +1,3543 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "This file is @generated automatically" + ], + "hash": "2fd93827839a83f6c46976e8a385211d", + "content-hash": "b3621e04a66796e567dde2e91b0878b4", + "packages": [ + { + "name": "backup-manager/backup-manager", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/backup-manager/backup-manager.git", + "reference": "e793277e6f6efae6a31c7abbd8028cae7e151201" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/backup-manager/backup-manager/zipball/e793277e6f6efae6a31c7abbd8028cae7e151201", + "reference": "e793277e6f6efae6a31c7abbd8028cae7e151201", + "shasum": "" + }, + "require": { + "league/flysystem": "~1.0", + "php": ">=5.5.9", + "symfony/process": "~2.1||~3.0" + }, + "require-dev": { + "aws/aws-sdk-php": "~3.0", + "dropbox/dropbox-sdk": "~1.1", + "league/flysystem-aws-s3-v3": "~1.0", + "league/flysystem-dropbox": "~1.0", + "league/flysystem-rackspace": "~1.0", + "league/flysystem-sftp": "~1.0", + "mockery/mockery": "~0.9", + "phpspec/phpspec": "~2.1", + "satooshi/php-coveralls": "~0.6" + }, + "suggest": { + "league/flysystem-aws-s3-v3": "AwsS3 and GoogleCS adapter support.", + "league/flysystem-dropbox": "Dropbox adapter support.", + "league/flysystem-rackspace": "Rackspace adapter support.", + "league/flysystem-sftp": "Sftp adapter support." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "BackupManager\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Shawn McCool", + "email": "shawn@heybigname.com", + "homepage": "http://heybigname.com/" + }, + { + "name": "Mitchell van Wijngaarden", + "email": "mitchell@kooding.nl", + "homepage": "http://heybigname.com/" + } + ], + "description": "A framework agnostic database backup manager with user-definable procedures and support for S3, Dropbox, FTP, SFTP, and more with drivers for popular frameworks.", + "time": "2016-02-05 10:01:19" + }, + { + "name": "backup-manager/laravel", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/backup-manager/laravel.git", + "reference": "d7e6d12d24b8a27f58cf5eccb1ac943104c09856" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/backup-manager/laravel/zipball/d7e6d12d24b8a27f58cf5eccb1ac943104c09856", + "reference": "d7e6d12d24b8a27f58cf5eccb1ac943104c09856", + "shasum": "" + }, + "require": { + "backup-manager/backup-manager": "^1.0", + "illuminate/console": "^4.0||^5.0", + "illuminate/container": "^4.0||^5.0", + "illuminate/support": "^4.0||^5.0", + "php": ">=5.5.0", + "symfony/process": "^2.0||^3.0" + }, + "require-dev": { + "mockery/mockery": "dev-master", + "satooshi/php-coveralls": "~0.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "BackupManager\\Laravel\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Shawn McCool", + "email": "shawn@heybigname.com", + "homepage": "http://heybigname.com/" + }, + { + "name": "Mitchell van Wijngaarden", + "email": "mitchell@kooding.nl", + "homepage": "http://heybigname.com/" + } + ], + "description": "Database backup manager seamlessly integrated with Laravel 4 or 5 with user-definable procedures and support for S3, Dropbox, FTP, SFTP, and more.", + "time": "2016-02-22 10:52:12" + }, + { + "name": "barryvdh/laravel-debugbar", + "version": "v2.2.2", + "source": { + "type": "git", + "url": "https://github.com/barryvdh/laravel-debugbar.git", + "reference": "c291e58d0a13953e0f68d99182ee77ebc693edc0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/c291e58d0a13953e0f68d99182ee77ebc693edc0", + "reference": "c291e58d0a13953e0f68d99182ee77ebc693edc0", + "shasum": "" + }, + "require": { + "illuminate/support": "5.1.*|5.2.*", + "maximebf/debugbar": "~1.11.0", + "php": ">=5.5.9", + "symfony/finder": "~2.7|~3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2-dev" + } + }, + "autoload": { + "psr-4": { + "Barryvdh\\Debugbar\\": "src/" + }, + "files": [ + "src/helpers.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Barry vd. Heuvel", + "email": "barryvdh@gmail.com" + } + ], + "description": "PHP Debugbar integration for Laravel", + "keywords": [ + "debug", + "debugbar", + "laravel", + "profiler", + "webprofiler" + ], + "time": "2016-05-11 13:54:43" + }, + { + "name": "classpreloader/classpreloader", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/ClassPreloader/ClassPreloader.git", + "reference": "9b10b913c2bdf90c3d2e0d726b454fb7f77c552a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ClassPreloader/ClassPreloader/zipball/9b10b913c2bdf90c3d2e0d726b454fb7f77c552a", + "reference": "9b10b913c2bdf90c3d2e0d726b454fb7f77c552a", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^1.0|^2.0", + "php": ">=5.5.9" + }, + "require-dev": { + "phpunit/phpunit": "^4.8|^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "ClassPreloader\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com" + }, + { + "name": "Graham Campbell", + "email": "graham@alt-three.com" + } + ], + "description": "Helps class loading performance by generating a single PHP file containing all of the autoloaded files for a specific use case", + "keywords": [ + "autoload", + "class", + "preload" + ], + "time": "2015-11-09 22:51:51" + }, + { + "name": "dnoegel/php-xdg-base-dir", + "version": "0.1", + "source": { + "type": "git", + "url": "https://github.com/dnoegel/php-xdg-base-dir.git", + "reference": "265b8593498b997dc2d31e75b89f053b5cc9621a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/265b8593498b997dc2d31e75b89f053b5cc9621a", + "reference": "265b8593498b997dc2d31e75b89f053b5cc9621a", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "@stable" + }, + "type": "project", + "autoload": { + "psr-4": { + "XdgBaseDir\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "implementation of xdg base directory specification for php", + "time": "2014-10-24 07:27:01" + }, + { + "name": "doctrine/inflector", + "version": "v1.1.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "90b2128806bfde671b6952ab8bea493942c1fdae" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/90b2128806bfde671b6952ab8bea493942c1fdae", + "reference": "90b2128806bfde671b6952ab8bea493942c1fdae", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "4.*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Common\\Inflector\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Common String Manipulations with regard to casing and singular/plural rules.", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "inflection", + "pluralize", + "singularize", + "string" + ], + "time": "2015-11-06 14:35:42" + }, + { + "name": "jakub-onderka/php-console-color", + "version": "0.1", + "source": { + "type": "git", + "url": "https://github.com/JakubOnderka/PHP-Console-Color.git", + "reference": "e0b393dacf7703fc36a4efc3df1435485197e6c1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Color/zipball/e0b393dacf7703fc36a4efc3df1435485197e6c1", + "reference": "e0b393dacf7703fc36a4efc3df1435485197e6c1", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "jakub-onderka/php-code-style": "1.0", + "jakub-onderka/php-parallel-lint": "0.*", + "jakub-onderka/php-var-dump-check": "0.*", + "phpunit/phpunit": "3.7.*", + "squizlabs/php_codesniffer": "1.*" + }, + "type": "library", + "autoload": { + "psr-0": { + "JakubOnderka\\PhpConsoleColor": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-2-Clause" + ], + "authors": [ + { + "name": "Jakub Onderka", + "email": "jakub.onderka@gmail.com", + "homepage": "http://www.acci.cz" + } + ], + "time": "2014-04-08 15:00:19" + }, + { + "name": "jakub-onderka/php-console-highlighter", + "version": "v0.3.2", + "source": { + "type": "git", + "url": "https://github.com/JakubOnderka/PHP-Console-Highlighter.git", + "reference": "7daa75df45242c8d5b75a22c00a201e7954e4fb5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Highlighter/zipball/7daa75df45242c8d5b75a22c00a201e7954e4fb5", + "reference": "7daa75df45242c8d5b75a22c00a201e7954e4fb5", + "shasum": "" + }, + "require": { + "jakub-onderka/php-console-color": "~0.1", + "php": ">=5.3.0" + }, + "require-dev": { + "jakub-onderka/php-code-style": "~1.0", + "jakub-onderka/php-parallel-lint": "~0.5", + "jakub-onderka/php-var-dump-check": "~0.1", + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "~1.5" + }, + "type": "library", + "autoload": { + "psr-0": { + "JakubOnderka\\PhpConsoleHighlighter": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jakub Onderka", + "email": "acci@acci.cz", + "homepage": "http://www.acci.cz/" + } + ], + "time": "2015-04-20 18:58:01" + }, + { + "name": "jeremeamia/SuperClosure", + "version": "2.2.0", + "source": { + "type": "git", + "url": "https://github.com/jeremeamia/super_closure.git", + "reference": "29a88be2a4846d27c1613aed0c9071dfad7b5938" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/jeremeamia/super_closure/zipball/29a88be2a4846d27c1613aed0c9071dfad7b5938", + "reference": "29a88be2a4846d27c1613aed0c9071dfad7b5938", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^1.2|^2.0", + "php": ">=5.4", + "symfony/polyfill-php56": "^1.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0|^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2-dev" + } + }, + "autoload": { + "psr-4": { + "SuperClosure\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jeremy Lindblom", + "email": "jeremeamia@gmail.com", + "homepage": "https://github.com/jeremeamia", + "role": "Developer" + } + ], + "description": "Serialize Closure objects, including their context and binding", + "homepage": "https://github.com/jeremeamia/super_closure", + "keywords": [ + "closure", + "function", + "lambda", + "parser", + "serializable", + "serialize", + "tokenizer" + ], + "time": "2015-12-05 17:17:57" + }, + { + "name": "laracasts/flash", + "version": "1.3.4", + "source": { + "type": "git", + "url": "https://github.com/laracasts/flash.git", + "reference": "e0a048b911092e15920ce66f4b6a54b6befa30a3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laracasts/flash/zipball/e0a048b911092e15920ce66f4b6a54b6befa30a3", + "reference": "e0a048b911092e15920ce66f4b6a54b6befa30a3", + "shasum": "" + }, + "require": { + "illuminate/support": "~5.0", + "php": ">=5.4.0" + }, + "require-dev": { + "mockery/mockery": "dev-master" + }, + "type": "library", + "autoload": { + "psr-0": { + "Laracasts\\Flash": "src/" + }, + "files": [ + "src/Laracasts/Flash/functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jeffrey Way", + "email": "jeffrey@laracasts.com" + } + ], + "description": "Easy flash notifications", + "time": "2015-12-22 15:52:08" + }, + { + "name": "laracasts/presenter", + "version": "0.2.1", + "source": { + "type": "git", + "url": "https://github.com/laracasts/Presenter.git", + "reference": "b284f3137f990efd6e95df49d254f1ccc4541e92" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laracasts/Presenter/zipball/b284f3137f990efd6e95df49d254f1ccc4541e92", + "reference": "b284f3137f990efd6e95df49d254f1ccc4541e92", + "shasum": "" + }, + "require": { + "illuminate/support": "~5.0", + "php": ">=5.4.0" + }, + "require-dev": { + "mockery/mockery": "~0.9", + "phpspec/phpspec": "~2.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "Laracasts\\Presenter": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jeffrey Way", + "email": "jeffrey@laracasts.com" + } + ], + "description": "Simple view presenters", + "keywords": [ + "laravel", + "presenter", + "view" + ], + "time": "2014-09-13 13:18:07" + }, + { + "name": "laravel/framework", + "version": "v5.2.39", + "source": { + "type": "git", + "url": "https://github.com/laravel/framework.git", + "reference": "c2a77050269b4e03bd9a735a9f24e573a7598b8a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/framework/zipball/c2a77050269b4e03bd9a735a9f24e573a7598b8a", + "reference": "c2a77050269b4e03bd9a735a9f24e573a7598b8a", + "shasum": "" + }, + "require": { + "classpreloader/classpreloader": "~3.0", + "doctrine/inflector": "~1.0", + "ext-mbstring": "*", + "ext-openssl": "*", + "jeremeamia/superclosure": "~2.2", + "league/flysystem": "~1.0", + "monolog/monolog": "~1.11", + "mtdowling/cron-expression": "~1.0", + "nesbot/carbon": "~1.20", + "paragonie/random_compat": "~1.4", + "php": ">=5.5.9", + "psy/psysh": "0.7.*", + "swiftmailer/swiftmailer": "~5.1", + "symfony/console": "2.8.*|3.0.*", + "symfony/debug": "2.8.*|3.0.*", + "symfony/finder": "2.8.*|3.0.*", + "symfony/http-foundation": "2.8.*|3.0.*", + "symfony/http-kernel": "2.8.*|3.0.*", + "symfony/polyfill-php56": "~1.0", + "symfony/process": "2.8.*|3.0.*", + "symfony/routing": "2.8.*|3.0.*", + "symfony/translation": "2.8.*|3.0.*", + "symfony/var-dumper": "2.8.*|3.0.*", + "vlucas/phpdotenv": "~2.2" + }, + "replace": { + "illuminate/auth": "self.version", + "illuminate/broadcasting": "self.version", + "illuminate/bus": "self.version", + "illuminate/cache": "self.version", + "illuminate/config": "self.version", + "illuminate/console": "self.version", + "illuminate/container": "self.version", + "illuminate/contracts": "self.version", + "illuminate/cookie": "self.version", + "illuminate/database": "self.version", + "illuminate/encryption": "self.version", + "illuminate/events": "self.version", + "illuminate/exception": "self.version", + "illuminate/filesystem": "self.version", + "illuminate/hashing": "self.version", + "illuminate/http": "self.version", + "illuminate/log": "self.version", + "illuminate/mail": "self.version", + "illuminate/pagination": "self.version", + "illuminate/pipeline": "self.version", + "illuminate/queue": "self.version", + "illuminate/redis": "self.version", + "illuminate/routing": "self.version", + "illuminate/session": "self.version", + "illuminate/support": "self.version", + "illuminate/translation": "self.version", + "illuminate/validation": "self.version", + "illuminate/view": "self.version" + }, + "require-dev": { + "aws/aws-sdk-php": "~3.0", + "mockery/mockery": "~0.9.4", + "pda/pheanstalk": "~3.0", + "phpunit/phpunit": "~4.1", + "predis/predis": "~1.0", + "symfony/css-selector": "2.8.*|3.0.*", + "symfony/dom-crawler": "2.8.*|3.0.*" + }, + "suggest": { + "aws/aws-sdk-php": "Required to use the SQS queue driver and SES mail driver (~3.0).", + "doctrine/dbal": "Required to rename columns and drop SQLite columns (~2.4).", + "fzaninotto/faker": "Required to use the eloquent factory builder (~1.4).", + "guzzlehttp/guzzle": "Required to use the Mailgun and Mandrill mail drivers and the ping methods on schedules (~5.3|~6.0).", + "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (~1.0).", + "league/flysystem-rackspace": "Required to use the Flysystem Rackspace driver (~1.0).", + "pda/pheanstalk": "Required to use the beanstalk queue driver (~3.0).", + "predis/predis": "Required to use the redis cache and queue drivers (~1.0).", + "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (~2.0).", + "symfony/css-selector": "Required to use some of the crawler integration testing tools (2.8.*|3.0.*).", + "symfony/dom-crawler": "Required to use most of the crawler integration testing tools (2.8.*|3.0.*).", + "symfony/psr-http-message-bridge": "Required to psr7 bridging features (0.2.*)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/Illuminate/Queue/IlluminateQueueClosure.php" + ], + "files": [ + "src/Illuminate/Foundation/helpers.php", + "src/Illuminate/Support/helpers.php" + ], + "psr-4": { + "Illuminate\\": "src/Illuminate/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylorotwell@gmail.com" + } + ], + "description": "The Laravel Framework.", + "homepage": "http://laravel.com", + "keywords": [ + "framework", + "laravel" + ], + "time": "2016-06-17 19:25:12" + }, + { + "name": "laravelcollective/html", + "version": "v5.2.4", + "source": { + "type": "git", + "url": "https://github.com/LaravelCollective/html.git", + "reference": "3a312d39ffe37da0f57b602618b61fd07c1fcec5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/LaravelCollective/html/zipball/3a312d39ffe37da0f57b602618b61fd07c1fcec5", + "reference": "3a312d39ffe37da0f57b602618b61fd07c1fcec5", + "shasum": "" + }, + "require": { + "illuminate/http": "5.2.*", + "illuminate/routing": "5.2.*", + "illuminate/session": "5.2.*", + "illuminate/support": "5.2.*", + "illuminate/view": "5.2.*", + "php": ">=5.5.9" + }, + "require-dev": { + "illuminate/database": "5.2.*", + "mockery/mockery": "~0.9", + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Collective\\Html\\": "src/" + }, + "files": [ + "src/helpers.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylorotwell@gmail.com" + }, + { + "name": "Adam Engebretson", + "email": "adam@laravelcollective.com" + } + ], + "description": "HTML and Form Builders for the Laravel Framework", + "homepage": "http://laravelcollective.com", + "time": "2016-01-27 22:29:54" + }, + { + "name": "league/flysystem", + "version": "1.0.24", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/flysystem.git", + "reference": "9aca859a303fdca30370f42b8c611d9cf0dedf4b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/9aca859a303fdca30370f42b8c611d9cf0dedf4b", + "reference": "9aca859a303fdca30370f42b8c611d9cf0dedf4b", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "conflict": { + "league/flysystem-sftp": "<1.0.6" + }, + "require-dev": { + "ext-fileinfo": "*", + "mockery/mockery": "~0.9", + "phpspec/phpspec": "^2.2", + "phpunit/phpunit": "~4.8 || ~5.0" + }, + "suggest": { + "ext-fileinfo": "Required for MimeType", + "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", + "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3", + "league/flysystem-azure": "Allows you to use Windows Azure Blob storage", + "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", + "league/flysystem-copy": "Allows you to use Copy.com storage", + "league/flysystem-dropbox": "Allows you to use Dropbox storage", + "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem", + "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", + "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib", + "league/flysystem-webdav": "Allows you to use WebDAV storage", + "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Flysystem\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frenky.net" + } + ], + "description": "Filesystem abstraction: Many filesystems, one API.", + "keywords": [ + "Cloud Files", + "WebDAV", + "abstraction", + "aws", + "cloud", + "copy.com", + "dropbox", + "file systems", + "files", + "filesystem", + "filesystems", + "ftp", + "rackspace", + "remote", + "s3", + "sftp", + "storage" + ], + "time": "2016-06-03 19:11:39" + }, + { + "name": "maximebf/debugbar", + "version": "v1.11.1", + "source": { + "type": "git", + "url": "https://github.com/maximebf/php-debugbar.git", + "reference": "d9302891c1f0a0ac5a4f66725163a00537c6359f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/d9302891c1f0a0ac5a4f66725163a00537c6359f", + "reference": "d9302891c1f0a0ac5a4f66725163a00537c6359f", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "psr/log": "^1.0", + "symfony/var-dumper": "^2.6|^3.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0|^5.0" + }, + "suggest": { + "kriswallsmith/assetic": "The best way to manage assets", + "monolog/monolog": "Log using Monolog", + "predis/predis": "Redis storage" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.11-dev" + } + }, + "autoload": { + "psr-4": { + "DebugBar\\": "src/DebugBar/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Maxime Bouroumeau-Fuseau", + "email": "maxime.bouroumeau@gmail.com", + "homepage": "http://maximebf.com" + }, + { + "name": "Barry vd. Heuvel", + "email": "barryvdh@gmail.com" + } + ], + "description": "Debug bar in the browser for php application", + "homepage": "https://github.com/maximebf/php-debugbar", + "keywords": [ + "debug", + "debugbar" + ], + "time": "2016-01-22 12:22:23" + }, + { + "name": "monolog/monolog", + "version": "1.19.0", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "5f56ed5212dc509c8dc8caeba2715732abb32dbf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/5f56ed5212dc509c8dc8caeba2715732abb32dbf", + "reference": "5f56ed5212dc509c8dc8caeba2715732abb32dbf", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "psr/log": "~1.0" + }, + "provide": { + "psr/log-implementation": "1.0.0" + }, + "require-dev": { + "aws/aws-sdk-php": "^2.4.9", + "doctrine/couchdb": "~1.0@dev", + "graylog2/gelf-php": "~1.0", + "jakub-onderka/php-parallel-lint": "0.9", + "php-amqplib/php-amqplib": "~2.4", + "php-console/php-console": "^3.1.3", + "phpunit/phpunit": "~4.5", + "phpunit/phpunit-mock-objects": "2.3.0", + "raven/raven": "^0.13", + "ruflin/elastica": ">=0.90 <3.0", + "swiftmailer/swiftmailer": "~5.3" + }, + "suggest": { + "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", + "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-mongo": "Allow sending log messages to a MongoDB server", + "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", + "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", + "php-console/php-console": "Allow sending log messages to Google Chrome", + "raven/raven": "Allow sending log messages to a Sentry server", + "rollbar/rollbar": "Allow sending log messages to Rollbar", + "ruflin/elastica": "Allow sending log messages to an Elastic Search server" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Monolog\\": "src/Monolog" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "homepage": "http://github.com/Seldaek/monolog", + "keywords": [ + "log", + "logging", + "psr-3" + ], + "time": "2016-04-12 18:29:35" + }, + { + "name": "mtdowling/cron-expression", + "version": "v1.1.0", + "source": { + "type": "git", + "url": "https://github.com/mtdowling/cron-expression.git", + "reference": "c9ee7886f5a12902b225a1a12f36bb45f9ab89e5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mtdowling/cron-expression/zipball/c9ee7886f5a12902b225a1a12f36bb45f9ab89e5", + "reference": "c9ee7886f5a12902b225a1a12f36bb45f9ab89e5", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "~4.0|~5.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "Cron": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", + "keywords": [ + "cron", + "schedule" + ], + "time": "2016-01-26 21:23:30" + }, + { + "name": "nesbot/carbon", + "version": "1.21.0", + "source": { + "type": "git", + "url": "https://github.com/briannesbitt/Carbon.git", + "reference": "7b08ec6f75791e130012f206e3f7b0e76e18e3d7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/7b08ec6f75791e130012f206e3f7b0e76e18e3d7", + "reference": "7b08ec6f75791e130012f206e3f7b0e76e18e3d7", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "symfony/translation": "~2.6|~3.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.0|~5.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Carbon\\": "src/Carbon/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Brian Nesbitt", + "email": "brian@nesbot.com", + "homepage": "http://nesbot.com" + } + ], + "description": "A simple API extension for DateTime.", + "homepage": "http://carbon.nesbot.com", + "keywords": [ + "date", + "datetime", + "time" + ], + "time": "2015-11-04 20:07:17" + }, + { + "name": "nikic/php-parser", + "version": "v2.1.0", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "47b254ea51f1d6d5dc04b9b299e88346bf2369e3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/47b254ea51f1d6d5dc04b9b299e88346bf2369e3", + "reference": "47b254ea51f1d6d5dc04b9b299e88346bf2369e3", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=5.4" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "time": "2016-04-19 13:41:41" + }, + { + "name": "paragonie/random_compat", + "version": "v1.4.1", + "source": { + "type": "git", + "url": "https://github.com/paragonie/random_compat.git", + "reference": "c7e26a21ba357863de030f0b9e701c7d04593774" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/c7e26a21ba357863de030f0b9e701c7d04593774", + "reference": "c7e26a21ba357863de030f0b9e701c7d04593774", + "shasum": "" + }, + "require": { + "php": ">=5.2.0" + }, + "require-dev": { + "phpunit/phpunit": "4.*|5.*" + }, + "suggest": { + "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." + }, + "type": "library", + "autoload": { + "files": [ + "lib/random.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com" + } + ], + "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", + "keywords": [ + "csprng", + "pseudorandom", + "random" + ], + "time": "2016-03-18 20:34:03" + }, + { + "name": "psr/log", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b", + "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b", + "shasum": "" + }, + "type": "library", + "autoload": { + "psr-0": { + "Psr\\Log\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "time": "2012-12-21 11:40:51" + }, + { + "name": "psy/psysh", + "version": "v0.7.2", + "source": { + "type": "git", + "url": "https://github.com/bobthecow/psysh.git", + "reference": "e64e10b20f8d229cac76399e1f3edddb57a0f280" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/e64e10b20f8d229cac76399e1f3edddb57a0f280", + "reference": "e64e10b20f8d229cac76399e1f3edddb57a0f280", + "shasum": "" + }, + "require": { + "dnoegel/php-xdg-base-dir": "0.1", + "jakub-onderka/php-console-highlighter": "0.3.*", + "nikic/php-parser": "^1.2.1|~2.0", + "php": ">=5.3.9", + "symfony/console": "~2.3.10|^2.4.2|~3.0", + "symfony/var-dumper": "~2.7|~3.0" + }, + "require-dev": { + "fabpot/php-cs-fixer": "~1.5", + "phpunit/phpunit": "~3.7|~4.0|~5.0", + "squizlabs/php_codesniffer": "~2.0", + "symfony/finder": "~2.1|~3.0" + }, + "suggest": { + "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", + "ext-pdo-sqlite": "The doc command requires SQLite to work.", + "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.", + "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history." + }, + "bin": [ + "bin/psysh" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-develop": "0.8.x-dev" + } + }, + "autoload": { + "files": [ + "src/Psy/functions.php" + ], + "psr-4": { + "Psy\\": "src/Psy/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Justin Hileman", + "email": "justin@justinhileman.info", + "homepage": "http://justinhileman.com" + } + ], + "description": "An interactive shell for modern PHP.", + "homepage": "http://psysh.org", + "keywords": [ + "REPL", + "console", + "interactive", + "shell" + ], + "time": "2016-03-09 05:03:14" + }, + { + "name": "swiftmailer/swiftmailer", + "version": "v5.4.2", + "source": { + "type": "git", + "url": "https://github.com/swiftmailer/swiftmailer.git", + "reference": "d8db871a54619458a805229a057ea2af33c753e8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/d8db871a54619458a805229a057ea2af33c753e8", + "reference": "d8db871a54619458a805229a057ea2af33c753e8", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "mockery/mockery": "~0.9.1,<0.9.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.4-dev" + } + }, + "autoload": { + "files": [ + "lib/swift_required.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Chris Corbyn" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Swiftmailer, free feature-rich PHP mailer", + "homepage": "http://swiftmailer.org", + "keywords": [ + "email", + "mail", + "mailer" + ], + "time": "2016-05-01 08:45:47" + }, + { + "name": "symfony/console", + "version": "v3.0.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "382fc9ed852edabd6133e34f8549d7a7d99db115" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/382fc9ed852edabd6133e34f8549d7a7d99db115", + "reference": "382fc9ed852edabd6133e34f8549d7a7d99db115", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "symfony/polyfill-mbstring": "~1.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/event-dispatcher": "~2.8|~3.0", + "symfony/process": "~2.8|~3.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/process": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Console Component", + "homepage": "https://symfony.com", + "time": "2016-06-06 15:08:35" + }, + { + "name": "symfony/debug", + "version": "v3.0.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/debug.git", + "reference": "e67e1552dd7313df1cf6535cb606751899e0e727" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/debug/zipball/e67e1552dd7313df1cf6535cb606751899e0e727", + "reference": "e67e1552dd7313df1cf6535cb606751899e0e727", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "psr/log": "~1.0" + }, + "conflict": { + "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" + }, + "require-dev": { + "symfony/class-loader": "~2.8|~3.0", + "symfony/http-kernel": "~2.8|~3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Debug\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Debug Component", + "homepage": "https://symfony.com", + "time": "2016-06-06 15:08:35" + }, + { + "name": "symfony/event-dispatcher", + "version": "v3.1.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "f5b7563f67779c6d3d5370e23448e707c858df3e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/f5b7563f67779c6d3d5370e23448e707c858df3e", + "reference": "f5b7563f67779c6d3d5370e23448e707c858df3e", + "shasum": "" + }, + "require": { + "php": ">=5.5.9" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~2.8|~3.0", + "symfony/dependency-injection": "~2.8|~3.0", + "symfony/expression-language": "~2.8|~3.0", + "symfony/stopwatch": "~2.8|~3.0" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\EventDispatcher\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony EventDispatcher Component", + "homepage": "https://symfony.com", + "time": "2016-06-06 11:42:41" + }, + { + "name": "symfony/finder", + "version": "v3.0.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "39e5f3d533d07b5416b9d7aad53a27f939d4f811" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/39e5f3d533d07b5416b9d7aad53a27f939d4f811", + "reference": "39e5f3d533d07b5416b9d7aad53a27f939d4f811", + "shasum": "" + }, + "require": { + "php": ">=5.5.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Finder Component", + "homepage": "https://symfony.com", + "time": "2016-05-13 18:03:36" + }, + { + "name": "symfony/http-foundation", + "version": "v3.0.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-foundation.git", + "reference": "d268a643884f85e91d6ba11ca68de96833f3f6e5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/d268a643884f85e91d6ba11ca68de96833f3f6e5", + "reference": "d268a643884f85e91d6ba11ca68de96833f3f6e5", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "symfony/polyfill-mbstring": "~1.1" + }, + "require-dev": { + "symfony/expression-language": "~2.8|~3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpFoundation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony HttpFoundation Component", + "homepage": "https://symfony.com", + "time": "2016-06-06 11:33:26" + }, + { + "name": "symfony/http-kernel", + "version": "v3.0.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-kernel.git", + "reference": "97cc1c15e3406e7a2adf14ad6b0e41a04d4a6fc4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/97cc1c15e3406e7a2adf14ad6b0e41a04d4a6fc4", + "reference": "97cc1c15e3406e7a2adf14ad6b0e41a04d4a6fc4", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "psr/log": "~1.0", + "symfony/debug": "~2.8|~3.0", + "symfony/event-dispatcher": "~2.8|~3.0", + "symfony/http-foundation": "~2.8|~3.0" + }, + "conflict": { + "symfony/config": "<2.8" + }, + "require-dev": { + "symfony/browser-kit": "~2.8|~3.0", + "symfony/class-loader": "~2.8|~3.0", + "symfony/config": "~2.8|~3.0", + "symfony/console": "~2.8|~3.0", + "symfony/css-selector": "~2.8|~3.0", + "symfony/dependency-injection": "~2.8|~3.0", + "symfony/dom-crawler": "~2.8|~3.0", + "symfony/expression-language": "~2.8|~3.0", + "symfony/finder": "~2.8|~3.0", + "symfony/process": "~2.8|~3.0", + "symfony/routing": "~2.8|~3.0", + "symfony/stopwatch": "~2.8|~3.0", + "symfony/templating": "~2.8|~3.0", + "symfony/translation": "~2.8|~3.0", + "symfony/var-dumper": "~2.8|~3.0" + }, + "suggest": { + "symfony/browser-kit": "", + "symfony/class-loader": "", + "symfony/config": "", + "symfony/console": "", + "symfony/dependency-injection": "", + "symfony/finder": "", + "symfony/var-dumper": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpKernel\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony HttpKernel Component", + "homepage": "https://symfony.com", + "time": "2016-06-06 16:52:35" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "dff51f72b0706335131b00a7f49606168c582594" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/dff51f72b0706335131b00a7f49606168c582594", + "reference": "dff51f72b0706335131b00a7f49606168c582594", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "time": "2016-05-18 14:26:46" + }, + { + "name": "symfony/polyfill-php56", + "version": "v1.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php56.git", + "reference": "3edf57a8fbf9a927533344cef65ad7e1cf31030a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/3edf57a8fbf9a927533344cef65ad7e1cf31030a", + "reference": "3edf57a8fbf9a927533344cef65ad7e1cf31030a", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "symfony/polyfill-util": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php56\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2016-05-18 14:26:46" + }, + { + "name": "symfony/polyfill-util", + "version": "v1.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-util.git", + "reference": "ef830ce3d218e622b221d6bfad42c751d974bf99" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/ef830ce3d218e622b221d6bfad42c751d974bf99", + "reference": "ef830ce3d218e622b221d6bfad42c751d974bf99", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Util\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony utilities for portability of PHP codes", + "homepage": "https://symfony.com", + "keywords": [ + "compat", + "compatibility", + "polyfill", + "shim" + ], + "time": "2016-05-18 14:26:46" + }, + { + "name": "symfony/process", + "version": "v3.0.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "bf6e2d1fa8b93fdd7cca6b684c0ea213cf0255dd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/bf6e2d1fa8b93fdd7cca6b684c0ea213cf0255dd", + "reference": "bf6e2d1fa8b93fdd7cca6b684c0ea213cf0255dd", + "shasum": "" + }, + "require": { + "php": ">=5.5.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Process Component", + "homepage": "https://symfony.com", + "time": "2016-06-06 11:33:26" + }, + { + "name": "symfony/routing", + "version": "v3.0.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/routing.git", + "reference": "c780454838a1131adc756d737a4b4cc1d18f8c64" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/routing/zipball/c780454838a1131adc756d737a4b4cc1d18f8c64", + "reference": "c780454838a1131adc756d737a4b4cc1d18f8c64", + "shasum": "" + }, + "require": { + "php": ">=5.5.9" + }, + "conflict": { + "symfony/config": "<2.8" + }, + "require-dev": { + "doctrine/annotations": "~1.0", + "doctrine/common": "~2.2", + "psr/log": "~1.0", + "symfony/config": "~2.8|~3.0", + "symfony/expression-language": "~2.8|~3.0", + "symfony/http-foundation": "~2.8|~3.0", + "symfony/yaml": "~2.8|~3.0" + }, + "suggest": { + "doctrine/annotations": "For using the annotation loader", + "symfony/config": "For using the all-in-one router or any loader", + "symfony/dependency-injection": "For loading routes from a service", + "symfony/expression-language": "For using expression matching", + "symfony/http-foundation": "For using a Symfony Request object", + "symfony/yaml": "For using the YAML loader" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Routing\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Routing Component", + "homepage": "https://symfony.com", + "keywords": [ + "router", + "routing", + "uri", + "url" + ], + "time": "2016-05-30 06:58:27" + }, + { + "name": "symfony/translation", + "version": "v3.0.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation.git", + "reference": "2b0aacaa613c0ec1ad8046f972d8abdcb19c1db7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation/zipball/2b0aacaa613c0ec1ad8046f972d8abdcb19c1db7", + "reference": "2b0aacaa613c0ec1ad8046f972d8abdcb19c1db7", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/config": "<2.8" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~2.8|~3.0", + "symfony/intl": "~2.8|~3.0", + "symfony/yaml": "~2.8|~3.0" + }, + "suggest": { + "psr/log": "To use logging capability in translator", + "symfony/config": "", + "symfony/yaml": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Translation Component", + "homepage": "https://symfony.com", + "time": "2016-06-06 11:33:26" + }, + { + "name": "symfony/var-dumper", + "version": "v3.0.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-dumper.git", + "reference": "d8bb851da153d97abe7c2b71a65dee19f324bcf7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/d8bb851da153d97abe7c2b71a65dee19f324bcf7", + "reference": "d8bb851da153d97abe7c2b71a65dee19f324bcf7", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "symfony/polyfill-mbstring": "~1.0" + }, + "require-dev": { + "twig/twig": "~1.20|~2.0" + }, + "suggest": { + "ext-symfony_debug": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "files": [ + "Resources/functions/dump.php" + ], + "psr-4": { + "Symfony\\Component\\VarDumper\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony mechanism for exploring and dumping PHP variables", + "homepage": "https://symfony.com", + "keywords": [ + "debug", + "dump" + ], + "time": "2016-05-24 10:03:10" + }, + { + "name": "vlucas/phpdotenv", + "version": "v2.3.0", + "source": { + "type": "git", + "url": "https://github.com/vlucas/phpdotenv.git", + "reference": "9ca5644c536654e9509b9d257f53c58630eb2a6a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/9ca5644c536654e9509b9d257f53c58630eb2a6a", + "reference": "9ca5644c536654e9509b9d257f53c58630eb2a6a", + "shasum": "" + }, + "require": { + "php": ">=5.3.9" + }, + "require-dev": { + "phpunit/phpunit": "^4.8 || ^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.3-dev" + } + }, + "autoload": { + "psr-4": { + "Dotenv\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause-Attribution" + ], + "authors": [ + { + "name": "Vance Lucas", + "email": "vance@vancelucas.com", + "homepage": "http://www.vancelucas.com" + } + ], + "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", + "keywords": [ + "dotenv", + "env", + "environment" + ], + "time": "2016-06-14 14:14:52" + } + ], + "packages-dev": [ + { + "name": "doctrine/instantiator", + "version": "1.0.5", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", + "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", + "shasum": "" + }, + "require": { + "php": ">=5.3,<8.0-DEV" + }, + "require-dev": { + "athletic/athletic": "~0.1.8", + "ext-pdo": "*", + "ext-phar": "*", + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "~2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "http://ocramius.github.com/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://github.com/doctrine/instantiator", + "keywords": [ + "constructor", + "instantiate" + ], + "time": "2015-06-14 21:17:01" + }, + { + "name": "fzaninotto/faker", + "version": "v1.6.0", + "source": { + "type": "git", + "url": "https://github.com/fzaninotto/Faker.git", + "reference": "44f9a286a04b80c76a4e5fb7aad8bb539b920123" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/44f9a286a04b80c76a4e5fb7aad8bb539b920123", + "reference": "44f9a286a04b80c76a4e5fb7aad8bb539b920123", + "shasum": "" + }, + "require": { + "php": "^5.3.3|^7.0" + }, + "require-dev": { + "ext-intl": "*", + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "~1.5" + }, + "type": "library", + "extra": { + "branch-alias": [] + }, + "autoload": { + "psr-4": { + "Faker\\": "src/Faker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "François Zaninotto" + } + ], + "description": "Faker is a PHP library that generates fake data for you.", + "keywords": [ + "data", + "faker", + "fixtures" + ], + "time": "2016-04-29 12:21:54" + }, + { + "name": "hamcrest/hamcrest-php", + "version": "v1.2.2", + "source": { + "type": "git", + "url": "https://github.com/hamcrest/hamcrest-php.git", + "reference": "b37020aa976fa52d3de9aa904aa2522dc518f79c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/b37020aa976fa52d3de9aa904aa2522dc518f79c", + "reference": "b37020aa976fa52d3de9aa904aa2522dc518f79c", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "replace": { + "cordoval/hamcrest-php": "*", + "davedevelopment/hamcrest-php": "*", + "kodova/hamcrest-php": "*" + }, + "require-dev": { + "phpunit/php-file-iterator": "1.3.3", + "satooshi/php-coveralls": "dev-master" + }, + "type": "library", + "autoload": { + "classmap": [ + "hamcrest" + ], + "files": [ + "hamcrest/Hamcrest.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD" + ], + "description": "This is the PHP port of Hamcrest Matchers", + "keywords": [ + "test" + ], + "time": "2015-05-11 14:41:42" + }, + { + "name": "mockery/mockery", + "version": "0.9.5", + "source": { + "type": "git", + "url": "https://github.com/padraic/mockery.git", + "reference": "4db079511a283e5aba1b3c2fb19037c645e70fc2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/padraic/mockery/zipball/4db079511a283e5aba1b3c2fb19037c645e70fc2", + "reference": "4db079511a283e5aba1b3c2fb19037c645e70fc2", + "shasum": "" + }, + "require": { + "hamcrest/hamcrest-php": "~1.1", + "lib-pcre": ">=7.0", + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.9.x-dev" + } + }, + "autoload": { + "psr-0": { + "Mockery": "library/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Pádraic Brady", + "email": "padraic.brady@gmail.com", + "homepage": "http://blog.astrumfutura.com" + }, + { + "name": "Dave Marshall", + "email": "dave.marshall@atstsolutions.co.uk", + "homepage": "http://davedevelopment.co.uk" + } + ], + "description": "Mockery is a simple yet flexible PHP mock object framework for use in unit testing with PHPUnit, PHPSpec or any other testing framework. Its core goal is to offer a test double framework with a succinct API capable of clearly defining all possible object operations and interactions using a human readable Domain Specific Language (DSL). Designed as a drop in alternative to PHPUnit's phpunit-mock-objects library, Mockery is easy to integrate with PHPUnit and can operate alongside phpunit-mock-objects without the World ending.", + "homepage": "http://github.com/padraic/mockery", + "keywords": [ + "BDD", + "TDD", + "library", + "mock", + "mock objects", + "mockery", + "stub", + "test", + "test double", + "testing" + ], + "time": "2016-05-22 21:52:33" + }, + { + "name": "phpdocumentor/reflection-common", + "version": "1.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", + "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", + "shasum": "" + }, + "require": { + "php": ">=5.5" + }, + "require-dev": { + "phpunit/phpunit": "^4.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org", + "keywords": [ + "FQSEN", + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" + ], + "time": "2015-12-27 11:43:31" + }, + { + "name": "phpdocumentor/reflection-docblock", + "version": "3.1.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "9270140b940ff02e58ec577c237274e92cd40cdd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/9270140b940ff02e58ec577c237274e92cd40cdd", + "reference": "9270140b940ff02e58ec577c237274e92cd40cdd", + "shasum": "" + }, + "require": { + "php": ">=5.5", + "phpdocumentor/reflection-common": "^1.0@dev", + "phpdocumentor/type-resolver": "^0.2.0", + "webmozart/assert": "^1.0" + }, + "require-dev": { + "mockery/mockery": "^0.9.4", + "phpunit/phpunit": "^4.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "time": "2016-06-10 09:48:41" + }, + { + "name": "phpdocumentor/type-resolver", + "version": "0.2", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "b39c7a5b194f9ed7bd0dd345c751007a41862443" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/b39c7a5b194f9ed7bd0dd345c751007a41862443", + "reference": "b39c7a5b194f9ed7bd0dd345c751007a41862443", + "shasum": "" + }, + "require": { + "php": ">=5.5", + "phpdocumentor/reflection-common": "^1.0" + }, + "require-dev": { + "mockery/mockery": "^0.9.4", + "phpunit/phpunit": "^5.2||^4.8.24" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "time": "2016-06-10 07:14:17" + }, + { + "name": "phpspec/prophecy", + "version": "v1.6.1", + "source": { + "type": "git", + "url": "https://github.com/phpspec/prophecy.git", + "reference": "58a8137754bc24b25740d4281399a4a3596058e0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/58a8137754bc24b25740d4281399a4a3596058e0", + "reference": "58a8137754bc24b25740d4281399a4a3596058e0", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.0.2", + "php": "^5.3|^7.0", + "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", + "sebastian/comparator": "^1.1", + "sebastian/recursion-context": "^1.0" + }, + "require-dev": { + "phpspec/phpspec": "^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6.x-dev" + } + }, + "autoload": { + "psr-0": { + "Prophecy\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + }, + { + "name": "Marcello Duarte", + "email": "marcello.duarte@gmail.com" + } + ], + "description": "Highly opinionated mocking framework for PHP 5.3+", + "homepage": "https://github.com/phpspec/prophecy", + "keywords": [ + "Double", + "Dummy", + "fake", + "mock", + "spy", + "stub" + ], + "time": "2016-06-07 08:13:47" + }, + { + "name": "phpunit/php-code-coverage", + "version": "2.2.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", + "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "phpunit/php-file-iterator": "~1.3", + "phpunit/php-text-template": "~1.2", + "phpunit/php-token-stream": "~1.3", + "sebastian/environment": "^1.3.2", + "sebastian/version": "~1.0" + }, + "require-dev": { + "ext-xdebug": ">=2.1.4", + "phpunit/phpunit": "~4" + }, + "suggest": { + "ext-dom": "*", + "ext-xdebug": ">=2.2.1", + "ext-xmlwriter": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "time": "2015-10-06 15:47:00" + }, + { + "name": "phpunit/php-file-iterator", + "version": "1.4.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/6150bf2c35d3fc379e50c7602b75caceaa39dbf0", + "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "keywords": [ + "filesystem", + "iterator" + ], + "time": "2015-06-21 13:08:43" + }, + { + "name": "phpunit/php-text-template", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], + "time": "2015-06-21 13:50:34" + }, + { + "name": "phpunit/php-timer", + "version": "1.0.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/38e9124049cf1a164f1e4537caf19c99bf1eb260", + "reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4|~5" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "time": "2016-05-12 18:03:57" + }, + { + "name": "phpunit/php-token-stream", + "version": "1.4.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-token-stream.git", + "reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da", + "reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Wrapper around PHP's tokenizer extension.", + "homepage": "https://github.com/sebastianbergmann/php-token-stream/", + "keywords": [ + "tokenizer" + ], + "time": "2015-09-15 10:49:45" + }, + { + "name": "phpunit/phpunit", + "version": "4.8.26", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "fc1d8cd5b5de11625979125c5639347896ac2c74" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/fc1d8cd5b5de11625979125c5639347896ac2c74", + "reference": "fc1d8cd5b5de11625979125c5639347896ac2c74", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-json": "*", + "ext-pcre": "*", + "ext-reflection": "*", + "ext-spl": "*", + "php": ">=5.3.3", + "phpspec/prophecy": "^1.3.1", + "phpunit/php-code-coverage": "~2.1", + "phpunit/php-file-iterator": "~1.4", + "phpunit/php-text-template": "~1.2", + "phpunit/php-timer": "^1.0.6", + "phpunit/phpunit-mock-objects": "~2.3", + "sebastian/comparator": "~1.1", + "sebastian/diff": "~1.2", + "sebastian/environment": "~1.3", + "sebastian/exporter": "~1.2", + "sebastian/global-state": "~1.0", + "sebastian/version": "~1.0", + "symfony/yaml": "~2.1|~3.0" + }, + "suggest": { + "phpunit/php-invoker": "~1.1" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.8.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", + "keywords": [ + "phpunit", + "testing", + "xunit" + ], + "time": "2016-05-17 03:09:28" + }, + { + "name": "phpunit/phpunit-mock-objects", + "version": "2.3.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", + "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", + "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.0.2", + "php": ">=5.3.3", + "phpunit/php-text-template": "~1.2", + "sebastian/exporter": "~1.2" + }, + "require-dev": { + "phpunit/phpunit": "~4.4" + }, + "suggest": { + "ext-soap": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.3.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "Mock Object library for PHPUnit", + "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", + "keywords": [ + "mock", + "xunit" + ], + "time": "2015-10-02 06:51:40" + }, + { + "name": "sebastian/comparator", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "937efb279bd37a375bcadf584dec0726f84dbf22" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/937efb279bd37a375bcadf584dec0726f84dbf22", + "reference": "937efb279bd37a375bcadf584dec0726f84dbf22", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "sebastian/diff": "~1.2", + "sebastian/exporter": "~1.2" + }, + "require-dev": { + "phpunit/phpunit": "~4.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "http://www.github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "time": "2015-07-26 15:48:44" + }, + { + "name": "sebastian/diff", + "version": "1.4.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", + "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff" + ], + "time": "2015-12-08 07:14:41" + }, + { + "name": "sebastian/environment", + "version": "1.3.7", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "4e8f0da10ac5802913afc151413bc8c53b6c2716" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/4e8f0da10ac5802913afc151413bc8c53b6c2716", + "reference": "4e8f0da10ac5802913afc151413bc8c53b6c2716", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "http://www.github.com/sebastianbergmann/environment", + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], + "time": "2016-05-17 03:18:57" + }, + { + "name": "sebastian/exporter", + "version": "1.2.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", + "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "sebastian/recursion-context": "~1.0" + }, + "require-dev": { + "ext-mbstring": "*", + "phpunit/phpunit": "~4.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "http://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "time": "2016-06-17 09:04:28" + }, + { + "name": "sebastian/global-state", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", + "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.2" + }, + "suggest": { + "ext-uopz": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Snapshotting of global state", + "homepage": "http://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], + "time": "2015-10-12 03:26:01" + }, + { + "name": "sebastian/recursion-context", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "913401df809e99e4f47b27cdd781f4a258d58791" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/913401df809e99e4f47b27cdd781f4a258d58791", + "reference": "913401df809e99e4f47b27cdd781f4a258d58791", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "time": "2015-11-11 19:50:13" + }, + { + "name": "sebastian/version", + "version": "1.0.6", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", + "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", + "shasum": "" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "time": "2015-06-21 13:59:46" + }, + { + "name": "symfony/css-selector", + "version": "v3.0.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/css-selector.git", + "reference": "e8a66c51bf65f188c02f8120c0748b2291d3a2d0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/e8a66c51bf65f188c02f8120c0748b2291d3a2d0", + "reference": "e8a66c51bf65f188c02f8120c0748b2291d3a2d0", + "shasum": "" + }, + "require": { + "php": ">=5.5.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\CssSelector\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jean-François Simon", + "email": "jeanfrancois.simon@sensiolabs.com" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony CssSelector Component", + "homepage": "https://symfony.com", + "time": "2016-06-06 11:33:26" + }, + { + "name": "symfony/dom-crawler", + "version": "v3.0.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/dom-crawler.git", + "reference": "49b588841225b205700e5122fa01911cabada857" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/49b588841225b205700e5122fa01911cabada857", + "reference": "49b588841225b205700e5122fa01911cabada857", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "symfony/polyfill-mbstring": "~1.0" + }, + "require-dev": { + "symfony/css-selector": "~2.8|~3.0" + }, + "suggest": { + "symfony/css-selector": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\DomCrawler\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony DomCrawler Component", + "homepage": "https://symfony.com", + "time": "2016-04-12 18:09:53" + }, + { + "name": "symfony/yaml", + "version": "v3.1.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "c5a7e7fc273c758b92b85dcb9c46149ccda89623" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/c5a7e7fc273c758b92b85dcb9c46149ccda89623", + "reference": "c5a7e7fc273c758b92b85dcb9c46149ccda89623", + "shasum": "" + }, + "require": { + "php": ">=5.5.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Yaml Component", + "homepage": "https://symfony.com", + "time": "2016-06-14 11:18:07" + }, + { + "name": "webmozart/assert", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/webmozart/assert.git", + "reference": "30eed06dd6bc88410a4ff7f77b6d22f3ce13dbde" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozart/assert/zipball/30eed06dd6bc88410a4ff7f77b6d22f3ce13dbde", + "reference": "30eed06dd6bc88410a4ff7f77b6d22f3ce13dbde", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "^4.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "time": "2015-08-24 13:29:44" + } + ], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "php": ">=5.5.9" + }, + "platform-dev": [] +} diff --git a/config/app.php b/config/app.php new file mode 100644 index 0000000..6cab7ca --- /dev/null +++ b/config/app.php @@ -0,0 +1,222 @@ + env('APP_ENV', 'production'), + + /* + |-------------------------------------------------------------------------- + | Application Debug Mode + |-------------------------------------------------------------------------- + | + | When your application is in debug mode, detailed error messages with + | stack traces will be shown on every error that occurs within your + | application. If disabled, a simple generic error page is shown. + | + */ + + 'debug' => env('APP_DEBUG', false), + + /* + |-------------------------------------------------------------------------- + | Application URL + |-------------------------------------------------------------------------- + | + | This URL is used by the console to properly generate URLs when using + | the Artisan command line tool. You should set this to the root of + | your application so that it is used when running Artisan tasks. + | + */ + + 'url' => 'http://localhost', + + /* + |-------------------------------------------------------------------------- + | Application Timezone + |-------------------------------------------------------------------------- + | + | Here you may specify the default timezone for your application, which + | will be used by the PHP date and date-time functions. We have gone + | ahead and set this to a sensible default for you out of the box. + | + */ + + 'timezone' => env('APP_TIMEZONE', 'Asia/Jakarta'), + + /* + |-------------------------------------------------------------------------- + | Application Locale Configuration + |-------------------------------------------------------------------------- + | + | The application locale determines the default locale that will be used + | by the translation service provider. You are free to set this value + | to any of the locales which will be supported by the application. + | + */ + + 'locale' => env('APP_LOCALE', 'en'), + + /* + |-------------------------------------------------------------------------- + | Application Fallback Locale + |-------------------------------------------------------------------------- + | + | The fallback locale determines the locale to use when the current one + | is not available. You may change the value to correspond to any of + | the language folders that are provided through your application. + | + */ + + 'fallback_locale' => 'en', + + /* + |-------------------------------------------------------------------------- + | Encryption Key + |-------------------------------------------------------------------------- + | + | This key is used by the Illuminate encrypter service and should be set + | to a random, 32 character string, otherwise these encrypted strings + | will not be safe. Please do this before deploying an application! + | + */ + + 'key' => env('APP_KEY'), + + 'cipher' => 'AES-256-CBC', + + /* + |-------------------------------------------------------------------------- + | Logging Configuration + |-------------------------------------------------------------------------- + | + | Here you may configure the log settings for your application. Out of + | the box, Laravel uses the Monolog PHP logging library. This gives + | you a variety of powerful log handlers / formatters to utilize. + | + | Available Settings: "single", "daily", "syslog", "errorlog" + | + */ + + 'log' => env('APP_LOG', 'daily'), + + /* + |-------------------------------------------------------------------------- + | Autoloaded Service Providers + |-------------------------------------------------------------------------- + | + | The service providers listed here will be automatically loaded on the + | request to your application. Feel free to add your own services to + | this array to grant expanded functionality to your applications. + | + */ + + 'providers' => [ + + /* + * Laravel Framework Service Providers... + */ + Illuminate\Auth\AuthServiceProvider::class, + Illuminate\Broadcasting\BroadcastServiceProvider::class, + Illuminate\Bus\BusServiceProvider::class, + Illuminate\Cache\CacheServiceProvider::class, + Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class, + Illuminate\Cookie\CookieServiceProvider::class, + Illuminate\Database\DatabaseServiceProvider::class, + Illuminate\Encryption\EncryptionServiceProvider::class, + Illuminate\Filesystem\FilesystemServiceProvider::class, + Illuminate\Foundation\Providers\FoundationServiceProvider::class, + Illuminate\Hashing\HashServiceProvider::class, + Illuminate\Mail\MailServiceProvider::class, + Illuminate\Pagination\PaginationServiceProvider::class, + Illuminate\Pipeline\PipelineServiceProvider::class, + Illuminate\Queue\QueueServiceProvider::class, + Illuminate\Redis\RedisServiceProvider::class, + Illuminate\Auth\Passwords\PasswordResetServiceProvider::class, + Illuminate\Session\SessionServiceProvider::class, + Illuminate\Translation\TranslationServiceProvider::class, + Illuminate\Validation\ValidationServiceProvider::class, + Illuminate\View\ViewServiceProvider::class, + + /* + * Application Service Providers... + */ + App\Providers\AppServiceProvider::class, + App\Providers\AuthServiceProvider::class, + App\Providers\EventServiceProvider::class, + App\Providers\FormFieldServiceProvider::class, + App\Providers\OptionServiceProvider::class, + App\Providers\RouteServiceProvider::class, + + Barryvdh\Debugbar\ServiceProvider::class, + Collective\Html\HtmlServiceProvider::class, + Laracasts\Flash\FlashServiceProvider::class, + BackupManager\Laravel\Laravel5ServiceProvider::class, + + ], + + /* + |-------------------------------------------------------------------------- + | Class Aliases + |-------------------------------------------------------------------------- + | + | This array of class aliases will be registered when this application + | is started. However, feel free to register as many as you wish as + | the aliases are "lazy" loaded so they don't hinder performance. + | + */ + + 'aliases' => [ + + 'App' => Illuminate\Support\Facades\App::class, + 'Artisan' => Illuminate\Support\Facades\Artisan::class, + 'Auth' => Illuminate\Support\Facades\Auth::class, + 'Blade' => Illuminate\Support\Facades\Blade::class, + 'Cache' => Illuminate\Support\Facades\Cache::class, + 'Config' => Illuminate\Support\Facades\Config::class, + 'Cookie' => Illuminate\Support\Facades\Cookie::class, + 'Crypt' => Illuminate\Support\Facades\Crypt::class, + 'DB' => Illuminate\Support\Facades\DB::class, + 'Eloquent' => Illuminate\Database\Eloquent\Model::class, + 'Event' => Illuminate\Support\Facades\Event::class, + 'File' => Illuminate\Support\Facades\File::class, + 'Gate' => Illuminate\Support\Facades\Gate::class, + 'Hash' => Illuminate\Support\Facades\Hash::class, + 'Lang' => Illuminate\Support\Facades\Lang::class, + 'Log' => Illuminate\Support\Facades\Log::class, + 'Mail' => Illuminate\Support\Facades\Mail::class, + 'Password' => Illuminate\Support\Facades\Password::class, + 'Queue' => Illuminate\Support\Facades\Queue::class, + 'Redirect' => Illuminate\Support\Facades\Redirect::class, + 'Redis' => Illuminate\Support\Facades\Redis::class, + 'Request' => Illuminate\Support\Facades\Request::class, + 'Response' => Illuminate\Support\Facades\Response::class, + 'Route' => Illuminate\Support\Facades\Route::class, + 'Schema' => Illuminate\Support\Facades\Schema::class, + 'Session' => Illuminate\Support\Facades\Session::class, + 'Storage' => Illuminate\Support\Facades\Storage::class, + 'URL' => Illuminate\Support\Facades\URL::class, + 'Validator' => Illuminate\Support\Facades\Validator::class, + 'View' => Illuminate\Support\Facades\View::class, + + 'Carbon' => Carbon\Carbon::class, + 'Debugbar' => Barryvdh\Debugbar\Facade::class, + 'Form' => Collective\Html\FormFacade::class, + 'FormField' => App\Services\Facades\FormField::class, + 'Html' => Collective\Html\HtmlFacade::class, + 'Flash' => Laracasts\Flash\Flash::class, + 'Option' => App\Services\Facades\Option::class, + + ], + +]; diff --git a/config/auth.php b/config/auth.php new file mode 100644 index 0000000..fe666c8 --- /dev/null +++ b/config/auth.php @@ -0,0 +1,107 @@ + [ + 'guard' => 'web', + 'passwords' => 'users', + ], + + /* + |-------------------------------------------------------------------------- + | Authentication Guards + |-------------------------------------------------------------------------- + | + | Next, you may define every authentication guard for your application. + | Of course, a great default configuration has been defined for you + | here which uses session storage and the Eloquent user provider. + | + | All authentication drivers have a user provider. This defines how the + | users are actually retrieved out of your database or other storage + | mechanisms used by this application to persist your user's data. + | + | Supported: "session", "token" + | + */ + + 'guards' => [ + 'web' => [ + 'driver' => 'session', + 'provider' => 'users', + ], + + 'api' => [ + 'driver' => 'token', + 'provider' => 'users', + ], + ], + + /* + |-------------------------------------------------------------------------- + | User Providers + |-------------------------------------------------------------------------- + | + | All authentication drivers have a user provider. This defines how the + | users are actually retrieved out of your database or other storage + | mechanisms used by this application to persist your user's data. + | + | If you have multiple user tables or models you may configure multiple + | sources which represent each model / table. These sources may then + | be assigned to any extra authentication guards you have defined. + | + | Supported: "database", "eloquent" + | + */ + + 'providers' => [ + 'users' => [ + 'driver' => 'eloquent', + 'model' => App\Entities\Users\User::class, + ], + + // 'users' => [ + // 'driver' => 'database', + // 'table' => 'users', + // ], + ], + + /* + |-------------------------------------------------------------------------- + | Resetting Passwords + |-------------------------------------------------------------------------- + | + | Here you may set the options for resetting passwords including the view + | that is your password reset e-mail. You may also set the name of the + | table that maintains all of the reset tokens for your application. + | + | You may specify multiple password reset configurations if you have more + | than one user table or model in the application and you want to have + | separate password reset settings based on the specific user types. + | + | The expire time is the number of minutes that the reset token should be + | considered valid. This security feature keeps tokens short-lived so + | they have less time to be guessed. You may change this as needed. + | + */ + + 'passwords' => [ + 'users' => [ + 'provider' => 'users', + 'email' => 'auth.emails.password', + 'table' => 'password_resets', + 'expire' => 60, + ], + ], + +]; diff --git a/config/broadcasting.php b/config/broadcasting.php new file mode 100644 index 0000000..abaaac3 --- /dev/null +++ b/config/broadcasting.php @@ -0,0 +1,52 @@ + env('BROADCAST_DRIVER', 'pusher'), + + /* + |-------------------------------------------------------------------------- + | Broadcast Connections + |-------------------------------------------------------------------------- + | + | Here you may define all of the broadcast connections that will be used + | to broadcast events to other systems or over websockets. Samples of + | each available type of connection are provided inside this array. + | + */ + + 'connections' => [ + + 'pusher' => [ + 'driver' => 'pusher', + 'key' => env('PUSHER_KEY'), + 'secret' => env('PUSHER_SECRET'), + 'app_id' => env('PUSHER_APP_ID'), + 'options' => [ + // + ], + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => 'default', + ], + + 'log' => [ + 'driver' => 'log', + ], + + ], + +]; diff --git a/config/cache.php b/config/cache.php new file mode 100644 index 0000000..b00a998 --- /dev/null +++ b/config/cache.php @@ -0,0 +1,81 @@ + env('CACHE_DRIVER', 'file'), + + /* + |-------------------------------------------------------------------------- + | Cache Stores + |-------------------------------------------------------------------------- + | + | Here you may define all of the cache "stores" for your application as + | well as their drivers. You may even define multiple stores for the + | same cache driver to group types of items stored in your caches. + | + */ + + 'stores' => [ + + 'apc' => [ + 'driver' => 'apc', + ], + + 'array' => [ + 'driver' => 'array', + ], + + 'database' => [ + 'driver' => 'database', + 'table' => 'cache', + 'connection' => null, + ], + + 'file' => [ + 'driver' => 'file', + 'path' => storage_path('framework/cache'), + ], + + 'memcached' => [ + 'driver' => 'memcached', + 'servers' => [ + [ + 'host' => env('MEMCACHED_HOST', '127.0.0.1'), + 'port' => env('MEMCACHED_PORT', 11211), + 'weight' => 100, + ], + ], + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => 'default', + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Cache Key Prefix + |-------------------------------------------------------------------------- + | + | When utilizing a RAM based store such as APC or Memcached, there might + | be other applications utilizing the same cache. So, we'll specify a + | value to get prefixed to all our keys so we can avoid collisions. + | + */ + + 'prefix' => 'laravel', + +]; diff --git a/config/compile.php b/config/compile.php new file mode 100644 index 0000000..04807ea --- /dev/null +++ b/config/compile.php @@ -0,0 +1,35 @@ + [ + // + ], + + /* + |-------------------------------------------------------------------------- + | Compiled File Providers + |-------------------------------------------------------------------------- + | + | Here you may list service providers which define a "compiles" function + | that returns additional files that should be compiled, providing an + | easy way to get common files from any packages you are utilizing. + | + */ + + 'providers' => [ + // + ], + +]; diff --git a/config/database.php b/config/database.php new file mode 100644 index 0000000..edd6425 --- /dev/null +++ b/config/database.php @@ -0,0 +1,128 @@ + PDO::FETCH_CLASS, + + /* + |-------------------------------------------------------------------------- + | Default Database Connection Name + |-------------------------------------------------------------------------- + | + | Here you may specify which of the database connections below you wish + | to use as your default connection for all database work. Of course + | you may use many connections at once using the Database library. + | + */ + + 'default' => env('DB_CONNECTION', 'mysql'), + + /* + |-------------------------------------------------------------------------- + | Database Connections + |-------------------------------------------------------------------------- + | + | Here are each of the database connections setup for your application. + | Of course, examples of configuring each database platform that is + | supported by Laravel is shown below to make development simple. + | + | + | All database work in Laravel is done through the PHP PDO facilities + | so make sure you have the driver for your particular database of + | choice installed on your machine before you begin development. + | + */ + + 'connections' => [ + + 'sqlite' => [ + 'driver' => 'sqlite', + 'database' => database_path('database.sqlite'), + 'prefix' => '', + ], + + 'mysql' => [ + 'driver' => 'mysql', + 'host' => env('DB_HOST', 'localhost'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => 'utf8', + 'collation' => 'utf8_unicode_ci', + 'prefix' => '', + 'strict' => false, + 'engine' => null, + ], + + 'pgsql' => [ + 'driver' => 'pgsql', + 'host' => env('DB_HOST', 'localhost'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => 'utf8', + 'prefix' => '', + 'schema' => 'public', + ], + + 'sqlsrv' => [ + 'driver' => 'sqlsrv', + 'host' => env('DB_HOST', 'localhost'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => 'utf8', + 'prefix' => '', + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Migration Repository Table + |-------------------------------------------------------------------------- + | + | This table keeps track of all the migrations that have already run for + | your application. Using this information, we can determine which of + | the migrations on disk haven't actually been run in the database. + | + */ + + 'migrations' => 'migrations', + + /* + |-------------------------------------------------------------------------- + | Redis Databases + |-------------------------------------------------------------------------- + | + | Redis is an open source, fast, and advanced key-value store that also + | provides a richer set of commands than a typical key-value systems + | such as APC or Memcached. Laravel makes it easy to dig right in. + | + */ + + 'redis' => [ + + 'cluster' => false, + + 'default' => [ + 'host' => env('REDIS_HOST', 'localhost'), + 'password' => env('REDIS_PASSWORD', null), + 'port' => env('REDIS_PORT', 6379), + 'database' => 0, + ], + + ], + +]; diff --git a/config/filesystems.php b/config/filesystems.php new file mode 100644 index 0000000..75b5002 --- /dev/null +++ b/config/filesystems.php @@ -0,0 +1,67 @@ + 'local', + + /* + |-------------------------------------------------------------------------- + | Default Cloud Filesystem Disk + |-------------------------------------------------------------------------- + | + | Many applications store files both locally and in the cloud. For this + | reason, you may specify a default "cloud" driver here. This driver + | will be bound as the Cloud disk implementation in the container. + | + */ + + 'cloud' => 's3', + + /* + |-------------------------------------------------------------------------- + | Filesystem Disks + |-------------------------------------------------------------------------- + | + | Here you may configure as many filesystem "disks" as you wish, and you + | may even configure multiple disks of the same driver. Defaults have + | been setup for each driver as an example of the required options. + | + */ + + 'disks' => [ + + 'local' => [ + 'driver' => 'local', + 'root' => storage_path('app'), + ], + + 'public' => [ + 'driver' => 'local', + 'root' => storage_path('app/public'), + 'visibility' => 'public', + ], + + 's3' => [ + 'driver' => 's3', + 'key' => 'your-key', + 'secret' => 'your-secret', + 'region' => 'your-region', + 'bucket' => 'your-bucket', + ], + + ], + +]; diff --git a/config/mail.php b/config/mail.php new file mode 100644 index 0000000..227528c --- /dev/null +++ b/config/mail.php @@ -0,0 +1,111 @@ + env('MAIL_DRIVER', 'smtp'), + + /* + |-------------------------------------------------------------------------- + | SMTP Host Address + |-------------------------------------------------------------------------- + | + | Here you may provide the host address of the SMTP server used by your + | applications. A default option is provided that is compatible with + | the Mailgun mail service which will provide reliable deliveries. + | + */ + + 'host' => env('MAIL_HOST', 'smtp.mailgun.org'), + + /* + |-------------------------------------------------------------------------- + | SMTP Host Port + |-------------------------------------------------------------------------- + | + | This is the SMTP port used by your application to deliver e-mails to + | users of the application. Like the host we have set this value to + | stay compatible with the Mailgun e-mail application by default. + | + */ + + 'port' => env('MAIL_PORT', 587), + + /* + |-------------------------------------------------------------------------- + | Global "From" Address + |-------------------------------------------------------------------------- + | + | You may wish for all e-mails sent by your application to be sent from + | the same address. Here, you may specify a name and address that is + | used globally for all e-mails that are sent by your application. + | + */ + + 'from' => ['address' => env('MAIL_FROM', 'mail@app.dev'), 'name' => env('MAIL_NAME', 'Laravel')], + + /* + |-------------------------------------------------------------------------- + | E-Mail Encryption Protocol + |-------------------------------------------------------------------------- + | + | Here you may specify the encryption protocol that should be used when + | the application send e-mail messages. A sensible default using the + | transport layer security protocol should provide great security. + | + */ + + 'encryption' => env('MAIL_ENCRYPTION', 'tls'), + + /* + |-------------------------------------------------------------------------- + | SMTP Server Username + |-------------------------------------------------------------------------- + | + | If your SMTP server requires a username for authentication, you should + | set it here. This will get used to authenticate with your server on + | connection. You may also set the "password" value below this one. + | + */ + + 'username' => env('MAIL_USERNAME'), + + /* + |-------------------------------------------------------------------------- + | SMTP Server Password + |-------------------------------------------------------------------------- + | + | Here you may set the password required by your SMTP server to send out + | messages from your application. This will be given to the server on + | connection so that the application will be able to send messages. + | + */ + + 'password' => env('MAIL_PASSWORD'), + + /* + |-------------------------------------------------------------------------- + | Sendmail System Path + |-------------------------------------------------------------------------- + | + | When using the "sendmail" driver to send e-mails, we will need to know + | the path to where Sendmail lives on this server. A default path has + | been provided here, which will work well on most of your systems. + | + */ + + 'sendmail' => '/usr/sbin/sendmail -bs', + +]; diff --git a/config/queue.php b/config/queue.php new file mode 100644 index 0000000..6c2b7d2 --- /dev/null +++ b/config/queue.php @@ -0,0 +1,86 @@ + env('QUEUE_DRIVER', 'sync'), + + /* + |-------------------------------------------------------------------------- + | Queue Connections + |-------------------------------------------------------------------------- + | + | Here you may configure the connection information for each server that + | is used by your application. A default configuration has been added + | for each back-end shipped with Laravel. You are free to add more. + | + */ + + 'connections' => [ + + 'sync' => [ + 'driver' => 'sync', + ], + + 'database' => [ + 'driver' => 'database', + 'table' => 'jobs', + 'queue' => 'default', + 'expire' => 60, + ], + + 'beanstalkd' => [ + 'driver' => 'beanstalkd', + 'host' => 'localhost', + 'queue' => 'default', + 'ttr' => 60, + ], + + 'sqs' => [ + 'driver' => 'sqs', + 'key' => 'your-public-key', + 'secret' => 'your-secret-key', + 'prefix' => 'https://sqs.us-east-1.amazonaws.com/your-account-id', + 'queue' => 'your-queue-name', + 'region' => 'us-east-1', + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => 'default', + 'queue' => 'default', + 'expire' => 60, + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Failed Queue Jobs + |-------------------------------------------------------------------------- + | + | These options configure the behavior of failed queue job logging so you + | can control which database and table are used to store the jobs that + | have failed. You may change them to any database / table you wish. + | + */ + + 'failed' => [ + 'database' => env('DB_CONNECTION', 'mysql'), + 'table' => 'failed_jobs', + ], + +]; diff --git a/config/services.php b/config/services.php new file mode 100644 index 0000000..93eec86 --- /dev/null +++ b/config/services.php @@ -0,0 +1,38 @@ + [ + 'domain' => env('MAILGUN_DOMAIN'), + 'secret' => env('MAILGUN_SECRET'), + ], + + 'mandrill' => [ + 'secret' => env('MANDRILL_SECRET'), + ], + + 'ses' => [ + 'key' => env('SES_KEY'), + 'secret' => env('SES_SECRET'), + 'region' => 'us-east-1', + ], + + 'stripe' => [ + 'model' => App\User::class, + 'key' => env('STRIPE_KEY'), + 'secret' => env('STRIPE_SECRET'), + ], + +]; diff --git a/config/session.php b/config/session.php new file mode 100644 index 0000000..f1b0042 --- /dev/null +++ b/config/session.php @@ -0,0 +1,153 @@ + env('SESSION_DRIVER', 'file'), + + /* + |-------------------------------------------------------------------------- + | Session Lifetime + |-------------------------------------------------------------------------- + | + | Here you may specify the number of minutes that you wish the session + | to be allowed to remain idle before it expires. If you want them + | to immediately expire on the browser closing, set that option. + | + */ + + 'lifetime' => 120, + + 'expire_on_close' => false, + + /* + |-------------------------------------------------------------------------- + | Session Encryption + |-------------------------------------------------------------------------- + | + | This option allows you to easily specify that all of your session data + | should be encrypted before it is stored. All encryption will be run + | automatically by Laravel and you can use the Session like normal. + | + */ + + 'encrypt' => false, + + /* + |-------------------------------------------------------------------------- + | Session File Location + |-------------------------------------------------------------------------- + | + | When using the native session driver, we need a location where session + | files may be stored. A default has been set for you but a different + | location may be specified. This is only needed for file sessions. + | + */ + + 'files' => storage_path('framework/sessions'), + + /* + |-------------------------------------------------------------------------- + | Session Database Connection + |-------------------------------------------------------------------------- + | + | When using the "database" or "redis" session drivers, you may specify a + | connection that should be used to manage these sessions. This should + | correspond to a connection in your database configuration options. + | + */ + + 'connection' => null, + + /* + |-------------------------------------------------------------------------- + | Session Database Table + |-------------------------------------------------------------------------- + | + | When using the "database" session driver, you may specify the table we + | should use to manage the sessions. Of course, a sensible default is + | provided for you; however, you are free to change this as needed. + | + */ + + 'table' => 'sessions', + + /* + |-------------------------------------------------------------------------- + | Session Sweeping Lottery + |-------------------------------------------------------------------------- + | + | Some session drivers must manually sweep their storage location to get + | rid of old sessions from storage. Here are the chances that it will + | happen on a given request. By default, the odds are 2 out of 100. + | + */ + + 'lottery' => [2, 100], + + /* + |-------------------------------------------------------------------------- + | Session Cookie Name + |-------------------------------------------------------------------------- + | + | Here you may change the name of the cookie used to identify a session + | instance by ID. The name specified here will get used every time a + | new session cookie is created by the framework for every driver. + | + */ + + 'cookie' => 'laravel_session', + + /* + |-------------------------------------------------------------------------- + | Session Cookie Path + |-------------------------------------------------------------------------- + | + | The session cookie path determines the path for which the cookie will + | be regarded as available. Typically, this will be the root path of + | your application but you are free to change this when necessary. + | + */ + + 'path' => '/', + + /* + |-------------------------------------------------------------------------- + | Session Cookie Domain + |-------------------------------------------------------------------------- + | + | Here you may change the domain of the cookie used to identify a session + | in your application. This will determine which domains the cookie is + | available to in your application. A sensible default has been set. + | + */ + + 'domain' => null, + + /* + |-------------------------------------------------------------------------- + | HTTPS Only Cookies + |-------------------------------------------------------------------------- + | + | By setting this option to true, session cookies will only be sent back + | to the server if the browser has a HTTPS connection. This will keep + | the cookie from being sent to you if it can not be done securely. + | + */ + + 'secure' => false, + +]; diff --git a/config/view.php b/config/view.php new file mode 100644 index 0000000..e193ab6 --- /dev/null +++ b/config/view.php @@ -0,0 +1,33 @@ + [ + realpath(base_path('resources/views')), + ], + + /* + |-------------------------------------------------------------------------- + | Compiled View Path + |-------------------------------------------------------------------------- + | + | This option determines where all the compiled Blade templates will be + | stored for your application. Typically, this is within the storage + | directory. However, as usual, you are free to change this value. + | + */ + + 'compiled' => realpath(storage_path('framework/views')), + +]; diff --git a/database/.gitignore b/database/.gitignore new file mode 100644 index 0000000..9b1dffd --- /dev/null +++ b/database/.gitignore @@ -0,0 +1 @@ +*.sqlite diff --git a/database/factories/ModelFactory.php b/database/factories/ModelFactory.php new file mode 100644 index 0000000..b87ea0d --- /dev/null +++ b/database/factories/ModelFactory.php @@ -0,0 +1,45 @@ +define(User::class, function (Faker\Generator $faker) { + return [ + 'name' => $faker->name, + 'username' => $faker->username, + 'email' => $faker->email, + 'password' => 'member', + 'remember_token' => str_random(10), + ]; +}); + +$factory->define(Project::class, function (Faker\Generator $faker) { + $proposalDate = $faker->dateTimeBetween('-1 year', '-1 month')->format('Y-m-d'); + $startDate = Carbon::parse($proposalDate)->addDays(10); + $endDate = $startDate->addDays(rand(1,13) * 7); + $customer = factory(User::class)->create(); + $customer->assignRole('customer'); + + return [ + 'name' => $faker->sentence, + 'description' => $faker->paragraph, + 'proposal_date' => $proposalDate, + 'start_date' => $startDate->format('Y-m-d'), + 'end_date' => $endDate->format('Y-m-d'), + 'project_value' => $projectValue = rand(1,10) * 500000, + 'proposal_value' => $projectValue, + 'status_id' => rand(1,6), + 'customer_id' => $customer->id + ]; +}); diff --git a/database/migrations/.gitkeep b/database/migrations/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/database/migrations/2014_10_12_000000_create_users_table.php b/database/migrations/2014_10_12_000000_create_users_table.php new file mode 100644 index 0000000..72c82b4 --- /dev/null +++ b/database/migrations/2014_10_12_000000_create_users_table.php @@ -0,0 +1,36 @@ +increments('id'); + $table->string('name'); + $table->string('username', 60)->unique(); + $table->string('email')->unique(); + $table->string('password', 60); + $table->rememberToken(); + $table->softDeletes(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('users'); + } +} diff --git a/database/migrations/2014_10_12_100000_create_password_resets_table.php b/database/migrations/2014_10_12_100000_create_password_resets_table.php new file mode 100644 index 0000000..00057f9 --- /dev/null +++ b/database/migrations/2014_10_12_100000_create_password_resets_table.php @@ -0,0 +1,31 @@ +string('email')->index(); + $table->string('token')->index(); + $table->timestamp('created_at'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('password_resets'); + } +} diff --git a/database/migrations/2015_07_14_131409_create_site_options_table.php b/database/migrations/2015_07_14_131409_create_site_options_table.php new file mode 100644 index 0000000..34b4837 --- /dev/null +++ b/database/migrations/2015_07_14_131409_create_site_options_table.php @@ -0,0 +1,31 @@ +increments('id'); + $table->string('key', 60)->index(); + $table->string('value'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('site_options'); + } +} diff --git a/database/migrations/2015_08_12_205415_create_roles_permissions_table.php b/database/migrations/2015_08_12_205415_create_roles_permissions_table.php new file mode 100644 index 0000000..bf9dd09 --- /dev/null +++ b/database/migrations/2015_08_12_205415_create_roles_permissions_table.php @@ -0,0 +1,32 @@ +increments('id'); + $table->tinyInteger('type')->unsigned()->index()->default(1); + $table->string('name', 60); + $table->string('label', 60); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('roles_permissions'); + } +} diff --git a/database/migrations/2016_03_04_020423_create_user_role_permission_table.php b/database/migrations/2016_03_04_020423_create_user_role_permission_table.php new file mode 100644 index 0000000..b53f671 --- /dev/null +++ b/database/migrations/2016_03_04_020423_create_user_role_permission_table.php @@ -0,0 +1,30 @@ +unsignedInteger('role_id'); + $table->unsignedInteger('permission_id'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('user_role_permission'); + } +} diff --git a/database/migrations/2016_03_04_030804_create_site_references_table.php b/database/migrations/2016_03_04_030804_create_site_references_table.php new file mode 100644 index 0000000..425e020 --- /dev/null +++ b/database/migrations/2016_03_04_030804_create_site_references_table.php @@ -0,0 +1,32 @@ +increments('id'); + $table->string('cat', 20); + $table->char('code', 1); + $table->string('name', 60); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('site_references'); + } +} diff --git a/database/migrations/2016_03_05_083739_create_role_user_table.php b/database/migrations/2016_03_05_083739_create_role_user_table.php new file mode 100644 index 0000000..1ed2892 --- /dev/null +++ b/database/migrations/2016_03_05_083739_create_role_user_table.php @@ -0,0 +1,30 @@ +unsignedInteger('user_id')->index(); + $table->unsignedInteger('role_id')->index(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('role_user'); + } +} diff --git a/database/seeds/.gitkeep b/database/seeds/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/database/seeds/DatabaseSeeder.php b/database/seeds/DatabaseSeeder.php new file mode 100644 index 0000000..a1be1ed --- /dev/null +++ b/database/seeds/DatabaseSeeder.php @@ -0,0 +1,22 @@ +call(UserRolesPermissionsTableSeeder::class); + $this->call(UsersTableSeeder::class); + $this->call(UsersRoleTableSeeder::class); + $this->call(RolesPermissionTableSeeder::class); + Model::reguard(); + } +} diff --git a/database/seeds/RolesPermissionTableSeeder.php b/database/seeds/RolesPermissionTableSeeder.php new file mode 100644 index 0000000..37c8837 --- /dev/null +++ b/database/seeds/RolesPermissionTableSeeder.php @@ -0,0 +1,24 @@ +tableToSeed)->truncate(); + DB::table($this->tableToSeed)->insert([ + ['role_id' => 1, 'permission_id' => 3], + ['role_id' => 1, 'permission_id' => 4], + ['role_id' => 1, 'permission_id' => 5], + ['role_id' => 1, 'permission_id' => 6], + ]); + } +} diff --git a/database/seeds/UserRolesPermissionsTableSeeder.php b/database/seeds/UserRolesPermissionsTableSeeder.php new file mode 100644 index 0000000..5533c00 --- /dev/null +++ b/database/seeds/UserRolesPermissionsTableSeeder.php @@ -0,0 +1,26 @@ +tableToSeed)->truncate(); + DB::table($this->tableToSeed)->insert([ + ['type' => 0, 'name' => 'admin', 'label' => 'Admin'], + ['type' => 0, 'name' => 'member', 'label' => 'Member'], + ['type' => 1, 'name' => 'manage_users', 'label' => 'Manage Users'], + ['type' => 1, 'name' => 'manage_role_permissions', 'label' => 'Manage Users Role\'s Permission'], + ['type' => 1, 'name' => 'manage_backups', 'label' => 'Manage Database Backups'], + ['type' => 1, 'name' => 'manage_options', 'label' => 'Manage Site Options'], + ]); + } +} diff --git a/database/seeds/UsersRoleTableSeeder.php b/database/seeds/UsersRoleTableSeeder.php new file mode 100644 index 0000000..efdbf1e --- /dev/null +++ b/database/seeds/UsersRoleTableSeeder.php @@ -0,0 +1,22 @@ +tableToSeed)->truncate(); + DB::table($this->tableToSeed)->insert([ + ['user_id' => 1, 'role_id' => 1], + ['user_id' => 2, 'role_id' => 2], + ]); + } +} diff --git a/database/seeds/UsersTableSeeder.php b/database/seeds/UsersTableSeeder.php new file mode 100644 index 0000000..154468a --- /dev/null +++ b/database/seeds/UsersTableSeeder.php @@ -0,0 +1,38 @@ +tableToSeed)->truncate(); + DB::table($this->tableToSeed)->insert([ + [ + 'name' => 'Administrator', + 'username' => 'admin', + 'email' => 'admin@app.dev', + 'password' => bcrypt('admin'), + 'remember_token' => str_random(10), + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s'), + ], + [ + 'name' => 'Regular Member', + 'username' => 'member', + 'email' => 'member@app.dev', + 'password' => bcrypt('member'), + 'remember_token' => str_random(10), + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s'), + ] + ]); + } +} diff --git a/gulpfile.js b/gulpfile.js new file mode 100644 index 0000000..af92a89 --- /dev/null +++ b/gulpfile.js @@ -0,0 +1,16 @@ +var elixir = require('laravel-elixir'); + +/* + |-------------------------------------------------------------------------- + | Elixir Asset Management + |-------------------------------------------------------------------------- + | + | Elixir provides a clean, fluent API for defining some basic Gulp tasks + | for your Laravel application. By default, we are compiling the Sass + | file for our application, as well as publishing vendor resources. + | + */ + +elixir(function(mix) { + mix.sass('app.scss','public/assets/css'); +}); diff --git a/package.json b/package.json new file mode 100644 index 0000000..460ee90 --- /dev/null +++ b/package.json @@ -0,0 +1,10 @@ +{ + "private": true, + "devDependencies": { + "gulp": "^3.8.8" + }, + "dependencies": { + "laravel-elixir": "^4.0.0", + "bootstrap-sass": "^3.0.0" + } +} diff --git a/phpunit.xml b/phpunit.xml new file mode 100644 index 0000000..40ebfa5 --- /dev/null +++ b/phpunit.xml @@ -0,0 +1,28 @@ + + + + + ./tests/ + + + + + app/ + + + + + + + + + + diff --git a/public/.htaccess b/public/.htaccess new file mode 100644 index 0000000..903f639 --- /dev/null +++ b/public/.htaccess @@ -0,0 +1,20 @@ + + + Options -MultiViews + + + RewriteEngine On + + # Redirect Trailing Slashes If Not A Folder... + RewriteCond %{REQUEST_FILENAME} !-d + RewriteRule ^(.*)/$ /$1 [L,R=301] + + # Handle Front Controller... + RewriteCond %{REQUEST_FILENAME} !-d + RewriteCond %{REQUEST_FILENAME} !-f + RewriteRule ^ index.php [L] + + # Handle Authorization Header + RewriteCond %{HTTP:Authorization} . + RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] + diff --git a/public/assets/.gitignore b/public/assets/.gitignore new file mode 100644 index 0000000..a837ba8 --- /dev/null +++ b/public/assets/.gitignore @@ -0,0 +1 @@ +/fonts \ No newline at end of file diff --git a/public/assets/css/.gitignore b/public/assets/css/.gitignore new file mode 100644 index 0000000..bcbf044 --- /dev/null +++ b/public/assets/css/.gitignore @@ -0,0 +1 @@ +/plugins \ No newline at end of file diff --git a/public/assets/css/app.css b/public/assets/css/app.css new file mode 100644 index 0000000..fc4d5d4 --- /dev/null +++ b/public/assets/css/app.css @@ -0,0 +1,6767 @@ +@charset "UTF-8"; +/*! + * Bootstrap v3.3.6 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ +html { + font-family: sans-serif; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; } + +body { + margin: 0; } + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; } + +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; } + +audio:not([controls]) { + display: none; + height: 0; } + +[hidden], +template { + display: none; } + +a { + background-color: transparent; } + +a:active, +a:hover { + outline: 0; } + +abbr[title] { + border-bottom: 1px dotted; } + +b, +strong { + font-weight: bold; } + +dfn { + font-style: italic; } + +h1 { + font-size: 2em; + margin: 0.67em 0; } + +mark { + background: #ff0; + color: #000; } + +small { + font-size: 80%; } + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; } + +sup { + top: -0.5em; } + +sub { + bottom: -0.25em; } + +img { + border: 0; } + +svg:not(:root) { + overflow: hidden; } + +figure { + margin: 1em 40px; } + +hr { + box-sizing: content-box; + height: 0; } + +pre { + overflow: auto; } + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; } + +button, +input, +optgroup, +select, +textarea { + color: inherit; + font: inherit; + margin: 0; } + +button { + overflow: visible; } + +button, +select { + text-transform: none; } + +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; } + +button[disabled], +html input[disabled] { + cursor: default; } + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; } + +input { + line-height: normal; } + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + padding: 0; } + +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; } + +input[type="search"] { + -webkit-appearance: textfield; + box-sizing: content-box; } + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; } + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; } + +legend { + border: 0; + padding: 0; } + +textarea { + overflow: auto; } + +optgroup { + font-weight: bold; } + +table { + border-collapse: collapse; + border-spacing: 0; } + +td, +th { + padding: 0; } + +/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ +@media print { + *, + *:before, + *:after { + background: transparent !important; + color: #000 !important; + box-shadow: none !important; + text-shadow: none !important; } + a, + a:visited { + text-decoration: underline; } + a[href]:after { + content: " (" attr(href) ")"; } + abbr[title]:after { + content: " (" attr(title) ")"; } + a[href^="#"]:after, + a[href^="javascript:"]:after { + content: ""; } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; } + thead { + display: table-header-group; } + tr, + img { + page-break-inside: avoid; } + img { + max-width: 100% !important; } + p, + h2, + h3 { + orphans: 3; + widows: 3; } + h2, + h3 { + page-break-after: avoid; } + .navbar { + display: none; } + .btn > .caret, + .dropup > .btn > .caret { + border-top-color: #000 !important; } + .label { + border: 1px solid #000; } + .table { + border-collapse: collapse !important; } + .table td, + .table th { + background-color: #fff !important; } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; } } + +* { + box-sizing: border-box; } + +*:before, +*:after { + box-sizing: border-box; } + +html { + font-size: 10px; + -webkit-tap-highlight-color: transparent; } + +body { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 1.428571429; + color: #333333; + background-color: #fff; } + +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; } + +a { + color: #337ab7; + text-decoration: none; } + a:hover, a:focus { + color: #23527c; + text-decoration: underline; } + a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; } + +figure { + margin: 0; } + +img { + vertical-align: middle; } + +.img-responsive { + display: block; + max-width: 100%; + height: auto; } + +.img-rounded { + border-radius: 6px; } + +.img-thumbnail { + padding: 4px; + line-height: 1.428571429; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 4px; + transition: all 0.2s ease-in-out; + display: inline-block; + max-width: 100%; + height: auto; } + +.img-circle { + border-radius: 50%; } + +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + border-top: 1px solid #eeeeee; } + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; } + +.sr-only-focusable:active, .sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; } + +[role="button"] { + cursor: pointer; } + +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6 { + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit; } + h1 small, + h1 .small, h2 small, + h2 .small, h3 small, + h3 .small, h4 small, + h4 .small, h5 small, + h5 .small, h6 small, + h6 .small, + .h1 small, + .h1 .small, .h2 small, + .h2 .small, .h3 small, + .h3 .small, .h4 small, + .h4 .small, .h5 small, + .h5 .small, .h6 small, + .h6 .small { + font-weight: normal; + line-height: 1; + color: #777777; } + +h1, .h1, +h2, .h2, +h3, .h3 { + margin-top: 20px; + margin-bottom: 10px; } + h1 small, + h1 .small, .h1 small, + .h1 .small, + h2 small, + h2 .small, .h2 small, + .h2 .small, + h3 small, + h3 .small, .h3 small, + .h3 .small { + font-size: 65%; } + +h4, .h4, +h5, .h5, +h6, .h6 { + margin-top: 10px; + margin-bottom: 10px; } + h4 small, + h4 .small, .h4 small, + .h4 .small, + h5 small, + h5 .small, .h5 small, + .h5 .small, + h6 small, + h6 .small, .h6 small, + .h6 .small { + font-size: 75%; } + +h1, .h1 { + font-size: 36px; } + +h2, .h2 { + font-size: 30px; } + +h3, .h3 { + font-size: 24px; } + +h4, .h4 { + font-size: 18px; } + +h5, .h5 { + font-size: 14px; } + +h6, .h6 { + font-size: 12px; } + +p { + margin: 0 0 10px; } + +.lead { + margin-bottom: 20px; + font-size: 16px; + font-weight: 300; + line-height: 1.4; } + @media (min-width: 768px) { + .lead { + font-size: 21px; } } + +small, +.small { + font-size: 85%; } + +mark, +.mark { + background-color: #fcf8e3; + padding: .2em; } + +.text-left { + text-align: left; } + +.text-right { + text-align: right; } + +.text-center { + text-align: center; } + +.text-justify { + text-align: justify; } + +.text-nowrap { + white-space: nowrap; } + +.text-lowercase { + text-transform: lowercase; } + +.text-uppercase, .initialism { + text-transform: uppercase; } + +.text-capitalize { + text-transform: capitalize; } + +.text-muted { + color: #777777; } + +.text-primary { + color: #337ab7; } + +a.text-primary:hover, +a.text-primary:focus { + color: #286090; } + +.text-success { + color: #3c763d; } + +a.text-success:hover, +a.text-success:focus { + color: #2b542c; } + +.text-info { + color: #31708f; } + +a.text-info:hover, +a.text-info:focus { + color: #245269; } + +.text-warning { + color: #8a6d3b; } + +a.text-warning:hover, +a.text-warning:focus { + color: #66512c; } + +.text-danger { + color: #a94442; } + +a.text-danger:hover, +a.text-danger:focus { + color: #843534; } + +.bg-primary { + color: #fff; } + +.bg-primary { + background-color: #337ab7; } + +a.bg-primary:hover, +a.bg-primary:focus { + background-color: #286090; } + +.bg-success { + background-color: #dff0d8; } + +a.bg-success:hover, +a.bg-success:focus { + background-color: #c1e2b3; } + +.bg-info { + background-color: #d9edf7; } + +a.bg-info:hover, +a.bg-info:focus { + background-color: #afd9ee; } + +.bg-warning { + background-color: #fcf8e3; } + +a.bg-warning:hover, +a.bg-warning:focus { + background-color: #f7ecb5; } + +.bg-danger { + background-color: #f2dede; } + +a.bg-danger:hover, +a.bg-danger:focus { + background-color: #e4b9b9; } + +.page-header { + padding-bottom: 9px; + margin: 40px 0 20px; + border-bottom: 1px solid #eeeeee; } + +ul, +ol { + margin-top: 0; + margin-bottom: 10px; } + ul ul, + ul ol, + ol ul, + ol ol { + margin-bottom: 0; } + +.list-unstyled { + padding-left: 0; + list-style: none; } + +.list-inline { + padding-left: 0; + list-style: none; + margin-left: -5px; } + .list-inline > li { + display: inline-block; + padding-left: 5px; + padding-right: 5px; } + +dl { + margin-top: 0; + margin-bottom: 20px; } + +dt, +dd { + line-height: 1.428571429; } + +dt { + font-weight: bold; } + +dd { + margin-left: 0; } + +.dl-horizontal dd:before, .dl-horizontal dd:after { + content: " "; + display: table; } + +.dl-horizontal dd:after { + clear: both; } + +@media (min-width: 768px) { + .dl-horizontal dt { + float: left; + width: 160px; + clear: left; + text-align: right; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } + .dl-horizontal dd { + margin-left: 180px; } } + +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #777777; } + +.initialism { + font-size: 90%; } + +blockquote { + padding: 10px 20px; + margin: 0 0 20px; + font-size: 17.5px; + border-left: 5px solid #eeeeee; } + blockquote p:last-child, + blockquote ul:last-child, + blockquote ol:last-child { + margin-bottom: 0; } + blockquote footer, + blockquote small, + blockquote .small { + display: block; + font-size: 80%; + line-height: 1.428571429; + color: #777777; } + blockquote footer:before, + blockquote small:before, + blockquote .small:before { + content: '\2014 \00A0'; } + +.blockquote-reverse, +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + border-right: 5px solid #eeeeee; + border-left: 0; + text-align: right; } + .blockquote-reverse footer:before, + .blockquote-reverse small:before, + .blockquote-reverse .small:before, + blockquote.pull-right footer:before, + blockquote.pull-right small:before, + blockquote.pull-right .small:before { + content: ''; } + .blockquote-reverse footer:after, + .blockquote-reverse small:after, + .blockquote-reverse .small:after, + blockquote.pull-right footer:after, + blockquote.pull-right small:after, + blockquote.pull-right .small:after { + content: '\00A0 \2014'; } + +address { + margin-bottom: 20px; + font-style: normal; + line-height: 1.428571429; } + +code, +kbd, +pre, +samp { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; } + +code { + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + background-color: #f9f2f4; + border-radius: 4px; } + +kbd { + padding: 2px 4px; + font-size: 90%; + color: #fff; + background-color: #333; + border-radius: 3px; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); } + kbd kbd { + padding: 0; + font-size: 100%; + font-weight: bold; + box-shadow: none; } + +pre { + display: block; + padding: 9.5px; + margin: 0 0 10px; + font-size: 13px; + line-height: 1.428571429; + word-break: break-all; + word-wrap: break-word; + color: #333333; + background-color: #f5f5f5; + border: 1px solid #ccc; + border-radius: 4px; } + pre code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; } + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; } + +.container { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px; } + .container:before, .container:after { + content: " "; + display: table; } + .container:after { + clear: both; } + @media (min-width: 768px) { + .container { + width: 750px; } } + @media (min-width: 992px) { + .container { + width: 970px; } } + @media (min-width: 1200px) { + .container { + width: 1170px; } } + +.container-fluid { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px; } + .container-fluid:before, .container-fluid:after { + content: " "; + display: table; } + .container-fluid:after { + clear: both; } + +.row { + margin-left: -15px; + margin-right: -15px; } + .row:before, .row:after { + content: " "; + display: table; } + .row:after { + clear: both; } + +.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { + position: relative; + min-height: 1px; + padding-left: 15px; + padding-right: 15px; } + +.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { + float: left; } + +.col-xs-1 { + width: 8.3333333333%; } + +.col-xs-2 { + width: 16.6666666667%; } + +.col-xs-3 { + width: 25%; } + +.col-xs-4 { + width: 33.3333333333%; } + +.col-xs-5 { + width: 41.6666666667%; } + +.col-xs-6 { + width: 50%; } + +.col-xs-7 { + width: 58.3333333333%; } + +.col-xs-8 { + width: 66.6666666667%; } + +.col-xs-9 { + width: 75%; } + +.col-xs-10 { + width: 83.3333333333%; } + +.col-xs-11 { + width: 91.6666666667%; } + +.col-xs-12 { + width: 100%; } + +.col-xs-pull-0 { + right: auto; } + +.col-xs-pull-1 { + right: 8.3333333333%; } + +.col-xs-pull-2 { + right: 16.6666666667%; } + +.col-xs-pull-3 { + right: 25%; } + +.col-xs-pull-4 { + right: 33.3333333333%; } + +.col-xs-pull-5 { + right: 41.6666666667%; } + +.col-xs-pull-6 { + right: 50%; } + +.col-xs-pull-7 { + right: 58.3333333333%; } + +.col-xs-pull-8 { + right: 66.6666666667%; } + +.col-xs-pull-9 { + right: 75%; } + +.col-xs-pull-10 { + right: 83.3333333333%; } + +.col-xs-pull-11 { + right: 91.6666666667%; } + +.col-xs-pull-12 { + right: 100%; } + +.col-xs-push-0 { + left: auto; } + +.col-xs-push-1 { + left: 8.3333333333%; } + +.col-xs-push-2 { + left: 16.6666666667%; } + +.col-xs-push-3 { + left: 25%; } + +.col-xs-push-4 { + left: 33.3333333333%; } + +.col-xs-push-5 { + left: 41.6666666667%; } + +.col-xs-push-6 { + left: 50%; } + +.col-xs-push-7 { + left: 58.3333333333%; } + +.col-xs-push-8 { + left: 66.6666666667%; } + +.col-xs-push-9 { + left: 75%; } + +.col-xs-push-10 { + left: 83.3333333333%; } + +.col-xs-push-11 { + left: 91.6666666667%; } + +.col-xs-push-12 { + left: 100%; } + +.col-xs-offset-0 { + margin-left: 0%; } + +.col-xs-offset-1 { + margin-left: 8.3333333333%; } + +.col-xs-offset-2 { + margin-left: 16.6666666667%; } + +.col-xs-offset-3 { + margin-left: 25%; } + +.col-xs-offset-4 { + margin-left: 33.3333333333%; } + +.col-xs-offset-5 { + margin-left: 41.6666666667%; } + +.col-xs-offset-6 { + margin-left: 50%; } + +.col-xs-offset-7 { + margin-left: 58.3333333333%; } + +.col-xs-offset-8 { + margin-left: 66.6666666667%; } + +.col-xs-offset-9 { + margin-left: 75%; } + +.col-xs-offset-10 { + margin-left: 83.3333333333%; } + +.col-xs-offset-11 { + margin-left: 91.6666666667%; } + +.col-xs-offset-12 { + margin-left: 100%; } + +@media (min-width: 768px) { + .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { + float: left; } + .col-sm-1 { + width: 8.3333333333%; } + .col-sm-2 { + width: 16.6666666667%; } + .col-sm-3 { + width: 25%; } + .col-sm-4 { + width: 33.3333333333%; } + .col-sm-5 { + width: 41.6666666667%; } + .col-sm-6 { + width: 50%; } + .col-sm-7 { + width: 58.3333333333%; } + .col-sm-8 { + width: 66.6666666667%; } + .col-sm-9 { + width: 75%; } + .col-sm-10 { + width: 83.3333333333%; } + .col-sm-11 { + width: 91.6666666667%; } + .col-sm-12 { + width: 100%; } + .col-sm-pull-0 { + right: auto; } + .col-sm-pull-1 { + right: 8.3333333333%; } + .col-sm-pull-2 { + right: 16.6666666667%; } + .col-sm-pull-3 { + right: 25%; } + .col-sm-pull-4 { + right: 33.3333333333%; } + .col-sm-pull-5 { + right: 41.6666666667%; } + .col-sm-pull-6 { + right: 50%; } + .col-sm-pull-7 { + right: 58.3333333333%; } + .col-sm-pull-8 { + right: 66.6666666667%; } + .col-sm-pull-9 { + right: 75%; } + .col-sm-pull-10 { + right: 83.3333333333%; } + .col-sm-pull-11 { + right: 91.6666666667%; } + .col-sm-pull-12 { + right: 100%; } + .col-sm-push-0 { + left: auto; } + .col-sm-push-1 { + left: 8.3333333333%; } + .col-sm-push-2 { + left: 16.6666666667%; } + .col-sm-push-3 { + left: 25%; } + .col-sm-push-4 { + left: 33.3333333333%; } + .col-sm-push-5 { + left: 41.6666666667%; } + .col-sm-push-6 { + left: 50%; } + .col-sm-push-7 { + left: 58.3333333333%; } + .col-sm-push-8 { + left: 66.6666666667%; } + .col-sm-push-9 { + left: 75%; } + .col-sm-push-10 { + left: 83.3333333333%; } + .col-sm-push-11 { + left: 91.6666666667%; } + .col-sm-push-12 { + left: 100%; } + .col-sm-offset-0 { + margin-left: 0%; } + .col-sm-offset-1 { + margin-left: 8.3333333333%; } + .col-sm-offset-2 { + margin-left: 16.6666666667%; } + .col-sm-offset-3 { + margin-left: 25%; } + .col-sm-offset-4 { + margin-left: 33.3333333333%; } + .col-sm-offset-5 { + margin-left: 41.6666666667%; } + .col-sm-offset-6 { + margin-left: 50%; } + .col-sm-offset-7 { + margin-left: 58.3333333333%; } + .col-sm-offset-8 { + margin-left: 66.6666666667%; } + .col-sm-offset-9 { + margin-left: 75%; } + .col-sm-offset-10 { + margin-left: 83.3333333333%; } + .col-sm-offset-11 { + margin-left: 91.6666666667%; } + .col-sm-offset-12 { + margin-left: 100%; } } + +@media (min-width: 992px) { + .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { + float: left; } + .col-md-1 { + width: 8.3333333333%; } + .col-md-2 { + width: 16.6666666667%; } + .col-md-3 { + width: 25%; } + .col-md-4 { + width: 33.3333333333%; } + .col-md-5 { + width: 41.6666666667%; } + .col-md-6 { + width: 50%; } + .col-md-7 { + width: 58.3333333333%; } + .col-md-8 { + width: 66.6666666667%; } + .col-md-9 { + width: 75%; } + .col-md-10 { + width: 83.3333333333%; } + .col-md-11 { + width: 91.6666666667%; } + .col-md-12 { + width: 100%; } + .col-md-pull-0 { + right: auto; } + .col-md-pull-1 { + right: 8.3333333333%; } + .col-md-pull-2 { + right: 16.6666666667%; } + .col-md-pull-3 { + right: 25%; } + .col-md-pull-4 { + right: 33.3333333333%; } + .col-md-pull-5 { + right: 41.6666666667%; } + .col-md-pull-6 { + right: 50%; } + .col-md-pull-7 { + right: 58.3333333333%; } + .col-md-pull-8 { + right: 66.6666666667%; } + .col-md-pull-9 { + right: 75%; } + .col-md-pull-10 { + right: 83.3333333333%; } + .col-md-pull-11 { + right: 91.6666666667%; } + .col-md-pull-12 { + right: 100%; } + .col-md-push-0 { + left: auto; } + .col-md-push-1 { + left: 8.3333333333%; } + .col-md-push-2 { + left: 16.6666666667%; } + .col-md-push-3 { + left: 25%; } + .col-md-push-4 { + left: 33.3333333333%; } + .col-md-push-5 { + left: 41.6666666667%; } + .col-md-push-6 { + left: 50%; } + .col-md-push-7 { + left: 58.3333333333%; } + .col-md-push-8 { + left: 66.6666666667%; } + .col-md-push-9 { + left: 75%; } + .col-md-push-10 { + left: 83.3333333333%; } + .col-md-push-11 { + left: 91.6666666667%; } + .col-md-push-12 { + left: 100%; } + .col-md-offset-0 { + margin-left: 0%; } + .col-md-offset-1 { + margin-left: 8.3333333333%; } + .col-md-offset-2 { + margin-left: 16.6666666667%; } + .col-md-offset-3 { + margin-left: 25%; } + .col-md-offset-4 { + margin-left: 33.3333333333%; } + .col-md-offset-5 { + margin-left: 41.6666666667%; } + .col-md-offset-6 { + margin-left: 50%; } + .col-md-offset-7 { + margin-left: 58.3333333333%; } + .col-md-offset-8 { + margin-left: 66.6666666667%; } + .col-md-offset-9 { + margin-left: 75%; } + .col-md-offset-10 { + margin-left: 83.3333333333%; } + .col-md-offset-11 { + margin-left: 91.6666666667%; } + .col-md-offset-12 { + margin-left: 100%; } } + +@media (min-width: 1200px) { + .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { + float: left; } + .col-lg-1 { + width: 8.3333333333%; } + .col-lg-2 { + width: 16.6666666667%; } + .col-lg-3 { + width: 25%; } + .col-lg-4 { + width: 33.3333333333%; } + .col-lg-5 { + width: 41.6666666667%; } + .col-lg-6 { + width: 50%; } + .col-lg-7 { + width: 58.3333333333%; } + .col-lg-8 { + width: 66.6666666667%; } + .col-lg-9 { + width: 75%; } + .col-lg-10 { + width: 83.3333333333%; } + .col-lg-11 { + width: 91.6666666667%; } + .col-lg-12 { + width: 100%; } + .col-lg-pull-0 { + right: auto; } + .col-lg-pull-1 { + right: 8.3333333333%; } + .col-lg-pull-2 { + right: 16.6666666667%; } + .col-lg-pull-3 { + right: 25%; } + .col-lg-pull-4 { + right: 33.3333333333%; } + .col-lg-pull-5 { + right: 41.6666666667%; } + .col-lg-pull-6 { + right: 50%; } + .col-lg-pull-7 { + right: 58.3333333333%; } + .col-lg-pull-8 { + right: 66.6666666667%; } + .col-lg-pull-9 { + right: 75%; } + .col-lg-pull-10 { + right: 83.3333333333%; } + .col-lg-pull-11 { + right: 91.6666666667%; } + .col-lg-pull-12 { + right: 100%; } + .col-lg-push-0 { + left: auto; } + .col-lg-push-1 { + left: 8.3333333333%; } + .col-lg-push-2 { + left: 16.6666666667%; } + .col-lg-push-3 { + left: 25%; } + .col-lg-push-4 { + left: 33.3333333333%; } + .col-lg-push-5 { + left: 41.6666666667%; } + .col-lg-push-6 { + left: 50%; } + .col-lg-push-7 { + left: 58.3333333333%; } + .col-lg-push-8 { + left: 66.6666666667%; } + .col-lg-push-9 { + left: 75%; } + .col-lg-push-10 { + left: 83.3333333333%; } + .col-lg-push-11 { + left: 91.6666666667%; } + .col-lg-push-12 { + left: 100%; } + .col-lg-offset-0 { + margin-left: 0%; } + .col-lg-offset-1 { + margin-left: 8.3333333333%; } + .col-lg-offset-2 { + margin-left: 16.6666666667%; } + .col-lg-offset-3 { + margin-left: 25%; } + .col-lg-offset-4 { + margin-left: 33.3333333333%; } + .col-lg-offset-5 { + margin-left: 41.6666666667%; } + .col-lg-offset-6 { + margin-left: 50%; } + .col-lg-offset-7 { + margin-left: 58.3333333333%; } + .col-lg-offset-8 { + margin-left: 66.6666666667%; } + .col-lg-offset-9 { + margin-left: 75%; } + .col-lg-offset-10 { + margin-left: 83.3333333333%; } + .col-lg-offset-11 { + margin-left: 91.6666666667%; } + .col-lg-offset-12 { + margin-left: 100%; } } + +table { + background-color: transparent; } + +caption { + padding-top: 8px; + padding-bottom: 8px; + color: #777777; + text-align: left; } + +th { + text-align: left; } + +.table { + width: 100%; + max-width: 100%; + margin-bottom: 20px; } + .table > thead > tr > th, + .table > thead > tr > td, + .table > tbody > tr > th, + .table > tbody > tr > td, + .table > tfoot > tr > th, + .table > tfoot > tr > td { + padding: 8px; + line-height: 1.428571429; + vertical-align: top; + border-top: 1px solid #ddd; } + .table > thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid #ddd; } + .table > caption + thead > tr:first-child > th, + .table > caption + thead > tr:first-child > td, + .table > colgroup + thead > tr:first-child > th, + .table > colgroup + thead > tr:first-child > td, + .table > thead:first-child > tr:first-child > th, + .table > thead:first-child > tr:first-child > td { + border-top: 0; } + .table > tbody + tbody { + border-top: 2px solid #ddd; } + .table .table { + background-color: #fff; } + +.table-condensed > thead > tr > th, +.table-condensed > thead > tr > td, +.table-condensed > tbody > tr > th, +.table-condensed > tbody > tr > td, +.table-condensed > tfoot > tr > th, +.table-condensed > tfoot > tr > td { + padding: 5px; } + +.table-bordered { + border: 1px solid #ddd; } + .table-bordered > thead > tr > th, + .table-bordered > thead > tr > td, + .table-bordered > tbody > tr > th, + .table-bordered > tbody > tr > td, + .table-bordered > tfoot > tr > th, + .table-bordered > tfoot > tr > td { + border: 1px solid #ddd; } + .table-bordered > thead > tr > th, + .table-bordered > thead > tr > td { + border-bottom-width: 2px; } + +.table-striped > tbody > tr:nth-of-type(odd) { + background-color: #f9f9f9; } + +.table-hover > tbody > tr:hover { + background-color: #f5f5f5; } + +table col[class*="col-"] { + position: static; + float: none; + display: table-column; } + +table td[class*="col-"], +table th[class*="col-"] { + position: static; + float: none; + display: table-cell; } + +.table > thead > tr > td.active, +.table > thead > tr > th.active, +.table > thead > tr.active > td, +.table > thead > tr.active > th, +.table > tbody > tr > td.active, +.table > tbody > tr > th.active, +.table > tbody > tr.active > td, +.table > tbody > tr.active > th, +.table > tfoot > tr > td.active, +.table > tfoot > tr > th.active, +.table > tfoot > tr.active > td, +.table > tfoot > tr.active > th { + background-color: #f5f5f5; } + +.table-hover > tbody > tr > td.active:hover, +.table-hover > tbody > tr > th.active:hover, +.table-hover > tbody > tr.active:hover > td, +.table-hover > tbody > tr:hover > .active, +.table-hover > tbody > tr.active:hover > th { + background-color: #e8e8e8; } + +.table > thead > tr > td.success, +.table > thead > tr > th.success, +.table > thead > tr.success > td, +.table > thead > tr.success > th, +.table > tbody > tr > td.success, +.table > tbody > tr > th.success, +.table > tbody > tr.success > td, +.table > tbody > tr.success > th, +.table > tfoot > tr > td.success, +.table > tfoot > tr > th.success, +.table > tfoot > tr.success > td, +.table > tfoot > tr.success > th { + background-color: #dff0d8; } + +.table-hover > tbody > tr > td.success:hover, +.table-hover > tbody > tr > th.success:hover, +.table-hover > tbody > tr.success:hover > td, +.table-hover > tbody > tr:hover > .success, +.table-hover > tbody > tr.success:hover > th { + background-color: #d0e9c6; } + +.table > thead > tr > td.info, +.table > thead > tr > th.info, +.table > thead > tr.info > td, +.table > thead > tr.info > th, +.table > tbody > tr > td.info, +.table > tbody > tr > th.info, +.table > tbody > tr.info > td, +.table > tbody > tr.info > th, +.table > tfoot > tr > td.info, +.table > tfoot > tr > th.info, +.table > tfoot > tr.info > td, +.table > tfoot > tr.info > th { + background-color: #d9edf7; } + +.table-hover > tbody > tr > td.info:hover, +.table-hover > tbody > tr > th.info:hover, +.table-hover > tbody > tr.info:hover > td, +.table-hover > tbody > tr:hover > .info, +.table-hover > tbody > tr.info:hover > th { + background-color: #c4e3f3; } + +.table > thead > tr > td.warning, +.table > thead > tr > th.warning, +.table > thead > tr.warning > td, +.table > thead > tr.warning > th, +.table > tbody > tr > td.warning, +.table > tbody > tr > th.warning, +.table > tbody > tr.warning > td, +.table > tbody > tr.warning > th, +.table > tfoot > tr > td.warning, +.table > tfoot > tr > th.warning, +.table > tfoot > tr.warning > td, +.table > tfoot > tr.warning > th { + background-color: #fcf8e3; } + +.table-hover > tbody > tr > td.warning:hover, +.table-hover > tbody > tr > th.warning:hover, +.table-hover > tbody > tr.warning:hover > td, +.table-hover > tbody > tr:hover > .warning, +.table-hover > tbody > tr.warning:hover > th { + background-color: #faf2cc; } + +.table > thead > tr > td.danger, +.table > thead > tr > th.danger, +.table > thead > tr.danger > td, +.table > thead > tr.danger > th, +.table > tbody > tr > td.danger, +.table > tbody > tr > th.danger, +.table > tbody > tr.danger > td, +.table > tbody > tr.danger > th, +.table > tfoot > tr > td.danger, +.table > tfoot > tr > th.danger, +.table > tfoot > tr.danger > td, +.table > tfoot > tr.danger > th { + background-color: #f2dede; } + +.table-hover > tbody > tr > td.danger:hover, +.table-hover > tbody > tr > th.danger:hover, +.table-hover > tbody > tr.danger:hover > td, +.table-hover > tbody > tr:hover > .danger, +.table-hover > tbody > tr.danger:hover > th { + background-color: #ebcccc; } + +.table-responsive { + overflow-x: auto; + min-height: 0.01%; } + @media screen and (max-width: 767px) { + .table-responsive { + width: 100%; + margin-bottom: 15px; + overflow-y: hidden; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid #ddd; } + .table-responsive > .table { + margin-bottom: 0; } + .table-responsive > .table > thead > tr > th, + .table-responsive > .table > thead > tr > td, + .table-responsive > .table > tbody > tr > th, + .table-responsive > .table > tbody > tr > td, + .table-responsive > .table > tfoot > tr > th, + .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; } + .table-responsive > .table-bordered { + border: 0; } + .table-responsive > .table-bordered > thead > tr > th:first-child, + .table-responsive > .table-bordered > thead > tr > td:first-child, + .table-responsive > .table-bordered > tbody > tr > th:first-child, + .table-responsive > .table-bordered > tbody > tr > td:first-child, + .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; } + .table-responsive > .table-bordered > thead > tr > th:last-child, + .table-responsive > .table-bordered > thead > tr > td:last-child, + .table-responsive > .table-bordered > tbody > tr > th:last-child, + .table-responsive > .table-bordered > tbody > tr > td:last-child, + .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; } + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; } } + +fieldset { + padding: 0; + margin: 0; + border: 0; + min-width: 0; } + +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 20px; + font-size: 21px; + line-height: inherit; + color: #333333; + border: 0; + border-bottom: 1px solid #e5e5e5; } + +label { + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + font-weight: bold; } + +input[type="search"] { + box-sizing: border-box; } + +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + line-height: normal; } + +input[type="file"] { + display: block; } + +input[type="range"] { + display: block; + width: 100%; } + +select[multiple], +select[size] { + height: auto; } + +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; } + +output { + display: block; + padding-top: 7px; + font-size: 14px; + line-height: 1.428571429; + color: #555555; } + +.form-control { + display: block; + width: 100%; + height: 34px; + padding: 6px 12px; + font-size: 14px; + line-height: 1.428571429; + color: #555555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 4px; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; } + .form-control:focus { + border-color: #66afe9; + outline: 0; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); } + .form-control::-moz-placeholder { + color: #999; + opacity: 1; } + .form-control:-ms-input-placeholder { + color: #999; } + .form-control::-webkit-input-placeholder { + color: #999; } + .form-control::-ms-expand { + border: 0; + background-color: transparent; } + .form-control[disabled], .form-control[readonly], + fieldset[disabled] .form-control { + background-color: #eeeeee; + opacity: 1; } + .form-control[disabled], + fieldset[disabled] .form-control { + cursor: not-allowed; } + +textarea.form-control { + height: auto; } + +input[type="search"] { + -webkit-appearance: none; } + +@media screen and (-webkit-min-device-pixel-ratio: 0) { + input[type="date"].form-control, + input[type="time"].form-control, + input[type="datetime-local"].form-control, + input[type="month"].form-control { + line-height: 34px; } + input[type="date"].input-sm, .input-group-sm > input[type="date"].form-control, + .input-group-sm > input[type="date"].input-group-addon, + .input-group-sm > .input-group-btn > input[type="date"].btn, + .input-group-sm input[type="date"], + input[type="time"].input-sm, + .input-group-sm > input[type="time"].form-control, + .input-group-sm > input[type="time"].input-group-addon, + .input-group-sm > .input-group-btn > input[type="time"].btn, + .input-group-sm + input[type="time"], + input[type="datetime-local"].input-sm, + .input-group-sm > input[type="datetime-local"].form-control, + .input-group-sm > input[type="datetime-local"].input-group-addon, + .input-group-sm > .input-group-btn > input[type="datetime-local"].btn, + .input-group-sm + input[type="datetime-local"], + input[type="month"].input-sm, + .input-group-sm > input[type="month"].form-control, + .input-group-sm > input[type="month"].input-group-addon, + .input-group-sm > .input-group-btn > input[type="month"].btn, + .input-group-sm + input[type="month"] { + line-height: 30px; } + input[type="date"].input-lg, .input-group-lg > input[type="date"].form-control, + .input-group-lg > input[type="date"].input-group-addon, + .input-group-lg > .input-group-btn > input[type="date"].btn, + .input-group-lg input[type="date"], + input[type="time"].input-lg, + .input-group-lg > input[type="time"].form-control, + .input-group-lg > input[type="time"].input-group-addon, + .input-group-lg > .input-group-btn > input[type="time"].btn, + .input-group-lg + input[type="time"], + input[type="datetime-local"].input-lg, + .input-group-lg > input[type="datetime-local"].form-control, + .input-group-lg > input[type="datetime-local"].input-group-addon, + .input-group-lg > .input-group-btn > input[type="datetime-local"].btn, + .input-group-lg + input[type="datetime-local"], + input[type="month"].input-lg, + .input-group-lg > input[type="month"].form-control, + .input-group-lg > input[type="month"].input-group-addon, + .input-group-lg > .input-group-btn > input[type="month"].btn, + .input-group-lg + input[type="month"] { + line-height: 46px; } } + +.form-group { + margin-bottom: 15px; } + +.radio, +.checkbox { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; } + .radio label, + .checkbox label { + min-height: 20px; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; } + +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + position: absolute; + margin-left: -20px; + margin-top: 4px \9; } + +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; } + +.radio-inline, +.checkbox-inline { + position: relative; + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + vertical-align: middle; + font-weight: normal; + cursor: pointer; } + +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; } + +input[type="radio"][disabled], input[type="radio"].disabled, +fieldset[disabled] input[type="radio"], +input[type="checkbox"][disabled], +input[type="checkbox"].disabled, +fieldset[disabled] +input[type="checkbox"] { + cursor: not-allowed; } + +.radio-inline.disabled, +fieldset[disabled] .radio-inline, +.checkbox-inline.disabled, +fieldset[disabled] +.checkbox-inline { + cursor: not-allowed; } + +.radio.disabled label, +fieldset[disabled] .radio label, +.checkbox.disabled label, +fieldset[disabled] +.checkbox label { + cursor: not-allowed; } + +.form-control-static { + padding-top: 7px; + padding-bottom: 7px; + margin-bottom: 0; + min-height: 34px; } + .form-control-static.input-lg, .input-group-lg > .form-control-static.form-control, + .input-group-lg > .form-control-static.input-group-addon, + .input-group-lg > .input-group-btn > .form-control-static.btn, .form-control-static.input-sm, .input-group-sm > .form-control-static.form-control, + .input-group-sm > .form-control-static.input-group-addon, + .input-group-sm > .input-group-btn > .form-control-static.btn { + padding-left: 0; + padding-right: 0; } + +.input-sm, .input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; } + +select.input-sm, .input-group-sm > select.form-control, +.input-group-sm > select.input-group-addon, +.input-group-sm > .input-group-btn > select.btn { + height: 30px; + line-height: 30px; } + +textarea.input-sm, .input-group-sm > textarea.form-control, +.input-group-sm > textarea.input-group-addon, +.input-group-sm > .input-group-btn > textarea.btn, +select[multiple].input-sm, +.input-group-sm > select[multiple].form-control, +.input-group-sm > select[multiple].input-group-addon, +.input-group-sm > .input-group-btn > select[multiple].btn { + height: auto; } + +.form-group-sm .form-control { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; } + +.form-group-sm select.form-control { + height: 30px; + line-height: 30px; } + +.form-group-sm textarea.form-control, +.form-group-sm select[multiple].form-control { + height: auto; } + +.form-group-sm .form-control-static { + height: 30px; + min-height: 32px; + padding: 6px 10px; + font-size: 12px; + line-height: 1.5; } + +.input-lg, .input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px; } + +select.input-lg, .input-group-lg > select.form-control, +.input-group-lg > select.input-group-addon, +.input-group-lg > .input-group-btn > select.btn { + height: 46px; + line-height: 46px; } + +textarea.input-lg, .input-group-lg > textarea.form-control, +.input-group-lg > textarea.input-group-addon, +.input-group-lg > .input-group-btn > textarea.btn, +select[multiple].input-lg, +.input-group-lg > select[multiple].form-control, +.input-group-lg > select[multiple].input-group-addon, +.input-group-lg > .input-group-btn > select[multiple].btn { + height: auto; } + +.form-group-lg .form-control { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px; } + +.form-group-lg select.form-control { + height: 46px; + line-height: 46px; } + +.form-group-lg textarea.form-control, +.form-group-lg select[multiple].form-control { + height: auto; } + +.form-group-lg .form-control-static { + height: 46px; + min-height: 38px; + padding: 11px 16px; + font-size: 18px; + line-height: 1.3333333; } + +.has-feedback { + position: relative; } + .has-feedback .form-control { + padding-right: 42.5px; } + +.form-control-feedback { + position: absolute; + top: 0; + right: 0; + z-index: 2; + display: block; + width: 34px; + height: 34px; + line-height: 34px; + text-align: center; + pointer-events: none; } + +.input-lg + .form-control-feedback, .input-group-lg > .form-control + .form-control-feedback, +.input-group-lg > .input-group-addon + .form-control-feedback, +.input-group-lg > .input-group-btn > .btn + .form-control-feedback, +.input-group-lg + .form-control-feedback, +.form-group-lg .form-control + .form-control-feedback { + width: 46px; + height: 46px; + line-height: 46px; } + +.input-sm + .form-control-feedback, .input-group-sm > .form-control + .form-control-feedback, +.input-group-sm > .input-group-addon + .form-control-feedback, +.input-group-sm > .input-group-btn > .btn + .form-control-feedback, +.input-group-sm + .form-control-feedback, +.form-group-sm .form-control + .form-control-feedback { + width: 30px; + height: 30px; + line-height: 30px; } + +.has-success .help-block, +.has-success .control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline, +.has-success.radio label, +.has-success.checkbox label, +.has-success.radio-inline label, +.has-success.checkbox-inline label { + color: #3c763d; } + +.has-success .form-control { + border-color: #3c763d; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } + .has-success .form-control:focus { + border-color: #2b542c; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; } + +.has-success .input-group-addon { + color: #3c763d; + border-color: #3c763d; + background-color: #dff0d8; } + +.has-success .form-control-feedback { + color: #3c763d; } + +.has-warning .help-block, +.has-warning .control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline, +.has-warning.radio label, +.has-warning.checkbox label, +.has-warning.radio-inline label, +.has-warning.checkbox-inline label { + color: #8a6d3b; } + +.has-warning .form-control { + border-color: #8a6d3b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } + .has-warning .form-control:focus { + border-color: #66512c; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; } + +.has-warning .input-group-addon { + color: #8a6d3b; + border-color: #8a6d3b; + background-color: #fcf8e3; } + +.has-warning .form-control-feedback { + color: #8a6d3b; } + +.has-error .help-block, +.has-error .control-label, +.has-error .radio, +.has-error .checkbox, +.has-error .radio-inline, +.has-error .checkbox-inline, +.has-error.radio label, +.has-error.checkbox label, +.has-error.radio-inline label, +.has-error.checkbox-inline label { + color: #a94442; } + +.has-error .form-control { + border-color: #a94442; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } + .has-error .form-control:focus { + border-color: #843534; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; } + +.has-error .input-group-addon { + color: #a94442; + border-color: #a94442; + background-color: #f2dede; } + +.has-error .form-control-feedback { + color: #a94442; } + +.has-feedback label ~ .form-control-feedback { + top: 25px; } + +.has-feedback label.sr-only ~ .form-control-feedback { + top: 0; } + +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #737373; } + +@media (min-width: 768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; } + .form-inline .form-control-static { + display: inline-block; } + .form-inline .input-group { + display: inline-table; + vertical-align: middle; } + .form-inline .input-group .input-group-addon, + .form-inline .input-group .input-group-btn, + .form-inline .input-group .form-control { + width: auto; } + .form-inline .input-group > .form-control { + width: 100%; } + .form-inline .control-label { + margin-bottom: 0; + vertical-align: middle; } + .form-inline .radio, + .form-inline .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; } + .form-inline .radio label, + .form-inline .checkbox label { + padding-left: 0; } + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; } + .form-inline .has-feedback .form-control-feedback { + top: 0; } } + +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + margin-top: 0; + margin-bottom: 0; + padding-top: 7px; } + +.form-horizontal .radio, +.form-horizontal .checkbox { + min-height: 27px; } + +.form-horizontal .form-group { + margin-left: -15px; + margin-right: -15px; } + .form-horizontal .form-group:before, .form-horizontal .form-group:after { + content: " "; + display: table; } + .form-horizontal .form-group:after { + clear: both; } + +@media (min-width: 768px) { + .form-horizontal .control-label { + text-align: right; + margin-bottom: 0; + padding-top: 7px; } } + +.form-horizontal .has-feedback .form-control-feedback { + right: 15px; } + +@media (min-width: 768px) { + .form-horizontal .form-group-lg .control-label { + padding-top: 11px; + font-size: 18px; } } + +@media (min-width: 768px) { + .form-horizontal .form-group-sm .control-label { + padding-top: 6px; + font-size: 12px; } } + +.btn { + display: inline-block; + margin-bottom: 0; + font-weight: normal; + text-align: center; + vertical-align: middle; + -ms-touch-action: manipulation; + touch-action: manipulation; + cursor: pointer; + background-image: none; + border: 1px solid transparent; + white-space: nowrap; + padding: 6px 12px; + font-size: 14px; + line-height: 1.428571429; + border-radius: 4px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; } + .btn:focus, .btn.focus, .btn:active:focus, .btn:active.focus, .btn.active:focus, .btn.active.focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; } + .btn:hover, .btn:focus, .btn.focus { + color: #333; + text-decoration: none; } + .btn:active, .btn.active { + outline: 0; + background-image: none; + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } + .btn.disabled, .btn[disabled], + fieldset[disabled] .btn { + cursor: not-allowed; + opacity: 0.65; + filter: alpha(opacity=65); + box-shadow: none; } + +a.btn.disabled, +fieldset[disabled] a.btn { + pointer-events: none; } + +.btn-default { + color: #333; + background-color: #fff; + border-color: #ccc; } + .btn-default:focus, .btn-default.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; } + .btn-default:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; } + .btn-default:active, .btn-default.active, + .open > .btn-default.dropdown-toggle { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; } + .btn-default:active:hover, .btn-default:active:focus, .btn-default:active.focus, .btn-default.active:hover, .btn-default.active:focus, .btn-default.active.focus, + .open > .btn-default.dropdown-toggle:hover, + .open > .btn-default.dropdown-toggle:focus, + .open > .btn-default.dropdown-toggle.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; } + .btn-default:active, .btn-default.active, + .open > .btn-default.dropdown-toggle { + background-image: none; } + .btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default.disabled.focus, .btn-default[disabled]:hover, .btn-default[disabled]:focus, .btn-default[disabled].focus, + fieldset[disabled] .btn-default:hover, + fieldset[disabled] .btn-default:focus, + fieldset[disabled] .btn-default.focus { + background-color: #fff; + border-color: #ccc; } + .btn-default .badge { + color: #fff; + background-color: #333; } + +.btn-primary { + color: #fff; + background-color: #337ab7; + border-color: #2e6da4; } + .btn-primary:focus, .btn-primary.focus { + color: #fff; + background-color: #286090; + border-color: #122b40; } + .btn-primary:hover { + color: #fff; + background-color: #286090; + border-color: #204d74; } + .btn-primary:active, .btn-primary.active, + .open > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #286090; + border-color: #204d74; } + .btn-primary:active:hover, .btn-primary:active:focus, .btn-primary:active.focus, .btn-primary.active:hover, .btn-primary.active:focus, .btn-primary.active.focus, + .open > .btn-primary.dropdown-toggle:hover, + .open > .btn-primary.dropdown-toggle:focus, + .open > .btn-primary.dropdown-toggle.focus { + color: #fff; + background-color: #204d74; + border-color: #122b40; } + .btn-primary:active, .btn-primary.active, + .open > .btn-primary.dropdown-toggle { + background-image: none; } + .btn-primary.disabled:hover, .btn-primary.disabled:focus, .btn-primary.disabled.focus, .btn-primary[disabled]:hover, .btn-primary[disabled]:focus, .btn-primary[disabled].focus, + fieldset[disabled] .btn-primary:hover, + fieldset[disabled] .btn-primary:focus, + fieldset[disabled] .btn-primary.focus { + background-color: #337ab7; + border-color: #2e6da4; } + .btn-primary .badge { + color: #337ab7; + background-color: #fff; } + +.btn-success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; } + .btn-success:focus, .btn-success.focus { + color: #fff; + background-color: #449d44; + border-color: #255625; } + .btn-success:hover { + color: #fff; + background-color: #449d44; + border-color: #398439; } + .btn-success:active, .btn-success.active, + .open > .btn-success.dropdown-toggle { + color: #fff; + background-color: #449d44; + border-color: #398439; } + .btn-success:active:hover, .btn-success:active:focus, .btn-success:active.focus, .btn-success.active:hover, .btn-success.active:focus, .btn-success.active.focus, + .open > .btn-success.dropdown-toggle:hover, + .open > .btn-success.dropdown-toggle:focus, + .open > .btn-success.dropdown-toggle.focus { + color: #fff; + background-color: #398439; + border-color: #255625; } + .btn-success:active, .btn-success.active, + .open > .btn-success.dropdown-toggle { + background-image: none; } + .btn-success.disabled:hover, .btn-success.disabled:focus, .btn-success.disabled.focus, .btn-success[disabled]:hover, .btn-success[disabled]:focus, .btn-success[disabled].focus, + fieldset[disabled] .btn-success:hover, + fieldset[disabled] .btn-success:focus, + fieldset[disabled] .btn-success.focus { + background-color: #5cb85c; + border-color: #4cae4c; } + .btn-success .badge { + color: #5cb85c; + background-color: #fff; } + +.btn-info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; } + .btn-info:focus, .btn-info.focus { + color: #fff; + background-color: #31b0d5; + border-color: #1b6d85; } + .btn-info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; } + .btn-info:active, .btn-info.active, + .open > .btn-info.dropdown-toggle { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; } + .btn-info:active:hover, .btn-info:active:focus, .btn-info:active.focus, .btn-info.active:hover, .btn-info.active:focus, .btn-info.active.focus, + .open > .btn-info.dropdown-toggle:hover, + .open > .btn-info.dropdown-toggle:focus, + .open > .btn-info.dropdown-toggle.focus { + color: #fff; + background-color: #269abc; + border-color: #1b6d85; } + .btn-info:active, .btn-info.active, + .open > .btn-info.dropdown-toggle { + background-image: none; } + .btn-info.disabled:hover, .btn-info.disabled:focus, .btn-info.disabled.focus, .btn-info[disabled]:hover, .btn-info[disabled]:focus, .btn-info[disabled].focus, + fieldset[disabled] .btn-info:hover, + fieldset[disabled] .btn-info:focus, + fieldset[disabled] .btn-info.focus { + background-color: #5bc0de; + border-color: #46b8da; } + .btn-info .badge { + color: #5bc0de; + background-color: #fff; } + +.btn-warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; } + .btn-warning:focus, .btn-warning.focus { + color: #fff; + background-color: #ec971f; + border-color: #985f0d; } + .btn-warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #d58512; } + .btn-warning:active, .btn-warning.active, + .open > .btn-warning.dropdown-toggle { + color: #fff; + background-color: #ec971f; + border-color: #d58512; } + .btn-warning:active:hover, .btn-warning:active:focus, .btn-warning:active.focus, .btn-warning.active:hover, .btn-warning.active:focus, .btn-warning.active.focus, + .open > .btn-warning.dropdown-toggle:hover, + .open > .btn-warning.dropdown-toggle:focus, + .open > .btn-warning.dropdown-toggle.focus { + color: #fff; + background-color: #d58512; + border-color: #985f0d; } + .btn-warning:active, .btn-warning.active, + .open > .btn-warning.dropdown-toggle { + background-image: none; } + .btn-warning.disabled:hover, .btn-warning.disabled:focus, .btn-warning.disabled.focus, .btn-warning[disabled]:hover, .btn-warning[disabled]:focus, .btn-warning[disabled].focus, + fieldset[disabled] .btn-warning:hover, + fieldset[disabled] .btn-warning:focus, + fieldset[disabled] .btn-warning.focus { + background-color: #f0ad4e; + border-color: #eea236; } + .btn-warning .badge { + color: #f0ad4e; + background-color: #fff; } + +.btn-danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; } + .btn-danger:focus, .btn-danger.focus { + color: #fff; + background-color: #c9302c; + border-color: #761c19; } + .btn-danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; } + .btn-danger:active, .btn-danger.active, + .open > .btn-danger.dropdown-toggle { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; } + .btn-danger:active:hover, .btn-danger:active:focus, .btn-danger:active.focus, .btn-danger.active:hover, .btn-danger.active:focus, .btn-danger.active.focus, + .open > .btn-danger.dropdown-toggle:hover, + .open > .btn-danger.dropdown-toggle:focus, + .open > .btn-danger.dropdown-toggle.focus { + color: #fff; + background-color: #ac2925; + border-color: #761c19; } + .btn-danger:active, .btn-danger.active, + .open > .btn-danger.dropdown-toggle { + background-image: none; } + .btn-danger.disabled:hover, .btn-danger.disabled:focus, .btn-danger.disabled.focus, .btn-danger[disabled]:hover, .btn-danger[disabled]:focus, .btn-danger[disabled].focus, + fieldset[disabled] .btn-danger:hover, + fieldset[disabled] .btn-danger:focus, + fieldset[disabled] .btn-danger.focus { + background-color: #d9534f; + border-color: #d43f3a; } + .btn-danger .badge { + color: #d9534f; + background-color: #fff; } + +.btn-link { + color: #337ab7; + font-weight: normal; + border-radius: 0; } + .btn-link, .btn-link:active, .btn-link.active, .btn-link[disabled], + fieldset[disabled] .btn-link { + background-color: transparent; + box-shadow: none; } + .btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active { + border-color: transparent; } + .btn-link:hover, .btn-link:focus { + color: #23527c; + text-decoration: underline; + background-color: transparent; } + .btn-link[disabled]:hover, .btn-link[disabled]:focus, + fieldset[disabled] .btn-link:hover, + fieldset[disabled] .btn-link:focus { + color: #777777; + text-decoration: none; } + +.btn-lg, .btn-group-lg > .btn { + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px; } + +.btn-sm, .btn-group-sm > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; } + +.btn-xs, .btn-group-xs > .btn { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; } + +.btn-block { + display: block; + width: 100%; } + +.btn-block + .btn-block { + margin-top: 5px; } + +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; } + +.fade { + opacity: 0; + transition: opacity 0.15s linear; } + .fade.in { + opacity: 1; } + +.collapse { + display: none; } + .collapse.in { + display: block; } + +tr.collapse.in { + display: table-row; } + +tbody.collapse.in { + display: table-row-group; } + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + transition-property: height, visibility; + transition-duration: 0.35s; + transition-timing-function: ease; } + +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px dashed; + border-top: 4px solid \9; + border-right: 4px solid transparent; + border-left: 4px solid transparent; } + +.dropup, +.dropdown { + position: relative; } + +.dropdown-toggle:focus { + outline: 0; } + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + font-size: 14px; + text-align: left; + background-color: #fff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 4px; + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + background-clip: padding-box; } + .dropdown-menu.pull-right { + right: 0; + left: auto; } + .dropdown-menu .divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; } + .dropdown-menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.428571429; + color: #333333; + white-space: nowrap; } + +.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { + text-decoration: none; + color: #262626; + background-color: #f5f5f5; } + +.dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus { + color: #fff; + text-decoration: none; + outline: 0; + background-color: #337ab7; } + +.dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { + color: #777777; } + +.dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { + text-decoration: none; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + cursor: not-allowed; } + +.open > .dropdown-menu { + display: block; } + +.open > a { + outline: 0; } + +.dropdown-menu-right { + left: auto; + right: 0; } + +.dropdown-menu-left { + left: 0; + right: auto; } + +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.428571429; + color: #777777; + white-space: nowrap; } + +.dropdown-backdrop { + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + z-index: 990; } + +.pull-right > .dropdown-menu { + right: 0; + left: auto; } + +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + border-top: 0; + border-bottom: 4px dashed; + border-bottom: 4px solid \9; + content: ""; } + +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 2px; } + +@media (min-width: 768px) { + .navbar-right .dropdown-menu { + right: 0; + left: auto; } + .navbar-right .dropdown-menu-left { + left: 0; + right: auto; } } + +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; } + .btn-group > .btn, + .btn-group-vertical > .btn { + position: relative; + float: left; } + .btn-group > .btn:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, + .btn-group-vertical > .btn:hover, + .btn-group-vertical > .btn:focus, + .btn-group-vertical > .btn:active, + .btn-group-vertical > .btn.active { + z-index: 2; } + +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group { + margin-left: -1px; } + +.btn-toolbar { + margin-left: -5px; } + .btn-toolbar:before, .btn-toolbar:after { + content: " "; + display: table; } + .btn-toolbar:after { + clear: both; } + .btn-toolbar .btn, + .btn-toolbar .btn-group, + .btn-toolbar .input-group { + float: left; } + .btn-toolbar > .btn, + .btn-toolbar > .btn-group, + .btn-toolbar > .input-group { + margin-left: 5px; } + +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; } + +.btn-group > .btn:first-child { + margin-left: 0; } + .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; } + +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; } + +.btn-group > .btn-group { + float: left; } + +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; } + +.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-top-right-radius: 0; } + +.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0; } + +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; } + +.btn-group > .btn + .dropdown-toggle { + padding-left: 8px; + padding-right: 8px; } + +.btn-group > .btn-lg + .dropdown-toggle, .btn-group-lg.btn-group > .btn + .dropdown-toggle { + padding-left: 12px; + padding-right: 12px; } + +.btn-group.open .dropdown-toggle { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } + .btn-group.open .dropdown-toggle.btn-link { + box-shadow: none; } + +.btn .caret { + margin-left: 0; } + +.btn-lg .caret, .btn-group-lg > .btn .caret { + border-width: 5px 5px 0; + border-bottom-width: 0; } + +.dropup .btn-lg .caret, .dropup .btn-group-lg > .btn .caret { + border-width: 0 5px 5px; } + +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group, +.btn-group-vertical > .btn-group > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; } + +.btn-group-vertical > .btn-group:before, .btn-group-vertical > .btn-group:after { + content: " "; + display: table; } + +.btn-group-vertical > .btn-group:after { + clear: both; } + +.btn-group-vertical > .btn-group > .btn { + float: none; } + +.btn-group-vertical > .btn + .btn, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; } + +.btn-group-vertical > .btn:not(:first-child):not(:last-child) { + border-radius: 0; } + +.btn-group-vertical > .btn:first-child:not(:last-child) { + border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } + +.btn-group-vertical > .btn:last-child:not(:first-child) { + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; } + +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; } + +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } + +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; } + +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; } + .btn-group-justified > .btn, + .btn-group-justified > .btn-group { + float: none; + display: table-cell; + width: 1%; } + .btn-group-justified > .btn-group .btn { + width: 100%; } + .btn-group-justified > .btn-group .dropdown-menu { + left: auto; } + +[data-toggle="buttons"] > .btn input[type="radio"], +[data-toggle="buttons"] > .btn input[type="checkbox"], +[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], +[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; } + +.input-group { + position: relative; + display: table; + border-collapse: separate; } + .input-group[class*="col-"] { + float: none; + padding-left: 0; + padding-right: 0; } + .input-group .form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0; } + .input-group .form-control:focus { + z-index: 3; } + +.input-group-addon, +.input-group-btn, +.input-group .form-control { + display: table-cell; } + .input-group-addon:not(:first-child):not(:last-child), + .input-group-btn:not(:first-child):not(:last-child), + .input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; } + +.input-group-addon, +.input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle; } + +.input-group-addon { + padding: 6px 12px; + font-size: 14px; + font-weight: normal; + line-height: 1; + color: #555555; + text-align: center; + background-color: #eeeeee; + border: 1px solid #ccc; + border-radius: 4px; } + .input-group-addon.input-sm, + .input-group-sm > .input-group-addon, + .input-group-sm > .input-group-btn > .input-group-addon.btn { + padding: 5px 10px; + font-size: 12px; + border-radius: 3px; } + .input-group-addon.input-lg, + .input-group-lg > .input-group-addon, + .input-group-lg > .input-group-btn > .input-group-addon.btn { + padding: 10px 16px; + font-size: 18px; + border-radius: 6px; } + .input-group-addon input[type="radio"], + .input-group-addon input[type="checkbox"] { + margin-top: 0; } + +.input-group .form-control:first-child, +.input-group-addon:first-child, +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group > .btn, +.input-group-btn:first-child > .dropdown-toggle, +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-top-right-radius: 0; } + +.input-group-addon:first-child { + border-right: 0; } + +.input-group .form-control:last-child, +.input-group-addon:last-child, +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group > .btn, +.input-group-btn:last-child > .dropdown-toggle, +.input-group-btn:first-child > .btn:not(:first-child), +.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { + border-bottom-left-radius: 0; + border-top-left-radius: 0; } + +.input-group-addon:last-child { + border-left: 0; } + +.input-group-btn { + position: relative; + font-size: 0; + white-space: nowrap; } + .input-group-btn > .btn { + position: relative; } + .input-group-btn > .btn + .btn { + margin-left: -1px; } + .input-group-btn > .btn:hover, .input-group-btn > .btn:focus, .input-group-btn > .btn:active { + z-index: 2; } + .input-group-btn:first-child > .btn, + .input-group-btn:first-child > .btn-group { + margin-right: -1px; } + .input-group-btn:last-child > .btn, + .input-group-btn:last-child > .btn-group { + z-index: 2; + margin-left: -1px; } + +.nav { + margin-bottom: 0; + padding-left: 0; + list-style: none; } + .nav:before, .nav:after { + content: " "; + display: table; } + .nav:after { + clear: both; } + .nav > li { + position: relative; + display: block; } + .nav > li > a { + position: relative; + display: block; + padding: 10px 15px; } + .nav > li > a:hover, .nav > li > a:focus { + text-decoration: none; + background-color: #eeeeee; } + .nav > li.disabled > a { + color: #777777; } + .nav > li.disabled > a:hover, .nav > li.disabled > a:focus { + color: #777777; + text-decoration: none; + background-color: transparent; + cursor: not-allowed; } + .nav .open > a, .nav .open > a:hover, .nav .open > a:focus { + background-color: #eeeeee; + border-color: #337ab7; } + .nav .nav-divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; } + .nav > li > a > img { + max-width: none; } + +.nav-tabs { + border-bottom: 1px solid #ddd; } + .nav-tabs > li { + float: left; + margin-bottom: -1px; } + .nav-tabs > li > a { + margin-right: 2px; + line-height: 1.428571429; + border: 1px solid transparent; + border-radius: 4px 4px 0 0; } + .nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #ddd; } + .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { + color: #555555; + background-color: #fff; + border: 1px solid #ddd; + border-bottom-color: transparent; + cursor: default; } + +.nav-pills > li { + float: left; } + .nav-pills > li > a { + border-radius: 4px; } + .nav-pills > li + li { + margin-left: 2px; } + .nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus { + color: #fff; + background-color: #337ab7; } + +.nav-stacked > li { + float: none; } + .nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; } + +.nav-justified, .nav-tabs.nav-justified { + width: 100%; } + .nav-justified > li, .nav-tabs.nav-justified > li { + float: none; } + .nav-justified > li > a, .nav-tabs.nav-justified > li > a { + text-align: center; + margin-bottom: 5px; } + .nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; } + @media (min-width: 768px) { + .nav-justified > li, .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; } + .nav-justified > li > a, .nav-tabs.nav-justified > li > a { + margin-bottom: 0; } } + +.nav-tabs-justified, .nav-tabs.nav-justified { + border-bottom: 0; } + .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 4px; } + .nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a, + .nav-tabs-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus, .nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #ddd; } + @media (min-width: 768px) { + .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 4px 4px 0 0; } + .nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a, + .nav-tabs-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus, .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #fff; } } + +.tab-content > .tab-pane { + display: none; } + +.tab-content > .active { + display: block; } + +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-right-radius: 0; + border-top-left-radius: 0; } + +.navbar { + position: relative; + min-height: 50px; + margin-bottom: 20px; + border: 1px solid transparent; } + .navbar:before, .navbar:after { + content: " "; + display: table; } + .navbar:after { + clear: both; } + @media (min-width: 768px) { + .navbar { + border-radius: 4px; } } + +.navbar-header:before, .navbar-header:after { + content: " "; + display: table; } + +.navbar-header:after { + clear: both; } + +@media (min-width: 768px) { + .navbar-header { + float: left; } } + +.navbar-collapse { + overflow-x: visible; + padding-right: 15px; + padding-left: 15px; + border-top: 1px solid transparent; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + -webkit-overflow-scrolling: touch; } + .navbar-collapse:before, .navbar-collapse:after { + content: " "; + display: table; } + .navbar-collapse:after { + clear: both; } + .navbar-collapse.in { + overflow-y: auto; } + @media (min-width: 768px) { + .navbar-collapse { + width: auto; + border-top: 0; + box-shadow: none; } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; } + .navbar-collapse.in { + overflow-y: visible; } + .navbar-fixed-top .navbar-collapse, + .navbar-static-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + padding-left: 0; + padding-right: 0; } } + +.navbar-fixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px; } + @media (max-device-width: 480px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; } } + +.container > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-header, +.container-fluid > .navbar-collapse { + margin-right: -15px; + margin-left: -15px; } + @media (min-width: 768px) { + .container > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-header, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; } } + +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; } + @media (min-width: 768px) { + .navbar-static-top { + border-radius: 0; } } + +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; } + @media (min-width: 768px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; } } + +.navbar-fixed-top { + top: 0; + border-width: 0 0 1px; } + +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; + border-width: 1px 0 0; } + +.navbar-brand { + float: left; + padding: 15px 15px; + font-size: 18px; + line-height: 20px; + height: 50px; } + .navbar-brand:hover, .navbar-brand:focus { + text-decoration: none; } + .navbar-brand > img { + display: block; } + @media (min-width: 768px) { + .navbar > .container .navbar-brand, + .navbar > .container-fluid .navbar-brand { + margin-left: -15px; } } + +.navbar-toggle { + position: relative; + float: right; + margin-right: 15px; + padding: 9px 10px; + margin-top: 8px; + margin-bottom: 8px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 4px; } + .navbar-toggle:focus { + outline: 0; } + .navbar-toggle .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; } + .navbar-toggle .icon-bar + .icon-bar { + margin-top: 4px; } + @media (min-width: 768px) { + .navbar-toggle { + display: none; } } + +.navbar-nav { + margin: 7.5px -15px; } + .navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 20px; } + @media (max-width: 767px) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + box-shadow: none; } + .navbar-nav .open .dropdown-menu > li > a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 20px; } + .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-nav .open .dropdown-menu > li > a:focus { + background-image: none; } } + @media (min-width: 768px) { + .navbar-nav { + float: left; + margin: 0; } + .navbar-nav > li { + float: left; } + .navbar-nav > li > a { + padding-top: 15px; + padding-bottom: 15px; } } + +.navbar-form { + margin-left: -15px; + margin-right: -15px; + padding: 10px 15px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + margin-top: 8px; + margin-bottom: 8px; } + @media (min-width: 768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; } + .navbar-form .form-control { + display: inline-block; + width: auto; + vertical-align: middle; } + .navbar-form .form-control-static { + display: inline-block; } + .navbar-form .input-group { + display: inline-table; + vertical-align: middle; } + .navbar-form .input-group .input-group-addon, + .navbar-form .input-group .input-group-btn, + .navbar-form .input-group .form-control { + width: auto; } + .navbar-form .input-group > .form-control { + width: 100%; } + .navbar-form .control-label { + margin-bottom: 0; + vertical-align: middle; } + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; } + .navbar-form .radio label, + .navbar-form .checkbox label { + padding-left: 0; } + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; } + .navbar-form .has-feedback .form-control-feedback { + top: 0; } } + @media (max-width: 767px) { + .navbar-form .form-group { + margin-bottom: 5px; } + .navbar-form .form-group:last-child { + margin-bottom: 0; } } + @media (min-width: 768px) { + .navbar-form { + width: auto; + border: 0; + margin-left: 0; + margin-right: 0; + padding-top: 0; + padding-bottom: 0; + box-shadow: none; } } + +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; } + +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + margin-bottom: 0; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } + +.navbar-btn { + margin-top: 8px; + margin-bottom: 8px; } + .navbar-btn.btn-sm, .btn-group-sm > .navbar-btn.btn { + margin-top: 10px; + margin-bottom: 10px; } + .navbar-btn.btn-xs, .btn-group-xs > .navbar-btn.btn { + margin-top: 14px; + margin-bottom: 14px; } + +.navbar-text { + margin-top: 15px; + margin-bottom: 15px; } + @media (min-width: 768px) { + .navbar-text { + float: left; + margin-left: 15px; + margin-right: 15px; } } + +@media (min-width: 768px) { + .navbar-left { + float: left !important; } + .navbar-right { + float: right !important; + margin-right: -15px; } + .navbar-right ~ .navbar-right { + margin-right: 0; } } + +.navbar-default { + background-color: #f8f8f8; + border-color: #e7e7e7; } + .navbar-default .navbar-brand { + color: #777; } + .navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus { + color: #5e5e5e; + background-color: transparent; } + .navbar-default .navbar-text { + color: #777; } + .navbar-default .navbar-nav > li > a { + color: #777; } + .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus { + color: #333; + background-color: transparent; } + .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus { + color: #555; + background-color: #e7e7e7; } + .navbar-default .navbar-nav > .disabled > a, .navbar-default .navbar-nav > .disabled > a:hover, .navbar-default .navbar-nav > .disabled > a:focus { + color: #ccc; + background-color: transparent; } + .navbar-default .navbar-toggle { + border-color: #ddd; } + .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus { + background-color: #ddd; } + .navbar-default .navbar-toggle .icon-bar { + background-color: #888; } + .navbar-default .navbar-collapse, + .navbar-default .navbar-form { + border-color: #e7e7e7; } + .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus { + background-color: #e7e7e7; + color: #555; } + @media (max-width: 767px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #777; } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #333; + background-color: transparent; } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #555; + background-color: #e7e7e7; } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #ccc; + background-color: transparent; } } + .navbar-default .navbar-link { + color: #777; } + .navbar-default .navbar-link:hover { + color: #333; } + .navbar-default .btn-link { + color: #777; } + .navbar-default .btn-link:hover, .navbar-default .btn-link:focus { + color: #333; } + .navbar-default .btn-link[disabled]:hover, .navbar-default .btn-link[disabled]:focus, + fieldset[disabled] .navbar-default .btn-link:hover, + fieldset[disabled] .navbar-default .btn-link:focus { + color: #ccc; } + +.navbar-inverse { + background-color: #222; + border-color: #090909; } + .navbar-inverse .navbar-brand { + color: #9d9d9d; } + .navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus { + color: #fff; + background-color: transparent; } + .navbar-inverse .navbar-text { + color: #9d9d9d; } + .navbar-inverse .navbar-nav > li > a { + color: #9d9d9d; } + .navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus { + color: #fff; + background-color: transparent; } + .navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus { + color: #fff; + background-color: #090909; } + .navbar-inverse .navbar-nav > .disabled > a, .navbar-inverse .navbar-nav > .disabled > a:hover, .navbar-inverse .navbar-nav > .disabled > a:focus { + color: #444; + background-color: transparent; } + .navbar-inverse .navbar-toggle { + border-color: #333; } + .navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus { + background-color: #333; } + .navbar-inverse .navbar-toggle .icon-bar { + background-color: #fff; } + .navbar-inverse .navbar-collapse, + .navbar-inverse .navbar-form { + border-color: #101010; } + .navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus { + background-color: #090909; + color: #fff; } + @media (max-width: 767px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { + border-color: #090909; } + .navbar-inverse .navbar-nav .open .dropdown-menu .divider { + background-color: #090909; } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #9d9d9d; } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #fff; + background-color: transparent; } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #fff; + background-color: #090909; } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #444; + background-color: transparent; } } + .navbar-inverse .navbar-link { + color: #9d9d9d; } + .navbar-inverse .navbar-link:hover { + color: #fff; } + .navbar-inverse .btn-link { + color: #9d9d9d; } + .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link:focus { + color: #fff; } + .navbar-inverse .btn-link[disabled]:hover, .navbar-inverse .btn-link[disabled]:focus, + fieldset[disabled] .navbar-inverse .btn-link:hover, + fieldset[disabled] .navbar-inverse .btn-link:focus { + color: #444; } + +.breadcrumb { + padding: 8px 15px; + margin-bottom: 20px; + list-style: none; + background-color: #f5f5f5; + border-radius: 4px; } + .breadcrumb > li { + display: inline-block; } + .breadcrumb > li + li:before { + content: "/ "; + padding: 0 5px; + color: #ccc; } + .breadcrumb > .active { + color: #777777; } + +.pagination { + display: inline-block; + padding-left: 0; + margin: 20px 0; + border-radius: 4px; } + .pagination > li { + display: inline; } + .pagination > li > a, + .pagination > li > span { + position: relative; + float: left; + padding: 6px 12px; + line-height: 1.428571429; + text-decoration: none; + color: #337ab7; + background-color: #fff; + border: 1px solid #ddd; + margin-left: -1px; } + .pagination > li:first-child > a, + .pagination > li:first-child > span { + margin-left: 0; + border-bottom-left-radius: 4px; + border-top-left-radius: 4px; } + .pagination > li:last-child > a, + .pagination > li:last-child > span { + border-bottom-right-radius: 4px; + border-top-right-radius: 4px; } + .pagination > li > a:hover, .pagination > li > a:focus, + .pagination > li > span:hover, + .pagination > li > span:focus { + z-index: 2; + color: #23527c; + background-color: #eeeeee; + border-color: #ddd; } + .pagination > .active > a, .pagination > .active > a:hover, .pagination > .active > a:focus, + .pagination > .active > span, + .pagination > .active > span:hover, + .pagination > .active > span:focus { + z-index: 3; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; + cursor: default; } + .pagination > .disabled > span, + .pagination > .disabled > span:hover, + .pagination > .disabled > span:focus, + .pagination > .disabled > a, + .pagination > .disabled > a:hover, + .pagination > .disabled > a:focus { + color: #777777; + background-color: #fff; + border-color: #ddd; + cursor: not-allowed; } + +.pagination-lg > li > a, +.pagination-lg > li > span { + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; } + +.pagination-lg > li:first-child > a, +.pagination-lg > li:first-child > span { + border-bottom-left-radius: 6px; + border-top-left-radius: 6px; } + +.pagination-lg > li:last-child > a, +.pagination-lg > li:last-child > span { + border-bottom-right-radius: 6px; + border-top-right-radius: 6px; } + +.pagination-sm > li > a, +.pagination-sm > li > span { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; } + +.pagination-sm > li:first-child > a, +.pagination-sm > li:first-child > span { + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; } + +.pagination-sm > li:last-child > a, +.pagination-sm > li:last-child > span { + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; } + +.pager { + padding-left: 0; + margin: 20px 0; + list-style: none; + text-align: center; } + .pager:before, .pager:after { + content: " "; + display: table; } + .pager:after { + clear: both; } + .pager li { + display: inline; } + .pager li > a, + .pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 15px; } + .pager li > a:hover, + .pager li > a:focus { + text-decoration: none; + background-color: #eeeeee; } + .pager .next > a, + .pager .next > span { + float: right; } + .pager .previous > a, + .pager .previous > span { + float: left; } + .pager .disabled > a, + .pager .disabled > a:hover, + .pager .disabled > a:focus, + .pager .disabled > span { + color: #777777; + background-color: #fff; + cursor: not-allowed; } + +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; } + .label:empty { + display: none; } + .btn .label { + position: relative; + top: -1px; } + +a.label:hover, a.label:focus { + color: #fff; + text-decoration: none; + cursor: pointer; } + +.label-default { + background-color: #777777; } + .label-default[href]:hover, .label-default[href]:focus { + background-color: #5e5e5e; } + +.label-primary { + background-color: #337ab7; } + .label-primary[href]:hover, .label-primary[href]:focus { + background-color: #286090; } + +.label-success { + background-color: #5cb85c; } + .label-success[href]:hover, .label-success[href]:focus { + background-color: #449d44; } + +.label-info { + background-color: #5bc0de; } + .label-info[href]:hover, .label-info[href]:focus { + background-color: #31b0d5; } + +.label-warning { + background-color: #f0ad4e; } + .label-warning[href]:hover, .label-warning[href]:focus { + background-color: #ec971f; } + +.label-danger { + background-color: #d9534f; } + .label-danger[href]:hover, .label-danger[href]:focus { + background-color: #c9302c; } + +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: bold; + color: #fff; + line-height: 1; + vertical-align: middle; + white-space: nowrap; + text-align: center; + background-color: #777777; + border-radius: 10px; } + .badge:empty { + display: none; } + .btn .badge { + position: relative; + top: -1px; } + .btn-xs .badge, .btn-group-xs > .btn .badge, + .btn-group-xs > .btn .badge { + top: 0; + padding: 1px 5px; } + .list-group-item.active > .badge, + .nav-pills > .active > a > .badge { + color: #337ab7; + background-color: #fff; } + .list-group-item > .badge { + float: right; } + .list-group-item > .badge + .badge { + margin-right: 5px; } + .nav-pills > li > a > .badge { + margin-left: 3px; } + +a.badge:hover, a.badge:focus { + color: #fff; + text-decoration: none; + cursor: pointer; } + +.jumbotron { + padding-top: 30px; + padding-bottom: 30px; + margin-bottom: 30px; + color: inherit; + background-color: #eeeeee; } + .jumbotron h1, + .jumbotron .h1 { + color: inherit; } + .jumbotron p { + margin-bottom: 15px; + font-size: 21px; + font-weight: 200; } + .jumbotron > hr { + border-top-color: #d5d5d5; } + .container .jumbotron, + .container-fluid .jumbotron { + border-radius: 6px; + padding-left: 15px; + padding-right: 15px; } + .jumbotron .container { + max-width: 100%; } + @media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; } + .container .jumbotron, + .container-fluid .jumbotron { + padding-left: 60px; + padding-right: 60px; } + .jumbotron h1, + .jumbotron .h1 { + font-size: 63px; } } + +.thumbnail { + display: block; + padding: 4px; + margin-bottom: 20px; + line-height: 1.428571429; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 4px; + transition: border 0.2s ease-in-out; } + .thumbnail > img, + .thumbnail a > img { + display: block; + max-width: 100%; + height: auto; + margin-left: auto; + margin-right: auto; } + .thumbnail .caption { + padding: 9px; + color: #333333; } + +a.thumbnail:hover, +a.thumbnail:focus, +a.thumbnail.active { + border-color: #337ab7; } + +.alert { + padding: 15px; + margin-bottom: 20px; + border: 1px solid transparent; + border-radius: 4px; } + .alert h4 { + margin-top: 0; + color: inherit; } + .alert .alert-link { + font-weight: bold; } + .alert > p, + .alert > ul { + margin-bottom: 0; } + .alert > p + p { + margin-top: 5px; } + +.alert-dismissable, +.alert-dismissible { + padding-right: 35px; } + .alert-dismissable .close, + .alert-dismissible .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; } + +.alert-success { + background-color: #dff0d8; + border-color: #d6e9c6; + color: #3c763d; } + .alert-success hr { + border-top-color: #c9e2b3; } + .alert-success .alert-link { + color: #2b542c; } + +.alert-info { + background-color: #d9edf7; + border-color: #bce8f1; + color: #31708f; } + .alert-info hr { + border-top-color: #a6e1ec; } + .alert-info .alert-link { + color: #245269; } + +.alert-warning { + background-color: #fcf8e3; + border-color: #faebcc; + color: #8a6d3b; } + .alert-warning hr { + border-top-color: #f7e1b5; } + .alert-warning .alert-link { + color: #66512c; } + +.alert-danger { + background-color: #f2dede; + border-color: #ebccd1; + color: #a94442; } + .alert-danger hr { + border-top-color: #e4b9c0; } + .alert-danger .alert-link { + color: #843534; } + +.media { + margin-top: 15px; } + .media:first-child { + margin-top: 0; } + +.media, +.media-body { + zoom: 1; + overflow: hidden; } + +.media-body { + width: 10000px; } + +.media-object { + display: block; } + .media-object.img-thumbnail { + max-width: none; } + +.media-right, +.media > .pull-right { + padding-left: 10px; } + +.media-left, +.media > .pull-left { + padding-right: 10px; } + +.media-left, +.media-right, +.media-body { + display: table-cell; + vertical-align: top; } + +.media-middle { + vertical-align: middle; } + +.media-bottom { + vertical-align: bottom; } + +.media-heading { + margin-top: 0; + margin-bottom: 5px; } + +.media-list { + padding-left: 0; + list-style: none; } + +.list-group { + margin-bottom: 20px; + padding-left: 0; } + +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid #ddd; } + .list-group-item:first-child { + border-top-right-radius: 4px; + border-top-left-radius: 4px; } + .list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; } + +a.list-group-item, +button.list-group-item { + color: #555; } + a.list-group-item .list-group-item-heading, + button.list-group-item .list-group-item-heading { + color: #333; } + a.list-group-item:hover, a.list-group-item:focus, + button.list-group-item:hover, + button.list-group-item:focus { + text-decoration: none; + color: #555; + background-color: #f5f5f5; } + +button.list-group-item { + width: 100%; + text-align: left; } + +.list-group-item.disabled, .list-group-item.disabled:hover, .list-group-item.disabled:focus { + background-color: #eeeeee; + color: #777777; + cursor: not-allowed; } + .list-group-item.disabled .list-group-item-heading, .list-group-item.disabled:hover .list-group-item-heading, .list-group-item.disabled:focus .list-group-item-heading { + color: inherit; } + .list-group-item.disabled .list-group-item-text, .list-group-item.disabled:hover .list-group-item-text, .list-group-item.disabled:focus .list-group-item-text { + color: #777777; } + +.list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus { + z-index: 2; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; } + .list-group-item.active .list-group-item-heading, + .list-group-item.active .list-group-item-heading > small, + .list-group-item.active .list-group-item-heading > .small, .list-group-item.active:hover .list-group-item-heading, + .list-group-item.active:hover .list-group-item-heading > small, + .list-group-item.active:hover .list-group-item-heading > .small, .list-group-item.active:focus .list-group-item-heading, + .list-group-item.active:focus .list-group-item-heading > small, + .list-group-item.active:focus .list-group-item-heading > .small { + color: inherit; } + .list-group-item.active .list-group-item-text, .list-group-item.active:hover .list-group-item-text, .list-group-item.active:focus .list-group-item-text { + color: #c7ddef; } + +.list-group-item-success { + color: #3c763d; + background-color: #dff0d8; } + +a.list-group-item-success, +button.list-group-item-success { + color: #3c763d; } + a.list-group-item-success .list-group-item-heading, + button.list-group-item-success .list-group-item-heading { + color: inherit; } + a.list-group-item-success:hover, a.list-group-item-success:focus, + button.list-group-item-success:hover, + button.list-group-item-success:focus { + color: #3c763d; + background-color: #d0e9c6; } + a.list-group-item-success.active, a.list-group-item-success.active:hover, a.list-group-item-success.active:focus, + button.list-group-item-success.active, + button.list-group-item-success.active:hover, + button.list-group-item-success.active:focus { + color: #fff; + background-color: #3c763d; + border-color: #3c763d; } + +.list-group-item-info { + color: #31708f; + background-color: #d9edf7; } + +a.list-group-item-info, +button.list-group-item-info { + color: #31708f; } + a.list-group-item-info .list-group-item-heading, + button.list-group-item-info .list-group-item-heading { + color: inherit; } + a.list-group-item-info:hover, a.list-group-item-info:focus, + button.list-group-item-info:hover, + button.list-group-item-info:focus { + color: #31708f; + background-color: #c4e3f3; } + a.list-group-item-info.active, a.list-group-item-info.active:hover, a.list-group-item-info.active:focus, + button.list-group-item-info.active, + button.list-group-item-info.active:hover, + button.list-group-item-info.active:focus { + color: #fff; + background-color: #31708f; + border-color: #31708f; } + +.list-group-item-warning { + color: #8a6d3b; + background-color: #fcf8e3; } + +a.list-group-item-warning, +button.list-group-item-warning { + color: #8a6d3b; } + a.list-group-item-warning .list-group-item-heading, + button.list-group-item-warning .list-group-item-heading { + color: inherit; } + a.list-group-item-warning:hover, a.list-group-item-warning:focus, + button.list-group-item-warning:hover, + button.list-group-item-warning:focus { + color: #8a6d3b; + background-color: #faf2cc; } + a.list-group-item-warning.active, a.list-group-item-warning.active:hover, a.list-group-item-warning.active:focus, + button.list-group-item-warning.active, + button.list-group-item-warning.active:hover, + button.list-group-item-warning.active:focus { + color: #fff; + background-color: #8a6d3b; + border-color: #8a6d3b; } + +.list-group-item-danger { + color: #a94442; + background-color: #f2dede; } + +a.list-group-item-danger, +button.list-group-item-danger { + color: #a94442; } + a.list-group-item-danger .list-group-item-heading, + button.list-group-item-danger .list-group-item-heading { + color: inherit; } + a.list-group-item-danger:hover, a.list-group-item-danger:focus, + button.list-group-item-danger:hover, + button.list-group-item-danger:focus { + color: #a94442; + background-color: #ebcccc; } + a.list-group-item-danger.active, a.list-group-item-danger.active:hover, a.list-group-item-danger.active:focus, + button.list-group-item-danger.active, + button.list-group-item-danger.active:hover, + button.list-group-item-danger.active:focus { + color: #fff; + background-color: #a94442; + border-color: #a94442; } + +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; } + +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; } + +.panel { + margin-bottom: 20px; + background-color: #fff; + border: 1px solid transparent; + border-radius: 4px; + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); } + +.panel-body { + padding: 15px; } + .panel-body:before, .panel-body:after { + content: " "; + display: table; } + .panel-body:after { + clear: both; } + +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-right-radius: 3px; + border-top-left-radius: 3px; } + .panel-heading > .dropdown .dropdown-toggle { + color: inherit; } + +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 16px; + color: inherit; } + .panel-title > a, + .panel-title > small, + .panel-title > .small, + .panel-title > small > a, + .panel-title > .small > a { + color: inherit; } + +.panel-footer { + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; } + +.panel > .list-group, +.panel > .panel-collapse > .list-group { + margin-bottom: 0; } + .panel > .list-group .list-group-item, + .panel > .panel-collapse > .list-group .list-group-item { + border-width: 1px 0; + border-radius: 0; } + .panel > .list-group:first-child .list-group-item:first-child, + .panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { + border-top: 0; + border-top-right-radius: 3px; + border-top-left-radius: 3px; } + .panel > .list-group:last-child .list-group-item:last-child, + .panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { + border-bottom: 0; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; } + +.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; } + +.panel-heading + .list-group .list-group-item:first-child { + border-top-width: 0; } + +.list-group + .panel-footer { + border-top-width: 0; } + +.panel > .table, +.panel > .table-responsive > .table, +.panel > .panel-collapse > .table { + margin-bottom: 0; } + .panel > .table caption, + .panel > .table-responsive > .table caption, + .panel > .panel-collapse > .table caption { + padding-left: 15px; + padding-right: 15px; } + +.panel > .table:first-child, +.panel > .table-responsive:first-child > .table:first-child { + border-top-right-radius: 3px; + border-top-left-radius: 3px; } + .panel > .table:first-child > thead:first-child > tr:first-child, + .panel > .table:first-child > tbody:first-child > tr:first-child, + .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, + .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { + border-top-left-radius: 3px; + border-top-right-radius: 3px; } + .panel > .table:first-child > thead:first-child > tr:first-child td:first-child, + .panel > .table:first-child > thead:first-child > tr:first-child th:first-child, + .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, + .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, + .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, + .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, + .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, + .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { + border-top-left-radius: 3px; } + .panel > .table:first-child > thead:first-child > tr:first-child td:last-child, + .panel > .table:first-child > thead:first-child > tr:first-child th:last-child, + .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, + .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, + .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, + .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, + .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, + .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { + border-top-right-radius: 3px; } + +.panel > .table:last-child, +.panel > .table-responsive:last-child > .table:last-child { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; } + .panel > .table:last-child > tbody:last-child > tr:last-child, + .panel > .table:last-child > tfoot:last-child > tr:last-child, + .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, + .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; } + .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, + .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, + .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, + .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, + .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, + .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, + .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, + .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { + border-bottom-left-radius: 3px; } + .panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, + .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, + .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, + .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, + .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, + .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, + .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, + .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { + border-bottom-right-radius: 3px; } + +.panel > .panel-body + .table, +.panel > .panel-body + .table-responsive, +.panel > .table + .panel-body, +.panel > .table-responsive + .panel-body { + border-top: 1px solid #ddd; } + +.panel > .table > tbody:first-child > tr:first-child th, +.panel > .table > tbody:first-child > tr:first-child td { + border-top: 0; } + +.panel > .table-bordered, +.panel > .table-responsive > .table-bordered { + border: 0; } + .panel > .table-bordered > thead > tr > th:first-child, + .panel > .table-bordered > thead > tr > td:first-child, + .panel > .table-bordered > tbody > tr > th:first-child, + .panel > .table-bordered > tbody > tr > td:first-child, + .panel > .table-bordered > tfoot > tr > th:first-child, + .panel > .table-bordered > tfoot > tr > td:first-child, + .panel > .table-responsive > .table-bordered > thead > tr > th:first-child, + .panel > .table-responsive > .table-bordered > thead > tr > td:first-child, + .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, + .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, + .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; } + .panel > .table-bordered > thead > tr > th:last-child, + .panel > .table-bordered > thead > tr > td:last-child, + .panel > .table-bordered > tbody > tr > th:last-child, + .panel > .table-bordered > tbody > tr > td:last-child, + .panel > .table-bordered > tfoot > tr > th:last-child, + .panel > .table-bordered > tfoot > tr > td:last-child, + .panel > .table-responsive > .table-bordered > thead > tr > th:last-child, + .panel > .table-responsive > .table-bordered > thead > tr > td:last-child, + .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, + .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, + .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; } + .panel > .table-bordered > thead > tr:first-child > td, + .panel > .table-bordered > thead > tr:first-child > th, + .panel > .table-bordered > tbody > tr:first-child > td, + .panel > .table-bordered > tbody > tr:first-child > th, + .panel > .table-responsive > .table-bordered > thead > tr:first-child > td, + .panel > .table-responsive > .table-bordered > thead > tr:first-child > th, + .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, + .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { + border-bottom: 0; } + .panel > .table-bordered > tbody > tr:last-child > td, + .panel > .table-bordered > tbody > tr:last-child > th, + .panel > .table-bordered > tfoot > tr:last-child > td, + .panel > .table-bordered > tfoot > tr:last-child > th, + .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, + .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, + .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, + .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { + border-bottom: 0; } + +.panel > .table-responsive { + border: 0; + margin-bottom: 0; } + +.panel-group { + margin-bottom: 20px; } + .panel-group .panel { + margin-bottom: 0; + border-radius: 4px; } + .panel-group .panel + .panel { + margin-top: 5px; } + .panel-group .panel-heading { + border-bottom: 0; } + .panel-group .panel-heading + .panel-collapse > .panel-body, + .panel-group .panel-heading + .panel-collapse > .list-group { + border-top: 1px solid #ddd; } + .panel-group .panel-footer { + border-top: 0; } + .panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom: 1px solid #ddd; } + +.panel-default { + border-color: #ddd; } + .panel-default > .panel-heading { + color: #333333; + background-color: #f5f5f5; + border-color: #ddd; } + .panel-default > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ddd; } + .panel-default > .panel-heading .badge { + color: #f5f5f5; + background-color: #333333; } + .panel-default > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ddd; } + +.panel-primary { + border-color: #337ab7; } + .panel-primary > .panel-heading { + color: #fff; + background-color: #337ab7; + border-color: #337ab7; } + .panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #337ab7; } + .panel-primary > .panel-heading .badge { + color: #337ab7; + background-color: #fff; } + .panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #337ab7; } + +.panel-success { + border-color: #d6e9c6; } + .panel-success > .panel-heading { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; } + .panel-success > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #d6e9c6; } + .panel-success > .panel-heading .badge { + color: #dff0d8; + background-color: #3c763d; } + .panel-success > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #d6e9c6; } + +.panel-info { + border-color: #bce8f1; } + .panel-info > .panel-heading { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; } + .panel-info > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #bce8f1; } + .panel-info > .panel-heading .badge { + color: #d9edf7; + background-color: #31708f; } + .panel-info > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #bce8f1; } + +.panel-warning { + border-color: #faebcc; } + .panel-warning > .panel-heading { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; } + .panel-warning > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #faebcc; } + .panel-warning > .panel-heading .badge { + color: #fcf8e3; + background-color: #8a6d3b; } + .panel-warning > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #faebcc; } + +.panel-danger { + border-color: #ebccd1; } + .panel-danger > .panel-heading { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; } + .panel-danger > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ebccd1; } + .panel-danger > .panel-heading .badge { + color: #f2dede; + background-color: #a94442; } + .panel-danger > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ebccd1; } + +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden; } + .embed-responsive .embed-responsive-item, + .embed-responsive iframe, + .embed-responsive embed, + .embed-responsive object, + .embed-responsive video { + position: absolute; + top: 0; + left: 0; + bottom: 0; + height: 100%; + width: 100%; + border: 0; } + +.embed-responsive-16by9 { + padding-bottom: 56.25%; } + +.embed-responsive-4by3 { + padding-bottom: 75%; } + +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + border-radius: 4px; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); } + .well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, 0.15); } + +.well-lg { + padding: 24px; + border-radius: 6px; } + +.well-sm { + padding: 9px; + border-radius: 3px; } + +.close { + float: right; + font-size: 21px; + font-weight: bold; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: 0.2; + filter: alpha(opacity=20); } + .close:hover, .close:focus { + color: #000; + text-decoration: none; + cursor: pointer; + opacity: 0.5; + filter: alpha(opacity=50); } + +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; } + +.clearfix:before, .clearfix:after { + content: " "; + display: table; } + +.clearfix:after { + clear: both; } + +.center-block { + display: block; + margin-left: auto; + margin-right: auto; } + +.pull-right { + float: right !important; } + +.pull-left { + float: left !important; } + +.hide { + display: none !important; } + +.show { + display: block !important; } + +.invisible { + visibility: hidden; } + +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; } + +.hidden { + display: none !important; } + +.affix { + position: fixed; } + +@-ms-viewport { + width: device-width; } + +.visible-xs { + display: none !important; } + +.visible-sm { + display: none !important; } + +.visible-md { + display: none !important; } + +.visible-lg { + display: none !important; } + +.visible-xs-block, +.visible-xs-inline, +.visible-xs-inline-block, +.visible-sm-block, +.visible-sm-inline, +.visible-sm-inline-block, +.visible-md-block, +.visible-md-inline, +.visible-md-inline-block, +.visible-lg-block, +.visible-lg-inline, +.visible-lg-inline-block { + display: none !important; } + +@media (max-width: 767px) { + .visible-xs { + display: block !important; } + table.visible-xs { + display: table !important; } + tr.visible-xs { + display: table-row !important; } + th.visible-xs, + td.visible-xs { + display: table-cell !important; } } + +@media (max-width: 767px) { + .visible-xs-block { + display: block !important; } } + +@media (max-width: 767px) { + .visible-xs-inline { + display: inline !important; } } + +@media (max-width: 767px) { + .visible-xs-inline-block { + display: inline-block !important; } } + +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important; } + table.visible-sm { + display: table !important; } + tr.visible-sm { + display: table-row !important; } + th.visible-sm, + td.visible-sm { + display: table-cell !important; } } + +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-block { + display: block !important; } } + +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline { + display: inline !important; } } + +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline-block { + display: inline-block !important; } } + +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important; } + table.visible-md { + display: table !important; } + tr.visible-md { + display: table-row !important; } + th.visible-md, + td.visible-md { + display: table-cell !important; } } + +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-block { + display: block !important; } } + +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline { + display: inline !important; } } + +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline-block { + display: inline-block !important; } } + +@media (min-width: 1200px) { + .visible-lg { + display: block !important; } + table.visible-lg { + display: table !important; } + tr.visible-lg { + display: table-row !important; } + th.visible-lg, + td.visible-lg { + display: table-cell !important; } } + +@media (min-width: 1200px) { + .visible-lg-block { + display: block !important; } } + +@media (min-width: 1200px) { + .visible-lg-inline { + display: inline !important; } } + +@media (min-width: 1200px) { + .visible-lg-inline-block { + display: inline-block !important; } } + +@media (max-width: 767px) { + .hidden-xs { + display: none !important; } } + +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important; } } + +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { + display: none !important; } } + +@media (min-width: 1200px) { + .hidden-lg { + display: none !important; } } + +.visible-print { + display: none !important; } + +@media print { + .visible-print { + display: block !important; } + table.visible-print { + display: table !important; } + tr.visible-print { + display: table-row !important; } + th.visible-print, + td.visible-print { + display: table-cell !important; } } + +.visible-print-block { + display: none !important; } + @media print { + .visible-print-block { + display: block !important; } } + +.visible-print-inline { + display: none !important; } + @media print { + .visible-print-inline { + display: inline !important; } } + +.visible-print-inline-block { + display: none !important; } + @media print { + .visible-print-inline-block { + display: inline-block !important; } } + +@media print { + .hidden-print { + display: none !important; } } + +/*! + * Bootstrap v3.3.5 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +.btn-danger, .btn-default, .btn-info, .btn-primary, .btn-success, .btn-warning { + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); } + +.btn-danger.active, .btn-danger:active, .btn-default.active, .btn-default:active, .btn-info.active, .btn-info:active, .btn-primary.active, .btn-primary:active, .btn-success.active, .btn-success:active, .btn-warning.active, .btn-warning:active { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } + +.btn-danger.disabled, .btn-danger[disabled], .btn-default.disabled, .btn-default[disabled], .btn-info.disabled, .btn-info[disabled], .btn-primary.disabled, .btn-primary[disabled], .btn-success.disabled, .btn-success[disabled], .btn-warning.disabled, .btn-warning[disabled], fieldset[disabled] .btn-danger, fieldset[disabled] .btn-default, fieldset[disabled] .btn-info, fieldset[disabled] .btn-primary, fieldset[disabled] .btn-success, fieldset[disabled] .btn-warning { + box-shadow: none; } + +.btn-danger .badge, .btn-default .badge, .btn-info .badge, .btn-primary .badge, .btn-success .badge, .btn-warning .badge { + text-shadow: none; } + +.btn.active, .btn:active { + background-image: none; } + +.btn-default { + text-shadow: 0 1px 0 #fff; + background-image: linear-gradient(to bottom, #fff 0, #e0e0e0 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + background-repeat: repeat-x; + border-color: #dbdbdb; + border-color: #ccc; } + +.btn-default:focus, .btn-default:hover { + background-color: #e0e0e0; + background-position: 0 -15px; } + +.btn-default.active, .btn-default:active { + background-color: #e0e0e0; + border-color: #dbdbdb; } + +.btn-default.disabled, .btn-default.disabled.active, .btn-default.disabled.focus, .btn-default.disabled:active, .btn-default.disabled:focus, .btn-default.disabled:hover, .btn-default[disabled], .btn-default[disabled].active, .btn-default[disabled].focus, .btn-default[disabled]:active, .btn-default[disabled]:focus, .btn-default[disabled]:hover, fieldset[disabled] .btn-default, fieldset[disabled] .btn-default.active, fieldset[disabled] .btn-default.focus, fieldset[disabled] .btn-default:active, fieldset[disabled] .btn-default:focus, fieldset[disabled] .btn-default:hover { + background-color: #e0e0e0; + background-image: none; } + +.btn-primary { + background-image: linear-gradient(to bottom, #337ab7 0, #265a88 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + background-repeat: repeat-x; + border-color: #245580; } + +.btn-primary:focus, .btn-primary:hover { + background-color: #265a88; + background-position: 0 -15px; } + +.btn-primary.active, .btn-primary:active { + background-color: #265a88; + border-color: #245580; } + +.btn-primary.disabled, .btn-primary.disabled.active, .btn-primary.disabled.focus, .btn-primary.disabled:active, .btn-primary.disabled:focus, .btn-primary.disabled:hover, .btn-primary[disabled], .btn-primary[disabled].active, .btn-primary[disabled].focus, .btn-primary[disabled]:active, .btn-primary[disabled]:focus, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary, fieldset[disabled] .btn-primary.active, fieldset[disabled] .btn-primary.focus, fieldset[disabled] .btn-primary:active, fieldset[disabled] .btn-primary:focus, fieldset[disabled] .btn-primary:hover { + background-color: #265a88; + background-image: none; } + +.btn-success { + background-image: linear-gradient(to bottom, #5cb85c 0, #419641 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + background-repeat: repeat-x; + border-color: #3e8f3e; } + +.btn-success:focus, .btn-success:hover { + background-color: #419641; + background-position: 0 -15px; } + +.btn-success.active, .btn-success:active { + background-color: #419641; + border-color: #3e8f3e; } + +.btn-success.disabled, .btn-success.disabled.active, .btn-success.disabled.focus, .btn-success.disabled:active, .btn-success.disabled:focus, .btn-success.disabled:hover, .btn-success[disabled], .btn-success[disabled].active, .btn-success[disabled].focus, .btn-success[disabled]:active, .btn-success[disabled]:focus, .btn-success[disabled]:hover, fieldset[disabled] .btn-success, fieldset[disabled] .btn-success.active, fieldset[disabled] .btn-success.focus, fieldset[disabled] .btn-success:active, fieldset[disabled] .btn-success:focus, fieldset[disabled] .btn-success:hover { + background-color: #419641; + background-image: none; } + +.btn-info { + background-image: linear-gradient(to bottom, #5bc0de 0, #2aabd2 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + background-repeat: repeat-x; + border-color: #28a4c9; } + +.btn-info:focus, .btn-info:hover { + background-color: #2aabd2; + background-position: 0 -15px; } + +.btn-info.active, .btn-info:active { + background-color: #2aabd2; + border-color: #28a4c9; } + +.btn-info.disabled, .btn-info.disabled.active, .btn-info.disabled.focus, .btn-info.disabled:active, .btn-info.disabled:focus, .btn-info.disabled:hover, .btn-info[disabled], .btn-info[disabled].active, .btn-info[disabled].focus, .btn-info[disabled]:active, .btn-info[disabled]:focus, .btn-info[disabled]:hover, fieldset[disabled] .btn-info, fieldset[disabled] .btn-info.active, fieldset[disabled] .btn-info.focus, fieldset[disabled] .btn-info:active, fieldset[disabled] .btn-info:focus, fieldset[disabled] .btn-info:hover { + background-color: #2aabd2; + background-image: none; } + +.btn-warning { + background-image: linear-gradient(to bottom, #f0ad4e 0, #eb9316 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + background-repeat: repeat-x; + border-color: #e38d13; } + +.btn-warning:focus, .btn-warning:hover { + background-color: #eb9316; + background-position: 0 -15px; } + +.btn-warning.active, .btn-warning:active { + background-color: #eb9316; + border-color: #e38d13; } + +.btn-warning.disabled, .btn-warning.disabled.active, .btn-warning.disabled.focus, .btn-warning.disabled:active, .btn-warning.disabled:focus, .btn-warning.disabled:hover, .btn-warning[disabled], .btn-warning[disabled].active, .btn-warning[disabled].focus, .btn-warning[disabled]:active, .btn-warning[disabled]:focus, .btn-warning[disabled]:hover, fieldset[disabled] .btn-warning, fieldset[disabled] .btn-warning.active, fieldset[disabled] .btn-warning.focus, fieldset[disabled] .btn-warning:active, fieldset[disabled] .btn-warning:focus, fieldset[disabled] .btn-warning:hover { + background-color: #eb9316; + background-image: none; } + +.btn-danger { + background-image: linear-gradient(to bottom, #d9534f 0, #c12e2a 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + background-repeat: repeat-x; + border-color: #b92c28; } + +.btn-danger:focus, .btn-danger:hover { + background-color: #c12e2a; + background-position: 0 -15px; } + +.btn-danger.active, .btn-danger:active { + background-color: #c12e2a; + border-color: #b92c28; } + +.btn-danger.disabled, .btn-danger.disabled.active, .btn-danger.disabled.focus, .btn-danger.disabled:active, .btn-danger.disabled:focus, .btn-danger.disabled:hover, .btn-danger[disabled], .btn-danger[disabled].active, .btn-danger[disabled].focus, .btn-danger[disabled]:active, .btn-danger[disabled]:focus, .btn-danger[disabled]:hover, fieldset[disabled] .btn-danger, fieldset[disabled] .btn-danger.active, fieldset[disabled] .btn-danger.focus, fieldset[disabled] .btn-danger:active, fieldset[disabled] .btn-danger:focus, fieldset[disabled] .btn-danger:hover { + background-color: #c12e2a; + background-image: none; } + +.img-thumbnail, .thumbnail { + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); } + +.dropdown-menu > li > a:focus, .dropdown-menu > li > a:hover { + background-color: #e8e8e8; + background-image: linear-gradient(to bottom, #f5f5f5 0, #e8e8e8 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); + background-repeat: repeat-x; } + +.dropdown-menu > .active > a, .dropdown-menu > .active > a:focus, .dropdown-menu > .active > a:hover { + background-color: #2e6da4; + background-image: linear-gradient(to bottom, #337ab7 0, #2e6da4 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); + background-repeat: repeat-x; } + +.navbar-default { + background-image: linear-gradient(to bottom, #fff 0, #f8f8f8 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + background-repeat: repeat-x; + border-radius: 4px; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075); } + +.navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .open > a { + background-image: linear-gradient(to bottom, #dbdbdb 0, #e2e2e2 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0); + background-repeat: repeat-x; + box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075); } + +.navbar-brand, .navbar-nav > li > a { + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25); } + +.navbar-inverse { + background-image: linear-gradient(to bottom, #3c3c3c 0, #222 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + background-repeat: repeat-x; + border-radius: 4px; } + +.navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .open > a { + background-image: linear-gradient(to bottom, #080808 0, #0f0f0f 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0); + background-repeat: repeat-x; + box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25); } + +.navbar-inverse .navbar-brand, .navbar-inverse .navbar-nav > li > a { + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); } + +.navbar-fixed-bottom, .navbar-fixed-top, .navbar-static-top { + border-radius: 0; } + +@media (max-width: 767px) { + .navbar .navbar-nav .open .dropdown-menu > .active > a, .navbar .navbar-nav .open .dropdown-menu > .active > a:focus, .navbar .navbar-nav .open .dropdown-menu > .active > a:hover { + color: #fff; + background-image: linear-gradient(to bottom, #337ab7 0, #2e6da4 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); + background-repeat: repeat-x; } } + +.alert { + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05); } + +.alert-success { + background-image: linear-gradient(to bottom, #dff0d8 0, #c8e5bc 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0); + background-repeat: repeat-x; + border-color: #b2dba1; } + +.alert-info { + background-image: linear-gradient(to bottom, #d9edf7 0, #b9def0 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0); + background-repeat: repeat-x; + border-color: #9acfea; } + +.alert-warning { + background-image: linear-gradient(to bottom, #fcf8e3 0, #f8efc0 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0); + background-repeat: repeat-x; + border-color: #f5e79e; } + +.alert-danger { + background-image: linear-gradient(to bottom, #f2dede 0, #e7c3c3 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0); + background-repeat: repeat-x; + border-color: #dca7a7; } + +.progress { + background-image: linear-gradient(to bottom, #ebebeb 0, #f5f5f5 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0); + background-repeat: repeat-x; } + +.progress-bar { + background-image: linear-gradient(to bottom, #337ab7 0, #286090 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0); + background-repeat: repeat-x; } + +.progress-bar-success { + background-image: linear-gradient(to bottom, #5cb85c 0, #449d44 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0); + background-repeat: repeat-x; } + +.progress-bar-info { + background-image: linear-gradient(to bottom, #5bc0de 0, #31b0d5 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0); + background-repeat: repeat-x; } + +.progress-bar-warning { + background-image: linear-gradient(to bottom, #f0ad4e 0, #ec971f 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0); + background-repeat: repeat-x; } + +.progress-bar-danger { + background-image: linear-gradient(to bottom, #d9534f 0, #c9302c 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0); + background-repeat: repeat-x; } + +.progress-bar-striped { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); } + +.list-group { + border-radius: 4px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); } + +.list-group-item.active, .list-group-item.active:focus, .list-group-item.active:hover { + text-shadow: 0 -1px 0 #286090; + background-image: linear-gradient(to bottom, #337ab7 0, #2b669a 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0); + background-repeat: repeat-x; + border-color: #2b669a; } + +.list-group-item.active .badge, .list-group-item.active:focus .badge, .list-group-item.active:hover .badge { + text-shadow: none; } + +.panel { + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); } + +.panel-default > .panel-heading { + background-image: linear-gradient(to bottom, #f5f5f5 0, #e8e8e8 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); + background-repeat: repeat-x; } + +.panel-primary > .panel-heading { + background-image: linear-gradient(to bottom, #337ab7 0, #2e6da4 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); + background-repeat: repeat-x; } + +.panel-success > .panel-heading { + background-image: linear-gradient(to bottom, #dff0d8 0, #d0e9c6 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0); + background-repeat: repeat-x; } + +.panel-info > .panel-heading { + background-image: linear-gradient(to bottom, #d9edf7 0, #c4e3f3 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0); + background-repeat: repeat-x; } + +.panel-warning > .panel-heading { + background-image: linear-gradient(to bottom, #fcf8e3 0, #faf2cc 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0); + background-repeat: repeat-x; } + +.panel-danger > .panel-heading { + background-image: linear-gradient(to bottom, #f2dede 0, #ebcccc 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0); + background-repeat: repeat-x; } + +.well { + background-image: linear-gradient(to bottom, #e8e8e8 0, #f5f5f5 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0); + background-repeat: repeat-x; + border-color: #dcdcdc; + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1); } + +/*! + * Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +@font-face { + font-family: 'FontAwesome'; + src: url("../fonts/fontawesome-webfont.eot?v=4.3.0"); + src: url("../fonts/fontawesome-webfont.eot?#iefix&v=4.3.0") format("embedded-opentype"), url("../fonts/fontawesome-webfont.woff2?v=4.3.0") format("woff2"), url("../fonts/fontawesome-webfont.woff?v=4.3.0") format("woff"), url("../fonts/fontawesome-webfont.ttf?v=4.3.0") format("truetype"), url("../fonts/fontawesome-webfont.svg?v=4.3.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; + transform: translate(0, 0); } + +.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 { + animation: fa-spin 2s infinite linear; } + +.fa-pulse { + animation: fa-spin 1s infinite steps(8); } + +@keyframes fa-spin { + 0% { + transform: rotate(0deg); } + 100% { + transform: rotate(359deg); } } + +.fa-rotate-90 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); + transform: rotate(90deg); } + +.fa-rotate-180 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); + transform: rotate(180deg); } + +.fa-rotate-270 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); + transform: rotate(270deg); } + +.fa-flip-horizontal { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); + transform: scale(-1, 1); } + +.fa-flip-vertical { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=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 { + -webkit-filter: none; + 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-f:before, .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, .fa-gratipay: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-genderless:before, .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"; } + +.fa-buysellads:before { + content: "\f20d"; } + +.fa-connectdevelop:before { + content: "\f20e"; } + +.fa-dashcube:before { + content: "\f210"; } + +.fa-forumbee:before { + content: "\f211"; } + +.fa-leanpub:before { + content: "\f212"; } + +.fa-sellsy:before { + content: "\f213"; } + +.fa-shirtsinbulk:before { + content: "\f214"; } + +.fa-simplybuilt:before { + content: "\f215"; } + +.fa-skyatlas:before { + content: "\f216"; } + +.fa-cart-plus:before { + content: "\f217"; } + +.fa-cart-arrow-down:before { + content: "\f218"; } + +.fa-diamond:before { + content: "\f219"; } + +.fa-ship:before { + content: "\f21a"; } + +.fa-user-secret:before { + content: "\f21b"; } + +.fa-motorcycle:before { + content: "\f21c"; } + +.fa-street-view:before { + content: "\f21d"; } + +.fa-heartbeat:before { + content: "\f21e"; } + +.fa-venus:before { + content: "\f221"; } + +.fa-mars:before { + content: "\f222"; } + +.fa-mercury:before { + content: "\f223"; } + +.fa-transgender:before { + content: "\f224"; } + +.fa-transgender-alt:before { + content: "\f225"; } + +.fa-venus-double:before { + content: "\f226"; } + +.fa-mars-double:before { + content: "\f227"; } + +.fa-venus-mars:before { + content: "\f228"; } + +.fa-mars-stroke:before { + content: "\f229"; } + +.fa-mars-stroke-v:before { + content: "\f22a"; } + +.fa-mars-stroke-h:before { + content: "\f22b"; } + +.fa-neuter:before { + content: "\f22c"; } + +.fa-facebook-official:before { + content: "\f230"; } + +.fa-pinterest-p:before { + content: "\f231"; } + +.fa-whatsapp:before { + content: "\f232"; } + +.fa-server:before { + content: "\f233"; } + +.fa-user-plus:before { + content: "\f234"; } + +.fa-user-times:before { + content: "\f235"; } + +.fa-hotel:before, .fa-bed:before { + content: "\f236"; } + +.fa-viacoin:before { + content: "\f237"; } + +.fa-train:before { + content: "\f238"; } + +.fa-subway:before { + content: "\f239"; } + +.fa-medium:before { + content: "\f23a"; } + +/*! + * Start Bootstrap - SB Admin 2 Bootstrap Admin Theme (http://startbootstrap.com) + * Code licensed under the Apache License v2.0. + * For details, see http://www.apache.org/licenses/LICENSE-2.0. + */ +body { + background-color: #f8f8f8; } + +#wrapper { + width: 100%; } + +#page-wrapper { + padding: 0 15px; + min-height: 568px; + background-color: #fff; } + +@media (min-width: 768px) { + #page-wrapper { + position: inherit; + margin: 0 0 0 250px; + padding: 0 30px; + border-left: 1px solid #e7e7e7; } } + +.navbar-top-links { + margin-right: 0; } + +.navbar-top-links li { + display: inline-block; } + +.navbar-top-links li:last-child { + margin-right: 15px; } + +.navbar-top-links li a { + padding: 15px; + min-height: 50px; } + +.navbar-top-links .dropdown-menu li { + display: block; } + +.navbar-top-links .dropdown-menu li:last-child { + margin-right: 0; } + +.navbar-top-links .dropdown-menu li a { + padding: 3px 20px; + min-height: 0; } + +.navbar-top-links .dropdown-menu li a div { + white-space: normal; } + +.navbar-top-links .dropdown-messages, +.navbar-top-links .dropdown-tasks, +.navbar-top-links .dropdown-alerts { + width: 310px; + min-width: 0; } + +.navbar-top-links .dropdown-messages { + margin-left: 5px; } + +.navbar-top-links .dropdown-tasks { + margin-left: -59px; } + +.navbar-top-links .dropdown-alerts { + margin-left: -123px; } + +.navbar-top-links .dropdown-user { + right: 0; + left: auto; } + +.sidebar .sidebar-nav.navbar-collapse { + padding-right: 0; + padding-left: 0; } + +.sidebar .sidebar-search { + padding: 15px; } + +.sidebar ul li { + border-bottom: 1px solid #e7e7e7; } + +.sidebar ul li a.active { + background-color: #eee; } + +.sidebar .arrow { + float: right; } + +.sidebar .fa.arrow:before { + content: "\f104"; } + +.sidebar .active > a > .fa.arrow:before { + content: "\f107"; } + +.sidebar .nav-second-level li a { + padding-left: 37px; } + +.sidebar .nav-third-level li a { + padding-left: 52px; } + +@media (min-width: 768px) { + .sidebar { + z-index: 1; + position: absolute; + width: 250px; + margin-top: 101px; } + .navbar-top-links .dropdown-messages, + .navbar-top-links .dropdown-tasks, + .navbar-top-links .dropdown-alerts { + margin-left: auto; } } + +.btn-outline { + color: inherit; + background-color: transparent; + transition: all .5s; } + +.btn-primary.btn-outline { + color: #428bca; } + +.btn-success.btn-outline { + color: #5cb85c; } + +.btn-info.btn-outline { + color: #5bc0de; } + +.btn-warning.btn-outline { + color: #f0ad4e; } + +.btn-danger.btn-outline { + color: #d9534f; } + +.btn-primary.btn-outline:hover, +.btn-success.btn-outline:hover, +.btn-info.btn-outline:hover, +.btn-warning.btn-outline:hover, +.btn-danger.btn-outline:hover { + color: #fff; } + +.chat { + margin: 0; + padding: 0; + list-style: none; } + +.chat li { + margin-bottom: 10px; + padding-bottom: 5px; + border-bottom: 1px dotted #999; } + +.chat li.left .chat-body { + margin-left: 60px; } + +.chat li.right .chat-body { + margin-right: 60px; } + +.chat li .chat-body p { + margin: 0; } + +.panel .slidedown .glyphicon, +.chat .glyphicon { + margin-right: 5px; } + +.chat-panel .panel-body { + height: 350px; + overflow-y: scroll; } + +.flot-chart { + display: block; + height: 400px; } + +.flot-chart-content { + width: 100%; + height: 100%; } + +table.dataTable thead .sorting, +table.dataTable thead .sorting_asc, +table.dataTable thead .sorting_desc, +table.dataTable thead .sorting_asc_disabled, +table.dataTable thead .sorting_desc_disabled { + background: 0 0; } + +table.dataTable thead .sorting_asc:after { + content: "\f0de"; + float: right; + font-family: fontawesome; } + +table.dataTable thead .sorting_desc:after { + content: "\f0dd"; + float: right; + font-family: fontawesome; } + +table.dataTable thead .sorting:after { + content: "\f0dc"; + float: right; + font-family: fontawesome; + color: rgba(50, 50, 50, 0.5); } + +.btn-circle { + width: 30px; + height: 30px; + padding: 6px 0; + border-radius: 15px; + text-align: center; + font-size: 12px; + line-height: 1.428571429; } + +.btn-circle.btn-lg, .btn-group-lg > .btn-circle.btn { + width: 50px; + height: 50px; + padding: 10px 16px; + border-radius: 25px; + font-size: 18px; + line-height: 1.33; } + +.btn-circle.btn-xl { + width: 70px; + height: 70px; + padding: 10px 16px; + border-radius: 35px; + font-size: 24px; + line-height: 1.33; } + +.show-grid [class^=col-] { + padding-top: 10px; + padding-bottom: 10px; + border: 1px solid #ddd; + background-color: #eee !important; } + +.show-grid { + margin: 15px 0; } + +.huge { + font-size: 40px; } + +.panel-green { + border-color: #5cb85c; } + +.panel-green .panel-heading { + border-color: #5cb85c; + color: #fff; + background-color: #5cb85c; } + +.panel-green a { + color: #5cb85c; } + +.panel-green a:hover { + color: #3d8b3d; } + +.panel-red { + border-color: #d9534f; } + +.panel-red .panel-heading { + border-color: #d9534f; + color: #fff; + background-color: #d9534f; } + +.panel-red a { + color: #d9534f; } + +.panel-red a:hover { + color: #b52b27; } + +.panel-yellow { + border-color: #f0ad4e; } + +.panel-yellow .panel-heading { + border-color: #f0ad4e; + color: #fff; + background-color: #f0ad4e; } + +.panel-yellow a { + color: #f0ad4e; } + +.panel-yellow a:hover { + color: #df8a13; } + +.chosen-container-multi .chosen-choices li.search-field input[type=text] { + height: 25px; } + +.button-form-inline { + display: inline; } + +/*! + * Custom css for SB Admin 2 + * By Nafies Luthfi + * Code licensed under the Apache License v2.0. + * For details, see http://www.apache.org/licenses/LICENSE-2.0. + */ +ul, ol { + margin-bottom: 0; } + +.breadcrumb { + margin-top: 15px; } + +.login-panel { + margin-top: 10vh; } + +.radio, .checkbox { + margin-top: 0; + margin-bottom: 0; } + +h1.page-header { + margin: 20px 0; } + +.bold { + font-weight: bold; } + +.sidebar-logo { + width: 150px; + margin: auto; } + +.nav > li > a { + padding: 6px 10px; } + +.navbar-right > li > a { + padding: 15px; } + +.navbar-brand { + float: none; + border-bottom: 1px solid #e7e7e7; + display: block; + height: auto; } + +label.control-label { + color: #428bca; } + +@media (min-width: 768px) { + #page-wrapper { + margin-left: 220px; + padding: 0; } + /* + .hidden-xs { + display: block; + }*/ + nav.hidden-md { + display: none; } + #page-wrapper.page-no-sidebar { + margin-left: 0; } + .sidebar { + margin-top: 0px; + width: 220px; + box-shadow: none; } + .index-search-form { + width: 50%; } + /*.dropdown:hover .dropdown-menu { + display: block; + } + .navbar-default .navbar-nav>li>a:hover { + color: #555; + background-color: #eee; + }*/ } + +.form-error { + color: #d9534f; + /*font-weight: 700;*/ } + +div.notifier { + border-radius: 0; + margin-bottom: 0; } + +#footer { + padding: 15px 10px; } + +#copy { + text-align: center; } + +#map-canvas-0 { + min-height: 400px; } + +h1.site-tilte { + font-size: 30px; } + +h3.site-description { + font-size: 16px; + font-weight: normal; + margin: 0; } + +.guest-header { + padding: 0 10px; } + +.panel .table { + margin-bottom: 0; } + +@media (max-width: 480px) { + .guest-header { + text-align: center; } } + +.nav .nav-second-level > li.active { + text-decoration: none; + background-color: #eee; } + +.form-control { + height: 30px; + padding: 3px 6px; } + +/* +.btn { + padding: 3px 6px; +} + +.btn-xs { + padding: 1px 5px; +}*/ +@media print { + #page-wrapper { + margin-left: 0; } } + +/*# sourceMappingURL=app.css.map */ diff --git a/public/assets/css/app.css.map b/public/assets/css/app.css.map new file mode 100644 index 0000000..bc20a8c --- /dev/null +++ b/public/assets/css/app.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["app.css","_bootstrap.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_normalize.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_print.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_scaffolding.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_vendor-prefixes.scss","_variables.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_tab-focus.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_image.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_type.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_background-variant.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_clearfix.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_text-overflow.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_code.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_grid.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_grid.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_grid-framework.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_tables.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_table-row.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_forms.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_forms.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_buttons.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_buttons.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_opacity.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_component-animations.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_dropdowns.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_nav-divider.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_reset-filter.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_button-groups.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_border-radius.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_input-groups.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_navs.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_navbar.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_nav-vertical-align.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_breadcrumbs.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_pagination.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_pagination.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_pager.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_labels.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_labels.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_badges.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_jumbotron.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_thumbnails.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_alerts.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_alerts.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_media.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_list-group.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_list-group.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_panels.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_panels.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_responsive-embed.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_wells.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_close.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_utilities.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_center-block.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_hide-text.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_responsive-utilities.scss","../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_responsive-visibility.scss","_bootstrap-theme.scss","_font-awesome.scss","_sb-admin-2.scss","app.scss"],"names":[],"mappings":"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,mBjBiJmC,EgBpFpC;EAFD;ICvDI,YjB2IiC;IiB1IjC,0BAAwB;IACpB,sBAAoB,EACzB;EDoDH;IClDI,YjBsIiC;IiBrIjC,0BAAwB;IACpB,sBAAoB,EACzB;ED+CH;;IC3CI,YjB+HiC;IiB9HjC,0BAAwB;IACpB,sBAAoB,EASzB;IDgCH;;;;MCpCM,YjBwH+B;MiBvH/B,0BAAwB;MACpB,sBAAoB,EACzB;EDiCL;;IC5BI,uBAAuB,EACxB;ED2BH;;;;ICpBM,uBjByG+B;IiBxG3B,mBjByG2B,EiBxGhC;EDkBL;ICdI,YjBmGiC;IiBlGjC,uBjBiGiC,EiBhGlC;;ADeH;EChEE,YjBqJmC;EiBpJnC,0BjBU4B;EiBT5B,sBjBqJqC,EgBrFtC;EAFD;IC1DI,YjB+IiC;IiB9IjC,0BAAwB;IACpB,sBAAoB,EACzB;EDuDH;ICrDI,YjB0IiC;IiBzIjC,0BAAwB;IACpB,sBAAoB,EACzB;EDkDH;;IC9CI,YjBmIiC;IiBlIjC,0BAAwB;IACpB,sBAAoB,EASzB;IDmCH;;;;MCvCM,YjB4H+B;MiB3H/B,0BAAwB;MACpB,sBAAoB,EACzB;EDoCL;;IC/BI,uBAAuB,EACxB;ED8BH;;;;ICvBM,0BjB9BwB;IiB+BpB,sBjB6G6B,EiB5GlC;EAGH;IACE,ejBpC0B;IiBqC1B,uBjBqGiC,EiBpGlC;;ADmBH;ECpEE,YjByJmC;EiBxJnC,0BjBW6B;EiBV7B,sBjByJqC,EgBrFtC;EAFD;IC9DI,YjBmJiC;IiBlJjC,0BAAwB;IACpB,sBAAoB,EACzB;ED2DH;ICzDI,YjB8IiC;IiB7IjC,0BAAwB;IACpB,sBAAoB,EACzB;EDsDH;;IClDI,YjBuIiC;IiBtIjC,0BAAwB;IACpB,sBAAoB,EASzB;IDuCH;;;;MC3CM,YjBgI+B;MiB/H/B,0BAAwB;MACpB,sBAAoB,EACzB;EDwCL;;ICnCI,uBAAuB,EACxB;EDkCH;;;;IC3BM,0BjB7ByB;IiB8BrB,sBjBiH6B,EiBhHlC;EAGH;IACE,ejBnC2B;IiBoC3B,uBjByGiC,EiBxGlC;;ADuBH;ECxEE,YjB6JmC;EiB5JnC,0BjBY6B;EiBX7B,sBjB6JqC,EgBrFtC;EAFD;IClEI,YjBuJiC;IiBtJjC,0BAAwB;IACpB,sBAAoB,EACzB;ED+DH;IC7DI,YjBkJiC;IiBjJjC,0BAAwB;IACpB,sBAAoB,EACzB;ED0DH;;ICtDI,YjB2IiC;IiB1IjC,0BAAwB;IACpB,sBAAoB,EASzB;ID2CH;;;;MC/CM,YjBoI+B;MiBnI/B,0BAAwB;MACpB,sBAAoB,EACzB;ED4CL;;ICvCI,uBAAuB,EACxB;EDsCH;;;;IC/BM,0BjB5ByB;IiB6BrB,sBjBqH6B,EiBpHlC;EAGH;IACE,ejBlC2B;IiBmC3B,uBjB6GiC,EiB5GlC;;AD2BH;EC5EE,YjBiKmC;EiBhKnC,0BjBa6B;EiBZ7B,sBjBiKqC,EgBrFtC;EAFD;ICtEI,YjB2JiC;IiB1JjC,0BAAwB;IACpB,sBAAoB,EACzB;EDmEH;ICjEI,YjBsJiC;IiBrJjC,0BAAwB;IACpB,sBAAoB,EACzB;ED8DH;;IC1DI,YjB+IiC;IiB9IjC,0BAAwB;IACpB,sBAAoB,EASzB;ID+CH;;;;MCnDM,YjBwI+B;MiBvI/B,0BAAwB;MACpB,sBAAoB,EACzB;EDgDL;;IC3CI,uBAAuB,EACxB;ED0CH;;;;ICnCM,0BjB3ByB;IiB4BrB,sBjByH6B,EiBxHlC;EAGH;IACE,ejBjC2B;IiBkC3B,uBjBiHiC,EiBhHlC;;AD+BH;EChFE,YjBqKmC;EiBpKnC,0BjBc6B;EiBb7B,sBjBqKqC,EgBrFtC;EAFD;IC1EI,YjB+JiC;IiB9JjC,0BAAwB;IACpB,sBAAoB,EACzB;EDuEH;ICrEI,YjB0JiC;IiBzJjC,0BAAwB;IACpB,sBAAoB,EACzB;EDkEH;;IC9DI,YjBmJiC;IiBlJjC,0BAAwB;IACpB,sBAAoB,EASzB;IDmDH;;;;MCvDM,YjB4I+B;MiB3I/B,0BAAwB;MACpB,sBAAoB,EACzB;EDoDL;;IC/CI,uBAAuB,EACxB;ED8CH;;;;ICvCM,0BjB1ByB;IiB2BrB,sBjB6H6B,EiB5HlC;EDqCL;ICjCI,ejBhC2B;IiBiC3B,uBjBqHiC,EiBpHlC;;ADwCH;EACE,ehB/E4B;EgBgF5B,oBAAoB;EACpB,iBAAiB,EA8Bl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A4B;EAC5B,mBAA+B,EDwVhC;EATD;IChVE,iBAA4B;IAC5B,oBAA+B,EDoV9B;EALH;IChVE,iBAA4B;IAC5B,oBAA+B,EDuV9B;;AAQH;EChWE,iBAA4B;EAC5B,oBAA+B,EDuWhC;EALC;IAHF;MAII,YAAY;MACZ,kB3BIoC;M2BHpC,mB3BGoC,E2BDvC,EAAA;;AAWD;EACE;IACE,uBAAuB,EACxB;EACD;IACE,wBAAwB;IAC1B,oB3BhBsC,E2BqBrC;IAPD;MAKI,gBAAgB,EACjB,EAAA;;AASL;EACE,0B3BzBwC;E2B0BxC,sB3BzBuC,E2ByJxC;EAlID;IAKI,Y3BzB2C,E2B+B5C;IAXH;MAQM,e3BlB2C;M2BmB3C,8B3BlBgD,E2BmBjD;EAGH;IACE,Y3BvCmC,E2BwCpC;EAGQ;IACL,Y3BvCyC,E2B8C1C;IA1BL;MAuBQ,Y3B1CuC;M2B2CvC,8B3B1C8C,E2B2C/C;EAzBP;IA+BQ,Y3BhDuC;I2BiDvC,0B3BhDyC,E2BiD1C;EAEW;IAIV,Y3BtDuC;I2BuDvC,8B3BtD8C,E2BuD/C;EAIL;IACE,mB3BlD2C,E2B0D5C;IATD;MAII,uB3BvDyC,E2BwD1C;IACD;MACE,uB3BzDyC,E2B0D1C;EArDL;;IA0DI,sB3BjFqC,E2BkFtC;EA3DH;IAoEQ,0B3BpFyC;I2BqFzC,Y3BtFuC,E2BuFxC;EAGH;IAzEJ;MA6EU,Y3BjGqC,E2BuGtC;MAnFT;QAgFY,Y3BnGmC;Q2BoGnC,8B3BnG0C,E2BoG3C;IAlFX;MAwFY,Y3BzGmC;M2B0GnC,0B3BzGqC,E2B0GtC;IAEW;MAIV,Y3B/GmC;M2BgHnC,8B3B/G0C,E2BgH3C,EAAA;EAlGX;IA8GI,Y3BlI2C,E2BsI5C;IAlHH;MAgHM,Y3BnIyC,E2BoI1C;EAjHL;IAqHI,Y3BzI2C,E2BqJ5C;IAbD;MAII,Y3B3IyC,E2B4I1C;IALH;;;MAUM,Y3B7IuC,E2B8IxC;;AAOP;EACE,uB3BrI8C;E2BsI9C,sB3BrIgD,E2BsQjD;EAnID;IAKI,e3BrI+C,E2B2IhD;IAXH;MAQM,Y3B9H0C;M2B+H1C,8B3B9HiD,E2B+HlD;EAGH;IACE,e3BnJ+C,E2BoJhD;EAGQ;IACL,e3BnJ6C,E2B0J9C;IA1BL;MAuBQ,Y3BtJwC;M2BuJxC,8B3BtJ+C,E2BuJhD;EAzBP;IA+BQ,Y3B9JwC;I2B+JxC,0B3B5J0C,E2B6J3C;EAEW;IAIV,Y3BlKwC;I2BmKxC,8B3BlK+C,E2BmKhD;EAKL;IACE,mB3B/J4C,E2BuK7C;IATD;MAII,uB3BpK0C,E2BqK3C;IACD;MACE,uB3BtK0C,E2BuK3C;EAtDL;;IA2DI,sBAAoB,EACrB;EA5DH;IAoEQ,0B3BhM0C;I2BiM1C,Y3BpMwC,E2BqMzC;EAGH;IAzEJ;MA6EU,sB3BhNwC,E2BiNzC;IACD;MACE,0B3BnNwC,E2BoNzC;IAjFT;MAmFU,e3BnNyC,E2ByN1C;MAPM;QAIH,Y3BrNoC;Q2BsNpC,8B3BrN2C,E2BsN5C;IAxFX;MA8FY,Y3B7NoC;M2B8NpC,0B3B3NsC,E2B4NvC;IAEW;MAIV,Y3BjOoC;M2BkOpC,8B3BjO2C,E2BkO5C,EAAA;EAxGX;IA+GI,e3B/O+C,E2BmPhD;IAnHH;MAiHM,Y3BhP0C,E2BiP3C;EAlHL;IAsHI,e3BtP+C,E2BkQhD;IAlIH;MAyHM,Y3BxP0C,E2ByP3C;IALH;;;MAUM,Y3B1PwC,E2B2PzC;;AE7oBP;EACE,kB7BqxBkC;E6BpxBlC,oB7B0D6B;E6BzD7B,iBAAiB;EACjB,0B7BoxBqC;E6BnxBrC,mB7BmG6B,E6BlF9B;EAfG;IACA,sBAAsB,EASvB;IAPK;MAGF,cAA2C;MAC3C,eAAe;MACf,Y7B2wB8B,E6B1wB/B;EAhBL;IAoBI,e7BX4B,E6BY7B;;ACvBH;EACE,sBAAsB;EACtB,gBAAgB;EAChB,eAA+B;EAC/B,mB9BsG6B,E8BlC9B;EAxED;IAOI,gBAAgB,EA0BjB;IAjCH;;MAUM,mBAAmB;MACnB,YAAY;MACZ,kB9BgF0B;M8B/E1B,yB9B+C+B;M8B9C/B,sBAAsB;MACtB,e9BDwB;M8BExB,uB9BobqC;M8BnbrC,uB9BobqC;M8BnbrC,kBAAkB,EACnB;IAEG;;MAEA,eAAe;MNXrB,+BxB8F6B;MwB7F1B,4BxB6F0B,E8BjFxB;IAzBP;;MNIE,gCxBsG6B;MwBrG1B,6BxBq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;I4ChfpC,sB5CifmC,E4CxepC;IDkPH;MCxPM,0B5C8eiC,E4C7elC;IACD;MACE,e5C0ekC;M4CzelC,0B5CwekC,E4CvenC;EDmPL;IC/OM,6B5CqeiC,E4CpelC;;ADiPL;ECnQE,sB5C0fqC,E2CrPtC;ECnQK;IACF,e5CqfoC;I4CpfpC,0B5CqfoC;I4CpfpC,sB5CqfmC,E4C5epC;IDqPH;MC3PM,0B5CkfiC,E4CjflC;ID0PL;MCxPM,e5C8ekC;M4C7elC,0B5C4ekC,E4C3enC;EAGmB;IAClB,6B5CyeiC,E4CxelC;;ADoPL;ECtQE,sB5C8fqC,E2CtPtC;EAFD;ICnQI,e5CyfoC;I4CxfpC,0B5CyfoC;I4CxfpC,sB5CyfmC,E4ChfpC;IAPqB;MAClB,0B5CsfiC,E4CrflC;ID6PL;MC3PM,e5CkfkC;M4CjflC,0B5CgfkC,E4C/enC;EAGmB;IAClB,6B5C6eiC,E4C5elC;;ADuPL;ECzQE,sB5CkgBqC,E2CvPtC;ECzQK;IACF,e5C6foC;I4C5fpC,0B5C6foC;I4C5fpC,sB5C6fmC,E4CpfpC;ID2PH;MCjQM,0B5C0fiC,E4CzflC;IACD;MACE,e5CsfkC;M4CrflC,0B5CofkC,E4CnfnC;ED4PL;ICxPM,6B5CifiC,E4ChflC;;ACjBL;EACE,mBAAmB;EACnB,eAAe;EACf,UAAU;EACV,WAAW;EACX,iBAAiB,EAelB;EApBD;;;;;IAYI,mBAAmB;IACnB,OAAO;IACP,QAAQ;IACR,UAAU;IACV,aAAa;IACb,YAAY;IACZ,UAAU,EACX;;AAIH;EACE,uBAAuB,EACxB;;AAGD;EACE,oBAAoB,EACrB;;AC5BD;EACE,iBAAiB;EACjB,cAAc;EACd,oBAAoB;EACpB,0B9CqvBmC;E8CpvBnC,0B9CqvBkC;E8CpvBlC,mB9CiG6B;EDxCrB,gD+CxDgC,EAKzC;EAJC;IACE,mBAAmB;IACnB,kCAAkB,EACnB;;AAIH;EACE,cAAc;EACd,mB9CuF6B,E8CtF9B;;AACD;EACE,aAAa;EACb,mB9CoF6B,E8CnF9B;;ACvBD;EACE,aAAa;EACb,gBAA2B;EAC3B,kB/CmzBgC;E+ClzBhC,eAAe;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ED;EACI,mBAAmB,EACtB;;AAED;EACI;IACI,WAAW;IACX,mBAAmB;IACnB,aAAa;IACb,kBAAkB,EACrB;EAEiB;;;IAGd,kBAAkB,EACrB,EAAA;;AAGL;EACI,eAAe;EACf,8BAA8B;EAC9B,oBAAoB,EACvB;;AAEW;EACR,eAAe,EAClB;;AAED;EACI,eAAe,EAClB;;AAED;EACI,eAAe,EAClB;;AAED;EACI,eAAe,EAClB;;AAED;EACI,eAAe,EAClB;;AAED;;;;;EAKI,YAAY,EACf;;AAED;EACI,UAAU;EACV,WAAW;EACX,iBAAiB,EACpB;;AAEK;EACF,oBAAoB;EACpB,oBAAoB;EACpB,+BAA+B,EAClC;;AAED;EACI,kBAAkB,EACrB;;AAEc;EACX,mBAAmB,EACtB;;AAEmB;EAChB,UAAU,EACb;;AAED;;EAEI,kBAAkB,EACrB;;AAED;EACI,cAAc;EACd,mBAAmB,EACtB;;AAED;EACI,eAAe;EACf,cAAc,EACjB;;AAED;EACI,YAAY;EACZ,aAAa,EAChB;;AAED;;;;;EAKI,gBAAgB,EACnB;;AAED;EACI,iBAAiB;EACjB,aAAa;EACb,yBAAyB,EAC5B;;AAED;EACI,iBAAiB;EACjB,aAAa;EACb,yBAAyB,EAC5B;;AAED;EACI,iBAAiB;EACjB,aAAa;EACb,yBAAyB;EACzB,6BAAW,EACd;;AAED;EACI,YAAY;EACZ,aAAa;EACb,eAAe;EACf,oBAAoB;EACpB,mBAAmB;EACnB,gBAAgB;EAChB,yBAAyB,EAC5B;;AAEU;EACP,YAAY;EACZ,aAAa;EACb,mBAAmB;EACnB,oBAAoB;EACpB,gBAAgB;EAChB,kBAAkB,EACrB;;AAEU;EACP,YAAY;EACZ,aAAa;EACb,mBAAmB;EACnB,oBAAoB;EACpB,gBAAgB;EAChB,kBAAkB,EACrB;;AAEsB;EACnB,kBAAkB;EAClB,qBAAqB;EACrB,uBAAuB;EACvB,kCAAgC,EACnC;;AAED;EACI,eAAe,EAClB;;AAED;EACI,gBAAgB,EACnB;;AAED;EACI,sBAAsB,EACzB;;AAED;EACI,sBAAsB;EACtB,YAAY;EACZ,0BAA0B,EAC7B;;AAED;EACI,eAAe,EAClB;;AAED;EACI,eAAe,EAClB;;AAED;EACI,sBAAsB,EACzB;;AAED;EACI,sBAAsB;EACtB,YAAY;EACZ,0BAA0B,EAC7B;;AAEU;EACP,eAAe,EAClB;;AAED;EACI,eAAe,EAClB;;AAED;EACI,sBAAsB,EACzB;;AAED;EACI,sBAAsB;EACtB,YAAY;EACZ,0BAA0B,EAC7B;;AAEa;EACV,eAAe,EAClB;;AAEc;EACX,eAAe,EAClB;;AAED;EACI,aAAa,EAChB;;AAED;EACI,gBAAgB,EACnB;;AC3VD;;;;;GAKG;AAMH;EACI,iBAAiB,EACpB;;AAMD;EACI,iBAAiB,EACpB;;AAED;EACI,iBAAiB,EACpB;;AAED;EACI,cAAc;EACd,iBAAiB,EACpB;;AAEC;EACE,eAAe,EAClB;;AAED;EACI,kBAAkB,EACrB;;AAED;EACI,aAAa;EACb,aAAa,EAChB;;AAED;EACI,kBAAkB,EACrB;;AAEoB;EACjB,cAAc,EACjB;;AAED;EACI,YAAY;EACZ,iCAAiC;EACjC,eAAe;EACf,aAAa,EAChB;;AAED;EACI,eAAe,EAClB;;AAED;EACI;IACI,mBAAmB;IACnB,WAAW,EACd;EACL;;;OAGO;EAEH;IACI,cAAc,EACjB;EAED;IACI,eAAe,EAClB;EAED;IACI,gBAAgB;IAChB,aAAa;IACb,iBAAiB,EACpB;EAED;IACI,WAAW,EACd;EAED;;;;;;OAMG,EAAA;;AAGP;EACI,eAAe;EACf,qBAAqB,EACxB;;AAED;EACI,iBAAiB;EACjB,iBAAiB,EACpB;;AAED;EACI,mBAAkB,EACrB;;AAED;EACI,mBAAmB,EACtB;;AAED;EACI,kBAAkB,EACrB;;AAED;EACI,gBAAgB,EACnB;;AAEC;EACE,gBAAgB;EAChB,oBAAoB;EACpB,UAAU,EACb;;AAED;EACI,gBAAgB,EACnB;;AAED;EACI,iBAAiB,EACpB;;AAED;EACI;IACI,mBAAmB,EACtB,EAAA;;AAGoB;EACrB,sBAAsB;EACtB,uBAAuB,EAC1B;;AAED;EACI,aAAa;EACb,iBAAiB,EACpB;;AACD;;;;;;;GAOG;AAGH;EACI;IACI,eAAe,EAClB,EAAA","file":"app.css","sourcesContent":["@charset \"UTF-8\";\n/*!\n * Bootstrap v3.3.6 (http://getbootstrap.com)\n * Copyright 2011-2015 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%; }\n\nbody {\n margin: 0; }\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block; }\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n vertical-align: baseline; }\n\naudio:not([controls]) {\n display: none;\n height: 0; }\n\n[hidden],\ntemplate {\n display: none; }\n\na {\n background-color: transparent; }\n\na:active,\na:hover {\n outline: 0; }\n\nabbr[title] {\n border-bottom: 1px dotted; }\n\nb,\nstrong {\n font-weight: bold; }\n\ndfn {\n font-style: italic; }\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0; }\n\nmark {\n background: #ff0;\n color: #000; }\n\nsmall {\n font-size: 80%; }\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline; }\n\nsup {\n top: -0.5em; }\n\nsub {\n bottom: -0.25em; }\n\nimg {\n border: 0; }\n\nsvg:not(:root) {\n overflow: hidden; }\n\nfigure {\n margin: 1em 40px; }\n\nhr {\n box-sizing: content-box;\n height: 0; }\n\npre {\n overflow: auto; }\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em; }\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit;\n font: inherit;\n margin: 0; }\n\nbutton {\n overflow: visible; }\n\nbutton,\nselect {\n text-transform: none; }\n\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n cursor: pointer; }\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default; }\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0; }\n\ninput {\n line-height: normal; }\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0; }\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto; }\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n box-sizing: content-box; }\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none; }\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em; }\n\nlegend {\n border: 0;\n padding: 0; }\n\ntextarea {\n overflow: auto; }\n\noptgroup {\n font-weight: bold; }\n\ntable {\n border-collapse: collapse;\n border-spacing: 0; }\n\ntd,\nth {\n padding: 0; }\n\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n *,\n *:before,\n *:after {\n background: transparent !important;\n color: #000 !important;\n box-shadow: none !important;\n text-shadow: none !important; }\n a,\n a:visited {\n text-decoration: underline; }\n a[href]:after {\n content: \" (\" attr(href) \")\"; }\n abbr[title]:after {\n content: \" (\" attr(title) \")\"; }\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\"; }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid; }\n thead {\n display: table-header-group; }\n tr,\n img {\n page-break-inside: avoid; }\n img {\n max-width: 100% !important; }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3; }\n h2,\n h3 {\n page-break-after: avoid; }\n .navbar {\n display: none; }\n .btn > .caret,\n .dropup > .btn > .caret {\n border-top-color: #000 !important; }\n .label {\n border: 1px solid #000; }\n .table {\n border-collapse: collapse !important; }\n .table td,\n .table th {\n background-color: #fff !important; }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important; } }\n\n* {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box; }\n\n*:before,\n*:after {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box; }\n\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: transparent; }\n\nbody {\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.428571429;\n color: #333333;\n background-color: #fff; }\n\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit; }\n\na {\n color: #337ab7;\n text-decoration: none; }\n a:hover, a:focus {\n color: #23527c;\n text-decoration: underline; }\n a:focus {\n outline: thin dotted;\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px; }\n\nfigure {\n margin: 0; }\n\nimg {\n vertical-align: middle; }\n\n.img-responsive {\n display: block;\n max-width: 100%;\n height: auto; }\n\n.img-rounded {\n border-radius: 6px; }\n\n.img-thumbnail {\n padding: 4px;\n line-height: 1.428571429;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n display: inline-block;\n max-width: 100%;\n height: auto; }\n\n.img-circle {\n border-radius: 50%; }\n\nhr {\n margin-top: 20px;\n margin-bottom: 20px;\n border: 0;\n border-top: 1px solid #eeeeee; }\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0; }\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto; }\n\n[role=\"button\"] {\n cursor: pointer; }\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit; }\n h1 small,\n h1 .small, h2 small,\n h2 .small, h3 small,\n h3 .small, h4 small,\n h4 .small, h5 small,\n h5 .small, h6 small,\n h6 .small,\n .h1 small,\n .h1 .small, .h2 small,\n .h2 .small, .h3 small,\n .h3 .small, .h4 small,\n .h4 .small, .h5 small,\n .h5 .small, .h6 small,\n .h6 .small {\n font-weight: normal;\n line-height: 1;\n color: #777777; }\n\nh1, .h1,\nh2, .h2,\nh3, .h3 {\n margin-top: 20px;\n margin-bottom: 10px; }\n h1 small,\n h1 .small, .h1 small,\n .h1 .small,\n h2 small,\n h2 .small, .h2 small,\n .h2 .small,\n h3 small,\n h3 .small, .h3 small,\n .h3 .small {\n font-size: 65%; }\n\nh4, .h4,\nh5, .h5,\nh6, .h6 {\n margin-top: 10px;\n margin-bottom: 10px; }\n h4 small,\n h4 .small, .h4 small,\n .h4 .small,\n h5 small,\n h5 .small, .h5 small,\n .h5 .small,\n h6 small,\n h6 .small, .h6 small,\n .h6 .small {\n font-size: 75%; }\n\nh1, .h1 {\n font-size: 36px; }\n\nh2, .h2 {\n font-size: 30px; }\n\nh3, .h3 {\n font-size: 24px; }\n\nh4, .h4 {\n font-size: 18px; }\n\nh5, .h5 {\n font-size: 14px; }\n\nh6, .h6 {\n font-size: 12px; }\n\np {\n margin: 0 0 10px; }\n\n.lead {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 300;\n line-height: 1.4; }\n @media (min-width: 768px) {\n .lead {\n font-size: 21px; } }\n\nsmall,\n.small {\n font-size: 85%; }\n\nmark,\n.mark {\n background-color: #fcf8e3;\n padding: .2em; }\n\n.text-left {\n text-align: left; }\n\n.text-right {\n text-align: right; }\n\n.text-center {\n text-align: center; }\n\n.text-justify {\n text-align: justify; }\n\n.text-nowrap {\n white-space: nowrap; }\n\n.text-lowercase {\n text-transform: lowercase; }\n\n.text-uppercase, .initialism {\n text-transform: uppercase; }\n\n.text-capitalize {\n text-transform: capitalize; }\n\n.text-muted {\n color: #777777; }\n\n.text-primary {\n color: #337ab7; }\n\na.text-primary:hover,\na.text-primary:focus {\n color: #286090; }\n\n.text-success {\n color: #3c763d; }\n\na.text-success:hover,\na.text-success:focus {\n color: #2b542c; }\n\n.text-info {\n color: #31708f; }\n\na.text-info:hover,\na.text-info:focus {\n color: #245269; }\n\n.text-warning {\n color: #8a6d3b; }\n\na.text-warning:hover,\na.text-warning:focus {\n color: #66512c; }\n\n.text-danger {\n color: #a94442; }\n\na.text-danger:hover,\na.text-danger:focus {\n color: #843534; }\n\n.bg-primary {\n color: #fff; }\n\n.bg-primary {\n background-color: #337ab7; }\n\na.bg-primary:hover,\na.bg-primary:focus {\n background-color: #286090; }\n\n.bg-success {\n background-color: #dff0d8; }\n\na.bg-success:hover,\na.bg-success:focus {\n background-color: #c1e2b3; }\n\n.bg-info {\n background-color: #d9edf7; }\n\na.bg-info:hover,\na.bg-info:focus {\n background-color: #afd9ee; }\n\n.bg-warning {\n background-color: #fcf8e3; }\n\na.bg-warning:hover,\na.bg-warning:focus {\n background-color: #f7ecb5; }\n\n.bg-danger {\n background-color: #f2dede; }\n\na.bg-danger:hover,\na.bg-danger:focus {\n background-color: #e4b9b9; }\n\n.page-header {\n padding-bottom: 9px;\n margin: 40px 0 20px;\n border-bottom: 1px solid #eeeeee; }\n\nul,\nol {\n margin-top: 0;\n margin-bottom: 10px; }\n ul ul,\n ul ol,\n ol ul,\n ol ol {\n margin-bottom: 0; }\n\n.list-unstyled {\n padding-left: 0;\n list-style: none; }\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n margin-left: -5px; }\n .list-inline > li {\n display: inline-block;\n padding-left: 5px;\n padding-right: 5px; }\n\ndl {\n margin-top: 0;\n margin-bottom: 20px; }\n\ndt,\ndd {\n line-height: 1.428571429; }\n\ndt {\n font-weight: bold; }\n\ndd {\n margin-left: 0; }\n\n.dl-horizontal dd:before, .dl-horizontal dd:after {\n content: \" \";\n display: table; }\n\n.dl-horizontal dd:after {\n clear: both; }\n\n@media (min-width: 768px) {\n .dl-horizontal dt {\n float: left;\n width: 160px;\n clear: left;\n text-align: right;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap; }\n .dl-horizontal dd {\n margin-left: 180px; } }\n\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n border-bottom: 1px dotted #777777; }\n\n.initialism {\n font-size: 90%; }\n\nblockquote {\n padding: 10px 20px;\n margin: 0 0 20px;\n font-size: 17.5px;\n border-left: 5px solid #eeeeee; }\n blockquote p:last-child,\n blockquote ul:last-child,\n blockquote ol:last-child {\n margin-bottom: 0; }\n blockquote footer,\n blockquote small,\n blockquote .small {\n display: block;\n font-size: 80%;\n line-height: 1.428571429;\n color: #777777; }\n blockquote footer:before,\n blockquote small:before,\n blockquote .small:before {\n content: '\\2014 \\00A0'; }\n\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n border-right: 5px solid #eeeeee;\n border-left: 0;\n text-align: right; }\n .blockquote-reverse footer:before,\n .blockquote-reverse small:before,\n .blockquote-reverse .small:before,\n blockquote.pull-right footer:before,\n blockquote.pull-right small:before,\n blockquote.pull-right .small:before {\n content: ''; }\n .blockquote-reverse footer:after,\n .blockquote-reverse small:after,\n .blockquote-reverse .small:after,\n blockquote.pull-right footer:after,\n blockquote.pull-right small:after,\n blockquote.pull-right .small:after {\n content: '\\00A0 \\2014'; }\n\naddress {\n margin-bottom: 20px;\n font-style: normal;\n line-height: 1.428571429; }\n\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace; }\n\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #c7254e;\n background-color: #f9f2f4;\n border-radius: 4px; }\n\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: #fff;\n background-color: #333;\n border-radius: 3px;\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); }\n kbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n box-shadow: none; }\n\npre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.428571429;\n word-break: break-all;\n word-wrap: break-word;\n color: #333333;\n background-color: #f5f5f5;\n border: 1px solid #ccc;\n border-radius: 4px; }\n pre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0; }\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll; }\n\n.container {\n margin-right: auto;\n margin-left: auto;\n padding-left: 15px;\n padding-right: 15px; }\n .container:before, .container:after {\n content: \" \";\n display: table; }\n .container:after {\n clear: both; }\n @media (min-width: 768px) {\n .container {\n width: 750px; } }\n @media (min-width: 992px) {\n .container {\n width: 970px; } }\n @media (min-width: 1200px) {\n .container {\n width: 1170px; } }\n\n.container-fluid {\n margin-right: auto;\n margin-left: auto;\n padding-left: 15px;\n padding-right: 15px; }\n .container-fluid:before, .container-fluid:after {\n content: \" \";\n display: table; }\n .container-fluid:after {\n clear: both; }\n\n.row {\n margin-left: -15px;\n margin-right: -15px; }\n .row:before, .row:after {\n content: \" \";\n display: table; }\n .row:after {\n clear: both; }\n\n.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {\n position: relative;\n min-height: 1px;\n padding-left: 15px;\n padding-right: 15px; }\n\n.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {\n float: left; }\n\n.col-xs-1 {\n width: 8.3333333333%; }\n\n.col-xs-2 {\n width: 16.6666666667%; }\n\n.col-xs-3 {\n width: 25%; }\n\n.col-xs-4 {\n width: 33.3333333333%; }\n\n.col-xs-5 {\n width: 41.6666666667%; }\n\n.col-xs-6 {\n width: 50%; }\n\n.col-xs-7 {\n width: 58.3333333333%; }\n\n.col-xs-8 {\n width: 66.6666666667%; }\n\n.col-xs-9 {\n width: 75%; }\n\n.col-xs-10 {\n width: 83.3333333333%; }\n\n.col-xs-11 {\n width: 91.6666666667%; }\n\n.col-xs-12 {\n width: 100%; }\n\n.col-xs-pull-0 {\n right: auto; }\n\n.col-xs-pull-1 {\n right: 8.3333333333%; }\n\n.col-xs-pull-2 {\n right: 16.6666666667%; }\n\n.col-xs-pull-3 {\n right: 25%; }\n\n.col-xs-pull-4 {\n right: 33.3333333333%; }\n\n.col-xs-pull-5 {\n right: 41.6666666667%; }\n\n.col-xs-pull-6 {\n right: 50%; }\n\n.col-xs-pull-7 {\n right: 58.3333333333%; }\n\n.col-xs-pull-8 {\n right: 66.6666666667%; }\n\n.col-xs-pull-9 {\n right: 75%; }\n\n.col-xs-pull-10 {\n right: 83.3333333333%; }\n\n.col-xs-pull-11 {\n right: 91.6666666667%; }\n\n.col-xs-pull-12 {\n right: 100%; }\n\n.col-xs-push-0 {\n left: auto; }\n\n.col-xs-push-1 {\n left: 8.3333333333%; }\n\n.col-xs-push-2 {\n left: 16.6666666667%; }\n\n.col-xs-push-3 {\n left: 25%; }\n\n.col-xs-push-4 {\n left: 33.3333333333%; }\n\n.col-xs-push-5 {\n left: 41.6666666667%; }\n\n.col-xs-push-6 {\n left: 50%; }\n\n.col-xs-push-7 {\n left: 58.3333333333%; }\n\n.col-xs-push-8 {\n left: 66.6666666667%; }\n\n.col-xs-push-9 {\n left: 75%; }\n\n.col-xs-push-10 {\n left: 83.3333333333%; }\n\n.col-xs-push-11 {\n left: 91.6666666667%; }\n\n.col-xs-push-12 {\n left: 100%; }\n\n.col-xs-offset-0 {\n margin-left: 0%; }\n\n.col-xs-offset-1 {\n margin-left: 8.3333333333%; }\n\n.col-xs-offset-2 {\n margin-left: 16.6666666667%; }\n\n.col-xs-offset-3 {\n margin-left: 25%; }\n\n.col-xs-offset-4 {\n margin-left: 33.3333333333%; }\n\n.col-xs-offset-5 {\n margin-left: 41.6666666667%; }\n\n.col-xs-offset-6 {\n margin-left: 50%; }\n\n.col-xs-offset-7 {\n margin-left: 58.3333333333%; }\n\n.col-xs-offset-8 {\n margin-left: 66.6666666667%; }\n\n.col-xs-offset-9 {\n margin-left: 75%; }\n\n.col-xs-offset-10 {\n margin-left: 83.3333333333%; }\n\n.col-xs-offset-11 {\n margin-left: 91.6666666667%; }\n\n.col-xs-offset-12 {\n margin-left: 100%; }\n\n@media (min-width: 768px) {\n .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {\n float: left; }\n .col-sm-1 {\n width: 8.3333333333%; }\n .col-sm-2 {\n width: 16.6666666667%; }\n .col-sm-3 {\n width: 25%; }\n .col-sm-4 {\n width: 33.3333333333%; }\n .col-sm-5 {\n width: 41.6666666667%; }\n .col-sm-6 {\n width: 50%; }\n .col-sm-7 {\n width: 58.3333333333%; }\n .col-sm-8 {\n width: 66.6666666667%; }\n .col-sm-9 {\n width: 75%; }\n .col-sm-10 {\n width: 83.3333333333%; }\n .col-sm-11 {\n width: 91.6666666667%; }\n .col-sm-12 {\n width: 100%; }\n .col-sm-pull-0 {\n right: auto; }\n .col-sm-pull-1 {\n right: 8.3333333333%; }\n .col-sm-pull-2 {\n right: 16.6666666667%; }\n .col-sm-pull-3 {\n right: 25%; }\n .col-sm-pull-4 {\n right: 33.3333333333%; }\n .col-sm-pull-5 {\n right: 41.6666666667%; }\n .col-sm-pull-6 {\n right: 50%; }\n .col-sm-pull-7 {\n right: 58.3333333333%; }\n .col-sm-pull-8 {\n right: 66.6666666667%; }\n .col-sm-pull-9 {\n right: 75%; }\n .col-sm-pull-10 {\n right: 83.3333333333%; }\n .col-sm-pull-11 {\n right: 91.6666666667%; }\n .col-sm-pull-12 {\n right: 100%; }\n .col-sm-push-0 {\n left: auto; }\n .col-sm-push-1 {\n left: 8.3333333333%; }\n .col-sm-push-2 {\n left: 16.6666666667%; }\n .col-sm-push-3 {\n left: 25%; }\n .col-sm-push-4 {\n left: 33.3333333333%; }\n .col-sm-push-5 {\n left: 41.6666666667%; }\n .col-sm-push-6 {\n left: 50%; }\n .col-sm-push-7 {\n left: 58.3333333333%; }\n .col-sm-push-8 {\n left: 66.6666666667%; }\n .col-sm-push-9 {\n left: 75%; }\n .col-sm-push-10 {\n left: 83.3333333333%; }\n .col-sm-push-11 {\n left: 91.6666666667%; }\n .col-sm-push-12 {\n left: 100%; }\n .col-sm-offset-0 {\n margin-left: 0%; }\n .col-sm-offset-1 {\n margin-left: 8.3333333333%; }\n .col-sm-offset-2 {\n margin-left: 16.6666666667%; }\n .col-sm-offset-3 {\n margin-left: 25%; }\n .col-sm-offset-4 {\n margin-left: 33.3333333333%; }\n .col-sm-offset-5 {\n margin-left: 41.6666666667%; }\n .col-sm-offset-6 {\n margin-left: 50%; }\n .col-sm-offset-7 {\n margin-left: 58.3333333333%; }\n .col-sm-offset-8 {\n margin-left: 66.6666666667%; }\n .col-sm-offset-9 {\n margin-left: 75%; }\n .col-sm-offset-10 {\n margin-left: 83.3333333333%; }\n .col-sm-offset-11 {\n margin-left: 91.6666666667%; }\n .col-sm-offset-12 {\n margin-left: 100%; } }\n\n@media (min-width: 992px) {\n .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {\n float: left; }\n .col-md-1 {\n width: 8.3333333333%; }\n .col-md-2 {\n width: 16.6666666667%; }\n .col-md-3 {\n width: 25%; }\n .col-md-4 {\n width: 33.3333333333%; }\n .col-md-5 {\n width: 41.6666666667%; }\n .col-md-6 {\n width: 50%; }\n .col-md-7 {\n width: 58.3333333333%; }\n .col-md-8 {\n width: 66.6666666667%; }\n .col-md-9 {\n width: 75%; }\n .col-md-10 {\n width: 83.3333333333%; }\n .col-md-11 {\n width: 91.6666666667%; }\n .col-md-12 {\n width: 100%; }\n .col-md-pull-0 {\n right: auto; }\n .col-md-pull-1 {\n right: 8.3333333333%; }\n .col-md-pull-2 {\n right: 16.6666666667%; }\n .col-md-pull-3 {\n right: 25%; }\n .col-md-pull-4 {\n right: 33.3333333333%; }\n .col-md-pull-5 {\n right: 41.6666666667%; }\n .col-md-pull-6 {\n right: 50%; }\n .col-md-pull-7 {\n right: 58.3333333333%; }\n .col-md-pull-8 {\n right: 66.6666666667%; }\n .col-md-pull-9 {\n right: 75%; }\n .col-md-pull-10 {\n right: 83.3333333333%; }\n .col-md-pull-11 {\n right: 91.6666666667%; }\n .col-md-pull-12 {\n right: 100%; }\n .col-md-push-0 {\n left: auto; }\n .col-md-push-1 {\n left: 8.3333333333%; }\n .col-md-push-2 {\n left: 16.6666666667%; }\n .col-md-push-3 {\n left: 25%; }\n .col-md-push-4 {\n left: 33.3333333333%; }\n .col-md-push-5 {\n left: 41.6666666667%; }\n .col-md-push-6 {\n left: 50%; }\n .col-md-push-7 {\n left: 58.3333333333%; }\n .col-md-push-8 {\n left: 66.6666666667%; }\n .col-md-push-9 {\n left: 75%; }\n .col-md-push-10 {\n left: 83.3333333333%; }\n .col-md-push-11 {\n left: 91.6666666667%; }\n .col-md-push-12 {\n left: 100%; }\n .col-md-offset-0 {\n margin-left: 0%; }\n .col-md-offset-1 {\n margin-left: 8.3333333333%; }\n .col-md-offset-2 {\n margin-left: 16.6666666667%; }\n .col-md-offset-3 {\n margin-left: 25%; }\n .col-md-offset-4 {\n margin-left: 33.3333333333%; }\n .col-md-offset-5 {\n margin-left: 41.6666666667%; }\n .col-md-offset-6 {\n margin-left: 50%; }\n .col-md-offset-7 {\n margin-left: 58.3333333333%; }\n .col-md-offset-8 {\n margin-left: 66.6666666667%; }\n .col-md-offset-9 {\n margin-left: 75%; }\n .col-md-offset-10 {\n margin-left: 83.3333333333%; }\n .col-md-offset-11 {\n margin-left: 91.6666666667%; }\n .col-md-offset-12 {\n margin-left: 100%; } }\n\n@media (min-width: 1200px) {\n .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {\n float: left; }\n .col-lg-1 {\n width: 8.3333333333%; }\n .col-lg-2 {\n width: 16.6666666667%; }\n .col-lg-3 {\n width: 25%; }\n .col-lg-4 {\n width: 33.3333333333%; }\n .col-lg-5 {\n width: 41.6666666667%; }\n .col-lg-6 {\n width: 50%; }\n .col-lg-7 {\n width: 58.3333333333%; }\n .col-lg-8 {\n width: 66.6666666667%; }\n .col-lg-9 {\n width: 75%; }\n .col-lg-10 {\n width: 83.3333333333%; }\n .col-lg-11 {\n width: 91.6666666667%; }\n .col-lg-12 {\n width: 100%; }\n .col-lg-pull-0 {\n right: auto; }\n .col-lg-pull-1 {\n right: 8.3333333333%; }\n .col-lg-pull-2 {\n right: 16.6666666667%; }\n .col-lg-pull-3 {\n right: 25%; }\n .col-lg-pull-4 {\n right: 33.3333333333%; }\n .col-lg-pull-5 {\n right: 41.6666666667%; }\n .col-lg-pull-6 {\n right: 50%; }\n .col-lg-pull-7 {\n right: 58.3333333333%; }\n .col-lg-pull-8 {\n right: 66.6666666667%; }\n .col-lg-pull-9 {\n right: 75%; }\n .col-lg-pull-10 {\n right: 83.3333333333%; }\n .col-lg-pull-11 {\n right: 91.6666666667%; }\n .col-lg-pull-12 {\n right: 100%; }\n .col-lg-push-0 {\n left: auto; }\n .col-lg-push-1 {\n left: 8.3333333333%; }\n .col-lg-push-2 {\n left: 16.6666666667%; }\n .col-lg-push-3 {\n left: 25%; }\n .col-lg-push-4 {\n left: 33.3333333333%; }\n .col-lg-push-5 {\n left: 41.6666666667%; }\n .col-lg-push-6 {\n left: 50%; }\n .col-lg-push-7 {\n left: 58.3333333333%; }\n .col-lg-push-8 {\n left: 66.6666666667%; }\n .col-lg-push-9 {\n left: 75%; }\n .col-lg-push-10 {\n left: 83.3333333333%; }\n .col-lg-push-11 {\n left: 91.6666666667%; }\n .col-lg-push-12 {\n left: 100%; }\n .col-lg-offset-0 {\n margin-left: 0%; }\n .col-lg-offset-1 {\n margin-left: 8.3333333333%; }\n .col-lg-offset-2 {\n margin-left: 16.6666666667%; }\n .col-lg-offset-3 {\n margin-left: 25%; }\n .col-lg-offset-4 {\n margin-left: 33.3333333333%; }\n .col-lg-offset-5 {\n margin-left: 41.6666666667%; }\n .col-lg-offset-6 {\n margin-left: 50%; }\n .col-lg-offset-7 {\n margin-left: 58.3333333333%; }\n .col-lg-offset-8 {\n margin-left: 66.6666666667%; }\n .col-lg-offset-9 {\n margin-left: 75%; }\n .col-lg-offset-10 {\n margin-left: 83.3333333333%; }\n .col-lg-offset-11 {\n margin-left: 91.6666666667%; }\n .col-lg-offset-12 {\n margin-left: 100%; } }\n\ntable {\n background-color: transparent; }\n\ncaption {\n padding-top: 8px;\n padding-bottom: 8px;\n color: #777777;\n text-align: left; }\n\nth {\n text-align: left; }\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 20px; }\n .table > thead > tr > th,\n .table > thead > tr > td,\n .table > tbody > tr > th,\n .table > tbody > tr > td,\n .table > tfoot > tr > th,\n .table > tfoot > tr > td {\n padding: 8px;\n line-height: 1.428571429;\n vertical-align: top;\n border-top: 1px solid #ddd; }\n .table > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid #ddd; }\n .table > caption + thead > tr:first-child > th,\n .table > caption + thead > tr:first-child > td,\n .table > colgroup + thead > tr:first-child > th,\n .table > colgroup + thead > tr:first-child > td,\n .table > thead:first-child > tr:first-child > th,\n .table > thead:first-child > tr:first-child > td {\n border-top: 0; }\n .table > tbody + tbody {\n border-top: 2px solid #ddd; }\n .table .table {\n background-color: #fff; }\n\n.table-condensed > thead > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > th,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > th,\n.table-condensed > tfoot > tr > td {\n padding: 5px; }\n\n.table-bordered {\n border: 1px solid #ddd; }\n .table-bordered > thead > tr > th,\n .table-bordered > thead > tr > td,\n .table-bordered > tbody > tr > th,\n .table-bordered > tbody > tr > td,\n .table-bordered > tfoot > tr > th,\n .table-bordered > tfoot > tr > td {\n border: 1px solid #ddd; }\n .table-bordered > thead > tr > th,\n .table-bordered > thead > tr > td {\n border-bottom-width: 2px; }\n\n.table-striped > tbody > tr:nth-of-type(odd) {\n background-color: #f9f9f9; }\n\n.table-hover > tbody > tr:hover {\n background-color: #f5f5f5; }\n\ntable col[class*=\"col-\"] {\n position: static;\n float: none;\n display: table-column; }\n\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n position: static;\n float: none;\n display: table-cell; }\n\n.table > thead > tr > td.active,\n.table > thead > tr > th.active,\n.table > thead > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr > td.active,\n.table > tbody > tr > th.active,\n.table > tbody > tr.active > td,\n.table > tbody > tr.active > th,\n.table > tfoot > tr > td.active,\n.table > tfoot > tr > th.active,\n.table > tfoot > tr.active > td,\n.table > tfoot > tr.active > th {\n background-color: #f5f5f5; }\n\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n background-color: #e8e8e8; }\n\n.table > thead > tr > td.success,\n.table > thead > tr > th.success,\n.table > thead > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr > td.success,\n.table > tbody > tr > th.success,\n.table > tbody > tr.success > td,\n.table > tbody > tr.success > th,\n.table > tfoot > tr > td.success,\n.table > tfoot > tr > th.success,\n.table > tfoot > tr.success > td,\n.table > tfoot > tr.success > th {\n background-color: #dff0d8; }\n\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n background-color: #d0e9c6; }\n\n.table > thead > tr > td.info,\n.table > thead > tr > th.info,\n.table > thead > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr > td.info,\n.table > tbody > tr > th.info,\n.table > tbody > tr.info > td,\n.table > tbody > tr.info > th,\n.table > tfoot > tr > td.info,\n.table > tfoot > tr > th.info,\n.table > tfoot > tr.info > td,\n.table > tfoot > tr.info > th {\n background-color: #d9edf7; }\n\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n background-color: #c4e3f3; }\n\n.table > thead > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr > td.warning,\n.table > tbody > tr > th.warning,\n.table > tbody > tr.warning > td,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr > td.warning,\n.table > tfoot > tr > th.warning,\n.table > tfoot > tr.warning > td,\n.table > tfoot > tr.warning > th {\n background-color: #fcf8e3; }\n\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n background-color: #faf2cc; }\n\n.table > thead > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr > td.danger,\n.table > tbody > tr > th.danger,\n.table > tbody > tr.danger > td,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr > td.danger,\n.table > tfoot > tr > th.danger,\n.table > tfoot > tr.danger > td,\n.table > tfoot > tr.danger > th {\n background-color: #f2dede; }\n\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n background-color: #ebcccc; }\n\n.table-responsive {\n overflow-x: auto;\n min-height: 0.01%; }\n @media screen and (max-width: 767px) {\n .table-responsive {\n width: 100%;\n margin-bottom: 15px;\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #ddd; }\n .table-responsive > .table {\n margin-bottom: 0; }\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > tfoot > tr > td {\n white-space: nowrap; }\n .table-responsive > .table-bordered {\n border: 0; }\n .table-responsive > .table-bordered > thead > tr > th:first-child,\n .table-responsive > .table-bordered > thead > tr > td:first-child,\n .table-responsive > .table-bordered > tbody > tr > th:first-child,\n .table-responsive > .table-bordered > tbody > tr > td:first-child,\n .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0; }\n .table-responsive > .table-bordered > thead > tr > th:last-child,\n .table-responsive > .table-bordered > thead > tr > td:last-child,\n .table-responsive > .table-bordered > tbody > tr > th:last-child,\n .table-responsive > .table-bordered > tbody > tr > td:last-child,\n .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0; }\n .table-responsive > .table-bordered > tbody > tr:last-child > th,\n .table-responsive > .table-bordered > tbody > tr:last-child > td,\n .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n border-bottom: 0; } }\n\nfieldset {\n padding: 0;\n margin: 0;\n border: 0;\n min-width: 0; }\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: 20px;\n font-size: 21px;\n line-height: inherit;\n color: #333333;\n border: 0;\n border-bottom: 1px solid #e5e5e5; }\n\nlabel {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 5px;\n font-weight: bold; }\n\ninput[type=\"search\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box; }\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9;\n line-height: normal; }\n\ninput[type=\"file\"] {\n display: block; }\n\ninput[type=\"range\"] {\n display: block;\n width: 100%; }\n\nselect[multiple],\nselect[size] {\n height: auto; }\n\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n outline: thin dotted;\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px; }\n\noutput {\n display: block;\n padding-top: 7px;\n font-size: 14px;\n line-height: 1.428571429;\n color: #555555; }\n\n.form-control {\n display: block;\n width: 100%;\n height: 34px;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.428571429;\n color: #555555;\n background-color: #fff;\n background-image: none;\n border: 1px solid #ccc;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;\n -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;\n transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; }\n .form-control:focus {\n border-color: #66afe9;\n outline: 0;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); }\n .form-control::-moz-placeholder {\n color: #999;\n opacity: 1; }\n .form-control:-ms-input-placeholder {\n color: #999; }\n .form-control::-webkit-input-placeholder {\n color: #999; }\n .form-control::-ms-expand {\n border: 0;\n background-color: transparent; }\n .form-control[disabled], .form-control[readonly],\n fieldset[disabled] .form-control {\n background-color: #eeeeee;\n opacity: 1; }\n .form-control[disabled],\n fieldset[disabled] .form-control {\n cursor: not-allowed; }\n\ntextarea.form-control {\n height: auto; }\n\ninput[type=\"search\"] {\n -webkit-appearance: none; }\n\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"].form-control,\n input[type=\"time\"].form-control,\n input[type=\"datetime-local\"].form-control,\n input[type=\"month\"].form-control {\n line-height: 34px; }\n input[type=\"date\"].input-sm, .input-group-sm > input[type=\"date\"].form-control,\n .input-group-sm > input[type=\"date\"].input-group-addon,\n .input-group-sm > .input-group-btn > input[type=\"date\"].btn,\n .input-group-sm input[type=\"date\"],\n input[type=\"time\"].input-sm,\n .input-group-sm > input[type=\"time\"].form-control,\n .input-group-sm > input[type=\"time\"].input-group-addon,\n .input-group-sm > .input-group-btn > input[type=\"time\"].btn,\n .input-group-sm\n input[type=\"time\"],\n input[type=\"datetime-local\"].input-sm,\n .input-group-sm > input[type=\"datetime-local\"].form-control,\n .input-group-sm > input[type=\"datetime-local\"].input-group-addon,\n .input-group-sm > .input-group-btn > input[type=\"datetime-local\"].btn,\n .input-group-sm\n input[type=\"datetime-local\"],\n input[type=\"month\"].input-sm,\n .input-group-sm > input[type=\"month\"].form-control,\n .input-group-sm > input[type=\"month\"].input-group-addon,\n .input-group-sm > .input-group-btn > input[type=\"month\"].btn,\n .input-group-sm\n input[type=\"month\"] {\n line-height: 30px; }\n input[type=\"date\"].input-lg, .input-group-lg > input[type=\"date\"].form-control,\n .input-group-lg > input[type=\"date\"].input-group-addon,\n .input-group-lg > .input-group-btn > input[type=\"date\"].btn,\n .input-group-lg input[type=\"date\"],\n input[type=\"time\"].input-lg,\n .input-group-lg > input[type=\"time\"].form-control,\n .input-group-lg > input[type=\"time\"].input-group-addon,\n .input-group-lg > .input-group-btn > input[type=\"time\"].btn,\n .input-group-lg\n input[type=\"time\"],\n input[type=\"datetime-local\"].input-lg,\n .input-group-lg > input[type=\"datetime-local\"].form-control,\n .input-group-lg > input[type=\"datetime-local\"].input-group-addon,\n .input-group-lg > .input-group-btn > input[type=\"datetime-local\"].btn,\n .input-group-lg\n input[type=\"datetime-local\"],\n input[type=\"month\"].input-lg,\n .input-group-lg > input[type=\"month\"].form-control,\n .input-group-lg > input[type=\"month\"].input-group-addon,\n .input-group-lg > .input-group-btn > input[type=\"month\"].btn,\n .input-group-lg\n input[type=\"month\"] {\n line-height: 46px; } }\n\n.form-group {\n margin-bottom: 15px; }\n\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px; }\n .radio label,\n .checkbox label {\n min-height: 20px;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: normal;\n cursor: pointer; }\n\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-left: -20px;\n margin-top: 4px \\9; }\n\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px; }\n\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n vertical-align: middle;\n font-weight: normal;\n cursor: pointer; }\n\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px; }\n\ninput[type=\"radio\"][disabled], input[type=\"radio\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled]\ninput[type=\"checkbox\"] {\n cursor: not-allowed; }\n\n.radio-inline.disabled,\nfieldset[disabled] .radio-inline,\n.checkbox-inline.disabled,\nfieldset[disabled]\n.checkbox-inline {\n cursor: not-allowed; }\n\n.radio.disabled label,\nfieldset[disabled] .radio label,\n.checkbox.disabled label,\nfieldset[disabled]\n.checkbox label {\n cursor: not-allowed; }\n\n.form-control-static {\n padding-top: 7px;\n padding-bottom: 7px;\n margin-bottom: 0;\n min-height: 34px; }\n .form-control-static.input-lg, .input-group-lg > .form-control-static.form-control,\n .input-group-lg > .form-control-static.input-group-addon,\n .input-group-lg > .input-group-btn > .form-control-static.btn, .form-control-static.input-sm, .input-group-sm > .form-control-static.form-control,\n .input-group-sm > .form-control-static.input-group-addon,\n .input-group-sm > .input-group-btn > .form-control-static.btn {\n padding-left: 0;\n padding-right: 0; }\n\n.input-sm, .input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px; }\n\nselect.input-sm, .input-group-sm > select.form-control,\n.input-group-sm > select.input-group-addon,\n.input-group-sm > .input-group-btn > select.btn {\n height: 30px;\n line-height: 30px; }\n\ntextarea.input-sm, .input-group-sm > textarea.form-control,\n.input-group-sm > textarea.input-group-addon,\n.input-group-sm > .input-group-btn > textarea.btn,\nselect[multiple].input-sm,\n.input-group-sm > select[multiple].form-control,\n.input-group-sm > select[multiple].input-group-addon,\n.input-group-sm > .input-group-btn > select[multiple].btn {\n height: auto; }\n\n.form-group-sm .form-control {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px; }\n\n.form-group-sm select.form-control {\n height: 30px;\n line-height: 30px; }\n\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n height: auto; }\n\n.form-group-sm .form-control-static {\n height: 30px;\n min-height: 32px;\n padding: 6px 10px;\n font-size: 12px;\n line-height: 1.5; }\n\n.input-lg, .input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px; }\n\nselect.input-lg, .input-group-lg > select.form-control,\n.input-group-lg > select.input-group-addon,\n.input-group-lg > .input-group-btn > select.btn {\n height: 46px;\n line-height: 46px; }\n\ntextarea.input-lg, .input-group-lg > textarea.form-control,\n.input-group-lg > textarea.input-group-addon,\n.input-group-lg > .input-group-btn > textarea.btn,\nselect[multiple].input-lg,\n.input-group-lg > select[multiple].form-control,\n.input-group-lg > select[multiple].input-group-addon,\n.input-group-lg > .input-group-btn > select[multiple].btn {\n height: auto; }\n\n.form-group-lg .form-control {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px; }\n\n.form-group-lg select.form-control {\n height: 46px;\n line-height: 46px; }\n\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n height: auto; }\n\n.form-group-lg .form-control-static {\n height: 46px;\n min-height: 38px;\n padding: 11px 16px;\n font-size: 18px;\n line-height: 1.3333333; }\n\n.has-feedback {\n position: relative; }\n .has-feedback .form-control {\n padding-right: 42.5px; }\n\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n display: block;\n width: 34px;\n height: 34px;\n line-height: 34px;\n text-align: center;\n pointer-events: none; }\n\n.input-lg + .form-control-feedback, .input-group-lg > .form-control + .form-control-feedback,\n.input-group-lg > .input-group-addon + .form-control-feedback,\n.input-group-lg > .input-group-btn > .btn + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: 46px;\n height: 46px;\n line-height: 46px; }\n\n.input-sm + .form-control-feedback, .input-group-sm > .form-control + .form-control-feedback,\n.input-group-sm > .input-group-addon + .form-control-feedback,\n.input-group-sm > .input-group-btn > .btn + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: 30px;\n height: 30px;\n line-height: 30px; }\n\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n color: #3c763d; }\n\n.has-success .form-control {\n border-color: #3c763d;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }\n .has-success .form-control:focus {\n border-color: #2b542c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; }\n\n.has-success .input-group-addon {\n color: #3c763d;\n border-color: #3c763d;\n background-color: #dff0d8; }\n\n.has-success .form-control-feedback {\n color: #3c763d; }\n\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n color: #8a6d3b; }\n\n.has-warning .form-control {\n border-color: #8a6d3b;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }\n .has-warning .form-control:focus {\n border-color: #66512c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; }\n\n.has-warning .input-group-addon {\n color: #8a6d3b;\n border-color: #8a6d3b;\n background-color: #fcf8e3; }\n\n.has-warning .form-control-feedback {\n color: #8a6d3b; }\n\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n color: #a94442; }\n\n.has-error .form-control {\n border-color: #a94442;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }\n .has-error .form-control:focus {\n border-color: #843534;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; }\n\n.has-error .input-group-addon {\n color: #a94442;\n border-color: #a94442;\n background-color: #f2dede; }\n\n.has-error .form-control-feedback {\n color: #a94442; }\n\n.has-feedback label ~ .form-control-feedback {\n top: 25px; }\n\n.has-feedback label.sr-only ~ .form-control-feedback {\n top: 0; }\n\n.help-block {\n display: block;\n margin-top: 5px;\n margin-bottom: 10px;\n color: #737373; }\n\n@media (min-width: 768px) {\n .form-inline .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle; }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle; }\n .form-inline .form-control-static {\n display: inline-block; }\n .form-inline .input-group {\n display: inline-table;\n vertical-align: middle; }\n .form-inline .input-group .input-group-addon,\n .form-inline .input-group .input-group-btn,\n .form-inline .input-group .form-control {\n width: auto; }\n .form-inline .input-group > .form-control {\n width: 100%; }\n .form-inline .control-label {\n margin-bottom: 0;\n vertical-align: middle; }\n .form-inline .radio,\n .form-inline .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle; }\n .form-inline .radio label,\n .form-inline .checkbox label {\n padding-left: 0; }\n .form-inline .radio input[type=\"radio\"],\n .form-inline .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0; }\n .form-inline .has-feedback .form-control-feedback {\n top: 0; } }\n\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n margin-top: 0;\n margin-bottom: 0;\n padding-top: 7px; }\n\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n min-height: 27px; }\n\n.form-horizontal .form-group {\n margin-left: -15px;\n margin-right: -15px; }\n .form-horizontal .form-group:before, .form-horizontal .form-group:after {\n content: \" \";\n display: table; }\n .form-horizontal .form-group:after {\n clear: both; }\n\n@media (min-width: 768px) {\n .form-horizontal .control-label {\n text-align: right;\n margin-bottom: 0;\n padding-top: 7px; } }\n\n.form-horizontal .has-feedback .form-control-feedback {\n right: 15px; }\n\n@media (min-width: 768px) {\n .form-horizontal .form-group-lg .control-label {\n padding-top: 11px;\n font-size: 18px; } }\n\n@media (min-width: 768px) {\n .form-horizontal .form-group-sm .control-label {\n padding-top: 6px;\n font-size: 12px; } }\n\n.btn {\n display: inline-block;\n margin-bottom: 0;\n font-weight: normal;\n text-align: center;\n vertical-align: middle;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none;\n border: 1px solid transparent;\n white-space: nowrap;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.428571429;\n border-radius: 4px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n .btn:focus, .btn.focus, .btn:active:focus, .btn:active.focus, .btn.active:focus, .btn.active.focus {\n outline: thin dotted;\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px; }\n .btn:hover, .btn:focus, .btn.focus {\n color: #333;\n text-decoration: none; }\n .btn:active, .btn.active {\n outline: 0;\n background-image: none;\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); }\n .btn.disabled, .btn[disabled],\n fieldset[disabled] .btn {\n cursor: not-allowed;\n opacity: 0.65;\n filter: alpha(opacity=65);\n -webkit-box-shadow: none;\n box-shadow: none; }\n\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none; }\n\n.btn-default {\n color: #333;\n background-color: #fff;\n border-color: #ccc; }\n .btn-default:focus, .btn-default.focus {\n color: #333;\n background-color: #e6e6e6;\n border-color: #8c8c8c; }\n .btn-default:hover {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad; }\n .btn-default:active, .btn-default.active,\n .open > .btn-default.dropdown-toggle {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad; }\n .btn-default:active:hover, .btn-default:active:focus, .btn-default:active.focus, .btn-default.active:hover, .btn-default.active:focus, .btn-default.active.focus,\n .open > .btn-default.dropdown-toggle:hover,\n .open > .btn-default.dropdown-toggle:focus,\n .open > .btn-default.dropdown-toggle.focus {\n color: #333;\n background-color: #d4d4d4;\n border-color: #8c8c8c; }\n .btn-default:active, .btn-default.active,\n .open > .btn-default.dropdown-toggle {\n background-image: none; }\n .btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default.disabled.focus, .btn-default[disabled]:hover, .btn-default[disabled]:focus, .btn-default[disabled].focus,\n fieldset[disabled] .btn-default:hover,\n fieldset[disabled] .btn-default:focus,\n fieldset[disabled] .btn-default.focus {\n background-color: #fff;\n border-color: #ccc; }\n .btn-default .badge {\n color: #fff;\n background-color: #333; }\n\n.btn-primary {\n color: #fff;\n background-color: #337ab7;\n border-color: #2e6da4; }\n .btn-primary:focus, .btn-primary.focus {\n color: #fff;\n background-color: #286090;\n border-color: #122b40; }\n .btn-primary:hover {\n color: #fff;\n background-color: #286090;\n border-color: #204d74; }\n .btn-primary:active, .btn-primary.active,\n .open > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #286090;\n border-color: #204d74; }\n .btn-primary:active:hover, .btn-primary:active:focus, .btn-primary:active.focus, .btn-primary.active:hover, .btn-primary.active:focus, .btn-primary.active.focus,\n .open > .btn-primary.dropdown-toggle:hover,\n .open > .btn-primary.dropdown-toggle:focus,\n .open > .btn-primary.dropdown-toggle.focus {\n color: #fff;\n background-color: #204d74;\n border-color: #122b40; }\n .btn-primary:active, .btn-primary.active,\n .open > .btn-primary.dropdown-toggle {\n background-image: none; }\n .btn-primary.disabled:hover, .btn-primary.disabled:focus, .btn-primary.disabled.focus, .btn-primary[disabled]:hover, .btn-primary[disabled]:focus, .btn-primary[disabled].focus,\n fieldset[disabled] .btn-primary:hover,\n fieldset[disabled] .btn-primary:focus,\n fieldset[disabled] .btn-primary.focus {\n background-color: #337ab7;\n border-color: #2e6da4; }\n .btn-primary .badge {\n color: #337ab7;\n background-color: #fff; }\n\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #4cae4c; }\n .btn-success:focus, .btn-success.focus {\n color: #fff;\n background-color: #449d44;\n border-color: #255625; }\n .btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #398439; }\n .btn-success:active, .btn-success.active,\n .open > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #449d44;\n border-color: #398439; }\n .btn-success:active:hover, .btn-success:active:focus, .btn-success:active.focus, .btn-success.active:hover, .btn-success.active:focus, .btn-success.active.focus,\n .open > .btn-success.dropdown-toggle:hover,\n .open > .btn-success.dropdown-toggle:focus,\n .open > .btn-success.dropdown-toggle.focus {\n color: #fff;\n background-color: #398439;\n border-color: #255625; }\n .btn-success:active, .btn-success.active,\n .open > .btn-success.dropdown-toggle {\n background-image: none; }\n .btn-success.disabled:hover, .btn-success.disabled:focus, .btn-success.disabled.focus, .btn-success[disabled]:hover, .btn-success[disabled]:focus, .btn-success[disabled].focus,\n fieldset[disabled] .btn-success:hover,\n fieldset[disabled] .btn-success:focus,\n fieldset[disabled] .btn-success.focus {\n background-color: #5cb85c;\n border-color: #4cae4c; }\n .btn-success .badge {\n color: #5cb85c;\n background-color: #fff; }\n\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #46b8da; }\n .btn-info:focus, .btn-info.focus {\n color: #fff;\n background-color: #31b0d5;\n border-color: #1b6d85; }\n .btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc; }\n .btn-info:active, .btn-info.active,\n .open > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc; }\n .btn-info:active:hover, .btn-info:active:focus, .btn-info:active.focus, .btn-info.active:hover, .btn-info.active:focus, .btn-info.active.focus,\n .open > .btn-info.dropdown-toggle:hover,\n .open > .btn-info.dropdown-toggle:focus,\n .open > .btn-info.dropdown-toggle.focus {\n color: #fff;\n background-color: #269abc;\n border-color: #1b6d85; }\n .btn-info:active, .btn-info.active,\n .open > .btn-info.dropdown-toggle {\n background-image: none; }\n .btn-info.disabled:hover, .btn-info.disabled:focus, .btn-info.disabled.focus, .btn-info[disabled]:hover, .btn-info[disabled]:focus, .btn-info[disabled].focus,\n fieldset[disabled] .btn-info:hover,\n fieldset[disabled] .btn-info:focus,\n fieldset[disabled] .btn-info.focus {\n background-color: #5bc0de;\n border-color: #46b8da; }\n .btn-info .badge {\n color: #5bc0de;\n background-color: #fff; }\n\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #eea236; }\n .btn-warning:focus, .btn-warning.focus {\n color: #fff;\n background-color: #ec971f;\n border-color: #985f0d; }\n .btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512; }\n .btn-warning:active, .btn-warning.active,\n .open > .btn-warning.dropdown-toggle {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512; }\n .btn-warning:active:hover, .btn-warning:active:focus, .btn-warning:active.focus, .btn-warning.active:hover, .btn-warning.active:focus, .btn-warning.active.focus,\n .open > .btn-warning.dropdown-toggle:hover,\n .open > .btn-warning.dropdown-toggle:focus,\n .open > .btn-warning.dropdown-toggle.focus {\n color: #fff;\n background-color: #d58512;\n border-color: #985f0d; }\n .btn-warning:active, .btn-warning.active,\n .open > .btn-warning.dropdown-toggle {\n background-image: none; }\n .btn-warning.disabled:hover, .btn-warning.disabled:focus, .btn-warning.disabled.focus, .btn-warning[disabled]:hover, .btn-warning[disabled]:focus, .btn-warning[disabled].focus,\n fieldset[disabled] .btn-warning:hover,\n fieldset[disabled] .btn-warning:focus,\n fieldset[disabled] .btn-warning.focus {\n background-color: #f0ad4e;\n border-color: #eea236; }\n .btn-warning .badge {\n color: #f0ad4e;\n background-color: #fff; }\n\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d43f3a; }\n .btn-danger:focus, .btn-danger.focus {\n color: #fff;\n background-color: #c9302c;\n border-color: #761c19; }\n .btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925; }\n .btn-danger:active, .btn-danger.active,\n .open > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925; }\n .btn-danger:active:hover, .btn-danger:active:focus, .btn-danger:active.focus, .btn-danger.active:hover, .btn-danger.active:focus, .btn-danger.active.focus,\n .open > .btn-danger.dropdown-toggle:hover,\n .open > .btn-danger.dropdown-toggle:focus,\n .open > .btn-danger.dropdown-toggle.focus {\n color: #fff;\n background-color: #ac2925;\n border-color: #761c19; }\n .btn-danger:active, .btn-danger.active,\n .open > .btn-danger.dropdown-toggle {\n background-image: none; }\n .btn-danger.disabled:hover, .btn-danger.disabled:focus, .btn-danger.disabled.focus, .btn-danger[disabled]:hover, .btn-danger[disabled]:focus, .btn-danger[disabled].focus,\n fieldset[disabled] .btn-danger:hover,\n fieldset[disabled] .btn-danger:focus,\n fieldset[disabled] .btn-danger.focus {\n background-color: #d9534f;\n border-color: #d43f3a; }\n .btn-danger .badge {\n color: #d9534f;\n background-color: #fff; }\n\n.btn-link {\n color: #337ab7;\n font-weight: normal;\n border-radius: 0; }\n .btn-link, .btn-link:active, .btn-link.active, .btn-link[disabled],\n fieldset[disabled] .btn-link {\n background-color: transparent;\n -webkit-box-shadow: none;\n box-shadow: none; }\n .btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active {\n border-color: transparent; }\n .btn-link:hover, .btn-link:focus {\n color: #23527c;\n text-decoration: underline;\n background-color: transparent; }\n .btn-link[disabled]:hover, .btn-link[disabled]:focus,\n fieldset[disabled] .btn-link:hover,\n fieldset[disabled] .btn-link:focus {\n color: #777777;\n text-decoration: none; }\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px; }\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px; }\n\n.btn-xs, .btn-group-xs > .btn {\n padding: 1px 5px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px; }\n\n.btn-block {\n display: block;\n width: 100%; }\n\n.btn-block + .btn-block {\n margin-top: 5px; }\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%; }\n\n.fade {\n opacity: 0;\n -webkit-transition: opacity 0.15s linear;\n -o-transition: opacity 0.15s linear;\n transition: opacity 0.15s linear; }\n .fade.in {\n opacity: 1; }\n\n.collapse {\n display: none; }\n .collapse.in {\n display: block; }\n\ntr.collapse.in {\n display: table-row; }\n\ntbody.collapse.in {\n display: table-row-group; }\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n -webkit-transition-property: height, visibility;\n transition-property: height, visibility;\n -webkit-transition-duration: 0.35s;\n transition-duration: 0.35s;\n -webkit-transition-timing-function: ease;\n transition-timing-function: ease; }\n\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px dashed;\n border-top: 4px solid \\9;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent; }\n\n.dropup,\n.dropdown {\n position: relative; }\n\n.dropdown-toggle:focus {\n outline: 0; }\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0;\n list-style: none;\n font-size: 14px;\n text-align: left;\n background-color: #fff;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n background-clip: padding-box; }\n .dropdown-menu.pull-right {\n right: 0;\n left: auto; }\n .dropdown-menu .divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5; }\n .dropdown-menu > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: normal;\n line-height: 1.428571429;\n color: #333333;\n white-space: nowrap; }\n\n.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus {\n text-decoration: none;\n color: #262626;\n background-color: #f5f5f5; }\n\n.dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n background-color: #337ab7; }\n\n.dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus {\n color: #777777; }\n\n.dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus {\n text-decoration: none;\n background-color: transparent;\n background-image: none;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n cursor: not-allowed; }\n\n.open > .dropdown-menu {\n display: block; }\n\n.open > a {\n outline: 0; }\n\n.dropdown-menu-right {\n left: auto;\n right: 0; }\n\n.dropdown-menu-left {\n left: 0;\n right: auto; }\n\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: 12px;\n line-height: 1.428571429;\n color: #777777;\n white-space: nowrap; }\n\n.dropdown-backdrop {\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n z-index: 990; }\n\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto; }\n\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n border-top: 0;\n border-bottom: 4px dashed;\n border-bottom: 4px solid \\9;\n content: \"\"; }\n\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px; }\n\n@media (min-width: 768px) {\n .navbar-right .dropdown-menu {\n right: 0;\n left: auto; }\n .navbar-right .dropdown-menu-left {\n left: 0;\n right: auto; } }\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle; }\n .btn-group > .btn,\n .btn-group-vertical > .btn {\n position: relative;\n float: left; }\n .btn-group > .btn:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n .btn-group-vertical > .btn:hover,\n .btn-group-vertical > .btn:focus,\n .btn-group-vertical > .btn:active,\n .btn-group-vertical > .btn.active {\n z-index: 2; }\n\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n margin-left: -1px; }\n\n.btn-toolbar {\n margin-left: -5px; }\n .btn-toolbar:before, .btn-toolbar:after {\n content: \" \";\n display: table; }\n .btn-toolbar:after {\n clear: both; }\n .btn-toolbar .btn,\n .btn-toolbar .btn-group,\n .btn-toolbar .input-group {\n float: left; }\n .btn-toolbar > .btn,\n .btn-toolbar > .btn-group,\n .btn-toolbar > .input-group {\n margin-left: 5px; }\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0; }\n\n.btn-group > .btn:first-child {\n margin-left: 0; }\n .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0; }\n\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0; }\n\n.btn-group > .btn-group {\n float: left; }\n\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0; }\n\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0; }\n\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0; }\n\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0; }\n\n.btn-group > .btn + .dropdown-toggle {\n padding-left: 8px;\n padding-right: 8px; }\n\n.btn-group > .btn-lg + .dropdown-toggle, .btn-group-lg.btn-group > .btn + .dropdown-toggle {\n padding-left: 12px;\n padding-right: 12px; }\n\n.btn-group.open .dropdown-toggle {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); }\n .btn-group.open .dropdown-toggle.btn-link {\n -webkit-box-shadow: none;\n box-shadow: none; }\n\n.btn .caret {\n margin-left: 0; }\n\n.btn-lg .caret, .btn-group-lg > .btn .caret {\n border-width: 5px 5px 0;\n border-bottom-width: 0; }\n\n.dropup .btn-lg .caret, .dropup .btn-group-lg > .btn .caret {\n border-width: 0 5px 5px; }\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%; }\n\n.btn-group-vertical > .btn-group:before, .btn-group-vertical > .btn-group:after {\n content: \" \";\n display: table; }\n\n.btn-group-vertical > .btn-group:after {\n clear: both; }\n\n.btn-group-vertical > .btn-group > .btn {\n float: none; }\n\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0; }\n\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0; }\n\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0; }\n\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px; }\n\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0; }\n\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0; }\n\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-right-radius: 0;\n border-top-left-radius: 0; }\n\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate; }\n .btn-group-justified > .btn,\n .btn-group-justified > .btn-group {\n float: none;\n display: table-cell;\n width: 1%; }\n .btn-group-justified > .btn-group .btn {\n width: 100%; }\n .btn-group-justified > .btn-group .dropdown-menu {\n left: auto; }\n\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none; }\n\n.input-group {\n position: relative;\n display: table;\n border-collapse: separate; }\n .input-group[class*=\"col-\"] {\n float: none;\n padding-left: 0;\n padding-right: 0; }\n .input-group .form-control {\n position: relative;\n z-index: 2;\n float: left;\n width: 100%;\n margin-bottom: 0; }\n .input-group .form-control:focus {\n z-index: 3; }\n\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell; }\n .input-group-addon:not(:first-child):not(:last-child),\n .input-group-btn:not(:first-child):not(:last-child),\n .input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0; }\n\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle; }\n\n.input-group-addon {\n padding: 6px 12px;\n font-size: 14px;\n font-weight: normal;\n line-height: 1;\n color: #555555;\n text-align: center;\n background-color: #eeeeee;\n border: 1px solid #ccc;\n border-radius: 4px; }\n .input-group-addon.input-sm,\n .input-group-sm > .input-group-addon,\n .input-group-sm > .input-group-btn > .input-group-addon.btn {\n padding: 5px 10px;\n font-size: 12px;\n border-radius: 3px; }\n .input-group-addon.input-lg,\n .input-group-lg > .input-group-addon,\n .input-group-lg > .input-group-btn > .input-group-addon.btn {\n padding: 10px 16px;\n font-size: 18px;\n border-radius: 6px; }\n .input-group-addon input[type=\"radio\"],\n .input-group-addon input[type=\"checkbox\"] {\n margin-top: 0; }\n\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0; }\n\n.input-group-addon:first-child {\n border-right: 0; }\n\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0; }\n\n.input-group-addon:last-child {\n border-left: 0; }\n\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap; }\n .input-group-btn > .btn {\n position: relative; }\n .input-group-btn > .btn + .btn {\n margin-left: -1px; }\n .input-group-btn > .btn:hover, .input-group-btn > .btn:focus, .input-group-btn > .btn:active {\n z-index: 2; }\n .input-group-btn:first-child > .btn,\n .input-group-btn:first-child > .btn-group {\n margin-right: -1px; }\n .input-group-btn:last-child > .btn,\n .input-group-btn:last-child > .btn-group {\n z-index: 2;\n margin-left: -1px; }\n\n.nav {\n margin-bottom: 0;\n padding-left: 0;\n list-style: none; }\n .nav:before, .nav:after {\n content: \" \";\n display: table; }\n .nav:after {\n clear: both; }\n .nav > li {\n position: relative;\n display: block; }\n .nav > li > a {\n position: relative;\n display: block;\n padding: 10px 15px; }\n .nav > li > a:hover, .nav > li > a:focus {\n text-decoration: none;\n background-color: #eeeeee; }\n .nav > li.disabled > a {\n color: #777777; }\n .nav > li.disabled > a:hover, .nav > li.disabled > a:focus {\n color: #777777;\n text-decoration: none;\n background-color: transparent;\n cursor: not-allowed; }\n .nav .open > a, .nav .open > a:hover, .nav .open > a:focus {\n background-color: #eeeeee;\n border-color: #337ab7; }\n .nav .nav-divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5; }\n .nav > li > a > img {\n max-width: none; }\n\n.nav-tabs {\n border-bottom: 1px solid #ddd; }\n .nav-tabs > li {\n float: left;\n margin-bottom: -1px; }\n .nav-tabs > li > a {\n margin-right: 2px;\n line-height: 1.428571429;\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0; }\n .nav-tabs > li > a:hover {\n border-color: #eeeeee #eeeeee #ddd; }\n .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {\n color: #555555;\n background-color: #fff;\n border: 1px solid #ddd;\n border-bottom-color: transparent;\n cursor: default; }\n\n.nav-pills > li {\n float: left; }\n .nav-pills > li > a {\n border-radius: 4px; }\n .nav-pills > li + li {\n margin-left: 2px; }\n .nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus {\n color: #fff;\n background-color: #337ab7; }\n\n.nav-stacked > li {\n float: none; }\n .nav-stacked > li + li {\n margin-top: 2px;\n margin-left: 0; }\n\n.nav-justified, .nav-tabs.nav-justified {\n width: 100%; }\n .nav-justified > li, .nav-tabs.nav-justified > li {\n float: none; }\n .nav-justified > li > a, .nav-tabs.nav-justified > li > a {\n text-align: center;\n margin-bottom: 5px; }\n .nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto; }\n @media (min-width: 768px) {\n .nav-justified > li, .nav-tabs.nav-justified > li {\n display: table-cell;\n width: 1%; }\n .nav-justified > li > a, .nav-tabs.nav-justified > li > a {\n margin-bottom: 0; } }\n\n.nav-tabs-justified, .nav-tabs.nav-justified {\n border-bottom: 0; }\n .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a {\n margin-right: 0;\n border-radius: 4px; }\n .nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a,\n .nav-tabs-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:hover,\n .nav-tabs-justified > .active > a:focus, .nav-tabs.nav-justified > .active > a:focus {\n border: 1px solid #ddd; }\n @media (min-width: 768px) {\n .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0; }\n .nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a,\n .nav-tabs-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:hover,\n .nav-tabs-justified > .active > a:focus, .nav-tabs.nav-justified > .active > a:focus {\n border-bottom-color: #fff; } }\n\n.tab-content > .tab-pane {\n display: none; }\n\n.tab-content > .active {\n display: block; }\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-right-radius: 0;\n border-top-left-radius: 0; }\n\n.navbar {\n position: relative;\n min-height: 50px;\n margin-bottom: 20px;\n border: 1px solid transparent; }\n .navbar:before, .navbar:after {\n content: \" \";\n display: table; }\n .navbar:after {\n clear: both; }\n @media (min-width: 768px) {\n .navbar {\n border-radius: 4px; } }\n\n.navbar-header:before, .navbar-header:after {\n content: \" \";\n display: table; }\n\n.navbar-header:after {\n clear: both; }\n\n@media (min-width: 768px) {\n .navbar-header {\n float: left; } }\n\n.navbar-collapse {\n overflow-x: visible;\n padding-right: 15px;\n padding-left: 15px;\n border-top: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n -webkit-overflow-scrolling: touch; }\n .navbar-collapse:before, .navbar-collapse:after {\n content: \" \";\n display: table; }\n .navbar-collapse:after {\n clear: both; }\n .navbar-collapse.in {\n overflow-y: auto; }\n @media (min-width: 768px) {\n .navbar-collapse {\n width: auto;\n border-top: 0;\n box-shadow: none; }\n .navbar-collapse.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0;\n overflow: visible !important; }\n .navbar-collapse.in {\n overflow-y: visible; }\n .navbar-fixed-top .navbar-collapse,\n .navbar-static-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n padding-left: 0;\n padding-right: 0; } }\n\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n max-height: 340px; }\n @media (max-device-width: 480px) and (orientation: landscape) {\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 200px; } }\n\n.container > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-header,\n.container-fluid > .navbar-collapse {\n margin-right: -15px;\n margin-left: -15px; }\n @media (min-width: 768px) {\n .container > .navbar-header,\n .container > .navbar-collapse,\n .container-fluid > .navbar-header,\n .container-fluid > .navbar-collapse {\n margin-right: 0;\n margin-left: 0; } }\n\n.navbar-static-top {\n z-index: 1000;\n border-width: 0 0 1px; }\n @media (min-width: 768px) {\n .navbar-static-top {\n border-radius: 0; } }\n\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030; }\n @media (min-width: 768px) {\n .navbar-fixed-top,\n .navbar-fixed-bottom {\n border-radius: 0; } }\n\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px; }\n\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0;\n border-width: 1px 0 0; }\n\n.navbar-brand {\n float: left;\n padding: 15px 15px;\n font-size: 18px;\n line-height: 20px;\n height: 50px; }\n .navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none; }\n .navbar-brand > img {\n display: block; }\n @media (min-width: 768px) {\n .navbar > .container .navbar-brand,\n .navbar > .container-fluid .navbar-brand {\n margin-left: -15px; } }\n\n.navbar-toggle {\n position: relative;\n float: right;\n margin-right: 15px;\n padding: 9px 10px;\n margin-top: 8px;\n margin-bottom: 8px;\n background-color: transparent;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px; }\n .navbar-toggle:focus {\n outline: 0; }\n .navbar-toggle .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px; }\n .navbar-toggle .icon-bar + .icon-bar {\n margin-top: 4px; }\n @media (min-width: 768px) {\n .navbar-toggle {\n display: none; } }\n\n.navbar-nav {\n margin: 7.5px -15px; }\n .navbar-nav > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: 20px; }\n @media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n box-shadow: none; }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px; }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 20px; }\n .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none; } }\n @media (min-width: 768px) {\n .navbar-nav {\n float: left;\n margin: 0; }\n .navbar-nav > li {\n float: left; }\n .navbar-nav > li > a {\n padding-top: 15px;\n padding-bottom: 15px; } }\n\n.navbar-form {\n margin-left: -15px;\n margin-right: -15px;\n padding: 10px 15px;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n margin-top: 8px;\n margin-bottom: 8px; }\n @media (min-width: 768px) {\n .navbar-form .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle; }\n .navbar-form .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle; }\n .navbar-form .form-control-static {\n display: inline-block; }\n .navbar-form .input-group {\n display: inline-table;\n vertical-align: middle; }\n .navbar-form .input-group .input-group-addon,\n .navbar-form .input-group .input-group-btn,\n .navbar-form .input-group .form-control {\n width: auto; }\n .navbar-form .input-group > .form-control {\n width: 100%; }\n .navbar-form .control-label {\n margin-bottom: 0;\n vertical-align: middle; }\n .navbar-form .radio,\n .navbar-form .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle; }\n .navbar-form .radio label,\n .navbar-form .checkbox label {\n padding-left: 0; }\n .navbar-form .radio input[type=\"radio\"],\n .navbar-form .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0; }\n .navbar-form .has-feedback .form-control-feedback {\n top: 0; } }\n @media (max-width: 767px) {\n .navbar-form .form-group {\n margin-bottom: 5px; }\n .navbar-form .form-group:last-child {\n margin-bottom: 0; } }\n @media (min-width: 768px) {\n .navbar-form {\n width: auto;\n border: 0;\n margin-left: 0;\n margin-right: 0;\n padding-top: 0;\n padding-bottom: 0;\n -webkit-box-shadow: none;\n box-shadow: none; } }\n\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n border-top-right-radius: 0;\n border-top-left-radius: 0; }\n\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0; }\n\n.navbar-btn {\n margin-top: 8px;\n margin-bottom: 8px; }\n .navbar-btn.btn-sm, .btn-group-sm > .navbar-btn.btn {\n margin-top: 10px;\n margin-bottom: 10px; }\n .navbar-btn.btn-xs, .btn-group-xs > .navbar-btn.btn {\n margin-top: 14px;\n margin-bottom: 14px; }\n\n.navbar-text {\n margin-top: 15px;\n margin-bottom: 15px; }\n @media (min-width: 768px) {\n .navbar-text {\n float: left;\n margin-left: 15px;\n margin-right: 15px; } }\n\n@media (min-width: 768px) {\n .navbar-left {\n float: left !important; }\n .navbar-right {\n float: right !important;\n margin-right: -15px; }\n .navbar-right ~ .navbar-right {\n margin-right: 0; } }\n\n.navbar-default {\n background-color: #f8f8f8;\n border-color: #e7e7e7; }\n .navbar-default .navbar-brand {\n color: #777; }\n .navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus {\n color: #5e5e5e;\n background-color: transparent; }\n .navbar-default .navbar-text {\n color: #777; }\n .navbar-default .navbar-nav > li > a {\n color: #777; }\n .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus {\n color: #333;\n background-color: transparent; }\n .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus {\n color: #555;\n background-color: #e7e7e7; }\n .navbar-default .navbar-nav > .disabled > a, .navbar-default .navbar-nav > .disabled > a:hover, .navbar-default .navbar-nav > .disabled > a:focus {\n color: #ccc;\n background-color: transparent; }\n .navbar-default .navbar-toggle {\n border-color: #ddd; }\n .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus {\n background-color: #ddd; }\n .navbar-default .navbar-toggle .icon-bar {\n background-color: #888; }\n .navbar-default .navbar-collapse,\n .navbar-default .navbar-form {\n border-color: #e7e7e7; }\n .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus {\n background-color: #e7e7e7;\n color: #555; }\n @media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777; }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333;\n background-color: transparent; }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555;\n background-color: #e7e7e7; }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #ccc;\n background-color: transparent; } }\n .navbar-default .navbar-link {\n color: #777; }\n .navbar-default .navbar-link:hover {\n color: #333; }\n .navbar-default .btn-link {\n color: #777; }\n .navbar-default .btn-link:hover, .navbar-default .btn-link:focus {\n color: #333; }\n .navbar-default .btn-link[disabled]:hover, .navbar-default .btn-link[disabled]:focus,\n fieldset[disabled] .navbar-default .btn-link:hover,\n fieldset[disabled] .navbar-default .btn-link:focus {\n color: #ccc; }\n\n.navbar-inverse {\n background-color: #222;\n border-color: #090909; }\n .navbar-inverse .navbar-brand {\n color: #9d9d9d; }\n .navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus {\n color: #fff;\n background-color: transparent; }\n .navbar-inverse .navbar-text {\n color: #9d9d9d; }\n .navbar-inverse .navbar-nav > li > a {\n color: #9d9d9d; }\n .navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus {\n color: #fff;\n background-color: transparent; }\n .navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus {\n color: #fff;\n background-color: #090909; }\n .navbar-inverse .navbar-nav > .disabled > a, .navbar-inverse .navbar-nav > .disabled > a:hover, .navbar-inverse .navbar-nav > .disabled > a:focus {\n color: #444;\n background-color: transparent; }\n .navbar-inverse .navbar-toggle {\n border-color: #333; }\n .navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus {\n background-color: #333; }\n .navbar-inverse .navbar-toggle .icon-bar {\n background-color: #fff; }\n .navbar-inverse .navbar-collapse,\n .navbar-inverse .navbar-form {\n border-color: #101010; }\n .navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus {\n background-color: #090909;\n color: #fff; }\n @media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #090909; }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #090909; }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d; }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #fff;\n background-color: transparent; }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-color: #090909; }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444;\n background-color: transparent; } }\n .navbar-inverse .navbar-link {\n color: #9d9d9d; }\n .navbar-inverse .navbar-link:hover {\n color: #fff; }\n .navbar-inverse .btn-link {\n color: #9d9d9d; }\n .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link:focus {\n color: #fff; }\n .navbar-inverse .btn-link[disabled]:hover, .navbar-inverse .btn-link[disabled]:focus,\n fieldset[disabled] .navbar-inverse .btn-link:hover,\n fieldset[disabled] .navbar-inverse .btn-link:focus {\n color: #444; }\n\n.breadcrumb {\n padding: 8px 15px;\n margin-bottom: 20px;\n list-style: none;\n background-color: #f5f5f5;\n border-radius: 4px; }\n .breadcrumb > li {\n display: inline-block; }\n .breadcrumb > li + li:before {\n content: \"/ \";\n padding: 0 5px;\n color: #ccc; }\n .breadcrumb > .active {\n color: #777777; }\n\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: 20px 0;\n border-radius: 4px; }\n .pagination > li {\n display: inline; }\n .pagination > li > a,\n .pagination > li > span {\n position: relative;\n float: left;\n padding: 6px 12px;\n line-height: 1.428571429;\n text-decoration: none;\n color: #337ab7;\n background-color: #fff;\n border: 1px solid #ddd;\n margin-left: -1px; }\n .pagination > li:first-child > a,\n .pagination > li:first-child > span {\n margin-left: 0;\n border-bottom-left-radius: 4px;\n border-top-left-radius: 4px; }\n .pagination > li:last-child > a,\n .pagination > li:last-child > span {\n border-bottom-right-radius: 4px;\n border-top-right-radius: 4px; }\n .pagination > li > a:hover, .pagination > li > a:focus,\n .pagination > li > span:hover,\n .pagination > li > span:focus {\n z-index: 2;\n color: #23527c;\n background-color: #eeeeee;\n border-color: #ddd; }\n .pagination > .active > a, .pagination > .active > a:hover, .pagination > .active > a:focus,\n .pagination > .active > span,\n .pagination > .active > span:hover,\n .pagination > .active > span:focus {\n z-index: 3;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n cursor: default; }\n .pagination > .disabled > span,\n .pagination > .disabled > span:hover,\n .pagination > .disabled > span:focus,\n .pagination > .disabled > a,\n .pagination > .disabled > a:hover,\n .pagination > .disabled > a:focus {\n color: #777777;\n background-color: #fff;\n border-color: #ddd;\n cursor: not-allowed; }\n\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333; }\n\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n border-bottom-left-radius: 6px;\n border-top-left-radius: 6px; }\n\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n border-bottom-right-radius: 6px;\n border-top-right-radius: 6px; }\n\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5; }\n\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n border-bottom-left-radius: 3px;\n border-top-left-radius: 3px; }\n\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n border-bottom-right-radius: 3px;\n border-top-right-radius: 3px; }\n\n.pager {\n padding-left: 0;\n margin: 20px 0;\n list-style: none;\n text-align: center; }\n .pager:before, .pager:after {\n content: \" \";\n display: table; }\n .pager:after {\n clear: both; }\n .pager li {\n display: inline; }\n .pager li > a,\n .pager li > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 15px; }\n .pager li > a:hover,\n .pager li > a:focus {\n text-decoration: none;\n background-color: #eeeeee; }\n .pager .next > a,\n .pager .next > span {\n float: right; }\n .pager .previous > a,\n .pager .previous > span {\n float: left; }\n .pager .disabled > a,\n .pager .disabled > a:hover,\n .pager .disabled > a:focus,\n .pager .disabled > span {\n color: #777777;\n background-color: #fff;\n cursor: not-allowed; }\n\n.label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em; }\n .label:empty {\n display: none; }\n .btn .label {\n position: relative;\n top: -1px; }\n\na.label:hover, a.label:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer; }\n\n.label-default {\n background-color: #777777; }\n .label-default[href]:hover, .label-default[href]:focus {\n background-color: #5e5e5e; }\n\n.label-primary {\n background-color: #337ab7; }\n .label-primary[href]:hover, .label-primary[href]:focus {\n background-color: #286090; }\n\n.label-success {\n background-color: #5cb85c; }\n .label-success[href]:hover, .label-success[href]:focus {\n background-color: #449d44; }\n\n.label-info {\n background-color: #5bc0de; }\n .label-info[href]:hover, .label-info[href]:focus {\n background-color: #31b0d5; }\n\n.label-warning {\n background-color: #f0ad4e; }\n .label-warning[href]:hover, .label-warning[href]:focus {\n background-color: #ec971f; }\n\n.label-danger {\n background-color: #d9534f; }\n .label-danger[href]:hover, .label-danger[href]:focus {\n background-color: #c9302c; }\n\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: bold;\n color: #fff;\n line-height: 1;\n vertical-align: middle;\n white-space: nowrap;\n text-align: center;\n background-color: #777777;\n border-radius: 10px; }\n .badge:empty {\n display: none; }\n .btn .badge {\n position: relative;\n top: -1px; }\n .btn-xs .badge, .btn-group-xs > .btn .badge,\n .btn-group-xs > .btn .badge {\n top: 0;\n padding: 1px 5px; }\n .list-group-item.active > .badge,\n .nav-pills > .active > a > .badge {\n color: #337ab7;\n background-color: #fff; }\n .list-group-item > .badge {\n float: right; }\n .list-group-item > .badge + .badge {\n margin-right: 5px; }\n .nav-pills > li > a > .badge {\n margin-left: 3px; }\n\na.badge:hover, a.badge:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer; }\n\n.jumbotron {\n padding-top: 30px;\n padding-bottom: 30px;\n margin-bottom: 30px;\n color: inherit;\n background-color: #eeeeee; }\n .jumbotron h1,\n .jumbotron .h1 {\n color: inherit; }\n .jumbotron p {\n margin-bottom: 15px;\n font-size: 21px;\n font-weight: 200; }\n .jumbotron > hr {\n border-top-color: #d5d5d5; }\n .container .jumbotron,\n .container-fluid .jumbotron {\n border-radius: 6px;\n padding-left: 15px;\n padding-right: 15px; }\n .jumbotron .container {\n max-width: 100%; }\n @media screen and (min-width: 768px) {\n .jumbotron {\n padding-top: 48px;\n padding-bottom: 48px; }\n .container .jumbotron,\n .container-fluid .jumbotron {\n padding-left: 60px;\n padding-right: 60px; }\n .jumbotron h1,\n .jumbotron .h1 {\n font-size: 63px; } }\n\n.thumbnail {\n display: block;\n padding: 4px;\n margin-bottom: 20px;\n line-height: 1.428571429;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: border 0.2s ease-in-out;\n -o-transition: border 0.2s ease-in-out;\n transition: border 0.2s ease-in-out; }\n .thumbnail > img,\n .thumbnail a > img {\n display: block;\n max-width: 100%;\n height: auto;\n margin-left: auto;\n margin-right: auto; }\n .thumbnail .caption {\n padding: 9px;\n color: #333333; }\n\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n border-color: #337ab7; }\n\n.alert {\n padding: 15px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px; }\n .alert h4 {\n margin-top: 0;\n color: inherit; }\n .alert .alert-link {\n font-weight: bold; }\n .alert > p,\n .alert > ul {\n margin-bottom: 0; }\n .alert > p + p {\n margin-top: 5px; }\n\n.alert-dismissable,\n.alert-dismissible {\n padding-right: 35px; }\n .alert-dismissable .close,\n .alert-dismissible .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit; }\n\n.alert-success {\n background-color: #dff0d8;\n border-color: #d6e9c6;\n color: #3c763d; }\n .alert-success hr {\n border-top-color: #c9e2b3; }\n .alert-success .alert-link {\n color: #2b542c; }\n\n.alert-info {\n background-color: #d9edf7;\n border-color: #bce8f1;\n color: #31708f; }\n .alert-info hr {\n border-top-color: #a6e1ec; }\n .alert-info .alert-link {\n color: #245269; }\n\n.alert-warning {\n background-color: #fcf8e3;\n border-color: #faebcc;\n color: #8a6d3b; }\n .alert-warning hr {\n border-top-color: #f7e1b5; }\n .alert-warning .alert-link {\n color: #66512c; }\n\n.alert-danger {\n background-color: #f2dede;\n border-color: #ebccd1;\n color: #a94442; }\n .alert-danger hr {\n border-top-color: #e4b9c0; }\n .alert-danger .alert-link {\n color: #843534; }\n\n.media {\n margin-top: 15px; }\n .media:first-child {\n margin-top: 0; }\n\n.media,\n.media-body {\n zoom: 1;\n overflow: hidden; }\n\n.media-body {\n width: 10000px; }\n\n.media-object {\n display: block; }\n .media-object.img-thumbnail {\n max-width: none; }\n\n.media-right,\n.media > .pull-right {\n padding-left: 10px; }\n\n.media-left,\n.media > .pull-left {\n padding-right: 10px; }\n\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top; }\n\n.media-middle {\n vertical-align: middle; }\n\n.media-bottom {\n vertical-align: bottom; }\n\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px; }\n\n.media-list {\n padding-left: 0;\n list-style: none; }\n\n.list-group {\n margin-bottom: 20px;\n padding-left: 0; }\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid #ddd; }\n .list-group-item:first-child {\n border-top-right-radius: 4px;\n border-top-left-radius: 4px; }\n .list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px; }\n\na.list-group-item,\nbutton.list-group-item {\n color: #555; }\n a.list-group-item .list-group-item-heading,\n button.list-group-item .list-group-item-heading {\n color: #333; }\n a.list-group-item:hover, a.list-group-item:focus,\n button.list-group-item:hover,\n button.list-group-item:focus {\n text-decoration: none;\n color: #555;\n background-color: #f5f5f5; }\n\nbutton.list-group-item {\n width: 100%;\n text-align: left; }\n\n.list-group-item.disabled, .list-group-item.disabled:hover, .list-group-item.disabled:focus {\n background-color: #eeeeee;\n color: #777777;\n cursor: not-allowed; }\n .list-group-item.disabled .list-group-item-heading, .list-group-item.disabled:hover .list-group-item-heading, .list-group-item.disabled:focus .list-group-item-heading {\n color: inherit; }\n .list-group-item.disabled .list-group-item-text, .list-group-item.disabled:hover .list-group-item-text, .list-group-item.disabled:focus .list-group-item-text {\n color: #777777; }\n\n.list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus {\n z-index: 2;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7; }\n .list-group-item.active .list-group-item-heading,\n .list-group-item.active .list-group-item-heading > small,\n .list-group-item.active .list-group-item-heading > .small, .list-group-item.active:hover .list-group-item-heading,\n .list-group-item.active:hover .list-group-item-heading > small,\n .list-group-item.active:hover .list-group-item-heading > .small, .list-group-item.active:focus .list-group-item-heading,\n .list-group-item.active:focus .list-group-item-heading > small,\n .list-group-item.active:focus .list-group-item-heading > .small {\n color: inherit; }\n .list-group-item.active .list-group-item-text, .list-group-item.active:hover .list-group-item-text, .list-group-item.active:focus .list-group-item-text {\n color: #c7ddef; }\n\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8; }\n\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d; }\n a.list-group-item-success .list-group-item-heading,\n button.list-group-item-success .list-group-item-heading {\n color: inherit; }\n a.list-group-item-success:hover, a.list-group-item-success:focus,\n button.list-group-item-success:hover,\n button.list-group-item-success:focus {\n color: #3c763d;\n background-color: #d0e9c6; }\n a.list-group-item-success.active, a.list-group-item-success.active:hover, a.list-group-item-success.active:focus,\n button.list-group-item-success.active,\n button.list-group-item-success.active:hover,\n button.list-group-item-success.active:focus {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d; }\n\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7; }\n\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f; }\n a.list-group-item-info .list-group-item-heading,\n button.list-group-item-info .list-group-item-heading {\n color: inherit; }\n a.list-group-item-info:hover, a.list-group-item-info:focus,\n button.list-group-item-info:hover,\n button.list-group-item-info:focus {\n color: #31708f;\n background-color: #c4e3f3; }\n a.list-group-item-info.active, a.list-group-item-info.active:hover, a.list-group-item-info.active:focus,\n button.list-group-item-info.active,\n button.list-group-item-info.active:hover,\n button.list-group-item-info.active:focus {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f; }\n\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3; }\n\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b; }\n a.list-group-item-warning .list-group-item-heading,\n button.list-group-item-warning .list-group-item-heading {\n color: inherit; }\n a.list-group-item-warning:hover, a.list-group-item-warning:focus,\n button.list-group-item-warning:hover,\n button.list-group-item-warning:focus {\n color: #8a6d3b;\n background-color: #faf2cc; }\n a.list-group-item-warning.active, a.list-group-item-warning.active:hover, a.list-group-item-warning.active:focus,\n button.list-group-item-warning.active,\n button.list-group-item-warning.active:hover,\n button.list-group-item-warning.active:focus {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b; }\n\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede; }\n\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442; }\n a.list-group-item-danger .list-group-item-heading,\n button.list-group-item-danger .list-group-item-heading {\n color: inherit; }\n a.list-group-item-danger:hover, a.list-group-item-danger:focus,\n button.list-group-item-danger:hover,\n button.list-group-item-danger:focus {\n color: #a94442;\n background-color: #ebcccc; }\n a.list-group-item-danger.active, a.list-group-item-danger.active:hover, a.list-group-item-danger.active:focus,\n button.list-group-item-danger.active,\n button.list-group-item-danger.active:hover,\n button.list-group-item-danger.active:focus {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442; }\n\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px; }\n\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3; }\n\n.panel {\n margin-bottom: 20px;\n background-color: #fff;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); }\n\n.panel-body {\n padding: 15px; }\n .panel-body:before, .panel-body:after {\n content: \" \";\n display: table; }\n .panel-body:after {\n clear: both; }\n\n.panel-heading {\n padding: 10px 15px;\n border-bottom: 1px solid transparent;\n border-top-right-radius: 3px;\n border-top-left-radius: 3px; }\n .panel-heading > .dropdown .dropdown-toggle {\n color: inherit; }\n\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 16px;\n color: inherit; }\n .panel-title > a,\n .panel-title > small,\n .panel-title > .small,\n .panel-title > small > a,\n .panel-title > .small > a {\n color: inherit; }\n\n.panel-footer {\n padding: 10px 15px;\n background-color: #f5f5f5;\n border-top: 1px solid #ddd;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px; }\n\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n margin-bottom: 0; }\n .panel > .list-group .list-group-item,\n .panel > .panel-collapse > .list-group .list-group-item {\n border-width: 1px 0;\n border-radius: 0; }\n .panel > .list-group:first-child .list-group-item:first-child,\n .panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n border-top: 0;\n border-top-right-radius: 3px;\n border-top-left-radius: 3px; }\n .panel > .list-group:last-child .list-group-item:last-child,\n .panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n border-bottom: 0;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px; }\n\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n border-top-right-radius: 0;\n border-top-left-radius: 0; }\n\n.panel-heading + .list-group .list-group-item:first-child {\n border-top-width: 0; }\n\n.list-group + .panel-footer {\n border-top-width: 0; }\n\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n margin-bottom: 0; }\n .panel > .table caption,\n .panel > .table-responsive > .table caption,\n .panel > .panel-collapse > .table caption {\n padding-left: 15px;\n padding-right: 15px; }\n\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n border-top-right-radius: 3px;\n border-top-left-radius: 3px; }\n .panel > .table:first-child > thead:first-child > tr:first-child,\n .panel > .table:first-child > tbody:first-child > tr:first-child,\n .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px; }\n .panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n .panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n border-top-left-radius: 3px; }\n .panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n .panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n border-top-right-radius: 3px; }\n\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px; }\n .panel > .table:last-child > tbody:last-child > tr:last-child,\n .panel > .table:last-child > tfoot:last-child > tr:last-child,\n .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n border-bottom-left-radius: 3px;\n border-bottom-right-radius: 3px; }\n .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n border-bottom-left-radius: 3px; }\n .panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n border-bottom-right-radius: 3px; }\n\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n border-top: 1px solid #ddd; }\n\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n border-top: 0; }\n\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n border: 0; }\n .panel > .table-bordered > thead > tr > th:first-child,\n .panel > .table-bordered > thead > tr > td:first-child,\n .panel > .table-bordered > tbody > tr > th:first-child,\n .panel > .table-bordered > tbody > tr > td:first-child,\n .panel > .table-bordered > tfoot > tr > th:first-child,\n .panel > .table-bordered > tfoot > tr > td:first-child,\n .panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n .panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0; }\n .panel > .table-bordered > thead > tr > th:last-child,\n .panel > .table-bordered > thead > tr > td:last-child,\n .panel > .table-bordered > tbody > tr > th:last-child,\n .panel > .table-bordered > tbody > tr > td:last-child,\n .panel > .table-bordered > tfoot > tr > th:last-child,\n .panel > .table-bordered > tfoot > tr > td:last-child,\n .panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n .panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0; }\n .panel > .table-bordered > thead > tr:first-child > td,\n .panel > .table-bordered > thead > tr:first-child > th,\n .panel > .table-bordered > tbody > tr:first-child > td,\n .panel > .table-bordered > tbody > tr:first-child > th,\n .panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n .panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n border-bottom: 0; }\n .panel > .table-bordered > tbody > tr:last-child > td,\n .panel > .table-bordered > tbody > tr:last-child > th,\n .panel > .table-bordered > tfoot > tr:last-child > td,\n .panel > .table-bordered > tfoot > tr:last-child > th,\n .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n border-bottom: 0; }\n\n.panel > .table-responsive {\n border: 0;\n margin-bottom: 0; }\n\n.panel-group {\n margin-bottom: 20px; }\n .panel-group .panel {\n margin-bottom: 0;\n border-radius: 4px; }\n .panel-group .panel + .panel {\n margin-top: 5px; }\n .panel-group .panel-heading {\n border-bottom: 0; }\n .panel-group .panel-heading + .panel-collapse > .panel-body,\n .panel-group .panel-heading + .panel-collapse > .list-group {\n border-top: 1px solid #ddd; }\n .panel-group .panel-footer {\n border-top: 0; }\n .panel-group .panel-footer + .panel-collapse .panel-body {\n border-bottom: 1px solid #ddd; }\n\n.panel-default {\n border-color: #ddd; }\n .panel-default > .panel-heading {\n color: #333333;\n background-color: #f5f5f5;\n border-color: #ddd; }\n .panel-default > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ddd; }\n .panel-default > .panel-heading .badge {\n color: #f5f5f5;\n background-color: #333333; }\n .panel-default > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ddd; }\n\n.panel-primary {\n border-color: #337ab7; }\n .panel-primary > .panel-heading {\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7; }\n .panel-primary > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #337ab7; }\n .panel-primary > .panel-heading .badge {\n color: #337ab7;\n background-color: #fff; }\n .panel-primary > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #337ab7; }\n\n.panel-success {\n border-color: #d6e9c6; }\n .panel-success > .panel-heading {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6; }\n .panel-success > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #d6e9c6; }\n .panel-success > .panel-heading .badge {\n color: #dff0d8;\n background-color: #3c763d; }\n .panel-success > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #d6e9c6; }\n\n.panel-info {\n border-color: #bce8f1; }\n .panel-info > .panel-heading {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1; }\n .panel-info > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #bce8f1; }\n .panel-info > .panel-heading .badge {\n color: #d9edf7;\n background-color: #31708f; }\n .panel-info > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #bce8f1; }\n\n.panel-warning {\n border-color: #faebcc; }\n .panel-warning > .panel-heading {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc; }\n .panel-warning > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #faebcc; }\n .panel-warning > .panel-heading .badge {\n color: #fcf8e3;\n background-color: #8a6d3b; }\n .panel-warning > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #faebcc; }\n\n.panel-danger {\n border-color: #ebccd1; }\n .panel-danger > .panel-heading {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1; }\n .panel-danger > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ebccd1; }\n .panel-danger > .panel-heading .badge {\n color: #f2dede;\n background-color: #a94442; }\n .panel-danger > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ebccd1; }\n\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden; }\n .embed-responsive .embed-responsive-item,\n .embed-responsive iframe,\n .embed-responsive embed,\n .embed-responsive object,\n .embed-responsive video {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n height: 100%;\n width: 100%;\n border: 0; }\n\n.embed-responsive-16by9 {\n padding-bottom: 56.25%; }\n\n.embed-responsive-4by3 {\n padding-bottom: 75%; }\n\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); }\n .well blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, 0.15); }\n\n.well-lg {\n padding: 24px;\n border-radius: 6px; }\n\n.well-sm {\n padding: 9px;\n border-radius: 3px; }\n\n.close {\n float: right;\n font-size: 21px;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: 0.2;\n filter: alpha(opacity=20); }\n .close:hover, .close:focus {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n opacity: 0.5;\n filter: alpha(opacity=50); }\n\nbutton.close {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none; }\n\n.clearfix:before, .clearfix:after {\n content: \" \";\n display: table; }\n\n.clearfix:after {\n clear: both; }\n\n.center-block {\n display: block;\n margin-left: auto;\n margin-right: auto; }\n\n.pull-right {\n float: right !important; }\n\n.pull-left {\n float: left !important; }\n\n.hide {\n display: none !important; }\n\n.show {\n display: block !important; }\n\n.invisible {\n visibility: hidden; }\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0; }\n\n.hidden {\n display: none !important; }\n\n.affix {\n position: fixed; }\n\n@-ms-viewport {\n width: device-width; }\n\n.visible-xs {\n display: none !important; }\n\n.visible-sm {\n display: none !important; }\n\n.visible-md {\n display: none !important; }\n\n.visible-lg {\n display: none !important; }\n\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important; }\n\n@media (max-width: 767px) {\n .visible-xs {\n display: block !important; }\n table.visible-xs {\n display: table !important; }\n tr.visible-xs {\n display: table-row !important; }\n th.visible-xs,\n td.visible-xs {\n display: table-cell !important; } }\n\n@media (max-width: 767px) {\n .visible-xs-block {\n display: block !important; } }\n\n@media (max-width: 767px) {\n .visible-xs-inline {\n display: inline !important; } }\n\n@media (max-width: 767px) {\n .visible-xs-inline-block {\n display: inline-block !important; } }\n\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm {\n display: block !important; }\n table.visible-sm {\n display: table !important; }\n tr.visible-sm {\n display: table-row !important; }\n th.visible-sm,\n td.visible-sm {\n display: table-cell !important; } }\n\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-block {\n display: block !important; } }\n\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline {\n display: inline !important; } }\n\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline-block {\n display: inline-block !important; } }\n\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md {\n display: block !important; }\n table.visible-md {\n display: table !important; }\n tr.visible-md {\n display: table-row !important; }\n th.visible-md,\n td.visible-md {\n display: table-cell !important; } }\n\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-block {\n display: block !important; } }\n\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline {\n display: inline !important; } }\n\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline-block {\n display: inline-block !important; } }\n\n@media (min-width: 1200px) {\n .visible-lg {\n display: block !important; }\n table.visible-lg {\n display: table !important; }\n tr.visible-lg {\n display: table-row !important; }\n th.visible-lg,\n td.visible-lg {\n display: table-cell !important; } }\n\n@media (min-width: 1200px) {\n .visible-lg-block {\n display: block !important; } }\n\n@media (min-width: 1200px) {\n .visible-lg-inline {\n display: inline !important; } }\n\n@media (min-width: 1200px) {\n .visible-lg-inline-block {\n display: inline-block !important; } }\n\n@media (max-width: 767px) {\n .hidden-xs {\n display: none !important; } }\n\n@media (min-width: 768px) and (max-width: 991px) {\n .hidden-sm {\n display: none !important; } }\n\n@media (min-width: 992px) and (max-width: 1199px) {\n .hidden-md {\n display: none !important; } }\n\n@media (min-width: 1200px) {\n .hidden-lg {\n display: none !important; } }\n\n.visible-print {\n display: none !important; }\n\n@media print {\n .visible-print {\n display: block !important; }\n table.visible-print {\n display: table !important; }\n tr.visible-print {\n display: table-row !important; }\n th.visible-print,\n td.visible-print {\n display: table-cell !important; } }\n\n.visible-print-block {\n display: none !important; }\n @media print {\n .visible-print-block {\n display: block !important; } }\n\n.visible-print-inline {\n display: none !important; }\n @media print {\n .visible-print-inline {\n display: inline !important; } }\n\n.visible-print-inline-block {\n display: none !important; }\n @media print {\n .visible-print-inline-block {\n display: inline-block !important; } }\n\n@media print {\n .hidden-print {\n display: none !important; } }\n\n/*!\n * Bootstrap v3.3.5 (http://getbootstrap.com)\n * Copyright 2011-2015 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n.btn-danger, .btn-default, .btn-info, .btn-primary, .btn-success, .btn-warning {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); }\n\n.btn-danger.active, .btn-danger:active, .btn-default.active, .btn-default:active, .btn-info.active, .btn-info:active, .btn-primary.active, .btn-primary:active, .btn-success.active, .btn-success:active, .btn-warning.active, .btn-warning:active {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); }\n\n.btn-danger.disabled, .btn-danger[disabled], .btn-default.disabled, .btn-default[disabled], .btn-info.disabled, .btn-info[disabled], .btn-primary.disabled, .btn-primary[disabled], .btn-success.disabled, .btn-success[disabled], .btn-warning.disabled, .btn-warning[disabled], fieldset[disabled] .btn-danger, fieldset[disabled] .btn-default, fieldset[disabled] .btn-info, fieldset[disabled] .btn-primary, fieldset[disabled] .btn-success, fieldset[disabled] .btn-warning {\n -webkit-box-shadow: none;\n box-shadow: none; }\n\n.btn-danger .badge, .btn-default .badge, .btn-info .badge, .btn-primary .badge, .btn-success .badge, .btn-warning .badge {\n text-shadow: none; }\n\n.btn.active, .btn:active {\n background-image: none; }\n\n.btn-default {\n text-shadow: 0 1px 0 #fff;\n background-image: -webkit-linear-gradient(top, #fff 0, #e0e0e0 100%);\n background-image: -o-linear-gradient(top, #fff 0, #e0e0e0 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0));\n background-image: linear-gradient(to bottom, #fff 0, #e0e0e0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n background-repeat: repeat-x;\n border-color: #dbdbdb;\n border-color: #ccc; }\n\n.btn-default:focus, .btn-default:hover {\n background-color: #e0e0e0;\n background-position: 0 -15px; }\n\n.btn-default.active, .btn-default:active {\n background-color: #e0e0e0;\n border-color: #dbdbdb; }\n\n.btn-default.disabled, .btn-default.disabled.active, .btn-default.disabled.focus, .btn-default.disabled:active, .btn-default.disabled:focus, .btn-default.disabled:hover, .btn-default[disabled], .btn-default[disabled].active, .btn-default[disabled].focus, .btn-default[disabled]:active, .btn-default[disabled]:focus, .btn-default[disabled]:hover, fieldset[disabled] .btn-default, fieldset[disabled] .btn-default.active, fieldset[disabled] .btn-default.focus, fieldset[disabled] .btn-default:active, fieldset[disabled] .btn-default:focus, fieldset[disabled] .btn-default:hover {\n background-color: #e0e0e0;\n background-image: none; }\n\n.btn-primary {\n background-image: -webkit-linear-gradient(top, #337ab7 0, #265a88 100%);\n background-image: -o-linear-gradient(top, #337ab7 0, #265a88 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88));\n background-image: linear-gradient(to bottom, #337ab7 0, #265a88 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n background-repeat: repeat-x;\n border-color: #245580; }\n\n.btn-primary:focus, .btn-primary:hover {\n background-color: #265a88;\n background-position: 0 -15px; }\n\n.btn-primary.active, .btn-primary:active {\n background-color: #265a88;\n border-color: #245580; }\n\n.btn-primary.disabled, .btn-primary.disabled.active, .btn-primary.disabled.focus, .btn-primary.disabled:active, .btn-primary.disabled:focus, .btn-primary.disabled:hover, .btn-primary[disabled], .btn-primary[disabled].active, .btn-primary[disabled].focus, .btn-primary[disabled]:active, .btn-primary[disabled]:focus, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary, fieldset[disabled] .btn-primary.active, fieldset[disabled] .btn-primary.focus, fieldset[disabled] .btn-primary:active, fieldset[disabled] .btn-primary:focus, fieldset[disabled] .btn-primary:hover {\n background-color: #265a88;\n background-image: none; }\n\n.btn-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0, #419641 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0, #419641 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641));\n background-image: linear-gradient(to bottom, #5cb85c 0, #419641 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n background-repeat: repeat-x;\n border-color: #3e8f3e; }\n\n.btn-success:focus, .btn-success:hover {\n background-color: #419641;\n background-position: 0 -15px; }\n\n.btn-success.active, .btn-success:active {\n background-color: #419641;\n border-color: #3e8f3e; }\n\n.btn-success.disabled, .btn-success.disabled.active, .btn-success.disabled.focus, .btn-success.disabled:active, .btn-success.disabled:focus, .btn-success.disabled:hover, .btn-success[disabled], .btn-success[disabled].active, .btn-success[disabled].focus, .btn-success[disabled]:active, .btn-success[disabled]:focus, .btn-success[disabled]:hover, fieldset[disabled] .btn-success, fieldset[disabled] .btn-success.active, fieldset[disabled] .btn-success.focus, fieldset[disabled] .btn-success:active, fieldset[disabled] .btn-success:focus, fieldset[disabled] .btn-success:hover {\n background-color: #419641;\n background-image: none; }\n\n.btn-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0, #2aabd2 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0, #2aabd2 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2));\n background-image: linear-gradient(to bottom, #5bc0de 0, #2aabd2 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n background-repeat: repeat-x;\n border-color: #28a4c9; }\n\n.btn-info:focus, .btn-info:hover {\n background-color: #2aabd2;\n background-position: 0 -15px; }\n\n.btn-info.active, .btn-info:active {\n background-color: #2aabd2;\n border-color: #28a4c9; }\n\n.btn-info.disabled, .btn-info.disabled.active, .btn-info.disabled.focus, .btn-info.disabled:active, .btn-info.disabled:focus, .btn-info.disabled:hover, .btn-info[disabled], .btn-info[disabled].active, .btn-info[disabled].focus, .btn-info[disabled]:active, .btn-info[disabled]:focus, .btn-info[disabled]:hover, fieldset[disabled] .btn-info, fieldset[disabled] .btn-info.active, fieldset[disabled] .btn-info.focus, fieldset[disabled] .btn-info:active, fieldset[disabled] .btn-info:focus, fieldset[disabled] .btn-info:hover {\n background-color: #2aabd2;\n background-image: none; }\n\n.btn-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0, #eb9316 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0, #eb9316 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316));\n background-image: linear-gradient(to bottom, #f0ad4e 0, #eb9316 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n background-repeat: repeat-x;\n border-color: #e38d13; }\n\n.btn-warning:focus, .btn-warning:hover {\n background-color: #eb9316;\n background-position: 0 -15px; }\n\n.btn-warning.active, .btn-warning:active {\n background-color: #eb9316;\n border-color: #e38d13; }\n\n.btn-warning.disabled, .btn-warning.disabled.active, .btn-warning.disabled.focus, .btn-warning.disabled:active, .btn-warning.disabled:focus, .btn-warning.disabled:hover, .btn-warning[disabled], .btn-warning[disabled].active, .btn-warning[disabled].focus, .btn-warning[disabled]:active, .btn-warning[disabled]:focus, .btn-warning[disabled]:hover, fieldset[disabled] .btn-warning, fieldset[disabled] .btn-warning.active, fieldset[disabled] .btn-warning.focus, fieldset[disabled] .btn-warning:active, fieldset[disabled] .btn-warning:focus, fieldset[disabled] .btn-warning:hover {\n background-color: #eb9316;\n background-image: none; }\n\n.btn-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0, #c12e2a 100%);\n background-image: -o-linear-gradient(top, #d9534f 0, #c12e2a 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a));\n background-image: linear-gradient(to bottom, #d9534f 0, #c12e2a 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n background-repeat: repeat-x;\n border-color: #b92c28; }\n\n.btn-danger:focus, .btn-danger:hover {\n background-color: #c12e2a;\n background-position: 0 -15px; }\n\n.btn-danger.active, .btn-danger:active {\n background-color: #c12e2a;\n border-color: #b92c28; }\n\n.btn-danger.disabled, .btn-danger.disabled.active, .btn-danger.disabled.focus, .btn-danger.disabled:active, .btn-danger.disabled:focus, .btn-danger.disabled:hover, .btn-danger[disabled], .btn-danger[disabled].active, .btn-danger[disabled].focus, .btn-danger[disabled]:active, .btn-danger[disabled]:focus, .btn-danger[disabled]:hover, fieldset[disabled] .btn-danger, fieldset[disabled] .btn-danger.active, fieldset[disabled] .btn-danger.focus, fieldset[disabled] .btn-danger:active, fieldset[disabled] .btn-danger:focus, fieldset[disabled] .btn-danger:hover {\n background-color: #c12e2a;\n background-image: none; }\n\n.img-thumbnail, .thumbnail {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); }\n\n.dropdown-menu > li > a:focus, .dropdown-menu > li > a:hover {\n background-color: #e8e8e8;\n background-image: -webkit-linear-gradient(top, #f5f5f5 0, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0, #e8e8e8 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));\n background-image: linear-gradient(to bottom, #f5f5f5 0, #e8e8e8 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n background-repeat: repeat-x; }\n\n.dropdown-menu > .active > a, .dropdown-menu > .active > a:focus, .dropdown-menu > .active > a:hover {\n background-color: #2e6da4;\n background-image: -webkit-linear-gradient(top, #337ab7 0, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0, #2e6da4 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));\n background-image: linear-gradient(to bottom, #337ab7 0, #2e6da4 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-repeat: repeat-x; }\n\n.navbar-default {\n background-image: -webkit-linear-gradient(top, #fff 0, #f8f8f8 100%);\n background-image: -o-linear-gradient(top, #fff 0, #f8f8f8 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8));\n background-image: linear-gradient(to bottom, #fff 0, #f8f8f8 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n background-repeat: repeat-x;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075); }\n\n.navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .open > a {\n background-image: -webkit-linear-gradient(top, #dbdbdb 0, #e2e2e2 100%);\n background-image: -o-linear-gradient(top, #dbdbdb 0, #e2e2e2 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2));\n background-image: linear-gradient(to bottom, #dbdbdb 0, #e2e2e2 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);\n background-repeat: repeat-x;\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075); }\n\n.navbar-brand, .navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25); }\n\n.navbar-inverse {\n background-image: -webkit-linear-gradient(top, #3c3c3c 0, #222 100%);\n background-image: -o-linear-gradient(top, #3c3c3c 0, #222 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222));\n background-image: linear-gradient(to bottom, #3c3c3c 0, #222 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n background-repeat: repeat-x;\n border-radius: 4px; }\n\n.navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .open > a {\n background-image: -webkit-linear-gradient(top, #080808 0, #0f0f0f 100%);\n background-image: -o-linear-gradient(top, #080808 0, #0f0f0f 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f));\n background-image: linear-gradient(to bottom, #080808 0, #0f0f0f 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);\n background-repeat: repeat-x;\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25); }\n\n.navbar-inverse .navbar-brand, .navbar-inverse .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); }\n\n.navbar-fixed-bottom, .navbar-fixed-top, .navbar-static-top {\n border-radius: 0; }\n\n@media (max-width: 767px) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a, .navbar .navbar-nav .open .dropdown-menu > .active > a:focus, .navbar .navbar-nav .open .dropdown-menu > .active > a:hover {\n color: #fff;\n background-image: -webkit-linear-gradient(top, #337ab7 0, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0, #2e6da4 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));\n background-image: linear-gradient(to bottom, #337ab7 0, #2e6da4 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-repeat: repeat-x; } }\n\n.alert {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05); }\n\n.alert-success {\n background-image: -webkit-linear-gradient(top, #dff0d8 0, #c8e5bc 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0, #c8e5bc 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc));\n background-image: linear-gradient(to bottom, #dff0d8 0, #c8e5bc 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);\n background-repeat: repeat-x;\n border-color: #b2dba1; }\n\n.alert-info {\n background-image: -webkit-linear-gradient(top, #d9edf7 0, #b9def0 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0, #b9def0 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0));\n background-image: linear-gradient(to bottom, #d9edf7 0, #b9def0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);\n background-repeat: repeat-x;\n border-color: #9acfea; }\n\n.alert-warning {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0, #f8efc0 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0, #f8efc0 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0));\n background-image: linear-gradient(to bottom, #fcf8e3 0, #f8efc0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);\n background-repeat: repeat-x;\n border-color: #f5e79e; }\n\n.alert-danger {\n background-image: -webkit-linear-gradient(top, #f2dede 0, #e7c3c3 100%);\n background-image: -o-linear-gradient(top, #f2dede 0, #e7c3c3 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3));\n background-image: linear-gradient(to bottom, #f2dede 0, #e7c3c3 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);\n background-repeat: repeat-x;\n border-color: #dca7a7; }\n\n.progress {\n background-image: -webkit-linear-gradient(top, #ebebeb 0, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #ebebeb 0, #f5f5f5 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5));\n background-image: linear-gradient(to bottom, #ebebeb 0, #f5f5f5 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);\n background-repeat: repeat-x; }\n\n.progress-bar {\n background-image: -webkit-linear-gradient(top, #337ab7 0, #286090 100%);\n background-image: -o-linear-gradient(top, #337ab7 0, #286090 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090));\n background-image: linear-gradient(to bottom, #337ab7 0, #286090 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);\n background-repeat: repeat-x; }\n\n.progress-bar-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0, #449d44 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0, #449d44 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44));\n background-image: linear-gradient(to bottom, #5cb85c 0, #449d44 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);\n background-repeat: repeat-x; }\n\n.progress-bar-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0, #31b0d5 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0, #31b0d5 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5));\n background-image: linear-gradient(to bottom, #5bc0de 0, #31b0d5 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);\n background-repeat: repeat-x; }\n\n.progress-bar-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0, #ec971f 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0, #ec971f 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f));\n background-image: linear-gradient(to bottom, #f0ad4e 0, #ec971f 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);\n background-repeat: repeat-x; }\n\n.progress-bar-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0, #c9302c 100%);\n background-image: -o-linear-gradient(top, #d9534f 0, #c9302c 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c));\n background-image: linear-gradient(to bottom, #d9534f 0, #c9302c 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);\n background-repeat: repeat-x; }\n\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }\n\n.list-group {\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); }\n\n.list-group-item.active, .list-group-item.active:focus, .list-group-item.active:hover {\n text-shadow: 0 -1px 0 #286090;\n background-image: -webkit-linear-gradient(top, #337ab7 0, #2b669a 100%);\n background-image: -o-linear-gradient(top, #337ab7 0, #2b669a 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a));\n background-image: linear-gradient(to bottom, #337ab7 0, #2b669a 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);\n background-repeat: repeat-x;\n border-color: #2b669a; }\n\n.list-group-item.active .badge, .list-group-item.active:focus .badge, .list-group-item.active:hover .badge {\n text-shadow: none; }\n\n.panel {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); }\n\n.panel-default > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0, #e8e8e8 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));\n background-image: linear-gradient(to bottom, #f5f5f5 0, #e8e8e8 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n background-repeat: repeat-x; }\n\n.panel-primary > .panel-heading {\n background-image: -webkit-linear-gradient(top, #337ab7 0, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0, #2e6da4 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));\n background-image: linear-gradient(to bottom, #337ab7 0, #2e6da4 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-repeat: repeat-x; }\n\n.panel-success > .panel-heading {\n background-image: -webkit-linear-gradient(top, #dff0d8 0, #d0e9c6 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0, #d0e9c6 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6));\n background-image: linear-gradient(to bottom, #dff0d8 0, #d0e9c6 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);\n background-repeat: repeat-x; }\n\n.panel-info > .panel-heading {\n background-image: -webkit-linear-gradient(top, #d9edf7 0, #c4e3f3 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0, #c4e3f3 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3));\n background-image: linear-gradient(to bottom, #d9edf7 0, #c4e3f3 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);\n background-repeat: repeat-x; }\n\n.panel-warning > .panel-heading {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0, #faf2cc 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0, #faf2cc 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc));\n background-image: linear-gradient(to bottom, #fcf8e3 0, #faf2cc 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);\n background-repeat: repeat-x; }\n\n.panel-danger > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f2dede 0, #ebcccc 100%);\n background-image: -o-linear-gradient(top, #f2dede 0, #ebcccc 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc));\n background-image: linear-gradient(to bottom, #f2dede 0, #ebcccc 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);\n background-repeat: repeat-x; }\n\n.well {\n background-image: -webkit-linear-gradient(top, #e8e8e8 0, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #e8e8e8 0, #f5f5f5 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5));\n background-image: linear-gradient(to bottom, #e8e8e8 0, #f5f5f5 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);\n background-repeat: repeat-x;\n border-color: #dcdcdc;\n -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1); }\n\n/*!\n * Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n@font-face {\n font-family: 'FontAwesome';\n src: url(\"../fonts/fontawesome-webfont.eot?v=4.3.0\");\n src: url(\"../fonts/fontawesome-webfont.eot?#iefix&v=4.3.0\") format(\"embedded-opentype\"), url(\"../fonts/fontawesome-webfont.woff2?v=4.3.0\") format(\"woff2\"), url(\"../fonts/fontawesome-webfont.woff?v=4.3.0\") format(\"woff\"), url(\"../fonts/fontawesome-webfont.ttf?v=4.3.0\") format(\"truetype\"), url(\"../fonts/fontawesome-webfont.svg?v=4.3.0#fontawesomeregular\") format(\"svg\");\n font-weight: normal;\n font-style: normal; }\n\n.fa {\n display: inline-block;\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n transform: translate(0, 0); }\n\n.fa-lg {\n font-size: 1.33333333em;\n line-height: .75em;\n vertical-align: -15%; }\n\n.fa-2x {\n font-size: 2em; }\n\n.fa-3x {\n font-size: 3em; }\n\n.fa-4x {\n font-size: 4em; }\n\n.fa-5x {\n font-size: 5em; }\n\n.fa-fw {\n width: 1.28571429em;\n text-align: center; }\n\n.fa-ul {\n padding-left: 0;\n margin-left: 2.14285714em;\n list-style-type: none; }\n\n.fa-ul > li {\n position: relative; }\n\n.fa-li {\n position: absolute;\n left: -2.14285714em;\n width: 2.14285714em;\n top: .14285714em;\n text-align: center; }\n\n.fa-li.fa-lg {\n left: -1.85714286em; }\n\n.fa-border {\n padding: .2em .25em .15em;\n border: solid .08em #eee;\n border-radius: .1em; }\n\n.pull-right {\n float: right; }\n\n.pull-left {\n float: left; }\n\n.fa.pull-left {\n margin-right: .3em; }\n\n.fa.pull-right {\n margin-left: .3em; }\n\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear; }\n\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8); }\n\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg); }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg); } }\n\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg); }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg); } }\n\n.fa-rotate-90 {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);\n -webkit-transform: rotate(90deg);\n -ms-transform: rotate(90deg);\n transform: rotate(90deg); }\n\n.fa-rotate-180 {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);\n -webkit-transform: rotate(180deg);\n -ms-transform: rotate(180deg);\n transform: rotate(180deg); }\n\n.fa-rotate-270 {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);\n -webkit-transform: rotate(270deg);\n -ms-transform: rotate(270deg);\n transform: rotate(270deg); }\n\n.fa-flip-horizontal {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);\n -webkit-transform: scale(-1, 1);\n -ms-transform: scale(-1, 1);\n transform: scale(-1, 1); }\n\n.fa-flip-vertical {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);\n -webkit-transform: scale(1, -1);\n -ms-transform: scale(1, -1);\n transform: scale(1, -1); }\n\n:root .fa-rotate-90, :root .fa-rotate-180, :root .fa-rotate-270, :root .fa-flip-horizontal, :root .fa-flip-vertical {\n filter: none; }\n\n.fa-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle; }\n\n.fa-stack-1x, .fa-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center; }\n\n.fa-stack-1x {\n line-height: inherit; }\n\n.fa-stack-2x {\n font-size: 2em; }\n\n.fa-inverse {\n color: #fff; }\n\n.fa-glass:before {\n content: \"\\f000\"; }\n\n.fa-music:before {\n content: \"\\f001\"; }\n\n.fa-search:before {\n content: \"\\f002\"; }\n\n.fa-envelope-o:before {\n content: \"\\f003\"; }\n\n.fa-heart:before {\n content: \"\\f004\"; }\n\n.fa-star:before {\n content: \"\\f005\"; }\n\n.fa-star-o:before {\n content: \"\\f006\"; }\n\n.fa-user:before {\n content: \"\\f007\"; }\n\n.fa-film:before {\n content: \"\\f008\"; }\n\n.fa-th-large:before {\n content: \"\\f009\"; }\n\n.fa-th:before {\n content: \"\\f00a\"; }\n\n.fa-th-list:before {\n content: \"\\f00b\"; }\n\n.fa-check:before {\n content: \"\\f00c\"; }\n\n.fa-remove:before, .fa-close:before, .fa-times:before {\n content: \"\\f00d\"; }\n\n.fa-search-plus:before {\n content: \"\\f00e\"; }\n\n.fa-search-minus:before {\n content: \"\\f010\"; }\n\n.fa-power-off:before {\n content: \"\\f011\"; }\n\n.fa-signal:before {\n content: \"\\f012\"; }\n\n.fa-gear:before, .fa-cog:before {\n content: \"\\f013\"; }\n\n.fa-trash-o:before {\n content: \"\\f014\"; }\n\n.fa-home:before {\n content: \"\\f015\"; }\n\n.fa-file-o:before {\n content: \"\\f016\"; }\n\n.fa-clock-o:before {\n content: \"\\f017\"; }\n\n.fa-road:before {\n content: \"\\f018\"; }\n\n.fa-download:before {\n content: \"\\f019\"; }\n\n.fa-arrow-circle-o-down:before {\n content: \"\\f01a\"; }\n\n.fa-arrow-circle-o-up:before {\n content: \"\\f01b\"; }\n\n.fa-inbox:before {\n content: \"\\f01c\"; }\n\n.fa-play-circle-o:before {\n content: \"\\f01d\"; }\n\n.fa-rotate-right:before, .fa-repeat:before {\n content: \"\\f01e\"; }\n\n.fa-refresh:before {\n content: \"\\f021\"; }\n\n.fa-list-alt:before {\n content: \"\\f022\"; }\n\n.fa-lock:before {\n content: \"\\f023\"; }\n\n.fa-flag:before {\n content: \"\\f024\"; }\n\n.fa-headphones:before {\n content: \"\\f025\"; }\n\n.fa-volume-off:before {\n content: \"\\f026\"; }\n\n.fa-volume-down:before {\n content: \"\\f027\"; }\n\n.fa-volume-up:before {\n content: \"\\f028\"; }\n\n.fa-qrcode:before {\n content: \"\\f029\"; }\n\n.fa-barcode:before {\n content: \"\\f02a\"; }\n\n.fa-tag:before {\n content: \"\\f02b\"; }\n\n.fa-tags:before {\n content: \"\\f02c\"; }\n\n.fa-book:before {\n content: \"\\f02d\"; }\n\n.fa-bookmark:before {\n content: \"\\f02e\"; }\n\n.fa-print:before {\n content: \"\\f02f\"; }\n\n.fa-camera:before {\n content: \"\\f030\"; }\n\n.fa-font:before {\n content: \"\\f031\"; }\n\n.fa-bold:before {\n content: \"\\f032\"; }\n\n.fa-italic:before {\n content: \"\\f033\"; }\n\n.fa-text-height:before {\n content: \"\\f034\"; }\n\n.fa-text-width:before {\n content: \"\\f035\"; }\n\n.fa-align-left:before {\n content: \"\\f036\"; }\n\n.fa-align-center:before {\n content: \"\\f037\"; }\n\n.fa-align-right:before {\n content: \"\\f038\"; }\n\n.fa-align-justify:before {\n content: \"\\f039\"; }\n\n.fa-list:before {\n content: \"\\f03a\"; }\n\n.fa-dedent:before, .fa-outdent:before {\n content: \"\\f03b\"; }\n\n.fa-indent:before {\n content: \"\\f03c\"; }\n\n.fa-video-camera:before {\n content: \"\\f03d\"; }\n\n.fa-photo:before, .fa-image:before, .fa-picture-o:before {\n content: \"\\f03e\"; }\n\n.fa-pencil:before {\n content: \"\\f040\"; }\n\n.fa-map-marker:before {\n content: \"\\f041\"; }\n\n.fa-adjust:before {\n content: \"\\f042\"; }\n\n.fa-tint:before {\n content: \"\\f043\"; }\n\n.fa-edit:before, .fa-pencil-square-o:before {\n content: \"\\f044\"; }\n\n.fa-share-square-o:before {\n content: \"\\f045\"; }\n\n.fa-check-square-o:before {\n content: \"\\f046\"; }\n\n.fa-arrows:before {\n content: \"\\f047\"; }\n\n.fa-step-backward:before {\n content: \"\\f048\"; }\n\n.fa-fast-backward:before {\n content: \"\\f049\"; }\n\n.fa-backward:before {\n content: \"\\f04a\"; }\n\n.fa-play:before {\n content: \"\\f04b\"; }\n\n.fa-pause:before {\n content: \"\\f04c\"; }\n\n.fa-stop:before {\n content: \"\\f04d\"; }\n\n.fa-forward:before {\n content: \"\\f04e\"; }\n\n.fa-fast-forward:before {\n content: \"\\f050\"; }\n\n.fa-step-forward:before {\n content: \"\\f051\"; }\n\n.fa-eject:before {\n content: \"\\f052\"; }\n\n.fa-chevron-left:before {\n content: \"\\f053\"; }\n\n.fa-chevron-right:before {\n content: \"\\f054\"; }\n\n.fa-plus-circle:before {\n content: \"\\f055\"; }\n\n.fa-minus-circle:before {\n content: \"\\f056\"; }\n\n.fa-times-circle:before {\n content: \"\\f057\"; }\n\n.fa-check-circle:before {\n content: \"\\f058\"; }\n\n.fa-question-circle:before {\n content: \"\\f059\"; }\n\n.fa-info-circle:before {\n content: \"\\f05a\"; }\n\n.fa-crosshairs:before {\n content: \"\\f05b\"; }\n\n.fa-times-circle-o:before {\n content: \"\\f05c\"; }\n\n.fa-check-circle-o:before {\n content: \"\\f05d\"; }\n\n.fa-ban:before {\n content: \"\\f05e\"; }\n\n.fa-arrow-left:before {\n content: \"\\f060\"; }\n\n.fa-arrow-right:before {\n content: \"\\f061\"; }\n\n.fa-arrow-up:before {\n content: \"\\f062\"; }\n\n.fa-arrow-down:before {\n content: \"\\f063\"; }\n\n.fa-mail-forward:before, .fa-share:before {\n content: \"\\f064\"; }\n\n.fa-expand:before {\n content: \"\\f065\"; }\n\n.fa-compress:before {\n content: \"\\f066\"; }\n\n.fa-plus:before {\n content: \"\\f067\"; }\n\n.fa-minus:before {\n content: \"\\f068\"; }\n\n.fa-asterisk:before {\n content: \"\\f069\"; }\n\n.fa-exclamation-circle:before {\n content: \"\\f06a\"; }\n\n.fa-gift:before {\n content: \"\\f06b\"; }\n\n.fa-leaf:before {\n content: \"\\f06c\"; }\n\n.fa-fire:before {\n content: \"\\f06d\"; }\n\n.fa-eye:before {\n content: \"\\f06e\"; }\n\n.fa-eye-slash:before {\n content: \"\\f070\"; }\n\n.fa-warning:before, .fa-exclamation-triangle:before {\n content: \"\\f071\"; }\n\n.fa-plane:before {\n content: \"\\f072\"; }\n\n.fa-calendar:before {\n content: \"\\f073\"; }\n\n.fa-random:before {\n content: \"\\f074\"; }\n\n.fa-comment:before {\n content: \"\\f075\"; }\n\n.fa-magnet:before {\n content: \"\\f076\"; }\n\n.fa-chevron-up:before {\n content: \"\\f077\"; }\n\n.fa-chevron-down:before {\n content: \"\\f078\"; }\n\n.fa-retweet:before {\n content: \"\\f079\"; }\n\n.fa-shopping-cart:before {\n content: \"\\f07a\"; }\n\n.fa-folder:before {\n content: \"\\f07b\"; }\n\n.fa-folder-open:before {\n content: \"\\f07c\"; }\n\n.fa-arrows-v:before {\n content: \"\\f07d\"; }\n\n.fa-arrows-h:before {\n content: \"\\f07e\"; }\n\n.fa-bar-chart-o:before, .fa-bar-chart:before {\n content: \"\\f080\"; }\n\n.fa-twitter-square:before {\n content: \"\\f081\"; }\n\n.fa-facebook-square:before {\n content: \"\\f082\"; }\n\n.fa-camera-retro:before {\n content: \"\\f083\"; }\n\n.fa-key:before {\n content: \"\\f084\"; }\n\n.fa-gears:before, .fa-cogs:before {\n content: \"\\f085\"; }\n\n.fa-comments:before {\n content: \"\\f086\"; }\n\n.fa-thumbs-o-up:before {\n content: \"\\f087\"; }\n\n.fa-thumbs-o-down:before {\n content: \"\\f088\"; }\n\n.fa-star-half:before {\n content: \"\\f089\"; }\n\n.fa-heart-o:before {\n content: \"\\f08a\"; }\n\n.fa-sign-out:before {\n content: \"\\f08b\"; }\n\n.fa-linkedin-square:before {\n content: \"\\f08c\"; }\n\n.fa-thumb-tack:before {\n content: \"\\f08d\"; }\n\n.fa-external-link:before {\n content: \"\\f08e\"; }\n\n.fa-sign-in:before {\n content: \"\\f090\"; }\n\n.fa-trophy:before {\n content: \"\\f091\"; }\n\n.fa-github-square:before {\n content: \"\\f092\"; }\n\n.fa-upload:before {\n content: \"\\f093\"; }\n\n.fa-lemon-o:before {\n content: \"\\f094\"; }\n\n.fa-phone:before {\n content: \"\\f095\"; }\n\n.fa-square-o:before {\n content: \"\\f096\"; }\n\n.fa-bookmark-o:before {\n content: \"\\f097\"; }\n\n.fa-phone-square:before {\n content: \"\\f098\"; }\n\n.fa-twitter:before {\n content: \"\\f099\"; }\n\n.fa-facebook-f:before, .fa-facebook:before {\n content: \"\\f09a\"; }\n\n.fa-github:before {\n content: \"\\f09b\"; }\n\n.fa-unlock:before {\n content: \"\\f09c\"; }\n\n.fa-credit-card:before {\n content: \"\\f09d\"; }\n\n.fa-rss:before {\n content: \"\\f09e\"; }\n\n.fa-hdd-o:before {\n content: \"\\f0a0\"; }\n\n.fa-bullhorn:before {\n content: \"\\f0a1\"; }\n\n.fa-bell:before {\n content: \"\\f0f3\"; }\n\n.fa-certificate:before {\n content: \"\\f0a3\"; }\n\n.fa-hand-o-right:before {\n content: \"\\f0a4\"; }\n\n.fa-hand-o-left:before {\n content: \"\\f0a5\"; }\n\n.fa-hand-o-up:before {\n content: \"\\f0a6\"; }\n\n.fa-hand-o-down:before {\n content: \"\\f0a7\"; }\n\n.fa-arrow-circle-left:before {\n content: \"\\f0a8\"; }\n\n.fa-arrow-circle-right:before {\n content: \"\\f0a9\"; }\n\n.fa-arrow-circle-up:before {\n content: \"\\f0aa\"; }\n\n.fa-arrow-circle-down:before {\n content: \"\\f0ab\"; }\n\n.fa-globe:before {\n content: \"\\f0ac\"; }\n\n.fa-wrench:before {\n content: \"\\f0ad\"; }\n\n.fa-tasks:before {\n content: \"\\f0ae\"; }\n\n.fa-filter:before {\n content: \"\\f0b0\"; }\n\n.fa-briefcase:before {\n content: \"\\f0b1\"; }\n\n.fa-arrows-alt:before {\n content: \"\\f0b2\"; }\n\n.fa-group:before, .fa-users:before {\n content: \"\\f0c0\"; }\n\n.fa-chain:before, .fa-link:before {\n content: \"\\f0c1\"; }\n\n.fa-cloud:before {\n content: \"\\f0c2\"; }\n\n.fa-flask:before {\n content: \"\\f0c3\"; }\n\n.fa-cut:before, .fa-scissors:before {\n content: \"\\f0c4\"; }\n\n.fa-copy:before, .fa-files-o:before {\n content: \"\\f0c5\"; }\n\n.fa-paperclip:before {\n content: \"\\f0c6\"; }\n\n.fa-save:before, .fa-floppy-o:before {\n content: \"\\f0c7\"; }\n\n.fa-square:before {\n content: \"\\f0c8\"; }\n\n.fa-navicon:before, .fa-reorder:before, .fa-bars:before {\n content: \"\\f0c9\"; }\n\n.fa-list-ul:before {\n content: \"\\f0ca\"; }\n\n.fa-list-ol:before {\n content: \"\\f0cb\"; }\n\n.fa-strikethrough:before {\n content: \"\\f0cc\"; }\n\n.fa-underline:before {\n content: \"\\f0cd\"; }\n\n.fa-table:before {\n content: \"\\f0ce\"; }\n\n.fa-magic:before {\n content: \"\\f0d0\"; }\n\n.fa-truck:before {\n content: \"\\f0d1\"; }\n\n.fa-pinterest:before {\n content: \"\\f0d2\"; }\n\n.fa-pinterest-square:before {\n content: \"\\f0d3\"; }\n\n.fa-google-plus-square:before {\n content: \"\\f0d4\"; }\n\n.fa-google-plus:before {\n content: \"\\f0d5\"; }\n\n.fa-money:before {\n content: \"\\f0d6\"; }\n\n.fa-caret-down:before {\n content: \"\\f0d7\"; }\n\n.fa-caret-up:before {\n content: \"\\f0d8\"; }\n\n.fa-caret-left:before {\n content: \"\\f0d9\"; }\n\n.fa-caret-right:before {\n content: \"\\f0da\"; }\n\n.fa-columns:before {\n content: \"\\f0db\"; }\n\n.fa-unsorted:before, .fa-sort:before {\n content: \"\\f0dc\"; }\n\n.fa-sort-down:before, .fa-sort-desc:before {\n content: \"\\f0dd\"; }\n\n.fa-sort-up:before, .fa-sort-asc:before {\n content: \"\\f0de\"; }\n\n.fa-envelope:before {\n content: \"\\f0e0\"; }\n\n.fa-linkedin:before {\n content: \"\\f0e1\"; }\n\n.fa-rotate-left:before, .fa-undo:before {\n content: \"\\f0e2\"; }\n\n.fa-legal:before, .fa-gavel:before {\n content: \"\\f0e3\"; }\n\n.fa-dashboard:before, .fa-tachometer:before {\n content: \"\\f0e4\"; }\n\n.fa-comment-o:before {\n content: \"\\f0e5\"; }\n\n.fa-comments-o:before {\n content: \"\\f0e6\"; }\n\n.fa-flash:before, .fa-bolt:before {\n content: \"\\f0e7\"; }\n\n.fa-sitemap:before {\n content: \"\\f0e8\"; }\n\n.fa-umbrella:before {\n content: \"\\f0e9\"; }\n\n.fa-paste:before, .fa-clipboard:before {\n content: \"\\f0ea\"; }\n\n.fa-lightbulb-o:before {\n content: \"\\f0eb\"; }\n\n.fa-exchange:before {\n content: \"\\f0ec\"; }\n\n.fa-cloud-download:before {\n content: \"\\f0ed\"; }\n\n.fa-cloud-upload:before {\n content: \"\\f0ee\"; }\n\n.fa-user-md:before {\n content: \"\\f0f0\"; }\n\n.fa-stethoscope:before {\n content: \"\\f0f1\"; }\n\n.fa-suitcase:before {\n content: \"\\f0f2\"; }\n\n.fa-bell-o:before {\n content: \"\\f0a2\"; }\n\n.fa-coffee:before {\n content: \"\\f0f4\"; }\n\n.fa-cutlery:before {\n content: \"\\f0f5\"; }\n\n.fa-file-text-o:before {\n content: \"\\f0f6\"; }\n\n.fa-building-o:before {\n content: \"\\f0f7\"; }\n\n.fa-hospital-o:before {\n content: \"\\f0f8\"; }\n\n.fa-ambulance:before {\n content: \"\\f0f9\"; }\n\n.fa-medkit:before {\n content: \"\\f0fa\"; }\n\n.fa-fighter-jet:before {\n content: \"\\f0fb\"; }\n\n.fa-beer:before {\n content: \"\\f0fc\"; }\n\n.fa-h-square:before {\n content: \"\\f0fd\"; }\n\n.fa-plus-square:before {\n content: \"\\f0fe\"; }\n\n.fa-angle-double-left:before {\n content: \"\\f100\"; }\n\n.fa-angle-double-right:before {\n content: \"\\f101\"; }\n\n.fa-angle-double-up:before {\n content: \"\\f102\"; }\n\n.fa-angle-double-down:before {\n content: \"\\f103\"; }\n\n.fa-angle-left:before {\n content: \"\\f104\"; }\n\n.fa-angle-right:before {\n content: \"\\f105\"; }\n\n.fa-angle-up:before {\n content: \"\\f106\"; }\n\n.fa-angle-down:before {\n content: \"\\f107\"; }\n\n.fa-desktop:before {\n content: \"\\f108\"; }\n\n.fa-laptop:before {\n content: \"\\f109\"; }\n\n.fa-tablet:before {\n content: \"\\f10a\"; }\n\n.fa-mobile-phone:before, .fa-mobile:before {\n content: \"\\f10b\"; }\n\n.fa-circle-o:before {\n content: \"\\f10c\"; }\n\n.fa-quote-left:before {\n content: \"\\f10d\"; }\n\n.fa-quote-right:before {\n content: \"\\f10e\"; }\n\n.fa-spinner:before {\n content: \"\\f110\"; }\n\n.fa-circle:before {\n content: \"\\f111\"; }\n\n.fa-mail-reply:before, .fa-reply:before {\n content: \"\\f112\"; }\n\n.fa-github-alt:before {\n content: \"\\f113\"; }\n\n.fa-folder-o:before {\n content: \"\\f114\"; }\n\n.fa-folder-open-o:before {\n content: \"\\f115\"; }\n\n.fa-smile-o:before {\n content: \"\\f118\"; }\n\n.fa-frown-o:before {\n content: \"\\f119\"; }\n\n.fa-meh-o:before {\n content: \"\\f11a\"; }\n\n.fa-gamepad:before {\n content: \"\\f11b\"; }\n\n.fa-keyboard-o:before {\n content: \"\\f11c\"; }\n\n.fa-flag-o:before {\n content: \"\\f11d\"; }\n\n.fa-flag-checkered:before {\n content: \"\\f11e\"; }\n\n.fa-terminal:before {\n content: \"\\f120\"; }\n\n.fa-code:before {\n content: \"\\f121\"; }\n\n.fa-mail-reply-all:before, .fa-reply-all:before {\n content: \"\\f122\"; }\n\n.fa-star-half-empty:before, .fa-star-half-full:before, .fa-star-half-o:before {\n content: \"\\f123\"; }\n\n.fa-location-arrow:before {\n content: \"\\f124\"; }\n\n.fa-crop:before {\n content: \"\\f125\"; }\n\n.fa-code-fork:before {\n content: \"\\f126\"; }\n\n.fa-unlink:before, .fa-chain-broken:before {\n content: \"\\f127\"; }\n\n.fa-question:before {\n content: \"\\f128\"; }\n\n.fa-info:before {\n content: \"\\f129\"; }\n\n.fa-exclamation:before {\n content: \"\\f12a\"; }\n\n.fa-superscript:before {\n content: \"\\f12b\"; }\n\n.fa-subscript:before {\n content: \"\\f12c\"; }\n\n.fa-eraser:before {\n content: \"\\f12d\"; }\n\n.fa-puzzle-piece:before {\n content: \"\\f12e\"; }\n\n.fa-microphone:before {\n content: \"\\f130\"; }\n\n.fa-microphone-slash:before {\n content: \"\\f131\"; }\n\n.fa-shield:before {\n content: \"\\f132\"; }\n\n.fa-calendar-o:before {\n content: \"\\f133\"; }\n\n.fa-fire-extinguisher:before {\n content: \"\\f134\"; }\n\n.fa-rocket:before {\n content: \"\\f135\"; }\n\n.fa-maxcdn:before {\n content: \"\\f136\"; }\n\n.fa-chevron-circle-left:before {\n content: \"\\f137\"; }\n\n.fa-chevron-circle-right:before {\n content: \"\\f138\"; }\n\n.fa-chevron-circle-up:before {\n content: \"\\f139\"; }\n\n.fa-chevron-circle-down:before {\n content: \"\\f13a\"; }\n\n.fa-html5:before {\n content: \"\\f13b\"; }\n\n.fa-css3:before {\n content: \"\\f13c\"; }\n\n.fa-anchor:before {\n content: \"\\f13d\"; }\n\n.fa-unlock-alt:before {\n content: \"\\f13e\"; }\n\n.fa-bullseye:before {\n content: \"\\f140\"; }\n\n.fa-ellipsis-h:before {\n content: \"\\f141\"; }\n\n.fa-ellipsis-v:before {\n content: \"\\f142\"; }\n\n.fa-rss-square:before {\n content: \"\\f143\"; }\n\n.fa-play-circle:before {\n content: \"\\f144\"; }\n\n.fa-ticket:before {\n content: \"\\f145\"; }\n\n.fa-minus-square:before {\n content: \"\\f146\"; }\n\n.fa-minus-square-o:before {\n content: \"\\f147\"; }\n\n.fa-level-up:before {\n content: \"\\f148\"; }\n\n.fa-level-down:before {\n content: \"\\f149\"; }\n\n.fa-check-square:before {\n content: \"\\f14a\"; }\n\n.fa-pencil-square:before {\n content: \"\\f14b\"; }\n\n.fa-external-link-square:before {\n content: \"\\f14c\"; }\n\n.fa-share-square:before {\n content: \"\\f14d\"; }\n\n.fa-compass:before {\n content: \"\\f14e\"; }\n\n.fa-toggle-down:before, .fa-caret-square-o-down:before {\n content: \"\\f150\"; }\n\n.fa-toggle-up:before, .fa-caret-square-o-up:before {\n content: \"\\f151\"; }\n\n.fa-toggle-right:before, .fa-caret-square-o-right:before {\n content: \"\\f152\"; }\n\n.fa-euro:before, .fa-eur:before {\n content: \"\\f153\"; }\n\n.fa-gbp:before {\n content: \"\\f154\"; }\n\n.fa-dollar:before, .fa-usd:before {\n content: \"\\f155\"; }\n\n.fa-rupee:before, .fa-inr:before {\n content: \"\\f156\"; }\n\n.fa-cny:before, .fa-rmb:before, .fa-yen:before, .fa-jpy:before {\n content: \"\\f157\"; }\n\n.fa-ruble:before, .fa-rouble:before, .fa-rub:before {\n content: \"\\f158\"; }\n\n.fa-won:before, .fa-krw:before {\n content: \"\\f159\"; }\n\n.fa-bitcoin:before, .fa-btc:before {\n content: \"\\f15a\"; }\n\n.fa-file:before {\n content: \"\\f15b\"; }\n\n.fa-file-text:before {\n content: \"\\f15c\"; }\n\n.fa-sort-alpha-asc:before {\n content: \"\\f15d\"; }\n\n.fa-sort-alpha-desc:before {\n content: \"\\f15e\"; }\n\n.fa-sort-amount-asc:before {\n content: \"\\f160\"; }\n\n.fa-sort-amount-desc:before {\n content: \"\\f161\"; }\n\n.fa-sort-numeric-asc:before {\n content: \"\\f162\"; }\n\n.fa-sort-numeric-desc:before {\n content: \"\\f163\"; }\n\n.fa-thumbs-up:before {\n content: \"\\f164\"; }\n\n.fa-thumbs-down:before {\n content: \"\\f165\"; }\n\n.fa-youtube-square:before {\n content: \"\\f166\"; }\n\n.fa-youtube:before {\n content: \"\\f167\"; }\n\n.fa-xing:before {\n content: \"\\f168\"; }\n\n.fa-xing-square:before {\n content: \"\\f169\"; }\n\n.fa-youtube-play:before {\n content: \"\\f16a\"; }\n\n.fa-dropbox:before {\n content: \"\\f16b\"; }\n\n.fa-stack-overflow:before {\n content: \"\\f16c\"; }\n\n.fa-instagram:before {\n content: \"\\f16d\"; }\n\n.fa-flickr:before {\n content: \"\\f16e\"; }\n\n.fa-adn:before {\n content: \"\\f170\"; }\n\n.fa-bitbucket:before {\n content: \"\\f171\"; }\n\n.fa-bitbucket-square:before {\n content: \"\\f172\"; }\n\n.fa-tumblr:before {\n content: \"\\f173\"; }\n\n.fa-tumblr-square:before {\n content: \"\\f174\"; }\n\n.fa-long-arrow-down:before {\n content: \"\\f175\"; }\n\n.fa-long-arrow-up:before {\n content: \"\\f176\"; }\n\n.fa-long-arrow-left:before {\n content: \"\\f177\"; }\n\n.fa-long-arrow-right:before {\n content: \"\\f178\"; }\n\n.fa-apple:before {\n content: \"\\f179\"; }\n\n.fa-windows:before {\n content: \"\\f17a\"; }\n\n.fa-android:before {\n content: \"\\f17b\"; }\n\n.fa-linux:before {\n content: \"\\f17c\"; }\n\n.fa-dribbble:before {\n content: \"\\f17d\"; }\n\n.fa-skype:before {\n content: \"\\f17e\"; }\n\n.fa-foursquare:before {\n content: \"\\f180\"; }\n\n.fa-trello:before {\n content: \"\\f181\"; }\n\n.fa-female:before {\n content: \"\\f182\"; }\n\n.fa-male:before {\n content: \"\\f183\"; }\n\n.fa-gittip:before, .fa-gratipay:before {\n content: \"\\f184\"; }\n\n.fa-sun-o:before {\n content: \"\\f185\"; }\n\n.fa-moon-o:before {\n content: \"\\f186\"; }\n\n.fa-archive:before {\n content: \"\\f187\"; }\n\n.fa-bug:before {\n content: \"\\f188\"; }\n\n.fa-vk:before {\n content: \"\\f189\"; }\n\n.fa-weibo:before {\n content: \"\\f18a\"; }\n\n.fa-renren:before {\n content: \"\\f18b\"; }\n\n.fa-pagelines:before {\n content: \"\\f18c\"; }\n\n.fa-stack-exchange:before {\n content: \"\\f18d\"; }\n\n.fa-arrow-circle-o-right:before {\n content: \"\\f18e\"; }\n\n.fa-arrow-circle-o-left:before {\n content: \"\\f190\"; }\n\n.fa-toggle-left:before, .fa-caret-square-o-left:before {\n content: \"\\f191\"; }\n\n.fa-dot-circle-o:before {\n content: \"\\f192\"; }\n\n.fa-wheelchair:before {\n content: \"\\f193\"; }\n\n.fa-vimeo-square:before {\n content: \"\\f194\"; }\n\n.fa-turkish-lira:before, .fa-try:before {\n content: \"\\f195\"; }\n\n.fa-plus-square-o:before {\n content: \"\\f196\"; }\n\n.fa-space-shuttle:before {\n content: \"\\f197\"; }\n\n.fa-slack:before {\n content: \"\\f198\"; }\n\n.fa-envelope-square:before {\n content: \"\\f199\"; }\n\n.fa-wordpress:before {\n content: \"\\f19a\"; }\n\n.fa-openid:before {\n content: \"\\f19b\"; }\n\n.fa-institution:before, .fa-bank:before, .fa-university:before {\n content: \"\\f19c\"; }\n\n.fa-mortar-board:before, .fa-graduation-cap:before {\n content: \"\\f19d\"; }\n\n.fa-yahoo:before {\n content: \"\\f19e\"; }\n\n.fa-google:before {\n content: \"\\f1a0\"; }\n\n.fa-reddit:before {\n content: \"\\f1a1\"; }\n\n.fa-reddit-square:before {\n content: \"\\f1a2\"; }\n\n.fa-stumbleupon-circle:before {\n content: \"\\f1a3\"; }\n\n.fa-stumbleupon:before {\n content: \"\\f1a4\"; }\n\n.fa-delicious:before {\n content: \"\\f1a5\"; }\n\n.fa-digg:before {\n content: \"\\f1a6\"; }\n\n.fa-pied-piper:before {\n content: \"\\f1a7\"; }\n\n.fa-pied-piper-alt:before {\n content: \"\\f1a8\"; }\n\n.fa-drupal:before {\n content: \"\\f1a9\"; }\n\n.fa-joomla:before {\n content: \"\\f1aa\"; }\n\n.fa-language:before {\n content: \"\\f1ab\"; }\n\n.fa-fax:before {\n content: \"\\f1ac\"; }\n\n.fa-building:before {\n content: \"\\f1ad\"; }\n\n.fa-child:before {\n content: \"\\f1ae\"; }\n\n.fa-paw:before {\n content: \"\\f1b0\"; }\n\n.fa-spoon:before {\n content: \"\\f1b1\"; }\n\n.fa-cube:before {\n content: \"\\f1b2\"; }\n\n.fa-cubes:before {\n content: \"\\f1b3\"; }\n\n.fa-behance:before {\n content: \"\\f1b4\"; }\n\n.fa-behance-square:before {\n content: \"\\f1b5\"; }\n\n.fa-steam:before {\n content: \"\\f1b6\"; }\n\n.fa-steam-square:before {\n content: \"\\f1b7\"; }\n\n.fa-recycle:before {\n content: \"\\f1b8\"; }\n\n.fa-automobile:before, .fa-car:before {\n content: \"\\f1b9\"; }\n\n.fa-cab:before, .fa-taxi:before {\n content: \"\\f1ba\"; }\n\n.fa-tree:before {\n content: \"\\f1bb\"; }\n\n.fa-spotify:before {\n content: \"\\f1bc\"; }\n\n.fa-deviantart:before {\n content: \"\\f1bd\"; }\n\n.fa-soundcloud:before {\n content: \"\\f1be\"; }\n\n.fa-database:before {\n content: \"\\f1c0\"; }\n\n.fa-file-pdf-o:before {\n content: \"\\f1c1\"; }\n\n.fa-file-word-o:before {\n content: \"\\f1c2\"; }\n\n.fa-file-excel-o:before {\n content: \"\\f1c3\"; }\n\n.fa-file-powerpoint-o:before {\n content: \"\\f1c4\"; }\n\n.fa-file-photo-o:before, .fa-file-picture-o:before, .fa-file-image-o:before {\n content: \"\\f1c5\"; }\n\n.fa-file-zip-o:before, .fa-file-archive-o:before {\n content: \"\\f1c6\"; }\n\n.fa-file-sound-o:before, .fa-file-audio-o:before {\n content: \"\\f1c7\"; }\n\n.fa-file-movie-o:before, .fa-file-video-o:before {\n content: \"\\f1c8\"; }\n\n.fa-file-code-o:before {\n content: \"\\f1c9\"; }\n\n.fa-vine:before {\n content: \"\\f1ca\"; }\n\n.fa-codepen:before {\n content: \"\\f1cb\"; }\n\n.fa-jsfiddle:before {\n content: \"\\f1cc\"; }\n\n.fa-life-bouy:before, .fa-life-buoy:before, .fa-life-saver:before, .fa-support:before, .fa-life-ring:before {\n content: \"\\f1cd\"; }\n\n.fa-circle-o-notch:before {\n content: \"\\f1ce\"; }\n\n.fa-ra:before, .fa-rebel:before {\n content: \"\\f1d0\"; }\n\n.fa-ge:before, .fa-empire:before {\n content: \"\\f1d1\"; }\n\n.fa-git-square:before {\n content: \"\\f1d2\"; }\n\n.fa-git:before {\n content: \"\\f1d3\"; }\n\n.fa-hacker-news:before {\n content: \"\\f1d4\"; }\n\n.fa-tencent-weibo:before {\n content: \"\\f1d5\"; }\n\n.fa-qq:before {\n content: \"\\f1d6\"; }\n\n.fa-wechat:before, .fa-weixin:before {\n content: \"\\f1d7\"; }\n\n.fa-send:before, .fa-paper-plane:before {\n content: \"\\f1d8\"; }\n\n.fa-send-o:before, .fa-paper-plane-o:before {\n content: \"\\f1d9\"; }\n\n.fa-history:before {\n content: \"\\f1da\"; }\n\n.fa-genderless:before, .fa-circle-thin:before {\n content: \"\\f1db\"; }\n\n.fa-header:before {\n content: \"\\f1dc\"; }\n\n.fa-paragraph:before {\n content: \"\\f1dd\"; }\n\n.fa-sliders:before {\n content: \"\\f1de\"; }\n\n.fa-share-alt:before {\n content: \"\\f1e0\"; }\n\n.fa-share-alt-square:before {\n content: \"\\f1e1\"; }\n\n.fa-bomb:before {\n content: \"\\f1e2\"; }\n\n.fa-soccer-ball-o:before, .fa-futbol-o:before {\n content: \"\\f1e3\"; }\n\n.fa-tty:before {\n content: \"\\f1e4\"; }\n\n.fa-binoculars:before {\n content: \"\\f1e5\"; }\n\n.fa-plug:before {\n content: \"\\f1e6\"; }\n\n.fa-slideshare:before {\n content: \"\\f1e7\"; }\n\n.fa-twitch:before {\n content: \"\\f1e8\"; }\n\n.fa-yelp:before {\n content: \"\\f1e9\"; }\n\n.fa-newspaper-o:before {\n content: \"\\f1ea\"; }\n\n.fa-wifi:before {\n content: \"\\f1eb\"; }\n\n.fa-calculator:before {\n content: \"\\f1ec\"; }\n\n.fa-paypal:before {\n content: \"\\f1ed\"; }\n\n.fa-google-wallet:before {\n content: \"\\f1ee\"; }\n\n.fa-cc-visa:before {\n content: \"\\f1f0\"; }\n\n.fa-cc-mastercard:before {\n content: \"\\f1f1\"; }\n\n.fa-cc-discover:before {\n content: \"\\f1f2\"; }\n\n.fa-cc-amex:before {\n content: \"\\f1f3\"; }\n\n.fa-cc-paypal:before {\n content: \"\\f1f4\"; }\n\n.fa-cc-stripe:before {\n content: \"\\f1f5\"; }\n\n.fa-bell-slash:before {\n content: \"\\f1f6\"; }\n\n.fa-bell-slash-o:before {\n content: \"\\f1f7\"; }\n\n.fa-trash:before {\n content: \"\\f1f8\"; }\n\n.fa-copyright:before {\n content: \"\\f1f9\"; }\n\n.fa-at:before {\n content: \"\\f1fa\"; }\n\n.fa-eyedropper:before {\n content: \"\\f1fb\"; }\n\n.fa-paint-brush:before {\n content: \"\\f1fc\"; }\n\n.fa-birthday-cake:before {\n content: \"\\f1fd\"; }\n\n.fa-area-chart:before {\n content: \"\\f1fe\"; }\n\n.fa-pie-chart:before {\n content: \"\\f200\"; }\n\n.fa-line-chart:before {\n content: \"\\f201\"; }\n\n.fa-lastfm:before {\n content: \"\\f202\"; }\n\n.fa-lastfm-square:before {\n content: \"\\f203\"; }\n\n.fa-toggle-off:before {\n content: \"\\f204\"; }\n\n.fa-toggle-on:before {\n content: \"\\f205\"; }\n\n.fa-bicycle:before {\n content: \"\\f206\"; }\n\n.fa-bus:before {\n content: \"\\f207\"; }\n\n.fa-ioxhost:before {\n content: \"\\f208\"; }\n\n.fa-angellist:before {\n content: \"\\f209\"; }\n\n.fa-cc:before {\n content: \"\\f20a\"; }\n\n.fa-shekel:before, .fa-sheqel:before, .fa-ils:before {\n content: \"\\f20b\"; }\n\n.fa-meanpath:before {\n content: \"\\f20c\"; }\n\n.fa-buysellads:before {\n content: \"\\f20d\"; }\n\n.fa-connectdevelop:before {\n content: \"\\f20e\"; }\n\n.fa-dashcube:before {\n content: \"\\f210\"; }\n\n.fa-forumbee:before {\n content: \"\\f211\"; }\n\n.fa-leanpub:before {\n content: \"\\f212\"; }\n\n.fa-sellsy:before {\n content: \"\\f213\"; }\n\n.fa-shirtsinbulk:before {\n content: \"\\f214\"; }\n\n.fa-simplybuilt:before {\n content: \"\\f215\"; }\n\n.fa-skyatlas:before {\n content: \"\\f216\"; }\n\n.fa-cart-plus:before {\n content: \"\\f217\"; }\n\n.fa-cart-arrow-down:before {\n content: \"\\f218\"; }\n\n.fa-diamond:before {\n content: \"\\f219\"; }\n\n.fa-ship:before {\n content: \"\\f21a\"; }\n\n.fa-user-secret:before {\n content: \"\\f21b\"; }\n\n.fa-motorcycle:before {\n content: \"\\f21c\"; }\n\n.fa-street-view:before {\n content: \"\\f21d\"; }\n\n.fa-heartbeat:before {\n content: \"\\f21e\"; }\n\n.fa-venus:before {\n content: \"\\f221\"; }\n\n.fa-mars:before {\n content: \"\\f222\"; }\n\n.fa-mercury:before {\n content: \"\\f223\"; }\n\n.fa-transgender:before {\n content: \"\\f224\"; }\n\n.fa-transgender-alt:before {\n content: \"\\f225\"; }\n\n.fa-venus-double:before {\n content: \"\\f226\"; }\n\n.fa-mars-double:before {\n content: \"\\f227\"; }\n\n.fa-venus-mars:before {\n content: \"\\f228\"; }\n\n.fa-mars-stroke:before {\n content: \"\\f229\"; }\n\n.fa-mars-stroke-v:before {\n content: \"\\f22a\"; }\n\n.fa-mars-stroke-h:before {\n content: \"\\f22b\"; }\n\n.fa-neuter:before {\n content: \"\\f22c\"; }\n\n.fa-facebook-official:before {\n content: \"\\f230\"; }\n\n.fa-pinterest-p:before {\n content: \"\\f231\"; }\n\n.fa-whatsapp:before {\n content: \"\\f232\"; }\n\n.fa-server:before {\n content: \"\\f233\"; }\n\n.fa-user-plus:before {\n content: \"\\f234\"; }\n\n.fa-user-times:before {\n content: \"\\f235\"; }\n\n.fa-hotel:before, .fa-bed:before {\n content: \"\\f236\"; }\n\n.fa-viacoin:before {\n content: \"\\f237\"; }\n\n.fa-train:before {\n content: \"\\f238\"; }\n\n.fa-subway:before {\n content: \"\\f239\"; }\n\n.fa-medium:before {\n content: \"\\f23a\"; }\n\n/*!\n * Start Bootstrap - SB Admin 2 Bootstrap Admin Theme (http://startbootstrap.com)\n * Code licensed under the Apache License v2.0.\n * For details, see http://www.apache.org/licenses/LICENSE-2.0.\n */\nbody {\n background-color: #f8f8f8; }\n\n#wrapper {\n width: 100%; }\n\n#page-wrapper {\n padding: 0 15px;\n min-height: 568px;\n background-color: #fff; }\n\n@media (min-width: 768px) {\n #page-wrapper {\n position: inherit;\n margin: 0 0 0 250px;\n padding: 0 30px;\n border-left: 1px solid #e7e7e7; } }\n\n.navbar-top-links {\n margin-right: 0; }\n\n.navbar-top-links li {\n display: inline-block; }\n\n.navbar-top-links li:last-child {\n margin-right: 15px; }\n\n.navbar-top-links li a {\n padding: 15px;\n min-height: 50px; }\n\n.navbar-top-links .dropdown-menu li {\n display: block; }\n\n.navbar-top-links .dropdown-menu li:last-child {\n margin-right: 0; }\n\n.navbar-top-links .dropdown-menu li a {\n padding: 3px 20px;\n min-height: 0; }\n\n.navbar-top-links .dropdown-menu li a div {\n white-space: normal; }\n\n.navbar-top-links .dropdown-messages,\n.navbar-top-links .dropdown-tasks,\n.navbar-top-links .dropdown-alerts {\n width: 310px;\n min-width: 0; }\n\n.navbar-top-links .dropdown-messages {\n margin-left: 5px; }\n\n.navbar-top-links .dropdown-tasks {\n margin-left: -59px; }\n\n.navbar-top-links .dropdown-alerts {\n margin-left: -123px; }\n\n.navbar-top-links .dropdown-user {\n right: 0;\n left: auto; }\n\n.sidebar .sidebar-nav.navbar-collapse {\n padding-right: 0;\n padding-left: 0; }\n\n.sidebar .sidebar-search {\n padding: 15px; }\n\n.sidebar ul li {\n border-bottom: 1px solid #e7e7e7; }\n\n.sidebar ul li a.active {\n background-color: #eee; }\n\n.sidebar .arrow {\n float: right; }\n\n.sidebar .fa.arrow:before {\n content: \"\\f104\"; }\n\n.sidebar .active > a > .fa.arrow:before {\n content: \"\\f107\"; }\n\n.sidebar .nav-second-level li a {\n padding-left: 37px; }\n\n.sidebar .nav-third-level li a {\n padding-left: 52px; }\n\n@media (min-width: 768px) {\n .sidebar {\n z-index: 1;\n position: absolute;\n width: 250px;\n margin-top: 101px; }\n .navbar-top-links .dropdown-messages,\n .navbar-top-links .dropdown-tasks,\n .navbar-top-links .dropdown-alerts {\n margin-left: auto; } }\n\n.btn-outline {\n color: inherit;\n background-color: transparent;\n transition: all .5s; }\n\n.btn-primary.btn-outline {\n color: #428bca; }\n\n.btn-success.btn-outline {\n color: #5cb85c; }\n\n.btn-info.btn-outline {\n color: #5bc0de; }\n\n.btn-warning.btn-outline {\n color: #f0ad4e; }\n\n.btn-danger.btn-outline {\n color: #d9534f; }\n\n.btn-primary.btn-outline:hover,\n.btn-success.btn-outline:hover,\n.btn-info.btn-outline:hover,\n.btn-warning.btn-outline:hover,\n.btn-danger.btn-outline:hover {\n color: #fff; }\n\n.chat {\n margin: 0;\n padding: 0;\n list-style: none; }\n\n.chat li {\n margin-bottom: 10px;\n padding-bottom: 5px;\n border-bottom: 1px dotted #999; }\n\n.chat li.left .chat-body {\n margin-left: 60px; }\n\n.chat li.right .chat-body {\n margin-right: 60px; }\n\n.chat li .chat-body p {\n margin: 0; }\n\n.panel .slidedown .glyphicon,\n.chat .glyphicon {\n margin-right: 5px; }\n\n.chat-panel .panel-body {\n height: 350px;\n overflow-y: scroll; }\n\n.flot-chart {\n display: block;\n height: 400px; }\n\n.flot-chart-content {\n width: 100%;\n height: 100%; }\n\ntable.dataTable thead .sorting,\ntable.dataTable thead .sorting_asc,\ntable.dataTable thead .sorting_desc,\ntable.dataTable thead .sorting_asc_disabled,\ntable.dataTable thead .sorting_desc_disabled {\n background: 0 0; }\n\ntable.dataTable thead .sorting_asc:after {\n content: \"\\f0de\";\n float: right;\n font-family: fontawesome; }\n\ntable.dataTable thead .sorting_desc:after {\n content: \"\\f0dd\";\n float: right;\n font-family: fontawesome; }\n\ntable.dataTable thead .sorting:after {\n content: \"\\f0dc\";\n float: right;\n font-family: fontawesome;\n color: rgba(50, 50, 50, 0.5); }\n\n.btn-circle {\n width: 30px;\n height: 30px;\n padding: 6px 0;\n border-radius: 15px;\n text-align: center;\n font-size: 12px;\n line-height: 1.428571429; }\n\n.btn-circle.btn-lg, .btn-group-lg > .btn-circle.btn {\n width: 50px;\n height: 50px;\n padding: 10px 16px;\n border-radius: 25px;\n font-size: 18px;\n line-height: 1.33; }\n\n.btn-circle.btn-xl {\n width: 70px;\n height: 70px;\n padding: 10px 16px;\n border-radius: 35px;\n font-size: 24px;\n line-height: 1.33; }\n\n.show-grid [class^=col-] {\n padding-top: 10px;\n padding-bottom: 10px;\n border: 1px solid #ddd;\n background-color: #eee !important; }\n\n.show-grid {\n margin: 15px 0; }\n\n.huge {\n font-size: 40px; }\n\n.panel-green {\n border-color: #5cb85c; }\n\n.panel-green .panel-heading {\n border-color: #5cb85c;\n color: #fff;\n background-color: #5cb85c; }\n\n.panel-green a {\n color: #5cb85c; }\n\n.panel-green a:hover {\n color: #3d8b3d; }\n\n.panel-red {\n border-color: #d9534f; }\n\n.panel-red .panel-heading {\n border-color: #d9534f;\n color: #fff;\n background-color: #d9534f; }\n\n.panel-red a {\n color: #d9534f; }\n\n.panel-red a:hover {\n color: #b52b27; }\n\n.panel-yellow {\n border-color: #f0ad4e; }\n\n.panel-yellow .panel-heading {\n border-color: #f0ad4e;\n color: #fff;\n background-color: #f0ad4e; }\n\n.panel-yellow a {\n color: #f0ad4e; }\n\n.panel-yellow a:hover {\n color: #df8a13; }\n\n.chosen-container-multi .chosen-choices li.search-field input[type=text] {\n height: 25px; }\n\n.button-form-inline {\n display: inline; }\n\n/*!\n * Custom css for SB Admin 2\n * By Nafies Luthfi\n * Code licensed under the Apache License v2.0.\n * For details, see http://www.apache.org/licenses/LICENSE-2.0.\n */\nul, ol {\n margin-bottom: 0; }\n\n.breadcrumb {\n margin-top: 15px; }\n\n.login-panel {\n margin-top: 10vh; }\n\n.radio, .checkbox {\n margin-top: 0;\n margin-bottom: 0; }\n\nh1.page-header {\n margin: 20px 0; }\n\n.bold {\n font-weight: bold; }\n\n.sidebar-logo {\n width: 150px;\n margin: auto; }\n\n.nav > li > a {\n padding: 6px 10px; }\n\n.navbar-right > li > a {\n padding: 15px; }\n\n.navbar-brand {\n float: none;\n border-bottom: 1px solid #e7e7e7;\n display: block;\n height: auto; }\n\nlabel.control-label {\n color: #428bca; }\n\n@media (min-width: 768px) {\n #page-wrapper {\n margin-left: 220px;\n padding: 0; }\n /*\n .hidden-xs {\n display: block;\n }*/\n nav.hidden-md {\n display: none; }\n #page-wrapper.page-no-sidebar {\n margin-left: 0; }\n .sidebar {\n margin-top: 0px;\n width: 220px;\n box-shadow: none; }\n .index-search-form {\n width: 50%; }\n /*.dropdown:hover .dropdown-menu {\n display: block;\n }\n .navbar-default .navbar-nav>li>a:hover {\n color: #555;\n background-color: #eee;\n }*/ }\n\n.form-error {\n color: #d9534f;\n /*font-weight: 700;*/ }\n\ndiv.notifier {\n border-radius: 0;\n margin-bottom: 0; }\n\n#footer {\n padding: 15px 10px; }\n\n#copy {\n text-align: center; }\n\n#map-canvas-0 {\n min-height: 400px; }\n\nh1.site-tilte {\n font-size: 30px; }\n\nh3.site-description {\n font-size: 16px;\n font-weight: normal;\n margin: 0; }\n\n.guest-header {\n padding: 0 10px; }\n\n.panel .table {\n margin-bottom: 0; }\n\n@media (max-width: 480px) {\n .guest-header {\n text-align: center; } }\n\n.nav .nav-second-level > li.active {\n text-decoration: none;\n background-color: #eee; }\n\n.form-control {\n height: 30px;\n padding: 3px 6px; }\n\n/*\n.btn {\n padding: 3px 6px;\n}\n\n.btn-xs {\n padding: 1px 5px;\n}*/\n@media print {\n #page-wrapper {\n margin-left: 0; } }\n","/*!\n * Bootstrap v3.3.6 (http://getbootstrap.com)\n * Copyright 2011-2015 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n// Core variables and mixins\n@import \"variables\";\n@import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins\";\n\n// Reset and dependencies\n@import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/normalize\";\n@import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/print\";\n// @import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/glyphicons\";\n\n// Core CSS\n@import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/scaffolding\";\n@import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/type\";\n@import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/code\";\n@import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/grid\";\n@import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/tables\";\n@import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/forms\";\n@import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/buttons\";\n\n// Components\n@import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/component-animations\";\n@import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/dropdowns\";\n@import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/button-groups\";\n@import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/input-groups\";\n@import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/navs\";\n@import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/navbar\";\n@import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/breadcrumbs\";\n@import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/pagination\";\n@import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/pager\";\n@import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/labels\";\n@import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/badges\";\n@import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/jumbotron\";\n@import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/thumbnails\";\n@import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/alerts\";\n// @import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/progress-bars\";\n@import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/media\";\n@import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/list-group\";\n@import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/panels\";\n@import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/responsive-embed\";\n@import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/wells\";\n@import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/close\";\n\n// Components w/ JavaScript\n// @import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/modals\";\n// @import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/tooltip\";\n// @import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/popovers\";\n// @import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/carousel\";\n\n// Utility classes\n@import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/utilities\";\n@import \"node_modules/bootstrap-sass/assets/stylesheets/bootstrap/responsive-utilities\";\n","/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n//\n// 1. Set default font family to sans-serif.\n// 2. Prevent iOS and IE text size adjust after device orientation change,\n// without disabling user zoom.\n//\n\nhtml {\n font-family: sans-serif; // 1\n -ms-text-size-adjust: 100%; // 2\n -webkit-text-size-adjust: 100%; // 2\n}\n\n//\n// Remove default margin.\n//\n\nbody {\n margin: 0;\n}\n\n// HTML5 display definitions\n// ==========================================================================\n\n//\n// Correct `block` display not defined for any HTML5 element in IE 8/9.\n// Correct `block` display not defined for `details` or `summary` in IE 10/11\n// and Firefox.\n// Correct `block` display not defined for `main` in IE 11.\n//\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n//\n// 1. Correct `inline-block` display not defined in IE 8/9.\n// 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n//\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block; // 1\n vertical-align: baseline; // 2\n}\n\n//\n// Prevent modern browsers from displaying `audio` without controls.\n// Remove excess height in iOS 5 devices.\n//\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n//\n// Address `[hidden]` styling not present in IE 8/9/10.\n// Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.\n//\n\n[hidden],\ntemplate {\n display: none;\n}\n\n// Links\n// ==========================================================================\n\n//\n// Remove the gray background color from active links in IE 10.\n//\n\na {\n background-color: transparent;\n}\n\n//\n// Improve readability of focused elements when they are also in an\n// active/hover state.\n//\n\na:active,\na:hover {\n outline: 0;\n}\n\n// Text-level semantics\n// ==========================================================================\n\n//\n// Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n//\n\nabbr[title] {\n border-bottom: 1px dotted;\n}\n\n//\n// Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n//\n\nb,\nstrong {\n font-weight: bold;\n}\n\n//\n// Address styling not present in Safari and Chrome.\n//\n\ndfn {\n font-style: italic;\n}\n\n//\n// Address variable `h1` font-size and margin within `section` and `article`\n// contexts in Firefox 4+, Safari, and Chrome.\n//\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n//\n// Address styling not present in IE 8/9.\n//\n\nmark {\n background: #ff0;\n color: #000;\n}\n\n//\n// Address inconsistent and variable font size in all browsers.\n//\n\nsmall {\n font-size: 80%;\n}\n\n//\n// Prevent `sub` and `sup` affecting `line-height` in all browsers.\n//\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n// Embedded content\n// ==========================================================================\n\n//\n// Remove border when inside `a` element in IE 8/9/10.\n//\n\nimg {\n border: 0;\n}\n\n//\n// Correct overflow not hidden in IE 9/10/11.\n//\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n// Grouping content\n// ==========================================================================\n\n//\n// Address margin not present in IE 8/9 and Safari.\n//\n\nfigure {\n margin: 1em 40px;\n}\n\n//\n// Address differences between Firefox and other browsers.\n//\n\nhr {\n box-sizing: content-box;\n height: 0;\n}\n\n//\n// Contain overflow in all browsers.\n//\n\npre {\n overflow: auto;\n}\n\n//\n// Address odd `em`-unit font size rendering in all browsers.\n//\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n// Forms\n// ==========================================================================\n\n//\n// Known limitation: by default, Chrome and Safari on OS X allow very limited\n// styling of `select`, unless a `border` property is set.\n//\n\n//\n// 1. Correct color not being inherited.\n// Known issue: affects color of disabled elements.\n// 2. Correct font properties not being inherited.\n// 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n//\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit; // 1\n font: inherit; // 2\n margin: 0; // 3\n}\n\n//\n// Address `overflow` set to `hidden` in IE 8/9/10/11.\n//\n\nbutton {\n overflow: visible;\n}\n\n//\n// Address inconsistent `text-transform` inheritance for `button` and `select`.\n// All other form control elements do not inherit `text-transform` values.\n// Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n// Correct `select` style inheritance in Firefox.\n//\n\nbutton,\nselect {\n text-transform: none;\n}\n\n//\n// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n// and `video` controls.\n// 2. Correct inability to style clickable `input` types in iOS.\n// 3. Improve usability and consistency of cursor style between image-type\n// `input` and others.\n//\n\nbutton,\nhtml input[type=\"button\"], // 1\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button; // 2\n cursor: pointer; // 3\n}\n\n//\n// Re-set default cursor for disabled elements.\n//\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n//\n// Remove inner padding and border in Firefox 4+.\n//\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n//\n// Address Firefox 4+ setting `line-height` on `input` using `!important` in\n// the UA stylesheet.\n//\n\ninput {\n line-height: normal;\n}\n\n//\n// It's recommended that you don't attempt to style these elements.\n// Firefox's implementation doesn't respect box-sizing, padding, or width.\n//\n// 1. Address box sizing set to `content-box` in IE 8/9/10.\n// 2. Remove excess padding in IE 8/9/10.\n//\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box; // 1\n padding: 0; // 2\n}\n\n//\n// Fix the cursor style for Chrome's increment/decrement buttons. For certain\n// `font-size` values of the `input`, it causes the cursor style of the\n// decrement button to change from `default` to `text`.\n//\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n//\n// 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n// 2. Address `box-sizing` set to `border-box` in Safari and Chrome.\n//\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield; // 1\n box-sizing: content-box; //2\n}\n\n//\n// Remove inner padding and search cancel button in Safari and Chrome on OS X.\n// Safari (but not Chrome) clips the cancel button when the search input has\n// padding (and `textfield` appearance).\n//\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// Define consistent border, margin, and padding.\n//\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n//\n// 1. Correct `color` not being inherited in IE 8/9/10/11.\n// 2. Remove padding so people aren't caught out if they zero out fieldsets.\n//\n\nlegend {\n border: 0; // 1\n padding: 0; // 2\n}\n\n//\n// Remove default vertical scrollbar in IE 8/9/10/11.\n//\n\ntextarea {\n overflow: auto;\n}\n\n//\n// Don't inherit the `font-weight` (applied by a rule above).\n// NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n//\n\noptgroup {\n font-weight: bold;\n}\n\n// Tables\n// ==========================================================================\n\n//\n// Remove most spacing between table cells.\n//\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n","/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request: h5bp.com/r\n// ==========================================================================\n\n@media print {\n *,\n *:before,\n *:after {\n background: transparent !important;\n color: #000 !important; // Black prints faster: h5bp.com/s\n box-shadow: none !important;\n text-shadow: none !important;\n }\n\n a,\n a:visited {\n text-decoration: underline;\n }\n\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n\n thead {\n display: table-header-group; // h5bp.com/t\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n img {\n max-width: 100% !important;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .btn,\n .dropup > .btn {\n > .caret {\n border-top-color: #000 !important;\n }\n }\n .label {\n border: 1px solid #000;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: #fff !important;\n }\n }\n .table-bordered {\n th,\n td {\n border: 1px solid #ddd !important;\n }\n }\n\n // Bootstrap specific changes end\n}\n","//\n// Scaffolding\n// --------------------------------------------------\n\n\n// Reset the box-sizing\n//\n// Heads up! This reset may cause conflicts with some third-party widgets.\n// For recommendations on resolving such conflicts, see\n// http://getbootstrap.com/getting-started/#third-box-sizing\n* {\n @include box-sizing(border-box);\n}\n*:before,\n*:after {\n @include box-sizing(border-box);\n}\n\n\n// Body reset\n\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n}\n\nbody {\n font-family: $font-family-base;\n font-size: $font-size-base;\n line-height: $line-height-base;\n color: $text-color;\n background-color: $body-bg;\n}\n\n// Reset fonts for relevant elements\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: none;\n\n &:hover,\n &:focus {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n\n &:focus {\n @include tab-focus;\n }\n}\n\n\n// Figures\n//\n// We reset this here because previously Normalize had no `figure` margins. This\n// ensures we don't break anyone's use of the element.\n\nfigure {\n margin: 0;\n}\n\n\n// Images\n\nimg {\n vertical-align: middle;\n}\n\n// Responsive images (ensure images don't scale beyond their parents)\n.img-responsive {\n @include img-responsive;\n}\n\n// Rounded corners\n.img-rounded {\n border-radius: $border-radius-large;\n}\n\n// Image thumbnails\n//\n// Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`.\n.img-thumbnail {\n padding: $thumbnail-padding;\n line-height: $line-height-base;\n background-color: $thumbnail-bg;\n border: 1px solid $thumbnail-border;\n border-radius: $thumbnail-border-radius;\n @include transition(all .2s ease-in-out);\n\n // Keep them at most 100% wide\n @include img-responsive(inline-block);\n}\n\n// Perfect circle\n.img-circle {\n border-radius: 50%; // set radius in percents\n}\n\n\n// Horizontal rules\n\nhr {\n margin-top: $line-height-computed;\n margin-bottom: $line-height-computed;\n border: 0;\n border-top: 1px solid $hr-border;\n}\n\n\n// Only display content to screen readers\n//\n// See: http://a11yproject.com/posts/how-to-hide-content/\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0,0,0,0);\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n// Useful for \"Skip to main content\" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n// Credit: HTML5 Boilerplate\n\n.sr-only-focusable {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n }\n}\n\n\n// iOS \"clickable elements\" fix for role=\"button\"\n//\n// Fixes \"clickability\" issue (and more generally, the firing of events such as focus as well)\n// for traditionally non-focusable elements with role=\"button\"\n// see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n[role=\"button\"] {\n cursor: pointer;\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They have been removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n@mixin animation($animation) {\n -webkit-animation: $animation;\n -o-animation: $animation;\n animation: $animation;\n}\n@mixin animation-name($name) {\n -webkit-animation-name: $name;\n animation-name: $name;\n}\n@mixin animation-duration($duration) {\n -webkit-animation-duration: $duration;\n animation-duration: $duration;\n}\n@mixin animation-timing-function($timing-function) {\n -webkit-animation-timing-function: $timing-function;\n animation-timing-function: $timing-function;\n}\n@mixin animation-delay($delay) {\n -webkit-animation-delay: $delay;\n animation-delay: $delay;\n}\n@mixin animation-iteration-count($iteration-count) {\n -webkit-animation-iteration-count: $iteration-count;\n animation-iteration-count: $iteration-count;\n}\n@mixin animation-direction($direction) {\n -webkit-animation-direction: $direction;\n animation-direction: $direction;\n}\n@mixin animation-fill-mode($fill-mode) {\n -webkit-animation-fill-mode: $fill-mode;\n animation-fill-mode: $fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n@mixin backface-visibility($visibility) {\n -webkit-backface-visibility: $visibility;\n -moz-backface-visibility: $visibility;\n backface-visibility: $visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n@mixin box-shadow($shadow...) {\n -webkit-box-shadow: $shadow; // iOS <4.3 & Android <4.1\n box-shadow: $shadow;\n}\n\n// Box sizing\n@mixin box-sizing($boxmodel) {\n -webkit-box-sizing: $boxmodel;\n -moz-box-sizing: $boxmodel;\n box-sizing: $boxmodel;\n}\n\n// CSS3 Content Columns\n@mixin content-columns($column-count, $column-gap: $grid-gutter-width) {\n -webkit-column-count: $column-count;\n -moz-column-count: $column-count;\n column-count: $column-count;\n -webkit-column-gap: $column-gap;\n -moz-column-gap: $column-gap;\n column-gap: $column-gap;\n}\n\n// Optional hyphenation\n@mixin hyphens($mode: auto) {\n word-wrap: break-word;\n -webkit-hyphens: $mode;\n -moz-hyphens: $mode;\n -ms-hyphens: $mode; // IE10+\n -o-hyphens: $mode;\n hyphens: $mode;\n}\n\n// Placeholder text\n@mixin placeholder($color: $input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: $color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: $color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: $color; } // Safari and Chrome\n}\n\n// Transformations\n@mixin scale($ratio...) {\n -webkit-transform: scale($ratio);\n -ms-transform: scale($ratio); // IE9 only\n -o-transform: scale($ratio);\n transform: scale($ratio);\n}\n\n@mixin scaleX($ratio) {\n -webkit-transform: scaleX($ratio);\n -ms-transform: scaleX($ratio); // IE9 only\n -o-transform: scaleX($ratio);\n transform: scaleX($ratio);\n}\n@mixin scaleY($ratio) {\n -webkit-transform: scaleY($ratio);\n -ms-transform: scaleY($ratio); // IE9 only\n -o-transform: scaleY($ratio);\n transform: scaleY($ratio);\n}\n@mixin skew($x, $y) {\n -webkit-transform: skewX($x) skewY($y);\n -ms-transform: skewX($x) skewY($y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX($x) skewY($y);\n transform: skewX($x) skewY($y);\n}\n@mixin translate($x, $y) {\n -webkit-transform: translate($x, $y);\n -ms-transform: translate($x, $y); // IE9 only\n -o-transform: translate($x, $y);\n transform: translate($x, $y);\n}\n@mixin translate3d($x, $y, $z) {\n -webkit-transform: translate3d($x, $y, $z);\n transform: translate3d($x, $y, $z);\n}\n@mixin rotate($degrees) {\n -webkit-transform: rotate($degrees);\n -ms-transform: rotate($degrees); // IE9 only\n -o-transform: rotate($degrees);\n transform: rotate($degrees);\n}\n@mixin rotateX($degrees) {\n -webkit-transform: rotateX($degrees);\n -ms-transform: rotateX($degrees); // IE9 only\n -o-transform: rotateX($degrees);\n transform: rotateX($degrees);\n}\n@mixin rotateY($degrees) {\n -webkit-transform: rotateY($degrees);\n -ms-transform: rotateY($degrees); // IE9 only\n -o-transform: rotateY($degrees);\n transform: rotateY($degrees);\n}\n@mixin perspective($perspective) {\n -webkit-perspective: $perspective;\n -moz-perspective: $perspective;\n perspective: $perspective;\n}\n@mixin perspective-origin($perspective) {\n -webkit-perspective-origin: $perspective;\n -moz-perspective-origin: $perspective;\n perspective-origin: $perspective;\n}\n@mixin transform-origin($origin) {\n -webkit-transform-origin: $origin;\n -moz-transform-origin: $origin;\n -ms-transform-origin: $origin; // IE9 only\n transform-origin: $origin;\n}\n\n\n// Transitions\n\n@mixin transition($transition...) {\n -webkit-transition: $transition;\n -o-transition: $transition;\n transition: $transition;\n}\n@mixin transition-property($transition-property...) {\n -webkit-transition-property: $transition-property;\n transition-property: $transition-property;\n}\n@mixin transition-delay($transition-delay) {\n -webkit-transition-delay: $transition-delay;\n transition-delay: $transition-delay;\n}\n@mixin transition-duration($transition-duration...) {\n -webkit-transition-duration: $transition-duration;\n transition-duration: $transition-duration;\n}\n@mixin transition-timing-function($timing-function) {\n -webkit-transition-timing-function: $timing-function;\n transition-timing-function: $timing-function;\n}\n@mixin transition-transform($transition...) {\n -webkit-transition: -webkit-transform $transition;\n -moz-transition: -moz-transform $transition;\n -o-transition: -o-transform $transition;\n transition: transform $transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n@mixin user-select($select) {\n -webkit-user-select: $select;\n -moz-user-select: $select;\n -ms-user-select: $select; // IE10+\n user-select: $select;\n}\n","$bootstrap-sass-asset-helper: false !default;\n//\n// Variables\n// --------------------------------------------------\n\n\n//== Colors\n//\n//## Gray and brand colors for use across Bootstrap.\n\n$gray-base: #000 !default;\n$gray-darker: lighten($gray-base, 13.5%) !default; // #222\n$gray-dark: lighten($gray-base, 20%) !default; // #333\n$gray: lighten($gray-base, 33.5%) !default; // #555\n$gray-light: lighten($gray-base, 46.7%) !default; // #777\n$gray-lighter: lighten($gray-base, 93.5%) !default; // #eee\n\n$brand-primary: darken(#428bca, 6.5%) !default; // #337ab7\n$brand-success: #5cb85c !default;\n$brand-info: #5bc0de !default;\n$brand-warning: #f0ad4e !default;\n$brand-danger: #d9534f !default;\n\n\n//== Scaffolding\n//\n//## Settings for some of the most global styles.\n\n//** Background color for ``.\n$body-bg: #fff !default;\n//** Global text color on ``.\n$text-color: $gray-dark !default;\n\n//** Global textual link color.\n$link-color: $brand-primary !default;\n//** Link hover color set via `darken()` function.\n$link-hover-color: darken($link-color, 15%) !default;\n//** Link hover decoration.\n$link-hover-decoration: underline !default;\n\n\n//== Typography\n//\n//## Font, line-height, and color for body text, headings, and more.\n\n$font-family-sans-serif: \"Helvetica Neue\", Helvetica, Arial, sans-serif !default;\n$font-family-serif: Georgia, \"Times New Roman\", Times, serif !default;\n//** Default monospace fonts for ``, ``, and `
`.\n$font-family-monospace:   Menlo, Monaco, Consolas, \"Courier New\", monospace !default;\n$font-family-base:        $font-family-sans-serif !default;\n\n$font-size-base:          14px !default;\n$font-size-large:         ceil(($font-size-base * 1.25)) !default; // ~18px\n$font-size-small:         ceil(($font-size-base * 0.85)) !default; // ~12px\n\n$font-size-h1:            floor(($font-size-base * 2.6)) !default; // ~36px\n$font-size-h2:            floor(($font-size-base * 2.15)) !default; // ~30px\n$font-size-h3:            ceil(($font-size-base * 1.7)) !default; // ~24px\n$font-size-h4:            ceil(($font-size-base * 1.25)) !default; // ~18px\n$font-size-h5:            $font-size-base !default;\n$font-size-h6:            ceil(($font-size-base * 0.85)) !default; // ~12px\n\n//** Unit-less `line-height` for use in components like buttons.\n$line-height-base:        1.428571429 !default; // 20/14\n//** Computed \"line-height\" (`font-size` * `line-height`) for use with `margin`, `padding`, etc.\n$line-height-computed:    floor(($font-size-base * $line-height-base)) !default; // ~20px\n\n//** By default, this inherits from the ``.\n$headings-font-family:    inherit !default;\n$headings-font-weight:    500 !default;\n$headings-line-height:    1.1 !default;\n$headings-color:          inherit !default;\n\n\n//== Iconography\n//\n//## Specify custom location and filename of the included Glyphicons icon font. Useful for those including Bootstrap via Bower.\n\n//** Load fonts from this directory.\n\n// [converter] If $bootstrap-sass-asset-helper if used, provide path relative to the assets load path.\n// [converter] This is because some asset helpers, such as Sprockets, do not work with file-relative paths.\n$icon-font-path: if($bootstrap-sass-asset-helper, \"bootstrap/\", \"../fonts/bootstrap/\") !default;\n\n//** File name for all font files.\n$icon-font-name:          \"glyphicons-halflings-regular\" !default;\n//** Element ID within SVG icon file.\n$icon-font-svg-id:        \"glyphicons_halflingsregular\" !default;\n\n\n//== Components\n//\n//## Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start).\n\n$padding-base-vertical:     6px !default;\n$padding-base-horizontal:   12px !default;\n\n$padding-large-vertical:    10px !default;\n$padding-large-horizontal:  16px !default;\n\n$padding-small-vertical:    5px !default;\n$padding-small-horizontal:  10px !default;\n\n$padding-xs-vertical:       1px !default;\n$padding-xs-horizontal:     5px !default;\n\n$line-height-large:         1.3333333 !default; // extra decimals for Win 8.1 Chrome\n$line-height-small:         1.5 !default;\n\n$border-radius-base:        4px !default;\n$border-radius-large:       6px !default;\n$border-radius-small:       3px !default;\n\n//** Global color for active items (e.g., navs or dropdowns).\n$component-active-color:    #fff !default;\n//** Global background color for active items (e.g., navs or dropdowns).\n$component-active-bg:       $brand-primary !default;\n\n//** Width of the `border` for generating carets that indicator dropdowns.\n$caret-width-base:          4px !default;\n//** Carets increase slightly in size for larger components.\n$caret-width-large:         5px !default;\n\n\n//== Tables\n//\n//## Customizes the `.table` component with basic values, each used across all table variations.\n\n//** Padding for ``s and ``s.\n$table-cell-padding:            8px !default;\n//** Padding for cells in `.table-condensed`.\n$table-condensed-cell-padding:  5px !default;\n\n//** Default background color used for all tables.\n$table-bg:                      transparent !default;\n//** Background color used for `.table-striped`.\n$table-bg-accent:               #f9f9f9 !default;\n//** Background color used for `.table-hover`.\n$table-bg-hover:                #f5f5f5 !default;\n$table-bg-active:               $table-bg-hover !default;\n\n//** Border color for table and cell borders.\n$table-border-color:            #ddd !default;\n\n\n//== Buttons\n//\n//## For each of Bootstrap's buttons, define text, background and border color.\n\n$btn-font-weight:                normal !default;\n\n$btn-default-color:              #333 !default;\n$btn-default-bg:                 #fff !default;\n$btn-default-border:             #ccc !default;\n\n$btn-primary-color:              #fff !default;\n$btn-primary-bg:                 $brand-primary !default;\n$btn-primary-border:             darken($btn-primary-bg, 5%) !default;\n\n$btn-success-color:              #fff !default;\n$btn-success-bg:                 $brand-success !default;\n$btn-success-border:             darken($btn-success-bg, 5%) !default;\n\n$btn-info-color:                 #fff !default;\n$btn-info-bg:                    $brand-info !default;\n$btn-info-border:                darken($btn-info-bg, 5%) !default;\n\n$btn-warning-color:              #fff !default;\n$btn-warning-bg:                 $brand-warning !default;\n$btn-warning-border:             darken($btn-warning-bg, 5%) !default;\n\n$btn-danger-color:               #fff !default;\n$btn-danger-bg:                  $brand-danger !default;\n$btn-danger-border:              darken($btn-danger-bg, 5%) !default;\n\n$btn-link-disabled-color:        $gray-light !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius-base:         $border-radius-base !default;\n$btn-border-radius-large:        $border-radius-large !default;\n$btn-border-radius-small:        $border-radius-small !default;\n\n\n//== Forms\n//\n//##\n\n//** `` background color\n$input-bg:                       #fff !default;\n//** `` background color\n$input-bg-disabled:              $gray-lighter !default;\n\n//** Text color for ``s\n$input-color:                    $gray !default;\n//** `` border color\n$input-border:                   #ccc !default;\n\n// TODO: Rename `$input-border-radius` to `$input-border-radius-base` in v4\n//** Default `.form-control` border radius\n// This has no effect on ``s in CSS.\n$input-border-radius:            $border-radius-base !default;\n//** Large `.form-control` border radius\n$input-border-radius-large:      $border-radius-large !default;\n//** Small `.form-control` border radius\n$input-border-radius-small:      $border-radius-small !default;\n\n//** Border color for inputs on focus\n$input-border-focus:             #66afe9 !default;\n\n//** Placeholder text color\n$input-color-placeholder:        #999 !default;\n\n//** Default `.form-control` height\n$input-height-base:              ($line-height-computed + ($padding-base-vertical * 2) + 2) !default;\n//** Large `.form-control` height\n$input-height-large:             (ceil($font-size-large * $line-height-large) + ($padding-large-vertical * 2) + 2) !default;\n//** Small `.form-control` height\n$input-height-small:             (floor($font-size-small * $line-height-small) + ($padding-small-vertical * 2) + 2) !default;\n\n//** `.form-group` margin\n$form-group-margin-bottom:       15px !default;\n\n$legend-color:                   $gray-dark !default;\n$legend-border-color:            #e5e5e5 !default;\n\n//** Background color for textual input addons\n$input-group-addon-bg:           $gray-lighter !default;\n//** Border color for textual input addons\n$input-group-addon-border-color: $input-border !default;\n\n//** Disabled cursor for form controls and buttons.\n$cursor-disabled:                not-allowed !default;\n\n\n//== Dropdowns\n//\n//## Dropdown menu container and contents.\n\n//** Background for the dropdown menu.\n$dropdown-bg:                    #fff !default;\n//** Dropdown menu `border-color`.\n$dropdown-border:                rgba(0,0,0,.15) !default;\n//** Dropdown menu `border-color` **for IE8**.\n$dropdown-fallback-border:       #ccc !default;\n//** Divider color for between dropdown items.\n$dropdown-divider-bg:            #e5e5e5 !default;\n\n//** Dropdown link text color.\n$dropdown-link-color:            $gray-dark !default;\n//** Hover color for dropdown links.\n$dropdown-link-hover-color:      darken($gray-dark, 5%) !default;\n//** Hover background for dropdown links.\n$dropdown-link-hover-bg:         #f5f5f5 !default;\n\n//** Active dropdown menu item text color.\n$dropdown-link-active-color:     $component-active-color !default;\n//** Active dropdown menu item background color.\n$dropdown-link-active-bg:        $component-active-bg !default;\n\n//** Disabled dropdown menu item background color.\n$dropdown-link-disabled-color:   $gray-light !default;\n\n//** Text color for headers within dropdown menus.\n$dropdown-header-color:          $gray-light !default;\n\n//** Deprecated `$dropdown-caret-color` as of v3.1.0\n$dropdown-caret-color:           #000 !default;\n\n\n//-- Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n//\n// Note: These variables are not generated into the Customizer.\n\n$zindex-navbar:            1000 !default;\n$zindex-dropdown:          1000 !default;\n$zindex-popover:           1060 !default;\n$zindex-tooltip:           1070 !default;\n$zindex-navbar-fixed:      1030 !default;\n$zindex-modal-background:  1040 !default;\n$zindex-modal:             1050 !default;\n\n\n//== Media queries breakpoints\n//\n//## Define the breakpoints at which your layout will change, adapting to different screen sizes.\n\n// Extra small screen / phone\n//** Deprecated `$screen-xs` as of v3.0.1\n$screen-xs:                  480px !default;\n//** Deprecated `$screen-xs-min` as of v3.2.0\n$screen-xs-min:              $screen-xs !default;\n//** Deprecated `$screen-phone` as of v3.0.1\n$screen-phone:               $screen-xs-min !default;\n\n// Small screen / tablet\n//** Deprecated `$screen-sm` as of v3.0.1\n$screen-sm:                  768px !default;\n$screen-sm-min:              $screen-sm !default;\n//** Deprecated `$screen-tablet` as of v3.0.1\n$screen-tablet:              $screen-sm-min !default;\n\n// Medium screen / desktop\n//** Deprecated `$screen-md` as of v3.0.1\n$screen-md:                  992px !default;\n$screen-md-min:              $screen-md !default;\n//** Deprecated `$screen-desktop` as of v3.0.1\n$screen-desktop:             $screen-md-min !default;\n\n// Large screen / wide desktop\n//** Deprecated `$screen-lg` as of v3.0.1\n$screen-lg:                  1200px !default;\n$screen-lg-min:              $screen-lg !default;\n//** Deprecated `$screen-lg-desktop` as of v3.0.1\n$screen-lg-desktop:          $screen-lg-min !default;\n\n// So media queries don't overlap when required, provide a maximum\n$screen-xs-max:              ($screen-sm-min - 1) !default;\n$screen-sm-max:              ($screen-md-min - 1) !default;\n$screen-md-max:              ($screen-lg-min - 1) !default;\n\n\n//== Grid system\n//\n//## Define your custom responsive grid.\n\n//** Number of columns in the grid.\n$grid-columns:              12 !default;\n//** Padding between columns. Gets divided in half for the left and right.\n$grid-gutter-width:         30px !default;\n// Navbar collapse\n//** Point at which the navbar becomes uncollapsed.\n$grid-float-breakpoint:     $screen-sm-min !default;\n//** Point at which the navbar begins collapsing.\n$grid-float-breakpoint-max: ($grid-float-breakpoint - 1) !default;\n\n\n//== Container sizes\n//\n//## Define the maximum width of `.container` for different screen sizes.\n\n// Small screen / tablet\n$container-tablet:             (720px + $grid-gutter-width) !default;\n//** For `$screen-sm-min` and up.\n$container-sm:                 $container-tablet !default;\n\n// Medium screen / desktop\n$container-desktop:            (940px + $grid-gutter-width) !default;\n//** For `$screen-md-min` and up.\n$container-md:                 $container-desktop !default;\n\n// Large screen / wide desktop\n$container-large-desktop:      (1140px + $grid-gutter-width) !default;\n//** For `$screen-lg-min` and up.\n$container-lg:                 $container-large-desktop !default;\n\n\n//== Navbar\n//\n//##\n\n// Basics of a navbar\n$navbar-height:                    50px !default;\n$navbar-margin-bottom:             $line-height-computed !default;\n$navbar-border-radius:             $border-radius-base !default;\n$navbar-padding-horizontal:        floor(($grid-gutter-width / 2)) !default;\n$navbar-padding-vertical:          (($navbar-height - $line-height-computed) / 2) !default;\n$navbar-collapse-max-height:       340px !default;\n\n$navbar-default-color:             #777 !default;\n$navbar-default-bg:                #f8f8f8 !default;\n$navbar-default-border:            darken($navbar-default-bg, 6.5%) !default;\n\n// Navbar links\n$navbar-default-link-color:                #777 !default;\n$navbar-default-link-hover-color:          #333 !default;\n$navbar-default-link-hover-bg:             transparent !default;\n$navbar-default-link-active-color:         #555 !default;\n$navbar-default-link-active-bg:            darken($navbar-default-bg, 6.5%) !default;\n$navbar-default-link-disabled-color:       #ccc !default;\n$navbar-default-link-disabled-bg:          transparent !default;\n\n// Navbar brand label\n$navbar-default-brand-color:               $navbar-default-link-color !default;\n$navbar-default-brand-hover-color:         darken($navbar-default-brand-color, 10%) !default;\n$navbar-default-brand-hover-bg:            transparent !default;\n\n// Navbar toggle\n$navbar-default-toggle-hover-bg:           #ddd !default;\n$navbar-default-toggle-icon-bar-bg:        #888 !default;\n$navbar-default-toggle-border-color:       #ddd !default;\n\n\n//=== Inverted navbar\n// Reset inverted navbar basics\n$navbar-inverse-color:                      lighten($gray-light, 15%) !default;\n$navbar-inverse-bg:                         #222 !default;\n$navbar-inverse-border:                     darken($navbar-inverse-bg, 10%) !default;\n\n// Inverted navbar links\n$navbar-inverse-link-color:                 lighten($gray-light, 15%) !default;\n$navbar-inverse-link-hover-color:           #fff !default;\n$navbar-inverse-link-hover-bg:              transparent !default;\n$navbar-inverse-link-active-color:          $navbar-inverse-link-hover-color !default;\n$navbar-inverse-link-active-bg:             darken($navbar-inverse-bg, 10%) !default;\n$navbar-inverse-link-disabled-color:        #444 !default;\n$navbar-inverse-link-disabled-bg:           transparent !default;\n\n// Inverted navbar brand label\n$navbar-inverse-brand-color:                $navbar-inverse-link-color !default;\n$navbar-inverse-brand-hover-color:          #fff !default;\n$navbar-inverse-brand-hover-bg:             transparent !default;\n\n// Inverted navbar toggle\n$navbar-inverse-toggle-hover-bg:            #333 !default;\n$navbar-inverse-toggle-icon-bar-bg:         #fff !default;\n$navbar-inverse-toggle-border-color:        #333 !default;\n\n\n//== Navs\n//\n//##\n\n//=== Shared nav styles\n$nav-link-padding:                          10px 15px !default;\n$nav-link-hover-bg:                         $gray-lighter !default;\n\n$nav-disabled-link-color:                   $gray-light !default;\n$nav-disabled-link-hover-color:             $gray-light !default;\n\n//== Tabs\n$nav-tabs-border-color:                     #ddd !default;\n\n$nav-tabs-link-hover-border-color:          $gray-lighter !default;\n\n$nav-tabs-active-link-hover-bg:             $body-bg !default;\n$nav-tabs-active-link-hover-color:          $gray !default;\n$nav-tabs-active-link-hover-border-color:   #ddd !default;\n\n$nav-tabs-justified-link-border-color:            #ddd !default;\n$nav-tabs-justified-active-link-border-color:     $body-bg !default;\n\n//== Pills\n$nav-pills-border-radius:                   $border-radius-base !default;\n$nav-pills-active-link-hover-bg:            $component-active-bg !default;\n$nav-pills-active-link-hover-color:         $component-active-color !default;\n\n\n//== Pagination\n//\n//##\n\n$pagination-color:                     $link-color !default;\n$pagination-bg:                        #fff !default;\n$pagination-border:                    #ddd !default;\n\n$pagination-hover-color:               $link-hover-color !default;\n$pagination-hover-bg:                  $gray-lighter !default;\n$pagination-hover-border:              #ddd !default;\n\n$pagination-active-color:              #fff !default;\n$pagination-active-bg:                 $brand-primary !default;\n$pagination-active-border:             $brand-primary !default;\n\n$pagination-disabled-color:            $gray-light !default;\n$pagination-disabled-bg:               #fff !default;\n$pagination-disabled-border:           #ddd !default;\n\n\n//== Pager\n//\n//##\n\n$pager-bg:                             $pagination-bg !default;\n$pager-border:                         $pagination-border !default;\n$pager-border-radius:                  15px !default;\n\n$pager-hover-bg:                       $pagination-hover-bg !default;\n\n$pager-active-bg:                      $pagination-active-bg !default;\n$pager-active-color:                   $pagination-active-color !default;\n\n$pager-disabled-color:                 $pagination-disabled-color !default;\n\n\n//== Jumbotron\n//\n//##\n\n$jumbotron-padding:              30px !default;\n$jumbotron-color:                inherit !default;\n$jumbotron-bg:                   $gray-lighter !default;\n$jumbotron-heading-color:        inherit !default;\n$jumbotron-font-size:            ceil(($font-size-base * 1.5)) !default;\n$jumbotron-heading-font-size:    ceil(($font-size-base * 4.5)) !default;\n\n\n//== Form states and alerts\n//\n//## Define colors for form feedback states and, by default, alerts.\n\n$state-success-text:             #3c763d !default;\n$state-success-bg:               #dff0d8 !default;\n$state-success-border:           darken(adjust-hue($state-success-bg, -10), 5%) !default;\n\n$state-info-text:                #31708f !default;\n$state-info-bg:                  #d9edf7 !default;\n$state-info-border:              darken(adjust-hue($state-info-bg, -10), 7%) !default;\n\n$state-warning-text:             #8a6d3b !default;\n$state-warning-bg:               #fcf8e3 !default;\n$state-warning-border:           darken(adjust-hue($state-warning-bg, -10), 5%) !default;\n\n$state-danger-text:              #a94442 !default;\n$state-danger-bg:                #f2dede !default;\n$state-danger-border:            darken(adjust-hue($state-danger-bg, -10), 5%) !default;\n\n\n//== Tooltips\n//\n//##\n\n//** Tooltip max width\n$tooltip-max-width:           200px !default;\n//** Tooltip text color\n$tooltip-color:               #fff !default;\n//** Tooltip background color\n$tooltip-bg:                  #000 !default;\n$tooltip-opacity:             .9 !default;\n\n//** Tooltip arrow width\n$tooltip-arrow-width:         5px !default;\n//** Tooltip arrow color\n$tooltip-arrow-color:         $tooltip-bg !default;\n\n\n//== Popovers\n//\n//##\n\n//** Popover body background color\n$popover-bg:                          #fff !default;\n//** Popover maximum width\n$popover-max-width:                   276px !default;\n//** Popover border color\n$popover-border-color:                rgba(0,0,0,.2) !default;\n//** Popover fallback border color\n$popover-fallback-border-color:       #ccc !default;\n\n//** Popover title background color\n$popover-title-bg:                    darken($popover-bg, 3%) !default;\n\n//** Popover arrow width\n$popover-arrow-width:                 10px !default;\n//** Popover arrow color\n$popover-arrow-color:                 $popover-bg !default;\n\n//** Popover outer arrow width\n$popover-arrow-outer-width:           ($popover-arrow-width + 1) !default;\n//** Popover outer arrow color\n$popover-arrow-outer-color:           fade_in($popover-border-color, 0.05) !default;\n//** Popover outer arrow fallback color\n$popover-arrow-outer-fallback-color:  darken($popover-fallback-border-color, 20%) !default;\n\n\n//== Labels\n//\n//##\n\n//** Default label background color\n$label-default-bg:            $gray-light !default;\n//** Primary label background color\n$label-primary-bg:            $brand-primary !default;\n//** Success label background color\n$label-success-bg:            $brand-success !default;\n//** Info label background color\n$label-info-bg:               $brand-info !default;\n//** Warning label background color\n$label-warning-bg:            $brand-warning !default;\n//** Danger label background color\n$label-danger-bg:             $brand-danger !default;\n\n//** Default label text color\n$label-color:                 #fff !default;\n//** Default text color of a linked label\n$label-link-hover-color:      #fff !default;\n\n\n//== Modals\n//\n//##\n\n//** Padding applied to the modal body\n$modal-inner-padding:         15px !default;\n\n//** Padding applied to the modal title\n$modal-title-padding:         15px !default;\n//** Modal title line-height\n$modal-title-line-height:     $line-height-base !default;\n\n//** Background color of modal content area\n$modal-content-bg:                             #fff !default;\n//** Modal content border color\n$modal-content-border-color:                   rgba(0,0,0,.2) !default;\n//** Modal content border color **for IE8**\n$modal-content-fallback-border-color:          #999 !default;\n\n//** Modal backdrop background color\n$modal-backdrop-bg:           #000 !default;\n//** Modal backdrop opacity\n$modal-backdrop-opacity:      .5 !default;\n//** Modal header border color\n$modal-header-border-color:   #e5e5e5 !default;\n//** Modal footer border color\n$modal-footer-border-color:   $modal-header-border-color !default;\n\n$modal-lg:                    900px !default;\n$modal-md:                    600px !default;\n$modal-sm:                    300px !default;\n\n\n//== Alerts\n//\n//## Define alert colors, border radius, and padding.\n\n$alert-padding:               15px !default;\n$alert-border-radius:         $border-radius-base !default;\n$alert-link-font-weight:      bold !default;\n\n$alert-success-bg:            $state-success-bg !default;\n$alert-success-text:          $state-success-text !default;\n$alert-success-border:        $state-success-border !default;\n\n$alert-info-bg:               $state-info-bg !default;\n$alert-info-text:             $state-info-text !default;\n$alert-info-border:           $state-info-border !default;\n\n$alert-warning-bg:            $state-warning-bg !default;\n$alert-warning-text:          $state-warning-text !default;\n$alert-warning-border:        $state-warning-border !default;\n\n$alert-danger-bg:             $state-danger-bg !default;\n$alert-danger-text:           $state-danger-text !default;\n$alert-danger-border:         $state-danger-border !default;\n\n\n//== Progress bars\n//\n//##\n\n//** Background color of the whole progress component\n$progress-bg:                 #f5f5f5 !default;\n//** Progress bar text color\n$progress-bar-color:          #fff !default;\n//** Variable for setting rounded corners on progress bar.\n$progress-border-radius:      $border-radius-base !default;\n\n//** Default progress bar color\n$progress-bar-bg:             $brand-primary !default;\n//** Success progress bar color\n$progress-bar-success-bg:     $brand-success !default;\n//** Warning progress bar color\n$progress-bar-warning-bg:     $brand-warning !default;\n//** Danger progress bar color\n$progress-bar-danger-bg:      $brand-danger !default;\n//** Info progress bar color\n$progress-bar-info-bg:        $brand-info !default;\n\n\n//== List group\n//\n//##\n\n//** Background color on `.list-group-item`\n$list-group-bg:                 #fff !default;\n//** `.list-group-item` border color\n$list-group-border:             #ddd !default;\n//** List group border radius\n$list-group-border-radius:      $border-radius-base !default;\n\n//** Background color of single list items on hover\n$list-group-hover-bg:           #f5f5f5 !default;\n//** Text color of active list items\n$list-group-active-color:       $component-active-color !default;\n//** Background color of active list items\n$list-group-active-bg:          $component-active-bg !default;\n//** Border color of active list elements\n$list-group-active-border:      $list-group-active-bg !default;\n//** Text color for content within active list items\n$list-group-active-text-color:  lighten($list-group-active-bg, 40%) !default;\n\n//** Text color of disabled list items\n$list-group-disabled-color:      $gray-light !default;\n//** Background color of disabled list items\n$list-group-disabled-bg:         $gray-lighter !default;\n//** Text color for content within disabled list items\n$list-group-disabled-text-color: $list-group-disabled-color !default;\n\n$list-group-link-color:         #555 !default;\n$list-group-link-hover-color:   $list-group-link-color !default;\n$list-group-link-heading-color: #333 !default;\n\n\n//== Panels\n//\n//##\n\n$panel-bg:                    #fff !default;\n$panel-body-padding:          15px !default;\n$panel-heading-padding:       10px 15px !default;\n$panel-footer-padding:        $panel-heading-padding !default;\n$panel-border-radius:         $border-radius-base !default;\n\n//** Border color for elements within panels\n$panel-inner-border:          #ddd !default;\n$panel-footer-bg:             #f5f5f5 !default;\n\n$panel-default-text:          $gray-dark !default;\n$panel-default-border:        #ddd !default;\n$panel-default-heading-bg:    #f5f5f5 !default;\n\n$panel-primary-text:          #fff !default;\n$panel-primary-border:        $brand-primary !default;\n$panel-primary-heading-bg:    $brand-primary !default;\n\n$panel-success-text:          $state-success-text !default;\n$panel-success-border:        $state-success-border !default;\n$panel-success-heading-bg:    $state-success-bg !default;\n\n$panel-info-text:             $state-info-text !default;\n$panel-info-border:           $state-info-border !default;\n$panel-info-heading-bg:       $state-info-bg !default;\n\n$panel-warning-text:          $state-warning-text !default;\n$panel-warning-border:        $state-warning-border !default;\n$panel-warning-heading-bg:    $state-warning-bg !default;\n\n$panel-danger-text:           $state-danger-text !default;\n$panel-danger-border:         $state-danger-border !default;\n$panel-danger-heading-bg:     $state-danger-bg !default;\n\n\n//== Thumbnails\n//\n//##\n\n//** Padding around the thumbnail image\n$thumbnail-padding:           4px !default;\n//** Thumbnail background color\n$thumbnail-bg:                $body-bg !default;\n//** Thumbnail border color\n$thumbnail-border:            #ddd !default;\n//** Thumbnail border radius\n$thumbnail-border-radius:     $border-radius-base !default;\n\n//** Custom text color for thumbnail captions\n$thumbnail-caption-color:     $text-color !default;\n//** Padding around the thumbnail caption\n$thumbnail-caption-padding:   9px !default;\n\n\n//== Wells\n//\n//##\n\n$well-bg:                     #f5f5f5 !default;\n$well-border:                 darken($well-bg, 7%) !default;\n\n\n//== Badges\n//\n//##\n\n$badge-color:                 #fff !default;\n//** Linked badge text color on hover\n$badge-link-hover-color:      #fff !default;\n$badge-bg:                    $gray-light !default;\n\n//** Badge text color in active nav link\n$badge-active-color:          $link-color !default;\n//** Badge background color in active nav link\n$badge-active-bg:             #fff !default;\n\n$badge-font-weight:           bold !default;\n$badge-line-height:           1 !default;\n$badge-border-radius:         10px !default;\n\n\n//== Breadcrumbs\n//\n//##\n\n$breadcrumb-padding-vertical:   8px !default;\n$breadcrumb-padding-horizontal: 15px !default;\n//** Breadcrumb background color\n$breadcrumb-bg:                 #f5f5f5 !default;\n//** Breadcrumb text color\n$breadcrumb-color:              #ccc !default;\n//** Text color of current page in the breadcrumb\n$breadcrumb-active-color:       $gray-light !default;\n//** Textual separator for between breadcrumb elements\n$breadcrumb-separator:          \"/\" !default;\n\n\n//== Carousel\n//\n//##\n\n$carousel-text-shadow:                        0 1px 2px rgba(0,0,0,.6) !default;\n\n$carousel-control-color:                      #fff !default;\n$carousel-control-width:                      15% !default;\n$carousel-control-opacity:                    .5 !default;\n$carousel-control-font-size:                  20px !default;\n\n$carousel-indicator-active-bg:                #fff !default;\n$carousel-indicator-border-color:             #fff !default;\n\n$carousel-caption-color:                      #fff !default;\n\n\n//== Close\n//\n//##\n\n$close-font-weight:           bold !default;\n$close-color:                 #000 !default;\n$close-text-shadow:           0 1px 0 #fff !default;\n\n\n//== Code\n//\n//##\n\n$code-color:                  #c7254e !default;\n$code-bg:                     #f9f2f4 !default;\n\n$kbd-color:                   #fff !default;\n$kbd-bg:                      #333 !default;\n\n$pre-bg:                      #f5f5f5 !default;\n$pre-color:                   $gray-dark !default;\n$pre-border-color:            #ccc !default;\n$pre-scrollable-max-height:   340px !default;\n\n\n//== Type\n//\n//##\n\n//** Horizontal offset for forms and lists.\n$component-offset-horizontal: 180px !default;\n//** Text muted color\n$text-muted:                  $gray-light !default;\n//** Abbreviations and acronyms border color\n$abbr-border-color:           $gray-light !default;\n//** Headings small color\n$headings-small-color:        $gray-light !default;\n//** Blockquote small color\n$blockquote-small-color:      $gray-light !default;\n//** Blockquote font size\n$blockquote-font-size:        ($font-size-base * 1.25) !default;\n//** Blockquote border color\n$blockquote-border-color:     $gray-lighter !default;\n//** Page header border color\n$page-header-border-color:    $gray-lighter !default;\n//** Width of horizontal description list titles\n$dl-horizontal-offset:        $component-offset-horizontal !default;\n//** Point at which .dl-horizontal becomes horizontal\n$dl-horizontal-breakpoint:    $grid-float-breakpoint !default;\n//** Horizontal line color.\n$hr-border:                   $gray-lighter !default;\n","// WebKit-style focus\n\n@mixin tab-focus() {\n  // Default\n  outline: thin dotted;\n  // WebKit\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n@mixin img-responsive($display: block) {\n  display: $display;\n  max-width: 100%; // Part 1: Set a maximum relative to the parent\n  height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size. Note that the\n// spelling of `min--moz-device-pixel-ratio` is intentional.\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n  background-image: url(if($bootstrap-sass-asset-helper, twbs-image-path(\"#{$file-1x}\"), \"#{$file-1x}\"));\n\n  @media\n  only screen and (-webkit-min-device-pixel-ratio: 2),\n  only screen and (   min--moz-device-pixel-ratio: 2),\n  only screen and (     -o-min-device-pixel-ratio: 2/1),\n  only screen and (        min-device-pixel-ratio: 2),\n  only screen and (                min-resolution: 192dpi),\n  only screen and (                min-resolution: 2dppx) {\n    background-image: url(if($bootstrap-sass-asset-helper, twbs-image-path(\"#{$file-2x}\"), \"#{$file-2x}\"));\n    background-size: $width-1x $height-1x;\n  }\n}\n","//\n// Typography\n// --------------------------------------------------\n\n\n// Headings\n// -------------------------\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n  font-family: $headings-font-family;\n  font-weight: $headings-font-weight;\n  line-height: $headings-line-height;\n  color: $headings-color;\n\n  small,\n  .small {\n    font-weight: normal;\n    line-height: 1;\n    color: $headings-small-color;\n  }\n}\n\nh1, .h1,\nh2, .h2,\nh3, .h3 {\n  margin-top: $line-height-computed;\n  margin-bottom: ($line-height-computed / 2);\n\n  small,\n  .small {\n    font-size: 65%;\n  }\n}\nh4, .h4,\nh5, .h5,\nh6, .h6 {\n  margin-top: ($line-height-computed / 2);\n  margin-bottom: ($line-height-computed / 2);\n\n  small,\n  .small {\n    font-size: 75%;\n  }\n}\n\nh1, .h1 { font-size: $font-size-h1; }\nh2, .h2 { font-size: $font-size-h2; }\nh3, .h3 { font-size: $font-size-h3; }\nh4, .h4 { font-size: $font-size-h4; }\nh5, .h5 { font-size: $font-size-h5; }\nh6, .h6 { font-size: $font-size-h6; }\n\n\n// Body text\n// -------------------------\n\np {\n  margin: 0 0 ($line-height-computed / 2);\n}\n\n.lead {\n  margin-bottom: $line-height-computed;\n  font-size: floor(($font-size-base * 1.15));\n  font-weight: 300;\n  line-height: 1.4;\n\n  @media (min-width: $screen-sm-min) {\n    font-size: ($font-size-base * 1.5);\n  }\n}\n\n\n// Emphasis & misc\n// -------------------------\n\n// Ex: (12px small font / 14px base font) * 100% = about 85%\nsmall,\n.small {\n  font-size: floor((100% * $font-size-small / $font-size-base));\n}\n\nmark,\n.mark {\n  background-color: $state-warning-bg;\n  padding: .2em;\n}\n\n// Alignment\n.text-left           { text-align: left; }\n.text-right          { text-align: right; }\n.text-center         { text-align: center; }\n.text-justify        { text-align: justify; }\n.text-nowrap         { white-space: nowrap; }\n\n// Transformation\n.text-lowercase      { text-transform: lowercase; }\n.text-uppercase      { text-transform: uppercase; }\n.text-capitalize     { text-transform: capitalize; }\n\n// Contextual colors\n.text-muted {\n  color: $text-muted;\n}\n\n@include text-emphasis-variant('.text-primary', $brand-primary);\n\n@include text-emphasis-variant('.text-success', $state-success-text);\n\n@include text-emphasis-variant('.text-info', $state-info-text);\n\n@include text-emphasis-variant('.text-warning', $state-warning-text);\n\n@include text-emphasis-variant('.text-danger', $state-danger-text);\n\n// Contextual backgrounds\n// For now we'll leave these alongside the text classes until v4 when we can\n// safely shift things around (per SemVer rules).\n.bg-primary {\n  // Given the contrast here, this is the only class to have its color inverted\n  // automatically.\n  color: #fff;\n}\n@include bg-variant('.bg-primary', $brand-primary);\n\n@include bg-variant('.bg-success', $state-success-bg);\n\n@include bg-variant('.bg-info', $state-info-bg);\n\n@include bg-variant('.bg-warning', $state-warning-bg);\n\n@include bg-variant('.bg-danger', $state-danger-bg);\n\n\n// Page header\n// -------------------------\n\n.page-header {\n  padding-bottom: (($line-height-computed / 2) - 1);\n  margin: ($line-height-computed * 2) 0 $line-height-computed;\n  border-bottom: 1px solid $page-header-border-color;\n}\n\n\n// Lists\n// -------------------------\n\n// Unordered and Ordered lists\nul,\nol {\n  margin-top: 0;\n  margin-bottom: ($line-height-computed / 2);\n  ul,\n  ol {\n    margin-bottom: 0;\n  }\n}\n\n// List options\n\n// [converter] extracted from `.list-unstyled` for libsass compatibility\n@mixin list-unstyled {\n  padding-left: 0;\n  list-style: none;\n}\n// [converter] extracted as `@mixin list-unstyled` for libsass compatibility\n.list-unstyled {\n  @include list-unstyled;\n}\n\n\n// Inline turns list items into inline-block\n.list-inline {\n  @include list-unstyled;\n  margin-left: -5px;\n\n  > li {\n    display: inline-block;\n    padding-left: 5px;\n    padding-right: 5px;\n  }\n}\n\n// Description Lists\ndl {\n  margin-top: 0; // Remove browser default\n  margin-bottom: $line-height-computed;\n}\ndt,\ndd {\n  line-height: $line-height-base;\n}\ndt {\n  font-weight: bold;\n}\ndd {\n  margin-left: 0; // Undo browser default\n}\n\n// Horizontal description lists\n//\n// Defaults to being stacked without any of the below styles applied, until the\n// grid breakpoint is reached (default of ~768px).\n\n.dl-horizontal {\n  dd {\n    @include clearfix; // Clear the floated `dt` if an empty `dd` is present\n  }\n\n  @media (min-width: $dl-horizontal-breakpoint) {\n    dt {\n      float: left;\n      width: ($dl-horizontal-offset - 20);\n      clear: left;\n      text-align: right;\n      @include text-overflow;\n    }\n    dd {\n      margin-left: $dl-horizontal-offset;\n    }\n  }\n}\n\n\n// Misc\n// -------------------------\n\n// Abbreviations and acronyms\nabbr[title],\n// Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257\nabbr[data-original-title] {\n  cursor: help;\n  border-bottom: 1px dotted $abbr-border-color;\n}\n.initialism {\n  font-size: 90%;\n  @extend .text-uppercase;\n}\n\n// Blockquotes\nblockquote {\n  padding: ($line-height-computed / 2) $line-height-computed;\n  margin: 0 0 $line-height-computed;\n  font-size: $blockquote-font-size;\n  border-left: 5px solid $blockquote-border-color;\n\n  p,\n  ul,\n  ol {\n    &:last-child {\n      margin-bottom: 0;\n    }\n  }\n\n  // Note: Deprecated small and .small as of v3.1.0\n  // Context: https://github.com/twbs/bootstrap/issues/11660\n  footer,\n  small,\n  .small {\n    display: block;\n    font-size: 80%; // back to default font-size\n    line-height: $line-height-base;\n    color: $blockquote-small-color;\n\n    &:before {\n      content: '\\2014 \\00A0'; // em dash, nbsp\n    }\n  }\n}\n\n// Opposite alignment of blockquote\n//\n// Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0.\n.blockquote-reverse,\nblockquote.pull-right {\n  padding-right: 15px;\n  padding-left: 0;\n  border-right: 5px solid $blockquote-border-color;\n  border-left: 0;\n  text-align: right;\n\n  // Account for citation\n  footer,\n  small,\n  .small {\n    &:before { content: ''; }\n    &:after {\n      content: '\\00A0 \\2014'; // nbsp, em dash\n    }\n  }\n}\n\n// Addresses\naddress {\n  margin-bottom: $line-height-computed;\n  font-style: normal;\n  line-height: $line-height-base;\n}\n","// Typography\n\n// [converter] $parent hack\n@mixin text-emphasis-variant($parent, $color) {\n  #{$parent} {\n    color: $color;\n  }\n  a#{$parent}:hover,\n  a#{$parent}:focus {\n    color: darken($color, 10%);\n  }\n}\n","// Contextual backgrounds\n\n// [converter] $parent hack\n@mixin bg-variant($parent, $color) {\n  #{$parent} {\n    background-color: $color;\n  }\n  a#{$parent}:hover,\n  a#{$parent}:focus {\n    background-color: darken($color, 10%);\n  }\n}\n","// Clearfix\n//\n// For modern browsers\n// 1. The space content is one way to avoid an Opera bug when the\n//    contenteditable attribute is included anywhere else in the document.\n//    Otherwise it causes space to appear at the top and bottom of elements\n//    that are clearfixed.\n// 2. The use of `table` rather than `block` is only necessary if using\n//    `:before` to contain the top-margins of child elements.\n//\n// Source: http://nicolasgallagher.com/micro-clearfix-hack/\n\n@mixin clearfix() {\n  &:before,\n  &:after {\n    content: \" \"; // 1\n    display: table; // 2\n  }\n  &:after {\n    clear: both;\n  }\n}\n","// Text overflow\n// Requires inline-block or block for proper styling\n\n@mixin text-overflow() {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n","//\n// Code (inline and block)\n// --------------------------------------------------\n\n\n// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n  font-family: $font-family-monospace;\n}\n\n// Inline code\ncode {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: $code-color;\n  background-color: $code-bg;\n  border-radius: $border-radius-base;\n}\n\n// User input typically entered via keyboard\nkbd {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: $kbd-color;\n  background-color: $kbd-bg;\n  border-radius: $border-radius-small;\n  box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);\n\n  kbd {\n    padding: 0;\n    font-size: 100%;\n    font-weight: bold;\n    box-shadow: none;\n  }\n}\n\n// Blocks of code\npre {\n  display: block;\n  padding: (($line-height-computed - 1) / 2);\n  margin: 0 0 ($line-height-computed / 2);\n  font-size: ($font-size-base - 1); // 14px to 13px\n  line-height: $line-height-base;\n  word-break: break-all;\n  word-wrap: break-word;\n  color: $pre-color;\n  background-color: $pre-bg;\n  border: 1px solid $pre-border-color;\n  border-radius: $border-radius-base;\n\n  // Account for some code outputs that place code tags in pre tags\n  code {\n    padding: 0;\n    font-size: inherit;\n    color: inherit;\n    white-space: pre-wrap;\n    background-color: transparent;\n    border-radius: 0;\n  }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n  max-height: $pre-scrollable-max-height;\n  overflow-y: scroll;\n}\n","//\n// Grid system\n// --------------------------------------------------\n\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n.container {\n  @include container-fixed;\n\n  @media (min-width: $screen-sm-min) {\n    width: $container-sm;\n  }\n  @media (min-width: $screen-md-min) {\n    width: $container-md;\n  }\n  @media (min-width: $screen-lg-min) {\n    width: $container-lg;\n  }\n}\n\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but without any defined\n// width for fluid, full width layouts.\n\n.container-fluid {\n  @include container-fixed;\n}\n\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n.row {\n  @include make-row;\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@include make-grid-columns;\n\n\n// Extra small grid\n//\n// Columns, offsets, pushes, and pulls for extra small devices like\n// smartphones.\n\n@include make-grid(xs);\n\n\n// Small grid\n//\n// Columns, offsets, pushes, and pulls for the small device range, from phones\n// to tablets.\n\n@media (min-width: $screen-sm-min) {\n  @include make-grid(sm);\n}\n\n\n// Medium grid\n//\n// Columns, offsets, pushes, and pulls for the desktop device range.\n\n@media (min-width: $screen-md-min) {\n  @include make-grid(md);\n}\n\n\n// Large grid\n//\n// Columns, offsets, pushes, and pulls for the large desktop device range.\n\n@media (min-width: $screen-lg-min) {\n  @include make-grid(lg);\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n// Centered container element\n@mixin container-fixed($gutter: $grid-gutter-width) {\n  margin-right: auto;\n  margin-left: auto;\n  padding-left:  floor(($gutter / 2));\n  padding-right: ceil(($gutter / 2));\n  @include clearfix;\n}\n\n// Creates a wrapper for a series of columns\n@mixin make-row($gutter: $grid-gutter-width) {\n  margin-left:  ceil(($gutter / -2));\n  margin-right: floor(($gutter / -2));\n  @include clearfix;\n}\n\n// Generate the extra small columns\n@mixin make-xs-column($columns, $gutter: $grid-gutter-width) {\n  position: relative;\n  float: left;\n  width: percentage(($columns / $grid-columns));\n  min-height: 1px;\n  padding-left:  ($gutter / 2);\n  padding-right: ($gutter / 2);\n}\n@mixin make-xs-column-offset($columns) {\n  margin-left: percentage(($columns / $grid-columns));\n}\n@mixin make-xs-column-push($columns) {\n  left: percentage(($columns / $grid-columns));\n}\n@mixin make-xs-column-pull($columns) {\n  right: percentage(($columns / $grid-columns));\n}\n\n// Generate the small columns\n@mixin make-sm-column($columns, $gutter: $grid-gutter-width) {\n  position: relative;\n  min-height: 1px;\n  padding-left:  ($gutter / 2);\n  padding-right: ($gutter / 2);\n\n  @media (min-width: $screen-sm-min) {\n    float: left;\n    width: percentage(($columns / $grid-columns));\n  }\n}\n@mixin make-sm-column-offset($columns) {\n  @media (min-width: $screen-sm-min) {\n    margin-left: percentage(($columns / $grid-columns));\n  }\n}\n@mixin make-sm-column-push($columns) {\n  @media (min-width: $screen-sm-min) {\n    left: percentage(($columns / $grid-columns));\n  }\n}\n@mixin make-sm-column-pull($columns) {\n  @media (min-width: $screen-sm-min) {\n    right: percentage(($columns / $grid-columns));\n  }\n}\n\n// Generate the medium columns\n@mixin make-md-column($columns, $gutter: $grid-gutter-width) {\n  position: relative;\n  min-height: 1px;\n  padding-left:  ($gutter / 2);\n  padding-right: ($gutter / 2);\n\n  @media (min-width: $screen-md-min) {\n    float: left;\n    width: percentage(($columns / $grid-columns));\n  }\n}\n@mixin make-md-column-offset($columns) {\n  @media (min-width: $screen-md-min) {\n    margin-left: percentage(($columns / $grid-columns));\n  }\n}\n@mixin make-md-column-push($columns) {\n  @media (min-width: $screen-md-min) {\n    left: percentage(($columns / $grid-columns));\n  }\n}\n@mixin make-md-column-pull($columns) {\n  @media (min-width: $screen-md-min) {\n    right: percentage(($columns / $grid-columns));\n  }\n}\n\n// Generate the large columns\n@mixin make-lg-column($columns, $gutter: $grid-gutter-width) {\n  position: relative;\n  min-height: 1px;\n  padding-left:  ($gutter / 2);\n  padding-right: ($gutter / 2);\n\n  @media (min-width: $screen-lg-min) {\n    float: left;\n    width: percentage(($columns / $grid-columns));\n  }\n}\n@mixin make-lg-column-offset($columns) {\n  @media (min-width: $screen-lg-min) {\n    margin-left: percentage(($columns / $grid-columns));\n  }\n}\n@mixin make-lg-column-push($columns) {\n  @media (min-width: $screen-lg-min) {\n    left: percentage(($columns / $grid-columns));\n  }\n}\n@mixin make-lg-column-pull($columns) {\n  @media (min-width: $screen-lg-min) {\n    right: percentage(($columns / $grid-columns));\n  }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n// [converter] This is defined recursively in LESS, but Sass supports real loops\n@mixin make-grid-columns($i: 1, $list: \".col-xs-#{$i}, .col-sm-#{$i}, .col-md-#{$i}, .col-lg-#{$i}\") {\n  @for $i from (1 + 1) through $grid-columns {\n    $list: \"#{$list}, .col-xs-#{$i}, .col-sm-#{$i}, .col-md-#{$i}, .col-lg-#{$i}\";\n  }\n  #{$list} {\n    position: relative;\n    // Prevent columns from collapsing when empty\n    min-height: 1px;\n    // Inner gutter via padding\n    padding-left:  ceil(($grid-gutter-width / 2));\n    padding-right: floor(($grid-gutter-width / 2));\n  }\n}\n\n\n// [converter] This is defined recursively in LESS, but Sass supports real loops\n@mixin float-grid-columns($class, $i: 1, $list: \".col-#{$class}-#{$i}\") {\n  @for $i from (1 + 1) through $grid-columns {\n    $list: \"#{$list}, .col-#{$class}-#{$i}\";\n  }\n  #{$list} {\n    float: left;\n  }\n}\n\n\n@mixin calc-grid-column($index, $class, $type) {\n  @if ($type == width) and ($index > 0) {\n    .col-#{$class}-#{$index} {\n      width: percentage(($index / $grid-columns));\n    }\n  }\n  @if ($type == push) and ($index > 0) {\n    .col-#{$class}-push-#{$index} {\n      left: percentage(($index / $grid-columns));\n    }\n  }\n  @if ($type == push) and ($index == 0) {\n    .col-#{$class}-push-0 {\n      left: auto;\n    }\n  }\n  @if ($type == pull) and ($index > 0) {\n    .col-#{$class}-pull-#{$index} {\n      right: percentage(($index / $grid-columns));\n    }\n  }\n  @if ($type == pull) and ($index == 0) {\n    .col-#{$class}-pull-0 {\n      right: auto;\n    }\n  }\n  @if ($type == offset) {\n    .col-#{$class}-offset-#{$index} {\n      margin-left: percentage(($index / $grid-columns));\n    }\n  }\n}\n\n// [converter] This is defined recursively in LESS, but Sass supports real loops\n@mixin loop-grid-columns($columns, $class, $type) {\n  @for $i from 0 through $columns {\n    @include calc-grid-column($i, $class, $type);\n  }\n}\n\n\n// Create grid for specific class\n@mixin make-grid($class) {\n  @include float-grid-columns($class);\n  @include loop-grid-columns($grid-columns, $class, width);\n  @include loop-grid-columns($grid-columns, $class, pull);\n  @include loop-grid-columns($grid-columns, $class, push);\n  @include loop-grid-columns($grid-columns, $class, offset);\n}\n","//\n// Tables\n// --------------------------------------------------\n\n\ntable {\n  background-color: $table-bg;\n}\ncaption {\n  padding-top: $table-cell-padding;\n  padding-bottom: $table-cell-padding;\n  color: $text-muted;\n  text-align: left;\n}\nth {\n  text-align: left;\n}\n\n\n// Baseline styles\n\n.table {\n  width: 100%;\n  max-width: 100%;\n  margin-bottom: $line-height-computed;\n  // Cells\n  > thead,\n  > tbody,\n  > tfoot {\n    > tr {\n      > th,\n      > td {\n        padding: $table-cell-padding;\n        line-height: $line-height-base;\n        vertical-align: top;\n        border-top: 1px solid $table-border-color;\n      }\n    }\n  }\n  // Bottom align for column headings\n  > thead > tr > th {\n    vertical-align: bottom;\n    border-bottom: 2px solid $table-border-color;\n  }\n  // Remove top border from thead by default\n  > caption + thead,\n  > colgroup + thead,\n  > thead:first-child {\n    > tr:first-child {\n      > th,\n      > td {\n        border-top: 0;\n      }\n    }\n  }\n  // Account for multiple tbody instances\n  > tbody + tbody {\n    border-top: 2px solid $table-border-color;\n  }\n\n  // Nesting\n  .table {\n    background-color: $body-bg;\n  }\n}\n\n\n// Condensed table w/ half padding\n\n.table-condensed {\n  > thead,\n  > tbody,\n  > tfoot {\n    > tr {\n      > th,\n      > td {\n        padding: $table-condensed-cell-padding;\n      }\n    }\n  }\n}\n\n\n// Bordered version\n//\n// Add borders all around the table and between all the columns.\n\n.table-bordered {\n  border: 1px solid $table-border-color;\n  > thead,\n  > tbody,\n  > tfoot {\n    > tr {\n      > th,\n      > td {\n        border: 1px solid $table-border-color;\n      }\n    }\n  }\n  > thead > tr {\n    > th,\n    > td {\n      border-bottom-width: 2px;\n    }\n  }\n}\n\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n  > tbody > tr:nth-of-type(odd) {\n    background-color: $table-bg-accent;\n  }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n  > tbody > tr:hover {\n    background-color: $table-bg-hover;\n  }\n}\n\n\n// Table cell sizing\n//\n// Reset default table behavior\n\ntable col[class*=\"col-\"] {\n  position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n  float: none;\n  display: table-column;\n}\ntable {\n  td,\n  th {\n    &[class*=\"col-\"] {\n      position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n      float: none;\n      display: table-cell;\n    }\n  }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n// Generate the contextual variants\n@include table-row-variant('active', $table-bg-active);\n@include table-row-variant('success', $state-success-bg);\n@include table-row-variant('info', $state-info-bg);\n@include table-row-variant('warning', $state-warning-bg);\n@include table-row-variant('danger', $state-danger-bg);\n\n\n// Responsive tables\n//\n// Wrap your tables in `.table-responsive` and we'll make them mobile friendly\n// by enabling horizontal scrolling. Only applies <768px. Everything above that\n// will display normally.\n\n.table-responsive {\n  overflow-x: auto;\n  min-height: 0.01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837)\n\n  @media screen and (max-width: $screen-xs-max) {\n    width: 100%;\n    margin-bottom: ($line-height-computed * 0.75);\n    overflow-y: hidden;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n    border: 1px solid $table-border-color;\n\n    // Tighten up spacing\n    > .table {\n      margin-bottom: 0;\n\n      // Ensure the content doesn't wrap\n      > thead,\n      > tbody,\n      > tfoot {\n        > tr {\n          > th,\n          > td {\n            white-space: nowrap;\n          }\n        }\n      }\n    }\n\n    // Special overrides for the bordered tables\n    > .table-bordered {\n      border: 0;\n\n      // Nuke the appropriate borders so that the parent can handle them\n      > thead,\n      > tbody,\n      > tfoot {\n        > tr {\n          > th:first-child,\n          > td:first-child {\n            border-left: 0;\n          }\n          > th:last-child,\n          > td:last-child {\n            border-right: 0;\n          }\n        }\n      }\n\n      // Only nuke the last row's bottom-border in `tbody` and `tfoot` since\n      // chances are there will be only one `tr` in a `thead` and that would\n      // remove the border altogether.\n      > tbody,\n      > tfoot {\n        > tr:last-child {\n          > th,\n          > td {\n            border-bottom: 0;\n          }\n        }\n      }\n\n    }\n  }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background) {\n  // Exact selectors below required to override `.table-striped` and prevent\n  // inheritance to nested tables.\n  .table > thead > tr,\n  .table > tbody > tr,\n  .table > tfoot > tr {\n    > td.#{$state},\n    > th.#{$state},\n    &.#{$state} > td,\n    &.#{$state} > th {\n      background-color: $background;\n    }\n  }\n\n  // Hover states for `.table-hover`\n  // Note: this is not available for cells or rows within `thead` or `tfoot`.\n  .table-hover > tbody > tr {\n    > td.#{$state}:hover,\n    > th.#{$state}:hover,\n    &.#{$state}:hover > td,\n    &:hover > .#{$state},\n    &.#{$state}:hover > th {\n      background-color: darken($background, 5%);\n    }\n  }\n}\n","//\n// Forms\n// --------------------------------------------------\n\n\n// Normalize non-controls\n//\n// Restyle and baseline non-control form elements.\n\nfieldset {\n  padding: 0;\n  margin: 0;\n  border: 0;\n  // Chrome and Firefox set a `min-width: min-content;` on fieldsets,\n  // so we reset that to ensure it behaves more like a standard block element.\n  // See https://github.com/twbs/bootstrap/issues/12359.\n  min-width: 0;\n}\n\nlegend {\n  display: block;\n  width: 100%;\n  padding: 0;\n  margin-bottom: $line-height-computed;\n  font-size: ($font-size-base * 1.5);\n  line-height: inherit;\n  color: $legend-color;\n  border: 0;\n  border-bottom: 1px solid $legend-border-color;\n}\n\nlabel {\n  display: inline-block;\n  max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)\n  margin-bottom: 5px;\n  font-weight: bold;\n}\n\n\n// Normalize form controls\n//\n// While most of our form styles require extra classes, some basic normalization\n// is required to ensure optimum display with or without those classes to better\n// address browser inconsistencies.\n\n// Override content-box in Normalize (* isn't specific enough)\ninput[type=\"search\"] {\n  @include box-sizing(border-box);\n}\n\n// Position radios and checkboxes better\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  margin: 4px 0 0;\n  margin-top: 1px \\9; // IE8-9\n  line-height: normal;\n}\n\ninput[type=\"file\"] {\n  display: block;\n}\n\n// Make range inputs behave like textual form controls\ninput[type=\"range\"] {\n  display: block;\n  width: 100%;\n}\n\n// Make multiple select elements height not fixed\nselect[multiple],\nselect[size] {\n  height: auto;\n}\n\n// Focus for file, radio, and checkbox\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n  @include tab-focus;\n}\n\n// Adjust output element\noutput {\n  display: block;\n  padding-top: ($padding-base-vertical + 1);\n  font-size: $font-size-base;\n  line-height: $line-height-base;\n  color: $input-color;\n}\n\n\n// Common form controls\n//\n// Shared size and type resets for form controls. Apply `.form-control` to any\n// of the following form controls:\n//\n// select\n// textarea\n// input[type=\"text\"]\n// input[type=\"password\"]\n// input[type=\"datetime\"]\n// input[type=\"datetime-local\"]\n// input[type=\"date\"]\n// input[type=\"month\"]\n// input[type=\"time\"]\n// input[type=\"week\"]\n// input[type=\"number\"]\n// input[type=\"email\"]\n// input[type=\"url\"]\n// input[type=\"search\"]\n// input[type=\"tel\"]\n// input[type=\"color\"]\n\n.form-control {\n  display: block;\n  width: 100%;\n  height: $input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)\n  padding: $padding-base-vertical $padding-base-horizontal;\n  font-size: $font-size-base;\n  line-height: $line-height-base;\n  color: $input-color;\n  background-color: $input-bg;\n  background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n  border: 1px solid $input-border;\n  border-radius: $input-border-radius; // Note: This has no effect on s in CSS.\n  @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075));\n  @include transition(border-color ease-in-out .15s, box-shadow ease-in-out .15s);\n\n  // Customize the `:focus` state to imitate native WebKit styles.\n  @include form-control-focus;\n\n  // Placeholder\n  @include placeholder;\n\n  // Unstyle the caret on ``\n// element gets special love because it's special, and that's a fact!\n// [converter] $parent hack\n@mixin input-size($parent, $input-height, $padding-vertical, $padding-horizontal, $font-size, $line-height, $border-radius) {\n  #{$parent} {\n    height: $input-height;\n    padding: $padding-vertical $padding-horizontal;\n    font-size: $font-size;\n    line-height: $line-height;\n    border-radius: $border-radius;\n  }\n\n  select#{$parent} {\n    height: $input-height;\n    line-height: $input-height;\n  }\n\n  textarea#{$parent},\n  select[multiple]#{$parent} {\n    height: auto;\n  }\n}\n","//\n// Buttons\n// --------------------------------------------------\n\n\n// Base styles\n// --------------------------------------------------\n\n.btn {\n  display: inline-block;\n  margin-bottom: 0; // For input.btn\n  font-weight: $btn-font-weight;\n  text-align: center;\n  vertical-align: middle;\n  touch-action: manipulation;\n  cursor: pointer;\n  background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n  border: 1px solid transparent;\n  white-space: nowrap;\n  @include button-size($padding-base-vertical, $padding-base-horizontal, $font-size-base, $line-height-base, $btn-border-radius-base);\n  @include user-select(none);\n\n  &,\n  &:active,\n  &.active {\n    &:focus,\n    &.focus {\n      @include tab-focus;\n    }\n  }\n\n  &:hover,\n  &:focus,\n  &.focus {\n    color: $btn-default-color;\n    text-decoration: none;\n  }\n\n  &:active,\n  &.active {\n    outline: 0;\n    background-image: none;\n    @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n  }\n\n  &.disabled,\n  &[disabled],\n  fieldset[disabled] & {\n    cursor: $cursor-disabled;\n    @include opacity(.65);\n    @include box-shadow(none);\n  }\n\n  // [converter] extracted a& to a.btn\n}\n\na.btn {\n  &.disabled,\n  fieldset[disabled] & {\n    pointer-events: none; // Future-proof disabling of clicks on `` elements\n  }\n}\n\n\n// Alternate buttons\n// --------------------------------------------------\n\n.btn-default {\n  @include button-variant($btn-default-color, $btn-default-bg, $btn-default-border);\n}\n.btn-primary {\n  @include button-variant($btn-primary-color, $btn-primary-bg, $btn-primary-border);\n}\n// Success appears as green\n.btn-success {\n  @include button-variant($btn-success-color, $btn-success-bg, $btn-success-border);\n}\n// Info appears as blue-green\n.btn-info {\n  @include button-variant($btn-info-color, $btn-info-bg, $btn-info-border);\n}\n// Warning appears as orange\n.btn-warning {\n  @include button-variant($btn-warning-color, $btn-warning-bg, $btn-warning-border);\n}\n// Danger and error appear as red\n.btn-danger {\n  @include button-variant($btn-danger-color, $btn-danger-bg, $btn-danger-border);\n}\n\n\n// Link buttons\n// -------------------------\n\n// Make a button look and behave like a link\n.btn-link {\n  color: $link-color;\n  font-weight: normal;\n  border-radius: 0;\n\n  &,\n  &:active,\n  &.active,\n  &[disabled],\n  fieldset[disabled] & {\n    background-color: transparent;\n    @include box-shadow(none);\n  }\n  &,\n  &:hover,\n  &:focus,\n  &:active {\n    border-color: transparent;\n  }\n  &:hover,\n  &:focus {\n    color: $link-hover-color;\n    text-decoration: $link-hover-decoration;\n    background-color: transparent;\n  }\n  &[disabled],\n  fieldset[disabled] & {\n    &:hover,\n    &:focus {\n      color: $btn-link-disabled-color;\n      text-decoration: none;\n    }\n  }\n}\n\n\n// Button Sizes\n// --------------------------------------------------\n\n.btn-lg {\n  // line-height: ensure even-numbered height of button next to large input\n  @include button-size($padding-large-vertical, $padding-large-horizontal, $font-size-large, $line-height-large, $btn-border-radius-large);\n}\n.btn-sm {\n  // line-height: ensure proper height of button next to small input\n  @include button-size($padding-small-vertical, $padding-small-horizontal, $font-size-small, $line-height-small, $btn-border-radius-small);\n}\n.btn-xs {\n  @include button-size($padding-xs-vertical, $padding-xs-horizontal, $font-size-small, $line-height-small, $btn-border-radius-small);\n}\n\n\n// Block button\n// --------------------------------------------------\n\n.btn-block {\n  display: block;\n  width: 100%;\n}\n\n// Vertically space out multiple block buttons\n.btn-block + .btn-block {\n  margin-top: 5px;\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n  &.btn-block {\n    width: 100%;\n  }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant($color, $background, $border) {\n  color: $color;\n  background-color: $background;\n  border-color: $border;\n\n  &:focus,\n  &.focus {\n    color: $color;\n    background-color: darken($background, 10%);\n        border-color: darken($border, 25%);\n  }\n  &:hover {\n    color: $color;\n    background-color: darken($background, 10%);\n        border-color: darken($border, 12%);\n  }\n  &:active,\n  &.active,\n  .open > &.dropdown-toggle {\n    color: $color;\n    background-color: darken($background, 10%);\n        border-color: darken($border, 12%);\n\n    &:hover,\n    &:focus,\n    &.focus {\n      color: $color;\n      background-color: darken($background, 17%);\n          border-color: darken($border, 25%);\n    }\n  }\n  &:active,\n  &.active,\n  .open > &.dropdown-toggle {\n    background-image: none;\n  }\n  &.disabled,\n  &[disabled],\n  fieldset[disabled] & {\n    &:hover,\n    &:focus,\n    &.focus {\n      background-color: $background;\n          border-color: $border;\n    }\n  }\n\n  .badge {\n    color: $background;\n    background-color: $color;\n  }\n}\n\n// Button sizes\n@mixin button-size($padding-vertical, $padding-horizontal, $font-size, $line-height, $border-radius) {\n  padding: $padding-vertical $padding-horizontal;\n  font-size: $font-size;\n  line-height: $line-height;\n  border-radius: $border-radius;\n}\n","// Opacity\n\n@mixin opacity($opacity) {\n  opacity: $opacity;\n  // IE8 filter\n  $opacity-ie: ($opacity * 100);\n  filter: alpha(opacity=$opacity-ie);\n}\n","//\n// Component animations\n// --------------------------------------------------\n\n// Heads up!\n//\n// We don't use the `.opacity()` mixin here since it causes a bug with text\n// fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552.\n\n.fade {\n  opacity: 0;\n  @include transition(opacity .15s linear);\n  &.in {\n    opacity: 1;\n  }\n}\n\n.collapse {\n  display: none;\n\n  &.in      { display: block; }\n  // [converter] extracted tr&.in to tr.collapse.in\n  // [converter] extracted tbody&.in to tbody.collapse.in\n}\n\ntr.collapse.in    { display: table-row; }\n\ntbody.collapse.in { display: table-row-group; }\n\n.collapsing {\n  position: relative;\n  height: 0;\n  overflow: hidden;\n  @include transition-property(height, visibility);\n  @include transition-duration(.35s);\n  @include transition-timing-function(ease);\n}\n","//\n// Dropdown menus\n// --------------------------------------------------\n\n\n// Dropdown arrow/caret\n.caret {\n  display: inline-block;\n  width: 0;\n  height: 0;\n  margin-left: 2px;\n  vertical-align: middle;\n  border-top:   $caret-width-base dashed;\n  border-top:   $caret-width-base solid \\9; // IE8\n  border-right: $caret-width-base solid transparent;\n  border-left:  $caret-width-base solid transparent;\n}\n\n// The dropdown wrapper (div)\n.dropup,\n.dropdown {\n  position: relative;\n}\n\n// Prevent the focus on the dropdown toggle when closing dropdowns\n.dropdown-toggle:focus {\n  outline: 0;\n}\n\n// The dropdown menu (ul)\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: $zindex-dropdown;\n  display: none; // none by default, but block on \"open\" of the menu\n  float: left;\n  min-width: 160px;\n  padding: 5px 0;\n  margin: 2px 0 0; // override default ul\n  list-style: none;\n  font-size: $font-size-base;\n  text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n  background-color: $dropdown-bg;\n  border: 1px solid $dropdown-fallback-border; // IE8 fallback\n  border: 1px solid $dropdown-border;\n  border-radius: $border-radius-base;\n  @include box-shadow(0 6px 12px rgba(0,0,0,.175));\n  background-clip: padding-box;\n\n  // Aligns the dropdown menu to right\n  //\n  // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]`\n  &.pull-right {\n    right: 0;\n    left: auto;\n  }\n\n  // Dividers (basically an hr) within the dropdown\n  .divider {\n    @include nav-divider($dropdown-divider-bg);\n  }\n\n  // Links within the dropdown menu\n  > li > a {\n    display: block;\n    padding: 3px 20px;\n    clear: both;\n    font-weight: normal;\n    line-height: $line-height-base;\n    color: $dropdown-link-color;\n    white-space: nowrap; // prevent links from randomly breaking onto new lines\n  }\n}\n\n// Hover/Focus state\n.dropdown-menu > li > a {\n  &:hover,\n  &:focus {\n    text-decoration: none;\n    color: $dropdown-link-hover-color;\n    background-color: $dropdown-link-hover-bg;\n  }\n}\n\n// Active state\n.dropdown-menu > .active > a {\n  &,\n  &:hover,\n  &:focus {\n    color: $dropdown-link-active-color;\n    text-decoration: none;\n    outline: 0;\n    background-color: $dropdown-link-active-bg;\n  }\n}\n\n// Disabled state\n//\n// Gray out text and ensure the hover/focus state remains gray\n\n.dropdown-menu > .disabled > a {\n  &,\n  &:hover,\n  &:focus {\n    color: $dropdown-link-disabled-color;\n  }\n\n  // Nuke hover/focus effects\n  &:hover,\n  &:focus {\n    text-decoration: none;\n    background-color: transparent;\n    background-image: none; // Remove CSS gradient\n    @include reset-filter;\n    cursor: $cursor-disabled;\n  }\n}\n\n// Open state for the dropdown\n.open {\n  // Show the menu\n  > .dropdown-menu {\n    display: block;\n  }\n\n  // Remove the outline when :focus is triggered\n  > a {\n    outline: 0;\n  }\n}\n\n// Menu positioning\n//\n// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown\n// menu with the parent.\n.dropdown-menu-right {\n  left: auto; // Reset the default from `.dropdown-menu`\n  right: 0;\n}\n// With v3, we enabled auto-flipping if you have a dropdown within a right\n// aligned nav component. To enable the undoing of that, we provide an override\n// to restore the default dropdown menu alignment.\n//\n// This is only for left-aligning a dropdown menu within a `.navbar-right` or\n// `.pull-right` nav component.\n.dropdown-menu-left {\n  left: 0;\n  right: auto;\n}\n\n// Dropdown section headers\n.dropdown-header {\n  display: block;\n  padding: 3px 20px;\n  font-size: $font-size-small;\n  line-height: $line-height-base;\n  color: $dropdown-header-color;\n  white-space: nowrap; // as with > li > a\n}\n\n// Backdrop to catch body clicks on mobile, etc.\n.dropdown-backdrop {\n  position: fixed;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  top: 0;\n  z-index: ($zindex-dropdown - 10);\n}\n\n// Right aligned dropdowns\n.pull-right > .dropdown-menu {\n  right: 0;\n  left: auto;\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n//\n// Just add .dropup after the standard .dropdown class and you're set, bro.\n// TODO: abstract this so that the navbar fixed styles are not placed here?\n\n.dropup,\n.navbar-fixed-bottom .dropdown {\n  // Reverse the caret\n  .caret {\n    border-top: 0;\n    border-bottom: $caret-width-base dashed;\n    border-bottom: $caret-width-base solid \\9; // IE8\n    content: \"\";\n  }\n  // Different positioning for bottom up menu\n  .dropdown-menu {\n    top: auto;\n    bottom: 100%;\n    margin-bottom: 2px;\n  }\n}\n\n\n// Component alignment\n//\n// Reiterate per navbar.less and the modified component alignment there.\n\n@media (min-width: $grid-float-breakpoint) {\n  .navbar-right {\n    .dropdown-menu {\n      right: 0; left: auto;\n    }\n    // Necessary for overrides of the default right aligned menu.\n    // Will remove come v4 in all likelihood.\n    .dropdown-menu-left {\n      left: 0; right: auto;\n    }\n  }\n}\n","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n@mixin nav-divider($color: #e5e5e5) {\n  height: 1px;\n  margin: (($line-height-computed / 2) - 1) 0;\n  overflow: hidden;\n  background-color: $color;\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n@mixin reset-filter() {\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n","//\n// Button groups\n// --------------------------------------------------\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle; // match .btn alignment given font-size hack above\n  > .btn {\n    position: relative;\n    float: left;\n    // Bring the \"active\" button to the front\n    &:hover,\n    &:focus,\n    &:active,\n    &.active {\n      z-index: 2;\n    }\n  }\n}\n\n// Prevent double borders when buttons are next to each other\n.btn-group {\n  .btn + .btn,\n  .btn + .btn-group,\n  .btn-group + .btn,\n  .btn-group + .btn-group {\n    margin-left: -1px;\n  }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n  margin-left: -5px; // Offset the first child's margin\n  @include clearfix;\n\n  .btn,\n  .btn-group,\n  .input-group {\n    float: left;\n  }\n  > .btn,\n  > .btn-group,\n  > .input-group {\n    margin-left: 5px;\n  }\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n  border-radius: 0;\n}\n\n// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match\n.btn-group > .btn:first-child {\n  margin-left: 0;\n  &:not(:last-child):not(.dropdown-toggle) {\n    @include border-right-radius(0);\n  }\n}\n// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n  @include border-left-radius(0);\n}\n\n// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group)\n.btn-group > .btn-group {\n  float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) {\n  > .btn:last-child,\n  > .dropdown-toggle {\n    @include border-right-radius(0);\n  }\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  @include border-left-radius(0);\n}\n\n// On active and open, don't show outline\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n  outline: 0;\n}\n\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-xs > .btn { @extend .btn-xs; }\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n// Split button dropdowns\n// ----------------------\n\n// Give the line between buttons some depth\n.btn-group > .btn + .dropdown-toggle {\n  padding-left: 8px;\n  padding-right: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n  padding-left: 12px;\n  padding-right: 12px;\n}\n\n// The clickable button for toggling the menu\n// Remove the gradient and set the same inset shadow as the :active state\n.btn-group.open .dropdown-toggle {\n  @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n\n  // Show no shadow for `.btn-link` since it has no other button styles.\n  &.btn-link {\n    @include box-shadow(none);\n  }\n}\n\n\n// Reposition the caret\n.btn .caret {\n  margin-left: 0;\n}\n// Carets in other button sizes\n.btn-lg .caret {\n  border-width: $caret-width-large $caret-width-large 0;\n  border-bottom-width: 0;\n}\n// Upside down carets for .dropup\n.dropup .btn-lg .caret {\n  border-width: 0 $caret-width-large $caret-width-large;\n}\n\n\n// Vertical button groups\n// ----------------------\n\n.btn-group-vertical {\n  > .btn,\n  > .btn-group,\n  > .btn-group > .btn {\n    display: block;\n    float: none;\n    width: 100%;\n    max-width: 100%;\n  }\n\n  // Clear floats so dropdown menus can be properly placed\n  > .btn-group {\n    @include clearfix;\n    > .btn {\n      float: none;\n    }\n  }\n\n  > .btn + .btn,\n  > .btn + .btn-group,\n  > .btn-group + .btn,\n  > .btn-group + .btn-group {\n    margin-top: -1px;\n    margin-left: 0;\n  }\n}\n\n.btn-group-vertical > .btn {\n  &:not(:first-child):not(:last-child) {\n    border-radius: 0;\n  }\n  &:first-child:not(:last-child) {\n    @include border-top-radius($btn-border-radius-base);\n    @include border-bottom-radius(0);\n  }\n  &:last-child:not(:first-child) {\n    @include border-top-radius(0);\n    @include border-bottom-radius($btn-border-radius-base);\n  }\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) {\n  > .btn:last-child,\n  > .dropdown-toggle {\n    @include border-bottom-radius(0);\n  }\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  @include border-top-radius(0);\n}\n\n\n// Justified button groups\n// ----------------------\n\n.btn-group-justified {\n  display: table;\n  width: 100%;\n  table-layout: fixed;\n  border-collapse: separate;\n  > .btn,\n  > .btn-group {\n    float: none;\n    display: table-cell;\n    width: 1%;\n  }\n  > .btn-group .btn {\n    width: 100%;\n  }\n\n  > .btn-group .dropdown-menu {\n    left: auto;\n  }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n[data-toggle=\"buttons\"] {\n  > .btn,\n  > .btn-group > .btn {\n    input[type=\"radio\"],\n    input[type=\"checkbox\"] {\n      position: absolute;\n      clip: rect(0,0,0,0);\n      pointer-events: none;\n    }\n  }\n}\n","// Single side border-radius\n\n@mixin border-top-radius($radius) {\n  border-top-right-radius: $radius;\n   border-top-left-radius: $radius;\n}\n@mixin border-right-radius($radius) {\n  border-bottom-right-radius: $radius;\n     border-top-right-radius: $radius;\n}\n@mixin border-bottom-radius($radius) {\n  border-bottom-right-radius: $radius;\n   border-bottom-left-radius: $radius;\n}\n@mixin border-left-radius($radius) {\n  border-bottom-left-radius: $radius;\n     border-top-left-radius: $radius;\n}\n","//\n// Input groups\n// --------------------------------------------------\n\n// Base styles\n// -------------------------\n.input-group {\n  position: relative; // For dropdowns\n  display: table;\n  border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table\n\n  // Undo padding and float of grid classes\n  &[class*=\"col-\"] {\n    float: none;\n    padding-left: 0;\n    padding-right: 0;\n  }\n\n  .form-control {\n    // Ensure that the input is always above the *appended* addon button for\n    // proper border colors.\n    position: relative;\n    z-index: 2;\n\n    // IE9 fubars the placeholder attribute in text inputs and the arrows on\n    // select elements in input groups. To fix it, we float the input. Details:\n    // https://github.com/twbs/bootstrap/issues/11561#issuecomment-28936855\n    float: left;\n\n    width: 100%;\n    margin-bottom: 0;\n    \n    &:focus {\n      z-index: 3;\n    }\n  }\n}\n\n// Sizing options\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n  @extend .input-lg;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n  @extend .input-sm;\n}\n\n\n// Display as table-cell\n// -------------------------\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n  display: table-cell;\n\n  &:not(:first-child):not(:last-child) {\n    border-radius: 0;\n  }\n}\n// Addon and addon wrapper for buttons\n.input-group-addon,\n.input-group-btn {\n  width: 1%;\n  white-space: nowrap;\n  vertical-align: middle; // Match the inputs\n}\n\n// Text input groups\n// -------------------------\n.input-group-addon {\n  padding: $padding-base-vertical $padding-base-horizontal;\n  font-size: $font-size-base;\n  font-weight: normal;\n  line-height: 1;\n  color: $input-color;\n  text-align: center;\n  background-color: $input-group-addon-bg;\n  border: 1px solid $input-group-addon-border-color;\n  border-radius: $input-border-radius;\n\n  // Sizing\n  &.input-sm {\n    padding: $padding-small-vertical $padding-small-horizontal;\n    font-size: $font-size-small;\n    border-radius: $input-border-radius-small;\n  }\n  &.input-lg {\n    padding: $padding-large-vertical $padding-large-horizontal;\n    font-size: $font-size-large;\n    border-radius: $input-border-radius-large;\n  }\n\n  // Nuke default margins from checkboxes and radios to vertically center within.\n  input[type=\"radio\"],\n  input[type=\"checkbox\"] {\n    margin-top: 0;\n  }\n}\n\n// Reset rounded corners\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n  @include border-right-radius(0);\n}\n.input-group-addon:first-child {\n  border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n  @include border-left-radius(0);\n}\n.input-group-addon:last-child {\n  border-left: 0;\n}\n\n// Button input groups\n// -------------------------\n.input-group-btn {\n  position: relative;\n  // Jankily prevent input button groups from wrapping with `white-space` and\n  // `font-size` in combination with `inline-block` on buttons.\n  font-size: 0;\n  white-space: nowrap;\n\n  // Negative margin for spacing, position for bringing hovered/focused/actived\n  // element above the siblings.\n  > .btn {\n    position: relative;\n    + .btn {\n      margin-left: -1px;\n    }\n    // Bring the \"active\" button to the front\n    &:hover,\n    &:focus,\n    &:active {\n      z-index: 2;\n    }\n  }\n\n  // Negative margin to only have a 1px border between the two\n  &:first-child {\n    > .btn,\n    > .btn-group {\n      margin-right: -1px;\n    }\n  }\n  &:last-child {\n    > .btn,\n    > .btn-group {\n      z-index: 2;\n      margin-left: -1px;\n    }\n  }\n}\n","//\n// Navs\n// --------------------------------------------------\n\n\n// Base class\n// --------------------------------------------------\n\n.nav {\n  margin-bottom: 0;\n  padding-left: 0; // Override default ul/ol\n  list-style: none;\n  @include clearfix;\n\n  > li {\n    position: relative;\n    display: block;\n\n    > a {\n      position: relative;\n      display: block;\n      padding: $nav-link-padding;\n      &:hover,\n      &:focus {\n        text-decoration: none;\n        background-color: $nav-link-hover-bg;\n      }\n    }\n\n    // Disabled state sets text to gray and nukes hover/tab effects\n    &.disabled > a {\n      color: $nav-disabled-link-color;\n\n      &:hover,\n      &:focus {\n        color: $nav-disabled-link-hover-color;\n        text-decoration: none;\n        background-color: transparent;\n        cursor: $cursor-disabled;\n      }\n    }\n  }\n\n  // Open dropdowns\n  .open > a {\n    &,\n    &:hover,\n    &:focus {\n      background-color: $nav-link-hover-bg;\n      border-color: $link-color;\n    }\n  }\n\n  // Nav dividers (deprecated with v3.0.1)\n  //\n  // This should have been removed in v3 with the dropping of `.nav-list`, but\n  // we missed it. We don't currently support this anywhere, but in the interest\n  // of maintaining backward compatibility in case you use it, it's deprecated.\n  .nav-divider {\n    @include nav-divider;\n  }\n\n  // Prevent IE8 from misplacing imgs\n  //\n  // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989\n  > li > a > img {\n    max-width: none;\n  }\n}\n\n\n// Tabs\n// -------------------------\n\n// Give the tabs something to sit on\n.nav-tabs {\n  border-bottom: 1px solid $nav-tabs-border-color;\n  > li {\n    float: left;\n    // Make the list-items overlay the bottom border\n    margin-bottom: -1px;\n\n    // Actual tabs (as links)\n    > a {\n      margin-right: 2px;\n      line-height: $line-height-base;\n      border: 1px solid transparent;\n      border-radius: $border-radius-base $border-radius-base 0 0;\n      &:hover {\n        border-color: $nav-tabs-link-hover-border-color $nav-tabs-link-hover-border-color $nav-tabs-border-color;\n      }\n    }\n\n    // Active state, and its :hover to override normal :hover\n    &.active > a {\n      &,\n      &:hover,\n      &:focus {\n        color: $nav-tabs-active-link-hover-color;\n        background-color: $nav-tabs-active-link-hover-bg;\n        border: 1px solid $nav-tabs-active-link-hover-border-color;\n        border-bottom-color: transparent;\n        cursor: default;\n      }\n    }\n  }\n  // pulling this in mainly for less shorthand\n  &.nav-justified {\n    @extend .nav-justified;\n    @extend .nav-tabs-justified;\n  }\n}\n\n\n// Pills\n// -------------------------\n.nav-pills {\n  > li {\n    float: left;\n\n    // Links rendered as pills\n    > a {\n      border-radius: $nav-pills-border-radius;\n    }\n    + li {\n      margin-left: 2px;\n    }\n\n    // Active state\n    &.active > a {\n      &,\n      &:hover,\n      &:focus {\n        color: $nav-pills-active-link-hover-color;\n        background-color: $nav-pills-active-link-hover-bg;\n      }\n    }\n  }\n}\n\n\n// Stacked pills\n.nav-stacked {\n  > li {\n    float: none;\n    + li {\n      margin-top: 2px;\n      margin-left: 0; // no need for this gap between nav items\n    }\n  }\n}\n\n\n// Nav variations\n// --------------------------------------------------\n\n// Justified nav links\n// -------------------------\n\n.nav-justified {\n  width: 100%;\n\n  > li {\n    float: none;\n    > a {\n      text-align: center;\n      margin-bottom: 5px;\n    }\n  }\n\n  > .dropdown .dropdown-menu {\n    top: auto;\n    left: auto;\n  }\n\n  @media (min-width: $screen-sm-min) {\n    > li {\n      display: table-cell;\n      width: 1%;\n      > a {\n        margin-bottom: 0;\n      }\n    }\n  }\n}\n\n// Move borders to anchors instead of bottom of list\n//\n// Mixin for adding on top the shared `.nav-justified` styles for our tabs\n.nav-tabs-justified {\n  border-bottom: 0;\n\n  > li > a {\n    // Override margin from .nav-tabs\n    margin-right: 0;\n    border-radius: $border-radius-base;\n  }\n\n  > .active > a,\n  > .active > a:hover,\n  > .active > a:focus {\n    border: 1px solid $nav-tabs-justified-link-border-color;\n  }\n\n  @media (min-width: $screen-sm-min) {\n    > li > a {\n      border-bottom: 1px solid $nav-tabs-justified-link-border-color;\n      border-radius: $border-radius-base $border-radius-base 0 0;\n    }\n    > .active > a,\n    > .active > a:hover,\n    > .active > a:focus {\n      border-bottom-color: $nav-tabs-justified-active-link-border-color;\n    }\n  }\n}\n\n\n// Tabbable tabs\n// -------------------------\n\n// Hide tabbable panes to start, show them when `.active`\n.tab-content {\n  > .tab-pane {\n    display: none;\n  }\n  > .active {\n    display: block;\n  }\n}\n\n\n// Dropdowns\n// -------------------------\n\n// Specific dropdowns\n.nav-tabs .dropdown-menu {\n  // make dropdown border overlap tab border\n  margin-top: -1px;\n  // Remove the top rounded corners here since there is a hard edge above the menu\n  @include border-top-radius(0);\n}\n","//\n// Navbars\n// --------------------------------------------------\n\n\n// Wrapper and base class\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n  position: relative;\n  min-height: $navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)\n  margin-bottom: $navbar-margin-bottom;\n  border: 1px solid transparent;\n\n  // Prevent floats from breaking the navbar\n  @include clearfix;\n\n  @media (min-width: $grid-float-breakpoint) {\n    border-radius: $navbar-border-radius;\n  }\n}\n\n\n// Navbar heading\n//\n// Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy\n// styling of responsive aspects.\n\n.navbar-header {\n  @include clearfix;\n\n  @media (min-width: $grid-float-breakpoint) {\n    float: left;\n  }\n}\n\n\n// Navbar collapse (body)\n//\n// Group your navbar content into this for easy collapsing and expanding across\n// various device sizes. By default, this content is collapsed when <768px, but\n// will expand past that for a horizontal display.\n//\n// To start (on mobile devices) the navbar links, forms, and buttons are stacked\n// vertically and include a `max-height` to overflow in case you have too much\n// content for the user's viewport.\n\n.navbar-collapse {\n  overflow-x: visible;\n  padding-right: $navbar-padding-horizontal;\n  padding-left:  $navbar-padding-horizontal;\n  border-top: 1px solid transparent;\n  box-shadow: inset 0 1px 0 rgba(255,255,255,.1);\n  @include clearfix;\n  -webkit-overflow-scrolling: touch;\n\n  &.in {\n    overflow-y: auto;\n  }\n\n  @media (min-width: $grid-float-breakpoint) {\n    width: auto;\n    border-top: 0;\n    box-shadow: none;\n\n    &.collapse {\n      display: block !important;\n      height: auto !important;\n      padding-bottom: 0; // Override default setting\n      overflow: visible !important;\n    }\n\n    &.in {\n      overflow-y: visible;\n    }\n\n    // Undo the collapse side padding for navbars with containers to ensure\n    // alignment of right-aligned contents.\n    .navbar-fixed-top &,\n    .navbar-static-top &,\n    .navbar-fixed-bottom & {\n      padding-left: 0;\n      padding-right: 0;\n    }\n  }\n}\n\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  .navbar-collapse {\n    max-height: $navbar-collapse-max-height;\n\n    @media (max-device-width: $screen-xs-min) and (orientation: landscape) {\n      max-height: 200px;\n    }\n  }\n}\n\n\n// Both navbar header and collapse\n//\n// When a container is present, change the behavior of the header and collapse.\n\n.container,\n.container-fluid {\n  > .navbar-header,\n  > .navbar-collapse {\n    margin-right: -$navbar-padding-horizontal;\n    margin-left:  -$navbar-padding-horizontal;\n\n    @media (min-width: $grid-float-breakpoint) {\n      margin-right: 0;\n      margin-left:  0;\n    }\n  }\n}\n\n\n//\n// Navbar alignment options\n//\n// Display the navbar across the entirety of the page or fixed it to the top or\n// bottom of the page.\n\n// Static top (unfixed, but 100% wide) navbar\n.navbar-static-top {\n  z-index: $zindex-navbar;\n  border-width: 0 0 1px;\n\n  @media (min-width: $grid-float-breakpoint) {\n    border-radius: 0;\n  }\n}\n\n// Fix the top/bottom navbars when screen real estate supports it\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  position: fixed;\n  right: 0;\n  left: 0;\n  z-index: $zindex-navbar-fixed;\n\n  // Undo the rounded corners\n  @media (min-width: $grid-float-breakpoint) {\n    border-radius: 0;\n  }\n}\n.navbar-fixed-top {\n  top: 0;\n  border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n  bottom: 0;\n  margin-bottom: 0; // override .navbar defaults\n  border-width: 1px 0 0;\n}\n\n\n// Brand/project name\n\n.navbar-brand {\n  float: left;\n  padding: $navbar-padding-vertical $navbar-padding-horizontal;\n  font-size: $font-size-large;\n  line-height: $line-height-computed;\n  height: $navbar-height;\n\n  &:hover,\n  &:focus {\n    text-decoration: none;\n  }\n\n  > img {\n    display: block;\n  }\n\n  @media (min-width: $grid-float-breakpoint) {\n    .navbar > .container &,\n    .navbar > .container-fluid & {\n      margin-left: -$navbar-padding-horizontal;\n    }\n  }\n}\n\n\n// Navbar toggle\n//\n// Custom button for toggling the `.navbar-collapse`, powered by the collapse\n// JavaScript plugin.\n\n.navbar-toggle {\n  position: relative;\n  float: right;\n  margin-right: $navbar-padding-horizontal;\n  padding: 9px 10px;\n  @include navbar-vertical-align(34px);\n  background-color: transparent;\n  background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n  border: 1px solid transparent;\n  border-radius: $border-radius-base;\n\n  // We remove the `outline` here, but later compensate by attaching `:hover`\n  // styles to `:focus`.\n  &:focus {\n    outline: 0;\n  }\n\n  // Bars\n  .icon-bar {\n    display: block;\n    width: 22px;\n    height: 2px;\n    border-radius: 1px;\n  }\n  .icon-bar + .icon-bar {\n    margin-top: 4px;\n  }\n\n  @media (min-width: $grid-float-breakpoint) {\n    display: none;\n  }\n}\n\n\n// Navbar nav links\n//\n// Builds on top of the `.nav` components with its own modifier class to make\n// the nav the full height of the horizontal nav (above 768px).\n\n.navbar-nav {\n  margin: ($navbar-padding-vertical / 2) (-$navbar-padding-horizontal);\n\n  > li > a {\n    padding-top:    10px;\n    padding-bottom: 10px;\n    line-height: $line-height-computed;\n  }\n\n  @media (max-width: $grid-float-breakpoint-max) {\n    // Dropdowns get custom display when collapsed\n    .open .dropdown-menu {\n      position: static;\n      float: none;\n      width: auto;\n      margin-top: 0;\n      background-color: transparent;\n      border: 0;\n      box-shadow: none;\n      > li > a,\n      .dropdown-header {\n        padding: 5px 15px 5px 25px;\n      }\n      > li > a {\n        line-height: $line-height-computed;\n        &:hover,\n        &:focus {\n          background-image: none;\n        }\n      }\n    }\n  }\n\n  // Uncollapse the nav\n  @media (min-width: $grid-float-breakpoint) {\n    float: left;\n    margin: 0;\n\n    > li {\n      float: left;\n      > a {\n        padding-top:    $navbar-padding-vertical;\n        padding-bottom: $navbar-padding-vertical;\n      }\n    }\n  }\n}\n\n\n// Navbar form\n//\n// Extension of the `.form-inline` with some extra flavor for optimum display in\n// our navbars.\n\n.navbar-form {\n  margin-left: -$navbar-padding-horizontal;\n  margin-right: -$navbar-padding-horizontal;\n  padding: 10px $navbar-padding-horizontal;\n  border-top: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  $shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);\n  @include box-shadow($shadow);\n\n  // Mixin behavior for optimum display\n  @include form-inline;\n\n  .form-group {\n    @media (max-width: $grid-float-breakpoint-max) {\n      margin-bottom: 5px;\n\n      &:last-child {\n        margin-bottom: 0;\n      }\n    }\n  }\n\n  // Vertically center in expanded, horizontal navbar\n  @include navbar-vertical-align($input-height-base);\n\n  // Undo 100% width for pull classes\n  @media (min-width: $grid-float-breakpoint) {\n    width: auto;\n    border: 0;\n    margin-left: 0;\n    margin-right: 0;\n    padding-top: 0;\n    padding-bottom: 0;\n    @include box-shadow(none);\n  }\n}\n\n\n// Dropdown menus\n\n// Menu position and menu carets\n.navbar-nav > li > .dropdown-menu {\n  margin-top: 0;\n  @include border-top-radius(0);\n}\n// Menu position and menu caret support for dropups via extra dropup class\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n  margin-bottom: 0;\n  @include border-top-radius($navbar-border-radius);\n  @include border-bottom-radius(0);\n}\n\n\n// Buttons in navbars\n//\n// Vertically center a button within a navbar (when *not* in a form).\n\n.navbar-btn {\n  @include navbar-vertical-align($input-height-base);\n\n  &.btn-sm {\n    @include navbar-vertical-align($input-height-small);\n  }\n  &.btn-xs {\n    @include navbar-vertical-align(22);\n  }\n}\n\n\n// Text in navbars\n//\n// Add a class to make any element properly align itself vertically within the navbars.\n\n.navbar-text {\n  @include navbar-vertical-align($line-height-computed);\n\n  @media (min-width: $grid-float-breakpoint) {\n    float: left;\n    margin-left: $navbar-padding-horizontal;\n    margin-right: $navbar-padding-horizontal;\n  }\n}\n\n\n// Component alignment\n//\n// Repurpose the pull utilities as their own navbar utilities to avoid specificity\n// issues with parents and chaining. Only do this when the navbar is uncollapsed\n// though so that navbar contents properly stack and align in mobile.\n//\n// Declared after the navbar components to ensure more specificity on the margins.\n\n@media (min-width: $grid-float-breakpoint) {\n  .navbar-left {\n    float: left !important;\n  }\n  .navbar-right {\n    float: right !important;\n  margin-right: -$navbar-padding-horizontal;\n\n    ~ .navbar-right {\n      margin-right: 0;\n    }\n  }\n}\n\n\n// Alternate navbars\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n  background-color: $navbar-default-bg;\n  border-color: $navbar-default-border;\n\n  .navbar-brand {\n    color: $navbar-default-brand-color;\n    &:hover,\n    &:focus {\n      color: $navbar-default-brand-hover-color;\n      background-color: $navbar-default-brand-hover-bg;\n    }\n  }\n\n  .navbar-text {\n    color: $navbar-default-color;\n  }\n\n  .navbar-nav {\n    > li > a {\n      color: $navbar-default-link-color;\n\n      &:hover,\n      &:focus {\n        color: $navbar-default-link-hover-color;\n        background-color: $navbar-default-link-hover-bg;\n      }\n    }\n    > .active > a {\n      &,\n      &:hover,\n      &:focus {\n        color: $navbar-default-link-active-color;\n        background-color: $navbar-default-link-active-bg;\n      }\n    }\n    > .disabled > a {\n      &,\n      &:hover,\n      &:focus {\n        color: $navbar-default-link-disabled-color;\n        background-color: $navbar-default-link-disabled-bg;\n      }\n    }\n  }\n\n  .navbar-toggle {\n    border-color: $navbar-default-toggle-border-color;\n    &:hover,\n    &:focus {\n      background-color: $navbar-default-toggle-hover-bg;\n    }\n    .icon-bar {\n      background-color: $navbar-default-toggle-icon-bar-bg;\n    }\n  }\n\n  .navbar-collapse,\n  .navbar-form {\n    border-color: $navbar-default-border;\n  }\n\n  // Dropdown menu items\n  .navbar-nav {\n    // Remove background color from open dropdown\n    > .open > a {\n      &,\n      &:hover,\n      &:focus {\n        background-color: $navbar-default-link-active-bg;\n        color: $navbar-default-link-active-color;\n      }\n    }\n\n    @media (max-width: $grid-float-breakpoint-max) {\n      // Dropdowns get custom display when collapsed\n      .open .dropdown-menu {\n        > li > a {\n          color: $navbar-default-link-color;\n          &:hover,\n          &:focus {\n            color: $navbar-default-link-hover-color;\n            background-color: $navbar-default-link-hover-bg;\n          }\n        }\n        > .active > a {\n          &,\n          &:hover,\n          &:focus {\n            color: $navbar-default-link-active-color;\n            background-color: $navbar-default-link-active-bg;\n          }\n        }\n        > .disabled > a {\n          &,\n          &:hover,\n          &:focus {\n            color: $navbar-default-link-disabled-color;\n            background-color: $navbar-default-link-disabled-bg;\n          }\n        }\n      }\n    }\n  }\n\n\n  // Links in navbars\n  //\n  // Add a class to ensure links outside the navbar nav are colored correctly.\n\n  .navbar-link {\n    color: $navbar-default-link-color;\n    &:hover {\n      color: $navbar-default-link-hover-color;\n    }\n  }\n\n  .btn-link {\n    color: $navbar-default-link-color;\n    &:hover,\n    &:focus {\n      color: $navbar-default-link-hover-color;\n    }\n    &[disabled],\n    fieldset[disabled] & {\n      &:hover,\n      &:focus {\n        color: $navbar-default-link-disabled-color;\n      }\n    }\n  }\n}\n\n// Inverse navbar\n\n.navbar-inverse {\n  background-color: $navbar-inverse-bg;\n  border-color: $navbar-inverse-border;\n\n  .navbar-brand {\n    color: $navbar-inverse-brand-color;\n    &:hover,\n    &:focus {\n      color: $navbar-inverse-brand-hover-color;\n      background-color: $navbar-inverse-brand-hover-bg;\n    }\n  }\n\n  .navbar-text {\n    color: $navbar-inverse-color;\n  }\n\n  .navbar-nav {\n    > li > a {\n      color: $navbar-inverse-link-color;\n\n      &:hover,\n      &:focus {\n        color: $navbar-inverse-link-hover-color;\n        background-color: $navbar-inverse-link-hover-bg;\n      }\n    }\n    > .active > a {\n      &,\n      &:hover,\n      &:focus {\n        color: $navbar-inverse-link-active-color;\n        background-color: $navbar-inverse-link-active-bg;\n      }\n    }\n    > .disabled > a {\n      &,\n      &:hover,\n      &:focus {\n        color: $navbar-inverse-link-disabled-color;\n        background-color: $navbar-inverse-link-disabled-bg;\n      }\n    }\n  }\n\n  // Darken the responsive nav toggle\n  .navbar-toggle {\n    border-color: $navbar-inverse-toggle-border-color;\n    &:hover,\n    &:focus {\n      background-color: $navbar-inverse-toggle-hover-bg;\n    }\n    .icon-bar {\n      background-color: $navbar-inverse-toggle-icon-bar-bg;\n    }\n  }\n\n  .navbar-collapse,\n  .navbar-form {\n    border-color: darken($navbar-inverse-bg, 7%);\n  }\n\n  // Dropdowns\n  .navbar-nav {\n    > .open > a {\n      &,\n      &:hover,\n      &:focus {\n        background-color: $navbar-inverse-link-active-bg;\n        color: $navbar-inverse-link-active-color;\n      }\n    }\n\n    @media (max-width: $grid-float-breakpoint-max) {\n      // Dropdowns get custom display\n      .open .dropdown-menu {\n        > .dropdown-header {\n          border-color: $navbar-inverse-border;\n        }\n        .divider {\n          background-color: $navbar-inverse-border;\n        }\n        > li > a {\n          color: $navbar-inverse-link-color;\n          &:hover,\n          &:focus {\n            color: $navbar-inverse-link-hover-color;\n            background-color: $navbar-inverse-link-hover-bg;\n          }\n        }\n        > .active > a {\n          &,\n          &:hover,\n          &:focus {\n            color: $navbar-inverse-link-active-color;\n            background-color: $navbar-inverse-link-active-bg;\n          }\n        }\n        > .disabled > a {\n          &,\n          &:hover,\n          &:focus {\n            color: $navbar-inverse-link-disabled-color;\n            background-color: $navbar-inverse-link-disabled-bg;\n          }\n        }\n      }\n    }\n  }\n\n  .navbar-link {\n    color: $navbar-inverse-link-color;\n    &:hover {\n      color: $navbar-inverse-link-hover-color;\n    }\n  }\n\n  .btn-link {\n    color: $navbar-inverse-link-color;\n    &:hover,\n    &:focus {\n      color: $navbar-inverse-link-hover-color;\n    }\n    &[disabled],\n    fieldset[disabled] & {\n      &:hover,\n      &:focus {\n        color: $navbar-inverse-link-disabled-color;\n      }\n    }\n  }\n}\n","// Navbar vertical align\n//\n// Vertically center elements in the navbar.\n// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.\n\n@mixin navbar-vertical-align($element-height) {\n  margin-top: (($navbar-height - $element-height) / 2);\n  margin-bottom: (($navbar-height - $element-height) / 2);\n}\n","//\n// Breadcrumbs\n// --------------------------------------------------\n\n\n.breadcrumb {\n  padding: $breadcrumb-padding-vertical $breadcrumb-padding-horizontal;\n  margin-bottom: $line-height-computed;\n  list-style: none;\n  background-color: $breadcrumb-bg;\n  border-radius: $border-radius-base;\n\n  > li {\n    display: inline-block;\n\n    + li:before {\n      // [converter] Workaround for https://github.com/sass/libsass/issues/1115\n      $nbsp: \"\\00a0\";\n      content: \"#{$breadcrumb-separator}#{$nbsp}\"; // Unicode space added since inline-block means non-collapsing white-space\n      padding: 0 5px;\n      color: $breadcrumb-color;\n    }\n  }\n\n  > .active {\n    color: $breadcrumb-active-color;\n  }\n}\n","//\n// Pagination (multiple pages)\n// --------------------------------------------------\n.pagination {\n  display: inline-block;\n  padding-left: 0;\n  margin: $line-height-computed 0;\n  border-radius: $border-radius-base;\n\n  > li {\n    display: inline; // Remove list-style and block-level defaults\n    > a,\n    > span {\n      position: relative;\n      float: left; // Collapse white-space\n      padding: $padding-base-vertical $padding-base-horizontal;\n      line-height: $line-height-base;\n      text-decoration: none;\n      color: $pagination-color;\n      background-color: $pagination-bg;\n      border: 1px solid $pagination-border;\n      margin-left: -1px;\n    }\n    &:first-child {\n      > a,\n      > span {\n        margin-left: 0;\n        @include border-left-radius($border-radius-base);\n      }\n    }\n    &:last-child {\n      > a,\n      > span {\n        @include border-right-radius($border-radius-base);\n      }\n    }\n  }\n\n  > li > a,\n  > li > span {\n    &:hover,\n    &:focus {\n      z-index: 2;\n      color: $pagination-hover-color;\n      background-color: $pagination-hover-bg;\n      border-color: $pagination-hover-border;\n    }\n  }\n\n  > .active > a,\n  > .active > span {\n    &,\n    &:hover,\n    &:focus {\n      z-index: 3;\n      color: $pagination-active-color;\n      background-color: $pagination-active-bg;\n      border-color: $pagination-active-border;\n      cursor: default;\n    }\n  }\n\n  > .disabled {\n    > span,\n    > span:hover,\n    > span:focus,\n    > a,\n    > a:hover,\n    > a:focus {\n      color: $pagination-disabled-color;\n      background-color: $pagination-disabled-bg;\n      border-color: $pagination-disabled-border;\n      cursor: $cursor-disabled;\n    }\n  }\n}\n\n// Sizing\n// --------------------------------------------------\n\n// Large\n.pagination-lg {\n  @include pagination-size($padding-large-vertical, $padding-large-horizontal, $font-size-large, $line-height-large, $border-radius-large);\n}\n\n// Small\n.pagination-sm {\n  @include pagination-size($padding-small-vertical, $padding-small-horizontal, $font-size-small, $line-height-small, $border-radius-small);\n}\n","// Pagination\n\n@mixin pagination-size($padding-vertical, $padding-horizontal, $font-size, $line-height, $border-radius) {\n  > li {\n    > a,\n    > span {\n      padding: $padding-vertical $padding-horizontal;\n      font-size: $font-size;\n      line-height: $line-height;\n    }\n    &:first-child {\n      > a,\n      > span {\n        @include border-left-radius($border-radius);\n      }\n    }\n    &:last-child {\n      > a,\n      > span {\n        @include border-right-radius($border-radius);\n      }\n    }\n  }\n}\n","//\n// Pager pagination\n// --------------------------------------------------\n\n\n.pager {\n  padding-left: 0;\n  margin: $line-height-computed 0;\n  list-style: none;\n  text-align: center;\n  @include clearfix;\n  li {\n    display: inline;\n    > a,\n    > span {\n      display: inline-block;\n      padding: 5px 14px;\n      background-color: $pager-bg;\n      border: 1px solid $pager-border;\n      border-radius: $pager-border-radius;\n    }\n\n    > a:hover,\n    > a:focus {\n      text-decoration: none;\n      background-color: $pager-hover-bg;\n    }\n  }\n\n  .next {\n    > a,\n    > span {\n      float: right;\n    }\n  }\n\n  .previous {\n    > a,\n    > span {\n      float: left;\n    }\n  }\n\n  .disabled {\n    > a,\n    > a:hover,\n    > a:focus,\n    > span {\n      color: $pager-disabled-color;\n      background-color: $pager-bg;\n      cursor: $cursor-disabled;\n    }\n  }\n}\n","//\n// Labels\n// --------------------------------------------------\n\n.label {\n  display: inline;\n  padding: .2em .6em .3em;\n  font-size: 75%;\n  font-weight: bold;\n  line-height: 1;\n  color: $label-color;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  border-radius: .25em;\n\n  // [converter] extracted a& to a.label\n\n  // Empty labels collapse automatically (not available in IE8)\n  &:empty {\n    display: none;\n  }\n\n  // Quick fix for labels in buttons\n  .btn & {\n    position: relative;\n    top: -1px;\n  }\n}\n\n// Add hover effects, but only for links\na.label {\n  &:hover,\n  &:focus {\n    color: $label-link-hover-color;\n    text-decoration: none;\n    cursor: pointer;\n  }\n}\n\n// Colors\n// Contextual variations (linked labels get darker on :hover)\n\n.label-default {\n  @include label-variant($label-default-bg);\n}\n\n.label-primary {\n  @include label-variant($label-primary-bg);\n}\n\n.label-success {\n  @include label-variant($label-success-bg);\n}\n\n.label-info {\n  @include label-variant($label-info-bg);\n}\n\n.label-warning {\n  @include label-variant($label-warning-bg);\n}\n\n.label-danger {\n  @include label-variant($label-danger-bg);\n}\n","// Labels\n\n@mixin label-variant($color) {\n  background-color: $color;\n\n  &[href] {\n    &:hover,\n    &:focus {\n      background-color: darken($color, 10%);\n    }\n  }\n}\n","//\n// Badges\n// --------------------------------------------------\n\n\n// Base class\n.badge {\n  display: inline-block;\n  min-width: 10px;\n  padding: 3px 7px;\n  font-size: $font-size-small;\n  font-weight: $badge-font-weight;\n  color: $badge-color;\n  line-height: $badge-line-height;\n  vertical-align: middle;\n  white-space: nowrap;\n  text-align: center;\n  background-color: $badge-bg;\n  border-radius: $badge-border-radius;\n\n  // Empty badges collapse automatically (not available in IE8)\n  &:empty {\n    display: none;\n  }\n\n  // Quick fix for badges in buttons\n  .btn & {\n    position: relative;\n    top: -1px;\n  }\n\n  .btn-xs &,\n  .btn-group-xs > .btn & {\n    top: 0;\n    padding: 1px 5px;\n  }\n\n  // [converter] extracted a& to a.badge\n\n  // Account for badges in navs\n  .list-group-item.active > &,\n  .nav-pills > .active > a > & {\n    color: $badge-active-color;\n    background-color: $badge-active-bg;\n  }\n\n  .list-group-item > & {\n    float: right;\n  }\n\n  .list-group-item > & + & {\n    margin-right: 5px;\n  }\n\n  .nav-pills > li > a > & {\n    margin-left: 3px;\n  }\n}\n\n// Hover state, but only for links\na.badge {\n  &:hover,\n  &:focus {\n    color: $badge-link-hover-color;\n    text-decoration: none;\n    cursor: pointer;\n  }\n}\n","//\n// Jumbotron\n// --------------------------------------------------\n\n\n.jumbotron {\n  padding-top:    $jumbotron-padding;\n  padding-bottom: $jumbotron-padding;\n  margin-bottom: $jumbotron-padding;\n  color: $jumbotron-color;\n  background-color: $jumbotron-bg;\n\n  h1,\n  .h1 {\n    color: $jumbotron-heading-color;\n  }\n\n  p {\n    margin-bottom: ($jumbotron-padding / 2);\n    font-size: $jumbotron-font-size;\n    font-weight: 200;\n  }\n\n  > hr {\n    border-top-color: darken($jumbotron-bg, 10%);\n  }\n\n  .container &,\n  .container-fluid & {\n    border-radius: $border-radius-large; // Only round corners at higher resolutions if contained in a container\n    padding-left:  ($grid-gutter-width / 2);\n    padding-right: ($grid-gutter-width / 2);\n  }\n\n  .container {\n    max-width: 100%;\n  }\n\n  @media screen and (min-width: $screen-sm-min) {\n    padding-top:    ($jumbotron-padding * 1.6);\n    padding-bottom: ($jumbotron-padding * 1.6);\n\n    .container &,\n    .container-fluid & {\n      padding-left:  ($jumbotron-padding * 2);\n      padding-right: ($jumbotron-padding * 2);\n    }\n\n    h1,\n    .h1 {\n      font-size: $jumbotron-heading-font-size;\n    }\n  }\n}\n","//\n// Thumbnails\n// --------------------------------------------------\n\n\n// Mixin and adjust the regular image class\n.thumbnail {\n  display: block;\n  padding: $thumbnail-padding;\n  margin-bottom: $line-height-computed;\n  line-height: $line-height-base;\n  background-color: $thumbnail-bg;\n  border: 1px solid $thumbnail-border;\n  border-radius: $thumbnail-border-radius;\n  @include transition(border .2s ease-in-out);\n\n  > img,\n  a > img {\n    @include img-responsive;\n    margin-left: auto;\n    margin-right: auto;\n  }\n\n  // [converter] extracted a&:hover, a&:focus, a&.active to a.thumbnail:hover, a.thumbnail:focus, a.thumbnail.active\n\n  // Image captions\n  .caption {\n    padding: $thumbnail-caption-padding;\n    color: $thumbnail-caption-color;\n  }\n}\n\n// Add a hover state for linked versions only\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n  border-color: $link-color;\n}\n","//\n// Alerts\n// --------------------------------------------------\n\n\n// Base styles\n// -------------------------\n\n.alert {\n  padding: $alert-padding;\n  margin-bottom: $line-height-computed;\n  border: 1px solid transparent;\n  border-radius: $alert-border-radius;\n\n  // Headings for larger alerts\n  h4 {\n    margin-top: 0;\n    // Specified for the h4 to prevent conflicts of changing $headings-color\n    color: inherit;\n  }\n\n  // Provide class for links that match alerts\n  .alert-link {\n    font-weight: $alert-link-font-weight;\n  }\n\n  // Improve alignment and spacing of inner content\n  > p,\n  > ul {\n    margin-bottom: 0;\n  }\n\n  > p + p {\n    margin-top: 5px;\n  }\n}\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissable, // The misspelled .alert-dismissable was deprecated in 3.2.0.\n.alert-dismissible {\n  padding-right: ($alert-padding + 20);\n\n  // Adjust close link position\n  .close {\n    position: relative;\n    top: -2px;\n    right: -21px;\n    color: inherit;\n  }\n}\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n.alert-success {\n  @include alert-variant($alert-success-bg, $alert-success-border, $alert-success-text);\n}\n\n.alert-info {\n  @include alert-variant($alert-info-bg, $alert-info-border, $alert-info-text);\n}\n\n.alert-warning {\n  @include alert-variant($alert-warning-bg, $alert-warning-border, $alert-warning-text);\n}\n\n.alert-danger {\n  @include alert-variant($alert-danger-bg, $alert-danger-border, $alert-danger-text);\n}\n","// Alerts\n\n@mixin alert-variant($background, $border, $text-color) {\n  background-color: $background;\n  border-color: $border;\n  color: $text-color;\n\n  hr {\n    border-top-color: darken($border, 5%);\n  }\n  .alert-link {\n    color: darken($text-color, 10%);\n  }\n}\n",".media {\n  // Proper spacing between instances of .media\n  margin-top: 15px;\n\n  &:first-child {\n    margin-top: 0;\n  }\n}\n\n.media,\n.media-body {\n  zoom: 1;\n  overflow: hidden;\n}\n\n.media-body {\n  width: 10000px;\n}\n\n.media-object {\n  display: block;\n\n  // Fix collapse in webkit from max-width: 100% and display: table-cell.\n  &.img-thumbnail {\n    max-width: none;\n  }\n}\n\n.media-right,\n.media > .pull-right {\n  padding-left: 10px;\n}\n\n.media-left,\n.media > .pull-left {\n  padding-right: 10px;\n}\n\n.media-left,\n.media-right,\n.media-body {\n  display: table-cell;\n  vertical-align: top;\n}\n\n.media-middle {\n  vertical-align: middle;\n}\n\n.media-bottom {\n  vertical-align: bottom;\n}\n\n// Reset margins on headings for tighter default spacing\n.media-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n\n// Media list variation\n//\n// Undo default ul/ol styles\n.media-list {\n  padding-left: 0;\n  list-style: none;\n}\n","//\n// List groups\n// --------------------------------------------------\n\n\n// Base class\n//\n// Easily usable on