Authored by zhengyouwei

nginx switch

... ... @@ -91,5 +91,12 @@ public class HttpUriContants {
public static final String GET_MODULES= "/module/getAuthModules";
public static final String MODULE_DELETE_NAME = "/module/deleteByName";
/**
* nginx
*/
public static final String VIEW_NGINX_CONF= "/nginxswitch/viewNginxConf";
public static final String SWITCH_BEFORE= "/nginxswitch/switchbefore";
public static final String SWITCH_NGINX= "/nginxswitch/switchNginxConf";
}
... ...
package com.ui.ctrl;
import com.ui.contants.HttpUriContants;
import com.ui.http.HttpRestClient;
import com.ui.model.BaseResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.ParameterizedTypeReference;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author zhengyouwei 2016年5月12日 下午1:49:55
*/
@Controller
@RequestMapping("nginxswitch")
public class NginxSwitchCtrl {
private Logger logger = LoggerFactory.getLogger(getClass());
@Autowired
HttpRestClient httpRestClient;
/**
* 查看nginx配置
*
* @return 2016年5月12日下午1:49:48
*/
@RequestMapping(value = "toNginxSwitch")
public ModelAndView viewNginxConf() {
BaseResponse<Map<String,List<Map<String, Object>>>> response = httpRestClient.exchangeForget(HttpUriContants.VIEW_NGINX_CONF, new ParameterizedTypeReference<BaseResponse<Map<String,List<Map<String, Object>>>>>() {
}, null);
Map<String,List<Map<String, Object>>> map = response.getData();
ModelAndView mdv = new ModelAndView("switch/nginxSwitch");
mdv.addObject("awsList", map.get("awsList"));
mdv.addObject("qcloudList", map.get("qcloudList"));
return mdv;
}
/**
* 发送验证码
*
* @return 2016年5月23日下午13:39:48
*/
@RequestMapping(value = "switchbefore")
@ResponseBody
public BaseResponse switchbefore(String cloudName, String target) {
Map map = new HashMap<>();
map.put("cloudName",cloudName);
map.put("target",target);
return httpRestClient.defaultGet(HttpUriContants.SWITCH_BEFORE, BaseResponse.class, map);
}
/**
* 修改配置
*
* @return 2016年5月12日下午1:49:48
*/
@RequestMapping(value = "switchNginxConf")
@ResponseBody
public BaseResponse switchNginxConf(String token, String ticket) {
Map map = new HashMap<>();
map.put("token",token);
map.put("ticket",ticket);
return httpRestClient.exchangeForget(HttpUriContants.SWITCH_NGINX, new ParameterizedTypeReference<BaseResponse<Map<String,List<Map<String, Object>>>>>() {
}, map);
}
}
... ...
user www www;
worker_processes 8;
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;
pid /usr/local/nginx/logs/nginx.pid;
# [ debug | info | notice | warn | error | crit ]
#error_log /Data/logs/nginx/nginx_error.log info;
error_log /Data/logs/nginx/nginx_error.log error;
#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 51200;
events
{
use epoll;
#maxclient = worker_processes * worker_connections / cpu_number
worker_connections 51200;
}
http
{
include /usr/local/nginx/conf/mime.types;
default_type application/octet-stream;
#charset gb2312,utf-8;
charset utf-8;
log_format fenxi '$remote_addr|$http_x_forwarded_for|[$time_local]|$http_host|$request|$request_body|'
'$status|$body_bytes_sent|$request_time|$upstream_response_time|$upstream_cache_status|$http_referer|'
'$http_user_agent|$upstream_addr';
#log_format main '$remote_addr - $remote_user [$time_local] $request $request_body '
# '"$status" $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for" "$request_time"';
#error_page 502 =200 /.busy.jpg;
#error_page 403 = http://www.yohoboys.com;
#error_page 404 = http://www.yohoboys.com;
#General Options
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_body_buffer_size 8m; #256k
#
#server_tokens off;
ignore_invalid_headers on;
recursive_error_pages on;
server_name_in_redirect off;
sendfile on;
#timeouts
keepalive_timeout 60;
#test
#client_body_timeout 3m;
#client_header_timeout 3m;
#send_timeout 3m;
#TCP Options
tcp_nopush on;
tcp_nodelay on;
#fastcgi options
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
#set_real_ip_from 10.159.191.0/24;
#real_ip_header X-Forwarded-For;
#hiden php version
fastcgi_hide_header X-Powered-By;
#size limits
client_max_body_size 50m;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
#gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml application/json;
gzip_vary on;
#proxy_temp_path /dev/shm/proxy_temp;
#proxy_temp_path /us/local/nginx-1.8.0/ngx_temp_dir;
#proxy_cache_path /Data/local/nginx-1.8.0/ngx_cache levels=1:2 keys_zone=cache_one:500m inactive=1d max_size=10g;
#proxy_connect_timeout 5;
#proxy_read_timeout 60;
#proxy_send_timeout 5;
#proxy_buffer_size 16k;
#proxy_buffers 4 64k;
#proxy_busy_buffers_size 128k;
#proxy_temp_file_write_size 128k;
fastcgi_temp_path /dev/shm/fastcgi_temp;
client_body_temp_path /dev/shm/client_body_temp;
#upstream web
upstream oldservice {
# ip_hash;
server service.api.yohobuy.com ;
}
upstream oldapi {
# ip_hash;
server api.open.yohobuy.com ;
}
upstream apigateway {
# ip_hash;
# server 10.66.0.4:8080 max_fails=5 fail_timeout=3s;
# server 10.66.0.5:8080 max_fails=5 fail_timeout=3s;
server 172.31.28.166:8080 max_fails=5 fail_timeout=3s;
server 172.31.17.195:8080 max_fails=5 fail_timeout=3s;
keepalive 32;
}
upstream grayapigateway{
# ip_hash;
# server 10.66.0.4:8080 max_fails=5 fail_timeout=3s;
# server 10.66.0.5:8080 max_fails=5 fail_timeout=3s;
server 10.66.101.7:8080 max_fails=5 fail_timeout=3s;
# server 172.31.28.166:8080 max_fails=5 fail_timeout=3s;
# server 172.31.17.195:8080 max_fails=5 fail_timeout=3s;
keepalive 32;
}
upstream yoho-dashboard {
# ip_hash;
server 172.31.25.5:8089;
}
upstream pay.yohobuy.com {
server 172.31.55.207;
#server 119.254.81.217;
}
upstream www.yohobuy.com {
server www.yohobuy.com;
}
upstream union {
server 192.168.90.9:8088;
}
upstream activityApi{
server 172.31.16.98:8090;
#server 192.168.90.9:8090;
#server 192.168.74.14:8090;
}
#upstream
fastcgi_next_upstream error timeout invalid_header http_500;
#limit_zone limit $binary_remote_addr 1m;
#fastcgi cache
#fastcgi_cache_path /nginxcache levels=1:2 keys_zone=two:10m inactive=1d max_size=3000m;
#for example just for study! have fun!
# include vhosts/yohobuy_java.conf;
include vhosts/yohobuyaws_java.conf;
# include vhosts/yohobuyaws_java_aws.conf;
}
... ...
user www www;
worker_processes 8;
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;
pid /usr/local/nginx/logs/nginx.pid;
# [ debug | info | notice | warn | error | crit ]
#error_log /Data/logs/nginx/nginx_error.log info;
error_log /Data/logs/nginx/nginx_error.log error;
#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 51200;
events
{
use epoll;
#maxclient = worker_processes * worker_connections / cpu_number
worker_connections 51200;
}
http
{
include /usr/local/nginx/conf/mime.types;
default_type application/octet-stream;
#charset gb2312,utf-8;
charset utf-8;
log_format fenxi '$remote_addr|$http_x_forwarded_for|[$time_local]|$http_host|$request|$request_body|'
'$status|$body_bytes_sent|$request_time|$upstream_response_time|$upstream_cache_status|$http_referer|'
'$http_user_agent|$upstream_addr';
#log_format main '$remote_addr - $remote_user [$time_local] $request $request_body '
# '"$status" $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for" "$request_time"';
#error_page 502 =200 /.busy.jpg;
#error_page 403 = http://www.yohoboys.com;
#error_page 404 = http://www.yohoboys.com;
#General Options
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_body_buffer_size 8m; #256k
#
#server_tokens off;
ignore_invalid_headers on;
recursive_error_pages on;
server_name_in_redirect off;
sendfile on;
#timeouts
keepalive_timeout 60;
#test
#client_body_timeout 3m;
#client_header_timeout 3m;
#send_timeout 3m;
#TCP Options
tcp_nopush on;
tcp_nodelay on;
#fastcgi options
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
#set_real_ip_from 10.159.191.0/24;
#real_ip_header X-Forwarded-For;
#hiden php version
fastcgi_hide_header X-Powered-By;
#size limits
client_max_body_size 50m;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
#gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml application/json;
gzip_vary on;
#proxy_temp_path /dev/shm/proxy_temp;
#proxy_temp_path /us/local/nginx-1.8.0/ngx_temp_dir;
#proxy_cache_path /Data/local/nginx-1.8.0/ngx_cache levels=1:2 keys_zone=cache_one:500m inactive=1d max_size=10g;
#proxy_connect_timeout 5;
#proxy_read_timeout 60;
#proxy_send_timeout 5;
#proxy_buffer_size 16k;
#proxy_buffers 4 64k;
#proxy_busy_buffers_size 128k;
#proxy_temp_file_write_size 128k;
fastcgi_temp_path /dev/shm/fastcgi_temp;
client_body_temp_path /dev/shm/client_body_temp;
#upstream web
upstream oldservice {
# ip_hash;
server service.api.yohobuy.com ;
}
upstream oldapi {
# ip_hash;
server api.open.yohobuy.com ;
}
upstream apigateway {
# ip_hash;
server 10.66.0.4:8080 max_fails=5 fail_timeout=3s;
server 10.66.0.5:8080 max_fails=5 fail_timeout=3s;
# server 172.31.28.166:8080 max_fails=5 fail_timeout=3s;
# server 172.31.17.195:8080 max_fails=5 fail_timeout=3s;
keepalive 32;
}
upstream grayapigateway{
# ip_hash;
#server 10.66.0.4:8080 max_fails=5 fail_timeout=3s;
#server 10.66.0.5:8080 max_fails=5 fail_timeout=3s;
server 10.66.101.7:8080 max_fails=5 fail_timeout=3s;
#server 172.31.28.166:8080 max_fails=5 fail_timeout=3s;
#server 172.31.17.195:8080 max_fails=5 fail_timeout=3s;
keepalive 32;
}
upstream yoho-dashboard {
# ip_hash;
server 172.31.25.5:8089;
}
upstream pay.yohobuy.com {
server 172.31.55.207;
#server 119.254.81.217;
}
upstream www.yohobuy.com {
server www.yohobuy.com;
}
upstream union {
server 192.168.90.9:8088;
}
upstream activityApi{
server 10.66.0.16:8090;
#server 192.168.90.9:8090;
#server 192.168.74.14:8090;
}
#upstream
fastcgi_next_upstream error timeout invalid_header http_500;
#limit_zone limit $binary_remote_addr 1m;
#fastcgi cache
#fastcgi_cache_path /nginxcache levels=1:2 keys_zone=two:10m inactive=1d max_size=3000m;
#for example just for study! have fun!
# include vhosts/yohobuy_java.conf;
include vhosts/yohobuyaws_java.conf;
}
... ...
.rtl [class*="col-xs-"]{float:right}@media(min-width:768px){.rtl [class*="col-sm-"]{float:right}}@media(min-width:992px){.rtl [class*="col-md-"]{float:right}}@media(min-width:1200px){.rtl [class*="col-lg-"]{float:right}}@media(min-width:768px){.rtl [class*="col-sm-push-"]{left:auto}.rtl [class*="col-sm-pull-"]{right:auto}.rtl [class*="col-sm-offset-"]{margin-left:auto}.rtl .col-sm-push-1{right:8.33333%}.rtl .col-sm-push-2{right:16.6666%}.rtl .col-sm-push-3{right:25%}.rtl .col-sm-push-4{right:33.3333%}.rtl .col-sm-push-5{right:41.6666%}.rtl .col-sm-push-6{right:50%}.rtl .col-sm-push-7{right:58.3333%}.rtl .col-sm-push-8{right:66.6666%}.rtl .col-sm-push-9{right:75%}.rtl .col-sm-push-10{right:83.3333%}.rtl .col-sm-push-11{right:91.6666%}.rtl .col-sm-pull-1{left:8.33333%}.rtl .col-sm-pull-2{left:16.6666%}.rtl .col-sm-pull-3{left:25%}.rtl .col-sm-pull-4{left:33.3333%}.rtl .col-sm-pull-5{left:41.6666%}.rtl .col-sm-pull-6{left:50%}.rtl .col-sm-pull-7{left:58.3333%}.rtl .col-sm-pull-8{left:66.6666%}.rtl .col-sm-pull-9{left:75%}.rtl .col-sm-pull-10{left:83.3333%}.rtl .col-sm-pull-11{left:91.6666%}.rtl .col-sm-offset-1{margin-right:8.33333%}.rtl .col-sm-offset-2{margin-right:16.6666%}.rtl .col-sm-offset-3{margin-right:25%}.rtl .col-sm-offset-4{margin-right:33.3333%}.rtl .col-sm-offset-5{margin-right:41.6666%}.rtl .col-sm-offset-6{margin-right:50%}.rtl .col-sm-offset-7{margin-right:58.3333%}.rtl .col-sm-offset-8{margin-right:66.6666%}.rtl .col-sm-offset-9{margin-right:75%}.rtl .col-sm-offset-10{margin-right:83.3333%}.rtl .col-sm-offset-11{margin-right:91.6666%}}@media(min-width:992px){.rtl [class*="col-md-push-"]{left:auto}.rtl [class*="col-md-pull-"]{right:auto}.rtl [class*="col-md-offset-"]{margin-left:auto}.rtl .col-md-push-1{right:8.33333%}.rtl .col-md-push-2{right:16.6666%}.rtl .col-md-push-3{right:25%}.rtl .col-md-push-4{right:33.3333%}.rtl .col-md-push-5{right:41.6666%}.rtl .col-md-push-6{right:50%}.rtl .col-md-push-7{right:58.3333%}.rtl .col-md-push-8{right:66.6666%}.rtl .col-md-push-9{right:75%}.rtl .col-md-push-10{right:83.3333%}.rtl .col-md-push-11{right:91.6666%}.rtl .col-md-pull-1{left:8.33333%}.rtl .col-md-pull-2{left:16.6666%}.rtl .col-md-pull-3{left:25%}.rtl .col-md-pull-4{left:33.3333%}.rtl .col-md-pull-5{left:41.6666%}.rtl .col-md-pull-6{left:50%}.rtl .col-md-pull-7{left:58.3333%}.rtl .col-md-pull-8{left:66.6666%}.rtl .col-md-pull-9{left:75%}.rtl .col-md-pull-10{left:83.3333%}.rtl .col-md-pull-11{left:91.6666%}.rtl .col-md-offset-1{margin-right:8.33333%}.rtl .col-md-offset-2{margin-right:16.6666%}.rtl .col-md-offset-3{margin-right:25%}.rtl .col-md-offset-4{margin-right:33.3333%}.rtl .col-md-offset-5{margin-right:41.6666%}.rtl .col-md-offset-6{margin-right:50%}.rtl .col-md-offset-7{margin-right:58.3333%}.rtl .col-md-offset-8{margin-right:66.6666%}.rtl .col-md-offset-9{margin-right:75%}.rtl .col-md-offset-10{margin-right:83.3333%}.rtl .col-md-offset-11{margin-right:91.6666%}}@media(min-width:1200px){.rtl [class*="col-lg-push-"]{left:auto}.rtl [class*="col-lg-pull-"]{right:auto}.rtl [class*="col-lg-offset-"]{margin-left:auto}.rtl .col-lg-push-1{right:8.33333%}.rtl .col-lg-push-2{right:16.6666%}.rtl .col-lg-push-3{right:25%}.rtl .col-lg-push-4{right:33.3333%}.rtl .col-lg-push-5{right:41.6666%}.rtl .col-lg-push-6{right:50%}.rtl .col-lg-push-7{right:58.3333%}.rtl .col-lg-push-8{right:66.6666%}.rtl .col-lg-push-9{right:75%}.rtl .col-lg-push-10{right:83.3333%}.rtl .col-lg-push-11{right:91.6666%}.rtl .col-lg-pull-1{left:8.33333%}.rtl .col-lg-pull-2{left:16.6666%}.rtl .col-lg-pull-3{left:25%}.rtl .col-lg-pull-4{left:33.3333%}.rtl .col-lg-pull-5{left:41.6666%}.rtl .col-lg-pull-6{left:50%}.rtl .col-lg-pull-7{left:58.3333%}.rtl .col-lg-pull-8{left:66.6666%}.rtl .col-lg-pull-9{left:75%}.rtl .col-lg-pull-10{left:83.3333%}.rtl .col-lg-pull-11{left:91.6666%}.rtl .col-lg-offset-1{margin-right:8.33333%}.rtl .col-lg-offset-2{margin-right:16.6666%}.rtl .col-lg-offset-3{margin-right:25%}.rtl .col-lg-offset-4{margin-right:33.3333%}.rtl .col-lg-offset-5{margin-right:41.6666%}.rtl .col-lg-offset-6{margin-right:50%}.rtl .col-lg-offset-7{margin-right:58.3333%}.rtl .col-lg-offset-8{margin-right:66.6666%}.rtl .col-lg-offset-9{margin-right:75%}.rtl .col-lg-offset-10{margin-right:83.3333%}.rtl .col-lg-offset-11{margin-right:91.6666%}}.rtl ul,.rtl ol{margin-left:0;margin-right:25px}.rtl ul.list-unstyled,.rtl ol.list-unstyled,.rtl ul.list-inline,.rtl ol.list-inline{margin-right:0}.rtl li>ul,.rtl li>ol{margin-left:0;margin-right:18px}.rtl dd{margin-left:0;margin-right:10px}.rtl .dl-horizontal dt{float:right;clear:right;text-align:left}.rtl .dl-horizontal dd{margin-left:0;margin-right:180px}.rtl blockquote p,.rtl blockquote small{text-align:left}.rtl blockquote small:before{content:""}.rtl blockquote small:after{content:"\00A0 \2014"}.rtl blockquote.pull-right p,.rtl blockquote.pull-right small{text-align:right}.rtl blockquote.pull-right small:after{content:""}.rtl blockquote.pull-right small:before{content:"\2014 \00A0"}.rtl .radio,.rtl .checkbox{padding-left:0;padding-right:20px}.rtl .radio input[type="radio"],.rtl .checkbox input[type="checkbox"]{float:right;margin-left:0;margin-right:-20px}.rtl .radio.inline+.radio.inline,.rtl .checkbox.inline+.checkbox.inline{margin-left:0;margin-right:10px}.rtl .help-inline{padding-left:0;padding-right:5px}.rtl .input-group .input-group-addon:first-child{border-left-width:0;border-right:1px solid #ccc}.rtl .input-group .input-group-addon:last-child{border-right-width:0;border-left:1px solid #ccc}.rtl input.search-query{padding-left:14px;padding-left:4px \9;padding-right:14px;padding-right:4px \9}.rtl .form-search .radio,.rtl .form-search .checkbox,.rtl .form-inline .radio,.rtl .form-inline .checkbox{padding-right:0}.rtl .form-search .radio input[type="radio"],.rtl .form-search .checkbox input[type="checkbox"],.rtl .form-inline .radio input[type="radio"],.rtl .form-inline .checkbox input[type="checkbox"]{float:right;margin-right:0;margin-left:3px}.rtl .form-horizontal .control-label{text-align:left}.rtl .btn-group+.btn-group{margin-left:auto;margin-right:5px}.rtl .btn-group>.btn,.rtl .btn-group-vertical>.btn{float:right}.rtl .dropdown-menu{margin:2px 0 0}.rtl .dropdown .caret{margin-left:0;margin-right:2px}.rtl .close{float:left}.rtl .table-header .close{margin-right:auto;margin-left:6px}.rtl .alert .close{float:left}.rtl .nav{margin-right:0}.rtl .nav-tabs>li,.rtl .nav-pills>li{float:right}.rtl .nav-pills>li>a{margin-right:0;margin-left:2px}.rtl .nav-stacked>li{float:none}.rtl .nav-tabs>li>a{margin-right:0;margin-left:-1px}.rtl .tabs-left>.nav-tabs>li,.rtl .tabs-right>.nav-tabs>li{float:none}.rtl .navbar{direction:rtl;text-align:right}.rtl .navbar .navbar-brand{float:right}.rtl .navbar-search{float:right}.rtl .navbar-text{float:right}.rtl ul.pagination{margin-right:0}.rtl .pager{margin-right:0}.rtl .pager .next>a,.rtl .pager .next>span{float:left}.rtl .pager .previous>a,.rtl .pager .previous>span{float:right}.rtl .modal{direction:rtl;text-align:right}.rtl .modal-footer{text-align:left}.rtl .modal-footer .btn+.btn{margin-left:0;margin-right:5px}.rtl .popover.bottom .arrow:after,.rtl .popover.top .arrow:after{margin-right:-10px;margin-left:auto}.rtl .popover-content,.rtl .tooltip-inner{text-align:right;direction:rtl}.rtl .thumbnails{margin-left:0;margin-right:-24px}.rtl .row .thumbnails{margin-right:0}.rtl .thumbnails>li{float:right;margin-left:0;margin-right:24px}.rtl .media-list{margin-right:0}.rtl .main-container{direction:rtl;text-align:right}.rtl .main-content{margin-right:190px;margin-left:0}.rtl li>ul.margin,.rtl li>ol.margin{margin-left:0;margin-right:18px}.rtl .ace-nav>li{float:right!important;border-left:none;border-right:1px solid #DDD}.rtl .ace-nav>li:first-child{border-right:0}.rtl .ace-nav>li>a>.badge{left:auto;right:2px}.rtl .ace-nav>li.no-border{border:0}.rtl .ace-nav>li.margin-4{margin-left:0;margin-right:4px}.rtl .ace-nav>li.margin-3{margin-left:0;margin-right:3px}.rtl .ace-nav>li.margin-2{margin-left:0;margin-right:2px}.rtl .ace-nav>li.margin-1{margin-left:0;margin-right:1px}.rtl .ace-nav .nav-user-photo{margin:-4px 0 0 8px}.rtl .ace-nav .dropdown-menu.dropdown-closer{left:0}.rtl .breadcrumbs{padding:0 0 0 12px}.rtl .breadcrumbs.fixed,.rtl .breadcrumbs.breadcrumbs-fixed{position:fixed;left:0;right:190px}.rtl .breadcrumb{margin:0 12px 0 22px}.rtl .breadcrumb .icon-home{margin-left:2px;margin-right:4px}.rtl .breadcrumb>li+li:before{content:"\f104";padding:0 2px 0 5px}.rtl .breadcrumb>li+li:last-child:before{display:none}.rtl .breadcrumb>li+li:last-child:after{display:inline;font-family:FontAwesome;font-size:14px;content:"\f104";color:#b2b6bf;margin-left:2px;padding:0 2px 0 5px;position:relative;top:1px}.rtl .nav-search{left:22px;right:auto}.rtl .sidebar>.nav-search.menu-min .nav-search .form-search{left:auto;right:5px}.rtl .sidebar{float:right;border-width:0 0 0 1px}.rtl .sidebar:before{border-width:0 0 0 1px}.rtl .sidebar.fixed,.rtl .sidebar.sidebar-fixed{left:auto;right:0}.rtl .sidebar.fixed:before,.rtl .sidebar.sidebar-fixed:before{left:auto;right:0}.rtl .nav-list>li>a{padding:0 7px 0 16px}.rtl .nav-list>li>a:hover:before{left:auto;right:0}.rtl .nav-list>li a>.arrow{left:9px;right:auto}.rtl .nav-list>li.active:after{left:-2px;right:auto;border-width:0 0 0 2px}.rtl .nav-list>li .submenu>li{margin-left:0;margin-right:0}.rtl .nav-list>li .submenu>li>a{padding:7px 37px 8px 0}.rtl .nav-list>li .submenu>li a>[class*="icon-"]:first-child{left:auto;right:10px}.rtl .nav-list>li>.submenu>li:before{left:auto;right:18px}.rtl .nav-list>li>.submenu:before{left:auto;right:18px;border-width:0 1px 0 0}.rtl .nav-list>li.active>.submenu:before{border-right-color:#8eb3d0}.rtl .nav-list li.active>a:after{left:0;right:auto;border-left-color:#2b7dbc;border-right-color:transparent}.rtl .nav-list a .badge,.rtl .nav-list a .label{right:auto;left:11px}.rtl .nav-list a.dropdown-toggle .badge,.rtl .nav-list a.dropdown-toggle .label{right:auto;left:28px}.rtl .menu-min .nav-list a .badge,.rtl .menu-min .nav-list a .label{left:auto;right:4px}.rtl .sidebar.menu-min+.main-content{margin-left:auto;margin-right:43px}.rtl .sidebar.menu-min+.main-content .breadcrumbs.fixed,.rtl .sidebar.menu-min+.main-content .breadcrumbs.breadcrumbs-fixed{left:0;right:43px}.rtl .menu-min .nav-list>li>a>.menu-text{left:auto;right:42px;padding-left:0;padding-right:12px;-webkit-box-shadow:-2px 1px 2px 0 rgba(0,0,0,0.2);box-shadow:-2px 1px 2px 0 rgba(0,0,0,0.2)}.rtl .menu-min .nav-list>li>a.dropdown-toggle>.menu-text{left:auto;right:43px;-webkit-box-shadow:none;box-shadow:none}.rtl .menu-min .nav-list>li.active>a>.menu-text{border-left-color:#ccc;border-right-color:#1963aa}.rtl .menu-min .nav-list>li>.submenu{-webkit-box-shadow:-2px 1px 2px 0 rgba(0,0,0,0.2);box-shadow:-2px 1px 2px 0 rgba(0,0,0,0.2);left:auto;right:42px}.rtl .menu-min .nav-list>li>.submenu li>a{margin-left:auto;margin-right:0;padding-left:0;padding-right:24px}.rtl .menu-min .nav-list>li>.submenu li>a>[class*="icon-"]:first-child{left:auto;right:4px}.rtl .menu-min .nav-list>li.active>.submenu{border-left-color:#ccc;border-right-color:#1963aa}.rtl .menu-min .sidebar-shortcuts-large{-webkit-box-shadow:-2px 1px 2px 0 rgba(0,0,0,0.2);box-shadow:-2px 1px 2px 0 rgba(0,0,0,0.2);left:auto;right:42px}.rtl .nav-list>li>.submenu a>.arrow{left:11px;right:auto}.rtl .nav-list>li>.submenu li>.submenu>li>a>.arrow{left:12px;right:auto}.rtl .nav-list>li>.submenu li>.submenu>li>a{margin-left:auto;padding-left:0;margin-right:20px;padding-right:22px}.rtl .nav-list>li>.submenu li>.submenu>li>.submenu>li>a{margin-left:auto;padding-left:0;margin-right:20px;padding-right:38px}.rtl .menu-min .nav-list>li>.submenu li>.submenu>li>a{margin-right:0;padding-right:30px}.rtl .menu-min .nav-list>li>.submenu li>.submenu>li>.submenu>li>a{margin-right:0;padding-right:45px}.rtl button.btn:active{left:-1px}.rtl .btn.disabled:active,.rtl .btn[disabled]:active{left:0}.rtl .btn>[class*="icon-"]{margin-left:4px;margin-right:0}.rtl .btn>[class*="icon-"].icon-on-right{margin-left:0;margin-right:4px}.rtl .btn>[class*="icon-"].icon-only{margin:0}.rtl .btn-lg>[class*="icon-"]{margin-left:6px;margin-right:0}.rtl .btn-lg>[class*="icon-"].icon-on-right{margin-left:0;margin-right:6px}.rtl .btn-sm>[class*="icon-"]{margin-left:3px;margin-right:0}.rtl .btn-sm>[class*="icon-"].icon-on-right{margin-left:0;margin-right:3px}.rtl .btn-xs>[class*="icon-"],.rtl.btn-minier>[class*="icon-"]{margin-left:2px;margin-right:0}.rtl .btn-xs>[class*="icon-"].icon-on-right,.rtl.btn-minier>[class*="icon-"].icon-on-right{margin-left:0;margin-right:2px}.rtl .btn-group>.btn>.caret{margin-left:0;margin-right:1px}.rtl .dropdown-menu.dropdown-only-icon>li{float:right}.rtl .dropdown-light .dropdown-submenu:hover>a:after,.rtl .dropdown-lighter .dropdown-submenu:hover>a:after{border-left-color:transparent;border-right-color:#444}.rtl .dropdown-navbar>li>[class*="icon-"],.rtl .dropdown-navbar>li>a>[class*="icon-"]{margin-right:0!important;margin-left:5px!important}.rtl .dropdown-navbar [class*="btn"][class*="icon-"]{margin:0 0 0 5px}.rtl .dropdown-navbar .msg-photo{margin-left:6px;margin-right:0}.rtl .dropdown-navbar .user-menu>li>a>[class*="icon-"]{margin-left:6px;margin-right:0}.rtl .help-button{margin-left:0;margin-right:4px}.rtl .form-search .radio [type=radio]+label,.rtl .form-inline .radio [type=radio]+label,.rtl .form-search .checkbox [type=checkbox]+label,.rtl .form-inline .checkbox [type=checkbox]+label{float:right;margin-left:0;margin-right:-20px}.form-search .rtl .form-search .radio [type=radio]+label,.form-search .rtl .form-inline .radio [type=radio]+label,.form-search .rtl .form-search .checkbox [type=checkbox]+label,.form-search .rtl .form-inline .checkbox [type=checkbox]+label,.form-inline .rtl .form-search .radio [type=radio]+label,.form-inline .rtl .form-inline .radio [type=radio]+label,.form-inline .rtl .form-search .checkbox [type=checkbox]+label,.form-inline .rtl .form-inline .checkbox [type=checkbox]+label{margin-right:0;margin-left:3px}.rtl input[type=checkbox].ace+.lbl::before,.rtl input[type=radio].ace+.lbl::before{margin-right:0;margin-left:1px}.rtl input[type=checkbox].ace.ace-switch+.lbl::before,.rtl input[type=radio].ace.ace-switch+.lbl::before{direction:ltr;text-align:left}.rtl .ace-file-input .file-label:before{right:auto;left:0}.rtl .ace-file-input .file-label .file-name{padding-left:0;padding-right:30px}.rtl .ace-file-input .file-label.selected{left:16px;right:0}.rtl .ace-file-input .file-label [class*="icon-"]{right:0;left:auto}.rtl .ace-file-input .remove{left:-8px;right:auto}.rtl .ace-file-multiple .file-label.selected .file-name [class*="icon-"]{right:0;left:auto}.rtl .ace-file-multiple .file-label .file-name{padding:0;text-align:right}.rtl .ace-file-multiple .file-label .file-name img{margin:4px 1px 4px 8px}.rtl .ace-file-multiple .file-label .file-name.large{text-align:center}.rtl .ace-file-multiple .file-label .file-name.large img{margin:0}.rtl .ace-file-multiple .remove{left:-11px;right:auto}.rtl .ace-file-multiple .file-label.selected .file-name [class*="icon-"]{margin-left:4px;margin-right:2px}.rtl .nav-tabs.padding-24{padding-left:0;padding-right:24px}.rtl .nav-tabs.padding-20{padding-left:0;padding-right:20px}.rtl .nav-tabs.padding-16{padding-left:0;padding-right:16px}.rtl .nav-tabs.padding-12{padding-left:0;padding-right:12px}.rtl .nav-tabs.padding-8{padding-left:0;padding-right:8px}.rtl .nav-tabs.padding-4{padding-left:0;padding-right:4px}.rtl .nav-tabs.padding-22{padding-left:0;padding-right:22px}.rtl .nav-tabs.padding-18{padding-left:0;padding-right:18px}.rtl .nav-tabs.padding-14{padding-left:0;padding-right:14px}.rtl .nav-tabs.padding-10{padding-left:0;padding-right:10px}.rtl .nav-tabs.padding-6{padding-left:0;padding-right:6px}.rtl .nav-tabs.padding-2{padding-left:0;padding-right:2px}.rtl .tabs-right>.nav-tabs[class*="padding-"],.rtl .tabs-left>.nav-tabs[class*="padding-"]{padding-right:0}.rtl .tabs-left>.nav-tabs{margin-left:auto;margin-right:-1px}.rtl .tabs-left>.nav-tabs>li>a,.rtl .tabs-left>.nav-tabs>li>a:hover,.rtl .tabs-left>.nav-tabs>li>a:focus{margin:0 -1px 0 0}.rtl .tabs-left>.nav-tabs>li.active>a,.rtl .tabs-left>.nav-tabs>li.active>a:hover,.rtl .tabs-left>.nav-tabs>li.active>a:focus{margin:0 -1px}.rtl .nav-tabs.tab-space-1>li>a{margin-right:auto;margin-left:1px}.rtl .nav-tabs.tab-space-2>li>a{margin-right:auto;margin-left:2px}.rtl .nav-tabs.tab-space-3>li>a{margin-right:auto;margin-left:3px}.rtl .nav-tabs.tab-space-4>li>a{margin-right:auto;margin-left:4px}.rtl .nav-tabs[class*="tab-color-"]>li>a,.rtl .nav-tabs[class*="tab-color-"]>li>a:focus,.rtl .nav-tabs[class*="tab-color-"]>li>a:hover{margin-right:auto;margin-left:3px}.rtl .accordion-style2.panel-group .panel-heading .accordion-toggle{border-width:0 2px 0 0}.rtl .accordion-style2.panel-group .panel-heading .accordion-toggle.collapsed{border-width:0 1px 0 0}.rtl .table thead:first-child tr th [class*="icon-"]:first-child{margin-left:2px;margin-right:0}.rtl .widget-main.no-padding .table-bordered th:first-child,.rtl .widget-main.padding-0 .table-bordered th:first-child,.rtl .widget-main.no-padding .table-bordered td:first-child,.rtl .widget-main.padding-0 .table-bordered td:first-child{border-left-width:1px}.rtl .widget-main.no-padding .table-bordered th:last-child,.rtl .widget-main.padding-0 .table-bordered th:last-child,.rtl .widget-main.no-padding .table-bordered td:last-child,.rtl .widget-main.padding-0 .table-bordered td:last-child{border-left-width:0}.rtl .table-header{padding-left:0;padding-right:12px}.rtl .dataTables_length{margin-left:0;margin-right:8px}.rtl .dataTables_filter{margin-left:8px;margin-right:0;text-align:left}.rtl .dataTables_info{margin:0 12px 0 0}.rtl .dataTables_paginate{text-align:left}.rtl .dataTable th[class*=sort]:after{float:left;margin-right:0;margin-left:4px}.rtl .dataTables_wrapper>.row>[class*="col-"]{float:right;margin-left:0;width:50%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.rtl .widget-box{direction:rtl;text-align:right}.rtl .widget-header{padding-left:0;padding-right:12px}.rtl .widget-header:after{clear:left}.rtl .widget-header-large{padding-left:0;padding-right:18px}.rtl .widget-header-small{padding-left:0;padding-right:10px}.rtl .widget-header>.widget-caption>[class*="icon-"],.rtl .widget-header>:first-child>[class*="icon-"]{margin-right:0;margin-left:5px}.rtl .widget-toolbar{float:left}.rtl .widget-toolbar:before{left:auto;right:-1px;border-width:0 0 0 1px}.rtl .widget-toolbar>[data-action]>[class*="icon-"]{margin-right:auto;margin-left:0}.rtl .widget-box.transparent>.widget-header{padding-left:0;padding-right:3px}.rtl .widget-box.transparent>.widget-header-large{padding-left:0;padding-right:5px}.rtl .widget-box.transparent>.widget-header-small{padding-left:0;padding-right:1px}.rtl [class*="header-color-"]>.widget-toolbar>.nav-tabs>li>a{margin-right:0;margin-left:1px}.rtl .infobox{padding:8px 9px 6px 3px;text-align:right}.rtl .infobox>.infobox-icon>[class*="icon-"]{padding:1px 2px 0 1px}.rtl .infobox>.infobox-data{text-align:right;padding-left:0;padding-right:8px}.rtl .infobox>.stat{left:20px;right:auto;padding-left:18px;padding-right:0}.rtl .infobox>.stat:before{left:4px;right:auto}.rtl .infobox>.stat:after{left:1px;right:auto}.rtl .infobox>.badge{left:20px;right:auto}.rtl .infobox.infobox-dark>.badge{left:2px;right:auto}.rtl .infobox-small{text-align:right}.rtl .infobox-small>.infobox-data{text-align:right}.rtl .infobox-small>.infobox-chart>.sparkline{margin-left:auto;margin-right:2px}.rtl .infobox-small .percentage{margin-left:auto;margin-right:2px}.rtl .pricing-box .widget-header{padding-right:0}.rtl .pricing-table-header{text-align:right}.rtl .pricing-table-header>li{padding:7px 11px 7px 0}.rtl .pricing-box-small{margin-left:0;margin-right:-2px}.rtl .pricing-span[class*="col-"]{float:right!important}.rtl .pricing-span-header{float:right;padding-left:0;padding-right:12px}@media only screen and (max-width:768px){.rtl .pricing-box:nth-child(odd){padding-right:12px!important;padding-left:0!important}.rtl .pricing-box:nth-child(even){padding-left:12px!important;padding-right:0!important}}.rtl .pricing-span{float:right!important}@media only screen and (max-width:460px){.rtl .pricing-box,.rtl .pricing-box:nth-child(odd),.rtl .pricing-box:nth-child(even){padding-left:12px!important;padding-right:12px!important}}.rtl.login-layout .main-content{margin-right:0}.rtl.login-layout .login-box .toolbar>div:first-child{float:right;text-align:right}.rtl.login-layout .login-box .toolbar>div:first-child>a{margin-left:0;margin-right:11px}.rtl.login-layout .login-box .toolbar>div:first-child+div{float:left;text-align:left}.rtl.login-layout .login-box .toolbar>div:first-child+div>a{margin-left:11px;margin-right:0}.rtl .ace-thumbnails{margin-right:0}.rtl .ace-thumbnails>li{float:right}.rtl .ace-thumbnails>li .tags{direction:ltr}.rtl .ace-thumbnails>li .tags>.label-holder{margin:1px 0 0 1px;direction:rtl;text-align:right}.rtl .itemdiv{padding-right:0;padding-left:3px}.rtl .itemdiv>.user{left:auto;right:0}.rtl .itemdiv>.body{margin-right:50px;margin-left:12px}.rtl .itemdiv>.body>.time{right:auto;left:9px}.rtl .itemdiv>.body>.text{padding-left:0;padding-right:7px}.rtl .itemdiv>.body>.text:after{right:16px;left:-12px}.rtl .itemdiv>.body>.text>[class*="icon-quote-"]:first-child{margin-left:4px;margin-right:0}.rtl .itemdiv.dialogdiv:before{left:auto;right:19px}.rtl .itemdiv.dialogdiv>.body{border-left-width:1px;border-right-width:2px;margin-left:1px}.rtl .itemdiv.dialogdiv>.body:before{left:auto;right:-7px;border-width:2px 2px 0 0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.rtl .itemdiv.dialogdiv>.body>.time{float:left}.rtl .itemdiv.dialogdiv>.body>.text{padding-right:0}.rtl .itemdiv.memberdiv{float:right}.rtl .itemdiv .tools{right:auto;left:4px}.rtl .itemdiv.commentdiv .tools{right:auto;left:9px}.rtl .item-list{margin:0}.rtl .item-list>li{border-left-width:1px;border-right-width:3px;border-left-color:#DDD}.rtl li[class*="item-"]{border-left-width:1px;border-right-width:3px;border-left-color:#DDD}.rtl li.item-orange{border-right-color:#e8b110}.rtl li.item-orange2{border-right-color:#f79263}.rtl li.item-red{border-right-color:#d53f40}.rtl li.item-red2{border-right-color:#d15b47}.rtl li.item-green{border-right-color:#9abc32}.rtl li.item-green2{border-right-color:#0490a6}.rtl li.item-blue{border-right-color:#4f99c6}.rtl li.item-blue2{border-right-color:#3983c2}.rtl li.item-blue3{border-right-color:#1144eb}.rtl li.item-pink{border-right-color:#cb6fd7}.rtl li.item-black{border-right-color:#505050}.rtl li.item-grey{border-right-color:#a0a0a0}.rtl li.item-brown{border-right-color:#a52a2a}.rtl li.item-default{border-right-color:#abbac3}.rtl li.item-purple{border-right-color:#6f3cc4}.rtl .profile-info-name{text-align:left;padding-right:0;padding-left:10px;left:auto;right:0}.rtl .profile-info-value{padding-right:6px;padding-left:4px;margin-left:auto;margin-right:120px}.rtl .profile-info-value>span+span:before{margin-left:3px;margin-right:1px}.rtl .profile-user-info-striped .profile-info-value{padding-left:0;padding-right:12px}.rtl .profile-activity img,.rtl .profile-activity .thumbicon{margin-right:0;margin-left:10px}.rtl .profile-activity .tools{left:12px;right:auto}.rtl .user-profile .user-title-label+.dropdown-menu{margin-left:auto;margin-right:-12px}.rtl .user-status{margin-right:auto;margin-left:1px}.rtl .tab-content.profile-edit-tab-content{-webkit-box-shadow:-1px 1px 0 0 rgba(0,0,0,0.2);box-shadow:-1px 1px 0 0 rgba(0,0,0,0.2)}.rtl .inbox-tabs.nav-tabs>li.active>a.btn-new-mail>.btn:before{left:auto;right:35%;right:calc(50% - 6px)}.rtl .inbox-tabs.nav-tabs.tab-size-bigger>li.active>a.btn-new-mail>.btn:before{left:auto;right:35%;right:calc(50% - 8px)}.rtl .inbox-tabs.nav-tabs>li.pull-left{float:left}@media only screen and (max-width:475px){.rtl .inbox-tabs>.li-new-mail{text-align:left}}.rtl .message-item .sender{margin-left:4px;margin-right:6px}.rtl .message-item .summary{margin-left:auto;margin-right:30px}.rtl .message-item .message-flags{right:auto;left:101%;left:calc(100%+4px)}.rtl .message-item .time{float:left}.rtl .message-item .attachment{float:left}.rtl .message-star{margin-left:4px;margin-right:6px}.rtl .mail-tag:empty{margin-left:1px;margin-right:0}.rtl ul.attachment-list{margin-left:0;margin-right:8px}.rtl .attached-file>[class*="icon-"]{margin-right:auto;margin-left:2px}.rtl .messagebar-item-left,.rtl .messagebar-item-right{text-align:right}.rtl .message-navbar .nav-search{left:auto;right:60px}.rtl .inbox-folders .btn>[class*="icon-"]:first-child{text-align:right}.rtl .inbox-folders .btn.active:before{left:auto;right:-1px;border-left:none;border-right:3px solid #4f99c6}.rtl .inbox-folders .btn .counter{right:auto;left:8px}.rtl .message-form .controls{margin-right:125px}.rtl .timeline-container:before{right:28px;left:auto}.rtl .timeline-item .transparent.widget-box{border-right:3px solid #dae1e5;border-left:none}.rtl .timeline-item .transparent .widget-header>:first-child{margin-left:auto;margin-right:8px}.rtl .timeline-item:nth-child(even) .widget-box.transparent{border-right-color:#dbdbdb!important}.rtl .timeline-item .widget-box{margin-left:auto;margin-right:60px}.rtl .timeline-info{float:right}.rtl .timeline-label{margin-right:34px;margin-left:auto}.rtl .timeline-style2:before{display:none}.rtl .timeline-style2 .timeline-item:before{left:auto;right:90px}.rtl .timeline-style2 .timeline-item .transparent.widget-box{border-right:none!important}.rtl .timeline-style2 .timeline-indicator{left:auto;right:86px}.rtl .timeline-style2 .timeline-date{text-align:left;margin-right:auto;margin-left:25px}.rtl .timeline-style2 .timeline-item .widget-box{margin-left:auto;margin-right:112px}.rtl .timeline-style2 .timeline-label{margin-right:0;text-align:left}.rtl .ace-settings-container{left:0;right:auto}.rtl .btn.ace-settings-btn{float:right;border-radius:0 6px 6px 0!important}.rtl .ace-settings-box{float:right}.rtl .grid2,.rtl .grid3,.rtl .grid4{float:right;border-left:none;border-right:1px solid #e3e3e3}.rtl .grid2:first-child,.rtl .grid3:first-child,.rtl .grid4:first-child{border-right:0}.rtl .easyPieChart canvas{left:auto;right:0}.rtl .external-event>[class*="icon-"]:first-child{margin-right:0;margin-left:5px;border-right:0;border-left:1px solid #FFF}.rtl #cboxCurrent{left:auto;right:64px}.rtl #cboxNext,.rtl #cboxPrevious{margin-left:0;margin-right:5px}.rtl #cboxPrevious{left:auto;right:27px}.rtl #cboxNext{left:auto;right:0}.rtl .ace-spinner .spinner-buttons>button.btn:active{left:auto;top:auto}.rtl .wizard-steps{margin-right:0}.rtl .wizard-actions{text-align:left}.rtl .wizard-steps li:first-child:before{right:50%;left:auto}.rtl .tree{padding-left:0;padding-right:9px}.rtl .tree:before{left:auto;right:0;border-width:0 1px 0 0}.rtl .tree .tree-folder .tree-folder-header .tree-folder-name{margin-left:0;margin-right:2px}.rtl .tree .tree-folder .tree-folder-header>[class*="icon-"]:first-child{margin:-2px -2px 0 0}.rtl .tree .tree-folder:last-child:after{left:auto;right:-15px;border-left:none;border-right:1px solid #FFF}.rtl .tree .tree-folder .tree-folder-content{margin-left:0;margin-right:23px}.rtl .tree .tree-folder .tree-folder-content:before{left:auto;right:-14px;border-width:0 1px 0 0}.rtl .tree .tree-item .tree-item-name{margin-left:0;margin-right:3px}.rtl .tree .tree-item .tree-item-name>[class*="icon-"]:first-child{margin-right:0;margin-left:3px}.rtl .tree .tree-folder:before,.rtl .tree .tree-item:before{left:auto;right:-13px}.rtl .tree .tree-loading{margin-left:0;margin-right:36px}.rtl #gritter-notice-wrapper{text-align:right;direction:rtl;left:20px;right:auto}.rtl .gritter-close{right:auto;left:3px}.rtl .gritter-image{float:right}.rtl .gritter-with-image,.rtl .gritter-without-image{float:left}.rtl .wysiwyg-toolbar .dropdown-menu{text-align:right}.rtl .wysiwyg-toolbar .wysiwyg-choose-file{margin-left:auto}.rtl .wysiwyg-toolbar .btn-group>.btn,.rtl .wysiwyg-toolbar .btn-group>.inline>.btn{float:none}.rtl .wysiwyg-style1 .btn-group:after,.rtl .wysiwyg-style2 .btn-group:after{left:auto;border-left:none;right:-2px;border-right:1px solid #e1e6ea}.rtl .wysiwyg-toolbar .dropdown-menu input[type=text]{margin-left:0;margin-right:8px}.rtl .wysiwyg-toolbar .dropdown-menu .btn{margin-right:1px;margin-left:8px}.rtl .widget-body .md-header{margin-left:0;margin-right:9px}.rtl .widget-body .md-header .btn-inverse{padding-right:0;padding-left:5px}.rtl .select2-container .select2-choice{padding-left:0;padding-right:8px}.rtl .select2-container.select2-allowclear .select2-choice .select2-chosen{margin-right:auto;margin-left:42px}.rtl .select2-container .select2-choice>.select2-chosen{margin-left:26px;margin-right:auto}.rtl .select2-container .select2-choice abbr{right:auto;left:20px}.rtl .select2-container .select2-choice .select2-arrow{right:auto;left:0}.rtl .select2-container .select2-choice .select2-arrow b:before{right:5px;left:auto}.rtl .select2-container-multi .select2-choices li{float:right}.rtl .select2-container-multi .select2-choices .select2-search-choice{margin:3px 5px 3px 0;padding:3px 18px 3px 5px}.rtl .select2-results{margin-right:0}.rtl .select2-drop{direction:rtl;text-align:right}.rtl .select2-drop input{padding-right:5px;padding-left:20px}.rtl .select2-drop .select2-results{padding-right:4px;padding-left:0}.rtl .select2-search:after{right:-20px;left:auto}.rtl .select2-search input.select2-active{background-position:0 0}.rtl .editable-buttons{margin-left:auto;margin-right:1px}.rtl .editable-buttons .btn{margin:0 0 0 1px}.rtl .editable-input .ace-spinner{margin-right:auto;margin-left:8px}.rtl .editable-inline .editable-slider{margin-right:auto;margin-left:4px}.rtl .tags .tag{padding-left:22px;padding-right:9px;text-shadow:-1px 1px 1px rgba(0,0,0,0.15)}.rtl .tags .tag .close{float:none;left:0;right:auto}.rtl .ui-datepicker .ui-datepicker-prev:before{content:"\f061"}.rtl .ui-datepicker .ui-datepicker-next:before{content:"\f060"}.rtl .ui-menu,.rtl .ui-dialog,.rtl .ui-jqdialog{direction:rtl;text-align:right}.rtl .ui-menu .ui-menu-item a .ui-menu-icon{float:left}.rtl .ui-menu .ui-menu-item a .ui-menu-icon:before{content:"\f104"}.rtl .ui-dialog .ui-dialog-titlebar-close,.rtl .ui-jqdialog .ui-jqdialog-titlebar-close{left:8px!important;right:auto!important}.rtl .ui-tabs .ui-tabs-nav li{float:right;margin-right:0;margin-left:.2em}.rtl .ui-tabs .ui-tabs-nav li a{float:right}.rtl .ui-tabs .ui-tabs-nav li.ui-state-default>a{margin-right:auto;margin-left:-1px}.rtl .ui-accordion .ui-accordion-header{padding-right:24px;padding-left:8px}.rtl .ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:auto;right:10px}.rtl .ui-accordion .ui-accordion-header .ui-accordion-header-icon:before{content:"\f0d9"}.rtl .ui-accordion .ui-accordion-header.ui-state-active .ui-accordion-header-icon:before{content:"\f0d7"}.rtl .ui-jqgrid .ui-jqgrid-hdiv{border-width:1px 1px 0 0}.rtl .ui-jqgrid .ui-jqgrid-labels th{border-right:none!important;border-left:1px solid #e1e1e1!important;text-align:right!important}.rtl .ui-jqgrid .ui-jqgrid-labels th:first-child{border-right:1px solid #e1e1e1!important}.rtl .ui-jqgrid-labels th[id*="_cb"]:first-child{text-align:center!important}.rtl .ui-jqgrid-sortable{padding-left:0;padding-right:4px}.rtl .ui-jqdialog-content .searchFilter table{margin-left:auto;margin-right:4px}.rtl .ui-jqdialog-content .searchFilter .add-group,.rtl .ui-jqdialog-content .searchFilter .add-rule,.rtl .ui-jqdialog-content .searchFilter .delete-group{margin-left:auto!important;margin-right:4px!important}.rtl .ui-jqdialog-content .CaptionTD{text-align:left}.rtl .ui-jqdialog .ui-widget-header .ui-jqdialog-title{text-align:right;padding-left:0;padding-right:12px;float:right!important}.rtl .dd{text-align:right;direction:rtl}.rtl .dd-list{text-align:right;direction:rtl;margin-right:0}.rtl .dd-list .dd-list{padding-right:30px;padding-left:0}.rtl .dd2-handle+.dd2-content,.rtl .dd2-handle+.dd2-content[class*="btn-"]{padding-left:0;padding-right:44px}.rtl .dd-item>button{float:right;margin:5px 5px 5px 1px;left:auto;right:1px}.rtl .dd2-item.dd-item>button{margin-left:5px;margin-right:34px}.rtl .dd-dragel>li>.dd-handle{border-right:2px solid #777;border-left-width:0}.rtl .dd-list>li[class*="item-"]{border-left-width:0;border-right-width:0}.rtl .dd-list>li[class*="item-"]>.dd-handle{border-right:2px solid;border-right-color:inherit;border-left-color:#dae2ea;border-left-width:1px}.rtl .dd-list>li>.dd-handle .sticker{right:auto;left:0}.rtl .dd2-handle,.rtl .dd-dragel>li>.dd2-handle{left:auto;right:0;border-width:1px 0 0 1px}.rtl .limiterBox{direction:rtl;text-align:right}.rtl ol.linenums{margin-right:33px}.rtl ol.linenums li{padding-left:0;padding-right:12px}.rtl .prettyprint.linenums{-webkit-box-shadow:-40px 0 0 #fbfbfc inset,-41px 0 0 #ececf0 inset;box-shadow:-40px 0 0 #fbfbfc inset,-41px 0 0 #ececf0 inset}@media only screen and (max-width:767px){.rtl .ace-nav>li:nth-last-child(4)>.dropdown-menu{right:auto;left:-80px}.rtl .ace-nav>li:nth-last-child(4)>.dropdown-menu:before,.rtl .ace-nav>li:nth-last-child(4)>.dropdown-menu:after{right:auto;left:100px}.rtl .ace-nav>li:nth-last-child(3)>.dropdown-menu{right:auto;left:-40px}.rtl .ace-nav>li:nth-last-child(3)>.dropdown-menu:before,.rtl .ace-nav>li:nth-last-child(3)>.dropdown-menu:after{right:auto;left:60px}}@media only screen and (max-width:480px){.rtl .ace-nav>li:nth-last-child(4)>.dropdown-menu{right:auto;left:-120px}.rtl .ace-nav>li:nth-last-child(4)>.dropdown-menu:before,.rtl .ace-nav>li:nth-last-child(4)>.dropdown-menu:after{right:auto;left:140px}.rtl .ace-nav>li:nth-last-child(3)>.dropdown-menu{right:auto;left:-80px}.rtl .ace-nav>li:nth-last-child(3)>.dropdown-menu:before,.rtl .ace-nav>li:nth-last-child(3)>.dropdown-menu:after{right:auto;left:100px}.rtl .ace-nav>li:nth-last-child(2)>.dropdown-menu{right:auto;left:-50px}.rtl .ace-nav>li:nth-last-child(2)>.dropdown-menu:before,.rtl .ace-nav>li:nth-last-child(2)>.dropdown-menu:after{right:auto;left:70px}}@media only screen and (max-width:460px){.rtl .ace-nav>li:nth-last-child(4)>.dropdown-menu{left:auto;right:-5px}.rtl .ace-nav>li:nth-last-child(4)>.dropdown-menu:before,.rtl .ace-nav>li:nth-last-child(4)>.dropdown-menu:after{left:auto;right:25px}.rtl .ace-nav>li:nth-last-child(3)>.dropdown-menu{left:auto;right:-60px}.rtl .ace-nav>li:nth-last-child(3)>.dropdown-menu:before,.rtl .ace-nav>li:nth-last-child(3)>.dropdown-menu:after{left:auto;right:80px}.rtl .ace-nav>li:nth-last-child(2)>.dropdown-menu{left:auto;right:-110px}.rtl .ace-nav>li:nth-last-child(2)>.dropdown-menu:before,.rtl .ace-nav>li:nth-last-child(2)>.dropdown-menu:after{left:auto;right:130px}}@media only screen and (max-width:460px){.rtl .ace-nav>li{text-align:right;float:none!important}.rtl .ace-nav>li:first-child{border-left:none;border-right:1px solid #DDD}.rtl .ace-nav>li:last-child{border-left:1px solid #DDD}}@media(min-width:422px) and (max-width:480px),(max-width:340px){.rtl .ace-nav .nav-user-photo{margin-left:0}.rtl .user-info{margin-left:auto;right:auto;margin-right:1px;left:2px}}@media only screen and (max-width:767px){.rtl .nav-search{right:auto;left:5px}}@media only screen and (max-width:991px){.rtl .navbar-brand{margin-right:0}.rtl .sidebar{left:auto;box-shadow:-2px 1px 2px 0 rgba(0,0,0,0.2);border-left-width:1px;border-right-width:0}.rtl .sidebar.display,.rtl .sidebar.menu-min.display{left:auto;right:0}.rtl .sidebar.menu-min{left:auto;right:-50px}.rtl .main-content{margin-left:auto!important;margin-right:0!important}.rtl .menu-toggler{left:auto;margin-right:auto;right:0;margin-left:2px;padding-left:0;padding-right:33px}.rtl .menu-toggler:before{left:auto;right:4px}.rtl .menu-toggler:after{left:auto;right:4px}.rtl .menu-toggler>.menu-text{left:auto;right:0}.rtl .menu-toggler>.menu-text:after{left:auto;right:-8px}.rtl .breadcrumb{margin-left:auto;margin-right:90px}}@media only screen and (max-width:460px){.rtl .navbar .navbar-brand{display:block;float:none}}@media only screen and (max-width:480px){.rtl .ace-thumbnails>li{float:none}}@media only screen and (max-width:320px){.rtl .breadcrumb{margin-left:0;margin-right:36px}.rtl .menu-toggler>.menu-text:after{left:auto;right:-13px}}@media only screen and (max-width:480px){.rtl .fc-header td{text-align:right}}@media only screen and (max-width:360px){.rtl .grid2,.rtl .grid3,.rtl .grid4{border-right:0}.rtl .grid2>[class*="pull-"],.rtl .grid3>[class*="pull-"],.rtl .grid4>[class*="pull-"]{right:auto;left:11px}}@media only screen and (max-width:767px){.rtl .help-inline,.rtl .input-icon+.help-inline{padding-right:0}}@media only screen and (max-width:480px){.rtl .profile-info-value{margin-left:auto;margin-right:90px}.rtl .profile-user-info-striped .profile-info-name{padding-right:10px;padding-left:0;text-align:right}.rtl .profile-user-info-striped .profile-info-value{margin-left:auto;margin-right:10px}}
\ No newline at end of file
... ...
.skin-1{background-color:#4a4f56}.skin-1 .navbar{background:#2c6aa0}.skin-1 .sidebar,.skin-1 .sidebar:before{background-color:#222a2d;border-right:0}.skin-1 .nav-list>li{border-color:#3f4e54;border-top-width:0}.skin-1 .nav-list>li>a,.skin-1 .menu-min .nav-list>li.open>a{background-color:#222a2d;color:#b1bac1}.skin-1 .nav-list>li:hover>a{background-color:#414b51;color:#e1eaf1}.skin-1 .nav-list>li>a>.arrow{color:#b1bac1}.skin-1 .nav-list>li.open>a>.arrow{color:#85c0ec}.skin-1 .nav-list>li .submenu>li>a{border-top-color:#afbdc9}.skin-1 .nav-list>li.active .submenu>li>a{border-top-color:#70818e}.skin-1 .nav-list li.active>a:after{border-right-color:#FFF;border-width:16px 10px;top:2px}.skin-1 .nav-list>li.active.open>ul.submenu>li.active>a:after{top:1px}.skin-1 .nav-list>li.active:after{display:none}.skin-1 .menu-min .nav-list>li.active>a:after{border-width:10px 6px;top:8px}.skin-1 .menu-min .nav-list>li.active:hover>a:after{border-right-color:#242a2b}.skin-1 .nav-list>li.open>a,.skin-1 .nav-list>li.open>a:hover{color:#85c0ec;background-color:#222a2d}.skin-1 .nav-list>li.active>a,.skin-1 .nav-list>li.active>a:hover,.skin-1 .menu-min .nav-list>li.active>a,.skin-1 .menu-min .nav-list>li.active>a:hover{background-color:#141a1b;color:#55a0dc}.skin-1 .nav-list>li>ul.submenu{background-color:#3a4344;border-top-color:#5a6364}.skin-1 .nav-list>li.active>ul.submenu{background-color:#141a1b;border-top-color:#2f3e44}.skin-1 .nav-list>li>.submenu>li>a{color:#d1dae1;border-bottom-color:#5a6364}.skin-1 .nav-list>li>.submenu>li:first-child>a{border-top-color:transparent}.skin-1 .nav-list>li>.submenu>li>a:hover{color:#8ab4de}.skin-1 .nav-list>li>.submenu>li.active>a{color:#55a0dc;border-bottom-color:#2f3e44}.skin-1 .nav-list>li>.submenu>li>a>[class*="icon-"]:first-child{display:none}.skin-1 .menu-min .nav-list>li:hover>a{color:#e1eaf1}.skin-1 .menu-min .nav-list>li>a>.menu-text{background-color:#414b51}.skin-1 .menu-min .nav-list>li.active>a>.menu-text{background-color:#242a2b}.skin-1 .menu-min .nav-list>li.active:hover>a,.skin-1 .menu-min .nav-list>li.active>a>.menu-text{color:#55a0dc}.skin-1 .menu-min .nav-list>li>a.active,.skin-1 .menu-min .nav-list>li.open.active>a{background-color:#141a1b}.skin-1 .menu-min .nav-list>li>a>.menu-text,.skin-1 .menu-min .nav-list>li>ul.submenu{border-color:#3f4e54;margin-top:1px;border-left-color:#242a2b}.skin-1 .nav-list>li>.submenu>li:before,.skin-1 .nav-list>li>.submenu:before{border-color:#929ba3}.skin-1 .nav-list>li.active>.submenu>li:before,.skin-1 .nav-list>li.active>.submenu:before{border-color:#3f4e54}.skin-1 .menu-min .nav-list>li>a.dropdown-toggle>.menu-text{border-bottom-color:#5a606a}.skin-1 .sidebar-collapse{background-color:#141a1b;border-color:#3f4e54;border-top-width:1px}.skin-1 .sidebar-collapse:before{border-color:#3f4e54}.skin-1 .sidebar-collapse>[class*="icon-"]{background-color:#222a2d}.skin-1 .sidebar-shortcuts,.skin-1 .sidebar-shortcuts-mini{background-color:#141a1b;border-color:#3f4e54}.skin-1 .sidebar>.nav-search{background-color:#141a1b;border-color:#3f4e54}.skin-1 .menu-min .sidebar-shortcuts-large{background-color:#141a1b;box-shadow:none;border:0;top:0}.skin-1 .breadcrumbs{border:0;background-color:#f0f0f0}@media only screen and (max-width:991px){.skin-1 .sidebar{border:0;box-shadow:none}.skin-1 .nav-list li.active>a:after{display:none}.skin-1 .menu-min .nav-list>li.active.open>a:after{display:none}.skin-1 .menu-min .nav-list>li.active:hover>a:after{display:block}}.skin-1 .nav-list>li>.submenu>li>.submenu a{border-top-color:#7b858c}.skin-1 .nav-list>li.active>.submenu>li>.submenu a{border-top-color:#545b60}.skin-1 .nav-list>li .submenu li>.submenu>li a{color:#d1dae1;font-size:13px}.skin-1 .nav-list>li .submenu li>.submenu>li a>[class*="icon-"]:first-child{color:inherit}.skin-1 .nav-list>li .submenu li>.submenu>li a:hover{color:#8ab4de;text-decoration:none}.skin-1 .nav-list>li .submenu li>.submenu>li a:hover>[class*="icon-"]:first-child{color:#55a0dc}.skin-1 .nav-list>li .submenu li.open>a,.skin-1 .nav-list>li .submenu li>.submenu>li.open>a{color:#85c0ec}.skin-1 .nav-list>li .submenu li.open>a>[class*="icon-"]:first-child,.skin-1 .nav-list>li .submenu li>.submenu>li.open>a>[class*="icon-"]:first-child{color:inherit}.skin-1 .nav-list>li .submenu li>.submenu li.active>a{color:#61a8dd}.skin-1 .nav-list>li .submenu li>.submenu li.active>a>[class*="icon-"]:first-child{color:inherit}.skin-1 .nav-list>li .submenu li>.submenu li.active>a:hover{color:#85c0ec}.skin-1 .nav-list>li .submenu li>a>.arrow{color:#BBB}.skin-1 .nav-list>li>.submenu>li.open>a>.arrow,.skin-1 .nav-list>li>.submenu>li>a:hover>.arrow,.skin-1 .nav-list>li>.submenu>li>.submenu>li.open>a>.arrow,.skin-1 .nav-list>li>.submenu>li>.submenu>li>a:hover>.arrow{color:inherit}.skin-2{background-color:#5c5c5c}.skin-2 .navbar{background:#c6487e}.skin-2 .sidebar,.skin-2 .sidebar:before{background-color:#505050;border-right:0}.skin-2 .nav-list>li{border-color:#444;border-top-width:0}.skin-2 .nav-list>li:last-child{border-bottom-width:0}.skin-2 .nav-list>li>a,.skin-2 .menu-min .nav-list>li.open>a,.skin-2 .nav-list .open>a,.skin-2 .nav-list .open>a:hover,.skin-2 .nav-list .open>a:focus{background-color:#393939}.skin-2 .nav-list>li.active>a{color:#FFF}.skin-2 .nav-list>li>a:hover:before{display:none}.skin-2 .nav-list li.active>a:after{border-right-color:#FFF}.skin-2 .nav-list>li.active>a:after,.skin-2 .nav-list>li.active>.submenu>li.active>a:after{top:2px;right:0;border-width:16px 10px}.skin-2 .menu-min .nav-list>li.active>a:after{border-width:10px 6px;top:8px}.skin-2 .menu-min .nav-list>li.active:hover>a:after{border-right-color:#292929}.skin-2 .nav-list>li.active:after{display:none}.skin-2 .nav-list>li.active.open>.submenu>li.active>a:after{border-right-color:#FFF;right:0}.skin-2 .nav-list>li>.submenu{background-color:#303030;border-top-color:#666}.skin-2 .nav-list>li.active>.submenu{background-color:#222}.skin-2 .nav-list>li>.submenu>li:first-child>a{border-top:0}.skin-2 .nav-list>li>.submenu>li>a{color:#CCC;border-bottom-color:#555}.skin-2 .nav-list>li>.submenu>li>a>[class*="icon-"]:first-child{display:none}.skin-2 .nav-list>li>a>.menu-text{color:#DDD}.skin-2 .nav-list>li>a:hover>.menu-text{color:rgba(0,0,0,0.5);font-weight:bold}.skin-2 .nav-list>li.active>a:hover>.menu-text{color:#FFF}.skin-2 .nav-list>li>a>.arrow{color:#AAA}.skin-2 .nav-list>li>a:hover>.arrow{color:#FFF}.skin-2 .menu-min .nav-list>li>a>.menu-text{color:#FFF;font-weight:bold;opacity:1;filter:alpha(opacity=100);background-color:#292929;border:0;box-shadow:none;text-shadow:1px 1px 0 rgba(0,0,0,0.5);margin-top:2px}.skin-2 .menu-min .nav-list>li>a.dropdown-toggle>.menu-text{margin-top:0;background-color:#292929}.skin-2 .menu-min .nav-list>li>ul.submenu{box-shadow:none;border:0;background-color:#303030;margin-left:1px;margin-top:1px;border-left:1px solid #FFF}.skin-2 .nav-list>li>ul.submenu>li>a:hover{color:#FFF}.skin-2 .nav-list>li>ul.submenu>li:before,.skin-2 .nav-list>li>ul.submenu>li:after{display:none}.skin-2 .nav-list>li>ul.submenu>li>a{padding-left:28px}.skin-2 .nav-list>li>a,.skin-2 .menu-min .nav-list>li>a>.menu-text{color:#CCC}.skin-2 .nav-list>li:nth-child(1)>a,.skin-2 .menu-min .nav-list>li:nth-child(1)>a>.menu-text{color:#00be67}.skin-2 .nav-list>li:nth-child(2)>a,.skin-2 .menu-min .nav-list>li:nth-child(2)>a>.menu-text{color:#5ed02b}.skin-2 .nav-list>li:nth-child(3)>a,.skin-2 .menu-min .nav-list>li:nth-child(3)>a>.menu-text{color:#a7d700}.skin-2 .nav-list>li:nth-child(4)>a,.skin-2 .menu-min .nav-list>li:nth-child(4)>a>.menu-text{color:#cee100}.skin-2 .nav-list>li:nth-child(5)>a,.skin-2 .menu-min .nav-list>li:nth-child(5)>a>.menu-text{color:#f8c600}.skin-2 .nav-list>li:nth-child(6)>a,.skin-2 .menu-min .nav-list>li:nth-child(6)>a>.menu-text{color:#ffab00}.skin-2 .nav-list>li:nth-child(7)>a,.skin-2 .menu-min .nav-list>li:nth-child(7)>a>.menu-text{color:#ff6e00}.skin-2 .nav-list>li:nth-child(8)>a,.skin-2 .menu-min .nav-list>li:nth-child(8)>a>.menu-text{color:#f21c30}.skin-2 .nav-list>li:nth-child(9)>a,.skin-2 .menu-min .nav-list>li:nth-child(9)>a>.menu-text{color:#ee218b}.skin-2 .nav-list>li:nth-child(10)>a,.skin-2 .menu-min .nav-list>li:nth-child(10)>a>.menu-text{color:#c55ee7}.skin-2 .nav-list>li:nth-child(11)>a,.skin-2 .menu-min .nav-list>li:nth-child(11)>a>.menu-text{color:#218bee}.skin-2 .nav-list>li:nth-child(12)>a,.skin-2 .menu-min .nav-list>li:nth-child(12)>a>.menu-text{color:#2ecee7}.skin-2 .menu-min .nav-list>li.active>a>[class*="icon-"],.skin-2 .nav-list>li:not(.active):hover>a>[class*="icon-"]{color:#FFF}.skin-2 .nav-list>li.active>a>.menu-text{color:#FFF}.skin-2 .nav-list>li.active>ul.submenu{background-color:#222}.skin-2 .nav-list>li>ul.submenu:before{display:block;content:"";position:absolute;z-index:auto;left:0;top:0;right:0;bottom:0;background-color:#393939;opacity:.12}.skin-2 .sidebar:not(.menu-min) .nav-list>li:not(.active)>a:hover .badge:not(.badge-transparent),.skin-2 .sidebar:not(.menu-min) .nav-list>li:not(.active)>a:hover .label:not(.label-transparent){background-color:rgba(0,0,0,0.5)!important}.skin-2 .sidebar:not(.menu-min) .nav-list>li:not(.active)>a:hover .badge.badge-transparent,.skin-2 .sidebar:not(.menu-min) .nav-list>li:not(.active)>a:hover .label.label-transparent{color:rgba(255,255,255,0.75)!important}.skin-2 .sidebar:not(.menu-min) .nav-list>li:not(.active)>a:hover .badge.badge-transparent [class*="icon-"],.skin-2 .sidebar:not(.menu-min) .nav-list>li:not(.active)>a:hover .label.label-transparent [class*="icon-"]{color:rgba(255,255,255,0.75)!important}.skin-2 .nav-list>li>a:hover,.skin-2 .menu-min .nav-list>li:hover>a,.skin-2 .menu-min .nav-list>li.active>a{background-color:#c6487e}.skin-2 .nav-list>li>ul.submenu:before{background-color:#35262d}.skin-2 .nav-list>li:nth-child(1)>a:hover,.skin-2 .menu-min .nav-list li:nth-child(1):hover>a,.skin-2 .menu-min .nav-list li.active:nth-child(1)>a,.skin-2 .nav-list>li:nth-child(1)>ul.submenu:before{background-color:#00be67}.skin-2 .nav-list>li:nth-child(2)>a:hover,.skin-2 .menu-min .nav-list li:nth-child(2):hover>a,.skin-2 .menu-min .nav-list li.active:nth-child(2)>a,.skin-2 .nav-list>li:nth-child(2)>ul.submenu:before{background-color:#5ed02b}.skin-2 .nav-list>li:nth-child(3)>a:hover,.skin-2 .menu-min .nav-list li:nth-child(3):hover>a,.skin-2 .menu-min .nav-list li.active:nth-child(3)>a,.skin-2 .nav-list>li:nth-child(3)>ul.submenu:before{background-color:#a7d700}.skin-2 .nav-list>li:nth-child(4)>a:hover,.skin-2 .menu-min .nav-list li:nth-child(4):hover>a,.skin-2 .menu-min .nav-list li.active:nth-child(4)>a,.skin-2 .nav-list>li:nth-child(4)>ul.submenu:before{background-color:#cee100}.skin-2 .nav-list>li:nth-child(5)>a:hover,.skin-2 .menu-min .nav-list li:nth-child(5):hover>a,.skin-2 .menu-min .nav-list li.active:nth-child(5)>a,.skin-2 .nav-list>li:nth-child(5)>ul.submenu:before{background-color:#f8c600}.skin-2 .nav-list>li:nth-child(6)>a:hover,.skin-2 .menu-min .nav-list li:nth-child(6):hover>a,.skin-2 .menu-min .nav-list li.active:nth-child(6)>a,.skin-2 .nav-list>li:nth-child(6)>ul.submenu:before{background-color:#ffab00}.skin-2 .nav-list>li:nth-child(7)>a:hover,.skin-2 .menu-min .nav-list li:nth-child(7):hover>a,.skin-2 .menu-min .nav-list li.active:nth-child(7)>a,.skin-2 .nav-list>li:nth-child(7)>ul.submenu:before{background-color:#ff6e00}.skin-2 .nav-list>li:nth-child(8)>a:hover,.skin-2 .menu-min .nav-list li:nth-child(8):hover>a,.skin-2 .menu-min .nav-list li.active:nth-child(8)>a,.skin-2 .nav-list>li:nth-child(8)>ul.submenu:before{background-color:#f21c30}.skin-2 .nav-list>li:nth-child(9)>a:hover,.skin-2 .menu-min .nav-listli:nth-child(9):hover>a,.skin-2 .menu-min .nav-list li.active:nth-child(9)>a,.skin-2 .nav-list>li:nth-child(9)>ul.submenu:before{background-color:#ee218b}.skin-2 .nav-list>li:nth-child(10)>a:hover,.skin-2 .menu-min .nav-list li:nth-child(10):hover>a,.skin-2 .menu-min .nav-list li.active:nth-child(10)>a,.skin-2 .nav-list>li:nth-child(10)>ul.submenu:before{background-color:#c55ee7}.skin-2 .nav-list>li:nth-child(11)>a:hover,.skin-2 .menu-min .nav-list li:nth-child(11):hover>a,.skin-2 .menu-min .nav-list li.active:nth-child(11)>a,.skin-2 .nav-list>li:nth-child(11)>ul.submenu:before{background-color:#218bee}.skin-2 .nav-list>li:nth-child(12)>a:hover,.skin-2 .menu-min .nav-list li:nth-child(12):hover>a,.skin-2 .menu-min .nav-listli.active:nth-child(12)>a,.skin-2 .nav-list>li:nth-child(12)>ul.submenu:before{background-color:#2ecee7}.skin-2 .nav-list>li>ul.submenu{border-top-style:inset}.skin-2 .menu-min .nav-list>li>ul.submenu{border-top-color:#666!important}.skin-2 .nav-list>li>ul.submenu{border-top-color:#c6487e}.skin-2 .nav-list>li:nth-child(1)>ul.submenu{border-top-color:#00be67}.skin-2 .nav-list>li:nth-child(2)>ul.submenu{border-top-color:#5ed02b}.skin-2 .nav-list>li:nth-child(3)>ul.submenu{border-top-color:#a7d700}.skin-2 .nav-list>li:nth-child(4)>ul.submenu{border-top-color:#cee100}.skin-2 .nav-list>li:nth-child(5)>ul.submenu{border-top-color:#f8c600}.skin-2 .nav-list>li:nth-child(6)>ul.submenu{border-top-color:#ffab00}.skin-2 .nav-list>li:nth-child(7)>ul.submenu{border-top-color:#ff6e00}.skin-2 .nav-list>li:nth-child(8)>ul.submenu{border-top-color:#f21c30}.skin-2 .nav-list>li:nth-child(9)>ul.submenu{border-top-color:#ee218b}.skin-2 .nav-list>li:nth-child(10)>ul.submenu{border-top-color:#c55ee7}.skin-2 .nav-list>li:nth-child(11)>ul.submenu{border-top-color:#218bee}.skin-2 .nav-list>li:nth-child(12)>ul.submenu{border-top-color:#2ecee7}.skin-2 .nav-list>li>ul.submenu li.active>a{color:#c6487e}.skin-2 .nav-list>li:nth-child(1)>ul.submenu li.active>a{color:#00be67}.skin-2 .nav-list>li:nth-child(2)>ul.submenu li.active>a{color:#5ed02b}.skin-2 .nav-list>li:nth-child(3)>ul.submenu li.active>a{color:#a7d700}.skin-2 .nav-list>li:nth-child(4)>ul.submenu li.active>a{color:#cee100}.skin-2 .nav-list>li:nth-child(5)>ul.submenu li.active>a{color:#f8c600}.skin-2 .nav-list>li:nth-child(6)>ul.submenu li.active>a{color:#ffab00}.skin-2 .nav-list>li:nth-child(7)>ul.submenu li.active>a{color:#ff6e00}.skin-2 .nav-list>li:nth-child(8)>ul.submenu li.active>a{color:#f21c30}.skin-2 .nav-list>li:nth-child(9)>ul.submenu li.active>a{color:#ee218b}.skin-2 .nav-list>li:nth-child(10)>ul.submenu li.active>a{color:#c55ee7}.skin-2 .nav-list>li:nth-child(11)>ul.submenu li.active>a{color:#218bee}.skin-2 .nav-list>li:nth-child(12)>ul.submenu li.active>a{color:#2ecee7}.skin-2 .nav-list>li.active>a,.skin-2 .nav-list>li.active>a:hover{background-color:#242424}.skin-2 .sidebar-collapse{background-color:#2c2c2c;border-top:1px solid #666;border-bottom:1px solid #777}.skin-2 .sidebar-collapse:before{border-color:#666}.skin-2 .sidebar-collapse>[class*="icon-"]{background-color:#333}.skin-2 .sidebar-shortcuts{background-color:#393939;border-color:#666;min-height:40px}.skin-2 .sidebar>.nav-search{background-color:#393939;border-color:#666}.skin-2 .sidebar-shortcuts .btn{border-radius:32px!important;border-width:2px;background-color:#555!important}.skin-2 .sidebar-shortcuts .btn:hover{background-color:#222!important}.skin-2 .menu-min .sidebar-shortcuts-large{border:0;box-shadow:none;background-color:#393939;top:0}.skin-2 .sidebar-shortcuts-mini{background-color:#141a1b;border-color:#3f4e54}.skin-2 .sidebar-shortcuts-mini .btn{border-width:2px!important;border-radius:32px!important;padding:6px!important;opacity:1;background-color:inherit}body.skin-2 .main-content{padding-top:8px}.skin-2 .breadcrumbs{border:0;background-color:#e7f2f8;margin:0 8px 0;border-radius:4px}@media only screen and (max-width:991px){.skin-2 .sidebar{border:0;box-shadow:none}.skin-2 .nav-list li.active>a:after{display:none}body.skin-2 .main-content{padding-top:0}.skin-2 .breadcrumbs{margin:0;border-radius:0}.skin-2 .menu-min .nav-list>li.active>a:after{display:none}.skin-2 .menu-min .nav-list>li.active:hover>a:after{display:block}}.skin-2 .nav-list>li .submenu a{background-color:transparent!important}.skin-2 .nav-list>li>.submenu>li>.submenu a{border-top-color:#CCC}.skin-2 .nav-list>li.active>.submenu>li>.submenu a{border-top-color:#999}.skin-2 .nav-list>li>.submenu li>.submenu>li a{color:#d5d5d5}.skin-2 .nav-list>li>.submenu li>.submenu>li a>[class*="icon-"]:first-child{color:#d5d5d5}.skin-2 .nav-list>li>.submenu li>.submenu li.active>a>[class*="icon-"]:first-child{color:inherit}.skin-2 .nav-list>li .submenu a>.arrow{color:#CCC}.skin-2 .nav-list>li>.submenu>li>a:hover>.arrow,.skin-2 .nav-list>li>.submenu>li>.submenu>li>a:hover>.arrow{color:#EEE}.skin-2 .nav-list>li>.submenu>li>.submenu>li>a{margin-left:0;padding-left:38px}.skin-2 .nav-list>li>.submenu>li>.submenu>li>.submenu>li>a{margin-left:0;padding-left:54px}.skin-2 .nav-list>li ul.submenu li.open>a{color:#c6487e}.skin-2 .nav-list>li:nth-child(1) ul.submenu li.open>a{color:#00be67}.skin-2 .nav-list>li:nth-child(2) ul.submenu li.open>a{color:#5ed02b}.skin-2 .nav-list>li:nth-child(3) ul.submenu li.open>a{color:#a7d700}.skin-2 .nav-list>li:nth-child(4) ul.submenu li.open>a{color:#cee100}.skin-2 .nav-list>li:nth-child(5) ul.submenu li.open>a{color:#f8c600}.skin-2 .nav-list>li:nth-child(6) ul.submenu li.open>a{color:#ffab00}.skin-2 .nav-list>li:nth-child(7) ul.submenu li.open>a{color:#ff6e00}.skin-2 .nav-list>li:nth-child(8) ul.submenu li.open>a{color:#f21c30}.skin-2 .nav-list>li:nth-child(9) ul.submenu li.open>a{color:#ee218b}.skin-2 .nav-list>li:nth-child(10) ul.submenu li.open>a{color:#c55ee7}.skin-2 .nav-list>li:nth-child(11) ul.submenu li.open>a{color:#218bee}.skin-2 .nav-list>li:nth-child(12) ul.submenu li.open>a{color:#2ecee7}.skin-2 .nav-list>li ul.submenu li>a:hover{color:#FFF}.skin-2 .nav-list>li>.submenu>li.open>a>[class*="icon-"]:first-child,.skin-2 .nav-list>li>.submenu>li>.submenu>li.open>a>[class*="icon-"]:first-child{color:inherit}.skin-2 .nav-list>li>.submenu>li.open>a>.arrow,.skin-2 .nav-list>li>.submenu>li>.submenu>li.open>a>.arrow{color:inherit}.skin-3{background-color:#BBB}.skin-3 .main-container:after{background:#FFF;background:-moz-linear-gradient(top,#eef5fa 0,#FFF 8%) 0 4px;background:-webkit-gradient(linear,0 0,0 100%,from(#eef5fa),color-stop(4%,#FFF)) 0 4px;background:-webkit-linear-gradient(top,#eef5fa 0,#FFF 8%) 0 4px;background:-o-linear-gradient(top,#eef5fa 0,#FFF 8%) 0 4px;background:-ms-linear-gradient(top,#eef5fa 0,#FFF 8%) 0 4px;background:linear-gradient(top,#eef5fa 0,#FFF 8%) 0 4px;-moz-background-size:100% 26px;-webkit-background-size:100% 26px;-o-background-size:100% 26px;-ms-background-size:100% 26px;background-size:100% 26px}.skin-3 .navbar{background:#393939}.skin-3 .sidebar,.skin-3 .sidebar:before{background-color:#d6d6d6;border-right:1px solid #a4c6dd}.skin-3 .page-content{background-color:transparent}.skin-3 .infobox:not(.infobox-dark){border-style:solid;background-color:transparent}.skin-3 .nav-list>li{border-color:#f2f2f2;border-bottom-width:0;position:relative}.skin-3 .nav-list>li:before{display:inline-block;content:"";position:absolute;z-index:1;left:0;top:0;bottom:0;max-width:0;overflow:hidden;border-left:3px solid #444}.skin-3 .nav-list>li.active:before{border-left-color:#4d96cb}.skin-3 .nav-list>li:first-child{border-top:1px solid #f2f2f2}.skin-3 .nav-list>li:last-child{border-bottom-width:1px}.skin-3 .nav-list>li:hover{border-left-color:#1963aa;border-top-color:#EEE}.skin-3 .nav-list>li:hover+li{border-top-color:#EEE}.skin-3 .nav-list>li:last-child:hover{border-bottom-color:#EEE}.skin-3 .nav-list>li.active{border-left-color:#1a67bd;border-top-color:#a4c6dd!important}.skin-3 .nav-list>li.active+li{border-top-color:#a4c6dd}.skin-3 .nav-list>li.active:last-child{border-bottom-color:#a4c6dd}.skin-3 .nav-list>li>a:hover:before{display:none}.skin-3 .nav-list>li>a{background-color:#e0e0e0;color:#5a5a5a}.skin-3 .nav-list>li:hover>a{background-color:#EEE;color:#1963aa}.skin-3 .nav-list>li>a:focus{color:#1963aa}.skin-3 .nav-list>li.open>a{background-color:#f3f3f3;color:#1963aa}.skin-3 .menu-min .nav-list>li.open>a{background-color:#e0e0e0;color:#5a5a5a}.skin-3 .menu-min .nav-list>li.open>a>.menu-text{color:#1963aa}.skin-3 .menu-min .nav-list>li.active>a>.menu-text{border-left-color:#EEE}.skin-3 .nav-list>li.active>a{background-color:#eef8ff;color:#4d96cb}.skin-3 .nav-list li.active>a:after{border-right-color:#FFF;right:-1px;top:0;z-index:12;border-width:18px 12px}.skin-3 .nav-list li.active>a:before{content:"";display:block;position:absolute;right:0;top:0;z-index:11;left:auto;bottom:auto;width:auto;max-width:auto;background-color:transparent;border-style:solid;border-width:18px 12px;border-color:transparent;border-right-color:#a4c6dd}.skin-3 .nav-list>li.active.open>.submenu li.active>a:before,.skin-3 .nav-list>li.active.open>.submenu li.active>a:after{border-width:14px 10px;top:2px}.skin-3 .nav-list>li.active.open>.submenu .submenu li.active>a:before,.skin-3 .nav-list>li.active.open>.submenu .submenu li.active>a:after{top:0}.skin-3 .nav-list li.active.open>a:after,.skin-3 .nav-list li.active.open>a:before{display:none}.skin-3 .nav-list>li.active:after{display:none}.skin-3 .nav-list li.active.open>.submenu>li.active.open>a.dropdown-toggle:before{display:none}.skin-3 .nav-list li.active>.submenu>li.active>a:before{display:none}.skin-3 .nav-list li.active.open>.submenu>li.active>a:before{display:block}.skin-3 .menu-min .nav-list li.active.open>.submenu>li.active>a:before{display:none}.skin-3 .menu-min .nav-list>li.active>a{background-color:#4d96cb;color:#FFF}.skin-3 .menu-min .nav-list>li.active>a>.menu-text{color:#4d96cb}.skin-3 .menu-min .nav-list li.active>a:after{display:none}.skin-3 .menu-min .nav-list li.active>a:before{display:none}.skin-3 .menu-min .nav-list>li.active>a:after{display:block;border-width:12px 7px;top:5px}.skin-3 .menu-min .sidebar-shortcuts{border-left:none}.skin-3 .sidebar.menu-min>.nav-search{border-left:none}.skin-3 .menu-min .nav-list>li>.submenu,.skin-3 .menu-min .nav-list>li.active>.submenu{border-left-color:#CCC}.skin-3 .nav-list>li>a>.arrow{right:10px}.skin-3 .sidebar-collapse{background-color:#d0d0d0;border-color:#FFF}.skin-3 .sidebar-collapse:before{border-color:#FFF}.skin-3 .sidebar-collapse>[class*="icon-"]{background-color:#FFF;border-color:#999;color:#999}.skin-3 .sidebar-shortcuts{background-color:#e0e0e0;border-bottom:0;border-color:#FFF;min-height:40px;border-left:3px solid #444}.skin-3 .sidebar>.nav-search{background-color:#e0e0e0;border-bottom:0;border-color:#FFF;border-left:3px solid #444}.skin-3 .sidebar-shortcuts-mini{background-color:#e0e0e0}.skin-3 .sidebar-shortcuts-mini>.btn{opacity:1}.skin-3 .menu-min .sidebar-shortcuts-large{background-color:#f5f5f5;top:-1px}body.skin-3 .main-content{padding-top:8px}.skin-3 .breadcrumbs{border:0;border-radius:4px;background-color:#e7f2f8;margin:0 8px 0}.skin-3 .nav-search-input{border-radius:4px}.skin-3 .page-content>.page-header:first-child{border-bottom-color:#c9c9c9}.skin-3 .hr{border-color:#d5d5d5}@media only screen and (max-width:991px){.skin-3 .sidebar,.skin-3 .nav-list>li,.skin-3 .sidebar-shortcuts{border-left:none}.skin-3 .sidebar{border-color:#a4c6dd}body.skin-3 .main-content{padding-top:0}.skin-3 .breadcrumbs{border-radius:0;margin:0}.skin-3 .menu-toggler{background-color:#62a8d1;color:#FFF}.skin-3 .menu-toggler:after,.skin-3 .menu-toggler:before{border-color:#FFF}.skin-3 .menu-toggler>.menu-text{border-top-color:#62a8d1}.skin-3 .menu-toggler>.menu-text:after{color:#FFF}.skin-3 .nav-list li.active>a:before,.skin-3 .nav-list li.active>a:after{display:none}.skin-3 .menu-min .nav-list li.active>a:before,.skin-3 .menu-min .nav-list li.active>a:after{display:none}.skin-3 .nav-list li.active.open>.submenu>li.active>a:before{display:none}.skin-3 .menu-min .nav-list>li.active.open:hover>a:after{display:block!important}}.rtl.skin-1 .sidebar,.rtl.skin-1 .sidebar:before{border-left:none}.rtl.skin-1 .nav-list li.active>a:after{border-right-color:transparent;border-left-color:#FFF}.rtl.skin-1 .menu-min .nav-list>li.active:hover>a:after{border-left-color:#242a2b;border-right-color:transparent}.rtl.skin-1 .menu-min .nav-list>li>a>.menu-text,.rtl.skin-1 .menu-min .nav-list>li>ul.submenu{border-left-color:#3f4e54;border-right-color:#242a2b}.rtl.skin-2 .sidebar,.rtl.skin-2 .sidebar:before{border-left:none}.rtl.skin-2 .nav-list li.active>a:after{border-right-color:transparent;border-left-color:#FFF}.rtl.skin-2 .nav-list>li.active>a:after,.rtl.skin-2 .nav-list>li.active>.submenu>li.active>a:after{right:auto;left:0}.rtl.skin-2 .menu-min .nav-list>li.active:hover>a:after{border-right-color:transparent;border-left-color:#292929}.rtl.skin-2 .nav-list>li.active.open>.submenu>li.active>a:after{border-right-color:transparent;border-left-color:#FFF;right:auto;left:0}.rtl.skin-2 .menu-min .nav-list>li>a>.menu-text{text-shadow:-1px 1px 0 rgba(0,0,0,0.5)}.rtl.skin-2 .menu-min .nav-list>li>ul.submenu{margin-left:auto;margin-right:1px;border-left:none;border-right:1px solid #FFF}.rtl.skin-2 .nav-list>li>ul.submenu>li>a{padding-left:0;padding-right:28px}.rtl.skin-2 .nav-list>li>.submenu>li>.submenu>li>a{margin-left:auto;padding-left:0;margin-right:0;padding-right:38px}.rtl.skin-2 .nav-list>li>.submenu>li>.submenu>li>.submenu>li>a{margin-left:auto;padding-left:0;margin-right:0;padding-right:54px}.rtl.skin-3 .sidebar,.rtl.skin-3 .sidebar:before{border-right:0;border-left:1px solid #a4c6dd}.rtl.skin-3 .nav-list>li:before{left:auto;right:0;border-left:none;border-right:3px solid #444}.rtl.skin-3 .nav-list>li.active:before{border-left:none;border-right-color:#4d96cb}.rtl.skin-3 .nav-list>li:hover{border-left-color:#f2f2f2;border-right-color:#1963aa}.rtl.skin-3 .nav-list>li.active{border-left-color:#f2f2f2;border-right-color:#1a67bd}.rtl.skin-3 .menu-min .nav-list>li.active>a>.menu-text{border-left-color:#CCC;border-right-color:#EEE}.rtl.skin-3 .nav-list li.active>a:after{border-right-color:transparent;border-left-color:#FFF;left:-1px;right:auto}.rtl.skin-3 .nav-list li.active>a:before{right:auto;left:0;border-right-color:transparent;border-left-color:#a4c6dd}.rtl.skin-3 .menu-min .sidebar-shortcuts{border-right:0}.rtl.skin-3 .sidebar.menu-min>.nav-search{border-right:0}.rtl.skin-3 .menu-min .nav-list>li>.submenu,.rtl.skin-3 .menu-min .nav-list>li.active>.submenu{border-right-color:#CCC}.rtl.skin-3 .nav-list>li>a>.arrow{right:auto;left:10px}.rtl.skin-3 .sidebar-shortcuts{border-left:none;border-right:3px solid #444}.rtl.skin-3 .sidebar>.nav-search{border-left:none;border-right:3px solid #444}@media only screen and (max-width:991px){.rtl.skin-3 .sidebar,.rtl.skin-3 .nav-list>li,.rtl.skin-3 .sidebar-shortcuts{border-right:0}}
\ No newline at end of file
... ...
This diff could not be displayed because it is too large.
/* cyrillic-ext */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300;
src: local('Open Sans Light'), local('OpenSans-Light'), url(http://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTRoAhAPmm-VJND3XwfkuNQk.woff) format('woff');
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
}
/* cyrillic */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300;
src: local('Open Sans Light'), local('OpenSans-Light'), url(http://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTcrVfkG--IuYQ1hIENDILrw.woff) format('woff');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300;
src: local('Open Sans Light'), local('OpenSans-Light'), url(http://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTeA0wUuvkXQR5C8mztBr6cU.woff) format('woff');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300;
src: local('Open Sans Light'), local('OpenSans-Light'), url(http://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTR2055g9Ttp02HSVOWWUYq8.woff) format('woff');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300;
src: local('Open Sans Light'), local('OpenSans-Light'), url(http://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTeRxkv-z7v24YaeSD5NjJs4.woff) format('woff');
unicode-range: U+0102-0103, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300;
src: local('Open Sans Light'), local('OpenSans-Light'), url(http://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTbARKWikSFtPIMI7wRnh2OM.woff) format('woff');
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300;
src: local('Open Sans Light'), local('OpenSans-Light'), url(http://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTXhCUOGz7vYGh680lGh-uXM.woff) format('woff');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
/* cyrillic-ext */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local('Open Sans'), local('OpenSans'), url(http://fonts.gstatic.com/s/opensans/v13/K88pR3goAWT7BTt32Z01m9j00qvwa7FIWVKDOymo9DA.woff) format('woff');
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
}
/* cyrillic */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local('Open Sans'), local('OpenSans'), url(http://fonts.gstatic.com/s/opensans/v13/RjgO7rYTmqiVp7vzi-Q5Udj00qvwa7FIWVKDOymo9DA.woff) format('woff');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local('Open Sans'), local('OpenSans'), url(http://fonts.gstatic.com/s/opensans/v13/LWCjsQkB6EMdfHrEVqA1Kdj00qvwa7FIWVKDOymo9DA.woff) format('woff');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local('Open Sans'), local('OpenSans'), url(http://fonts.gstatic.com/s/opensans/v13/xozscpT2726on7jbcb_pAtj00qvwa7FIWVKDOymo9DA.woff) format('woff');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local('Open Sans'), local('OpenSans'), url(http://fonts.gstatic.com/s/opensans/v13/59ZRklaO5bWGqF5A9baEEdj00qvwa7FIWVKDOymo9DA.woff) format('woff');
unicode-range: U+0102-0103, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local('Open Sans'), local('OpenSans'), url(http://fonts.gstatic.com/s/opensans/v13/u-WUoqrET9fUeobQW7jkRdj00qvwa7FIWVKDOymo9DA.woff) format('woff');
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local('Open Sans'), local('OpenSans'), url(http://fonts.gstatic.com/s/opensans/v13/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff) format('woff');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
\ No newline at end of file
... ...
if(!("ace" in window)){window.ace={}}jQuery(function(){window.ace.click_event=$.fn.tap?"tap":"click"});(function(e,c){var d="multiple" in document.createElement("INPUT");var j="FileList" in window;var b="FileReader" in window;var f=function(l,m){var k=this;this.settings=e.extend({},e.fn.ace_file_input.defaults,m);this.$element=e(l);this.element=l;this.disabled=false;this.can_reset=true;this.$element.on("change.ace_inner_call",function(o,n){if(n===true){return}return a.call(k)});this.$element.wrap('<div class="ace-file-input" />');this.apply_settings()};f.error={FILE_LOAD_FAILED:1,IMAGE_LOAD_FAILED:2,THUMBNAIL_FAILED:3};f.prototype.apply_settings=function(){var l=this;var k=!!this.settings.icon_remove;this.multi=this.$element.attr("multiple")&&d;this.well_style=this.settings.style=="well";if(this.well_style){this.$element.parent().addClass("ace-file-multiple")}else{this.$element.parent().removeClass("ace-file-multiple")}this.$element.parent().find(":not(input[type=file])").remove();this.$element.after('<label class="file-label" data-title="'+this.settings.btn_choose+'"><span class="file-name" data-title="'+this.settings.no_file+'">'+(this.settings.no_icon?'<i class="'+this.settings.no_icon+'"></i>':"")+"</span></label>"+(k?'<a class="remove" href="#"><i class="'+this.settings.icon_remove+'"></i></a>':""));this.$label=this.$element.next();this.$label.on("click",function(){if(!this.disabled&&!l.element.disabled&&!l.$element.attr("readonly")){l.$element.click()}});if(k){this.$label.next("a").on(ace.click_event,function(){if(!l.can_reset){return false}var m=true;if(l.settings.before_remove){m=l.settings.before_remove.call(l.element)}if(!m){return false}return l.reset_input()})}if(this.settings.droppable&&j){g.call(this)}};f.prototype.show_file_list=function(k){var n=typeof k==="undefined"?this.$element.data("ace_input_files"):k;if(!n||n.length==0){return}if(this.well_style){this.$label.find(".file-name").remove();if(!this.settings.btn_change){this.$label.addClass("hide-placeholder")}}this.$label.attr("data-title",this.settings.btn_change).addClass("selected");for(var p=0;p<n.length;p++){var l=typeof n[p]==="string"?n[p]:e.trim(n[p].name);var q=l.lastIndexOf("\\")+1;if(q==0){q=l.lastIndexOf("/")+1}l=l.substr(q);var m="icon-file";if((/\.(jpe?g|png|gif|svg|bmp|tiff?)$/i).test(l)){m="icon-picture"}else{if((/\.(mpe?g|flv|mov|avi|swf|mp4|mkv|webm|wmv|3gp)$/i).test(l)){m="icon-film"}else{if((/\.(mp3|ogg|wav|wma|amr|aac)$/i).test(l)){m="icon-music"}}}if(!this.well_style){this.$label.find(".file-name").attr({"data-title":l}).find('[class*="icon-"]').attr("class",m)}else{this.$label.append('<span class="file-name" data-title="'+l+'"><i class="'+m+'"></i></span>');var r=e.trim(n[p].type);var o=b&&this.settings.thumbnail&&((r.length>0&&r.match("image"))||(r.length==0&&m=="icon-picture"));if(o){var s=this;e.when(i.call(this,n[p])).fail(function(t){if(s.settings.preview_error){s.settings.preview_error.call(s,l,t.code)}})}}}return true};f.prototype.reset_input=function(){this.$label.attr({"data-title":this.settings.btn_choose,"class":"file-label"}).find(".file-name:first").attr({"data-title":this.settings.no_file,"class":"file-name"}).find('[class*="icon-"]').attr("class",this.settings.no_icon).prev("img").remove();if(!this.settings.no_icon){this.$label.find('[class*="icon-"]').remove()}this.$label.find(".file-name").not(":first").remove();if(this.$element.data("ace_input_files")){this.$element.removeData("ace_input_files");this.$element.removeData("ace_input_method")}this.reset_input_field();return false};f.prototype.reset_input_field=function(){this.$element.wrap("<form>").closest("form").get(0).reset();this.$element.unwrap()};f.prototype.enable_reset=function(k){this.can_reset=k};f.prototype.disable=function(){this.disabled=true;this.$element.attr("disabled","disabled").addClass("disabled")};f.prototype.enable=function(){this.disabled=false;this.$element.removeAttr("disabled").removeClass("disabled")};f.prototype.files=function(){return e(this).data("ace_input_files")||null};f.prototype.method=function(){return e(this).data("ace_input_method")||""};f.prototype.update_settings=function(k){this.settings=e.extend({},this.settings,k);this.apply_settings()};var g=function(){var l=this;var k=this.element.parentNode;e(k).on("dragenter",function(m){m.preventDefault();m.stopPropagation()}).on("dragover",function(m){m.preventDefault();m.stopPropagation()}).on("drop",function(q){q.preventDefault();q.stopPropagation();var p=q.originalEvent.dataTransfer;var o=p.files;if(!l.multi&&o.length>1){var n=[];n.push(o[0]);o=n}var m=true;if(l.settings.before_change){m=l.settings.before_change.call(l.element,o,true)}if(!m||m.length==0){return false}if(m instanceof Array||(j&&m instanceof FileList)){o=m}l.$element.data("ace_input_files",o);l.$element.data("ace_input_method","drop");l.show_file_list(o);l.$element.triggerHandler("change",[true]);return true})};var a=function(){var l=true;if(this.settings.before_change){l=this.settings.before_change.call(this.element,this.element.files||[this.element.value],false)}if(!l||l.length==0){if(!this.$element.data("ace_input_files")){this.reset_input_field()}return false}var m=!j?null:((l instanceof Array||l instanceof FileList)?l:this.element.files);this.$element.data("ace_input_method","select");if(m&&m.length>0){this.$element.data("ace_input_files",m)}else{var k=e.trim(this.element.value);if(k&&k.length>0){m=[];m.push(k);this.$element.data("ace_input_files",m)}}if(!m||m.length==0){return false}this.show_file_list(m);return true};var i=function(o){var n=this;var l=n.$label.find(".file-name:last");var m=new e.Deferred;var k=new FileReader();k.onload=function(q){l.prepend("<img class='middle' style='display:none;' />");var p=l.find("img:last").get(0);e(p).one("load",function(){var t=50;if(n.settings.thumbnail=="large"){t=150}else{if(n.settings.thumbnail=="fit"){t=l.width()}}l.addClass(t>50?"large":"");var s=h(p,t,o.type);if(s==null){e(this).remove();m.reject({code:f.error.THUMBNAIL_FAILED});return}var r=s.w,u=s.h;if(n.settings.thumbnail=="small"){r=u=t}e(p).css({"background-image":"url("+s.src+")",width:r,height:u}).data("thumb",s.src).attr({src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg=="}).show();m.resolve()}).one("error",function(){l.find("img").remove();m.reject({code:f.error.IMAGE_LOAD_FAILED})});p.src=q.target.result};k.onerror=function(p){m.reject({code:f.error.FILE_LOAD_FAILED})};k.readAsDataURL(o);return m.promise()};var h=function(n,s,q){var r=n.width,o=n.height;if(r>s||o>s){if(r>o){o=parseInt(s/r*o);r=s}else{r=parseInt(s/o*r);o=s}}var m;try{var l=document.createElement("canvas");l.width=r;l.height=o;var k=l.getContext("2d");k.drawImage(n,0,0,n.width,n.height,0,0,r,o);m=l.toDataURL()}catch(p){m=null}if(!(/^data\:image\/(png|jpe?g|gif);base64,[0-9A-Za-z\+\/\=]+$/.test(m))){m=null}if(!m){return null}return{src:m,w:r,h:o}};e.fn.ace_file_input=function(m,n){var l;var k=this.each(function(){var q=e(this);var p=q.data("ace_file_input");var o=typeof m==="object"&&m;if(!p){q.data("ace_file_input",(p=new f(this,o)))}if(typeof m==="string"){l=p[m](n)}});return(l===c)?k:l};e.fn.ace_file_input.defaults={style:false,no_file:"No File ...",no_icon:"icon-upload-alt",btn_choose:"Choose",btn_change:"Change",icon_remove:"icon-remove",droppable:false,thumbnail:false,before_change:null,before_remove:null,preview_error:null}})(window.jQuery);(function(a,b){a.fn.ace_spinner=function(c){this.each(function(){var f=c.icon_up||"icon-chevron-up";var j=c.icon_down||"icon-chevron-down";var h=c.on_sides||false;var e=c.btn_up_class||"";var g=c.btn_down_class||"";var d=c.max||999;d=(""+d).length;a(this).addClass("spinner-input form-control").wrap('<div class="ace-spinner">');var k=a(this).closest(".ace-spinner").spinner(c).wrapInner("<div class='input-group'></div>");if(h){a(this).before('<div class="spinner-buttons input-group-btn"> <button type="button" class="btn spinner-down btn-xs '+g+'"> <i class="'+j+'"></i> </button> </div>').after('<div class="spinner-buttons input-group-btn"> <button type="button" class="btn spinner-up btn-xs '+e+'"> <i class="'+f+'"></i> </button> </div>');k.addClass("touch-spinner");k.css("width",(d*20+40)+"px")}else{a(this).after('<div class="spinner-buttons input-group-btn"> <button type="button" class="btn spinner-up btn-xs '+e+'"> <i class="'+f+'"></i> </button> <button type="button" class="btn spinner-down btn-xs '+g+'"> <i class="'+j+'"></i> </button> </div>');if("ontouchend" in document||c.touch_spinner){k.addClass("touch-spinner");k.css("width",(d*20+40)+"px")}else{a(this).next().addClass("btn-group-vertical");k.css("width",(d*20+10)+"px")}}a(this).on("mousewheel DOMMouseScroll",function(l){var m=l.originalEvent.detail<0||l.originalEvent.wheelDelta>0?1:-1;k.spinner("step",m>0);k.spinner("triggerChangedEvent");return false});var i=a(this);k.on("changed",function(){i.trigger("change")})});return this}})(window.jQuery);(function(a,b){a.fn.ace_wizard=function(c){this.each(function(){var e=a(this);e.wizard();var d=e.siblings(".wizard-actions").eq(0);var f=e.data("wizard");f.$prevBtn.remove();f.$nextBtn.remove();f.$prevBtn=d.find(".btn-prev").eq(0).on(ace.click_event,function(){e.wizard("previous")}).attr("disabled","disabled");f.$nextBtn=d.find(".btn-next").eq(0).on(ace.click_event,function(){e.wizard("next")}).removeAttr("disabled");f.nextText=f.$nextBtn.text()});return this}})(window.jQuery);(function(a,b){a.fn.ace_colorpicker=function(c){var d=a.extend({pull_right:false,caret:true},c);this.each(function(){var g=a(this);var e="";var f="";a(this).hide().find("option").each(function(){var h="colorpick-btn";if(this.selected){h+=" selected";f=this.value}e+='<li><a class="'+h+'" href="#" style="background-color:'+this.value+';" data-color="'+this.value+'"></a></li>'}).end().on("change.ace_inner_call",function(){a(this).next().find(".btn-colorpicker").css("background-color",this.value)}).after('<div class="dropdown dropdown-colorpicker"><a data-toggle="dropdown" class="dropdown-toggle" href="#"><span class="btn-colorpicker" style="background-color:'+f+'"></span></a><ul class="dropdown-menu'+(d.caret?" dropdown-caret":"")+(d.pull_right?" pull-right":"")+'">'+e+"</ul></div>").next().find(".dropdown-menu").on(ace.click_event,function(j){var h=a(j.target);if(!h.is(".colorpick-btn")){return false}h.closest("ul").find(".selected").removeClass("selected");h.addClass("selected");var i=h.data("color");g.val(i).change();j.preventDefault();return true})});return this}})(window.jQuery);(function(a,b){a.fn.ace_tree=function(d){var c={"open-icon":"icon-folder-open","close-icon":"icon-folder-close",selectable:true,"selected-icon":"icon-ok","unselected-icon":"tree-dot"};c=a.extend({},c,d);this.each(function(){var e=a(this);e.html('<div class = "tree-folder" style="display:none;"> <div class="tree-folder-header"> <i class="'+c["close-icon"]+'"></i> <div class="tree-folder-name"></div> </div> <div class="tree-folder-content"></div> <div class="tree-loader" style="display:none"></div> </div> <div class="tree-item" style="display:none;"> '+(c["unselected-icon"]==null?"":'<i class="'+c["unselected-icon"]+'"></i>')+' <div class="tree-item-name"></div> </div>');e.addClass(c.selectable==true?"tree-selectable":"tree-unselectable");e.tree(c)});return this}})(window.jQuery);(function(a,b){a.fn.ace_wysiwyg=function(c,h){var d=a.extend({speech_button:true,wysiwyg:{}},c);var e=["#ac725e","#d06b64","#f83a22","#fa573c","#ff7537","#ffad46","#42d692","#16a765","#7bd148","#b3dc6c","#fbe983","#fad165","#92e1c0","#9fe1e7","#9fc6e7","#4986e7","#9a9cff","#b99aff","#c2c2c2","#cabdbf","#cca6ac","#f691b2","#cd74e6","#a47ae2","#444444"];var g={font:{values:["Arial","Courier","Comic Sans MS","Helvetica","Open Sans","Tahoma","Verdana"],icon:"icon-font",title:"Font"},fontSize:{values:{5:"Huge",3:"Normal",1:"Small"},icon:"icon-text-height",title:"Font Size"},bold:{icon:"icon-bold",title:"Bold (Ctrl/Cmd+B)"},italic:{icon:"icon-italic",title:"Italic (Ctrl/Cmd+I)"},strikethrough:{icon:"icon-strikethrough",title:"Strikethrough"},underline:{icon:"icon-underline",title:"Underline"},insertunorderedlist:{icon:"icon-list-ul",title:"Bullet list"},insertorderedlist:{icon:"icon-list-ol",title:"Number list"},outdent:{icon:"icon-indent-left",title:"Reduce indent (Shift+Tab)"},indent:{icon:"icon-indent-right",title:"Indent (Tab)"},justifyleft:{icon:"icon-align-left",title:"Align Left (Ctrl/Cmd+L)"},justifycenter:{icon:"icon-align-center",title:"Center (Ctrl/Cmd+E)"},justifyright:{icon:"icon-align-right",title:"Align Right (Ctrl/Cmd+R)"},justifyfull:{icon:"icon-align-justify",title:"Justify (Ctrl/Cmd+J)"},createLink:{icon:"icon-link",title:"Hyperlink",button_text:"Add",placeholder:"URL",button_class:"btn-primary"},unlink:{icon:"icon-unlink",title:"Remove Hyperlink"},insertImage:{icon:"icon-picture",title:"Insert picture",button_text:'<i class="icon-file"></i> Choose Image &hellip;',placeholder:"Image URL",button_insert:"Insert",button_class:"btn-success",button_insert_class:"btn-primary",choose_file:true},foreColor:{values:e,title:"Change Color"},backColor:{values:e,title:"Change Background Color"},undo:{icon:"icon-undo",title:"Undo (Ctrl/Cmd+Z)"},redo:{icon:"icon-repeat",title:"Redo (Ctrl/Cmd+Y)"},viewSource:{icon:"icon-code",title:"View Source"}};var f=d.toolbar||["font",null,"fontSize",null,"bold","italic","strikethrough","underline",null,"insertunorderedlist","insertorderedlist","outdent","indent",null,"justifyleft","justifycenter","justifyright","justifyfull",null,"createLink","unlink",null,"insertImage",null,"foreColor",null,"undo","redo",null,"viewSource"];this.each(function(){var r=' <div class="wysiwyg-toolbar btn-toolbar center"> <div class="btn-group"> ';for(var n in f){if(f.hasOwnProperty(n)){var p=f[n];if(p===null){r+=' </div> <div class="btn-group"> ';continue}if(typeof p=="string"&&p in g){p=g[p];p.name=f[n]}else{if(typeof p=="object"&&p.name in g){p=a.extend(g[p.name],p)}else{continue}}var q="className" in p?p.className:"";switch(p.name){case"font":r+=' <a class="btn btn-sm '+q+' dropdown-toggle" data-toggle="dropdown" title="'+p.title+'"><i class="'+p.icon+'"></i><i class="icon-angle-down icon-on-right"></i></a> ';r+=' <ul class="dropdown-menu dropdown-light">';for(var j in p.values){if(p.values.hasOwnProperty(j)){r+=' <li><a data-edit="fontName '+p.values[j]+'" style="font-family:\''+p.values[j]+"'\">"+p.values[j]+"</a></li> "}}r+=" </ul>";break;case"fontSize":r+=' <a class="btn btn-sm '+q+' dropdown-toggle" data-toggle="dropdown" title="'+p.title+'"><i class="'+p.icon+'"></i>&nbsp;<i class="icon-angle-down icon-on-right"></i></a> ';r+=' <ul class="dropdown-menu dropdown-light"> ';for(var t in p.values){if(p.values.hasOwnProperty(t)){r+=' <li><a data-edit="fontSize '+t+'"><font size="'+t+'">'+p.values[t]+"</font></a></li> "}}r+=" </ul> ";break;case"createLink":r+=' <div class="inline position-relative"> <a class="btn btn-sm '+q+' dropdown-toggle" data-toggle="dropdown" title="'+p.title+'"><i class="'+p.icon+'"></i></a> ';r+=' <div class="dropdown-menu dropdown-caret pull-right"> <div class="input-group"> <input class="form-control" placeholder="'+p.placeholder+'" type="text" data-edit="'+p.name+'" /> <span class="input-group-btn"> <button class="btn btn-sm '+p.button_class+'" type="button">'+p.button_text+"</button> </span> </div> </div> </div>";break;case"insertImage":r+=' <div class="inline position-relative"> <a class="btn btn-sm '+q+' dropdown-toggle" data-toggle="dropdown" title="'+p.title+'"><i class="'+p.icon+'"></i></a> ';r+=' <div class="dropdown-menu dropdown-caret pull-right"> <div class="input-group"> <input class="form-control" placeholder="'+p.placeholder+'" type="text" data-edit="'+p.name+'" /> <span class="input-group-btn"> <button class="btn btn-sm '+p.button_insert_class+'" type="button">'+p.button_insert+"</button> </span> </div>";if(p.choose_file&&"FileReader" in window){r+='<div class="space-2"></div> <div class="center"> <button class="btn btn-sm '+p.button_class+' wysiwyg-choose-file" type="button">'+p.button_text+'</button> <input type="file" data-edit="'+p.name+'" /> </div>'}r+=" </div> </div>";break;case"foreColor":case"backColor":r+=' <select class="hide wysiwyg_colorpicker" title="'+p.title+'"> ';for(var m in p.values){r+=' <option value="'+p.values[m]+'">'+p.values[m]+"</option> "}r+=" </select> ";r+=' <input style="display:none;" disabled class="hide" type="text" data-edit="'+p.name+'" /> ';break;case"viewSource":r+=' <a class="btn btn-sm '+q+'" data-view="source" title="'+p.title+'"><i class="'+p.icon+'"></i></a> ';break;default:r+=' <a class="btn btn-sm '+q+'" data-edit="'+p.name+'" title="'+p.title+'"><i class="'+p.icon+'"></i></a> ';break}}}r+=" </div> </div> ";if(d.toolbar_place){r=d.toolbar_place.call(this,r)}else{r=a(this).before(r).prev()}r.find("a[title]").tooltip({animation:false,container:"body"});r.find(".dropdown-menu input:not([type=file])").on(ace.click_event,function(){return false}).on("change",function(){a(this).closest(".dropdown-menu").siblings(".dropdown-toggle").dropdown("toggle")}).on("keydown",function(u){if(u.which==27){this.value="";a(this).change()}});r.find("input[type=file]").prev().on(ace.click_event,function(u){a(this).next().click()});r.find(".wysiwyg_colorpicker").each(function(){a(this).ace_colorpicker({pull_right:true}).change(function(){a(this).nextAll("input").eq(0).val(this.value).change()}).next().find(".btn-colorpicker").tooltip({title:this.title,animation:false,container:"body"})});var k;if(d.speech_button&&"onwebkitspeechchange" in (k=document.createElement("input"))){var i=a(this).offset();r.append(k);a(k).attr({type:"text","data-edit":"inserttext","x-webkit-speech":""}).addClass("wysiwyg-speech-input").css({position:"absolute"}).offset({top:i.top,left:i.left+a(this).innerWidth()-35})}else{k=null}var s=a(this);var l=false;r.find("a[data-view=source]").on("click",function(v){v.preventDefault();if(!l){a("<textarea />").css({width:s.outerWidth(),height:s.outerHeight()}).val(s.html()).insertAfter(s);s.hide();a(this).addClass("active")}else{var u=s.next();s.html(u.val()).show();u.remove();a(this).removeClass("active")}l=!l});var o=a.extend({},{activeToolbarClass:"active",toolbarSelector:r},d.wysiwyg||{});a(this).wysiwyg(o)});return this}})(window.jQuery);
\ No newline at end of file
... ...
if(!("ace" in window)){window.ace={}}jQuery(function(a){window.ace.click_event=a.fn.tap?"tap":"click"});jQuery(function(a){ace.handle_side_menu(jQuery);ace.enable_search_ahead(jQuery);ace.general_things(jQuery);ace.widget_boxes(jQuery);ace.widget_reload_handler(jQuery)});ace.handle_side_menu=function(a){a("#menu-toggler").on(ace.click_event,function(){a("#sidebar").toggleClass("display");a(this).toggleClass("display");return false});var c=a("#sidebar").hasClass("menu-min");a("#sidebar-collapse").on(ace.click_event,function(){c=a("#sidebar").hasClass("menu-min");ace.settings.sidebar_collapsed(!c)});var b=navigator.userAgent.match(/OS (5|6|7)(_\d)+ like Mac OS X/i);a(".nav-list").on(ace.click_event,function(h){var g=a(h.target).closest("a");if(!g||g.length==0){return}c=a("#sidebar").hasClass("menu-min");if(!g.hasClass("dropdown-toggle")){if(c&&ace.click_event=="tap"&&g.get(0).parentNode.parentNode==this){var i=g.find(".menu-text").get(0);if(h.target!=i&&!a.contains(i,h.target)){return false}}if(b){document.location=g.attr("href");return false}return}var f=g.next().get(0);if(!a(f).is(":visible")){var d=a(f.parentNode).closest("ul");if(c&&d.hasClass("nav-list")){return}d.find("> .open > .submenu").each(function(){if(this!=f&&!a(this.parentNode).hasClass("active")){a(this).slideUp(200).parent().removeClass("open")}})}else{}if(c&&a(f.parentNode.parentNode).hasClass("nav-list")){return false}a(f).slideToggle(200).parent().toggleClass("open");return false})};ace.general_things=function(a){a('.ace-nav [class*="icon-animated-"]').closest("a").on("click",function(){var d=a(this).find('[class*="icon-animated-"]').eq(0);var c=d.attr("class").match(/icon\-animated\-([\d\w]+)/);d.removeClass(c[0]);a(this).off("click")});a(".nav-list .badge[title],.nav-list .label[title]").tooltip({placement:"right"});a("#ace-settings-btn").on(ace.click_event,function(){a(this).toggleClass("open");a("#ace-settings-box").toggleClass("open")});a("#ace-settings-navbar").on("click",function(){ace.settings.navbar_fixed(this.checked)}).each(function(){this.checked=ace.settings.is("navbar","fixed")});a("#ace-settings-sidebar").on("click",function(){ace.settings.sidebar_fixed(this.checked)}).each(function(){this.checked=ace.settings.is("sidebar","fixed")});a("#ace-settings-breadcrumbs").on("click",function(){ace.settings.breadcrumbs_fixed(this.checked)}).each(function(){this.checked=ace.settings.is("breadcrumbs","fixed")});a("#ace-settings-add-container").on("click",function(){ace.settings.main_container_fixed(this.checked)}).each(function(){this.checked=ace.settings.is("main-container","fixed")});a("#ace-settings-rtl").removeAttr("checked").on("click",function(){ace.switch_direction(jQuery)});a("#btn-scroll-up").on(ace.click_event,function(){var c=Math.min(400,Math.max(100,parseInt(a("html").scrollTop()/3)));a("html,body").animate({scrollTop:0},c);return false});try{a("#skin-colorpicker").ace_colorpicker()}catch(b){}a("#skin-colorpicker").on("change",function(){var d=a(this).find("option:selected").data("skin");var c=a(document.body);c.removeClass("skin-1 skin-2 skin-3");if(d!="default"){c.addClass(d)}if(d=="skin-1"){a(".ace-nav > li.grey").addClass("dark")}else{a(".ace-nav > li.grey").removeClass("dark")}if(d=="skin-2"){a(".ace-nav > li").addClass("no-border margin-1");a(".ace-nav > li:not(:last-child)").addClass("light-pink").find('> a > [class*="icon-"]').addClass("pink").end().eq(0).find(".badge").addClass("badge-warning")}else{a(".ace-nav > li").removeClass("no-border margin-1");a(".ace-nav > li:not(:last-child)").removeClass("light-pink").find('> a > [class*="icon-"]').removeClass("pink").end().eq(0).find(".badge").removeClass("badge-warning")}if(d=="skin-3"){a(".ace-nav > li.grey").addClass("red").find(".badge").addClass("badge-yellow")}else{a(".ace-nav > li.grey").removeClass("red").find(".badge").removeClass("badge-yellow")}})};ace.widget_boxes=function(a){a(document).on("hide.bs.collapse show.bs.collapse",function(c){var b=c.target.getAttribute("id");a('[href*="#'+b+'"]').find('[class*="icon-"]').each(function(){var e=a(this);var d;var f=null;var g=null;if((f=e.attr("data-icon-show"))){g=e.attr("data-icon-hide")}else{if(d=e.attr("class").match(/icon\-(.*)\-(up|down)/)){f="icon-"+d[1]+"-down";g="icon-"+d[1]+"-up"}}if(f){if(c.type=="show"){e.removeClass(f).addClass(g)}else{e.removeClass(g).addClass(f)}return false}})});a(document).on("click.ace.widget","[data-action]",function(o){o.preventDefault();var n=a(this);var p=n.data("action");var b=n.closest(".widget-box");if(b.hasClass("ui-sortable-helper")){return}if(p=="collapse"){var j=b.hasClass("collapsed")?"show":"hide";var f=j=="show"?"shown":"hidden";var c;b.trigger(c=a.Event(j+".ace.widget"));if(c.isDefaultPrevented()){return}var g=b.find(".widget-body");var m=n.find("[class*=icon-]").eq(0);var h=m.attr("class").match(/icon\-(.*)\-(up|down)/);var d="icon-"+h[1]+"-down";var i="icon-"+h[1]+"-up";var l=g.find(".widget-body-inner");if(l.length==0){g=g.wrapInner('<div class="widget-body-inner"></div>').find(":first-child").eq(0)}else{g=l.eq(0)}var e=300;var k=200;if(j=="show"){if(m){m.addClass(i).removeClass(d)}b.removeClass("collapsed");g.slideUp(0,function(){g.slideDown(e,function(){b.trigger(c=a.Event(f+".ace.widget"))})})}else{if(m){m.addClass(d).removeClass(i)}g.slideUp(k,function(){b.addClass("collapsed");b.trigger(c=a.Event(f+".ace.widget"))})}}else{if(p=="close"){var c;b.trigger(c=a.Event("close.ace.widget"));if(c.isDefaultPrevented()){return}var r=parseInt(n.data("close-speed"))||300;b.hide(r,function(){b.trigger(c=a.Event("closed.ace.widget"));b.remove()})}else{if(p=="reload"){var c;b.trigger(c=a.Event("reload.ace.widget"));if(c.isDefaultPrevented()){return}n.blur();var q=false;if(b.css("position")=="static"){q=true;b.addClass("position-relative")}b.append('<div class="widget-box-overlay"><i class="icon-spinner icon-spin icon-2x white"></i></div>');b.one("reloaded.ace.widget",function(){b.find(".widget-box-overlay").remove();if(q){b.removeClass("position-relative")}})}else{if(p=="settings"){var c=a.Event("settings.ace.widget");b.trigger(c)}}}}})};ace.widget_reload_handler=function(a){a(document).on("reload.ace.widget",".widget-box",function(b){var c=a(this);setTimeout(function(){c.trigger("reloaded.ace.widget")},parseInt(Math.random()*1000+1000))})};ace.enable_search_ahead=function(a){ace.variable_US_STATES=["Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Dakota","North Carolina","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming"];try{a("#nav-search-input").typeahead({source:ace.variable_US_STATES,updater:function(c){a("#nav-search-input").focus();return c}})}catch(b){}};ace.switch_direction=function(d){var c=d(document.body);c.toggleClass("rtl").find(".dropdown-menu:not(.datepicker-dropdown,.colorpicker)").toggleClass("pull-right").end().find(".pull-right:not(.dropdown-menu,blockquote,.profile-skills .pull-right)").removeClass("pull-right").addClass("tmp-rtl-pull-right").end().find(".pull-left:not(.dropdown-submenu,.profile-skills .pull-left)").removeClass("pull-left").addClass("pull-right").end().find(".tmp-rtl-pull-right").removeClass("tmp-rtl-pull-right").addClass("pull-left").end().find(".chosen-container").toggleClass("chosen-rtl").end();function a(h,g){c.find("."+h).removeClass(h).addClass("tmp-rtl-"+h).end().find("."+g).removeClass(g).addClass(h).end().find(".tmp-rtl-"+h).removeClass("tmp-rtl-"+h).addClass(g)}function b(h,g,i){i.each(function(){var k=d(this);var j=k.css(g);k.css(g,k.css(h));k.css(h,j)})}a("align-left","align-right");a("no-padding-left","no-padding-right");a("arrowed","arrowed-right");a("arrowed-in","arrowed-in-right");a("messagebar-item-left","messagebar-item-right");var e=d("#piechart-placeholder");if(e.size()>0){var f=d(document.body).hasClass("rtl")?"nw":"ne";e.data("draw").call(e.get(0),e,e.data("chart"),f)}};
\ No newline at end of file
... ...
/* =============================================================
* bootstrap-typeahead.js v2.3.2
* http://twitter.github.com/bootstrap/javascript.html#typeahead
* =============================================================
* Copyright 2012 Twitter, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ============================================================ */
!function($){
"use strict"; // jshint ;_;
/* TYPEAHEAD PUBLIC CLASS DEFINITION
* ================================= */
var Typeahead = function (element, options) {
this.$element = $(element)
this.options = $.extend({}, $.fn.typeahead.defaults, options)
this.matcher = this.options.matcher || this.matcher
this.sorter = this.options.sorter || this.sorter
this.highlighter = this.options.highlighter || this.highlighter
this.updater = this.options.updater || this.updater
this.source = this.options.source
this.$menu = $(this.options.menu)
this.shown = false
this.listen()
}
Typeahead.prototype = {
constructor: Typeahead
, select: function () {
var val = this.$menu.find('.active').attr('data-value')
this.$element
.val(this.updater(val))
.change()
return this.hide()
}
, updater: function (item) {
return item
}
, show: function () {
var pos = $.extend({}, this.$element.position(), {
height: this.$element[0].offsetHeight
})
this.$menu
.insertAfter(this.$element)
.css({
top: pos.top + pos.height
, left: pos.left
})
.show()
this.shown = true
return this
}
, hide: function () {
this.$menu.hide()
this.shown = false
return this
}
, lookup: function (event) {
var items
this.query = this.$element.val()
if (!this.query || this.query.length < this.options.minLength) {
return this.shown ? this.hide() : this
}
items = $.isFunction(this.source) ? this.source(this.query, $.proxy(this.process, this)) : this.source
return items ? this.process(items) : this
}
, process: function (items) {
var that = this
items = $.grep(items, function (item) {
return that.matcher(item)
})
items = this.sorter(items)
if (!items.length) {
return this.shown ? this.hide() : this
}
return this.render(items.slice(0, this.options.items)).show()
}
, matcher: function (item) {
return ~item.toLowerCase().indexOf(this.query.toLowerCase())
}
, sorter: function (items) {
var beginswith = []
, caseSensitive = []
, caseInsensitive = []
, item
while (item = items.shift()) {
if (!item.toLowerCase().indexOf(this.query.toLowerCase())) beginswith.push(item)
else if (~item.indexOf(this.query)) caseSensitive.push(item)
else caseInsensitive.push(item)
}
return beginswith.concat(caseSensitive, caseInsensitive)
}
, highlighter: function (item) {
var query = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&')
return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) {
return '<strong>' + match + '</strong>'
})
}
, render: function (items) {
var that = this
items = $(items).map(function (i, item) {
i = $(that.options.item).attr('data-value', item)
i.find('a').html(that.highlighter(item))
return i[0]
})
items.first().addClass('active')
this.$menu.html(items)
return this
}
, next: function (event) {
var active = this.$menu.find('.active').removeClass('active')
, next = active.next()
if (!next.length) {
next = $(this.$menu.find('li')[0])
}
next.addClass('active')
}
, prev: function (event) {
var active = this.$menu.find('.active').removeClass('active')
, prev = active.prev()
if (!prev.length) {
prev = this.$menu.find('li').last()
}
prev.addClass('active')
}
, listen: function () {
this.$element
.on('focus', $.proxy(this.focus, this))
.on('blur', $.proxy(this.blur, this))
.on('keypress', $.proxy(this.keypress, this))
.on('keyup', $.proxy(this.keyup, this))
if (this.eventSupported('keydown')) {
this.$element.on('keydown', $.proxy(this.keydown, this))
}
this.$menu
.on('click', $.proxy(this.click, this))
.on('mouseenter', 'li', $.proxy(this.mouseenter, this))
.on('mouseleave', 'li', $.proxy(this.mouseleave, this))
}
, eventSupported: function(eventName) {
var isSupported = eventName in this.$element
if (!isSupported) {
this.$element.setAttribute(eventName, 'return;')
isSupported = typeof this.$element[eventName] === 'function'
}
return isSupported
}
, move: function (e) {
if (!this.shown) return
switch(e.keyCode) {
case 9: // tab
case 13: // enter
case 27: // escape
e.preventDefault()
break
case 38: // up arrow
e.preventDefault()
this.prev()
break
case 40: // down arrow
e.preventDefault()
this.next()
break
}
e.stopPropagation()
}
, keydown: function (e) {
this.suppressKeyPressRepeat = ~$.inArray(e.keyCode, [40,38,9,13,27])
this.move(e)
}
, keypress: function (e) {
if (this.suppressKeyPressRepeat) return
this.move(e)
}
, keyup: function (e) {
switch(e.keyCode) {
case 40: // down arrow
case 38: // up arrow
case 16: // shift
case 17: // ctrl
case 18: // alt
break
case 9: // tab
case 13: // enter
if (!this.shown) return
this.select()
break
case 27: // escape
if (!this.shown) return
this.hide()
break
default:
this.lookup()
}
e.stopPropagation()
e.preventDefault()
}
, focus: function (e) {
this.focused = true
}
, blur: function (e) {
this.focused = false
if (!this.mousedover && this.shown) this.hide()
}
, click: function (e) {
e.stopPropagation()
e.preventDefault()
this.select()
this.$element.focus()
}
, mouseenter: function (e) {
this.mousedover = true
this.$menu.find('.active').removeClass('active')
$(e.currentTarget).addClass('active')
}
, mouseleave: function (e) {
this.mousedover = false
if (!this.focused && this.shown) this.hide()
}
}
/* TYPEAHEAD PLUGIN DEFINITION
* =========================== */
var old = $.fn.typeahead
$.fn.typeahead = function (option) {
return this.each(function () {
var $this = $(this)
, data = $this.data('typeahead')
, options = typeof option == 'object' && option
if (!data) $this.data('typeahead', (data = new Typeahead(this, options)))
if (typeof option == 'string') data[option]()
})
}
$.fn.typeahead.defaults = {
source: []
, items: 8
, menu: '<ul class="typeahead dropdown-menu"></ul>'
, item: '<li><a href="#"></a></li>'
, minLength: 1
}
$.fn.typeahead.Constructor = Typeahead
/* TYPEAHEAD NO CONFLICT
* =================== */
$.fn.typeahead.noConflict = function () {
$.fn.typeahead = old
return this
}
/* TYPEAHEAD DATA-API
* ================== */
$(document).on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
var $this = $(this)
if ($this.data('typeahead')) return
$this.typeahead($this.data())
})
}(window.jQuery);
\ No newline at end of file
... ...
<%@page language="java" contentType="text/html;charset=utf-8" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="<%=basePath %>css/bootstrap.min.css"/>
<link rel="stylesheet" href="<%=basePath %>css/unicorn.main.css"/>
<link rel="stylesheet" href="<%=basePath %>css/unicorn.grey.css"/>
<link rel="stylesheet" href="<%=basePath %>css/jquery-ui.css"/>
<link rel="stylesheet" href="<%=basePath %>css/bootstrap-responsive.min.css"/>
<link rel="stylesheet" href="<%=basePath %>css/uniform.css"/>
<link rel="stylesheet" href="<%=basePath %>css/select2.css"/>
<link rel="stylesheet" href="<%=basePath %>css/font-awesome.min.css"/>
<link rel="stylesheet" href="<%=basePath %>css/dnspod_switch.css"/>
<link rel="stylesheet" href="<%=basePath %>css/ace.min.css"/>
<link rel="stylesheet" href="<%=basePath %>css/ace-rtl.min.css"/>
<link rel="stylesheet" href="<%=basePath %>css/ace-skins.min.css"/>
<script src="<%=basePath %>js/jquery-2.1.4.min.js"></script>
<script src="<%=basePath %>js/bootstrap.min.js"></script>
<script src="<%=basePath %>js/typeahead-bs2.min.js"></script>
<script src="<%=basePath %>js/ace-elements.min.js"></script>
<script src="<%=basePath %>js/ace.min.js"></script>
<script src="<%=basePath %>script/nginx_switch.js"></script>
<script src="<%=basePath %>js/layer/layer.js"></script>
<script src="<%=basePath %>/js/unicorn.js"></script>
<script src="<%=basePath %>js/bootstrap-plugin/datetimepicker/moment-with-locales.js" charset="UTF-8"
type="text/javascript"></script>
<script src="<%=basePath %>js/bootstrap-plugin/datetimepicker/bootstrap-datetimepicker.js" charset="UTF-8"
type="text/javascript"></script>
<script src="<%=basePath %>js/global.js" charset="UTF-8" type="text/javascript"></script>
<script src="<%=basePath %>js/bootstrap-plugin/bootstrap.pagination.js" charset="UTF-8"
type="text/javascript"></script>
<script src="<%=basePath %>js/bootstrap-plugin/bootstrap.table.js" charset="UTF-8" type="text/javascript"></script>
<script src="<%=basePath %>js/bootstrap-plugin/bootstrap.dialog.js" charset="UTF-8" type="text/javascript"></script>
<script src="<%=basePath %>js/bootstrap-plugin/bootstrap.form.js" charset="UTF-8" type="text/javascript"></script>
<script src="<%=basePath %>js/bootstrap-plugin/bootstrap.panel.js" charset="UTF-8" type="text/javascript"></script>
<script src="<%=basePath %>js/bootstrap-plugin/bootstrap.alerts.js" charset="UTF-8" type="text/javascript"></script>
<script src="<%=basePath %>js/bootstrap-plugin/bootstrap.accordion.js" charset="UTF-8"
type="text/javascript"></script>
<script src="<%=basePath %>js/bootstrap-plugin/bootstrap.breadcrumb.js" charset="UTF-8"
type="text/javascript"></script>
<script src="<%=basePath %>js/bootstrap-plugin/bootstrap.validate.js" charset="UTF-8"
type="text/javascript"></script>
<script src="<%=basePath %>js/bootstrap-plugin/bootstrap.form.js" charset="UTF-8" type="text/javascript"></script>
<script src="<%=basePath %>js/bootstrap-plugin/bootstrap.select.js" charset="UTF-8" type="text/javascript"></script>
<script src="<%=basePath %>js/jquery.toaster.js"></script>
<script>
var contextPath = '<%=basePath %>';
</script>
<title>YOHO!运维</title>
</head>
<body style="background-color: #444444;font-size: 14px">
<!-- 头部 -->
<div id="head">
</div>
<!-- 右侧具体内容 -->
<div id="content">
<div id="breadcrumb">
<a href="#" title="Go to Home" class="tip-bottom"><i
class="icon-home"></i> Home</a> <a href="#" class="current">nginx切换</a>
</div>
<div class="row">
<div class="col-xs-12">
<!-- PAGE CONTENT BEGINS -->
<div class="row">
<div class="col-xs-12 col-sm-12 widget-container-span">
<div class="tabbable">
<ul class="nav nav-tabs" id="myTab">
<li class="active" style="width: 110px">
<a data-toggle="tab" href="#home">
<i class="green icon-cloud bigger-110"></i>
亚马逊
</a>
</li>
<li style="width: 110px">
<a data-toggle="tab" href="#profile">
<i class="green icon-cloud bigger-110"></i>
腾讯云
</a>
</li>
</ul>
<div class="tab-content">
<div id="home" class="tab-pane in active">
<c:forEach items="${awsList}" var="map">
<c:if test="${map.name=='apigateway'||map.name=='grayapigateway'}">
<h3 class="header smaller red">${map.name}</h3>
<dl id="dt-list-1" class="dl-horizontal">
<c:forEach items="${map}" var="var">
<c:if test="${var.key!='server' && var.key!='name'}">
<dt>${var.key}</dt>
<dd>${var.value}</dd>
</c:if>
</c:forEach>
<dt>server</dt>
<dd>
<ul>
<c:forEach items="${map.server}" var="server">
<li>${server}</li>
</c:forEach>
</ul>
</dd>
</dl>
</c:if>
</c:forEach>
<h3 class="header smaller red"></h3>
<div class="btn-group">
<button class="btn btn-sm ">
线上切换
</button>
<button class="btn btn-sm btn-success" onclick="initSwitch('aws','qcloud')">
<i class="icon-cogs bigger-110"></i>
切向qcloud
</button>
<button class="btn btn-sm btn-success" onclick="initSwitch('aws','aws')">
<i class="icon-cogs bigger-110"></i>
切向aws
</button><br><br>
<button class="btn btn-sm ">
灰度切换
</button>
<button class="btn btn-sm btn-success" onclick="initSwitch('gray','qcloud')">
<i class="icon-cogs bigger-110"></i>
切向qcloud
</button>
</button>
<button class="btn btn-sm btn-success" onclick="initSwitch('gray','aws')">
<i class="icon-cogs bigger-110"></i>
切向aws
</button>
<button class="btn btn-sm btn-success" onclick="initSwitch('gray','gray')">
<i class="icon-cogs bigger-110"></i>
切向gray
</button>
</div>
</div>
<div id="profile" class="tab-pane">
<c:forEach items="${qcloudList}" var="map">
<c:if test="${map.name=='apigateway'||map.name=='grayapigateway'}">
<h3 class="header smaller red">${map.name}</h3>
<dl id="dt-list-1" class="dl-horizontal">
<c:forEach items="${map}" var="var">
<c:if test="${var.key!='server' && var.key!='name'}">
<dt>${var.key}</dt>
<dd>${var.value}</dd>
</c:if>
</c:forEach>
<dt>server</dt>
<dd>
<ul>
<c:forEach items="${map.server}" var="server">
<li>${server}</li>
</c:forEach>
</ul>
</dd>
</dl>
</c:if>
</c:forEach>
<h3 class="header smaller red"></h3>
<div class="btn-group">
<button class="btn btn-sm ">
线上切换
</button>
<button class="btn btn-sm btn-success" onclick="initSwitch('qcloud','qcloud')">
<i class="icon-cogs bigger-110"></i>
切向qcloud
</button>
<button class="btn btn-sm btn-success" onclick="initSwitch('qcloud','aws')">
<i class="icon-cogs bigger-110"></i>
切向aws
</button>
<br/><br/>
<button class="btn btn-sm ">
灰度切换
</button>&nbsp;&nbsp;
<button class="btn btn-sm btn-success" onclick="initSwitch('gray','qcloud')">
<i class="icon-cogs bigger-110"></i>
切向qcloud
</button>
<button class="btn btn-sm btn-success" onclick="initSwitch('gray','aws')">
<i class="icon-cogs bigger-110"></i>
切向aws
</button>
<button class="btn btn-sm btn-success" onclick="initSwitch('gray','gray')">
<i class="icon-cogs bigger-110"></i>
切向gray
</button>
</div>
</div>
</div>
</div>
</div><!-- /span -->
<div class="vspace-xs-6"></div>
</div><!-- /row -->
<div class="space"></div>
<script type="text/javascript">
var $path_assets = "assets";//this will be used in gritter alerts containing images
</script>
<!-- PAGE CONTENT ENDS -->
</div><!-- /.col -->
</div><!-- /.row -->
</div>
<div class="modal fade" id="validateToken" tabindex="-1" role="dialog" aria-labelledby="validateTokenLabel"
aria-hidden="true" style="padding-top: 10%">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h2 class="modal-title" id="validateTokenLabel">
<span style="font-weight: bold;"> 验证短信</span>
</h2>
</div>
<div class="modal-body">
<form class="bs-example bs-example-form" action="" role="form" id="tokenForm">
<br>
<div class="input-group">
<span class="input-group-addon">SMS</span>
<input type="text" name="ticket" class="form-control">
<input type="hidden" name="token">
</div>
<br>
<div class="alert alert-danger" id="validateTokenRltInfo">
验证失败,请重试;
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" onclick="switchNginxConf()">验证</button>
<button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
</div>
</div>
</div>
</div>
<script src="<%=basePath %>script/common/genarate_left_panel.js"></script>
<script>
$("#li_switch").addClass("active open");
$("#li_nginxswitch").addClass("active");
</script>
</body>
</html>
... ...
<%@page language="java" contentType="text/html;charset=utf-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>nginx切换</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link href="<%=basePath %>css/bootstrap.min.css" rel="stylesheet" />
<link rel="stylesheet" href="<%=basePath %>css/font-awesome.min.css" />
<link rel="stylesheet" href="<%=basePath %>css/dnspod_switch.css" />
<link rel="stylesheet" href="<%=basePath %>css/ace.min.css" />
<link rel="stylesheet" href="<%=basePath %>css/ace-rtl.min.css" />
<link rel="stylesheet" href="<%=basePath %>css/ace-skins.min.css" />
</head>
<body>
<div class="navbar navbar-default" id="navbar">
<script type="text/javascript">
try{ace.settings.check('navbar' , 'fixed')}catch(e){}
</script>
<div class="navbar-container" id="navbar-container">
<div class="navbar-header pull-left">
<a href="<%=basePath %>login.do" class="navbar-brand">
<small>
<i class="icon-leaf"></i>
Yoho Ops
</small>
</a><!-- /.brand -->
</div><!-- /.navbar-header -->
</div><!-- /.container -->
</div>
<div class="main-container" id="main-container">
<script type="text/javascript">
try{ace.settings.check('main-container' , 'fixed')}catch(e){}
</script>
<div class="main-container-inner">
<a class="menu-toggler" id="menu-toggler" href="#">
<span class="menu-text"></span>
</a>
<div class="sidebar" id="sidebar">
<script type="text/javascript">
try{ace.settings.check('sidebar' , 'fixed')}catch(e){}
</script>
<div class="sidebar-shortcuts" id="sidebar-shortcuts">
<div class="sidebar-shortcuts-large" id="sidebar-shortcuts-large">
<button class="btn btn-success">
<i class="icon-signal"></i>
</button>
<button class="btn btn-info">
<i class="icon-pencil"></i>
</button>
<button class="btn btn-warning">
<i class="icon-group"></i>
</button>
<button class="btn btn-danger">
<i class="icon-cogs"></i>
</button>
</div>
<div class="sidebar-shortcuts-mini" id="sidebar-shortcuts-mini">
<span class="btn btn-success"></span>
<span class="btn btn-info"></span>
<span class="btn btn-warning"></span>
<span class="btn btn-danger"></span>
</div>
</div><!-- #sidebar-shortcuts -->
<ul class="nav nav-list">
<li >
<a href="<%=basePath %>dnspod/getDnsList.do">
<i class="icon-dashboard"></i>
<span class="menu-text"> Dnspod Manage </span>
</a>
</li>
<li class="active">
<a href="<%=basePath %>nginx/viewNginxConf.do">
<i class="icon-desktop"></i>
<span class="menu-text"> Nginx Manage </span>
</a>
</li>
</ul><!-- /.nav-list -->
<div class="sidebar-collapse" id="sidebar-collapse">
<i class="icon-double-angle-left" data-icon1="icon-double-angle-left" data-icon2="icon-double-angle-right"></i>
</div>
<script type="text/javascript">
try{ace.settings.check('sidebar' , 'collapsed')}catch(e){}
</script>
</div>
<div class="main-content">
<div class="breadcrumbs" id="breadcrumbs">
<script type="text/javascript">
try{ace.settings.check('breadcrumbs' , 'fixed')}catch(e){}
</script>
<ul class="breadcrumb">
<li>
<i class="icon-home home-icon"></i>
<a href="<%=basePath %>dnspod/getDnsList.do">Home</a>
</li>
<li class="active">Nginx Manage</li>
</ul><!-- .breadcrumb -->
<input type="hidden" id="code" value="${code}">
</div>
<div class="page-content">
<div class="page-header">
<h1>
UI Elements
<small>
<i class="icon-double-angle-right"></i>
Common UI Features &amp; Elements
</small>
</h1>
</div><!-- /.page-header -->
<div class="row">
<div class="col-xs-12">
<!-- PAGE CONTENT BEGINS -->
<div class="row">
<div class="col-xs-12 col-sm-12 widget-container-span">
<div class="tabbable">
<ul class="nav nav-tabs" id="myTab">
<li class="active" style="width: 110px">
<a data-toggle="tab" href="#home">
<i class="green icon-cloud bigger-110"></i>
亚马逊
</a>
</li>
<li style="width: 110px">
<a data-toggle="tab" href="#profile">
<i class="green icon-cloud bigger-110"></i>
腾讯云
</a>
</li>
</ul>
<div class="tab-content">
<div id="home" class="tab-pane in active">
<c:forEach items="${awsList}" var="map">
<c:if test="${map.name=='apigateway'||map.name=='grayapigateway'}">
<h3 class="header smaller red">${map.name}</h3>
<dl id="dt-list-1" class="dl-horizontal">
<c:forEach items="${map}" var="var">
<c:if test="${var.key!='server' && var.key!='name'}">
<dt>${var.key}</dt>
<dd>${var.value}</dd>
</c:if>
</c:forEach>
<dt>server</dt>
<dd>
<ul>
<c:forEach items="${map.server}" var="server">
<li>${server}</li>
</c:forEach>
</ul>
</dd>
</dl>
</c:if>
</c:forEach>
<h3 class="header smaller red"></h3>
<div class="btn-group">
<button class="btn btn-sm ">
线上切换
</button>
<button class="btn btn-sm btn-success" onclick="initSwitch('aws','qcloud')">
<i class="icon-cogs bigger-110"></i>
切向qcloud
</button>
<button class="btn btn-sm btn-success" onclick="initSwitch('aws','aws')">
<i class="icon-cogs bigger-110"></i>
切向aws
</button><br><br>
<button class="btn btn-sm ">
灰度切换
</button>
<button class="btn btn-sm btn-success" onclick="initSwitch('gray','qcloud')">
<i class="icon-cogs bigger-110"></i>
切向qcloud
</button>
</button>
<button class="btn btn-sm btn-success" onclick="initSwitch('gray','aws')">
<i class="icon-cogs bigger-110"></i>
切向aws
</button>
<button class="btn btn-sm btn-success" onclick="initSwitch('gray','gray')">
<i class="icon-cogs bigger-110"></i>
切向gray
</button>
</div>
</div>
<div id="profile" class="tab-pane">
<c:forEach items="${qcloudList}" var="map">
<c:if test="${map.name=='apigateway'||map.name=='grayapigateway'}">
<h3 class="header smaller red">${map.name}</h3>
<dl id="dt-list-1" class="dl-horizontal">
<c:forEach items="${map}" var="var">
<c:if test="${var.key!='server' && var.key!='name'}">
<dt>${var.key}</dt>
<dd>${var.value}</dd>
</c:if>
</c:forEach>
<dt>server</dt>
<dd>
<ul>
<c:forEach items="${map.server}" var="server">
<li>${server}</li>
</c:forEach>
</ul>
</dd>
</dl>
</c:if>
</c:forEach>
<h3 class="header smaller red"></h3>
<div class="btn-group">
<button class="btn btn-sm ">
线上切换
</button>
<button class="btn btn-sm btn-success" onclick="initSwitch('qcloud','qcloud')">
<i class="icon-cogs bigger-110"></i>
切向qcloud
</button>
<button class="btn btn-sm btn-success" onclick="initSwitch('qcloud','aws')">
<i class="icon-cogs bigger-110"></i>
切向aws
</button>
<br/><br/>
<button class="btn btn-sm ">
灰度切换
</button>&nbsp;&nbsp;
<button class="btn btn-sm btn-success" onclick="initSwitch('gray','qcloud')">
<i class="icon-cogs bigger-110"></i>
切向qcloud
</button>
<button class="btn btn-sm btn-success" onclick="initSwitch('gray','aws')">
<i class="icon-cogs bigger-110"></i>
切向aws
</button>
<button class="btn btn-sm btn-success" onclick="initSwitch('gray','gray')">
<i class="icon-cogs bigger-110"></i>
切向gray
</button>
</div>
</div>
</div>
</div>
</div><!-- /span -->
<div class="vspace-xs-6"></div>
</div><!-- /row -->
<div class="space"></div>
<script type="text/javascript">
var $path_assets = "assets";//this will be used in gritter alerts containing images
</script>
<!-- PAGE CONTENT ENDS -->
</div><!-- /.col -->
</div><!-- /.row -->
</div><!-- /.page-content -->
</div><!-- /.main-content -->
</div><!-- /.main-container-inner -->
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
<i class="icon-double-angle-up icon-only bigger-110"></i>
</a>
</div><!-- /.main-container -->
<div class="modal fade" id="validateToken" tabindex="-1" role="dialog" aria-labelledby="validateTokenLabel" aria-hidden="true" style="padding-top: 10%">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h2 class="modal-title" id="validateTokenLabel">
<span style="font-weight: bold;"> 验证短信</span>
</h2>
</div>
<div class="modal-body">
<form class="bs-example bs-example-form" action="" role="form" id="tokenForm">
<br>
<div class="input-group">
<span class="input-group-addon">SMS</span>
<input type="text" name="ticket" class="form-control" >
<input type="hidden" name="token" >
</div>
<br>
<div class="alert alert-danger" id="validateTokenRltInfo">
验证失败,请重试;
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" onclick="switchNginxConf()">验证</button>
<button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
</div>
</div>
</div>
</div>
<script src="<%=basePath %>js/jquery-2.1.4.min.js"></script>
<script src="<%=basePath %>js/bootstrap.min.js"></script>
<script src="<%=basePath %>js/typeahead-bs2.min.js"></script>
<script src="<%=basePath %>js/ace-elements.min.js"></script>
<script src="<%=basePath %>js/ace.min.js"></script>
<script src="<%=basePath %>script/nginx_switch.js"></script>
<script src="<%=basePath %>js/layer/layer.js"></script>
</body>
</html>
\ No newline at end of file
... ...
... ... @@ -22,6 +22,12 @@ innerHTML += "<li id='li_redisInfo'><a id='li_redisInfo_a' href=''><i class='ico
innerHTML += "<li id='li_nginxview'><a id='li_nginxview_a' href=''><i class='icon icon-th'></i> <span>Nginx监控</span></a></li>";
innerHTML += "<li id='li_projectRelease'><a id='li_projectRelease_a' href=''><i class='icon icon-th'></i> <span>项目发布</span></a></li>";
/*switch*/
innerHTML += "<li class='submenu' id='li_switch'><a id='li_switch_a' href='#'><i class='icon icon-th-list'></i> <span>关键切换</span><span class='label'>2</span></a>";
innerHTML += "<ul><li id='li_nginxswitch'><a id='li_nginxswitch_a' href=''>nginx切换</a></li>";
innerHTML += "<li id='li_dnsswitch'><a id='li_dnsswitch_a' href='#'>DNS切换</a></li>";
innerHTML += "</ul></li>";
/*manage*/
innerHTML += "<li class='submenu' id='li_manager'><a id='li_manager_a' href='#'><i class='icon icon-th-list'></i> <span>管理员</span><span class='label'>3</span></a>";
innerHTML += "<ul><li id='li_user'><a id='li_user_a' href=''>用户管理</a></li>";
... ... @@ -54,6 +60,7 @@ document.getElementById("li_others_a").setAttribute("href", path + "/dashboard/t
document.getElementById("li_zkMonitor_a").setAttribute("href", path + "/zkTree/tozkMonitorList");
document.getElementById("li_user_a").setAttribute("href", path + "/manage/toUser");
document.getElementById("li_module_a").setAttribute("href", path + "/manage/toModule");
document.getElementById("li_nginxswitch_a").setAttribute("href", path + "/nginxswitch/toNginxSwitch");
function getUrlBasePath() {
var location = ( window.location + '').split('/');
... ...
$(function () {
$("#validateTokenRltInfo").hide();
});
function initSwitch(cloudName,target){
$("input[name='ticket']").val("");
var param = {
cloudName:cloudName,
target:target
}
$.ajax({
type : 'post',
url : 'switchbefore.do',
data : param,
dataType : 'text',
success : function(resp) {
var data = JSON.parse(resp);
if(data.code=="201"){
layer.msg("Token异常", {icon: 2});
}else{
$("input[name='token']").val(data.data);
$("#validateToken").modal('show');
$("#validateTokenRltInfo").hide();
}
},
error : function(data) {
layer.msg("Token异常", {icon: 2});
}
});
}
function switchNginxConf(){
$.ajax({
type : 'post',
url : 'switchNginxConf.do',
data : $('#tokenForm').serialize(),
dataType : 'text',
success : function(resp) {
var data = JSON.parse(resp);
if(data.code=="201"){
$("#validateTokenRltInfo").show();
}else{
window.location.href= getUrlBasePath() + "/nginxswitch/toNginxSwitch";
}
},
error : function(data) {
$("#validateTokenRltInfo").hide();
layer.msg("切换失败", {icon: 2});
}
});
}
\ No newline at end of file
... ...