diff --git a/README.md b/README.md index a3018d2d..b7eddbb5 100644 --- a/README.md +++ b/README.md @@ -23,10 +23,10 @@ FastAdmin是一款基于ThinkPHP5+Bootstrap的极速后台开发框架。 * 共用同一账号体系的Web端会员中心权限验证和API接口会员权限验证 * 二级域名部署支持,同时域名支持绑定到插件 * 多语言支持,服务端及客户端支持 -* 强大的第三方模块支持([CMS](https://www.fastadmin.net/store/cms.html)、[博客](https://www.fastadmin.net/store/blog.html)、[文档生成](https://www.fastadmin.net/store/docs.html)) +* 强大的第三方模块支持([CMS](https://www.fastadmin.net/store/cms.html)、[博客](https://www.fastadmin.net/store/blog.html)、[知识付费问答](https://www.fastadmin.net/store/ask.html)) * 整合第三方短信接口(阿里云、腾讯云短信) * 无缝整合第三方云存储(七牛、阿里云OSS、又拍云)功能 -* 第三方富文本编辑器支持(Summernote、Tinymce、百度编辑器) +* 第三方富文本编辑器支持(Summernote、Kindeditor、百度编辑器) * 第三方登录(QQ、微信、微博)整合 * Ucenter整合第三方应用 @@ -86,6 +86,6 @@ FastAdmin遵循Apache2开源协议发布,并提供免费使用。 本项目包含的第三方源码和二进制文件之版权信息另行标注。 -版权所有Copyright © 2017-2018 by FastAdmin (https://www.fastadmin.net) +版权所有Copyright © 2017-2019 by FastAdmin (https://www.fastadmin.net) All rights reserved。 \ No newline at end of file diff --git a/application/admin/lang/zh-cn/addon.php b/application/admin/lang/zh-cn/addon.php index bb05cf98..c5088a49 100755 --- a/application/admin/lang/zh-cn/addon.php +++ b/application/admin/lang/zh-cn/addon.php @@ -29,6 +29,9 @@ return [ 'Not installed tips' => '请安装后再访问插件前台页面!', 'Not enabled tips' => '插件已经禁用,请启用后再访问插件前台页面!', 'New version tips' => '发现新版本:%s 点击查看更新日志', + 'Store now available tips' => 'FastAdmin插件市场暂不可用,是否切换到本地插件?', + 'Switch to the local' => '切换到本地插件', + 'try to reload' => '重新尝试加载', 'Please disable addon first' => '请先禁用插件再进行升级', 'Login now' => '立即登录', 'Continue install' => '不登录,继续安装', diff --git a/application/admin/library/Auth.php b/application/admin/library/Auth.php index fe4c905e..8c569360 100644 --- a/application/admin/library/Auth.php +++ b/application/admin/library/Auth.php @@ -12,7 +12,6 @@ use think\Session; class Auth extends \fast\Auth { - protected $_error = ''; protected $requestUri = ''; protected $breadcrumb = []; @@ -33,7 +32,7 @@ class Auth extends \fast\Auth * * @param string $username 用户名 * @param string $password 密码 - * @param int $keeptime 有效时长 + * @param int $keeptime 有效时长 * @return boolean */ public function login($username, $password, $keeptime = 0) @@ -146,17 +145,17 @@ class Auth extends \fast\Auth $request = Request::instance(); $arr = is_array($arr) ? $arr : explode(',', $arr); if (!$arr) { - return FALSE; + return false; } $arr = array_map('strtolower', $arr); // 是否存在 if (in_array(strtolower($request->action()), $arr) || in_array('*', $arr)) { - return TRUE; + return true; } // 没找到匹配 - return FALSE; + return false; } /** @@ -229,7 +228,7 @@ class Auth extends \fast\Auth public function isSuperAdmin() { - return in_array('*', $this->getRuleIds()) ? TRUE : FALSE; + return in_array('*', $this->getRuleIds()) ? true : false; } /** @@ -322,8 +321,9 @@ class Auth extends \fast\Auth */ public function getBreadCrumb($path = '') { - if ($this->breadcrumb || !$path) + if ($this->breadcrumb || !$path) { return $this->breadcrumb; + } $path_rule_id = 0; foreach ($this->rules as $rule) { $path_rule_id = $rule['name'] == $path ? $rule['id'] : $path_rule_id; @@ -341,7 +341,7 @@ class Auth extends \fast\Auth /** * 获取左侧和顶部菜单栏 * - * @param array $params URL对应的badge数据 + * @param array $params URL对应的badge数据 * @param string $fixedPage 默认页 * @return array */ @@ -455,5 +455,4 @@ class Auth extends \fast\Auth { return $this->_error ? __($this->_error) : ''; } - } diff --git a/application/admin/library/traits/Backend.php b/application/admin/library/traits/Backend.php index d231811c..c543c689 100755 --- a/application/admin/library/traits/Backend.php +++ b/application/admin/library/traits/Backend.php @@ -7,7 +7,10 @@ use PhpOffice\PhpSpreadsheet\Cell\Coordinate; use PhpOffice\PhpSpreadsheet\Reader\Xlsx; use PhpOffice\PhpSpreadsheet\Reader\Xls; use PhpOffice\PhpSpreadsheet\Reader\Csv; +use think\Db; use think\Exception; +use think\exception\PDOException; +use think\exception\ValidateException; trait Backend { @@ -108,6 +111,8 @@ trait Backend if ($this->dataLimit && $this->dataLimitFieldAutoFill) { $params[$this->dataLimitField] = $this->auth->id; } + $result = false; + Db::startTrans(); try { //是否采用模型验证 if ($this->modelValidate) { @@ -116,15 +121,21 @@ trait Backend $this->model->validate($validate); } $result = $this->model->allowField(true)->save($params); - if ($result !== false) { - $this->success(); - } else { - $this->error($this->model->getError()); - } - } catch (\think\exception\PDOException $e) { + Db::commit(); + } catch (ValidateException $e) { + Db::rollback(); $this->error($e->getMessage()); - } catch (\think\Exception $e) { + } catch (PDOException $e) { + Db::rollback(); $this->error($e->getMessage()); + } catch (Exception $e) { + Db::rollback(); + $this->error($e->getMessage()); + } + if ($result) { + $this->success(); + } else { + $this->error(); } } $this->error(__('Parameter %s can not be empty', '')); @@ -151,7 +162,8 @@ trait Backend $params = $this->request->post("row/a"); if ($params) { $params = $this->preExcludeFields($params); - + $result = false; + Db::startTrans(); try { //是否采用模型验证 if ($this->modelValidate) { @@ -160,15 +172,21 @@ trait Backend $row->validate($validate); } $result = $row->allowField(true)->save($params); - if ($result !== false) { - $this->success(); - } else { - $this->error($row->getError()); - } - } catch (\think\exception\PDOException $e) { + Db::commit(); + } catch (ValidateException $e) { + Db::rollback(); $this->error($e->getMessage()); - } catch (\think\Exception $e) { + } catch (PDOException $e) { + Db::rollback(); $this->error($e->getMessage()); + } catch (Exception $e) { + Db::rollback(); + $this->error($e->getMessage()); + } + if ($result) { + $this->success(); + } else { + $this->error(); } } $this->error(__('Parameter %s can not be empty', '')); @@ -186,12 +204,23 @@ trait Backend $pk = $this->model->getPk(); $adminIds = $this->getDataLimitAdminIds(); if (is_array($adminIds)) { - $count = $this->model->where($this->dataLimitField, 'in', $adminIds); + $this->model->where($this->dataLimitField, 'in', $adminIds); } $list = $this->model->where($pk, 'in', $ids)->select(); + $count = 0; - foreach ($list as $k => $v) { - $count += $v->delete(); + Db::startTrans(); + try { + foreach ($list as $k => $v) { + $count += $v->delete(); + } + Db::commit(); + } catch (PDOException $e) { + Db::rollback(); + $this->error($e->getMessage()); + } catch (Exception $e) { + Db::rollback(); + $this->error($e->getMessage()); } if ($count) { $this->success(); @@ -210,15 +239,25 @@ trait Backend $pk = $this->model->getPk(); $adminIds = $this->getDataLimitAdminIds(); if (is_array($adminIds)) { - $count = $this->model->where($this->dataLimitField, 'in', $adminIds); + $this->model->where($this->dataLimitField, 'in', $adminIds); } if ($ids) { $this->model->where($pk, 'in', $ids); } $count = 0; - $list = $this->model->onlyTrashed()->select(); - foreach ($list as $k => $v) { - $count += $v->delete(true); + Db::startTrans(); + try { + $list = $this->model->onlyTrashed()->select(); + foreach ($list as $k => $v) { + $count += $v->delete(true); + } + Db::commit(); + } catch (PDOException $e) { + Db::rollback(); + $this->error($e->getMessage()); + } catch (Exception $e) { + Db::rollback(); + $this->error($e->getMessage()); } if ($count) { $this->success(); @@ -242,9 +281,19 @@ trait Backend $this->model->where($pk, 'in', $ids); } $count = 0; - $list = $this->model->onlyTrashed()->select(); - foreach ($list as $index => $item) { - $count += $item->restore(); + Db::startTrans(); + try { + $list = $this->model->onlyTrashed()->select(); + foreach ($list as $index => $item) { + $count += $item->restore(); + } + Db::commit(); + } catch (PDOException $e) { + Db::rollback(); + $this->error($e->getMessage()); + } catch (Exception $e) { + Db::rollback(); + $this->error($e->getMessage()); } if ($count) { $this->success(); @@ -268,9 +317,19 @@ trait Backend $this->model->where($this->dataLimitField, 'in', $adminIds); } $count = 0; - $list = $this->model->where($this->model->getPk(), 'in', $ids)->select(); - foreach ($list as $index => $item) { - $count += $item->allowField(true)->isUpdate(true)->save($values); + Db::startTrans(); + try { + $list = $this->model->where($this->model->getPk(), 'in', $ids)->select(); + foreach ($list as $index => $item) { + $count += $item->allowField(true)->isUpdate(true)->save($values); + } + Db::commit(); + } catch (PDOException $e) { + Db::rollback(); + $this->error($e->getMessage()); + } catch (Exception $e) { + Db::rollback(); + $this->error($e->getMessage()); } if ($count) { $this->success(); @@ -405,7 +464,7 @@ trait Backend } } $this->model->saveAll($insert); - } catch (\think\exception\PDOException $exception) { + } catch (PDOException $exception) { $msg = $exception->getMessage(); if (preg_match("/.+Integrity constraint violation: 1062 Duplicate entry '(.+)' for key '(.+)'/is", $msg, $matches)) { $msg = "导入失败,包含【{$matches[1]}】的记录已存在"; diff --git a/application/api/controller/Common.php b/application/api/controller/Common.php index 615e8376..d8624cfb 100644 --- a/application/api/controller/Common.php +++ b/application/api/controller/Common.php @@ -13,21 +13,15 @@ use think\Config; */ class Common extends Api { - protected $noNeedLogin = ['init']; protected $noNeedRight = '*'; - public function _initialize() - { - parent::_initialize(); - } - /** * 加载初始化 * * @param string $version 版本号 - * @param string $lng 经度 - * @param string $lat 纬度 + * @param string $lng 经度 + * @param string $lat 纬度 */ public function init() { @@ -137,5 +131,4 @@ class Common extends Api $this->error($file->getError()); } } - } diff --git a/application/api/controller/Ems.php b/application/api/controller/Ems.php index b9c772ba..0046cdbc 100644 --- a/application/api/controller/Ems.php +++ b/application/api/controller/Ems.php @@ -1,123 +1,102 @@ -to($params->email) - ->subject('验证码') - ->message("你的验证码是:" . $params->code) - ->send(); - return $result; - }); - } - - /** - * 发送验证码 - * - * @param string $email 邮箱 - * @param string $event 事件名称 - */ - public function send() - { - $email = $this->request->request("email"); - $event = $this->request->request("event"); - $event = $event ? $event : 'register'; - - $last = Emslib::get($email, $event); - if ($last && time() - $last['createtime'] < 60) - { - $this->error(__('发送频繁')); - } - if ($event) - { - $userinfo = User::getByEmail($email); - if ($event == 'register' && $userinfo) - { - //已被注册 - $this->error(__('已被注册')); - } - else if (in_array($event, ['changeemail']) && $userinfo) - { - //被占用 - $this->error(__('已被占用')); - } - else if (in_array($event, ['changepwd', 'resetpwd']) && !$userinfo) - { - //未注册 - $this->error(__('未注册')); - } - } - $ret = Emslib::send($email, NULL, $event); - if ($ret) - { - $this->success(__('发送成功')); - } - else - { - $this->error(__('发送失败')); - } - } - - /** - * 检测验证码 - * - * @param string $email 邮箱 - * @param string $event 事件名称 - * @param string $captcha 验证码 - */ - public function check() - { - $email = $this->request->request("email"); - $event = $this->request->request("event"); - $event = $event ? $event : 'register'; - $captcha = $this->request->request("captcha"); - - if ($event) - { - $userinfo = User::getByEmail($email); - if ($event == 'register' && $userinfo) - { - //已被注册 - $this->error(__('已被注册')); - } - else if (in_array($event, ['changeemail']) && $userinfo) - { - //被占用 - $this->error(__('已被占用')); - } - else if (in_array($event, ['changepwd', 'resetpwd']) && !$userinfo) - { - //未注册 - $this->error(__('未注册')); - } - } - $ret = Emslib::check($email, $captcha, $event); - if ($ret) - { - $this->success(__('成功')); - } - else - { - $this->error(__('验证码不正确')); - } - } - -} +to($params->email) + ->subject('验证码') + ->message("你的验证码是:" . $params->code) + ->send(); + return $result; + }); + } + + /** + * 发送验证码 + * + * @param string $email 邮箱 + * @param string $event 事件名称 + */ + public function send() + { + $email = $this->request->request("email"); + $event = $this->request->request("event"); + $event = $event ? $event : 'register'; + + $last = Emslib::get($email, $event); + if ($last && time() - $last['createtime'] < 60) { + $this->error(__('发送频繁')); + } + if ($event) { + $userinfo = User::getByEmail($email); + if ($event == 'register' && $userinfo) { + //已被注册 + $this->error(__('已被注册')); + } elseif (in_array($event, ['changeemail']) && $userinfo) { + //被占用 + $this->error(__('已被占用')); + } elseif (in_array($event, ['changepwd', 'resetpwd']) && !$userinfo) { + //未注册 + $this->error(__('未注册')); + } + } + $ret = Emslib::send($email, null, $event); + if ($ret) { + $this->success(__('发送成功')); + } else { + $this->error(__('发送失败')); + } + } + + /** + * 检测验证码 + * + * @param string $email 邮箱 + * @param string $event 事件名称 + * @param string $captcha 验证码 + */ + public function check() + { + $email = $this->request->request("email"); + $event = $this->request->request("event"); + $event = $event ? $event : 'register'; + $captcha = $this->request->request("captcha"); + + if ($event) { + $userinfo = User::getByEmail($email); + if ($event == 'register' && $userinfo) { + //已被注册 + $this->error(__('已被注册')); + } elseif (in_array($event, ['changeemail']) && $userinfo) { + //被占用 + $this->error(__('已被占用')); + } elseif (in_array($event, ['changepwd', 'resetpwd']) && !$userinfo) { + //未注册 + $this->error(__('未注册')); + } + } + $ret = Emslib::check($email, $captcha, $event); + if ($ret) { + $this->success(__('成功')); + } else { + $this->error(__('验证码不正确')); + } + } +} diff --git a/application/api/controller/Index.php b/application/api/controller/Index.php index 0bc9d9af..24c615e8 100644 --- a/application/api/controller/Index.php +++ b/application/api/controller/Index.php @@ -9,17 +9,15 @@ use app\common\controller\Api; */ class Index extends Api { - protected $noNeedLogin = ['*']; protected $noNeedRight = ['*']; /** * 首页 - * + * */ public function index() { $this->success('请求成功'); } - } diff --git a/application/api/controller/Sms.php b/application/api/controller/Sms.php index f8ac47bb..fc3a1318 100644 --- a/application/api/controller/Sms.php +++ b/application/api/controller/Sms.php @@ -1,105 +1,98 @@ -request->request("mobile"); - $event = $this->request->request("event"); - $event = $event ? $event : 'register'; - - if (!$mobile || !\think\Validate::regex($mobile, "^1\d{10}$")) { - $this->error(__('手机号不正确')); - } - $last = Smslib::get($mobile, $event); - if ($last && time() - $last['createtime'] < 60) { - $this->error(__('发送频繁')); - } - $ipSendTotal = \app\common\model\Sms::where(['ip' => $this->request->ip()])->whereTime('createtime', '-1 hours')->count(); - if ($ipSendTotal >= 5) { - $this->error(__('发送频繁')); - } - if ($event) { - $userinfo = User::getByMobile($mobile); - if ($event == 'register' && $userinfo) { - //已被注册 - $this->error(__('已被注册')); - } else if (in_array($event, ['changemobile']) && $userinfo) { - //被占用 - $this->error(__('已被占用')); - } else if (in_array($event, ['changepwd', 'resetpwd']) && !$userinfo) { - //未注册 - $this->error(__('未注册')); - } - } - $ret = Smslib::send($mobile, NULL, $event); - if ($ret) { - $this->success(__('发送成功')); - } else { - $this->error(__('发送失败')); - } - } - - /** - * 检测验证码 - * - * @param string $mobile 手机号 - * @param string $event 事件名称 - * @param string $captcha 验证码 - */ - public function check() - { - $mobile = $this->request->request("mobile"); - $event = $this->request->request("event"); - $event = $event ? $event : 'register'; - $captcha = $this->request->request("captcha"); - - if (!$mobile || !\think\Validate::regex($mobile, "^1\d{10}$")) { - $this->error(__('手机号不正确')); - } - if ($event) { - $userinfo = User::getByMobile($mobile); - if ($event == 'register' && $userinfo) { - //已被注册 - $this->error(__('已被注册')); - } else if (in_array($event, ['changemobile']) && $userinfo) { - //被占用 - $this->error(__('已被占用')); - } else if (in_array($event, ['changepwd', 'resetpwd']) && !$userinfo) { - //未注册 - $this->error(__('未注册')); - } - } - $ret = Smslib::check($mobile, $captcha, $event); - if ($ret) { - $this->success(__('成功')); - } else { - $this->error(__('验证码不正确')); - } - } - -} +request->request("mobile"); + $event = $this->request->request("event"); + $event = $event ? $event : 'register'; + + if (!$mobile || !\think\Validate::regex($mobile, "^1\d{10}$")) { + $this->error(__('手机号不正确')); + } + $last = Smslib::get($mobile, $event); + if ($last && time() - $last['createtime'] < 60) { + $this->error(__('发送频繁')); + } + $ipSendTotal = \app\common\model\Sms::where(['ip' => $this->request->ip()])->whereTime('createtime', '-1 hours')->count(); + if ($ipSendTotal >= 5) { + $this->error(__('发送频繁')); + } + if ($event) { + $userinfo = User::getByMobile($mobile); + if ($event == 'register' && $userinfo) { + //已被注册 + $this->error(__('已被注册')); + } elseif (in_array($event, ['changemobile']) && $userinfo) { + //被占用 + $this->error(__('已被占用')); + } elseif (in_array($event, ['changepwd', 'resetpwd']) && !$userinfo) { + //未注册 + $this->error(__('未注册')); + } + } + $ret = Smslib::send($mobile, null, $event); + if ($ret) { + $this->success(__('发送成功')); + } else { + $this->error(__('发送失败')); + } + } + + /** + * 检测验证码 + * + * @param string $mobile 手机号 + * @param string $event 事件名称 + * @param string $captcha 验证码 + */ + public function check() + { + $mobile = $this->request->request("mobile"); + $event = $this->request->request("event"); + $event = $event ? $event : 'register'; + $captcha = $this->request->request("captcha"); + + if (!$mobile || !\think\Validate::regex($mobile, "^1\d{10}$")) { + $this->error(__('手机号不正确')); + } + if ($event) { + $userinfo = User::getByMobile($mobile); + if ($event == 'register' && $userinfo) { + //已被注册 + $this->error(__('已被注册')); + } elseif (in_array($event, ['changemobile']) && $userinfo) { + //被占用 + $this->error(__('已被占用')); + } elseif (in_array($event, ['changepwd', 'resetpwd']) && !$userinfo) { + //未注册 + $this->error(__('未注册')); + } + } + $ret = Smslib::check($mobile, $captcha, $event); + if ($ret) { + $this->success(__('成功')); + } else { + $this->error(__('验证码不正确')); + } + } +} diff --git a/application/api/controller/Token.php b/application/api/controller/Token.php index f8a64ebb..75b280a1 100644 --- a/application/api/controller/Token.php +++ b/application/api/controller/Token.php @@ -1,49 +1,42 @@ -auth->getToken(); - $tokenInfo = \app\common\library\Token::get($token); - $this->success('', ['token' => $tokenInfo['token'], 'expires_in' => $tokenInfo['expires_in']]); - } - - /** - * 刷新Token - * - */ - public function refresh() - { - //删除源Token - $token = $this->auth->getToken(); - \app\common\library\Token::delete($token); - //创建新Token - $token = Random::uuid(); - \app\common\library\Token::set($token, $this->auth->id, 2592000); - $tokenInfo = \app\common\library\Token::get($token); - $this->success('', ['token' => $tokenInfo['token'], 'expires_in' => $tokenInfo['expires_in']]); - } - -} +auth->getToken(); + $tokenInfo = \app\common\library\Token::get($token); + $this->success('', ['token' => $tokenInfo['token'], 'expires_in' => $tokenInfo['expires_in']]); + } + + /** + * 刷新Token + * + */ + public function refresh() + { + //删除源Token + $token = $this->auth->getToken(); + \app\common\library\Token::delete($token); + //创建新Token + $token = Random::uuid(); + \app\common\library\Token::set($token, $this->auth->id, 2592000); + $tokenInfo = \app\common\library\Token::get($token); + $this->success('', ['token' => $tokenInfo['token'], 'expires_in' => $tokenInfo['expires_in']]); + } +} diff --git a/application/api/controller/User.php b/application/api/controller/User.php index fc990043..0387d195 100644 --- a/application/api/controller/User.php +++ b/application/api/controller/User.php @@ -13,7 +13,6 @@ use think\Validate; */ class User extends Api { - protected $noNeedLogin = ['login', 'mobilelogin', 'register', 'resetpwd', 'changeemail', 'changemobile', 'third']; protected $noNeedRight = '*'; @@ -33,7 +32,7 @@ class User extends Api /** * 会员登录 * - * @param string $account 账号 + * @param string $account 账号 * @param string $password 密码 */ public function login() @@ -55,7 +54,7 @@ class User extends Api /** * 手机验证码登录 * - * @param string $mobile 手机号 + * @param string $mobile 手机号 * @param string $captcha 验证码 */ public function mobilelogin() @@ -92,8 +91,8 @@ class User extends Api * * @param string $username 用户名 * @param string $password 密码 - * @param string $email 邮箱 - * @param string $mobile 手机号 + * @param string $email 邮箱 + * @param string $mobile 手机号 */ public function register() { @@ -131,10 +130,10 @@ class User extends Api /** * 修改会员个人信息 * - * @param string $avatar 头像地址 + * @param string $avatar 头像地址 * @param string $username 用户名 * @param string $nickname 昵称 - * @param string $bio 个人简介 + * @param string $bio 个人简介 */ public function profile() { @@ -142,7 +141,7 @@ class User extends Api $username = $this->request->request('username'); $nickname = $this->request->request('nickname'); $bio = $this->request->request('bio'); - $avatar = $this->request->request('avatar'); + $avatar = $this->request->request('avatar', '', 'trim,strip_tags,htmlspecialchars'); if ($username) { $exists = \app\common\model\User::where('username', $username)->where('id', '<>', $this->auth->id)->find(); if ($exists) { @@ -160,7 +159,7 @@ class User extends Api /** * 修改邮箱 * - * @param string $email 邮箱 + * @param string $email 邮箱 * @param string $captcha 验证码 */ public function changeemail() @@ -194,7 +193,7 @@ class User extends Api /** * 修改手机号 * - * @param string $email 手机号 + * @param string $email 手机号 * @param string $captcha 验证码 */ public function changemobile() @@ -229,7 +228,7 @@ class User extends Api * 第三方登录 * * @param string $platform 平台名称 - * @param string $code Code码 + * @param string $code Code码 */ public function third() { @@ -259,9 +258,9 @@ class User extends Api /** * 重置密码 * - * @param string $mobile 手机号 + * @param string $mobile 手机号 * @param string $newpassword 新密码 - * @param string $captcha 验证码 + * @param string $captcha 验证码 */ public function resetpwd() { @@ -309,5 +308,4 @@ class User extends Api $this->error($this->auth->getError()); } } - } diff --git a/application/api/controller/Validate.php b/application/api/controller/Validate.php index c950eda4..87d153b8 100644 --- a/application/api/controller/Validate.php +++ b/application/api/controller/Validate.php @@ -1,147 +1,138 @@ -request->request('email'); - $id = (int) $this->request->request('id'); - $count = User::where('email', '=', $email)->where('id', '<>', $id)->count(); - if ($count > 0) - { - $this->error(__('邮箱已经被占用')); - } - $this->success(); - } - - /** - * 检测用户名 - * - * @param string $username 用户名 - * @param string $id 排除会员ID - */ - public function check_username_available() - { - $email = $this->request->request('username'); - $id = (int) $this->request->request('id'); - $count = User::where('username', '=', $email)->where('id', '<>', $id)->count(); - if ($count > 0) - { - $this->error(__('用户名已经被占用')); - } - $this->success(); - } - - /** - * 检测手机 - * - * @param string $mobile 手机号 - * @param string $id 排除会员ID - */ - public function check_mobile_available() - { - $mobile = $this->request->request('mobile'); - $id = (int) $this->request->request('id'); - $count = User::where('mobile', '=', $mobile)->where('id', '<>', $id)->count(); - if ($count > 0) - { - $this->error(__('该手机号已经占用')); - } - $this->success(); - } - - /** - * 检测手机 - * - * @param string $mobile 手机号 - */ - public function check_mobile_exist() - { - $mobile = $this->request->request('mobile'); - $count = User::where('mobile', '=', $mobile)->count(); - if (!$count) - { - $this->error(__('手机号不存在')); - } - $this->success(); - } - - /** - * 检测邮箱 - * - * @param string $mobile 邮箱 - */ - public function check_email_exist() - { - $email = $this->request->request('email'); - $count = User::where('email', '=', $email)->count(); - if (!$count) - { - $this->error(__('邮箱不存在')); - } - $this->success(); - } - - /** - * 检测手机验证码 - * - * @param string $mobile 手机号 - * @param string $captcha 验证码 - * @param string $event 事件 - */ - public function check_sms_correct() - { - $mobile = $this->request->request('mobile'); - $captcha = $this->request->request('captcha'); - $event = $this->request->request('event'); - if (!\app\common\library\Sms::check($mobile, $captcha, $event)) - { - $this->error(__('验证码不正确')); - } - $this->success(); - } - - /** - * 检测邮箱验证码 - * - * @param string $email 邮箱 - * @param string $captcha 验证码 - * @param string $event 事件 - */ - public function check_ems_correct() - { - $email = $this->request->request('email'); - $captcha = $this->request->request('captcha'); - $event = $this->request->request('event'); - if (!\app\common\library\Ems::check($email, $captcha, $event)) - { - $this->error(__('验证码不正确')); - } - $this->success(); - } - -} +request->request('email'); + $id = (int)$this->request->request('id'); + $count = User::where('email', '=', $email)->where('id', '<>', $id)->count(); + if ($count > 0) { + $this->error(__('邮箱已经被占用')); + } + $this->success(); + } + + /** + * 检测用户名 + * + * @param string $username 用户名 + * @param string $id 排除会员ID + */ + public function check_username_available() + { + $email = $this->request->request('username'); + $id = (int)$this->request->request('id'); + $count = User::where('username', '=', $email)->where('id', '<>', $id)->count(); + if ($count > 0) { + $this->error(__('用户名已经被占用')); + } + $this->success(); + } + + /** + * 检测手机 + * + * @param string $mobile 手机号 + * @param string $id 排除会员ID + */ + public function check_mobile_available() + { + $mobile = $this->request->request('mobile'); + $id = (int)$this->request->request('id'); + $count = User::where('mobile', '=', $mobile)->where('id', '<>', $id)->count(); + if ($count > 0) { + $this->error(__('该手机号已经占用')); + } + $this->success(); + } + + /** + * 检测手机 + * + * @param string $mobile 手机号 + */ + public function check_mobile_exist() + { + $mobile = $this->request->request('mobile'); + $count = User::where('mobile', '=', $mobile)->count(); + if (!$count) { + $this->error(__('手机号不存在')); + } + $this->success(); + } + + /** + * 检测邮箱 + * + * @param string $mobile 邮箱 + */ + public function check_email_exist() + { + $email = $this->request->request('email'); + $count = User::where('email', '=', $email)->count(); + if (!$count) { + $this->error(__('邮箱不存在')); + } + $this->success(); + } + + /** + * 检测手机验证码 + * + * @param string $mobile 手机号 + * @param string $captcha 验证码 + * @param string $event 事件 + */ + public function check_sms_correct() + { + $mobile = $this->request->request('mobile'); + $captcha = $this->request->request('captcha'); + $event = $this->request->request('event'); + if (!\app\common\library\Sms::check($mobile, $captcha, $event)) { + $this->error(__('验证码不正确')); + } + $this->success(); + } + + /** + * 检测邮箱验证码 + * + * @param string $email 邮箱 + * @param string $captcha 验证码 + * @param string $event 事件 + */ + public function check_ems_correct() + { + $email = $this->request->request('email'); + $captcha = $this->request->request('captcha'); + $event = $this->request->request('event'); + if (!\app\common\library\Ems::check($email, $captcha, $event)) { + $this->error(__('验证码不正确')); + } + $this->success(); + } +} diff --git a/application/api/lang/zh-cn.php b/application/api/lang/zh-cn.php index 53cd5437..35dafd70 100644 --- a/application/api/lang/zh-cn.php +++ b/application/api/lang/zh-cn.php @@ -2,16 +2,13 @@ return [ 'Keep login' => '保持会话', - 'Sign in' => '登入', 'Username' => '用户名', 'User id' => '会员ID', - 'Username' => '用户名', 'Nickname' => '昵称', 'Password' => '密码', 'Sign up' => '注 册', 'Sign in' => '登 录', 'Sign out' => '注 销', - 'Keep login' => '保持会话', 'Guest' => '游客', 'Welcome' => '%s,你好!', 'Add' => '添加', @@ -56,13 +53,9 @@ return [ 'Line' => '行号', 'File' => '文件', 'Menu' => '菜单', - 'Name' => '名称', - 'Weigh' => '权重', 'Type' => '类型', 'Title' => '标题', 'Content' => '内容', - 'Status' => '状态', - 'Operate' => '操作', 'Append' => '追加', 'Memo' => '备注', 'Parent' => '父级', diff --git a/application/api/lang/zh-cn/user.php b/application/api/lang/zh-cn/user.php index db7fd11b..111ccf54 100644 --- a/application/api/lang/zh-cn/user.php +++ b/application/api/lang/zh-cn/user.php @@ -9,7 +9,6 @@ return [ 'Username must be 6 to 30 characters' => '用户名必须6-30个字符', 'Password can not be empty' => '密码不能为空', 'Password must be 6 to 30 characters' => '密码必须6-30个字符', - 'Email is incorrect' => '邮箱格式不正确', 'Mobile is incorrect' => '手机格式不正确', 'Username already exist' => '用户名已经存在', 'Email already exist' => '邮箱已经存在', @@ -27,9 +26,7 @@ return [ 'Profile' => '个人资料', 'Verify email' => '邮箱验证', 'Change password' => '修改密码', - 'Change password successful' => '修改密码成功', 'Captcha is incorrect' => '验证码不正确', - 'Sign up successful' => '注册成功', 'Logged in successful' => '登录成功', 'Logout successful' => '注销成功', 'Operation failed' => '操作失败', diff --git a/application/api/library/ExceptionHandle.php b/application/api/library/ExceptionHandle.php index e3d095cd..852f7efe 100644 --- a/application/api/library/ExceptionHandle.php +++ b/application/api/library/ExceptionHandle.php @@ -14,20 +14,17 @@ class ExceptionHandle extends Handle public function render(Exception $e) { // 在生产环境下返回code信息 - if (!\think\Config::get('app_debug')) - { + if (!\think\Config::get('app_debug')) { $statuscode = $code = 500; $msg = 'An error occurred'; // 验证异常 - if ($e instanceof \think\exception\ValidateException) - { + if ($e instanceof \think\exception\ValidateException) { $code = 0; $statuscode = 200; $msg = $e->getError(); } // Http异常 - if ($e instanceof \think\exception\HttpException) - { + if ($e instanceof \think\exception\HttpException) { $statuscode = $code = $e->getStatusCode(); } return json(['code' => $code, 'msg' => $msg, 'time' => time(), 'data' => null], $statuscode); diff --git a/application/common/behavior/Common.php b/application/common/behavior/Common.php index 7e436948..ee3a1b31 100644 --- a/application/common/behavior/Common.php +++ b/application/common/behavior/Common.php @@ -8,7 +8,6 @@ use think\Loader; class Common { - public function moduleInit(&$request) { // 设置mbstring字符编码 @@ -17,45 +16,37 @@ class Common // 如果修改了index.php入口地址,则需要手动修改cdnurl的值 $url = preg_replace("/\/(\w+)\.php$/i", '', $request->root()); // 如果未设置__CDN__则自动匹配得出 - if (!Config::get('view_replace_str.__CDN__')) - { + if (!Config::get('view_replace_str.__CDN__')) { Config::set('view_replace_str.__CDN__', $url); } // 如果未设置__PUBLIC__则自动匹配得出 - if (!Config::get('view_replace_str.__PUBLIC__')) - { + if (!Config::get('view_replace_str.__PUBLIC__')) { Config::set('view_replace_str.__PUBLIC__', $url . '/'); } // 如果未设置__ROOT__则自动匹配得出 - if (!Config::get('view_replace_str.__ROOT__')) - { + if (!Config::get('view_replace_str.__ROOT__')) { Config::set('view_replace_str.__ROOT__', preg_replace("/\/public\/$/", '', $url . '/')); } // 如果未设置cdnurl则自动匹配得出 - if (!Config::get('site.cdnurl')) - { + if (!Config::get('site.cdnurl')) { Config::set('site.cdnurl', $url); } // 如果未设置cdnurl则自动匹配得出 - if (!Config::get('upload.cdnurl')) - { + if (!Config::get('upload.cdnurl')) { Config::set('upload.cdnurl', $url); } - if (Config::get('app_debug')) - { + if (Config::get('app_debug')) { // 如果是调试模式将version置为当前的时间戳可避免缓存 Config::set('site.version', time()); // 如果是开发模式那么将异常模板修改成官方的 Config::set('exception_tmpl', THINK_PATH . 'tpl' . DS . 'think_exception.tpl'); } // 如果是trace模式且Ajax的情况下关闭trace - if (Config::get('app_trace') && $request->isAjax()) - { + if (Config::get('app_trace') && $request->isAjax()) { Config::set('app_trace', false); } // 切换多语言 - if (Config::get('lang_switch_on') && $request->get('lang')) - { + if (Config::get('lang_switch_on') && $request->get('lang')) { \think\Cookie::set('think_var', $request->get('lang')); } // Form别名 @@ -72,5 +63,4 @@ class Common ]); $this->moduleInit($request); } - } diff --git a/application/common/controller/Api.php b/application/common/controller/Api.php index acd65ec1..0fd34431 100644 --- a/application/common/controller/Api.php +++ b/application/common/controller/Api.php @@ -52,13 +52,13 @@ class Api /** * 权限Auth - * @var Auth + * @var Auth */ protected $auth = null; /** * 默认响应输出类型,支持json/xml - * @var string + * @var string */ protected $responseType = 'json'; @@ -75,13 +75,11 @@ class Api $this->_initialize(); // 前置操作方法 - if ($this->beforeActionList) - { - foreach ($this->beforeActionList as $method => $options) - { + if ($this->beforeActionList) { + foreach ($this->beforeActionList as $method => $options) { is_numeric($method) ? - $this->beforeAction($options) : - $this->beforeAction($method, $options); + $this->beforeAction($options) : + $this->beforeAction($method, $options); } } } @@ -108,30 +106,23 @@ class Api // 设置当前请求的URI $this->auth->setRequestUri($path); // 检测是否需要验证登录 - if (!$this->auth->match($this->noNeedLogin)) - { + if (!$this->auth->match($this->noNeedLogin)) { //初始化 $this->auth->init($token); //检测是否登录 - if (!$this->auth->isLogin()) - { + if (!$this->auth->isLogin()) { $this->error(__('Please login first'), null, 401); } // 判断是否需要验证权限 - if (!$this->auth->match($this->noNeedRight)) - { + if (!$this->auth->match($this->noNeedRight)) { // 判断控制器和方法判断是否有对应权限 - if (!$this->auth->check($path)) - { + if (!$this->auth->check($path)) { $this->error(__('You have no permission'), null, 403); } } - } - else - { + } else { // 如果有传递token才验证是否登录状态 - if ($token) - { + if ($token) { $this->auth->init($token); } } @@ -158,11 +149,11 @@ class Api /** * 操作成功返回的数据 - * @param string $msg 提示信息 - * @param mixed $data 要返回的数据 - * @param int $code 错误码,默认为1 - * @param string $type 输出类型 - * @param array $header 发送的 Header 信息 + * @param string $msg 提示信息 + * @param mixed $data 要返回的数据 + * @param int $code 错误码,默认为1 + * @param string $type 输出类型 + * @param array $header 发送的 Header 信息 */ protected function success($msg = '', $data = null, $code = 1, $type = null, array $header = []) { @@ -171,11 +162,11 @@ class Api /** * 操作失败返回的数据 - * @param string $msg 提示信息 - * @param mixed $data 要返回的数据 - * @param int $code 错误码,默认为0 - * @param string $type 输出类型 - * @param array $header 发送的 Header 信息 + * @param string $msg 提示信息 + * @param mixed $data 要返回的数据 + * @param int $code 错误码,默认为0 + * @param string $type 输出类型 + * @param array $header 发送的 Header 信息 */ protected function error($msg = '', $data = null, $code = 0, $type = null, array $header = []) { @@ -204,13 +195,10 @@ class Api // 如果未设置类型则自动判断 $type = $type ? $type : ($this->request->param(config('var_jsonp_handler')) ? 'jsonp' : $this->responseType); - if (isset($header['statuscode'])) - { + if (isset($header['statuscode'])) { $code = $header['statuscode']; unset($header['statuscode']); - } - else - { + } else { //未设置状态码,根据code值判断 $code = $code >= 1000 || $code < 200 ? 200 : $code; } @@ -227,27 +215,20 @@ class Api */ protected function beforeAction($method, $options = []) { - if (isset($options['only'])) - { - if (is_string($options['only'])) - { + if (isset($options['only'])) { + if (is_string($options['only'])) { $options['only'] = explode(',', $options['only']); } - if (!in_array($this->request->action(), $options['only'])) - { + if (!in_array($this->request->action(), $options['only'])) { return; } - } - elseif (isset($options['except'])) - { - if (is_string($options['except'])) - { + } elseif (isset($options['except'])) { + if (is_string($options['except'])) { $options['except'] = explode(',', $options['except']); } - if (in_array($this->request->action(), $options['except'])) - { + if (in_array($this->request->action(), $options['except'])) { return; } } @@ -281,16 +262,12 @@ class Api */ protected function validate($data, $validate, $message = [], $batch = false, $callback = null) { - if (is_array($validate)) - { + if (is_array($validate)) { $v = Loader::validate(); $v->rule($validate); - } - else - { + } else { // 支持场景 - if (strpos($validate, '.')) - { + if (strpos($validate, '.')) { list($validate, $scene) = explode('.', $validate); } @@ -300,21 +277,20 @@ class Api } // 批量验证 - if ($batch || $this->batchValidate) + if ($batch || $this->batchValidate) { $v->batch(true); + } // 设置错误信息 - if (is_array($message)) + if (is_array($message)) { $v->message($message); + } // 使用回调验证 - if ($callback && is_callable($callback)) - { + if ($callback && is_callable($callback)) { call_user_func_array($callback, [$v, &$data]); } - if (!$v->check($data)) - { - if ($this->failException) - { + if (!$v->check($data)) { + if ($this->failException) { throw new ValidateException($v->getError()); } @@ -323,5 +299,4 @@ class Api return true; } - } diff --git a/application/common/controller/Backend.php b/application/common/controller/Backend.php index 59b37c06..100222f4 100644 --- a/application/common/controller/Backend.php +++ b/application/common/controller/Backend.php @@ -121,10 +121,10 @@ class Backend extends Controller $path = str_replace('.', '/', $controllername) . '/' . $actionname; // 定义是否Addtabs请求 - !defined('IS_ADDTABS') && define('IS_ADDTABS', input("addtabs") ? TRUE : FALSE); + !defined('IS_ADDTABS') && define('IS_ADDTABS', input("addtabs") ? true : false); // 定义是否Dialog请求 - !defined('IS_DIALOG') && define('IS_DIALOG', input("dialog") ? TRUE : FALSE); + !defined('IS_DIALOG') && define('IS_DIALOG', input("dialog") ? true : false); // 定义是否AJAX请求 !defined('IS_AJAX') && define('IS_AJAX', $this->request->isAjax()); @@ -233,7 +233,7 @@ class Backend extends Controller /** * 渲染配置信息 - * @param mixed $name 键名或数组 + * @param mixed $name 键名或数组 * @param mixed $value 值 */ protected function assignconfig($name, $value = '') @@ -243,7 +243,7 @@ class Backend extends Controller /** * 生成查询所需要的条件,排序方式 - * @param mixed $searchfields 快速查询的字段 + * @param mixed $searchfields 快速查询的字段 * @param boolean $relationSearch 是否关联查询 * @return array */ @@ -258,8 +258,8 @@ class Backend extends Controller $order = $this->request->get("order", "DESC"); $offset = $this->request->get("offset", 0); $limit = $this->request->get("limit", 0); - $filter = (array)json_decode($filter, TRUE); - $op = (array)json_decode($op, TRUE); + $filter = (array)json_decode($filter, true); + $op = (array)json_decode($op, true); $filter = $filter ? $filter : []; $where = []; $tableName = ''; @@ -325,13 +325,14 @@ class Backend extends Controller case 'BETWEEN': case 'NOT BETWEEN': $arr = array_slice(explode(',', $v), 0, 2); - if (stripos($v, ',') === false || !array_filter($arr)) + if (stripos($v, ',') === false || !array_filter($arr)) { continue 2; + } //当出现一边为空时改变操作符 if ($arr[0] === '') { $sym = $sym == 'BETWEEN' ? '<=' : '>'; $arr = $arr[1]; - } else if ($arr[1] === '') { + } elseif ($arr[1] === '') { $sym = $sym == 'BETWEEN' ? '>=' : '<'; $arr = $arr[0]; } @@ -341,13 +342,14 @@ class Backend extends Controller case 'NOT RANGE': $v = str_replace(' - ', ',', $v); $arr = array_slice(explode(',', $v), 0, 2); - if (stripos($v, ',') === false || !array_filter($arr)) + if (stripos($v, ',') === false || !array_filter($arr)) { continue 2; + } //当出现一边为空时改变操作符 if ($arr[0] === '') { $sym = $sym == 'RANGE' ? '<=' : '>'; $arr = $arr[1]; - } else if ($arr[1] === '') { + } elseif ($arr[1] === '') { $sym = $sym == 'RANGE' ? '>=' : '<'; $arr = $arr[0]; } @@ -488,11 +490,11 @@ class Backend extends Controller 'pid' => isset($item['pid']) ? $item['pid'] : 0 ]; } - if($istree) { + if ($istree) { $tree = Tree::instance(); $tree->init(collection($list)->toArray(), 'pid'); $list = $tree->getTreeList($tree->getTreeArray(0), $field); - if(!$ishtml){ + if (!$ishtml) { foreach ($list as &$item) { $item = str_replace(' ', ' ', $item); } @@ -503,5 +505,4 @@ class Backend extends Controller //这里一定要返回有list这个字段,total是可选的,如果total<=list的数量,则会隐藏分页按钮 return json(['list' => $list, 'total' => $total]); } - } diff --git a/application/common/controller/Frontend.php b/application/common/controller/Frontend.php index a661b3ef..09dd34cb 100644 --- a/application/common/controller/Frontend.php +++ b/application/common/controller/Frontend.php @@ -127,12 +127,11 @@ class Frontend extends Controller /** * 渲染配置信息 - * @param mixed $name 键名或数组 + * @param mixed $name 键名或数组 * @param mixed $value 值 */ protected function assignconfig($name, $value = '') { $this->view->config = array_merge($this->view->config ? $this->view->config : [], is_array($name) ? $name : [$name => $value]); } - } diff --git a/application/common/library/Auth.php b/application/common/library/Auth.php index cabbc3bf..102199dc 100644 --- a/application/common/library/Auth.php +++ b/application/common/library/Auth.php @@ -7,17 +7,17 @@ use app\common\model\UserRule; use fast\Random; use think\Config; use think\Db; +use think\Exception; use think\Hook; use think\Request; use think\Validate; class Auth { - protected static $instance = null; protected $_error = ''; - protected $_logined = FALSE; - protected $_user = NULL; + protected $_logined = false; + protected $_user = null; protected $_token = ''; //Token默认有效时长 protected $keeptime = 2592000; @@ -30,22 +30,20 @@ class Auth public function __construct($options = []) { - if ($config = Config::get('user')) - { + if ($config = Config::get('user')) { $this->config = array_merge($this->config, $config); } $this->options = array_merge($this->config, $options); } /** - * + * * @param array $options 参数 * @return Auth */ public static function instance($options = []) { - if (is_null(self::$instance)) - { + if (is_null(self::$instance)) { self::$instance = new static($options); } @@ -63,91 +61,82 @@ class Auth /** * 兼容调用user模型的属性 - * + * * @param string $name * @return mixed */ public function __get($name) { - return $this->_user ? $this->_user->$name : NULL; + return $this->_user ? $this->_user->$name : null; } /** * 根据Token初始化 * - * @param string $token Token + * @param string $token Token * @return boolean */ public function init($token) { - if ($this->_logined) - { - return TRUE; + if ($this->_logined) { + return true; + } + if ($this->_error) { + return false; } - if ($this->_error) - return FALSE; $data = Token::get($token); - if (!$data) - { - return FALSE; + if (!$data) { + return false; } $user_id = intval($data['user_id']); - if ($user_id > 0) - { + if ($user_id > 0) { $user = User::get($user_id); - if (!$user) - { + if (!$user) { $this->setError('Account not exist'); - return FALSE; + return false; } - if ($user['status'] != 'normal') - { + if ($user['status'] != 'normal') { $this->setError('Account is locked'); - return FALSE; + return false; } $this->_user = $user; - $this->_logined = TRUE; + $this->_logined = true; $this->_token = $token; //初始化成功的事件 Hook::listen("user_init_successed", $this->_user); - return TRUE; - } - else - { + return true; + } else { $this->setError('You are not logged in'); - return FALSE; + return false; } } /** * 注册用户 * - * @param string $username 用户名 - * @param string $password 密码 - * @param string $email 邮箱 - * @param string $mobile 手机号 - * @param array $extend 扩展参数 + * @param string $username 用户名 + * @param string $password 密码 + * @param string $email 邮箱 + * @param string $mobile 手机号 + * @param array $extend 扩展参数 * @return boolean */ public function register($username, $password, $email = '', $mobile = '', $extend = []) { // 检测用户名或邮箱、手机号是否存在 - if (User::getByUsername($username)) - { + if (User::getByUsername($username)) { $this->setError('Username already exist'); - return FALSE; + return false; } - if ($email && User::getByEmail($email)) - { + if ($email && User::getByEmail($email)) { $this->setError('Email already exist'); - return FALSE; + return false; } - if ($mobile && User::getByMobile($mobile)) - { + if ($mobile && User::getByMobile($mobile)) { $this->setError('Mobile already exist'); - return FALSE; + return false; } $ip = request()->ip(); @@ -175,31 +164,11 @@ class Auth $params['password'] = $this->getEncryptPassword($password, $params['salt']); $params = array_merge($params, $extend); - ////////////////同步到Ucenter//////////////// - if (defined('UC_STATUS') && UC_STATUS) - { - $uc = new \addons\ucenter\library\client\Client(); - $user_id = $uc->uc_user_register($username, $password, $email); - // 如果小于0则说明发生错误 - if ($user_id <= 0) - { - $this->setError($user_id > -4 ? 'Username is incorrect' : 'Email is incorrect'); - return FALSE; - } - else - { - $params['id'] = $user_id; - } - } - //账号注册时需要开启事务,避免出现垃圾数据 Db::startTrans(); - try - { - $user = User::create($params); - Db::commit(); + try { + $user = User::create($params, true); - // 此时的Model中只包含部分数据 $this->_user = User::get($user->id); //设置Token @@ -207,101 +176,99 @@ class Auth Token::set($this->_token, $user->id, $this->keeptime); //注册成功的事件 - Hook::listen("user_register_successed", $this->_user); - - return TRUE; - } - catch (Exception $e) - { + Hook::listen("user_register_successed", $this->_user, $data); + Db::commit(); + } catch (Exception $e) { $this->setError($e->getMessage()); Db::rollback(); - return FALSE; + return false; } + return true; } /** * 用户登录 * - * @param string $account 账号,用户名、邮箱、手机号 - * @param string $password 密码 + * @param string $account 账号,用户名、邮箱、手机号 + * @param string $password 密码 * @return boolean */ public function login($account, $password) { $field = Validate::is($account, 'email') ? 'email' : (Validate::regex($account, '/^1\d{10}$/') ? 'mobile' : 'username'); $user = User::get([$field => $account]); - if (!$user) - { + if (!$user) { $this->setError('Account is incorrect'); - return FALSE; + return false; } - if ($user->status != 'normal') - { + if ($user->status != 'normal') { $this->setError('Account is locked'); - return FALSE; + return false; } - if ($user->password != $this->getEncryptPassword($password, $user->salt)) - { + if ($user->password != $this->getEncryptPassword($password, $user->salt)) { $this->setError('Password is incorrect'); - return FALSE; + return false; } //直接登录会员 $this->direct($user->id); - return TRUE; + return true; } /** * 注销 - * + * * @return boolean */ public function logout() { - if (!$this->_logined) - { + if (!$this->_logined) { $this->setError('You are not logged in'); return false; } //设置登录标识 - $this->_logined = FALSE; + $this->_logined = false; //删除Token Token::delete($this->_token); //注销成功的事件 Hook::listen("user_logout_successed", $this->_user); - return TRUE; + return true; } /** * 修改密码 - * @param string $newpassword 新密码 - * @param string $oldpassword 旧密码 - * @param bool $ignoreoldpassword 忽略旧密码 + * @param string $newpassword 新密码 + * @param string $oldpassword 旧密码 + * @param bool $ignoreoldpassword 忽略旧密码 * @return boolean */ public function changepwd($newpassword, $oldpassword = '', $ignoreoldpassword = false) { - if (!$this->_logined) - { + if (!$this->_logined) { $this->setError('You are not logged in'); return false; } //判断旧密码是否正确 - if ($this->_user->password == $this->getEncryptPassword($oldpassword, $this->_user->salt) || $ignoreoldpassword) - { - $salt = Random::alnum(); - $newpassword = $this->getEncryptPassword($newpassword, $salt); - $this->_user->save(['password' => $newpassword, 'salt' => $salt]); + if ($this->_user->password == $this->getEncryptPassword($oldpassword, $this->_user->salt) || $ignoreoldpassword) { + Db::startTrans(); + try { + $salt = Random::alnum(); + $newpassword = $this->getEncryptPassword($newpassword, $salt); + $this->_user->save(['password' => $newpassword, 'salt' => $salt]); - Token::delete($this->_token); - //修改密码成功的事件 - Hook::listen("user_changepwd_successed", $this->_user); + Token::delete($this->_token); + //修改密码成功的事件 + Hook::listen("user_changepwd_successed", $this->_user); + Db::commit(); + } catch (Exception $e) { + Db::rollback(); + $this->setError($e->getMessage()); + return false; + } return true; - } - else - { + } else { $this->setError('Password is incorrect'); return false; } @@ -315,75 +282,66 @@ class Auth public function direct($user_id) { $user = User::get($user_id); - if ($user) - { - ////////////////同步到Ucenter//////////////// - if (defined('UC_STATUS') && UC_STATUS) - { - $uc = new \addons\ucenter\library\client\Client(); - $re = $uc->uc_user_login($this->user->id, $this->user->password . '#split#' . $this->user->salt, 3); - // 如果小于0则说明发生错误 - if ($re <= 0) - { - $this->setError('Username or password is incorrect'); - return FALSE; + if ($user) { + Db::startTrans(); + try { + $ip = request()->ip(); + $time = time(); + + //判断连续登录和最大连续登录 + if ($user->logintime < \fast\Date::unixtime('day')) { + $user->successions = $user->logintime < \fast\Date::unixtime('day', -1) ? 1 : $user->successions + 1; + $user->maxsuccessions = max($user->successions, $user->maxsuccessions); } + + $user->prevtime = $user->logintime; + //记录本次登录的IP和时间 + $user->loginip = $ip; + $user->logintime = $time; + + $user->save(); + + $this->_user = $user; + + $this->_token = Random::uuid(); + Token::set($this->_token, $user->id, $this->keeptime); + + $this->_logined = true; + + //登录成功的事件 + Hook::listen("user_login_successed", $this->_user); + Db::commit(); + } catch (Exception $e) { + Db::rollback(); + $this->setError($e->getMessage()); + return false; } - - $ip = request()->ip(); - $time = time(); - - //判断连续登录和最大连续登录 - if ($user->logintime < \fast\Date::unixtime('day')) - { - $user->successions = $user->logintime < \fast\Date::unixtime('day', -1) ? 1 : $user->successions + 1; - $user->maxsuccessions = max($user->successions, $user->maxsuccessions); - } - - $user->prevtime = $user->logintime; - //记录本次登录的IP和时间 - $user->loginip = $ip; - $user->logintime = $time; - - $user->save(); - - $this->_user = $user; - - $this->_token = Random::uuid(); - Token::set($this->_token, $user->id, $this->keeptime); - - $this->_logined = TRUE; - - //登录成功的事件 - Hook::listen("user_login_successed", $this->_user); - return TRUE; - } - else - { - return FALSE; + return true; + } else { + return false; } } /** * 检测是否是否有对应权限 - * @param string $path 控制器/方法 - * @param string $module 模块 默认为当前模块 + * @param string $path 控制器/方法 + * @param string $module 模块 默认为当前模块 * @return boolean */ - public function check($path = NULL, $module = NULL) + public function check($path = null, $module = null) { - if (!$this->_logined) + if (!$this->_logined) { return false; + } $ruleList = $this->getRuleList(); $rules = []; - foreach ($ruleList as $k => $v) - { + foreach ($ruleList as $k => $v) { $rules[] = $v['name']; } $url = ($module ? $module : request()->module()) . '/' . (is_null($path) ? $this->getRequestUri() : $path); $url = strtolower(str_replace('.', '/', $url)); - return in_array($url, $rules) ? TRUE : FALSE; + return in_array($url, $rules) ? true : false; } /** @@ -392,8 +350,7 @@ class Auth */ public function isLogin() { - if ($this->_logined) - { + if ($this->_logined) { return true; } return false; @@ -426,11 +383,11 @@ class Auth */ public function getRuleList() { - if ($this->rules) + if ($this->rules) { return $this->rules; + } $group = $this->_user->group; - if (!$group) - { + if (!$group) { return []; } $rules = explode(',', $group->rules); @@ -482,43 +439,30 @@ class Auth public function delete($user_id) { $user = User::get($user_id); - if (!$user) - { - return FALSE; + if (!$user) { + return false; } + Db::startTrans(); + try { + // 删除会员 + User::destroy($user_id); + // 删除会员指定的所有Token + Token::clear($user_id); - ////////////////同步到Ucenter//////////////// - if (defined('UC_STATUS') && UC_STATUS) - { - $uc = new \addons\ucenter\library\client\Client(); - $re = $uc->uc_user_delete($user['id']); - // 如果小于0则说明发生错误 - if ($re <= 0) - { - $this->setError('Account is locked'); - return FALSE; - } - } - - // 调用事务删除账号 - $result = Db::transaction(function($db) use($user_id) { - // 删除会员 - User::destroy($user_id); - // 删除会员指定的所有Token - Token::clear($user_id); - return TRUE; - }); - if ($result) - { Hook::listen("user_delete_successed", $user); + Db::commit(); + } catch (Exception $e) { + Db::rollback(); + $this->setError($e->getMessage()); + return false; } - return $result ? TRUE : FALSE; + return true; } /** * 获取密码加密后的字符串 - * @param string $password 密码 - * @param string $salt 密码盐 + * @param string $password 密码 + * @param string $salt 密码盐 * @return string */ public function getEncryptPassword($password, $salt = '') @@ -536,19 +480,17 @@ class Auth { $request = Request::instance(); $arr = is_array($arr) ? $arr : explode(',', $arr); - if (!$arr) - { - return FALSE; + if (!$arr) { + return false; } $arr = array_map('strtolower', $arr); // 是否存在 - if (in_array(strtolower($request->action()), $arr) || in_array('*', $arr)) - { - return TRUE; + if (in_array(strtolower($request->action()), $arr) || in_array('*', $arr)) { + return true; } // 没找到匹配 - return FALSE; + return false; } /** @@ -562,39 +504,35 @@ class Auth /** * 渲染用户数据 - * @param array $datalist 二维数组 - * @param mixed $fields 加载的字段列表 - * @param string $fieldkey 渲染的字段 - * @param string $renderkey 结果字段 + * @param array $datalist 二维数组 + * @param mixed $fields 加载的字段列表 + * @param string $fieldkey 渲染的字段 + * @param string $renderkey 结果字段 * @return array */ public function render(&$datalist, $fields = [], $fieldkey = 'user_id', $renderkey = 'userinfo') { $fields = !$fields ? ['id', 'nickname', 'level', 'avatar'] : (is_array($fields) ? $fields : explode(',', $fields)); $ids = []; - foreach ($datalist as $k => $v) - { - if (!isset($v[$fieldkey])) + foreach ($datalist as $k => $v) { + if (!isset($v[$fieldkey])) { continue; + } $ids[] = $v[$fieldkey]; } $list = []; - if ($ids) - { - if (!in_array('id', $fields)) - { + if ($ids) { + if (!in_array('id', $fields)) { $fields[] = 'id'; } $ids = array_unique($ids); $selectlist = User::where('id', 'in', $ids)->column($fields); - foreach ($selectlist as $k => $v) - { + foreach ($selectlist as $k => $v) { $list[$v['id']] = $v; } } - foreach ($datalist as $k => &$v) - { - $v[$renderkey] = isset($list[$v[$fieldkey]]) ? $list[$v[$fieldkey]] : NULL; + foreach ($datalist as $k => &$v) { + $v[$renderkey] = isset($list[$v[$fieldkey]]) ? $list[$v[$fieldkey]] : null; } unset($v); return $datalist; @@ -620,5 +558,4 @@ class Auth { return $this->_error ? __($this->_error) : ''; } - } diff --git a/application/common/library/Email.php b/application/common/library/Email.php index 0881e26e..acd24984 100644 --- a/application/common/library/Email.php +++ b/application/common/library/Email.php @@ -38,8 +38,7 @@ class Email */ public static function instance($options = []) { - if (is_null(self::$instance)) - { + if (is_null(self::$instance)) { self::$instance = new static($options); } @@ -52,8 +51,7 @@ class Email */ public function __construct($options = []) { - if ($config = Config::get('site')) - { + if ($config = Config::get('site')) { $this->options = array_merge($this->options, $config); } $this->options = array_merge($this->options, $options); @@ -114,7 +112,7 @@ class Email /** * 设置邮件正文 - * @param string $body + * @param string $body * @param boolean $ishtml * @return $this */ @@ -150,27 +148,20 @@ class Email public function send() { $result = false; - switch ($this->options['mail_type']) - { + switch ($this->options['mail_type']) { case 1: //使用phpmailer发送 $this->mail->setFrom($this->options['from'], $this->options['from_name']); $this->mail->addAddress($this->options['to'], $this->options['to_name']); $this->mail->Subject = $this->options['subject']; - if ($this->options['ishtml']) - { + if ($this->options['ishtml']) { $this->mail->msgHTML($this->options['body']); - } - else - { + } else { $this->mail->Body = $this->options['body']; } - try - { + try { $result = $this->mail->send(); - } - catch (\phpmailerException $e) - { + } catch (\phpmailerException $e) { $this->setError($e->getMessage()); } diff --git a/application/common/library/Ems.php b/application/common/library/Ems.php index a0ed193e..368278b5 100644 --- a/application/common/library/Ems.php +++ b/application/common/library/Ems.php @@ -1,144 +1,133 @@ - $email, 'event' => $event]) - ->order('id', 'DESC') - ->find(); - Hook::listen('ems_get', $ems, null, true); - return $ems ? $ems : NULL; - } - - /** - * 发送验证码 - * - * @param int $email 邮箱 - * @param int $code 验证码,为空时将自动生成4位数字 - * @param string $event 事件 - * @return boolean - */ - public static function send($email, $code = NULL, $event = 'default') - { - $code = is_null($code) ? mt_rand(1000, 9999) : $code; - $time = time(); - $ip = request()->ip(); - $ems = \app\common\model\Ems::create(['event' => $event, 'email' => $email, 'code' => $code, 'ip' => $ip, 'createtime' => $time]); - $result = Hook::listen('ems_send', $ems, null, true); - if (!$result) - { - $ems->delete(); - return FALSE; - } - return TRUE; - } - - /** - * 发送通知 - * - * @param mixed $email 邮箱,多个以,分隔 - * @param string $msg 消息内容 - * @param string $template 消息模板 - * @return boolean - */ - public static function notice($email, $msg = '', $template = NULL) - { - $params = [ - 'email' => $email, - 'msg' => $msg, - 'template' => $template - ]; - $result = Hook::listen('ems_notice', $params, null, true); - return $result ? TRUE : FALSE; - } - - /** - * 校验验证码 - * - * @param int $email 邮箱 - * @param int $code 验证码 - * @param string $event 事件 - * @return boolean - */ - public static function check($email, $code, $event = 'default') - { - $time = time() - self::$expire; - $ems = \app\common\model\Ems::where(['email' => $email, 'event' => $event]) - ->order('id', 'DESC') - ->find(); - if ($ems) - { - if ($ems['createtime'] > $time && $ems['times'] <= self::$maxCheckNums) - { - $correct = $code == $ems['code']; - if (!$correct) - { - $ems->times = $ems->times + 1; - $ems->save(); - return FALSE; - } - else - { - $result = Hook::listen('ems_check', $ems, null, true); - return TRUE; - } - } - else - { - // 过期则清空该邮箱验证码 - self::flush($email, $event); - return FALSE; - } - } - else - { - return FALSE; - } - } - - /** - * 清空指定邮箱验证码 - * - * @param int $email 邮箱 - * @param string $event 事件 - * @return boolean - */ - public static function flush($email, $event = 'default') - { - \app\common\model\Ems:: - where(['email' => $email, 'event' => $event]) - ->delete(); - Hook::listen('ems_flush'); - return TRUE; - } - -} + $email, 'event' => $event]) + ->order('id', 'DESC') + ->find(); + Hook::listen('ems_get', $ems, null, true); + return $ems ? $ems : null; + } + + /** + * 发送验证码 + * + * @param int $email 邮箱 + * @param int $code 验证码,为空时将自动生成4位数字 + * @param string $event 事件 + * @return boolean + */ + public static function send($email, $code = null, $event = 'default') + { + $code = is_null($code) ? mt_rand(1000, 9999) : $code; + $time = time(); + $ip = request()->ip(); + $ems = \app\common\model\Ems::create(['event' => $event, 'email' => $email, 'code' => $code, 'ip' => $ip, 'createtime' => $time]); + $result = Hook::listen('ems_send', $ems, null, true); + if (!$result) { + $ems->delete(); + return false; + } + return true; + } + + /** + * 发送通知 + * + * @param mixed $email 邮箱,多个以,分隔 + * @param string $msg 消息内容 + * @param string $template 消息模板 + * @return boolean + */ + public static function notice($email, $msg = '', $template = null) + { + $params = [ + 'email' => $email, + 'msg' => $msg, + 'template' => $template + ]; + $result = Hook::listen('ems_notice', $params, null, true); + return $result ? true : false; + } + + /** + * 校验验证码 + * + * @param int $email 邮箱 + * @param int $code 验证码 + * @param string $event 事件 + * @return boolean + */ + public static function check($email, $code, $event = 'default') + { + $time = time() - self::$expire; + $ems = \app\common\model\Ems::where(['email' => $email, 'event' => $event]) + ->order('id', 'DESC') + ->find(); + if ($ems) { + if ($ems['createtime'] > $time && $ems['times'] <= self::$maxCheckNums) { + $correct = $code == $ems['code']; + if (!$correct) { + $ems->times = $ems->times + 1; + $ems->save(); + return false; + } else { + $result = Hook::listen('ems_check', $ems, null, true); + return true; + } + } else { + // 过期则清空该邮箱验证码 + self::flush($email, $event); + return false; + } + } else { + return false; + } + } + + /** + * 清空指定邮箱验证码 + * + * @param int $email 邮箱 + * @param string $event 事件 + * @return boolean + */ + public static function flush($email, $event = 'default') + { + \app\common\model\Ems:: + where(['email' => $email, 'event' => $event]) + ->delete(); + Hook::listen('ems_flush'); + return true; + } +} diff --git a/application/common/library/Menu.php b/application/common/library/Menu.php index 4c20818a..b82ed191 100644 --- a/application/common/library/Menu.php +++ b/application/common/library/Menu.php @@ -17,18 +17,14 @@ class Menu */ public static function create($menu, $parent = 0) { - if (!is_numeric($parent)) - { + if (!is_numeric($parent)) { $parentRule = AuthRule::getByName($parent); $pid = $parentRule ? $parentRule['id'] : 0; - } - else - { + } else { $pid = $parent; } $allow = array_flip(['file', 'name', 'title', 'icon', 'condition', 'remark', 'ismenu']); - foreach ($menu as $k => $v) - { + foreach ($menu as $k => $v) { $hasChild = isset($v['sublist']) && $v['sublist'] ? true : false; $data = array_intersect_key($v, $allow); @@ -37,16 +33,12 @@ class Menu $data['icon'] = isset($data['icon']) ? $data['icon'] : ($hasChild ? 'fa fa-list' : 'fa fa-circle-o'); $data['pid'] = $pid; $data['status'] = 'normal'; - try - { + try { $menu = AuthRule::create($data); - if ($hasChild) - { + if ($hasChild) { self::create($v['sublist'], $menu->id); } - } - catch (PDOException $e) - { + } catch (PDOException $e) { throw new Exception($e->getMessage()); } } @@ -54,14 +46,13 @@ class Menu /** * 删除菜单 - * @param string $name 规则name + * @param string $name 规则name * @return boolean */ public static function delete($name) { $ids = self::getAuthRuleIdsByName($name); - if (!$ids) - { + if (!$ids) { return false; } AuthRule::destroy($ids); @@ -76,8 +67,7 @@ class Menu public static function enable($name) { $ids = self::getAuthRuleIdsByName($name); - if (!$ids) - { + if (!$ids) { return false; } AuthRule::where('id', 'in', $ids)->update(['status' => 'normal']); @@ -92,8 +82,7 @@ class Menu public static function disable($name) { $ids = self::getAuthRuleIdsByName($name); - if (!$ids) - { + if (!$ids) { return false; } AuthRule::where('id', 'in', $ids)->update(['status' => 'hidden']); @@ -108,14 +97,12 @@ class Menu public static function export($name) { $ids = self::getAuthRuleIdsByName($name); - if (!$ids) - { + if (!$ids) { return []; } $menuList = []; $menu = AuthRule::getByName($name); - if ($menu) - { + if ($menu) { $ruleList = collection(AuthRule::where('id', 'in', $ids)->select())->toArray(); $menuList = Tree::instance()->init($ruleList)->getTreeArray($menu['id']); } @@ -131,8 +118,7 @@ class Menu { $ids = []; $menu = AuthRule::getByName($name); - if ($menu) - { + if ($menu) { // 必须将结果集转换为数组 $ruleList = collection(AuthRule::order('weigh', 'desc')->field('id,pid,name')->select())->toArray(); // 构造菜单数据 diff --git a/application/common/library/Sms.php b/application/common/library/Sms.php index 7204530a..56ec56d8 100644 --- a/application/common/library/Sms.php +++ b/application/common/library/Sms.php @@ -1,144 +1,133 @@ - $mobile, 'event' => $event]) - ->order('id', 'DESC') - ->find(); - Hook::listen('sms_get', $sms, null, true); - return $sms ? $sms : NULL; - } - - /** - * 发送验证码 - * - * @param int $mobile 手机号 - * @param int $code 验证码,为空时将自动生成4位数字 - * @param string $event 事件 - * @return boolean - */ - public static function send($mobile, $code = NULL, $event = 'default') - { - $code = is_null($code) ? mt_rand(1000, 9999) : $code; - $time = time(); - $ip = request()->ip(); - $sms = \app\common\model\Sms::create(['event' => $event, 'mobile' => $mobile, 'code' => $code, 'ip' => $ip, 'createtime' => $time]); - $result = Hook::listen('sms_send', $sms, null, true); - if (!$result) - { - $sms->delete(); - return FALSE; - } - return TRUE; - } - - /** - * 发送通知 - * - * @param mixed $mobile 手机号,多个以,分隔 - * @param string $msg 消息内容 - * @param string $template 消息模板 - * @return boolean - */ - public static function notice($mobile, $msg = '', $template = NULL) - { - $params = [ - 'mobile' => $mobile, - 'msg' => $msg, - 'template' => $template - ]; - $result = Hook::listen('sms_notice', $params, null, true); - return $result ? TRUE : FALSE; - } - - /** - * 校验验证码 - * - * @param int $mobile 手机号 - * @param int $code 验证码 - * @param string $event 事件 - * @return boolean - */ - public static function check($mobile, $code, $event = 'default') - { - $time = time() - self::$expire; - $sms = \app\common\model\Sms::where(['mobile' => $mobile, 'event' => $event]) - ->order('id', 'DESC') - ->find(); - if ($sms) - { - if ($sms['createtime'] > $time && $sms['times'] <= self::$maxCheckNums) - { - $correct = $code == $sms['code']; - if (!$correct) - { - $sms->times = $sms->times + 1; - $sms->save(); - return FALSE; - } - else - { - $result = Hook::listen('sms_check', $sms, null, true); - return $result; - } - } - else - { - // 过期则清空该手机验证码 - self::flush($mobile, $event); - return FALSE; - } - } - else - { - return FALSE; - } - } - - /** - * 清空指定手机号验证码 - * - * @param int $mobile 手机号 - * @param string $event 事件 - * @return boolean - */ - public static function flush($mobile, $event = 'default') - { - \app\common\model\Sms:: - where(['mobile' => $mobile, 'event' => $event]) - ->delete(); - Hook::listen('sms_flush'); - return TRUE; - } - -} + $mobile, 'event' => $event]) + ->order('id', 'DESC') + ->find(); + Hook::listen('sms_get', $sms, null, true); + return $sms ? $sms : null; + } + + /** + * 发送验证码 + * + * @param int $mobile 手机号 + * @param int $code 验证码,为空时将自动生成4位数字 + * @param string $event 事件 + * @return boolean + */ + public static function send($mobile, $code = null, $event = 'default') + { + $code = is_null($code) ? mt_rand(1000, 9999) : $code; + $time = time(); + $ip = request()->ip(); + $sms = \app\common\model\Sms::create(['event' => $event, 'mobile' => $mobile, 'code' => $code, 'ip' => $ip, 'createtime' => $time]); + $result = Hook::listen('sms_send', $sms, null, true); + if (!$result) { + $sms->delete(); + return false; + } + return true; + } + + /** + * 发送通知 + * + * @param mixed $mobile 手机号,多个以,分隔 + * @param string $msg 消息内容 + * @param string $template 消息模板 + * @return boolean + */ + public static function notice($mobile, $msg = '', $template = null) + { + $params = [ + 'mobile' => $mobile, + 'msg' => $msg, + 'template' => $template + ]; + $result = Hook::listen('sms_notice', $params, null, true); + return $result ? true : false; + } + + /** + * 校验验证码 + * + * @param int $mobile 手机号 + * @param int $code 验证码 + * @param string $event 事件 + * @return boolean + */ + public static function check($mobile, $code, $event = 'default') + { + $time = time() - self::$expire; + $sms = \app\common\model\Sms::where(['mobile' => $mobile, 'event' => $event]) + ->order('id', 'DESC') + ->find(); + if ($sms) { + if ($sms['createtime'] > $time && $sms['times'] <= self::$maxCheckNums) { + $correct = $code == $sms['code']; + if (!$correct) { + $sms->times = $sms->times + 1; + $sms->save(); + return false; + } else { + $result = Hook::listen('sms_check', $sms, null, true); + return $result; + } + } else { + // 过期则清空该手机验证码 + self::flush($mobile, $event); + return false; + } + } else { + return false; + } + } + + /** + * 清空指定手机号验证码 + * + * @param int $mobile 手机号 + * @param string $event 事件 + * @return boolean + */ + public static function flush($mobile, $event = 'default') + { + \app\common\model\Sms:: + where(['mobile' => $mobile, 'event' => $event]) + ->delete(); + Hook::listen('sms_flush'); + return true; + } +} diff --git a/application/common/library/Token.php b/application/common/library/Token.php index 2751f644..e9cd5e35 100644 --- a/application/common/library/Token.php +++ b/application/common/library/Token.php @@ -25,8 +25,8 @@ class Token /** * 连接Token驱动 * @access public - * @param array $options 配置数组 - * @param bool|string $name Token连接标识 true 强制重新连接 + * @param array $options 配置数组 + * @param bool|string $name Token连接标识 true 强制重新连接 * @return Driver */ public static function connect(array $options = [], $name = false) @@ -102,8 +102,8 @@ class Token /** * 读取Token * @access public - * @param string $token Token标识 - * @param mixed $default 默认值 + * @param string $token Token标识 + * @param mixed $default 默认值 * @return mixed */ public static function get($token, $default = false) @@ -114,9 +114,9 @@ class Token /** * 写入Token * @access public - * @param string $token Token标识 - * @param mixed $user_id 存储数据 - * @param int|null $expire 有效时间 0为永久 + * @param string $token Token标识 + * @param mixed $user_id 存储数据 + * @param int|null $expire 有效时间 0为永久 * @return boolean */ public static function set($token, $user_id, $expire = null) diff --git a/application/common/library/token/Driver.php b/application/common/library/token/Driver.php index 7e2dfa77..03463024 100644 --- a/application/common/library/token/Driver.php +++ b/application/common/library/token/Driver.php @@ -21,9 +21,9 @@ abstract class Driver /** * 存储Token - * @param string $token Token - * @param int $user_id 会员ID - * @param int $expire 过期时长,0表示无限,单位秒 + * @param string $token Token + * @param int $user_id 会员ID + * @param int $expire 过期时长,0表示无限,单位秒 * @return bool */ abstract function set($token, $user_id, $expire = 0); @@ -37,8 +37,8 @@ abstract class Driver /** * 判断Token是否可用 - * @param string $token Token - * @param int $user_id 会员ID + * @param string $token Token + * @param int $user_id 会员ID * @return boolean */ abstract function check($token, $user_id); diff --git a/application/common/library/token/driver/Mysql.php b/application/common/library/token/driver/Mysql.php index 5884d836..3859e260 100644 --- a/application/common/library/token/driver/Mysql.php +++ b/application/common/library/token/driver/Mysql.php @@ -40,9 +40,9 @@ class Mysql extends Driver /** * 存储Token - * @param string $token Token - * @param int $user_id 会员ID - * @param int $expire 过期时长,0表示无限,单位秒 + * @param string $token Token + * @param int $user_id 会员ID + * @param int $expire 过期时长,0表示无限,单位秒 * @return bool */ public function set($token, $user_id, $expire = null) @@ -77,8 +77,8 @@ class Mysql extends Driver /** * 判断Token是否可用 - * @param string $token Token - * @param int $user_id 会员ID + * @param string $token Token + * @param int $user_id 会员ID * @return boolean */ public function check($token, $user_id) diff --git a/application/common/library/token/driver/Redis.php b/application/common/library/token/driver/Redis.php index 0f187eb4..0aa0caaa 100644 --- a/application/common/library/token/driver/Redis.php +++ b/application/common/library/token/driver/Redis.php @@ -75,9 +75,9 @@ class Redis extends Driver /** * 存储Token - * @param string $token Token - * @param int $user_id 会员ID - * @param int $expire 过期时长,0表示无限,单位秒 + * @param string $token Token + * @param int $user_id 会员ID + * @param int $expire 过期时长,0表示无限,单位秒 * @return bool */ public function set($token, $user_id, $expire = 0) @@ -123,8 +123,8 @@ class Redis extends Driver /** * 判断Token是否可用 - * @param string $token Token - * @param int $user_id 会员ID + * @param string $token Token + * @param int $user_id 会员ID * @return boolean */ public function check($token, $user_id) diff --git a/application/common/model/Category.php b/application/common/model/Category.php index 40e5701a..4adfd5d4 100644 --- a/application/common/model/Category.php +++ b/application/common/model/Category.php @@ -7,7 +7,7 @@ use think\Model; /** * 分类模型 */ -class Category Extends Model +class Category extends Model { // 开启自动写入时间戳字段 @@ -40,8 +40,7 @@ class Category Extends Model public static function getTypeList() { $typeList = config('site.categorytype'); - foreach ($typeList as $k => &$v) - { + foreach ($typeList as $k => &$v) { $v = __($v); } return $typeList; @@ -69,23 +68,20 @@ class Category Extends Model /** * 读取分类列表 - * @param string $type 指定类型 - * @param string $status 指定状态 + * @param string $type 指定类型 + * @param string $status 指定状态 * @return array */ - public static function getCategoryArray($type = NULL, $status = NULL) + public static function getCategoryArray($type = null, $status = null) { - $list = collection(self::where(function($query) use($type, $status) { - if (!is_null($type)) - { - $query->where('type', '=', $type); - } - if (!is_null($status)) - { - $query->where('status', '=', $status); - } - })->order('weigh', 'desc')->select())->toArray(); + $list = collection(self::where(function ($query) use ($type, $status) { + if (!is_null($type)) { + $query->where('type', '=', $type); + } + if (!is_null($status)) { + $query->where('status', '=', $status); + } + })->order('weigh', 'desc')->select())->toArray(); return $list; } - } diff --git a/application/common/model/Version.php b/application/common/model/Version.php index 2c72485d..56bcbca4 100644 --- a/application/common/model/Version.php +++ b/application/common/model/Version.php @@ -1,54 +1,50 @@ -cache('__version__')->order('weigh desc,id desc')->select(); - foreach ($versionlist as $k => $v) - { - // 版本正常且新版本号不等于验证的版本号且找到匹配的旧版本 - if ($v['status'] == 'normal' && $v['newversion'] !== $version && \fast\Version::check($version, $v['oldversion'])) - { - $updateversion = $v; - break; - } - } - if (isset($updateversion)) - { - $search = ['{version}', '{newversion}', '{downloadurl}', '{url}', '{packagesize}']; - $replace = [$version, $updateversion['newversion'], $updateversion['downloadurl'], $updateversion['downloadurl'], $updateversion['packagesize']]; - $upgradetext = str_replace($search, $replace, $updateversion['content']); - return [ - "enforce" => $updateversion['enforce'], - "version" => $version, - "newversion" => $updateversion['newversion'], - "downloadurl" => $updateversion['downloadurl'], - "packagesize" => $updateversion['packagesize'], - "upgradetext" => $upgradetext - ]; - } - return NULL; - } - -} +cache('__version__')->order('weigh desc,id desc')->select(); + foreach ($versionlist as $k => $v) { + // 版本正常且新版本号不等于验证的版本号且找到匹配的旧版本 + if ($v['status'] == 'normal' && $v['newversion'] !== $version && \fast\Version::check($version, $v['oldversion'])) { + $updateversion = $v; + break; + } + } + if (isset($updateversion)) { + $search = ['{version}', '{newversion}', '{downloadurl}', '{url}', '{packagesize}']; + $replace = [$version, $updateversion['newversion'], $updateversion['downloadurl'], $updateversion['downloadurl'], $updateversion['packagesize']]; + $upgradetext = str_replace($search, $replace, $updateversion['content']); + return [ + "enforce" => $updateversion['enforce'], + "version" => $version, + "newversion" => $updateversion['newversion'], + "downloadurl" => $updateversion['downloadurl'], + "packagesize" => $updateversion['packagesize'], + "upgradetext" => $upgradetext + ]; + } + return null; + } +} diff --git a/application/config.php b/application/config.php index 03cfc423..25a7901d 100755 --- a/application/config.php +++ b/application/config.php @@ -272,7 +272,7 @@ return [ //自动检测更新 'checkupdate' => false, //版本号 - 'version' => '1.0.0.20190318_beta', + 'version' => '1.0.0.20190407_beta', //API接口地址 'api_url' => 'https://api.fastadmin.net', ], diff --git a/application/index/controller/Index.php b/application/index/controller/Index.php index ba5aaf4d..e72ff83a 100755 --- a/application/index/controller/Index.php +++ b/application/index/controller/Index.php @@ -12,11 +12,6 @@ class Index extends Frontend protected $noNeedRight = '*'; protected $layout = ''; - public function _initialize() - { - parent::_initialize(); - } - public function index() { return $this->view->fetch(); diff --git a/application/index/view/layout/default.html b/application/index/view/layout/default.html index 762a83d2..462ff090 100644 --- a/application/index/view/layout/default.html +++ b/application/index/view/layout/default.html @@ -61,7 +61,7 @@ {include file="common/script" /} diff --git a/application/index/view/user/login.html b/application/index/view/user/login.html index f2a2c281..6184b730 100755 --- a/application/index/view/user/login.html +++ b/application/index/view/user/login.html @@ -36,7 +36,7 @@
- +
diff --git a/application/index/view/user/profile.html b/application/index/view/user/profile.html index 94192f6b..91a873ac 100644 --- a/application/index/view/user/profile.html +++ b/application/index/view/user/profile.html @@ -39,7 +39,7 @@
{:token()} - +
diff --git a/extend/fast/Auth.php b/extend/fast/Auth.php index 5e3b4c4a..396c4cfc 100644 --- a/extend/fast/Auth.php +++ b/extend/fast/Auth.php @@ -56,14 +56,9 @@ class Auth 'auth_user' => 'user', // 用户信息表 ]; - /** - * 类架构函数 - * Auth constructor. - */ public function __construct() { - if ($auth = Config::get('auth')) - { + if ($auth = Config::get('auth')) { $this->config = array_merge($this->config, $auth); } // 初始化request @@ -78,8 +73,7 @@ class Auth */ public static function instance($options = []) { - if (is_null(self::$instance)) - { + if (is_null(self::$instance)) { self::$instance = new static($options); } @@ -88,69 +82,56 @@ class Auth /** * 检查权限 - * @param $name string|array 需要验证的规则列表,支持逗号分隔的权限规则或索引数组 - * @param $uid int 认证用户的id - * @param string $relation 如果为 'or' 表示满足任一条规则即通过验证;如果为 'and'则表示需满足所有规则才能通过验证 - * @param string $mode 执行验证的模式,可分为url,normal - * @return bool 通过验证返回true;失败返回false + * @param string|array $name 需要验证的规则列表,支持逗号分隔的权限规则或索引数组 + * @param int $uid 认证用户的id + * @param string $relation 如果为 'or' 表示满足任一条规则即通过验证;如果为 'and'则表示需满足所有规则才能通过验证 + * @param string $mode 执行验证的模式,可分为url,normal + * @return bool 通过验证返回true;失败返回false */ public function check($name, $uid, $relation = 'or', $mode = 'url') { - if (!$this->config['auth_on']) - { + if (!$this->config['auth_on']) { return true; } // 获取用户需要验证的所有有效规则列表 $rulelist = $this->getRuleList($uid); - if (in_array('*', $rulelist)) + if (in_array('*', $rulelist)) { return true; + } - if (is_string($name)) - { + if (is_string($name)) { $name = strtolower($name); - if (strpos($name, ',') !== false) - { + if (strpos($name, ',') !== false) { $name = explode(',', $name); - } - else - { + } else { $name = [$name]; } } $list = []; //保存验证通过的规则名 - if ('url' == $mode) - { + if ('url' == $mode) { $REQUEST = unserialize(strtolower(serialize($this->request->param()))); } - foreach ($rulelist as $rule) - { + foreach ($rulelist as $rule) { $query = preg_replace('/^.+\?/U', '', $rule); - if ('url' == $mode && $query != $rule) - { + if ('url' == $mode && $query != $rule) { parse_str($query, $param); //解析规则中的param $intersect = array_intersect_assoc($REQUEST, $param); $rule = preg_replace('/\?.*$/U', '', $rule); - if (in_array($rule, $name) && $intersect == $param) - { + if (in_array($rule, $name) && $intersect == $param) { //如果节点相符且url参数满足 $list[] = $rule; } - } - else - { - if (in_array($rule, $name)) - { + } else { + if (in_array($rule, $name)) { $list[] = $rule; } } } - if ('or' == $relation && !empty($list)) - { + if ('or' == $relation && !empty($list)) { return true; } $diff = array_diff($name, $list); - if ('and' == $relation && empty($diff)) - { + if ('and' == $relation && empty($diff)) { return true; } @@ -159,51 +140,47 @@ class Auth /** * 根据用户id获取用户组,返回值为数组 - * @param $uid int 用户id + * @param int $uid 用户id * @return array 用户所属的用户组 array( - * array('uid'=>'用户id','group_id'=>'用户组id','name'=>'用户组名称','rules'=>'用户组拥有的规则id,多个,号隔开'), - * ...) + * array('uid'=>'用户id','group_id'=>'用户组id','name'=>'用户组名称','rules'=>'用户组拥有的规则id,多个,号隔开'), + * ...) */ public function getGroups($uid) { static $groups = []; - if (isset($groups[$uid])) - { + if (isset($groups[$uid])) { return $groups[$uid]; } // 执行查询 $user_groups = Db::name($this->config['auth_group_access']) - ->alias('aga') - ->join('__' . strtoupper($this->config['auth_group']) . '__ ag', 'aga.group_id = ag.id', 'LEFT') - ->field('aga.uid,aga.group_id,ag.id,ag.pid,ag.name,ag.rules') - ->where("aga.uid='{$uid}' and ag.status='normal'") - ->select(); + ->alias('aga') + ->join('__' . strtoupper($this->config['auth_group']) . '__ ag', 'aga.group_id = ag.id', 'LEFT') + ->field('aga.uid,aga.group_id,ag.id,ag.pid,ag.name,ag.rules') + ->where("aga.uid='{$uid}' and ag.status='normal'") + ->select(); $groups[$uid] = $user_groups ?: []; return $groups[$uid]; } /** * 获得权限规则列表 - * @param integer $uid 用户id + * @param int $uid 用户id * @return array */ public function getRuleList($uid) { static $_rulelist = []; //保存用户验证通过的权限列表 - if (isset($_rulelist[$uid])) - { + if (isset($_rulelist[$uid])) { return $_rulelist[$uid]; } - if (2 == $this->config['auth_type'] && Session::has('_rule_list_' . $uid)) - { + if (2 == $this->config['auth_type'] && Session::has('_rule_list_' . $uid)) { return Session::get('_rule_list_' . $uid); } // 读取用户规则节点 $ids = $this->getRuleIds($uid); - if (empty($ids)) - { + if (empty($ids)) { $_rulelist[$uid] = []; return []; } @@ -212,8 +189,7 @@ class Auth $where = [ 'status' => 'normal' ]; - if (!in_array('*', $ids)) - { + if (!in_array('*', $ids)) { $where['id'] = ['in', $ids]; } //读取用户组所有权限规则 @@ -221,34 +197,27 @@ class Auth //循环规则,判断结果。 $rulelist = []; // - if (in_array('*', $ids)) - { + if (in_array('*', $ids)) { $rulelist[] = "*"; } - foreach ($this->rules as $rule) - { + foreach ($this->rules as $rule) { //超级管理员无需验证condition - if (!empty($rule['condition']) && !in_array('*', $ids)) - { + if (!empty($rule['condition']) && !in_array('*', $ids)) { //根据condition进行验证 $user = $this->getUserInfo($uid); //获取用户信息,一维数组 $command = preg_replace('/\{(\w*?)\}/', '$user[\'\\1\']', $rule['condition']); @(eval('$condition=(' . $command . ');')); - if ($condition) - { + if ($condition) { $rulelist[$rule['id']] = strtolower($rule['name']); } - } - else - { + } else { //只要存在就记录 $rulelist[$rule['id']] = strtolower($rule['name']); } } $_rulelist[$uid] = $rulelist; //登录验证则需要保存规则列表 - if (2 == $this->config['auth_type']) - { + if (2 == $this->config['auth_type']) { //规则列表结果保存到session Session::set('_rule_list_' . $uid, $rulelist); } @@ -260,8 +229,7 @@ class Auth //读取用户所属用户组 $groups = $this->getGroups($uid); $ids = []; //保存用户所属用户组设置的所有权限规则id - foreach ($groups as $g) - { + foreach ($groups as $g) { $ids = array_merge($ids, explode(',', trim($g['rules'], ','))); } $ids = array_unique($ids); @@ -270,7 +238,7 @@ class Auth /** * 获得用户资料 - * @param $uid + * @param int $uid 用户id * @return mixed */ protected function getUserInfo($uid) @@ -280,12 +248,10 @@ class Auth $user = Db::name($this->config['auth_user']); // 获取用户表主键 $_pk = is_string($user->getPk()) ? $user->getPk() : 'uid'; - if (!isset($user_info[$uid])) - { + if (!isset($user_info[$uid])) { $user_info[$uid] = $user->where($_pk, $uid)->find(); } return $user_info[$uid]; } - -} +} \ No newline at end of file diff --git a/extend/fast/Date.php b/extend/fast/Date.php index f592a4f5..834c5771 100644 --- a/extend/fast/Date.php +++ b/extend/fast/Date.php @@ -7,7 +7,6 @@ namespace fast; */ class Date { - const YEAR = 31536000; const MONTH = 2592000; const WEEK = 604800; @@ -23,20 +22,18 @@ class Date * [!!] A list of time zones that PHP supports can be found at * . * - * @param string $remote timezone that to find the offset of - * @param string $local timezone used as the baseline - * @param mixed $now UNIX timestamp or date string + * @param string $remote timezone that to find the offset of + * @param string $local timezone used as the baseline + * @param mixed $now UNIX timestamp or date string * @return integer */ - public static function offset($remote, $local = NULL, $now = NULL) + public static function offset($remote, $local = null, $now = null) { - if ($local === NULL) - { + if ($local === null) { // Use the default timezone $local = date_default_timezone_get(); } - if (is_int($now)) - { + if (is_int($now)) { // Convert the timestamp into a string $now = date(DateTime::RFC2822, $now); } @@ -57,21 +54,20 @@ class Date * $span = self::span(60, 182, 'minutes,seconds'); // array('minutes' => 2, 'seconds' => 2) * $span = self::span(60, 182, 'minutes'); // 2 * - * @param int $remote timestamp to find the span of - * @param int $local timestamp to use as the baseline - * @param string $output formatting string + * @param int $remote timestamp to find the span of + * @param int $local timestamp to use as the baseline + * @param string $output formatting string * @return string when only a single output is requested * @return array associative list of all outputs requested * @from https://github.com/kohana/ohanzee-helpers/blob/master/src/Date.php */ - public static function span($remote, $local = NULL, $output = 'years,months,weeks,days,hours,minutes,seconds') + public static function span($remote, $local = null, $output = 'years,months,weeks,days,hours,minutes,seconds') { // Normalize output - $output = trim(strtolower((string) $output)); - if (!$output) - { + $output = trim(strtolower((string)$output)); + if (!$output) { // Invalid output - return FALSE; + return false; } // Array with the output formats $output = preg_split('/[^a-z]+/', $output); @@ -79,44 +75,35 @@ class Date $output = array_combine($output, array_fill(0, count($output), 0)); // Make the output values into keys extract(array_flip($output), EXTR_SKIP); - if ($local === NULL) - { + if ($local === null) { // Calculate the span from the current time $local = time(); } // Calculate timespan (seconds) $timespan = abs($remote - $local); - if (isset($output['years'])) - { - $timespan -= self::YEAR * ($output['years'] = (int) floor($timespan / self::YEAR)); + if (isset($output['years'])) { + $timespan -= self::YEAR * ($output['years'] = (int)floor($timespan / self::YEAR)); } - if (isset($output['months'])) - { - $timespan -= self::MONTH * ($output['months'] = (int) floor($timespan / self::MONTH)); + if (isset($output['months'])) { + $timespan -= self::MONTH * ($output['months'] = (int)floor($timespan / self::MONTH)); } - if (isset($output['weeks'])) - { - $timespan -= self::WEEK * ($output['weeks'] = (int) floor($timespan / self::WEEK)); + if (isset($output['weeks'])) { + $timespan -= self::WEEK * ($output['weeks'] = (int)floor($timespan / self::WEEK)); } - if (isset($output['days'])) - { - $timespan -= self::DAY * ($output['days'] = (int) floor($timespan / self::DAY)); + if (isset($output['days'])) { + $timespan -= self::DAY * ($output['days'] = (int)floor($timespan / self::DAY)); } - if (isset($output['hours'])) - { - $timespan -= self::HOUR * ($output['hours'] = (int) floor($timespan / self::HOUR)); + if (isset($output['hours'])) { + $timespan -= self::HOUR * ($output['hours'] = (int)floor($timespan / self::HOUR)); } - if (isset($output['minutes'])) - { - $timespan -= self::MINUTE * ($output['minutes'] = (int) floor($timespan / self::MINUTE)); + if (isset($output['minutes'])) { + $timespan -= self::MINUTE * ($output['minutes'] = (int)floor($timespan / self::MINUTE)); } // Seconds ago, 1 - if (isset($output['seconds'])) - { + if (isset($output['seconds'])) { $output['seconds'] = $timespan; } - if (count($output) === 1) - { + if (count($output) === 1) { // Only a single output was requested, return it return array_pop($output); } @@ -127,10 +114,10 @@ class Date /** * 格式化 UNIX 时间戳为人易读的字符串 * - * @param int Unix 时间戳 - * @param mixed $local 本地时间 + * @param int Unix 时间戳 + * @param mixed $local 本地时间 * - * @return string 格式化的日期字符串 + * @return string 格式化的日期字符串 */ public static function human($remote, $local = null) { @@ -145,12 +132,10 @@ class Date array(1, 'second') ); - for ($i = 0, $j = count($chunks); $i < $j; $i++) - { + for ($i = 0, $j = count($chunks); $i < $j; $i++) { $seconds = $chunks[$i][0]; $name = $chunks[$i][1]; - if (($count = floor($timediff / $seconds)) != 0) - { + if (($count = floor($timediff / $seconds)) != 0) { break; } } @@ -160,14 +145,14 @@ class Date /** * 获取一个基于时间偏移的Unix时间戳 * - * @param string $type 时间类型,默认为day,可选minute,hour,day,week,month,quarter,year - * @param int $offset 时间偏移量 默认为0,正数表示当前type之后,负数表示当前type之前 + * @param string $type 时间类型,默认为day,可选minute,hour,day,week,month,quarter,year + * @param int $offset 时间偏移量 默认为0,正数表示当前type之后,负数表示当前type之前 * @param string $position 时间的开始或结束,默认为begin,可选前(begin,start,first,front),end - * @param int $year 基准年,默认为null,即以当前年为基准 - * @param int $month 基准月,默认为null,即以当前月为基准 - * @param int $day 基准天,默认为null,即以当前天为基准 - * @param int $hour 基准小时,默认为null,即以当前年小时基准 - * @param int $minute 基准分钟,默认为null,即以当前分钟为基准 + * @param int $year 基准年,默认为null,即以当前年为基准 + * @param int $month 基准月,默认为null,即以当前月为基准 + * @param int $day 基准天,默认为null,即以当前天为基准 + * @param int $hour 基准小时,默认为null,即以当前年小时基准 + * @param int $minute 基准分钟,默认为null,即以当前分钟为基准 * @return int 处理后的Unix时间戳 */ public static function unixtime($type = 'day', $offset = 0, $position = 'begin', $year = null, $month = null, $day = null, $hour = null, $minute = null) @@ -179,8 +164,7 @@ class Date $minute = is_null($minute) ? date('i') : $minute; $position = in_array($position, array('begin', 'start', 'first', 'front')); - switch ($type) - { + switch ($type) { case 'minute': $time = $position ? mktime($hour, $minute + $offset, 0, $month, $day, $year) : mktime($hour, $minute + $offset, 59, $month, $day, $year); break; @@ -192,16 +176,16 @@ class Date break; case 'week': $time = $position ? - mktime(0, 0, 0, $month, $day - date("w", mktime(0, 0, 0, $month, $day, $year)) + 1 - 7 * (-$offset), $year) : - mktime(23, 59, 59, $month, $day - date("w", mktime(0, 0, 0, $month, $day, $year)) + 7 - 7 * (-$offset), $year); + mktime(0, 0, 0, $month, $day - date("w", mktime(0, 0, 0, $month, $day, $year)) + 1 - 7 * (-$offset), $year) : + mktime(23, 59, 59, $month, $day - date("w", mktime(0, 0, 0, $month, $day, $year)) + 7 - 7 * (-$offset), $year); break; case 'month': $time = $position ? mktime(0, 0, 0, $month + $offset, 1, $year) : mktime(23, 59, 59, $month + $offset, cal_days_in_month(CAL_GREGORIAN, $month + $offset, $year), $year); break; case 'quarter': $time = $position ? - mktime(0, 0, 0, 1 + ((ceil(date('n', mktime(0, 0, 0, $month, $day, $year)) / 3) + $offset) - 1) * 3, 1, $year) : - mktime(23, 59, 59, (ceil(date('n', mktime(0, 0, 0, $month, $day, $year)) / 3) + $offset) * 3, cal_days_in_month(CAL_GREGORIAN, (ceil(date('n', mktime(0, 0, 0, $month, $day, $year)) / 3) + $offset) * 3, $year), $year); + mktime(0, 0, 0, 1 + ((ceil(date('n', mktime(0, 0, 0, $month, $day, $year)) / 3) + $offset) - 1) * 3, 1, $year) : + mktime(23, 59, 59, (ceil(date('n', mktime(0, 0, 0, $month, $day, $year)) / 3) + $offset) * 3, cal_days_in_month(CAL_GREGORIAN, (ceil(date('n', mktime(0, 0, 0, $month, $day, $year)) / 3) + $offset) * 3, $year), $year); break; case 'year': $time = $position ? mktime(0, 0, 0, 1, 1, $year + $offset) : mktime(23, 59, 59, 12, 31, $year + $offset); @@ -212,5 +196,4 @@ class Date } return $time; } - } diff --git a/extend/fast/Form.php b/extend/fast/Form.php index 0b25f391..7d5933cc 100644 --- a/extend/fast/Form.php +++ b/extend/fast/Form.php @@ -6,7 +6,7 @@ use ArrayAccess; /** * 表单元素生成 - * @class Form + * @class Form * @package fast * @method string token() static 生成Token * @method string label(string $name, string $value = null, array $options = []) static label标签 @@ -51,11 +51,6 @@ use ArrayAccess; class Form { - public function __construct() - { - - } - /** * @param $name * @param $arguments @@ -65,7 +60,6 @@ class Form { return call_user_func_array([FormBuilder::instance(), $name], $arguments); } - } /** @@ -105,11 +99,6 @@ class FormBuilder protected $escapeHtml = true; protected static $instance; - public function __construct() - { - - } - /** * 获取单例 * @param array $options @@ -170,7 +159,7 @@ class FormBuilder * * @param string $name * @param string $value - * @param array $options + * @param array $options * @return string */ public function label($name, $value = null, $options = []) @@ -186,7 +175,7 @@ class FormBuilder /** * Format the label value. * - * @param string $name + * @param string $name * @param string|null $value * @return string */ @@ -201,13 +190,14 @@ class FormBuilder * @param string $type * @param string $name * @param string $value - * @param array $options + * @param array $options * @return string */ public function input($type, $name, $value = null, $options = []) { - if (!isset($options['name'])) + if (!isset($options['name'])) { $options['name'] = $name; + } $id = $this->getIdAttribute($name, $options); @@ -227,7 +217,7 @@ class FormBuilder * * @param string $name * @param string $value - * @param array $options + * @param array $options * @return string */ public function text($name, $value = null, $options = []) @@ -239,7 +229,7 @@ class FormBuilder * 生成密码文本框 * * @param string $name - * @param array $options + * @param array $options * @return string */ public function password($name, $options = []) @@ -252,7 +242,7 @@ class FormBuilder * * @param string $name * @param string $value - * @param array $options + * @param array $options * @return string */ public function hidden($name, $value = null, $options = []) @@ -265,7 +255,7 @@ class FormBuilder * * @param string $name * @param string $value - * @param array $options + * @param array $options * @return string */ public function email($name, $value = null, $options = []) @@ -278,7 +268,7 @@ class FormBuilder * * @param string $name * @param string $value - * @param array $options + * @param array $options * @return string */ public function url($name, $value = null, $options = []) @@ -290,7 +280,7 @@ class FormBuilder * 生成上传文件组件 * * @param string $name - * @param array $options + * @param array $options * @return string */ public function file($name, $options = []) @@ -303,13 +293,14 @@ class FormBuilder * * @param string $name * @param string $value - * @param array $options + * @param array $options * @return string */ public function textarea($name, $value = null, $options = []) { - if (!isset($options['name'])) + if (!isset($options['name'])) { $options['name'] = $name; + } $options = $this->setTextAreaSize($options); $options['id'] = $this->getIdAttribute($name, $options); @@ -328,7 +319,7 @@ class FormBuilder * * @param string $name * @param string $value - * @param array $options + * @param array $options * @return string */ public function editor($name, $value = null, $options = []) @@ -369,28 +360,29 @@ class FormBuilder /** * 生成滑块 - * + * * @param string $name * @param string $min * @param string $max * @param string $step * @param string $value - * @param array $options + * @param array $options * @return string */ public function slider($name, $min, $max, $step, $value = null, $options = []) { - $options = array_merge($options, ['data-slider-min' => $min, 'data-slider-max' => $max, 'data-slider-step' => $step,'data-slider-value' => $value ? $value : '']); + $options = array_merge($options, ['data-slider-min' => $min, 'data-slider-max' => $max, 'data-slider-step' => $step, 'data-slider-value' => $value ? $value : '']); $options['class'] = isset($options['class']) ? $options['class'] . (stripos($options['class'], 'form-control') !== false ? '' : ' slider form-control') : 'slider form-control'; return $this->input('text', $name, $value, $options); } + /** * 生成下拉列表框 * * @param string $name - * @param array $list - * @param mixed $selected - * @param array $options + * @param array $list + * @param mixed $selected + * @param array $options * @return string */ public function select($name, $list = [], $selected = null, $options = []) @@ -399,8 +391,9 @@ class FormBuilder $options['id'] = $this->getIdAttribute($name, $options); - if (!isset($options['name'])) + if (!isset($options['name'])) { $options['name'] = $name; + } $html = []; foreach ($list as $value => $display) { @@ -418,9 +411,9 @@ class FormBuilder * 下拉列表(多选) * * @param string $name - * @param array $list - * @param mixed $selected - * @param array $options + * @param array $list + * @param mixed $selected + * @param array $options * @return string */ public function selects($name, $list = [], $selected = null, $options = []) @@ -433,9 +426,9 @@ class FormBuilder * 下拉列表(友好) * * @param string $name - * @param array $list - * @param mixed $selected - * @param array $options + * @param array $list + * @param mixed $selected + * @param array $options * @return string */ public function selectpicker($name, $list = [], $selected = null, $options = []) @@ -448,9 +441,9 @@ class FormBuilder * 下拉列表(友好)(多选) * * @param string $name - * @param array $list - * @param mixed $selected - * @param array $options + * @param array $list + * @param mixed $selected + * @param array $options * @return string */ public function selectpickers($name, $list = [], $selected = null, $options = []) @@ -462,12 +455,12 @@ class FormBuilder /** * 生成动态下拉列表 * - * @param string $name 名称 - * @param mixed $value - * @param string $url 数据源地址 - * @param string $field 显示的字段名称,默认为name + * @param string $name 名称 + * @param mixed $value + * @param string $url 数据源地址 + * @param string $field 显示的字段名称,默认为name * @param string $primaryKey 主键,数据库中保存的值,默认为id - * @param array $options + * @param array $options * @return string */ public function selectpage($name, $value, $url, $field = null, $primaryKey = null, $options = []) @@ -481,12 +474,12 @@ class FormBuilder /** * 生成动态下拉列表(复选) * - * @param string $name 名称 - * @param mixed $value - * @param string $url 数据源地址 - * @param string $field 显示的字段名称,默认为name + * @param string $name 名称 + * @param mixed $value + * @param string $url 数据源地址 + * @param string $field 显示的字段名称,默认为name * @param string $primaryKey 主键,数据库中保存的值,默认为id - * @param array $options + * @param array $options * @return string */ public function selectpages($name, $value, $url, $field = null, $primaryKey = null, $options = []) @@ -499,8 +492,8 @@ class FormBuilder * 生成城市选择框 * * @param string $name - * @param mixed $value - * @param array $options + * @param mixed $value + * @param array $options * @return string */ public function citypicker($name, $value, $options = []) @@ -513,8 +506,8 @@ class FormBuilder * 生成switch组件 * * @param string $name - * @param mixed $value - * @param array $options + * @param mixed $value + * @param array $options * @return string */ public function switcher($name, $value, $options = []) @@ -542,8 +535,8 @@ EOD; /** * 日期选择器 * @param string $name - * @param mixed $value - * @param array $options + * @param mixed $value + * @param array $options * @return string */ public function datepicker($name, $value, $options = []) @@ -560,8 +553,8 @@ EOD; * 时间选择器 * * @param string $name - * @param mixed $value - * @param array $options + * @param mixed $value + * @param array $options * @return string */ public function timepicker($name, $value, $options = []) @@ -578,8 +571,8 @@ EOD; * 日期时间选择器 * * @param string $name - * @param mixed $value - * @param array $options + * @param mixed $value + * @param array $options * @return string */ public function datetimepicker($name, $value, $options = []) @@ -599,7 +592,7 @@ EOD; * * @param string $name * @param string $value - * @param array $options + * @param array $options * @return string */ public function daterange($name, $value, $options = []) @@ -618,7 +611,7 @@ EOD; * * @param string $name * @param string $value - * @param array $options + * @param array $options * @return string */ public function timerange($name, $value, $options = []) @@ -640,7 +633,7 @@ EOD; * * @param string $name * @param string $value - * @param array $options + * @param array $options * @return string */ public function datetimerange($name, $value, $options = []) @@ -659,10 +652,10 @@ EOD; * 生成字段列表组件 * * @param string $name - * @param mixed $value - * @param array $title + * @param mixed $value + * @param array $title * @param string $template - * @param array $options + * @param array $options * @return string */ public function fieldlist($name, $value, $title = null, $template = null, $options = []) @@ -692,10 +685,10 @@ EOD; /** * 生成联动下拉列表 * - * @param string $url 联动获取数据源的URL地址 - * @param array $names 联动字段名称 - * @param array $values 联动字段默认选中的值 - * @param array $options 扩展属性 + * @param string $url 联动获取数据源的URL地址 + * @param array $names 联动字段名称 + * @param array $values 联动字段默认选中的值 + * @param array $options 扩展属性 * @return string */ public function cxselect($url, $names = [], $values = [], $options = []) @@ -730,7 +723,7 @@ EOD; * @param string $begin * @param string $end * @param string $selected - * @param array $options + * @param array $options * @return string */ public function selectRange($name, $begin, $end, $selected = null, $options = []) @@ -746,7 +739,7 @@ EOD; * @param string $begin * @param string $end * @param string $selected - * @param array $options + * @param array $options * @return string */ public function selectYear($name, $begin, $end, $selected, $options) @@ -759,7 +752,7 @@ EOD; * * @param string $name * @param string $selected - * @param array $options + * @param array $options * @param string $format * @return string */ @@ -794,7 +787,7 @@ EOD; /** * 生成optionGroup * - * @param array $list + * @param array $list * @param string $label * @param string $selected * @return string @@ -847,15 +840,16 @@ EOD; * 生成复选按钮 * * @param string $name - * @param mixed $value - * @param bool $checked - * @param array $options + * @param mixed $value + * @param bool $checked + * @param array $options * @return string */ public function checkbox($name, $value = 1, $checked = null, $options = []) { - if ($checked) + if ($checked) { $options['checked'] = 'checked'; + } return $this->input('checkbox', $name, $value, $options); } @@ -864,9 +858,9 @@ EOD; * 生成一组筛选框 * * @param string $name - * @param array $list - * @param mixed $checked - * @param array $options + * @param array $list + * @param mixed $checked + * @param array $options * @return string */ public function checkboxs($name, $list, $checked, $options = []) @@ -885,18 +879,20 @@ EOD; * 生成单选按钮 * * @param string $name - * @param mixed $value - * @param bool $checked - * @param array $options + * @param mixed $value + * @param bool $checked + * @param array $options * @return string */ public function radio($name, $value = null, $checked = null, $options = []) { - if (is_null($value)) + if (is_null($value)) { $value = $name; + } - if ($checked) + if ($checked) { $options['checked'] = 'checked'; + } return $this->input('radio', $name, $value, $options); } @@ -905,9 +901,9 @@ EOD; * 生成一组单选框 * * @param string $name - * @param array $list - * @param mixed $checked - * @param array $options + * @param array $list + * @param mixed $checked + * @param array $options * @return string */ public function radios($name, $list, $checked = null, $options = []) @@ -927,15 +923,14 @@ EOD; * * @param string $name * @param string $value - * @param array $inputAttr - * @param array $uploadAttr - * @param array $chooseAttr - * @param array $previewAttr + * @param array $inputAttr + * @param array $uploadAttr + * @param array $chooseAttr + * @param array $previewAttr * @return string */ public function image($name = null, $value, $inputAttr = [], $uploadAttr = [], $chooseAttr = [], $previewAttr = []) { - $default = [ 'data-mimetype' => 'image/gif,image/jpeg,image/png,image/jpg,image/bmp' ]; @@ -949,10 +944,10 @@ EOD; * * @param string $name * @param string $value - * @param array $inputAttr - * @param array $uploadAttr - * @param array $chooseAttr - * @param array $previewAttr + * @param array $inputAttr + * @param array $uploadAttr + * @param array $chooseAttr + * @param array $previewAttr * @return string */ public function images($name = null, $value, $inputAttr = [], $uploadAttr = [], $chooseAttr = [], $previewAttr = []) @@ -971,10 +966,10 @@ EOD; * * @param string $name * @param string $value - * @param array $inputAttr - * @param array $uploadAttr - * @param array $chooseAttr - * @param array $previewAttr + * @param array $inputAttr + * @param array $uploadAttr + * @param array $chooseAttr + * @param array $previewAttr * @return string */ public function upload($name = null, $value, $inputAttr = [], $uploadAttr = [], $chooseAttr = [], $previewAttr = []) @@ -987,10 +982,10 @@ EOD; * * @param string $name * @param string $value - * @param array $inputAttr - * @param array $uploadAttr - * @param array $chooseAttr - * @param array $previewAttr + * @param array $inputAttr + * @param array $uploadAttr + * @param array $chooseAttr + * @param array $previewAttr * @return string */ public function uploads($name = null, $value, $inputAttr = [], $uploadAttr = [], $chooseAttr = [], $previewAttr = []) @@ -1048,7 +1043,7 @@ EOD; * 生成一个按钮 * * @param string $value - * @param array $options + * @param array $options * @return string */ public function button($value = null, $options = []) @@ -1064,12 +1059,11 @@ EOD; * 获取ID属性值 * * @param string $name - * @param array $attributes + * @param array $attributes * @return string */ public function getIdAttribute($name, $attributes) { - if (array_key_exists('id', $attributes)) { return $attributes['id']; } @@ -1088,12 +1082,13 @@ EOD; */ public function getValueAttribute($name, $value = null) { - if (is_null($name)) + if (is_null($name)) { return $value; + } - if (!is_null($value)) + if (!is_null($value)) { return $value; - + } } /** @@ -1110,8 +1105,9 @@ EOD; // 会已 required="required" 拼接起来,而不是用数字keys去拼接 foreach ((array)$attributes as $key => $value) { $element = $this->attributeElement($key, $value); - if (!is_null($element)) + if (!is_null($element)) { $html[] = $element; + } } return count($html) > 0 ? ' ' . implode(' ', $html) : ''; } @@ -1125,8 +1121,9 @@ EOD; */ protected function attributeElement($key, $value) { - if (is_numeric($key)) + if (is_numeric($key)) { $key = $value; + } if (!is_null($value)) { if (is_array($value) || stripos($value, '"') !== false) { $value = is_array($value) ? json_encode($value, JSON_UNESCAPED_UNICODE) : $value; @@ -1136,7 +1133,6 @@ EOD; } } } - } class Arr @@ -1157,7 +1153,7 @@ class Arr * Determine if the given key exists in the provided array. * * @param \ArrayAccess|array $array - * @param string|int $key + * @param string|int $key * @return bool */ public static function exists($array, $key) @@ -1172,8 +1168,8 @@ class Arr * Get an item from an array using "dot" notation. * * @param \ArrayAccess|array $array - * @param string $key - * @param mixed $default + * @param string $key + * @param mixed $default * @return mixed */ public static function get($array, $key, $default = null) @@ -1200,7 +1196,7 @@ class Arr /** * Get all of the given array except for a specified array of items. * - * @param array $array + * @param array $array * @param array|string $keys * @return array */ @@ -1213,7 +1209,7 @@ class Arr /** * Remove one or many array items from a given array using "dot" notation. * - * @param array $array + * @param array $array * @param array|string $keys * @return void */ @@ -1244,7 +1240,6 @@ class Arr unset($array[array_shift($parts)]); } } - } if (!function_exists('array_get')) { @@ -1253,15 +1248,14 @@ if (!function_exists('array_get')) { * Get an item from an array using "dot" notation. * * @param \ArrayAccess|array $array - * @param string $key - * @param mixed $default + * @param string $key + * @param mixed $default * @return mixed */ function array_get($array, $key, $default = null) { return Arr::get($array, $key, $default); } - } if (!function_exists('e')) { @@ -1278,14 +1272,13 @@ if (!function_exists('e')) { } return htmlspecialchars($value, ENT_QUOTES, 'UTF-8', false); } - } if (!function_exists('array_except')) { /** * Get all of the given array except for a specified array of items. * - * @param array $array + * @param array $array * @param array|string $keys * @return array */ @@ -1293,5 +1286,4 @@ if (!function_exists('array_except')) { { return Arr::except($array, $keys); } - -} \ No newline at end of file +} diff --git a/extend/fast/Http.php b/extend/fast/Http.php index 2206bb53..4e98878e 100644 --- a/extend/fast/Http.php +++ b/extend/fast/Http.php @@ -10,6 +10,10 @@ class Http /** * 发送一个POST请求 + * @param string $url 请求URL + * @param array $params 请求参数 + * @param array $options 扩展参数 + * @return mixed|string */ public static function post($url, $params = [], $options = []) { @@ -19,6 +23,10 @@ class Http /** * 发送一个GET请求 + * @param string $url 请求URL + * @param array $params 请求参数 + * @param array $options 扩展参数 + * @return mixed|string */ public static function get($url, $params = [], $options = []) { @@ -28,10 +36,10 @@ class Http /** * CURL发送Request请求,含POST和REQUEST - * @param string $url 请求的链接 - * @param mixed $params 传递的参数 - * @param string $method 请求的方法 - * @param mixed $options CURL的参数 + * @param string $url 请求的链接 + * @param mixed $params 传递的参数 + * @param string $method 请求的方法 + * @param mixed $options CURL的参数 * @return array */ public static function sendRequest($url, $params = [], $method = 'POST', $options = []) @@ -42,53 +50,45 @@ class Http $ch = curl_init(); $defaults = []; - if ('GET' == $method) - { - $geturl = $query_string ? $url . (stripos($url, "?") !== FALSE ? "&" : "?") . $query_string : $url; + if ('GET' == $method) { + $geturl = $query_string ? $url . (stripos($url, "?") !== false ? "&" : "?") . $query_string : $url; $defaults[CURLOPT_URL] = $geturl; - } - else - { + } else { $defaults[CURLOPT_URL] = $url; - if ($method == 'POST') - { + if ($method == 'POST') { $defaults[CURLOPT_POST] = 1; - } - else - { + } else { $defaults[CURLOPT_CUSTOMREQUEST] = $method; } $defaults[CURLOPT_POSTFIELDS] = $query_string; } - $defaults[CURLOPT_HEADER] = FALSE; + $defaults[CURLOPT_HEADER] = false; $defaults[CURLOPT_USERAGENT] = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.98 Safari/537.36"; - $defaults[CURLOPT_FOLLOWLOCATION] = TRUE; - $defaults[CURLOPT_RETURNTRANSFER] = TRUE; + $defaults[CURLOPT_FOLLOWLOCATION] = true; + $defaults[CURLOPT_RETURNTRANSFER] = true; $defaults[CURLOPT_CONNECTTIMEOUT] = 3; $defaults[CURLOPT_TIMEOUT] = 3; // disable 100-continue curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:')); - if ('https' == $protocol) - { - $defaults[CURLOPT_SSL_VERIFYPEER] = FALSE; - $defaults[CURLOPT_SSL_VERIFYHOST] = FALSE; + if ('https' == $protocol) { + $defaults[CURLOPT_SSL_VERIFYPEER] = false; + $defaults[CURLOPT_SSL_VERIFYHOST] = false; } - curl_setopt_array($ch, (array) $options + $defaults); + curl_setopt_array($ch, (array)$options + $defaults); $ret = curl_exec($ch); $err = curl_error($ch); - if (FALSE === $ret || !empty($err)) - { + if (false === $ret || !empty($err)) { $errno = curl_errno($ch); $info = curl_getinfo($ch); curl_close($ch); return [ - 'ret' => FALSE, + 'ret' => false, 'errno' => $errno, 'msg' => $err, 'info' => $info, @@ -96,15 +96,15 @@ class Http } curl_close($ch); return [ - 'ret' => TRUE, + 'ret' => true, 'msg' => $ret, ]; } /** * 异步发送一个请求 - * @param string $url 请求的链接 - * @param mixed $params 请求的参数 + * @param string $url 请求的链接 + * @param mixed $params 请求的参数 * @param string $method 请求的方法 * @return boolean TRUE */ @@ -113,58 +113,56 @@ class Http $method = strtoupper($method); $method = $method == 'POST' ? 'POST' : 'GET'; //构造传递的参数 - if (is_array($params)) - { + if (is_array($params)) { $post_params = []; - foreach ($params as $k => &$v) - { - if (is_array($v)) + foreach ($params as $k => &$v) { + if (is_array($v)) { $v = implode(',', $v); + } $post_params[] = $k . '=' . urlencode($v); } $post_string = implode('&', $post_params); - }else - { + } else { $post_string = $params; } $parts = parse_url($url); //构造查询的参数 - if ($method == 'GET' && $post_string) - { + if ($method == 'GET' && $post_string) { $parts['query'] = isset($parts['query']) ? $parts['query'] . '&' . $post_string : $post_string; $post_string = ''; } $parts['query'] = isset($parts['query']) && $parts['query'] ? '?' . $parts['query'] : ''; //发送socket请求,获得连接句柄 $fp = fsockopen($parts['host'], isset($parts['port']) ? $parts['port'] : 80, $errno, $errstr, 3); - if (!$fp) - return FALSE; + if (!$fp) { + return false; + } //设置超时时间 stream_set_timeout($fp, 3); $out = "{$method} {$parts['path']}{$parts['query']} HTTP/1.1\r\n"; - $out.= "Host: {$parts['host']}\r\n"; - $out.= "Content-Type: application/x-www-form-urlencoded\r\n"; - $out.= "Content-Length: " . strlen($post_string) . "\r\n"; - $out.= "Connection: Close\r\n\r\n"; - if ($post_string !== '') + $out .= "Host: {$parts['host']}\r\n"; + $out .= "Content-Type: application/x-www-form-urlencoded\r\n"; + $out .= "Content-Length: " . strlen($post_string) . "\r\n"; + $out .= "Connection: Close\r\n\r\n"; + if ($post_string !== '') { $out .= $post_string; + } fwrite($fp, $out); //不用关心服务器返回结果 //echo fread($fp, 1024); fclose($fp); - return TRUE; + return true; } /** * 发送文件到客户端 * @param string $file - * @param bool $delaftersend - * @param bool $exitaftersend + * @param bool $delaftersend + * @param bool $exitaftersend */ public static function sendToBrowser($file, $delaftersend = true, $exitaftersend = true) { - if (file_exists($file) && is_readable($file)) - { + if (file_exists($file) && is_readable($file)) { header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment;filename = ' . basename($file)); @@ -176,15 +174,12 @@ class Http ob_clean(); flush(); readfile($file); - if ($delaftersend) - { + if ($delaftersend) { unlink($file); } - if ($exitaftersend) - { + if ($exitaftersend) { exit; } } } - } diff --git a/extend/fast/Pinyin.php b/extend/fast/Pinyin.php index 9bb5d7db..87606535 100644 --- a/extend/fast/Pinyin.php +++ b/extend/fast/Pinyin.php @@ -7,16 +7,15 @@ namespace fast; */ class Pinyin { - protected static $keys = "a|ai|an|ang|ao|ba|bai|ban|bang|bao|bei|ben|beng|bi|bian|biao|bie|bin|bing|bo|bu|ca|cai|can|cang|cao|ce|ceng|cha|chai|chan|chang|chao|che|chen|cheng|chi|chong|chou|chu|chuai|chuan|chuang|chui|chun|chuo|ci|cong|cou|cu|cuan|cui|cun|cuo|da|dai|dan|dang|dao|de|deng|di|dian|diao|die|ding|diu|dong|dou|du|duan|dui|dun|duo|e|en|er|fa|fan|fang|fei|fen|feng|fo|fou|fu|ga|gai|gan|gang|gao|ge|gei|gen|geng|gong|gou|gu|gua|guai|guan|guang|gui|gun|guo|ha|hai|han|hang|hao|he|hei|hen|heng|hong|hou|hu|hua|huai|huan|huang|hui|hun|huo|ji|jia|jian|jiang|jiao|jie|jin|jing|jiong|jiu|ju|juan|jue|jun|ka|kai|kan|kang|kao|ke|ken|keng|kong|kou|ku|kua|kuai|kuan|kuang|kui|kun|kuo|la|lai|lan|lang|lao|le|lei|leng|li|lia|lian|liang|liao|lie|lin|ling|liu|long|lou|lu|lv|luan|lue|lun|luo|ma|mai|man|mang|mao|me|mei|men|meng|mi|mian|miao|mie|min|ming|miu|mo|mou|mu|na|nai|nan|nang|nao|ne|nei|nen|neng|ni|nian|niang|niao|nie|nin|ning|niu|nong|nu|nv|nuan|nue|nuo|o|ou|pa|pai|pan|pang|pao|pei|pen|peng|pi|pian|piao|pie|pin|ping|po|pu|qi|qia|qian|qiang|qiao|qie|qin|qing|qiong|qiu|qu|quan|que|qun|ran|rang|rao|re|ren|reng|ri|rong|rou|ru|ruan|rui|run|ruo|sa|sai|san|sang|sao|se|sen|seng|sha|shai|shan|shang|shao|she|shen|sheng|shi|shou|shu|shua|shuai|shuan|shuang|shui|shun|shuo|si|song|sou|su|suan|sui|sun|suo|ta|tai|tan|tang|tao|te|teng|ti|tian|tiao|tie|ting|tong|tou|tu|tuan|tui|tun|tuo|wa|wai|wan|wang|wei|wen|weng|wo|wu|xi|xia|xian|xiang|xiao|xie|xin|xing|xiong|xiu|xu|xuan|xue|xun|ya|yan|yang|yao|ye|yi|yin|ying|yo|yong|you|yu|yuan|yue|yun|za|zai|zan|zang|zao|ze|zei|zen|zeng|zha|zhai|zhan|zhang|zhao|zhe|zhen|zheng|zhi|zhong|zhou|zhu|zhua|zhuai|zhuan|zhuang|zhui|zhun|zhuo|zi|zong|zou|zu|zuan|zui|zun|zuo"; protected static $values = "-20319|-20317|-20304|-20295|-20292|-20283|-20265|-20257|-20242|-20230|-20051|-20036|-20032|-20026|-20002|-19990|-19986|-19982|-19976|-19805|-19784|-19775|-19774|-19763|-19756|-19751|-19746|-19741|-19739|-19728|-19725|-19715|-19540|-19531|-19525|-19515|-19500|-19484|-19479|-19467|-19289|-19288|-19281|-19275|-19270|-19263|-19261|-19249|-19243|-19242|-19238|-19235|-19227|-19224|-19218|-19212|-19038|-19023|-19018|-19006|-19003|-18996|-18977|-18961|-18952|-18783|-18774|-18773|-18763|-18756|-18741|-18735|-18731|-18722|-18710|-18697|-18696|-18526|-18518|-18501|-18490|-18478|-18463|-18448|-18447|-18446|-18239|-18237|-18231|-18220|-18211|-18201|-18184|-18183|-18181|-18012|-17997|-17988|-17970|-17964|-17961|-17950|-17947|-17931|-17928|-17922|-17759|-17752|-17733|-17730|-17721|-17703|-17701|-17697|-17692|-17683|-17676|-17496|-17487|-17482|-17468|-17454|-17433|-17427|-17417|-17202|-17185|-16983|-16970|-16942|-16915|-16733|-16708|-16706|-16689|-16664|-16657|-16647|-16474|-16470|-16465|-16459|-16452|-16448|-16433|-16429|-16427|-16423|-16419|-16412|-16407|-16403|-16401|-16393|-16220|-16216|-16212|-16205|-16202|-16187|-16180|-16171|-16169|-16158|-16155|-15959|-15958|-15944|-15933|-15920|-15915|-15903|-15889|-15878|-15707|-15701|-15681|-15667|-15661|-15659|-15652|-15640|-15631|-15625|-15454|-15448|-15436|-15435|-15419|-15416|-15408|-15394|-15385|-15377|-15375|-15369|-15363|-15362|-15183|-15180|-15165|-15158|-15153|-15150|-15149|-15144|-15143|-15141|-15140|-15139|-15128|-15121|-15119|-15117|-15110|-15109|-14941|-14937|-14933|-14930|-14929|-14928|-14926|-14922|-14921|-14914|-14908|-14902|-14894|-14889|-14882|-14873|-14871|-14857|-14678|-14674|-14670|-14668|-14663|-14654|-14645|-14630|-14594|-14429|-14407|-14399|-14384|-14379|-14368|-14355|-14353|-14345|-14170|-14159|-14151|-14149|-14145|-14140|-14137|-14135|-14125|-14123|-14122|-14112|-14109|-14099|-14097|-14094|-14092|-14090|-14087|-14083|-13917|-13914|-13910|-13907|-13906|-13905|-13896|-13894|-13878|-13870|-13859|-13847|-13831|-13658|-13611|-13601|-13406|-13404|-13400|-13398|-13395|-13391|-13387|-13383|-13367|-13359|-13356|-13343|-13340|-13329|-13326|-13318|-13147|-13138|-13120|-13107|-13096|-13095|-13091|-13076|-13068|-13063|-13060|-12888|-12875|-12871|-12860|-12858|-12852|-12849|-12838|-12831|-12829|-12812|-12802|-12607|-12597|-12594|-12585|-12556|-12359|-12346|-12320|-12300|-12120|-12099|-12089|-12074|-12067|-12058|-12039|-11867|-11861|-11847|-11831|-11798|-11781|-11604|-11589|-11536|-11358|-11340|-11339|-11324|-11303|-11097|-11077|-11067|-11055|-11052|-11045|-11041|-11038|-11024|-11020|-11019|-11018|-11014|-10838|-10832|-10815|-10800|-10790|-10780|-10764|-10587|-10544|-10533|-10519|-10331|-10329|-10328|-10322|-10315|-10309|-10307|-10296|-10281|-10274|-10270|-10262|-10260|-10256|-10254"; /** * 获取文字的拼音 - * @param string $chinese 中文汉字 + * @param string $chinese 中文汉字 * @param boolean $onlyfirst 是否只返回拼音首字母 - * @param string $delimiter 分隔符 - * @param string $charset 文字编码 + * @param string $delimiter 分隔符 + * @param string $charset 文字编码 * @return string */ public static function get($chinese, $onlyfirst = false, $delimiter = '', $ucfirst = false, $charset = 'utf-8') @@ -26,22 +25,20 @@ class Pinyin $data = array_combine($keys_a, $values_a); arsort($data); reset($data); - if ($charset != 'gb2312') + if ($charset != 'gb2312') { $chinese = self::_u2_utf8_gb($chinese); + } $result = ''; - for ($i = 0; $i < strlen($chinese); $i++) - { + for ($i = 0; $i < strlen($chinese); $i++) { $_P = ord(substr($chinese, $i, 1)); - if ($_P > 160) - { + if ($_P > 160) { $_Q = ord(substr($chinese, ++$i, 1)); $_P = $_P * 256 + $_Q - 65536; } $result .= ($onlyfirst ? substr(self::_pinyin($_P, $data), 0, 1) : self::_pinyin($_P, $data)); $result .= $delimiter; } - if ($delimiter) - { + if ($delimiter) { $result = rtrim($result, $delimiter); } @@ -50,16 +47,15 @@ class Pinyin private static function _pinyin($num, $data) { - if ($num > 0 && $num < 160) + if ($num > 0 && $num < 160) { return chr($num); - elseif ($num < -20319 || $num > -10247) + } elseif ($num < -20319 || $num > -10247) { return ''; - else - { - foreach ($data as $k => $v) - { - if ($v <= $num) + } else { + foreach ($data as $k => $v) { + if ($v <= $num) { break; + } } return $k; @@ -69,21 +65,16 @@ class Pinyin private static function _u2_utf8_gb($c) { $string = ''; - if ($c < 0x80) + if ($c < 0x80) { $string .= $c; - elseif ($c < 0x800) - { + } elseif ($c < 0x800) { $string .= chr(0xC0 | $c >> 6); $string .= chr(0x80 | $c & 0x3F); - } - elseif ($c < 0x10000) - { + } elseif ($c < 0x10000) { $string .= chr(0xE0 | $c >> 12); $string .= chr(0x80 | $c >> 6 & 0x3F); $string .= chr(0x80 | $c & 0x3F); - } - elseif ($c < 0x200000) - { + } elseif ($c < 0x200000) { $string .= chr(0xF0 | $c >> 18); $string .= chr(0x80 | $c >> 12 & 0x3F); $string .= chr(0x80 | $c >> 6 & 0x3F); @@ -91,5 +82,4 @@ class Pinyin } return iconv('UTF-8', 'GB2312//IGNORE', $string); } - } diff --git a/extend/fast/Random.php b/extend/fast/Random.php index 8851488d..7edade5b 100644 --- a/extend/fast/Random.php +++ b/extend/fast/Random.php @@ -55,19 +55,17 @@ class Random /** * 能用的随机数生成 * @param string $type 类型 alpha/alnum/numeric/nozero/unique/md5/encrypt/sha1 - * @param int $len 长度 + * @param int $len 长度 * @return string */ public static function build($type = 'alnum', $len = 8) { - switch ($type) - { + switch ($type) { case 'alpha': case 'alnum': case 'numeric': case 'nozero': - switch ($type) - { + switch ($type) { case 'alpha': $pool = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; break; @@ -87,80 +85,64 @@ class Random return md5(uniqid(mt_rand())); case 'encrypt': case 'sha1': - return sha1(uniqid(mt_rand(), TRUE)); + return sha1(uniqid(mt_rand(), true)); } } /** * 根据数组元素的概率获得键名 * - * @param array $ps array('p1'=>20, 'p2'=>30, 'p3'=>50); - * @param array $num 默认为1,即随机出来的数量 - * @param array $unique 默认为true,即当num>1时,随机出的数量是否唯一 + * @param array $ps array('p1'=>20, 'p2'=>30, 'p3'=>50); + * @param int $num 默认为1,即随机出来的数量 + * @param bool $unique 默认为true,即当num>1时,随机出的数量是否唯一 * @return mixed 当num为1时返回键名,反之返回一维数组 */ public static function lottery($ps, $num = 1, $unique = true) { - if (!$ps) - { + if (!$ps) { return $num == 1 ? '' : []; } - if ($num >= count($ps) && $unique) - { + if ($num >= count($ps) && $unique) { $res = array_keys($ps); return $num == 1 ? $res[0] : $res; } $max_exp = 0; $res = []; - foreach ($ps as $key => $value) - { + foreach ($ps as $key => $value) { $value = substr($value, 0, stripos($value, ".") + 6); $exp = strlen(strchr($value, '.')) - 1; - if ($exp > $max_exp) - { + if ($exp > $max_exp) { $max_exp = $exp; } } $pow_exp = pow(10, $max_exp); - if ($pow_exp > 1) - { + if ($pow_exp > 1) { reset($ps); - foreach ($ps as $key => $value) - { + foreach ($ps as $key => $value) { $ps[$key] = $value * $pow_exp; } } $pro_sum = array_sum($ps); - if ($pro_sum < 1) - { + if ($pro_sum < 1) { return $num == 1 ? '' : []; } - for ($i = 0; $i < $num; $i++) - { + for ($i = 0; $i < $num; $i++) { $rand_num = mt_rand(1, $pro_sum); reset($ps); - foreach ($ps as $key => $value) - { - if ($rand_num <= $value) - { + foreach ($ps as $key => $value) { + if ($rand_num <= $value) { break; - } - else - { + } else { $rand_num -= $value; } } - if ($num == 1) - { + if ($num == 1) { $res = $key; break; - } - else - { + } else { $res[$i] = $key; } - if ($unique) - { + if ($unique) { $pro_sum -= $value; unset($ps[$key]); } @@ -175,8 +157,15 @@ class Random public static function uuid() { return sprintf( - '%04x%04x-%04x-%04x-%04x-%04x%04x%04x', mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0x0fff) | 0x4000, mt_rand(0, 0x3fff) | 0x8000, mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff) + '%04x%04x-%04x-%04x-%04x-%04x%04x%04x', + mt_rand(0, 0xffff), + mt_rand(0, 0xffff), + mt_rand(0, 0xffff), + mt_rand(0, 0x0fff) | 0x4000, + mt_rand(0, 0x3fff) | 0x8000, + mt_rand(0, 0xffff), + mt_rand(0, 0xffff), + mt_rand(0, 0xffff) ); } - } diff --git a/extend/fast/Rsa.php b/extend/fast/Rsa.php index fb9caa47..b64fe69f 100644 --- a/extend/fast/Rsa.php +++ b/extend/fast/Rsa.php @@ -7,7 +7,6 @@ namespace fast; */ class Rsa { - public $publicKey = ''; public $privateKey = ''; private $_privKey; @@ -28,23 +27,27 @@ class Rsa /** * * the construtor,the param $path is the keys saving path + * @param string $publicKey 公钥 + * @param string $privateKey 私钥 */ - function __construct($publicKey = null, $privateKey = null) + public function __construct($publicKey = null, $privateKey = null) { $this->setKey($publicKey, $privateKey); } /** * 设置公钥和私钥 - * @param string $publicKey 公钥 + * @param string $publicKey 公钥 * @param string $privateKey 私钥 */ public function setKey($publicKey = null, $privateKey = null) { - if (!is_null($publicKey)) + if (!is_null($publicKey)) { $this->publicKey = $publicKey; - if (!is_null($privateKey)) + } + if (!is_null($privateKey)) { $this->privateKey = $privateKey; + } } /** @@ -52,8 +55,7 @@ class Rsa */ private function setupPrivKey() { - if (is_resource($this->_privKey)) - { + if (is_resource($this->_privKey)) { return true; } $pem = chunk_split($this->privateKey, 64, "\n"); @@ -67,8 +69,7 @@ class Rsa */ private function setupPubKey() { - if (is_resource($this->_pubKey)) - { + if (is_resource($this->_pubKey)) { return true; } $pem = chunk_split($this->publicKey, 64, "\n"); @@ -82,14 +83,12 @@ class Rsa */ public function privEncrypt($data) { - if (!is_string($data)) - { + if (!is_string($data)) { return null; } $this->setupPrivKey(); $r = openssl_private_encrypt($data, $encrypted, $this->_privKey); - if ($r) - { + if ($r) { return base64_encode($encrypted); } return null; @@ -100,15 +99,13 @@ class Rsa */ public function privDecrypt($encrypted) { - if (!is_string($encrypted)) - { + if (!is_string($encrypted)) { return null; } $this->setupPrivKey(); $encrypted = base64_decode($encrypted); $r = openssl_private_decrypt($encrypted, $decrypted, $this->_privKey); - if ($r) - { + if ($r) { return $decrypted; } return null; @@ -119,14 +116,12 @@ class Rsa */ public function pubEncrypt($data) { - if (!is_string($data)) - { + if (!is_string($data)) { return null; } $this->setupPubKey(); $r = openssl_public_encrypt($data, $encrypted, $this->_pubKey); - if ($r) - { + if ($r) { return base64_encode($encrypted); } return null; @@ -137,15 +132,13 @@ class Rsa */ public function pubDecrypt($crypted) { - if (!is_string($crypted)) - { + if (!is_string($crypted)) { return null; } $this->setupPubKey(); $crypted = base64_decode($crypted); $r = openssl_public_decrypt($crypted, $decrypted, $this->_pubKey); - if ($r) - { + if ($r) { return $decrypted; } return null; @@ -183,5 +176,4 @@ class Rsa is_resource($this->_privKey) && @openssl_free_key($this->_privKey); is_resource($this->_pubKey) && @openssl_free_key($this->_pubKey); } - } diff --git a/extend/fast/Tree.php b/extend/fast/Tree.php index 8a8c4233..f874d059 100644 --- a/extend/fast/Tree.php +++ b/extend/fast/Tree.php @@ -10,7 +10,6 @@ use think\Config; */ class Tree { - protected static $instance; //默认配置 protected $config = []; @@ -32,8 +31,7 @@ class Tree public function __construct($options = []) { - if ($config = Config::get('tree')) - { + if ($config = Config::get('tree')) { $this->options = array_merge($this->config, $config); } $this->options = array_merge($this->config, $options); @@ -47,8 +45,7 @@ class Tree */ public static function instance($options = []) { - if (is_null(self::$instance)) - { + if (is_null(self::$instance)) { self::$instance = new static($options); } @@ -56,11 +53,9 @@ class Tree } /** - * 初始化方法 - - * @param array 2维数组,例如: - * array( + * @param array $arr 2维数组,例如: + * array( * 1 => array('id'=>'1','pid'=>0,'name'=>'一级栏目一'), * 2 => array('id'=>'2','pid'=>0,'name'=>'一级栏目二'), * 3 => array('id'=>'3','pid'=>1,'name'=>'二级栏目一'), @@ -69,14 +64,19 @@ class Tree * 6 => array('id'=>'6','pid'=>3,'name'=>'三级栏目一'), * 7 => array('id'=>'7','pid'=>3,'name'=>'三级栏目二') * ) + * @param string $pidname 父字段名称 + * @param string $nbsp 空格占位符 + * @return Tree */ - public function init($arr = [], $pidname = NULL, $nbsp = NULL) + public function init($arr = [], $pidname = null, $nbsp = null) { $this->arr = $arr; - if (!is_null($pidname)) + if (!is_null($pidname)) { $this->pidname = $pidname; - if (!is_null($nbsp)) + } + if (!is_null($nbsp)) { $this->nbsp = $nbsp; + } return $this; } @@ -88,37 +88,34 @@ class Tree public function getChild($myid) { $newarr = []; - foreach ($this->arr as $value) - { - if (!isset($value['id'])) + foreach ($this->arr as $value) { + if (!isset($value['id'])) { continue; - if ($value[$this->pidname] == $myid) + } + if ($value[$this->pidname] == $myid) { $newarr[$value['id']] = $value; + } } return $newarr; } /** - * 读取指定节点的所有孩子节点 - * @param int $myid 节点ID + * @param int $myid 节点ID * @param boolean $withself 是否包含自身 * @return array */ - public function getChildren($myid, $withself = FALSE) + public function getChildren($myid, $withself = false) { $newarr = []; - foreach ($this->arr as $value) - { - if (!isset($value['id'])) + foreach ($this->arr as $value) { + if (!isset($value['id'])) { continue; - if ($value[$this->pidname] == $myid) - { + } + if ($value[$this->pidname] == $myid) { $newarr[] = $value; $newarr = array_merge($newarr, $this->getChildren($value['id'])); - } - else if ($withself && $value['id'] == $myid) - { + } elseif ($withself && $value['id'] == $myid) { $newarr[] = $value; } } @@ -126,50 +123,42 @@ class Tree } /** - * 读取指定节点的所有孩子节点ID - * @param int $myid 节点ID + * @param int $myid 节点ID * @param boolean $withself 是否包含自身 * @return array */ - public function getChildrenIds($myid, $withself = FALSE) + public function getChildrenIds($myid, $withself = false) { $childrenlist = $this->getChildren($myid, $withself); $childrenids = []; - foreach ($childrenlist as $k => $v) - { + foreach ($childrenlist as $k => $v) { $childrenids[] = $v['id']; } return $childrenids; } /** - * 得到当前位置父辈数组 * @param int * @return array - */ public function getParent($myid) { $pid = 0; $newarr = []; - foreach ($this->arr as $value) - { - if (!isset($value['id'])) + foreach ($this->arr as $value) { + if (!isset($value['id'])) { continue; - if ($value['id'] == $myid) - { + } + if ($value['id'] == $myid) { $pid = $value[$this->pidname]; break; } } - if ($pid) - { - foreach ($this->arr as $value) - { - if ($value['id'] == $pid) - { + if ($pid) { + foreach ($this->arr as $value) { + if ($value['id'] == $pid) { $newarr[] = $value; break; } @@ -179,33 +168,29 @@ class Tree } /** - * 得到当前位置所有父辈数组 * @param int + * @param bool $withself 是否包含自己 * @return array - */ - public function getParents($myid, $withself = FALSE) + public function getParents($myid, $withself = false) { $pid = 0; $newarr = []; - foreach ($this->arr as $value) - { - if (!isset($value['id'])) + foreach ($this->arr as $value) { + if (!isset($value['id'])) { continue; - if ($value['id'] == $myid) - { - if ($withself) - { + } + if ($value['id'] == $myid) { + if ($withself) { $newarr[] = $value; } $pid = $value[$this->pidname]; break; } } - if ($pid) - { - $arr = $this->getParents($pid, TRUE); + if ($pid) { + $arr = $this->getParents($pid, true); $newarr = array_merge($arr, $newarr); } return $newarr; @@ -213,52 +198,44 @@ class Tree /** * 读取指定节点所有父类节点ID - * @param int $myid + * @param int $myid * @param boolean $withself * @return array */ - public function getParentsIds($myid, $withself = FALSE) + public function getParentsIds($myid, $withself = false) { $parentlist = $this->getParents($myid, $withself); $parentsids = []; - foreach ($parentlist as $k => $v) - { + foreach ($parentlist as $k => $v) { $parentsids[] = $v['id']; } return $parentsids; } /** - * 树型结构Option - * @param int $myid 表示获得这个ID下的所有子级 - * @param string $itemtpl 条目模板 如:"" - * @param mixed $selectedids 被选中的ID,比如在做树型下拉框的时候需要用到 - * @param mixed $disabledids 被禁用的ID,比如在做树型下拉框的时候需要用到 - * @param string $itemprefix 每一项前缀 - * @param string $toptpl 顶级栏目的模板 + * @param int $myid 表示获得这个ID下的所有子级 + * @param string $itemtpl 条目模板 如:"" + * @param mixed $selectedids 被选中的ID,比如在做树型下拉框的时候需要用到 + * @param mixed $disabledids 被禁用的ID,比如在做树型下拉框的时候需要用到 + * @param string $itemprefix 每一项前缀 + * @param string $toptpl 顶级栏目的模板 * @return string - */ public function getTree($myid, $itemtpl = "", $selectedids = '', $disabledids = '', $itemprefix = '', $toptpl = '') { $ret = ''; $number = 1; $childs = $this->getChild($myid); - if ($childs) - { + if ($childs) { $total = count($childs); - foreach ($childs as $value) - { + foreach ($childs as $value) { $id = $value['id']; $j = $k = ''; - if ($number == $total) - { + if ($number == $total) { $j .= $this->icon[2]; $k = $itemprefix ? $this->nbsp : ''; - } - else - { + } else { $j .= $this->icon[1]; $k = $itemprefix ? $this->icon[0] : ''; } @@ -266,10 +243,10 @@ class Tree $selected = $selectedids && in_array($id, (is_array($selectedids) ? $selectedids : explode(',', $selectedids))) ? 'selected' : ''; $disabled = $disabledids && in_array($id, (is_array($disabledids) ? $disabledids : explode(',', $disabledids))) ? 'disabled' : ''; $value = array_merge($value, array('selected' => $selected, 'disabled' => $disabled, 'spacer' => $spacer)); - $value = array_combine(array_map(function($k) { - return '@' . $k; - }, array_keys($value)), $value); - $nstr = strtr((($value["@{$this->pidname}"] == 0 || $this->getChild($id) ) && $toptpl ? $toptpl : $itemtpl), $value); + $value = array_combine(array_map(function ($k) { + return '@' . $k; + }, array_keys($value)), $value); + $nstr = strtr((($value["@{$this->pidname}"] == 0 || $this->getChild($id)) && $toptpl ? $toptpl : $itemtpl), $value); $ret .= $nstr; $ret .= $this->getTree($id, $itemtpl, $selectedids, $disabledids, $itemprefix . $k . $this->nbsp, $toptpl); $number++; @@ -279,32 +256,29 @@ class Tree } /** - * 树型结构UL - * @param int $myid 表示获得这个ID下的所有子级 - * @param string $itemtpl 条目模板 如:"
  • @name @childlist
  • " + * @param int $myid 表示获得这个ID下的所有子级 + * @param string $itemtpl 条目模板 如:"
  • @name @childlist
  • " * @param string $selectedids 选中的ID * @param string $disabledids 禁用的ID - * @param string $wraptag 子列表包裹标签 + * @param string $wraptag 子列表包裹标签 + * @param string $wrapattr 子列表包裹属性 * @return string - */ public function getTreeUl($myid, $itemtpl, $selectedids = '', $disabledids = '', $wraptag = 'ul', $wrapattr = '') { $str = ''; $childs = $this->getChild($myid); - if ($childs) - { - foreach ($childs as $value) - { + if ($childs) { + foreach ($childs as $value) { $id = $value['id']; unset($value['child']); $selected = $selectedids && in_array($id, (is_array($selectedids) ? $selectedids : explode(',', $selectedids))) ? 'selected' : ''; $disabled = $disabledids && in_array($id, (is_array($disabledids) ? $disabledids : explode(',', $disabledids))) ? 'disabled' : ''; $value = array_merge($value, array('selected' => $selected, 'disabled' => $disabled)); - $value = array_combine(array_map(function($k) { - return '@' . $k; - }, array_keys($value)), $value); + $value = array_combine(array_map(function ($k) { + return '@' . $k; + }, array_keys($value)), $value); $nstr = strtr($itemtpl, $value); $childdata = $this->getTreeUl($id, $itemtpl, $selectedids, $disabledids, $wraptag, $wrapattr); $childlist = $childdata ? "<{$wraptag} {$wrapattr}>" . $childdata . "" : ""; @@ -316,31 +290,29 @@ class Tree /** * 菜单数据 - * @param int $myid + * @param int $myid * @param string $itemtpl - * @param mixed $selectedids - * @param mixed $disabledids + * @param mixed $selectedids + * @param mixed $disabledids * @param string $wraptag * @param string $wrapattr - * @param int $deeplevel + * @param int $deeplevel * @return string */ public function getTreeMenu($myid, $itemtpl, $selectedids = '', $disabledids = '', $wraptag = 'ul', $wrapattr = '', $deeplevel = 0) { $str = ''; $childs = $this->getChild($myid); - if ($childs) - { - foreach ($childs as $value) - { + if ($childs) { + foreach ($childs as $value) { $id = $value['id']; unset($value['child']); $selected = in_array($id, (is_array($selectedids) ? $selectedids : explode(',', $selectedids))) ? 'selected' : ''; $disabled = in_array($id, (is_array($disabledids) ? $disabledids : explode(',', $disabledids))) ? 'disabled' : ''; $value = array_merge($value, array('selected' => $selected, 'disabled' => $disabled)); - $value = array_combine(array_map(function($k) { - return '@' . $k; - }, array_keys($value)), $value); + $value = array_combine(array_map(function ($k) { + return '@' . $k; + }, array_keys($value)), $value); $bakvalue = array_intersect_key($value, array_flip(['@url', '@caret', '@class'])); $value = array_diff_key($value, $bakvalue); $nstr = strtr($itemtpl, $value); @@ -364,12 +336,12 @@ class Tree /** * 特殊 - * @param integer $myid 要查询的ID - * @param string $itemtpl1 第一种HTML代码方式 - * @param string $itemtpl2 第二种HTML代码方式 - * @param mixed $selectedids 默认选中 - * @param mixed $disabledids 禁用 - * @param string $itemprefix 前缀 + * @param integer $myid 要查询的ID + * @param string $itemtpl1 第一种HTML代码方式 + * @param string $itemtpl2 第二种HTML代码方式 + * @param mixed $selectedids 默认选中 + * @param mixed $disabledids 禁用 + * @param string $itemprefix 前缀 * @return string */ public function getTreeSpecial($myid, $itemtpl1, $itemtpl2, $selectedids = 0, $disabledids = 0, $itemprefix = '') @@ -377,19 +349,14 @@ class Tree $ret = ''; $number = 1; $childs = $this->getChild($myid); - if ($childs) - { + if ($childs) { $total = count($childs); - foreach ($childs as $id => $value) - { + foreach ($childs as $id => $value) { $j = $k = ''; - if ($number == $total) - { + if ($number == $total) { $j .= $this->icon[2]; $k = $itemprefix ? $this->nbsp : ''; - } - else - { + } else { $j .= $this->icon[1]; $k = $itemprefix ? $this->icon[0] : ''; } @@ -397,9 +364,9 @@ class Tree $selected = $selectedids && in_array($id, (is_array($selectedids) ? $selectedids : explode(',', $selectedids))) ? 'selected' : ''; $disabled = $disabledids && in_array($id, (is_array($disabledids) ? $disabledids : explode(',', $disabledids))) ? 'disabled' : ''; $value = array_merge($value, array('selected' => $selected, 'disabled' => $disabled, 'spacer' => $spacer)); - $value = array_combine(array_map(function($k) { - return '@' . $k; - }, array_keys($value)), $value); + $value = array_combine(array_map(function ($k) { + return '@' . $k; + }, array_keys($value)), $value); $nstr = strtr(!isset($value['@disabled']) || !$value['@disabled'] ? $itemtpl1 : $itemtpl2, $value); $ret .= $nstr; @@ -413,7 +380,7 @@ class Tree /** * * 获取树状数组 - * @param string $myid 要查询的ID + * @param string $myid 要查询的ID * @param string $itemprefix 前缀 * @return array */ @@ -423,19 +390,14 @@ class Tree $n = 0; $data = []; $number = 1; - if ($childs) - { + if ($childs) { $total = count($childs); - foreach ($childs as $id => $value) - { + foreach ($childs as $id => $value) { $j = $k = ''; - if ($number == $total) - { + if ($number == $total) { $j .= $this->icon[2]; $k = $itemprefix ? $this->nbsp : ''; - } - else - { + } else { $j .= $this->icon[1]; $k = $itemprefix ? $this->icon[0] : ''; } @@ -452,26 +414,25 @@ class Tree /** * 将getTreeArray的结果返回为二维数组 - * @param array $data + * @param array $data + * @param string $field * @return array */ public function getTreeList($data = [], $field = 'name') { $arr = []; - foreach ($data as $k => $v) - { + foreach ($data as $k => $v) { $childlist = isset($v['childlist']) ? $v['childlist'] : []; unset($v['childlist']); $v[$field] = $v['spacer'] . ' ' . $v[$field]; $v['haschild'] = $childlist ? 1 : 0; - if ($v['id']) + if ($v['id']) { $arr[] = $v; - if ($childlist) - { + } + if ($childlist) { $arr = array_merge($arr, $this->getTreeList($childlist, $field)); } } return $arr; } - } diff --git a/extend/fast/Version.php b/extend/fast/Version.php index fb50a2d0..af180a6c 100644 --- a/extend/fast/Version.php +++ b/extend/fast/Version.php @@ -11,47 +11,42 @@ class Version /** * 检测版本是否的版本要求的数据中 * - * @param string $version - * @param array $data + * @param string $version + * @param array $data + * @return bool */ public static function check($version, $data = []) { //版本号以.分隔 $data = is_array($data) ? $data : [$data]; - if ($data) - { - if (in_array("*", $data) || in_array($version, $data)) - { - return TRUE; + if ($data) { + if (in_array("*", $data) || in_array($version, $data)) { + return true; } $ver = explode('.', $version); - if ($ver) - { + if ($ver) { $versize = count($ver); //验证允许的版本 - foreach ($data as $m) - { + foreach ($data as $m) { $c = explode('.', $m); - if (!$c || $versize != count($c)) + if (!$c || $versize != count($c)) { continue; + } $i = 0; - foreach ($c as $a => $k) - { - if (!self::compare($ver[$a], $k)) - { + foreach ($c as $a => $k) { + if (!self::compare($ver[$a], $k)) { continue 2; - } - else - { + } else { $i++; } } - if ($i == $versize) - return TRUE; + if ($i == $versize) { + return true; + } } } } - return FALSE; + return false; } /** @@ -63,31 +58,22 @@ class Version */ public static function compare($v1, $v2) { - if ($v2 == "*" || $v1 == $v2) - { - return TRUE; - } - else - { + if ($v2 == "*" || $v1 == $v2) { + return true; + } else { $values = []; $k = explode(',', $v2); - foreach ($k as $v) - { - if (strpos($v, '-') !== FALSE) - { + foreach ($k as $v) { + if (strpos($v, '-') !== false) { list($start, $stop) = explode('-', $v); - for ($i = $start; $i <= $stop; $i++) - { + for ($i = $start; $i <= $stop; $i++) { $values[] = $i; } - } - else - { + } else { $values[] = $v; } } - return in_array($v1, $values) ? TRUE : FALSE; + return in_array($v1, $values) ? true : false; } } - } diff --git a/public/assets/css/frontend.css b/public/assets/css/frontend.css index 2c0ee0ec..7006997b 100644 --- a/public/assets/css/frontend.css +++ b/public/assets/css/frontend.css @@ -73,6 +73,9 @@ body { #header-navbar li.dropdown ul.dropdown-menu { min-width: 94px; } +form.form-horizontal .control-label { + font-weight: normal; +} .panel-default { padding: 0 15px; border-color: #e4ecf3; diff --git a/public/assets/css/frontend.min.css b/public/assets/css/frontend.min.css index 6195c530..35918b24 100644 --- a/public/assets/css/frontend.min.css +++ b/public/assets/css/frontend.min.css @@ -1 +1 @@ -/*! * Bootstrap v3.3.6 (http://getbootstrap.com) * Copyright 2011-2015 Twitter,Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ 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;}@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;}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg');}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}.glyphicon-asterisk:before{content:"\002a";}.glyphicon-plus:before{content:"\002b";}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac";}.glyphicon-minus:before{content:"\2212";}.glyphicon-cloud:before{content:"\2601";}.glyphicon-envelope:before{content:"\2709";}.glyphicon-pencil:before{content:"\270f";}.glyphicon-glass:before{content:"\e001";}.glyphicon-music:before{content:"\e002";}.glyphicon-search:before{content:"\e003";}.glyphicon-heart:before{content:"\e005";}.glyphicon-star:before{content:"\e006";}.glyphicon-star-empty:before{content:"\e007";}.glyphicon-user:before{content:"\e008";}.glyphicon-film:before{content:"\e009";}.glyphicon-th-large:before{content:"\e010";}.glyphicon-th:before{content:"\e011";}.glyphicon-th-list:before{content:"\e012";}.glyphicon-ok:before{content:"\e013";}.glyphicon-remove:before{content:"\e014";}.glyphicon-zoom-in:before{content:"\e015";}.glyphicon-zoom-out:before{content:"\e016";}.glyphicon-off:before{content:"\e017";}.glyphicon-signal:before{content:"\e018";}.glyphicon-cog:before{content:"\e019";}.glyphicon-trash:before{content:"\e020";}.glyphicon-home:before{content:"\e021";}.glyphicon-file:before{content:"\e022";}.glyphicon-time:before{content:"\e023";}.glyphicon-road:before{content:"\e024";}.glyphicon-download-alt:before{content:"\e025";}.glyphicon-download:before{content:"\e026";}.glyphicon-upload:before{content:"\e027";}.glyphicon-inbox:before{content:"\e028";}.glyphicon-play-circle:before{content:"\e029";}.glyphicon-repeat:before{content:"\e030";}.glyphicon-refresh:before{content:"\e031";}.glyphicon-list-alt:before{content:"\e032";}.glyphicon-lock:before{content:"\e033";}.glyphicon-flag:before{content:"\e034";}.glyphicon-headphones:before{content:"\e035";}.glyphicon-volume-off:before{content:"\e036";}.glyphicon-volume-down:before{content:"\e037";}.glyphicon-volume-up:before{content:"\e038";}.glyphicon-qrcode:before{content:"\e039";}.glyphicon-barcode:before{content:"\e040";}.glyphicon-tag:before{content:"\e041";}.glyphicon-tags:before{content:"\e042";}.glyphicon-book:before{content:"\e043";}.glyphicon-bookmark:before{content:"\e044";}.glyphicon-print:before{content:"\e045";}.glyphicon-camera:before{content:"\e046";}.glyphicon-font:before{content:"\e047";}.glyphicon-bold:before{content:"\e048";}.glyphicon-italic:before{content:"\e049";}.glyphicon-text-height:before{content:"\e050";}.glyphicon-text-width:before{content:"\e051";}.glyphicon-align-left:before{content:"\e052";}.glyphicon-align-center:before{content:"\e053";}.glyphicon-align-right:before{content:"\e054";}.glyphicon-align-justify:before{content:"\e055";}.glyphicon-list:before{content:"\e056";}.glyphicon-indent-left:before{content:"\e057";}.glyphicon-indent-right:before{content:"\e058";}.glyphicon-facetime-video:before{content:"\e059";}.glyphicon-picture:before{content:"\e060";}.glyphicon-map-marker:before{content:"\e062";}.glyphicon-adjust:before{content:"\e063";}.glyphicon-tint:before{content:"\e064";}.glyphicon-edit:before{content:"\e065";}.glyphicon-share:before{content:"\e066";}.glyphicon-check:before{content:"\e067";}.glyphicon-move:before{content:"\e068";}.glyphicon-step-backward:before{content:"\e069";}.glyphicon-fast-backward:before{content:"\e070";}.glyphicon-backward:before{content:"\e071";}.glyphicon-play:before{content:"\e072";}.glyphicon-pause:before{content:"\e073";}.glyphicon-stop:before{content:"\e074";}.glyphicon-forward:before{content:"\e075";}.glyphicon-fast-forward:before{content:"\e076";}.glyphicon-step-forward:before{content:"\e077";}.glyphicon-eject:before{content:"\e078";}.glyphicon-chevron-left:before{content:"\e079";}.glyphicon-chevron-right:before{content:"\e080";}.glyphicon-plus-sign:before{content:"\e081";}.glyphicon-minus-sign:before{content:"\e082";}.glyphicon-remove-sign:before{content:"\e083";}.glyphicon-ok-sign:before{content:"\e084";}.glyphicon-question-sign:before{content:"\e085";}.glyphicon-info-sign:before{content:"\e086";}.glyphicon-screenshot:before{content:"\e087";}.glyphicon-remove-circle:before{content:"\e088";}.glyphicon-ok-circle:before{content:"\e089";}.glyphicon-ban-circle:before{content:"\e090";}.glyphicon-arrow-left:before{content:"\e091";}.glyphicon-arrow-right:before{content:"\e092";}.glyphicon-arrow-up:before{content:"\e093";}.glyphicon-arrow-down:before{content:"\e094";}.glyphicon-share-alt:before{content:"\e095";}.glyphicon-resize-full:before{content:"\e096";}.glyphicon-resize-small:before{content:"\e097";}.glyphicon-exclamation-sign:before{content:"\e101";}.glyphicon-gift:before{content:"\e102";}.glyphicon-leaf:before{content:"\e103";}.glyphicon-fire:before{content:"\e104";}.glyphicon-eye-open:before{content:"\e105";}.glyphicon-eye-close:before{content:"\e106";}.glyphicon-warning-sign:before{content:"\e107";}.glyphicon-plane:before{content:"\e108";}.glyphicon-calendar:before{content:"\e109";}.glyphicon-random:before{content:"\e110";}.glyphicon-comment:before{content:"\e111";}.glyphicon-magnet:before{content:"\e112";}.glyphicon-chevron-up:before{content:"\e113";}.glyphicon-chevron-down:before{content:"\e114";}.glyphicon-retweet:before{content:"\e115";}.glyphicon-shopping-cart:before{content:"\e116";}.glyphicon-folder-close:before{content:"\e117";}.glyphicon-folder-open:before{content:"\e118";}.glyphicon-resize-vertical:before{content:"\e119";}.glyphicon-resize-horizontal:before{content:"\e120";}.glyphicon-hdd:before{content:"\e121";}.glyphicon-bullhorn:before{content:"\e122";}.glyphicon-bell:before{content:"\e123";}.glyphicon-certificate:before{content:"\e124";}.glyphicon-thumbs-up:before{content:"\e125";}.glyphicon-thumbs-down:before{content:"\e126";}.glyphicon-hand-right:before{content:"\e127";}.glyphicon-hand-left:before{content:"\e128";}.glyphicon-hand-up:before{content:"\e129";}.glyphicon-hand-down:before{content:"\e130";}.glyphicon-circle-arrow-right:before{content:"\e131";}.glyphicon-circle-arrow-left:before{content:"\e132";}.glyphicon-circle-arrow-up:before{content:"\e133";}.glyphicon-circle-arrow-down:before{content:"\e134";}.glyphicon-globe:before{content:"\e135";}.glyphicon-wrench:before{content:"\e136";}.glyphicon-tasks:before{content:"\e137";}.glyphicon-filter:before{content:"\e138";}.glyphicon-briefcase:before{content:"\e139";}.glyphicon-fullscreen:before{content:"\e140";}.glyphicon-dashboard:before{content:"\e141";}.glyphicon-paperclip:before{content:"\e142";}.glyphicon-heart-empty:before{content:"\e143";}.glyphicon-link:before{content:"\e144";}.glyphicon-phone:before{content:"\e145";}.glyphicon-pushpin:before{content:"\e146";}.glyphicon-usd:before{content:"\e148";}.glyphicon-gbp:before{content:"\e149";}.glyphicon-sort:before{content:"\e150";}.glyphicon-sort-by-alphabet:before{content:"\e151";}.glyphicon-sort-by-alphabet-alt:before{content:"\e152";}.glyphicon-sort-by-order:before{content:"\e153";}.glyphicon-sort-by-order-alt:before{content:"\e154";}.glyphicon-sort-by-attributes:before{content:"\e155";}.glyphicon-sort-by-attributes-alt:before{content:"\e156";}.glyphicon-unchecked:before{content:"\e157";}.glyphicon-expand:before{content:"\e158";}.glyphicon-collapse-down:before{content:"\e159";}.glyphicon-collapse-up:before{content:"\e160";}.glyphicon-log-in:before{content:"\e161";}.glyphicon-flash:before{content:"\e162";}.glyphicon-log-out:before{content:"\e163";}.glyphicon-new-window:before{content:"\e164";}.glyphicon-record:before{content:"\e165";}.glyphicon-save:before{content:"\e166";}.glyphicon-open:before{content:"\e167";}.glyphicon-saved:before{content:"\e168";}.glyphicon-import:before{content:"\e169";}.glyphicon-export:before{content:"\e170";}.glyphicon-send:before{content:"\e171";}.glyphicon-floppy-disk:before{content:"\e172";}.glyphicon-floppy-saved:before{content:"\e173";}.glyphicon-floppy-remove:before{content:"\e174";}.glyphicon-floppy-save:before{content:"\e175";}.glyphicon-floppy-open:before{content:"\e176";}.glyphicon-credit-card:before{content:"\e177";}.glyphicon-transfer:before{content:"\e178";}.glyphicon-cutlery:before{content:"\e179";}.glyphicon-header:before{content:"\e180";}.glyphicon-compressed:before{content:"\e181";}.glyphicon-earphone:before{content:"\e182";}.glyphicon-phone-alt:before{content:"\e183";}.glyphicon-tower:before{content:"\e184";}.glyphicon-stats:before{content:"\e185";}.glyphicon-sd-video:before{content:"\e186";}.glyphicon-hd-video:before{content:"\e187";}.glyphicon-subtitles:before{content:"\e188";}.glyphicon-sound-stereo:before{content:"\e189";}.glyphicon-sound-dolby:before{content:"\e190";}.glyphicon-sound-5-1:before{content:"\e191";}.glyphicon-sound-6-1:before{content:"\e192";}.glyphicon-sound-7-1:before{content:"\e193";}.glyphicon-copyright-mark:before{content:"\e194";}.glyphicon-registration-mark:before{content:"\e195";}.glyphicon-cloud-download:before{content:"\e197";}.glyphicon-cloud-upload:before{content:"\e198";}.glyphicon-tree-conifer:before{content:"\e199";}.glyphicon-tree-deciduous:before{content:"\e200";}.glyphicon-cd:before{content:"\e201";}.glyphicon-save-file:before{content:"\e202";}.glyphicon-open-file:before{content:"\e203";}.glyphicon-level-up:before{content:"\e204";}.glyphicon-copy:before{content:"\e205";}.glyphicon-paste:before{content:"\e206";}.glyphicon-alert:before{content:"\e209";}.glyphicon-equalizer:before{content:"\e210";}.glyphicon-king:before{content:"\e211";}.glyphicon-queen:before{content:"\e212";}.glyphicon-pawn:before{content:"\e213";}.glyphicon-bishop:before{content:"\e214";}.glyphicon-knight:before{content:"\e215";}.glyphicon-baby-formula:before{content:"\e216";}.glyphicon-tent:before{content:"\26fa";}.glyphicon-blackboard:before{content:"\e218";}.glyphicon-bed:before{content:"\e219";}.glyphicon-apple:before{content:"\f8ff";}.glyphicon-erase:before{content:"\e221";}.glyphicon-hourglass:before{content:"\231b";}.glyphicon-lamp:before{content:"\e223";}.glyphicon-duplicate:before{content:"\e224";}.glyphicon-piggy-bank:before{content:"\e225";}.glyphicon-scissors:before{content:"\e226";}.glyphicon-bitcoin:before{content:"\e227";}.glyphicon-btc:before{content:"\e227";}.glyphicon-xbt:before{content:"\e227";}.glyphicon-yen:before{content:"\00a5";}.glyphicon-jpy:before{content:"\00a5";}.glyphicon-ruble:before{content:"\20bd";}.glyphicon-rub:before{content:"\20bd";}.glyphicon-scale:before{content:"\e230";}.glyphicon-ice-lolly:before{content:"\e231";}.glyphicon-ice-lolly-tasted:before{content:"\e232";}.glyphicon-education:before{content:"\e233";}.glyphicon-option-horizontal:before{content:"\e234";}.glyphicon-option-vertical:before{content:"\e235";}.glyphicon-menu-hamburger:before{content:"\e236";}.glyphicon-modal-window:before{content:"\e237";}.glyphicon-oil:before{content:"\e238";}.glyphicon-grain:before{content:"\e239";}.glyphicon-sunglasses:before{content:"\e240";}.glyphicon-text-size:before{content:"\e241";}.glyphicon-text-color:before{content:"\e242";}.glyphicon-text-background:before{content:"\e243";}.glyphicon-object-align-top:before{content:"\e244";}.glyphicon-object-align-bottom:before{content:"\e245";}.glyphicon-object-align-horizontal:before{content:"\e246";}.glyphicon-object-align-left:before{content:"\e247";}.glyphicon-object-align-vertical:before{content:"\e248";}.glyphicon-object-align-right:before{content:"\e249";}.glyphicon-triangle-right:before{content:"\e250";}.glyphicon-triangle-left:before{content:"\e251";}.glyphicon-triangle-bottom:before{content:"\e252";}.glyphicon-triangle-top:before{content:"\e253";}.glyphicon-console:before{content:"\e254";}.glyphicon-superscript:before{content:"\e255";}.glyphicon-subscript:before{content:"\e256";}.glyphicon-menu-left:before{content:"\e257";}.glyphicon-menu-right:before{content:"\e258";}.glyphicon-menu-down:before{content:"\e259";}.glyphicon-menu-up:before{content:"\e260";}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0);}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;line-height:1.42857143;color:#333333;background-color:#fff;}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;}a{color:#2c3e50;text-decoration:none;}a:hover,a:focus{color:#11181f;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,.thumbnail > img,.thumbnail a > img,.carousel-inner > .item > img,.carousel-inner > .item > a > img{display:block;max-width:100%;height:auto;}.img-rounded{border-radius:5px;}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:3px;-webkit-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;display:inline-block;max-width:100%;height:auto;}.img-circle{border-radius:50%;}hr{margin-top:17px;margin-bottom:17px;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,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#777777;}h1,.h1,h2,.h2,h3,.h3{margin-top:17px;margin-bottom:8.5px;}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%;}h4,.h4,h5,.h5,h6,.h6{margin-top:8.5px;margin-bottom:8.5px;}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%;}h1,.h1{font-size:31px;}h2,.h2{font-size:25px;}h3,.h3{font-size:21px;}h4,.h4{font-size:15px;}h5,.h5{font-size:12px;}h6,.h6{font-size:11px;}p{margin:0 0 8.5px;}.lead{margin-bottom:17px;font-size:13px;font-weight:300;line-height:1.4;}@media (min-width:768px){.lead{font-size:18px;}}small,.small{font-size:91%;}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{text-transform:uppercase;}.text-capitalize{text-transform:capitalize;}.text-muted{color:#777777;}.text-primary{color:#2c3e50;}a.text-primary:hover,a.text-primary:focus{color:#1a242f;}.text-success{color:#18bc9c;}a.text-success:hover,a.text-success:focus{color:#128f76;}.text-info{color:#3498db;}a.text-info:hover,a.text-info:focus{color:#217dbb;}.text-warning{color:#f39c12;}a.text-warning:hover,a.text-warning:focus{color:#c87f0a;}.text-danger{color:#e74c3c;}a.text-danger:hover,a.text-danger:focus{color:#d62c1a;}.bg-primary{color:#fff;background-color:#2c3e50;}a.bg-primary:hover,a.bg-primary:focus{background-color:#1a242f;}.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:7.5px;margin:34px 0 17px;border-bottom:1px solid #eeeeee;}ul,ol{margin-top:0;margin-bottom:8.5px;}ul ul,ol ul,ul ol,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:17px;}dt,dd{line-height:1.42857143;}dt{font-weight:bold;}dd{margin-left:0;}@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%;text-transform:uppercase;}blockquote{padding:8.5px 17px;margin:0 0 17px;font-size:15px;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.42857143;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.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:'';}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014';}address{margin-bottom:17px;font-style:normal;line-height:1.42857143;}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:3px;}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:2px;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:8px;margin:0 0 8.5px;font-size:11px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#333333;background-color:#f5f5f5;border:1px solid #ccc;border-radius:3px;}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;}@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;}.row{margin-left:-15px;margin-right:-15px;}.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-12{width:100%;}.col-xs-11{width:91.66666667%;}.col-xs-10{width:83.33333333%;}.col-xs-9{width:75%;}.col-xs-8{width:66.66666667%;}.col-xs-7{width:58.33333333%;}.col-xs-6{width:50%;}.col-xs-5{width:41.66666667%;}.col-xs-4{width:33.33333333%;}.col-xs-3{width:25%;}.col-xs-2{width:16.66666667%;}.col-xs-1{width:8.33333333%;}.col-xs-pull-12{right:100%;}.col-xs-pull-11{right:91.66666667%;}.col-xs-pull-10{right:83.33333333%;}.col-xs-pull-9{right:75%;}.col-xs-pull-8{right:66.66666667%;}.col-xs-pull-7{right:58.33333333%;}.col-xs-pull-6{right:50%;}.col-xs-pull-5{right:41.66666667%;}.col-xs-pull-4{right:33.33333333%;}.col-xs-pull-3{right:25%;}.col-xs-pull-2{right:16.66666667%;}.col-xs-pull-1{right:8.33333333%;}.col-xs-pull-0{right:auto;}.col-xs-push-12{left:100%;}.col-xs-push-11{left:91.66666667%;}.col-xs-push-10{left:83.33333333%;}.col-xs-push-9{left:75%;}.col-xs-push-8{left:66.66666667%;}.col-xs-push-7{left:58.33333333%;}.col-xs-push-6{left:50%;}.col-xs-push-5{left:41.66666667%;}.col-xs-push-4{left:33.33333333%;}.col-xs-push-3{left:25%;}.col-xs-push-2{left:16.66666667%;}.col-xs-push-1{left:8.33333333%;}.col-xs-push-0{left:auto;}.col-xs-offset-12{margin-left:100%;}.col-xs-offset-11{margin-left:91.66666667%;}.col-xs-offset-10{margin-left:83.33333333%;}.col-xs-offset-9{margin-left:75%;}.col-xs-offset-8{margin-left:66.66666667%;}.col-xs-offset-7{margin-left:58.33333333%;}.col-xs-offset-6{margin-left:50%;}.col-xs-offset-5{margin-left:41.66666667%;}.col-xs-offset-4{margin-left:33.33333333%;}.col-xs-offset-3{margin-left:25%;}.col-xs-offset-2{margin-left:16.66666667%;}.col-xs-offset-1{margin-left:8.33333333%;}.col-xs-offset-0{margin-left:0%;}@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-12{width:100%;}.col-sm-11{width:91.66666667%;}.col-sm-10{width:83.33333333%;}.col-sm-9{width:75%;}.col-sm-8{width:66.66666667%;}.col-sm-7{width:58.33333333%;}.col-sm-6{width:50%;}.col-sm-5{width:41.66666667%;}.col-sm-4{width:33.33333333%;}.col-sm-3{width:25%;}.col-sm-2{width:16.66666667%;}.col-sm-1{width:8.33333333%;}.col-sm-pull-12{right:100%;}.col-sm-pull-11{right:91.66666667%;}.col-sm-pull-10{right:83.33333333%;}.col-sm-pull-9{right:75%;}.col-sm-pull-8{right:66.66666667%;}.col-sm-pull-7{right:58.33333333%;}.col-sm-pull-6{right:50%;}.col-sm-pull-5{right:41.66666667%;}.col-sm-pull-4{right:33.33333333%;}.col-sm-pull-3{right:25%;}.col-sm-pull-2{right:16.66666667%;}.col-sm-pull-1{right:8.33333333%;}.col-sm-pull-0{right:auto;}.col-sm-push-12{left:100%;}.col-sm-push-11{left:91.66666667%;}.col-sm-push-10{left:83.33333333%;}.col-sm-push-9{left:75%;}.col-sm-push-8{left:66.66666667%;}.col-sm-push-7{left:58.33333333%;}.col-sm-push-6{left:50%;}.col-sm-push-5{left:41.66666667%;}.col-sm-push-4{left:33.33333333%;}.col-sm-push-3{left:25%;}.col-sm-push-2{left:16.66666667%;}.col-sm-push-1{left:8.33333333%;}.col-sm-push-0{left:auto;}.col-sm-offset-12{margin-left:100%;}.col-sm-offset-11{margin-left:91.66666667%;}.col-sm-offset-10{margin-left:83.33333333%;}.col-sm-offset-9{margin-left:75%;}.col-sm-offset-8{margin-left:66.66666667%;}.col-sm-offset-7{margin-left:58.33333333%;}.col-sm-offset-6{margin-left:50%;}.col-sm-offset-5{margin-left:41.66666667%;}.col-sm-offset-4{margin-left:33.33333333%;}.col-sm-offset-3{margin-left:25%;}.col-sm-offset-2{margin-left:16.66666667%;}.col-sm-offset-1{margin-left:8.33333333%;}.col-sm-offset-0{margin-left:0%;}}@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-12{width:100%;}.col-md-11{width:91.66666667%;}.col-md-10{width:83.33333333%;}.col-md-9{width:75%;}.col-md-8{width:66.66666667%;}.col-md-7{width:58.33333333%;}.col-md-6{width:50%;}.col-md-5{width:41.66666667%;}.col-md-4{width:33.33333333%;}.col-md-3{width:25%;}.col-md-2{width:16.66666667%;}.col-md-1{width:8.33333333%;}.col-md-pull-12{right:100%;}.col-md-pull-11{right:91.66666667%;}.col-md-pull-10{right:83.33333333%;}.col-md-pull-9{right:75%;}.col-md-pull-8{right:66.66666667%;}.col-md-pull-7{right:58.33333333%;}.col-md-pull-6{right:50%;}.col-md-pull-5{right:41.66666667%;}.col-md-pull-4{right:33.33333333%;}.col-md-pull-3{right:25%;}.col-md-pull-2{right:16.66666667%;}.col-md-pull-1{right:8.33333333%;}.col-md-pull-0{right:auto;}.col-md-push-12{left:100%;}.col-md-push-11{left:91.66666667%;}.col-md-push-10{left:83.33333333%;}.col-md-push-9{left:75%;}.col-md-push-8{left:66.66666667%;}.col-md-push-7{left:58.33333333%;}.col-md-push-6{left:50%;}.col-md-push-5{left:41.66666667%;}.col-md-push-4{left:33.33333333%;}.col-md-push-3{left:25%;}.col-md-push-2{left:16.66666667%;}.col-md-push-1{left:8.33333333%;}.col-md-push-0{left:auto;}.col-md-offset-12{margin-left:100%;}.col-md-offset-11{margin-left:91.66666667%;}.col-md-offset-10{margin-left:83.33333333%;}.col-md-offset-9{margin-left:75%;}.col-md-offset-8{margin-left:66.66666667%;}.col-md-offset-7{margin-left:58.33333333%;}.col-md-offset-6{margin-left:50%;}.col-md-offset-5{margin-left:41.66666667%;}.col-md-offset-4{margin-left:33.33333333%;}.col-md-offset-3{margin-left:25%;}.col-md-offset-2{margin-left:16.66666667%;}.col-md-offset-1{margin-left:8.33333333%;}.col-md-offset-0{margin-left:0%;}}@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-12{width:100%;}.col-lg-11{width:91.66666667%;}.col-lg-10{width:83.33333333%;}.col-lg-9{width:75%;}.col-lg-8{width:66.66666667%;}.col-lg-7{width:58.33333333%;}.col-lg-6{width:50%;}.col-lg-5{width:41.66666667%;}.col-lg-4{width:33.33333333%;}.col-lg-3{width:25%;}.col-lg-2{width:16.66666667%;}.col-lg-1{width:8.33333333%;}.col-lg-pull-12{right:100%;}.col-lg-pull-11{right:91.66666667%;}.col-lg-pull-10{right:83.33333333%;}.col-lg-pull-9{right:75%;}.col-lg-pull-8{right:66.66666667%;}.col-lg-pull-7{right:58.33333333%;}.col-lg-pull-6{right:50%;}.col-lg-pull-5{right:41.66666667%;}.col-lg-pull-4{right:33.33333333%;}.col-lg-pull-3{right:25%;}.col-lg-pull-2{right:16.66666667%;}.col-lg-pull-1{right:8.33333333%;}.col-lg-pull-0{right:auto;}.col-lg-push-12{left:100%;}.col-lg-push-11{left:91.66666667%;}.col-lg-push-10{left:83.33333333%;}.col-lg-push-9{left:75%;}.col-lg-push-8{left:66.66666667%;}.col-lg-push-7{left:58.33333333%;}.col-lg-push-6{left:50%;}.col-lg-push-5{left:41.66666667%;}.col-lg-push-4{left:33.33333333%;}.col-lg-push-3{left:25%;}.col-lg-push-2{left:16.66666667%;}.col-lg-push-1{left:8.33333333%;}.col-lg-push-0{left:auto;}.col-lg-offset-12{margin-left:100%;}.col-lg-offset-11{margin-left:91.66666667%;}.col-lg-offset-10{margin-left:83.33333333%;}.col-lg-offset-9{margin-left:75%;}.col-lg-offset-8{margin-left:66.66666667%;}.col-lg-offset-7{margin-left:58.33333333%;}.col-lg-offset-6{margin-left:50%;}.col-lg-offset-5{margin-left:41.66666667%;}.col-lg-offset-4{margin-left:33.33333333%;}.col-lg-offset-3{margin-left:25%;}.col-lg-offset-2{margin-left:16.66666667%;}.col-lg-offset-1{margin-left:8.33333333%;}.col-lg-offset-0{margin-left:0%;}}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:17px;}.table > thead > tr > th,.table > tbody > tr > th,.table > tfoot > tr > th,.table > thead > tr > td,.table > tbody > tr > td,.table > tfoot > tr > td{padding:8px;line-height:1.42857143;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 > colgroup + thead > tr:first-child > th,.table > thead:first-child > tr:first-child > th,.table > caption + thead > tr:first-child > td,.table > colgroup + thead > tr:first-child > td,.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 > tbody > tr > th,.table-condensed > tfoot > tr > th,.table-condensed > thead > tr > td,.table-condensed > tbody > tr > td,.table-condensed > tfoot > tr > td{padding:5px;}.table-bordered{border:1px solid #ddd;}.table-bordered > thead > tr > th,.table-bordered > tbody > tr > th,.table-bordered > tfoot > tr > th,.table-bordered > thead > tr > td,.table-bordered > tbody > tr > td,.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 > tbody > tr > td.active,.table > tfoot > tr > td.active,.table > thead > tr > th.active,.table > tbody > tr > th.active,.table > tfoot > tr > th.active,.table > thead > tr.active > td,.table > tbody > tr.active > td,.table > tfoot > tr.active > td,.table > thead > tr.active > th,.table > tbody > tr.active > th,.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 > tbody > tr > td.success,.table > tfoot > tr > td.success,.table > thead > tr > th.success,.table > tbody > tr > th.success,.table > tfoot > tr > th.success,.table > thead > tr.success > td,.table > tbody > tr.success > td,.table > tfoot > tr.success > td,.table > thead > tr.success > th,.table > tbody > tr.success > th,.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 > tbody > tr > td.info,.table > tfoot > tr > td.info,.table > thead > tr > th.info,.table > tbody > tr > th.info,.table > tfoot > tr > th.info,.table > thead > tr.info > td,.table > tbody > tr.info > td,.table > tfoot > tr.info > td,.table > thead > tr.info > th,.table > tbody > tr.info > th,.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 > tbody > tr > td.warning,.table > tfoot > tr > td.warning,.table > thead > tr > th.warning,.table > tbody > tr > th.warning,.table > tfoot > tr > th.warning,.table > thead > tr.warning > td,.table > tbody > tr.warning > td,.table > tfoot > tr.warning > td,.table > thead > tr.warning > th,.table > tbody > tr.warning > th,.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 > tbody > tr > td.danger,.table > tfoot > tr > td.danger,.table > thead > tr > th.danger,.table > tbody > tr > th.danger,.table > tfoot > tr > th.danger,.table > thead > tr.danger > td,.table > tbody > tr.danger > td,.table > tfoot > tr.danger > td,.table > thead > tr.danger > th,.table > tbody > tr.danger > th,.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:12.75px;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 > tbody > tr > th,.table-responsive > .table > tfoot > tr > th,.table-responsive > .table > thead > tr > td,.table-responsive > .table > tbody > tr > td,.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 > tbody > tr > th:first-child,.table-responsive > .table-bordered > tfoot > tr > th:first-child,.table-responsive > .table-bordered > thead > tr > td:first-child,.table-responsive > .table-bordered > tbody > tr > td: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 > tbody > tr > th:last-child,.table-responsive > .table-bordered > tfoot > tr > th:last-child,.table-responsive > .table-bordered > thead > tr > td:last-child,.table-responsive > .table-bordered > tbody > tr > td: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 > tfoot > tr:last-child > th,.table-responsive > .table-bordered > tbody > tr:last-child > td,.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:17px;font-size:18px;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"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;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:12px;line-height:1.42857143;color:#555555;}.form-control{display:block;width:100%;height:31px;padding:6px 12px;font-size:12px;line-height:1.42857143;color:#555555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(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:31px;}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:28px;}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:42px;}}.form-group{margin-bottom:15px;}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px;}.radio label,.checkbox label{min-height:17px;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="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed;}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed;}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed;}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0;min-height:29px;}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0;}.input-sm{height:28px;padding:5px 10px;font-size:11px;line-height:1.5;border-radius:2px;}select.input-sm{height:28px;line-height:28px;}textarea.input-sm,select[multiple].input-sm{height:auto;}.form-group-sm .form-control{height:28px;padding:5px 10px;font-size:11px;line-height:1.5;border-radius:2px;}.form-group-sm select.form-control{height:28px;line-height:28px;}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto;}.form-group-sm .form-control-static{height:28px;min-height:28px;padding:6px 10px;font-size:11px;line-height:1.5;}.input-lg{height:42px;padding:10px 16px;font-size:15px;line-height:1.3333333;border-radius:5px;}select.input-lg{height:42px;line-height:42px;}textarea.input-lg,select[multiple].input-lg{height:auto;}.form-group-lg .form-control{height:42px;padding:10px 16px;font-size:15px;line-height:1.3333333;border-radius:5px;}.form-group-lg select.form-control{height:42px;line-height:42px;}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto;}.form-group-lg .form-control-static{height:42px;min-height:32px;padding:11px 16px;font-size:15px;line-height:1.3333333;}.has-feedback{position:relative;}.has-feedback .form-control{padding-right:38.75px;}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:31px;height:31px;line-height:31px;text-align:center;pointer-events:none;}.input-lg + .form-control-feedback,.input-group-lg + .form-control-feedback,.form-group-lg .form-control + .form-control-feedback{width:42px;height:42px;line-height:42px;}.input-sm + .form-control-feedback,.input-group-sm + .form-control-feedback,.form-group-sm .form-control + .form-control-feedback{width:28px;height:28px;line-height:28px;}.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:#18bc9c;}.has-success .form-control{border-color:#18bc9c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);}.has-success .form-control:focus{border-color:#128f76;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #51e9cb;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #51e9cb;}.has-success .input-group-addon{color:#18bc9c;border-color:#18bc9c;background-color:#dff0d8;}.has-success .form-control-feedback{color:#18bc9c;}.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:#f39c12;}.has-warning .form-control{border-color:#f39c12;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);}.has-warning .form-control:focus{border-color:#c87f0a;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #f8c573;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #f8c573;}.has-warning .input-group-addon{color:#f39c12;border-color:#f39c12;background-color:#fcf8e3;}.has-warning .form-control-feedback{color:#f39c12;}.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:#e74c3c;}.has-error .form-control{border-color:#e74c3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);}.has-error .form-control:focus{border-color:#d62c1a;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #f29f97;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #f29f97;}.has-error .input-group-addon{color:#e74c3c;border-color:#e74c3c;background-color:#f2dede;}.has-error .form-control-feedback{color:#e74c3c;}.has-feedback label ~ .form-control-feedback{top:22px;}.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:24px;}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px;}@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:15px;}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:11px;}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:12px;line-height:1.42857143;border-radius:3px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.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;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);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);-webkit-box-shadow:none;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 > .dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad;}.btn-default:active:hover,.btn-default.active:hover,.open > .dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open > .dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open > .dropdown-toggle.btn-default.focus{color:#333;background-color:#d4d4d4;border-color:#8c8c8c;}.btn-default:active,.btn-default.active,.open > .dropdown-toggle.btn-default{background-image:none;}.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].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:#2c3e50;border-color:#2c3e50;}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:#1a242f;border-color:#000000;}.btn-primary:hover{color:#fff;background-color:#1a242f;border-color:#161f29;}.btn-primary:active,.btn-primary.active,.open > .dropdown-toggle.btn-primary{color:#fff;background-color:#1a242f;border-color:#161f29;}.btn-primary:active:hover,.btn-primary.active:hover,.open > .dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open > .dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open > .dropdown-toggle.btn-primary.focus{color:#fff;background-color:#0d1318;border-color:#000000;}.btn-primary:active,.btn-primary.active,.open > .dropdown-toggle.btn-primary{background-image:none;}.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus{background-color:#2c3e50;border-color:#2c3e50;}.btn-primary .badge{color:#2c3e50;background-color:#fff;}.btn-success{color:#fff;background-color:#18bc9c;border-color:#18bc9c;}.btn-success:focus,.btn-success.focus{color:#fff;background-color:#128f76;border-color:#0a4b3e;}.btn-success:hover{color:#fff;background-color:#128f76;border-color:#11866f;}.btn-success:active,.btn-success.active,.open > .dropdown-toggle.btn-success{color:#fff;background-color:#128f76;border-color:#11866f;}.btn-success:active:hover,.btn-success.active:hover,.open > .dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open > .dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open > .dropdown-toggle.btn-success.focus{color:#fff;background-color:#0e6f5c;border-color:#0a4b3e;}.btn-success:active,.btn-success.active,.open > .dropdown-toggle.btn-success{background-image:none;}.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus{background-color:#18bc9c;border-color:#18bc9c;}.btn-success .badge{color:#18bc9c;background-color:#fff;}.btn-info{color:#fff;background-color:#3498db;border-color:#3498db;}.btn-info:focus,.btn-info.focus{color:#fff;background-color:#217dbb;border-color:#16527a;}.btn-info:hover{color:#fff;background-color:#217dbb;border-color:#2077b2;}.btn-info:active,.btn-info.active,.open > .dropdown-toggle.btn-info{color:#fff;background-color:#217dbb;border-color:#2077b2;}.btn-info:active:hover,.btn-info.active:hover,.open > .dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open > .dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open > .dropdown-toggle.btn-info.focus{color:#fff;background-color:#1c699d;border-color:#16527a;}.btn-info:active,.btn-info.active,.open > .dropdown-toggle.btn-info{background-image:none;}.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus{background-color:#3498db;border-color:#3498db;}.btn-info .badge{color:#3498db;background-color:#fff;}.btn-warning{color:#fff;background-color:#f39c12;border-color:#f39c12;}.btn-warning:focus,.btn-warning.focus{color:#fff;background-color:#c87f0a;border-color:#7f5006;}.btn-warning:hover{color:#fff;background-color:#c87f0a;border-color:#be780a;}.btn-warning:active,.btn-warning.active,.open > .dropdown-toggle.btn-warning{color:#fff;background-color:#c87f0a;border-color:#be780a;}.btn-warning:active:hover,.btn-warning.active:hover,.open > .dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open > .dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open > .dropdown-toggle.btn-warning.focus{color:#fff;background-color:#a66908;border-color:#7f5006;}.btn-warning:active,.btn-warning.active,.open > .dropdown-toggle.btn-warning{background-image:none;}.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus{background-color:#f39c12;border-color:#f39c12;}.btn-warning .badge{color:#f39c12;background-color:#fff;}.btn-danger{color:#fff;background-color:#e74c3c;border-color:#e74c3c;}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#d62c1a;border-color:#921e12;}.btn-danger:hover{color:#fff;background-color:#d62c1a;border-color:#cd2a19;}.btn-danger:active,.btn-danger.active,.open > .dropdown-toggle.btn-danger{color:#fff;background-color:#d62c1a;border-color:#cd2a19;}.btn-danger:active:hover,.btn-danger.active:hover,.open > .dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open > .dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open > .dropdown-toggle.btn-danger.focus{color:#fff;background-color:#b62516;border-color:#921e12;}.btn-danger:active,.btn-danger.active,.open > .dropdown-toggle.btn-danger{background-image:none;}.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus{background-color:#e74c3c;border-color:#e74c3c;}.btn-danger .badge{color:#e74c3c;background-color:#fff;}.btn-link{color:#2c3e50;font-weight:normal;border-radius:0;}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none;}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent;}.btn-link:hover,.btn-link:focus{color:#11181f;text-decoration:underline;background-color:transparent;}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777777;text-decoration:none;}.btn-lg,.btn-group-lg > .btn{padding:10px 16px;font-size:15px;line-height:1.3333333;border-radius:5px;}.btn-sm,.btn-group-sm > .btn{padding:5px 10px;font-size:11px;line-height:1.5;border-radius:2px;}.btn-xs,.btn-group-xs > .btn{padding:1px 5px;font-size:11px;line-height:1.5;border-radius:2px;}.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;-webkit-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;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;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-timing-function:ease;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:12px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:3px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);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:7.5px 0;overflow:hidden;background-color:#e5e5e5;}.dropdown-menu > li > a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;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:#2c3e50;}.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:11px;line-height:1.42857143;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{left:auto;right:0;}.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-vertical > .btn:hover,.btn-group > .btn:focus,.btn-group-vertical > .btn:focus,.btn-group > .btn:active,.btn-group-vertical > .btn:active,.btn-group > .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 .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{padding-left:12px;padding-right:12px;}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none;}.btn .caret{margin-left:0;}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0;}.dropup .btn-lg .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 > .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:3px;border-top-left-radius:3px;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:3px;border-bottom-left-radius:3px;}.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-group > .btn input[type="radio"],[data-toggle="buttons"] > .btn input[type="checkbox"],[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-lg > .form-control,.input-group-lg > .input-group-addon,.input-group-lg > .input-group-btn > .btn{height:42px;padding:10px 16px;font-size:15px;line-height:1.3333333;border-radius:5px;}select.input-group-lg > .form-control,select.input-group-lg > .input-group-addon,select.input-group-lg > .input-group-btn > .btn{height:42px;line-height:42px;}textarea.input-group-lg > .form-control,textarea.input-group-lg > .input-group-addon,textarea.input-group-lg > .input-group-btn > .btn,select[multiple].input-group-lg > .form-control,select[multiple].input-group-lg > .input-group-addon,select[multiple].input-group-lg > .input-group-btn > .btn{height:auto;}.input-group-sm > .form-control,.input-group-sm > .input-group-addon,.input-group-sm > .input-group-btn > .btn{height:28px;padding:5px 10px;font-size:11px;line-height:1.5;border-radius:2px;}select.input-group-sm > .form-control,select.input-group-sm > .input-group-addon,select.input-group-sm > .input-group-btn > .btn{height:28px;line-height:28px;}textarea.input-group-sm > .form-control,textarea.input-group-sm > .input-group-addon,textarea.input-group-sm > .input-group-btn > .btn,select[multiple].input-group-sm > .form-control,select[multiple].input-group-sm > .input-group-addon,select[multiple].input-group-sm > .input-group-btn > .btn{height:auto;}.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:12px;font-weight:normal;line-height:1;color:#555555;text-align:center;background-color:#eeeeee;border:1px solid #ccc;border-radius:3px;}.input-group-addon.input-sm{padding:5px 10px;font-size:11px;border-radius:2px;}.input-group-addon.input-lg{padding:10px 16px;font-size:15px;border-radius:5px;}.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 > 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:#2c3e50;}.nav .nav-divider{height:1px;margin:7.5px 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.42857143;border:1px solid transparent;border-radius:3px 3px 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-tabs.nav-justified{width:100%;border-bottom:0;}.nav-tabs.nav-justified > li{float:none;}.nav-tabs.nav-justified > li > a{text-align:center;margin-bottom:5px;}.nav-tabs.nav-justified > .dropdown .dropdown-menu{top:auto;left:auto;}@media (min-width:768px){.nav-tabs.nav-justified > li{display:table-cell;width:1%;}.nav-tabs.nav-justified > li > a{margin-bottom:0;}}.nav-tabs.nav-justified > li > a{margin-right:0;border-radius:3px;}.nav-tabs.nav-justified > .active > a,.nav-tabs.nav-justified > .active > a:hover,.nav-tabs.nav-justified > .active > a:focus{border:1px solid #ddd;}@media (min-width:768px){.nav-tabs.nav-justified > li > a{border-bottom:1px solid #ddd;border-radius:3px 3px 0 0;}.nav-tabs.nav-justified > .active > a,.nav-tabs.nav-justified > .active > a:hover,.nav-tabs.nav-justified > .active > a:focus{border-bottom-color:#fff;}}.nav-pills > li{float:left;}.nav-pills > li > a{border-radius:3px;}.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:#2c3e50;}.nav-stacked > li{float:none;}.nav-stacked > li + li{margin-top:2px;margin-left:0;}.nav-justified{width:100%;}.nav-justified > li{float:none;}.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{display:table-cell;width:1%;}.nav-justified > li > a{margin-bottom:0;}}.nav-tabs-justified{border-bottom:0;}.nav-tabs-justified > li > a{margin-right:0;border-radius:3px;}.nav-tabs-justified > .active > a,.nav-tabs-justified > .active > a:hover,.nav-tabs-justified > .active > a:focus{border:1px solid #ddd;}@media (min-width:768px){.nav-tabs-justified > li > a{border-bottom:1px solid #ddd;border-radius:3px 3px 0 0;}.nav-tabs-justified > .active > a,.nav-tabs-justified > .active > a:hover,.nav-tabs-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:17px;border:1px solid transparent;}@media (min-width:768px){.navbar{border-radius:3px;}}@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.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-fluid > .navbar-header,.container > .navbar-collapse,.container-fluid > .navbar-collapse{margin-right:-15px;margin-left:-15px;}@media (min-width:768px){.container > .navbar-header,.container-fluid > .navbar-header,.container > .navbar-collapse,.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:16.5px 15px;font-size:15px;line-height:17px;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:3px;}.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:8.25px -15px;}.navbar-nav > li > a{padding-top:10px;padding-bottom:10px;line-height:17px;}@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:17px;}.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:16.5px;padding-bottom:16.5px;}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:9.5px;margin-bottom:9.5px;}@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;-webkit-box-shadow:none;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:3px;border-top-left-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:0;}.navbar-btn{margin-top:9.5px;margin-bottom:9.5px;}.navbar-btn.btn-sm{margin-top:11px;margin-bottom:11px;}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px;}.navbar-text{margin-top:16.5px;margin-bottom:16.5px;}@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,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc;}.navbar-inverse{background-color:#222;border-color:#080808;}.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:#080808;}.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:#080808;color:#fff;}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header{border-color:#080808;}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808;}.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:#080808;}.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,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444;}.breadcrumb{padding:8px 15px;margin-bottom:17px;list-style:none;background-color:#f5f5f5;border-radius:3px;}.breadcrumb > li{display:inline-block;}.breadcrumb > li + li:before{content:"/\00a0";padding:0 5px;color:#ccc;}.breadcrumb > .active{color:#777777;}.pagination{display:inline-block;padding-left:0;margin:17px 0;border-radius:3px;}.pagination > li{display:inline;}.pagination > li > a,.pagination > li > span{position:relative;float:left;padding:6px 12px;line-height:1.42857143;text-decoration:none;color:#2c3e50;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:3px;border-top-left-radius:3px;}.pagination > li:last-child > a,.pagination > li:last-child > span{border-bottom-right-radius:3px;border-top-right-radius:3px;}.pagination > li > a:hover,.pagination > li > span:hover,.pagination > li > a:focus,.pagination > li > span:focus{z-index:2;color:#11181f;background-color:#eeeeee;border-color:#ddd;}.pagination > .active > a,.pagination > .active > span,.pagination > .active > a:hover,.pagination > .active > span:hover,.pagination > .active > a:focus,.pagination > .active > span:focus{z-index:3;color:#fff;background-color:#2c3e50;border-color:#2c3e50;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:15px;line-height:1.3333333;}.pagination-lg > li:first-child > a,.pagination-lg > li:first-child > span{border-bottom-left-radius:5px;border-top-left-radius:5px;}.pagination-lg > li:last-child > a,.pagination-lg > li:last-child > span{border-bottom-right-radius:5px;border-top-right-radius:5px;}.pagination-sm > li > a,.pagination-sm > li > span{padding:5px 10px;font-size:11px;line-height:1.5;}.pagination-sm > li:first-child > a,.pagination-sm > li:first-child > span{border-bottom-left-radius:2px;border-top-left-radius:2px;}.pagination-sm > li:last-child > a,.pagination-sm > li:last-child > span{border-bottom-right-radius:2px;border-top-right-radius:2px;}.pager{padding-left:0;margin:17px 0;list-style:none;text-align:center;}.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;}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer;}.label:empty{display:none;}.btn .label{position:relative;top:-1px;}.label-default{background-color:#777777;}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e;}.label-primary{background-color:#2c3e50;}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#1a242f;}.label-success{background-color:#18bc9c;}.label-success[href]:hover,.label-success[href]:focus{background-color:#128f76;}.label-info{background-color:#3498db;}.label-info[href]:hover,.label-info[href]:focus{background-color:#217dbb;}.label-warning{background-color:#f39c12;}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#c87f0a;}.label-danger{background-color:#e74c3c;}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#d62c1a;}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:11px;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{top:0;padding:1px 5px;}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer;}.list-group-item.active > .badge,.nav-pills > .active > a > .badge{color:#2c3e50;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;}.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:18px;font-weight:200;}.jumbotron > hr{border-top-color:#d5d5d5;}.container .jumbotron,.container-fluid .jumbotron{border-radius:5px;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:54px;}}.thumbnail{display:block;padding:4px;margin-bottom:17px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:3px;-webkit-transition:border 0.2s ease-in-out;-o-transition:border 0.2s ease-in-out;transition:border 0.2s ease-in-out;}.thumbnail > img,.thumbnail a > img{margin-left:auto;margin-right:auto;}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#2c3e50;}.thumbnail .caption{padding:9px;color:#333333;}.alert{padding:15px;margin-bottom:17px;border:1px solid transparent;border-radius:3px;}.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:#18bc9c;}.alert-success hr{border-top-color:#c9e2b3;}.alert-success .alert-link{color:#128f76;}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#3498db;}.alert-info hr{border-top-color:#a6e1ec;}.alert-info .alert-link{color:#217dbb;}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#f39c12;}.alert-warning hr{border-top-color:#f7e1b5;}.alert-warning .alert-link{color:#c87f0a;}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#e74c3c;}.alert-danger hr{border-top-color:#e4b9c0;}.alert-danger .alert-link{color:#d62c1a;}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0;}to{background-position:0 0;}}@keyframes progress-bar-stripes{from{background-position:40px 0;}to{background-position:0 0;}}.progress{overflow:hidden;height:17px;margin-bottom:17px;background-color:#f5f5f5;border-radius:3px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);}.progress-bar{float:left;width:0%;height:100%;font-size:11px;line-height:17px;color:#fff;text-align:center;background-color:#2c3e50;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease;}.progress-striped .progress-bar,.progress-bar-striped{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);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);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);background-size:40px 40px;}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite;}.progress-bar-success{background-color:#18bc9c;}.progress-striped .progress-bar-success{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);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);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);}.progress-bar-info{background-color:#3498db;}.progress-striped .progress-bar-info{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);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);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);}.progress-bar-warning{background-color:#f39c12;}.progress-striped .progress-bar-warning{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);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);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);}.progress-bar-danger{background-color:#e74c3c;}.progress-striped .progress-bar-danger{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);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);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);}.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:3px;border-top-left-radius:3px;}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;}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,button.list-group-item:hover,a.list-group-item:focus,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:#2c3e50;border-color:#2c3e50;}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading > small,.list-group-item.active:hover .list-group-item-heading > small,.list-group-item.active:focus .list-group-item-heading > small,.list-group-item.active .list-group-item-heading > .small,.list-group-item.active:hover .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:#8aa4be;}.list-group-item-success{color:#18bc9c;background-color:#dff0d8;}a.list-group-item-success,button.list-group-item-success{color:#18bc9c;}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,button.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:focus{color:#18bc9c;background-color:#d0e9c6;}a.list-group-item-success.active,button.list-group-item-success.active,a.list-group-item-success.active:hover,button.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active:focus{color:#fff;background-color:#18bc9c;border-color:#18bc9c;}.list-group-item-info{color:#3498db;background-color:#d9edf7;}a.list-group-item-info,button.list-group-item-info{color:#3498db;}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,button.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:focus{color:#3498db;background-color:#c4e3f3;}a.list-group-item-info.active,button.list-group-item-info.active,a.list-group-item-info.active:hover,button.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active:focus{color:#fff;background-color:#3498db;border-color:#3498db;}.list-group-item-warning{color:#f39c12;background-color:#fcf8e3;}a.list-group-item-warning,button.list-group-item-warning{color:#f39c12;}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,button.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:focus{color:#f39c12;background-color:#faf2cc;}a.list-group-item-warning.active,button.list-group-item-warning.active,a.list-group-item-warning.active:hover,button.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active:focus{color:#fff;background-color:#f39c12;border-color:#f39c12;}.list-group-item-danger{color:#e74c3c;background-color:#f2dede;}a.list-group-item-danger,button.list-group-item-danger{color:#e74c3c;}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,button.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:focus{color:#e74c3c;background-color:#ebcccc;}a.list-group-item-danger.active,button.list-group-item-danger.active,a.list-group-item-danger.active:hover,button.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active:focus{color:#fff;background-color:#e74c3c;border-color:#e74c3c;}.list-group-item-heading{margin-top:0;margin-bottom:5px;}.list-group-item-text{margin-bottom:0;line-height:1.3;}.panel{margin-bottom:17px;background-color:#fff;border:1px solid transparent;border-radius:3px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05);}.panel-body{padding:15px;}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:2px;border-top-left-radius:2px;}.panel-heading > .dropdown .dropdown-toggle{color:inherit;}.panel-title{margin-top:0;margin-bottom:0;font-size:14px;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:2px;border-bottom-left-radius:2px;}.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:2px;border-top-left-radius:2px;}.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:2px;border-bottom-left-radius:2px;}.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:2px;border-top-left-radius:2px;}.panel > .table:first-child > thead:first-child > tr:first-child,.panel > .table-responsive:first-child > .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 > tbody:first-child > tr:first-child{border-top-left-radius:2px;border-top-right-radius:2px;}.panel > .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 td:first-child,.panel > .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 td:first-child,.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child{border-top-left-radius:2px;}.panel > .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 td:last-child,.panel > .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 td:last-child,.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child{border-top-right-radius:2px;}.panel > .table:last-child,.panel > .table-responsive:last-child > .table:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px;}.panel > .table:last-child > tbody:last-child > tr:last-child,.panel > .table-responsive:last-child > .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 > tfoot:last-child > tr:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px;}.panel > .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 td:first-child,.panel > .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 td:first-child,.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child{border-bottom-left-radius:2px;}.panel > .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 td:last-child,.panel > .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 td:last-child,.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child{border-bottom-right-radius:2px;}.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-responsive > .table-bordered > thead > tr > th:first-child,.panel > .table-bordered > tbody > tr > th:first-child,.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,.panel > .table-bordered > tfoot > tr > th:first-child,.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,.panel > .table-bordered > thead > tr > td:first-child,.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,.panel > .table-bordered > tbody > tr > td:first-child,.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,.panel > .table-bordered > tfoot > tr > td: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-responsive > .table-bordered > thead > tr > th:last-child,.panel > .table-bordered > tbody > tr > th:last-child,.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,.panel > .table-bordered > tfoot > tr > th:last-child,.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,.panel > .table-bordered > thead > tr > td:last-child,.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,.panel > .table-bordered > tbody > tr > td:last-child,.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,.panel > .table-bordered > tfoot > tr > td: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-responsive > .table-bordered > thead > tr:first-child > td,.panel > .table-bordered > tbody > tr:first-child > td,.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,.panel > .table-bordered > thead > tr:first-child > th,.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,.panel > .table-bordered > tbody > tr:first-child > th,.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th{border-bottom:0;}.panel > .table-bordered > tbody > tr:last-child > td,.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,.panel > .table-bordered > tfoot > tr:last-child > td,.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,.panel > .table-bordered > tbody > tr:last-child > th,.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,.panel > .table-bordered > tfoot > tr:last-child > th,.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:17px;}.panel-group .panel{margin-bottom:0;border-radius:3px;}.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:#2c3e50;}.panel-primary > .panel-heading{color:#fff;background-color:#2c3e50;border-color:#2c3e50;}.panel-primary > .panel-heading + .panel-collapse > .panel-body{border-top-color:#2c3e50;}.panel-primary > .panel-heading .badge{color:#2c3e50;background-color:#fff;}.panel-primary > .panel-footer + .panel-collapse > .panel-body{border-bottom-color:#2c3e50;}.panel-success{border-color:#d6e9c6;}.panel-success > .panel-heading{color:#18bc9c;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:#18bc9c;}.panel-success > .panel-footer + .panel-collapse > .panel-body{border-bottom-color:#d6e9c6;}.panel-info{border-color:#bce8f1;}.panel-info > .panel-heading{color:#3498db;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:#3498db;}.panel-info > .panel-footer + .panel-collapse > .panel-body{border-bottom-color:#bce8f1;}.panel-warning{border-color:#faebcc;}.panel-warning > .panel-heading{color:#f39c12;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:#f39c12;}.panel-warning > .panel-footer + .panel-collapse > .panel-body{border-bottom-color:#faebcc;}.panel-danger{border-color:#ebccd1;}.panel-danger > .panel-heading{color:#e74c3c;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:#e74c3c;}.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:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);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:5px;}.well-sm{padding:9px;border-radius:2px;}.close{float:right;font-size:18px;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;}.modal-open{overflow:hidden;}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0;}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform 0.3s ease-out;-moz-transition:-moz-transform 0.3s ease-out;-o-transition:-o-transform 0.3s ease-out;transition:transform 0.3s ease-out;}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0);}.modal-open .modal{overflow-x:hidden;overflow-y:auto;}.modal-dialog{position:relative;width:auto;margin:10px;}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:5px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box;outline:0;}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000;}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0);}.modal-backdrop.in{opacity:0.5;filter:alpha(opacity=50);}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;}.modal-header .close{margin-top:-2px;}.modal-title{margin:0;line-height:1.42857143;}.modal-body{position:relative;padding:15px;}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5;}.modal-footer .btn + .btn{margin-left:5px;margin-bottom:0;}.modal-footer .btn-group .btn + .btn{margin-left:-1px;}.modal-footer .btn-block + .btn-block{margin-left:0;}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll;}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto;}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5);}.modal-sm{width:300px;}}@media (min-width:992px){.modal-lg{width:900px;}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:11px;opacity:0;filter:alpha(opacity=0);}.tooltip.in{opacity:0.9;filter:alpha(opacity=90);}.tooltip.top{margin-top:-3px;padding:5px 0;}.tooltip.right{margin-left:3px;padding:0 5px;}.tooltip.bottom{margin-top:3px;padding:5px 0;}.tooltip.left{margin-left:-3px;padding:0 5px;}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px;}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid;}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000;}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000;}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000;}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000;}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000;}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000;}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000;}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000;}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:12px;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:5px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);}.popover.top{margin-top:-10px;}.popover.right{margin-left:10px;}.popover.bottom{margin-top:10px;}.popover.left{margin-left:-10px;}.popover-title{margin:0;padding:8px 14px;font-size:12px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:4px 4px 0 0;}.popover-content{padding:9px 14px;}.popover > .arrow,.popover > .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid;}.popover > .arrow{border-width:11px;}.popover > .arrow:after{border-width:10px;content:"";}.popover.top > .arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999999;border-top-color:rgba(0,0,0,0.25);bottom:-11px;}.popover.top > .arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff;}.popover.right > .arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999999;border-right-color:rgba(0,0,0,0.25);}.popover.right > .arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff;}.popover.bottom > .arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999999;border-bottom-color:rgba(0,0,0,0.25);top:-11px;}.popover.bottom > .arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff;}.popover.left > .arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999999;border-left-color:rgba(0,0,0,0.25);}.popover.left > .arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px;}.carousel{position:relative;}.carousel-inner{position:relative;overflow:hidden;width:100%;}.carousel-inner > .item{display:none;position:relative;-webkit-transition:0.6s ease-in-out left;-o-transition:0.6s ease-in-out left;transition:0.6s ease-in-out left;}.carousel-inner > .item > img,.carousel-inner > .item > a > img{line-height:1;}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner > .item{-webkit-transition:-webkit-transform 0.6s ease-in-out;-moz-transition:-moz-transform 0.6s ease-in-out;-o-transition:-o-transform 0.6s ease-in-out;transition:transform 0.6s ease-in-out;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;-moz-perspective:1000px;perspective:1000px;}.carousel-inner > .item.next,.carousel-inner > .item.active.right{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0;}.carousel-inner > .item.prev,.carousel-inner > .item.active.left{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0;}.carousel-inner > .item.next.left,.carousel-inner > .item.prev.right,.carousel-inner > .item.active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);left:0;}}.carousel-inner > .active,.carousel-inner > .next,.carousel-inner > .prev{display:block;}.carousel-inner > .active{left:0;}.carousel-inner > .next,.carousel-inner > .prev{position:absolute;top:0;width:100%;}.carousel-inner > .next{left:100%;}.carousel-inner > .prev{left:-100%;}.carousel-inner > .next.left,.carousel-inner > .prev.right{left:0;}.carousel-inner > .active.left{left:-100%;}.carousel-inner > .active.right{left:100%;}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:0.5;filter:alpha(opacity=50);font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6);background-color:rgba(0,0,0,0);}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,0.5) 0%,rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,0.5) 0%,rgba(0,0,0,0.0001) 100%);background-image:linear-gradient(to right,rgba(0,0,0,0.5) 0%,rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000',endColorstr='#00000000',GradientType=1);}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left,rgba(0,0,0,0.0001) 0%,rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,0.0001) 0%,rgba(0,0,0,0.5) 100%);background-image:linear-gradient(to right,rgba(0,0,0,0.0001) 0%,rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000',endColorstr='#80000000',GradientType=1);}.carousel-control:hover,.carousel-control:focus{outline:0;color:#fff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90);}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block;}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px;}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px;}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;line-height:1;font-family:serif;}.carousel-control .icon-prev:before{content:'\2039';}.carousel-control .icon-next:before{content:'\203a';}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center;}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff;}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6);}.carousel-caption .btn{text-shadow:none;}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-10px;font-size:30px;}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px;}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px;}.carousel-caption{left:20%;right:20%;padding-bottom:30px;}.carousel-indicators{bottom:20px;}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical > .btn-group:before,.btn-group-vertical > .btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-header:before,.modal-header:after,.modal-footer:before,.modal-footer:after{content:" ";display:table;}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical > .btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-header:after,.modal-footer: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,.visible-sm,.visible-md,.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;}}/*! * AdminLTE v2.3.7 * Author:Almsaeed Studio * Website:Almsaeed Studio * License:Open source - MIT * Please visit http://opensource.org/licenses/MIT for more information !*/ html,body{min-height:100%;}.layout-boxed html,.layout-boxed body{height:100%;}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:'Source Sans Pro','Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:400;overflow-x:hidden;overflow-y:auto;}.wrapper{min-height:100%;position:relative;overflow:hidden;}.wrapper:before,.wrapper:after{content:" ";display:table;}.wrapper:after{clear:both;}.wrapper:before,.wrapper:after{content:" ";display:table;}.wrapper:after{clear:both;}.layout-boxed .wrapper{max-width:1250px;margin:0 auto;min-height:100%;box-shadow:0 0 8px rgba(0,0,0,0.5);position:relative;}.layout-boxed{background:url(../img/boxed-bg.jpg) repeat fixed;}.content-wrapper,.right-side,.main-footer{-webkit-transition:-webkit-transform 0.3s ease-in-out,margin 0.3s ease-in-out;-moz-transition:-moz-transform 0.3s ease-in-out,margin 0.3s ease-in-out;-o-transition:-o-transform 0.3s ease-in-out,margin 0.3s ease-in-out;transition:transform 0.3s ease-in-out,margin 0.3s ease-in-out;margin-left:230px;z-index:820;}.layout-top-nav .content-wrapper,.layout-top-nav .right-side,.layout-top-nav .main-footer{margin-left:0;}@media (max-width:767px){.content-wrapper,.right-side,.main-footer{margin-left:0;}}@media (min-width:768px){.sidebar-collapse .content-wrapper,.sidebar-collapse .right-side,.sidebar-collapse .main-footer{margin-left:0;}}@media (max-width:767px){.sidebar-open .content-wrapper,.sidebar-open .right-side,.sidebar-open .main-footer{-webkit-transform:translate(230px,0);-ms-transform:translate(230px,0);-o-transform:translate(230px,0);transform:translate(230px,0);}}.content-wrapper,.right-side{min-height:100%;background-color:#ecf0f5;z-index:800;}.main-footer{background:#fff;padding:15px;color:#444;border-top:1px solid #d2d6de;}.fixed .main-header,.fixed .main-sidebar,.fixed .left-side{position:fixed;}.fixed .main-header{top:0;right:0;left:0;}.fixed .content-wrapper,.fixed .right-side{padding-top:50px;}@media (max-width:767px){.fixed .content-wrapper,.fixed .right-side{padding-top:100px;}}.fixed.layout-boxed .wrapper{max-width:100%;}body.hold-transition .content-wrapper,body.hold-transition .right-side,body.hold-transition .main-footer,body.hold-transition .main-sidebar,body.hold-transition .left-side,body.hold-transition .main-header .navbar,body.hold-transition .main-header .logo{-webkit-transition:none;-o-transition:none;transition:none;}.content{min-height:250px;padding:15px;margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px;}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:'Source Sans Pro',sans-serif;}a{color:#3c8dbc;}a:hover,a:active,a:focus{outline:none;text-decoration:none;color:#72afd2;}.page-header{margin:10px 0 20px 0;font-size:22px;}.page-header > small{color:#666;display:block;margin-top:5px;}.main-header{position:relative;max-height:100px;z-index:1030;}.main-header .navbar{-webkit-transition:margin-left 0.3s ease-in-out;-o-transition:margin-left 0.3s ease-in-out;transition:margin-left 0.3s ease-in-out;margin-bottom:0;margin-left:230px;border:none;min-height:50px;border-radius:0;}.layout-top-nav .main-header .navbar{margin-left:0;}.main-header #navbar-search-input.form-control{background:rgba(255,255,255,0.2);border-color:transparent;}.main-header #navbar-search-input.form-control:focus,.main-header #navbar-search-input.form-control:active{border-color:rgba(0,0,0,0.1);background:rgba(255,255,255,0.9);}.main-header #navbar-search-input.form-control::-moz-placeholder{color:#ccc;opacity:1;}.main-header #navbar-search-input.form-control:-ms-input-placeholder{color:#ccc;}.main-header #navbar-search-input.form-control::-webkit-input-placeholder{color:#ccc;}.main-header .navbar-custom-menu,.main-header .navbar-right{float:right;}@media (max-width:991px){.main-header .navbar-custom-menu a,.main-header .navbar-right a{color:inherit;background:transparent;}}@media (max-width:767px){.main-header .navbar-right{float:none;}.navbar-collapse .main-header .navbar-right{margin:7.5px -15px;}.main-header .navbar-right > li{color:inherit;border:0;}}.main-header .sidebar-toggle{float:left;background-color:transparent;background-image:none;padding:16.5px 15px;font-family:fontAwesome;}.main-header .sidebar-toggle:before{content:"\f0c9";}.main-header .sidebar-toggle:hover{color:#fff;}.main-header .sidebar-toggle:focus,.main-header .sidebar-toggle:active{background:transparent;}.main-header .sidebar-toggle .icon-bar{display:none;}.main-header .navbar .nav > li.user > a > .fa,.main-header .navbar .nav > li.user > a > .glyphicon,.main-header .navbar .nav > li.user > a > .ion{margin-right:5px;}.main-header .navbar .nav > li > a > .label{position:absolute;top:9px;right:7px;text-align:center;font-size:9px;padding:2px 3px;line-height:.9;}.main-header .logo{-webkit-transition:width 0.3s ease-in-out;-o-transition:width 0.3s ease-in-out;transition:width 0.3s ease-in-out;display:block;float:left;height:50px;font-size:20px;line-height:50px;text-align:center;width:230px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;padding:0 15px;font-weight:300;overflow:hidden;}.main-header .logo .logo-lg{display:block;}.main-header .logo .logo-mini{display:none;}.main-header .navbar-brand{color:#fff;}.content-header{position:relative;padding:15px 15px 0 15px;}.content-header > h1{margin:0;font-size:24px;}.content-header > h1 > small{font-size:15px;display:inline-block;padding-left:4px;font-weight:300;}.content-header > .breadcrumb{float:right;background:transparent;margin-top:0;margin-bottom:0;font-size:12px;padding:7px 5px;position:absolute;top:15px;right:10px;border-radius:2px;}.content-header > .breadcrumb > li > a{color:#444;text-decoration:none;display:inline-block;}.content-header > .breadcrumb > li > a > .fa,.content-header > .breadcrumb > li > a > .glyphicon,.content-header > .breadcrumb > li > a > .ion{margin-right:5px;}.content-header > .breadcrumb > li + li:before{content:'>\00a0';}@media (max-width:991px){.content-header > .breadcrumb{position:relative;margin-top:5px;top:0;right:0;float:none;background:#d2d6de;padding-left:10px;}.content-header > .breadcrumb li:before{color:#97a0b3;}}.navbar-toggle{color:#fff;border:0;margin:0;padding:16.5px 15px;}@media (max-width:991px){.navbar-custom-menu .navbar-nav > li{float:left;}.navbar-custom-menu .navbar-nav{margin:0;float:left;}.navbar-custom-menu .navbar-nav > li > a{padding-top:15px;padding-bottom:15px;line-height:20px;}}@media (max-width:767px){.main-header{position:relative;}.main-header .logo,.main-header .navbar{width:100%;float:none;}.main-header .navbar{margin:0;}.main-header .navbar-custom-menu{float:right;}}@media (max-width:991px){.navbar-collapse.pull-left{float:none !important;}.navbar-collapse.pull-left + .navbar-custom-menu{display:block;position:absolute;top:0;right:40px;}}.main-sidebar,.left-side{position:absolute;top:0;left:0;padding-top:50px;min-height:100%;width:230px;z-index:810;-webkit-transition:-webkit-transform 0.3s ease-in-out,width 0.3s ease-in-out;-moz-transition:-moz-transform 0.3s ease-in-out,width 0.3s ease-in-out;-o-transition:-o-transform 0.3s ease-in-out,width 0.3s ease-in-out;transition:transform 0.3s ease-in-out,width 0.3s ease-in-out;}@media (max-width:767px){.main-sidebar,.left-side{padding-top:100px;}}@media (max-width:767px){.main-sidebar,.left-side{-webkit-transform:translate(-230px,0);-ms-transform:translate(-230px,0);-o-transform:translate(-230px,0);transform:translate(-230px,0);}}@media (min-width:768px){.sidebar-collapse .main-sidebar,.sidebar-collapse .left-side{-webkit-transform:translate(-230px,0);-ms-transform:translate(-230px,0);-o-transform:translate(-230px,0);transform:translate(-230px,0);}}@media (max-width:767px){.sidebar-open .main-sidebar,.sidebar-open .left-side{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0);}}.sidebar{padding-bottom:10px;}.sidebar-form input:focus{border-color:transparent;}.user-panel{position:relative;width:100%;padding:10px;overflow:hidden;}.user-panel:before,.user-panel:after{content:" ";display:table;}.user-panel:after{clear:both;}.user-panel:before,.user-panel:after{content:" ";display:table;}.user-panel:after{clear:both;}.user-panel > .image > img{width:100%;max-width:45px;height:auto;}.user-panel > .info{padding:5px 5px 5px 15px;line-height:1;position:absolute;left:55px;}.user-panel > .info > p{font-weight:600;margin-bottom:9px;}.user-panel > .info > a{text-decoration:none;padding-right:5px;margin-top:3px;font-size:11px;}.user-panel > .info > a > .fa,.user-panel > .info > a > .ion,.user-panel > .info > a > .glyphicon{margin-right:3px;}.sidebar-menu{list-style:none;margin:0;padding:0;}.sidebar-menu > li{position:relative;margin:0;padding:0;}.sidebar-menu > li > a{padding:12px 5px 12px 15px;display:block;}.sidebar-menu > li > a > .fa,.sidebar-menu > li > a > .glyphicon,.sidebar-menu > li > a > .ion{width:20px;}.sidebar-menu > li .label,.sidebar-menu > li .badge{margin-right:5px;}.sidebar-menu > li .badge{margin-top:3px;}.sidebar-menu li.header{padding:10px 25px 10px 15px;font-size:12px;}.sidebar-menu li > a > .fa-angle-left,.sidebar-menu li > a > .pull-right-container > .fa-angle-left{width:auto;height:auto;padding:0;margin-right:10px;}.sidebar-menu li.active > a > .fa-angle-left,.sidebar-menu li.active > a > .pull-right-container > .fa-angle-left{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);transform:rotate(-90deg);}.sidebar-menu li.active > .treeview-menu{display:block;}.sidebar-menu .treeview-menu{display:none;list-style:none;padding:0;margin:0;padding-left:5px;}.sidebar-menu .treeview-menu .treeview-menu{padding-left:20px;}.sidebar-menu .treeview-menu > li{margin:0;}.sidebar-menu .treeview-menu > li > a{padding:12px 5px 12px 15px;display:block;font-size:12px;}.sidebar-menu .treeview-menu > li > a > .fa,.sidebar-menu .treeview-menu > li > a > .glyphicon,.sidebar-menu .treeview-menu > li > a > .ion{width:20px;}.sidebar-menu .treeview-menu > li > a > .pull-right-container > .fa-angle-left,.sidebar-menu .treeview-menu > li > a > .pull-right-container > .fa-angle-down,.sidebar-menu .treeview-menu > li > a > .fa-angle-left,.sidebar-menu .treeview-menu > li > a > .fa-angle-down{width:auto;}@media (min-width:768px){.sidebar-mini.sidebar-collapse .content-wrapper,.sidebar-mini.sidebar-collapse .right-side,.sidebar-mini.sidebar-collapse .main-footer{margin-left:50px !important;z-index:840;}.sidebar-mini.sidebar-collapse .main-sidebar{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0);width:50px !important;z-index:850;}.sidebar-mini.sidebar-collapse .sidebar-menu > li{position:relative;}.sidebar-mini.sidebar-collapse .sidebar-menu > li > a{margin-right:0;}.sidebar-mini.sidebar-collapse .sidebar-menu > li > a > span{border-top-right-radius:4px;}.sidebar-mini.sidebar-collapse .sidebar-menu > li:not(.treeview) > a > span{border-bottom-right-radius:4px;}.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu{padding-top:5px;padding-bottom:5px;border-bottom-right-radius:4px;}.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > a > span:not(.pull-right),.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > .treeview-menu{display:block !important;position:absolute;width:180px;left:50px;}.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > a > span{top:0;margin-left:-3px;padding:12px 5px 12px 20px;background-color:inherit;}.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > a > .pull-right-container{float:right;width:auto!important;left:200px!important;top:10px!important;}.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > a > .pull-right-container > .label:not(:first-of-type){display:none;}.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > .treeview-menu{top:44px;margin-left:0;}.sidebar-mini.sidebar-collapse .main-sidebar .user-panel > .info,.sidebar-mini.sidebar-collapse .sidebar-form,.sidebar-mini.sidebar-collapse .sidebar-menu > li > a > span,.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu,.sidebar-mini.sidebar-collapse .sidebar-menu > li > a > .pull-right,.sidebar-mini.sidebar-collapse .sidebar-menu li.header{display:none !important;-webkit-transform:translateZ(0);}.sidebar-mini.sidebar-collapse .main-header .logo{width:50px;}.sidebar-mini.sidebar-collapse .main-header .logo > .logo-mini{display:block;margin-left:-15px;margin-right:-15px;font-size:18px;}.sidebar-mini.sidebar-collapse .main-header .logo > .logo-lg{display:none;}.sidebar-mini.sidebar-collapse .main-header .navbar{margin-left:50px;}}.sidebar-menu,.main-sidebar .user-panel,.sidebar-menu > li.header{white-space:nowrap;overflow:hidden;}.sidebar-menu:hover{overflow:visible;}.sidebar-form,.sidebar-menu > li.header{overflow:hidden;text-overflow:clip;}.sidebar-menu li > a{position:relative;}.sidebar-menu li > a > .pull-right-container{position:absolute;right:10px;top:50%;margin-top:-7px;}.control-sidebar-bg{position:fixed;z-index:1000;bottom:0;}.control-sidebar-bg,.control-sidebar{top:0;right:-230px;width:230px;-webkit-transition:right 0.3s ease-in-out;-o-transition:right 0.3s ease-in-out;transition:right 0.3s ease-in-out;}.control-sidebar{position:absolute;padding-top:50px;z-index:1010;}@media (max-width:768px){.control-sidebar{padding-top:100px;}}.control-sidebar > .tab-content{padding:10px 15px;}.control-sidebar.control-sidebar-open,.control-sidebar.control-sidebar-open + .control-sidebar-bg{right:0;}.control-sidebar-open .control-sidebar-bg,.control-sidebar-open .control-sidebar{right:0;}@media (min-width:768px){.control-sidebar-open .content-wrapper,.control-sidebar-open .right-side,.control-sidebar-open .main-footer{margin-right:230px;}}.nav-tabs.control-sidebar-tabs > li:first-of-type > a,.nav-tabs.control-sidebar-tabs > li:first-of-type > a:hover,.nav-tabs.control-sidebar-tabs > li:first-of-type > a:focus{border-left-width:0;}.nav-tabs.control-sidebar-tabs > li > a{border-radius:0;}.nav-tabs.control-sidebar-tabs > li > a,.nav-tabs.control-sidebar-tabs > li > a:hover{border-top:none;border-right:none;border-left:1px solid transparent;border-bottom:1px solid transparent;}.nav-tabs.control-sidebar-tabs > li > a .icon{font-size:16px;}.nav-tabs.control-sidebar-tabs > li.active > a,.nav-tabs.control-sidebar-tabs > li.active > a:hover,.nav-tabs.control-sidebar-tabs > li.active > a:focus,.nav-tabs.control-sidebar-tabs > li.active > a:active{border-top:none;border-right:none;border-bottom:none;}@media (max-width:768px){.nav-tabs.control-sidebar-tabs{display:table;}.nav-tabs.control-sidebar-tabs > li{display:table-cell;}}.control-sidebar-heading{font-weight:400;font-size:16px;padding:10px 0;margin-bottom:10px;}.control-sidebar-subheading{display:block;font-weight:400;font-size:14px;}.control-sidebar-menu{list-style:none;padding:0;margin:0 -15px;}.control-sidebar-menu > li > a{display:block;padding:10px 15px;}.control-sidebar-menu > li > a:before,.control-sidebar-menu > li > a:after{content:" ";display:table;}.control-sidebar-menu > li > a:after{clear:both;}.control-sidebar-menu > li > a:before,.control-sidebar-menu > li > a:after{content:" ";display:table;}.control-sidebar-menu > li > a:after{clear:both;}.control-sidebar-menu > li > a > .control-sidebar-subheading{margin-top:0;}.control-sidebar-menu .menu-icon{float:left;width:35px;height:35px;border-radius:50%;text-align:center;line-height:35px;}.control-sidebar-menu .menu-info{margin-left:45px;margin-top:3px;}.control-sidebar-menu .menu-info > .control-sidebar-subheading{margin:0;}.control-sidebar-menu .menu-info > p{margin:0;font-size:11px;}.control-sidebar-menu .progress{margin:0;}.control-sidebar-dark{color:#b8c7ce;}.control-sidebar-dark,.control-sidebar-dark + .control-sidebar-bg{background:#222d32;}.control-sidebar-dark .nav-tabs.control-sidebar-tabs{border-bottom:#1c2529;}.control-sidebar-dark .nav-tabs.control-sidebar-tabs > li > a{background:#181f23;color:#b8c7ce;}.control-sidebar-dark .nav-tabs.control-sidebar-tabs > li > a,.control-sidebar-dark .nav-tabs.control-sidebar-tabs > li > a:hover,.control-sidebar-dark .nav-tabs.control-sidebar-tabs > li > a:focus{border-left-color:#141a1d;border-bottom-color:#141a1d;}.control-sidebar-dark .nav-tabs.control-sidebar-tabs > li > a:hover,.control-sidebar-dark .nav-tabs.control-sidebar-tabs > li > a:focus,.control-sidebar-dark .nav-tabs.control-sidebar-tabs > li > a:active{background:#1c2529;}.control-sidebar-dark .nav-tabs.control-sidebar-tabs > li > a:hover{color:#fff;}.control-sidebar-dark .nav-tabs.control-sidebar-tabs > li.active > a,.control-sidebar-dark .nav-tabs.control-sidebar-tabs > li.active > a:hover,.control-sidebar-dark .nav-tabs.control-sidebar-tabs > li.active > a:focus,.control-sidebar-dark .nav-tabs.control-sidebar-tabs > li.active > a:active{background:#222d32;color:#fff;}.control-sidebar-dark .control-sidebar-heading,.control-sidebar-dark .control-sidebar-subheading{color:#fff;}.control-sidebar-dark .control-sidebar-menu > li > a:hover{background:#1e282c;}.control-sidebar-dark .control-sidebar-menu > li > a .menu-info > p{color:#b8c7ce;}.control-sidebar-light{color:#5e5e5e;}.control-sidebar-light,.control-sidebar-light + .control-sidebar-bg{background:#f9fafc;border-left:1px solid #d2d6de;}.control-sidebar-light .nav-tabs.control-sidebar-tabs{border-bottom:#d2d6de;}.control-sidebar-light .nav-tabs.control-sidebar-tabs > li > a{background:#e8ecf4;color:#444;}.control-sidebar-light .nav-tabs.control-sidebar-tabs > li > a,.control-sidebar-light .nav-tabs.control-sidebar-tabs > li > a:hover,.control-sidebar-light .nav-tabs.control-sidebar-tabs > li > a:focus{border-left-color:#d2d6de;border-bottom-color:#d2d6de;}.control-sidebar-light .nav-tabs.control-sidebar-tabs > li > a:hover,.control-sidebar-light .nav-tabs.control-sidebar-tabs > li > a:focus,.control-sidebar-light .nav-tabs.control-sidebar-tabs > li > a:active{background:#eff1f7;}.control-sidebar-light .nav-tabs.control-sidebar-tabs > li.active > a,.control-sidebar-light .nav-tabs.control-sidebar-tabs > li.active > a:hover,.control-sidebar-light .nav-tabs.control-sidebar-tabs > li.active > a:focus,.control-sidebar-light .nav-tabs.control-sidebar-tabs > li.active > a:active{background:#f9fafc;color:#111;}.control-sidebar-light .control-sidebar-heading,.control-sidebar-light .control-sidebar-subheading{color:#111;}.control-sidebar-light .control-sidebar-menu{margin-left:-14px;}.control-sidebar-light .control-sidebar-menu > li > a:hover{background:#f4f4f5;}.control-sidebar-light .control-sidebar-menu > li > a .menu-info > p{color:#5e5e5e;}.dropdown-menu{box-shadow:none;border-color:#eee;}.dropdown-menu > li > a{}.dropdown-menu > li > a > .glyphicon,.dropdown-menu > li > a > .fa,.dropdown-menu > li > a > .ion{margin-right:10px;}.dropdown-menu > li > a:hover{background-color:#e1e3e9;color:#333;}.dropdown-menu > .divider{background-color:#eee;}.navbar-nav > .notifications-menu > .dropdown-menu,.navbar-nav > .messages-menu > .dropdown-menu,.navbar-nav > .tasks-menu > .dropdown-menu{width:280px;padding:0 0 0 0;margin:0;top:100%;}.navbar-nav > .notifications-menu > .dropdown-menu > li,.navbar-nav > .messages-menu > .dropdown-menu > li,.navbar-nav > .tasks-menu > .dropdown-menu > li{position:relative;}.navbar-nav > .notifications-menu > .dropdown-menu > li.header,.navbar-nav > .messages-menu > .dropdown-menu > li.header,.navbar-nav > .tasks-menu > .dropdown-menu > li.header{border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0;background-color:#ffffff;padding:7px 10px;border-bottom:1px solid #f4f4f4;color:#444444;font-size:14px;}.navbar-nav > .notifications-menu > .dropdown-menu > li.footer > a,.navbar-nav > .messages-menu > .dropdown-menu > li.footer > a,.navbar-nav > .tasks-menu > .dropdown-menu > li.footer > a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px;font-size:12px;background-color:#fff;padding:7px 10px;border-bottom:1px solid #eeeeee;color:#444 !important;text-align:center;}@media (max-width:991px){.navbar-nav > .notifications-menu > .dropdown-menu > li.footer > a,.navbar-nav > .messages-menu > .dropdown-menu > li.footer > a,.navbar-nav > .tasks-menu > .dropdown-menu > li.footer > a{background:#fff !important;color:#444 !important;}}.navbar-nav > .notifications-menu > .dropdown-menu > li.footer > a:hover,.navbar-nav > .messages-menu > .dropdown-menu > li.footer > a:hover,.navbar-nav > .tasks-menu > .dropdown-menu > li.footer > a:hover{text-decoration:none;font-weight:normal;}.navbar-nav > .notifications-menu > .dropdown-menu > li .menu,.navbar-nav > .messages-menu > .dropdown-menu > li .menu,.navbar-nav > .tasks-menu > .dropdown-menu > li .menu{max-height:200px;margin:0;padding:0;list-style:none;overflow-x:hidden;}.navbar-nav > .notifications-menu > .dropdown-menu > li .menu > li > a,.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a,.navbar-nav > .tasks-menu > .dropdown-menu > li .menu > li > a{display:block;white-space:nowrap;border-bottom:1px solid #f4f4f4;}.navbar-nav > .notifications-menu > .dropdown-menu > li .menu > li > a:hover,.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a:hover,.navbar-nav > .tasks-menu > .dropdown-menu > li .menu > li > a:hover{background:#f4f4f4;text-decoration:none;}.navbar-nav > .notifications-menu > .dropdown-menu > li .menu > li > a{color:#444444;overflow:hidden;text-overflow:ellipsis;padding:10px;}.navbar-nav > .notifications-menu > .dropdown-menu > li .menu > li > a > .glyphicon,.navbar-nav > .notifications-menu > .dropdown-menu > li .menu > li > a > .fa,.navbar-nav > .notifications-menu > .dropdown-menu > li .menu > li > a > .ion{width:20px;}.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a{margin:0;padding:10px 10px;}.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a > div > img{margin:auto 10px auto auto;width:40px;height:40px;}.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a > h4{padding:0;margin:0 0 0 45px;color:#444444;font-size:15px;position:relative;}.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a > h4 > small{color:#999999;font-size:10px;position:absolute;top:0;right:0;}.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a > p{margin:0 0 0 45px;font-size:12px;color:#888888;}.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a:before,.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a:after{content:" ";display:table;}.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a:after{clear:both;}.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a:before,.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a:after{content:" ";display:table;}.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a:after{clear:both;}.navbar-nav > .tasks-menu > .dropdown-menu > li .menu > li > a{padding:10px;}.navbar-nav > .tasks-menu > .dropdown-menu > li .menu > li > a > h3{font-size:14px;padding:0;margin:0 0 10px 0;color:#666666;}.navbar-nav > .tasks-menu > .dropdown-menu > li .menu > li > a > .progress{padding:0;margin:0;}.navbar-nav > .user-menu > .dropdown-menu{border-top-right-radius:0;border-top-left-radius:0;padding:1px 0 0 0;border-top-width:0;width:280px;}.navbar-nav > .user-menu > .dropdown-menu,.navbar-nav > .user-menu > .dropdown-menu > .user-body{border-bottom-right-radius:4px;border-bottom-left-radius:4px;}.navbar-nav > .user-menu > .dropdown-menu > li.user-header{height:175px;padding:10px;text-align:center;}.navbar-nav > .user-menu > .dropdown-menu > li.user-header > img{z-index:5;height:90px;width:90px;border:3px solid;border-color:transparent;border-color:rgba(255,255,255,0.2);}.navbar-nav > .user-menu > .dropdown-menu > li.user-header > p{z-index:5;color:#fff;color:rgba(255,255,255,0.8);font-size:17px;margin-top:10px;}.navbar-nav > .user-menu > .dropdown-menu > li.user-header > p > small{display:block;font-size:12px;}.navbar-nav > .user-menu > .dropdown-menu > .user-body{padding:15px;border-bottom:1px solid #f4f4f4;border-top:1px solid #dddddd;}.navbar-nav > .user-menu > .dropdown-menu > .user-body:before,.navbar-nav > .user-menu > .dropdown-menu > .user-body:after{content:" ";display:table;}.navbar-nav > .user-menu > .dropdown-menu > .user-body:after{clear:both;}.navbar-nav > .user-menu > .dropdown-menu > .user-body:before,.navbar-nav > .user-menu > .dropdown-menu > .user-body:after{content:" ";display:table;}.navbar-nav > .user-menu > .dropdown-menu > .user-body:after{clear:both;}.navbar-nav > .user-menu > .dropdown-menu > .user-body a{color:#444 !important;}@media (max-width:991px){.navbar-nav > .user-menu > .dropdown-menu > .user-body a{background:#fff !important;color:#444 !important;}}.navbar-nav > .user-menu > .dropdown-menu > .user-footer{background-color:#f9f9f9;padding:10px;}.navbar-nav > .user-menu > .dropdown-menu > .user-footer:before,.navbar-nav > .user-menu > .dropdown-menu > .user-footer:after{content:" ";display:table;}.navbar-nav > .user-menu > .dropdown-menu > .user-footer:after{clear:both;}.navbar-nav > .user-menu > .dropdown-menu > .user-footer:before,.navbar-nav > .user-menu > .dropdown-menu > .user-footer:after{content:" ";display:table;}.navbar-nav > .user-menu > .dropdown-menu > .user-footer:after{clear:both;}.navbar-nav > .user-menu > .dropdown-menu > .user-footer .btn-default{color:#666666;}@media (max-width:991px){.navbar-nav > .user-menu > .dropdown-menu > .user-footer .btn-default:hover{background-color:#f9f9f9;}}.navbar-nav > .user-menu .user-image{float:left;width:25px;height:25px;border-radius:50%;margin-right:10px;margin-top:-2px;}@media (max-width:767px){.navbar-nav > .user-menu .user-image{float:none;margin-right:0;margin-top:-8px;line-height:10px;}}.open:not(.dropup) > .animated-dropdown-menu{backface-visibility:visible !important;-webkit-animation:flipInX 0.7s both;-o-animation:flipInX 0.7s both;animation:flipInX 0.7s both;}@keyframes flipInX{0%{transform:perspective(400px) rotate3d(1,0,0,90deg);transition-timing-function:ease-in;opacity:0;}40%{transform:perspective(400px) rotate3d(1,0,0,-20deg);transition-timing-function:ease-in;}60%{transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1;}80%{transform:perspective(400px) rotate3d(1,0,0,-5deg);}100%{transform:perspective(400px);}}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-transition-timing-function:ease-in;opacity:0;}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-transition-timing-function:ease-in;}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1;}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);}100%{-webkit-transform:perspective(400px);}}.navbar-custom-menu > .navbar-nav > li{position:relative;}.navbar-custom-menu > .navbar-nav > li > .dropdown-menu{position:absolute;right:0;left:auto;}@media (max-width:991px){.navbar-custom-menu > .navbar-nav{float:right;}.navbar-custom-menu > .navbar-nav > li{position:static;}.navbar-custom-menu > .navbar-nav > li > .dropdown-menu{position:absolute;right:5%;left:auto;border:1px solid #ddd;background:#fff;}}.dropdown-submenu{position:relative;}.dropdown-submenu > .dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;border-radius:3px 0 3px 3px;}.dropdown-submenu:hover > .dropdown-menu{display:block;}.dropdown-submenu:hover > a:after{border-left-color:#fff;}.dropdown-submenu > a:after{display:block;content:" ";float:right;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#ccc;margin-top:5px;margin-right:-10px;}.dropdown-submenu.pull-left{float:none;}.dropdown-submenu.pull-left > .dropdown-menu{left:-100%;margin-left:10px;border-radius:3px 0 3px 3px;}.form-control{border-radius:0;box-shadow:none;border-color:#d2d6de;-webkit-appearance:none;-moz-appearance:none;appearance:none;}.form-control:focus{border-color:#3c8dbc;box-shadow:none;}.form-control::-moz-placeholder,.form-control:-ms-input-placeholder,.form-control::-webkit-input-placeholder{color:#bbb;opacity:1;}.form-control .btn{border-radius:0;}select.form-control{-webkit-appearance:none;-webkit-border-radius:0px;background-position:right 50%;background-repeat:no-repeat;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAMCAYAAABSgIzaAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDZFNDEwNjlGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDZFNDEwNkFGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0NkU0MTA2N0Y3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0NkU0MTA2OEY3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuGsgwQAAAA5SURBVHjaYvz//z8DOYCJgUxAf42MQIzTk0D/M+KzkRGPoQSdykiKJrBGpOhgJFYTWNEIiEeAAAMAzNENEOH+do8AAAAASUVORK5CYII=);}.form-group.has-success label{color:#18bc9c;}.form-group.has-success .form-control,.form-group.has-success .input-group-addon{border-color:#18bc9c;box-shadow:none;}.form-group.has-success .help-block{color:#18bc9c;}.form-group.has-warning label{color:#f39c12;}.form-group.has-warning .form-control,.form-group.has-warning .input-group-addon{border-color:#f39c12;box-shadow:none;}.form-group.has-warning .help-block{color:#f39c12;}.form-group.has-error label{color:#e74c3c;}.form-group.has-error .form-control,.form-group.has-error .input-group-addon{border-color:#e74c3c;box-shadow:none;}.form-group.has-error .help-block{color:#e74c3c;}.input-group .input-group-addon{border-radius:0;border-color:#d2d6de;background-color:#fff;}.btn-group-vertical .btn.btn-flat:first-of-type,.btn-group-vertical .btn.btn-flat:last-of-type{border-radius:0;}.icheck > label{padding-left:0;}.form-control-feedback.fa{line-height:31px;}.input-lg + .form-control-feedback.fa,.input-group-lg + .form-control-feedback.fa,.form-group-lg .form-control + .form-control-feedback.fa{line-height:42px;}.input-sm + .form-control-feedback.fa,.input-group-sm + .form-control-feedback.fa,.form-group-sm .form-control + .form-control-feedback.fa{line-height:28px;}.progress,.progress > .progress-bar{-webkit-box-shadow:none;box-shadow:none;}.progress,.progress > .progress-bar,.progress .progress-bar,.progress > .progress-bar .progress-bar{border-radius:1px;}.progress.sm,.progress-sm{height:10px;}.progress.sm,.progress-sm,.progress.sm .progress-bar,.progress-sm .progress-bar{border-radius:1px;}.progress.xs,.progress-xs{height:7px;}.progress.xs,.progress-xs,.progress.xs .progress-bar,.progress-xs .progress-bar{border-radius:1px;}.progress.xxs,.progress-xxs{height:3px;}.progress.xxs,.progress-xxs,.progress.xxs .progress-bar,.progress-xxs .progress-bar{border-radius:1px;}.progress.vertical{position:relative;width:30px;height:200px;display:inline-block;margin-right:10px;}.progress.vertical > .progress-bar{width:100%;position:absolute;bottom:0;}.progress.vertical.sm,.progress.vertical.progress-sm{width:20px;}.progress.vertical.xs,.progress.vertical.progress-xs{width:10px;}.progress.vertical.xxs,.progress.vertical.progress-xxs{width:3px;}.progress-group .progress-text{font-weight:600;}.progress-group .progress-number{float:right;}.table tr > td .progress{margin:0;}.progress-bar-light-blue,.progress-bar-primary{background-color:#3c8dbc;}.progress-striped .progress-bar-light-blue,.progress-striped .progress-bar-primary{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);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);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);}.progress-bar-green,.progress-bar-success{background-color:#18bc9c;}.progress-striped .progress-bar-green,.progress-striped .progress-bar-success{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);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);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);}.progress-bar-aqua,.progress-bar-info{background-color:#3498db;}.progress-striped .progress-bar-aqua,.progress-striped .progress-bar-info{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);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);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);}.progress-bar-yellow,.progress-bar-warning{background-color:#f39c12;}.progress-striped .progress-bar-yellow,.progress-striped .progress-bar-warning{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);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);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);}.progress-bar-red,.progress-bar-danger{background-color:#e74c3c;}.progress-striped .progress-bar-red,.progress-striped .progress-bar-danger{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);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);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);}.small-box{border-radius:2px;position:relative;display:block;margin-bottom:20px;box-shadow:0 1px 1px rgba(0,0,0,0.1);}.small-box > .inner{padding:10px;}.small-box > .small-box-footer{position:relative;text-align:center;padding:3px 0;color:#fff;color:rgba(255,255,255,0.8);display:block;z-index:10;background:rgba(0,0,0,0.1);text-decoration:none;}.small-box > .small-box-footer:hover{color:#fff;background:rgba(0,0,0,0.15);}.small-box h3{font-size:38px;font-weight:bold;margin:0 0 10px 0;white-space:nowrap;padding:0;}.small-box p{font-size:15px;}.small-box p > small{display:block;color:#f9f9f9;font-size:13px;margin-top:5px;}.small-box h3,.small-box p{z-index:5;}.small-box .icon{-webkit-transition:all 0.3s linear;-o-transition:all 0.3s linear;transition:all 0.3s linear;position:absolute;top:-10px;right:10px;z-index:0;font-size:90px;color:rgba(0,0,0,0.15);}.small-box:hover{text-decoration:none;color:#f9f9f9;}.small-box:hover .icon{font-size:95px;}@media (max-width:767px){.small-box{text-align:center;}.small-box .icon{display:none;}.small-box p{font-size:12px;}}.box{position:relative;border-radius:3px;background:#ffffff;border-top:3px solid #d2d6de;margin-bottom:20px;width:100%;box-shadow:0 1px 1px rgba(0,0,0,0.1);}.box.box-primary{border-top-color:#3c8dbc;}.box.box-info{border-top-color:#3498db;}.box.box-danger{border-top-color:#e74c3c;}.box.box-warning{border-top-color:#f39c12;}.box.box-success{border-top-color:#18bc9c;}.box.box-default{border-top-color:#d2d6de;}.box.collapsed-box .box-body,.box.collapsed-box .box-footer{display:none;}.box .nav-stacked > li{border-bottom:1px solid #f4f4f4;margin:0;}.box .nav-stacked > li:last-of-type{border-bottom:none;}.box.height-control .box-body{max-height:300px;overflow:auto;}.box .border-right{border-right:1px solid #f4f4f4;}.box .border-left{border-left:1px solid #f4f4f4;}.box.box-solid{border-top:0;}.box.box-solid > .box-header .btn.btn-default{background:transparent;}.box.box-solid > .box-header .btn:hover,.box.box-solid > .box-header a:hover{background:rgba(0,0,0,0.1);}.box.box-solid.box-default{border:1px solid #d2d6de;}.box.box-solid.box-default > .box-header{color:#444;background:#d2d6de;background-color:#d2d6de;}.box.box-solid.box-default > .box-header a,.box.box-solid.box-default > .box-header .btn{color:#444;}.box.box-solid.box-primary{border:1px solid #3c8dbc;}.box.box-solid.box-primary > .box-header{color:#fff;background:#3c8dbc;background-color:#3c8dbc;}.box.box-solid.box-primary > .box-header a,.box.box-solid.box-primary > .box-header .btn{color:#fff;}.box.box-solid.box-info{border:1px solid #3498db;}.box.box-solid.box-info > .box-header{color:#fff;background:#3498db;background-color:#3498db;}.box.box-solid.box-info > .box-header a,.box.box-solid.box-info > .box-header .btn{color:#fff;}.box.box-solid.box-danger{border:1px solid #e74c3c;}.box.box-solid.box-danger > .box-header{color:#fff;background:#e74c3c;background-color:#e74c3c;}.box.box-solid.box-danger > .box-header a,.box.box-solid.box-danger > .box-header .btn{color:#fff;}.box.box-solid.box-warning{border:1px solid #f39c12;}.box.box-solid.box-warning > .box-header{color:#fff;background:#f39c12;background-color:#f39c12;}.box.box-solid.box-warning > .box-header a,.box.box-solid.box-warning > .box-header .btn{color:#fff;}.box.box-solid.box-success{border:1px solid #18bc9c;}.box.box-solid.box-success > .box-header{color:#fff;background:#18bc9c;background-color:#18bc9c;}.box.box-solid.box-success > .box-header a,.box.box-solid.box-success > .box-header .btn{color:#fff;}.box.box-solid > .box-header > .box-tools .btn{border:0;box-shadow:none;}.box.box-solid[class*='bg'] > .box-header{color:#fff;}.box .box-group > .box{margin-bottom:5px;}.box .knob-label{text-align:center;color:#333;font-weight:100;font-size:12px;margin-bottom:0.3em;}.box > .overlay,.overlay-wrapper > .overlay,.box > .loading-img,.overlay-wrapper > .loading-img{position:absolute;top:0;left:0;width:100%;height:100%;}.box .overlay,.overlay-wrapper .overlay{z-index:50;background:rgba(255,255,255,0.7);border-radius:3px;}.box .overlay > .fa,.overlay-wrapper .overlay > .fa{position:absolute;top:50%;left:50%;margin-left:-15px;margin-top:-15px;color:#000;font-size:30px;}.box .overlay.dark,.overlay-wrapper .overlay.dark{background:rgba(0,0,0,0.5);}.box-header:before,.box-body:before,.box-footer:before,.box-header:after,.box-body:after,.box-footer:after{content:" ";display:table;}.box-header:after,.box-body:after,.box-footer:after{clear:both;}.box-header:before,.box-body:before,.box-footer:before,.box-header:after,.box-body:after,.box-footer:after{content:" ";display:table;}.box-header:after,.box-body:after,.box-footer:after{clear:both;}.box-header{color:#444;display:block;padding:10px;position:relative;}.box-header.with-border{border-bottom:1px solid #f4f4f4;}.collapsed-box .box-header.with-border{border-bottom:none;}.box-header > .fa,.box-header > .glyphicon,.box-header > .ion,.box-header .box-title{display:inline-block;font-size:18px;margin:0;line-height:1;}.box-header > .fa,.box-header > .glyphicon,.box-header > .ion{margin-right:5px;}.box-header > .box-tools{position:absolute;right:10px;top:5px;}.box-header > .box-tools [data-toggle="tooltip"]{position:relative;}.box-header > .box-tools.pull-right .dropdown-menu{right:0;left:auto;}.btn-box-tool{padding:5px;font-size:12px;background:transparent;color:#97a0b3;}.open .btn-box-tool,.btn-box-tool:hover{color:#606c84;}.btn-box-tool.btn:active{box-shadow:none;}.box-body{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;padding:10px;}.no-header .box-body{border-top-right-radius:3px;border-top-left-radius:3px;}.box-body > .table{margin-bottom:0;}.box-body .fc{margin-top:5px;}.box-body .full-width-chart{margin:-19px;}.box-body.no-padding .full-width-chart{margin:-9px;}.box-body .box-pane{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:3px;}.box-body .box-pane-right{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:0;}.box-footer{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;border-top:1px solid #f4f4f4;padding:10px;background-color:#fff;}.chart-legend{margin:10px 0;}@media (max-width:991px){.chart-legend > li{float:left;margin-right:10px;}}.box-comments{background:#f7f7f7;}.box-comments .box-comment{padding:8px 0;border-bottom:1px solid #eee;}.box-comments .box-comment:before,.box-comments .box-comment:after{content:" ";display:table;}.box-comments .box-comment:after{clear:both;}.box-comments .box-comment:before,.box-comments .box-comment:after{content:" ";display:table;}.box-comments .box-comment:after{clear:both;}.box-comments .box-comment:last-of-type{border-bottom:0;}.box-comments .box-comment:first-of-type{padding-top:0;}.box-comments .box-comment img{float:left;}.box-comments .comment-text{margin-left:40px;color:#555;}.box-comments .username{color:#444;display:block;font-weight:600;}.box-comments .text-muted{font-weight:400;font-size:12px;}.todo-list{margin:0;padding:0;list-style:none;overflow:auto;}.todo-list > li{border-radius:2px;padding:10px;background:#f4f4f4;margin-bottom:2px;border-left:2px solid #e6e7e8;color:#444;}.todo-list > li:last-of-type{margin-bottom:0;}.todo-list > li > input[type='checkbox']{margin:0 10px 0 5px;}.todo-list > li .text{display:inline-block;margin-left:5px;font-weight:600;}.todo-list > li .label{margin-left:10px;font-size:9px;}.todo-list > li .tools{display:none;float:right;color:#e74c3c;}.todo-list > li .tools > .fa,.todo-list > li .tools > .glyphicon,.todo-list > li .tools > .ion{margin-right:5px;cursor:pointer;}.todo-list > li:hover .tools{display:inline-block;}.todo-list > li.done{color:#999;}.todo-list > li.done .text{text-decoration:line-through;font-weight:500;}.todo-list > li.done .label{background:#d2d6de !important;}.todo-list .danger{border-left-color:#e74c3c;}.todo-list .warning{border-left-color:#f39c12;}.todo-list .info{border-left-color:#3498db;}.todo-list .success{border-left-color:#18bc9c;}.todo-list .primary{border-left-color:#3c8dbc;}.todo-list .handle{display:inline-block;cursor:move;margin:0 5px;}.chat{padding:5px 20px 5px 10px;}.chat .item{margin-bottom:10px;}.chat .item:before,.chat .item:after{content:" ";display:table;}.chat .item:after{clear:both;}.chat .item:before,.chat .item:after{content:" ";display:table;}.chat .item:after{clear:both;}.chat .item > img{width:40px;height:40px;border:2px solid transparent;border-radius:50%;}.chat .item > .online{border:2px solid #18bc9c;}.chat .item > .offline{border:2px solid #e74c3c;}.chat .item > .message{margin-left:55px;margin-top:-40px;}.chat .item > .message > .name{display:block;font-weight:600;}.chat .item > .attachment{border-radius:3px;background:#f4f4f4;margin-left:65px;margin-right:15px;padding:10px;}.chat .item > .attachment > h4{margin:0 0 5px 0;font-weight:600;font-size:14px;}.chat .item > .attachment > p,.chat .item > .attachment > .filename{font-weight:600;font-size:13px;font-style:italic;margin:0;}.chat .item > .attachment:before,.chat .item > .attachment:after{content:" ";display:table;}.chat .item > .attachment:after{clear:both;}.chat .item > .attachment:before,.chat .item > .attachment:after{content:" ";display:table;}.chat .item > .attachment:after{clear:both;}.box-input{max-width:200px;}.modal .panel-body{color:#444;}.info-box{display:block;min-height:90px;background:#fff;width:100%;box-shadow:0 1px 1px rgba(0,0,0,0.1);border-radius:2px;margin-bottom:15px;}.info-box small{font-size:14px;}.info-box .progress{background:rgba(0,0,0,0.2);margin:5px -10px 5px -10px;height:2px;}.info-box .progress,.info-box .progress .progress-bar{border-radius:0;}.info-box .progress .progress-bar{background:#fff;}.info-box-icon{border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px;display:block;float:left;height:90px;width:90px;text-align:center;font-size:45px;line-height:90px;background:rgba(0,0,0,0.2);}.info-box-icon > img{max-width:100%;}.info-box-content{padding:5px 10px;margin-left:90px;}.info-box-number{display:block;font-weight:bold;font-size:18px;}.progress-description,.info-box-text{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.info-box-text{text-transform:uppercase;}.info-box-more{display:block;}.progress-description{margin:0;}.timeline{position:relative;margin:0 0 30px 0;padding:0;list-style:none;}.timeline:before{content:'';position:absolute;top:0;bottom:0;width:4px;background:#ddd;left:31px;margin:0;border-radius:2px;}.timeline > li{position:relative;margin-right:10px;margin-bottom:15px;}.timeline > li:before,.timeline > li:after{content:" ";display:table;}.timeline > li:after{clear:both;}.timeline > li:before,.timeline > li:after{content:" ";display:table;}.timeline > li:after{clear:both;}.timeline > li > .timeline-item{-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.1);box-shadow:0 1px 1px rgba(0,0,0,0.1);border-radius:3px;margin-top:0;background:#fff;color:#444;margin-left:60px;margin-right:15px;padding:0;position:relative;}.timeline > li > .timeline-item > .time{color:#999;float:right;padding:10px;font-size:12px;}.timeline > li > .timeline-item > .timeline-header{margin:0;color:#555;border-bottom:1px solid #f4f4f4;padding:10px;font-size:16px;line-height:1.1;}.timeline > li > .timeline-item > .timeline-header > a{font-weight:600;}.timeline > li > .timeline-item > .timeline-body,.timeline > li > .timeline-item > .timeline-footer{padding:10px;}.timeline > li > .fa,.timeline > li > .glyphicon,.timeline > li > .ion{width:30px;height:30px;font-size:15px;line-height:30px;position:absolute;color:#666;background:#d2d6de;border-radius:50%;text-align:center;left:18px;top:0;}.timeline > .time-label > span{font-weight:600;padding:5px;display:inline-block;background-color:#fff;border-radius:4px;}.timeline-inverse > li > .timeline-item{background:#f0f0f0;border:1px solid #ddd;-webkit-box-shadow:none;box-shadow:none;}.timeline-inverse > li > .timeline-item > .timeline-header{border-bottom-color:#ddd;}.btn{-webkit-box-shadow:none;box-shadow:none;border:1px solid transparent;}.btn.uppercase{text-transform:uppercase;}.btn.btn-flat{border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;border-width:1px;}.btn:active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);-moz-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);}.btn:focus{outline:none;}.btn.btn-file{position:relative;overflow:hidden;}.btn.btn-file > input[type='file']{position:absolute;top:0;right:0;min-width:100%;min-height:100%;font-size:100px;text-align:right;opacity:0;filter:alpha(opacity=0);outline:none;background:white;cursor:inherit;display:block;}.btn-default{background-color:#f4f4f4;color:#444;border-color:#ddd;}.btn-default:hover,.btn-default:active,.btn-default.hover{background-color:#e7e7e7;}.btn-outline{border:1px solid #fff;background:transparent;color:#fff;}.btn-outline:hover,.btn-outline:focus,.btn-outline:active{color:rgba(255,255,255,0.7);border-color:rgba(255,255,255,0.7);}.btn-link{-webkit-box-shadow:none;box-shadow:none;}.btn[class*='bg-']:hover{-webkit-box-shadow:inset 0 0 100px rgba(0,0,0,0.2);box-shadow:inset 0 0 100px rgba(0,0,0,0.2);}.btn-app{border-radius:3px;position:relative;padding:15px 5px;margin:0 0 10px 10px;min-width:80px;height:60px;text-align:center;color:#666;border:1px solid #ddd;background-color:#f4f4f4;font-size:12px;}.btn-app > .fa,.btn-app > .glyphicon,.btn-app > .ion{font-size:20px;display:block;}.btn-app:hover{background:#f4f4f4;color:#444;border-color:#aaa;}.btn-app:active,.btn-app:focus{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);-moz-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);}.btn-app > .badge{position:absolute;top:-3px;right:-10px;font-size:10px;font-weight:400;}.callout{border-radius:3px;margin:0 0 20px 0;padding:15px 30px 15px 15px;border-left:5px solid #eee;}.callout a{color:#fff;text-decoration:underline;}.callout a:hover{color:#eee;}.callout h4{margin-top:0;font-weight:600;}.callout p:last-child{margin-bottom:0;}.callout code,.callout .highlight{background-color:#fff;}.callout.callout-danger{border-color:#d62c1a;}.callout.callout-warning{border-color:#c87f0a;}.callout.callout-info{border-color:#217dbb;}.callout.callout-success{border-color:#128f76;}.alert{border-radius:3px;}.alert h4{font-weight:600;}.alert .icon{margin-right:10px;}.alert .close{color:#000;opacity:0.2;filter:alpha(opacity=20);}.alert .close:hover{opacity:0.5;filter:alpha(opacity=50);}.alert a{color:#fff;text-decoration:underline;}.alert-success{border-color:#15a589;}.alert-danger,.alert-error{border-color:#e43725;}.alert-warning{border-color:#e08e0b;}.alert-info{border-color:#258cd1;}.alert-primary-light{background-color:#E2E5E8;border-color:#D0D4D8;color:#85878A;}.alert-primary-light a{color:#787a7d;}.alert-success-light{background-color:#dff0d8;border-color:#d1eac8;color:#468847;}.alert-success-light a{color:#3d773e;}.alert-danger-light,.alert-error-light{background-color:#f2dede;border-color:#ebcdcd;color:#b94a48;}.alert-danger-light a,.alert-error-light a{color:#a74240;}.alert-warning-light{background-color:#fcf8e3;border-color:#faf3cd;color:#c09853;}.alert-warning-light a{color:#b78c43;}.alert-info-light{background-color:#d9edf7;border-color:#c6e4f3;color:#3a87ad;}.alert-info-light a{color:#34789a;}.nav > li > a:hover,.nav > li > a:active,.nav > li > a:focus{color:#444;background:#f7f7f7;}.nav-pills > li > a{border-radius:0;border-top:3px solid transparent;color:#444;}.nav-pills > li > a > .fa,.nav-pills > li > a > .glyphicon,.nav-pills > li > a > .ion{margin-right:5px;}.nav-pills > li.active > a,.nav-pills > li.active > a:hover,.nav-pills > li.active > a:focus{border-top-color:#3c8dbc;}.nav-pills > li.active > a{font-weight:600;}.nav-stacked > li > a{border-radius:0;border-top:0;border-left:3px solid transparent;color:#444;}.nav-stacked > li.active > a,.nav-stacked > li.active > a:hover{background:transparent;color:#444;border-top:0;border-left-color:#3c8dbc;}.nav-stacked > li.header{border-bottom:1px solid #ddd;color:#777;margin-bottom:10px;padding:5px 10px;text-transform:uppercase;}.nav-tabs-custom{margin-bottom:20px;background:#fff;box-shadow:0 1px 1px rgba(0,0,0,0.1);border-radius:3px;}.nav-tabs-custom > .nav-tabs{margin:0;border-bottom-color:#f4f4f4;border-top-right-radius:3px;border-top-left-radius:3px;}.nav-tabs-custom > .nav-tabs > li{border-top:3px solid transparent;margin-bottom:-2px;margin-right:5px;}.nav-tabs-custom > .nav-tabs > li > a{color:#444;border-radius:0;}.nav-tabs-custom > .nav-tabs > li > a.text-muted{color:#999;}.nav-tabs-custom > .nav-tabs > li > a,.nav-tabs-custom > .nav-tabs > li > a:hover{background:transparent;margin:0;}.nav-tabs-custom > .nav-tabs > li > a:hover{color:#999;}.nav-tabs-custom > .nav-tabs > li:not(.active) > a:hover,.nav-tabs-custom > .nav-tabs > li:not(.active) > a:focus,.nav-tabs-custom > .nav-tabs > li:not(.active) > a:active{border-color:transparent;}.nav-tabs-custom > .nav-tabs > li.active{border-top-color:#3c8dbc;}.nav-tabs-custom > .nav-tabs > li.active > a,.nav-tabs-custom > .nav-tabs > li.active:hover > a{background-color:#fff;color:#444;}.nav-tabs-custom > .nav-tabs > li.active > a{border-top-color:transparent;border-left-color:#f4f4f4;border-right-color:#f4f4f4;}.nav-tabs-custom > .nav-tabs > li:first-of-type{margin-left:0;}.nav-tabs-custom > .nav-tabs > li:first-of-type.active > a{border-left-color:transparent;}.nav-tabs-custom > .nav-tabs.pull-right{float:none !important;}.nav-tabs-custom > .nav-tabs.pull-right > li{float:right;}.nav-tabs-custom > .nav-tabs.pull-right > li:first-of-type{margin-right:0;}.nav-tabs-custom > .nav-tabs.pull-right > li:first-of-type > a{border-left-width:1px;}.nav-tabs-custom > .nav-tabs.pull-right > li:first-of-type.active > a{border-left-color:#f4f4f4;border-right-color:transparent;}.nav-tabs-custom > .nav-tabs > li.header{line-height:35px;padding:0 10px;font-size:20px;color:#444;}.nav-tabs-custom > .nav-tabs > li.header > .fa,.nav-tabs-custom > .nav-tabs > li.header > .glyphicon,.nav-tabs-custom > .nav-tabs > li.header > .ion{margin-right:5px;}.nav-tabs-custom > .tab-content{background:#fff;padding:10px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;}.nav-tabs-custom .dropdown.open > a:active,.nav-tabs-custom .dropdown.open > a:focus{background:transparent;color:#999;}.nav-tabs-custom.tab-primary > .nav-tabs > li.active{border-top-color:#3c8dbc;}.nav-tabs-custom.tab-info > .nav-tabs > li.active{border-top-color:#3498db;}.nav-tabs-custom.tab-danger > .nav-tabs > li.active{border-top-color:#e74c3c;}.nav-tabs-custom.tab-warning > .nav-tabs > li.active{border-top-color:#f39c12;}.nav-tabs-custom.tab-success > .nav-tabs > li.active{border-top-color:#18bc9c;}.nav-tabs-custom.tab-default > .nav-tabs > li.active{border-top-color:#d2d6de;}.pagination > li > a{background:#fafafa;color:#666;}.pagination.pagination-flat > li > a{border-radius:0 !important;}.products-list{list-style:none;margin:0;padding:0;}.products-list > .item{border-radius:3px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.1);box-shadow:0 1px 1px rgba(0,0,0,0.1);padding:10px 0;background:#fff;}.products-list > .item:before,.products-list > .item:after{content:" ";display:table;}.products-list > .item:after{clear:both;}.products-list > .item:before,.products-list > .item:after{content:" ";display:table;}.products-list > .item:after{clear:both;}.products-list .product-img{float:left;}.products-list .product-img img{width:50px;height:50px;}.products-list .product-info{margin-left:60px;}.products-list .product-title{font-weight:600;}.products-list .product-description{display:block;color:#999;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}.product-list-in-box > .item{-webkit-box-shadow:none;box-shadow:none;border-radius:0;border-bottom:1px solid #f4f4f4;}.product-list-in-box > .item:last-of-type{border-bottom-width:0;}.table > thead > tr > th,.table > tbody > tr > th,.table > tfoot > tr > th,.table > thead > tr > td,.table > tbody > tr > td,.table > tfoot > tr > td{border-top:1px solid #f4f4f4;}.table > thead > tr > th{border-bottom:2px solid #f4f4f4;}.table tr td .progress{margin-top:5px;}.table-bordered{border:1px solid #f4f4f4;}.table-bordered > thead > tr > th,.table-bordered > tbody > tr > th,.table-bordered > tfoot > tr > th,.table-bordered > thead > tr > td,.table-bordered > tbody > tr > td,.table-bordered > tfoot > tr > td{border:1px solid #f4f4f4;}.table-bordered > thead > tr > th,.table-bordered > thead > tr > td{border-bottom-width:2px;}.table.no-border,.table.no-border td,.table.no-border th{border:0;}table.text-center,table.text-center td,table.text-center th{text-align:center;}.table.align th{text-align:left;}.table.align td{text-align:right;}.direct-chat .box-body{border-bottom-right-radius:0;border-bottom-left-radius:0;position:relative;overflow-x:hidden;padding:0;}.direct-chat.chat-pane-open .direct-chat-contacts{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0);}.direct-chat-messages{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0);padding:10px;height:250px;overflow:auto;}.direct-chat-msg,.direct-chat-text{display:block;}.direct-chat-msg{margin-bottom:10px;}.direct-chat-msg:before,.direct-chat-msg:after{content:" ";display:table;}.direct-chat-msg:after{clear:both;}.direct-chat-msg:before,.direct-chat-msg:after{content:" ";display:table;}.direct-chat-msg:after{clear:both;}.direct-chat-messages,.direct-chat-contacts{-webkit-transition:-webkit-transform 0.5s ease-in-out;-moz-transition:-moz-transform 0.5s ease-in-out;-o-transition:-o-transform 0.5s ease-in-out;transition:transform 0.5s ease-in-out;}.direct-chat-text{border-radius:5px;position:relative;padding:5px 10px;background:#d2d6de;border:1px solid #d2d6de;margin:5px 0 0 50px;color:#444;}.direct-chat-text:after,.direct-chat-text:before{position:absolute;right:100%;top:15px;border:solid transparent;border-right-color:#d2d6de;content:' ';height:0;width:0;pointer-events:none;}.direct-chat-text:after{border-width:5px;margin-top:-5px;}.direct-chat-text:before{border-width:6px;margin-top:-6px;}.right .direct-chat-text{margin-right:50px;margin-left:0;}.right .direct-chat-text:after,.right .direct-chat-text:before{right:auto;left:100%;border-right-color:transparent;border-left-color:#d2d6de;}.direct-chat-img{border-radius:50%;float:left;width:40px;height:40px;}.right .direct-chat-img{float:right;}.direct-chat-info{display:block;margin-bottom:2px;font-size:12px;}.direct-chat-name{font-weight:600;}.direct-chat-timestamp{color:#999;}.direct-chat-contacts-open .direct-chat-contacts{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0);}.direct-chat-contacts{-webkit-transform:translate(101%,0);-ms-transform:translate(101%,0);-o-transform:translate(101%,0);transform:translate(101%,0);position:absolute;top:0;bottom:0;height:250px;width:100%;background:#222d32;color:#fff;overflow:auto;}.contacts-list > li{border-bottom:1px solid rgba(0,0,0,0.2);padding:10px;margin:0;}.contacts-list > li:before,.contacts-list > li:after{content:" ";display:table;}.contacts-list > li:after{clear:both;}.contacts-list > li:before,.contacts-list > li:after{content:" ";display:table;}.contacts-list > li:after{clear:both;}.contacts-list > li:last-of-type{border-bottom:none;}.contacts-list-img{border-radius:50%;width:40px;float:left;}.contacts-list-info{margin-left:45px;color:#fff;}.contacts-list-name,.contacts-list-status{display:block;}.contacts-list-name{font-weight:600;}.contacts-list-status{font-size:12px;}.contacts-list-date{color:#aaa;font-weight:normal;}.contacts-list-msg{color:#999;}.direct-chat-danger .right > .direct-chat-text{background:#e74c3c;border-color:#e74c3c;color:#fff;}.direct-chat-danger .right > .direct-chat-text:after,.direct-chat-danger .right > .direct-chat-text:before{border-left-color:#e74c3c;}.direct-chat-primary .right > .direct-chat-text{background:#3c8dbc;border-color:#3c8dbc;color:#fff;}.direct-chat-primary .right > .direct-chat-text:after,.direct-chat-primary .right > .direct-chat-text:before{border-left-color:#3c8dbc;}.direct-chat-warning .right > .direct-chat-text{background:#f39c12;border-color:#f39c12;color:#fff;}.direct-chat-warning .right > .direct-chat-text:after,.direct-chat-warning .right > .direct-chat-text:before{border-left-color:#f39c12;}.direct-chat-info .right > .direct-chat-text{background:#3498db;border-color:#3498db;color:#fff;}.direct-chat-info .right > .direct-chat-text:after,.direct-chat-info .right > .direct-chat-text:before{border-left-color:#3498db;}.direct-chat-success .right > .direct-chat-text{background:#18bc9c;border-color:#18bc9c;color:#fff;}.direct-chat-success .right > .direct-chat-text:after,.direct-chat-success .right > .direct-chat-text:before{border-left-color:#18bc9c;}.users-list > li{width:25%;float:left;padding:10px;text-align:center;}.users-list > li img{border-radius:50%;max-width:100%;height:auto;}.users-list > li > a:hover,.users-list > li > a:hover .users-list-name{color:#999;}.users-list-name,.users-list-date{display:block;}.users-list-name{font-weight:600;color:#444;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}.users-list-date{color:#999;font-size:12px;}.carousel-control.left,.carousel-control.right{background-image:none;}.carousel-control > .fa{font-size:40px;position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-20px;}.modal{background:rgba(0,0,0,0.3);}.modal-content{border-radius:0;-webkit-box-shadow:0 2px 3px rgba(0,0,0,0.125);box-shadow:0 2px 3px rgba(0,0,0,0.125);border:0;}@media (min-width:768px){.modal-content{-webkit-box-shadow:0 2px 3px rgba(0,0,0,0.125);box-shadow:0 2px 3px rgba(0,0,0,0.125);}}.modal-header{border-bottom-color:#f4f4f4;}.modal-footer{border-top-color:#f4f4f4;}.modal-primary .modal-header,.modal-primary .modal-footer{border-color:#307095;}.modal-warning .modal-header,.modal-warning .modal-footer{border-color:#c87f0a;}.modal-info .modal-header,.modal-info .modal-footer{border-color:#217dbb;}.modal-success .modal-header,.modal-success .modal-footer{border-color:#128f76;}.modal-danger .modal-header,.modal-danger .modal-footer{border-color:#d62c1a;}.box-widget{border:none;position:relative;}.widget-user .widget-user-header{padding:20px;height:120px;border-top-right-radius:3px;border-top-left-radius:3px;}.widget-user .widget-user-username{margin-top:0;margin-bottom:5px;font-size:25px;font-weight:300;text-shadow:0 1px 1px rgba(0,0,0,0.2);}.widget-user .widget-user-desc{margin-top:0;}.widget-user .widget-user-image{position:absolute;top:65px;left:50%;margin-left:-45px;}.widget-user .widget-user-image > img{width:90px;height:auto;border:3px solid #fff;}.widget-user .box-footer{padding-top:30px;}.widget-user-2 .widget-user-header{padding:20px;border-top-right-radius:3px;border-top-left-radius:3px;}.widget-user-2 .widget-user-username{margin-top:5px;margin-bottom:5px;font-size:25px;font-weight:300;}.widget-user-2 .widget-user-desc{margin-top:0;}.widget-user-2 .widget-user-username,.widget-user-2 .widget-user-desc{margin-left:75px;}.widget-user-2 .widget-user-image > img{width:65px;height:auto;float:left;}.close,.mailbox-attachment-close{float:right;font-size:18px;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:before,.content:after{content:" ";display:table;}.clearfix:after,.content: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;}.mailbox-messages > .table{margin:0;}.mailbox-controls{padding:5px;}.mailbox-controls.with-border{border-bottom:1px solid #f4f4f4;}.mailbox-read-info{border-bottom:1px solid #f4f4f4;padding:10px;}.mailbox-read-info h3{font-size:20px;margin:0;}.mailbox-read-info h5{margin:0;padding:5px 0 0 0;}.mailbox-read-time{color:#999;font-size:13px;}.mailbox-read-message{padding:10px;}.mailbox-attachments li{float:left;width:200px;border:1px solid #eee;margin-bottom:10px;margin-right:10px;}.mailbox-attachment-name{font-weight:bold;color:#666;}.mailbox-attachment-icon,.mailbox-attachment-info,.mailbox-attachment-size{display:block;}.mailbox-attachment-info{padding:10px;background:#f4f4f4;}.mailbox-attachment-size{color:#999;font-size:12px;}.mailbox-attachment-icon{text-align:center;font-size:65px;color:#666;padding:20px 10px;}.mailbox-attachment-icon.has-img{padding:0;}.mailbox-attachment-icon.has-img > img{max-width:100%;height:auto;}.lockscreen{background:#d2d6de;}.lockscreen-logo{font-size:35px;text-align:center;margin-bottom:25px;font-weight:300;}.lockscreen-logo a{color:#444;}.lockscreen-wrapper{max-width:400px;margin:0 auto;margin-top:10%;}.lockscreen .lockscreen-name{text-align:center;font-weight:600;}.lockscreen-item{border-radius:4px;padding:0;background:#fff;position:relative;margin:10px auto 30px auto;width:290px;}.lockscreen-image{border-radius:50%;position:absolute;left:-10px;top:-25px;background:#fff;padding:5px;z-index:10;}.lockscreen-image > img{border-radius:50%;width:70px;height:70px;}.lockscreen-credentials{margin-left:70px;}.lockscreen-credentials .form-control{border:0;}.lockscreen-credentials .btn{background-color:#fff;border:0;padding:0 10px;}.lockscreen-footer{margin-top:10px;}.login-logo,.register-logo{font-size:35px;text-align:center;margin-bottom:25px;font-weight:300;}.login-logo a,.register-logo a{color:#444;}.login-page,.register-page{background:#d2d6de;}.login-box,.register-box{width:360px;margin:7% auto;}@media (max-width:768px){.login-box,.register-box{width:90%;margin-top:20px;}}.login-box-body,.register-box-body{background:#fff;padding:20px;border-top:0;color:#666;}.login-box-body .form-control-feedback,.register-box-body .form-control-feedback{color:#777;}.login-box-msg,.register-box-msg{margin:0;text-align:center;padding:0 20px 20px 20px;}.social-auth-links{margin:10px 0;}.error-page{width:600px;margin:20px auto 0 auto;}@media (max-width:991px){.error-page{width:100%;}}.error-page > .headline{float:left;font-size:100px;font-weight:300;}@media (max-width:991px){.error-page > .headline{float:none;text-align:center;}}.error-page > .error-content{margin-left:190px;display:block;}@media (max-width:991px){.error-page > .error-content{margin-left:0;}}.error-page > .error-content > h3{font-weight:300;font-size:25px;}@media (max-width:991px){.error-page > .error-content > h3{text-align:center;}}.invoice{position:relative;background:#fff;border:1px solid #f4f4f4;padding:20px;margin:10px 25px;}.invoice-title{margin-top:0;}.profile-user-img{margin:0 auto;width:100px;padding:3px;border:3px solid #d2d6de;}.profile-username{font-size:21px;margin-top:5px;}.post{border-bottom:1px solid #d2d6de;margin-bottom:15px;padding-bottom:15px;color:#666;}.post:last-of-type{border-bottom:0;margin-bottom:0;padding-bottom:0;}.post .user-block{margin-bottom:15px;}/* * Social Buttons for Bootstrap * * Copyright 2013-2015 Panayiotis Lipiridis * Licensed under the MIT License * * https://github.com/lipis/bootstrap-social */ .btn-social{position:relative;padding-left:41px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.btn-social > :first-child{position:absolute;left:0;top:0;bottom:0;width:29px;line-height:31px;font-size:1.6em;text-align:center;border-right:1px solid rgba(0,0,0,0.2);}.btn-social.btn-lg{padding-left:57px;}.btn-social.btn-lg > :first-child{line-height:41px;width:41px;font-size:1.8em;}.btn-social.btn-sm{padding-left:36px;}.btn-social.btn-sm > :first-child{line-height:26px;width:26px;font-size:1.4em;}.btn-social.btn-xs{padding-left:29px;}.btn-social.btn-xs > :first-child{line-height:19px;width:19px;font-size:1.2em;}.btn-social-icon{position:relative;padding-left:41px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:31px;width:31px;padding:0;}.btn-social-icon > :first-child{position:absolute;left:0;top:0;bottom:0;width:29px;line-height:31px;font-size:1.6em;text-align:center;border-right:1px solid rgba(0,0,0,0.2);}.btn-social-icon.btn-lg{padding-left:57px;}.btn-social-icon.btn-lg > :first-child{line-height:41px;width:41px;font-size:1.8em;}.btn-social-icon.btn-sm{padding-left:36px;}.btn-social-icon.btn-sm > :first-child{line-height:26px;width:26px;font-size:1.4em;}.btn-social-icon.btn-xs{padding-left:29px;}.btn-social-icon.btn-xs > :first-child{line-height:19px;width:19px;font-size:1.2em;}.btn-social-icon > :first-child{border:none;text-align:center;width:100%;}.btn-social-icon.btn-lg{height:41px;width:41px;padding-left:0;padding-right:0;}.btn-social-icon.btn-sm{height:28px;width:28px;padding-left:0;padding-right:0;}.btn-social-icon.btn-xs{height:21px;width:21px;padding-left:0;padding-right:0;}.btn-adn{color:#fff;background-color:#d87a68;border-color:rgba(0,0,0,0.2);}.btn-adn:focus,.btn-adn.focus{color:#fff;background-color:#ce563f;border-color:rgba(0,0,0,0.2);}.btn-adn:hover{color:#fff;background-color:#ce563f;border-color:rgba(0,0,0,0.2);}.btn-adn:active,.btn-adn.active,.open > .dropdown-toggle.btn-adn{color:#fff;background-color:#ce563f;border-color:rgba(0,0,0,0.2);}.btn-adn:active:hover,.btn-adn.active:hover,.open > .dropdown-toggle.btn-adn:hover,.btn-adn:active:focus,.btn-adn.active:focus,.open > .dropdown-toggle.btn-adn:focus,.btn-adn:active.focus,.btn-adn.active.focus,.open > .dropdown-toggle.btn-adn.focus{color:#fff;background-color:#b94630;border-color:rgba(0,0,0,0.2);}.btn-adn:active,.btn-adn.active,.open > .dropdown-toggle.btn-adn{background-image:none;}.btn-adn.disabled,.btn-adn[disabled],fieldset[disabled] .btn-adn,.btn-adn.disabled:hover,.btn-adn[disabled]:hover,fieldset[disabled] .btn-adn:hover,.btn-adn.disabled:focus,.btn-adn[disabled]:focus,fieldset[disabled] .btn-adn:focus,.btn-adn.disabled.focus,.btn-adn[disabled].focus,fieldset[disabled] .btn-adn.focus,.btn-adn.disabled:active,.btn-adn[disabled]:active,fieldset[disabled] .btn-adn:active,.btn-adn.disabled.active,.btn-adn[disabled].active,fieldset[disabled] .btn-adn.active{background-color:#d87a68;border-color:rgba(0,0,0,0.2);}.btn-adn .badge{color:#d87a68;background-color:#fff;}.btn-bitbucket{color:#fff;background-color:#205081;border-color:rgba(0,0,0,0.2);}.btn-bitbucket:focus,.btn-bitbucket.focus{color:#fff;background-color:#163758;border-color:rgba(0,0,0,0.2);}.btn-bitbucket:hover{color:#fff;background-color:#163758;border-color:rgba(0,0,0,0.2);}.btn-bitbucket:active,.btn-bitbucket.active,.open > .dropdown-toggle.btn-bitbucket{color:#fff;background-color:#163758;border-color:rgba(0,0,0,0.2);}.btn-bitbucket:active:hover,.btn-bitbucket.active:hover,.open > .dropdown-toggle.btn-bitbucket:hover,.btn-bitbucket:active:focus,.btn-bitbucket.active:focus,.open > .dropdown-toggle.btn-bitbucket:focus,.btn-bitbucket:active.focus,.btn-bitbucket.active.focus,.open > .dropdown-toggle.btn-bitbucket.focus{color:#fff;background-color:#0f253c;border-color:rgba(0,0,0,0.2);}.btn-bitbucket:active,.btn-bitbucket.active,.open > .dropdown-toggle.btn-bitbucket{background-image:none;}.btn-bitbucket.disabled,.btn-bitbucket[disabled],fieldset[disabled] .btn-bitbucket,.btn-bitbucket.disabled:hover,.btn-bitbucket[disabled]:hover,fieldset[disabled] .btn-bitbucket:hover,.btn-bitbucket.disabled:focus,.btn-bitbucket[disabled]:focus,fieldset[disabled] .btn-bitbucket:focus,.btn-bitbucket.disabled.focus,.btn-bitbucket[disabled].focus,fieldset[disabled] .btn-bitbucket.focus,.btn-bitbucket.disabled:active,.btn-bitbucket[disabled]:active,fieldset[disabled] .btn-bitbucket:active,.btn-bitbucket.disabled.active,.btn-bitbucket[disabled].active,fieldset[disabled] .btn-bitbucket.active{background-color:#205081;border-color:rgba(0,0,0,0.2);}.btn-bitbucket .badge{color:#205081;background-color:#fff;}.btn-dropbox{color:#fff;background-color:#1087dd;border-color:rgba(0,0,0,0.2);}.btn-dropbox:focus,.btn-dropbox.focus{color:#fff;background-color:#0d6aad;border-color:rgba(0,0,0,0.2);}.btn-dropbox:hover{color:#fff;background-color:#0d6aad;border-color:rgba(0,0,0,0.2);}.btn-dropbox:active,.btn-dropbox.active,.open > .dropdown-toggle.btn-dropbox{color:#fff;background-color:#0d6aad;border-color:rgba(0,0,0,0.2);}.btn-dropbox:active:hover,.btn-dropbox.active:hover,.open > .dropdown-toggle.btn-dropbox:hover,.btn-dropbox:active:focus,.btn-dropbox.active:focus,.open > .dropdown-toggle.btn-dropbox:focus,.btn-dropbox:active.focus,.btn-dropbox.active.focus,.open > .dropdown-toggle.btn-dropbox.focus{color:#fff;background-color:#0a568c;border-color:rgba(0,0,0,0.2);}.btn-dropbox:active,.btn-dropbox.active,.open > .dropdown-toggle.btn-dropbox{background-image:none;}.btn-dropbox.disabled,.btn-dropbox[disabled],fieldset[disabled] .btn-dropbox,.btn-dropbox.disabled:hover,.btn-dropbox[disabled]:hover,fieldset[disabled] .btn-dropbox:hover,.btn-dropbox.disabled:focus,.btn-dropbox[disabled]:focus,fieldset[disabled] .btn-dropbox:focus,.btn-dropbox.disabled.focus,.btn-dropbox[disabled].focus,fieldset[disabled] .btn-dropbox.focus,.btn-dropbox.disabled:active,.btn-dropbox[disabled]:active,fieldset[disabled] .btn-dropbox:active,.btn-dropbox.disabled.active,.btn-dropbox[disabled].active,fieldset[disabled] .btn-dropbox.active{background-color:#1087dd;border-color:rgba(0,0,0,0.2);}.btn-dropbox .badge{color:#1087dd;background-color:#fff;}.btn-facebook{color:#fff;background-color:#3b5998;border-color:rgba(0,0,0,0.2);}.btn-facebook:focus,.btn-facebook.focus{color:#fff;background-color:#2d4373;border-color:rgba(0,0,0,0.2);}.btn-facebook:hover{color:#fff;background-color:#2d4373;border-color:rgba(0,0,0,0.2);}.btn-facebook:active,.btn-facebook.active,.open > .dropdown-toggle.btn-facebook{color:#fff;background-color:#2d4373;border-color:rgba(0,0,0,0.2);}.btn-facebook:active:hover,.btn-facebook.active:hover,.open > .dropdown-toggle.btn-facebook:hover,.btn-facebook:active:focus,.btn-facebook.active:focus,.open > .dropdown-toggle.btn-facebook:focus,.btn-facebook:active.focus,.btn-facebook.active.focus,.open > .dropdown-toggle.btn-facebook.focus{color:#fff;background-color:#23345a;border-color:rgba(0,0,0,0.2);}.btn-facebook:active,.btn-facebook.active,.open > .dropdown-toggle.btn-facebook{background-image:none;}.btn-facebook.disabled,.btn-facebook[disabled],fieldset[disabled] .btn-facebook,.btn-facebook.disabled:hover,.btn-facebook[disabled]:hover,fieldset[disabled] .btn-facebook:hover,.btn-facebook.disabled:focus,.btn-facebook[disabled]:focus,fieldset[disabled] .btn-facebook:focus,.btn-facebook.disabled.focus,.btn-facebook[disabled].focus,fieldset[disabled] .btn-facebook.focus,.btn-facebook.disabled:active,.btn-facebook[disabled]:active,fieldset[disabled] .btn-facebook:active,.btn-facebook.disabled.active,.btn-facebook[disabled].active,fieldset[disabled] .btn-facebook.active{background-color:#3b5998;border-color:rgba(0,0,0,0.2);}.btn-facebook .badge{color:#3b5998;background-color:#fff;}.btn-flickr{color:#fff;background-color:#ff0084;border-color:rgba(0,0,0,0.2);}.btn-flickr:focus,.btn-flickr.focus{color:#fff;background-color:#cc006a;border-color:rgba(0,0,0,0.2);}.btn-flickr:hover{color:#fff;background-color:#cc006a;border-color:rgba(0,0,0,0.2);}.btn-flickr:active,.btn-flickr.active,.open > .dropdown-toggle.btn-flickr{color:#fff;background-color:#cc006a;border-color:rgba(0,0,0,0.2);}.btn-flickr:active:hover,.btn-flickr.active:hover,.open > .dropdown-toggle.btn-flickr:hover,.btn-flickr:active:focus,.btn-flickr.active:focus,.open > .dropdown-toggle.btn-flickr:focus,.btn-flickr:active.focus,.btn-flickr.active.focus,.open > .dropdown-toggle.btn-flickr.focus{color:#fff;background-color:#a80057;border-color:rgba(0,0,0,0.2);}.btn-flickr:active,.btn-flickr.active,.open > .dropdown-toggle.btn-flickr{background-image:none;}.btn-flickr.disabled,.btn-flickr[disabled],fieldset[disabled] .btn-flickr,.btn-flickr.disabled:hover,.btn-flickr[disabled]:hover,fieldset[disabled] .btn-flickr:hover,.btn-flickr.disabled:focus,.btn-flickr[disabled]:focus,fieldset[disabled] .btn-flickr:focus,.btn-flickr.disabled.focus,.btn-flickr[disabled].focus,fieldset[disabled] .btn-flickr.focus,.btn-flickr.disabled:active,.btn-flickr[disabled]:active,fieldset[disabled] .btn-flickr:active,.btn-flickr.disabled.active,.btn-flickr[disabled].active,fieldset[disabled] .btn-flickr.active{background-color:#ff0084;border-color:rgba(0,0,0,0.2);}.btn-flickr .badge{color:#ff0084;background-color:#fff;}.btn-foursquare{color:#fff;background-color:#f94877;border-color:rgba(0,0,0,0.2);}.btn-foursquare:focus,.btn-foursquare.focus{color:#fff;background-color:#f71752;border-color:rgba(0,0,0,0.2);}.btn-foursquare:hover{color:#fff;background-color:#f71752;border-color:rgba(0,0,0,0.2);}.btn-foursquare:active,.btn-foursquare.active,.open > .dropdown-toggle.btn-foursquare{color:#fff;background-color:#f71752;border-color:rgba(0,0,0,0.2);}.btn-foursquare:active:hover,.btn-foursquare.active:hover,.open > .dropdown-toggle.btn-foursquare:hover,.btn-foursquare:active:focus,.btn-foursquare.active:focus,.open > .dropdown-toggle.btn-foursquare:focus,.btn-foursquare:active.focus,.btn-foursquare.active.focus,.open > .dropdown-toggle.btn-foursquare.focus{color:#fff;background-color:#e30742;border-color:rgba(0,0,0,0.2);}.btn-foursquare:active,.btn-foursquare.active,.open > .dropdown-toggle.btn-foursquare{background-image:none;}.btn-foursquare.disabled,.btn-foursquare[disabled],fieldset[disabled] .btn-foursquare,.btn-foursquare.disabled:hover,.btn-foursquare[disabled]:hover,fieldset[disabled] .btn-foursquare:hover,.btn-foursquare.disabled:focus,.btn-foursquare[disabled]:focus,fieldset[disabled] .btn-foursquare:focus,.btn-foursquare.disabled.focus,.btn-foursquare[disabled].focus,fieldset[disabled] .btn-foursquare.focus,.btn-foursquare.disabled:active,.btn-foursquare[disabled]:active,fieldset[disabled] .btn-foursquare:active,.btn-foursquare.disabled.active,.btn-foursquare[disabled].active,fieldset[disabled] .btn-foursquare.active{background-color:#f94877;border-color:rgba(0,0,0,0.2);}.btn-foursquare .badge{color:#f94877;background-color:#fff;}.btn-github{color:#fff;background-color:#444444;border-color:rgba(0,0,0,0.2);}.btn-github:focus,.btn-github.focus{color:#fff;background-color:#2b2b2b;border-color:rgba(0,0,0,0.2);}.btn-github:hover{color:#fff;background-color:#2b2b2b;border-color:rgba(0,0,0,0.2);}.btn-github:active,.btn-github.active,.open > .dropdown-toggle.btn-github{color:#fff;background-color:#2b2b2b;border-color:rgba(0,0,0,0.2);}.btn-github:active:hover,.btn-github.active:hover,.open > .dropdown-toggle.btn-github:hover,.btn-github:active:focus,.btn-github.active:focus,.open > .dropdown-toggle.btn-github:focus,.btn-github:active.focus,.btn-github.active.focus,.open > .dropdown-toggle.btn-github.focus{color:#fff;background-color:#191919;border-color:rgba(0,0,0,0.2);}.btn-github:active,.btn-github.active,.open > .dropdown-toggle.btn-github{background-image:none;}.btn-github.disabled,.btn-github[disabled],fieldset[disabled] .btn-github,.btn-github.disabled:hover,.btn-github[disabled]:hover,fieldset[disabled] .btn-github:hover,.btn-github.disabled:focus,.btn-github[disabled]:focus,fieldset[disabled] .btn-github:focus,.btn-github.disabled.focus,.btn-github[disabled].focus,fieldset[disabled] .btn-github.focus,.btn-github.disabled:active,.btn-github[disabled]:active,fieldset[disabled] .btn-github:active,.btn-github.disabled.active,.btn-github[disabled].active,fieldset[disabled] .btn-github.active{background-color:#444444;border-color:rgba(0,0,0,0.2);}.btn-github .badge{color:#444444;background-color:#fff;}.btn-google{color:#fff;background-color:#dd4b39;border-color:rgba(0,0,0,0.2);}.btn-google:focus,.btn-google.focus{color:#fff;background-color:#c23321;border-color:rgba(0,0,0,0.2);}.btn-google:hover{color:#fff;background-color:#c23321;border-color:rgba(0,0,0,0.2);}.btn-google:active,.btn-google.active,.open > .dropdown-toggle.btn-google{color:#fff;background-color:#c23321;border-color:rgba(0,0,0,0.2);}.btn-google:active:hover,.btn-google.active:hover,.open > .dropdown-toggle.btn-google:hover,.btn-google:active:focus,.btn-google.active:focus,.open > .dropdown-toggle.btn-google:focus,.btn-google:active.focus,.btn-google.active.focus,.open > .dropdown-toggle.btn-google.focus{color:#fff;background-color:#a32b1c;border-color:rgba(0,0,0,0.2);}.btn-google:active,.btn-google.active,.open > .dropdown-toggle.btn-google{background-image:none;}.btn-google.disabled,.btn-google[disabled],fieldset[disabled] .btn-google,.btn-google.disabled:hover,.btn-google[disabled]:hover,fieldset[disabled] .btn-google:hover,.btn-google.disabled:focus,.btn-google[disabled]:focus,fieldset[disabled] .btn-google:focus,.btn-google.disabled.focus,.btn-google[disabled].focus,fieldset[disabled] .btn-google.focus,.btn-google.disabled:active,.btn-google[disabled]:active,fieldset[disabled] .btn-google:active,.btn-google.disabled.active,.btn-google[disabled].active,fieldset[disabled] .btn-google.active{background-color:#dd4b39;border-color:rgba(0,0,0,0.2);}.btn-google .badge{color:#dd4b39;background-color:#fff;}.btn-instagram{color:#fff;background-color:#3f729b;border-color:rgba(0,0,0,0.2);}.btn-instagram:focus,.btn-instagram.focus{color:#fff;background-color:#305777;border-color:rgba(0,0,0,0.2);}.btn-instagram:hover{color:#fff;background-color:#305777;border-color:rgba(0,0,0,0.2);}.btn-instagram:active,.btn-instagram.active,.open > .dropdown-toggle.btn-instagram{color:#fff;background-color:#305777;border-color:rgba(0,0,0,0.2);}.btn-instagram:active:hover,.btn-instagram.active:hover,.open > .dropdown-toggle.btn-instagram:hover,.btn-instagram:active:focus,.btn-instagram.active:focus,.open > .dropdown-toggle.btn-instagram:focus,.btn-instagram:active.focus,.btn-instagram.active.focus,.open > .dropdown-toggle.btn-instagram.focus{color:#fff;background-color:#26455d;border-color:rgba(0,0,0,0.2);}.btn-instagram:active,.btn-instagram.active,.open > .dropdown-toggle.btn-instagram{background-image:none;}.btn-instagram.disabled,.btn-instagram[disabled],fieldset[disabled] .btn-instagram,.btn-instagram.disabled:hover,.btn-instagram[disabled]:hover,fieldset[disabled] .btn-instagram:hover,.btn-instagram.disabled:focus,.btn-instagram[disabled]:focus,fieldset[disabled] .btn-instagram:focus,.btn-instagram.disabled.focus,.btn-instagram[disabled].focus,fieldset[disabled] .btn-instagram.focus,.btn-instagram.disabled:active,.btn-instagram[disabled]:active,fieldset[disabled] .btn-instagram:active,.btn-instagram.disabled.active,.btn-instagram[disabled].active,fieldset[disabled] .btn-instagram.active{background-color:#3f729b;border-color:rgba(0,0,0,0.2);}.btn-instagram .badge{color:#3f729b;background-color:#fff;}.btn-linkedin{color:#fff;background-color:#007bb6;border-color:rgba(0,0,0,0.2);}.btn-linkedin:focus,.btn-linkedin.focus{color:#fff;background-color:#005983;border-color:rgba(0,0,0,0.2);}.btn-linkedin:hover{color:#fff;background-color:#005983;border-color:rgba(0,0,0,0.2);}.btn-linkedin:active,.btn-linkedin.active,.open > .dropdown-toggle.btn-linkedin{color:#fff;background-color:#005983;border-color:rgba(0,0,0,0.2);}.btn-linkedin:active:hover,.btn-linkedin.active:hover,.open > .dropdown-toggle.btn-linkedin:hover,.btn-linkedin:active:focus,.btn-linkedin.active:focus,.open > .dropdown-toggle.btn-linkedin:focus,.btn-linkedin:active.focus,.btn-linkedin.active.focus,.open > .dropdown-toggle.btn-linkedin.focus{color:#fff;background-color:#00405f;border-color:rgba(0,0,0,0.2);}.btn-linkedin:active,.btn-linkedin.active,.open > .dropdown-toggle.btn-linkedin{background-image:none;}.btn-linkedin.disabled,.btn-linkedin[disabled],fieldset[disabled] .btn-linkedin,.btn-linkedin.disabled:hover,.btn-linkedin[disabled]:hover,fieldset[disabled] .btn-linkedin:hover,.btn-linkedin.disabled:focus,.btn-linkedin[disabled]:focus,fieldset[disabled] .btn-linkedin:focus,.btn-linkedin.disabled.focus,.btn-linkedin[disabled].focus,fieldset[disabled] .btn-linkedin.focus,.btn-linkedin.disabled:active,.btn-linkedin[disabled]:active,fieldset[disabled] .btn-linkedin:active,.btn-linkedin.disabled.active,.btn-linkedin[disabled].active,fieldset[disabled] .btn-linkedin.active{background-color:#007bb6;border-color:rgba(0,0,0,0.2);}.btn-linkedin .badge{color:#007bb6;background-color:#fff;}.btn-microsoft{color:#fff;background-color:#2672ec;border-color:rgba(0,0,0,0.2);}.btn-microsoft:focus,.btn-microsoft.focus{color:#fff;background-color:#125acd;border-color:rgba(0,0,0,0.2);}.btn-microsoft:hover{color:#fff;background-color:#125acd;border-color:rgba(0,0,0,0.2);}.btn-microsoft:active,.btn-microsoft.active,.open > .dropdown-toggle.btn-microsoft{color:#fff;background-color:#125acd;border-color:rgba(0,0,0,0.2);}.btn-microsoft:active:hover,.btn-microsoft.active:hover,.open > .dropdown-toggle.btn-microsoft:hover,.btn-microsoft:active:focus,.btn-microsoft.active:focus,.open > .dropdown-toggle.btn-microsoft:focus,.btn-microsoft:active.focus,.btn-microsoft.active.focus,.open > .dropdown-toggle.btn-microsoft.focus{color:#fff;background-color:#0f4bac;border-color:rgba(0,0,0,0.2);}.btn-microsoft:active,.btn-microsoft.active,.open > .dropdown-toggle.btn-microsoft{background-image:none;}.btn-microsoft.disabled,.btn-microsoft[disabled],fieldset[disabled] .btn-microsoft,.btn-microsoft.disabled:hover,.btn-microsoft[disabled]:hover,fieldset[disabled] .btn-microsoft:hover,.btn-microsoft.disabled:focus,.btn-microsoft[disabled]:focus,fieldset[disabled] .btn-microsoft:focus,.btn-microsoft.disabled.focus,.btn-microsoft[disabled].focus,fieldset[disabled] .btn-microsoft.focus,.btn-microsoft.disabled:active,.btn-microsoft[disabled]:active,fieldset[disabled] .btn-microsoft:active,.btn-microsoft.disabled.active,.btn-microsoft[disabled].active,fieldset[disabled] .btn-microsoft.active{background-color:#2672ec;border-color:rgba(0,0,0,0.2);}.btn-microsoft .badge{color:#2672ec;background-color:#fff;}.btn-openid{color:#fff;background-color:#f7931e;border-color:rgba(0,0,0,0.2);}.btn-openid:focus,.btn-openid.focus{color:#fff;background-color:#da7908;border-color:rgba(0,0,0,0.2);}.btn-openid:hover{color:#fff;background-color:#da7908;border-color:rgba(0,0,0,0.2);}.btn-openid:active,.btn-openid.active,.open > .dropdown-toggle.btn-openid{color:#fff;background-color:#da7908;border-color:rgba(0,0,0,0.2);}.btn-openid:active:hover,.btn-openid.active:hover,.open > .dropdown-toggle.btn-openid:hover,.btn-openid:active:focus,.btn-openid.active:focus,.open > .dropdown-toggle.btn-openid:focus,.btn-openid:active.focus,.btn-openid.active.focus,.open > .dropdown-toggle.btn-openid.focus{color:#fff;background-color:#b86607;border-color:rgba(0,0,0,0.2);}.btn-openid:active,.btn-openid.active,.open > .dropdown-toggle.btn-openid{background-image:none;}.btn-openid.disabled,.btn-openid[disabled],fieldset[disabled] .btn-openid,.btn-openid.disabled:hover,.btn-openid[disabled]:hover,fieldset[disabled] .btn-openid:hover,.btn-openid.disabled:focus,.btn-openid[disabled]:focus,fieldset[disabled] .btn-openid:focus,.btn-openid.disabled.focus,.btn-openid[disabled].focus,fieldset[disabled] .btn-openid.focus,.btn-openid.disabled:active,.btn-openid[disabled]:active,fieldset[disabled] .btn-openid:active,.btn-openid.disabled.active,.btn-openid[disabled].active,fieldset[disabled] .btn-openid.active{background-color:#f7931e;border-color:rgba(0,0,0,0.2);}.btn-openid .badge{color:#f7931e;background-color:#fff;}.btn-pinterest{color:#fff;background-color:#cb2027;border-color:rgba(0,0,0,0.2);}.btn-pinterest:focus,.btn-pinterest.focus{color:#fff;background-color:#9f191f;border-color:rgba(0,0,0,0.2);}.btn-pinterest:hover{color:#fff;background-color:#9f191f;border-color:rgba(0,0,0,0.2);}.btn-pinterest:active,.btn-pinterest.active,.open > .dropdown-toggle.btn-pinterest{color:#fff;background-color:#9f191f;border-color:rgba(0,0,0,0.2);}.btn-pinterest:active:hover,.btn-pinterest.active:hover,.open > .dropdown-toggle.btn-pinterest:hover,.btn-pinterest:active:focus,.btn-pinterest.active:focus,.open > .dropdown-toggle.btn-pinterest:focus,.btn-pinterest:active.focus,.btn-pinterest.active.focus,.open > .dropdown-toggle.btn-pinterest.focus{color:#fff;background-color:#801419;border-color:rgba(0,0,0,0.2);}.btn-pinterest:active,.btn-pinterest.active,.open > .dropdown-toggle.btn-pinterest{background-image:none;}.btn-pinterest.disabled,.btn-pinterest[disabled],fieldset[disabled] .btn-pinterest,.btn-pinterest.disabled:hover,.btn-pinterest[disabled]:hover,fieldset[disabled] .btn-pinterest:hover,.btn-pinterest.disabled:focus,.btn-pinterest[disabled]:focus,fieldset[disabled] .btn-pinterest:focus,.btn-pinterest.disabled.focus,.btn-pinterest[disabled].focus,fieldset[disabled] .btn-pinterest.focus,.btn-pinterest.disabled:active,.btn-pinterest[disabled]:active,fieldset[disabled] .btn-pinterest:active,.btn-pinterest.disabled.active,.btn-pinterest[disabled].active,fieldset[disabled] .btn-pinterest.active{background-color:#cb2027;border-color:rgba(0,0,0,0.2);}.btn-pinterest .badge{color:#cb2027;background-color:#fff;}.btn-reddit{color:#000;background-color:#eff7ff;border-color:rgba(0,0,0,0.2);}.btn-reddit:focus,.btn-reddit.focus{color:#000;background-color:#bcddff;border-color:rgba(0,0,0,0.2);}.btn-reddit:hover{color:#000;background-color:#bcddff;border-color:rgba(0,0,0,0.2);}.btn-reddit:active,.btn-reddit.active,.open > .dropdown-toggle.btn-reddit{color:#000;background-color:#bcddff;border-color:rgba(0,0,0,0.2);}.btn-reddit:active:hover,.btn-reddit.active:hover,.open > .dropdown-toggle.btn-reddit:hover,.btn-reddit:active:focus,.btn-reddit.active:focus,.open > .dropdown-toggle.btn-reddit:focus,.btn-reddit:active.focus,.btn-reddit.active.focus,.open > .dropdown-toggle.btn-reddit.focus{color:#000;background-color:#98ccff;border-color:rgba(0,0,0,0.2);}.btn-reddit:active,.btn-reddit.active,.open > .dropdown-toggle.btn-reddit{background-image:none;}.btn-reddit.disabled,.btn-reddit[disabled],fieldset[disabled] .btn-reddit,.btn-reddit.disabled:hover,.btn-reddit[disabled]:hover,fieldset[disabled] .btn-reddit:hover,.btn-reddit.disabled:focus,.btn-reddit[disabled]:focus,fieldset[disabled] .btn-reddit:focus,.btn-reddit.disabled.focus,.btn-reddit[disabled].focus,fieldset[disabled] .btn-reddit.focus,.btn-reddit.disabled:active,.btn-reddit[disabled]:active,fieldset[disabled] .btn-reddit:active,.btn-reddit.disabled.active,.btn-reddit[disabled].active,fieldset[disabled] .btn-reddit.active{background-color:#eff7ff;border-color:rgba(0,0,0,0.2);}.btn-reddit .badge{color:#eff7ff;background-color:#000;}.btn-soundcloud{color:#fff;background-color:#ff5500;border-color:rgba(0,0,0,0.2);}.btn-soundcloud:focus,.btn-soundcloud.focus{color:#fff;background-color:#cc4400;border-color:rgba(0,0,0,0.2);}.btn-soundcloud:hover{color:#fff;background-color:#cc4400;border-color:rgba(0,0,0,0.2);}.btn-soundcloud:active,.btn-soundcloud.active,.open > .dropdown-toggle.btn-soundcloud{color:#fff;background-color:#cc4400;border-color:rgba(0,0,0,0.2);}.btn-soundcloud:active:hover,.btn-soundcloud.active:hover,.open > .dropdown-toggle.btn-soundcloud:hover,.btn-soundcloud:active:focus,.btn-soundcloud.active:focus,.open > .dropdown-toggle.btn-soundcloud:focus,.btn-soundcloud:active.focus,.btn-soundcloud.active.focus,.open > .dropdown-toggle.btn-soundcloud.focus{color:#fff;background-color:#a83800;border-color:rgba(0,0,0,0.2);}.btn-soundcloud:active,.btn-soundcloud.active,.open > .dropdown-toggle.btn-soundcloud{background-image:none;}.btn-soundcloud.disabled,.btn-soundcloud[disabled],fieldset[disabled] .btn-soundcloud,.btn-soundcloud.disabled:hover,.btn-soundcloud[disabled]:hover,fieldset[disabled] .btn-soundcloud:hover,.btn-soundcloud.disabled:focus,.btn-soundcloud[disabled]:focus,fieldset[disabled] .btn-soundcloud:focus,.btn-soundcloud.disabled.focus,.btn-soundcloud[disabled].focus,fieldset[disabled] .btn-soundcloud.focus,.btn-soundcloud.disabled:active,.btn-soundcloud[disabled]:active,fieldset[disabled] .btn-soundcloud:active,.btn-soundcloud.disabled.active,.btn-soundcloud[disabled].active,fieldset[disabled] .btn-soundcloud.active{background-color:#ff5500;border-color:rgba(0,0,0,0.2);}.btn-soundcloud .badge{color:#ff5500;background-color:#fff;}.btn-tumblr{color:#fff;background-color:#2c4762;border-color:rgba(0,0,0,0.2);}.btn-tumblr:focus,.btn-tumblr.focus{color:#fff;background-color:#1c2d3f;border-color:rgba(0,0,0,0.2);}.btn-tumblr:hover{color:#fff;background-color:#1c2d3f;border-color:rgba(0,0,0,0.2);}.btn-tumblr:active,.btn-tumblr.active,.open > .dropdown-toggle.btn-tumblr{color:#fff;background-color:#1c2d3f;border-color:rgba(0,0,0,0.2);}.btn-tumblr:active:hover,.btn-tumblr.active:hover,.open > .dropdown-toggle.btn-tumblr:hover,.btn-tumblr:active:focus,.btn-tumblr.active:focus,.open > .dropdown-toggle.btn-tumblr:focus,.btn-tumblr:active.focus,.btn-tumblr.active.focus,.open > .dropdown-toggle.btn-tumblr.focus{color:#fff;background-color:#111c26;border-color:rgba(0,0,0,0.2);}.btn-tumblr:active,.btn-tumblr.active,.open > .dropdown-toggle.btn-tumblr{background-image:none;}.btn-tumblr.disabled,.btn-tumblr[disabled],fieldset[disabled] .btn-tumblr,.btn-tumblr.disabled:hover,.btn-tumblr[disabled]:hover,fieldset[disabled] .btn-tumblr:hover,.btn-tumblr.disabled:focus,.btn-tumblr[disabled]:focus,fieldset[disabled] .btn-tumblr:focus,.btn-tumblr.disabled.focus,.btn-tumblr[disabled].focus,fieldset[disabled] .btn-tumblr.focus,.btn-tumblr.disabled:active,.btn-tumblr[disabled]:active,fieldset[disabled] .btn-tumblr:active,.btn-tumblr.disabled.active,.btn-tumblr[disabled].active,fieldset[disabled] .btn-tumblr.active{background-color:#2c4762;border-color:rgba(0,0,0,0.2);}.btn-tumblr .badge{color:#2c4762;background-color:#fff;}.btn-twitter{color:#fff;background-color:#55acee;border-color:rgba(0,0,0,0.2);}.btn-twitter:focus,.btn-twitter.focus{color:#fff;background-color:#2795e9;border-color:rgba(0,0,0,0.2);}.btn-twitter:hover{color:#fff;background-color:#2795e9;border-color:rgba(0,0,0,0.2);}.btn-twitter:active,.btn-twitter.active,.open > .dropdown-toggle.btn-twitter{color:#fff;background-color:#2795e9;border-color:rgba(0,0,0,0.2);}.btn-twitter:active:hover,.btn-twitter.active:hover,.open > .dropdown-toggle.btn-twitter:hover,.btn-twitter:active:focus,.btn-twitter.active:focus,.open > .dropdown-toggle.btn-twitter:focus,.btn-twitter:active.focus,.btn-twitter.active.focus,.open > .dropdown-toggle.btn-twitter.focus{color:#fff;background-color:#1583d7;border-color:rgba(0,0,0,0.2);}.btn-twitter:active,.btn-twitter.active,.open > .dropdown-toggle.btn-twitter{background-image:none;}.btn-twitter.disabled,.btn-twitter[disabled],fieldset[disabled] .btn-twitter,.btn-twitter.disabled:hover,.btn-twitter[disabled]:hover,fieldset[disabled] .btn-twitter:hover,.btn-twitter.disabled:focus,.btn-twitter[disabled]:focus,fieldset[disabled] .btn-twitter:focus,.btn-twitter.disabled.focus,.btn-twitter[disabled].focus,fieldset[disabled] .btn-twitter.focus,.btn-twitter.disabled:active,.btn-twitter[disabled]:active,fieldset[disabled] .btn-twitter:active,.btn-twitter.disabled.active,.btn-twitter[disabled].active,fieldset[disabled] .btn-twitter.active{background-color:#55acee;border-color:rgba(0,0,0,0.2);}.btn-twitter .badge{color:#55acee;background-color:#fff;}.btn-vimeo{color:#fff;background-color:#1ab7ea;border-color:rgba(0,0,0,0.2);}.btn-vimeo:focus,.btn-vimeo.focus{color:#fff;background-color:#1295bf;border-color:rgba(0,0,0,0.2);}.btn-vimeo:hover{color:#fff;background-color:#1295bf;border-color:rgba(0,0,0,0.2);}.btn-vimeo:active,.btn-vimeo.active,.open > .dropdown-toggle.btn-vimeo{color:#fff;background-color:#1295bf;border-color:rgba(0,0,0,0.2);}.btn-vimeo:active:hover,.btn-vimeo.active:hover,.open > .dropdown-toggle.btn-vimeo:hover,.btn-vimeo:active:focus,.btn-vimeo.active:focus,.open > .dropdown-toggle.btn-vimeo:focus,.btn-vimeo:active.focus,.btn-vimeo.active.focus,.open > .dropdown-toggle.btn-vimeo.focus{color:#fff;background-color:#0f7b9f;border-color:rgba(0,0,0,0.2);}.btn-vimeo:active,.btn-vimeo.active,.open > .dropdown-toggle.btn-vimeo{background-image:none;}.btn-vimeo.disabled,.btn-vimeo[disabled],fieldset[disabled] .btn-vimeo,.btn-vimeo.disabled:hover,.btn-vimeo[disabled]:hover,fieldset[disabled] .btn-vimeo:hover,.btn-vimeo.disabled:focus,.btn-vimeo[disabled]:focus,fieldset[disabled] .btn-vimeo:focus,.btn-vimeo.disabled.focus,.btn-vimeo[disabled].focus,fieldset[disabled] .btn-vimeo.focus,.btn-vimeo.disabled:active,.btn-vimeo[disabled]:active,fieldset[disabled] .btn-vimeo:active,.btn-vimeo.disabled.active,.btn-vimeo[disabled].active,fieldset[disabled] .btn-vimeo.active{background-color:#1ab7ea;border-color:rgba(0,0,0,0.2);}.btn-vimeo .badge{color:#1ab7ea;background-color:#fff;}.btn-vk{color:#fff;background-color:#587ea3;border-color:rgba(0,0,0,0.2);}.btn-vk:focus,.btn-vk.focus{color:#fff;background-color:#466482;border-color:rgba(0,0,0,0.2);}.btn-vk:hover{color:#fff;background-color:#466482;border-color:rgba(0,0,0,0.2);}.btn-vk:active,.btn-vk.active,.open > .dropdown-toggle.btn-vk{color:#fff;background-color:#466482;border-color:rgba(0,0,0,0.2);}.btn-vk:active:hover,.btn-vk.active:hover,.open > .dropdown-toggle.btn-vk:hover,.btn-vk:active:focus,.btn-vk.active:focus,.open > .dropdown-toggle.btn-vk:focus,.btn-vk:active.focus,.btn-vk.active.focus,.open > .dropdown-toggle.btn-vk.focus{color:#fff;background-color:#3a526b;border-color:rgba(0,0,0,0.2);}.btn-vk:active,.btn-vk.active,.open > .dropdown-toggle.btn-vk{background-image:none;}.btn-vk.disabled,.btn-vk[disabled],fieldset[disabled] .btn-vk,.btn-vk.disabled:hover,.btn-vk[disabled]:hover,fieldset[disabled] .btn-vk:hover,.btn-vk.disabled:focus,.btn-vk[disabled]:focus,fieldset[disabled] .btn-vk:focus,.btn-vk.disabled.focus,.btn-vk[disabled].focus,fieldset[disabled] .btn-vk.focus,.btn-vk.disabled:active,.btn-vk[disabled]:active,fieldset[disabled] .btn-vk:active,.btn-vk.disabled.active,.btn-vk[disabled].active,fieldset[disabled] .btn-vk.active{background-color:#587ea3;border-color:rgba(0,0,0,0.2);}.btn-vk .badge{color:#587ea3;background-color:#fff;}.btn-yahoo{color:#fff;background-color:#720e9e;border-color:rgba(0,0,0,0.2);}.btn-yahoo:focus,.btn-yahoo.focus{color:#fff;background-color:#500a6f;border-color:rgba(0,0,0,0.2);}.btn-yahoo:hover{color:#fff;background-color:#500a6f;border-color:rgba(0,0,0,0.2);}.btn-yahoo:active,.btn-yahoo.active,.open > .dropdown-toggle.btn-yahoo{color:#fff;background-color:#500a6f;border-color:rgba(0,0,0,0.2);}.btn-yahoo:active:hover,.btn-yahoo.active:hover,.open > .dropdown-toggle.btn-yahoo:hover,.btn-yahoo:active:focus,.btn-yahoo.active:focus,.open > .dropdown-toggle.btn-yahoo:focus,.btn-yahoo:active.focus,.btn-yahoo.active.focus,.open > .dropdown-toggle.btn-yahoo.focus{color:#fff;background-color:#39074e;border-color:rgba(0,0,0,0.2);}.btn-yahoo:active,.btn-yahoo.active,.open > .dropdown-toggle.btn-yahoo{background-image:none;}.btn-yahoo.disabled,.btn-yahoo[disabled],fieldset[disabled] .btn-yahoo,.btn-yahoo.disabled:hover,.btn-yahoo[disabled]:hover,fieldset[disabled] .btn-yahoo:hover,.btn-yahoo.disabled:focus,.btn-yahoo[disabled]:focus,fieldset[disabled] .btn-yahoo:focus,.btn-yahoo.disabled.focus,.btn-yahoo[disabled].focus,fieldset[disabled] .btn-yahoo.focus,.btn-yahoo.disabled:active,.btn-yahoo[disabled]:active,fieldset[disabled] .btn-yahoo:active,.btn-yahoo.disabled.active,.btn-yahoo[disabled].active,fieldset[disabled] .btn-yahoo.active{background-color:#720e9e;border-color:rgba(0,0,0,0.2);}.btn-yahoo .badge{color:#720e9e;background-color:#fff;}.fc-button{background:#f4f4f4;background-image:none;color:#444;border-color:#ddd;border-bottom-color:#ddd;}.fc-button:hover,.fc-button:active,.fc-button.hover{background-color:#e9e9e9;}.fc-header-title h2{font-size:15px;line-height:1.6em;color:#666;margin-left:10px;}.fc-header-right{padding-right:10px;}.fc-header-left{padding-left:10px;}.fc-widget-header{background:#fafafa;}.fc-grid{width:100%;border:0;}.fc-widget-header:first-of-type,.fc-widget-content:first-of-type{border-left:0;border-right:0;}.fc-widget-header:last-of-type,.fc-widget-content:last-of-type{border-right:0;}.fc-toolbar{padding:10px;margin:0;}.fc-day-number{font-size:20px;font-weight:300;padding-right:10px;}.fc-color-picker{list-style:none;margin:0;padding:0;}.fc-color-picker > li{float:left;font-size:30px;margin-right:5px;line-height:30px;}.fc-color-picker > li .fa{-webkit-transition:-webkit-transform linear 0.3s;-moz-transition:-moz-transform linear 0.3s;-o-transition:-o-transform linear 0.3s;transition:transform linear 0.3s;}.fc-color-picker > li .fa:hover{-webkit-transform:rotate(30deg);-ms-transform:rotate(30deg);-o-transform:rotate(30deg);transform:rotate(30deg);}#add-new-event{-webkit-transition:all linear 0.3s;-o-transition:all linear 0.3s;transition:all linear 0.3s;}.external-event{padding:5px 10px;font-weight:bold;margin-bottom:4px;box-shadow:0 1px 1px rgba(0,0,0,0.1);text-shadow:0 1px 1px rgba(0,0,0,0.1);border-radius:3px;cursor:move;}.external-event:hover{box-shadow:inset 0 0 90px rgba(0,0,0,0.2);}.select2-container--default.select2-container--focus,.select2-selection.select2-container--focus,.select2-container--default:focus,.select2-selection:focus,.select2-container--default:active,.select2-selection:active{outline:none;}.select2-container--default .select2-selection--single,.select2-selection .select2-selection--single{border:1px solid #d2d6de;border-radius:0;padding:6px 12px;height:34px;}.select2-container--default.select2-container--open{border-color:#3c8dbc;}.select2-dropdown{border:1px solid #d2d6de;border-radius:0;}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#3c8dbc;color:white;}.select2-results__option{padding:6px 12px;user-select:none;-webkit-user-select:none;}.select2-container .select2-selection--single .select2-selection__rendered{padding-left:0;padding-right:0;height:auto;margin-top:-4px;}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:6px;padding-left:20px;}.select2-container--default .select2-selection--single .select2-selection__arrow{height:28px;right:3px;}.select2-container--default .select2-selection--single .select2-selection__arrow b{margin-top:0;}.select2-dropdown .select2-search__field,.select2-search--inline .select2-search__field{border:1px solid #d2d6de;}.select2-dropdown .select2-search__field:focus,.select2-search--inline .select2-search__field:focus{outline:none;border:1px solid #3c8dbc;}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999;}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd;}.select2-container--default .select2-results__option[aria-selected=true],.select2-container--default .select2-results__option[aria-selected=true]:hover{color:#444;}.select2-container--default .select2-selection--multiple{border:1px solid #d2d6de;border-radius:0;}.select2-container--default .select2-selection--multiple:focus{border-color:#3c8dbc;}.select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#d2d6de;}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#3c8dbc;border-color:#367fa9;padding:1px 10px;color:#fff;}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{margin-right:5px;color:rgba(255,255,255,0.7);}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff;}.select2-container .select2-selection--single .select2-selection__rendered{padding-right:10px;}.pad{padding:10px;}.margin{margin:10px;}.margin-bottom{margin-bottom:20px;}.margin-bottom-none{margin-bottom:0;}.margin-r-5{margin-right:5px;}.inline{display:inline;}.description-block{display:block;margin:10px 0;text-align:center;}.description-block.margin-bottom{margin-bottom:25px;}.description-block > .description-header{margin:0;padding:0;font-weight:600;font-size:16px;}.description-block > .description-text{text-transform:uppercase;}.bg-red,.bg-yellow,.bg-aqua,.bg-blue,.bg-light-blue,.bg-green,.bg-navy,.bg-teal,.bg-olive,.bg-lime,.bg-orange,.bg-fuchsia,.bg-purple,.bg-maroon,.bg-black,.bg-red-active,.bg-yellow-active,.bg-aqua-active,.bg-blue-active,.bg-light-blue-active,.bg-green-active,.bg-navy-active,.bg-teal-active,.bg-olive-active,.bg-lime-active,.bg-orange-active,.bg-fuchsia-active,.bg-purple-active,.bg-maroon-active,.bg-black-active,.callout.callout-danger,.callout.callout-warning,.callout.callout-info,.callout.callout-success,.alert-success,.alert-danger,.alert-error,.alert-warning,.alert-info,.modal-primary .modal-body,.modal-primary .modal-header,.modal-primary .modal-footer,.modal-warning .modal-body,.modal-warning .modal-header,.modal-warning .modal-footer,.modal-info .modal-body,.modal-info .modal-header,.modal-info .modal-footer,.modal-success .modal-body,.modal-success .modal-header,.modal-success .modal-footer,.modal-danger .modal-body,.modal-danger .modal-header,.modal-danger .modal-footer{color:#fff !important;}.bg-gray{color:#000;background-color:#d2d6de !important;}.bg-gray-light{background-color:#f7f7f7;}.bg-black{background-color:#111 !important;}.bg-red,.callout.callout-danger,.alert-danger,.alert-error,.modal-danger .modal-body{background-color:#e74c3c !important;}.bg-yellow,.callout.callout-warning,.alert-warning,.modal-warning .modal-body{background-color:#f39c12 !important;}.bg-aqua,.callout.callout-info,.alert-info,.modal-info .modal-body{background-color:#3498db !important;}.bg-blue{background-color:#0073b7 !important;}.bg-light-blue,.modal-primary .modal-body{background-color:#3c8dbc !important;}.bg-green,.callout.callout-success,.alert-success,.modal-success .modal-body{background-color:#18bc9c !important;}.bg-navy{background-color:#001F3F !important;}.bg-teal{background-color:#39CCCC !important;}.bg-olive{background-color:#3D9970 !important;}.bg-lime{background-color:#01FF70 !important;}.bg-orange{background-color:#FF851B !important;}.bg-fuchsia{background-color:#F012BE !important;}.bg-purple{background-color:#605ca8 !important;}.bg-maroon{background-color:#D81B60 !important;}.bg-gray-active{color:#000;background-color:#b5bbc8 !important;}.bg-black-active{background-color:#000000 !important;}.bg-red-active,.modal-danger .modal-header,.modal-danger .modal-footer{background-color:#e43321 !important;}.bg-yellow-active,.modal-warning .modal-header,.modal-warning .modal-footer{background-color:#db8b0b !important;}.bg-aqua-active,.modal-info .modal-header,.modal-info .modal-footer{background-color:#2489cc !important;}.bg-blue-active{background-color:#005384 !important;}.bg-light-blue-active,.modal-primary .modal-header,.modal-primary .modal-footer{background-color:#357ca5 !important;}.bg-green-active,.modal-success .modal-header,.modal-success .modal-footer{background-color:#15a589 !important;}.bg-navy-active{background-color:#001a35 !important;}.bg-teal-active{background-color:#30bbbb !important;}.bg-olive-active{background-color:#368763 !important;}.bg-lime-active{background-color:#00e765 !important;}.bg-orange-active{background-color:#ff7701 !important;}.bg-fuchsia-active{background-color:#db0ead !important;}.bg-purple-active{background-color:#555299 !important;}.bg-maroon-active{background-color:#ca195a !important;}[class^="bg-"].disabled{opacity:0.65;filter:alpha(opacity=65);}.text-red{color:#e74c3c !important;}.text-yellow{color:#f39c12 !important;}.text-aqua{color:#3498db !important;}.text-blue{color:#0073b7 !important;}.text-black{color:#111 !important;}.text-light-blue{color:#3c8dbc !important;}.text-green{color:#18bc9c !important;}.text-gray{color:#d2d6de !important;}.text-navy{color:#001F3F !important;}.text-teal{color:#39CCCC !important;}.text-olive{color:#3D9970 !important;}.text-lime{color:#01FF70 !important;}.text-orange{color:#FF851B !important;}.text-fuchsia{color:#F012BE !important;}.text-purple{color:#605ca8 !important;}.text-maroon{color:#D81B60 !important;}.link-muted{color:#7a869d;}.link-muted:hover,.link-muted:focus{color:#606c84;}.link-black{color:#666;}.link-black:hover,.link-black:focus{color:#999;}.hide{display:none !important;}.no-border{border:0 !important;}.no-padding{padding:0 !important;}.no-margin{margin:0 !important;}.no-shadow{box-shadow:none !important;}.list-unstyled,.chart-legend,.contacts-list,.users-list,.mailbox-attachments{list-style:none;margin:0;padding:0;}.list-group-unbordered > .list-group-item{border-left:0;border-right:0;border-radius:0;padding-left:0;padding-right:0;}.flat{border-radius:0 !important;}.text-bold,.text-bold.table td,.text-bold.table th{font-weight:700;}.text-sm{font-size:12px;}.jqstooltip{padding:5px !important;width:auto !important;height:auto !important;}.bg-teal-gradient{background:#39CCCC !important;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#39CCCC),color-stop(1,#7adddd)) !important;background:-ms-linear-gradient(bottom,#39CCCC,#7adddd) !important;background:-moz-linear-gradient(center bottom,#39CCCC 0%,#7adddd 100%) !important;background:-o-linear-gradient(#7adddd,#39CCCC) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#7adddd',endColorstr='#39CCCC',GradientType=0) !important;color:#fff;}.bg-light-blue-gradient{background:#3c8dbc !important;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#3c8dbc),color-stop(1,#67a8ce)) !important;background:-ms-linear-gradient(bottom,#3c8dbc,#67a8ce) !important;background:-moz-linear-gradient(center bottom,#3c8dbc 0%,#67a8ce 100%) !important;background:-o-linear-gradient(#67a8ce,#3c8dbc) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#67a8ce',endColorstr='#3c8dbc',GradientType=0) !important;color:#fff;}.bg-blue-gradient{background:#0073b7 !important;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#0073b7),color-stop(1,#0089db)) !important;background:-ms-linear-gradient(bottom,#0073b7,#0089db) !important;background:-moz-linear-gradient(center bottom,#0073b7 0%,#0089db 100%) !important;background:-o-linear-gradient(#0089db,#0073b7) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0089db',endColorstr='#0073b7',GradientType=0) !important;color:#fff;}.bg-aqua-gradient{background:#3498db !important;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#3498db),color-stop(1,#52a7e0)) !important;background:-ms-linear-gradient(bottom,#3498db,#52a7e0) !important;background:-moz-linear-gradient(center bottom,#3498db 0%,#52a7e0 100%) !important;background:-o-linear-gradient(#52a7e0,#3498db) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#52a7e0',endColorstr='#3498db',GradientType=0) !important;color:#fff;}.bg-yellow-gradient{background:#f39c12 !important;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#f39c12),color-stop(1,#f7bc60)) !important;background:-ms-linear-gradient(bottom,#f39c12,#f7bc60) !important;background:-moz-linear-gradient(center bottom,#f39c12 0%,#f7bc60 100%) !important;background:-o-linear-gradient(#f7bc60,#f39c12) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f7bc60',endColorstr='#f39c12',GradientType=0) !important;color:#fff;}.bg-purple-gradient{background:#605ca8 !important;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#605ca8),color-stop(1,#9491c4)) !important;background:-ms-linear-gradient(bottom,#605ca8,#9491c4) !important;background:-moz-linear-gradient(center bottom,#605ca8 0%,#9491c4 100%) !important;background:-o-linear-gradient(#9491c4,#605ca8) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#9491c4',endColorstr='#605ca8',GradientType=0) !important;color:#fff;}.bg-green-gradient{background:#18bc9c !important;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#18bc9c),color-stop(1,#1cdcb6)) !important;background:-ms-linear-gradient(bottom,#18bc9c,#1cdcb6) !important;background:-moz-linear-gradient(center bottom,#18bc9c 0%,#1cdcb6 100%) !important;background:-o-linear-gradient(#1cdcb6,#18bc9c) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#1cdcb6',endColorstr='#18bc9c',GradientType=0) !important;color:#fff;}.bg-red-gradient{background:#e74c3c !important;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#e74c3c),color-stop(1,#ed7669)) !important;background:-ms-linear-gradient(bottom,#e74c3c,#ed7669) !important;background:-moz-linear-gradient(center bottom,#e74c3c 0%,#ed7669 100%) !important;background:-o-linear-gradient(#ed7669,#e74c3c) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ed7669',endColorstr='#e74c3c',GradientType=0) !important;color:#fff;}.bg-black-gradient{background:#111 !important;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#111),color-stop(1,#2b2b2b)) !important;background:-ms-linear-gradient(bottom,#111,#2b2b2b) !important;background:-moz-linear-gradient(center bottom,#111 0%,#2b2b2b 100%) !important;background:-o-linear-gradient(#2b2b2b,#111) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#2b2b2b',endColorstr='#111',GradientType=0) !important;color:#fff;}.bg-maroon-gradient{background:#D81B60 !important;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#D81B60),color-stop(1,#e73f7c)) !important;background:-ms-linear-gradient(bottom,#D81B60,#e73f7c) !important;background:-moz-linear-gradient(center bottom,#D81B60 0%,#e73f7c 100%) !important;background:-o-linear-gradient(#e73f7c,#D81B60) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e73f7c',endColorstr='#D81B60',GradientType=0) !important;color:#fff;}.description-block .description-icon{font-size:16px;}.no-pad-top{padding-top:0;}.position-static{position:static !important;}.list-header{font-size:15px;padding:10px 4px;font-weight:bold;color:#666;}.list-seperator{height:1px;background:#f4f4f4;margin:15px 0 9px 0;}.list-link > a{padding:4px;color:#777;}.list-link > a:hover{color:#222;}.font-light{font-weight:300;}.user-block:before,.user-block:after{content:" ";display:table;}.user-block:after{clear:both;}.user-block:before,.user-block:after{content:" ";display:table;}.user-block:after{clear:both;}.user-block img{width:40px;height:40px;float:left;}.user-block .username,.user-block .description,.user-block .comment{display:block;margin-left:50px;}.user-block .username{font-size:16px;font-weight:600;}.user-block .description{color:#999;font-size:13px;}.user-block.user-block-sm .username,.user-block.user-block-sm .description,.user-block.user-block-sm .comment{margin-left:40px;}.user-block.user-block-sm .username{font-size:14px;}.img-sm,.img-md,.img-lg,.box-comments .box-comment img,.user-block.user-block-sm img{float:left;}.img-sm,.box-comments .box-comment img,.user-block.user-block-sm img{width:30px !important;height:30px !important;}.img-sm + .img-push{margin-left:40px;}.img-md{width:60px;height:60px;}.img-md + .img-push{margin-left:70px;}.img-lg{width:100px;height:100px;}.img-lg + .img-push{margin-left:110px;}.img-bordered{border:3px solid #d2d6de;padding:3px;}.img-bordered-sm{border:2px solid #d2d6de;padding:2px;}.attachment-block{border:1px solid #f4f4f4;padding:5px;margin-bottom:10px;background:#f7f7f7;}.attachment-block .attachment-img{max-width:100px;max-height:100px;height:auto;float:left;}.attachment-block .attachment-pushed{margin-left:110px;}.attachment-block .attachment-heading{margin:0;}.attachment-block .attachment-text{color:#555;}.connectedSortable{min-height:100px;}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;}.sort-highlight{background:#f4f4f4;border:1px dashed #ddd;margin-bottom:10px;}.full-opacity-hover{opacity:0.65;filter:alpha(opacity=65);}.full-opacity-hover:hover{opacity:1;filter:alpha(opacity=100);}.chart{position:relative;overflow:hidden;width:100%;}.chart svg,.chart canvas{width:100% !important;}@media print{.no-print,.main-sidebar,.left-side,.main-header,.content-header{display:none !important;}.content-wrapper,.right-side,.main-footer{margin-left:0 !important;min-height:0 !important;-webkit-transform:translate(0,0) !important;-ms-transform:translate(0,0) !important;-o-transform:translate(0,0) !important;transform:translate(0,0) !important;}.fixed .content-wrapper,.fixed .right-side{padding-top:0 !important;}.invoice{width:100%;border:0;margin:0;padding:0;}.invoice-col{float:left;width:33.3333333%;}.table-responsive{overflow:auto;}.table-responsive > .table tr th,.table-responsive > .table tr td{white-space:normal !important;}}@font-face{font-family:"iconfont";src:url(../fonts/iconfont/iconfont.eot?t=1487643189178);src:url(../fonts/iconfont/iconfont.eot?t=1487643189178#iefix) format('embedded-opentype'),url(../fonts/iconfont/iconfont.woff?t=1487643189178) format('woff'),url(../fonts/iconfont/iconfont.ttf?t=1487643189178) format('truetype'),url(../fonts/iconfont/iconfont.svg?t=1487643189178#iconfont) format('svg');}.iconfont{font-family:"iconfont" !important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}.icon-max:before{content:"\e623";}.icon-restore:before{content:"\e624";}.icon-min:before{content:"\e625";}.icon-close:before{content:"\e626";}/*! * Font Awesome 4.7.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(../libs/font-awesome/fonts/fontawesome-webfont.eot?v=4.7.0);src:url(../libs/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0) format('embedded-opentype'),url(../libs/font-awesome/fonts/fontawesome-webfont.woff2?v=4.7.0) format('woff2'),url(../libs/font-awesome/fonts/fontawesome-webfont.woff?v=4.7.0) format('woff'),url(../libs/font-awesome/fonts/fontawesome-webfont.ttf?v=4.7.0) format('truetype'),url(../libs/font-awesome/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular) format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0,mirror=1)";-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2,mirror=1)";-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.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-pp: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-resistance: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-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.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-intersex:before,.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-genderless:before{content:"\f22d"}.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"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;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}.toast-title{font-weight:700}.toast-message{-ms-word-wrap:break-word;word-wrap:break-word}.toast-message a,.toast-message label{color:#FFF}.toast-message a:hover{color:#CCC;text-decoration:none}.toast-close-button{position:relative;right:-.3em;top:-.3em;float:right;font-size:20px;font-weight:700;color:#FFF;-webkit-text-shadow:0 1px 0 #fff;text-shadow:0 1px 0 #fff;opacity:.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80);line-height:1}.toast-close-button:focus,.toast-close-button:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}.rtl .toast-close-button{left:-.3em;float:left;right:.3em}button.toast-close-button{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.toast-top-center{top:0;right:0;width:100%}.toast-bottom-center{bottom:0;right:0;width:100%}.toast-top-full-width{top:0;right:0;width:100%}.toast-bottom-full-width{bottom:0;right:0;width:100%}.toast-top-left{top:12px;left:12px}.toast-top-right{top:12px;right:12px}.toast-bottom-right{right:12px;bottom:12px}.toast-bottom-left{bottom:12px;left:12px}#toast-container{position:fixed;z-index:999999;pointer-events:none}#toast-container *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}#toast-container>div{position:relative;pointer-events:auto;overflow:hidden;margin:0 0 6px;padding:15px 15px 15px 50px;width:300px;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-position:15px center;background-repeat:no-repeat;-moz-box-shadow:0 0 12px #999;-webkit-box-shadow:0 0 12px #999;box-shadow:0 0 12px #999;color:#FFF;opacity:.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80)}#toast-container>div.rtl{direction:rtl;padding:15px 50px 15px 15px;background-position:right 15px center}#toast-container>div:hover{-moz-box-shadow:0 0 12px #000;-webkit-box-shadow:0 0 12px #000;box-shadow:0 0 12px #000;opacity:1;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);filter:alpha(opacity=100);cursor:pointer}#toast-container>.toast-info{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=)!important}#toast-container>.toast-error{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=)!important}#toast-container>.toast-success{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==)!important}#toast-container>.toast-warning{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=)!important}#toast-container.toast-bottom-center>div,#toast-container.toast-top-center>div{width:300px;margin-left:auto;margin-right:auto}#toast-container.toast-bottom-full-width>div,#toast-container.toast-top-full-width>div{width:96%;margin-left:auto;margin-right:auto}.toast{background-color:#030303}.toast-success{background-color:#51A351}.toast-error{background-color:#BD362F}.toast-info{background-color:#2F96B4}.toast-warning{background-color:#F89406}.toast-progress{position:absolute;left:0;bottom:0;height:4px;background-color:#000;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}@media all and (max-width:240px){#toast-container>div{padding:8px 8px 8px 50px;width:11em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-.2em;top:-.2em}#toast-container .rtl .toast-close-button{left:-.2em;right:.2em}}@media all and (min-width:241px) and (max-width:480px){#toast-container>div{padding:8px 8px 8px 50px;width:18em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-.2em;top:-.2em}#toast-container .rtl .toast-close-button{left:-.2em;right:.2em}}@media all and (min-width:481px) and (max-width:768px){#toast-container>div{padding:15px 15px 15px 50px;width:25em}#toast-container>div.rtl{padding:15px 50px 15px 15px}}.layui-layer-imgbar,.layui-layer-imgtit a,.layui-layer-tab .layui-layer-title span,.layui-layer-title{text-overflow:ellipsis;white-space:nowrap}html #layuicss-layer{display:none;position:absolute;width:1989px}.layui-layer,.layui-layer-shade{position:fixed;_position:absolute;pointer-events:auto}.layui-layer-shade{top:0;left:0;width:100%;height:100%;_height:expression(document.body.offsetHeight+"px")}.layui-layer{-webkit-overflow-scrolling:touch;top:150px;left:0;margin:0;padding:0;background-color:#fff;-webkit-background-clip:content;border-radius:2px;box-shadow:1px 1px 50px rgba(0,0,0,.3)}.layui-layer-close{position:absolute}.layui-layer-content{position:relative}.layui-layer-border{border:1px solid #B2B2B2;border:1px solid rgba(0,0,0,.1);box-shadow:1px 1px 5px rgba(0,0,0,.2)}.layui-layer-load{background:url(../libs/fastadmin-layer/dist/theme/default/loading-1.gif) center center no-repeat #eee}.layui-layer-ico{background:url(../libs/fastadmin-layer/dist/theme/default/icon.png) no-repeat}.layui-layer-btn a,.layui-layer-dialog .layui-layer-ico,.layui-layer-setwin a{display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-move{display:none;position:fixed;*position:absolute;left:0;top:0;width:100%;height:100%;cursor:move;opacity:0;filter:alpha(opacity=0);background-color:#fff;z-index:2147483647}.layui-layer-resize{position:absolute;width:15px;height:15px;right:0;bottom:0;cursor:se-resize}.layer-anim{-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.3s;animation-duration:.3s}@-webkit-keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-00{-webkit-animation-name:layer-bounceIn;animation-name:layer-bounceIn}@-webkit-keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);-ms-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);-ms-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-01{-webkit-animation-name:layer-zoomInDown;animation-name:layer-zoomInDown}@-webkit-keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.layer-anim-02{-webkit-animation-name:layer-fadeInUpBig;animation-name:layer-fadeInUpBig}@-webkit-keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);-ms-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);-ms-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-03{-webkit-animation-name:layer-zoomInLeft;animation-name:layer-zoomInLeft}@-webkit-keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}@keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);-ms-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);-ms-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}.layer-anim-04{-webkit-animation-name:layer-rollIn;animation-name:layer-rollIn}@keyframes layer-fadeIn{0%{opacity:0}100%{opacity:1}}.layer-anim-05{-webkit-animation-name:layer-fadeIn;animation-name:layer-fadeIn}@-webkit-keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}}.layer-anim-06{-webkit-animation-name:layer-shake;animation-name:layer-shake}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.layui-layer-title{padding:0 80px 0 20px;height:42px;line-height:42px;border-bottom:1px solid #eee;font-size:14px;color:#333;overflow:hidden;background-color:#F8F8F8;border-radius:2px 2px 0 0}.layui-layer-setwin{position:absolute;right:15px;*right:0;top:15px;font-size:0;line-height:initial}.layui-layer-setwin a{position:relative;width:16px;height:16px;margin-left:10px;font-size:12px;_overflow:hidden}.layui-layer-setwin .layui-layer-min cite{position:absolute;width:14px;height:2px;left:0;top:50%;margin-top:-1px;background-color:#2E2D3C;cursor:pointer;_overflow:hidden}.layui-layer-setwin .layui-layer-min:hover cite{background-color:#2D93CA}.layui-layer-setwin .layui-layer-max{background-position:-32px -40px}.layui-layer-setwin .layui-layer-max:hover{background-position:-16px -40px}.layui-layer-setwin .layui-layer-maxmin{background-position:-65px -40px}.layui-layer-setwin .layui-layer-maxmin:hover{background-position:-49px -40px}.layui-layer-setwin .layui-layer-close1{background-position:1px -40px;cursor:pointer}.layui-layer-setwin .layui-layer-close1:hover{opacity:.7}.layui-layer-setwin .layui-layer-close2{position:absolute;right:-28px;top:-28px;width:30px;height:30px;margin-left:0;background-position:-149px -31px;*right:-18px;_display:none}.layui-layer-setwin .layui-layer-close2:hover{background-position:-180px -31px}.layui-layer-btn{text-align:right;padding:0 15px 12px;pointer-events:auto;user-select:none;-webkit-user-select:none}.layui-layer-btn a{height:28px;line-height:28px;margin:5px 5px 0;padding:0 15px;border:1px solid #dedede;background-color:#fff;color:#333;border-radius:2px;font-weight:400;cursor:pointer;text-decoration:none}.layui-layer-btn a:hover{opacity:.9;text-decoration:none}.layui-layer-btn a:active{opacity:.8}.layui-layer-btn .layui-layer-btn0{border-color:#1E9FFF;background-color:#1E9FFF;color:#fff}.layui-layer-btn-l{text-align:left}.layui-layer-btn-c{text-align:center}.layui-layer-dialog{min-width:260px}.layui-layer-dialog .layui-layer-content{position:relative;padding:20px;line-height:24px;word-break:break-all;overflow:hidden;font-size:14px;overflow-x:hidden;overflow-y:auto}.layui-layer-dialog .layui-layer-content .layui-layer-ico{position:absolute;top:16px;left:15px;_left:-40px;width:30px;height:30px}.layui-layer-ico1{background-position:-30px 0}.layui-layer-ico2{background-position:-60px 0}.layui-layer-ico3{background-position:-90px 0}.layui-layer-ico4{background-position:-120px 0}.layui-layer-ico5{background-position:-150px 0}.layui-layer-ico6{background-position:-180px 0}.layui-layer-rim{border:6px solid #8D8D8D;border:6px solid rgba(0,0,0,.3);border-radius:5px;box-shadow:none}.layui-layer-msg{min-width:180px;border:1px solid #D3D4D3;box-shadow:none}.layui-layer-hui{min-width:100px;background-color:#000;filter:alpha(opacity=60);background-color:rgba(0,0,0,.6);color:#fff;border:none}.layui-layer-hui .layui-layer-content{padding:12px 25px;text-align:center}.layui-layer-dialog .layui-layer-padding{padding:20px 20px 20px 55px;text-align:left}.layui-layer-page .layui-layer-content{position:relative;overflow:auto}.layui-layer-iframe .layui-layer-btn,.layui-layer-page .layui-layer-btn{padding-top:10px}.layui-layer-nobg{background:0 0}.layui-layer-iframe iframe{display:block;width:100%}.layui-layer-loading{border-radius:100%;background:0 0;box-shadow:none;border:none}.layui-layer-loading .layui-layer-content{width:60px;height:24px;background:url(../libs/fastadmin-layer/dist/theme/default/loading-0.gif) no-repeat}.layui-layer-loading .layui-layer-loading1{width:37px;height:37px;background:url(../libs/fastadmin-layer/dist/theme/default/loading-1.gif) no-repeat}.layui-layer-ico16,.layui-layer-loading .layui-layer-loading2{width:32px;height:32px;background:url(../libs/fastadmin-layer/dist/theme/default/loading-2.gif) no-repeat}.layui-layer-tips{background:0 0;box-shadow:none;border:none}.layui-layer-tips .layui-layer-content{position:relative;line-height:22px;min-width:12px;padding:8px 15px;font-size:12px;_float:left;border-radius:2px;box-shadow:1px 1px 3px rgba(0,0,0,.2);background-color:#000;color:#fff}.layui-layer-tips .layui-layer-close{right:-2px;top:-1px}.layui-layer-tips i.layui-layer-TipsG{position:absolute;width:0;height:0;border-width:8px;border-color:transparent;border-style:dashed;*overflow:hidden}.layui-layer-tips i.layui-layer-TipsB,.layui-layer-tips i.layui-layer-TipsT{left:5px;border-right-style:solid;border-right-color:#000}.layui-layer-tips i.layui-layer-TipsT{bottom:-8px}.layui-layer-tips i.layui-layer-TipsB{top:-8px}.layui-layer-tips i.layui-layer-TipsL,.layui-layer-tips i.layui-layer-TipsR{top:5px;border-bottom-style:solid;border-bottom-color:#000}.layui-layer-tips i.layui-layer-TipsR{left:-8px}.layui-layer-tips i.layui-layer-TipsL{right:-8px}.layui-layer-lan[type=dialog]{min-width:280px}.layui-layer-lan .layui-layer-title{background:#4476A7;color:#fff;border:none}.layui-layer-lan .layui-layer-btn{padding:5px 10px 10px;text-align:right;border-top:1px solid #E9E7E7}.layui-layer-lan .layui-layer-btn a{background:#fff;border-color:#E9E7E7;color:#333}.layui-layer-lan .layui-layer-btn .layui-layer-btn1{background:#C9C5C5}.layui-layer-molv .layui-layer-title{background:#009f95;color:#fff;border:none}.layui-layer-molv .layui-layer-btn a{background:#009f95;border-color:#009f95}.layui-layer-molv .layui-layer-btn .layui-layer-btn1{background:#92B8B1}.layui-layer-iconext{background:url(../libs/fastadmin-layer/dist/theme/default/icon-ext.png) no-repeat}.layui-layer-prompt .layui-layer-input{display:block;width:230px;height:36px;margin:0 auto;line-height:30px;padding-left:10px;border:1px solid #e6e6e6;color:#333}.layui-layer-prompt textarea.layui-layer-input{width:300px;height:100px;line-height:20px;padding:6px 10px}.layui-layer-prompt .layui-layer-content{padding:20px}.layui-layer-prompt .layui-layer-btn{padding-top:0}.layui-layer-tab{box-shadow:1px 1px 50px rgba(0,0,0,.4)}.layui-layer-tab .layui-layer-title{padding-left:0;overflow:visible}.layui-layer-tab .layui-layer-title span{position:relative;float:left;min-width:80px;max-width:260px;padding:0 20px;text-align:center;overflow:hidden;cursor:pointer}.layui-layer-tab .layui-layer-title span.layui-this{height:43px;border-left:1px solid #eee;border-right:1px solid #eee;background-color:#fff;z-index:10}.layui-layer-tab .layui-layer-title span:first-child{border-left:none}.layui-layer-tabmain{line-height:24px;clear:both}.layui-layer-tabmain .layui-layer-tabli{display:none}.layui-layer-tabmain .layui-layer-tabli.layui-this{display:block}.layui-layer-photos{-webkit-animation-duration:.8s;animation-duration:.8s}.layui-layer-photos .layui-layer-content{overflow:hidden;text-align:center}.layui-layer-photos .layui-layer-phimg img{position:relative;width:100%;display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-imgbar,.layui-layer-imguide{display:none}.layui-layer-imgnext,.layui-layer-imgprev{position:absolute;top:50%;width:27px;_width:44px;height:44px;margin-top:-22px;outline:0;blr:expression(this.onFocus=this.blur())}.layui-layer-imgprev{left:10px;background-position:-5px -5px;_background-position:-70px -5px}.layui-layer-imgprev:hover{background-position:-33px -5px;_background-position:-120px -5px}.layui-layer-imgnext{right:10px;_right:8px;background-position:-5px -50px;_background-position:-70px -50px}.layui-layer-imgnext:hover{background-position:-33px -50px;_background-position:-120px -50px}.layui-layer-imgbar{position:absolute;left:0;bottom:0;width:100%;height:32px;line-height:32px;background-color:rgba(0,0,0,.8);background-color:#000\9;filter:Alpha(opacity=80);color:#fff;overflow:hidden;font-size:0}.layui-layer-imgtit *{display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:12px}.layui-layer-imgtit a{max-width:65%;overflow:hidden;color:#fff}.layui-layer-imgtit a:hover{color:#fff;text-decoration:underline}.layui-layer-imgtit em{padding-left:10px;font-style:normal}@-webkit-keyframes layer-bounceOut{100%{opacity:0;-webkit-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceOut{100%{opacity:0;-webkit-transform:scale(.7);-ms-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-close{-webkit-animation-name:layer-bounceOut;animation-name:layer-bounceOut;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.2s;animation-duration:.2s}@media screen and (max-width:1100px){.layui-layer-iframe{overflow-y:auto;-webkit-overflow-scrolling:touch}}.daterangepicker{position:absolute;color:inherit;background-color:#fff;border-radius:4px;width:278px;padding:4px;margin-top:1px;top:100px;left:20px;}.daterangepicker:before,.daterangepicker:after{position:absolute;display:inline-block;border-bottom-color:rgba(0,0,0,0.2);content:'';}.daterangepicker:before{top:-7px;border-right:7px solid transparent;border-left:7px solid transparent;border-bottom:7px solid #ccc;}.daterangepicker:after{top:-6px;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;}.daterangepicker.opensleft:before{right:9px;}.daterangepicker.opensleft:after{right:10px;}.daterangepicker.openscenter:before{left:0;right:0;width:0;margin-left:auto;margin-right:auto;}.daterangepicker.openscenter:after{left:0;right:0;width:0;margin-left:auto;margin-right:auto;}.daterangepicker.opensright:before{left:9px;}.daterangepicker.opensright:after{left:10px;}.daterangepicker.dropup{margin-top:-5px;}.daterangepicker.dropup:before{top:initial;bottom:-7px;border-bottom:initial;border-top:7px solid #ccc;}.daterangepicker.dropup:after{top:initial;bottom:-6px;border-bottom:initial;border-top:6px solid #fff;}.daterangepicker.dropdown-menu{max-width:none;z-index:3001;}.daterangepicker.single .ranges,.daterangepicker.single .calendar{float:none;}.daterangepicker.show-calendar .calendar{display:block;}.daterangepicker .calendar{display:none;max-width:270px;margin:4px;}.daterangepicker .calendar.single .calendar-table{border:none;}.daterangepicker .calendar th,.daterangepicker .calendar td{white-space:nowrap;text-align:center;min-width:32px;}.daterangepicker .calendar-table{border:1px solid #fff;padding:4px;border-radius:4px;background-color:#fff;}.daterangepicker table{width:100%;margin:0;}.daterangepicker td,.daterangepicker th{text-align:center;width:20px;height:20px;border-radius:4px;border:1px solid transparent;white-space:nowrap;cursor:pointer;}.daterangepicker td.available:hover,.daterangepicker th.available:hover{background-color:#eee;border-color:transparent;color:inherit;}.daterangepicker td.week,.daterangepicker th.week{font-size:80%;color:#ccc;}.daterangepicker td.off,.daterangepicker td.off.in-range,.daterangepicker td.off.start-date,.daterangepicker td.off.end-date{background-color:#fff;border-color:transparent;color:#999;}.daterangepicker td.in-range{background-color:#ebf4f8;border-color:transparent;color:#000;border-radius:0;}.daterangepicker td.start-date{border-radius:4px 0 0 4px;}.daterangepicker td.end-date{border-radius:0 4px 4px 0;}.daterangepicker td.start-date.end-date{border-radius:4px;}.daterangepicker td.active,.daterangepicker td.active:hover{background-color:#357ebd;border-color:transparent;color:#fff;}.daterangepicker th.month{width:auto;}.daterangepicker td.disabled,.daterangepicker option.disabled{color:#999;cursor:not-allowed;text-decoration:line-through;}.daterangepicker select.monthselect,.daterangepicker select.yearselect{font-size:12px;padding:1px;height:auto;margin:0;cursor:default;}.daterangepicker select.monthselect{margin-right:2%;width:56%;}.daterangepicker select.yearselect{width:40%;}.daterangepicker select.hourselect,.daterangepicker select.minuteselect,.daterangepicker select.secondselect,.daterangepicker select.ampmselect{width:50px;margin-bottom:0;}.daterangepicker .input-mini{border:1px solid #ccc;border-radius:4px;color:#555;height:30px;line-height:30px;display:block;vertical-align:middle;margin:0 0 5px 0;padding:0 6px 0 28px;width:100%;}.daterangepicker .input-mini.active{border:1px solid #08c;border-radius:4px;}.daterangepicker .daterangepicker_input{position:relative;}.daterangepicker .daterangepicker_input i{position:absolute;left:8px;top:8px;}.daterangepicker.rtl .input-mini{padding-right:28px;padding-left:6px;}.daterangepicker.rtl .daterangepicker_input i{left:auto;right:8px;}.daterangepicker .calendar-time{text-align:center;margin:5px auto;line-height:30px;position:relative;padding-left:28px;}.daterangepicker .calendar-time select.disabled{color:#ccc;cursor:not-allowed;}.ranges{font-size:11px;float:none;margin:4px;text-align:left;}.ranges ul{list-style:none;margin:0 auto;padding:0;width:100%;}.ranges li{font-size:13px;background-color:#f5f5f5;border:1px solid #f5f5f5;border-radius:4px;color:#08c;padding:3px 12px;margin-bottom:8px;cursor:pointer;}.ranges li:hover{background-color:#08c;border:1px solid #08c;color:#fff;}.ranges li.active{background-color:#08c;border:1px solid #08c;color:#fff;}@media (min-width:564px){.daterangepicker{width:auto;}.daterangepicker .ranges ul{width:160px;}.daterangepicker.single .ranges ul{width:100%;}.daterangepicker.single .calendar.left{clear:none;}.daterangepicker.single.ltr .ranges,.daterangepicker.single.ltr .calendar{float:left;}.daterangepicker.single.rtl .ranges,.daterangepicker.single.rtl .calendar{float:right;}.daterangepicker.ltr{direction:ltr;text-align:left;}.daterangepicker.ltr .calendar.left{clear:left;margin-right:0;}.daterangepicker.ltr .calendar.left .calendar-table{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;}.daterangepicker.ltr .calendar.right{margin-left:0;}.daterangepicker.ltr .calendar.right .calendar-table{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0;}.daterangepicker.ltr .left .daterangepicker_input{padding-right:12px;}.daterangepicker.ltr .calendar.left .calendar-table{padding-right:12px;}.daterangepicker.ltr .ranges,.daterangepicker.ltr .calendar{float:left;}.daterangepicker.rtl{direction:rtl;text-align:right;}.daterangepicker.rtl .calendar.left{clear:right;margin-left:0;}.daterangepicker.rtl .calendar.left .calendar-table{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0;}.daterangepicker.rtl .calendar.right{margin-right:0;}.daterangepicker.rtl .calendar.right .calendar-table{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;}.daterangepicker.rtl .left .daterangepicker_input{padding-left:12px;}.daterangepicker.rtl .calendar.left .calendar-table{padding-left:12px;}.daterangepicker.rtl .ranges,.daterangepicker.rtl .calendar{text-align:right;float:right;}}@media (min-width:730px){.daterangepicker .ranges{width:auto;}.daterangepicker.ltr .ranges{float:left;}.daterangepicker.rtl .ranges{float:right;}.daterangepicker .calendar.left{clear:none !important;}}.n-inline-block,.nice-validator input,.nice-validator select,.nice-validator textarea,.nice-validator [contenteditable],.msg-wrap,.n-icon,.n-msg{display:inline-block;*display:inline;*zoom:1;}.nice-validator .msg-container .msg-box{display:block;}.nice-validator .msg-container .msg-wrap{position:static;}.msg-box{position:relative;*zoom:1;}.msg-wrap{position:relative;white-space:nowrap;line-height:16px;font-size:12px;}.msg-wrap,.n-icon,.n-msg{vertical-align:top;}.msg-box .msg-wrap .n-error,.msg-box .msg-wrap .n-ok,.msg-box .msg-wrap .n-tip{display:block;background:none;box-shadow:none;padding:3px 2px;}.n-arrow{position:absolute;overflow:hidden;}.n-arrow b,.n-arrow i{position:absolute;left:0;top:0;border:0;margin:0;padding:0;overflow:hidden;font-weight:400;font-style:normal;font-size:12px;font-family:serif;line-height:14px;_line-height:15px;}.n-arrow i{text-shadow:none;}.n-icon{width:16px;height:16px;overflow:hidden;background-repeat:no-repeat;}.n-msg{display:inline-block;*display:inline;*zoom:1;margin-left:1px;}.n-error{color:#c33;}.n-ok{color:#390;}.n-tip .n-msg,.n-loading{color:#808080;}.n-error .n-icon{background-position:0 0;}.n-ok .n-icon{background-position:-16px 0;}.n-tip .n-icon{background-position:-32px 0;}.n-loading .n-icon{background:url(../libs/nice-validator/dist/images/loading.gif) 0 center no-repeat !important;}.n-top,.n-right,.n-bottom,.n-left{display:inline-block;*display:inline;*zoom:1;line-height:0;vertical-align:top;outline:0;}.n-top .n-arrow,.n-bottom .n-arrow{height:6px;width:12px;left:8px;}.n-left .n-arrow,.n-right .n-arrow{width:6px;height:12px;top:6px;}.n-top{vertical-align:top;}.n-top .msg-wrap{margin-bottom:6px;}.n-top .n-arrow{bottom:-6px;}.n-top .n-arrow b{top:-6px;}.n-top .n-arrow i{top:-7px;}.n-bottom{vertical-align:bottom;}.n-bottom .msg-wrap{margin-top:6px;}.n-bottom .n-arrow{top:-6px;}.n-bottom .n-arrow b{top:-1px;}.n-bottom .n-arrow i{top:0;}.n-left .msg-wrap{right:100%;margin-right:6px;}.n-left .n-arrow{right:-6px;}.n-left .n-arrow b{left:-6px;}.n-left .n-arrow i{left:-7px;}.n-right .msg-wrap{margin-left:6px;}.n-right .n-arrow{left:-6px;}.n-right .n-arrow b{left:1px;}.n-right .n-arrow i{left:2px;}.n-default .n-left,.n-default .n-right{margin-top:5px;}.n-default .n-top .msg-wrap{bottom:100%;}.n-default .n-bottom .msg-wrap{top:100%;}.n-default .msg-wrap{position:absolute;z-index:1;}.n-default .msg-wrap .n-icon{background-image:url(../libs/nice-validator/dist/images/validator_default.png);}.n-default .n-tip .n-icon{display:none;}.n-simple .msg-wrap{position:absolute;z-index:1;}.n-simple .msg-wrap .n-icon{background-image:url(../libs/nice-validator/dist/images/validator_simple.png);}.n-simple .n-top .msg-wrap{bottom:100%;}.n-simple .n-bottom .msg-wrap{top:100%;}.n-simple .n-left,.n-simple .n-right{margin-top:5px;}.n-simple .n-bottom .msg-wrap{margin-top:3px;}.n-simple .n-tip .n-icon{display:none;}.n-yellow .msg-wrap{position:absolute;z-index:1;padding:4px 6px;font-size:12px;border:1px solid transparent;background-color:#fffcef;border-color:#ffbb76;color:#db7c22;box-shadow:0 1px 3px #ccc;border-radius:2px;}.n-yellow .msg-wrap .n-arrow b{color:#ffbb76;text-shadow:0 0 2px #ccc;}.n-yellow .msg-wrap .n-arrow i{color:#fffcef;}.n-yellow .msg-wrap .n-icon{background-image:url(../libs/nice-validator/dist/images/validator_simple.png);}.n-yellow .n-top .msg-wrap{bottom:100%;}.n-yellow .n-bottom .msg-wrap{top:100%;}.n-yellow .n-tip,.n-yellow .n-ok,.n-yellow .n-loading{background-color:#f8fdff;border-color:#ddd;color:#333;box-shadow:0 1px 3px #ccc;}.n-yellow .n-tip .n-arrow b,.n-yellow .n-ok .n-arrow b,.n-yellow .n-loading .n-arrow b{color:#ddd;text-shadow:0 0 2px #ccc;}.n-yellow .n-tip .n-arrow i,.n-yellow .n-ok .n-arrow i,.n-yellow .n-loading .n-arrow i{color:#f8fdff;}html,body{height:100%;}body{padding-top:50px;font-size:13px;}.dropdown:hover .dropdown-menu{display:block;margin-top:0;}.navbar{border:none;}.navbar-nav li > a{font-size:14px;}.toast-top-center{top:50px;}#toast-container > div{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}.nice-validator .note-editor .note-editing-area .note-editable{display:inherit;}.plupload-preview{padding:0 10px;margin-bottom:0;}.plupload-preview li{margin-top:10px;}.plupload-preview .thumbnail{margin-bottom:10px;}.plupload-preview a{display:block;}.plupload-preview a:first-child{height:90px;}.plupload-preview a img{height:80px;object-fit:cover;}.layui-layer-content{clear:both;}.layui-layer-fast-msg{min-width:100px;border-radius:2px;background-color:rgba(0,0,0,0.6);color:#fff;}.layui-layer-fast-msg .layui-layer-content{padding:12px 25px;text-align:center;}#header-navbar li.dropdown ul.dropdown-menu{min-width:94px;}.panel-default{padding:0 15px;border-color:#e4ecf3;}.panel-default > .panel-heading{position:relative;font-size:16px;padding:15px 0;background:#fff;border-bottom:1px solid #f5f5f5;}.panel-default > .panel-heading .panel-title{color:#313131;}.panel-default > .panel-heading .panel-title > i{display:none;}.panel-default > .panel-heading .more{position:absolute;top:13px;right:0;display:block;color:#919191;-webkit-transition:all 0.3s ease;-moz-transition:all 0.3s ease;-o-transition:all 0.3s ease;transition:all 0.3s ease;}.panel-default > .panel-heading .more:hover{color:#616161;-webkit-transition:all 0.3s ease;-moz-transition:all 0.3s ease;-o-transition:all 0.3s ease;transition:all 0.3s ease;}.panel-default > .panel-heading .panel-bar{position:absolute;top:7px;right:0;display:block;}@media (max-width:767px){.panel-default{padding:0 10px;}.panel-default > .panel-heading{padding:10px 0;}.panel-default > .panel-heading .more{top:8px;}> .panel-body{position:relative;padding:15px 0;}> .panel-footer{padding:15px 0;background:none;}}.panel-gray{-webkit-box-shadow:0 2px 4px rgba(0,0,0,0.08);-moz-box-shadow:0 2px 4px rgba(0,0,0,0.08);box-shadow:0 2px 4px rgba(0,0,0,0.08);}.panel-gray > .panel-heading{background-color:#f5f5f5;color:#919191;}.panel-gray > .panel-body{color:#919191;background:#fff;border-bottom-left-radius:4px;border-bottom-right-radius:4px;}.panel-page{padding:45px 50px 50px;min-height:500px;}.panel-page .panel-heading{background:transparent;border-bottom:none;margin:0 0 30px 0;padding:0;}.panel-page .panel-heading h2{font-size:25px;margin-top:0;}@media (max-width:767px){.panel-page{padding:15px;min-height:300px;}}.nav-pills > li{margin-right:5px;}.nav-pills > li > a{padding:10px 15px;color:#616161;-webkit-transition:all 0.3s ease;-moz-transition:all 0.3s ease;-o-transition:all 0.3s ease;transition:all 0.3s ease;}.nav-pills > li > a:hover{-webkit-transition:all 0.3s ease;-moz-transition:all 0.3s ease;-o-transition:all 0.3s ease;transition:all 0.3s ease;background-color:#f5f5f5;}.nav-pills > li.active > a{border:none;color:#fff;background:#46c37b;-webkit-transition:all 0.3s ease;-moz-transition:all 0.3s ease;-o-transition:all 0.3s ease;transition:all 0.3s ease;border-radius:3px;}.nav-pills.nav-pills-sm > li > a{font-size:12px;line-height:1.5;padding:4px 13px;}.fieldlist dd{display:block;margin:5px 0;}.fieldlist dd input{display:inline-block;width:300px;}.fieldlist dd input:first-child{width:110px;}.fieldlist dd ins{width:110px;display:inline-block;text-decoration:none;font-weight:bold;}.form-layer{height:100%;min-height:150px;min-width:300px;}.form-layer .form-body{width:100%;overflow:auto;top:0;position:absolute;z-index:10;bottom:50px;padding:15px;}.form-layer .form-footer{height:50px;line-height:50px;background-color:#ecf0f1;width:100%;position:absolute;z-index:200;bottom:0;margin:0;}.form-layer .form-footer .form-group{margin-left:0;margin-right:0;}footer.footer{width:100%;color:#aaa;background:#555;margin-top:25px;}footer.footer .copyright{line-height:50px;text-align:center;background:#393939;margin:0;}footer.footer .copyright a{color:#aaa;}footer.footer .copyright a:hover{color:#fff;}.rotate{-webkit-transition-duration:0.8s;-moz-transition-duration:0.8s;-o-transition-duration:0.8s;transition-duration:0.8s;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-property:-webkit-transform;-moz-transition-property:-moz-transform;-o-transition-property:-o-transform;transition-property:-webkit-transform,-moz-transform,-o-transform,transform;overflow:hidden;}.rotate:hover{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-o-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg);}.user-section{background:#fff;padding:15px;margin-bottom:20px;-webkit-border-radius:4px;-webkit-background-clip:padding-box;-moz-border-radius:4px;-moz-background-clip:padding;border-radius:4px;background-clip:padding-box;border:1px solid #e4ecf3;}.login-section{margin:50px auto;width:460px;-webkit-border-radius:0;-webkit-background-clip:padding-box;-moz-border-radius:0;-moz-background-clip:padding;border-radius:0;background-clip:padding-box;}.login-section.login-section-weixin{min-height:315px;}.login-section .logon-tab{margin:-15px -15px 0 -15px;}.login-section .logon-tab > a{display:block;padding:20px;float:left;width:50%;font-size:16px;text-align:center;color:#616161;background-color:#f5f5f5;-webkit-transition:all 0.3s ease;-moz-transition:all 0.3s ease;-o-transition:all 0.3s ease;transition:all 0.3s ease;}.login-section .logon-tab > a:hover{background-color:#fafafa;-webkit-transition:all 0.3s ease;-moz-transition:all 0.3s ease;-o-transition:all 0.3s ease;transition:all 0.3s ease;}.login-section .logon-tab > a.active{background-color:#fff;-webkit-transition:all 0.3s ease;-moz-transition:all 0.3s ease;-o-transition:all 0.3s ease;transition:all 0.3s ease;}.login-section .login-main{padding:40px 45px 20px 45px;}.login-section .control-label{font-size:13px;}.login-section .n-bootstrap .form-group{position:relative;}.login-section .n-bootstrap .input-group{position:inherit;}.login-section .n-bootstrap .n-right{margin-top:0;top:0;position:absolute;left:0;text-align:right;width:100%;}.login-section .n-bootstrap .n-right .msg-wrap{position:relative;}main.content{width:100%;overflow:auto;padding:15px;padding-top:20px;min-height:calc(100vh - 125px);}.sidenav{padding:20px 0 10px 0;margin-bottom:20px;background-color:#fff;-webkit-border-radius:4px;-webkit-background-clip:padding-box;-moz-border-radius:4px;-moz-background-clip:padding;border-radius:4px;background-clip:padding-box;border:1px solid #e4ecf3;}.sidenav .list-group:last-child{margin-bottom:0;}.sidenav .list-group .list-group-heading{list-style-type:none;color:#919191;margin-bottom:10px;margin-left:35px;font-size:14px;}.sidenav .list-group .list-group-item{-webkit-border-radius:0;-webkit-background-clip:padding-box;-moz-border-radius:0;-moz-background-clip:padding;border-radius:0;background-clip:padding-box;border:none;padding:0;border-left:2px solid transparent;}.sidenav .list-group .list-group-item:last-child,.sidenav .list-group .list-group-item:first-child{-webkit-border-radius:0;-webkit-background-clip:padding-box;-moz-border-radius:0;-moz-background-clip:padding;border-radius:0;background-clip:padding-box;}.sidenav .list-group .list-group-item:hover{background-color:#f5f5f5;}.sidenav .list-group .list-group-item > a{display:block;color:#616161;padding:10px 15px 10px 35px;}.sidenav .list-group .list-group-item.active{border-left:2px solid #46c37b;background:none;}.sidenav .list-group .list-group-item.active > a{color:#46c37b;}.nav li .avatar-text,.nav li .avatar-img{height:30px;width:30px;line-height:30px;font-size:14px;}.nav li .avatar-img{font-size:0;}.nav li .avatar-img img{border-radius:30px;width:30px;height:30px;}.avatar-text,.avatar-img{display:inline-block;box-sizing:content-box;color:#fff;text-align:center;vertical-align:top;background-color:#e8ecf3;font-weight:normal;width:48px;height:48px;border-radius:48px;font-size:24px;line-height:48px;}.avatar-img{font-size:0;}.avatar-img img{border-radius:48px;width:48px;height:48px;}@media (max-width:767px){main.content{position:inherit;padding:15px 0;}.login-section{width:100%;margin:20px auto;}.login-section .login-main{padding:20px 0 0 0;}footer.footer{position:inherit;}footer.footer .copyright{padding:10px;line-height:30px;}}.pager .pagination{margin:0;}.pager li{margin:0 .4em;display:inline-block;}.pager li:first-child > a,.pager li:last-child > a,.pager li:first-child > span,.pager li:last-child > span{padding:.5em 1.2em;}.pager li > a,.pager li > span{background:none;border:1px solid #e6e6e6;border-radius:0.25em;padding:.5em .93em;font-size:14px;} \ No newline at end of file +/*! * Bootstrap v3.3.6 (http://getbootstrap.com) * Copyright 2011-2015 Twitter,Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ 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;}@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;}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg');}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}.glyphicon-asterisk:before{content:"\002a";}.glyphicon-plus:before{content:"\002b";}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac";}.glyphicon-minus:before{content:"\2212";}.glyphicon-cloud:before{content:"\2601";}.glyphicon-envelope:before{content:"\2709";}.glyphicon-pencil:before{content:"\270f";}.glyphicon-glass:before{content:"\e001";}.glyphicon-music:before{content:"\e002";}.glyphicon-search:before{content:"\e003";}.glyphicon-heart:before{content:"\e005";}.glyphicon-star:before{content:"\e006";}.glyphicon-star-empty:before{content:"\e007";}.glyphicon-user:before{content:"\e008";}.glyphicon-film:before{content:"\e009";}.glyphicon-th-large:before{content:"\e010";}.glyphicon-th:before{content:"\e011";}.glyphicon-th-list:before{content:"\e012";}.glyphicon-ok:before{content:"\e013";}.glyphicon-remove:before{content:"\e014";}.glyphicon-zoom-in:before{content:"\e015";}.glyphicon-zoom-out:before{content:"\e016";}.glyphicon-off:before{content:"\e017";}.glyphicon-signal:before{content:"\e018";}.glyphicon-cog:before{content:"\e019";}.glyphicon-trash:before{content:"\e020";}.glyphicon-home:before{content:"\e021";}.glyphicon-file:before{content:"\e022";}.glyphicon-time:before{content:"\e023";}.glyphicon-road:before{content:"\e024";}.glyphicon-download-alt:before{content:"\e025";}.glyphicon-download:before{content:"\e026";}.glyphicon-upload:before{content:"\e027";}.glyphicon-inbox:before{content:"\e028";}.glyphicon-play-circle:before{content:"\e029";}.glyphicon-repeat:before{content:"\e030";}.glyphicon-refresh:before{content:"\e031";}.glyphicon-list-alt:before{content:"\e032";}.glyphicon-lock:before{content:"\e033";}.glyphicon-flag:before{content:"\e034";}.glyphicon-headphones:before{content:"\e035";}.glyphicon-volume-off:before{content:"\e036";}.glyphicon-volume-down:before{content:"\e037";}.glyphicon-volume-up:before{content:"\e038";}.glyphicon-qrcode:before{content:"\e039";}.glyphicon-barcode:before{content:"\e040";}.glyphicon-tag:before{content:"\e041";}.glyphicon-tags:before{content:"\e042";}.glyphicon-book:before{content:"\e043";}.glyphicon-bookmark:before{content:"\e044";}.glyphicon-print:before{content:"\e045";}.glyphicon-camera:before{content:"\e046";}.glyphicon-font:before{content:"\e047";}.glyphicon-bold:before{content:"\e048";}.glyphicon-italic:before{content:"\e049";}.glyphicon-text-height:before{content:"\e050";}.glyphicon-text-width:before{content:"\e051";}.glyphicon-align-left:before{content:"\e052";}.glyphicon-align-center:before{content:"\e053";}.glyphicon-align-right:before{content:"\e054";}.glyphicon-align-justify:before{content:"\e055";}.glyphicon-list:before{content:"\e056";}.glyphicon-indent-left:before{content:"\e057";}.glyphicon-indent-right:before{content:"\e058";}.glyphicon-facetime-video:before{content:"\e059";}.glyphicon-picture:before{content:"\e060";}.glyphicon-map-marker:before{content:"\e062";}.glyphicon-adjust:before{content:"\e063";}.glyphicon-tint:before{content:"\e064";}.glyphicon-edit:before{content:"\e065";}.glyphicon-share:before{content:"\e066";}.glyphicon-check:before{content:"\e067";}.glyphicon-move:before{content:"\e068";}.glyphicon-step-backward:before{content:"\e069";}.glyphicon-fast-backward:before{content:"\e070";}.glyphicon-backward:before{content:"\e071";}.glyphicon-play:before{content:"\e072";}.glyphicon-pause:before{content:"\e073";}.glyphicon-stop:before{content:"\e074";}.glyphicon-forward:before{content:"\e075";}.glyphicon-fast-forward:before{content:"\e076";}.glyphicon-step-forward:before{content:"\e077";}.glyphicon-eject:before{content:"\e078";}.glyphicon-chevron-left:before{content:"\e079";}.glyphicon-chevron-right:before{content:"\e080";}.glyphicon-plus-sign:before{content:"\e081";}.glyphicon-minus-sign:before{content:"\e082";}.glyphicon-remove-sign:before{content:"\e083";}.glyphicon-ok-sign:before{content:"\e084";}.glyphicon-question-sign:before{content:"\e085";}.glyphicon-info-sign:before{content:"\e086";}.glyphicon-screenshot:before{content:"\e087";}.glyphicon-remove-circle:before{content:"\e088";}.glyphicon-ok-circle:before{content:"\e089";}.glyphicon-ban-circle:before{content:"\e090";}.glyphicon-arrow-left:before{content:"\e091";}.glyphicon-arrow-right:before{content:"\e092";}.glyphicon-arrow-up:before{content:"\e093";}.glyphicon-arrow-down:before{content:"\e094";}.glyphicon-share-alt:before{content:"\e095";}.glyphicon-resize-full:before{content:"\e096";}.glyphicon-resize-small:before{content:"\e097";}.glyphicon-exclamation-sign:before{content:"\e101";}.glyphicon-gift:before{content:"\e102";}.glyphicon-leaf:before{content:"\e103";}.glyphicon-fire:before{content:"\e104";}.glyphicon-eye-open:before{content:"\e105";}.glyphicon-eye-close:before{content:"\e106";}.glyphicon-warning-sign:before{content:"\e107";}.glyphicon-plane:before{content:"\e108";}.glyphicon-calendar:before{content:"\e109";}.glyphicon-random:before{content:"\e110";}.glyphicon-comment:before{content:"\e111";}.glyphicon-magnet:before{content:"\e112";}.glyphicon-chevron-up:before{content:"\e113";}.glyphicon-chevron-down:before{content:"\e114";}.glyphicon-retweet:before{content:"\e115";}.glyphicon-shopping-cart:before{content:"\e116";}.glyphicon-folder-close:before{content:"\e117";}.glyphicon-folder-open:before{content:"\e118";}.glyphicon-resize-vertical:before{content:"\e119";}.glyphicon-resize-horizontal:before{content:"\e120";}.glyphicon-hdd:before{content:"\e121";}.glyphicon-bullhorn:before{content:"\e122";}.glyphicon-bell:before{content:"\e123";}.glyphicon-certificate:before{content:"\e124";}.glyphicon-thumbs-up:before{content:"\e125";}.glyphicon-thumbs-down:before{content:"\e126";}.glyphicon-hand-right:before{content:"\e127";}.glyphicon-hand-left:before{content:"\e128";}.glyphicon-hand-up:before{content:"\e129";}.glyphicon-hand-down:before{content:"\e130";}.glyphicon-circle-arrow-right:before{content:"\e131";}.glyphicon-circle-arrow-left:before{content:"\e132";}.glyphicon-circle-arrow-up:before{content:"\e133";}.glyphicon-circle-arrow-down:before{content:"\e134";}.glyphicon-globe:before{content:"\e135";}.glyphicon-wrench:before{content:"\e136";}.glyphicon-tasks:before{content:"\e137";}.glyphicon-filter:before{content:"\e138";}.glyphicon-briefcase:before{content:"\e139";}.glyphicon-fullscreen:before{content:"\e140";}.glyphicon-dashboard:before{content:"\e141";}.glyphicon-paperclip:before{content:"\e142";}.glyphicon-heart-empty:before{content:"\e143";}.glyphicon-link:before{content:"\e144";}.glyphicon-phone:before{content:"\e145";}.glyphicon-pushpin:before{content:"\e146";}.glyphicon-usd:before{content:"\e148";}.glyphicon-gbp:before{content:"\e149";}.glyphicon-sort:before{content:"\e150";}.glyphicon-sort-by-alphabet:before{content:"\e151";}.glyphicon-sort-by-alphabet-alt:before{content:"\e152";}.glyphicon-sort-by-order:before{content:"\e153";}.glyphicon-sort-by-order-alt:before{content:"\e154";}.glyphicon-sort-by-attributes:before{content:"\e155";}.glyphicon-sort-by-attributes-alt:before{content:"\e156";}.glyphicon-unchecked:before{content:"\e157";}.glyphicon-expand:before{content:"\e158";}.glyphicon-collapse-down:before{content:"\e159";}.glyphicon-collapse-up:before{content:"\e160";}.glyphicon-log-in:before{content:"\e161";}.glyphicon-flash:before{content:"\e162";}.glyphicon-log-out:before{content:"\e163";}.glyphicon-new-window:before{content:"\e164";}.glyphicon-record:before{content:"\e165";}.glyphicon-save:before{content:"\e166";}.glyphicon-open:before{content:"\e167";}.glyphicon-saved:before{content:"\e168";}.glyphicon-import:before{content:"\e169";}.glyphicon-export:before{content:"\e170";}.glyphicon-send:before{content:"\e171";}.glyphicon-floppy-disk:before{content:"\e172";}.glyphicon-floppy-saved:before{content:"\e173";}.glyphicon-floppy-remove:before{content:"\e174";}.glyphicon-floppy-save:before{content:"\e175";}.glyphicon-floppy-open:before{content:"\e176";}.glyphicon-credit-card:before{content:"\e177";}.glyphicon-transfer:before{content:"\e178";}.glyphicon-cutlery:before{content:"\e179";}.glyphicon-header:before{content:"\e180";}.glyphicon-compressed:before{content:"\e181";}.glyphicon-earphone:before{content:"\e182";}.glyphicon-phone-alt:before{content:"\e183";}.glyphicon-tower:before{content:"\e184";}.glyphicon-stats:before{content:"\e185";}.glyphicon-sd-video:before{content:"\e186";}.glyphicon-hd-video:before{content:"\e187";}.glyphicon-subtitles:before{content:"\e188";}.glyphicon-sound-stereo:before{content:"\e189";}.glyphicon-sound-dolby:before{content:"\e190";}.glyphicon-sound-5-1:before{content:"\e191";}.glyphicon-sound-6-1:before{content:"\e192";}.glyphicon-sound-7-1:before{content:"\e193";}.glyphicon-copyright-mark:before{content:"\e194";}.glyphicon-registration-mark:before{content:"\e195";}.glyphicon-cloud-download:before{content:"\e197";}.glyphicon-cloud-upload:before{content:"\e198";}.glyphicon-tree-conifer:before{content:"\e199";}.glyphicon-tree-deciduous:before{content:"\e200";}.glyphicon-cd:before{content:"\e201";}.glyphicon-save-file:before{content:"\e202";}.glyphicon-open-file:before{content:"\e203";}.glyphicon-level-up:before{content:"\e204";}.glyphicon-copy:before{content:"\e205";}.glyphicon-paste:before{content:"\e206";}.glyphicon-alert:before{content:"\e209";}.glyphicon-equalizer:before{content:"\e210";}.glyphicon-king:before{content:"\e211";}.glyphicon-queen:before{content:"\e212";}.glyphicon-pawn:before{content:"\e213";}.glyphicon-bishop:before{content:"\e214";}.glyphicon-knight:before{content:"\e215";}.glyphicon-baby-formula:before{content:"\e216";}.glyphicon-tent:before{content:"\26fa";}.glyphicon-blackboard:before{content:"\e218";}.glyphicon-bed:before{content:"\e219";}.glyphicon-apple:before{content:"\f8ff";}.glyphicon-erase:before{content:"\e221";}.glyphicon-hourglass:before{content:"\231b";}.glyphicon-lamp:before{content:"\e223";}.glyphicon-duplicate:before{content:"\e224";}.glyphicon-piggy-bank:before{content:"\e225";}.glyphicon-scissors:before{content:"\e226";}.glyphicon-bitcoin:before{content:"\e227";}.glyphicon-btc:before{content:"\e227";}.glyphicon-xbt:before{content:"\e227";}.glyphicon-yen:before{content:"\00a5";}.glyphicon-jpy:before{content:"\00a5";}.glyphicon-ruble:before{content:"\20bd";}.glyphicon-rub:before{content:"\20bd";}.glyphicon-scale:before{content:"\e230";}.glyphicon-ice-lolly:before{content:"\e231";}.glyphicon-ice-lolly-tasted:before{content:"\e232";}.glyphicon-education:before{content:"\e233";}.glyphicon-option-horizontal:before{content:"\e234";}.glyphicon-option-vertical:before{content:"\e235";}.glyphicon-menu-hamburger:before{content:"\e236";}.glyphicon-modal-window:before{content:"\e237";}.glyphicon-oil:before{content:"\e238";}.glyphicon-grain:before{content:"\e239";}.glyphicon-sunglasses:before{content:"\e240";}.glyphicon-text-size:before{content:"\e241";}.glyphicon-text-color:before{content:"\e242";}.glyphicon-text-background:before{content:"\e243";}.glyphicon-object-align-top:before{content:"\e244";}.glyphicon-object-align-bottom:before{content:"\e245";}.glyphicon-object-align-horizontal:before{content:"\e246";}.glyphicon-object-align-left:before{content:"\e247";}.glyphicon-object-align-vertical:before{content:"\e248";}.glyphicon-object-align-right:before{content:"\e249";}.glyphicon-triangle-right:before{content:"\e250";}.glyphicon-triangle-left:before{content:"\e251";}.glyphicon-triangle-bottom:before{content:"\e252";}.glyphicon-triangle-top:before{content:"\e253";}.glyphicon-console:before{content:"\e254";}.glyphicon-superscript:before{content:"\e255";}.glyphicon-subscript:before{content:"\e256";}.glyphicon-menu-left:before{content:"\e257";}.glyphicon-menu-right:before{content:"\e258";}.glyphicon-menu-down:before{content:"\e259";}.glyphicon-menu-up:before{content:"\e260";}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0);}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;line-height:1.42857143;color:#333333;background-color:#fff;}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;}a{color:#2c3e50;text-decoration:none;}a:hover,a:focus{color:#11181f;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,.thumbnail > img,.thumbnail a > img,.carousel-inner > .item > img,.carousel-inner > .item > a > img{display:block;max-width:100%;height:auto;}.img-rounded{border-radius:5px;}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:3px;-webkit-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;display:inline-block;max-width:100%;height:auto;}.img-circle{border-radius:50%;}hr{margin-top:17px;margin-bottom:17px;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,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#777777;}h1,.h1,h2,.h2,h3,.h3{margin-top:17px;margin-bottom:8.5px;}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%;}h4,.h4,h5,.h5,h6,.h6{margin-top:8.5px;margin-bottom:8.5px;}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%;}h1,.h1{font-size:31px;}h2,.h2{font-size:25px;}h3,.h3{font-size:21px;}h4,.h4{font-size:15px;}h5,.h5{font-size:12px;}h6,.h6{font-size:11px;}p{margin:0 0 8.5px;}.lead{margin-bottom:17px;font-size:13px;font-weight:300;line-height:1.4;}@media (min-width:768px){.lead{font-size:18px;}}small,.small{font-size:91%;}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{text-transform:uppercase;}.text-capitalize{text-transform:capitalize;}.text-muted{color:#777777;}.text-primary{color:#2c3e50;}a.text-primary:hover,a.text-primary:focus{color:#1a242f;}.text-success{color:#18bc9c;}a.text-success:hover,a.text-success:focus{color:#128f76;}.text-info{color:#3498db;}a.text-info:hover,a.text-info:focus{color:#217dbb;}.text-warning{color:#f39c12;}a.text-warning:hover,a.text-warning:focus{color:#c87f0a;}.text-danger{color:#e74c3c;}a.text-danger:hover,a.text-danger:focus{color:#d62c1a;}.bg-primary{color:#fff;background-color:#2c3e50;}a.bg-primary:hover,a.bg-primary:focus{background-color:#1a242f;}.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:7.5px;margin:34px 0 17px;border-bottom:1px solid #eeeeee;}ul,ol{margin-top:0;margin-bottom:8.5px;}ul ul,ol ul,ul ol,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:17px;}dt,dd{line-height:1.42857143;}dt{font-weight:bold;}dd{margin-left:0;}@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%;text-transform:uppercase;}blockquote{padding:8.5px 17px;margin:0 0 17px;font-size:15px;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.42857143;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.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:'';}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014';}address{margin-bottom:17px;font-style:normal;line-height:1.42857143;}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:3px;}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:2px;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:8px;margin:0 0 8.5px;font-size:11px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#333333;background-color:#f5f5f5;border:1px solid #ccc;border-radius:3px;}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;}@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;}.row{margin-left:-15px;margin-right:-15px;}.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-12{width:100%;}.col-xs-11{width:91.66666667%;}.col-xs-10{width:83.33333333%;}.col-xs-9{width:75%;}.col-xs-8{width:66.66666667%;}.col-xs-7{width:58.33333333%;}.col-xs-6{width:50%;}.col-xs-5{width:41.66666667%;}.col-xs-4{width:33.33333333%;}.col-xs-3{width:25%;}.col-xs-2{width:16.66666667%;}.col-xs-1{width:8.33333333%;}.col-xs-pull-12{right:100%;}.col-xs-pull-11{right:91.66666667%;}.col-xs-pull-10{right:83.33333333%;}.col-xs-pull-9{right:75%;}.col-xs-pull-8{right:66.66666667%;}.col-xs-pull-7{right:58.33333333%;}.col-xs-pull-6{right:50%;}.col-xs-pull-5{right:41.66666667%;}.col-xs-pull-4{right:33.33333333%;}.col-xs-pull-3{right:25%;}.col-xs-pull-2{right:16.66666667%;}.col-xs-pull-1{right:8.33333333%;}.col-xs-pull-0{right:auto;}.col-xs-push-12{left:100%;}.col-xs-push-11{left:91.66666667%;}.col-xs-push-10{left:83.33333333%;}.col-xs-push-9{left:75%;}.col-xs-push-8{left:66.66666667%;}.col-xs-push-7{left:58.33333333%;}.col-xs-push-6{left:50%;}.col-xs-push-5{left:41.66666667%;}.col-xs-push-4{left:33.33333333%;}.col-xs-push-3{left:25%;}.col-xs-push-2{left:16.66666667%;}.col-xs-push-1{left:8.33333333%;}.col-xs-push-0{left:auto;}.col-xs-offset-12{margin-left:100%;}.col-xs-offset-11{margin-left:91.66666667%;}.col-xs-offset-10{margin-left:83.33333333%;}.col-xs-offset-9{margin-left:75%;}.col-xs-offset-8{margin-left:66.66666667%;}.col-xs-offset-7{margin-left:58.33333333%;}.col-xs-offset-6{margin-left:50%;}.col-xs-offset-5{margin-left:41.66666667%;}.col-xs-offset-4{margin-left:33.33333333%;}.col-xs-offset-3{margin-left:25%;}.col-xs-offset-2{margin-left:16.66666667%;}.col-xs-offset-1{margin-left:8.33333333%;}.col-xs-offset-0{margin-left:0%;}@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-12{width:100%;}.col-sm-11{width:91.66666667%;}.col-sm-10{width:83.33333333%;}.col-sm-9{width:75%;}.col-sm-8{width:66.66666667%;}.col-sm-7{width:58.33333333%;}.col-sm-6{width:50%;}.col-sm-5{width:41.66666667%;}.col-sm-4{width:33.33333333%;}.col-sm-3{width:25%;}.col-sm-2{width:16.66666667%;}.col-sm-1{width:8.33333333%;}.col-sm-pull-12{right:100%;}.col-sm-pull-11{right:91.66666667%;}.col-sm-pull-10{right:83.33333333%;}.col-sm-pull-9{right:75%;}.col-sm-pull-8{right:66.66666667%;}.col-sm-pull-7{right:58.33333333%;}.col-sm-pull-6{right:50%;}.col-sm-pull-5{right:41.66666667%;}.col-sm-pull-4{right:33.33333333%;}.col-sm-pull-3{right:25%;}.col-sm-pull-2{right:16.66666667%;}.col-sm-pull-1{right:8.33333333%;}.col-sm-pull-0{right:auto;}.col-sm-push-12{left:100%;}.col-sm-push-11{left:91.66666667%;}.col-sm-push-10{left:83.33333333%;}.col-sm-push-9{left:75%;}.col-sm-push-8{left:66.66666667%;}.col-sm-push-7{left:58.33333333%;}.col-sm-push-6{left:50%;}.col-sm-push-5{left:41.66666667%;}.col-sm-push-4{left:33.33333333%;}.col-sm-push-3{left:25%;}.col-sm-push-2{left:16.66666667%;}.col-sm-push-1{left:8.33333333%;}.col-sm-push-0{left:auto;}.col-sm-offset-12{margin-left:100%;}.col-sm-offset-11{margin-left:91.66666667%;}.col-sm-offset-10{margin-left:83.33333333%;}.col-sm-offset-9{margin-left:75%;}.col-sm-offset-8{margin-left:66.66666667%;}.col-sm-offset-7{margin-left:58.33333333%;}.col-sm-offset-6{margin-left:50%;}.col-sm-offset-5{margin-left:41.66666667%;}.col-sm-offset-4{margin-left:33.33333333%;}.col-sm-offset-3{margin-left:25%;}.col-sm-offset-2{margin-left:16.66666667%;}.col-sm-offset-1{margin-left:8.33333333%;}.col-sm-offset-0{margin-left:0%;}}@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-12{width:100%;}.col-md-11{width:91.66666667%;}.col-md-10{width:83.33333333%;}.col-md-9{width:75%;}.col-md-8{width:66.66666667%;}.col-md-7{width:58.33333333%;}.col-md-6{width:50%;}.col-md-5{width:41.66666667%;}.col-md-4{width:33.33333333%;}.col-md-3{width:25%;}.col-md-2{width:16.66666667%;}.col-md-1{width:8.33333333%;}.col-md-pull-12{right:100%;}.col-md-pull-11{right:91.66666667%;}.col-md-pull-10{right:83.33333333%;}.col-md-pull-9{right:75%;}.col-md-pull-8{right:66.66666667%;}.col-md-pull-7{right:58.33333333%;}.col-md-pull-6{right:50%;}.col-md-pull-5{right:41.66666667%;}.col-md-pull-4{right:33.33333333%;}.col-md-pull-3{right:25%;}.col-md-pull-2{right:16.66666667%;}.col-md-pull-1{right:8.33333333%;}.col-md-pull-0{right:auto;}.col-md-push-12{left:100%;}.col-md-push-11{left:91.66666667%;}.col-md-push-10{left:83.33333333%;}.col-md-push-9{left:75%;}.col-md-push-8{left:66.66666667%;}.col-md-push-7{left:58.33333333%;}.col-md-push-6{left:50%;}.col-md-push-5{left:41.66666667%;}.col-md-push-4{left:33.33333333%;}.col-md-push-3{left:25%;}.col-md-push-2{left:16.66666667%;}.col-md-push-1{left:8.33333333%;}.col-md-push-0{left:auto;}.col-md-offset-12{margin-left:100%;}.col-md-offset-11{margin-left:91.66666667%;}.col-md-offset-10{margin-left:83.33333333%;}.col-md-offset-9{margin-left:75%;}.col-md-offset-8{margin-left:66.66666667%;}.col-md-offset-7{margin-left:58.33333333%;}.col-md-offset-6{margin-left:50%;}.col-md-offset-5{margin-left:41.66666667%;}.col-md-offset-4{margin-left:33.33333333%;}.col-md-offset-3{margin-left:25%;}.col-md-offset-2{margin-left:16.66666667%;}.col-md-offset-1{margin-left:8.33333333%;}.col-md-offset-0{margin-left:0%;}}@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-12{width:100%;}.col-lg-11{width:91.66666667%;}.col-lg-10{width:83.33333333%;}.col-lg-9{width:75%;}.col-lg-8{width:66.66666667%;}.col-lg-7{width:58.33333333%;}.col-lg-6{width:50%;}.col-lg-5{width:41.66666667%;}.col-lg-4{width:33.33333333%;}.col-lg-3{width:25%;}.col-lg-2{width:16.66666667%;}.col-lg-1{width:8.33333333%;}.col-lg-pull-12{right:100%;}.col-lg-pull-11{right:91.66666667%;}.col-lg-pull-10{right:83.33333333%;}.col-lg-pull-9{right:75%;}.col-lg-pull-8{right:66.66666667%;}.col-lg-pull-7{right:58.33333333%;}.col-lg-pull-6{right:50%;}.col-lg-pull-5{right:41.66666667%;}.col-lg-pull-4{right:33.33333333%;}.col-lg-pull-3{right:25%;}.col-lg-pull-2{right:16.66666667%;}.col-lg-pull-1{right:8.33333333%;}.col-lg-pull-0{right:auto;}.col-lg-push-12{left:100%;}.col-lg-push-11{left:91.66666667%;}.col-lg-push-10{left:83.33333333%;}.col-lg-push-9{left:75%;}.col-lg-push-8{left:66.66666667%;}.col-lg-push-7{left:58.33333333%;}.col-lg-push-6{left:50%;}.col-lg-push-5{left:41.66666667%;}.col-lg-push-4{left:33.33333333%;}.col-lg-push-3{left:25%;}.col-lg-push-2{left:16.66666667%;}.col-lg-push-1{left:8.33333333%;}.col-lg-push-0{left:auto;}.col-lg-offset-12{margin-left:100%;}.col-lg-offset-11{margin-left:91.66666667%;}.col-lg-offset-10{margin-left:83.33333333%;}.col-lg-offset-9{margin-left:75%;}.col-lg-offset-8{margin-left:66.66666667%;}.col-lg-offset-7{margin-left:58.33333333%;}.col-lg-offset-6{margin-left:50%;}.col-lg-offset-5{margin-left:41.66666667%;}.col-lg-offset-4{margin-left:33.33333333%;}.col-lg-offset-3{margin-left:25%;}.col-lg-offset-2{margin-left:16.66666667%;}.col-lg-offset-1{margin-left:8.33333333%;}.col-lg-offset-0{margin-left:0%;}}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:17px;}.table > thead > tr > th,.table > tbody > tr > th,.table > tfoot > tr > th,.table > thead > tr > td,.table > tbody > tr > td,.table > tfoot > tr > td{padding:8px;line-height:1.42857143;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 > colgroup + thead > tr:first-child > th,.table > thead:first-child > tr:first-child > th,.table > caption + thead > tr:first-child > td,.table > colgroup + thead > tr:first-child > td,.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 > tbody > tr > th,.table-condensed > tfoot > tr > th,.table-condensed > thead > tr > td,.table-condensed > tbody > tr > td,.table-condensed > tfoot > tr > td{padding:5px;}.table-bordered{border:1px solid #ddd;}.table-bordered > thead > tr > th,.table-bordered > tbody > tr > th,.table-bordered > tfoot > tr > th,.table-bordered > thead > tr > td,.table-bordered > tbody > tr > td,.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 > tbody > tr > td.active,.table > tfoot > tr > td.active,.table > thead > tr > th.active,.table > tbody > tr > th.active,.table > tfoot > tr > th.active,.table > thead > tr.active > td,.table > tbody > tr.active > td,.table > tfoot > tr.active > td,.table > thead > tr.active > th,.table > tbody > tr.active > th,.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 > tbody > tr > td.success,.table > tfoot > tr > td.success,.table > thead > tr > th.success,.table > tbody > tr > th.success,.table > tfoot > tr > th.success,.table > thead > tr.success > td,.table > tbody > tr.success > td,.table > tfoot > tr.success > td,.table > thead > tr.success > th,.table > tbody > tr.success > th,.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 > tbody > tr > td.info,.table > tfoot > tr > td.info,.table > thead > tr > th.info,.table > tbody > tr > th.info,.table > tfoot > tr > th.info,.table > thead > tr.info > td,.table > tbody > tr.info > td,.table > tfoot > tr.info > td,.table > thead > tr.info > th,.table > tbody > tr.info > th,.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 > tbody > tr > td.warning,.table > tfoot > tr > td.warning,.table > thead > tr > th.warning,.table > tbody > tr > th.warning,.table > tfoot > tr > th.warning,.table > thead > tr.warning > td,.table > tbody > tr.warning > td,.table > tfoot > tr.warning > td,.table > thead > tr.warning > th,.table > tbody > tr.warning > th,.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 > tbody > tr > td.danger,.table > tfoot > tr > td.danger,.table > thead > tr > th.danger,.table > tbody > tr > th.danger,.table > tfoot > tr > th.danger,.table > thead > tr.danger > td,.table > tbody > tr.danger > td,.table > tfoot > tr.danger > td,.table > thead > tr.danger > th,.table > tbody > tr.danger > th,.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:12.75px;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 > tbody > tr > th,.table-responsive > .table > tfoot > tr > th,.table-responsive > .table > thead > tr > td,.table-responsive > .table > tbody > tr > td,.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 > tbody > tr > th:first-child,.table-responsive > .table-bordered > tfoot > tr > th:first-child,.table-responsive > .table-bordered > thead > tr > td:first-child,.table-responsive > .table-bordered > tbody > tr > td: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 > tbody > tr > th:last-child,.table-responsive > .table-bordered > tfoot > tr > th:last-child,.table-responsive > .table-bordered > thead > tr > td:last-child,.table-responsive > .table-bordered > tbody > tr > td: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 > tfoot > tr:last-child > th,.table-responsive > .table-bordered > tbody > tr:last-child > td,.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:17px;font-size:18px;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"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;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:12px;line-height:1.42857143;color:#555555;}.form-control{display:block;width:100%;height:31px;padding:6px 12px;font-size:12px;line-height:1.42857143;color:#555555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(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:31px;}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:28px;}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:42px;}}.form-group{margin-bottom:15px;}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px;}.radio label,.checkbox label{min-height:17px;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="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed;}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed;}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed;}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0;min-height:29px;}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0;}.input-sm{height:28px;padding:5px 10px;font-size:11px;line-height:1.5;border-radius:2px;}select.input-sm{height:28px;line-height:28px;}textarea.input-sm,select[multiple].input-sm{height:auto;}.form-group-sm .form-control{height:28px;padding:5px 10px;font-size:11px;line-height:1.5;border-radius:2px;}.form-group-sm select.form-control{height:28px;line-height:28px;}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto;}.form-group-sm .form-control-static{height:28px;min-height:28px;padding:6px 10px;font-size:11px;line-height:1.5;}.input-lg{height:42px;padding:10px 16px;font-size:15px;line-height:1.3333333;border-radius:5px;}select.input-lg{height:42px;line-height:42px;}textarea.input-lg,select[multiple].input-lg{height:auto;}.form-group-lg .form-control{height:42px;padding:10px 16px;font-size:15px;line-height:1.3333333;border-radius:5px;}.form-group-lg select.form-control{height:42px;line-height:42px;}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto;}.form-group-lg .form-control-static{height:42px;min-height:32px;padding:11px 16px;font-size:15px;line-height:1.3333333;}.has-feedback{position:relative;}.has-feedback .form-control{padding-right:38.75px;}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:31px;height:31px;line-height:31px;text-align:center;pointer-events:none;}.input-lg + .form-control-feedback,.input-group-lg + .form-control-feedback,.form-group-lg .form-control + .form-control-feedback{width:42px;height:42px;line-height:42px;}.input-sm + .form-control-feedback,.input-group-sm + .form-control-feedback,.form-group-sm .form-control + .form-control-feedback{width:28px;height:28px;line-height:28px;}.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:#18bc9c;}.has-success .form-control{border-color:#18bc9c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);}.has-success .form-control:focus{border-color:#128f76;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #51e9cb;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #51e9cb;}.has-success .input-group-addon{color:#18bc9c;border-color:#18bc9c;background-color:#dff0d8;}.has-success .form-control-feedback{color:#18bc9c;}.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:#f39c12;}.has-warning .form-control{border-color:#f39c12;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);}.has-warning .form-control:focus{border-color:#c87f0a;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #f8c573;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #f8c573;}.has-warning .input-group-addon{color:#f39c12;border-color:#f39c12;background-color:#fcf8e3;}.has-warning .form-control-feedback{color:#f39c12;}.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:#e74c3c;}.has-error .form-control{border-color:#e74c3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);}.has-error .form-control:focus{border-color:#d62c1a;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #f29f97;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #f29f97;}.has-error .input-group-addon{color:#e74c3c;border-color:#e74c3c;background-color:#f2dede;}.has-error .form-control-feedback{color:#e74c3c;}.has-feedback label ~ .form-control-feedback{top:22px;}.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:24px;}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px;}@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:15px;}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:11px;}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:12px;line-height:1.42857143;border-radius:3px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.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;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);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);-webkit-box-shadow:none;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 > .dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad;}.btn-default:active:hover,.btn-default.active:hover,.open > .dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open > .dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open > .dropdown-toggle.btn-default.focus{color:#333;background-color:#d4d4d4;border-color:#8c8c8c;}.btn-default:active,.btn-default.active,.open > .dropdown-toggle.btn-default{background-image:none;}.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].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:#2c3e50;border-color:#2c3e50;}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:#1a242f;border-color:#000000;}.btn-primary:hover{color:#fff;background-color:#1a242f;border-color:#161f29;}.btn-primary:active,.btn-primary.active,.open > .dropdown-toggle.btn-primary{color:#fff;background-color:#1a242f;border-color:#161f29;}.btn-primary:active:hover,.btn-primary.active:hover,.open > .dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open > .dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open > .dropdown-toggle.btn-primary.focus{color:#fff;background-color:#0d1318;border-color:#000000;}.btn-primary:active,.btn-primary.active,.open > .dropdown-toggle.btn-primary{background-image:none;}.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus{background-color:#2c3e50;border-color:#2c3e50;}.btn-primary .badge{color:#2c3e50;background-color:#fff;}.btn-success{color:#fff;background-color:#18bc9c;border-color:#18bc9c;}.btn-success:focus,.btn-success.focus{color:#fff;background-color:#128f76;border-color:#0a4b3e;}.btn-success:hover{color:#fff;background-color:#128f76;border-color:#11866f;}.btn-success:active,.btn-success.active,.open > .dropdown-toggle.btn-success{color:#fff;background-color:#128f76;border-color:#11866f;}.btn-success:active:hover,.btn-success.active:hover,.open > .dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open > .dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open > .dropdown-toggle.btn-success.focus{color:#fff;background-color:#0e6f5c;border-color:#0a4b3e;}.btn-success:active,.btn-success.active,.open > .dropdown-toggle.btn-success{background-image:none;}.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus{background-color:#18bc9c;border-color:#18bc9c;}.btn-success .badge{color:#18bc9c;background-color:#fff;}.btn-info{color:#fff;background-color:#3498db;border-color:#3498db;}.btn-info:focus,.btn-info.focus{color:#fff;background-color:#217dbb;border-color:#16527a;}.btn-info:hover{color:#fff;background-color:#217dbb;border-color:#2077b2;}.btn-info:active,.btn-info.active,.open > .dropdown-toggle.btn-info{color:#fff;background-color:#217dbb;border-color:#2077b2;}.btn-info:active:hover,.btn-info.active:hover,.open > .dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open > .dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open > .dropdown-toggle.btn-info.focus{color:#fff;background-color:#1c699d;border-color:#16527a;}.btn-info:active,.btn-info.active,.open > .dropdown-toggle.btn-info{background-image:none;}.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus{background-color:#3498db;border-color:#3498db;}.btn-info .badge{color:#3498db;background-color:#fff;}.btn-warning{color:#fff;background-color:#f39c12;border-color:#f39c12;}.btn-warning:focus,.btn-warning.focus{color:#fff;background-color:#c87f0a;border-color:#7f5006;}.btn-warning:hover{color:#fff;background-color:#c87f0a;border-color:#be780a;}.btn-warning:active,.btn-warning.active,.open > .dropdown-toggle.btn-warning{color:#fff;background-color:#c87f0a;border-color:#be780a;}.btn-warning:active:hover,.btn-warning.active:hover,.open > .dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open > .dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open > .dropdown-toggle.btn-warning.focus{color:#fff;background-color:#a66908;border-color:#7f5006;}.btn-warning:active,.btn-warning.active,.open > .dropdown-toggle.btn-warning{background-image:none;}.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus{background-color:#f39c12;border-color:#f39c12;}.btn-warning .badge{color:#f39c12;background-color:#fff;}.btn-danger{color:#fff;background-color:#e74c3c;border-color:#e74c3c;}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#d62c1a;border-color:#921e12;}.btn-danger:hover{color:#fff;background-color:#d62c1a;border-color:#cd2a19;}.btn-danger:active,.btn-danger.active,.open > .dropdown-toggle.btn-danger{color:#fff;background-color:#d62c1a;border-color:#cd2a19;}.btn-danger:active:hover,.btn-danger.active:hover,.open > .dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open > .dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open > .dropdown-toggle.btn-danger.focus{color:#fff;background-color:#b62516;border-color:#921e12;}.btn-danger:active,.btn-danger.active,.open > .dropdown-toggle.btn-danger{background-image:none;}.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus{background-color:#e74c3c;border-color:#e74c3c;}.btn-danger .badge{color:#e74c3c;background-color:#fff;}.btn-link{color:#2c3e50;font-weight:normal;border-radius:0;}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none;}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent;}.btn-link:hover,.btn-link:focus{color:#11181f;text-decoration:underline;background-color:transparent;}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777777;text-decoration:none;}.btn-lg,.btn-group-lg > .btn{padding:10px 16px;font-size:15px;line-height:1.3333333;border-radius:5px;}.btn-sm,.btn-group-sm > .btn{padding:5px 10px;font-size:11px;line-height:1.5;border-radius:2px;}.btn-xs,.btn-group-xs > .btn{padding:1px 5px;font-size:11px;line-height:1.5;border-radius:2px;}.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;-webkit-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;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;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-timing-function:ease;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:12px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:3px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);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:7.5px 0;overflow:hidden;background-color:#e5e5e5;}.dropdown-menu > li > a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;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:#2c3e50;}.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:11px;line-height:1.42857143;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{left:auto;right:0;}.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-vertical > .btn:hover,.btn-group > .btn:focus,.btn-group-vertical > .btn:focus,.btn-group > .btn:active,.btn-group-vertical > .btn:active,.btn-group > .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 .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{padding-left:12px;padding-right:12px;}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none;}.btn .caret{margin-left:0;}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0;}.dropup .btn-lg .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 > .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:3px;border-top-left-radius:3px;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:3px;border-bottom-left-radius:3px;}.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-group > .btn input[type="radio"],[data-toggle="buttons"] > .btn input[type="checkbox"],[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-lg > .form-control,.input-group-lg > .input-group-addon,.input-group-lg > .input-group-btn > .btn{height:42px;padding:10px 16px;font-size:15px;line-height:1.3333333;border-radius:5px;}select.input-group-lg > .form-control,select.input-group-lg > .input-group-addon,select.input-group-lg > .input-group-btn > .btn{height:42px;line-height:42px;}textarea.input-group-lg > .form-control,textarea.input-group-lg > .input-group-addon,textarea.input-group-lg > .input-group-btn > .btn,select[multiple].input-group-lg > .form-control,select[multiple].input-group-lg > .input-group-addon,select[multiple].input-group-lg > .input-group-btn > .btn{height:auto;}.input-group-sm > .form-control,.input-group-sm > .input-group-addon,.input-group-sm > .input-group-btn > .btn{height:28px;padding:5px 10px;font-size:11px;line-height:1.5;border-radius:2px;}select.input-group-sm > .form-control,select.input-group-sm > .input-group-addon,select.input-group-sm > .input-group-btn > .btn{height:28px;line-height:28px;}textarea.input-group-sm > .form-control,textarea.input-group-sm > .input-group-addon,textarea.input-group-sm > .input-group-btn > .btn,select[multiple].input-group-sm > .form-control,select[multiple].input-group-sm > .input-group-addon,select[multiple].input-group-sm > .input-group-btn > .btn{height:auto;}.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:12px;font-weight:normal;line-height:1;color:#555555;text-align:center;background-color:#eeeeee;border:1px solid #ccc;border-radius:3px;}.input-group-addon.input-sm{padding:5px 10px;font-size:11px;border-radius:2px;}.input-group-addon.input-lg{padding:10px 16px;font-size:15px;border-radius:5px;}.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 > 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:#2c3e50;}.nav .nav-divider{height:1px;margin:7.5px 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.42857143;border:1px solid transparent;border-radius:3px 3px 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-tabs.nav-justified{width:100%;border-bottom:0;}.nav-tabs.nav-justified > li{float:none;}.nav-tabs.nav-justified > li > a{text-align:center;margin-bottom:5px;}.nav-tabs.nav-justified > .dropdown .dropdown-menu{top:auto;left:auto;}@media (min-width:768px){.nav-tabs.nav-justified > li{display:table-cell;width:1%;}.nav-tabs.nav-justified > li > a{margin-bottom:0;}}.nav-tabs.nav-justified > li > a{margin-right:0;border-radius:3px;}.nav-tabs.nav-justified > .active > a,.nav-tabs.nav-justified > .active > a:hover,.nav-tabs.nav-justified > .active > a:focus{border:1px solid #ddd;}@media (min-width:768px){.nav-tabs.nav-justified > li > a{border-bottom:1px solid #ddd;border-radius:3px 3px 0 0;}.nav-tabs.nav-justified > .active > a,.nav-tabs.nav-justified > .active > a:hover,.nav-tabs.nav-justified > .active > a:focus{border-bottom-color:#fff;}}.nav-pills > li{float:left;}.nav-pills > li > a{border-radius:3px;}.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:#2c3e50;}.nav-stacked > li{float:none;}.nav-stacked > li + li{margin-top:2px;margin-left:0;}.nav-justified{width:100%;}.nav-justified > li{float:none;}.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{display:table-cell;width:1%;}.nav-justified > li > a{margin-bottom:0;}}.nav-tabs-justified{border-bottom:0;}.nav-tabs-justified > li > a{margin-right:0;border-radius:3px;}.nav-tabs-justified > .active > a,.nav-tabs-justified > .active > a:hover,.nav-tabs-justified > .active > a:focus{border:1px solid #ddd;}@media (min-width:768px){.nav-tabs-justified > li > a{border-bottom:1px solid #ddd;border-radius:3px 3px 0 0;}.nav-tabs-justified > .active > a,.nav-tabs-justified > .active > a:hover,.nav-tabs-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:17px;border:1px solid transparent;}@media (min-width:768px){.navbar{border-radius:3px;}}@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.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-fluid > .navbar-header,.container > .navbar-collapse,.container-fluid > .navbar-collapse{margin-right:-15px;margin-left:-15px;}@media (min-width:768px){.container > .navbar-header,.container-fluid > .navbar-header,.container > .navbar-collapse,.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:16.5px 15px;font-size:15px;line-height:17px;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:3px;}.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:8.25px -15px;}.navbar-nav > li > a{padding-top:10px;padding-bottom:10px;line-height:17px;}@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:17px;}.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:16.5px;padding-bottom:16.5px;}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:9.5px;margin-bottom:9.5px;}@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;-webkit-box-shadow:none;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:3px;border-top-left-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:0;}.navbar-btn{margin-top:9.5px;margin-bottom:9.5px;}.navbar-btn.btn-sm{margin-top:11px;margin-bottom:11px;}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px;}.navbar-text{margin-top:16.5px;margin-bottom:16.5px;}@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,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc;}.navbar-inverse{background-color:#222;border-color:#080808;}.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:#080808;}.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:#080808;color:#fff;}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header{border-color:#080808;}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808;}.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:#080808;}.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,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444;}.breadcrumb{padding:8px 15px;margin-bottom:17px;list-style:none;background-color:#f5f5f5;border-radius:3px;}.breadcrumb > li{display:inline-block;}.breadcrumb > li + li:before{content:"/\00a0";padding:0 5px;color:#ccc;}.breadcrumb > .active{color:#777777;}.pagination{display:inline-block;padding-left:0;margin:17px 0;border-radius:3px;}.pagination > li{display:inline;}.pagination > li > a,.pagination > li > span{position:relative;float:left;padding:6px 12px;line-height:1.42857143;text-decoration:none;color:#2c3e50;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:3px;border-top-left-radius:3px;}.pagination > li:last-child > a,.pagination > li:last-child > span{border-bottom-right-radius:3px;border-top-right-radius:3px;}.pagination > li > a:hover,.pagination > li > span:hover,.pagination > li > a:focus,.pagination > li > span:focus{z-index:2;color:#11181f;background-color:#eeeeee;border-color:#ddd;}.pagination > .active > a,.pagination > .active > span,.pagination > .active > a:hover,.pagination > .active > span:hover,.pagination > .active > a:focus,.pagination > .active > span:focus{z-index:3;color:#fff;background-color:#2c3e50;border-color:#2c3e50;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:15px;line-height:1.3333333;}.pagination-lg > li:first-child > a,.pagination-lg > li:first-child > span{border-bottom-left-radius:5px;border-top-left-radius:5px;}.pagination-lg > li:last-child > a,.pagination-lg > li:last-child > span{border-bottom-right-radius:5px;border-top-right-radius:5px;}.pagination-sm > li > a,.pagination-sm > li > span{padding:5px 10px;font-size:11px;line-height:1.5;}.pagination-sm > li:first-child > a,.pagination-sm > li:first-child > span{border-bottom-left-radius:2px;border-top-left-radius:2px;}.pagination-sm > li:last-child > a,.pagination-sm > li:last-child > span{border-bottom-right-radius:2px;border-top-right-radius:2px;}.pager{padding-left:0;margin:17px 0;list-style:none;text-align:center;}.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;}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer;}.label:empty{display:none;}.btn .label{position:relative;top:-1px;}.label-default{background-color:#777777;}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e;}.label-primary{background-color:#2c3e50;}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#1a242f;}.label-success{background-color:#18bc9c;}.label-success[href]:hover,.label-success[href]:focus{background-color:#128f76;}.label-info{background-color:#3498db;}.label-info[href]:hover,.label-info[href]:focus{background-color:#217dbb;}.label-warning{background-color:#f39c12;}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#c87f0a;}.label-danger{background-color:#e74c3c;}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#d62c1a;}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:11px;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{top:0;padding:1px 5px;}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer;}.list-group-item.active > .badge,.nav-pills > .active > a > .badge{color:#2c3e50;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;}.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:18px;font-weight:200;}.jumbotron > hr{border-top-color:#d5d5d5;}.container .jumbotron,.container-fluid .jumbotron{border-radius:5px;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:54px;}}.thumbnail{display:block;padding:4px;margin-bottom:17px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:3px;-webkit-transition:border 0.2s ease-in-out;-o-transition:border 0.2s ease-in-out;transition:border 0.2s ease-in-out;}.thumbnail > img,.thumbnail a > img{margin-left:auto;margin-right:auto;}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#2c3e50;}.thumbnail .caption{padding:9px;color:#333333;}.alert{padding:15px;margin-bottom:17px;border:1px solid transparent;border-radius:3px;}.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:#18bc9c;}.alert-success hr{border-top-color:#c9e2b3;}.alert-success .alert-link{color:#128f76;}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#3498db;}.alert-info hr{border-top-color:#a6e1ec;}.alert-info .alert-link{color:#217dbb;}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#f39c12;}.alert-warning hr{border-top-color:#f7e1b5;}.alert-warning .alert-link{color:#c87f0a;}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#e74c3c;}.alert-danger hr{border-top-color:#e4b9c0;}.alert-danger .alert-link{color:#d62c1a;}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0;}to{background-position:0 0;}}@keyframes progress-bar-stripes{from{background-position:40px 0;}to{background-position:0 0;}}.progress{overflow:hidden;height:17px;margin-bottom:17px;background-color:#f5f5f5;border-radius:3px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);}.progress-bar{float:left;width:0%;height:100%;font-size:11px;line-height:17px;color:#fff;text-align:center;background-color:#2c3e50;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease;}.progress-striped .progress-bar,.progress-bar-striped{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);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);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);background-size:40px 40px;}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite;}.progress-bar-success{background-color:#18bc9c;}.progress-striped .progress-bar-success{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);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);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);}.progress-bar-info{background-color:#3498db;}.progress-striped .progress-bar-info{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);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);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);}.progress-bar-warning{background-color:#f39c12;}.progress-striped .progress-bar-warning{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);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);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);}.progress-bar-danger{background-color:#e74c3c;}.progress-striped .progress-bar-danger{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);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);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);}.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:3px;border-top-left-radius:3px;}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;}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,button.list-group-item:hover,a.list-group-item:focus,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:#2c3e50;border-color:#2c3e50;}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading > small,.list-group-item.active:hover .list-group-item-heading > small,.list-group-item.active:focus .list-group-item-heading > small,.list-group-item.active .list-group-item-heading > .small,.list-group-item.active:hover .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:#8aa4be;}.list-group-item-success{color:#18bc9c;background-color:#dff0d8;}a.list-group-item-success,button.list-group-item-success{color:#18bc9c;}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,button.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:focus{color:#18bc9c;background-color:#d0e9c6;}a.list-group-item-success.active,button.list-group-item-success.active,a.list-group-item-success.active:hover,button.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active:focus{color:#fff;background-color:#18bc9c;border-color:#18bc9c;}.list-group-item-info{color:#3498db;background-color:#d9edf7;}a.list-group-item-info,button.list-group-item-info{color:#3498db;}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,button.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:focus{color:#3498db;background-color:#c4e3f3;}a.list-group-item-info.active,button.list-group-item-info.active,a.list-group-item-info.active:hover,button.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active:focus{color:#fff;background-color:#3498db;border-color:#3498db;}.list-group-item-warning{color:#f39c12;background-color:#fcf8e3;}a.list-group-item-warning,button.list-group-item-warning{color:#f39c12;}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,button.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:focus{color:#f39c12;background-color:#faf2cc;}a.list-group-item-warning.active,button.list-group-item-warning.active,a.list-group-item-warning.active:hover,button.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active:focus{color:#fff;background-color:#f39c12;border-color:#f39c12;}.list-group-item-danger{color:#e74c3c;background-color:#f2dede;}a.list-group-item-danger,button.list-group-item-danger{color:#e74c3c;}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,button.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:focus{color:#e74c3c;background-color:#ebcccc;}a.list-group-item-danger.active,button.list-group-item-danger.active,a.list-group-item-danger.active:hover,button.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active:focus{color:#fff;background-color:#e74c3c;border-color:#e74c3c;}.list-group-item-heading{margin-top:0;margin-bottom:5px;}.list-group-item-text{margin-bottom:0;line-height:1.3;}.panel{margin-bottom:17px;background-color:#fff;border:1px solid transparent;border-radius:3px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05);}.panel-body{padding:15px;}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:2px;border-top-left-radius:2px;}.panel-heading > .dropdown .dropdown-toggle{color:inherit;}.panel-title{margin-top:0;margin-bottom:0;font-size:14px;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:2px;border-bottom-left-radius:2px;}.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:2px;border-top-left-radius:2px;}.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:2px;border-bottom-left-radius:2px;}.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:2px;border-top-left-radius:2px;}.panel > .table:first-child > thead:first-child > tr:first-child,.panel > .table-responsive:first-child > .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 > tbody:first-child > tr:first-child{border-top-left-radius:2px;border-top-right-radius:2px;}.panel > .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 td:first-child,.panel > .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 td:first-child,.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child{border-top-left-radius:2px;}.panel > .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 td:last-child,.panel > .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 td:last-child,.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child{border-top-right-radius:2px;}.panel > .table:last-child,.panel > .table-responsive:last-child > .table:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px;}.panel > .table:last-child > tbody:last-child > tr:last-child,.panel > .table-responsive:last-child > .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 > tfoot:last-child > tr:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px;}.panel > .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 td:first-child,.panel > .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 td:first-child,.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child{border-bottom-left-radius:2px;}.panel > .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 td:last-child,.panel > .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 td:last-child,.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child{border-bottom-right-radius:2px;}.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-responsive > .table-bordered > thead > tr > th:first-child,.panel > .table-bordered > tbody > tr > th:first-child,.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,.panel > .table-bordered > tfoot > tr > th:first-child,.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,.panel > .table-bordered > thead > tr > td:first-child,.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,.panel > .table-bordered > tbody > tr > td:first-child,.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,.panel > .table-bordered > tfoot > tr > td: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-responsive > .table-bordered > thead > tr > th:last-child,.panel > .table-bordered > tbody > tr > th:last-child,.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,.panel > .table-bordered > tfoot > tr > th:last-child,.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,.panel > .table-bordered > thead > tr > td:last-child,.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,.panel > .table-bordered > tbody > tr > td:last-child,.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,.panel > .table-bordered > tfoot > tr > td: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-responsive > .table-bordered > thead > tr:first-child > td,.panel > .table-bordered > tbody > tr:first-child > td,.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,.panel > .table-bordered > thead > tr:first-child > th,.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,.panel > .table-bordered > tbody > tr:first-child > th,.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th{border-bottom:0;}.panel > .table-bordered > tbody > tr:last-child > td,.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,.panel > .table-bordered > tfoot > tr:last-child > td,.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,.panel > .table-bordered > tbody > tr:last-child > th,.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,.panel > .table-bordered > tfoot > tr:last-child > th,.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:17px;}.panel-group .panel{margin-bottom:0;border-radius:3px;}.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:#2c3e50;}.panel-primary > .panel-heading{color:#fff;background-color:#2c3e50;border-color:#2c3e50;}.panel-primary > .panel-heading + .panel-collapse > .panel-body{border-top-color:#2c3e50;}.panel-primary > .panel-heading .badge{color:#2c3e50;background-color:#fff;}.panel-primary > .panel-footer + .panel-collapse > .panel-body{border-bottom-color:#2c3e50;}.panel-success{border-color:#d6e9c6;}.panel-success > .panel-heading{color:#18bc9c;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:#18bc9c;}.panel-success > .panel-footer + .panel-collapse > .panel-body{border-bottom-color:#d6e9c6;}.panel-info{border-color:#bce8f1;}.panel-info > .panel-heading{color:#3498db;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:#3498db;}.panel-info > .panel-footer + .panel-collapse > .panel-body{border-bottom-color:#bce8f1;}.panel-warning{border-color:#faebcc;}.panel-warning > .panel-heading{color:#f39c12;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:#f39c12;}.panel-warning > .panel-footer + .panel-collapse > .panel-body{border-bottom-color:#faebcc;}.panel-danger{border-color:#ebccd1;}.panel-danger > .panel-heading{color:#e74c3c;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:#e74c3c;}.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:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);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:5px;}.well-sm{padding:9px;border-radius:2px;}.close{float:right;font-size:18px;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;}.modal-open{overflow:hidden;}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0;}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform 0.3s ease-out;-moz-transition:-moz-transform 0.3s ease-out;-o-transition:-o-transform 0.3s ease-out;transition:transform 0.3s ease-out;}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0);}.modal-open .modal{overflow-x:hidden;overflow-y:auto;}.modal-dialog{position:relative;width:auto;margin:10px;}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:5px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box;outline:0;}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000;}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0);}.modal-backdrop.in{opacity:0.5;filter:alpha(opacity=50);}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;}.modal-header .close{margin-top:-2px;}.modal-title{margin:0;line-height:1.42857143;}.modal-body{position:relative;padding:15px;}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5;}.modal-footer .btn + .btn{margin-left:5px;margin-bottom:0;}.modal-footer .btn-group .btn + .btn{margin-left:-1px;}.modal-footer .btn-block + .btn-block{margin-left:0;}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll;}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto;}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5);}.modal-sm{width:300px;}}@media (min-width:992px){.modal-lg{width:900px;}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:11px;opacity:0;filter:alpha(opacity=0);}.tooltip.in{opacity:0.9;filter:alpha(opacity=90);}.tooltip.top{margin-top:-3px;padding:5px 0;}.tooltip.right{margin-left:3px;padding:0 5px;}.tooltip.bottom{margin-top:3px;padding:5px 0;}.tooltip.left{margin-left:-3px;padding:0 5px;}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px;}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid;}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000;}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000;}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000;}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000;}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000;}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000;}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000;}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000;}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:12px;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:5px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);}.popover.top{margin-top:-10px;}.popover.right{margin-left:10px;}.popover.bottom{margin-top:10px;}.popover.left{margin-left:-10px;}.popover-title{margin:0;padding:8px 14px;font-size:12px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:4px 4px 0 0;}.popover-content{padding:9px 14px;}.popover > .arrow,.popover > .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid;}.popover > .arrow{border-width:11px;}.popover > .arrow:after{border-width:10px;content:"";}.popover.top > .arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999999;border-top-color:rgba(0,0,0,0.25);bottom:-11px;}.popover.top > .arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff;}.popover.right > .arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999999;border-right-color:rgba(0,0,0,0.25);}.popover.right > .arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff;}.popover.bottom > .arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999999;border-bottom-color:rgba(0,0,0,0.25);top:-11px;}.popover.bottom > .arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff;}.popover.left > .arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999999;border-left-color:rgba(0,0,0,0.25);}.popover.left > .arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px;}.carousel{position:relative;}.carousel-inner{position:relative;overflow:hidden;width:100%;}.carousel-inner > .item{display:none;position:relative;-webkit-transition:0.6s ease-in-out left;-o-transition:0.6s ease-in-out left;transition:0.6s ease-in-out left;}.carousel-inner > .item > img,.carousel-inner > .item > a > img{line-height:1;}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner > .item{-webkit-transition:-webkit-transform 0.6s ease-in-out;-moz-transition:-moz-transform 0.6s ease-in-out;-o-transition:-o-transform 0.6s ease-in-out;transition:transform 0.6s ease-in-out;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;-moz-perspective:1000px;perspective:1000px;}.carousel-inner > .item.next,.carousel-inner > .item.active.right{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0;}.carousel-inner > .item.prev,.carousel-inner > .item.active.left{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0;}.carousel-inner > .item.next.left,.carousel-inner > .item.prev.right,.carousel-inner > .item.active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);left:0;}}.carousel-inner > .active,.carousel-inner > .next,.carousel-inner > .prev{display:block;}.carousel-inner > .active{left:0;}.carousel-inner > .next,.carousel-inner > .prev{position:absolute;top:0;width:100%;}.carousel-inner > .next{left:100%;}.carousel-inner > .prev{left:-100%;}.carousel-inner > .next.left,.carousel-inner > .prev.right{left:0;}.carousel-inner > .active.left{left:-100%;}.carousel-inner > .active.right{left:100%;}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:0.5;filter:alpha(opacity=50);font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6);background-color:rgba(0,0,0,0);}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,0.5) 0%,rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,0.5) 0%,rgba(0,0,0,0.0001) 100%);background-image:linear-gradient(to right,rgba(0,0,0,0.5) 0%,rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000',endColorstr='#00000000',GradientType=1);}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left,rgba(0,0,0,0.0001) 0%,rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,0.0001) 0%,rgba(0,0,0,0.5) 100%);background-image:linear-gradient(to right,rgba(0,0,0,0.0001) 0%,rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000',endColorstr='#80000000',GradientType=1);}.carousel-control:hover,.carousel-control:focus{outline:0;color:#fff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90);}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block;}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px;}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px;}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;line-height:1;font-family:serif;}.carousel-control .icon-prev:before{content:'\2039';}.carousel-control .icon-next:before{content:'\203a';}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center;}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff;}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6);}.carousel-caption .btn{text-shadow:none;}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-10px;font-size:30px;}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px;}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px;}.carousel-caption{left:20%;right:20%;padding-bottom:30px;}.carousel-indicators{bottom:20px;}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical > .btn-group:before,.btn-group-vertical > .btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-header:before,.modal-header:after,.modal-footer:before,.modal-footer:after{content:" ";display:table;}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical > .btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-header:after,.modal-footer: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,.visible-sm,.visible-md,.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;}}/*! * AdminLTE v2.3.7 * Author:Almsaeed Studio * Website:Almsaeed Studio * License:Open source - MIT * Please visit http://opensource.org/licenses/MIT for more information !*/ html,body{min-height:100%;}.layout-boxed html,.layout-boxed body{height:100%;}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:'Source Sans Pro','Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:400;overflow-x:hidden;overflow-y:auto;}.wrapper{min-height:100%;position:relative;overflow:hidden;}.wrapper:before,.wrapper:after{content:" ";display:table;}.wrapper:after{clear:both;}.wrapper:before,.wrapper:after{content:" ";display:table;}.wrapper:after{clear:both;}.layout-boxed .wrapper{max-width:1250px;margin:0 auto;min-height:100%;box-shadow:0 0 8px rgba(0,0,0,0.5);position:relative;}.layout-boxed{background:url(../img/boxed-bg.jpg) repeat fixed;}.content-wrapper,.right-side,.main-footer{-webkit-transition:-webkit-transform 0.3s ease-in-out,margin 0.3s ease-in-out;-moz-transition:-moz-transform 0.3s ease-in-out,margin 0.3s ease-in-out;-o-transition:-o-transform 0.3s ease-in-out,margin 0.3s ease-in-out;transition:transform 0.3s ease-in-out,margin 0.3s ease-in-out;margin-left:230px;z-index:820;}.layout-top-nav .content-wrapper,.layout-top-nav .right-side,.layout-top-nav .main-footer{margin-left:0;}@media (max-width:767px){.content-wrapper,.right-side,.main-footer{margin-left:0;}}@media (min-width:768px){.sidebar-collapse .content-wrapper,.sidebar-collapse .right-side,.sidebar-collapse .main-footer{margin-left:0;}}@media (max-width:767px){.sidebar-open .content-wrapper,.sidebar-open .right-side,.sidebar-open .main-footer{-webkit-transform:translate(230px,0);-ms-transform:translate(230px,0);-o-transform:translate(230px,0);transform:translate(230px,0);}}.content-wrapper,.right-side{min-height:100%;background-color:#ecf0f5;z-index:800;}.main-footer{background:#fff;padding:15px;color:#444;border-top:1px solid #d2d6de;}.fixed .main-header,.fixed .main-sidebar,.fixed .left-side{position:fixed;}.fixed .main-header{top:0;right:0;left:0;}.fixed .content-wrapper,.fixed .right-side{padding-top:50px;}@media (max-width:767px){.fixed .content-wrapper,.fixed .right-side{padding-top:100px;}}.fixed.layout-boxed .wrapper{max-width:100%;}body.hold-transition .content-wrapper,body.hold-transition .right-side,body.hold-transition .main-footer,body.hold-transition .main-sidebar,body.hold-transition .left-side,body.hold-transition .main-header .navbar,body.hold-transition .main-header .logo{-webkit-transition:none;-o-transition:none;transition:none;}.content{min-height:250px;padding:15px;margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px;}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:'Source Sans Pro',sans-serif;}a{color:#3c8dbc;}a:hover,a:active,a:focus{outline:none;text-decoration:none;color:#72afd2;}.page-header{margin:10px 0 20px 0;font-size:22px;}.page-header > small{color:#666;display:block;margin-top:5px;}.main-header{position:relative;max-height:100px;z-index:1030;}.main-header .navbar{-webkit-transition:margin-left 0.3s ease-in-out;-o-transition:margin-left 0.3s ease-in-out;transition:margin-left 0.3s ease-in-out;margin-bottom:0;margin-left:230px;border:none;min-height:50px;border-radius:0;}.layout-top-nav .main-header .navbar{margin-left:0;}.main-header #navbar-search-input.form-control{background:rgba(255,255,255,0.2);border-color:transparent;}.main-header #navbar-search-input.form-control:focus,.main-header #navbar-search-input.form-control:active{border-color:rgba(0,0,0,0.1);background:rgba(255,255,255,0.9);}.main-header #navbar-search-input.form-control::-moz-placeholder{color:#ccc;opacity:1;}.main-header #navbar-search-input.form-control:-ms-input-placeholder{color:#ccc;}.main-header #navbar-search-input.form-control::-webkit-input-placeholder{color:#ccc;}.main-header .navbar-custom-menu,.main-header .navbar-right{float:right;}@media (max-width:991px){.main-header .navbar-custom-menu a,.main-header .navbar-right a{color:inherit;background:transparent;}}@media (max-width:767px){.main-header .navbar-right{float:none;}.navbar-collapse .main-header .navbar-right{margin:7.5px -15px;}.main-header .navbar-right > li{color:inherit;border:0;}}.main-header .sidebar-toggle{float:left;background-color:transparent;background-image:none;padding:16.5px 15px;font-family:fontAwesome;}.main-header .sidebar-toggle:before{content:"\f0c9";}.main-header .sidebar-toggle:hover{color:#fff;}.main-header .sidebar-toggle:focus,.main-header .sidebar-toggle:active{background:transparent;}.main-header .sidebar-toggle .icon-bar{display:none;}.main-header .navbar .nav > li.user > a > .fa,.main-header .navbar .nav > li.user > a > .glyphicon,.main-header .navbar .nav > li.user > a > .ion{margin-right:5px;}.main-header .navbar .nav > li > a > .label{position:absolute;top:9px;right:7px;text-align:center;font-size:9px;padding:2px 3px;line-height:.9;}.main-header .logo{-webkit-transition:width 0.3s ease-in-out;-o-transition:width 0.3s ease-in-out;transition:width 0.3s ease-in-out;display:block;float:left;height:50px;font-size:20px;line-height:50px;text-align:center;width:230px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;padding:0 15px;font-weight:300;overflow:hidden;}.main-header .logo .logo-lg{display:block;}.main-header .logo .logo-mini{display:none;}.main-header .navbar-brand{color:#fff;}.content-header{position:relative;padding:15px 15px 0 15px;}.content-header > h1{margin:0;font-size:24px;}.content-header > h1 > small{font-size:15px;display:inline-block;padding-left:4px;font-weight:300;}.content-header > .breadcrumb{float:right;background:transparent;margin-top:0;margin-bottom:0;font-size:12px;padding:7px 5px;position:absolute;top:15px;right:10px;border-radius:2px;}.content-header > .breadcrumb > li > a{color:#444;text-decoration:none;display:inline-block;}.content-header > .breadcrumb > li > a > .fa,.content-header > .breadcrumb > li > a > .glyphicon,.content-header > .breadcrumb > li > a > .ion{margin-right:5px;}.content-header > .breadcrumb > li + li:before{content:'>\00a0';}@media (max-width:991px){.content-header > .breadcrumb{position:relative;margin-top:5px;top:0;right:0;float:none;background:#d2d6de;padding-left:10px;}.content-header > .breadcrumb li:before{color:#97a0b3;}}.navbar-toggle{color:#fff;border:0;margin:0;padding:16.5px 15px;}@media (max-width:991px){.navbar-custom-menu .navbar-nav > li{float:left;}.navbar-custom-menu .navbar-nav{margin:0;float:left;}.navbar-custom-menu .navbar-nav > li > a{padding-top:15px;padding-bottom:15px;line-height:20px;}}@media (max-width:767px){.main-header{position:relative;}.main-header .logo,.main-header .navbar{width:100%;float:none;}.main-header .navbar{margin:0;}.main-header .navbar-custom-menu{float:right;}}@media (max-width:991px){.navbar-collapse.pull-left{float:none !important;}.navbar-collapse.pull-left + .navbar-custom-menu{display:block;position:absolute;top:0;right:40px;}}.main-sidebar,.left-side{position:absolute;top:0;left:0;padding-top:50px;min-height:100%;width:230px;z-index:810;-webkit-transition:-webkit-transform 0.3s ease-in-out,width 0.3s ease-in-out;-moz-transition:-moz-transform 0.3s ease-in-out,width 0.3s ease-in-out;-o-transition:-o-transform 0.3s ease-in-out,width 0.3s ease-in-out;transition:transform 0.3s ease-in-out,width 0.3s ease-in-out;}@media (max-width:767px){.main-sidebar,.left-side{padding-top:100px;}}@media (max-width:767px){.main-sidebar,.left-side{-webkit-transform:translate(-230px,0);-ms-transform:translate(-230px,0);-o-transform:translate(-230px,0);transform:translate(-230px,0);}}@media (min-width:768px){.sidebar-collapse .main-sidebar,.sidebar-collapse .left-side{-webkit-transform:translate(-230px,0);-ms-transform:translate(-230px,0);-o-transform:translate(-230px,0);transform:translate(-230px,0);}}@media (max-width:767px){.sidebar-open .main-sidebar,.sidebar-open .left-side{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0);}}.sidebar{padding-bottom:10px;}.sidebar-form input:focus{border-color:transparent;}.user-panel{position:relative;width:100%;padding:10px;overflow:hidden;}.user-panel:before,.user-panel:after{content:" ";display:table;}.user-panel:after{clear:both;}.user-panel:before,.user-panel:after{content:" ";display:table;}.user-panel:after{clear:both;}.user-panel > .image > img{width:100%;max-width:45px;height:auto;}.user-panel > .info{padding:5px 5px 5px 15px;line-height:1;position:absolute;left:55px;}.user-panel > .info > p{font-weight:600;margin-bottom:9px;}.user-panel > .info > a{text-decoration:none;padding-right:5px;margin-top:3px;font-size:11px;}.user-panel > .info > a > .fa,.user-panel > .info > a > .ion,.user-panel > .info > a > .glyphicon{margin-right:3px;}.sidebar-menu{list-style:none;margin:0;padding:0;}.sidebar-menu > li{position:relative;margin:0;padding:0;}.sidebar-menu > li > a{padding:12px 5px 12px 15px;display:block;}.sidebar-menu > li > a > .fa,.sidebar-menu > li > a > .glyphicon,.sidebar-menu > li > a > .ion{width:20px;}.sidebar-menu > li .label,.sidebar-menu > li .badge{margin-right:5px;}.sidebar-menu > li .badge{margin-top:3px;}.sidebar-menu li.header{padding:10px 25px 10px 15px;font-size:12px;}.sidebar-menu li > a > .fa-angle-left,.sidebar-menu li > a > .pull-right-container > .fa-angle-left{width:auto;height:auto;padding:0;margin-right:10px;}.sidebar-menu li.active > a > .fa-angle-left,.sidebar-menu li.active > a > .pull-right-container > .fa-angle-left{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);transform:rotate(-90deg);}.sidebar-menu li.active > .treeview-menu{display:block;}.sidebar-menu .treeview-menu{display:none;list-style:none;padding:0;margin:0;padding-left:5px;}.sidebar-menu .treeview-menu .treeview-menu{padding-left:20px;}.sidebar-menu .treeview-menu > li{margin:0;}.sidebar-menu .treeview-menu > li > a{padding:12px 5px 12px 15px;display:block;font-size:12px;}.sidebar-menu .treeview-menu > li > a > .fa,.sidebar-menu .treeview-menu > li > a > .glyphicon,.sidebar-menu .treeview-menu > li > a > .ion{width:20px;}.sidebar-menu .treeview-menu > li > a > .pull-right-container > .fa-angle-left,.sidebar-menu .treeview-menu > li > a > .pull-right-container > .fa-angle-down,.sidebar-menu .treeview-menu > li > a > .fa-angle-left,.sidebar-menu .treeview-menu > li > a > .fa-angle-down{width:auto;}@media (min-width:768px){.sidebar-mini.sidebar-collapse .content-wrapper,.sidebar-mini.sidebar-collapse .right-side,.sidebar-mini.sidebar-collapse .main-footer{margin-left:50px !important;z-index:840;}.sidebar-mini.sidebar-collapse .main-sidebar{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0);width:50px !important;z-index:850;}.sidebar-mini.sidebar-collapse .sidebar-menu > li{position:relative;}.sidebar-mini.sidebar-collapse .sidebar-menu > li > a{margin-right:0;}.sidebar-mini.sidebar-collapse .sidebar-menu > li > a > span{border-top-right-radius:4px;}.sidebar-mini.sidebar-collapse .sidebar-menu > li:not(.treeview) > a > span{border-bottom-right-radius:4px;}.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu{padding-top:5px;padding-bottom:5px;border-bottom-right-radius:4px;}.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > a > span:not(.pull-right),.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > .treeview-menu{display:block !important;position:absolute;width:180px;left:50px;}.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > a > span{top:0;margin-left:-3px;padding:12px 5px 12px 20px;background-color:inherit;}.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > a > .pull-right-container{float:right;width:auto!important;left:200px!important;top:10px!important;}.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > a > .pull-right-container > .label:not(:first-of-type){display:none;}.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > .treeview-menu{top:44px;margin-left:0;}.sidebar-mini.sidebar-collapse .main-sidebar .user-panel > .info,.sidebar-mini.sidebar-collapse .sidebar-form,.sidebar-mini.sidebar-collapse .sidebar-menu > li > a > span,.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu,.sidebar-mini.sidebar-collapse .sidebar-menu > li > a > .pull-right,.sidebar-mini.sidebar-collapse .sidebar-menu li.header{display:none !important;-webkit-transform:translateZ(0);}.sidebar-mini.sidebar-collapse .main-header .logo{width:50px;}.sidebar-mini.sidebar-collapse .main-header .logo > .logo-mini{display:block;margin-left:-15px;margin-right:-15px;font-size:18px;}.sidebar-mini.sidebar-collapse .main-header .logo > .logo-lg{display:none;}.sidebar-mini.sidebar-collapse .main-header .navbar{margin-left:50px;}}.sidebar-menu,.main-sidebar .user-panel,.sidebar-menu > li.header{white-space:nowrap;overflow:hidden;}.sidebar-menu:hover{overflow:visible;}.sidebar-form,.sidebar-menu > li.header{overflow:hidden;text-overflow:clip;}.sidebar-menu li > a{position:relative;}.sidebar-menu li > a > .pull-right-container{position:absolute;right:10px;top:50%;margin-top:-7px;}.control-sidebar-bg{position:fixed;z-index:1000;bottom:0;}.control-sidebar-bg,.control-sidebar{top:0;right:-230px;width:230px;-webkit-transition:right 0.3s ease-in-out;-o-transition:right 0.3s ease-in-out;transition:right 0.3s ease-in-out;}.control-sidebar{position:absolute;padding-top:50px;z-index:1010;}@media (max-width:768px){.control-sidebar{padding-top:100px;}}.control-sidebar > .tab-content{padding:10px 15px;}.control-sidebar.control-sidebar-open,.control-sidebar.control-sidebar-open + .control-sidebar-bg{right:0;}.control-sidebar-open .control-sidebar-bg,.control-sidebar-open .control-sidebar{right:0;}@media (min-width:768px){.control-sidebar-open .content-wrapper,.control-sidebar-open .right-side,.control-sidebar-open .main-footer{margin-right:230px;}}.nav-tabs.control-sidebar-tabs > li:first-of-type > a,.nav-tabs.control-sidebar-tabs > li:first-of-type > a:hover,.nav-tabs.control-sidebar-tabs > li:first-of-type > a:focus{border-left-width:0;}.nav-tabs.control-sidebar-tabs > li > a{border-radius:0;}.nav-tabs.control-sidebar-tabs > li > a,.nav-tabs.control-sidebar-tabs > li > a:hover{border-top:none;border-right:none;border-left:1px solid transparent;border-bottom:1px solid transparent;}.nav-tabs.control-sidebar-tabs > li > a .icon{font-size:16px;}.nav-tabs.control-sidebar-tabs > li.active > a,.nav-tabs.control-sidebar-tabs > li.active > a:hover,.nav-tabs.control-sidebar-tabs > li.active > a:focus,.nav-tabs.control-sidebar-tabs > li.active > a:active{border-top:none;border-right:none;border-bottom:none;}@media (max-width:768px){.nav-tabs.control-sidebar-tabs{display:table;}.nav-tabs.control-sidebar-tabs > li{display:table-cell;}}.control-sidebar-heading{font-weight:400;font-size:16px;padding:10px 0;margin-bottom:10px;}.control-sidebar-subheading{display:block;font-weight:400;font-size:14px;}.control-sidebar-menu{list-style:none;padding:0;margin:0 -15px;}.control-sidebar-menu > li > a{display:block;padding:10px 15px;}.control-sidebar-menu > li > a:before,.control-sidebar-menu > li > a:after{content:" ";display:table;}.control-sidebar-menu > li > a:after{clear:both;}.control-sidebar-menu > li > a:before,.control-sidebar-menu > li > a:after{content:" ";display:table;}.control-sidebar-menu > li > a:after{clear:both;}.control-sidebar-menu > li > a > .control-sidebar-subheading{margin-top:0;}.control-sidebar-menu .menu-icon{float:left;width:35px;height:35px;border-radius:50%;text-align:center;line-height:35px;}.control-sidebar-menu .menu-info{margin-left:45px;margin-top:3px;}.control-sidebar-menu .menu-info > .control-sidebar-subheading{margin:0;}.control-sidebar-menu .menu-info > p{margin:0;font-size:11px;}.control-sidebar-menu .progress{margin:0;}.control-sidebar-dark{color:#b8c7ce;}.control-sidebar-dark,.control-sidebar-dark + .control-sidebar-bg{background:#222d32;}.control-sidebar-dark .nav-tabs.control-sidebar-tabs{border-bottom:#1c2529;}.control-sidebar-dark .nav-tabs.control-sidebar-tabs > li > a{background:#181f23;color:#b8c7ce;}.control-sidebar-dark .nav-tabs.control-sidebar-tabs > li > a,.control-sidebar-dark .nav-tabs.control-sidebar-tabs > li > a:hover,.control-sidebar-dark .nav-tabs.control-sidebar-tabs > li > a:focus{border-left-color:#141a1d;border-bottom-color:#141a1d;}.control-sidebar-dark .nav-tabs.control-sidebar-tabs > li > a:hover,.control-sidebar-dark .nav-tabs.control-sidebar-tabs > li > a:focus,.control-sidebar-dark .nav-tabs.control-sidebar-tabs > li > a:active{background:#1c2529;}.control-sidebar-dark .nav-tabs.control-sidebar-tabs > li > a:hover{color:#fff;}.control-sidebar-dark .nav-tabs.control-sidebar-tabs > li.active > a,.control-sidebar-dark .nav-tabs.control-sidebar-tabs > li.active > a:hover,.control-sidebar-dark .nav-tabs.control-sidebar-tabs > li.active > a:focus,.control-sidebar-dark .nav-tabs.control-sidebar-tabs > li.active > a:active{background:#222d32;color:#fff;}.control-sidebar-dark .control-sidebar-heading,.control-sidebar-dark .control-sidebar-subheading{color:#fff;}.control-sidebar-dark .control-sidebar-menu > li > a:hover{background:#1e282c;}.control-sidebar-dark .control-sidebar-menu > li > a .menu-info > p{color:#b8c7ce;}.control-sidebar-light{color:#5e5e5e;}.control-sidebar-light,.control-sidebar-light + .control-sidebar-bg{background:#f9fafc;border-left:1px solid #d2d6de;}.control-sidebar-light .nav-tabs.control-sidebar-tabs{border-bottom:#d2d6de;}.control-sidebar-light .nav-tabs.control-sidebar-tabs > li > a{background:#e8ecf4;color:#444;}.control-sidebar-light .nav-tabs.control-sidebar-tabs > li > a,.control-sidebar-light .nav-tabs.control-sidebar-tabs > li > a:hover,.control-sidebar-light .nav-tabs.control-sidebar-tabs > li > a:focus{border-left-color:#d2d6de;border-bottom-color:#d2d6de;}.control-sidebar-light .nav-tabs.control-sidebar-tabs > li > a:hover,.control-sidebar-light .nav-tabs.control-sidebar-tabs > li > a:focus,.control-sidebar-light .nav-tabs.control-sidebar-tabs > li > a:active{background:#eff1f7;}.control-sidebar-light .nav-tabs.control-sidebar-tabs > li.active > a,.control-sidebar-light .nav-tabs.control-sidebar-tabs > li.active > a:hover,.control-sidebar-light .nav-tabs.control-sidebar-tabs > li.active > a:focus,.control-sidebar-light .nav-tabs.control-sidebar-tabs > li.active > a:active{background:#f9fafc;color:#111;}.control-sidebar-light .control-sidebar-heading,.control-sidebar-light .control-sidebar-subheading{color:#111;}.control-sidebar-light .control-sidebar-menu{margin-left:-14px;}.control-sidebar-light .control-sidebar-menu > li > a:hover{background:#f4f4f5;}.control-sidebar-light .control-sidebar-menu > li > a .menu-info > p{color:#5e5e5e;}.dropdown-menu{box-shadow:none;border-color:#eee;}.dropdown-menu > li > a{}.dropdown-menu > li > a > .glyphicon,.dropdown-menu > li > a > .fa,.dropdown-menu > li > a > .ion{margin-right:10px;}.dropdown-menu > li > a:hover{background-color:#e1e3e9;color:#333;}.dropdown-menu > .divider{background-color:#eee;}.navbar-nav > .notifications-menu > .dropdown-menu,.navbar-nav > .messages-menu > .dropdown-menu,.navbar-nav > .tasks-menu > .dropdown-menu{width:280px;padding:0 0 0 0;margin:0;top:100%;}.navbar-nav > .notifications-menu > .dropdown-menu > li,.navbar-nav > .messages-menu > .dropdown-menu > li,.navbar-nav > .tasks-menu > .dropdown-menu > li{position:relative;}.navbar-nav > .notifications-menu > .dropdown-menu > li.header,.navbar-nav > .messages-menu > .dropdown-menu > li.header,.navbar-nav > .tasks-menu > .dropdown-menu > li.header{border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0;background-color:#ffffff;padding:7px 10px;border-bottom:1px solid #f4f4f4;color:#444444;font-size:14px;}.navbar-nav > .notifications-menu > .dropdown-menu > li.footer > a,.navbar-nav > .messages-menu > .dropdown-menu > li.footer > a,.navbar-nav > .tasks-menu > .dropdown-menu > li.footer > a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px;font-size:12px;background-color:#fff;padding:7px 10px;border-bottom:1px solid #eeeeee;color:#444 !important;text-align:center;}@media (max-width:991px){.navbar-nav > .notifications-menu > .dropdown-menu > li.footer > a,.navbar-nav > .messages-menu > .dropdown-menu > li.footer > a,.navbar-nav > .tasks-menu > .dropdown-menu > li.footer > a{background:#fff !important;color:#444 !important;}}.navbar-nav > .notifications-menu > .dropdown-menu > li.footer > a:hover,.navbar-nav > .messages-menu > .dropdown-menu > li.footer > a:hover,.navbar-nav > .tasks-menu > .dropdown-menu > li.footer > a:hover{text-decoration:none;font-weight:normal;}.navbar-nav > .notifications-menu > .dropdown-menu > li .menu,.navbar-nav > .messages-menu > .dropdown-menu > li .menu,.navbar-nav > .tasks-menu > .dropdown-menu > li .menu{max-height:200px;margin:0;padding:0;list-style:none;overflow-x:hidden;}.navbar-nav > .notifications-menu > .dropdown-menu > li .menu > li > a,.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a,.navbar-nav > .tasks-menu > .dropdown-menu > li .menu > li > a{display:block;white-space:nowrap;border-bottom:1px solid #f4f4f4;}.navbar-nav > .notifications-menu > .dropdown-menu > li .menu > li > a:hover,.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a:hover,.navbar-nav > .tasks-menu > .dropdown-menu > li .menu > li > a:hover{background:#f4f4f4;text-decoration:none;}.navbar-nav > .notifications-menu > .dropdown-menu > li .menu > li > a{color:#444444;overflow:hidden;text-overflow:ellipsis;padding:10px;}.navbar-nav > .notifications-menu > .dropdown-menu > li .menu > li > a > .glyphicon,.navbar-nav > .notifications-menu > .dropdown-menu > li .menu > li > a > .fa,.navbar-nav > .notifications-menu > .dropdown-menu > li .menu > li > a > .ion{width:20px;}.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a{margin:0;padding:10px 10px;}.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a > div > img{margin:auto 10px auto auto;width:40px;height:40px;}.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a > h4{padding:0;margin:0 0 0 45px;color:#444444;font-size:15px;position:relative;}.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a > h4 > small{color:#999999;font-size:10px;position:absolute;top:0;right:0;}.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a > p{margin:0 0 0 45px;font-size:12px;color:#888888;}.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a:before,.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a:after{content:" ";display:table;}.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a:after{clear:both;}.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a:before,.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a:after{content:" ";display:table;}.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a:after{clear:both;}.navbar-nav > .tasks-menu > .dropdown-menu > li .menu > li > a{padding:10px;}.navbar-nav > .tasks-menu > .dropdown-menu > li .menu > li > a > h3{font-size:14px;padding:0;margin:0 0 10px 0;color:#666666;}.navbar-nav > .tasks-menu > .dropdown-menu > li .menu > li > a > .progress{padding:0;margin:0;}.navbar-nav > .user-menu > .dropdown-menu{border-top-right-radius:0;border-top-left-radius:0;padding:1px 0 0 0;border-top-width:0;width:280px;}.navbar-nav > .user-menu > .dropdown-menu,.navbar-nav > .user-menu > .dropdown-menu > .user-body{border-bottom-right-radius:4px;border-bottom-left-radius:4px;}.navbar-nav > .user-menu > .dropdown-menu > li.user-header{height:175px;padding:10px;text-align:center;}.navbar-nav > .user-menu > .dropdown-menu > li.user-header > img{z-index:5;height:90px;width:90px;border:3px solid;border-color:transparent;border-color:rgba(255,255,255,0.2);}.navbar-nav > .user-menu > .dropdown-menu > li.user-header > p{z-index:5;color:#fff;color:rgba(255,255,255,0.8);font-size:17px;margin-top:10px;}.navbar-nav > .user-menu > .dropdown-menu > li.user-header > p > small{display:block;font-size:12px;}.navbar-nav > .user-menu > .dropdown-menu > .user-body{padding:15px;border-bottom:1px solid #f4f4f4;border-top:1px solid #dddddd;}.navbar-nav > .user-menu > .dropdown-menu > .user-body:before,.navbar-nav > .user-menu > .dropdown-menu > .user-body:after{content:" ";display:table;}.navbar-nav > .user-menu > .dropdown-menu > .user-body:after{clear:both;}.navbar-nav > .user-menu > .dropdown-menu > .user-body:before,.navbar-nav > .user-menu > .dropdown-menu > .user-body:after{content:" ";display:table;}.navbar-nav > .user-menu > .dropdown-menu > .user-body:after{clear:both;}.navbar-nav > .user-menu > .dropdown-menu > .user-body a{color:#444 !important;}@media (max-width:991px){.navbar-nav > .user-menu > .dropdown-menu > .user-body a{background:#fff !important;color:#444 !important;}}.navbar-nav > .user-menu > .dropdown-menu > .user-footer{background-color:#f9f9f9;padding:10px;}.navbar-nav > .user-menu > .dropdown-menu > .user-footer:before,.navbar-nav > .user-menu > .dropdown-menu > .user-footer:after{content:" ";display:table;}.navbar-nav > .user-menu > .dropdown-menu > .user-footer:after{clear:both;}.navbar-nav > .user-menu > .dropdown-menu > .user-footer:before,.navbar-nav > .user-menu > .dropdown-menu > .user-footer:after{content:" ";display:table;}.navbar-nav > .user-menu > .dropdown-menu > .user-footer:after{clear:both;}.navbar-nav > .user-menu > .dropdown-menu > .user-footer .btn-default{color:#666666;}@media (max-width:991px){.navbar-nav > .user-menu > .dropdown-menu > .user-footer .btn-default:hover{background-color:#f9f9f9;}}.navbar-nav > .user-menu .user-image{float:left;width:25px;height:25px;border-radius:50%;margin-right:10px;margin-top:-2px;}@media (max-width:767px){.navbar-nav > .user-menu .user-image{float:none;margin-right:0;margin-top:-8px;line-height:10px;}}.open:not(.dropup) > .animated-dropdown-menu{backface-visibility:visible !important;-webkit-animation:flipInX 0.7s both;-o-animation:flipInX 0.7s both;animation:flipInX 0.7s both;}@keyframes flipInX{0%{transform:perspective(400px) rotate3d(1,0,0,90deg);transition-timing-function:ease-in;opacity:0;}40%{transform:perspective(400px) rotate3d(1,0,0,-20deg);transition-timing-function:ease-in;}60%{transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1;}80%{transform:perspective(400px) rotate3d(1,0,0,-5deg);}100%{transform:perspective(400px);}}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-transition-timing-function:ease-in;opacity:0;}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-transition-timing-function:ease-in;}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1;}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);}100%{-webkit-transform:perspective(400px);}}.navbar-custom-menu > .navbar-nav > li{position:relative;}.navbar-custom-menu > .navbar-nav > li > .dropdown-menu{position:absolute;right:0;left:auto;}@media (max-width:991px){.navbar-custom-menu > .navbar-nav{float:right;}.navbar-custom-menu > .navbar-nav > li{position:static;}.navbar-custom-menu > .navbar-nav > li > .dropdown-menu{position:absolute;right:5%;left:auto;border:1px solid #ddd;background:#fff;}}.dropdown-submenu{position:relative;}.dropdown-submenu > .dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;border-radius:3px 0 3px 3px;}.dropdown-submenu:hover > .dropdown-menu{display:block;}.dropdown-submenu:hover > a:after{border-left-color:#fff;}.dropdown-submenu > a:after{display:block;content:" ";float:right;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#ccc;margin-top:5px;margin-right:-10px;}.dropdown-submenu.pull-left{float:none;}.dropdown-submenu.pull-left > .dropdown-menu{left:-100%;margin-left:10px;border-radius:3px 0 3px 3px;}.form-control{border-radius:0;box-shadow:none;border-color:#d2d6de;-webkit-appearance:none;-moz-appearance:none;appearance:none;}.form-control:focus{border-color:#3c8dbc;box-shadow:none;}.form-control::-moz-placeholder,.form-control:-ms-input-placeholder,.form-control::-webkit-input-placeholder{color:#bbb;opacity:1;}.form-control .btn{border-radius:0;}select.form-control{-webkit-appearance:none;-webkit-border-radius:0px;background-position:right 50%;background-repeat:no-repeat;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAMCAYAAABSgIzaAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDZFNDEwNjlGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDZFNDEwNkFGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0NkU0MTA2N0Y3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0NkU0MTA2OEY3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuGsgwQAAAA5SURBVHjaYvz//z8DOYCJgUxAf42MQIzTk0D/M+KzkRGPoQSdykiKJrBGpOhgJFYTWNEIiEeAAAMAzNENEOH+do8AAAAASUVORK5CYII=);}.form-group.has-success label{color:#18bc9c;}.form-group.has-success .form-control,.form-group.has-success .input-group-addon{border-color:#18bc9c;box-shadow:none;}.form-group.has-success .help-block{color:#18bc9c;}.form-group.has-warning label{color:#f39c12;}.form-group.has-warning .form-control,.form-group.has-warning .input-group-addon{border-color:#f39c12;box-shadow:none;}.form-group.has-warning .help-block{color:#f39c12;}.form-group.has-error label{color:#e74c3c;}.form-group.has-error .form-control,.form-group.has-error .input-group-addon{border-color:#e74c3c;box-shadow:none;}.form-group.has-error .help-block{color:#e74c3c;}.input-group .input-group-addon{border-radius:0;border-color:#d2d6de;background-color:#fff;}.btn-group-vertical .btn.btn-flat:first-of-type,.btn-group-vertical .btn.btn-flat:last-of-type{border-radius:0;}.icheck > label{padding-left:0;}.form-control-feedback.fa{line-height:31px;}.input-lg + .form-control-feedback.fa,.input-group-lg + .form-control-feedback.fa,.form-group-lg .form-control + .form-control-feedback.fa{line-height:42px;}.input-sm + .form-control-feedback.fa,.input-group-sm + .form-control-feedback.fa,.form-group-sm .form-control + .form-control-feedback.fa{line-height:28px;}.progress,.progress > .progress-bar{-webkit-box-shadow:none;box-shadow:none;}.progress,.progress > .progress-bar,.progress .progress-bar,.progress > .progress-bar .progress-bar{border-radius:1px;}.progress.sm,.progress-sm{height:10px;}.progress.sm,.progress-sm,.progress.sm .progress-bar,.progress-sm .progress-bar{border-radius:1px;}.progress.xs,.progress-xs{height:7px;}.progress.xs,.progress-xs,.progress.xs .progress-bar,.progress-xs .progress-bar{border-radius:1px;}.progress.xxs,.progress-xxs{height:3px;}.progress.xxs,.progress-xxs,.progress.xxs .progress-bar,.progress-xxs .progress-bar{border-radius:1px;}.progress.vertical{position:relative;width:30px;height:200px;display:inline-block;margin-right:10px;}.progress.vertical > .progress-bar{width:100%;position:absolute;bottom:0;}.progress.vertical.sm,.progress.vertical.progress-sm{width:20px;}.progress.vertical.xs,.progress.vertical.progress-xs{width:10px;}.progress.vertical.xxs,.progress.vertical.progress-xxs{width:3px;}.progress-group .progress-text{font-weight:600;}.progress-group .progress-number{float:right;}.table tr > td .progress{margin:0;}.progress-bar-light-blue,.progress-bar-primary{background-color:#3c8dbc;}.progress-striped .progress-bar-light-blue,.progress-striped .progress-bar-primary{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);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);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);}.progress-bar-green,.progress-bar-success{background-color:#18bc9c;}.progress-striped .progress-bar-green,.progress-striped .progress-bar-success{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);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);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);}.progress-bar-aqua,.progress-bar-info{background-color:#3498db;}.progress-striped .progress-bar-aqua,.progress-striped .progress-bar-info{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);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);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);}.progress-bar-yellow,.progress-bar-warning{background-color:#f39c12;}.progress-striped .progress-bar-yellow,.progress-striped .progress-bar-warning{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);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);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);}.progress-bar-red,.progress-bar-danger{background-color:#e74c3c;}.progress-striped .progress-bar-red,.progress-striped .progress-bar-danger{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);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);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);}.small-box{border-radius:2px;position:relative;display:block;margin-bottom:20px;box-shadow:0 1px 1px rgba(0,0,0,0.1);}.small-box > .inner{padding:10px;}.small-box > .small-box-footer{position:relative;text-align:center;padding:3px 0;color:#fff;color:rgba(255,255,255,0.8);display:block;z-index:10;background:rgba(0,0,0,0.1);text-decoration:none;}.small-box > .small-box-footer:hover{color:#fff;background:rgba(0,0,0,0.15);}.small-box h3{font-size:38px;font-weight:bold;margin:0 0 10px 0;white-space:nowrap;padding:0;}.small-box p{font-size:15px;}.small-box p > small{display:block;color:#f9f9f9;font-size:13px;margin-top:5px;}.small-box h3,.small-box p{z-index:5;}.small-box .icon{-webkit-transition:all 0.3s linear;-o-transition:all 0.3s linear;transition:all 0.3s linear;position:absolute;top:-10px;right:10px;z-index:0;font-size:90px;color:rgba(0,0,0,0.15);}.small-box:hover{text-decoration:none;color:#f9f9f9;}.small-box:hover .icon{font-size:95px;}@media (max-width:767px){.small-box{text-align:center;}.small-box .icon{display:none;}.small-box p{font-size:12px;}}.box{position:relative;border-radius:3px;background:#ffffff;border-top:3px solid #d2d6de;margin-bottom:20px;width:100%;box-shadow:0 1px 1px rgba(0,0,0,0.1);}.box.box-primary{border-top-color:#3c8dbc;}.box.box-info{border-top-color:#3498db;}.box.box-danger{border-top-color:#e74c3c;}.box.box-warning{border-top-color:#f39c12;}.box.box-success{border-top-color:#18bc9c;}.box.box-default{border-top-color:#d2d6de;}.box.collapsed-box .box-body,.box.collapsed-box .box-footer{display:none;}.box .nav-stacked > li{border-bottom:1px solid #f4f4f4;margin:0;}.box .nav-stacked > li:last-of-type{border-bottom:none;}.box.height-control .box-body{max-height:300px;overflow:auto;}.box .border-right{border-right:1px solid #f4f4f4;}.box .border-left{border-left:1px solid #f4f4f4;}.box.box-solid{border-top:0;}.box.box-solid > .box-header .btn.btn-default{background:transparent;}.box.box-solid > .box-header .btn:hover,.box.box-solid > .box-header a:hover{background:rgba(0,0,0,0.1);}.box.box-solid.box-default{border:1px solid #d2d6de;}.box.box-solid.box-default > .box-header{color:#444;background:#d2d6de;background-color:#d2d6de;}.box.box-solid.box-default > .box-header a,.box.box-solid.box-default > .box-header .btn{color:#444;}.box.box-solid.box-primary{border:1px solid #3c8dbc;}.box.box-solid.box-primary > .box-header{color:#fff;background:#3c8dbc;background-color:#3c8dbc;}.box.box-solid.box-primary > .box-header a,.box.box-solid.box-primary > .box-header .btn{color:#fff;}.box.box-solid.box-info{border:1px solid #3498db;}.box.box-solid.box-info > .box-header{color:#fff;background:#3498db;background-color:#3498db;}.box.box-solid.box-info > .box-header a,.box.box-solid.box-info > .box-header .btn{color:#fff;}.box.box-solid.box-danger{border:1px solid #e74c3c;}.box.box-solid.box-danger > .box-header{color:#fff;background:#e74c3c;background-color:#e74c3c;}.box.box-solid.box-danger > .box-header a,.box.box-solid.box-danger > .box-header .btn{color:#fff;}.box.box-solid.box-warning{border:1px solid #f39c12;}.box.box-solid.box-warning > .box-header{color:#fff;background:#f39c12;background-color:#f39c12;}.box.box-solid.box-warning > .box-header a,.box.box-solid.box-warning > .box-header .btn{color:#fff;}.box.box-solid.box-success{border:1px solid #18bc9c;}.box.box-solid.box-success > .box-header{color:#fff;background:#18bc9c;background-color:#18bc9c;}.box.box-solid.box-success > .box-header a,.box.box-solid.box-success > .box-header .btn{color:#fff;}.box.box-solid > .box-header > .box-tools .btn{border:0;box-shadow:none;}.box.box-solid[class*='bg'] > .box-header{color:#fff;}.box .box-group > .box{margin-bottom:5px;}.box .knob-label{text-align:center;color:#333;font-weight:100;font-size:12px;margin-bottom:0.3em;}.box > .overlay,.overlay-wrapper > .overlay,.box > .loading-img,.overlay-wrapper > .loading-img{position:absolute;top:0;left:0;width:100%;height:100%;}.box .overlay,.overlay-wrapper .overlay{z-index:50;background:rgba(255,255,255,0.7);border-radius:3px;}.box .overlay > .fa,.overlay-wrapper .overlay > .fa{position:absolute;top:50%;left:50%;margin-left:-15px;margin-top:-15px;color:#000;font-size:30px;}.box .overlay.dark,.overlay-wrapper .overlay.dark{background:rgba(0,0,0,0.5);}.box-header:before,.box-body:before,.box-footer:before,.box-header:after,.box-body:after,.box-footer:after{content:" ";display:table;}.box-header:after,.box-body:after,.box-footer:after{clear:both;}.box-header:before,.box-body:before,.box-footer:before,.box-header:after,.box-body:after,.box-footer:after{content:" ";display:table;}.box-header:after,.box-body:after,.box-footer:after{clear:both;}.box-header{color:#444;display:block;padding:10px;position:relative;}.box-header.with-border{border-bottom:1px solid #f4f4f4;}.collapsed-box .box-header.with-border{border-bottom:none;}.box-header > .fa,.box-header > .glyphicon,.box-header > .ion,.box-header .box-title{display:inline-block;font-size:18px;margin:0;line-height:1;}.box-header > .fa,.box-header > .glyphicon,.box-header > .ion{margin-right:5px;}.box-header > .box-tools{position:absolute;right:10px;top:5px;}.box-header > .box-tools [data-toggle="tooltip"]{position:relative;}.box-header > .box-tools.pull-right .dropdown-menu{right:0;left:auto;}.btn-box-tool{padding:5px;font-size:12px;background:transparent;color:#97a0b3;}.open .btn-box-tool,.btn-box-tool:hover{color:#606c84;}.btn-box-tool.btn:active{box-shadow:none;}.box-body{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;padding:10px;}.no-header .box-body{border-top-right-radius:3px;border-top-left-radius:3px;}.box-body > .table{margin-bottom:0;}.box-body .fc{margin-top:5px;}.box-body .full-width-chart{margin:-19px;}.box-body.no-padding .full-width-chart{margin:-9px;}.box-body .box-pane{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:3px;}.box-body .box-pane-right{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:0;}.box-footer{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;border-top:1px solid #f4f4f4;padding:10px;background-color:#fff;}.chart-legend{margin:10px 0;}@media (max-width:991px){.chart-legend > li{float:left;margin-right:10px;}}.box-comments{background:#f7f7f7;}.box-comments .box-comment{padding:8px 0;border-bottom:1px solid #eee;}.box-comments .box-comment:before,.box-comments .box-comment:after{content:" ";display:table;}.box-comments .box-comment:after{clear:both;}.box-comments .box-comment:before,.box-comments .box-comment:after{content:" ";display:table;}.box-comments .box-comment:after{clear:both;}.box-comments .box-comment:last-of-type{border-bottom:0;}.box-comments .box-comment:first-of-type{padding-top:0;}.box-comments .box-comment img{float:left;}.box-comments .comment-text{margin-left:40px;color:#555;}.box-comments .username{color:#444;display:block;font-weight:600;}.box-comments .text-muted{font-weight:400;font-size:12px;}.todo-list{margin:0;padding:0;list-style:none;overflow:auto;}.todo-list > li{border-radius:2px;padding:10px;background:#f4f4f4;margin-bottom:2px;border-left:2px solid #e6e7e8;color:#444;}.todo-list > li:last-of-type{margin-bottom:0;}.todo-list > li > input[type='checkbox']{margin:0 10px 0 5px;}.todo-list > li .text{display:inline-block;margin-left:5px;font-weight:600;}.todo-list > li .label{margin-left:10px;font-size:9px;}.todo-list > li .tools{display:none;float:right;color:#e74c3c;}.todo-list > li .tools > .fa,.todo-list > li .tools > .glyphicon,.todo-list > li .tools > .ion{margin-right:5px;cursor:pointer;}.todo-list > li:hover .tools{display:inline-block;}.todo-list > li.done{color:#999;}.todo-list > li.done .text{text-decoration:line-through;font-weight:500;}.todo-list > li.done .label{background:#d2d6de !important;}.todo-list .danger{border-left-color:#e74c3c;}.todo-list .warning{border-left-color:#f39c12;}.todo-list .info{border-left-color:#3498db;}.todo-list .success{border-left-color:#18bc9c;}.todo-list .primary{border-left-color:#3c8dbc;}.todo-list .handle{display:inline-block;cursor:move;margin:0 5px;}.chat{padding:5px 20px 5px 10px;}.chat .item{margin-bottom:10px;}.chat .item:before,.chat .item:after{content:" ";display:table;}.chat .item:after{clear:both;}.chat .item:before,.chat .item:after{content:" ";display:table;}.chat .item:after{clear:both;}.chat .item > img{width:40px;height:40px;border:2px solid transparent;border-radius:50%;}.chat .item > .online{border:2px solid #18bc9c;}.chat .item > .offline{border:2px solid #e74c3c;}.chat .item > .message{margin-left:55px;margin-top:-40px;}.chat .item > .message > .name{display:block;font-weight:600;}.chat .item > .attachment{border-radius:3px;background:#f4f4f4;margin-left:65px;margin-right:15px;padding:10px;}.chat .item > .attachment > h4{margin:0 0 5px 0;font-weight:600;font-size:14px;}.chat .item > .attachment > p,.chat .item > .attachment > .filename{font-weight:600;font-size:13px;font-style:italic;margin:0;}.chat .item > .attachment:before,.chat .item > .attachment:after{content:" ";display:table;}.chat .item > .attachment:after{clear:both;}.chat .item > .attachment:before,.chat .item > .attachment:after{content:" ";display:table;}.chat .item > .attachment:after{clear:both;}.box-input{max-width:200px;}.modal .panel-body{color:#444;}.info-box{display:block;min-height:90px;background:#fff;width:100%;box-shadow:0 1px 1px rgba(0,0,0,0.1);border-radius:2px;margin-bottom:15px;}.info-box small{font-size:14px;}.info-box .progress{background:rgba(0,0,0,0.2);margin:5px -10px 5px -10px;height:2px;}.info-box .progress,.info-box .progress .progress-bar{border-radius:0;}.info-box .progress .progress-bar{background:#fff;}.info-box-icon{border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px;display:block;float:left;height:90px;width:90px;text-align:center;font-size:45px;line-height:90px;background:rgba(0,0,0,0.2);}.info-box-icon > img{max-width:100%;}.info-box-content{padding:5px 10px;margin-left:90px;}.info-box-number{display:block;font-weight:bold;font-size:18px;}.progress-description,.info-box-text{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.info-box-text{text-transform:uppercase;}.info-box-more{display:block;}.progress-description{margin:0;}.timeline{position:relative;margin:0 0 30px 0;padding:0;list-style:none;}.timeline:before{content:'';position:absolute;top:0;bottom:0;width:4px;background:#ddd;left:31px;margin:0;border-radius:2px;}.timeline > li{position:relative;margin-right:10px;margin-bottom:15px;}.timeline > li:before,.timeline > li:after{content:" ";display:table;}.timeline > li:after{clear:both;}.timeline > li:before,.timeline > li:after{content:" ";display:table;}.timeline > li:after{clear:both;}.timeline > li > .timeline-item{-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.1);box-shadow:0 1px 1px rgba(0,0,0,0.1);border-radius:3px;margin-top:0;background:#fff;color:#444;margin-left:60px;margin-right:15px;padding:0;position:relative;}.timeline > li > .timeline-item > .time{color:#999;float:right;padding:10px;font-size:12px;}.timeline > li > .timeline-item > .timeline-header{margin:0;color:#555;border-bottom:1px solid #f4f4f4;padding:10px;font-size:16px;line-height:1.1;}.timeline > li > .timeline-item > .timeline-header > a{font-weight:600;}.timeline > li > .timeline-item > .timeline-body,.timeline > li > .timeline-item > .timeline-footer{padding:10px;}.timeline > li > .fa,.timeline > li > .glyphicon,.timeline > li > .ion{width:30px;height:30px;font-size:15px;line-height:30px;position:absolute;color:#666;background:#d2d6de;border-radius:50%;text-align:center;left:18px;top:0;}.timeline > .time-label > span{font-weight:600;padding:5px;display:inline-block;background-color:#fff;border-radius:4px;}.timeline-inverse > li > .timeline-item{background:#f0f0f0;border:1px solid #ddd;-webkit-box-shadow:none;box-shadow:none;}.timeline-inverse > li > .timeline-item > .timeline-header{border-bottom-color:#ddd;}.btn{-webkit-box-shadow:none;box-shadow:none;border:1px solid transparent;}.btn.uppercase{text-transform:uppercase;}.btn.btn-flat{border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;border-width:1px;}.btn:active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);-moz-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);}.btn:focus{outline:none;}.btn.btn-file{position:relative;overflow:hidden;}.btn.btn-file > input[type='file']{position:absolute;top:0;right:0;min-width:100%;min-height:100%;font-size:100px;text-align:right;opacity:0;filter:alpha(opacity=0);outline:none;background:white;cursor:inherit;display:block;}.btn-default{background-color:#f4f4f4;color:#444;border-color:#ddd;}.btn-default:hover,.btn-default:active,.btn-default.hover{background-color:#e7e7e7;}.btn-outline{border:1px solid #fff;background:transparent;color:#fff;}.btn-outline:hover,.btn-outline:focus,.btn-outline:active{color:rgba(255,255,255,0.7);border-color:rgba(255,255,255,0.7);}.btn-link{-webkit-box-shadow:none;box-shadow:none;}.btn[class*='bg-']:hover{-webkit-box-shadow:inset 0 0 100px rgba(0,0,0,0.2);box-shadow:inset 0 0 100px rgba(0,0,0,0.2);}.btn-app{border-radius:3px;position:relative;padding:15px 5px;margin:0 0 10px 10px;min-width:80px;height:60px;text-align:center;color:#666;border:1px solid #ddd;background-color:#f4f4f4;font-size:12px;}.btn-app > .fa,.btn-app > .glyphicon,.btn-app > .ion{font-size:20px;display:block;}.btn-app:hover{background:#f4f4f4;color:#444;border-color:#aaa;}.btn-app:active,.btn-app:focus{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);-moz-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);}.btn-app > .badge{position:absolute;top:-3px;right:-10px;font-size:10px;font-weight:400;}.callout{border-radius:3px;margin:0 0 20px 0;padding:15px 30px 15px 15px;border-left:5px solid #eee;}.callout a{color:#fff;text-decoration:underline;}.callout a:hover{color:#eee;}.callout h4{margin-top:0;font-weight:600;}.callout p:last-child{margin-bottom:0;}.callout code,.callout .highlight{background-color:#fff;}.callout.callout-danger{border-color:#d62c1a;}.callout.callout-warning{border-color:#c87f0a;}.callout.callout-info{border-color:#217dbb;}.callout.callout-success{border-color:#128f76;}.alert{border-radius:3px;}.alert h4{font-weight:600;}.alert .icon{margin-right:10px;}.alert .close{color:#000;opacity:0.2;filter:alpha(opacity=20);}.alert .close:hover{opacity:0.5;filter:alpha(opacity=50);}.alert a{color:#fff;text-decoration:underline;}.alert-success{border-color:#15a589;}.alert-danger,.alert-error{border-color:#e43725;}.alert-warning{border-color:#e08e0b;}.alert-info{border-color:#258cd1;}.alert-primary-light{background-color:#E2E5E8;border-color:#D0D4D8;color:#85878A;}.alert-primary-light a{color:#787a7d;}.alert-success-light{background-color:#dff0d8;border-color:#d1eac8;color:#468847;}.alert-success-light a{color:#3d773e;}.alert-danger-light,.alert-error-light{background-color:#f2dede;border-color:#ebcdcd;color:#b94a48;}.alert-danger-light a,.alert-error-light a{color:#a74240;}.alert-warning-light{background-color:#fcf8e3;border-color:#faf3cd;color:#c09853;}.alert-warning-light a{color:#b78c43;}.alert-info-light{background-color:#d9edf7;border-color:#c6e4f3;color:#3a87ad;}.alert-info-light a{color:#34789a;}.nav > li > a:hover,.nav > li > a:active,.nav > li > a:focus{color:#444;background:#f7f7f7;}.nav-pills > li > a{border-radius:0;border-top:3px solid transparent;color:#444;}.nav-pills > li > a > .fa,.nav-pills > li > a > .glyphicon,.nav-pills > li > a > .ion{margin-right:5px;}.nav-pills > li.active > a,.nav-pills > li.active > a:hover,.nav-pills > li.active > a:focus{border-top-color:#3c8dbc;}.nav-pills > li.active > a{font-weight:600;}.nav-stacked > li > a{border-radius:0;border-top:0;border-left:3px solid transparent;color:#444;}.nav-stacked > li.active > a,.nav-stacked > li.active > a:hover{background:transparent;color:#444;border-top:0;border-left-color:#3c8dbc;}.nav-stacked > li.header{border-bottom:1px solid #ddd;color:#777;margin-bottom:10px;padding:5px 10px;text-transform:uppercase;}.nav-tabs-custom{margin-bottom:20px;background:#fff;box-shadow:0 1px 1px rgba(0,0,0,0.1);border-radius:3px;}.nav-tabs-custom > .nav-tabs{margin:0;border-bottom-color:#f4f4f4;border-top-right-radius:3px;border-top-left-radius:3px;}.nav-tabs-custom > .nav-tabs > li{border-top:3px solid transparent;margin-bottom:-2px;margin-right:5px;}.nav-tabs-custom > .nav-tabs > li > a{color:#444;border-radius:0;}.nav-tabs-custom > .nav-tabs > li > a.text-muted{color:#999;}.nav-tabs-custom > .nav-tabs > li > a,.nav-tabs-custom > .nav-tabs > li > a:hover{background:transparent;margin:0;}.nav-tabs-custom > .nav-tabs > li > a:hover{color:#999;}.nav-tabs-custom > .nav-tabs > li:not(.active) > a:hover,.nav-tabs-custom > .nav-tabs > li:not(.active) > a:focus,.nav-tabs-custom > .nav-tabs > li:not(.active) > a:active{border-color:transparent;}.nav-tabs-custom > .nav-tabs > li.active{border-top-color:#3c8dbc;}.nav-tabs-custom > .nav-tabs > li.active > a,.nav-tabs-custom > .nav-tabs > li.active:hover > a{background-color:#fff;color:#444;}.nav-tabs-custom > .nav-tabs > li.active > a{border-top-color:transparent;border-left-color:#f4f4f4;border-right-color:#f4f4f4;}.nav-tabs-custom > .nav-tabs > li:first-of-type{margin-left:0;}.nav-tabs-custom > .nav-tabs > li:first-of-type.active > a{border-left-color:transparent;}.nav-tabs-custom > .nav-tabs.pull-right{float:none !important;}.nav-tabs-custom > .nav-tabs.pull-right > li{float:right;}.nav-tabs-custom > .nav-tabs.pull-right > li:first-of-type{margin-right:0;}.nav-tabs-custom > .nav-tabs.pull-right > li:first-of-type > a{border-left-width:1px;}.nav-tabs-custom > .nav-tabs.pull-right > li:first-of-type.active > a{border-left-color:#f4f4f4;border-right-color:transparent;}.nav-tabs-custom > .nav-tabs > li.header{line-height:35px;padding:0 10px;font-size:20px;color:#444;}.nav-tabs-custom > .nav-tabs > li.header > .fa,.nav-tabs-custom > .nav-tabs > li.header > .glyphicon,.nav-tabs-custom > .nav-tabs > li.header > .ion{margin-right:5px;}.nav-tabs-custom > .tab-content{background:#fff;padding:10px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;}.nav-tabs-custom .dropdown.open > a:active,.nav-tabs-custom .dropdown.open > a:focus{background:transparent;color:#999;}.nav-tabs-custom.tab-primary > .nav-tabs > li.active{border-top-color:#3c8dbc;}.nav-tabs-custom.tab-info > .nav-tabs > li.active{border-top-color:#3498db;}.nav-tabs-custom.tab-danger > .nav-tabs > li.active{border-top-color:#e74c3c;}.nav-tabs-custom.tab-warning > .nav-tabs > li.active{border-top-color:#f39c12;}.nav-tabs-custom.tab-success > .nav-tabs > li.active{border-top-color:#18bc9c;}.nav-tabs-custom.tab-default > .nav-tabs > li.active{border-top-color:#d2d6de;}.pagination > li > a{background:#fafafa;color:#666;}.pagination.pagination-flat > li > a{border-radius:0 !important;}.products-list{list-style:none;margin:0;padding:0;}.products-list > .item{border-radius:3px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.1);box-shadow:0 1px 1px rgba(0,0,0,0.1);padding:10px 0;background:#fff;}.products-list > .item:before,.products-list > .item:after{content:" ";display:table;}.products-list > .item:after{clear:both;}.products-list > .item:before,.products-list > .item:after{content:" ";display:table;}.products-list > .item:after{clear:both;}.products-list .product-img{float:left;}.products-list .product-img img{width:50px;height:50px;}.products-list .product-info{margin-left:60px;}.products-list .product-title{font-weight:600;}.products-list .product-description{display:block;color:#999;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}.product-list-in-box > .item{-webkit-box-shadow:none;box-shadow:none;border-radius:0;border-bottom:1px solid #f4f4f4;}.product-list-in-box > .item:last-of-type{border-bottom-width:0;}.table > thead > tr > th,.table > tbody > tr > th,.table > tfoot > tr > th,.table > thead > tr > td,.table > tbody > tr > td,.table > tfoot > tr > td{border-top:1px solid #f4f4f4;}.table > thead > tr > th{border-bottom:2px solid #f4f4f4;}.table tr td .progress{margin-top:5px;}.table-bordered{border:1px solid #f4f4f4;}.table-bordered > thead > tr > th,.table-bordered > tbody > tr > th,.table-bordered > tfoot > tr > th,.table-bordered > thead > tr > td,.table-bordered > tbody > tr > td,.table-bordered > tfoot > tr > td{border:1px solid #f4f4f4;}.table-bordered > thead > tr > th,.table-bordered > thead > tr > td{border-bottom-width:2px;}.table.no-border,.table.no-border td,.table.no-border th{border:0;}table.text-center,table.text-center td,table.text-center th{text-align:center;}.table.align th{text-align:left;}.table.align td{text-align:right;}.direct-chat .box-body{border-bottom-right-radius:0;border-bottom-left-radius:0;position:relative;overflow-x:hidden;padding:0;}.direct-chat.chat-pane-open .direct-chat-contacts{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0);}.direct-chat-messages{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0);padding:10px;height:250px;overflow:auto;}.direct-chat-msg,.direct-chat-text{display:block;}.direct-chat-msg{margin-bottom:10px;}.direct-chat-msg:before,.direct-chat-msg:after{content:" ";display:table;}.direct-chat-msg:after{clear:both;}.direct-chat-msg:before,.direct-chat-msg:after{content:" ";display:table;}.direct-chat-msg:after{clear:both;}.direct-chat-messages,.direct-chat-contacts{-webkit-transition:-webkit-transform 0.5s ease-in-out;-moz-transition:-moz-transform 0.5s ease-in-out;-o-transition:-o-transform 0.5s ease-in-out;transition:transform 0.5s ease-in-out;}.direct-chat-text{border-radius:5px;position:relative;padding:5px 10px;background:#d2d6de;border:1px solid #d2d6de;margin:5px 0 0 50px;color:#444;}.direct-chat-text:after,.direct-chat-text:before{position:absolute;right:100%;top:15px;border:solid transparent;border-right-color:#d2d6de;content:' ';height:0;width:0;pointer-events:none;}.direct-chat-text:after{border-width:5px;margin-top:-5px;}.direct-chat-text:before{border-width:6px;margin-top:-6px;}.right .direct-chat-text{margin-right:50px;margin-left:0;}.right .direct-chat-text:after,.right .direct-chat-text:before{right:auto;left:100%;border-right-color:transparent;border-left-color:#d2d6de;}.direct-chat-img{border-radius:50%;float:left;width:40px;height:40px;}.right .direct-chat-img{float:right;}.direct-chat-info{display:block;margin-bottom:2px;font-size:12px;}.direct-chat-name{font-weight:600;}.direct-chat-timestamp{color:#999;}.direct-chat-contacts-open .direct-chat-contacts{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0);}.direct-chat-contacts{-webkit-transform:translate(101%,0);-ms-transform:translate(101%,0);-o-transform:translate(101%,0);transform:translate(101%,0);position:absolute;top:0;bottom:0;height:250px;width:100%;background:#222d32;color:#fff;overflow:auto;}.contacts-list > li{border-bottom:1px solid rgba(0,0,0,0.2);padding:10px;margin:0;}.contacts-list > li:before,.contacts-list > li:after{content:" ";display:table;}.contacts-list > li:after{clear:both;}.contacts-list > li:before,.contacts-list > li:after{content:" ";display:table;}.contacts-list > li:after{clear:both;}.contacts-list > li:last-of-type{border-bottom:none;}.contacts-list-img{border-radius:50%;width:40px;float:left;}.contacts-list-info{margin-left:45px;color:#fff;}.contacts-list-name,.contacts-list-status{display:block;}.contacts-list-name{font-weight:600;}.contacts-list-status{font-size:12px;}.contacts-list-date{color:#aaa;font-weight:normal;}.contacts-list-msg{color:#999;}.direct-chat-danger .right > .direct-chat-text{background:#e74c3c;border-color:#e74c3c;color:#fff;}.direct-chat-danger .right > .direct-chat-text:after,.direct-chat-danger .right > .direct-chat-text:before{border-left-color:#e74c3c;}.direct-chat-primary .right > .direct-chat-text{background:#3c8dbc;border-color:#3c8dbc;color:#fff;}.direct-chat-primary .right > .direct-chat-text:after,.direct-chat-primary .right > .direct-chat-text:before{border-left-color:#3c8dbc;}.direct-chat-warning .right > .direct-chat-text{background:#f39c12;border-color:#f39c12;color:#fff;}.direct-chat-warning .right > .direct-chat-text:after,.direct-chat-warning .right > .direct-chat-text:before{border-left-color:#f39c12;}.direct-chat-info .right > .direct-chat-text{background:#3498db;border-color:#3498db;color:#fff;}.direct-chat-info .right > .direct-chat-text:after,.direct-chat-info .right > .direct-chat-text:before{border-left-color:#3498db;}.direct-chat-success .right > .direct-chat-text{background:#18bc9c;border-color:#18bc9c;color:#fff;}.direct-chat-success .right > .direct-chat-text:after,.direct-chat-success .right > .direct-chat-text:before{border-left-color:#18bc9c;}.users-list > li{width:25%;float:left;padding:10px;text-align:center;}.users-list > li img{border-radius:50%;max-width:100%;height:auto;}.users-list > li > a:hover,.users-list > li > a:hover .users-list-name{color:#999;}.users-list-name,.users-list-date{display:block;}.users-list-name{font-weight:600;color:#444;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}.users-list-date{color:#999;font-size:12px;}.carousel-control.left,.carousel-control.right{background-image:none;}.carousel-control > .fa{font-size:40px;position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-20px;}.modal{background:rgba(0,0,0,0.3);}.modal-content{border-radius:0;-webkit-box-shadow:0 2px 3px rgba(0,0,0,0.125);box-shadow:0 2px 3px rgba(0,0,0,0.125);border:0;}@media (min-width:768px){.modal-content{-webkit-box-shadow:0 2px 3px rgba(0,0,0,0.125);box-shadow:0 2px 3px rgba(0,0,0,0.125);}}.modal-header{border-bottom-color:#f4f4f4;}.modal-footer{border-top-color:#f4f4f4;}.modal-primary .modal-header,.modal-primary .modal-footer{border-color:#307095;}.modal-warning .modal-header,.modal-warning .modal-footer{border-color:#c87f0a;}.modal-info .modal-header,.modal-info .modal-footer{border-color:#217dbb;}.modal-success .modal-header,.modal-success .modal-footer{border-color:#128f76;}.modal-danger .modal-header,.modal-danger .modal-footer{border-color:#d62c1a;}.box-widget{border:none;position:relative;}.widget-user .widget-user-header{padding:20px;height:120px;border-top-right-radius:3px;border-top-left-radius:3px;}.widget-user .widget-user-username{margin-top:0;margin-bottom:5px;font-size:25px;font-weight:300;text-shadow:0 1px 1px rgba(0,0,0,0.2);}.widget-user .widget-user-desc{margin-top:0;}.widget-user .widget-user-image{position:absolute;top:65px;left:50%;margin-left:-45px;}.widget-user .widget-user-image > img{width:90px;height:auto;border:3px solid #fff;}.widget-user .box-footer{padding-top:30px;}.widget-user-2 .widget-user-header{padding:20px;border-top-right-radius:3px;border-top-left-radius:3px;}.widget-user-2 .widget-user-username{margin-top:5px;margin-bottom:5px;font-size:25px;font-weight:300;}.widget-user-2 .widget-user-desc{margin-top:0;}.widget-user-2 .widget-user-username,.widget-user-2 .widget-user-desc{margin-left:75px;}.widget-user-2 .widget-user-image > img{width:65px;height:auto;float:left;}.close,.mailbox-attachment-close{float:right;font-size:18px;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:before,.content:after{content:" ";display:table;}.clearfix:after,.content: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;}.mailbox-messages > .table{margin:0;}.mailbox-controls{padding:5px;}.mailbox-controls.with-border{border-bottom:1px solid #f4f4f4;}.mailbox-read-info{border-bottom:1px solid #f4f4f4;padding:10px;}.mailbox-read-info h3{font-size:20px;margin:0;}.mailbox-read-info h5{margin:0;padding:5px 0 0 0;}.mailbox-read-time{color:#999;font-size:13px;}.mailbox-read-message{padding:10px;}.mailbox-attachments li{float:left;width:200px;border:1px solid #eee;margin-bottom:10px;margin-right:10px;}.mailbox-attachment-name{font-weight:bold;color:#666;}.mailbox-attachment-icon,.mailbox-attachment-info,.mailbox-attachment-size{display:block;}.mailbox-attachment-info{padding:10px;background:#f4f4f4;}.mailbox-attachment-size{color:#999;font-size:12px;}.mailbox-attachment-icon{text-align:center;font-size:65px;color:#666;padding:20px 10px;}.mailbox-attachment-icon.has-img{padding:0;}.mailbox-attachment-icon.has-img > img{max-width:100%;height:auto;}.lockscreen{background:#d2d6de;}.lockscreen-logo{font-size:35px;text-align:center;margin-bottom:25px;font-weight:300;}.lockscreen-logo a{color:#444;}.lockscreen-wrapper{max-width:400px;margin:0 auto;margin-top:10%;}.lockscreen .lockscreen-name{text-align:center;font-weight:600;}.lockscreen-item{border-radius:4px;padding:0;background:#fff;position:relative;margin:10px auto 30px auto;width:290px;}.lockscreen-image{border-radius:50%;position:absolute;left:-10px;top:-25px;background:#fff;padding:5px;z-index:10;}.lockscreen-image > img{border-radius:50%;width:70px;height:70px;}.lockscreen-credentials{margin-left:70px;}.lockscreen-credentials .form-control{border:0;}.lockscreen-credentials .btn{background-color:#fff;border:0;padding:0 10px;}.lockscreen-footer{margin-top:10px;}.login-logo,.register-logo{font-size:35px;text-align:center;margin-bottom:25px;font-weight:300;}.login-logo a,.register-logo a{color:#444;}.login-page,.register-page{background:#d2d6de;}.login-box,.register-box{width:360px;margin:7% auto;}@media (max-width:768px){.login-box,.register-box{width:90%;margin-top:20px;}}.login-box-body,.register-box-body{background:#fff;padding:20px;border-top:0;color:#666;}.login-box-body .form-control-feedback,.register-box-body .form-control-feedback{color:#777;}.login-box-msg,.register-box-msg{margin:0;text-align:center;padding:0 20px 20px 20px;}.social-auth-links{margin:10px 0;}.error-page{width:600px;margin:20px auto 0 auto;}@media (max-width:991px){.error-page{width:100%;}}.error-page > .headline{float:left;font-size:100px;font-weight:300;}@media (max-width:991px){.error-page > .headline{float:none;text-align:center;}}.error-page > .error-content{margin-left:190px;display:block;}@media (max-width:991px){.error-page > .error-content{margin-left:0;}}.error-page > .error-content > h3{font-weight:300;font-size:25px;}@media (max-width:991px){.error-page > .error-content > h3{text-align:center;}}.invoice{position:relative;background:#fff;border:1px solid #f4f4f4;padding:20px;margin:10px 25px;}.invoice-title{margin-top:0;}.profile-user-img{margin:0 auto;width:100px;padding:3px;border:3px solid #d2d6de;}.profile-username{font-size:21px;margin-top:5px;}.post{border-bottom:1px solid #d2d6de;margin-bottom:15px;padding-bottom:15px;color:#666;}.post:last-of-type{border-bottom:0;margin-bottom:0;padding-bottom:0;}.post .user-block{margin-bottom:15px;}/* * Social Buttons for Bootstrap * * Copyright 2013-2015 Panayiotis Lipiridis * Licensed under the MIT License * * https://github.com/lipis/bootstrap-social */ .btn-social{position:relative;padding-left:41px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.btn-social > :first-child{position:absolute;left:0;top:0;bottom:0;width:29px;line-height:31px;font-size:1.6em;text-align:center;border-right:1px solid rgba(0,0,0,0.2);}.btn-social.btn-lg{padding-left:57px;}.btn-social.btn-lg > :first-child{line-height:41px;width:41px;font-size:1.8em;}.btn-social.btn-sm{padding-left:36px;}.btn-social.btn-sm > :first-child{line-height:26px;width:26px;font-size:1.4em;}.btn-social.btn-xs{padding-left:29px;}.btn-social.btn-xs > :first-child{line-height:19px;width:19px;font-size:1.2em;}.btn-social-icon{position:relative;padding-left:41px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:31px;width:31px;padding:0;}.btn-social-icon > :first-child{position:absolute;left:0;top:0;bottom:0;width:29px;line-height:31px;font-size:1.6em;text-align:center;border-right:1px solid rgba(0,0,0,0.2);}.btn-social-icon.btn-lg{padding-left:57px;}.btn-social-icon.btn-lg > :first-child{line-height:41px;width:41px;font-size:1.8em;}.btn-social-icon.btn-sm{padding-left:36px;}.btn-social-icon.btn-sm > :first-child{line-height:26px;width:26px;font-size:1.4em;}.btn-social-icon.btn-xs{padding-left:29px;}.btn-social-icon.btn-xs > :first-child{line-height:19px;width:19px;font-size:1.2em;}.btn-social-icon > :first-child{border:none;text-align:center;width:100%;}.btn-social-icon.btn-lg{height:41px;width:41px;padding-left:0;padding-right:0;}.btn-social-icon.btn-sm{height:28px;width:28px;padding-left:0;padding-right:0;}.btn-social-icon.btn-xs{height:21px;width:21px;padding-left:0;padding-right:0;}.btn-adn{color:#fff;background-color:#d87a68;border-color:rgba(0,0,0,0.2);}.btn-adn:focus,.btn-adn.focus{color:#fff;background-color:#ce563f;border-color:rgba(0,0,0,0.2);}.btn-adn:hover{color:#fff;background-color:#ce563f;border-color:rgba(0,0,0,0.2);}.btn-adn:active,.btn-adn.active,.open > .dropdown-toggle.btn-adn{color:#fff;background-color:#ce563f;border-color:rgba(0,0,0,0.2);}.btn-adn:active:hover,.btn-adn.active:hover,.open > .dropdown-toggle.btn-adn:hover,.btn-adn:active:focus,.btn-adn.active:focus,.open > .dropdown-toggle.btn-adn:focus,.btn-adn:active.focus,.btn-adn.active.focus,.open > .dropdown-toggle.btn-adn.focus{color:#fff;background-color:#b94630;border-color:rgba(0,0,0,0.2);}.btn-adn:active,.btn-adn.active,.open > .dropdown-toggle.btn-adn{background-image:none;}.btn-adn.disabled,.btn-adn[disabled],fieldset[disabled] .btn-adn,.btn-adn.disabled:hover,.btn-adn[disabled]:hover,fieldset[disabled] .btn-adn:hover,.btn-adn.disabled:focus,.btn-adn[disabled]:focus,fieldset[disabled] .btn-adn:focus,.btn-adn.disabled.focus,.btn-adn[disabled].focus,fieldset[disabled] .btn-adn.focus,.btn-adn.disabled:active,.btn-adn[disabled]:active,fieldset[disabled] .btn-adn:active,.btn-adn.disabled.active,.btn-adn[disabled].active,fieldset[disabled] .btn-adn.active{background-color:#d87a68;border-color:rgba(0,0,0,0.2);}.btn-adn .badge{color:#d87a68;background-color:#fff;}.btn-bitbucket{color:#fff;background-color:#205081;border-color:rgba(0,0,0,0.2);}.btn-bitbucket:focus,.btn-bitbucket.focus{color:#fff;background-color:#163758;border-color:rgba(0,0,0,0.2);}.btn-bitbucket:hover{color:#fff;background-color:#163758;border-color:rgba(0,0,0,0.2);}.btn-bitbucket:active,.btn-bitbucket.active,.open > .dropdown-toggle.btn-bitbucket{color:#fff;background-color:#163758;border-color:rgba(0,0,0,0.2);}.btn-bitbucket:active:hover,.btn-bitbucket.active:hover,.open > .dropdown-toggle.btn-bitbucket:hover,.btn-bitbucket:active:focus,.btn-bitbucket.active:focus,.open > .dropdown-toggle.btn-bitbucket:focus,.btn-bitbucket:active.focus,.btn-bitbucket.active.focus,.open > .dropdown-toggle.btn-bitbucket.focus{color:#fff;background-color:#0f253c;border-color:rgba(0,0,0,0.2);}.btn-bitbucket:active,.btn-bitbucket.active,.open > .dropdown-toggle.btn-bitbucket{background-image:none;}.btn-bitbucket.disabled,.btn-bitbucket[disabled],fieldset[disabled] .btn-bitbucket,.btn-bitbucket.disabled:hover,.btn-bitbucket[disabled]:hover,fieldset[disabled] .btn-bitbucket:hover,.btn-bitbucket.disabled:focus,.btn-bitbucket[disabled]:focus,fieldset[disabled] .btn-bitbucket:focus,.btn-bitbucket.disabled.focus,.btn-bitbucket[disabled].focus,fieldset[disabled] .btn-bitbucket.focus,.btn-bitbucket.disabled:active,.btn-bitbucket[disabled]:active,fieldset[disabled] .btn-bitbucket:active,.btn-bitbucket.disabled.active,.btn-bitbucket[disabled].active,fieldset[disabled] .btn-bitbucket.active{background-color:#205081;border-color:rgba(0,0,0,0.2);}.btn-bitbucket .badge{color:#205081;background-color:#fff;}.btn-dropbox{color:#fff;background-color:#1087dd;border-color:rgba(0,0,0,0.2);}.btn-dropbox:focus,.btn-dropbox.focus{color:#fff;background-color:#0d6aad;border-color:rgba(0,0,0,0.2);}.btn-dropbox:hover{color:#fff;background-color:#0d6aad;border-color:rgba(0,0,0,0.2);}.btn-dropbox:active,.btn-dropbox.active,.open > .dropdown-toggle.btn-dropbox{color:#fff;background-color:#0d6aad;border-color:rgba(0,0,0,0.2);}.btn-dropbox:active:hover,.btn-dropbox.active:hover,.open > .dropdown-toggle.btn-dropbox:hover,.btn-dropbox:active:focus,.btn-dropbox.active:focus,.open > .dropdown-toggle.btn-dropbox:focus,.btn-dropbox:active.focus,.btn-dropbox.active.focus,.open > .dropdown-toggle.btn-dropbox.focus{color:#fff;background-color:#0a568c;border-color:rgba(0,0,0,0.2);}.btn-dropbox:active,.btn-dropbox.active,.open > .dropdown-toggle.btn-dropbox{background-image:none;}.btn-dropbox.disabled,.btn-dropbox[disabled],fieldset[disabled] .btn-dropbox,.btn-dropbox.disabled:hover,.btn-dropbox[disabled]:hover,fieldset[disabled] .btn-dropbox:hover,.btn-dropbox.disabled:focus,.btn-dropbox[disabled]:focus,fieldset[disabled] .btn-dropbox:focus,.btn-dropbox.disabled.focus,.btn-dropbox[disabled].focus,fieldset[disabled] .btn-dropbox.focus,.btn-dropbox.disabled:active,.btn-dropbox[disabled]:active,fieldset[disabled] .btn-dropbox:active,.btn-dropbox.disabled.active,.btn-dropbox[disabled].active,fieldset[disabled] .btn-dropbox.active{background-color:#1087dd;border-color:rgba(0,0,0,0.2);}.btn-dropbox .badge{color:#1087dd;background-color:#fff;}.btn-facebook{color:#fff;background-color:#3b5998;border-color:rgba(0,0,0,0.2);}.btn-facebook:focus,.btn-facebook.focus{color:#fff;background-color:#2d4373;border-color:rgba(0,0,0,0.2);}.btn-facebook:hover{color:#fff;background-color:#2d4373;border-color:rgba(0,0,0,0.2);}.btn-facebook:active,.btn-facebook.active,.open > .dropdown-toggle.btn-facebook{color:#fff;background-color:#2d4373;border-color:rgba(0,0,0,0.2);}.btn-facebook:active:hover,.btn-facebook.active:hover,.open > .dropdown-toggle.btn-facebook:hover,.btn-facebook:active:focus,.btn-facebook.active:focus,.open > .dropdown-toggle.btn-facebook:focus,.btn-facebook:active.focus,.btn-facebook.active.focus,.open > .dropdown-toggle.btn-facebook.focus{color:#fff;background-color:#23345a;border-color:rgba(0,0,0,0.2);}.btn-facebook:active,.btn-facebook.active,.open > .dropdown-toggle.btn-facebook{background-image:none;}.btn-facebook.disabled,.btn-facebook[disabled],fieldset[disabled] .btn-facebook,.btn-facebook.disabled:hover,.btn-facebook[disabled]:hover,fieldset[disabled] .btn-facebook:hover,.btn-facebook.disabled:focus,.btn-facebook[disabled]:focus,fieldset[disabled] .btn-facebook:focus,.btn-facebook.disabled.focus,.btn-facebook[disabled].focus,fieldset[disabled] .btn-facebook.focus,.btn-facebook.disabled:active,.btn-facebook[disabled]:active,fieldset[disabled] .btn-facebook:active,.btn-facebook.disabled.active,.btn-facebook[disabled].active,fieldset[disabled] .btn-facebook.active{background-color:#3b5998;border-color:rgba(0,0,0,0.2);}.btn-facebook .badge{color:#3b5998;background-color:#fff;}.btn-flickr{color:#fff;background-color:#ff0084;border-color:rgba(0,0,0,0.2);}.btn-flickr:focus,.btn-flickr.focus{color:#fff;background-color:#cc006a;border-color:rgba(0,0,0,0.2);}.btn-flickr:hover{color:#fff;background-color:#cc006a;border-color:rgba(0,0,0,0.2);}.btn-flickr:active,.btn-flickr.active,.open > .dropdown-toggle.btn-flickr{color:#fff;background-color:#cc006a;border-color:rgba(0,0,0,0.2);}.btn-flickr:active:hover,.btn-flickr.active:hover,.open > .dropdown-toggle.btn-flickr:hover,.btn-flickr:active:focus,.btn-flickr.active:focus,.open > .dropdown-toggle.btn-flickr:focus,.btn-flickr:active.focus,.btn-flickr.active.focus,.open > .dropdown-toggle.btn-flickr.focus{color:#fff;background-color:#a80057;border-color:rgba(0,0,0,0.2);}.btn-flickr:active,.btn-flickr.active,.open > .dropdown-toggle.btn-flickr{background-image:none;}.btn-flickr.disabled,.btn-flickr[disabled],fieldset[disabled] .btn-flickr,.btn-flickr.disabled:hover,.btn-flickr[disabled]:hover,fieldset[disabled] .btn-flickr:hover,.btn-flickr.disabled:focus,.btn-flickr[disabled]:focus,fieldset[disabled] .btn-flickr:focus,.btn-flickr.disabled.focus,.btn-flickr[disabled].focus,fieldset[disabled] .btn-flickr.focus,.btn-flickr.disabled:active,.btn-flickr[disabled]:active,fieldset[disabled] .btn-flickr:active,.btn-flickr.disabled.active,.btn-flickr[disabled].active,fieldset[disabled] .btn-flickr.active{background-color:#ff0084;border-color:rgba(0,0,0,0.2);}.btn-flickr .badge{color:#ff0084;background-color:#fff;}.btn-foursquare{color:#fff;background-color:#f94877;border-color:rgba(0,0,0,0.2);}.btn-foursquare:focus,.btn-foursquare.focus{color:#fff;background-color:#f71752;border-color:rgba(0,0,0,0.2);}.btn-foursquare:hover{color:#fff;background-color:#f71752;border-color:rgba(0,0,0,0.2);}.btn-foursquare:active,.btn-foursquare.active,.open > .dropdown-toggle.btn-foursquare{color:#fff;background-color:#f71752;border-color:rgba(0,0,0,0.2);}.btn-foursquare:active:hover,.btn-foursquare.active:hover,.open > .dropdown-toggle.btn-foursquare:hover,.btn-foursquare:active:focus,.btn-foursquare.active:focus,.open > .dropdown-toggle.btn-foursquare:focus,.btn-foursquare:active.focus,.btn-foursquare.active.focus,.open > .dropdown-toggle.btn-foursquare.focus{color:#fff;background-color:#e30742;border-color:rgba(0,0,0,0.2);}.btn-foursquare:active,.btn-foursquare.active,.open > .dropdown-toggle.btn-foursquare{background-image:none;}.btn-foursquare.disabled,.btn-foursquare[disabled],fieldset[disabled] .btn-foursquare,.btn-foursquare.disabled:hover,.btn-foursquare[disabled]:hover,fieldset[disabled] .btn-foursquare:hover,.btn-foursquare.disabled:focus,.btn-foursquare[disabled]:focus,fieldset[disabled] .btn-foursquare:focus,.btn-foursquare.disabled.focus,.btn-foursquare[disabled].focus,fieldset[disabled] .btn-foursquare.focus,.btn-foursquare.disabled:active,.btn-foursquare[disabled]:active,fieldset[disabled] .btn-foursquare:active,.btn-foursquare.disabled.active,.btn-foursquare[disabled].active,fieldset[disabled] .btn-foursquare.active{background-color:#f94877;border-color:rgba(0,0,0,0.2);}.btn-foursquare .badge{color:#f94877;background-color:#fff;}.btn-github{color:#fff;background-color:#444444;border-color:rgba(0,0,0,0.2);}.btn-github:focus,.btn-github.focus{color:#fff;background-color:#2b2b2b;border-color:rgba(0,0,0,0.2);}.btn-github:hover{color:#fff;background-color:#2b2b2b;border-color:rgba(0,0,0,0.2);}.btn-github:active,.btn-github.active,.open > .dropdown-toggle.btn-github{color:#fff;background-color:#2b2b2b;border-color:rgba(0,0,0,0.2);}.btn-github:active:hover,.btn-github.active:hover,.open > .dropdown-toggle.btn-github:hover,.btn-github:active:focus,.btn-github.active:focus,.open > .dropdown-toggle.btn-github:focus,.btn-github:active.focus,.btn-github.active.focus,.open > .dropdown-toggle.btn-github.focus{color:#fff;background-color:#191919;border-color:rgba(0,0,0,0.2);}.btn-github:active,.btn-github.active,.open > .dropdown-toggle.btn-github{background-image:none;}.btn-github.disabled,.btn-github[disabled],fieldset[disabled] .btn-github,.btn-github.disabled:hover,.btn-github[disabled]:hover,fieldset[disabled] .btn-github:hover,.btn-github.disabled:focus,.btn-github[disabled]:focus,fieldset[disabled] .btn-github:focus,.btn-github.disabled.focus,.btn-github[disabled].focus,fieldset[disabled] .btn-github.focus,.btn-github.disabled:active,.btn-github[disabled]:active,fieldset[disabled] .btn-github:active,.btn-github.disabled.active,.btn-github[disabled].active,fieldset[disabled] .btn-github.active{background-color:#444444;border-color:rgba(0,0,0,0.2);}.btn-github .badge{color:#444444;background-color:#fff;}.btn-google{color:#fff;background-color:#dd4b39;border-color:rgba(0,0,0,0.2);}.btn-google:focus,.btn-google.focus{color:#fff;background-color:#c23321;border-color:rgba(0,0,0,0.2);}.btn-google:hover{color:#fff;background-color:#c23321;border-color:rgba(0,0,0,0.2);}.btn-google:active,.btn-google.active,.open > .dropdown-toggle.btn-google{color:#fff;background-color:#c23321;border-color:rgba(0,0,0,0.2);}.btn-google:active:hover,.btn-google.active:hover,.open > .dropdown-toggle.btn-google:hover,.btn-google:active:focus,.btn-google.active:focus,.open > .dropdown-toggle.btn-google:focus,.btn-google:active.focus,.btn-google.active.focus,.open > .dropdown-toggle.btn-google.focus{color:#fff;background-color:#a32b1c;border-color:rgba(0,0,0,0.2);}.btn-google:active,.btn-google.active,.open > .dropdown-toggle.btn-google{background-image:none;}.btn-google.disabled,.btn-google[disabled],fieldset[disabled] .btn-google,.btn-google.disabled:hover,.btn-google[disabled]:hover,fieldset[disabled] .btn-google:hover,.btn-google.disabled:focus,.btn-google[disabled]:focus,fieldset[disabled] .btn-google:focus,.btn-google.disabled.focus,.btn-google[disabled].focus,fieldset[disabled] .btn-google.focus,.btn-google.disabled:active,.btn-google[disabled]:active,fieldset[disabled] .btn-google:active,.btn-google.disabled.active,.btn-google[disabled].active,fieldset[disabled] .btn-google.active{background-color:#dd4b39;border-color:rgba(0,0,0,0.2);}.btn-google .badge{color:#dd4b39;background-color:#fff;}.btn-instagram{color:#fff;background-color:#3f729b;border-color:rgba(0,0,0,0.2);}.btn-instagram:focus,.btn-instagram.focus{color:#fff;background-color:#305777;border-color:rgba(0,0,0,0.2);}.btn-instagram:hover{color:#fff;background-color:#305777;border-color:rgba(0,0,0,0.2);}.btn-instagram:active,.btn-instagram.active,.open > .dropdown-toggle.btn-instagram{color:#fff;background-color:#305777;border-color:rgba(0,0,0,0.2);}.btn-instagram:active:hover,.btn-instagram.active:hover,.open > .dropdown-toggle.btn-instagram:hover,.btn-instagram:active:focus,.btn-instagram.active:focus,.open > .dropdown-toggle.btn-instagram:focus,.btn-instagram:active.focus,.btn-instagram.active.focus,.open > .dropdown-toggle.btn-instagram.focus{color:#fff;background-color:#26455d;border-color:rgba(0,0,0,0.2);}.btn-instagram:active,.btn-instagram.active,.open > .dropdown-toggle.btn-instagram{background-image:none;}.btn-instagram.disabled,.btn-instagram[disabled],fieldset[disabled] .btn-instagram,.btn-instagram.disabled:hover,.btn-instagram[disabled]:hover,fieldset[disabled] .btn-instagram:hover,.btn-instagram.disabled:focus,.btn-instagram[disabled]:focus,fieldset[disabled] .btn-instagram:focus,.btn-instagram.disabled.focus,.btn-instagram[disabled].focus,fieldset[disabled] .btn-instagram.focus,.btn-instagram.disabled:active,.btn-instagram[disabled]:active,fieldset[disabled] .btn-instagram:active,.btn-instagram.disabled.active,.btn-instagram[disabled].active,fieldset[disabled] .btn-instagram.active{background-color:#3f729b;border-color:rgba(0,0,0,0.2);}.btn-instagram .badge{color:#3f729b;background-color:#fff;}.btn-linkedin{color:#fff;background-color:#007bb6;border-color:rgba(0,0,0,0.2);}.btn-linkedin:focus,.btn-linkedin.focus{color:#fff;background-color:#005983;border-color:rgba(0,0,0,0.2);}.btn-linkedin:hover{color:#fff;background-color:#005983;border-color:rgba(0,0,0,0.2);}.btn-linkedin:active,.btn-linkedin.active,.open > .dropdown-toggle.btn-linkedin{color:#fff;background-color:#005983;border-color:rgba(0,0,0,0.2);}.btn-linkedin:active:hover,.btn-linkedin.active:hover,.open > .dropdown-toggle.btn-linkedin:hover,.btn-linkedin:active:focus,.btn-linkedin.active:focus,.open > .dropdown-toggle.btn-linkedin:focus,.btn-linkedin:active.focus,.btn-linkedin.active.focus,.open > .dropdown-toggle.btn-linkedin.focus{color:#fff;background-color:#00405f;border-color:rgba(0,0,0,0.2);}.btn-linkedin:active,.btn-linkedin.active,.open > .dropdown-toggle.btn-linkedin{background-image:none;}.btn-linkedin.disabled,.btn-linkedin[disabled],fieldset[disabled] .btn-linkedin,.btn-linkedin.disabled:hover,.btn-linkedin[disabled]:hover,fieldset[disabled] .btn-linkedin:hover,.btn-linkedin.disabled:focus,.btn-linkedin[disabled]:focus,fieldset[disabled] .btn-linkedin:focus,.btn-linkedin.disabled.focus,.btn-linkedin[disabled].focus,fieldset[disabled] .btn-linkedin.focus,.btn-linkedin.disabled:active,.btn-linkedin[disabled]:active,fieldset[disabled] .btn-linkedin:active,.btn-linkedin.disabled.active,.btn-linkedin[disabled].active,fieldset[disabled] .btn-linkedin.active{background-color:#007bb6;border-color:rgba(0,0,0,0.2);}.btn-linkedin .badge{color:#007bb6;background-color:#fff;}.btn-microsoft{color:#fff;background-color:#2672ec;border-color:rgba(0,0,0,0.2);}.btn-microsoft:focus,.btn-microsoft.focus{color:#fff;background-color:#125acd;border-color:rgba(0,0,0,0.2);}.btn-microsoft:hover{color:#fff;background-color:#125acd;border-color:rgba(0,0,0,0.2);}.btn-microsoft:active,.btn-microsoft.active,.open > .dropdown-toggle.btn-microsoft{color:#fff;background-color:#125acd;border-color:rgba(0,0,0,0.2);}.btn-microsoft:active:hover,.btn-microsoft.active:hover,.open > .dropdown-toggle.btn-microsoft:hover,.btn-microsoft:active:focus,.btn-microsoft.active:focus,.open > .dropdown-toggle.btn-microsoft:focus,.btn-microsoft:active.focus,.btn-microsoft.active.focus,.open > .dropdown-toggle.btn-microsoft.focus{color:#fff;background-color:#0f4bac;border-color:rgba(0,0,0,0.2);}.btn-microsoft:active,.btn-microsoft.active,.open > .dropdown-toggle.btn-microsoft{background-image:none;}.btn-microsoft.disabled,.btn-microsoft[disabled],fieldset[disabled] .btn-microsoft,.btn-microsoft.disabled:hover,.btn-microsoft[disabled]:hover,fieldset[disabled] .btn-microsoft:hover,.btn-microsoft.disabled:focus,.btn-microsoft[disabled]:focus,fieldset[disabled] .btn-microsoft:focus,.btn-microsoft.disabled.focus,.btn-microsoft[disabled].focus,fieldset[disabled] .btn-microsoft.focus,.btn-microsoft.disabled:active,.btn-microsoft[disabled]:active,fieldset[disabled] .btn-microsoft:active,.btn-microsoft.disabled.active,.btn-microsoft[disabled].active,fieldset[disabled] .btn-microsoft.active{background-color:#2672ec;border-color:rgba(0,0,0,0.2);}.btn-microsoft .badge{color:#2672ec;background-color:#fff;}.btn-openid{color:#fff;background-color:#f7931e;border-color:rgba(0,0,0,0.2);}.btn-openid:focus,.btn-openid.focus{color:#fff;background-color:#da7908;border-color:rgba(0,0,0,0.2);}.btn-openid:hover{color:#fff;background-color:#da7908;border-color:rgba(0,0,0,0.2);}.btn-openid:active,.btn-openid.active,.open > .dropdown-toggle.btn-openid{color:#fff;background-color:#da7908;border-color:rgba(0,0,0,0.2);}.btn-openid:active:hover,.btn-openid.active:hover,.open > .dropdown-toggle.btn-openid:hover,.btn-openid:active:focus,.btn-openid.active:focus,.open > .dropdown-toggle.btn-openid:focus,.btn-openid:active.focus,.btn-openid.active.focus,.open > .dropdown-toggle.btn-openid.focus{color:#fff;background-color:#b86607;border-color:rgba(0,0,0,0.2);}.btn-openid:active,.btn-openid.active,.open > .dropdown-toggle.btn-openid{background-image:none;}.btn-openid.disabled,.btn-openid[disabled],fieldset[disabled] .btn-openid,.btn-openid.disabled:hover,.btn-openid[disabled]:hover,fieldset[disabled] .btn-openid:hover,.btn-openid.disabled:focus,.btn-openid[disabled]:focus,fieldset[disabled] .btn-openid:focus,.btn-openid.disabled.focus,.btn-openid[disabled].focus,fieldset[disabled] .btn-openid.focus,.btn-openid.disabled:active,.btn-openid[disabled]:active,fieldset[disabled] .btn-openid:active,.btn-openid.disabled.active,.btn-openid[disabled].active,fieldset[disabled] .btn-openid.active{background-color:#f7931e;border-color:rgba(0,0,0,0.2);}.btn-openid .badge{color:#f7931e;background-color:#fff;}.btn-pinterest{color:#fff;background-color:#cb2027;border-color:rgba(0,0,0,0.2);}.btn-pinterest:focus,.btn-pinterest.focus{color:#fff;background-color:#9f191f;border-color:rgba(0,0,0,0.2);}.btn-pinterest:hover{color:#fff;background-color:#9f191f;border-color:rgba(0,0,0,0.2);}.btn-pinterest:active,.btn-pinterest.active,.open > .dropdown-toggle.btn-pinterest{color:#fff;background-color:#9f191f;border-color:rgba(0,0,0,0.2);}.btn-pinterest:active:hover,.btn-pinterest.active:hover,.open > .dropdown-toggle.btn-pinterest:hover,.btn-pinterest:active:focus,.btn-pinterest.active:focus,.open > .dropdown-toggle.btn-pinterest:focus,.btn-pinterest:active.focus,.btn-pinterest.active.focus,.open > .dropdown-toggle.btn-pinterest.focus{color:#fff;background-color:#801419;border-color:rgba(0,0,0,0.2);}.btn-pinterest:active,.btn-pinterest.active,.open > .dropdown-toggle.btn-pinterest{background-image:none;}.btn-pinterest.disabled,.btn-pinterest[disabled],fieldset[disabled] .btn-pinterest,.btn-pinterest.disabled:hover,.btn-pinterest[disabled]:hover,fieldset[disabled] .btn-pinterest:hover,.btn-pinterest.disabled:focus,.btn-pinterest[disabled]:focus,fieldset[disabled] .btn-pinterest:focus,.btn-pinterest.disabled.focus,.btn-pinterest[disabled].focus,fieldset[disabled] .btn-pinterest.focus,.btn-pinterest.disabled:active,.btn-pinterest[disabled]:active,fieldset[disabled] .btn-pinterest:active,.btn-pinterest.disabled.active,.btn-pinterest[disabled].active,fieldset[disabled] .btn-pinterest.active{background-color:#cb2027;border-color:rgba(0,0,0,0.2);}.btn-pinterest .badge{color:#cb2027;background-color:#fff;}.btn-reddit{color:#000;background-color:#eff7ff;border-color:rgba(0,0,0,0.2);}.btn-reddit:focus,.btn-reddit.focus{color:#000;background-color:#bcddff;border-color:rgba(0,0,0,0.2);}.btn-reddit:hover{color:#000;background-color:#bcddff;border-color:rgba(0,0,0,0.2);}.btn-reddit:active,.btn-reddit.active,.open > .dropdown-toggle.btn-reddit{color:#000;background-color:#bcddff;border-color:rgba(0,0,0,0.2);}.btn-reddit:active:hover,.btn-reddit.active:hover,.open > .dropdown-toggle.btn-reddit:hover,.btn-reddit:active:focus,.btn-reddit.active:focus,.open > .dropdown-toggle.btn-reddit:focus,.btn-reddit:active.focus,.btn-reddit.active.focus,.open > .dropdown-toggle.btn-reddit.focus{color:#000;background-color:#98ccff;border-color:rgba(0,0,0,0.2);}.btn-reddit:active,.btn-reddit.active,.open > .dropdown-toggle.btn-reddit{background-image:none;}.btn-reddit.disabled,.btn-reddit[disabled],fieldset[disabled] .btn-reddit,.btn-reddit.disabled:hover,.btn-reddit[disabled]:hover,fieldset[disabled] .btn-reddit:hover,.btn-reddit.disabled:focus,.btn-reddit[disabled]:focus,fieldset[disabled] .btn-reddit:focus,.btn-reddit.disabled.focus,.btn-reddit[disabled].focus,fieldset[disabled] .btn-reddit.focus,.btn-reddit.disabled:active,.btn-reddit[disabled]:active,fieldset[disabled] .btn-reddit:active,.btn-reddit.disabled.active,.btn-reddit[disabled].active,fieldset[disabled] .btn-reddit.active{background-color:#eff7ff;border-color:rgba(0,0,0,0.2);}.btn-reddit .badge{color:#eff7ff;background-color:#000;}.btn-soundcloud{color:#fff;background-color:#ff5500;border-color:rgba(0,0,0,0.2);}.btn-soundcloud:focus,.btn-soundcloud.focus{color:#fff;background-color:#cc4400;border-color:rgba(0,0,0,0.2);}.btn-soundcloud:hover{color:#fff;background-color:#cc4400;border-color:rgba(0,0,0,0.2);}.btn-soundcloud:active,.btn-soundcloud.active,.open > .dropdown-toggle.btn-soundcloud{color:#fff;background-color:#cc4400;border-color:rgba(0,0,0,0.2);}.btn-soundcloud:active:hover,.btn-soundcloud.active:hover,.open > .dropdown-toggle.btn-soundcloud:hover,.btn-soundcloud:active:focus,.btn-soundcloud.active:focus,.open > .dropdown-toggle.btn-soundcloud:focus,.btn-soundcloud:active.focus,.btn-soundcloud.active.focus,.open > .dropdown-toggle.btn-soundcloud.focus{color:#fff;background-color:#a83800;border-color:rgba(0,0,0,0.2);}.btn-soundcloud:active,.btn-soundcloud.active,.open > .dropdown-toggle.btn-soundcloud{background-image:none;}.btn-soundcloud.disabled,.btn-soundcloud[disabled],fieldset[disabled] .btn-soundcloud,.btn-soundcloud.disabled:hover,.btn-soundcloud[disabled]:hover,fieldset[disabled] .btn-soundcloud:hover,.btn-soundcloud.disabled:focus,.btn-soundcloud[disabled]:focus,fieldset[disabled] .btn-soundcloud:focus,.btn-soundcloud.disabled.focus,.btn-soundcloud[disabled].focus,fieldset[disabled] .btn-soundcloud.focus,.btn-soundcloud.disabled:active,.btn-soundcloud[disabled]:active,fieldset[disabled] .btn-soundcloud:active,.btn-soundcloud.disabled.active,.btn-soundcloud[disabled].active,fieldset[disabled] .btn-soundcloud.active{background-color:#ff5500;border-color:rgba(0,0,0,0.2);}.btn-soundcloud .badge{color:#ff5500;background-color:#fff;}.btn-tumblr{color:#fff;background-color:#2c4762;border-color:rgba(0,0,0,0.2);}.btn-tumblr:focus,.btn-tumblr.focus{color:#fff;background-color:#1c2d3f;border-color:rgba(0,0,0,0.2);}.btn-tumblr:hover{color:#fff;background-color:#1c2d3f;border-color:rgba(0,0,0,0.2);}.btn-tumblr:active,.btn-tumblr.active,.open > .dropdown-toggle.btn-tumblr{color:#fff;background-color:#1c2d3f;border-color:rgba(0,0,0,0.2);}.btn-tumblr:active:hover,.btn-tumblr.active:hover,.open > .dropdown-toggle.btn-tumblr:hover,.btn-tumblr:active:focus,.btn-tumblr.active:focus,.open > .dropdown-toggle.btn-tumblr:focus,.btn-tumblr:active.focus,.btn-tumblr.active.focus,.open > .dropdown-toggle.btn-tumblr.focus{color:#fff;background-color:#111c26;border-color:rgba(0,0,0,0.2);}.btn-tumblr:active,.btn-tumblr.active,.open > .dropdown-toggle.btn-tumblr{background-image:none;}.btn-tumblr.disabled,.btn-tumblr[disabled],fieldset[disabled] .btn-tumblr,.btn-tumblr.disabled:hover,.btn-tumblr[disabled]:hover,fieldset[disabled] .btn-tumblr:hover,.btn-tumblr.disabled:focus,.btn-tumblr[disabled]:focus,fieldset[disabled] .btn-tumblr:focus,.btn-tumblr.disabled.focus,.btn-tumblr[disabled].focus,fieldset[disabled] .btn-tumblr.focus,.btn-tumblr.disabled:active,.btn-tumblr[disabled]:active,fieldset[disabled] .btn-tumblr:active,.btn-tumblr.disabled.active,.btn-tumblr[disabled].active,fieldset[disabled] .btn-tumblr.active{background-color:#2c4762;border-color:rgba(0,0,0,0.2);}.btn-tumblr .badge{color:#2c4762;background-color:#fff;}.btn-twitter{color:#fff;background-color:#55acee;border-color:rgba(0,0,0,0.2);}.btn-twitter:focus,.btn-twitter.focus{color:#fff;background-color:#2795e9;border-color:rgba(0,0,0,0.2);}.btn-twitter:hover{color:#fff;background-color:#2795e9;border-color:rgba(0,0,0,0.2);}.btn-twitter:active,.btn-twitter.active,.open > .dropdown-toggle.btn-twitter{color:#fff;background-color:#2795e9;border-color:rgba(0,0,0,0.2);}.btn-twitter:active:hover,.btn-twitter.active:hover,.open > .dropdown-toggle.btn-twitter:hover,.btn-twitter:active:focus,.btn-twitter.active:focus,.open > .dropdown-toggle.btn-twitter:focus,.btn-twitter:active.focus,.btn-twitter.active.focus,.open > .dropdown-toggle.btn-twitter.focus{color:#fff;background-color:#1583d7;border-color:rgba(0,0,0,0.2);}.btn-twitter:active,.btn-twitter.active,.open > .dropdown-toggle.btn-twitter{background-image:none;}.btn-twitter.disabled,.btn-twitter[disabled],fieldset[disabled] .btn-twitter,.btn-twitter.disabled:hover,.btn-twitter[disabled]:hover,fieldset[disabled] .btn-twitter:hover,.btn-twitter.disabled:focus,.btn-twitter[disabled]:focus,fieldset[disabled] .btn-twitter:focus,.btn-twitter.disabled.focus,.btn-twitter[disabled].focus,fieldset[disabled] .btn-twitter.focus,.btn-twitter.disabled:active,.btn-twitter[disabled]:active,fieldset[disabled] .btn-twitter:active,.btn-twitter.disabled.active,.btn-twitter[disabled].active,fieldset[disabled] .btn-twitter.active{background-color:#55acee;border-color:rgba(0,0,0,0.2);}.btn-twitter .badge{color:#55acee;background-color:#fff;}.btn-vimeo{color:#fff;background-color:#1ab7ea;border-color:rgba(0,0,0,0.2);}.btn-vimeo:focus,.btn-vimeo.focus{color:#fff;background-color:#1295bf;border-color:rgba(0,0,0,0.2);}.btn-vimeo:hover{color:#fff;background-color:#1295bf;border-color:rgba(0,0,0,0.2);}.btn-vimeo:active,.btn-vimeo.active,.open > .dropdown-toggle.btn-vimeo{color:#fff;background-color:#1295bf;border-color:rgba(0,0,0,0.2);}.btn-vimeo:active:hover,.btn-vimeo.active:hover,.open > .dropdown-toggle.btn-vimeo:hover,.btn-vimeo:active:focus,.btn-vimeo.active:focus,.open > .dropdown-toggle.btn-vimeo:focus,.btn-vimeo:active.focus,.btn-vimeo.active.focus,.open > .dropdown-toggle.btn-vimeo.focus{color:#fff;background-color:#0f7b9f;border-color:rgba(0,0,0,0.2);}.btn-vimeo:active,.btn-vimeo.active,.open > .dropdown-toggle.btn-vimeo{background-image:none;}.btn-vimeo.disabled,.btn-vimeo[disabled],fieldset[disabled] .btn-vimeo,.btn-vimeo.disabled:hover,.btn-vimeo[disabled]:hover,fieldset[disabled] .btn-vimeo:hover,.btn-vimeo.disabled:focus,.btn-vimeo[disabled]:focus,fieldset[disabled] .btn-vimeo:focus,.btn-vimeo.disabled.focus,.btn-vimeo[disabled].focus,fieldset[disabled] .btn-vimeo.focus,.btn-vimeo.disabled:active,.btn-vimeo[disabled]:active,fieldset[disabled] .btn-vimeo:active,.btn-vimeo.disabled.active,.btn-vimeo[disabled].active,fieldset[disabled] .btn-vimeo.active{background-color:#1ab7ea;border-color:rgba(0,0,0,0.2);}.btn-vimeo .badge{color:#1ab7ea;background-color:#fff;}.btn-vk{color:#fff;background-color:#587ea3;border-color:rgba(0,0,0,0.2);}.btn-vk:focus,.btn-vk.focus{color:#fff;background-color:#466482;border-color:rgba(0,0,0,0.2);}.btn-vk:hover{color:#fff;background-color:#466482;border-color:rgba(0,0,0,0.2);}.btn-vk:active,.btn-vk.active,.open > .dropdown-toggle.btn-vk{color:#fff;background-color:#466482;border-color:rgba(0,0,0,0.2);}.btn-vk:active:hover,.btn-vk.active:hover,.open > .dropdown-toggle.btn-vk:hover,.btn-vk:active:focus,.btn-vk.active:focus,.open > .dropdown-toggle.btn-vk:focus,.btn-vk:active.focus,.btn-vk.active.focus,.open > .dropdown-toggle.btn-vk.focus{color:#fff;background-color:#3a526b;border-color:rgba(0,0,0,0.2);}.btn-vk:active,.btn-vk.active,.open > .dropdown-toggle.btn-vk{background-image:none;}.btn-vk.disabled,.btn-vk[disabled],fieldset[disabled] .btn-vk,.btn-vk.disabled:hover,.btn-vk[disabled]:hover,fieldset[disabled] .btn-vk:hover,.btn-vk.disabled:focus,.btn-vk[disabled]:focus,fieldset[disabled] .btn-vk:focus,.btn-vk.disabled.focus,.btn-vk[disabled].focus,fieldset[disabled] .btn-vk.focus,.btn-vk.disabled:active,.btn-vk[disabled]:active,fieldset[disabled] .btn-vk:active,.btn-vk.disabled.active,.btn-vk[disabled].active,fieldset[disabled] .btn-vk.active{background-color:#587ea3;border-color:rgba(0,0,0,0.2);}.btn-vk .badge{color:#587ea3;background-color:#fff;}.btn-yahoo{color:#fff;background-color:#720e9e;border-color:rgba(0,0,0,0.2);}.btn-yahoo:focus,.btn-yahoo.focus{color:#fff;background-color:#500a6f;border-color:rgba(0,0,0,0.2);}.btn-yahoo:hover{color:#fff;background-color:#500a6f;border-color:rgba(0,0,0,0.2);}.btn-yahoo:active,.btn-yahoo.active,.open > .dropdown-toggle.btn-yahoo{color:#fff;background-color:#500a6f;border-color:rgba(0,0,0,0.2);}.btn-yahoo:active:hover,.btn-yahoo.active:hover,.open > .dropdown-toggle.btn-yahoo:hover,.btn-yahoo:active:focus,.btn-yahoo.active:focus,.open > .dropdown-toggle.btn-yahoo:focus,.btn-yahoo:active.focus,.btn-yahoo.active.focus,.open > .dropdown-toggle.btn-yahoo.focus{color:#fff;background-color:#39074e;border-color:rgba(0,0,0,0.2);}.btn-yahoo:active,.btn-yahoo.active,.open > .dropdown-toggle.btn-yahoo{background-image:none;}.btn-yahoo.disabled,.btn-yahoo[disabled],fieldset[disabled] .btn-yahoo,.btn-yahoo.disabled:hover,.btn-yahoo[disabled]:hover,fieldset[disabled] .btn-yahoo:hover,.btn-yahoo.disabled:focus,.btn-yahoo[disabled]:focus,fieldset[disabled] .btn-yahoo:focus,.btn-yahoo.disabled.focus,.btn-yahoo[disabled].focus,fieldset[disabled] .btn-yahoo.focus,.btn-yahoo.disabled:active,.btn-yahoo[disabled]:active,fieldset[disabled] .btn-yahoo:active,.btn-yahoo.disabled.active,.btn-yahoo[disabled].active,fieldset[disabled] .btn-yahoo.active{background-color:#720e9e;border-color:rgba(0,0,0,0.2);}.btn-yahoo .badge{color:#720e9e;background-color:#fff;}.fc-button{background:#f4f4f4;background-image:none;color:#444;border-color:#ddd;border-bottom-color:#ddd;}.fc-button:hover,.fc-button:active,.fc-button.hover{background-color:#e9e9e9;}.fc-header-title h2{font-size:15px;line-height:1.6em;color:#666;margin-left:10px;}.fc-header-right{padding-right:10px;}.fc-header-left{padding-left:10px;}.fc-widget-header{background:#fafafa;}.fc-grid{width:100%;border:0;}.fc-widget-header:first-of-type,.fc-widget-content:first-of-type{border-left:0;border-right:0;}.fc-widget-header:last-of-type,.fc-widget-content:last-of-type{border-right:0;}.fc-toolbar{padding:10px;margin:0;}.fc-day-number{font-size:20px;font-weight:300;padding-right:10px;}.fc-color-picker{list-style:none;margin:0;padding:0;}.fc-color-picker > li{float:left;font-size:30px;margin-right:5px;line-height:30px;}.fc-color-picker > li .fa{-webkit-transition:-webkit-transform linear 0.3s;-moz-transition:-moz-transform linear 0.3s;-o-transition:-o-transform linear 0.3s;transition:transform linear 0.3s;}.fc-color-picker > li .fa:hover{-webkit-transform:rotate(30deg);-ms-transform:rotate(30deg);-o-transform:rotate(30deg);transform:rotate(30deg);}#add-new-event{-webkit-transition:all linear 0.3s;-o-transition:all linear 0.3s;transition:all linear 0.3s;}.external-event{padding:5px 10px;font-weight:bold;margin-bottom:4px;box-shadow:0 1px 1px rgba(0,0,0,0.1);text-shadow:0 1px 1px rgba(0,0,0,0.1);border-radius:3px;cursor:move;}.external-event:hover{box-shadow:inset 0 0 90px rgba(0,0,0,0.2);}.select2-container--default.select2-container--focus,.select2-selection.select2-container--focus,.select2-container--default:focus,.select2-selection:focus,.select2-container--default:active,.select2-selection:active{outline:none;}.select2-container--default .select2-selection--single,.select2-selection .select2-selection--single{border:1px solid #d2d6de;border-radius:0;padding:6px 12px;height:34px;}.select2-container--default.select2-container--open{border-color:#3c8dbc;}.select2-dropdown{border:1px solid #d2d6de;border-radius:0;}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#3c8dbc;color:white;}.select2-results__option{padding:6px 12px;user-select:none;-webkit-user-select:none;}.select2-container .select2-selection--single .select2-selection__rendered{padding-left:0;padding-right:0;height:auto;margin-top:-4px;}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:6px;padding-left:20px;}.select2-container--default .select2-selection--single .select2-selection__arrow{height:28px;right:3px;}.select2-container--default .select2-selection--single .select2-selection__arrow b{margin-top:0;}.select2-dropdown .select2-search__field,.select2-search--inline .select2-search__field{border:1px solid #d2d6de;}.select2-dropdown .select2-search__field:focus,.select2-search--inline .select2-search__field:focus{outline:none;border:1px solid #3c8dbc;}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999;}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd;}.select2-container--default .select2-results__option[aria-selected=true],.select2-container--default .select2-results__option[aria-selected=true]:hover{color:#444;}.select2-container--default .select2-selection--multiple{border:1px solid #d2d6de;border-radius:0;}.select2-container--default .select2-selection--multiple:focus{border-color:#3c8dbc;}.select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#d2d6de;}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#3c8dbc;border-color:#367fa9;padding:1px 10px;color:#fff;}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{margin-right:5px;color:rgba(255,255,255,0.7);}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff;}.select2-container .select2-selection--single .select2-selection__rendered{padding-right:10px;}.pad{padding:10px;}.margin{margin:10px;}.margin-bottom{margin-bottom:20px;}.margin-bottom-none{margin-bottom:0;}.margin-r-5{margin-right:5px;}.inline{display:inline;}.description-block{display:block;margin:10px 0;text-align:center;}.description-block.margin-bottom{margin-bottom:25px;}.description-block > .description-header{margin:0;padding:0;font-weight:600;font-size:16px;}.description-block > .description-text{text-transform:uppercase;}.bg-red,.bg-yellow,.bg-aqua,.bg-blue,.bg-light-blue,.bg-green,.bg-navy,.bg-teal,.bg-olive,.bg-lime,.bg-orange,.bg-fuchsia,.bg-purple,.bg-maroon,.bg-black,.bg-red-active,.bg-yellow-active,.bg-aqua-active,.bg-blue-active,.bg-light-blue-active,.bg-green-active,.bg-navy-active,.bg-teal-active,.bg-olive-active,.bg-lime-active,.bg-orange-active,.bg-fuchsia-active,.bg-purple-active,.bg-maroon-active,.bg-black-active,.callout.callout-danger,.callout.callout-warning,.callout.callout-info,.callout.callout-success,.alert-success,.alert-danger,.alert-error,.alert-warning,.alert-info,.modal-primary .modal-body,.modal-primary .modal-header,.modal-primary .modal-footer,.modal-warning .modal-body,.modal-warning .modal-header,.modal-warning .modal-footer,.modal-info .modal-body,.modal-info .modal-header,.modal-info .modal-footer,.modal-success .modal-body,.modal-success .modal-header,.modal-success .modal-footer,.modal-danger .modal-body,.modal-danger .modal-header,.modal-danger .modal-footer{color:#fff !important;}.bg-gray{color:#000;background-color:#d2d6de !important;}.bg-gray-light{background-color:#f7f7f7;}.bg-black{background-color:#111 !important;}.bg-red,.callout.callout-danger,.alert-danger,.alert-error,.modal-danger .modal-body{background-color:#e74c3c !important;}.bg-yellow,.callout.callout-warning,.alert-warning,.modal-warning .modal-body{background-color:#f39c12 !important;}.bg-aqua,.callout.callout-info,.alert-info,.modal-info .modal-body{background-color:#3498db !important;}.bg-blue{background-color:#0073b7 !important;}.bg-light-blue,.modal-primary .modal-body{background-color:#3c8dbc !important;}.bg-green,.callout.callout-success,.alert-success,.modal-success .modal-body{background-color:#18bc9c !important;}.bg-navy{background-color:#001F3F !important;}.bg-teal{background-color:#39CCCC !important;}.bg-olive{background-color:#3D9970 !important;}.bg-lime{background-color:#01FF70 !important;}.bg-orange{background-color:#FF851B !important;}.bg-fuchsia{background-color:#F012BE !important;}.bg-purple{background-color:#605ca8 !important;}.bg-maroon{background-color:#D81B60 !important;}.bg-gray-active{color:#000;background-color:#b5bbc8 !important;}.bg-black-active{background-color:#000000 !important;}.bg-red-active,.modal-danger .modal-header,.modal-danger .modal-footer{background-color:#e43321 !important;}.bg-yellow-active,.modal-warning .modal-header,.modal-warning .modal-footer{background-color:#db8b0b !important;}.bg-aqua-active,.modal-info .modal-header,.modal-info .modal-footer{background-color:#2489cc !important;}.bg-blue-active{background-color:#005384 !important;}.bg-light-blue-active,.modal-primary .modal-header,.modal-primary .modal-footer{background-color:#357ca5 !important;}.bg-green-active,.modal-success .modal-header,.modal-success .modal-footer{background-color:#15a589 !important;}.bg-navy-active{background-color:#001a35 !important;}.bg-teal-active{background-color:#30bbbb !important;}.bg-olive-active{background-color:#368763 !important;}.bg-lime-active{background-color:#00e765 !important;}.bg-orange-active{background-color:#ff7701 !important;}.bg-fuchsia-active{background-color:#db0ead !important;}.bg-purple-active{background-color:#555299 !important;}.bg-maroon-active{background-color:#ca195a !important;}[class^="bg-"].disabled{opacity:0.65;filter:alpha(opacity=65);}.text-red{color:#e74c3c !important;}.text-yellow{color:#f39c12 !important;}.text-aqua{color:#3498db !important;}.text-blue{color:#0073b7 !important;}.text-black{color:#111 !important;}.text-light-blue{color:#3c8dbc !important;}.text-green{color:#18bc9c !important;}.text-gray{color:#d2d6de !important;}.text-navy{color:#001F3F !important;}.text-teal{color:#39CCCC !important;}.text-olive{color:#3D9970 !important;}.text-lime{color:#01FF70 !important;}.text-orange{color:#FF851B !important;}.text-fuchsia{color:#F012BE !important;}.text-purple{color:#605ca8 !important;}.text-maroon{color:#D81B60 !important;}.link-muted{color:#7a869d;}.link-muted:hover,.link-muted:focus{color:#606c84;}.link-black{color:#666;}.link-black:hover,.link-black:focus{color:#999;}.hide{display:none !important;}.no-border{border:0 !important;}.no-padding{padding:0 !important;}.no-margin{margin:0 !important;}.no-shadow{box-shadow:none !important;}.list-unstyled,.chart-legend,.contacts-list,.users-list,.mailbox-attachments{list-style:none;margin:0;padding:0;}.list-group-unbordered > .list-group-item{border-left:0;border-right:0;border-radius:0;padding-left:0;padding-right:0;}.flat{border-radius:0 !important;}.text-bold,.text-bold.table td,.text-bold.table th{font-weight:700;}.text-sm{font-size:12px;}.jqstooltip{padding:5px !important;width:auto !important;height:auto !important;}.bg-teal-gradient{background:#39CCCC !important;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#39CCCC),color-stop(1,#7adddd)) !important;background:-ms-linear-gradient(bottom,#39CCCC,#7adddd) !important;background:-moz-linear-gradient(center bottom,#39CCCC 0%,#7adddd 100%) !important;background:-o-linear-gradient(#7adddd,#39CCCC) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#7adddd',endColorstr='#39CCCC',GradientType=0) !important;color:#fff;}.bg-light-blue-gradient{background:#3c8dbc !important;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#3c8dbc),color-stop(1,#67a8ce)) !important;background:-ms-linear-gradient(bottom,#3c8dbc,#67a8ce) !important;background:-moz-linear-gradient(center bottom,#3c8dbc 0%,#67a8ce 100%) !important;background:-o-linear-gradient(#67a8ce,#3c8dbc) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#67a8ce',endColorstr='#3c8dbc',GradientType=0) !important;color:#fff;}.bg-blue-gradient{background:#0073b7 !important;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#0073b7),color-stop(1,#0089db)) !important;background:-ms-linear-gradient(bottom,#0073b7,#0089db) !important;background:-moz-linear-gradient(center bottom,#0073b7 0%,#0089db 100%) !important;background:-o-linear-gradient(#0089db,#0073b7) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0089db',endColorstr='#0073b7',GradientType=0) !important;color:#fff;}.bg-aqua-gradient{background:#3498db !important;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#3498db),color-stop(1,#52a7e0)) !important;background:-ms-linear-gradient(bottom,#3498db,#52a7e0) !important;background:-moz-linear-gradient(center bottom,#3498db 0%,#52a7e0 100%) !important;background:-o-linear-gradient(#52a7e0,#3498db) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#52a7e0',endColorstr='#3498db',GradientType=0) !important;color:#fff;}.bg-yellow-gradient{background:#f39c12 !important;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#f39c12),color-stop(1,#f7bc60)) !important;background:-ms-linear-gradient(bottom,#f39c12,#f7bc60) !important;background:-moz-linear-gradient(center bottom,#f39c12 0%,#f7bc60 100%) !important;background:-o-linear-gradient(#f7bc60,#f39c12) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f7bc60',endColorstr='#f39c12',GradientType=0) !important;color:#fff;}.bg-purple-gradient{background:#605ca8 !important;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#605ca8),color-stop(1,#9491c4)) !important;background:-ms-linear-gradient(bottom,#605ca8,#9491c4) !important;background:-moz-linear-gradient(center bottom,#605ca8 0%,#9491c4 100%) !important;background:-o-linear-gradient(#9491c4,#605ca8) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#9491c4',endColorstr='#605ca8',GradientType=0) !important;color:#fff;}.bg-green-gradient{background:#18bc9c !important;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#18bc9c),color-stop(1,#1cdcb6)) !important;background:-ms-linear-gradient(bottom,#18bc9c,#1cdcb6) !important;background:-moz-linear-gradient(center bottom,#18bc9c 0%,#1cdcb6 100%) !important;background:-o-linear-gradient(#1cdcb6,#18bc9c) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#1cdcb6',endColorstr='#18bc9c',GradientType=0) !important;color:#fff;}.bg-red-gradient{background:#e74c3c !important;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#e74c3c),color-stop(1,#ed7669)) !important;background:-ms-linear-gradient(bottom,#e74c3c,#ed7669) !important;background:-moz-linear-gradient(center bottom,#e74c3c 0%,#ed7669 100%) !important;background:-o-linear-gradient(#ed7669,#e74c3c) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ed7669',endColorstr='#e74c3c',GradientType=0) !important;color:#fff;}.bg-black-gradient{background:#111 !important;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#111),color-stop(1,#2b2b2b)) !important;background:-ms-linear-gradient(bottom,#111,#2b2b2b) !important;background:-moz-linear-gradient(center bottom,#111 0%,#2b2b2b 100%) !important;background:-o-linear-gradient(#2b2b2b,#111) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#2b2b2b',endColorstr='#111',GradientType=0) !important;color:#fff;}.bg-maroon-gradient{background:#D81B60 !important;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#D81B60),color-stop(1,#e73f7c)) !important;background:-ms-linear-gradient(bottom,#D81B60,#e73f7c) !important;background:-moz-linear-gradient(center bottom,#D81B60 0%,#e73f7c 100%) !important;background:-o-linear-gradient(#e73f7c,#D81B60) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e73f7c',endColorstr='#D81B60',GradientType=0) !important;color:#fff;}.description-block .description-icon{font-size:16px;}.no-pad-top{padding-top:0;}.position-static{position:static !important;}.list-header{font-size:15px;padding:10px 4px;font-weight:bold;color:#666;}.list-seperator{height:1px;background:#f4f4f4;margin:15px 0 9px 0;}.list-link > a{padding:4px;color:#777;}.list-link > a:hover{color:#222;}.font-light{font-weight:300;}.user-block:before,.user-block:after{content:" ";display:table;}.user-block:after{clear:both;}.user-block:before,.user-block:after{content:" ";display:table;}.user-block:after{clear:both;}.user-block img{width:40px;height:40px;float:left;}.user-block .username,.user-block .description,.user-block .comment{display:block;margin-left:50px;}.user-block .username{font-size:16px;font-weight:600;}.user-block .description{color:#999;font-size:13px;}.user-block.user-block-sm .username,.user-block.user-block-sm .description,.user-block.user-block-sm .comment{margin-left:40px;}.user-block.user-block-sm .username{font-size:14px;}.img-sm,.img-md,.img-lg,.box-comments .box-comment img,.user-block.user-block-sm img{float:left;}.img-sm,.box-comments .box-comment img,.user-block.user-block-sm img{width:30px !important;height:30px !important;}.img-sm + .img-push{margin-left:40px;}.img-md{width:60px;height:60px;}.img-md + .img-push{margin-left:70px;}.img-lg{width:100px;height:100px;}.img-lg + .img-push{margin-left:110px;}.img-bordered{border:3px solid #d2d6de;padding:3px;}.img-bordered-sm{border:2px solid #d2d6de;padding:2px;}.attachment-block{border:1px solid #f4f4f4;padding:5px;margin-bottom:10px;background:#f7f7f7;}.attachment-block .attachment-img{max-width:100px;max-height:100px;height:auto;float:left;}.attachment-block .attachment-pushed{margin-left:110px;}.attachment-block .attachment-heading{margin:0;}.attachment-block .attachment-text{color:#555;}.connectedSortable{min-height:100px;}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;}.sort-highlight{background:#f4f4f4;border:1px dashed #ddd;margin-bottom:10px;}.full-opacity-hover{opacity:0.65;filter:alpha(opacity=65);}.full-opacity-hover:hover{opacity:1;filter:alpha(opacity=100);}.chart{position:relative;overflow:hidden;width:100%;}.chart svg,.chart canvas{width:100% !important;}@media print{.no-print,.main-sidebar,.left-side,.main-header,.content-header{display:none !important;}.content-wrapper,.right-side,.main-footer{margin-left:0 !important;min-height:0 !important;-webkit-transform:translate(0,0) !important;-ms-transform:translate(0,0) !important;-o-transform:translate(0,0) !important;transform:translate(0,0) !important;}.fixed .content-wrapper,.fixed .right-side{padding-top:0 !important;}.invoice{width:100%;border:0;margin:0;padding:0;}.invoice-col{float:left;width:33.3333333%;}.table-responsive{overflow:auto;}.table-responsive > .table tr th,.table-responsive > .table tr td{white-space:normal !important;}}@font-face{font-family:"iconfont";src:url(../fonts/iconfont/iconfont.eot?t=1487643189178);src:url(../fonts/iconfont/iconfont.eot?t=1487643189178#iefix) format('embedded-opentype'),url(../fonts/iconfont/iconfont.woff?t=1487643189178) format('woff'),url(../fonts/iconfont/iconfont.ttf?t=1487643189178) format('truetype'),url(../fonts/iconfont/iconfont.svg?t=1487643189178#iconfont) format('svg');}.iconfont{font-family:"iconfont" !important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}.icon-max:before{content:"\e623";}.icon-restore:before{content:"\e624";}.icon-min:before{content:"\e625";}.icon-close:before{content:"\e626";}/*! * Font Awesome 4.7.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(../libs/font-awesome/fonts/fontawesome-webfont.eot?v=4.7.0);src:url(../libs/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0) format('embedded-opentype'),url(../libs/font-awesome/fonts/fontawesome-webfont.woff2?v=4.7.0) format('woff2'),url(../libs/font-awesome/fonts/fontawesome-webfont.woff?v=4.7.0) format('woff'),url(../libs/font-awesome/fonts/fontawesome-webfont.ttf?v=4.7.0) format('truetype'),url(../libs/font-awesome/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular) format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0,mirror=1)";-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2,mirror=1)";-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.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-pp: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-resistance: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-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.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-intersex:before,.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-genderless:before{content:"\f22d"}.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"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;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}.toast-title{font-weight:700}.toast-message{-ms-word-wrap:break-word;word-wrap:break-word}.toast-message a,.toast-message label{color:#FFF}.toast-message a:hover{color:#CCC;text-decoration:none}.toast-close-button{position:relative;right:-.3em;top:-.3em;float:right;font-size:20px;font-weight:700;color:#FFF;-webkit-text-shadow:0 1px 0 #fff;text-shadow:0 1px 0 #fff;opacity:.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80);line-height:1}.toast-close-button:focus,.toast-close-button:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}.rtl .toast-close-button{left:-.3em;float:left;right:.3em}button.toast-close-button{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.toast-top-center{top:0;right:0;width:100%}.toast-bottom-center{bottom:0;right:0;width:100%}.toast-top-full-width{top:0;right:0;width:100%}.toast-bottom-full-width{bottom:0;right:0;width:100%}.toast-top-left{top:12px;left:12px}.toast-top-right{top:12px;right:12px}.toast-bottom-right{right:12px;bottom:12px}.toast-bottom-left{bottom:12px;left:12px}#toast-container{position:fixed;z-index:999999;pointer-events:none}#toast-container *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}#toast-container>div{position:relative;pointer-events:auto;overflow:hidden;margin:0 0 6px;padding:15px 15px 15px 50px;width:300px;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-position:15px center;background-repeat:no-repeat;-moz-box-shadow:0 0 12px #999;-webkit-box-shadow:0 0 12px #999;box-shadow:0 0 12px #999;color:#FFF;opacity:.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80)}#toast-container>div.rtl{direction:rtl;padding:15px 50px 15px 15px;background-position:right 15px center}#toast-container>div:hover{-moz-box-shadow:0 0 12px #000;-webkit-box-shadow:0 0 12px #000;box-shadow:0 0 12px #000;opacity:1;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);filter:alpha(opacity=100);cursor:pointer}#toast-container>.toast-info{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=)!important}#toast-container>.toast-error{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=)!important}#toast-container>.toast-success{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==)!important}#toast-container>.toast-warning{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=)!important}#toast-container.toast-bottom-center>div,#toast-container.toast-top-center>div{width:300px;margin-left:auto;margin-right:auto}#toast-container.toast-bottom-full-width>div,#toast-container.toast-top-full-width>div{width:96%;margin-left:auto;margin-right:auto}.toast{background-color:#030303}.toast-success{background-color:#51A351}.toast-error{background-color:#BD362F}.toast-info{background-color:#2F96B4}.toast-warning{background-color:#F89406}.toast-progress{position:absolute;left:0;bottom:0;height:4px;background-color:#000;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}@media all and (max-width:240px){#toast-container>div{padding:8px 8px 8px 50px;width:11em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-.2em;top:-.2em}#toast-container .rtl .toast-close-button{left:-.2em;right:.2em}}@media all and (min-width:241px) and (max-width:480px){#toast-container>div{padding:8px 8px 8px 50px;width:18em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-.2em;top:-.2em}#toast-container .rtl .toast-close-button{left:-.2em;right:.2em}}@media all and (min-width:481px) and (max-width:768px){#toast-container>div{padding:15px 15px 15px 50px;width:25em}#toast-container>div.rtl{padding:15px 50px 15px 15px}}.layui-layer-imgbar,.layui-layer-imgtit a,.layui-layer-tab .layui-layer-title span,.layui-layer-title{text-overflow:ellipsis;white-space:nowrap}html #layuicss-layer{display:none;position:absolute;width:1989px}.layui-layer,.layui-layer-shade{position:fixed;_position:absolute;pointer-events:auto}.layui-layer-shade{top:0;left:0;width:100%;height:100%;_height:expression(document.body.offsetHeight+"px")}.layui-layer{-webkit-overflow-scrolling:touch;top:150px;left:0;margin:0;padding:0;background-color:#fff;-webkit-background-clip:content;border-radius:2px;box-shadow:1px 1px 50px rgba(0,0,0,.3)}.layui-layer-close{position:absolute}.layui-layer-content{position:relative}.layui-layer-border{border:1px solid #B2B2B2;border:1px solid rgba(0,0,0,.1);box-shadow:1px 1px 5px rgba(0,0,0,.2)}.layui-layer-load{background:url(../libs/fastadmin-layer/dist/theme/default/loading-1.gif) center center no-repeat #eee}.layui-layer-ico{background:url(../libs/fastadmin-layer/dist/theme/default/icon.png) no-repeat}.layui-layer-btn a,.layui-layer-dialog .layui-layer-ico,.layui-layer-setwin a{display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-move{display:none;position:fixed;*position:absolute;left:0;top:0;width:100%;height:100%;cursor:move;opacity:0;filter:alpha(opacity=0);background-color:#fff;z-index:2147483647}.layui-layer-resize{position:absolute;width:15px;height:15px;right:0;bottom:0;cursor:se-resize}.layer-anim{-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.3s;animation-duration:.3s}@-webkit-keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-00{-webkit-animation-name:layer-bounceIn;animation-name:layer-bounceIn}@-webkit-keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);-ms-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);-ms-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-01{-webkit-animation-name:layer-zoomInDown;animation-name:layer-zoomInDown}@-webkit-keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.layer-anim-02{-webkit-animation-name:layer-fadeInUpBig;animation-name:layer-fadeInUpBig}@-webkit-keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);-ms-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);-ms-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-03{-webkit-animation-name:layer-zoomInLeft;animation-name:layer-zoomInLeft}@-webkit-keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}@keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);-ms-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);-ms-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}.layer-anim-04{-webkit-animation-name:layer-rollIn;animation-name:layer-rollIn}@keyframes layer-fadeIn{0%{opacity:0}100%{opacity:1}}.layer-anim-05{-webkit-animation-name:layer-fadeIn;animation-name:layer-fadeIn}@-webkit-keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}}.layer-anim-06{-webkit-animation-name:layer-shake;animation-name:layer-shake}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.layui-layer-title{padding:0 80px 0 20px;height:42px;line-height:42px;border-bottom:1px solid #eee;font-size:14px;color:#333;overflow:hidden;background-color:#F8F8F8;border-radius:2px 2px 0 0}.layui-layer-setwin{position:absolute;right:15px;*right:0;top:15px;font-size:0;line-height:initial}.layui-layer-setwin a{position:relative;width:16px;height:16px;margin-left:10px;font-size:12px;_overflow:hidden}.layui-layer-setwin .layui-layer-min cite{position:absolute;width:14px;height:2px;left:0;top:50%;margin-top:-1px;background-color:#2E2D3C;cursor:pointer;_overflow:hidden}.layui-layer-setwin .layui-layer-min:hover cite{background-color:#2D93CA}.layui-layer-setwin .layui-layer-max{background-position:-32px -40px}.layui-layer-setwin .layui-layer-max:hover{background-position:-16px -40px}.layui-layer-setwin .layui-layer-maxmin{background-position:-65px -40px}.layui-layer-setwin .layui-layer-maxmin:hover{background-position:-49px -40px}.layui-layer-setwin .layui-layer-close1{background-position:1px -40px;cursor:pointer}.layui-layer-setwin .layui-layer-close1:hover{opacity:.7}.layui-layer-setwin .layui-layer-close2{position:absolute;right:-28px;top:-28px;width:30px;height:30px;margin-left:0;background-position:-149px -31px;*right:-18px;_display:none}.layui-layer-setwin .layui-layer-close2:hover{background-position:-180px -31px}.layui-layer-btn{text-align:right;padding:0 15px 12px;pointer-events:auto;user-select:none;-webkit-user-select:none}.layui-layer-btn a{height:28px;line-height:28px;margin:5px 5px 0;padding:0 15px;border:1px solid #dedede;background-color:#fff;color:#333;border-radius:2px;font-weight:400;cursor:pointer;text-decoration:none}.layui-layer-btn a:hover{opacity:.9;text-decoration:none}.layui-layer-btn a:active{opacity:.8}.layui-layer-btn .layui-layer-btn0{border-color:#1E9FFF;background-color:#1E9FFF;color:#fff}.layui-layer-btn-l{text-align:left}.layui-layer-btn-c{text-align:center}.layui-layer-dialog{min-width:260px}.layui-layer-dialog .layui-layer-content{position:relative;padding:20px;line-height:24px;word-break:break-all;overflow:hidden;font-size:14px;overflow-x:hidden;overflow-y:auto}.layui-layer-dialog .layui-layer-content .layui-layer-ico{position:absolute;top:16px;left:15px;_left:-40px;width:30px;height:30px}.layui-layer-ico1{background-position:-30px 0}.layui-layer-ico2{background-position:-60px 0}.layui-layer-ico3{background-position:-90px 0}.layui-layer-ico4{background-position:-120px 0}.layui-layer-ico5{background-position:-150px 0}.layui-layer-ico6{background-position:-180px 0}.layui-layer-rim{border:6px solid #8D8D8D;border:6px solid rgba(0,0,0,.3);border-radius:5px;box-shadow:none}.layui-layer-msg{min-width:180px;border:1px solid #D3D4D3;box-shadow:none}.layui-layer-hui{min-width:100px;background-color:#000;filter:alpha(opacity=60);background-color:rgba(0,0,0,.6);color:#fff;border:none}.layui-layer-hui .layui-layer-content{padding:12px 25px;text-align:center}.layui-layer-dialog .layui-layer-padding{padding:20px 20px 20px 55px;text-align:left}.layui-layer-page .layui-layer-content{position:relative;overflow:auto}.layui-layer-iframe .layui-layer-btn,.layui-layer-page .layui-layer-btn{padding-top:10px}.layui-layer-nobg{background:0 0}.layui-layer-iframe iframe{display:block;width:100%}.layui-layer-loading{border-radius:100%;background:0 0;box-shadow:none;border:none}.layui-layer-loading .layui-layer-content{width:60px;height:24px;background:url(../libs/fastadmin-layer/dist/theme/default/loading-0.gif) no-repeat}.layui-layer-loading .layui-layer-loading1{width:37px;height:37px;background:url(../libs/fastadmin-layer/dist/theme/default/loading-1.gif) no-repeat}.layui-layer-ico16,.layui-layer-loading .layui-layer-loading2{width:32px;height:32px;background:url(../libs/fastadmin-layer/dist/theme/default/loading-2.gif) no-repeat}.layui-layer-tips{background:0 0;box-shadow:none;border:none}.layui-layer-tips .layui-layer-content{position:relative;line-height:22px;min-width:12px;padding:8px 15px;font-size:12px;_float:left;border-radius:2px;box-shadow:1px 1px 3px rgba(0,0,0,.2);background-color:#000;color:#fff}.layui-layer-tips .layui-layer-close{right:-2px;top:-1px}.layui-layer-tips i.layui-layer-TipsG{position:absolute;width:0;height:0;border-width:8px;border-color:transparent;border-style:dashed;*overflow:hidden}.layui-layer-tips i.layui-layer-TipsB,.layui-layer-tips i.layui-layer-TipsT{left:5px;border-right-style:solid;border-right-color:#000}.layui-layer-tips i.layui-layer-TipsT{bottom:-8px}.layui-layer-tips i.layui-layer-TipsB{top:-8px}.layui-layer-tips i.layui-layer-TipsL,.layui-layer-tips i.layui-layer-TipsR{top:5px;border-bottom-style:solid;border-bottom-color:#000}.layui-layer-tips i.layui-layer-TipsR{left:-8px}.layui-layer-tips i.layui-layer-TipsL{right:-8px}.layui-layer-lan[type=dialog]{min-width:280px}.layui-layer-lan .layui-layer-title{background:#4476A7;color:#fff;border:none}.layui-layer-lan .layui-layer-btn{padding:5px 10px 10px;text-align:right;border-top:1px solid #E9E7E7}.layui-layer-lan .layui-layer-btn a{background:#fff;border-color:#E9E7E7;color:#333}.layui-layer-lan .layui-layer-btn .layui-layer-btn1{background:#C9C5C5}.layui-layer-molv .layui-layer-title{background:#009f95;color:#fff;border:none}.layui-layer-molv .layui-layer-btn a{background:#009f95;border-color:#009f95}.layui-layer-molv .layui-layer-btn .layui-layer-btn1{background:#92B8B1}.layui-layer-iconext{background:url(../libs/fastadmin-layer/dist/theme/default/icon-ext.png) no-repeat}.layui-layer-prompt .layui-layer-input{display:block;width:230px;height:36px;margin:0 auto;line-height:30px;padding-left:10px;border:1px solid #e6e6e6;color:#333}.layui-layer-prompt textarea.layui-layer-input{width:300px;height:100px;line-height:20px;padding:6px 10px}.layui-layer-prompt .layui-layer-content{padding:20px}.layui-layer-prompt .layui-layer-btn{padding-top:0}.layui-layer-tab{box-shadow:1px 1px 50px rgba(0,0,0,.4)}.layui-layer-tab .layui-layer-title{padding-left:0;overflow:visible}.layui-layer-tab .layui-layer-title span{position:relative;float:left;min-width:80px;max-width:260px;padding:0 20px;text-align:center;overflow:hidden;cursor:pointer}.layui-layer-tab .layui-layer-title span.layui-this{height:43px;border-left:1px solid #eee;border-right:1px solid #eee;background-color:#fff;z-index:10}.layui-layer-tab .layui-layer-title span:first-child{border-left:none}.layui-layer-tabmain{line-height:24px;clear:both}.layui-layer-tabmain .layui-layer-tabli{display:none}.layui-layer-tabmain .layui-layer-tabli.layui-this{display:block}.layui-layer-photos{-webkit-animation-duration:.8s;animation-duration:.8s}.layui-layer-photos .layui-layer-content{overflow:hidden;text-align:center}.layui-layer-photos .layui-layer-phimg img{position:relative;width:100%;display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-imgbar,.layui-layer-imguide{display:none}.layui-layer-imgnext,.layui-layer-imgprev{position:absolute;top:50%;width:27px;_width:44px;height:44px;margin-top:-22px;outline:0;blr:expression(this.onFocus=this.blur())}.layui-layer-imgprev{left:10px;background-position:-5px -5px;_background-position:-70px -5px}.layui-layer-imgprev:hover{background-position:-33px -5px;_background-position:-120px -5px}.layui-layer-imgnext{right:10px;_right:8px;background-position:-5px -50px;_background-position:-70px -50px}.layui-layer-imgnext:hover{background-position:-33px -50px;_background-position:-120px -50px}.layui-layer-imgbar{position:absolute;left:0;bottom:0;width:100%;height:32px;line-height:32px;background-color:rgba(0,0,0,.8);background-color:#000\9;filter:Alpha(opacity=80);color:#fff;overflow:hidden;font-size:0}.layui-layer-imgtit *{display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:12px}.layui-layer-imgtit a{max-width:65%;overflow:hidden;color:#fff}.layui-layer-imgtit a:hover{color:#fff;text-decoration:underline}.layui-layer-imgtit em{padding-left:10px;font-style:normal}@-webkit-keyframes layer-bounceOut{100%{opacity:0;-webkit-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceOut{100%{opacity:0;-webkit-transform:scale(.7);-ms-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-close{-webkit-animation-name:layer-bounceOut;animation-name:layer-bounceOut;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.2s;animation-duration:.2s}@media screen and (max-width:1100px){.layui-layer-iframe{overflow-y:auto;-webkit-overflow-scrolling:touch}}.daterangepicker{position:absolute;color:inherit;background-color:#fff;border-radius:4px;width:278px;padding:4px;margin-top:1px;top:100px;left:20px;}.daterangepicker:before,.daterangepicker:after{position:absolute;display:inline-block;border-bottom-color:rgba(0,0,0,0.2);content:'';}.daterangepicker:before{top:-7px;border-right:7px solid transparent;border-left:7px solid transparent;border-bottom:7px solid #ccc;}.daterangepicker:after{top:-6px;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;}.daterangepicker.opensleft:before{right:9px;}.daterangepicker.opensleft:after{right:10px;}.daterangepicker.openscenter:before{left:0;right:0;width:0;margin-left:auto;margin-right:auto;}.daterangepicker.openscenter:after{left:0;right:0;width:0;margin-left:auto;margin-right:auto;}.daterangepicker.opensright:before{left:9px;}.daterangepicker.opensright:after{left:10px;}.daterangepicker.dropup{margin-top:-5px;}.daterangepicker.dropup:before{top:initial;bottom:-7px;border-bottom:initial;border-top:7px solid #ccc;}.daterangepicker.dropup:after{top:initial;bottom:-6px;border-bottom:initial;border-top:6px solid #fff;}.daterangepicker.dropdown-menu{max-width:none;z-index:3001;}.daterangepicker.single .ranges,.daterangepicker.single .calendar{float:none;}.daterangepicker.show-calendar .calendar{display:block;}.daterangepicker .calendar{display:none;max-width:270px;margin:4px;}.daterangepicker .calendar.single .calendar-table{border:none;}.daterangepicker .calendar th,.daterangepicker .calendar td{white-space:nowrap;text-align:center;min-width:32px;}.daterangepicker .calendar-table{border:1px solid #fff;padding:4px;border-radius:4px;background-color:#fff;}.daterangepicker table{width:100%;margin:0;}.daterangepicker td,.daterangepicker th{text-align:center;width:20px;height:20px;border-radius:4px;border:1px solid transparent;white-space:nowrap;cursor:pointer;}.daterangepicker td.available:hover,.daterangepicker th.available:hover{background-color:#eee;border-color:transparent;color:inherit;}.daterangepicker td.week,.daterangepicker th.week{font-size:80%;color:#ccc;}.daterangepicker td.off,.daterangepicker td.off.in-range,.daterangepicker td.off.start-date,.daterangepicker td.off.end-date{background-color:#fff;border-color:transparent;color:#999;}.daterangepicker td.in-range{background-color:#ebf4f8;border-color:transparent;color:#000;border-radius:0;}.daterangepicker td.start-date{border-radius:4px 0 0 4px;}.daterangepicker td.end-date{border-radius:0 4px 4px 0;}.daterangepicker td.start-date.end-date{border-radius:4px;}.daterangepicker td.active,.daterangepicker td.active:hover{background-color:#357ebd;border-color:transparent;color:#fff;}.daterangepicker th.month{width:auto;}.daterangepicker td.disabled,.daterangepicker option.disabled{color:#999;cursor:not-allowed;text-decoration:line-through;}.daterangepicker select.monthselect,.daterangepicker select.yearselect{font-size:12px;padding:1px;height:auto;margin:0;cursor:default;}.daterangepicker select.monthselect{margin-right:2%;width:56%;}.daterangepicker select.yearselect{width:40%;}.daterangepicker select.hourselect,.daterangepicker select.minuteselect,.daterangepicker select.secondselect,.daterangepicker select.ampmselect{width:50px;margin-bottom:0;}.daterangepicker .input-mini{border:1px solid #ccc;border-radius:4px;color:#555;height:30px;line-height:30px;display:block;vertical-align:middle;margin:0 0 5px 0;padding:0 6px 0 28px;width:100%;}.daterangepicker .input-mini.active{border:1px solid #08c;border-radius:4px;}.daterangepicker .daterangepicker_input{position:relative;}.daterangepicker .daterangepicker_input i{position:absolute;left:8px;top:8px;}.daterangepicker.rtl .input-mini{padding-right:28px;padding-left:6px;}.daterangepicker.rtl .daterangepicker_input i{left:auto;right:8px;}.daterangepicker .calendar-time{text-align:center;margin:5px auto;line-height:30px;position:relative;padding-left:28px;}.daterangepicker .calendar-time select.disabled{color:#ccc;cursor:not-allowed;}.ranges{font-size:11px;float:none;margin:4px;text-align:left;}.ranges ul{list-style:none;margin:0 auto;padding:0;width:100%;}.ranges li{font-size:13px;background-color:#f5f5f5;border:1px solid #f5f5f5;border-radius:4px;color:#08c;padding:3px 12px;margin-bottom:8px;cursor:pointer;}.ranges li:hover{background-color:#08c;border:1px solid #08c;color:#fff;}.ranges li.active{background-color:#08c;border:1px solid #08c;color:#fff;}@media (min-width:564px){.daterangepicker{width:auto;}.daterangepicker .ranges ul{width:160px;}.daterangepicker.single .ranges ul{width:100%;}.daterangepicker.single .calendar.left{clear:none;}.daterangepicker.single.ltr .ranges,.daterangepicker.single.ltr .calendar{float:left;}.daterangepicker.single.rtl .ranges,.daterangepicker.single.rtl .calendar{float:right;}.daterangepicker.ltr{direction:ltr;text-align:left;}.daterangepicker.ltr .calendar.left{clear:left;margin-right:0;}.daterangepicker.ltr .calendar.left .calendar-table{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;}.daterangepicker.ltr .calendar.right{margin-left:0;}.daterangepicker.ltr .calendar.right .calendar-table{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0;}.daterangepicker.ltr .left .daterangepicker_input{padding-right:12px;}.daterangepicker.ltr .calendar.left .calendar-table{padding-right:12px;}.daterangepicker.ltr .ranges,.daterangepicker.ltr .calendar{float:left;}.daterangepicker.rtl{direction:rtl;text-align:right;}.daterangepicker.rtl .calendar.left{clear:right;margin-left:0;}.daterangepicker.rtl .calendar.left .calendar-table{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0;}.daterangepicker.rtl .calendar.right{margin-right:0;}.daterangepicker.rtl .calendar.right .calendar-table{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;}.daterangepicker.rtl .left .daterangepicker_input{padding-left:12px;}.daterangepicker.rtl .calendar.left .calendar-table{padding-left:12px;}.daterangepicker.rtl .ranges,.daterangepicker.rtl .calendar{text-align:right;float:right;}}@media (min-width:730px){.daterangepicker .ranges{width:auto;}.daterangepicker.ltr .ranges{float:left;}.daterangepicker.rtl .ranges{float:right;}.daterangepicker .calendar.left{clear:none !important;}}.n-inline-block,.nice-validator input,.nice-validator select,.nice-validator textarea,.nice-validator [contenteditable],.msg-wrap,.n-icon,.n-msg{display:inline-block;*display:inline;*zoom:1;}.nice-validator .msg-container .msg-box{display:block;}.nice-validator .msg-container .msg-wrap{position:static;}.msg-box{position:relative;*zoom:1;}.msg-wrap{position:relative;white-space:nowrap;line-height:16px;font-size:12px;}.msg-wrap,.n-icon,.n-msg{vertical-align:top;}.msg-box .msg-wrap .n-error,.msg-box .msg-wrap .n-ok,.msg-box .msg-wrap .n-tip{display:block;background:none;box-shadow:none;padding:3px 2px;}.n-arrow{position:absolute;overflow:hidden;}.n-arrow b,.n-arrow i{position:absolute;left:0;top:0;border:0;margin:0;padding:0;overflow:hidden;font-weight:400;font-style:normal;font-size:12px;font-family:serif;line-height:14px;_line-height:15px;}.n-arrow i{text-shadow:none;}.n-icon{width:16px;height:16px;overflow:hidden;background-repeat:no-repeat;}.n-msg{display:inline-block;*display:inline;*zoom:1;margin-left:1px;}.n-error{color:#c33;}.n-ok{color:#390;}.n-tip .n-msg,.n-loading{color:#808080;}.n-error .n-icon{background-position:0 0;}.n-ok .n-icon{background-position:-16px 0;}.n-tip .n-icon{background-position:-32px 0;}.n-loading .n-icon{background:url(../libs/nice-validator/dist/images/loading.gif) 0 center no-repeat !important;}.n-top,.n-right,.n-bottom,.n-left{display:inline-block;*display:inline;*zoom:1;line-height:0;vertical-align:top;outline:0;}.n-top .n-arrow,.n-bottom .n-arrow{height:6px;width:12px;left:8px;}.n-left .n-arrow,.n-right .n-arrow{width:6px;height:12px;top:6px;}.n-top{vertical-align:top;}.n-top .msg-wrap{margin-bottom:6px;}.n-top .n-arrow{bottom:-6px;}.n-top .n-arrow b{top:-6px;}.n-top .n-arrow i{top:-7px;}.n-bottom{vertical-align:bottom;}.n-bottom .msg-wrap{margin-top:6px;}.n-bottom .n-arrow{top:-6px;}.n-bottom .n-arrow b{top:-1px;}.n-bottom .n-arrow i{top:0;}.n-left .msg-wrap{right:100%;margin-right:6px;}.n-left .n-arrow{right:-6px;}.n-left .n-arrow b{left:-6px;}.n-left .n-arrow i{left:-7px;}.n-right .msg-wrap{margin-left:6px;}.n-right .n-arrow{left:-6px;}.n-right .n-arrow b{left:1px;}.n-right .n-arrow i{left:2px;}.n-default .n-left,.n-default .n-right{margin-top:5px;}.n-default .n-top .msg-wrap{bottom:100%;}.n-default .n-bottom .msg-wrap{top:100%;}.n-default .msg-wrap{position:absolute;z-index:1;}.n-default .msg-wrap .n-icon{background-image:url(../libs/nice-validator/dist/images/validator_default.png);}.n-default .n-tip .n-icon{display:none;}.n-simple .msg-wrap{position:absolute;z-index:1;}.n-simple .msg-wrap .n-icon{background-image:url(../libs/nice-validator/dist/images/validator_simple.png);}.n-simple .n-top .msg-wrap{bottom:100%;}.n-simple .n-bottom .msg-wrap{top:100%;}.n-simple .n-left,.n-simple .n-right{margin-top:5px;}.n-simple .n-bottom .msg-wrap{margin-top:3px;}.n-simple .n-tip .n-icon{display:none;}.n-yellow .msg-wrap{position:absolute;z-index:1;padding:4px 6px;font-size:12px;border:1px solid transparent;background-color:#fffcef;border-color:#ffbb76;color:#db7c22;box-shadow:0 1px 3px #ccc;border-radius:2px;}.n-yellow .msg-wrap .n-arrow b{color:#ffbb76;text-shadow:0 0 2px #ccc;}.n-yellow .msg-wrap .n-arrow i{color:#fffcef;}.n-yellow .msg-wrap .n-icon{background-image:url(../libs/nice-validator/dist/images/validator_simple.png);}.n-yellow .n-top .msg-wrap{bottom:100%;}.n-yellow .n-bottom .msg-wrap{top:100%;}.n-yellow .n-tip,.n-yellow .n-ok,.n-yellow .n-loading{background-color:#f8fdff;border-color:#ddd;color:#333;box-shadow:0 1px 3px #ccc;}.n-yellow .n-tip .n-arrow b,.n-yellow .n-ok .n-arrow b,.n-yellow .n-loading .n-arrow b{color:#ddd;text-shadow:0 0 2px #ccc;}.n-yellow .n-tip .n-arrow i,.n-yellow .n-ok .n-arrow i,.n-yellow .n-loading .n-arrow i{color:#f8fdff;}html,body{height:100%;}body{padding-top:50px;font-size:13px;}.dropdown:hover .dropdown-menu{display:block;margin-top:0;}.navbar{border:none;}.navbar-nav li > a{font-size:14px;}.toast-top-center{top:50px;}#toast-container > div{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}.nice-validator .note-editor .note-editing-area .note-editable{display:inherit;}.plupload-preview{padding:0 10px;margin-bottom:0;}.plupload-preview li{margin-top:10px;}.plupload-preview .thumbnail{margin-bottom:10px;}.plupload-preview a{display:block;}.plupload-preview a:first-child{height:90px;}.plupload-preview a img{height:80px;object-fit:cover;}.layui-layer-content{clear:both;}.layui-layer-fast-msg{min-width:100px;border-radius:2px;background-color:rgba(0,0,0,0.6);color:#fff;}.layui-layer-fast-msg .layui-layer-content{padding:12px 25px;text-align:center;}#header-navbar li.dropdown ul.dropdown-menu{min-width:94px;}form.form-horizontal .control-label{font-weight:normal;}.panel-default{padding:0 15px;border-color:#e4ecf3;}.panel-default > .panel-heading{position:relative;font-size:16px;padding:15px 0;background:#fff;border-bottom:1px solid #f5f5f5;}.panel-default > .panel-heading .panel-title{color:#313131;}.panel-default > .panel-heading .panel-title > i{display:none;}.panel-default > .panel-heading .more{position:absolute;top:13px;right:0;display:block;color:#919191;-webkit-transition:all 0.3s ease;-moz-transition:all 0.3s ease;-o-transition:all 0.3s ease;transition:all 0.3s ease;}.panel-default > .panel-heading .more:hover{color:#616161;-webkit-transition:all 0.3s ease;-moz-transition:all 0.3s ease;-o-transition:all 0.3s ease;transition:all 0.3s ease;}.panel-default > .panel-heading .panel-bar{position:absolute;top:7px;right:0;display:block;}@media (max-width:767px){.panel-default{padding:0 10px;}.panel-default > .panel-heading{padding:10px 0;}.panel-default > .panel-heading .more{top:8px;}> .panel-body{position:relative;padding:15px 0;}> .panel-footer{padding:15px 0;background:none;}}.panel-gray{-webkit-box-shadow:0 2px 4px rgba(0,0,0,0.08);-moz-box-shadow:0 2px 4px rgba(0,0,0,0.08);box-shadow:0 2px 4px rgba(0,0,0,0.08);}.panel-gray > .panel-heading{background-color:#f5f5f5;color:#919191;}.panel-gray > .panel-body{color:#919191;background:#fff;border-bottom-left-radius:4px;border-bottom-right-radius:4px;}.panel-page{padding:45px 50px 50px;min-height:500px;}.panel-page .panel-heading{background:transparent;border-bottom:none;margin:0 0 30px 0;padding:0;}.panel-page .panel-heading h2{font-size:25px;margin-top:0;}@media (max-width:767px){.panel-page{padding:15px;min-height:300px;}}.nav-pills > li{margin-right:5px;}.nav-pills > li > a{padding:10px 15px;color:#616161;-webkit-transition:all 0.3s ease;-moz-transition:all 0.3s ease;-o-transition:all 0.3s ease;transition:all 0.3s ease;}.nav-pills > li > a:hover{-webkit-transition:all 0.3s ease;-moz-transition:all 0.3s ease;-o-transition:all 0.3s ease;transition:all 0.3s ease;background-color:#f5f5f5;}.nav-pills > li.active > a{border:none;color:#fff;background:#46c37b;-webkit-transition:all 0.3s ease;-moz-transition:all 0.3s ease;-o-transition:all 0.3s ease;transition:all 0.3s ease;border-radius:3px;}.nav-pills.nav-pills-sm > li > a{font-size:12px;line-height:1.5;padding:4px 13px;}.fieldlist dd{display:block;margin:5px 0;}.fieldlist dd input{display:inline-block;width:300px;}.fieldlist dd input:first-child{width:110px;}.fieldlist dd ins{width:110px;display:inline-block;text-decoration:none;font-weight:bold;}.form-layer{height:100%;min-height:150px;min-width:300px;}.form-layer .form-body{width:100%;overflow:auto;top:0;position:absolute;z-index:10;bottom:50px;padding:15px;}.form-layer .form-footer{height:50px;line-height:50px;background-color:#ecf0f1;width:100%;position:absolute;z-index:200;bottom:0;margin:0;}.form-layer .form-footer .form-group{margin-left:0;margin-right:0;}footer.footer{width:100%;color:#aaa;background:#555;margin-top:25px;}footer.footer .copyright{line-height:50px;text-align:center;background:#393939;margin:0;}footer.footer .copyright a{color:#aaa;}footer.footer .copyright a:hover{color:#fff;}.rotate{-webkit-transition-duration:0.8s;-moz-transition-duration:0.8s;-o-transition-duration:0.8s;transition-duration:0.8s;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-property:-webkit-transform;-moz-transition-property:-moz-transform;-o-transition-property:-o-transform;transition-property:-webkit-transform,-moz-transform,-o-transform,transform;overflow:hidden;}.rotate:hover{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-o-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg);}.user-section{background:#fff;padding:15px;margin-bottom:20px;-webkit-border-radius:4px;-webkit-background-clip:padding-box;-moz-border-radius:4px;-moz-background-clip:padding;border-radius:4px;background-clip:padding-box;border:1px solid #e4ecf3;}.login-section{margin:50px auto;width:460px;-webkit-border-radius:0;-webkit-background-clip:padding-box;-moz-border-radius:0;-moz-background-clip:padding;border-radius:0;background-clip:padding-box;}.login-section.login-section-weixin{min-height:315px;}.login-section .logon-tab{margin:-15px -15px 0 -15px;}.login-section .logon-tab > a{display:block;padding:20px;float:left;width:50%;font-size:16px;text-align:center;color:#616161;background-color:#f5f5f5;-webkit-transition:all 0.3s ease;-moz-transition:all 0.3s ease;-o-transition:all 0.3s ease;transition:all 0.3s ease;}.login-section .logon-tab > a:hover{background-color:#fafafa;-webkit-transition:all 0.3s ease;-moz-transition:all 0.3s ease;-o-transition:all 0.3s ease;transition:all 0.3s ease;}.login-section .logon-tab > a.active{background-color:#fff;-webkit-transition:all 0.3s ease;-moz-transition:all 0.3s ease;-o-transition:all 0.3s ease;transition:all 0.3s ease;}.login-section .login-main{padding:40px 45px 20px 45px;}.login-section .control-label{font-size:13px;}.login-section .n-bootstrap .form-group{position:relative;}.login-section .n-bootstrap .input-group{position:inherit;}.login-section .n-bootstrap .n-right{margin-top:0;top:0;position:absolute;left:0;text-align:right;width:100%;}.login-section .n-bootstrap .n-right .msg-wrap{position:relative;}main.content{width:100%;overflow:auto;padding:15px;padding-top:20px;min-height:calc(100vh - 125px);}.sidenav{padding:20px 0 10px 0;margin-bottom:20px;background-color:#fff;-webkit-border-radius:4px;-webkit-background-clip:padding-box;-moz-border-radius:4px;-moz-background-clip:padding;border-radius:4px;background-clip:padding-box;border:1px solid #e4ecf3;}.sidenav .list-group:last-child{margin-bottom:0;}.sidenav .list-group .list-group-heading{list-style-type:none;color:#919191;margin-bottom:10px;margin-left:35px;font-size:14px;}.sidenav .list-group .list-group-item{-webkit-border-radius:0;-webkit-background-clip:padding-box;-moz-border-radius:0;-moz-background-clip:padding;border-radius:0;background-clip:padding-box;border:none;padding:0;border-left:2px solid transparent;}.sidenav .list-group .list-group-item:last-child,.sidenav .list-group .list-group-item:first-child{-webkit-border-radius:0;-webkit-background-clip:padding-box;-moz-border-radius:0;-moz-background-clip:padding;border-radius:0;background-clip:padding-box;}.sidenav .list-group .list-group-item:hover{background-color:#f5f5f5;}.sidenav .list-group .list-group-item > a{display:block;color:#616161;padding:10px 15px 10px 35px;}.sidenav .list-group .list-group-item.active{border-left:2px solid #46c37b;background:none;}.sidenav .list-group .list-group-item.active > a{color:#46c37b;}.nav li .avatar-text,.nav li .avatar-img{height:30px;width:30px;line-height:30px;font-size:14px;}.nav li .avatar-img{font-size:0;}.nav li .avatar-img img{border-radius:30px;width:30px;height:30px;}.avatar-text,.avatar-img{display:inline-block;box-sizing:content-box;color:#fff;text-align:center;vertical-align:top;background-color:#e8ecf3;font-weight:normal;width:48px;height:48px;border-radius:48px;font-size:24px;line-height:48px;}.avatar-img{font-size:0;}.avatar-img img{border-radius:48px;width:48px;height:48px;}@media (max-width:767px){main.content{position:inherit;padding:15px 0;}.login-section{width:100%;margin:20px auto;}.login-section .login-main{padding:20px 0 0 0;}footer.footer{position:inherit;}footer.footer .copyright{padding:10px;line-height:30px;}}.pager .pagination{margin:0;}.pager li{margin:0 .4em;display:inline-block;}.pager li:first-child > a,.pager li:last-child > a,.pager li:first-child > span,.pager li:last-child > span{padding:.5em 1.2em;}.pager li > a,.pager li > span{background:none;border:1px solid #e6e6e6;border-radius:0.25em;padding:.5em .93em;font-size:14px;} \ No newline at end of file diff --git a/public/assets/js/backend/addon.js b/public/assets/js/backend/addon.js index fb0fae9e..c483e11b 100644 --- a/public/assets/js/backend/addon.js +++ b/public/assets/js/backend/addon.js @@ -21,6 +21,21 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'template'], function }); } }); + table.on('load-error.bs.table', function (e, status, res) { + if (status == 404 && $(".btn-switch.active").data("type") != "local") { + Layer.confirm(__('Store now available tips'), { + title: __('Warmtips'), + btn: [__('Switch to the local'), __('Try to reload')] + }, function (index) { + layer.close(index); + $(".btn-switch[data-type='local']").trigger("click"); + }, function (index) { + layer.close(index); + table.bootstrapTable('refresh'); + }); + return false; + } + }); table.on('post-body.bs.table', function (e, settings, json, xhr) { var parenttable = table.closest('.bootstrap-table'); var d = $(".fixed-table-toolbar", parenttable).find(".search input"); diff --git a/public/assets/js/require-backend.min.js b/public/assets/js/require-backend.min.js index 23935be2..1cabcb40 100644 --- a/public/assets/js/require-backend.min.js +++ b/public/assets/js/require-backend.min.js @@ -749,8 +749,14 @@ define('fast',['jquery', 'bootstrap', 'toastr', 'layer', 'lang'], function ($, u return url; }, //获取修复后可访问的cdn链接 - cdnurl: function (url) { - return /^(?:[a-z]+:)?\/\//i.test(url) ? url : Config.upload.cdnurl + url; + cdnurl: function (url, domain) { + var rule = new RegExp("^((?:[a-z]+:)?\\/\\/|data:image\\/)", "i"); + var url = rule.test(url) ? url : Config.upload.cdnurl + url; + if (domain && !rule.test(url)) { + domain = typeof domain === 'string' ? domain : location.origin; + url = domain + url; + } + return url; }, //查询Url参数 query: function (name, url) { @@ -771,7 +777,7 @@ define('fast',['jquery', 'bootstrap', 'toastr', 'layer', 'lang'], function ($, u title = options && options.title ? options.title : (title ? title : ""); url = Fast.api.fixurl(url); url = url + (url.indexOf("?") > -1 ? "&" : "?") + "dialog=1"; - var area = [$(window).width() > 800 ? '800px' : '95%', $(window).height() > 600 ? '600px' : '95%']; + var area = Fast.config.openArea != undefined ? Fast.config.openArea : [$(window).width() > 800 ? '800px' : '95%', $(window).height() > 600 ? '600px' : '95%']; options = $.extend({ type: 2, title: title, @@ -6174,329 +6180,401 @@ define("../libs/plupload/js/moxie.min", function(){}); !function(e,t){var i=function(){var e={};return t.apply(e,arguments),e.plupload};"function"==typeof define&&define.amd?define("plupload",["./moxie"],i):"object"==typeof module&&module.exports?module.exports=i(require("./moxie")):e.plupload=i(e.moxie)}(this||window,function(e){!function(e,t,i){function n(e){function t(e,t,i){var r={chunks:"slice_blob",jpgresize:"send_binary_string",pngresize:"send_binary_string",progress:"report_upload_progress",multi_selection:"select_multiple",dragdrop:"drag_and_drop",drop_element:"drag_and_drop",headers:"send_custom_headers",urlstream_upload:"send_binary_string",canSendBinary:"send_binary",triggerDialog:"summon_file_dialog"};r[e]?n[r[e]]=t:i||(n[e]=t)}var i=e.required_features,n={};return"string"==typeof i?l.each(i.split(/\s*,\s*/),function(e){t(e,!0)}):"object"==typeof i?l.each(i,function(e,i){t(i,e)}):i===!0&&(e.chunk_size>0&&(n.slice_blob=!0),l.isEmptyObj(e.resize)&&e.multipart||(n.send_binary_string=!0),l.each(e,function(e,i){t(i,!!e,!0)})),n}var r=window.setTimeout,s={},a=t.core.utils,o=t.runtime.Runtime,l={VERSION:"2.2.1",STOPPED:1,STARTED:2,QUEUED:1,UPLOADING:2,FAILED:4,DONE:5,GENERIC_ERROR:-100,HTTP_ERROR:-200,IO_ERROR:-300,SECURITY_ERROR:-400,INIT_ERROR:-500,FILE_SIZE_ERROR:-600,FILE_EXTENSION_ERROR:-601,FILE_DUPLICATE_ERROR:-602,IMAGE_FORMAT_ERROR:-700,MEMORY_ERROR:-701,IMAGE_DIMENSIONS_ERROR:-702,mimeTypes:a.Mime.mimes,ua:a.Env,typeOf:a.Basic.typeOf,extend:a.Basic.extend,guid:a.Basic.guid,getAll:function(e){var t,i=[];"array"!==l.typeOf(e)&&(e=[e]);for(var n=e.length;n--;)t=l.get(e[n]),t&&i.push(t);return i.length?i:null},get:a.Dom.get,each:a.Basic.each,getPos:a.Dom.getPos,getSize:a.Dom.getSize,xmlEncode:function(e){var t={"<":"lt",">":"gt","&":"amp",'"':"quot","'":"#39"},i=/[<>&\"\']/g;return e?(""+e).replace(i,function(e){return t[e]?"&"+t[e]+";":e}):e},toArray:a.Basic.toArray,inArray:a.Basic.inArray,inSeries:a.Basic.inSeries,addI18n:t.core.I18n.addI18n,translate:t.core.I18n.translate,sprintf:a.Basic.sprintf,isEmptyObj:a.Basic.isEmptyObj,hasClass:a.Dom.hasClass,addClass:a.Dom.addClass,removeClass:a.Dom.removeClass,getStyle:a.Dom.getStyle,addEvent:a.Events.addEvent,removeEvent:a.Events.removeEvent,removeAllEvents:a.Events.removeAllEvents,cleanName:function(e){var t,i;for(i=[/[\300-\306]/g,"A",/[\340-\346]/g,"a",/\307/g,"C",/\347/g,"c",/[\310-\313]/g,"E",/[\350-\353]/g,"e",/[\314-\317]/g,"I",/[\354-\357]/g,"i",/\321/g,"N",/\361/g,"n",/[\322-\330]/g,"O",/[\362-\370]/g,"o",/[\331-\334]/g,"U",/[\371-\374]/g,"u"],t=0;t0?"&":"?")+i),e},formatSize:function(e){function t(e,t){return Math.round(e*Math.pow(10,t))/Math.pow(10,t)}if(e===i||/\D/.test(e))return l.translate("N/A");var n=Math.pow(1024,4);return e>n?t(e/n,1)+" "+l.translate("tb"):e>(n/=1024)?t(e/n,1)+" "+l.translate("gb"):e>(n/=1024)?t(e/n,1)+" "+l.translate("mb"):e>1024?Math.round(e/1024)+" "+l.translate("kb"):e+" "+l.translate("b")},parseSize:a.Basic.parseSizeStr,predictRuntime:function(e,t){var i,n;return i=new l.Uploader(e),n=o.thatCan(i.getOption().required_features,t||e.runtimes),i.destroy(),n},addFileFilter:function(e,t){s[e]=t}};l.addFileFilter("mime_types",function(e,t,i){e.length&&!e.regexp.test(t.name)?(this.trigger("Error",{code:l.FILE_EXTENSION_ERROR,message:l.translate("File extension error."),file:t}),i(!1)):i(!0)}),l.addFileFilter("max_file_size",function(e,t,i){var n;e=l.parseSize(e),t.size!==n&&e&&t.size>e?(this.trigger("Error",{code:l.FILE_SIZE_ERROR,message:l.translate("File size error."),file:t}),i(!1)):i(!0)}),l.addFileFilter("prevent_duplicates",function(e,t,i){if(e)for(var n=this.files.length;n--;)if(t.name===this.files[n].name&&t.size===this.files[n].size)return this.trigger("Error",{code:l.FILE_DUPLICATE_ERROR,message:l.translate("Duplicate file error."),file:t}),i(!1),void 0;i(!0)}),l.Uploader=function(e){function a(){var e,t,i=0;if(this.state==l.STARTED){for(t=0;t0?Math.ceil(100*(e.loaded/e.size)):100,d()}function d(){var e,t;for(w.reset(),e=0;e0?Math.ceil(100*(w.uploaded/T.length)):0:(w.bytesPerSec=Math.ceil(w.loaded/((+new Date-S||1)/1e3)),w.percent=w.size>0?Math.ceil(100*(w.loaded/w.size)):0)}function c(){var e=A[0]||P[0];return e?e.getRuntime().uid:!1}function f(e,t){if(e.ruid){var i=o.getInfo(e.ruid);if(i)return i.can(t)}return!1}function p(){this.bind("FilesAdded FilesRemoved",function(e){e.trigger("QueueChanged"),e.refresh()}),this.bind("CancelUpload",y),this.bind("BeforeUpload",m),this.bind("UploadFile",E),this.bind("UploadProgress",v),this.bind("StateChanged",b),this.bind("QueueChanged",d),this.bind("Error",z),this.bind("FileUploaded",R),this.bind("Destroy",O)}function g(e,i){var n=this,r=0,s=[],a={runtime_order:e.runtimes,required_caps:e.required_features,preferred_caps:F,swf_url:e.flash_swf_url,xap_url:e.silverlight_xap_url};l.each(e.runtimes.split(/\s*,\s*/),function(t){e[t]&&(a[t]=e[t])}),e.browse_button&&l.each(e.browse_button,function(i){s.push(function(s){var u=new t.file.FileInput(l.extend({},a,{accept:e.filters.mime_types,name:e.file_data_name,multiple:e.multi_selection,container:e.container,browse_button:i}));u.onready=function(){var e=o.getInfo(this.ruid);l.extend(n.features,{chunks:e.can("slice_blob"),multipart:e.can("send_multipart"),multi_selection:e.can("select_multiple")}),r++,A.push(this),s()},u.onchange=function(){n.addFile(this.files)},u.bind("mouseenter mouseleave mousedown mouseup",function(t){U||(e.browse_button_hover&&("mouseenter"===t.type?l.addClass(i,e.browse_button_hover):"mouseleave"===t.type&&l.removeClass(i,e.browse_button_hover)),e.browse_button_active&&("mousedown"===t.type?l.addClass(i,e.browse_button_active):"mouseup"===t.type&&l.removeClass(i,e.browse_button_active)))}),u.bind("mousedown",function(){n.trigger("Browse")}),u.bind("error runtimeerror",function(){u=null,s()}),u.init()})}),e.drop_element&&l.each(e.drop_element,function(e){s.push(function(i){var s=new t.file.FileDrop(l.extend({},a,{drop_zone:e}));s.onready=function(){var e=o.getInfo(this.ruid);l.extend(n.features,{chunks:e.can("slice_blob"),multipart:e.can("send_multipart"),dragdrop:e.can("drag_and_drop")}),r++,P.push(this),i()},s.ondrop=function(){n.addFile(this.files)},s.bind("error runtimeerror",function(){s=null,i()}),s.init()})}),l.inSeries(s,function(){"function"==typeof i&&i(r)})}function h(e,n,r){var s=new t.image.Image;try{s.onload=function(){return n.width>this.width&&n.height>this.height&&n.quality===i&&n.preserve_headers&&!n.crop?(this.destroy(),r(e)):(s.downsize(n.width,n.height,n.crop,n.preserve_headers),void 0)},s.onresize=function(){r(this.getAsBlob(e.type,n.quality)),this.destroy()},s.onerror=function(){r(e)},s.load(e)}catch(a){r(e)}}function _(e,i,r){function s(e,i,n){var r=I[e];switch(e){case"max_file_size":"max_file_size"===e&&(I.max_file_size=I.filters.max_file_size=i);break;case"chunk_size":(i=l.parseSize(i))&&(I[e]=i,I.send_file_name=!0);break;case"multipart":I[e]=i,i||(I.send_file_name=!0);break;case"unique_names":I[e]=i,i&&(I.send_file_name=!0);break;case"filters":"array"===l.typeOf(i)&&(i={mime_types:i}),n?l.extend(I.filters,i):I.filters=i,i.mime_types&&("string"===l.typeOf(i.mime_types)&&(i.mime_types=t.core.utils.Mime.mimes2extList(i.mime_types)),i.mime_types.regexp=function(e){var t=[];return l.each(e,function(e){l.each(e.extensions.split(/,/),function(e){/^\s*\*\s*$/.test(e)?t.push("\\.*"):t.push("\\."+e.replace(new RegExp("["+"/^$.*+?|()[]{}\\".replace(/./g,"\\$&")+"]","g"),"\\$&"))})}),new RegExp("("+t.join("|")+")$","i")}(i.mime_types),I.filters.mime_types=i.mime_types);break;case"resize":I.resize=i?l.extend({preserve_headers:!0,crop:!1},i):!1;break;case"prevent_duplicates":I.prevent_duplicates=I.filters.prevent_duplicates=!!i;break;case"container":case"browse_button":case"drop_element":i="container"===e?l.get(i):l.getAll(i);case"runtimes":case"multi_selection":case"flash_swf_url":case"silverlight_xap_url":I[e]=i,n||(u=!0);break;default:I[e]=i}n||a.trigger("OptionChanged",e,i,r)}var a=this,u=!1;"object"==typeof e?l.each(e,function(e,t){s(t,e,r)}):s(e,i,r),r?(I.required_features=n(l.extend({},I)),F=n(l.extend({},I,{required_features:!0}))):u&&(a.trigger("Destroy"),g.call(a,I,function(e){e?(a.runtime=o.getInfo(c()).type,a.trigger("Init",{runtime:a.runtime}),a.trigger("PostInit")):a.trigger("Error",{code:l.INIT_ERROR,message:l.translate("Init error.")})}))}function m(e,t){if(e.settings.unique_names){var i=t.name.match(/\.([^.]+)$/),n="part";i&&(n=i[1]),t.target_name=t.id+"."+n}}function E(e,i){function n(){d-->0?r(s,1e3):(i.loaded=p,e.trigger("Error",{code:l.HTTP_ERROR,message:l.translate("HTTP Error."),file:i,response:D.responseText,status:D.status,responseHeaders:D.getAllResponseHeaders()}))}function s(){var f,g,h,_={};i.status===l.UPLOADING&&e.state!==l.STOPPED&&(e.settings.send_file_name&&(_.name=i.target_name||i.name),u&&c.chunks&&a.size>u?(h=Math.min(u,a.size-p),f=a.slice(p,p+h)):(h=a.size,f=a),u&&c.chunks&&(e.settings.send_chunk_number?(_.chunk=Math.ceil(p/u),_.chunks=Math.ceil(a.size/u)):(_.offset=p,_.total=a.size)),D=new t.xhr.XMLHttpRequest,D.upload&&(D.upload.onprogress=function(t){i.loaded=Math.min(i.size,p+t.loaded),e.trigger("UploadProgress",i)}),D.onload=function(){return D.status>=400?(n(),void 0):(d=e.settings.max_retries,h=a.size?(i.size!=i.origSize&&(a.destroy(),a=null),e.trigger("UploadProgress",i),i.status=l.DONE,e.trigger("FileUploaded",i,{response:D.responseText,status:D.status,responseHeaders:D.getAllResponseHeaders()})):r(s,1),void 0)},D.onerror=function(){n()},D.onloadend=function(){this.destroy(),D=null},e.settings.multipart&&c.multipart?(D.open("post",o,!0),l.each(e.settings.headers,function(e,t){D.setRequestHeader(t,e)}),g=new t.xhr.FormData,l.each(l.extend(_,e.settings.multipart_params),function(e,t){g.append(t,e)}),g.append(e.settings.file_data_name,f),D.send(g,{runtime_order:e.settings.runtimes,required_caps:e.settings.required_features,preferred_caps:F,swf_url:e.settings.flash_swf_url,xap_url:e.settings.silverlight_xap_url})):(o=l.buildUrl(e.settings.url,l.extend(_,e.settings.multipart_params)),D.open("post",o,!0),l.each(e.settings.headers,function(e,t){D.setRequestHeader(t,e)}),D.hasRequestHeader("Content-Type")||D.setRequestHeader("Content-Type","application/octet-stream"),D.send(f,{runtime_order:e.settings.runtimes,required_caps:e.settings.required_features,preferred_caps:F,swf_url:e.settings.flash_swf_url,xap_url:e.settings.silverlight_xap_url})))}var a,o=e.settings.url,u=e.settings.chunk_size,d=e.settings.max_retries,c=e.features,p=0;i.loaded&&(p=i.loaded=u?u*Math.floor(i.loaded/u):0),a=i.getSource(),!l.isEmptyObj(e.settings.resize)&&f(a,"send_binary_string")&&-1!==l.inArray(a.type,["image/jpeg","image/png"])?h.call(this,a,e.settings.resize,function(e){a=e,i.size=e.size,s()}):s()}function v(e,t){u(t)}function b(e){if(e.state==l.STARTED)S=+new Date;else if(e.state==l.STOPPED)for(var t=e.files.length-1;t>=0;t--)e.files[t].status==l.UPLOADING&&(e.files[t].status=l.QUEUED,d())}function y(){D&&D.abort()}function R(e){d(),r(function(){a.call(e)},1)}function z(e,t){t.code===l.INIT_ERROR?e.destroy():t.code===l.HTTP_ERROR&&(t.file.status=l.FAILED,u(t.file),e.state==l.STARTED&&(e.trigger("CancelUpload"),r(function(){a.call(e)},1)))}function O(e){e.stop(),l.each(T,function(e){e.destroy()}),T=[],A.length&&(l.each(A,function(e){e.destroy()}),A=[]),P.length&&(l.each(P,function(e){e.destroy()}),P=[]),F={},U=!1,S=D=null,w.reset()}var I,S,w,D,x=l.guid(),T=[],F={},A=[],P=[],U=!1;I={runtimes:o.order,max_retries:0,chunk_size:0,multipart:!0,multi_selection:!0,file_data_name:"file",flash_swf_url:"js/Moxie.swf",silverlight_xap_url:"js/Moxie.xap",filters:{mime_types:[],prevent_duplicates:!1,max_file_size:0},resize:!1,send_file_name:!0,send_chunk_number:!0},_.call(this,e,null,!0),w=new l.QueueProgress,l.extend(this,{id:x,uid:x,state:l.STOPPED,features:{},runtime:null,files:T,settings:I,total:w,init:function(){var e,t,i=this;return e=i.getOption("preinit"),"function"==typeof e?e(i):l.each(e,function(e,t){i.bind(t,e)}),p.call(i),l.each(["container","browse_button","drop_element"],function(e){return null===i.getOption(e)?(t={code:l.INIT_ERROR,message:l.sprintf(l.translate("%s specified, but cannot be found."),e)},!1):void 0}),t?i.trigger("Error",t):I.browse_button||I.drop_element?(g.call(i,I,function(e){var t=i.getOption("init");"function"==typeof t?t(i):l.each(t,function(e,t){i.bind(t,e)}),e?(i.runtime=o.getInfo(c()).type,i.trigger("Init",{runtime:i.runtime}),i.trigger("PostInit")):i.trigger("Error",{code:l.INIT_ERROR,message:l.translate("Init error.")})}),void 0):i.trigger("Error",{code:l.INIT_ERROR,message:l.translate("You must specify either browse_button or drop_element.")})},setOption:function(e,t){_.call(this,e,t,!this.runtime)},getOption:function(e){return e?I[e]:I},refresh:function(){A.length&&l.each(A,function(e){e.trigger("Refresh")}),this.trigger("Refresh")},start:function(){this.state!=l.STARTED&&(this.state=l.STARTED,this.trigger("StateChanged"),a.call(this))},stop:function(){this.state!=l.STOPPED&&(this.state=l.STOPPED,this.trigger("StateChanged"),this.trigger("CancelUpload"))},disableBrowse:function(){U=arguments[0]!==i?arguments[0]:!0,A.length&&l.each(A,function(e){e.disable(U)}),this.trigger("DisableBrowse",U)},getFile:function(e){var t;for(t=T.length-1;t>=0;t--)if(T[t].id===e)return T[t]},addFile:function(e,i){function n(e,t){var i=[];l.each(u.settings.filters,function(t,n){s[n]&&i.push(function(i){s[n].call(u,t,e,function(e){i(!e)})})}),l.inSeries(i,t)}function a(e){var s=l.typeOf(e);if(e instanceof t.file.File){if(!e.ruid&&!e.isDetached()){if(!o)return!1;e.ruid=o,e.connectRuntime(o)}a(new l.File(e))}else e instanceof t.file.Blob?(a(e.getSource()),e.destroy()):e instanceof l.File?(i&&(e.name=i),d.push(function(t){n(e,function(i){i||(T.push(e),f.push(e),u.trigger("FileFiltered",e)),r(t,1)})})):-1!==l.inArray(s,["file","blob"])?a(new t.file.File(null,e)):"node"===s&&"filelist"===l.typeOf(e.files)?l.each(e.files,a):"array"===s&&(i=null,l.each(e,a))}var o,u=this,d=[],f=[];o=c(),a(e),d.length&&l.inSeries(d,function(){f.length&&u.trigger("FilesAdded",f)})},removeFile:function(e){for(var t="string"==typeof e?e:e.id,i=T.length-1;i>=0;i--)if(T[i].id===t)return this.splice(i,1)[0]},splice:function(e,t){var n=T.splice(e===i?0:e,t===i?T.length:t),r=!1;return this.state==l.STARTED&&(l.each(n,function(e){return e.status===l.UPLOADING?(r=!0,!1):void 0}),r&&this.stop()),this.trigger("FilesRemoved",n),l.each(n,function(e){e.destroy()}),r&&this.start(),n},dispatchEvent:function(e){var t,i;if(e=e.toLowerCase(),t=this.hasEventListener(e)){t.sort(function(e,t){return t.priority-e.priority}),i=[].slice.call(arguments),i.shift(),i.unshift(this);for(var n=0;n', - }, - events: { - onInit: function (up) { - //修复少数安卓浏览器无法上传图片的Bug - var input = $("input[type=file]", $(up.settings.button).next()); - if (input && input.prop("accept").match(/image\/jpeg/)) { - input.prop("accept", "image/jpg," + input.prop("accept")); - } + list: {}, + config: { + container: document.body, + classname: '.plupload:not([initialized])', + previewtpl: '
  • ', }, - //初始化完成 - onPostInit: function (up) { - - }, - //文件添加成功后 - onFileAdded: function (up, files) { - var button = up.settings.button; - $(button).data("bakup-html", $(button).html()); - var maxcount = $(button).data("maxcount"); - var input_id = $(button).data("input-id") ? $(button).data("input-id") : ""; - maxcount = typeof maxcount !== "undefined" ? maxcount : 0; - if (maxcount > 0 && input_id) { - var inputObj = $("#" + input_id); - if (inputObj.size() > 0) { - var value = $.trim(inputObj.val()); - var nums = value === '' ? 0 : value.split(/\,/).length; - var remains = maxcount - nums; - if (files.length > remains) { - for (var i = 0; i < files.length; i++) { - up.removeFile(files[i]); - } - Toastr.error(__('You can upload up to %d file%s', remains)); - return false; - } + events: { + onInit: function (up) { + //修复少数安卓浏览器无法上传图片的Bug + var input = $("input[type=file]", $(up.settings.button).next()); + if (input && input.prop("accept").match(/image\/jpeg/)) { + input.prop("accept", "image/jpg," + input.prop("accept")); } - } - //添加后立即上传 - setTimeout(function () { - up.start(); - }, 1); - }, - //上传进行中的回调 - onUploadProgress: function (up, file) { + }, + //初始化完成 + onPostInit: function (up) { - }, - //上传之前的回调 - onBeforeUpload: function (up, file) { - - }, - //上传成功的回调 - onUploadSuccess: function (up, ret) { - var button = up.settings.button; - var onUploadSuccess = up.settings.onUploadSuccess; - var data = typeof ret.data !== 'undefined' ? ret.data : null; - //上传成功后回调 - if (button) { - //如果有文本框则填充 + }, + //文件添加成功后 + onFileAdded: function (up, files) { + var button = up.settings.button; + $(button).data("bakup-html", $(button).html()); + var maxcount = $(button).data("maxcount"); var input_id = $(button).data("input-id") ? $(button).data("input-id") : ""; - if (input_id) { - var urlArr = []; + maxcount = typeof maxcount !== "undefined" ? maxcount : 0; + if (maxcount > 0 && input_id) { var inputObj = $("#" + input_id); - if ($(button).data("multiple") && inputObj.val() !== "") { - urlArr.push(inputObj.val()); - } - urlArr.push(data.url); - inputObj.val(urlArr.join(",")).trigger("change"); - } - //如果有回调函数 - var onDomUploadSuccess = $(button).data("upload-success"); - if (onDomUploadSuccess) { - if (typeof onDomUploadSuccess !== 'function' && typeof Upload.api.custom[onDomUploadSuccess] === 'function') { - onDomUploadSuccess = Upload.api.custom[onDomUploadSuccess]; - } - if (typeof onDomUploadSuccess === 'function') { - var result = onDomUploadSuccess.call(button, data, ret); - if (result === false) - return; + if (inputObj.size() > 0) { + var value = $.trim(inputObj.val()); + var nums = value === '' ? 0 : value.split(/\,/).length; + var remains = maxcount - nums; + if (files.length > remains) { + for (var i = 0; i < files.length; i++) { + up.removeFile(files[i]); + } + Toastr.error(__('You can upload up to %d file%s', remains)); + return false; + } } } - } + //添加后立即上传 + setTimeout(function () { + up.start(); + }, 1); + }, + //上传进行中的回调 + onUploadProgress: function (up, file) { - if (typeof onUploadSuccess === 'function') { - var result = onUploadSuccess.call(button, data, ret); - if (result === false) - return; + }, + //上传之前的回调 + onBeforeUpload: function (up, file) { + + }, + //上传成功的回调 + onUploadSuccess: function (up, ret) { + var button = up.settings.button; + var onUploadSuccess = up.settings.onUploadSuccess; + var data = typeof ret.data !== 'undefined' ? ret.data : null; + //上传成功后回调 + if (button) { + //如果有文本框则填充 + var input_id = $(button).data("input-id") ? $(button).data("input-id") : ""; + if (input_id) { + var urlArr = []; + var inputObj = $("#" + input_id); + if ($(button).data("multiple") && inputObj.val() !== "") { + urlArr.push(inputObj.val()); + } + urlArr.push(data.url); + inputObj.val(urlArr.join(",")).trigger("change"); + } + //如果有回调函数 + var onDomUploadSuccess = $(button).data("upload-success"); + if (onDomUploadSuccess) { + if (typeof onDomUploadSuccess !== 'function' && typeof Upload.api.custom[onDomUploadSuccess] === 'function') { + onDomUploadSuccess = Upload.api.custom[onDomUploadSuccess]; + } + if (typeof onDomUploadSuccess === 'function') { + var result = onDomUploadSuccess.call(button, data, ret); + if (result === false) + return; + } + } + } + + if (typeof onUploadSuccess === 'function') { + var result = onUploadSuccess.call(button, data, ret); + if (result === false) + return; + } + }, + //上传错误的回调 + onUploadError: function (up, ret) { + var button = up.settings.button; + var onUploadError = up.settings.onUploadError; + var data = typeof ret.data !== 'undefined' ? ret.data : null; + if (button) { + var onDomUploadError = $(button).data("upload-error"); + if (onDomUploadError) { + if (typeof onDomUploadError !== 'function' && typeof Upload.api.custom[onDomUploadError] === 'function') { + onDomUploadError = Upload.api.custom[onDomUploadError]; + } + if (typeof onDomUploadError === 'function') { + var result = onDomUploadError.call(button, data, ret); + if (result === false) + return; + } + } + } + + if (typeof onUploadError === 'function') { + var result = onUploadError.call(button, data, ret); + if (result === false) { + return; + } + } + Toastr.error(ret.msg + "(code:" + ret.code + ")"); + }, + //服务器响应数据后 + onUploadResponse: function (response) { + try { + var ret = typeof response === 'object' ? response : JSON.parse(response); + if (!ret.hasOwnProperty('code')) { + $.extend(ret, {code: -2, msg: response, data: null}); + } + } catch (e) { + var ret = {code: -1, msg: e.message, data: null}; + } + return ret; + }, + //上传全部结束后 + onUploadComplete: function (up, files) { + var button = up.settings.button; + var onUploadComplete = up.settings.onUploadComplete; + if (button) { + var onDomUploadComplete = $(button).data("upload-complete"); + if (onDomUploadComplete) { + if (typeof onDomUploadComplete !== 'function' && typeof Upload.api.custom[onDomUploadComplete] === 'function') { + onDomUploadComplete = Upload.api.custom[onDomUploadComplete]; + } + if (typeof onDomUploadComplete === 'function') { + var result = onDomUploadComplete.call(button, files); + if (result === false) + return; + } + } + } + + if (typeof onUploadComplete === 'function') { + var result = onUploadComplete.call(button, files); + if (result === false) { + return; + } + } } }, - //上传错误的回调 - onUploadError: function (up, ret) { - var button = up.settings.button; - var onUploadError = up.settings.onUploadError; - var data = typeof ret.data !== 'undefined' ? ret.data : null; - if (button) { - var onDomUploadError = $(button).data("upload-error"); - if (onDomUploadError) { - if (typeof onDomUploadError !== 'function' && typeof Upload.api.custom[onDomUploadError] === 'function') { - onDomUploadError = Upload.api.custom[onDomUploadError]; + api: { + //Plupload上传 + plupload: function (element, onUploadSuccess, onUploadError, onUploadComplete) { + element = typeof element === 'undefined' ? Upload.config.classname : element; + $(element, Upload.config.container).each(function () { + if ($(this).attr("initialized")) { + return true; } - if (typeof onDomUploadError === 'function') { - var result = onDomUploadError.call(button, data, ret); - if (result === false) - return; - } - } - } + $(this).attr("initialized", true); + var that = this; + var id = $(this).prop("id"); + var url = $(this).data("url"); + var maxsize = $(this).data("maxsize"); + var mimetype = $(this).data("mimetype"); + var multipart = $(this).data("multipart"); + var multiple = $(this).data("multiple"); - if (typeof onUploadError === 'function') { - var result = onUploadError.call(button, data, ret); - if (result === false) { - return; - } - } - Toastr.error(ret.msg + "(code:" + ret.code + ")"); - }, - //服务器响应数据后 - onUploadResponse: function (response) { - try { - var ret = typeof response === 'object' ? response : JSON.parse(response); - if (!ret.hasOwnProperty('code')) { - $.extend(ret, {code: -2, msg: response, data: null}); - } - } catch (e) { - var ret = {code: -1, msg: e.message, data: null}; - } - return ret; - }, - //上传全部结束后 - onUploadComplete: function (up, files) { - var button = up.settings.button; - var onUploadComplete = up.settings.onUploadComplete; - if (button) { - var onDomUploadComplete = $(button).data("upload-complete"); - if (onDomUploadComplete) { - if (typeof onDomUploadComplete !== 'function' && typeof Upload.api.custom[onDomUploadComplete] === 'function') { - onDomUploadComplete = Upload.api.custom[onDomUploadComplete]; - } - if (typeof onDomUploadComplete === 'function') { - var result = onDomUploadComplete.call(button, files); - if (result === false) - return; - } - } - } + //填充ID + var input_id = $(that).data("input-id") ? $(that).data("input-id") : ""; + //预览ID + var preview_id = $(that).data("preview-id") ? $(that).data("preview-id") : ""; - if (typeof onUploadComplete === 'function') { - var result = onUploadComplete.call(button, files); - if (result === false) { - return; + //上传URL + url = url ? url : Config.upload.uploadurl; + url = Fast.api.fixurl(url); + //最大可上传文件大小 + maxsize = typeof maxsize !== "undefined" ? maxsize : Config.upload.maxsize; + //文件类型 + mimetype = typeof mimetype !== "undefined" ? mimetype : Config.upload.mimetype; + //请求的表单参数 + multipart = typeof multipart !== "undefined" ? multipart : Config.upload.multipart; + //是否支持批量上传 + multiple = typeof multiple !== "undefined" ? multiple : Config.upload.multiple; + var mimetypeArr = new Array(); + //支持后缀和Mimetype格式,以,分隔 + if (mimetype && mimetype !== "*" && mimetype.indexOf("/") === -1) { + var tempArr = mimetype.split(','); + for (var i = 0; i < tempArr.length; i++) { + mimetypeArr.push({title: __('Files'), extensions: tempArr[i]}); + } + mimetype = mimetypeArr; + } + //生成Plupload实例 + Upload.list[id] = new Plupload.Uploader({ + runtimes: 'html5,flash,silverlight,html4', + multi_selection: multiple, //是否允许多选批量上传 + browse_button: id, // 浏览按钮的ID + container: $(this).parent().get(0), //取按钮的上级元素 + flash_swf_url: '/assets/libs/plupload/js/Moxie.swf', + silverlight_xap_url: '/assets/libs/plupload/js/Moxie.xap', + drop_element: [id, $(this).data("input-id")], + filters: { + max_file_size: maxsize, + mime_types: mimetype, + }, + url: url, + multipart_params: $.isArray(multipart) ? {} : multipart, + init: { + PostInit: Upload.events.onPostInit, + FilesAdded: Upload.events.onFileAdded, + BeforeUpload: Upload.events.onBeforeUpload, + UploadProgress: function (up, file) { + var button = up.settings.button; + $(button).prop("disabled", true).html(" " + __('Upload') + file.percent + "%"); + Upload.events.onUploadProgress(up, file); + }, + FileUploaded: function (up, file, info) { + var button = up.settings.button; + //还原按钮文字及状态 + $(button).prop("disabled", false).html($(button).data("bakup-html")); + var ret = Upload.events.onUploadResponse(info.response, info, up, file); + file.ret = ret; + if (ret.code === 1) { + Upload.events.onUploadSuccess(up, ret, file); + } else { + Upload.events.onUploadError(up, ret, file); + } + }, + UploadComplete: Upload.events.onUploadComplete, + Error: function (up, err) { + var button = up.settings.button; + $(button).prop("disabled", false).html($(button).data("bakup-html")); + var ret = {code: err.code, msg: err.message, data: null}; + Upload.events.onUploadError(up, ret); + } + }, + onUploadSuccess: onUploadSuccess, + onUploadError: onUploadError, + onUploadComplete: onUploadComplete, + button: that + }); + + //拖动排序 + if (preview_id && multiple) { + require(['dragsort'], function () { + $("#" + preview_id).dragsort({ + dragSelector: "li a:not(.btn-trash)", + dragEnd: function () { + $("#" + preview_id).trigger("fa.preview.change"); + }, + placeHolderTemplate: '
  • ' + }); + }); + } + if (preview_id && input_id) { + $(document.body).on("keyup change", "#" + input_id, function () { + var inputStr = $("#" + input_id).val(); + var inputArr = inputStr.split(/\,/); + $("#" + preview_id).empty(); + var tpl = $("#" + preview_id).data("template") ? $("#" + preview_id).data("template") : ""; + $.each(inputArr, function (i, j) { + if (!j) { + return true; + } + var data = {url: j, fullurl: Fast.api.cdnurl(j), data: $(that).data()}; + var html = tpl ? Template(tpl, data) : Template.render(Upload.config.previewtpl, data); + $("#" + preview_id).append(html); + }); + }); + $("#" + input_id).trigger("change"); + } + if (preview_id) { + // 监听事件 + $(document.body).on("fa.preview.change", "#" + preview_id, function () { + var urlArr = new Array(); + $("#" + preview_id + " [data-url]").each(function (i, j) { + urlArr.push($(this).data("url")); + }); + if (input_id) { + $("#" + input_id).val(urlArr.join(",")); + } + }); + // 移除按钮事件 + $(document.body).on("click", "#" + preview_id + " .btn-trash", function () { + $(this).closest("li").remove(); + $("#" + preview_id).trigger("fa.preview.change"); + }); + } + if (input_id) { + //粘贴上传 + $("body").on('paste', "#" + input_id, function (event) { + var that = this; + var image, pasteEvent; + pasteEvent = event.originalEvent; + if (pasteEvent.clipboardData && pasteEvent.clipboardData.items) { + image = Upload.api.getImageFromClipboard(pasteEvent); + if (image) { + event.preventDefault(); + var button = $(".plupload[data-input-id='" + $(that).attr("id") + "']"); + Upload.api.send(image, function (data) { + var urlArr = []; + if (button && button.data("multiple") && $(that).val() !== '') { + urlArr.push($(that).val()); + } + urlArr.push(data.url); + $(that).val(urlArr.join(",")).trigger("change"); + }); + } + } + }); + //拖拽上传 + $("body").on('drop', "#" + input_id, function (event) { + var that = this; + var images, pasteEvent; + pasteEvent = event.originalEvent; + if (pasteEvent.dataTransfer && pasteEvent.dataTransfer.files) { + images = Upload.api.getImageFromDrop(pasteEvent); + if (images.length > 0) { + event.preventDefault(); + var button = $(".plupload[data-input-id='" + $(that).attr("id") + "']"); + $.each(images, function (i, image) { + Upload.api.send(image, function (data) { + var urlArr = []; + if (button && button.data("multiple") && $(that).val() !== '') { + urlArr.push($(that).val()); + } + urlArr.push(data.url); + $(that).val(urlArr.join(",")).trigger("change"); + }); + }); + } + } + }); + } + Upload.list[id].init(); + }); + }, + // AJAX异步上传 + send: function (file, onUploadSuccess, onUploadError, onUploadComplete) { + var index = Layer.msg(__('Uploading'), {offset: 't', time: 0}); + var id = Plupload.guid(); + var _onPostInit = Upload.events.onPostInit; + Upload.events.onPostInit = function () { + // 当加载完成后添加文件并上传 + Upload.list[id].addFile(file); + //Upload.list[id].start(); + }; + $('