commit ce6574bda796f15618ff8a0cfbde7c08be1c9fad Author: suguo Date: Mon Mar 22 17:27:43 2021 +0800 init diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e6ebc35 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.idea/ +target/ +*.iml \ No newline at end of file diff --git a/README.MD b/README.MD new file mode 100644 index 0000000..03788b1 --- /dev/null +++ b/README.MD @@ -0,0 +1,28 @@ + +# 毛毛虫4.0 + +项目作为学习java的例程较合适 + + + +项目组件及框架: +spring +spring.boot +mybatis +mysql + +静态资源: +默认位置 resources/static,访问时URL中不加static + + +编译jar:MavenProjects +部署:java -jar -Dserver.port=8081 mmc4-exec.jar + +spring-boot允许你自定义一个application.properties文件,然后放在以下的地方,来重写spring boot的环境变量或者定义你自己环境变量 + ++ 当前目录的 “/config”的子目录下 ++ 当前目录下 ++ classpath根目录的“/config”包下 ++ classpath的根目录下 + +以上配置优先顺序按以上排!很多部署与运行配置相关都可以此文件中配置与定义,如server.servlet-path=/ \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..614ee40 --- /dev/null +++ b/pom.xml @@ -0,0 +1,123 @@ + + 4.0.0 + me.myschools + mmc4 + jar + 1.0.0 + mmc4 Maven Webapp + http://maven.apache.org + + + UTF-8 + me.myschools.App + Finchley.SR2 + + + + org.springframework.boot + spring-boot-starter-parent + 2.0.4.RELEASE + + + + + org.springframework.boot + spring-boot-starter-web + + + mysql + mysql-connector-java + + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 1.3.0 + + + + com.github.pagehelper + pagehelper + 5.0.3 + + + org.springframework.boot + spring-boot-starter-thymeleaf + + + junit + junit + 3.8.1 + test + + + org.springframework.boot + spring-boot-starter-actuator + + + org.springframework.cloud + spring-cloud-starter-consul-discovery + + + + + + + org.springframework.cloud + spring-cloud-dependencies + ${spring-cloud.version} + pom + import + + + + + + mmc4 + + + + org.springframework.boot + spring-boot-maven-plugin + + + org.springframework + springloaded + 1.2.7.RELEASE + + + + + + repackage + + + exec + + + + + + + + + + spring-milestone + http://repo.spring.io/libs-milestone + + false + + + + + + + spring-milestone + http://repo.spring.io/libs-milestone + + false + + + + diff --git a/src/main/java/META-INF/MANIFEST.MF b/src/main/java/META-INF/MANIFEST.MF new file mode 100644 index 0000000..b994f86 --- /dev/null +++ b/src/main/java/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Main-Class: me.myschools.App + diff --git a/src/main/java/me/myschools/App.java b/src/main/java/me/myschools/App.java new file mode 100644 index 0000000..9aa5d96 --- /dev/null +++ b/src/main/java/me/myschools/App.java @@ -0,0 +1,18 @@ +package me.myschools; + +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; + +/** + * Created by yaojiale on 1/8/18. + */ +@SpringBootApplication +@MapperScan("me.myschools.mappers") //扫描mybatis持久化类类包 +@EnableDiscoveryClient +public class App { + public static void main(String[] args){ + SpringApplication.run(App.class,args); + } +} diff --git a/src/main/java/me/myschools/controllers/AccountController.java b/src/main/java/me/myschools/controllers/AccountController.java new file mode 100644 index 0000000..925bd05 --- /dev/null +++ b/src/main/java/me/myschools/controllers/AccountController.java @@ -0,0 +1,36 @@ +package me.myschools.controllers; + +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.servlet.ModelAndView; + +/** + * Created by yaoke on 2018-1-10. + */ +@Controller +@RequestMapping(value = "/account") +public class AccountController { + @RequestMapping(value = "/login", method = RequestMethod.GET) + public String login(){ + return "account/login"; + } + + @RequestMapping(value = "/login", method = RequestMethod.POST) + public String login(Model model){ + return "redirect:/home/index"; + } + + @GetMapping("/register") + public String register(){ + return "account/register"; + } + + @PostMapping("/register") + public String register(Model model){ + return "redirect:/account/login"; + } +} diff --git a/src/main/java/me/myschools/controllers/HomeController.java b/src/main/java/me/myschools/controllers/HomeController.java new file mode 100644 index 0000000..a509d15 --- /dev/null +++ b/src/main/java/me/myschools/controllers/HomeController.java @@ -0,0 +1,50 @@ +package me.myschools.controllers; + +import me.myschools.models.NewsModel; +import me.myschools.services.NewsService; +import me.myschools.services.SiteService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; + +/** + * Created by yaojiale on 1/8/18. + */ +@Controller +@RequestMapping("/home") +public class HomeController { + + @Autowired + private NewsService newsService; + + @Autowired + private SiteService siteService; + + @RequestMapping(value = "/index", method = RequestMethod.GET) + public String index(){ + return "home/index"; + } + + @RequestMapping(value = "/index2",method = RequestMethod.GET) + public String index2(Model model){ + model.addAttribute("aaa","index2"); + return "home/index"; + } + + @RequestMapping(value = "/config", method = RequestMethod.GET) + @ResponseBody + public String config(){ + return siteService.title + "\t"+siteService.getTitle(); + } + + @RequestMapping(value = "/news",method = RequestMethod.GET) + @ResponseBody + public List news(Model model){ + return newsService.getNews(); + } +} diff --git a/src/main/java/me/myschools/mappers/NewsMapper.java b/src/main/java/me/myschools/mappers/NewsMapper.java new file mode 100644 index 0000000..b01b85d --- /dev/null +++ b/src/main/java/me/myschools/mappers/NewsMapper.java @@ -0,0 +1,17 @@ +package me.myschools.mappers; + +import me.myschools.models.NewsModel; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * Created by yaojiale on 1/8/18. + */ +@Mapper +public interface NewsMapper { + + @Select("select * from news") + public List getNewsAll(); +} diff --git a/src/main/java/me/myschools/models/NewsModel.java b/src/main/java/me/myschools/models/NewsModel.java new file mode 100644 index 0000000..c07a49f --- /dev/null +++ b/src/main/java/me/myschools/models/NewsModel.java @@ -0,0 +1,63 @@ +package me.myschools.models; + +/** + * Created by yaojiale on 1/8/18. + */ +public class NewsModel { + private String id; + private String title; + private String summary; + private String author; + private String published; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getSummary() { + return summary; + } + + public void setSummary(String summary) { + this.summary = summary; + } + + public String getAuthor() { + return author; + } + + public void setAuthor(String author) { + this.author = author; + } + + public String getPublished() { + return published; + } + + public void setPublished(String published) { + this.published = published; + } + + @Override + public String toString() { + return "NewsModel{" + + "id='" + id + '\'' + + ", title='" + title + '\'' + + ", summary='" + summary + '\'' + + ", author='" + author + '\'' + + ", published='" + published + '\'' + + '}'; + } +} diff --git a/src/main/java/me/myschools/services/NewsService.java b/src/main/java/me/myschools/services/NewsService.java new file mode 100644 index 0000000..7353c2b --- /dev/null +++ b/src/main/java/me/myschools/services/NewsService.java @@ -0,0 +1,22 @@ +package me.myschools.services; + +import me.myschools.mappers.NewsMapper; +import me.myschools.models.NewsModel; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * Created by yaojiale on 1/8/18. + */ +@Service +public class NewsService { + + @Autowired + private NewsMapper newsMapper; + + public List getNews(){ + return newsMapper.getNewsAll(); + } +} diff --git a/src/main/java/me/myschools/services/SiteService.java b/src/main/java/me/myschools/services/SiteService.java new file mode 100644 index 0000000..44e0e1b --- /dev/null +++ b/src/main/java/me/myschools/services/SiteService.java @@ -0,0 +1,27 @@ +package me.myschools.services; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.PropertySource; +import org.springframework.core.env.Environment; +import org.springframework.stereotype.Component; +import org.springframework.stereotype.Service; + +/** + * Created by yaojiale on 1/10/18. + */ +@Component +@PropertySource("application.properties") +@Service +public class SiteService { + + @Autowired + private Environment env; + + @Value("${mmc.title}") + public String title; + + public String getTitle(){ + return env.getProperty("mmc.title"); + } +} diff --git a/src/main/resources/account/login.html b/src/main/resources/account/login.html new file mode 100644 index 0000000..f26b6e2 --- /dev/null +++ b/src/main/resources/account/login.html @@ -0,0 +1,121 @@ + + +
+ +
+
+ + + + + +
+
    +
  • +
    Memory
    +
    +
    +
    +
    +
    +
    4GB of 8GB
    +
  • +
  • +
    HDD
    +
    +
    +
    +
    +
    +
    250GB of 1TB
    +
  • +
  • +
    SSD
    +
    +
    +
    +
    +
    +
    700GB of 1TB
    +
  • +
  • +
    Bandwidth
    +
    +
    +
    +
    +
    +
    90TB of 100TB
    +
  • +
+
+ + +
+
+
+ + \ No newline at end of file diff --git a/src/main/resources/account/register.html b/src/main/resources/account/register.html new file mode 100644 index 0000000..c451904 --- /dev/null +++ b/src/main/resources/account/register.html @@ -0,0 +1,120 @@ + + +
+ +
+
+ +
+
+ + +
+
+

Register

+
+
+
+
+ + +
+ +
+ + +
+ +
+
+
+ + +
+
+ + +
+
+
+ +
+
+
+ + +
+
+
+ + +
+
+ +
+ or use your another account +
+
+
+ + + +

+

Already have an account? Login!

+
+
+
+
+
+ + + +
+
    +
  • +
    Memory
    +
    +
    +
    +
    +
    +
    4GB of 8GB
    +
  • +
  • +
    HDD
    +
    +
    +
    +
    +
    +
    250GB of 1TB
    +
  • +
  • +
    SSD
    +
    +
    +
    +
    +
    +
    700GB of 1TB
    +
  • +
  • +
    Bandwidth
    +
    +
    +
    +
    +
    +
    90TB of 100TB
    +
  • +
+
+ + +
+
+
+ + diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties new file mode 100644 index 0000000..303170e --- /dev/null +++ b/src/main/resources/application.properties @@ -0,0 +1,52 @@ +# Allow Thymeleaf templates to be reloaded at dev time +spring.thymeleaf.prefix=classpath:/ +spring.thymeleaf.suffix=.html +spring.thymeleaf.mode=HTML5 +spring.thymeleaf.encoding=utf-8 +spring.thymeleaf.content-type=text/html +spring.thymeleaf.cache: false + +spring.datasource.url=jdbc:mysql://202.107.195.233:10007/tutorial +spring.datasource.username=root +spring.datasource.password=Nbrb123 +spring.datasource.driverClassName=com.mysql.jdbc.Driver +spring.datasource.max-active=20 +spring.datasource.max-idle=8 +spring.datasource.min-idle=8 +spring.datasource.initial-size=10 + +# 直接指定服务的 consul service id(即 instance id). +# 默认情况下为 spring.application.name + server.port, 如果在多个服务器上同一个服务, 因为应用名和端口都一致, 会导致service id 会重复, 所以一般情况都需要引入一个随机数避免重复 . +spring.cloud.consul.discovery.instance-id=${spring.application.name}-${random.value} +# 指定服务的 consul service name +spring.cloud.consul.discovery.service_name=some_name +# consul 服务器主机名 +spring.cloud.consul.discovery.hostname=192.168.11.250 +# consul 服务器端口 +spring.cloud.consul.discovery.port=8500 +# 维护 tags +$ 下面示例的 tag map 是: foo->bar 和 baz->baz +spring.cloud.consul.discovery.tags:foo=bar, baz +# 是否启用服务发现 +spring.cloud.consul.discovery.enabled=true +# 使用 consul 服务器 IP, 而不是 hostname, 需要搭配 prefer-ip-address 属性 +spring.cloud.consul.discovery.ip-address=127.0.0.1 +# 在注册时使用 consul IP, 而不是 hostname +spring.cloud.consul.discovery.prefer-ip-address=false +#设定 consul acl token 值 +spring.cloud.consul.discovery.acl-token=4efb1523-76a3-f476-e6d8-452220593089 +# 健康检查的频率, 默认 10 秒 +spring.cloud.consul.discovery.health-check-interval=10s +# actuator 健康检查的 url 路径 +# 默认为 为${management.endpoints.web.base-path} +/health +spring.cloud.consul.discovery.health-check-path= +# 自定义健康检查的 url(适合于不适用 actuator 的场景) +spring.cloud.consul.discovery.health-check-url= + +server.port=8080 +server.servlet-path=/ +server.tomcat.uri-encoding=UTF-8 +server.tomcat.access_log_enabled: true +server.tomcat.basedir: target/tomcat + +mmc.title=\u6BDB\u6BDB\u866B 4.0 \ No newline at end of file diff --git a/src/main/resources/bower.json b/src/main/resources/bower.json new file mode 100644 index 0000000..daf8857 --- /dev/null +++ b/src/main/resources/bower.json @@ -0,0 +1,17 @@ +{ + "name": "resources", + "authors": [ + "suguo.yao " + ], + "description": "", + "main": "", + "license": "MIT", + "homepage": "", + "ignore": [ + "**/.*", + "node_modules", + "bower_components", + "test", + "tests" + ] +} diff --git a/src/main/resources/home/index.html b/src/main/resources/home/index.html new file mode 100644 index 0000000..075abbb --- /dev/null +++ b/src/main/resources/home/index.html @@ -0,0 +1,1216 @@ + + +
+ +
+ + + +
+
+
+
+
+
+
+

CPU WORKING

+ SUPPORT ANALYST +

+ Curabitur nisi ipsum, accumsan id urna facilisis, commodo tempus turpis. Mauris lobortis elit eget bibendum + ultrices. +

+
+ +
+ +
+
+
+
+
+
+
MEMBER ONLINE
+
+
+ +
+
+
+
+
+
+ + + +
+
+
Michael
+

+ Nullam vitae arcu in leo molestie hendrerit at quis sem. +

+
+
+
+
+
+ + + +
+
+
Jhason
+

+ In sit amet nunc non justo consequat pellentesque a vel nulla. +

+
+
+
+
+
+ + + +
+
+
Serlly
+

+ Morbi interdum posuere ultricies. Aliquam sit amet neque nisi. Etiam in iaculis lectus. +

+
+
+
+
+
+ + + +
+
+
Rose Lady
+

+ Morbi interdum posuere ultricies. Aliquam sit amet neque nisi. Etiam in iaculis lectus. +

+
+
+
+
+
+ + + +
+
+
Jhon Doe
+

+ Morbi interdum posuere ultricies. Aliquam sit amet neque nisi. Etiam in iaculis lectus. +

+
+
+
+
+
+ +
+ NEXT +
+
+
+
+
+
+ +
+
+
+
+
+
+ + + +
+
+
TOTAL USERS
+

326,269

+
+
+
+
+ 90% Complete +
+
+
+
+
+ This month: 6,269 +
+ +
+
+
+
+
+
+
+
+
+
+ + + +
+
+
VISITS TODAY
+

10,256

+
+
+
+
+ 80% Complete +
+
+
+
+
+ Top country: INDONESIA +
+ +
+
+
+
+
+
+
+
+
+
+ + + +
+
+
DOWNLOAD
+

1,256

+
+
+
+
+ 80% Complete +
+
+
+
+
+ Stock Item: 32,269 +
+ +
+
+
+
+
+
+
+
+
+
+ + + +
+
+
PURCHASE
+

$526,369

+
+
+
+
+ 80% Complete +
+
+
+
+
+ Top day: 02/01/2015 +
+ +
+
+
+
+
+
+ + + +
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+ +
+
+
+
+
ADMIN TEMPLATE
+
+ +
+ $ 356.256,25 + 92% +
+
+
+
+
+
+
PORTFOLIO
+
+ +
+ $ 125.365,56 + 70% +
+
+
+
+
+
+
WORDPRESS
+
+ +
+ $ 98.256,25 + 52% +
+
+
+
+ +
+
+
+
+
CHART STATS
+
+ + + +
+
+
+
+
+
+
+
+
+
+
INTERACTING STATS
+
+
+
+
+
+
+
+
+
+
CUSTOM STATS
+
+
+
+
+
+
+
+ +
+
+ + +
+
+
+
+
LATEST ITEM
+
+
+ +
+
+
+
+
+ +
+
RESPONSIVE MULTIPURPOSE
+

+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. +

+
+
+
+
+ +
+
PARALLAX ONE PAGE
+

+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. +

+
+
+
+
+ +
+
ONE PAGE SLIDER HOME
+

+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. +

+
+
+
+
+ +
+
ONE PAGE PORTFOLIO
+

+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. +

+
+
+
+
+
+ +
+ NEXT +
+
+
+
+
+
+
TO DO
+
+ + + +
+
+
+
+
Today
+
    +
  • + + Add slider home to creative template +
  • +
  • + + Change portfolio image with new animation +
  • +
  • + + Fixed JavaScript problem for index page +
  • +
+
Tommorow
+
    +
  • + + Update sliding menu with newest +
  • +
  • + + Change navigation structure on header +
  • +
+
Completed
+
    +
    +
    +
    +
    +
    + + + + +
    +
    + + + +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +

    James Freedy

    + EXECUTIVE DIRECTOR +
    + +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    + Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. +
    +
    + +
    +
    +
    +
    +
    +

    John Doe

    + WEB DEVELOPER +
    + +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    + Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. +
    +
    + +
    +
    +
    +
    +
    +

    Jennifer Doe

    + STAFF OFFICER +
    + +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    + Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. +
    +
    + +
    +
    +
    +
    + +
    + + \ No newline at end of file diff --git a/src/main/resources/shared/layout.html b/src/main/resources/shared/layout.html new file mode 100644 index 0000000..7603733 --- /dev/null +++ b/src/main/resources/shared/layout.html @@ -0,0 +1,312 @@ + + + + + + + + + Responsive Admin Template + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    浙江大学城市学院教育应用联合研发中心
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/shared/layout_menu.html b/src/main/resources/shared/layout_menu.html new file mode 100644 index 0000000..b9e16e9 --- /dev/null +++ b/src/main/resources/shared/layout_menu.html @@ -0,0 +1,218 @@ + + +
    + + +
    +
    + + + + + +
    + + +
    +
      +
    • +
      Memory
      +
      +
      +
      +
      +
      +
      4GB of 8GB
      +
    • +
    • +
      HDD
      +
      +
      +
      +
      +
      +
      250GB of 1TB
      +
    • +
    • +
      SSD
      +
      +
      +
      +
      +
      +
      700GB of 1TB
      +
    • +
    • +
      Bandwidth
      +
      +
      +
      +
      +
      +
      90TB of 100TB
      +
    • +
    +
    + + +
    +
    + + + + + +
    + + \ No newline at end of file diff --git a/src/main/resources/static/css/add-ons.min.css b/src/main/resources/static/css/add-ons.min.css new file mode 100644 index 0000000..ec379b7 --- /dev/null +++ b/src/main/resources/static/css/add-ons.min.css @@ -0,0 +1,2381 @@ +.backgroundColor.primary { + background: #20a8d8; +} +.backgroundColor.success { + background: #79c447; +} +.backgroundColor.info { + background: #67c2ef; +} +.backgroundColor.warning { + background: #fabb3d; +} +.backgroundColor.danger { + background: #ff5454; +} +.backgroundColorTitle.primary .title { + background: #20a8d8; +} +.backgroundColorTitle.success .title { + background: #79c447; +} +.backgroundColorTitle.info .title { + background: #67c2ef; +} +.backgroundColorTitle.warning .title { + background: #fabb3d; +} +.backgroundColorTitle.danger .title { + background: #ff5454; +} +.clearfix { + *zoom: 1; +} +.clearfix:before, +.clearfix:after { + display: table; + content: ""; + line-height: 0; +} +.clearfix:after { + clear: both; +} +/* Vertical Bar Chart +=================================================================== */ +.verticalChart { + margin: 10px; +} +.verticalChart .singleBar { + width: 6%; + display: block; + margin: 0 2% 0% 2%; + float: left; +} +.verticalChart .singleBar .bar { + position: relative; + height: 120px; + background: #eeeeee; + overflow: hidden; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + border-radius: 2px; +} +.verticalChart .singleBar .bar .value { + position: absolute; + bottom: 0; + width: 100%; + background: #79c447; + color: white; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + border-radius: 2px; +} +.verticalChart .singleBar .bar .value span { + position: absolute; + font-size: 12px; + bottom: 0; + width: 100%; + height: 20px; + color: white; + text-shadow: 0px -1px 0px #79c447, 0px 1px 0px #79c447, 1px 0px 0px #79c447, -1px 0px 0px #79c447, -1px -1px 0px #79c447, -1px 1px 0px #79c447, 1px 1px 0px #79c447, 1px -1px 0px #79c447; + display: none; + text-align: center; +} +.verticalChart .singleBar .title { + margin-top: 5px; + text-align: center; + color: #484848; +} +/* Browsers Stats +=================================================================== */ +.browserStat.big { + display: inline-block; + width: 49%; + text-align: center; + margin-bottom: 20px; + padding: 0px; +} +.browserStat { + display: inline-block; + width: 32%; + text-align: center; + margin: 0px; + padding: 0px; +} +.browserStat span { + display: block; + text-align: center; + margin-top: 10px; +} +/* Small Chart +=================================================================== */ +.smallchart { + background: white; + text-align: center; + margin-bottom: 30px; +} +.smallchart .title { + padding: 10px; + color: white; + background: #d4d4d4; + margin: -1px -1px 0 -1px; +} +.smallchart .content { + padding: 40px 0px; + background: #d4d4d4; + color: white !important; +} +.smallchart .content i { + font-size: 40px; + color: white; +} +.smallchart .value { + padding: 10px; +} +.smallchart.primary .title { + background: #20a8d8; +} +.smallchart.success .title { + background: #79c447; +} +.smallchart.info .title { + background: #67c2ef; +} +.smallchart.warning .title { + background: #fabb3d; +} +.smallchart.danger .title { + background: #ff5454; +} +/* Sparkline stats +=================================================================== */ +.sparkLineStats { + position: relative; + margin-bottom: -4px; +} +.sparkLineStats ul { + margin: 0 0 0 -40px; + list-style: none; +} +.sparkLineStats ul li { + margin-bottom: 0; + line-height: 32px; + padding-top: 3px; + font-size: 12px; +} +.sparkLineStats ul li div { + float: left; +} +.sparkLineStats ul li div:first-child { + margin-right: 5px; +} +.sparkLineStats ul li .number { + font-size: 17px; + font-weight: 700; + padding: 0px 0px 0px 2px; + color: #fabb3d; +} +.sparkLineStats ul li h4 { + position: relative; + border-bottom: 1px solid #c4c4c4; + padding-bottom: 0px; + margin-bottom: 10px; + line-height: 37px; + -webkit-box-shadow: 0 1px 0px #ffffff; + -moz-box-shadow: 0 1px 0px #ffffff; + box-shadow: 0 1px 0px #ffffff; +} +.jqstooltip { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} +.small-chart-wrapper { + display: inline-block; + margin: 10px 15px; + width: 100%; +} + +.small-chart-wrapper .small-chart { + display: inline-block; + float: left; + margin-bottom: 8px; + min-width: 80px; +} + +.small-chart-wrapper .small-chart-info { + display: inline-block; + padding: 0 0 0 10px; +} + +.small-chart-wrapper .small-chart-info label { + display: block; + font-size: 11px; + text-transform: uppercase; + color: #a0a0a0; + padding: 0; + margin: 0; + line-height: 15px; +} + +.small-chart-wrapper .small-chart-info strong { + display: block; + font-size: 13px; + padding: 0; + margin: 0; + line-height: 15px; +} + +.small-chart-wrapper + .small-chart-wrapper { + margin-left: 25px; +} + +@media only screen and (max-width: 767px) { + .small-chart-wrapper { + margin-right: 0; + margin-left: 0; + text-align: center; + } + + .small-chart-wrapper .small-chart { + width: 100%; + text-align: center; + } + + .small-chart-wrapper .small-chart-info { + padding-left: 0; + } +} + + +/* Chart.JS responsive fix +=================================================================== */ +canvas.chartjs { + width: 100% !important; + max-width: 2000px; + height: auto !important; +} +/* Box Stats +=================================================================== */ +ul.stats { + list-style: none; + padding: 0; + border-top: 1px solid #d4d4d4; + background: #eeeeee; + margin: 20px -15px 0px -15px; + *zoom: 1; +} +ul.stats:before, +ul.stats:after { + display: table; + content: ""; + line-height: 0; +} +ul.stats:after { + clear: both; +} +ul.stats li { + position: relative; + z-index: 2; + width: 25%; + border-right: 1px solid #d4d4d4; + float: left; + text-align: center; + padding: 20px 0px; + margin: 0; + overflow: hidden; +} +ul.stats li:last-child { + border: none; +} +ul.stats li .bgchart { + width: 100%; + height: 100%; + position: absolute; + z-index: -1; + top: 0px; + left: 0px; +} +/* .smallstat +=================================================================== */ +.smallstat { + position: relative; + margin-bottom: 30px; + height: 120px; + padding: 15px; +} +.smallstat i { + text-align: center; + display: block; + width: 90px; + height: 90px; + font-size: 45px; + line-height: 90px; + float: left; + margin-right: 15px; + border-radius: 50%; +} +.smallstat i:hover { + font-size: 50px; +} +.smallstat i.primary { + background: #20a8d8; +} +.smallstat i.success { + background: #79c447; +} +.smallstat i.info { + background: #67c2ef; +} +.smallstat i.warning { + background: #fabb3d; +} +.smallstat i.danger { + background: #ff5454; +} +.smallstat .title, +.smallstat .value { + display: block; + width: 100%; +} +.smallstat .value { + padding-top: 5px; + font-size: 18px; +} +.smallstat .title { + color: #fff; + font-size: 12px; + text-transform: uppercase; +} +/* Discussions +=================================================================== */ +.discussions ul { + list-style: none; + margin: 0; + padding: 0; +} +.discussions ul li { + font-size: 12px; + border: 1px solid #d4d4d4; + position: relative; + background: white; + margin: 0 40px 20px 80px; + padding: 10px; + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.1); + -moz-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.1); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.1); +} +.discussions ul li:before { + content: ''; + width: 20px; + height: 20px; + top: 15px; + left: -20px; + position: absolute; + border-right: 10px solid #d4d4d4; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; +} +.discussions ul li:after { + content: ''; + width: 20px; + height: 20px; + top: 15px; + left: -19px; + position: absolute; + border-right: 10px solid white; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; +} +.discussions ul li .author { + position: absolute; + z-index: 1; + width: 60px; + float: left; + top: 0px; + left: -70px; +} +.discussions ul li .author img { + height: 50px; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + border-radius: 2px; + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.1); + -moz-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.1); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.1); +} +.discussions ul li .name { + position: absolute; + top: 10px; + left: 10px; + width: 100%; + background: #eeeeee; + padding: 5px 10px 5px 10px; +} +.discussions ul li .date { + position: absolute; + top: 10px; + right: -1px; + z-index: 1; + background: #d4d4d4; + padding: 5px 20px 5px 10px; +} +.discussions ul li .delete { + position: absolute; + background: #d4d4d4; + top: 10px; + right: -30px; + padding: 5px 10px; + display: inline-block; + cursor: pointer; +} +.discussions ul li .message { + border-bottom: 1px solid #d4d4d4; + margin: 20px -10px 0px -10px; + padding: 20px; + font-size: 12px; +} +.discussions ul li ul { + overflow: hidden; +} +.discussions ul li ul li { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + border: none; + border-bottom: 1px solid #d4d4d4; + margin: 0 -10px; + padding-left: 70px; +} +.discussions ul li ul li:before { + display: none; +} +.discussions ul li ul li:last-child { + border-bottom: none; +} +.discussions ul li ul li .author { + top: 10px; + left: 10px; +} +.discussions ul li ul li .author img { + height: 40px; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + border-radius: 2px; +} +.discussions ul li ul li .name { + left: 70px; +} +.discussions ul li ul li .date { + background: transparent; + right: 30px; +} +.discussions ul li ul li .delete { + background: transparent; + right: 10px; +} +.discussions ul li ul li .message { + border-bottom: none; +} +.discussions ul li ul li textarea { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + width: 100%; + font-size: 12px; + padding: 5px; +} +/* Calendar Widget +=================================================================== */ +.calendar { + background: white; + padding: 1px; +} +.calendar .calendar-small { + margin: -21px; +} +.calendar .fc td, +.calendar .fc th { + border: 0; + vertical-align: middle !important; + font-weight: normal; +} +.calendar .fc { + padding: 20px; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} +.calendar .fc-header { + color: #484848; + background: #ffffff; + -webkit-box-shadow: inset 0 0 1px 1px #ffffff; + -moz-box-shadow: inset 0 0 1px 1px #ffffff; + box-shadow: inset 0 0 1px 1px #ffffff; + height: 40px; + padding: 0; +} +.calendar .fc-header-title h2 { + color: #333333; + text-transform: uppercase; + font-weight: 500; + font-size: 12px; + line-height: 40px; + height: 40px; + margin: 5px 0 0 0; +} +.calendar .fc-widget-header { + padding: 15px 0 20px 0; + color: #333333; + text-transform: uppercase; + font-size: 10px; + font-weight: 600 !important; +} +.calendar .fc-widget-header, +.calendar .fc-widget-content { + border-color: none; +} +.calendar .fc-state-default { + background: white; + border: none; + text-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + margin: 10px; + color: #484848; +} +.calendar .fc-state-hover, +.calendar .fc-state-down, +.calendar .fc-state-active, +.calendar .fc-state-disabled { + color: #484848; + background: white; +} +.calendar .fc-day-number { + line-height: 35px; + width: 40px; + height: 40px; + font-size: 12px; + -webkit-border-radius: 50em; + -moz-border-radius: 50em; + border-radius: 50em; + border: 2px solid transparent; +} +.calendar .fc-state-highlight { + background: transparent; +} +.calendar .fc-state-highlight .fc-day-number { + color: #ec6c6c; + font-weight: 700; + border: 2px solid #ec6c6c !important; +} +.calendar .event { + background: #20a8d8; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + color: white; +} +.calendar .fc-grid td { + padding-top: 10px; + vertical-align: top !important; +} +.calendar .fc-grid .fc-day-number { + float: none; + text-align: center; + margin: 0 auto; +} +.calendar .fc-grid .fc-other-month .fc-day-number { + opacity: 1; + filter: alpha(opacity=1); + color: #eeeeee; +} +.calendar .fc-event { + font-size: 0px; + border-color: #f5f5f5; +} +.calendar .fc-button { + background: transparent !important; +} +.calendar .list { + margin: 0 15px 15px 15px; + padding-top: 15px; + border-top: 3px double #d4d4d4; +} +.calendar .list ul { + list-style: none; +} +.calendar .list ul li { + position: relative; + padding-top: 15px; + border-bottom: 1px solid #d4d4d4; +} +.calendar .list ul li .custom-checkbox-item { + margin-left: -40px; + margin-bottom: -1px; +} +.calendar .list ul li .custom-checkbox:checked ~ .custom-checkbox-desc { + color: #d4d4d4; + text-decoration: line-through; +} +.calendar .list ul li .custom-checkbox:checked ~ i { + color: #f5f5f5; +} +.calendar .list ul li i { + position: absolute; + right: 0; + top: 16px; + font-size: 18px; + color: #d4d4d4; +} +/* Users List +=================================================================== */ +ul.users-list { + padding: 0; +} +ul.users-list a:hover { + text-decoration: none; +} +ul.users-list li:last-child { + border-bottom: none; + min-height: 51px; +} +ul.users-list li:first-child { + border-top: none; + border-bottom: 1px solid #d4d4d4; +} +ul.users-list li { + min-height: 60px; + padding: 5px 10px; + list-style: none; + border-bottom: 1px solid #d4d4d4; + font-size: 12px; +} +ul.users-list li a img.avatar { + height: 40px; + width: 40px; + float: left; + margin-top: 3px; + margin-right: 15px; + -webkit-border-radius: 50em; + -moz-border-radius: 50em; + border-radius: 50em; +} +ul.users-list li .name { + margin: 5px 0 0px 0; + font-size: 14px; + font-weight: bold; +} +ul.users-list li .name .dropdown { + float: right; + margin: -1px 0; +} +ul.users-list li .name .dropdown a { + color: #484848; + font-size: 11px; + text-decoration: none; +} +ul.users-list li .name .dropdown ul li { + padding: 0; + min-height: 10px; +} +ul.users-list li .name .dropdown ul li i { + display: inline-block; + width: 20px; +} +ul.users-list li span { + display: inline-block; + margin-right: 5px; + font-size: 11px; + color: #484848; +} +ul.users-list li .place { + width: 35%; +} +ul.users-list li i { + color: #484848; + margin-right: 2px; + font-size: 11px; +} +ul.users-list.no-padding li { + padding: 5px 0; +} +/* Comments Lists ex. +=================================================================== */ +ul.comments-list { + padding: 0; +} +ul.comments-list a:hover { + text-decoration: none; +} +ul.comments-list li:last-child { + border-bottom: none; +} +ul.comments-list li:first-child { + border-top: none; + border-bottom: 1px solid #d4d4d4; +} +ul.comments-list li { + padding: 5px 10px; + list-style: none; + border-bottom: 1px solid #d4d4d4; + font-size: 12px; +} +ul.comments-list li a img.avatar { + height: 50px; + width: 50px; + float: left; + margin-top: 3px; + margin-right: 15px; + -webkit-border-radius: 50em; + -moz-border-radius: 50em; + border-radius: 50em; +} +ul.comments-list li div { + margin-left: 65px; +} +ul.comments-list li div.date { + margin-top: 5px; + font-size: 10px; + font-weight: bold; + color: #d4d4d4; +} +ul.comments-list li div .like-comment { + margin-top: 5px; + font-size: 10px; + font-weight: bold; + color: #d4d4d4; +} +ul.comments-list.no-padding li { + padding: 5px 0; +} +/* ToDo List +=================================================================== */ +.todo-list { + margin-top: -1px; +} +.todo-list .header { + background: #f5f5f5; + line-height: 30px; + padding: 0 15px; + border-top: 1px solid #d4d4d4; + border-bottom: 1px solid #d4d4d4; + -webkit-box-shadow: inset 0 0 1px 1px #ffffff; + -moz-box-shadow: inset 0 0 1px 1px #ffffff; + box-shadow: inset 0 0 1px 1px #ffffff; +} +.todo-list ul { + margin: 0; + padding: 5px 0 0 0; + list-style: none; +} +.todo-list ul li { + position: relative; + line-height: 25px; + border-bottom: 1px solid #d4d4d4; + overflow: hidden; + padding: 0 15px 0 25px; + background: white; +} +.todo-list ul li:before, +.todo-list ul li:after { + position: absolute; + content: ''; + height: 25px; + width: 3px; + border-left: 1px dotted #d4d4d4; + border-right: 1px dotted #d4d4d4; + top: 10px; +} +.todo-list ul li:before { + left: 8px; +} +.todo-list ul li:after { + left: 10px; +} +.todo-list ul li:first-child { + margin-top: -5px; +} +.todo-list ul li:last-child { + border-bottom: none; +} +.todo-list ul li .desc { + display: inline-block; + margin-top: 3px; +} +.todo-list ul li .custom-checkbox-item { + margin: 1px 0 4px 0; +} +.todo-list ul.completed { + color: #d4d4d4; +} +.todo-list ul.completed:empty { + padding: 0 !important; + text-align: center; + height: 40px; + line-height: 40px; +} +.todo-list ul.completed:empty:before { + content: 'No completed tasks'; +} +.todo-list ul.completed li { + text-decoration: line-through; +} +.todo-list ul:empty { + padding: 5px; +} +/* UI - Sliders +=================================================================== */ +.slider { + background: #eeeeee; + border: none; + position: relative; + z-index: 10; + margin: 5px 0px !important; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + border-radius: 2px; +} +.slider .ui-slider-range { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + background: #20a8d8; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + border-radius: 2px; +} +.slider .ui-slider-handle { + -webkit-border-radius: 50em; + -moz-border-radius: 50em; + border-radius: 50em; + background: -webkit-linear-gradient(#f8f8f8, #eeeeee); + background: -o-linear-gradient(#f8f8f8, #eeeeee); + background: -moz-linear-gradient(#f8f8f8, #eeeeee); + background: linear-gradient(#f8f8f8, #eeeeee); + -webkit-box-shadow: inset 0 0 1px 1px #ffffff, 0 1px 1px rgba(0, 0, 0, 0.15); + -moz-box-shadow: inset 0 0 1px 1px #ffffff, 0 1px 1px rgba(0, 0, 0, 0.15); + box-shadow: inset 0 0 1px 1px #ffffff, 0 1px 1px rgba(0, 0, 0, 0.15); + border: 1px solid #d4d4d4; +} +.slider.slider-success .ui-slider-range { + background: #79c447; +} +.slider.slider-info .ui-slider-range { + background: #67c2ef; +} +.slider.slider-warning .ui-slider-range { + background: #fabb3d; +} +.slider.slider-danger .ui-slider-range { + background: #ff5454; +} +.slider.slim { + height: 6px; +} +.slider.slim .ui-slider-handle { + margin-top: -1px; + height: 14px; + width: 14px; +} +.slider.vertical { + float: left; + height: 100px; + margin: 10px 20px !important; +} +.slider.vertical .ui-slider-handle { + margin-left: -3px; +} +.slider.vertical.slim { + width: 6px; +} +.slider.vertical.slim .ui-slider-handle { + margin-left: -4px; +} +/* + * Copyright (c) 2013 Thibaut Courouble + * http://www.cssflow.com + * + * Licensed under the MIT License: + * http://www.opensource.org/licenses/mit-license.php + */ + +table tr td.left, +table tr th.left { + text-align: left; +} +table tr td.center, +table tr th.center { + text-align: center; +} +table tr td.right, +table tr th.right { + text-align: right; +} +table tr td .progress { + margin: 3px 0 0 0; +} +table.table-clear tr, +table.table-clear td { + border: none !important; +} +table.small-font { + font-size: 12px; +} +.table thead > tr > th, +.table tbody > tr > th, +.table tfoot > tr > th, +.table thead > tr > td, +.table tbody > tr > td, +.table tfoot > tr > td { + padding: 8px; + line-height: 1.428571429; + vertical-align: top; + border-top: 1px solid #d4d4d4; +} +.table thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid #d4d4d4; +} +.table-bordered { + border: 1px solid #d4d4d4; +} +.table-bordered > thead > tr > th, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > td { + border: 1px solid #d4d4d4; +} +.table-striped > tbody > tr:nth-child(odd) > td, +.table-striped > tbody > tr:nth-child(odd) > th { + background-color: #f5f5f5; +} +.weather.widget .today { + padding-bottom: 15px; +} +.weather.widget .today i.climacon { + color: #d4d4d4; + font-size: 100px !important; +} +.weather.widget .today .date div { + margin-bottom: -5px; +} +.weather.widget .today .temp { + margin-top: -7px; + font-size: 25px; +} +.weather.widget .forecast { + border-top: 1px solid #d4d4d4; + padding: 11px 0; + margin-bottom: -15px; +} +.weather.widget .forecast i { + display: block; + width: 100%; + color: #71843f; +} +.weather.widget .forecast .label { + display: inline-block; + margin-bottom: 5px; +} +/* .info-box +=================================================================== */ +.info-box { + min-height: 140px; + margin-bottom: 30px; + padding: 20px; + color: white; + -webkit-box-shadow: inset 0 0 1px 1px rgba(255, 255, 255, 0.35), 0 3px 1px -1px rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 1px 1px rgba(255, 255, 255, 0.35), 0 3px 1px -1px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 1px 1px rgba(255, 255, 255, 0.35), 0 3px 1px -1px rgba(0, 0, 0, 0.1); +} +.info-box i { + display: block; + height: 100px; + font-size: 60px; + line-height: 100px; + width: 100px; + float: left; + text-align: center; + margin-right: 20px; + padding-right: 20px; + color: rgba(255, 255, 255, 0.75); +} +.info-box .count { + margin-top: -10px; + font-size: 34px; + font-weight: 700; +} +.info-box .title { + font-size: 12px; + text-transform: uppercase; + font-weight: 600; +} +.info-box .desc { + margin-top: 10px; + font-size: 12px; +} +.info-box.danger { + background: #ff5454; + border: 1px solid #ff2121; +} +.info-box.warning { + background: #fabb3d; + border: 1px solid #f9aa0b; +} +.info-box.primary { + background: #20a8d8; + border: 1px solid #1985ac; +} +.info-box.info { + background: #67c2ef; + border: 1px solid #39afea; +} +.info-box.success { + background: #79c447; + border: 1px solid #61a434; +} +/* .social-box +=================================================================== */ +.social-box { + min-height: 158px; + background: white; + margin-bottom: 30px; + text-align: center; +} +.social-box i { + display: block; + font-size: 40px; + line-height: 90px; + background: #f5f5f5; +} +.social-box ul { + list-style: none; + padding: 10px 0; +} +.social-box ul li { + display: block; + width: 50%; + float: left; +} +.social-box ul li:first-child { + border-right: 1px solid #f5f5f5; +} +.social-box ul li strong { + display: block; + font-size: 20px; +} +.social-box ul li span { + color: #d4d4d4; + font-weight: 500; + text-transform: uppercase; + font-size: 10px; +} +.social-box.facebook i { + background: #3b5998; + color: white; + margin: -1px -1px 1px -1px; +} +.social-box.twitter i { + background: #00aced; + color: white; + margin: -1px -1px 1px -1px; +} +.social-box.linkedin i { + background: #4875b4; + color: white; + margin: -1px -1px 1px -1px; +} +.social-box.google-plus i { + background: #d34836; + color: white; + margin: -1px -1px 1px -1px; +} +div.dataTables_length label { + font-weight: normal; + float: left; + text-align: left; +} +div.dataTables_length select { + width: 75px; +} +div.dataTables_filter label { + font-weight: normal; + float: right; +} +div.dataTables_info { + padding-top: 8px; +} +div.dataTables_paginate { + float: right; + margin: 0; +} +div.dataTables_paginate ul.pagination { + margin: 2px; +} +table.table { + clear: both; + margin-top: 6px !important; + margin-bottom: 6px !important; + max-width: none !important; +} +table.table .btn { + margin: 1px 0; +} +.table-condensed > thead > tr > th, +.table-condensed > tbody > tr > th, +.table-condensed > tfoot > tr > th, +.table-condensed > thead > tr > td, +.table-condensed > tbody > tr > td, +.table-condensed > tfoot > tr > td { + padding: 5px; +} +table.table thead .sorting, +table.table thead .sorting_asc, +table.table thead .sorting_desc, +table.table thead .sorting_asc_disabled, +table.table thead .sorting_desc_disabled { + cursor: pointer; +} +table.table thead .sorting { + background: url('../plugins/datatables/images/sort_both.png') no-repeat center right; +} +table.table thead .sorting_asc { + background: url('../plugins/datatables/images/sort_asc.png') no-repeat center right; +} +table.table thead .sorting_desc { + background: url('../plugins/datatables/images/sort_desc.png') no-repeat center right; +} +table.table thead .sorting_asc_disabled { + background: url('../plugins/datatables/images/sort_asc_disabled.png') no-repeat center right; +} +table.table thead .sorting_desc_disabled { + background: url('../plugins/datatables/images/sort_desc_disabled.png') no-repeat center right; +} +table.dataTable th:active { + outline: none; +} +/* Scrolling */ +div.dataTables_scrollHead table { + margin-bottom: 0 !important; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} +div.dataTables_scrollHead table thead tr:last-child th:first-child, +div.dataTables_scrollHead table thead tr:last-child td:first-child { + border-bottom-left-radius: 0 !important; + border-bottom-right-radius: 0 !important; +} +div.dataTables_scrollBody table { + border-top: none; + margin-bottom: 0 !important; +} +div.dataTables_scrollBody tbody tr:first-child th, +div.dataTables_scrollBody tbody tr:first-child td { + border-top: none; +} +div.dataTables_scrollFoot table { + border-top: none; +} +/* + * TableTools styles + */ +.table tbody tr.active td, +.table tbody tr.active th { + background-color: #08C; + color: white; +} +.table tbody tr.active:hover td, +.table tbody tr.active:hover th { + background-color: #0075b0 !important; +} +.table-striped tbody tr.active:nth-child(odd) td, +.table-striped tbody tr.active:nth-child(odd) th { + background-color: #017ebc; +} +table.DTTT_selectable tbody tr { + cursor: pointer; +} +div.DTTT .btn { + color: #333 !important; + font-size: 12px; +} +div.DTTT .btn:hover { + text-decoration: none !important; +} +ul.DTTT_dropdown.dropdown-menu { + z-index: 2003; +} +ul.DTTT_dropdown.dropdown-menu a { + color: #333 !important; + /* needed only when demo_page.css is included */ + +} +ul.DTTT_dropdown.dropdown-menu li { + position: relative; +} +ul.DTTT_dropdown.dropdown-menu li:hover a { + background-color: #0088cc; + color: white !important; +} +/* TableTools information display */ +div.DTTT_print_info.modal { + height: 150px; + margin-top: -75px; + text-align: center; +} +div.DTTT_print_info h6 { + font-weight: normal; + font-size: 28px; + line-height: 28px; + margin: 1em; +} +div.DTTT_print_info p { + font-size: 14px; + line-height: 20px; +} +/* + * FixedColumns styles + */ +div.DTFC_LeftHeadWrapper table, +div.DTFC_LeftFootWrapper table, +div.DTFC_RightHeadWrapper table, +div.DTFC_RightFootWrapper table, +table.DTFC_Cloned tr.even { + background-color: white; +} +div.DTFC_RightHeadWrapper table, +div.DTFC_LeftHeadWrapper table { + margin-bottom: 0 !important; + border-top-right-radius: 0 !important; + border-bottom-left-radius: 0 !important; + border-bottom-right-radius: 0 !important; +} +div.DTFC_RightHeadWrapper table thead tr:last-child th:first-child, +div.DTFC_RightHeadWrapper table thead tr:last-child td:first-child, +div.DTFC_LeftHeadWrapper table thead tr:last-child th:first-child, +div.DTFC_LeftHeadWrapper table thead tr:last-child td:first-child { + border-bottom-left-radius: 0 !important; + border-bottom-right-radius: 0 !important; +} +div.DTFC_RightBodyWrapper table, +div.DTFC_LeftBodyWrapper table { + border-top: none; + margin-bottom: 0 !important; +} +div.DTFC_RightBodyWrapper tbody tr:first-child th, +div.DTFC_RightBodyWrapper tbody tr:first-child td, +div.DTFC_LeftBodyWrapper tbody tr:first-child th, +div.DTFC_LeftBodyWrapper tbody tr:first-child td { + border-top: none; +} +div.DTFC_RightFootWrapper table, +div.DTFC_LeftFootWrapper table { + border-top: none; +} +/* Retina Display Hack +=================================================================== */ +@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + table.table thead .sorting { + background: url('../plugins/datatables/images/sort_both@2x.png') no-repeat center right; + background-size: 19px 19px; + } + table.table thead .sorting_asc { + background: url('../plugins/datatables/images/sort_asc@2x.png') no-repeat center right; + background-size: 19px 19px; + } + table.table thead .sorting_desc { + background: url('../plugins/datatables/images/sort_desc@2x.png') no-repeat center right; + background-size: 19px 19px; + } + table.table thead .sorting_asc_disabled { + background: url('../plugins/datatables/images/sort_asc_disabled@2x.png') no-repeat center right; + background-size: 19px 19px; + } + table.table thead .sorting_desc_disabled { + background: url('../plugins/datatables/images/sort_desc_disabled@2x.png') no-repeat center right; + background-size: 19px 19px; + } +} +/** + * Nestable + */ +.dd { + position: relative; + display: block; + margin: 0; + padding: 0; + list-style: none; + font-size: 13px; + line-height: 20px; +} +.dd-list { + display: block; + position: relative; + margin: 0; + padding: 0; + list-style: none; +} +.dd-list .dd-list { + padding-left: 30px; +} +.dd-collapsed .dd-list { + display: none; +} +.dd-item, +.dd-empty, +.dd-placeholder { + display: block; + position: relative; + margin: 0; + padding: 0; + min-height: 20px; + font-size: 13px; + line-height: 20px; +} +.dd-handle { + display: block; + height: 30px; + margin: 5px 0; + padding: 4px 10px; + text-decoration: none; + border: 1px solid #d4d4d4; + background: #eeeeee; + -webkit-border-radius: 1px; + -moz-border-radius: 1px; + border-radius: 1px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.dd-handle:hover { + color: #20a8d8; + background: white; +} +.dd-handle .icon { + float: right; + font-size: 16px; + margin-left: 10px; +} +.dd-handle .icon:hover { + text-decoration: none; +} +.dd-item > button { + display: block; + position: relative; + cursor: pointer; + float: left; + width: 25px; + height: 20px; + margin: 5px 0; + padding: 0; + text-indent: 100%; + white-space: nowrap; + overflow: hidden; + border: 0; + background: transparent; + font-size: 12px; + line-height: 1; + text-align: center; + font-weight: bold; +} +.dd-item > button:before { + content: '+'; + display: block; + position: absolute; + width: 100%; + text-align: center; + text-indent: 0; +} +.dd-item > button[data-action="collapse"]:before { + content: '-'; +} +.dd-placeholder, +.dd-empty { + margin: 5px 0; + padding: 0; + min-height: 30px; + background: #f2fbff; + border: 1px dashed #b6bcbf; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.dd-empty { + border: 1px dashed #bbb; + min-height: 100px; + background-color: #e5e5e5; + background-size: 60px 60px; + background-position: 0 0, 30px 30px; +} +.dd-dragel { + position: absolute; + pointer-events: none; + z-index: 9999; +} +.dd-dragel > .dd-item .dd-handle { + margin-top: 0; +} +.dd-dragel .dd-handle { + -webkit-box-shadow: 2px 4px 6px 0 rgba(0, 0, 0, 0.1); + -moz-box-shadow: 2px 4px 6px 0 rgba(0, 0, 0, 0.1); + box-shadow: 2px 4px 6px 0 rgba(0, 0, 0, 0.1); +} +/** + * Nestable Extras + */ +.nestable-lists { + display: block; + clear: both; + padding: 30px 0; + width: 100%; + border: 0; + border-top: 2px solid #ddd; + border-bottom: 2px solid #ddd; +} +#nestable-menu { + padding: 0; + margin: 20px 0; +} +#nestable-output, +#nestable2-output { + width: 100%; + height: 7em; + font-size: 0.75em; + line-height: 1.333333em; + font-family: Consolas, monospace; + padding: 5px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +#nestable2 .dd-handle { + color: white; + border: 1px solid #d4d4d4; + background: #d4d4d4; +} +#nestable2 .dd-handle:hover { + border: 1px solid #d4d4d4; + background: #d4d4d4; +} +#nestable2 .dd-item > button:before { + color: #fff; +} +@media only screen and (min-width: 700px) { + .dd { + float: left; + width: 48%; + } + .dd + .dd { + margin-left: 2%; + } +} +.dd-hover > .dd-handle { + background: #2ea8e5 !important; +} +/** + * Nestable Draggable Handles + */ +.dd3-content { + display: block; + height: 30px; + margin: 5px 0; + padding: 5px 10px 5px 40px; + text-decoration: none; + font-weight: bold; + border: 1px solid #d4d4d4; + background: #eeeeee; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + border-radius: 2px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.dd3-content:hover { + color: #20a8d8; + background: #fff; +} +.dd-dragel > .dd3-item > .dd3-content { + margin: 0; +} +.dd3-item > button { + margin-left: 30px; +} +.dd3-handle { + position: absolute; + margin: 0; + left: 0; + top: 0; + cursor: pointer; + width: 30px; + white-space: nowrap; + overflow: hidden; + border: 1px solid #d4d4d4; + background: #d4d4d4; + border-top-right-radius: 0; + border-bottom-right-radius: 0; + color: white; +} +.dd3-handle:hover { + background: #d4d4d4; + color: white; +} +/* Wizard +=================================================================== */ +.wizard-type1 { + margin-top: 0; +} +.wizard-type1 .progress { + height: 4px; + margin: 10px -5px 0 -5px; +} +.wizard-type1 ul.steps { + margin: 0 -15px; + line-height: 39px; + height: 39px; + overflow: hidden; +} +.wizard-type1 ul.steps li { + margin: 0; +} +.wizard-type1 ul.steps li a { + padding: 0 20px; + height: 39px; + -webkit-border-radius: 0px; + -moz-border-radius: 0px; + border-radius: 0px; + color: #484848; + margin: 0; + font-size: 12px; +} +.wizard-type1 ul.steps li a .badge { + background-color: #d4d4d4; + color: #484848; + margin-right: 5px; +} +.wizard-type1 ul.steps li.active a { + background: transparent; + color: #333; +} +.wizard-type1 ul.steps li.active a .badge { + background-color: #20a8d8; + color: white; +} +.wizard-type1 ul.steps li.complete a { + background: transparent; +} +.wizard-type1 ul.steps li.complete a .badge { + background-color: #79c447; + color: white; +} +.wizard-type1 .tab-pane { + padding: 15px 0; +} +.wizard-type1 .actions { + border: none; + background: #ffffff; + margin: 0 -9px -9px -9px; + padding: 15px; +} +.wizard-type2 { + margin-top: 0; +} +.wizard-type2 .progress { + height: 4px; + margin: 10px -5px 0 -5px; +} +.wizard-type2 ul.steps { + margin: 0 -15px; + line-height: 40px; + height: 40px; + overflow: hidden; +} +.wizard-type2 ul.steps li { + margin: 0; +} +.wizard-type2 ul.steps li a { + padding: 0 20px; + height: 40px; + -webkit-border-radius: 0px; + -moz-border-radius: 0px; + border-radius: 0px; + color: #d4d4d4; + margin: 0; + font-size: 12px; + font-weight: 300; +} +.wizard-type2 ul.steps li.active a { + background: transparent; + color: #888888; +} +.wizard-type2 ul.steps li.complete a { + background: transparent; + color: #79c447; +} +.wizard-type2 .tab-pane { + padding: 15px 0; +} +.wizard-type2 .actions { + border: none; + background: #ffff; + margin: 0 -9px -9px -9px; + padding: 15px; +} +/* + * Datepicker for Bootstrap + * + * Copyright 2012 Stefan Petre + * Improvements by Andrew Rowls + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + */ +.datepicker { + padding: 4px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + direction: ltr; + /*.dow { + border-top: 1px solid #ddd !important; + }*/ + +} +.datepicker-inline { + width: 220px; +} +.datepicker.datepicker-rtl { + direction: rtl; +} +.datepicker.datepicker-rtl table tr td span { + float: right; +} +.datepicker-dropdown { + top: 0; + left: 0; +} +.datepicker-dropdown:before { + content: ''; + display: inline-block; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid #ccc; + border-top: 0; + border-bottom-color: rgba(0, 0, 0, 0.2); + position: absolute; +} +.datepicker-dropdown:after { + content: ''; + display: inline-block; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid white; + border-top: 0; + position: absolute; +} +.datepicker-dropdown.datepicker-orient-left:before { + left: 6px; +} +.datepicker-dropdown.datepicker-orient-left:after { + left: 7px; +} +.datepicker-dropdown.datepicker-orient-right:before { + right: 6px; +} +.datepicker-dropdown.datepicker-orient-right:after { + right: 7px; +} +.datepicker-dropdown.datepicker-orient-top:before { + top: -7px; +} +.datepicker-dropdown.datepicker-orient-top:after { + top: -6px; +} +.datepicker-dropdown.datepicker-orient-bottom:before { + bottom: -7px; + border-bottom: 0; + border-top: 7px solid #999; +} +.datepicker-dropdown.datepicker-orient-bottom:after { + bottom: -6px; + border-bottom: 0; + border-top: 6px solid white; +} +.datepicker > div { + display: none; +} +.datepicker.days div.datepicker-days { + display: block; +} +.datepicker.months div.datepicker-months { + display: block; +} +.datepicker.years div.datepicker-years { + display: block; +} +.datepicker table { + margin: 0; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.datepicker td, +.datepicker th { + text-align: center; + width: 20px; + height: 20px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + border: none; +} +.table-striped .datepicker table tr td, +.table-striped .datepicker table tr th { + background-color: transparent; +} +.datepicker table tr td.day:hover { + background: #eee; + cursor: pointer; +} +.datepicker table tr td.old, +.datepicker table tr td.new { + color: #414141; +} +.datepicker table tr td.disabled, +.datepicker table tr td.disabled:hover { + background: none; + color: #eeeeee; + cursor: default; +} +.datepicker table tr td.today, +.datepicker table tr td.today:hover, +.datepicker table tr td.today.disabled, +.datepicker table tr td.today.disabled:hover { + background: #20a8d8; + color: #000; +} +.datepicker table tr td.today:hover:hover { + color: #000; +} +.datepicker table tr td.today.active:hover { + color: #fff; +} +.datepicker table tr td.range, +.datepicker table tr td.range:hover, +.datepicker table tr td.range.disabled, +.datepicker table tr td.range.disabled:hover { + background: #eee; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} +.datepicker table tr td.range.today, +.datepicker table tr td.range.today:hover, +.datepicker table tr td.range.today.disabled, +.datepicker table tr td.range.today.disabled:hover { + background: #f3c17a; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} +.datepicker table tr td.selected, +.datepicker table tr td.selected:hover, +.datepicker table tr td.selected.disabled, +.datepicker table tr td.selected.disabled:hover { + background: #eeeeee; + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} +.datepicker table tr td.active, +.datepicker table tr td.active:hover, +.datepicker table tr td.active.disabled, +.datepicker table tr td.active.disabled:hover { + background: #20a8d8; + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} +.datepicker table tr td span { + display: block; + width: 23%; + height: 54px; + line-height: 54px; + float: left; + margin: 1%; + cursor: pointer; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +.datepicker table tr td span:hover { + background: #eee; +} +.datepicker table tr td span.disabled, +.datepicker table tr td span.disabled:hover { + background: none; + color: #eeeeee; + cursor: default; +} +.datepicker table tr td span.active, +.datepicker table tr td span.active:hover, +.datepicker table tr td span.active.disabled, +.datepicker table tr td span.active.disabled:hover { + background: #20a8d8; + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} +.datepicker table tr td span.old, +.datepicker table tr td span.new { + color: #eeeeee; +} +.datepicker th.datepicker-switch { + width: 145px; +} +.datepicker thead tr:first-child th, +.datepicker tfoot tr th { + cursor: pointer; +} +.datepicker thead tr:first-child th:hover, +.datepicker tfoot tr th:hover { + background: #eee; +} +.datepicker .cw { + font-size: 10px; + width: 12px; + padding: 0 2px 0 5px; + vertical-align: middle; +} +.datepicker thead tr:first-child th.cw { + cursor: default; + background-color: transparent; +} +.input-append.date .add-on i, +.input-prepend.date .add-on i { + display: block; + cursor: pointer; + width: 16px; + height: 16px; +} +.input-daterange input { + text-align: center; +} +.input-daterange input:first-child { + -webkit-border-radius: 3px 0 0 3px; + -moz-border-radius: 3px 0 0 3px; + border-radius: 3px 0 0 3px; +} +.input-daterange input:last-child { + -webkit-border-radius: 0 3px 3px 0; + -moz-border-radius: 0 3px 3px 0; + border-radius: 0 3px 3px 0; +} +.input-daterange .add-on { + display: inline-block; + width: auto; + min-width: 16px; + height: 18px; + padding: 4px 5px; + font-weight: normal; + line-height: 18px; + text-align: center; + text-shadow: 0 1px 0 white; + vertical-align: middle; + background-color: #eee; + border: 1px solid #ccc; + margin-left: -5px; + margin-right: -5px; +} +/* + * Timepicker Component for Twitter Bootstrap + * + * Copyright 2013 Joris de Wit + * + * Contributors https://github.com/jdewit/bootstrap-timepicker/graphs/contributors + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +.bootstrap-timepicker { + position: relative; +} +.bootstrap-timepicker.pull-right .bootstrap-timepicker-widget.dropdown-menu { + left: auto; + right: 0; +} +.bootstrap-timepicker.pull-right .bootstrap-timepicker-widget.dropdown-menu:before { + left: auto; + right: 12px; +} +.bootstrap-timepicker.pull-right .bootstrap-timepicker-widget.dropdown-menu:after { + left: auto; + right: 13px; +} +.bootstrap-timepicker .input-group-addon { + cursor: pointer; + -webkit-border-radius: 2px 0px 0px 2px !important; + border-radius: 2px 0px 0px 2px !important; + border-right: 0px; +} +.bootstrap-timepicker-widget.dropdown-menu { + padding: 2px 3px 2px 2px; + margin-left: 0px; +} +.bootstrap-timepicker-widget.dropdown-menu.open { + display: inline-block; +} +.bootstrap-timepicker-widget.dropdown-menu:before { + border-bottom: 7px solid rgba(0, 0, 0, 0.2); + border-left: 7px solid transparent; + border-right: 7px solid transparent; + content: ""; + display: inline-block; + left: 9px; + position: absolute; + top: -7px; +} +.bootstrap-timepicker-widget.dropdown-menu:after { + border-bottom: 6px solid #FFFFFF; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + content: ""; + display: inline-block; + left: 10px; + position: absolute; + top: -6px; +} +.bootstrap-timepicker-widget a.btn, +.bootstrap-timepicker-widget input { + border-radius: 4px; +} +.bootstrap-timepicker-widget table { + width: 100%; + margin: 0; +} +.bootstrap-timepicker-widget table td { + text-align: center; + height: 30px; + margin: 0; + padding: 2px; +} +.bootstrap-timepicker-widget table td:not(.separator) { + min-width: 30px; +} +.bootstrap-timepicker-widget table td span { + width: 100%; +} +.bootstrap-timepicker-widget table td a { + border: 1px transparent solid; + width: 100%; + display: inline-block; + margin: 0; + padding: 8px 0; + outline: 0; + color: #333; +} +.bootstrap-timepicker-widget table td a:hover { + text-decoration: none; + background-color: #eee; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + border-color: #ddd; +} +.bootstrap-timepicker-widget table td a i { + margin-top: 2px; +} +.bootstrap-timepicker-widget table td input { + width: 25px; + margin: 0; + text-align: center; + border: 1px solid #d4d4d4; +} +.bootstrap-timepicker-widget .modal-content { + padding: 4px; +} +@media (min-width: 767px) { + .bootstrap-timepicker-widget.modal { + width: 200px; + margin-left: -100px; + } +} +@media (max-width: 767px) { + .bootstrap-timepicker { + width: 100%; + } + .bootstrap-timepicker .dropdown-menu { + width: 100%; + } +} +/* + * Stylesheet for the Date Range Picker, for use with Bootstrap 3.x + * + * Copyright 2013 Dan Grossman ( http://www.dangrossman.info ) + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Built for http://www.improvely.com + */ +.daterangepicker.dropdown-menu { + max-width: none; + z-index: 3000; +} +.daterangepicker.opensleft .ranges, +.daterangepicker.opensleft .calendar { + float: left; + margin: 4px; +} +.daterangepicker.opensright .ranges, +.daterangepicker.opensright .calendar { + float: right; + margin: 4px; +} +.daterangepicker .ranges { + width: 160px; + text-align: left; +} +.daterangepicker .ranges .range_inputs > div { + float: left; +} +.daterangepicker .ranges .range_inputs > div:nth-child(2) { + padding-left: 11px; +} +.daterangepicker .calendar { + display: none; + max-width: 270px; +} +.daterangepicker .calendar th, +.daterangepicker .calendar td { + font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; + white-space: nowrap; + text-align: center; + min-width: 32px; +} +.daterangepicker .ranges label { + color: #333; + display: block; + font-size: 11px; + font-weight: normal; + height: 20px; + line-height: 20px; + margin-bottom: 2px; + text-shadow: #fff 1px 1px 0px; + text-transform: uppercase; + width: 74px; +} +.daterangepicker .ranges input { + font-size: 11px; +} +.daterangepicker .ranges .input-mini { + background-color: #eee; + border: 1px solid #ccc; + border-radius: 4px; + color: #555; + display: block; + font-size: 11px; + height: 30px; + line-height: 30px; + vertical-align: middle; + margin: 0 0 10px 0; + padding: 0 6px; + width: 74px; +} +.daterangepicker .ranges ul { + list-style: none; + margin: 0; + padding: 0; +} +.daterangepicker .ranges li { + font-size: 13px; + background: #f5f5f5; + border: 1px solid #f5f5f5; + color: #08c; + padding: 3px 12px; + margin-bottom: 8px; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + cursor: pointer; +} +.daterangepicker .ranges li.active, +.daterangepicker .ranges li:hover { + background: #08c; + border: 1px solid #08c; + color: #fff; +} +.daterangepicker .calendar-date { + border: 1px solid #ddd; + padding: 4px; + border-radius: 4px; + background: #fff; +} +.daterangepicker .calendar-time { + text-align: center; + margin: 8px auto 0 auto; + line-height: 30px; +} +.daterangepicker { + position: absolute; + background: #fff; + top: 100px; + left: 20px; + padding: 4px; + margin-top: 1px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +.daterangepicker.opensleft:before { + position: absolute; + top: -7px; + right: 9px; + display: inline-block; + border-right: 7px solid transparent; + border-bottom: 7px solid #ccc; + border-left: 7px solid transparent; + border-bottom-color: rgba(0, 0, 0, 0.2); + content: ''; +} +.daterangepicker.opensleft:after { + position: absolute; + top: -6px; + right: 10px; + display: inline-block; + border-right: 6px solid transparent; + border-bottom: 6px solid #fff; + border-left: 6px solid transparent; + content: ''; +} +.daterangepicker.opensright:before { + position: absolute; + top: -7px; + left: 9px; + display: inline-block; + border-right: 7px solid transparent; + border-bottom: 7px solid #ccc; + border-left: 7px solid transparent; + border-bottom-color: rgba(0, 0, 0, 0.2); + content: ''; +} +.daterangepicker.opensright:after { + position: absolute; + top: -6px; + left: 10px; + display: inline-block; + border-right: 6px solid transparent; + border-bottom: 6px solid #fff; + border-left: 6px solid transparent; + content: ''; +} +.daterangepicker table { + width: 100%; + margin: 0; +} +.daterangepicker td, +.daterangepicker th { + text-align: center; + width: 20px; + height: 20px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + cursor: pointer; + white-space: nowrap; +} +.daterangepicker td.off { + color: #999; +} +.daterangepicker td.disabled { + color: #999; +} +.daterangepicker td.available:hover, +.daterangepicker th.available:hover { + background: #eee; +} +.daterangepicker td.in-range { + background: #ebf4f8; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} +.daterangepicker td.active, +.daterangepicker td.active:hover { + background-color: #357ebd; + border-color: #3071a9; + color: #fff; +} +.daterangepicker td.week, +.daterangepicker th.week { + font-size: 80%; + color: #ccc; +} +.daterangepicker select.monthselect, +.daterangepicker select.yearselect { + font-size: 12px; + padding: 1px; + height: auto; + margin: 0; + cursor: default; +} +.daterangepicker select.monthselect { + margin-right: 2%; + width: 56%; +} +.daterangepicker select.yearselect { + width: 40%; +} +.daterangepicker select.hourselect, +.daterangepicker select.minuteselect, +.daterangepicker select.ampmselect { + width: 50px; + margin-bottom: 0; +} +/* + * Colorpicker for Bootstrap + * + * Copyright 2012 Stefan Petre + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + */ +.colorpicker-saturation { + width: 100px; + height: 100px; + background-image: url(../img/saturation.png); + cursor: crosshair; + float: left; +} +.colorpicker-saturation i { + display: block; + height: 5px; + width: 5px; + border: 1px solid #000; + -webkit-border-radius: 0px; + -moz-border-radius: 0px; + border-radius: 0px; + position: absolute; + top: 0; + left: 0; + margin: -4px 0 0 -4px; +} +.colorpicker-saturation i b { + display: block; + height: 5px; + width: 5px; + border: 1px solid #fff; + -webkit-border-radius: 0px; + -moz-border-radius: 0px; + border-radius: 0px; +} +.colorpicker-hue, +.colorpicker-alpha { + width: 15px; + height: 100px; + float: left; + cursor: row-resize; + margin-left: 4px; + margin-bottom: 4px; +} +.colorpicker-hue i, +.colorpicker-alpha i { + display: block; + height: 1px; + background: #000; + border-top: 1px solid #fff; + position: absolute; + top: 0; + left: 0; + width: 100%; + margin-top: -1px; +} +.colorpicker-hue { + background-image: url(../img/hue.png); +} +.colorpicker-alpha { + background-image: url(../img/alpha.png); + display: none; +} +.colorpicker { + *zoom: 1; + top: 0; + left: 0; + padding: 4px; + min-width: 120px; + margin-top: 1px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +.colorpicker:before, +.colorpicker:after { + display: table; + content: ""; + line-height: 0; +} +.colorpicker:after { + clear: both; +} +.colorpicker:before { + content: ''; + display: inline-block; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid #ccc; + border-bottom-color: rgba(0, 0, 0, 0.2); + position: absolute; + top: -7px; + left: 6px; +} +.colorpicker:after { + content: ''; + display: inline-block; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid white; + position: absolute; + top: -6px; + left: 7px; +} +.colorpicker div { + position: relative; +} +.colorpicker.alpha { + min-width: 140px; +} +.colorpicker.alpha .colorpicker-alpha { + display: block; +} +.colorpicker-color { + height: 10px; + margin-top: 5px; + clear: both; + background-image: url(../img/alpha.png); + background-position: 0 100%; +} +.colorpicker-color div { + height: 10px; +} +.input-append.color .add-on i, +.input-prepend.color .add-on i { + display: block; + cursor: pointer; + width: 16px; + height: 16px; +} +.input-group.color .input-group-addon i { + display: block; + cursor: pointer; + width: 13px; +} + diff --git a/src/main/resources/static/css/jquery.mmenu.css b/src/main/resources/static/css/jquery.mmenu.css new file mode 100644 index 0000000..c9483e7 --- /dev/null +++ b/src/main/resources/static/css/jquery.mmenu.css @@ -0,0 +1,321 @@ +/* + jQuery.mmenu CSS +*/ +/* + jQuery.mmenu panels CSS +*/ + +@media (max-width: 991px) { + .mm-menu.mm-horizontal > .mm-panel { + -webkit-transition: left 0.5s ease; + -moz-transition: left 0.5s ease; + -ms-transition: left 0.5s ease; + -o-transition: left 0.5s ease; + transition: left 0.5s ease; } + + .mm-wrapper { + overflow-x: hidden; + position: relative; } + + .mm-menu { + background: inherit; + display: block; + overflow: hidden; + width: 100%; + height: 100%; + padding: 0; + left: 0; + top: 0; + z-index: 0; } + .mm-menu > .mm-panel { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + -o-box-sizing: border-box; + box-sizing: border-box; + background: inherit; + -webkit-overflow-scrolling: touch; + overflow: scroll; + overflow-x: hidden; + overflow-y: auto; + width: 100%; + height: 100%; + left: 100%; + z-index: 0; } + .mm-menu > .mm-panel.mm-opened { + left: 0%; } + .mm-menu > .mm-panel.mm-subopened { + left: -40%; } + .mm-menu > .mm-panel.mm-highest { + z-index: 1; } + .mm-menu .mm-list { + padding: 20px 0; } + .mm-menu > .mm-list { + padding: 20px 0 40px 0; } + + .mm-panel > .mm-list { + margin-left: -20px; + margin-right: -20px; } + .mm-panel > .mm-list:first-child { + padding-top: 0; } + + .mm-list, + .mm-list > li { + list-style: none; + display: block; + padding: 0; + margin: 0; } + + .mm-list { + font: inherit; + font-size: 14px; } + .mm-list a, + .mm-list a:hover { + text-decoration: none; } + .mm-list > li { + position: relative; } + .mm-list > li > a, + .mm-list > li > span { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + color: inherit; + line-height: 20px; + display: block; + padding: 10px 10px 10px 20px; + margin: 0; } + .mm-list > li:not(.mm-subtitle):not(.mm-label):not(.mm-search):not(.mm-noresults):after { + content: ''; + border-bottom-width: 1px; + border-bottom-style: solid; + display: block; + width: 100%; + position: absolute; + bottom: 0; + left: 0; } + .mm-list > li:not(.mm-subtitle):not(.mm-label):not(.mm-search):not(.mm-noresults):after { + width: auto; + margin-left: 20px; + position: relative; + left: auto; } + .mm-list a.mm-subopen { + width: 40px; + height: 100%; + padding: 0; + position: absolute; + right: 0; + top: 0; + z-index: 2; } + .mm-list a.mm-subopen:before { + content: ''; + border-left-width: 1px; + border-left-style: solid; + display: block; + height: 100%; + position: absolute; + left: 0; + top: 0; } + .mm-list a.mm-subopen.mm-fullsubopen { + width: 100%; } + .mm-list a.mm-subopen.mm-fullsubopen:before { + border-left: none; } + .mm-list a.mm-subopen + a, + .mm-list a.mm-subopen + span { + padding-right: 5px; + margin-right: 40px; } + .mm-list > li.mm-selected > a.mm-subopen { + background: transparent; } + .mm-list > li.mm-selected > a.mm-fullsubopen + a, + .mm-list > li.mm-selected > a.mm-fullsubopen + span { + padding-right: 45px; + margin-right: 0; } + .mm-list a.mm-subclose { + text-indent: 20px; + padding-top: 30px; + margin-top: -20px; } + .mm-list > li.mm-label { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + font-size: 10px; + text-transform: uppercase; + text-indent: 20px; + line-height: 25px; + padding-right: 5px; } + .mm-list > li.mm-spacer { + padding-top: 40px; } + .mm-list > li.mm-spacer.mm-label { + padding-top: 25px; } + .mm-list a.mm-subopen:after, + .mm-list a.mm-subclose:before { + content: ''; + border: 2px solid transparent; + display: block; + width: 7px; + height: 7px; + margin-bottom: -5px; + position: absolute; + bottom: 50%; + -webkit-transform: rotate(-45deg); + -moz-transform: rotate(-45deg); + -ms-transform: rotate(-45deg); + -o-transform: rotate(-45deg); + transform: rotate(-45deg); } + .mm-list a.mm-subopen:after { + border-top: none; + border-left: none; + right: 18px; } + .mm-list a.mm-subclose:before { + border-right: none; + border-bottom: none; + margin-bottom: -15px; + left: 22px; } + + .mm-menu.mm-vertical .mm-list .mm-panel { + display: none; + padding: 10px 0 10px 10px; } + .mm-menu.mm-vertical .mm-list .mm-panel li:last-child:after { + border-color: transparent; } + .mm-menu.mm-vertical .mm-list li.mm-opened > .mm-panel { + display: block; } + .mm-menu.mm-vertical .mm-list > li.mm-opened > a.mm-subopen { + height: 40px; } + .mm-menu.mm-vertical .mm-list > li.mm-opened > a.mm-subopen:after { + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -ms-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); + top: 16px; + right: 16px; } + + html.mm-opened .mm-page { + box-shadow: 0 0 1px #fff !important; } + + .mm-ismenu { + background: #333333; + color: rgba(255, 255, 255, 0.6); } + + .mm-menu .mm-list > li:after { + border-color: rgba(0, 0, 0, 0.15); } + .mm-menu .mm-list > li > a.mm-subclose { + background: rgba(0, 0, 0, 0.1); + color: rgba(255, 255, 255, 0.3); } + .mm-menu .mm-list > li > a.mm-subopen:after, .mm-menu .mm-list > li > a.mm-subclose:before { + border-color: rgba(255, 255, 255, 0.3); } + .mm-menu .mm-list > li > a.mm-subopen:before { + border-color: rgba(0, 0, 0, 0.15); } + .mm-menu .mm-list > li.mm-selected > a:not(.mm-subopen), + .mm-menu .mm-list > li.mm-selected > span { + background: rgba(0, 0, 0, 0.1); } + .mm-menu .mm-list > li.mm-label { + background: rgba(255, 255, 255, 0.05); } + .mm-menu.mm-vertical .mm-list li.mm-opened > a.mm-subopen, + .mm-menu.mm-vertical .mm-list li.mm-opened > ul { + background: rgba(255, 255, 255, 0.05); } + + /* + jQuery.mmenu offcanvas addon CSS + */ + .mm-page, + .mm-fixed-top, + .mm-fixed-bottom, + .navbar, + .page-header, + footer { + -webkit-transition: none 0.5s ease; + -moz-transition: none 0.5s ease; + -ms-transition: none 0.5s ease; + -o-transition: none 0.5s ease; + transition: none 0.5s ease; + -webkit-transition-property: top, right, bottom, left, border; + -moz-transition-property: top, right, bottom, left, border; + -ms-transition-property: top, right, bottom, left, border; + -o-transition-property: top, right, bottom, left, border; + transition-property: top, right, bottom, left, border; } + + html.mm-opened .mm-page, + html.mm-opened #mm-blocker { + margin: 0; + top: 0; + right: 0; + bottom: 0; + left: 0; + border: none; } + + html.mm-opening .mm-page { + border: none; } + + .mm-fixed-top, + .mm-fixed-bottom { + position: fixed; + left: 0; } + + .mm-fixed-top { + top: 0; } + + .mm-fixed-bottom { + bottom: 0; } + + html.mm-opened { + overflow-x: hidden; + position: relative; } + + html.mm-opened .mm-page { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + -o-box-sizing: border-box; + box-sizing: border-box; + position: relative; } + + html.mm-background .mm-page { + background: inherit; } + + #mm-blocker { + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==) transparent; + display: none; + width: 100%; + height: 100%; + position: fixed; + z-index: 999999; } + + html.mm-opened #mm-blocker, + html.mm-blocking #mm-blocker { + display: block; } + + .mm-menu.mm-offcanvas { + display: none; + position: fixed; } + .mm-menu.mm-current { + display: block; } + + .mm-menu { + width: 250px; } + + html.mm-opening .mm-page, + html.mm-opening #mm-blocker, + html.mm-opening .page-header, + html.mm-opening footer { + left: 240px; } + + + html.mm-opening .page-header { + left: 240px; } + + html.mm-opening .page-header .pull-right { + display: none; + } + + html.mm-opening .mm-page, + html.mm-opening #mm-blocker, + html.mm-opening .navbar, + html.mm-opening .page-header, + html.mm-opening footer { + -webkit-transition: left 0.5s ease; + -moz-transition: left 0.5s ease; + -ms-transition: left 0.5s ease; + -o-transition: left 0.5s ease; + transition: left 0.5s ease;} + +} \ No newline at end of file diff --git a/src/main/resources/static/css/style.css b/src/main/resources/static/css/style.css new file mode 100644 index 0000000..0c96b01 --- /dev/null +++ b/src/main/resources/static/css/style.css @@ -0,0 +1,5265 @@ +html, +body { +background: #ecedf0; +width: 100%; +} +html { +font-size: 10px; +} +body { +font-family: "Open Sans", Arial, sans-serif; +font-size: 13px; +margin: 0; +padding: 0; +min-height: 100%; +position:relative; +direction: ltr; +color: #777; +overflow-x: hidden; +overflow-y: scroll; +} +a { +color: #cccccc; +} +a:hover, a:focus { +color: #d9d9d9; +} +a:active { +color: #bfbfbf; +} +h1 { +font-size: 32px; +font-weight: 300; +letter-spacing: 0; +} +h2 { +font-size: 28px; +font-weight: 300; +letter-spacing: 0; +} +h3 { +font-size: 24px; +font-weight: 300; +letter-spacing: 0; +} +h4 { +font-size: 20px; +font-weight: 300; +letter-spacing: 0; +} +h5 { +font-size: 16px; +font-weight: 300; +letter-spacing: 0; +} +h6 { +font-size: 12px; +font-weight: 300; +letter-spacing: 0; +} +ul, ol { +margin-top: 0; +margin-bottom: 0; +} +.main { +background:#ecedf0; +padding: 132px 19px 80px 260px; +} +.small, +small { +color: inherit; +} +.well { +border: 1px solid #d4d4d4; +-webkit-box-shadow: none; +-moz-box-shadow: none; +box-shadow: none; +background: #f5f5f5; +-webkit-border-radius: 2px; +-moz-border-radius: 2px; +border-radius: 2px; +} +pre { +display: block; +padding: 9.5px; +margin: 0 0 10px; +font-size: 13px; +line-height: 1.42857143; +word-break: break-all; +word-wrap: break-word; +color: #333; +background-color: #f8f8f8; +border: 1px solid #ccc; +border-radius: 0; +} +blockquote { +font-size: 14px; +border-left: 5px solid #eeeeee; +color: #d4d4d4; +} +blockquote.pull-right { +border-right: 5px solid #eeeeee; +} +.img-rounded { +-webkit-border-radius: 2px; +-moz-border-radius: 2px; +border-radius: 2px; +} +.pace { +-webkit-pointer-events: none; +pointer-events: none; +-webkit-user-select: none; +-moz-user-select: none; +user-select: none; +} +.pace-inactive { +display: none; +} +.pace .pace-progress { +background: #20a8d8; +position: fixed; +z-index: 2000; +top: 0; +left: 0; +height: 2px; +-webkit-transition: width 1s; +-moz-transition: width 1s; +-o-transition: width 1s; +transition: width 1s; +} +.pace .pace-progress-inner { +display: block; +position: absolute; +right: 0px; +width: 100px; +height: 100%; +box-shadow: 0 0 10px #20a8d8, 0 0 5px #20a8d8; +opacity: 1.0; +-webkit-transform: rotate(3deg) translate(0px, -4px); +-moz-transform: rotate(3deg) translate(0px, -4px); +-ms-transform: rotate(3deg) translate(0px, -4px); +-o-transform: rotate(3deg) translate(0px, -4px); +transform: rotate(3deg) translate(0px, -4px); +} +.pace .pace-activity { +display: block; +position: fixed; +z-index: 2000; +top: 72px; +right: 15px; +width: 14px; +height: 14px; +border: solid 2px transparent; +border-top-color: #20a8d8; +border-left-color: #20a8d8; +border-radius: 10px; +-webkit-animation: pace-spinner 400ms linear infinite; +-moz-animation: pace-spinner 400ms linear infinite; +-ms-animation: pace-spinner 400ms linear infinite; +-o-animation: pace-spinner 400ms linear infinite; +animation: pace-spinner 400ms linear infinite; +} +.divider { +height:1px; +margin:9px 0; +overflow:hidden; +background-color:#e5e5e5 +} +.divider2 { +background-image: -webkit-linear-gradient(left, transparent, #777, transparent); +background-image: -moz-linear-gradient(left, transparent, #777, transparent); +background-image: -ms-linear-gradient(left, transparent, #777, transparent); +background-image: -o-linear-gradient(left, transparent, #777, transparent); +height:1px; +margin:9px 0; +overflow:hidden; +} +.copyrights{text-indent:-9999px;height:0;line-height:0;font-size:0;overflow:hidden;} +@-webkit-keyframes pace-spinner { +0% { +-webkit-transform: rotate(0deg); +transform: rotate(0deg); +} +100% { +-webkit-transform: rotate(360deg); +transform: rotate(360deg); +} +} +@-moz-keyframes pace-spinner { +0% { +-moz-transform: rotate(0deg); +transform: rotate(0deg); +} +100% { +-moz-transform: rotate(360deg); +transform: rotate(360deg); +} +} +@-o-keyframes pace-spinner { +0% { +-o-transform: rotate(0deg); +transform: rotate(0deg); +} +100% { +-o-transform: rotate(360deg); +transform: rotate(360deg); +} +} +@-ms-keyframes pace-spinner { +0% { +-ms-transform: rotate(0deg); +transform: rotate(0deg); +} +100% { +-ms-transform: rotate(360deg); +transform: rotate(360deg); +} +} +@keyframes pace-spinner { +0% { +transform: rotate(0deg); +} +100% { +transform: rotate(360deg); +} +} +.clearfix { +*zoom: 1; +} +.clearfix:before, +.clearfix:after { +display: table; +content: ""; +line-height: 0; +} +.clearfix:after { +clear: both; +} +.list-style ul li { +list-style: none; +} + +.list-style ul li:before { +content: "o"; +font-size: 13px; +vertical-align: middle; +line-height: 29px; +color: #41d6ea; +padding-right: 7px; +} +/* Text +=================================================================== */ +.text-primary { +color: #34495E; +} +.text-success { +color: #5cb85c; +} +.text-info { +color: #5bc0de; +} +.text-warning { +color: #f0ad4e; +} +.text-danger { +color: #d9534f; +} +/* Social Bg-Colors +=================================================================== */ +.facebook-bg { +color: #fff; +background: #3b5998; +background-color : #3b5998; +} +.twitter-bg { +color: #fff; +background: #00aced; +background-color : #00aced; +} +.linkedin-bg { +color: #fff; +background: #4875b4; +background-color : #4875b4; +} +/* Margin +=================================================================== */ +.bk-margin-5 { +margin: 5px !important; +} +.bk-margin-10 { +margin: 10px !important; +} +.bk-margin-15 { +margin: 15px !important; +} +.bk-margin-left-10 { +margin-left: 10px !important; +} +.bk-margin-right-10 { +margin-right: 10px !important; +} +.bk-margin-bottom-10 { +margin-bottom: 10px !important; +} +.bk-margin-top-10 { +margin-top: 10px !important; +} +.bk-margin-left-15 { +margin-left: 15px !important; +} +.bk-margin-right-15 { +margin-right: 15px !important; +} +.bk-margin-bottom-15 { +margin-bottom: 15px !important; +} +.bk-margin-top-15 { +margin-top: 15px !important; +} +.bk-margin-off { +margin: 0 !important; +} +.bk-margin-off-top { +margin-top: 0 !important; +} +.bk-margin-off-bottom { +margin-bottom: 0 !important; +} +.bk-margin-off-left { +margin-left: 0 !important; +} +.bk-margin-off-right { +margin-right: 0 !important; +} +/* Padding +=================================================================== */ +.bk-padding-5 { +padding: 5px !important; +} +.bk-padding-10 { +padding: 10px !important; +} +.bk-padding-15 { +padding: 15px !important; +} +.bk-padding-20 { +padding: 20px !important; +} +.bk-padding-30 { +padding: 30px !important; +} +.bk-padding-40 { +padding: 40px !important; +} +.bk-padding-top-10 { +padding-top: 10px !important; +} +.bk-padding-left-10 { +padding-left: 10px !important; +} +.bk-padding-right-10 { +padding-right: 10px !important; +} +.bk-padding-bottom-10 { +padding-bottom: 10px !important; +} +.bk-padding-top-15 { +padding-top: 15px !important; +} +.bk-padding-left-15 { +padding-left: 15px !important; +} +.bk-padding-right-15 { +padding-right: 15px !important; +} +.bk-padding-bottom-15 { +padding-bottom: 15px !important; +} +.bk-padding-top-20 { +padding-top: 20px !important; +} +.bk-padding-left-20 { +padding-left: 20px !important; +} +.bk-padding-right-20 { +padding-right: 20px !important; +} +.bk-padding-bottom-20 { +padding-bottom: 20px !important; +} +.bk-padding-top-30 { +padding-top: 30px !important; +} +.bk-padding-left-30 { +padding-left: 30px !important; +} +.bk-padding-right-30 { +padding-right: 30px !important; +} +.bk-padding-bottom-30 { +padding-bottom: 30px !important; +} +.bk-padding-top-40 { +padding-top: 40px !important; +} +.bk-padding-left-40 { +padding-left: 40px !important; +} +.bk-padding-right-40 { +padding-right: 40px !important; +} +.bk-padding-bottom-40 { +padding-bottom: 40px !important; +} +.bk-padding-off { +padding: 0 !important; +} +.bk-padding-off-left { +padding-left: 0 !important; +} +.bk-padding-off-right { +padding-right: 0 !important; +} +.bk-padding-off-bottom { +padding-bottom: 0 !important; +} +.bk-padding-off-top { +padding-top: 0 !important; +} +/* Radius +=================================================================== */ +.bk-round { +border-radius: 50% !important; +} +.bk-radius { +border-radius: 4px; +} +.bk-noradius { +border-radius: 0 !important; +} +.bk-noradius .panel, +.bk-noradius .panel-body { +border-radius: 0 !important; +} +.bk-radius-top { +border-top-right-radius: 4px; +border-top-left-radius: 4px; +} +.bk-radius-bottom { +border-bottom-right-radius: 4px; +border-bottom-left-radius: 4px; +} +.bk-radius-right { +border-top-right-radius: 4px; +border-bottom-right-radius: 4px; +} +.bk-radius-left { +border-bottom-left-radius: 4px; +border-top-left-radius: 4px; +} +/* Point +=================================================================== */ +.point { +display: inline-block; +width: 5px; +height: 5px; +border-radius: 500px; +margin: 0 .5em; +background-color: #ddd; +vertical-align: baseline; +} +.point.text-left { +margin-left: 0; +} +.point.text-right { +margin-right: 0; +} +.point-primary { +background-color: #3498db; +} +.point-success { +background-color: #27ae60; +} +.point-info { +background-color: #00afd1; +} +.point-warning { +background-color: #ffc61d; +} +.point-danger { +background-color: #f6504d; +} +.point-green { +background-color: #01b6ad; +} +.point-pink { +background-color: #ff3366; +} +.point-inverse { +background-color: #2d2d2d; +} +.point-purple { +background-color: #9b59b6; +} +.point-sm { +width: 3px; +height: 3px; +} +.point-lg { +width: 8px; +height: 8px; +} +.point-xl { +width: 16px; +height: 16px; +} +.point-outline { +background-color: transparent; +} +.point-outline.point-primary { +border: 1px solid #3498db; +} +.point-outline.point-success { +border: 1px solid #27ae60; +} +.point-outline.point-info { +border: 1px solid #00afd1; +} +.point-outline.point-warning { +border: 1px solid #ffc61d; +} +.point-outline.point-danger { +border: 1px solid #f6504d; +} +/* Header Section +=================================================================== */ +/* Userbox */ +.userbox { +display: inline-block; +margin: -3px 17px 0 0; +position: relative; +vertical-align: middle; +} +.userbox > a { +display: inline-block; +text-decoration: none; +} +.userbox a:hover { +text-decoration: none; +} +.userbox .profile-info, +.userbox .profile-picture { +display: inline-block; +vertical-align: middle; +} +.userbox .profile-picture img { +width: 35px; +color: transparent; +} +.userbox .profile-info { +margin: 0 25px 0 10px; +} +.userbox .name, +.userbox .role { +display: block; +} +.userbox .name { +color: #C8C8C8; +font-size: 13px; +font-size: 1.3rem; +line-height: 1.2em; +} +.userbox .role { +color: #ACACAC; +font-size: 11px; +font-size: 1.1rem; +line-height: 1.2em; +} +.userbox .custom-caret { +color: #000011; +font-size: 16px; +font-weight: bold; +} +.userbox .custom-caret:before { +content: "\f107"; +} +/* Userbox - Open */ +.userbox.open > a { +position: relative; +z-index: 993; +} +.userbox.open > a .custom-caret:before { +content: "\f106"; +} +.userbox.open .dropdown-menu { +border: 1px solid rgba(0, 0, 0, 0.2); +-webkit-box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.2); +-moz-box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.2); +box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.2); +-webkit-box-sizing: content-box; +-moz-box-sizing: content-box; +box-sizing: content-box; +left: -11px; +padding: 45px 10px 0; +top: -10px; +width: 100%; +z-index: 992; +} +.userbox.open .dropdown-menu li { +margin-bottom: 5px; +} +.userbox.open .dropdown-menu a { +border-radius: 2px; +color: #7d7d7d; +display: block; +font-size: 12px; +font-size: 1.2rem; +line-height: 15px; +line-height: 1.5rem; +padding: 5px 10px; +} +.userbox.open .dropdown-menu a:hover { +background: none; +color: #435D78; +} +.userbox.open .dropdown-menu i { +font-size: 17px; +font-size: 1.7rem; +margin-right: 3px; +vertical-align: middle; +width: 20px; +} +/* Userbox - Mobile */ +@media only screen and (max-width: 767px) { +.userbox { + float: left; + margin: 0 0 0 12px; + position: relative; +} +.userbox:after { + background: #E9E9E6; + content: ''; + height: 63px; + margin: 0; + position: absolute; + right: -21px; + top: -18px; + width: 1px; +} +.userbox .profile-picture { + display: none; +} +.userbox.open .dropdown-menu { + left: -5px; + padding: 43px 0 0 0; +} +} +/* Navbar Notifications */ +.navbar { +margin: 0; +padding: 0 10px 0 240px; +height: 62px; +border: none; +-webkit-border-radius: 0px; +-moz-border-radius: 0px; +border-radius: 0px; +color: #fff; +line-height: 62px; +background: #111 !important; +position: fixed; +width: 100%; +z-index: 11; +backface-visibility: hidden; +transform-style: preserve-3d; +} +.navbar .container-nav{ +height: 62px; +} +.navbar .navbar-actions { +font-size: 20px; +} +.navbar .navbar-actions a { +color: #c8c8c8; +border-left: none; +} +.navbar .navbar-actions a i { +border: none !important; +width: 40px; +margin-left: 10px; +} +@media only screen and (max-width: 767px) { +.navbar .navbar-actions a i { +margin-left: 10px; +} +} +.navbar .search { +width: 240px; +display: inline-block; +vertical-align: middle; +} +.navbar .navbar-form { +margin: 0; +} +.navbar .navbar-form i { +margin: 3px 0 0 0; +width: 32px; +text-align: center; +color: #c8c8c8; +font-size: 16px; +opacity: 0.5; +} +.navbar .navbar-form button[type=submit] { +border: none; +margin-left: -50px; +margin-top: -9px; +font-size: 18px; +background: transparent; +color: #c8c8c8; +} +.navbar .navbar-form input[type=text] { +border: 1px solid #222; +margin-top: -7px; +margin-left: 0; +padding-left: 10px; +background: #222; +width: 200px; +color: #c8c8c8; +-webkit-box-shadow: none; +-moz-box-shadow: none; +box-shadow: none; +} +.navbar .navbar-nav li a { +padding: 0 0 0 10px; +height: 62px; +line-height: 62px; +position: relative; +} +.navbar .navbar-nav li a:hover { +background: none; +} +.notifications { +display: inline-block; +list-style: none; +margin: -13px 17px 0 0; +padding: 0 8px; +vertical-align: middle; +height: 62px; +} +.notifications > li { +float: left; +margin: 20px 10px 0 0; +position: relative; +} +.notifications > li .notification-icon { +background: #FFF; +border-radius: 50%; +box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.3); +display: inline-block; +height: 30px; +position: relative; +width: 30px; +text-align: center; +margin: 0 5px; +} +.notifications > li .notification-icon i { +color: #777; +line-height: 30px; +vertical-align: middle; +margin-bottom: 35px; +} +.notifications > li .notification-icon i.fa-tasks { +line-height: 32px; +} +.notifications > li .notification-icon .badge { +background: #D2312D; +color: #FFF; +font-size: 10px; +font-weight: normal; +height: 16px; +padding: 3px 5px 3px 5px; +position: absolute; +right: -8px; +top: -3px; +} +.notifications > li > a { +border: none; +display: inline-block; +} +/* notification menu - pin */ +.notifications .notification-icon:before { +border-bottom: 6px solid #cccccc; +border-left: 6px solid transparent; +border-right: 6px solid transparent; +content: ''; +height: 0; +margin-right: -3px; +width: 0; +position: absolute; +pointer-events: none; +} +.notifications .notification-icon:before { +display: none; +right: 11px; +top: 35px; +z-index: 9999; +} +.navbar .notifications li a img { +width: 40px; +-webkit-border-radius: 0; +-moz-border-radius: 0; +border-radius: 0; +margin: 0 10px 0 0; +} +.navbar .notifications li a { +color: #c8c8c8; +} +.navbar .notifications li a:hover { +color: #435D78; +background: #ffffff; +} +.navbar .notifications li a .badge { +background: #d9534f; +color: #FFF; +font-size: 10px; +font-weight: normal; +height: 16px; +padding: 3px 5px 3px 5px; +position: absolute; +right: -10px; +top: -3px; +} +.navbar .notifications .list-item-last a .badge { +background: #435D78; +color: #FFF; +font-size: 10px; +font-weight: normal; +height: 16px; +padding: 3px 5px 3px 5px; +position: absolute; +right: 10px; +top: 5px; +} +.navbar .notifications li .dropdown-menu { +margin-top: -20px; +right: -10px; +min-width: auto; +border: 1px solid rgba(0, 0, 0, 0.2); +-webkit-border-radius: 0px; +-moz-border-radius: 0px; +border-radius: 0px; +-webkit-box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.2); +-moz-box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.2); +box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.2); +padding: 0; +font-size: 13px; +z-index: 992; +} +.navbar .notifications li .dropdown-menu:after { +position: absolute; +top: -7px; +right: 16px; +display: inline-block; +border-right: 8px solid transparent; +border-bottom: 8px solid #ffffff; +border-left: 8px solid transparent; +content: ''; +} +.navbar .notifications li .dropdown-menu:before { +position: absolute; +top: -9.5px; +right: 16px; +display: inline-block; +border-right: 8px solid transparent; +border-bottom: 8px solid rgba(0, 0, 0, 0.2); +border-left: 8px solid transparent; +content: ''; +} +.navbar .notifications li .update-menu { +min-width: 150px; +} +.navbar .notifications li .dropdown-menu li { +padding: 0; +position: relative; +min-width: 200px; +border: none; +line-height: 30px; +padding: 0 15px; +} +.navbar .notifications li .dropdown-menu li .notification { +min-width: 280px; +} +.navbar .notifications li .dropdown-menu li i { +font-size: 13px; +margin-left: 5px; +color: #333; +width: 20px; +margin-right: 3px; +} +.navbar .notifications li .dropdown-menu li:last-child { +border: none; +} +.navbar .notifications li .dropdown-menu li.dropdown-menu-header, +.navbar .notifications li .dropdown-menu li.dropdown-menu-footer { +background: white; +border: none; +} +.navbar .notifications li .dropdown-menu li.dropdown-menu-header:after { +position: absolute; +content: ''; +width: 100%; +left: -1px; +bottom: -2px; +border-bottom: none; +-webkit-box-sizing: content-box; +-moz-box-sizing: content-box; +box-sizing: content-box; +padding: 0 1px; +} +.navbar .notifications li .dropdown-menu li.dropdown-menu-header { +margin-bottom: 0; +height: 50px; +} +.navbar .notifications li .dropdown-menu li.divider { +height: 5px; +margin: 0; +background-color: #f5f5f5; +} +.navbar .notifications li .dropdown-menu li a { +-webkit-border-radius: 0px; +-moz-border-radius: 0px; +border-radius: 0px; +line-height: 30px; +height: 30px; +margin: 0 -15px; +padding: 0 15px; +border-left: 0 !important; +background-color: white !important; +color: #333; +} +.navbar .notifications li .dropdown-menu li a:hover { +color: #435D78; +} +.navbar .notifications li .dropdown-menu li.list-item { +min-width: 250px; +height: 60px; +padding: 0px 15px; +} +.navbar .notifications li .dropdown-menu li.list-item a { +line-height: 60px; +height: 60px; +padding: 0px 15px; +} +.navbar .notifications li .dropdown-menu li.list-item a .label { +top: 20px; +} +.navbar .notifications li .dropdown-menu li.list-item-last a h6 { +margin-top: 0; +padding-top: 5px; +} +.navbar .notifications li .dropdown-menu li a img.avatar { +height: 40px; +-webkit-border-radius: 50em; +-moz-border-radius: 50em; +border-radius: 50em; +border: 1px solid #d4d4d4; +margin: 0px 10px 0 -5px; +float: left; +} +.navbar .notifications li .dropdown-menu li a div { +font-size: 14px; +line-height: 25px; +font-weight: 300; +} +.navbar .notifications li .dropdown-menu li a .pull-left { +margin-right: 10px; +} +.navbar .notifications li .dropdown-menu li a .media-body { +border-bottom: 1px solid #eeeeee; +} +.navbar .notifications li .dropdown-menu li a small { +color: #ACACAC; +display: block; +line-height: 12px; +font-size: 10px; +margin-top: -3px; +font-style: italic; +} +.navbar .notifications li .dropdown-menu li.avatar { +min-width: 250px; +height: 50px; +padding: 0px 15px; +border-bottom: 1px solid #eeeeee; +} +.navbar .notifications li .dropdown-menu li.avatar a { +line-height: 50px; +height: 50px; +padding: 0px 15px; +} +/* Page Header +=================================================================== */ +.page-header { +background: #2D3F51; +box-shadow: 1px 3px 0 1px #cccccc; +height: 50px; +padding: 0; +z-index: 10; +left: 240px; +margin: 0; +position: fixed; +right: 0; +top: 59px; +backface-visibility: hidden; +transform-style: preserve-3d; +} +.page-header .breadcrumb { +width: 100%; +padding: 17px 15px; +margin-bottom: 5px; +list-style: none; +background-color: transparent; +border-radius: 0; +font-size: 14px; +font-weight: 400; +} +.page-header .breadcrumb > .active { +color: #c3c3c3; +} +.page-header .breadcrumb li a { +text-decoration: none; +color: #c3c3c3; +} +.page-header .breadcrumb li i { +margin-right: 5px; +font-size: 18px; +} +.page-header h2 { +color: #FFF; +border-bottom: 4px solid #435D78; +-webkit-box-sizing: content-box; +-moz-box-sizing: content-box; +box-sizing: content-box; +display: inline-block; +float: left; +height: 50px; +font-size: 20px; +font-size: 2rem; +letter-spacing: normal; +line-height: 50px; +margin: 0 0 0 -1px; +padding: 0 22px 0 20px; +text-transform: uppercase; +} +.page-header .breadcrumbs { +display: inline-block; +font-size: 0; +line-height: 50px; +margin: 0 0 0 -1px; +padding: 0 22px 0 20px; +} +.page-header .breadcrumbs li { +color: #c3c3c3; +display: inline-block; +font-weight: 300; +} +.page-header .breadcrumbs a, .page-header .breadcrumbs span { +color: #c3c3c3; +display: inline-block; +font-size: 14px; +font-size: 1.4rem; +line-height: 20px; +vertical-align: middle; +} +/* Sidebar +=================================================================== */ +.sidebar { +background: #34495E; +color: #cccccc; +position: fixed; +top: 0; +left: 0; +height: 100%; +width: 240px; +z-index: 12; +overflow: hidden; +border-right: 1px solid #CCC; +backface-visibility: hidden; +transform-style: preserve-3d; +} +.sidebar a { +color: #fff; +} +.sidebar .sidebar-header { +padding: 10px 35px; +height: 62px; +line-height: 62px; +text-align: center; +position: relative; +background: #111 !important; +} +.sidebar .sidebar-header img { +width: 170px; +text-align: center; +margin: 0 1px 20px 0; +} +/*Navigation Sidebar Menu*/ +.sidebar .sidebar-menu { +overflow-x: hidden; +overflow-y: scroll; +width: 270px; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { +background-color: transparent; +border-color: #34495E; +} +.nav > li > a:hover, +.nav > li > a:focus { +text-decoration: none; +background-color: transparent; +} +.sidebar ul.nav.nav-sidebar { +margin: 0; +width: 240px; +padding: 23px 0; +} +.sidebar ul.nav.nav-sidebar li { +margin: 5px 0; +border-top: 1px solid transparent; +border-bottom: 1px solid transparent; +position: relative; +} +.sidebar ul.nav.nav-sidebar li:hover { +background: none; +color: #fff; +} +.sidebar ul.nav.nav-sidebar li.active, +.sidebar ul.nav.nav-sidebar ul.active a, +.sidebar ul.nav.nav-sidebar li.active a, +.sidebar ul.nav.nav-sidebar ul.opened { +background: none; +color: #fff; +} +.sidebar ul.nav.nav-sidebar li.active:hover, +.sidebar ul.nav.nav-sidebar ul.active a:hover, +.sidebar ul.nav.nav-sidebar li.active a:hover, +.sidebar ul.nav.nav-sidebar ul.opened:hover{ +color: #fff !important; +} +.sidebar ul.nav.nav-sidebar li a { +line-height: 13px; +font-size: 13px; +font-weight: 400; +border: 1px solid transparent; +-webkit-border-radius: 0; +-moz-border-radius: 0; +border-radius: 0; +} +.sidebar ul.nav.nav-sidebar li a.active { +background: none; +color: #fff; +} +.sidebar ul.nav.nav-sidebar li a:hover { +border-top-color: #435D78; +border-bottom-color: #435D78; +color: #fff; +} +.sidebar ul.nav.nav-sidebar > li > a { +padding: 10px 25px; +} +.sidebar ul.nav.nav-sidebar > li > a:hover, ul.nav-sidebar > li > a:focus { +background-color: #none; +} +.sidebar ul.nav.nav-sidebar > li.active > a { +box-shadow: 3px 0 0 #435D78 inset; +} +.sidebar ul.nav.nav-sidebar > li.active > a:hover { +color: #abb4be; +} +.sidebar ul.nav.nav-sidebar > li.active > i { +color: #cccccc; +} +.sidebar ul.nav.nav-sidebar > li.nav-expanded > a { +background: #2D3F51; +} +.sidebar ul.nav.nav-sidebar li a { +font-size: 13px; +font-size: 1.3rem; +white-space: nowrap; +text-overflow: ellipsis; +} +.sidebar ul.nav.nav-sidebar li span { +vertical-align: middle; +} +.sidebar ul.nav.nav-sidebar li.text:hover { +color: #435D78; +} +.sidebar ul.nav.nav-sidebar li i { +font-size: 18px; +font-size: 1.8rem; +width: 1.1em; +margin-right: 0.5em; +text-align: center; +vertical-align: middle; +} +.sidebar ul.nav.nav-sidebar li.nav-parent { +position: relative; +} +.sidebar ul.nav.nav-sidebar li.nav-parent > a { +cursor: pointer; +} +.sidebar ul.nav.nav-sidebar li.nav-parent > a:after { +font-family: 'FontAwesome'; +content: '\f107'; +font-size: 16px; +font-size: 1.6rem; +position: absolute; +right: 0; +top: 0; +padding: 14px 25px; +} +.sidebar ul.nav.nav-sidebar li.nav-parent.nav-expanded > a:after { +content: '\f106'; +} +.sidebar ul.nav.nav-sidebar li.nav-parent.nav-expanded ul.nav-children { +display: block; +} +.sidebar ul.nav.nav-sidebar li .nav-children { +background: #191c21; +box-shadow: 0px -3px 3px -3px rgba(0, 0, 0, 0.7) inset; +display: none; +padding: 10px 0; +} +.sidebar ul.nav.nav-sidebar li .nav-children li a { +padding: 9px 15px 9px 70px; +} +.sidebar ul.nav.nav-sidebar li .nav-children li a:hover, +.sidebar ul.nav.nav-sidebar li .nav-children li a:focus { +background: #191c21; +} +.sidebar ul.nav.nav-sidebar li .nav-children li.active > a { +color: #435D78; +} +.sidebar ul.nav.nav-sidebar li ul { +display: none; +background: #34495E; +list-style: none; +padding: 5px 0; +} +.sidebar ul.nav.nav-sidebar li ul li { +margin: 5px 0; +} +.sidebar ul.nav.nav-sidebar li ul li ul li a { +padding-left: 55px; +} +/*sidebar footer*/ +.sidebar .sidebar-footer { +color: white; +position: fixed; +bottom: 0; +left: 0; +width: 240px; +padding: 10px 20px 10px 20px; +background: #2D3F51; +height: 140px; +border-right: 1px solid #eef0f4; +} +.sidebar .sidebar-footer.drop-shadow { +-webkit-box-shadow: 0 -3px 1px -1px rgba(0, 0, 0, 0.05); +-moz-box-shadow: 0 -3px 1px -1px rgba(0, 0, 0, 0.05); +box-shadow: 0 -3px 1px -1px rgba(0, 0, 0, 0.05); +} +.sidebar .sidebar-footer a { +color: #fff; +text-decoration: none; +} +.sidebar .sidebar-footer ul.sidebar-terms { +margin: 35px 0 20px 0; +padding: 0; +} +.sidebar .sidebar-footer ul.sidebar-terms li { +display: inline-block; +width: 25%; +margin: 0 -2px; +padding: 0; +text-align: center; +font-size: 12px; +} +.sidebar .sidebar-footer ul.sidebar-terms li a:hover { +text-decoration: underline; +} +/*Sidebar Minified*/ +.sidebar #main-menu-min { +display: block; +position: relative; +color: #5a5a5a; +font-size: 14px; +line-height: 26px; +width: 30px; +height: 30px; +margin: 20px auto; +z-index: 2; +border: 1px solid #5a5a5a; +-webkit-border-radius: 50em; +-moz-border-radius: 50em; +border-radius: 50em; +text-align: center; +} +body.sidebar-minified .navbar { +padding: 0 0 0 60px; +} +body.sidebar-minified .navbar .navbar-actions { +margin-left: -15px; +} +body.sidebar-minified .main { +width: 100%; +padding-left: 90px; +} +body.sidebar-minified footer { +padding: 0 20px 0 80px; +} +body.sidebar-minified #usage { +padding: 0 0 0 60px; +} +body.sidebar-minified .sidebar { +width: 65px; +overflow: visible; +} +body.sidebar-minified .sidebar .sidebar-header h2, +body.sidebar-minified .sidebar .sidebar-header h3 { +display: none; +} +body.sidebar-minified .sidebar .sidebar-header .user-menu #sidebar-minify { +position: fixed; +bottom: 0 !important; +left: 0; +display: visible; +width: 60px; +text-align: center; +} +body.sidebar-minified .sidebar .sidebar-menu { +overflow: visible; +width: auto; +} +body.sidebar-minified .sidebar ul.nav.nav-sidebar { +width: auto; +} +body.sidebar-minified .sidebar ul.nav.nav-sidebar span.fa-plus { +display: none; +} +body.sidebar-minified .sidebar ul.nav.nav-sidebar > li { +position: relative; +} +body.sidebar-minified .sidebar ul.nav.nav-sidebar > li > a { +width: 60px; +position: relative; +padding: 0; +line-height: 40px; +text-align: center; +} +body.sidebar-minified .sidebar ul.nav.nav-sidebar > li > a.open { +cursor: default; +} +body.sidebar-minified .sidebar ul.nav.nav-sidebar > li > a .text { +position: absolute; +z-index: 1000; +background: #343434; +min-height: 40px; +width: 200px; +padding-left: 15px; +top: 0px; +left: 60px; +display: none !important; +text-align: left; +} +body.sidebar-minified .sidebar ul.nav.nav-sidebar > li > ul { +display: none !important; +} +body.sidebar-minified .sidebar ul.nav.nav-sidebar > li:hover > a { +position: relative; +cursor: pointer; +} +body.sidebar-minified .sidebar ul.nav.nav-sidebar > li:hover > a .text { +width: 200px; +display: block !important; +margin-top: -2px; +margin-left: -23px; +border: 1px solid #4a4a4a; +background: #232323; +border-left: 0; +height: 44px; +} +body.sidebar-minified .sidebar ul.nav.nav-sidebar > li:hover > ul { +display: block !important; +position: absolute; +top: 42px; +left: 38px; +z-index: 1000; +width: 200px; +border: 1px solid #4a4a4a; +border-top: 0; +background: #414141; +padding: 0; +margin: 0; +-webkit-box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.25); +-moz-box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.25); +box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.25); +} +body.sidebar-minified .sidebar ul.nav.nav-sidebar > li:hover > ul > li { +padding: 0; +} +body.sidebar-minified .sidebar ul.nav.nav-sidebar > li:hover > ul > li > a { +display: block; +width: 100%; +line-height: 40px; +} +body.sidebar-minified .sidebar .sidebar-footer { +display: none; +} +body.sidebar-hide .navbar { +padding: 0; +} +body.sidebar-hide .navbar .navbar-actions { +margin-left: -5px; +} +body.sidebar-hide .page-header { +display: none; +} +body.sidebar-hide .main { +width: 100%; +padding: 90px 30px 40px 30px; +margin: 0; +} +body.sidebar-hide footer { +padding: 0 20px; +} +body.sidebar-hide #usage { +padding: 0; +} +body.sidebar-hide .sidebar { +display: none !important; +} +/* Buttons +=================================================================== */ +.btn { +-webkit-border-radius: 0; +-moz-border-radius: 0; +border-radius: 0; +text-shadow: none; +color: #484848; +} +.btn:focus, +.btn:active:focus, +.btn.active:focus { +outline: none; +} +.btn { +white-space: normal; +} +.btn i { +margin-top: 2px; +} +.btn-default { +color: #333; +background-color: #fff; +border-color: #ccc; +} +.btn-default:hover, +.btn-default:focus, +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { +color: #333; +background-color: transparent; +border-color: #e3e6f3; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { +background-image: transparent; +} +.btn-default.disabled, +.btn-default[disabled], +fieldset[disabled] .btn-default, +.btn-default.disabled:hover, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default:hover, +.btn-default.disabled:focus, +.btn-default[disabled]:focus, +fieldset[disabled] .btn-default:focus, +.btn-default.disabled:active, +.btn-default[disabled]:active, +fieldset[disabled] .btn-default:active, +.btn-default.disabled.active, +.btn-default[disabled].active, +fieldset[disabled] .btn-default.active { +background-color: #fff; +border-color: #ccc; +} +.btn-default .badge { +color: #fff; +background-color: #333; +} +.btn-primary { +color: #fff; +background-color: #34495E; +border-color: #435D78; +} +.btn-primary:hover, +.btn-primary:focus, +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { +color: #fff; +background-color: #435D78; +border-color: #285e8e; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { +background-image: none; +} +.btn-primary.disabled, +.btn-primary[disabled], +fieldset[disabled] .btn-primary, +.btn-primary.disabled:hover, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary:hover, +.btn-primary.disabled:focus, +.btn-primary[disabled]:focus, +fieldset[disabled] .btn-primary:focus, +.btn-primary.disabled:active, +.btn-primary[disabled]:active, +fieldset[disabled] .btn-primary:active, +.btn-primary.disabled.active, +.btn-primary[disabled].active, +fieldset[disabled] .btn-primary.active { +background-color: #34495E; +border-color: #435D78; +} +.btn-primary .badge { +color: #34495E; +background-color: #fff; +} +.btn-success { +color: #fff; +background-color: #5cb85c; +border-color: #4cae4c; +} +.btn-success:hover, +.btn-success:focus, +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { +color: #fff; +background-color: #449d44; +border-color: #398439; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { +background-image: none; +} +.btn-success.disabled, +.btn-success[disabled], +fieldset[disabled] .btn-success, +.btn-success.disabled:hover, +.btn-success[disabled]:hover, +fieldset[disabled] .btn-success:hover, +.btn-success.disabled:focus, +.btn-success[disabled]:focus, +fieldset[disabled] .btn-success:focus, +.btn-success.disabled:active, +.btn-success[disabled]:active, +fieldset[disabled] .btn-success:active, +.btn-success.disabled.active, +.btn-success[disabled].active, +fieldset[disabled] .btn-success.active { +background-color: #5cb85c; +border-color: #4cae4c; +} +.btn-success .badge { +color: #5cb85c; +background-color: #fff; +} +.btn-info { +color: #fff; +background-color: #5bc0de; +border-color: #46b8da; +} +.btn-info:hover, +.btn-info:focus, +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { +color: #fff; +background-color: #31b0d5; +border-color: #269abc; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { +background-image: none; +} +.btn-info.disabled, +.btn-info[disabled], +fieldset[disabled] .btn-info, +.btn-info.disabled:hover, +.btn-info[disabled]:hover, +fieldset[disabled] .btn-info:hover, +.btn-info.disabled:focus, +.btn-info[disabled]:focus, +fieldset[disabled] .btn-info:focus, +.btn-info.disabled:active, +.btn-info[disabled]:active, +fieldset[disabled] .btn-info:active, +.btn-info.disabled.active, +.btn-info[disabled].active, +fieldset[disabled] .btn-info.active { +background-color: #5bc0de; +border-color: #46b8da; +} +.btn-info .badge { +color: #5bc0de; +background-color: #fff; +} +.btn-warning { +color: #fff; +background-color: #f0ad4e; +border-color: #eea236; +} +.btn-warning:hover, +.btn-warning:focus, +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { +color: #fff; +background-color: #ec971f; +border-color: #d58512; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { +background-image: none; +} +.btn-warning.disabled, +.btn-warning[disabled], +fieldset[disabled] .btn-warning, +.btn-warning.disabled:hover, +.btn-warning[disabled]:hover, +fieldset[disabled] .btn-warning:hover, +.btn-warning.disabled:focus, +.btn-warning[disabled]:focus, +fieldset[disabled] .btn-warning:focus, +.btn-warning.disabled:active, +.btn-warning[disabled]:active, +fieldset[disabled] .btn-warning:active, +.btn-warning.disabled.active, +.btn-warning[disabled].active, +fieldset[disabled] .btn-warning.active { +background-color: #f0ad4e; +border-color: #eea236; +} +.btn-warning .badge { +color: #f0ad4e; +background-color: #fff; +} +.btn-danger { +color: #fff; +background-color: #d9534f; +border-color: #d43f3a; +} +.btn-danger:hover, +.btn-danger:focus, +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { +color: #fff; +background-color: #c9302c; +border-color: #ac2925; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { +background-image: none; +} +.btn-danger.disabled, +.btn-danger[disabled], +fieldset[disabled] .btn-danger, +.btn-danger.disabled:hover, +.btn-danger[disabled]:hover, +fieldset[disabled] .btn-danger:hover, +.btn-danger.disabled:focus, +.btn-danger[disabled]:focus, +fieldset[disabled] .btn-danger:focus, +.btn-danger.disabled:active, +.btn-danger[disabled]:active, +fieldset[disabled] .btn-danger:active, +.btn-danger.disabled.active, +.btn-danger[disabled].active, +fieldset[disabled] .btn-danger.active { +background-color: #d9534f; +border-color: #d43f3a; +} +.btn-danger .badge { +color: #d9534f; +background-color: #fff; +} +.btn-link { +font-weight: normal; +color: #34495E; +cursor: pointer; +border-radius: 0; +} +.btn-link, +.btn-link:active, +.btn-link[disabled], +fieldset[disabled] .btn-link { +background-color: transparent; +-webkit-box-shadow: none; + box-shadow: none; +} +.btn-link, +.btn-link:hover, +.btn-link:focus, +.btn-link:active { +border-color: transparent; +} +.btn-link:hover, +.btn-link:focus { +color: #2a6496; +text-decoration: underline; +background-color: transparent; +} +.btn-link[disabled]:hover, +fieldset[disabled] .btn-link:hover, +.btn-link[disabled]:focus, +fieldset[disabled] .btn-link:focus { +color: #777; +text-decoration: none; +} +.btn-inverse { +color: white; +background: #444444; +border: 1px solid #444444; +} +.btn-inverse:hover, +.btn-inverse.disabled, +.btn-inverse[disabled] { +background-color: #2b2b2b; +border-color: #2b2b2b; +color: white; +} +.btn-inverse:active, +.btn-inverse.active { +background-color: #252525; +border-color: #252525; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group, +.btn-group-vertical > .btn-group > .btn { +display: block; +float: none; +width: 100%; +max-width: 100%; +} +.btn-group-vertical > .btn-group > .btn { +float: none; +} +.btn-group-vertical > .btn + .btn, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .btn-group { +margin-top: -1px; +margin-left: 0; +} +.btn-group-vertical > .btn:not(:first-child):not(:last-child) { +border-radius: 0; +} +.btn-group-vertical > .btn:first-child:not(:last-child) { +border-top-right-radius: 0; +border-bottom-right-radius: 0; +border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn:last-child:not(:first-child) { +border-top-left-radius: 0; +border-top-right-radius: 0; +border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { +border-radius: 0; +} +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { +border-bottom-right-radius: 0; +border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { +border-top-left-radius: 0; +border-top-right-radius: 0; +} +/* Badge +=================================================================== */ +.badge { +display: inline-block; +min-width: 15px; +padding: 5px 7px; +font-size: 12px; +font-weight: 300; +color: #fff; +line-height: 1; +vertical-align: baseline; +white-space: nowrap; +text-align: center; +background-color: #3a87ad; +border-radius: 0; +} +.badge-default { +background-color: #777; +} +.badge-primary { +background-color: #34495E; +} +.badge-success { +background-color: #5cb85c; +} +.badge-info { +background-color: #5bc0de; +} +.badge-warning { +background-color: #f0ad4e; +} +.badge-danger { +background-color: #d9534f; +} +/* Tabs +=================================================================== */ +.panel-heading .nav-tabs { +float: right; +margin-right: -3px; +border: none; +border-left: 1px solid rgba(0,0,0,.09); +border-right: 1px solid rgba(0,0,0,.09); +height: 25px; +line-height: 25px; +} +.panel-heading .nav-tabs li { +border: none; +-webkit-border-radius: 0px; +-moz-border-radius: 0px; +border-radius: 0px; +} +.panel-heading .nav-tabs li a { +background: transparent; +border: none; +-webkit-border-radius: 0px; +-moz-border-radius: 0px; +border-radius: 0px; +margin: 0; +font-size: 14px; +line-height: 25px; +font-weight: 300; +height: 33px; +color: #333; +} +.panel-heading .nav-tabs li.active > a { +border: none; +color: #fff; +height: 25px; +line-height: 25px; +} +.panel-heading .nav-tabs li:hover { +border: none; +} +.panel-heading .nav-tabs li:last-child { +border-right: none; +} +.panel-body .tab-content { +background: transparent; +border: none; +padding: 0; +} +/* Forms +=================================================================== */ +.form-horizontal .form-group { +margin-right: 0px; +margin-left: 0px; +} +.form-group label { +font-weight: normal; +} +.form-control { +border: 1px solid #e3e6f3; +border-radius: 0; +-webkit-box-shadow: none; +box-shadow: none; +-webkit-transition: border .25s linear,color .25s linear,background-color .25s linear; +transition: border .25s linear,color .25s linear,background-color .25s linear; +-webkit-appearance: none; +font-weight: 400; +font-size: 13px; +-webkit-font-smoothing: antialiased; +} +.form-control-feedback { +color: #d4d4d4; +} +.form-control:focus { +border-color: #c8c8c8; +outline: 0; +-webkit-box-shadow: none; +-moz-box-shadow: none; +box-shadow: none; +} +.form-control::-moz-placeholder { +color: #c8c8c8; +} +.form-control:-ms-input-placeholder { +color: #c8c8c8; +} +.form-control::-webkit-input-placeholder { +color: #c8c8c8; +} +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { +background-color: #eeeeee; +} +.form-horizontal .control-label { +font-weight: normal; +} +.has-success .help-block, +.has-success .control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline { +color: #79c447; +} +.has-success .form-control { +border-color: #79c447; +-webkit-box-shadow: none; +-moz-box-shadow: none; +box-shadow: none; +} +.has-success .form-control:focus { +border-color: #61a434; +-webkit-box-shadow: none; +-moz-box-shadow: none; +box-shadow: none; +} +.has-success .input-group-addon { +color: #79c447; +background-color: #b1dd94; +border-color: #79c447; +} +.has-success .form-control-feedback { +color: #79c447; +} +.has-warning .help-block, +.has-warning .control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline { +color: #fabb3d; +} +.has-warning .form-control { +border-color: #fabb3d; +-webkit-box-shadow: none; +-moz-box-shadow: none; +box-shadow: none; +} +.has-warning .form-control:focus { +border-color: #f9aa0b; +-webkit-box-shadow: none; +-moz-box-shadow: none; +box-shadow: none; +} +.has-warning .input-group-addon { +color: #fabb3d; +background-color: #fddea0; +border-color: #fabb3d; +} +.has-warning .form-control-feedback { +color: #fabb3d; +} +.has-error .help-block, +.has-error .control-label, +.has-error .radio, +.has-error .checkbox, +.has-error .radio-inline, +.has-error .checkbox-inline { +color: #ff5454; +} +.has-error .form-control { +border-color: #ff5454; +-webkit-box-shadow: none; +-moz-box-shadow: none; +box-shadow: none; +} +.has-error .form-control:focus { +border-color: #ff2121; +-webkit-box-shadow: none; +-moz-box-shadow: none; +box-shadow: none; +} +.has-error .input-group-addon { +color: #ff5454; +background-color: #ffbaba; +border-color: #ff5454; +} +.has-error .form-control-feedback { +color: #ff5454; +} +.help-block { +color: #bbbbbb; +} +.input-group-addon { +color: #bbbbbb; +background-color: #f5f5f5; +border: 1px solid #d4d4d4; +-webkit-border-radius: 2px; +-moz-border-radius: 2px; +border-radius: 2px; +} +.input-group-addon i { +width: 14px; +text-align: center; +} +select { +background: #f5f5f5 url("../img/select.png") no-repeat !important; +background-size: 24px 20px !important; +background-position: right center !important; +-webkit-border-radius: 0; +-moz-border-radius: 0; +border-radius: 0; +border: 1px solid #d4d4d4 !important; +-webkit-box-shadow: inset 0 0 1px 1px #ffffff, 0 2px 1px -1px rgba(0, 0, 0, 0.1) !important; +-moz-box-shadow: inset 0 0 1px 1px #ffffff, 0 2px 1px -1px rgba(0, 0, 0, 0.1) !important; +box-shadow: inset 0 0 1px 1px #ffffff, 0 2px 1px -1px rgba(0, 0, 0, 0.1) !important; +color: #888; +border: none; +outline: none; +display: inline-block; +-webkit-appearance: none; +-moz-appearance: none; +appearance: none; +cursor: pointer; +} +select[disabled] { +background-color: #eeeeee !important; +color: #c8c8c8; +} +select[multiple] { +background: none !important; +} +select.input-lg { +padding: 0 11px; +} +select.input-sm { +padding: 0 12px; +} +.select2-drop { +color: #484848; +border: 1px solid #d4d4d4; +-webkit-border-radius: 0 0 2px 2px; +-moz-border-radius: 0 0 2px 2px; +border-radius: 0 0 2px 2px; +-webkit-box-shadow: none; +-moz-box-shadow: none; +box-shadow: none; +} +.select2-container-multi .select2-choices { +-webkit-box-shadow: none !important; +-moz-box-shadow: none !important; +box-shadow: none !important; +-webkit-border-radius: 0 !important; +-moz-border-radius: 0 !important; +border-radius: 0 !important; +border: 1px solid #d4d4d4 !important; +margin: -7px -13px 0 -13px !important; +padding-right: 5px; +background: white; +} +.select2-default { +color: #c8c8c8 !important; +padding-left: 12px !important; +} +.select2-container-multi .select2-choices .select2-search-choice { +padding: 3px 5px 4px 18px; +margin: 5px 0 3px 5px; +border: 1px solid #d4d4d4; +-webkit-border-radius: 1px; +-moz-border-radius: 1px; +border-radius: 1px; +-webkit-box-shadow: none; +-moz-box-shadow: none; +box-shadow: none; +background-color: #eeeeee; +filter: none; +background-image: none; +font-size: 11px; +} +.select2-container-multi .select2-choices .select2-search-field input { +color: #484848; +} +@-moz-document url-prefix() { +select { +text-indent: 0.01px; +text-overflow: ''; +} +select.input-lg { +padding: 10px 11px; +} +select.input-sm { +padding: 6px 12px; +} +.select2-container-multi .select2-choices { +border: 1px solid transparent !important; +background: transparent !important; +margin: -3px -13px 0 -13px !important; +} +.select2-container-multi .select2-choices .select2-search-choice { +margin: 1px 0 3px 5px; +} +} +user agent stylesheetinput[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button { +align-items: flex-start; +text-align: center; +cursor: default; +color: #777; +padding: 5px 6px; +border: 1px solid #B9B9C8; +border-image-source: initial; +border-image-slice: initial; +border-image-width: initial; +border-image-outset: initial; +border-image-repeat: initial; +background-color: #ffffff; +box-sizing: border-box; +} +.limiterBox { +border: 1px solid #d4d4d4; +border-top: none; +background-color: #d4d4d4; +padding: 3px 6px; +font-size: 10px; +color: white; +opacity: .9; +-webkit-box-sizing: content-box; +-moz-box-sizing: content-box; +box-sizing: content-box; +} +.editor { +max-height: 250px; +height: 250px; +background-color: white; +border-collapse: separate; +border: 1px solid #d4d4d4; +padding: 4px; +-webkit-box-sizing: content-box; +-moz-box-sizing: content-box; +box-sizing: content-box; +-webkit-border-radius: 0; +-moz-border-radius: 0; +border-radius: 0; +overflow: scroll; +outline: none; +margin-top: 20px; +} +div[data-role="editor-toolbar"] { +-webkit-user-select: none; +-moz-user-select: none; +-ms-user-select: none; +user-select: none; +} +.dropdown-menu { +-webkit-border-radius: 2px; +-moz-border-radius: 2px; +border-radius: 2px; +border: 1px solid #d4d4d4; +-webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.125); +-moz-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.125); +box-shadow: 0 2px 4px rgba(0, 0, 0, 0.125); +} +.dropdown-menu li a:hover { +background-color: #eeeeee; +} +.dropdown-menu li.divider { +background-color: #eeeeee; +} +.dropdown-menu a { +cursor: pointer; +} +.custom-checkbox-item { +display: block; +cursor: pointer; +-webkit-user-select: none; +-moz-user-select: none; +-ms-user-select: none; +user-select: none; +} +.custom-checkbox-item + .custom-checkbox-item { +border-top: 1px solid #f0f2f3; +} +.custom-checkbox { +display: none; +} +.custom-checkbox-mark { +position: relative; +display: inline-block; +vertical-align: middle; +margin-right: 16px; +width: 20px; +height: 20px; +border: 1px dotted #d4d4d4; +-webkit-border-radius: 2px; +-moz-border-radius: 2px; +border-radius: 2px; +} +.custom-checkbox-mark:before { +content: ''; +display: none; +position: absolute; +top: 50%; +left: 50%; +margin: -5px 0 0 -6px; +height: 7px; +width: 12px; +border: solid #f68484; +border-width: 0 0 3px 3px; +-webkit-transform: rotate(-45deg); +-moz-transform: rotate(-45deg); +-ms-transform: rotate(-45deg); +-o-transform: rotate(-45deg); +transform: rotate(-45deg); +} +.custom-checkbox-desc { +font-weight: 400; +} +.custom-checkbox:checked ~ .custom-checkbox-mark { +border: 1px solid #f68484; +} +.custom-checkbox:checked ~ .custom-checkbox-mark:before { +display: block; +} +.custom-checkbox:disabled ~ .custom-checkbox-mark { +border: 1px solid #f5f5f5; +} +.custom-checkbox:disabled ~ .custom-checkbox-mark:before { +border-color: #f5f5f5; +} +.twitter-typeahead .tt-query, +.twitter-typeahead .tt-hint { +margin-bottom: 0; +} +.tt-dropdown-menu { +min-width: 160px; +margin-top: 2px; +padding: 5px 0; +background-color: #fff; +border: 1px solid #ccc; +border: 1px solid rgba(0, 0, 0, 0.2); +*border-right-width: 2px; +*border-bottom-width: 2px; +-webkit-border-radius: 6px; +-moz-border-radius: 6px; +border-radius: 6px; +-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); +-moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); +box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); +-webkit-background-clip: padding-box; +-moz-background-clip: padding; +background-clip: padding-box; +} +.tt-suggestion { +display: block; +padding: 3px 20px; +} +.tt-suggestion.tt-is-under-cursor { +color: #fff; +background-color: #0081c2; +background-image: -moz-linear-gradient(top, #0088cc, #0077b3); +background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); +background-image: -webkit-linear-gradient(top, #0088cc, #0077b3); +background-image: -o-linear-gradient(top, #0088cc, #0077b3); +background-image: linear-gradient(to bottom, #0088cc, #0077b3); +background-repeat: repeat-x; +filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0); +} +.tt-suggestion.tt-is-under-cursor a { +color: #fff; +} +.tt-suggestion p { +margin: 0; +} +body.modal-open, +.modal-open .navbar-fixed-top, +.modal-open .navbar-fixed-bottom { +margin-right: 0px; +} +/* Form - Input +=================================================================== */ +/* Form - Input Icon */ +.input-group-icon, +.input-search { +width: 100%; +table-layout: fixed; +} +.input-group-icon input.form-control, +.input-search input.form-control { +font-size: 12px; +font-size: 1.2rem; +padding-right: 36px; +} +.input-group-icon input.form-control:first-child, .input-group-icon input.form-control:last-child, +.input-search input.form-control:first-child, +.input-search input.form-control:last-child { +border-radius: 20px; +} +.input-group-icon .input-group-btn, +.input-search .input-group-btn { +border-radius: 500px; +width: 0; +} +.input-group-icon .input-group-btn:first-child, .input-group-icon .input-group-btn:last-child, +.input-search .input-group-btn:first-child, +.input-search .input-group-btn:last-child { +border-radius: 500px; +} +.input-group-icon .input-group-btn button, +.input-search .input-group-btn button { +position: absolute; +top: 0; +left: 0; +bottom: 0; +border: 0; +z-index: 3; +background: transparent; +} +.input-group-icon .input-group-btn button:active, +.input-search .input-group-btn button:active { +-webkit-box-shadow: none; +box-shadow: none; +} +.input-group-icon .input-group-btn:last-child button, +.input-search .input-group-btn:last-child button { +left: auto; +right: 0; +} +.input-group-icon .input-group-btn + input.form-control, +.input-search .input-group-btn + input.form-control { +padding-right: 12px; +padding-left: 36px; +} +.input-group-icon .input-group-addon, +.input-search .input-group-addon { +position: relative; +padding: 0; +border: 0 none; +width: 0; +} +.input-group-icon .input-group-addon span.icon, +.input-search .input-group-addon span.icon { +position: absolute; +top: 0; +bottom: 0; +left: 0; +border: 0; +z-index: 3; +width: auto; +display: inline-block; +vertical-align: middle; +text-align: center; +padding: 6px 12px; +background: transparent; +line-height: 1.42857143; +-webkit-box-sizing: content-box; +-moz-box-sizing: content-box; +box-sizing: content-box; +pointer-events: none; +} +.input-group-icon .input-group-addon span.icon.icon-lg, +.input-search .input-group-addon span.icon.icon-lg { +padding: 5px 10px; +font-size: 18px; +} +.input-group-icon .input-group-addon:last-child span.icon, +.input-search .input-group-addon:last-child span.icon { +left: auto; +right: 0; +} +.input-group-icon .input-group-addon + input.form-control, +.input-search .input-group-addon + input.form-control { +padding-right: 12px; +padding-left: 36px; +} +/* Form - Input Search */ +.input-search { +width: 100%; +} +.input-search input.form-control:focus { +border-color: #ccc; +-webkit-box-shadow: none; +box-shadow: none; +} +.input-search .input-group-btn { +color: #ccc; +} +.input-search .input-group-btn .btn { +padding-left: 15px; +} +.input-search .input-group-btn .btn-default { +color: #ccc; +} +/* Custom Checkbox +=================================================================== */ +.checkbox-custom { +position: relative; +padding: 0 0 0 25px; +margin-bottom: 7px; +margin-top: 0; +} +.checkbox-custom.checkbox-inline { +display: inline-block; +vertical-align: middle; +} +.form-group .checkbox-custom.checkbox-inline { +margin-top: 7px; +padding-top: 0; +} +.checkbox-custom:last-child, .checkbox-custom:last-of-type { +margin-bottom: 0; +} +.checkbox-custom input[type="checkbox"] { +opacity: 0; +position: absolute; +top: 50%; +left: 3px; +margin: -6px 0 0 0; +z-index: 2; +cursor: pointer; +} +.checkbox-custom input[type="checkbox"]:checked + label:after { +position: absolute; +display: inline-block; +font-family: 'FontAwesome'; +content: '\F00C'; +top: 50%; +left: 4px; +margin-top: -5px; +font-size: 11px; +line-height: 1; +width: 16px; +height: 16px; +color: #333; +} +.checkbox-custom input[type="checkbox"]:disabled { +cursor: not-allowed; +} +.checkbox-custom input[type="checkbox"]:disabled:checked + label:after { +color: #999; +} +.checkbox-custom input[type="checkbox"]:disabled + label { +cursor: not-allowed; +} +.checkbox-custom input[type="checkbox"]:disabled + label:before { +background-color: #eee; +} +.checkbox-custom label { +cursor: pointer; +margin-bottom: 0; +text-align: left; +line-height: 1.2; +font-weight: normal; +} +.checkbox-custom label:before { +content: ''; +position: absolute; +top: 50%; +left: 0; +margin-top: -9px; +width: 19px; +height: 18px; +display: inline-block; +border-radius: 2px; +border: 1px solid #bbb; +background: #fff; +} +.checkbox-custom label + label.error { +display: block; +} +.checkbox-primary input[type="checkbox"]:checked + label:after { +color: #fff; +} +.checkbox-primary label:before { +background: #34495E; +border-color: #34495E; +} +.checkbox-text-primary input[type="checkbox"]:checked + label:after { +color: #cccccc; +} +.checkbox-success input[type="checkbox"]:checked + label:after { +color: #fff; +} +.checkbox-success label:before { +background: #47a447; +border-color: #3f923f; +} +.checkbox-text-success input[type="checkbox"]:checked + label:after { +color: #47a447; +} +.checkbox-warning input[type="checkbox"]:checked + label:after { +color: #fff; +} +.checkbox-warning label:before { +background: #ed9c28; +border-color: #e89113; +} +.checkbox-text-warning input[type="checkbox"]:checked + label:after { +color: #ed9c28; +} +.checkbox-danger input[type="checkbox"]:checked + label:after { +color: #fff; +} +.checkbox-danger label:before { +background: #d2322d; +border-color: #bd2d29; +} +.checkbox-text-danger input[type="checkbox"]:checked + label:after { +color: #d2322d; +} +.checkbox-info input[type="checkbox"]:checked + label:after { +color: #fff; +} +.checkbox-info label:before { +background: #5bc0de; +border-color: #46b8da; +} +.checkbox-text-info input[type="checkbox"]:checked + label:after { +color: #5bc0de; +} +.checkbox-dark input[type="checkbox"]:checked + label:after { +color: #fff; +} +.checkbox-dark label:before { +background: #171717; +border-color: #0a0a0a; +} +.checkbox-text-dark input[type="checkbox"]:checked + label:after { +color: #171717; +} +/* Custom Radio +=================================================================== */ +.radio-custom { +position: relative; +padding: 0 0 0 25px; +margin-bottom: 7px; +margin-top: 0; +} +.radio-custom.radio-inline { +display: inline-block; +vertical-align: middle; +} +.form-group .radio-custom.radio-inline { +margin-top: 7px; +padding-top: 0; +} +.radio-custom:last-child, .radio-custom:last-of-type { +margin-bottom: 0; +} +.radio-custom input[type="radio"] { +opacity: 0; +position: absolute; +top: 50%; +left: 3px; +margin: -6px 0 0 0; +z-index: 2; +cursor: pointer; +} +.radio-custom input[type="radio"]:checked + label:after { +content: ''; +position: absolute; +top: 50%; +left: 4px; +margin-top: -5px; +display: inline-block; +font-size: 11px; +line-height: 1; +width: 10px; +height: 10px; +background-color: #444; +border-radius: 50px; +-webkit-box-shadow: 0px 0px 1px #444; +box-shadow: 0px 0px 1px #444; +} +.radio-custom input[type="radio"]:disabled { +cursor: not-allowed; +} +.radio-custom input[type="radio"]:disabled:checked + label:after { +color: #999; +} +.radio-custom input[type="radio"]:disabled + label { +cursor: not-allowed; +} +.radio-custom input[type="radio"]:disabled + label:before { +background-color: #eee; +} +.radio-custom label { +cursor: pointer; +margin-bottom: 0; +text-align: left; +line-height: 1.2; +font-weight: normal; +} +.radio-custom label:before { +content: ''; +position: absolute; +top: 50%; +left: 0; +margin-top: -9px; +width: 18px; +height: 18px; +display: inline-block; +border-radius: 50px; +border: 1px solid #bbb; +background: #fff; +} +.radio-custom label + label.error { +display: block; +} +.radio-primary input[type="radio"]:checked + label:after { +background: #34495E; +-webkit-box-shadow: 0px 0px 1px #34495E; +box-shadow: 0px 0px 1px #34495E; +} +.radio-success input[type="radio"]:checked + label:after { +background: #47a447; +-webkit-box-shadow: 0px 0px 1px #47a447; +box-shadow: 0px 0px 1px #47a447; +} +.radio-warning input[type="radio"]:checked + label:after { +background: #ed9c28; +-webkit-box-shadow: 0px 0px 1px #ed9c28; +box-shadow: 0px 0px 1px #ed9c28; +} +.radio-danger input[type="radio"]:checked + label:after { +background: #d2322d; +-webkit-box-shadow: 0px 0px 1px #d2322d; +box-shadow: 0px 0px 1px #d2322d; +} +.radio-info input[type="radio"]:checked + label:after { +background: #5bc0de; +-webkit-box-shadow: 0px 0px 1px #5bc0de; +box-shadow: 0px 0px 1px #5bc0de; +} +.radio-dark input[type="radio"]:checked + label:after { +background: #171717; +-webkit-box-shadow: 0px 0px 1px #171717; +box-shadow: 0px 0px 1px #171717; +} +/* Timepicker +=================================================================== */ +.bootstrap-timepicker-widget table td input { +width: 32px; +margin: 0; +text-align: center; +border: 1px solid #ccc; +background-color: #435D78; +color: #fff; +box-shadow: none; +} +.bootstrap-timepicker-widget a.btn, .bootstrap-timepicker-widget input { +border-radius: 0; +} +/* WYSIWYG Editors +=================================================================== */ +.note-editor { +border: 1px solid #ddd; +border-radius: 0; +-webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; +-moz-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; +transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; +} +.note-editor.active { +border-color: #66afe9; +box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); +} +.note-editor .note-title { +padding-top: 0 !important; +} +.note-editor .note-toolbar { +background-color: #FFF; +border-bottom: 1px solid #ddd; +border-left: none; +border-right: none; +border-top: none; +border-radius: 0; +padding: 15px 10px 10px; +-webkit-user-select: none; +-moz-user-select: none; +-ms-user-select: none; +user-select: none; +} +.note-editor .note-toolbar i { +margin: 0; +} +.note-editor .note-toolbar i:before { +margin: 0; +} +.note-editor .note-toolbar .btn-group { +float: none !important; +margin: 0 0 6px 5px; +} +@media only screen and (max-width: 767px) { +.note-editor .note-toolbar { + text-align: left; +} +} +.note-editor .note-editable { +clear: both; +background: #FFF; +border: none; +border-radius: 0 0 4px 4px; +font-family: Arial, Helvetica, Sans-serif; +} +.note-editor .note-statusbar { +background: #FFF; +border-radius: 0 0 4px 4px; +} +.note-editor .note-statusbar .note-resizebar { +border-color: #DDD; +display: block; +} +/* Collapse +=================================================================== */ +.panel-group .panel { +-webkit-border-radius: 0px; +-moz-border-radius: 0px; +border-radius: 0px; +-webkit-box-shadow: none; +-moz-box-shadow: none; +box-shadow: none; +border: none; +} +.panel-group .panel-accordion { +border: 1px solid #ddd; +} +.panel-group .panel .panel-heading { +background: #f6f6f6; +} +.panel-group .panel .panel-heading .panel-title a:hover { +text-decoration: none; +color: inherit; +} +/* UI - Progress +=================================================================== */ +/* Progress bar states */ +.progress .progress-bar.progress-bar-primary { +background-color: #34495E; +} +.progress .progress-bar.progress-bar-success { +background-color: #5cb85c; +} +.progress .progress-bar.progress-bar-info { +background-color: #5bc0de; +} +.progress .progress-bar.progress-bar-warning { +background-color: #f0ad4e; +} +.progress .progress-bar.progress-bar-danger { +background-color: #d9534f; +} +/* Progress bar overwrite style */ +.progress-bar { +background: #cccccc; +} +.progress .progress-bar { +box-shadow: none; +border-radius: 0; +} +/* Progress bar default style */ +.progress { +background: #474453; +box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.4) inset; +} +/* Progress bar light style */ +.progress.light { +background: #f6f7f8; +background: -webkit-linear-gradient(#f6f7f8, #f6f7f8 10%, whitesmoke 11%); +background: linear-gradient(#f6f7f8, #f6f7f8 10%, whitesmoke 11%); +box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) inset; +} +/* Progress bar roundness generic */ +.progress-squared, .progress-squared .progress-bar { +border-radius: 0 !important; +} +/* Progress bar sizes */ +.progress-xs { +height: 7px; +} +.progress-xs, .progress-xs .progress-bar { +border-radius: 0; +} +.progress-xs .progress-bar { +direction: ltr !important; +text-indent: -9999px; +} +.progress-xs.progress-half-rounded, .progress-xs.progress-half-rounded .progress-bar { +border-radius: 0; +} +.progress-xs.progress-striped .progress-bar { +background-size: 15px 15px; +} +.progress-sm { +border-radius: 0; +height: 12px; +} +.progress-sm, .progress-sm .progress-bar { +border-radius: 0; +} +.progress-sm .progress-bar { +font-size: 10px; +line-height: 12px; +} +.progress-sm.progress-half-rounded, .progress-sm.progress-half-rounded .progress-bar { +border-radius: 0; +} +.progress-sm.progress-striped .progress-bar { +background-size: 20px 20px; +} +.progress-md { +border-radius: 0; +height: 14px; +} +.progress-md, .progress-md .progress-bar { +border-radius: 0; +} +.progress-md .progress-bar { +font-size: 11px; +line-height: 14px; +} +.progress-md.progress-half-rounded, .progress-md.progress-half-rounded .progress-bar { +border-radius: 0; +} +.progress-md.progress-striped .progress-bar { +background-size: 25px 25px; +} +.progress-lg { +border-radius: 0; +height: 16px; +} +.progress-lg, .progress-lg .progress-bar { +border-radius: 0; +} +.progress-lg .progress-bar { +line-height: 16px; +} +.progress-lg.progress-half-rounded, .progress-lg.progress-half-rounded .progress-bar { +border-radius: 0; +} +.progress-lg.progress-striped .progress-bar { +background-size: 30px 30px; +} +.progress-xl { +border-radius: 0; +height: 18px; +} +.progress-xl, .progress-xl .progress-bar { +border-radius: 0; +} +.progress-xl .progress-bar { +line-height: 18px; +} +.progress-xl.progress-half-rounded, .progress-xl.progress-half-rounded .progress-bar { +border-radius: 0; +} +.progress-xl.progress-striped .progress-bar { +background-size: 35px 35px; +} +/* Switch +=================================================================== */ +.switch { +position: relative; +display: inline-block; +vertical-align: top; +width: 56px; +height: 20px; +background-color: transparent; +-webkit-border-radius: 0; +-moz-border-radius: 0; +border-radius: 0; +cursor: pointer; +-webkit-box-sizing: content-box; +-moz-box-sizing: content-box; +box-sizing: content-box; +overflow: hidden; +} +.switch-input { +position: absolute; +top: 0; +left: 0; +opacity: 0; +} +.switch-label { +position: relative; +display: block; +height: inherit; +font-size: 10px; +text-transform: uppercase; +background: #eeeeee; +box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.12), inset 0 0 2px rgba(0, 0, 0, 0.15); +-webkit-transition: 0.15s ease-out; +-moz-transition: 0.15s ease-out; +-o-transition: 0.15s ease-out; +transition: 0.15s ease-out; +-webkit-transition-property: opacity background; +-moz-transition-property: opacity background; +-o-transition-property: opacity background; +transition-property: opacity background; +} +.switch-label:before, +.switch-label:after { +position: absolute; +top: 50%; +margin-top: -0.5em; +line-height: 1; +-webkit-transition: inherit; +-moz-transition: inherit; +-o-transition: inherit; +transition: inherit; +} +.switch-label:before { +content: attr(data-off); +right: 11px; +color: #d4d4d4; +text-shadow: 0 1px rgba(255, 255, 255, 0.5); +} +.switch-label:after { +content: attr(data-on); +left: 11px; +color: white; +text-shadow: 0 1px rgba(0, 0, 0, 0.2); +opacity: 0; +} +.switch-input:checked ~ .switch-label { +background: #f5f5f5; +box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15), inset 0 0 3px rgba(0, 0, 0, 0.2); +} +.switch-input:checked ~ .switch-label:before { +opacity: 0; +} +.switch-input:checked ~ .switch-label:after { +opacity: 1; +} +.switch-handle { +position: absolute; +top: 1px; +left: 1px; +width: 18px; +height: 18px; +background: white; +-webkit-border-radius: 0; +-moz-border-radius: 0; +border-radius: 0; +box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2); +background: #f5f5f5; +-webkit-transition: left 0.15s ease-out; +-moz-transition: left 0.15s ease-out; +-o-transition: left 0.15s ease-out; +transition: left 0.15s ease-out; +} +.switch-handle:before { +content: ''; +position: absolute; +top: 50%; +left: 50%; +margin: -8px 0 0 -8px; +width: 16px; +height: 16px; +-webkit-border-radius: 0; +-moz-border-radius: 0; +border-radius: 0; +box-shadow: inset 0 1px rgba(0, 0, 0, 0.02); +background: #f5f5f5; +border: 1px solid white; +} +.switch-input:checked ~ .switch-handle { +left: 37px; +box-shadow: -1px 1px 5px rgba(0, 0, 0, 0.2); +} +.switch-primary > .switch-input:checked ~ .switch-label { +background: #20a8d8; +} +.switch-success > .switch-input:checked ~ .switch-label { +background: #79c447; +} +.switch-warning > .switch-input:checked ~ .switch-label { +background: #fabb3d; +} +.switch-info > .switch-input:checked ~ .switch-label { +background: #67c2ef; +} +.switch-danger > .switch-input:checked ~ .switch-label { +background: #ff5454; +} +/* Pagination +=================================================================== */ +.pagination li a, +.pagination li span { +border: 1px solid #d4d4d4; +color: #20a8d8; +} +.pagination li a:hover, +.pagination li span:hover, +.pagination li a:focus, +.pagination li span:focus { +color: #167495; +background-color: #f3f3f3; +border-color: #d4d4d4; +} +.pagination li:fist-child a, +.pagination li:fist-child span { +border-top-left-radius: 2px; +border-bottom-left-radius: 2px; +} +.pagination li:last-child a, +.pagination li:last-child span { +border-top-right-radius: 2px; +border-bottom-right-radius: 2px; +} +.pagination li.active a, +.pagination li.active span, +.pagination li.active a:hover, +.pagination li.active span:hover, +.pagination li.active a:focus, +.pagination li.active span:focus { +background-color: #20a8d8; +border-color: #20a8d8; +} +.panel { +border:1; +-webkit-border-radius: 0px; +-moz-border-radius: 0px; +border-radius: 0px; +margin-bottom: 30px; +} +.panel .panel-heading { +padding: 0 15px; +border-left: none; +border-right: none; +-webkit-border-radius: 0px; +-moz-border-radius: 0px; +border-radius: 0; +position: relative; +box-shadow: none; +-moz-box-shadow: none; +-webkit-box-shadow: none; +line-height: 47px; +} +.panel .panel-heading .panel-title { +line-height: 45px; +} +.panel .panel-heading i { +width: 30px; +display: inline-block; +} +.panel .panel-heading h6 { +height: 100%; +width: auto; +display: inline-block; +font-weight: 400; +letter-spacing: 0; +} +.panel .panel-heading .panel-actions { +float: right; +margin-right: -15px; +height: 40px; +font-size: 0; +} +.panel .panel-heading .panel-actions i { +display: inline-block; +text-align: center; +width: 34px; +font-size: 14px; +font-weight: 200; +color: #fff; +-webkit-transition: all 0.1s ease-in-out; +-moz-transition: all 0.1s ease-in-out; +-ms-transition: all 0.1s ease-in-out; +-o-transition: all 0.1s ease-in-out; +transition: all 0.1s ease-in-out; +text-decoration: none; +} +.panel .panel-heading .panel-actions a { +text-decoration: none; +font-size: 14px; +text-align: center; +display: inline-block; +line-height: 32px; +padding: 0; +margin: 6px 0; +color: #333; +} +.panel-actions .btn-setting:hover, +.panel-actions .btn-minimize:hover, +.panel-actions .btn-close:hover { +background-color: rgba(0,0,0,.05); +} +.panel .panel-heading .switch { +margin: 10px; +} +.panel .panel-body { +border-width: 0; +border-style: none; +border-top: none; +border-right-color: none; +border-bottom-color: none; +border-left-color: none; +} +.panel .panel-body.no-padding { +padding: 0; +} +.panel .panel-body.padding-horizontal { +padding: 0 15px; +} +.panel .panel-body.no-padding-bottom { +padding-bottom: 0; +} +.panel-footer { +padding: 10px 15px; +background-color: #f5f5f5; +border-top: 1px solid #ddd; +border-bottom-right-radius: 0; +border-bottom-left-radius: 0; +} +.panel .panel-footer { +border: none; +position: relative; +} +.panel.panel-default { +border-radius: 0px; +border-top: 1px solid #d4d4d4; +-webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.1); +-moz-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.1); +box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.1); +} +} +.panel.panel-default.panel-heading { +background: #f6f6f6; +} +.panel.panel-default .panel-footer { +background: #f6f6f6; +} +.panel.panel-primary { +border-color: #20a8d8; +} +.panel.panel-primary .panel-heading, +.panel.panel-primary .panel-footer { +background: #5dc3e7; +color: #092f3d; +border-color: #20a8d8; +} +.panel.panel-success { +border-color: #79c447; +} +.panel.panel-success .panel-heading, +.panel.panel-success .panel-footer { +background: #a3d781; +color: #284315; +border-color: #79c447; +} +.panel.panel-info { +border-color: #67c2ef; +} +.panel.panel-info .panel-heading, +.panel.panel-info .panel-footer { +background: #acdef6; +color: #106894; +border-color: #67c2ef; +} +.panel.panel-warning { +border-color: #fabb3d; +} +.panel.panel-warning .panel-heading, +.panel.panel-warning .panel-footer { +background: #fcd588; +color: #815703; +border-color: #fabb3d; +} +.panel.panel-danger { +border-color: #ff5454; +} +.panel.panel-danger .panel-heading, +.panel.panel-danger .panel-footer { +background: #ffa1a1; +color: #a10000; +border-color: #ff5454; +} +/* Alerts +=================================================================== */ +.alert { +-webkit-border-radius: 0; +-moz-border-radius: 0; +border-radius: 0; +border-color: transparent !important; +} +.alert-success { +background: #dbefce; +border-color: #79c447; +color: #4a7d28; +} +.alert-success hr { +border-top-color: #95d06e; +} +.alert-info { +background: #daf0fb; +border-color: #67c2ef; +color: #106894; +} +.alert-info hr { +border-top-color: #95d5f4; +} +.alert-warning { +background: #feefd2; +border-color: #fabb3d; +color: #b37905; +} +.alert-warning hr { +border-top-color: #fddea0; +} +.alert-danger { +background: #ffd4d4; +border-color: #ff5454; +color: #ba0000; +} +.alert-danger hr { +border-top-color: #ffa1a1; +} +/* Toggles +=================================================================== */ +.toggle { +margin: 10px 0 0; +position: relative; +clear: both; +} +.toggle > input { +cursor: pointer; +filter: alpha(opacity=0); +height: 45px; +margin: 0; +opacity: 0; +position: absolute; +width: 100%; +z-index: 2; +} +.toggle > label { +-webkit-transition: all 0.15s ease-out; +-moz-transition: all 0.15s ease-out; +transition: all 0.15s ease-out; +background: #ffffff; +border-left: 3px solid #00aced; +border-radius: 0; +color: #cccccc; +display: block; +font-size: 1.1em; +min-height: 20px; +padding: 12px 20px 12px 10px; +position: relative; +cursor: pointer; +font-weight: 400; +} +.toggle > label:-moz-selection { +background: none; +} +.toggle > label i.fa-minus { +display: none; +} +.toggle > label i.fa-plus { +display: inline; +} +.toggle > label:selection { +background: none; +} +.toggle > label:before { +border: 6px solid transparent; +border-left-color: inherit; +content: ''; +margin-top: -6px; +position: absolute; +right: 4px; +top: 50%; +} +.toggle > label:hover { +background: #f5f5f5; +} +.toggle > label + p { +display: block; +overflow: hidden; +padding-left: 30px; +text-overflow: ellipsis; +white-space: nowrap; +height: 25px; +} +.toggle > label i { +font-size: 0.7em; +margin-right: 8px; +position: relative; +top: -1px; +} +.toggle > .toggle-content { +display: none; +} +.toggle > .toggle-content > p { +margin-bottom: 0; +padding: 10px 0; +} +.toggle.active i.fa-minus { +display: inline; +color: #FFF; +} +.toggle.active i.fa-plus { +display: none; +} +.toggle.active > label { +background: #00aced; +border-color: #00aced; +color: #FFF; +} +.toggle.active > label:before { +border: 6px solid transparent; +border-top-color: #FFF; +margin-top: -3px; +right: 10px; +} +.toggle.active > p { +white-space: normal; +} +.toggle > p.preview-active { +height: auto; +white-space: normal; +} +/* Labels +=================================================================== */ +.label { +font-size: 10px; +padding: 4px 6px; +border: none; +text-shadow: none; +border-radius: 0; +font-weight: normal; +} +.label-default { +background: #ebebeb; +color: #777777; +} +.label-sm { +font-size: 50%; +} +.label-primary { +background: #34495E; +color: white; +} +.label-success { +background: #47a447; +color: white; +} +.label-warning { +background: #ed9c28; +color: white; +} +.label-danger { +background: #d2322d; +color: white; +} +.label-info { +background: #5bc0de; +color: white; +} +.label-dark { +background: #171717; +color: white; +} +/* Footer +=================================================================== */ +#usage { +background: #eeeeee; +background: -webkit-linear-gradient(#f8f8f8, #eeeeee); +background: -o-linear-gradient(#f8f8f8, #eeeeee); +background: -moz-linear-gradient(#f8f8f8, #eeeeee); +background: linear-gradient(#f8f8f8, #eeeeee); +position: fixed; +z-index: 2; +bottom: 0; +left: 0; +width: 100%; +height: 40px; +border-top: 1px solid #afafaf; +-webkit-box-shadow: 0 -2px 1px -1px rgba(0, 0, 0, 0.05); +-moz-box-shadow: 0 -2px 1px -1px rgba(0, 0, 0, 0.05); +box-shadow: 0 -2px 1px -1px rgba(0, 0, 0, 0.05); +padding-left: 250px; +} +#usage-blank { +background: #eeeeee; +background: -webkit-linear-gradient(#f8f8f8, #eeeeee); +background: -o-linear-gradient(#f8f8f8, #eeeeee); +background: -moz-linear-gradient(#f8f8f8, #eeeeee); +background: linear-gradient(#f8f8f8, #eeeeee); +position: fixed; +z-index: 2; +bottom: 0; +left: 0; +width: 100%; +height: 40px; +border-top: 1px solid #afafaf; +-webkit-box-shadow: 0 -2px 1px -1px rgba(0, 0, 0, 0.05); +-moz-box-shadow: 0 -2px 1px -1px rgba(0, 0, 0, 0.05); +box-shadow: 0 -2px 1px -1px rgba(0, 0, 0, 0.05); +padding-left: 5%; +} +#usage ul, +#usage-blank ul { +padding: 0; +margin: 0; +font-size: 0; +line-height: 40px; +} +#usage ul li, +#usage-blank ul li { +display: inline-block; +height: 40px; +width: 25%; +font-size: 10px; +border-right: 1px solid #afafaf; +} +#usage ul li:last-child, +#usage-blank ul li:last-child { +border-right: none !important; +} +#usage ul li .title, +#usage ul li .bar, +#usage ul li .desc, +#usage-blank ul li .title, +#usage-blank ul li .bar, +#usage-blank ul li .desc { +display: inline-block; +width: 35%; +float: left; +padding: 0 3px; +} +#usage ul li .title, +#usage-blank ul li .title { +font-weight: 700; +text-align: left; +width: 23%; +} +#usage ul li .text, +#usage-blank ul li .text { +width: 100%; +padding: 0 15px; +float: left; +} +#usage ul li .text b, +#usage-blank ul li .text b { +font-weight: 700; +} +#usage ul li .bar, +#usage-blank ul li .bar { +width: 35%; +} +#usage ul li .bar .progress, +#usage-blank ul li .bar .progress { +height: 10px; +margin-top: 15px; +-webkit-border-radius: 2px; +-moz-border-radius: 2px; +border-radius: 2px; +} +/* Gallery +=================================================================== */ +.port-item { +height: auto; +position: relative; +background-position: center center; +background-repeat: no-repeat; +background-size: cover; +} +.port-item img { +width: 100%; +} +.port-caption { +background-color: rgba(0,0,0,0.7); +bottom: 5%; +height: auto; +left: 5%; +right: 5%; +position: absolute; +top: 5%; +width: auto; +transform: scale(0,0); +-moz-transform: scale(0,0); +-webkit-transform: scale(0,0); +-o-transform: scale(0,0); +-ms-transform: scale(0,0); +transform-origin: center center; +-moz-transform-origin: center center; +-webkit-transform-origin: center center; +-o-transform-origin: center center; +-ms-transform-origin: center center; +} +.transit { +transition: 0.3s all ease-in-out; +-moz-transition: 0.3s all ease-in-out; +-ms-transition: 0.3s all ease-in-out; +-o-transition: 0.3s all ease-in-out; +-webkit-transition: 0.3s all ease-in-out; +} +.port-item .port-title { +margin: 30% auto 7% auto; +text-align: center; +} +.port-item .port-title a { +color: #435D78; +font-size: 18px; +line-height: 120%; +letter-spacing: 2px; +font-weight: 700; +text-transform: uppercase; +} +.port-item .port-icon { +margin: 15px auto; +text-align: center; +} +.port-item .port-icon i{ +font-size: 35px; +height: 50px; +line-height: 50px; +text-align: center; +width: 50px; +color: #fff; +} +.port-item:hover .port-caption { +transform: scale(1,1); +-moz-transform: scale(1,1); +-webkit-transform: scale(1,1); +-o-transform: scale(1,1); +-ms-transform: scale(1,1); +} +@media (max-width: 767px) { +.port-item .port-title { +margin: 36% auto 7% auto; +} +} +/* Bullet List +=================================================================== */ +ul.bulletList { +list-style: none; +padding: 0; +} +ul.bulletList li { +position: relative; +padding: 0 0 0 20px; +margin: 0 0 10px; +} +ul.bulletList li:before { +border: 6px solid #cccccc; +border-radius: 100px; +content: ''; +display: inline-block; +left: 0; +margin: 0; +position: absolute; +top: 5px; +z-index: 2; +} +ul.bulletList li .title { +display: block; +font-weight: 700; +font-size: 14px; +font-size: 1.4rem; +line-height: 1.4; +color: #171717; +} +ul.bulletList li .description { +display: block; +color: #999999; +font-size: 11px; +font-size: 1.1rem; +line-height: 1.334; +} +ul.bulletList li.red:before { +border-color: #FF0000; +} +ul.bulletList li.green:before { +border-color: #00FFBF; +} +ul.bulletList li.blue:before { +border-color: #007FFF; +} +ul.bulletList li.orange:before { +border-color: #D96C00; +} +/* Star Rating +=================================================================== */ +.rating { +unicode-bidi: bidi-override; +direction: rtl; +font-size: 30px; +} +.rating span.star, +.rating span.star { +font-family: FontAwesome; +font-weight: normal; +font-style: normal; +display: inline-block; +} +.rating span.star:hover, +.rating span.star:hover { +cursor: pointer; +} +.rating span.star:before, +.rating span.star:before { +content: "\f006"; +padding-right: 5px; +color: #999999; +} +.rating span.star:hover:before, +.rating span.star:hover:before, +.rating span.star:hover ~ span.star:before, +.rating span.star:hover ~ span.star:before { +content: "\f005"; +color: #e3cf7a; +} +/* Glyphicons Icon +=================================================================== */ +.glyphicons-list { +padding-left: 0; +list-style: none; +} +.glyphicons-list li { +margin-bottom: 10px; +} +.glyphicons-list .glyphicon { +font-size: 20px; +width: 30px; +color: #333333; +} +/* FontAwesome Icons +=================================================================== */ +.fontawesome-icon-list div { +margin: 5px 0; +} +.fontawesome-icon-list .fa { +width: 20px; +text-align: center; +margin-right: 10px; +color: #333333; +} +/* Weather Icons +=================================================================== */ +.weather-icon div { +display: inline-block; +text-align: center; +} +.weather-icon .icon { +font-size: 28px; +width: 60px; +color: #333333; +} +.weather-icon .class { +margin-top: 5px; +} +/* File manager +=================================================================== */ +.elfinder .elfinder-button { +-webkit-box-sizing: content-box; +-moz-box-sizing: content-box; +box-sizing: content-box; +} +/* Text with HR Line +=================================================================== */ +.text-with-hr { +text-align: center; +position: relative; +z-index: 2; +} +.text-with-hr:before { +position: absolute; +content: ''; +top: 20px; +left: 0px; +width: 100%; +border-bottom: 1px solid #d4d4d4; +z-index: -1; +} +.text-with-hr span { +display: inline-block; +background: white; +padding: 10px; +} +/* Page: Activity +=================================================================== */ +.activity .panel .panel-heading { +line-height: 20px; +height: 70px; +padding-top: 15px; +} +.activity .panel .panel-heading img { +height: 40px; +margin: 0 15px 15px 0; +float: left; +} +.activity .panel .panel-heading .small { +color: #d4d4d4; +} +.activity .panel .panel-heading .pull-right { +font-size: 12px; +color: #d4d4d4; +} +.activity .panel .panel-heading .pull-right i { +font-size: 14px; +} +.activity .panel .panel-body .video-container { +position: relative; +padding-bottom: 56.25%; +padding-top: 30px; +height: 0; +overflow: hidden; +} +.activity .panel .panel-body .video-container iframe, +.activity .panel .panel-body .video-container object, +.activity .panel .panel-body .video-container embed { +position: absolute; +top: 0; +left: 0; +width: 100%; +height: 100%; +} +.activity .panel .panel-footer .media-object { +width: 30px; +} +.activity .panel .panel-footer .media .media-body .media-heading { +font-weight: 700; +} +.activity .panel .panel-footer .media .media-body .small { +color: #d4d4d4; +} +.activity .panel .panel-footer .media .media-body p { +margin-top: 10px; +font-size: 12px; +} +.activity .panel .panel-footer .media .media-body button { +} +.activity .panel .panel-body .actions { +background: #fff; +margin: 15px 0 0 0; +padding: 0 20px 0 10px; +line-height: 50px; +font-size: 12px; +} +.activity .panel .panel-body .actions .btn { +font-size: 12px; +text-decoration: none; +color: #6d84b4; +} +.activity .panel .panel-body .actions .btn:hover { +text-decoration: underline; +} +/* Page: Mailbox +=================================================================== */ +/*mailbox ball*/ +.mailbox .mailbox-menu .ball { +border: 5px solid red; +border-radius: 100px; +display: block; +float: right; +margin-top: 6px; +} +.mailbox .mailbox-menu .ball.pink { +border-color: #EA4C89; +} +.mailbox .mailbox-menu .ball.green { +border-color: #9AE14F; +} +.mailbox .mailbox-menu .ball.blue { +border-color: #1BC3E1; +} +.mailbox .mailbox-menu .ball.orange { +border-color: #E2A917; +} +.mailbox .mailbox-menu .ball.yellow { +border-color: #FFFF26; +} +.mailbox .mailbox-menu .ball.red { +border-color: #D90000; +} +.mailbox .mailbox-menu .ball.dark { +border-color: #000000; +} +.mailbox .mailbox-chat .ball { +border: 5px solid #CECEBF; +border-radius: 100px; +display: block; +float: right; +margin-top: 4px; +} +.mailbox .mailbox-chat .ball.green { +border-color: #00B32D; +} +/*mailbox button actions*/ +.mailbox .mailbox-btn-action .item-action-group { +margin-right: 10px; +} +.mailbox .mailbox-btn-action span a { +margin: 2px; +} +.mailbox .mailbox-btn-action .item-action { +background: #FFF; +border-radius: 100px; +box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2); +color: #B4BBC1; +display: inline-block; +font-size: 14px; +font-size: 1.4rem; +height: 30px; +line-height: 30px; +line-height: 3rem; +position: relative; +width: 30px; +text-align: center; +margin: 2px; +-webkit-transition-property: color; +-moz-transition-property: color; +transition-property: color; +-webkit-transition-duration: 0.3s; +-moz-transition-duration: 0.3s; +transition-duration: 0.3s; +-webkit-transition-timing-function: cubic-bezier(0.2, 0.6, 0.25, 1); +-moz-transition-timing-function: cubic-bezier(0.2, 0.6, 0.25, 1); +transition-timing-function: cubic-bezier(0.2, 0.6, 0.25, 1); +-webkit-transition-delay: 0.1s; +-moz-transition-delay: 0.1s; +transition-delay: 0.1s; +} +.mailbox .mailbox-btn-action .item-action:hover { +color: #57636C; +text-decoration: none; +} +/*mailbox menu*/ +.mailbox .mailbox-menu ul { +margin-top: 30px; +padding: 0; +list-style: none; +} +.mailbox .mailbox-menu ul li { +height: 30px; +padding: 5px 15px; +position: relative; +} +.mailbox .mailbox-menu ul li:hover, +.mailbox .mailbox-menu ul li.active { +background: #eeeeee; +} +.mailbox .mailbox-menu ul li a { +display: block; +width: 100%; +text-decoration: none; +color: #484848; +} +.mailbox .mailbox-menu ul li a i { +margin-right: 10px; +} +.mailbox .mailbox-menu ul li a .label { +position: absolute; +top: 10px; +right: 15px; +display: block; +} +/*mailbox message list / inbox*/ +.mailbox ul.messages-list { +list-style: none; +margin: -40px -15px 0 -15px; +padding: 15px 15px 0 15px; +} +.mailbox ul.messages-list li { +-webkit-border-radius: 4px; +-moz-border-radius: 4px; +border-radius: 4px; +cursor: pointer; +margin-bottom: 0; +padding: 10px; +border-bottom: 1px solid #f7f7f7; +} +.mailbox ul.messages-list li a { +color: #777; +} +.mailbox ul.messages-list li a:hover { +text-decoration: none; +} +.mailbox ul.messages-list li.unread .header, +.mailbox ul.messages-list li.unread .title { +font-weight: bold; +font-size: 15px; +font-size: 1.3rem; +} +.mailbox ul.messages-list li:hover { +background: #FAFAFA; +padding: 10px; +} +.mailbox ul.messages-list li:hover .action { +color: #d4d4d4; +} +.mailbox ul.messages-list li .header { +margin: 0 0 5px 0; +font-size: 15px; +font-size: 1.3rem; +} +.mailbox ul.messages-list li .header .from { +font-size: 15px; +font-size: 1.3rem; +width: 49.9%; +white-space: nowrap; +overflow: hidden !important; +text-overflow: ellipsis; +} +.mailbox ul.messages-list li .header .date { +width: 50%; +text-align: right; +float: right; +} +.mailbox ul.messages-list li .header .date i { +font-size: 18px; +} +.mailbox ul.messages-list li .title { +font-size: 15px; +font-size: 1.3rem; +margin: 0 0 5px 0; +white-space: nowrap; +overflow: hidden !important; +text-overflow: ellipsis; +} +.mailbox ul.messages-list li .description { +font-size: 15px; +font-size: 1.3rem; +font-weight: 300; +padding-left: 29px; +} +.mailbox ul.messages-list li .action { +display: inline-block; +width: 16px; +text-align: center; +margin-right: 10px; +color: #d4d4d4; +} +.mailbox ul.messages-list li .action i { +font-size: 18px; +width: 20px; +height: 20px; +text-align: center; +margin-top: 10px; +font-weight: 100; +color: #f9af3f; +} +.mailbox ul.messages-list li .action .fa-check-square-o { +margin: 0 -1px 0 1px; +} +.mailbox ul.messages-list li .action .fa-square { +float: left; +margin-top: -16px; +margin-left: 4px; +font-size: 11px; +color: white; +} +.mailbox ul.messages-list li .action .fa-star.bg { +float: left; +margin-top: -16px; +margin-left: 3px; +font-size: 12px; +color: white; +} +/*mailbox message / read message*/ +.mailbox .message .message-title { +margin-top: 30px; +padding-top: 10px; +font-weight: bold; +font-size: 14px; +} +.mailbox .message .header { +margin: 20px 0 30px 0; +padding: 10px 0 10px 0; +border-top: 1px solid #d4d4d4; +border-bottom: 1px solid #d4d4d4; +} +.mailbox .message .header .avatar { +-webkit-border-radius: 2px; +-moz-border-radius: 2px; +border-radius: 2px; +height: 34px; +width: 34px; +float: left; +margin-right: 10px; +} +.mailbox .message .header i { +margin-top: 1px; +} +.mailbox .message .header .from { +display: inline-block; +width: 50%; +font-size: 12px; +margin-top: -2px; +color: #d4d4d4; +} +.mailbox .message .header .from span { +display: block; +font-size: 14px; +font-weight: bold; +color: #484848; +} +.mailbox .message .header .date { +display: inline-block; +width: 29%; +text-align: right; +float: right; +font-size: 12px; +margin-top: 18px; +} +.mailbox .message .attachments { +border-top: none; +border-bottom: none; +padding: 10px 0px; +margin-bottom: 20px; +font-size: 12px; +} +.mailbox .message .attachments ul { +list-style: none; +margin: 0 0 0 -40px; +} +.mailbox .message .attachments ul li { +margin: 10px 0; +} +.mailbox .message .attachments ul li .label { +padding: 2px 4px; +} +.mailbox .message .attachments ul li span.quickMenu { +float: right; +text-align: right; +} +.mailbox .message .attachments ul li span.quickMenu .fa { +padding: 5px 0 5px 25px; +font-size: 14px; +margin: -2px 0px 0px 5px; +color: #d4d4d4; +} +.mailbox .message-reply .mailbox-compose { +margin: 0 -20 px 0 -10px; +padding: 0 15px; +} +.mailbox .message-reply .mailbox-compose .compose { +margin: 0 0 0 5px; +} +.mailbox .message-reply .mailbox-compose .compose .note-editable { +min-height: 250px; +} +.mailbox .message-reply .mailbox-compose .compose .note-editor, +.mailbox .message-reply .mailbox-compose .compose .note-toolbar { +border: none; +} +.mailbox .message-reply .mailbox-compose .compose .note-resizebar { +border-color: #ddd; +display: block; +} +@media only screen and (max-width: 767px) { +.mailbox .message-reply .mailbox-compose { +margin: 0 -40px 0 -50px; +} +.mailbox .message-reply .mailbox-compose .compose { +margin-left: 5px; +margin-right: 5px; +} +} +/*mailbox chat activity*/ +.mailbox .mailbox-chat ul { +margin-top: 0; +padding: 0; +list-style: none; +} +.mailbox .mailbox-chat ul li { +height: 30px; +padding: 5px 15px; +overflow: hidden; +white-space: nowrap; +text-overflow: ellipsis !important; +position: relative; +cursor: pointer; +} +.mailbox .mailbox-chat ul li .label { +display: inline-block; +width: 6px; +height: 6px; +padding: 0; +margin: 0 5px 2px 0px; +} +.mailbox .mailbox-chat ul li:hover { +background: #eeeeee; +} +.mailbox .form-horizontal .control-label { +padding-top: 7px; +margin-bottom: 0; +text-align: left; +} +/*mailbox compose*/ +.mailbox-compose { +margin: -20px -30px 0 -20px; +padding: 0 15px; +} +.mailbox-compose .compose { +margin: 0 0 0 5px; +} +.mailbox-compose .compose .note-editable { +min-height: 250px; +} +.mailbox-compose .compose .note-editor, +.mailbox-compose .compose .note-toolbar { +border: none; +} +.mailbox-compose .compose .note-resizebar { +display: none; +} +@media only screen and (max-width: 767px) { +.mailbox-compose { +margin: -20px -15px 0 -15px; +} +.mailbox-compose .compose { +margin-left: 5px; +margin-right: 5px; +} +} +/* Page: Invoice +=================================================================== */ +.invoice .header .well p { +padding: 0; +margin: 0px 0; +} +.invoice table { +margin-bottom: 20px !important; +} +/* Page: Profile +=================================================================== */ +.timelineProfile .timeline-body { +position: relative; +padding: 30px 0; +} +.timelineProfile .timeline-body:after { +background: #505050; +background: -moz-linear-gradient(top, rgba(80, 80, 80, 0) 0%, #505050 8%, #505050 92%, rgba(80, 80, 80, 0) 100%); +background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #1e5799), color-stop(100%, #7db9e8)); +background: -webkit-linear-gradient(top, rgba(80, 80, 80, 0) 0%, #505050 8%, #505050 92%, rgba(80, 80, 80, 0) 100%); +background: -o-linear-gradient(top, rgba(80, 80, 80, 0) 0%, #505050 8%, #505050 92%, rgba(80, 80, 80, 0) 100%); +background: -ms-linear-gradient(top, rgba(80, 80, 80, 0) 0%, #505050 8%, #505050 92%, rgba(80, 80, 80, 0) 100%); +background: linear, to bottom, rgba(80, 80, 80, 0) 0%, #505050 8%, #505050 92%, rgba(80, 80, 80, 0) 100%; +content: ''; +display: block; +height: 100%; +left: 140px; +margin-left: -2px; +position: absolute; +top: 0; +width: 3px; +z-index: 0; +filter: alpha(opacity=35); +opacity: 0.35; +} +.timelineProfile .timeline-title { +position: relative; +display: inline-block; +text-align: center; +min-width: 200px; +background-color: #fff; +padding: 4px 5px; +margin: 0 40px; +z-index: 1; +-webkit-border-radius: 3px; +border-radius: 3px; +} +.timelineProfile .timeline-items { +list-style: none; +padding: 0; +margin: 0; +} +.timelineProfile .timeline-items > li { +position: relative; +margin: 30px 0; +padding: 0 0 0 190px; +min-height: 65px; +z-index: 1; +} +.timelineProfile .timeline-items > li .timeline-box { +position: relative; +background: #fff; +min-height: 65px; +padding: 10px 20px; +border: 1px solid #e9e9e9; +-webkit-border-radius: 6px; +border-radius: 6px; +} +.timelineProfile .timeline-items > li .timeline-box:after { +right: 100%; +border: solid transparent; +content: ' '; +height: 0; +width: 0; +position: absolute; +pointer-events: none; +border-right-color: #fff; +border-width: 8px; +top: 50%; +margin-top: -8px; +z-index: 2; +} +.timelineProfile .timeline-items > li .timeline-box p:last-child { +margin-bottom: 0; +} +.timelineProfile.timeline-profile .timeline-body:after { +left: 30px; +} +.timelineProfile.timeline-profile .timeline-body .timeline-title { +border: 1px solid #e9e9e9; +margin: 0 10px; +} +.timelineProfile.timeline-profile .timeline-body .timeline-items > li { +padding: 0 0 0 55px; +} +.timelineProfile.timeline-profile .timeline-body .timeline-items > li:before { +display: block; +position: absolute; +content: ' '; +background: none repeat scroll 0 0 #73B9FF; +border-radius: 50%; +box-shadow: 0 0 0 3px white, 0 0 0 6px #73B9FF; +height: 7px; +left: 30px; +top: 50%; +width: 8px; +margin-left: -4px; +margin-top: -4px; +} +.timelineProfile.timeline-profile .timeline-body .timeline-items > li .timeline-box:before { +left: -17px; +border: solid transparent; +content: ' '; +height: 0; +width: 0; +position: absolute; +pointer-events: none; +border-right-color: #e9e9e9; +border-width: 8px; +top: 50%; +margin-top: -8px; +z-index: 1; +} +@media only screen and (max-width: 991px) { +.timelineProfile .timeline-body:after { + left: 20px; +} +.timelineProfile .timeline-title { + margin: 0; +} +.timelineProfile .timeline-items > li { + padding-left: 50px; +} +} +.img-timeline { +list-style: none; +margin: 10px 0; +padding: 0; +} +.img-timeline .img-thumbnail, +.img-timeline .thumbnail { +margin: 10px 10px 0 0; +} +.img-thumbnail { +border-radius: 4px; +position: relative; +} +.img-thumbnail img { +border-radius: 4px; +} +.img-thumbnail .zoom { +display: block; +position: absolute; +right: 8px; +bottom: 8px; +height: 30px; +width: 30px; +padding: 6px; +font-size: 14px; +line-height: 18px; +background: #73B9FF; +border-radius: 100%; +color: #FFF; +text-align: center; +} +.img-thumbnail .zoom i { +position: relative; +top: -1px; +left: -1px; +} +.updateProfile h5 { +font-size: 1.8rem; +} +.updateProfile .form-group label { +font-weight: normal; +} +/* Price Tables +=================================================================== */ +.pricing-table{ +max-width:800px; +margin:0 auto; +} +.pricing-table .pricing-wrap{ +float: left; +width: 30%; +position: relative; +} +.pricing-table .most-popular{ +position: relative; +float: left; +width: 40%; +top: -30px; +z-index: 2; +} +.pricing-table .plan{ +background: #FFF; +border: 1px solid #e5e5e5; +margin-right:-3px; +padding:20px 40px; +position: relative; +text-align: center; +} +.pricing-table .most-popular .plan{ +background: #FFF; +border: 1px solid #e5e5e5; +margin-right:-3px; +padding:30px 60px; +position: relative; +text-align: center; +} +.pricing-table .most-popular h2{ +color:#222; +font-size: 40px; +} +.pricing-wrap h2{ +font-size: 30px; +font-weight: 700; +color: #444; +letter-spacing: 1px; +} +.price-button{ +background: #41d6ea; +padding:10px 20px; +border-radius: 4px; +color:#fff; +font-size:11px; +} +.price-button:hover{ +background: #000; +color:#fff; +} +.pricing-table ul li{ +font-size: 11px; +} +.featured-ribbon-wrapper { +width: 85px; +height: 88px; +overflow: hidden; +position: absolute; +top: 0; +right: -3px; +text-align: center +} +.featured-ribbon { +font-size: 10px; +font-weight: 500; +color: #FFF; +-webkit-transform: rotate(45deg); +-moz-transform: rotate(45deg); +-ms-transform: rotate(45deg); +-o-transform: rotate(45deg); +position: relative; +padding: 5px 0; +left: -5px; +top: 11px; +width: 120px; +background-color: #41d6ea; +} +/* Page 404 & Page 500 +=================================================================== */ +.box-error { +margin-top: 160px; +} +.box-error h1 { +font-size: 70px; +} +.box-error h2 { +font-size: 23px; +} +.box-error p { +font-weight: 300; +} +.box-error button { +font-size: 16px; +line-height: 20px; +} +/* Page LockScreen +=================================================================== */ +.body-locked { +display: table; +height: 100vh; +margin: 0 auto; +max-width: 500px; +padding: 0 15px; +width: 100%; +} +.body-locked .center-locked { +display: table-cell; +padding-top: 0; +vertical-align: middle; +} +.body-locked .panel-locked { +margin: 0 auto; +max-width: 400px; +} +.body-locked .panel-locked .panel-body { +border-radius: 5px; +position: relative; +} +.body-locked h3 { +color: #171717 !important +} +.body-locked small { +margin: 0; +} +/* Login Box & Register Box +=================================================================== */ +/* login screens - wrappers */ +.body-login, +.body-register { +display: table; +height: 100vh; +margin: -20px auto 0 auto; +max-width: 500px; +padding: 0 15px; +width: 100%; +} +.body-login .panel, +.body-register .panel { +border: none; +box-shadow: none; +} +.body-login .center-login, +.body-register .center-register { +display: table-cell; +padding-top: 20px; +vertical-align: middle; +} +.body-login .center-login .logo, +.body-register .center-register .logo { +margin-top: 20px; +} +.body-login .panel-login, +.body-register .panel-register { +background: transparent; +} +.body-login .panel-login .panel-title-login .title, +.body-register .panel-register .panel-title-register .title { +background-color: #435D78; +border-radius: 0; +color: #FFF; +display: inline-block; +font-size: 15px; +font-size: 1.5rem; +line-height: 20px; +line-height: 2rem; +padding: 13px 17px; +vertical-align: bottom; +} +.body-login .panel-login .panel-body, +.body-register .panel-register .panel-body { +background: #FFF; +border-top: 5px solid #435D78; +border-radius: 0; +box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); +padding: 33px 33px 15px; +margin-top: -10px; +} +.body-login .panel-login .panel-body a, +.body-register .panel-register .panel-body a { +width: 45px; +height: 45px; +line-height: 45px; +text-align: center; +text-decoration: none; +border-radius: 50%; +font-size: 18px; +margin: 5px; +} +.body-login .panel-login .panel-body a small, +.body-register .panel-register .panel-body a small{ +font-size: 13px +} +.body-login .panel-login .panel-body .form-group label, +.body-register .panel-register .panel-body .form-group label { +font-weight: normal; +font-size: 1.4rem; +} +/* login screens - elements */ +.body-login .input-group-icon .input-group-addon i, +.body-register .input-group-icon .input-group-addon i { +width: 14px; +} +.body-login .checkbox-custom, +.body-register .checkbox-custom { +margin-top: 8px; +} +/* Charts +=================================================================== */ +/* just gage - chart */ +.sz1 { +width: 450px; +height: 160px; +text-align: center; +} +.sz0 { +margin: 2em 0 0 0; +} +.sz0 { +width: 300px; +height: 80px; +} +/* Calendar +=================================================================== */ +.fc { +direction: ltr; +text-align: left; +} +.fc table { +border-collapse: collapse; +border-spacing: 0; +} +.fc .btn { +line-height: 1.2em; +} +html .fc { +font-size: 1em; +} +.fc table { +font-size: 1em; +} +.fc td, .fc th { +padding: 1px; +vertical-align: top; +} +.fc-header td { +white-space: nowrap; +vertical-align: middle; +} +.fc-header-left { +width: 1%; +text-align: left; +} +.fc-header-center { +text-align: center; +} +.fc-header-right { +width: 99%; +text-align: right; +} +.fc-header td.fc-header-right { +white-space: normal; +} +.fc-header-title { +display: inline-block; +vertical-align: top; +} +.fc-header-title h2 { +margin: 0 0 10px; +white-space: nowrap; +} +.fc .fc-header-space { +padding-left: 10px; +} +.fc-header .fc-button { +margin-bottom: 1em; +vertical-align: top; +margin-right: -1px; +} +.fc-header .fc-corner-right { +margin-right: 1px; +} +.fc-header .ui-corner-right { +margin-right: 0; +} +.fc-header .fc-state-hover, .fc-header .ui-state-hover { +z-index: 2; +} +.fc-header .fc-state-down { +z-index: 3; +} +.fc-header .fc-state-active, .fc-header .ui-state-active, .fc-header .ui-state-down { +z-index: 4; +background-color: #e6e6e6; +background-color: #d9d9d9; +background-image: none; +outline: 0; +-webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); +-moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); +box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); +} +.fc-content { +clear: both; +} +.fc-view { +width: 100%; +} +.fc .ui-widget-header { +border-color: #dddddd; +padding: 4px 0; +} +thead th.fc-first { +border-top-left-radius: 5px; +-moz-border-top-left-radius: 5px; +-webkit-border-top-left-radius: 5px; +} +thead th.fc-last { +border-top-right-radius: 5px; +-moz-border-top-right-radius: 5px; +-webkit-border-top-right-radius: 5px; +} +.ui-state-highlight.fc-today { +background: #f4f4f4; +margin: 2px !important; +border: 0; +border-left: 1px solid #dddddd; +border-top: 1px solid #dddddd; +border-radius: 0; +-moz-border-radius: 0; +-webkit-border-radius: 0; +} +.fc-button { +position: relative; +display: inline-block; +cursor: pointer; +} +.fc-button-inner { +position: relative; +float: left; +overflow: hidden; +} +.fc-button-content { +position: relative; +float: left; +height: 1.9em; +line-height: 1.9em; +padding: 0 0.6em; +white-space: nowrap; +} +.fc-button-content .fc-icon-wrap { +position: relative; +float: left; +top: 50%; +} +.fc-button-content .ui-icon { +position: relative; +float: left; +margin-top: -50%; +*margin-top: 0; +*top: -50%; +} +.fc-state-default { +border-style: solid; +border-color: #cccccc #bbbbbb #aaaaaa; +background: #f3f3f3; +color: black; +} +.fc-state-default .fc-button-effect { +position: absolute; +top: 50%; +left: 0; +} +.fc-state-default .fc-button-effect span { +position: absolute; +top: -100px; +left: 0; +width: 500px; +height: 100px; +border-width: 100px 0 0 1px; +border-style: solid; +border-color: white; +background: #444444; +opacity: 0.09; +filter: alpha(opacity=9); +} +.fc-state-default .fc-button-inner { +border-style: solid; +border-color: #cccccc #bbbbbb #aaaaaa; +background: #f3f3f3; +color: black; +} +.fc-state-hover { +border-color: #999999; +} +.fc-state-hover .fc-button-inner { +border-color: #999999; +} +.fc-state-down { +border-color: #555555; +background: #777777; +} +.fc-state-down .fc-button-inner { +border-color: #555555; +background: #777777; +} +.fc-state-active { +border-color: #555555; +background: #777777; +color: white; +} +.fc-state-active .fc-button-inner { +border-color: #555555; +background: #777777; +color: white; +} +.fc-state-disabled { +color: #999999; +border-color: #dddddd; +cursor: default; +} +.fc-state-disabled .fc-button-inner { +color: #999999; +border-color: #dddddd; +} +.fc-state-disabled .fc-button-effect { +display: none; +} +.fc-event { +border-style: solid; +border-width: 0; +font-size: 0.85em; +cursor: default; +} +a.fc-event, .fc-event-draggable { +cursor: pointer; +} +a.fc-event { +text-decoration: none; +} +.fc-rtl .fc-event { +text-align: right; +} +.fc-event-skin { +border: 0; +} +.fc-event-inner { +position: relative; +width: 100%; +height: 100%; +border-style: solid; +border-width: 0; +overflow: hidden; +} +.fc-event-time, .fc-event-title { +padding: 0 1px; +} +.fc-event-hori { +border-width: 1px 0; +margin-bottom: 1px; +} +.fc-event-hori .ui-resizable-e { +top: 0 !important; +} +table.fc-border-separate { +border-collapse: separate; +} +.fc-border-separate th, .fc-border-separate td { +border-width: 1px 0 0 1px; +} +.fc-border-separate th.fc-last, .fc-border-separate td.fc-last { +border-right-width: 1px; +} +.fc-border-separate tr.fc-last th, .fc-border-separate tr.fc-last td { +border-bottom-width: 1px; +} +.fc-border-separate tbody tr.fc-first td, .fc-border-separate tbody tr.fc-first th { +border-top-width: 0; +} +.fc-grid th { +text-align: center; +} +.fc-grid .fc-day-number { +float: right; +padding: 0 2px; +} +.fc-grid .fc-other-month .fc-day-number { +opacity: 0.3; +filter: alpha(opacity=30); +} +.fc-rtl .fc-grid .fc-day-number { +float: left; +} +.fc-rtl .fc-grid .fc-event-time { +float: right; +} +.fc-ltr .fc-event-hori.fc-event-end, .fc-rtl .fc-event-hori.fc-event-start { +border-top-right-radius: 0; +border-bottom-right-radius: 0; +} +.fc-ltr .fc-event-hori.fc-event-start, .fc-rtl .fc-event-hori.fc-event-end { +border-top-left-radius: 0; +border-bottom-left-radius: 0; +} +.fc-agenda table { +border-collapse: separate; +} +.fc-agenda-days th { +text-align: center; +} +.fc-agenda .fc-agenda-axis { +width: 50px; +padding: 0 4px; +vertical-align: middle; +text-align: right; +white-space: nowrap; +font-weight: normal; +} +.fc-agenda .fc-day-content { +padding: 2px 2px 1px; +} +.fc-agenda-days .fc-agenda-axis { +border-right-width: 1px; +} +.fc-agenda-days .fc-col0 { +border-left-width: 0; +} +.fc-agenda-allday th { +border-width: 0 1px; +} +.fc-agenda-allday .fc-day-content { +min-height: 34px; +} +.fc-agenda-divider-inner { +height: 2px; +overflow: hidden; +} +.fc-widget-header .fc-agenda-divider-inner { +background: #eeeeee; +} +.fc-agenda-slots th { +border-width: 1px 1px 0; +} +.fc-agenda-slots td { +border-width: 1px 0 0; +background: none; +} +.fc-agenda-slots td div { +height: 20px; +} +.fc-agenda-slots tr.fc-slot0 th, .fc-agenda-slots tr.fc-slot0 td { +border-top-width: 0; +} +.fc-agenda-slots tr.fc-minor th, .fc-agenda-slots tr.fc-minor td { +border-top-style: dotted; +} +.fc-agenda-slots tr.fc-minor th.ui-widget-header { +*border-top-style: solid; +} +.fc-event-vert { +border-width: 0 1px; +} +.fc-event-vert .fc-event-head, .fc-event-vert .fc-event-content { +position: relative; +z-index: 2; +width: 100%; +overflow: hidden; +} +.fc-event-vert .fc-event-time { +white-space: nowrap; +font-size: 10px; +} +.fc .ui-draggable-dragging .fc-event-bg, .fc-select-helper .fc-event-bg { +display: none; +} +.fc-event-vert .ui-resizable-s { +bottom: 0 !important; +} +/* Fullcalendar - header */ +.fc .fc-header-center { +display: none; +} +.fc .fc-widget-header { +background: #73B9FF; +border-color: #73B9FF; +color: white; +font-size: 13px; +font-size: 1.3rem; +font-weight: 500; +padding: 10px 0; +text-transform: uppercase; +} +.fc .fc-header-title h2 { +font-size: 24px; +font-size: 2.4rem; +font-weight: normal; +text-transform: uppercase; +} +.fc .fc-header-title h2:before { +color: #cccccc; +content: "\f073"; +display: inline-block; +font-family: FontAwesome; +font-size: 30px; +font-size: 3rem; +font-style: normal; +font-weight: normal; +line-height: 1; +margin-right: 10px; +-webkit-font-smoothing: antialiased; +} +/* Fullcalendar - Borders */ +.fc-widget-content { +border-color: #DDD; +} +/* Fullcalendar - Border Radius */ +.fc-content thead .fc-last .fc-first { +border-top-left-radius: 0; +} +.fc-content thead .fc-last .fc-last { +border-top-right-radius: 0; +} +.fc-content tbody .fc-last .fc-first { +border-bottom-left-radius: 0; +} +.fc-content tbody .fc-last .fc-last { +border-bottom-right-radius: 0; +} +/* Fullcalendar - Today */ +.fc-content .fc-widget-content.fc-today { +background: #F7F7F7; +} +/* Fullcalendar - Event Basics */ +.fc-event { +background: #ebebeb; +border-color: #ebebeb; +} +.fc-event .fc-event-inner { +padding: 2px 5px; +} +/* Fullcalendar - Link Event */ +a.fc-event:hover .fc-event-inner { +color: #FFF; +text-decoration: underline; +} +/* Fullcalendar - Event Time Format */ +.fc-grid .fc-event-time { +font-weight: 500; +} +.fc-grid .fc-event-time:after { +content: ' /'; +} +.fc-grid .fc-event-title { +font-weight: 300; +} +/* Fullcalendar - Event States */ +/* Buttons - States */ +.fc-event.fc-event-default { +background: #ebebeb; +border-color: #ebebeb; +} +.fc-event.fc-event-default .fc-event-inner { +color: #777777; +} +a.fc-event.fc-event-default:hover { +color: #777777; +} +.fc-event.fc-event-primary { +background: #34495E; +border-color: #34495E; +} +.fc-event.fc-event-primary .fc-event-inner { +color: white; +} +a.fc-event.fc-event-primary:hover { +color: white; +} +.fc-event.fc-event-success { +background: #47a447; +border-color: #47a447; +} +.fc-event.fc-event-success .fc-event-inner { +color: white; +} +a.fc-event.fc-event-success:hover { +color: white; +} +.fc-event.fc-event-warning { +background: #ed9c28; +border-color: #ed9c28; +} +.fc-event.fc-event-warning .fc-event-inner { +color: white; +} +a.fc-event.fc-event-warning:hover { +color: white; +} +.fc-event.fc-event-danger { +background: #d2322d; +border-color: #d2322d; +} +.fc-event.fc-event-danger .fc-event-inner { +color: white; +} +a.fc-event.fc-event-danger:hover { +color: white; +} +.fc-event.fc-event-info { +background: #5bc0de; +border-color: #5bc0de; +} +.fc-event.fc-event-info .fc-event-inner { +color: white; +} +a.fc-event.fc-event-info:hover { +color: white; +} +.fc-event.fc-event-dark { +background: #171717; +border-color: #171717; +} +.fc-event.fc-event-dark .fc-event-inner { +color: white; +} +a.fc-event.fc-event-dark:hover { +color: white; +} +/* Fullcalendar - External Events */ +.external-event { +cursor: move; +display: inline-block; +font-size: 11px; +font-size: 1.1rem; +font-weight: normal; +margin: 5px; +padding: 10px; +text-align: left; +} +@media only screen and (max-width: 400px) { +.fc .fc-header-right .btn-group { +margin: 10px 0; +} +.fc .fc-header-right br.hidden { +display: block !important; +} +} +@media only screen and (max-width: 480px) { +.fc .fc-header-left, +.fc .fc-header-right { +display: block; +width: 100%; +} +.fc .fc-header-right { +padding: 0 0 15px; +text-align: center; +} +} +@media only screen and (max-width: 991px) { +.fc { +margin-bottom: 30px; +} +} +/* Modal Dialog +=================================================================== */ +.modal-content { +position: relative; +background-color: #fff; +-webkit-background-clip: padding-box; +background-clip: padding-box; +border: 1px solid #999; +border: 1px solid rgba(0, 0, 0, .2); +border-radius: 0; +outline: 0; +-webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5); +box-shadow: 0 3px 9px rgba(0, 0, 0, .5); +} +/* Responsive +=================================================================== */ +@media (max-width: 479px) { +.col-xxs-12 { +width: 100%; +} +.panel { +overflow: hidden; +} +.panel .panel-heading .panel-actions { +display: none; +} +.badge { +margin: 3px 1px; +} +.fc-header-title h2 { +font-size: 22px; +} +.dropzone .dz-default.dz-message { +background-image: none; +} + +.datepicker.datepicker-primary { +min-width: 200px; +} +.pricing-table .text-left { +text-align: center; +} +.pricing-table .pricing-wrap { +float: center; +width: 100%; +position: relative; +} +.pricing-table .most-popular { +margin-top: 50px; +float: center; +width: 100%; +} +#content2 .bk-avatar { +padding-left: 0 !important; +text-align: center; +} +#content2 .bk-padding-left-20 { +padding-left: 0 !important; +text-align: center; +} +.mailbox .panel .mailbox-btn-action { +text-align: left; +} +.mailbox .mailbox-btn-action .item-action-group { +margin: 0; +} +.mailbox .message .header .date { +display: inline-block; +width: 100%; +text-align: left; +float: left; +margin-top: 15px; +margin-bottom: 20px; +} +.sz1 { +width: 230px; +height: 160px; +} +.sz0 { +width: 230px; +height: 80px; +} +} +@media screen and (min-width: 768px) { +.container-fluid.content { +overflow: hidden; +} +.sidebar-collapse.collapse { +display: block !important; +height: auto !important; +padding-bottom: 0; +overflow: visible !important; +} +} +@media (max-width: 767px) { +.container-fluid.content { +overflow: hidden; +} +.main { +padding: 125px 10px 0 10px !important; +} +.navbar .navbar-form { +display: none; +} +.navbar .navbar-nav { +margin-top: 0px; +} +.navbar .navbar-nav li { +float: left; +} +.navbar .navbar-left { +float: left; +} +.navbar .navbar-right { +float: right; +} +.fc-button { +display: none; +} +.pricing-table .text-left { +text-align: center; +} +.pricing-table .pricing-wrap { +float: center; +width: 100%; +position: relative; +} +.pricing-table .most-popular { +margin-top: 50px; +float: center; +width: 100%; +} +} +@media (min-width: 768px) and (max-width: 991px) { +.navbar-form input[type=text] { +width: 200px !important; +} +} +@media (max-width: 991px) { +.page-header { +left: 0; +} +.sidebar { +z-index: 1; +} +#sidebar-minify { +display: none; +} +.navbar { +padding: 0; +} +.navbar .navbar-actions { +margin-left: -15px; +} +.main { +padding: 130px 15px 0 15px; +z-index: 10; +position: relative; +} +footer { +padding: 0 20px; +margin-bottom: 0; +text-align: center; +} +#usage, +#usage-blank { +display: none; +} +} +@media (min-width: 992px) and (max-width: 1199px) { +} +@media (min-width: 992px) { +.hidden-xs, +.hidden-sm, +.hidden-md, +.hidden-lg { +display: inline-block !important; +} +} +@media (min-width: 1200px) { +} +/*==================================================END CSS=====================================================*/ +/*==============================================================================================================*/ +/*==============================================================================================================*/ + + + diff --git a/src/main/resources/static/fonts/FontAwesome.otf b/src/main/resources/static/fonts/FontAwesome.otf new file mode 100644 index 0000000..3461e3f Binary files /dev/null and b/src/main/resources/static/fonts/FontAwesome.otf differ diff --git a/src/main/resources/static/fonts/WeatherIcons-Regular.otf b/src/main/resources/static/fonts/WeatherIcons-Regular.otf new file mode 100644 index 0000000..ed3d7dd Binary files /dev/null and b/src/main/resources/static/fonts/WeatherIcons-Regular.otf differ diff --git a/src/main/resources/static/fonts/climacons-webfont.eot b/src/main/resources/static/fonts/climacons-webfont.eot new file mode 100644 index 0000000..e5bd704 Binary files /dev/null and b/src/main/resources/static/fonts/climacons-webfont.eot differ diff --git a/src/main/resources/static/fonts/climacons-webfont.svg b/src/main/resources/static/fonts/climacons-webfont.svg new file mode 100644 index 0000000..3515b16 --- /dev/null +++ b/src/main/resources/static/fonts/climacons-webfont.svg @@ -0,0 +1,917 @@ + + + + +This is a custom SVG font generated by IcoMoon. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/static/fonts/climacons-webfont.ttf b/src/main/resources/static/fonts/climacons-webfont.ttf new file mode 100644 index 0000000..84bc84e Binary files /dev/null and b/src/main/resources/static/fonts/climacons-webfont.ttf differ diff --git a/src/main/resources/static/fonts/climacons-webfont.woff b/src/main/resources/static/fonts/climacons-webfont.woff new file mode 100644 index 0000000..ebbcc76 Binary files /dev/null and b/src/main/resources/static/fonts/climacons-webfont.woff differ diff --git a/src/main/resources/static/fonts/fontawesome-webfont.eot b/src/main/resources/static/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000..6cfd566 Binary files /dev/null and b/src/main/resources/static/fonts/fontawesome-webfont.eot differ diff --git a/src/main/resources/static/fonts/fontawesome-webfont.svg b/src/main/resources/static/fonts/fontawesome-webfont.svg new file mode 100644 index 0000000..a9f8469 --- /dev/null +++ b/src/main/resources/static/fonts/fontawesome-webfont.svg @@ -0,0 +1,504 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/static/fonts/fontawesome-webfont.ttf b/src/main/resources/static/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000..5cd6cff Binary files /dev/null and b/src/main/resources/static/fonts/fontawesome-webfont.ttf differ diff --git a/src/main/resources/static/fonts/fontawesome-webfont.woff b/src/main/resources/static/fonts/fontawesome-webfont.woff new file mode 100644 index 0000000..9eaecb3 Binary files /dev/null and b/src/main/resources/static/fonts/fontawesome-webfont.woff differ diff --git a/src/main/resources/static/fonts/glyphicons-halflings-regular.eot b/src/main/resources/static/fonts/glyphicons-halflings-regular.eot new file mode 100644 index 0000000..4a4ca86 Binary files /dev/null and b/src/main/resources/static/fonts/glyphicons-halflings-regular.eot differ diff --git a/src/main/resources/static/fonts/glyphicons-halflings-regular.svg b/src/main/resources/static/fonts/glyphicons-halflings-regular.svg new file mode 100644 index 0000000..e3e2dc7 --- /dev/null +++ b/src/main/resources/static/fonts/glyphicons-halflings-regular.svg @@ -0,0 +1,229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/static/fonts/glyphicons-halflings-regular.ttf b/src/main/resources/static/fonts/glyphicons-halflings-regular.ttf new file mode 100644 index 0000000..67fa00b Binary files /dev/null and b/src/main/resources/static/fonts/glyphicons-halflings-regular.ttf differ diff --git a/src/main/resources/static/fonts/glyphicons-halflings-regular.woff b/src/main/resources/static/fonts/glyphicons-halflings-regular.woff new file mode 100644 index 0000000..8c54182 Binary files /dev/null and b/src/main/resources/static/fonts/glyphicons-halflings-regular.woff differ diff --git a/src/main/resources/static/fonts/weathericons-regular-webfont.eot b/src/main/resources/static/fonts/weathericons-regular-webfont.eot new file mode 100644 index 0000000..3ae46ac Binary files /dev/null and b/src/main/resources/static/fonts/weathericons-regular-webfont.eot differ diff --git a/src/main/resources/static/fonts/weathericons-regular-webfont.svg b/src/main/resources/static/fonts/weathericons-regular-webfont.svg new file mode 100644 index 0000000..224188d --- /dev/null +++ b/src/main/resources/static/fonts/weathericons-regular-webfont.svg @@ -0,0 +1,153 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/static/fonts/weathericons-regular-webfont.ttf b/src/main/resources/static/fonts/weathericons-regular-webfont.ttf new file mode 100644 index 0000000..8d8a1c4 Binary files /dev/null and b/src/main/resources/static/fonts/weathericons-regular-webfont.ttf differ diff --git a/src/main/resources/static/fonts/weathericons-regular-webfont.woff b/src/main/resources/static/fonts/weathericons-regular-webfont.woff new file mode 100644 index 0000000..87f3070 Binary files /dev/null and b/src/main/resources/static/fonts/weathericons-regular-webfont.woff differ diff --git a/src/main/resources/static/ico/Thumbs.db b/src/main/resources/static/ico/Thumbs.db new file mode 100644 index 0000000..c2bceeb Binary files /dev/null and b/src/main/resources/static/ico/Thumbs.db differ diff --git a/src/main/resources/static/ico/apple-touch-icon-114x114.png b/src/main/resources/static/ico/apple-touch-icon-114x114.png new file mode 100644 index 0000000..7c1bf83 Binary files /dev/null and b/src/main/resources/static/ico/apple-touch-icon-114x114.png differ diff --git a/src/main/resources/static/ico/apple-touch-icon-120x120.png b/src/main/resources/static/ico/apple-touch-icon-120x120.png new file mode 100644 index 0000000..dd85e4a Binary files /dev/null and b/src/main/resources/static/ico/apple-touch-icon-120x120.png differ diff --git a/src/main/resources/static/ico/apple-touch-icon-144x144.png b/src/main/resources/static/ico/apple-touch-icon-144x144.png new file mode 100644 index 0000000..a2f1d0c Binary files /dev/null and b/src/main/resources/static/ico/apple-touch-icon-144x144.png differ diff --git a/src/main/resources/static/ico/apple-touch-icon-152x152.png b/src/main/resources/static/ico/apple-touch-icon-152x152.png new file mode 100644 index 0000000..189a26a Binary files /dev/null and b/src/main/resources/static/ico/apple-touch-icon-152x152.png differ diff --git a/src/main/resources/static/ico/apple-touch-icon-57x57.png b/src/main/resources/static/ico/apple-touch-icon-57x57.png new file mode 100644 index 0000000..3816703 Binary files /dev/null and b/src/main/resources/static/ico/apple-touch-icon-57x57.png differ diff --git a/src/main/resources/static/ico/apple-touch-icon-72x72.png b/src/main/resources/static/ico/apple-touch-icon-72x72.png new file mode 100644 index 0000000..e2d2b12 Binary files /dev/null and b/src/main/resources/static/ico/apple-touch-icon-72x72.png differ diff --git a/src/main/resources/static/ico/apple-touch-icon-76x76.png b/src/main/resources/static/ico/apple-touch-icon-76x76.png new file mode 100644 index 0000000..1ae05d5 Binary files /dev/null and b/src/main/resources/static/ico/apple-touch-icon-76x76.png differ diff --git a/src/main/resources/static/ico/apple-touch-icon.png b/src/main/resources/static/ico/apple-touch-icon.png new file mode 100644 index 0000000..3816703 Binary files /dev/null and b/src/main/resources/static/ico/apple-touch-icon.png differ diff --git a/src/main/resources/static/ico/favicon.ico b/src/main/resources/static/ico/favicon.ico new file mode 100644 index 0000000..8192000 Binary files /dev/null and b/src/main/resources/static/ico/favicon.ico differ diff --git a/src/main/resources/static/img/Thumbs.db b/src/main/resources/static/img/Thumbs.db new file mode 100644 index 0000000..bb0a1e5 Binary files /dev/null and b/src/main/resources/static/img/Thumbs.db differ diff --git a/src/main/resources/static/img/avatar.jpg b/src/main/resources/static/img/avatar.jpg new file mode 100644 index 0000000..0f9f2af Binary files /dev/null and b/src/main/resources/static/img/avatar.jpg differ diff --git a/src/main/resources/static/img/avatar1.jpg b/src/main/resources/static/img/avatar1.jpg new file mode 100644 index 0000000..d2aa3cb Binary files /dev/null and b/src/main/resources/static/img/avatar1.jpg differ diff --git a/src/main/resources/static/img/avatar2.jpg b/src/main/resources/static/img/avatar2.jpg new file mode 100644 index 0000000..b593635 Binary files /dev/null and b/src/main/resources/static/img/avatar2.jpg differ diff --git a/src/main/resources/static/img/avatar3.jpg b/src/main/resources/static/img/avatar3.jpg new file mode 100644 index 0000000..3a8f946 Binary files /dev/null and b/src/main/resources/static/img/avatar3.jpg differ diff --git a/src/main/resources/static/img/avatar4.jpg b/src/main/resources/static/img/avatar4.jpg new file mode 100644 index 0000000..f3a5bfd Binary files /dev/null and b/src/main/resources/static/img/avatar4.jpg differ diff --git a/src/main/resources/static/img/avatar5.jpg b/src/main/resources/static/img/avatar5.jpg new file mode 100644 index 0000000..f409cd4 Binary files /dev/null and b/src/main/resources/static/img/avatar5.jpg differ diff --git a/src/main/resources/static/img/avatar6.jpg b/src/main/resources/static/img/avatar6.jpg new file mode 100644 index 0000000..cab0443 Binary files /dev/null and b/src/main/resources/static/img/avatar6.jpg differ diff --git a/src/main/resources/static/img/avatar7.jpg b/src/main/resources/static/img/avatar7.jpg new file mode 100644 index 0000000..10ba112 Binary files /dev/null and b/src/main/resources/static/img/avatar7.jpg differ diff --git a/src/main/resources/static/img/bg1.jpg b/src/main/resources/static/img/bg1.jpg new file mode 100644 index 0000000..a898a23 Binary files /dev/null and b/src/main/resources/static/img/bg1.jpg differ diff --git a/src/main/resources/static/img/browser-chrome-big.png b/src/main/resources/static/img/browser-chrome-big.png new file mode 100644 index 0000000..49ce366 Binary files /dev/null and b/src/main/resources/static/img/browser-chrome-big.png differ diff --git a/src/main/resources/static/img/browser-firefox-big.png b/src/main/resources/static/img/browser-firefox-big.png new file mode 100644 index 0000000..6380286 Binary files /dev/null and b/src/main/resources/static/img/browser-firefox-big.png differ diff --git a/src/main/resources/static/img/browser-ie.png b/src/main/resources/static/img/browser-ie.png new file mode 100644 index 0000000..d0bdb26 Binary files /dev/null and b/src/main/resources/static/img/browser-ie.png differ diff --git a/src/main/resources/static/img/browser-opera.png b/src/main/resources/static/img/browser-opera.png new file mode 100644 index 0000000..43526a2 Binary files /dev/null and b/src/main/resources/static/img/browser-opera.png differ diff --git a/src/main/resources/static/img/browser-safari.png b/src/main/resources/static/img/browser-safari.png new file mode 100644 index 0000000..2cd36f1 Binary files /dev/null and b/src/main/resources/static/img/browser-safari.png differ diff --git a/src/main/resources/static/img/flat-landscape.jpg b/src/main/resources/static/img/flat-landscape.jpg new file mode 100644 index 0000000..8ab0cef Binary files /dev/null and b/src/main/resources/static/img/flat-landscape.jpg differ diff --git a/src/main/resources/static/img/flat-sun.jpg b/src/main/resources/static/img/flat-sun.jpg new file mode 100644 index 0000000..9b5af82 Binary files /dev/null and b/src/main/resources/static/img/flat-sun.jpg differ diff --git a/src/main/resources/static/img/gallery/Thumbs.db b/src/main/resources/static/img/gallery/Thumbs.db new file mode 100644 index 0000000..f5e813a Binary files /dev/null and b/src/main/resources/static/img/gallery/Thumbs.db differ diff --git a/src/main/resources/static/img/gallery/photo1.jpg b/src/main/resources/static/img/gallery/photo1.jpg new file mode 100644 index 0000000..d4500a2 Binary files /dev/null and b/src/main/resources/static/img/gallery/photo1.jpg differ diff --git a/src/main/resources/static/img/gallery/photo10.jpg b/src/main/resources/static/img/gallery/photo10.jpg new file mode 100644 index 0000000..986e155 Binary files /dev/null and b/src/main/resources/static/img/gallery/photo10.jpg differ diff --git a/src/main/resources/static/img/gallery/photo11.jpg b/src/main/resources/static/img/gallery/photo11.jpg new file mode 100644 index 0000000..228aa8f Binary files /dev/null and b/src/main/resources/static/img/gallery/photo11.jpg differ diff --git a/src/main/resources/static/img/gallery/photo12.jpg b/src/main/resources/static/img/gallery/photo12.jpg new file mode 100644 index 0000000..715158b Binary files /dev/null and b/src/main/resources/static/img/gallery/photo12.jpg differ diff --git a/src/main/resources/static/img/gallery/photo13.jpg b/src/main/resources/static/img/gallery/photo13.jpg new file mode 100644 index 0000000..4730bbc Binary files /dev/null and b/src/main/resources/static/img/gallery/photo13.jpg differ diff --git a/src/main/resources/static/img/gallery/photo14.jpg b/src/main/resources/static/img/gallery/photo14.jpg new file mode 100644 index 0000000..bc76443 Binary files /dev/null and b/src/main/resources/static/img/gallery/photo14.jpg differ diff --git a/src/main/resources/static/img/gallery/photo15.jpg b/src/main/resources/static/img/gallery/photo15.jpg new file mode 100644 index 0000000..49cebcc Binary files /dev/null and b/src/main/resources/static/img/gallery/photo15.jpg differ diff --git a/src/main/resources/static/img/gallery/photo2.jpg b/src/main/resources/static/img/gallery/photo2.jpg new file mode 100644 index 0000000..a68f977 Binary files /dev/null and b/src/main/resources/static/img/gallery/photo2.jpg differ diff --git a/src/main/resources/static/img/gallery/photo3.jpg b/src/main/resources/static/img/gallery/photo3.jpg new file mode 100644 index 0000000..2981acf Binary files /dev/null and b/src/main/resources/static/img/gallery/photo3.jpg differ diff --git a/src/main/resources/static/img/gallery/photo4.jpg b/src/main/resources/static/img/gallery/photo4.jpg new file mode 100644 index 0000000..751046a Binary files /dev/null and b/src/main/resources/static/img/gallery/photo4.jpg differ diff --git a/src/main/resources/static/img/gallery/photo5.jpg b/src/main/resources/static/img/gallery/photo5.jpg new file mode 100644 index 0000000..6341993 Binary files /dev/null and b/src/main/resources/static/img/gallery/photo5.jpg differ diff --git a/src/main/resources/static/img/gallery/photo6.jpg b/src/main/resources/static/img/gallery/photo6.jpg new file mode 100644 index 0000000..31919d1 Binary files /dev/null and b/src/main/resources/static/img/gallery/photo6.jpg differ diff --git a/src/main/resources/static/img/gallery/photo7.jpg b/src/main/resources/static/img/gallery/photo7.jpg new file mode 100644 index 0000000..c6f0fb2 Binary files /dev/null and b/src/main/resources/static/img/gallery/photo7.jpg differ diff --git a/src/main/resources/static/img/gallery/photo8.jpg b/src/main/resources/static/img/gallery/photo8.jpg new file mode 100644 index 0000000..04695dc Binary files /dev/null and b/src/main/resources/static/img/gallery/photo8.jpg differ diff --git a/src/main/resources/static/img/gallery/photo9.jpg b/src/main/resources/static/img/gallery/photo9.jpg new file mode 100644 index 0000000..e1e69c0 Binary files /dev/null and b/src/main/resources/static/img/gallery/photo9.jpg differ diff --git a/src/main/resources/static/img/general/Thumbs.db b/src/main/resources/static/img/general/Thumbs.db new file mode 100644 index 0000000..38e85a9 Binary files /dev/null and b/src/main/resources/static/img/general/Thumbs.db differ diff --git a/src/main/resources/static/img/general/general-img-1.jpg b/src/main/resources/static/img/general/general-img-1.jpg new file mode 100644 index 0000000..0f4c83c Binary files /dev/null and b/src/main/resources/static/img/general/general-img-1.jpg differ diff --git a/src/main/resources/static/img/general/general-img-2.jpg b/src/main/resources/static/img/general/general-img-2.jpg new file mode 100644 index 0000000..b641343 Binary files /dev/null and b/src/main/resources/static/img/general/general-img-2.jpg differ diff --git a/src/main/resources/static/img/general/general-img-3.jpg b/src/main/resources/static/img/general/general-img-3.jpg new file mode 100644 index 0000000..2f0a8ab Binary files /dev/null and b/src/main/resources/static/img/general/general-img-3.jpg differ diff --git a/src/main/resources/static/img/logo.png b/src/main/resources/static/img/logo.png new file mode 100644 index 0000000..07deff3 Binary files /dev/null and b/src/main/resources/static/img/logo.png differ diff --git a/src/main/resources/static/img/sunny-large.jpg b/src/main/resources/static/img/sunny-large.jpg new file mode 100644 index 0000000..25b3463 Binary files /dev/null and b/src/main/resources/static/img/sunny-large.jpg differ diff --git a/src/main/resources/static/js/core.min.js b/src/main/resources/static/js/core.min.js new file mode 100644 index 0000000..24dd6ec --- /dev/null +++ b/src/main/resources/static/js/core.min.js @@ -0,0 +1,368 @@ +// Navigation +(function( $ ) { + + 'use strict'; + + var $items = $( '.nav-sidebar > li.nav-parent' ); + + function expand( li ) { + li.children( 'ul.nav-children' ).slideDown( 'fast', function() { + li.addClass( 'nav-expanded' ); + $(this).css( 'display', '' ); + ensureVisible( li ); + }); + } + + function collapse( li ) { + li.children('ul.nav-children' ).slideUp( 'fast', function() { + $(this).css( 'display', '' ); + li.removeClass( 'nav-expanded' ); + }); + } + + function ensureVisible( li ) { + var scroller = li.offsetParent(); + if ( !scroller.get(0) ) { + return false; + } + + var top = li.position().top; + if ( top < 0 ) { + scroller.animate({ + scrollTop: scroller.scrollTop() + top + }, 'fast'); + } + } + + $items.on('click', function() { + var prev = $( '.nav-sidebar > li.nav-expanded' ), + next = $( this ); + + if ( prev.get( 0 ) !== next.get( 0 ) ) { + collapse( prev ); + expand( next ); + } else { + collapse( prev ); + } + }); + + $items.find('.nav-children a').on( 'click', function( ev ) { + ev.stopPropagation(); + }); + +}).apply( this, [ jQuery ]); + + +/***** +* CONFIGURATION +*/ +function loadJS(e, t) { + for (i = 0; i < e.length; i++) { + var n = document.getElementsByTagName('body') [0], + r = document.createElement('script'); + r.type = 'text/javascript'; + r.async = !1; + r.src = e[i]; + n.appendChild(r) + } + if (t) { + var n = document.getElementsByTagName('body') [0], + r = document.createElement('script'); + r.type = 'text/javascript'; + r.async = !1; + r.src = t; + n.appendChild(r) + } +} +function loadCSS(e, t) { + if (!cssArray[e]) { + cssArray[e] = !0; + var n = document.getElementsByTagName('head') [0], + r = document.createElement('link'); + r.setAttribute('rel', 'stylesheet'); + r.setAttribute('href', e); + r.onload = t; + n.appendChild(r) + } else t && t() +} +function setUpUrl(e) { + $('.nav li') .removeClass('active'); + $('.nav li:has(a[href="' + e + '"])') .addClass('active') .parent() .show(); + loadPage(e) +} +function loadPage(e) { + var t = $('.main'); + $.ajax({ + type: 'GET', + url: e, + dataType: 'html', + cache: !0, + beforeSend: function () { + t.css('opacity', 0.5) + }, + success: function (e) { + Pace.restart(); + $('html, body') .animate({ + scrollTop: 0 + }, 0); + t.css({ + opacity: 0 + }) .html(e) .delay(250) .animate({ + opacity: 1 + }, 500) + }, + error: function (e, n, r) { + t.html('

    Error 404! Page not found.

    ') + }, + async: !1 + }) +} +function dropSidebarShadow() { + if ($('.nav-sidebar') .length) var e = $('.nav-sidebar') .offset() .top - $('.sidebar') .offset() .top; + e < 60 ? $('.sidebar-header') .addClass('drop-shadow') : $('.sidebar-header') .removeClass('drop-shadow'); + var t = $(window) .height() - $('.nav-sidebar') .outerHeight() - e; + t < 130 ? $('.sidebar-footer') .addClass('drop-shadow') : $('.sidebar-footer') .removeClass('drop-shadow') +} +function browser() { + function i(e) { + return e in document.documentElement.style + } + var e = !!window.opera && !!window.opera.version, + t = i('MozBoxSizing'), + n = Object.prototype.toString.call(window.HTMLElement) .indexOf('Constructor') > 0, + r = !n && i('WebkitTransform'); + return e ? !1 : n || r ? !0 : !1 +} +function retina() { + retinaMode = window.devicePixelRatio > 1; + return retinaMode +} +function activeCharts() { + if ($('.boxchart') .length) if (retina()) { + $('.boxchart') .sparkline('html', { + type: 'bar', + height: '60', + barWidth: '8', + barSpacing: '2', + barColor: '#ffffff', + negBarColor: '#eeeeee' + }); + if (jQuery.browser.mozilla) if (!navigator.userAgent.match(/Trident\/7\./)) { + $('.boxchart') .css('MozTransform', 'scale(0.5,0.5)') .css('height', '30px;'); + $('.boxchart') .css('height', '30px;') .css('margin', '-15px 15px -15px -5px') + } else { + $('.boxchart') .css('zoom', 0.5); + $('.boxchart') .css('height', '30px;') .css('margin', '0px 15px -15px 17px') + } else $('.boxchart') .css('zoom', 0.5) + } else $('.boxchart') .sparkline('html', { + type: 'bar', + height: '30', + barWidth: '4', + barSpacing: '1', + barColor: '#ffffff', + negBarColor: '#eeeeee' + }); + if ($('.linechart') .length) if (retina()) { + $('.linechart') .sparkline('html', { + width: '130', + height: '60', + lineColor: '#ffffff', + fillColor: !1, + spotColor: !1, + maxSpotColor: !1, + minSpotColor: !1, + spotRadius: 2, + lineWidth: 2 + }); + if (jQuery.browser.mozilla) if (!navigator.userAgent.match(/Trident\/7\./)) { + $('.linechart') .css('MozTransform', 'scale(0.5,0.5)') .css('height', '30px;'); + $('.linechart') .css('height', '30px;') .css('margin', '-15px 15px -15px -5px') + } else { + $('.linechart') .css('zoom', 0.5); + $('.linechart') .css('height', '30px;') .css('margin', '0px 15px -15px 17px') + } else $('.linechart') .css('zoom', 0.5) + } else $('.linechart') .sparkline('html', { + width: '65', + height: '30', + lineColor: '#ffffff', + fillColor: !1, + spotColor: !1, + maxSpotColor: !1, + minSpotColor: !1, + spotRadius: 2, + lineWidth: 1 + }); + $('.chart-stat') .length && (retina() ? $('.chart-stat > .chart') .each(function () { + var e = $(this) .css('color'); + $(this) .sparkline('html', { + width: '180%', + height: 80, + lineColor: e, + fillColor: !1, + spotColor: !1, + maxSpotColor: !1, + minSpotColor: !1, + spotRadius: 2, + lineWidth: 2 + }); + if (jQuery.browser.mozilla) if (!navigator.userAgent.match(/Trident\/7\./)) { + $(this) .css('MozTransform', 'scale(0.5,0.5)'); + $(this) .css('height', '40px;') .css('margin', '-20px 0px -20px -25%') + } else $(this) .css('zoom', 0.5); + else $(this) .css('zoom', 0.5) + }) : $('.chart-stat > .chart') .each(function () { + var e = $(this) .css('color'); + $(this) .sparkline('html', { + width: '90%', + height: 40, + lineColor: e, + fillColor: !1, + spotColor: !1, + maxSpotColor: !1, + minSpotColor: !1, + spotRadius: 2, + lineWidth: 2 + }) + })) +} +function todoList() { + $('.todo-list-tasks') .sortable({ + connectWith: '.todo-list-tasks', + cancel: '.disabled' + }); + $('.todo-list-tasks > li > label > .custom-checkbox') .change(function () { + $(this) .parent() .parent() .clone() .appendTo('.completed') .addClass('disabled') .find('.custom-checkbox') .attr('disabled', !0); + $(this) .parent() .parent() .slideUp('slow', function () { + $(this) .remove() + }) + }); + $('.todo-list') .disableSelection() +} +function discussionWidget() { + $('.discussions') .find('.delete') .click(function () { + $(this) .parent() .fadeTo('slow', 0, function () { + $(this) .slideUp('slow', function () { + $(this) .remove() + }) + }) + }) +} +function widthFunctions(e) { + $('.timeline') && $('.timeslot') .each(function () { + var e = $(this) .find('.task') .outerHeight(); + $(this) .css('height', e) + }); + var t = $('.navbar, .page-header') .outerHeight(), + n = $('footer') .outerHeight(), + r = $(window) .height(), + i = $(window) .width(); + $('.sidebar-menu') .css('height', r - 200); + i < 992 && $('body') .removeClass('sidebar-minified'); + i > 768 && $('.main') .css('min-height', r - n) +} +$.ajaxLoad = !1; +var cssArray = { +}; +if ($.ajaxLoad) { + paceOptions = { + elements: !1, + restartOnRequestAfter: !1 + }; + url = location.hash.replace(/^#/, ''); + url != '' ? setUpUrl(url) : setUpUrl($.defaultPage); + $(document) .on('click', '.nav a[href!="#"]', function (e) { + if ($(this) .attr('target') == '_blank') { + e.preventDefault(); + $this = $(e.currentTarget); + window.open($this.attr('href')) + } else if ($(this) .attr('target') == '_top') { + e.preventDefault(); + $this = $(e.currentTarget); + window.location = $this.attr('href') + } else { + e.preventDefault(); + var t = $(e.currentTarget); + window.location.hash = t.attr('href'); + setUpUrl(t.attr('href')) + } + }) +} +$(document) .ready(function (e) { + e('ul.nav-sidebar') .find('a') .each(function () { + if (e(e(this)) [0].href == String(window.location)) { + e(this) .parent() .addClass('active'); + e(this) .parents('ul') .add(this) .each(function () { + e(this) .show() .parent() .addClass('opened') + }) + } + }); + e('.nav-sidebar a') .click(function (t) { + e.ajaxLoad && t.preventDefault(); + if (e(this) .parent() .find('ul') .size() != 0) { + e(this) .parent() .hasClass('opened') ? e(this) .parent() .removeClass('opened') : e(this) .parent() .addClass('opened'); + e(this) .parent() .find('ul') .first() .slideToggle('slow', function () { + dropSidebarShadow() + }); + e(this) .parent() .parent() .parent() .hasClass('opened') || e('.nav a') .not(this) .parent() .find('ul') .slideUp('slow', function () { + e(this) .parent() .removeClass('opened') + }) + } else e(this) .parent() .parent() .parent() .hasClass('opened') || e('.nav a') .not(this) .parent() .find('ul') .slideUp('slow', function () { + e(this) .parent() .removeClass('opened') + }) + }); + + e('#main-menu-toggle') .click(function () { + e('body') .hasClass('sidebar-hide') ? e('body') .removeClass('sidebar-hide') : e('body') .addClass('sidebar-hide') + }); + e('#sidebar-menu') .click(function () { + e('.sidebar') .trigger('open') + }) +}); +$(document) .ready(function (e) { + widthFunctions(); + dropSidebarShadow(); + e('.sidebar') .mmenu(); + e('a[href="#"][data-top!=true]') .click(function (e) { + e.preventDefault() + }); + e('#myTab a:first') .tab('show'); + e('#myTab a') .click(function (t) { + t.preventDefault(); + e(this) .tab('show') + }); + e('[rel="tooltip"],[data-rel="tooltip"]') .tooltip({ + placement: 'bottom', + delay: { + show: 400, + hide: 200 + } + }); + e('[rel="popover"],[data-rel="popover"],[data-toggle="popover"]') .popover(); + e('.btn-close') .click(function (t) { + t.preventDefault(); + e(this) .parent() .parent() .parent() .fadeOut() + }); + e('.btn-minimize') .click(function (t) { + t.preventDefault(); + var n = e(this) .parent() .parent() .next('.panel-body'); + n.is(':visible') ? e('i', e(this)) .removeClass('fa-chevron-up') .addClass('fa-chevron-down') : e('i', e(this)) .removeClass('fa-chevron-down') .addClass('fa-chevron-up'); + n.slideToggle('slow', function () { + widthFunctions() + }) + }); + e('.btn-setting') .click(function (t) { + t.preventDefault(); + e('#myModal') .modal('show') + }) + e('.button-finish') .click(function (t) { + t.preventDefault(); + e('#finish-button') .modal('show') + }) +}); +$('.sidebar-menu') .scroll(function () { + dropSidebarShadow() +}); +$(window) .bind('resize', widthFunctions); + + + diff --git a/src/main/resources/static/js/jquery.mmenu.min.js b/src/main/resources/static/js/jquery.mmenu.min.js new file mode 100644 index 0000000..5f8f810 --- /dev/null +++ b/src/main/resources/static/js/jquery.mmenu.min.js @@ -0,0 +1,22 @@ +/* + * jQuery mmenu v4.3.1 + * @requires jQuery 1.7.0 or later + * + * mmenu.frebsite.nl + * + * Copyright (c) Fred Heusschen + * www.frebsite.nl + * + * Dual licensed under the MIT and GPL licenses. + * http://en.wikipedia.org/wiki/MIT_License + * http://en.wikipedia.org/wiki/GNU_General_Public_License + */ +!function(e){function s(s,n,t){if(t){if("object"!=typeof s&&(s={}),"boolean"!=typeof s.isMenu){var i=t.children();s.isMenu=1==i.length&&i.is(n.panelNodetype)}return s}s=e.extend(!0,{},e[a].defaults,s),("top"==s.position||"bottom"==s.position)&&("back"==s.zposition||"next"==s.zposition)&&(e[a].deprecated('Using position "'+s.position+'" in combination with zposition "'+s.zposition+'"','zposition "front"'),s.zposition="front");for(var o=["position","zposition","modal","moveBackground"],l=0,d=o.length;d>l;l++)"undefined"!=typeof s[o[l]]&&(e[a].deprecated('The option "'+o[l]+'"',"offCanvas."+o[l]),s.offCanvas=s.offCanvas||{},s.offCanvas[o[l]]=s[o[l]]);return s}function n(s){s=e.extend(!0,{},e[a].configuration,s);for(var n=["panel","list","selected","label","spacer"],t=0,i=n.length;i>t;t++)"undefined"!=typeof s[n[t]+"Class"]&&(e[a].deprecated('The configuration option "'+n[t]+'Class"',"classNames."+n[t]),s.classNames[n[t]]=s[n[t]+"Class"]);if("undefined"!=typeof s.counterClass&&(e[a].deprecated('The configuration option "counterClass"',"classNames.counters.counter"),s.classNames.counters=s.classNames.counters||{},s.classNames.counters.counter=s.counterClass),"undefined"!=typeof s.collapsedClass&&(e[a].deprecated('The configuration option "collapsedClass"',"classNames.labels.collapsed"),s.classNames.labels=s.classNames.labels||{},s.classNames.labels.collapsed=s.collapsedClass),"undefined"!=typeof s.header)for(var n=["panelHeader","panelNext","panelPrev"],t=0,i=n.length;i>t;t++)"undefined"!=typeof s.header[n[t]+"Class"]&&(e[a].deprecated('The configuration option "header.'+n[t]+'Class"',"classNames.header."+n[t]),s.classNames.header=s.classNames.header||{},s.classNames.header[n[t]]=s.header[n[t]+"Class"]);for(var n=["pageNodetype","pageSelector","menuWrapperSelector","menuInjectMethod"],t=0,i=n.length;i>t;t++)"undefined"!=typeof s[n[t]]&&(e[a].deprecated('The configuration option "'+n[t]+'"',"offCanvas."+n[t]),s.offCanvas=s.offCanvas||{},s.offCanvas[n[t]]=s[n[t]]);return s}function t(){u=!0,c.$wndw=e(window),c.$html=e("html"),c.$body=e("body"),e.each([l,d,r],function(e,s){s.add=function(e){e=e.split(" ");for(var n in e)s[e[n]]=s.mm(e[n])}}),l.mm=function(e){return"mm-"+e},l.add("wrapper menu ismenu inline panel list subtitle selected label spacer current highest hidden opened subopened subopen fullsubopen subclose"),l.umm=function(e){return"mm-"==e.slice(0,3)&&(e=e.slice(3)),e},d.mm=function(e){return"mm-"+e},d.add("parent"),r.mm=function(e){return e+".mm"},r.add("toggle open close setSelected transitionend webkitTransitionEnd mousedown mouseup touchstart touchmove touchend scroll resize click keydown keyup"),e[a]._c=l,e[a]._d=d,e[a]._e=r,e[a].glbl=c}function i(s,n){if(s.hasClass(l.current))return!1;var t=e("."+l.panel,n),i=t.filter("."+l.current);return t.removeClass(l.highest).removeClass(l.current).not(s).not(i).addClass(l.hidden),s.hasClass(l.opened)?i.addClass(l.highest).removeClass(l.opened).removeClass(l.subopened):(s.addClass(l.highest),i.addClass(l.subopened)),s.removeClass(l.hidden).addClass(l.current),setTimeout(function(){s.removeClass(l.subopened).addClass(l.opened)},25),"open"}var a="mmenu",o="4.3.1";if(!e[a]){var l={},d={},r={},u=!1,c={$wndw:null,$html:null,$body:null};e[a]=function(e,s,n){return this.$menu=e,this.opts=s,this.conf=n,this.vars={},this._init(),this},e[a].uniqueId=0,e[a].prototype={_init:function(){if(this.opts=s(this.opts,this.conf,this.$menu),this._initMenu(),this._initPanels(),this._initLinks(),this._bindCustomEvents(),e[a].addons)for(var n=0;n li",this.$menu);this.__refactorClass(n,this.conf.classNames.selected,"selected"),this.__refactorClass(n,this.conf.classNames.label,"label"),this.__refactorClass(n,this.conf.classNames.spacer,"spacer"),n.off(r.setSelected).on(r.setSelected,function(s,t){s.stopPropagation(),n.removeClass(l.selected),"boolean"!=typeof t&&(t=!0),t&&e(this).addClass(l.selected)}),this.__refactorClass(e("."+this.conf.classNames.panel,this.$menu),this.conf.classNames.panel,"panel"),this.$menu.children().filter(this.conf.panelNodetype).add(this.$menu.find("."+l.list).children().children().filter(this.conf.panelNodetype)).addClass(l.panel);var t=e("."+l.panel,this.$menu);t.each(function(){var n=e(this),t=n.attr("id")||s.__getUniqueId();n.attr("id",t)}),t.find("."+l.panel).each(function(){var n=e(this),t=n.is("ul, ol")?n:n.find("ul ,ol").first(),i=n.parent(),a=i.find("> a, > span"),o=i.closest("."+l.panel);if(n.data(d.parent,i),i.parent().is("."+l.list)){var r=e('').insertBefore(a);a.is("a")||r.addClass(l.fullsubopen),s.opts.slidingSubmenus&&t.prepend('
  • '+a.text()+"
  • ")}});var i=this.opts.slidingSubmenus?r.open:r.toggle;if(t.each(function(){var n=e(this),t=n.attr("id");e('a[href="#'+t+'"]',s.$menu).off(r.click).on(r.click,function(e){e.preventDefault(),n.trigger(i)})}),this.opts.slidingSubmenus){var a=e("."+l.list+" > li."+l.selected,this.$menu);a.parents("li").removeClass(l.selected).end().add(a.parents("li")).each(function(){var s=e(this),n=s.find("> ."+l.panel);n.length&&(s.parents("."+l.panel).addClass(l.subopened),n.addClass(l.opened))}).closest("."+l.panel).addClass(l.opened).parents("."+l.panel).addClass(l.subopened)}else{var a=e("li."+l.selected,this.$menu);a.parents("li").removeClass(l.selected).end().add(a.parents("li")).addClass(l.opened)}var o=t.filter("."+l.opened);o.length||(o=t.first()),o.addClass(l.opened).last().addClass(l.current),this.opts.slidingSubmenus&&t.not(o.last()).addClass(l.hidden).end().find("."+l.panel).appendTo(this.$menu)},_initLinks:function(){var s=this;e("."+l.list+" > li > a",this.$menu).not("."+l.subopen).not("."+l.subclose).not('[rel="external"]').not('[target="_blank"]').off(r.click).on(r.click,function(n){var t=e(this),i=t.attr("href");s.__valueOrFn(s.opts.onClick.setSelected,t)&&t.parent().trigger(r.setSelected);var a=s.__valueOrFn(s.opts.onClick.preventDefault,t,"#"==i.slice(0,1));a&&n.preventDefault(),s.__valueOrFn(s.opts.onClick.blockUI,t,!a)&&c.$html.addClass(l.blocking),s.__valueOrFn(s.opts.onClick.close,t,a)&&s.$menu.triggerHandler(r.close)})},_update:function(e){if(this.updates||(this.updates=[]),"function"==typeof e)this.updates.push(e);else for(var s=0,n=this.updates.length;n>s;s++)this.updates[s].call(this,e)},__valueOrFn:function(e,s,n){return"function"==typeof e?e.call(s[0]):"undefined"==typeof e&&"undefined"!=typeof n?n:e},__refactorClass:function(e,s,n){e.filter("."+s).removeClass(s).addClass(l[n])},__transitionend:function(e,s,n){var t=!1,i=function(){t||s.call(e[0]),t=!0};e.one(r.transitionend,i),e.one(r.webkitTransitionEnd,i),setTimeout(i,1.1*n)},__getUniqueId:function(){return l.mm(e[a].uniqueId++)}},e.fn[a]=function(i,o){return u||t(),i=s(i,o),o=n(o),this.each(function(){var s=e(this);s.data(a)||s.data(a,new e[a](s,i,o))})},e[a].version=o,e[a].defaults={classes:"",slidingSubmenus:!0,onClick:{setSelected:!0}},e[a].configuration={panelNodetype:"ul, ol, div",transitionDuration:400,classNames:{panel:"Panle",list:"List",selected:"Selected",label:"Label",spacer:"Spacer"}},function(){var s=window.document,n=window.navigator.userAgent,t="ontouchstart"in s,i="WebkitOverflowScrolling"in s.documentElement.style,o=function(){return n.indexOf("Android")>=0?2.4>parseFloat(n.slice(n.indexOf("Android")+8)):!1}();e[a].support={touch:t,oldAndroidBrowser:o,overflowscrolling:function(){return t?i?!0:o?!1:!0:!0}()}}(),e[a].debug=function(){},e[a].deprecated=function(e,s){"undefined"!=typeof console&&"undefined"!=typeof console.warn&&console.warn("MMENU: "+e+" is deprecated, use "+s+" instead.")}}}(jQuery); +/* + * jQuery mmenu offCanvas addon + * mmenu.frebsite.nl + * + * Copyright (c) Fred Heusschen + * www.frebsite.nl + */ +!function(e){function o(e){return e}function t(e){return"string"!=typeof e.pageSelector&&(e.pageSelector="> "+e.pageNodetype),e}function n(){u=!0,s=e[r]._c,i=e[r]._d,a=e[r]._e,s.add("offcanvas modal background opening blocker page"),i.add("style"),a.add("opening opened closing closed setPage"),p=e[r].glbl,p.$allMenus=(p.$allMenus||e()).add(this.$menu),p.$wndw.on(a.keydown,function(e){return p.$html.hasClass(s.opened)&&9==e.keyCode?(e.preventDefault(),!1):void 0});var o=0;p.$wndw.on(a.resize,function(e,t){if(t||p.$html.hasClass(s.opened)){var n=p.$wndw.height();(t||n!=o)&&(o=n,p.$page.css("minHeight",n))}})}var s,i,a,p,r="mmenu",l="offCanvas",u=!1;e[r].prototype["_addon_"+l]=function(){if(!this.opts[l])return this;u||n(),this.opts[l]=o(this.opts[l]),this.conf[l]=t(this.conf[l]),this.vars.opened=!1;var e=this.opts[l],i=this.conf[l],a=[s.offcanvas];"left"!=e.position&&a.push(s.mm(e.position)),"back"!=e.zposition&&a.push(s.mm(e.zposition)),this.$menu.addClass(a.join(" ")).parent().removeClass(s.wrapper),this[l+"_initPage"](p.$page),this[l+"_initBlocker"](),this[l+"_initOpenClose"](),this[l+"_bindCustomEvents"](),this.$menu[i.menuInjectMethod+"To"](i.menuWrapperSelector)},e[r].addons=e[r].addons||[],e[r].addons.push(l),e[r].defaults[l]={position:"left",zposition:"back",modal:!1,moveBackground:!0},e[r].configuration[l]={pageNodetype:"div",pageSelector:null,menuWrapperSelector:"body",menuInjectMethod:"prepend"},e[r].prototype.open=function(){if(this.vars.opened)return!1;var e=this;return this._openSetup(),setTimeout(function(){e._openFinish()},25),"open"},e[r].prototype._openSetup=function(){p.$allMenus.not(this.$menu).trigger(a.close),p.$page.data(i.style,p.$page.attr("style")||""),p.$wndw.trigger(a.resize,[!0]);var e=[s.opened];this.opts[l].modal&&e.push(s.modal),this.opts[l].moveBackground&&e.push(s.background),"left"!=this.opts[l].position&&e.push(s.mm(this.opts[l].position)),"back"!=this.opts[l].zposition&&e.push(s.mm(this.opts[l].zposition)),this.opts.classes&&e.push(this.opts.classes),p.$html.addClass(e.join(" ")),this.$menu.addClass(s.current+" "+s.opened)},e[r].prototype._openFinish=function(){var e=this;this.__transitionend(p.$page,function(){e.$menu.trigger(a.opened)},this.conf.transitionDuration),this.vars.opened=!0,p.$html.addClass(s.opening),this.$menu.trigger(a.opening)},e[r].prototype.close=function(){if(!this.vars.opened)return!1;var e=this;return this.__transitionend(p.$page,function(){e.$menu.removeClass(s.current).removeClass(s.opened),p.$html.removeClass(s.opened).removeClass(s.modal).removeClass(s.background).removeClass(s.mm(e.opts[l].position)).removeClass(s.mm(e.opts[l].zposition)),e.opts.classes&&p.$html.removeClass(e.opts.classes),p.$page.attr("style",p.$page.data(i.style)),e.vars.opened=!1,e.$menu.trigger(a.closed)},this.conf.transitionDuration),p.$html.removeClass(s.opening),this.$menu.trigger(a.closing),"close"},e[r].prototype[l+"_initBlocker"]=function(){var o=this;p.$blck||(p.$blck=e('
    ').appendTo(p.$body)),p.$blck.off(a.touchstart).on(a.touchstart,function(e){e.preventDefault(),e.stopPropagation(),p.$blck.trigger(a.mousedown)}).on(a.mousedown,function(e){e.preventDefault(),p.$html.hasClass(s.modal)||o.close()})},e[r].prototype[l+"_initPage"]=function(o){o||(o=e(this.conf[l].pageSelector,p.$body),o.length>1&&(e[r].debug("Multiple nodes found for the page-node, all nodes are wrapped in one <"+this.conf[l].pageNodetype+">."),o=o.wrapAll("<"+this.conf[l].pageNodetype+" />").parent())),o.addClass(s.page),p.$page=o},e[r].prototype[l+"_initOpenClose"]=function(){var o=this,t=this.$menu.attr("id");t&&t.length&&(this.conf.clone&&(t=s.umm(t)),e('a[href="#'+t+'"]').off(a.click).on(a.click,function(e){e.preventDefault(),o.open()}));var t=p.$page.attr("id");t&&t.length&&e('a[href="#'+t+'"]').on(a.click,function(e){e.preventDefault(),o.close()})},e[r].prototype[l+"_bindCustomEvents"]=function(){var e=this,o=a.open+" "+a.opening+" "+a.opened+" "+a.close+" "+a.closing+" "+a.closed+" "+a.setPage;this.$menu.off(o).on(o,function(e){e.stopPropagation()}),this.$menu.on(a.open,function(){e.open()}).on(a.close,function(){e.close()}).on(a.setPage,function(o,t){e[l+"_initPage"](t),e[l+"_initOpenClose"]()})}}(jQuery); \ No newline at end of file diff --git a/src/main/resources/static/js/pages/activity.js b/src/main/resources/static/js/pages/activity.js new file mode 100644 index 0000000..ab09219 --- /dev/null +++ b/src/main/resources/static/js/pages/activity.js @@ -0,0 +1 @@ +/* TYPE YOUR JAVA SCRIPT HERE */ diff --git a/src/main/resources/static/js/pages/buttons.js b/src/main/resources/static/js/pages/buttons.js new file mode 100644 index 0000000..ab09219 --- /dev/null +++ b/src/main/resources/static/js/pages/buttons.js @@ -0,0 +1 @@ +/* TYPE YOUR JAVA SCRIPT HERE */ diff --git a/src/main/resources/static/js/pages/calendar.js b/src/main/resources/static/js/pages/calendar.js new file mode 100644 index 0000000..7fb5bec --- /dev/null +++ b/src/main/resources/static/js/pages/calendar.js @@ -0,0 +1,143 @@ +(function( $ ) { + + 'use strict'; + + var initCalendarDragNDrop = function() { + $('#external-events div.external-event').each(function() { + + // create an Event Object (http://arshaw.com/fullcalendar/docs/event_data/Event_Object/) + // it doesn't need to have a start or end + var eventObject = { + title: $.trim($(this).text()) // use the element's text as the event title + }; + + // store the Event Object in the DOM element so we can get to it later + $(this).data('eventObject', eventObject); + + // make the event draggable using jQuery UI + $(this).draggable({ + zIndex: 999, + revert: true, // will cause the event to go back to its + revertDuration: 0 // original position after the drag + }); + + }); + }; + + var initCalendar = function() { + var $calendar = $('#calendar'); + var date = new Date(); + var d = date.getDate(); + var m = date.getMonth(); + var y = date.getFullYear(); + + $calendar.fullCalendar({ + header: { + left: 'title', + right: 'prev,today,next,basicDay,basicWeek,month' + }, + + timeFormat: 'h:mm', + + themeButtonIcons: { + prev: 'fa fa-caret-left', + next: 'fa fa-caret-right', + }, + + editable: true, + droppable: true, // this allows things to be dropped onto the calendar !!! + drop: function(date, allDay) { // this function is called when something is dropped + var $externalEvent = $(this); + // retrieve the dropped element's stored Event Object + var originalEventObject = $externalEvent.data('eventObject'); + + // we need to copy it, so that multiple events don't have a reference to the same object + var copiedEventObject = $.extend({}, originalEventObject); + + // assign it the date that was reported + copiedEventObject.start = date; + copiedEventObject.allDay = allDay; + copiedEventObject.className = $externalEvent.attr('data-event-class'); + + // render the event on the calendar + // the last `true` argument determines if the event "sticks" (http://arshaw.com/fullcalendar/docs/event_rendering/renderEvent/) + $('#calendar').fullCalendar('renderEvent', copiedEventObject, true); + + // is the "remove after drop" checkbox checked? + if ($('#RemoveAfterDrop').is(':checked')) { + // if so, remove the element from the "Draggable Events" list + $(this).remove(); + } + + }, + events: [ + { + title: 'All Day Event', + start: new Date(y, m, 5) + }, + { + title: 'Long Event', + start: new Date(y, m, d-6), + end: new Date(y, m, d-1) + }, + { + id: 999, + title: 'Repeating Event', + start: new Date(y, m, d-4, 17, 0), + allDay: false + }, + { + id: 999, + title: 'Repeating Event', + start: new Date(y, m, d+10, 16, 0), + allDay: false + }, + { + title: 'Meeting', + start: new Date(y, m, d, 9, 29), + allDay: false + }, + { + title: 'Lunch', + start: new Date(y, m, d, 11, 0), + end: new Date(y, m, d, 13, 0), + allDay: false, + className: 'fc-event-danger' + }, + { + title: 'Birthday Party', + start: new Date(y, m, d+2, 20, 0), + end: new Date(y, m, d+2, 23, 30), + allDay: false + }, + { + title: 'Click for Google', + start: new Date(y, m, 27), + end: new Date(y, m, 28), + url: 'http://google.com/' + } + ] + }); + + // FIX INPUTS TO BOOTSTRAP VERSIONS + var $calendarButtons = $calendar.find('.fc-header-right > span'); + $calendarButtons + .filter('.fc-button-prev, .fc-button-today, .fc-button-next') + .wrapAll('
    ') + .parent() + .after(''); + + $calendarButtons + .not('.fc-button-prev, .fc-button-today, .fc-button-next') + .wrapAll('
    '); + + $calendarButtons + .attr({ 'class': 'btn btn-sm btn-default' }); + }; + + $(function() { + initCalendar(); + initCalendarDragNDrop(); + }); + +}).apply(this, [ jQuery ]); \ No newline at end of file diff --git a/src/main/resources/static/js/pages/charts-flot.js b/src/main/resources/static/js/pages/charts-flot.js new file mode 100644 index 0000000..b5ebba9 --- /dev/null +++ b/src/main/resources/static/js/pages/charts-flot.js @@ -0,0 +1,494 @@ +function randNum(){ + return ((Math.floor( Math.random()* (1+40-20) ) ) + 20)* 1200; +} + +function randNum2(){ + return ((Math.floor( Math.random()* (1+40-20) ) ) + 20) * 500; +} + +function randNum3(){ + return ((Math.floor( Math.random()* (1+40-20) ) ) + 20) * 300; +} + +function randNum4(){ + return ((Math.floor( Math.random()* (1+40-20) ) ) + 20) * 100; +} + +$(document).ready(function(){ + +/* ---------- Chart with points ---------- */ + + if($("#dotChart").length) + { + var likes = [[1, 5+randNum()], [2, 10+randNum()], [3, 40+randNum()], [4, 60+randNum()],[5, 90+randNum()],[6, 40+randNum()],[7, 25+randNum()],[8, 35+randNum()]]; + + var plot = $.plot($("#dotChart"), + [ { data: likes, label: "Profit"} ], { + series: { + lines: { show: true, + lineWidth: 2, + fill: true, fillColor: { colors: [ { opacity: 0.5 }, { opacity: 0.2 } ] } + }, + points: { show: true, + lineWidth: 3 + }, + shadowSize: 0 + }, + grid: { hoverable: true, + clickable: true, + tickColor: "#f6f6f6", + borderWidth: 0 + }, + colors: ["#435D78"], + xaxis: {ticks:20, tickDecimals: 0}, + yaxis: {ticks:7, tickDecimals: 0}, + }); + + function showTooltip(x, y, contents) { + $('
    ' + contents + '
    ').css( { + position: 'absolute', + display: 'none', + top: y + 5, + left: x + 5, + border: '1px solid #fdd', + padding: '2px', + 'background-color': '#dfeffc', + opacity: 0.80 + }).appendTo("body").fadeIn(200); + } + + var previousPoint = null; + $("#dotChart").bind("plothover", function (event, pos, item) { + $("#x").text(pos.x.toFixed(2)); + $("#y").text(pos.y.toFixed(2)); + + if (item) { + if (previousPoint != item.dataIndex) { + previousPoint = item.dataIndex; + + $("#tooltip").remove(); + var x = item.datapoint[0].toFixed(2), + y = item.datapoint[1].toFixed(2); + + showTooltip(item.pageX, item.pageY, + item.series.label + " of " + x + " = " + y); + } + } + else { + $("#tooltip").remove(); + previousPoint = null; + } + }); + + } + + function randNumTW(){ + return ((Math.floor( Math.random()* (1+40-20) ) ) + 20); + } + +/* ---------- Chart with points ---------- */ + + if($("#stats-chart").length) + { + var visitors = [[1, randNum()-10], [2, randNum()-10], [3, randNum()-10], [4, randNum()],[5, randNum()],[6, 4+randNum()],[7, 5+randNum()],[8, 6+randNum()],[9, 6+randNum()],[10, 8+randNum()],[11, 9+randNum()],[12, 10+randNum()],[13,11+randNum()],[14, 12+randNum()],[15, 13+randNum()],[16, 14+randNum()],[17, 15+randNum()],[18, 15+randNum()],[19, 16+randNum()],[20, 17+randNum()],[21, 18+randNum()],[22, 19+randNum()],[23, 20+randNum()],[24, 21+randNum()],[25, 14+randNum()],[26, 24+randNum()],[27,25+randNum()],[28, 26+randNum()],[29, 27+randNum()], [30, 31+randNum()]]; + + var plot = $.plot($("#stats-chart"), + [ { data: visitors, label: "visitors" } ], { + series: { + lines: { show: true, + lineWidth: 3, + fill: true, fillColor: { colors: [ { opacity: 0.5 }, { opacity: 0.2 } ] } + }, + points: { show: true }, + shadowSize: 2 + }, + grid: { hoverable: true, + clickable: true, + tickColor: "#eee", + borderWidth: 0, + }, + colors: ["#b1d3d4"], + xaxis: {ticks:11, tickDecimals: 0}, + yaxis: {ticks:11, tickDecimals: 0}, + }); + + function showTooltip(x, y, contents) { + $('
    ' + contents + '
    ').css( { + position: 'absolute', + display: 'none', + top: y + 5, + left: x + 5, + border: '1px solid #fdd', + padding: '2px', + 'background-color': '#dfeffc', + opacity: 0.80 + }).appendTo("body").fadeIn(200); + } + + var previousPoint = null; + $("#stats-chart").bind("plothover", function (event, pos, item) { + $("#x").text(pos.x.toFixed(2)); + $("#y").text(pos.y.toFixed(2)); + + if (item) { + if (previousPoint != item.dataIndex) { + previousPoint = item.dataIndex; + + $("#tooltip").remove(); + var x = item.datapoint[0].toFixed(2), + y = item.datapoint[1].toFixed(2); + + showTooltip(item.pageX, item.pageY, + item.series.label + " of " + x + " = " + y); + } + } + else { + $("#tooltip").remove(); + previousPoint = null; + } + }); + + + + $("#sincos").bind("plotclick", function (event, pos, item) { + if (item) { + $("#clickdata").text("You clicked point " + item.dataIndex + " in " + item.series.label + "."); + plot.highlight(item.series, item.datapoint); + } + }); + } + +/* ---------- Chart with points ---------- */ + + if($("#sincos").length) + { + var sin = [], cos = []; + + for (var i = 0; i < 14; i += 0.5) { + sin.push([i, Math.sin(i)/i]); + cos.push([i, Math.cos(i)]); + } + + var plot = $.plot($("#sincos"), + [ { data: sin, label: "sin(x)/x"}, { data: cos, label: "cos(x)" } ], { + series: { + lines: { show: true, + lineWidth: 2, + }, + points: { show: true }, + shadowSize: 2 + }, + grid: { hoverable: true, + clickable: true, + tickColor: "#dddddd", + borderWidth: 0 + }, + yaxis: { min: -1.2, max: 1.2 }, + colors: ["#FA5833", "#435D78"] + }); + + function showTooltip(x, y, contents) { + $('
    ' + contents + '
    ').css( { + position: 'absolute', + display: 'none', + top: y + 5, + left: x + 5, + border: '1px solid #fdd', + padding: '2px', + 'background-color': '#dfeffc', + opacity: 0.80 + }).appendTo("body").fadeIn(200); + } + + var previousPoint = null; + $("#sincos").bind("plothover", function (event, pos, item) { + $("#x").text(pos.x.toFixed(2)); + $("#y").text(pos.y.toFixed(2)); + + if (item) { + if (previousPoint != item.dataIndex) { + previousPoint = item.dataIndex; + + $("#tooltip").remove(); + var x = item.datapoint[0].toFixed(2), + y = item.datapoint[1].toFixed(2); + + showTooltip(item.pageX, item.pageY, + item.series.label + " of " + x + " = " + y); + } + } + else { + $("#tooltip").remove(); + previousPoint = null; + } + }); + + + + $("#sincos").bind("plotclick", function (event, pos, item) { + if (item) { + $("#clickdata").text("You clicked point " + item.dataIndex + " in " + item.series.label + "."); + plot.highlight(item.series, item.datapoint); + } + }); + } + +/* ---------- Flot chart ---------- */ + + if($("#flotchart").length) + { + var d1 = []; + for (var i = 0; i < Math.PI * 2; i += 0.25) + d1.push([i, Math.sin(i)]); + + var d2 = []; + for (var i = 0; i < Math.PI * 2; i += 0.25) + d2.push([i, Math.cos(i)]); + + var d3 = []; + for (var i = 0; i < Math.PI * 2; i += 0.1) + d3.push([i, Math.tan(i)]); + + $.plot($("#flotchart"), [ + { label: "sin(x)", data: d1}, + { label: "cos(x)", data: d2}, + { label: "tan(x)", data: d3} + ], { + series: { + lines: { show: true }, + points: { show: true } + }, + xaxis: { + ticks: [0, [Math.PI/2, "\u03c0/2"], [Math.PI, "\u03c0"], [Math.PI * 3/2, "3\u03c0/2"], [Math.PI * 2, "2\u03c0"]] + }, + yaxis: { + ticks: 10, + min: -2, + max: 2 + }, + grid: { tickColor: "#dddddd", + borderWidth: 0 + }, + colors: ["#FA5833", "#435D78", "#FABB3D"] + }); + } + +/* ---------- Stack chart ---------- */ + + if($("#stackchart").length) + { + var d1 = []; + for (var i = 0; i <= 10; i += 1) + d1.push([i, parseInt(Math.random() * 30)]); + + var d2 = []; + for (var i = 0; i <= 10; i += 1) + d2.push([i, parseInt(Math.random() * 30)]); + + var d3 = []; + for (var i = 0; i <= 10; i += 1) + d3.push([i, parseInt(Math.random() * 30)]); + + var stack = 0, bars = true, lines = false, steps = false; + + function plotWithOptions() { + $.plot($("#stackchart"), [ d1, d2, d3 ], { + series: { + stack: stack, + lines: { show: lines, fill: true, steps: steps }, + bars: { show: bars, barWidth: 0.6 }, + }, + colors: ["#FA5833", "#435D78", "#FABB3D"] + }); + } + + plotWithOptions(); + + $(".stackControls input").click(function (e) { + e.preventDefault(); + stack = $(this).val() == "With stacking" ? true : null; + plotWithOptions(); + }); + $(".graphControls input").click(function (e) { + e.preventDefault(); + bars = $(this).val().indexOf("Bars") != -1; + lines = $(this).val().indexOf("Lines") != -1; + steps = $(this).val().indexOf("steps") != -1; + plotWithOptions(); + }); + } + +/* ---------- Donut chart ---------- */ + + if($("#deviceChart").length) + { + $.plot($("#deviceChart"), data, + { + series: { + pie: { + innerRadius: 0.6, + show: true + } + }, + legend: { + show: true + }, + colors: ["#FA5833", "#435D78", "#FABB3D", "#78CD51"] + }); + } + + var data = [ + { label: "iOS", data: 20}, + { label: "Android", data: 7}, + { label: "Linux", data: 11}, + { label: "Mac OSX", data: 14}, + { label: "Windows", data: 48} + ]; + +/* ---------- Donut chart ---------- */ + + if($("#osChart").length) + { + $.plot($("#osChart"), data, + { + series: { + pie: { + innerRadius: 0.6, + show: true + } + }, + legend: { + show: true + }, + colors: ["#FA5833", "#435D78", "#FABB3D", "#78CD51"] + }); + } + +/* ---------- Pie chart ---------- */ + + var data = [ + { label: "Internet Explorer", data: 12}, + { label: "Mobile", data: 27}, + { label: "Safari", data: 85}, + { label: "Opera", data: 64}, + { label: "Firefox", data: 90}, + { label: "Chrome", data: 112} + ]; + + if($("#piechart").length) + { + $.plot($("#piechart"), data, + { + series: { + pie: { + show: true + } + }, + grid: { + hoverable: true, + clickable: true + }, + legend: { + show: false + }, + colors: ["#FA5833", "#435D78", "#FABB3D", "#78CD51"] + }); + + function pieHover(event, pos, obj) + { + if (!obj) + return; + percent = parseFloat(obj.series.percent).toFixed(2); + $("#hover").html(''+obj.series.label+' ('+percent+'%)'); + } + $("#piechart").bind("plothover", pieHover); + } + +/* ---------- Donut chart ---------- */ + + if($("#donutchart").length) + { + $.plot($("#donutchart"), data, + { + series: { + pie: { + innerRadius: 0.5, + show: true + } + }, + legend: { + show: false + }, + colors: ["#FA5833", "#435D78", "#FABB3D", "#78CD51"] + }); + } + + + +/* ---------- Realtime Chart ---------- */ + + // we use an inline data source in the example, usually data would + // be fetched from a server + var data = [], totalPoints = 300; + function getRandomData() { + if (data.length > 0) + data = data.slice(1); + + // do a random walk + while (data.length < totalPoints) { + var prev = data.length > 0 ? data[data.length - 1] : 50; + var y = prev + Math.random() * 10 - 5; + if (y < 0) + y = 0; + if (y > 100) + y = 100; + data.push(y); + } + + // zip the generated y values with the x values + var res = []; + for (var i = 0; i < data.length; ++i) + res.push([i, data[i]]) + return res; + } + + // setup control widget + var updateInterval = 30; + $("#updateInterval").val(updateInterval).change(function () { + var v = $(this).val(); + if (v && !isNaN(+v)) { + updateInterval = +v; + if (updateInterval < 1) + updateInterval = 1; + if (updateInterval > 2000) + updateInterval = 2000; + $(this).val("" + updateInterval); + } + }); + + + if($("#realtimechart").length) + { + var options = { + series: { shadowSize: 1 }, + lines: { fill: true, fillColor: { colors: [ { opacity: 1 }, { opacity: 0.1 } ] }}, + yaxis: { min: 0, max: 100 }, + xaxis: { show: false }, + colors: ["#435D78"], + grid: { tickColor: "#dddddd", + borderWidth: 0 + }, + }; + var plot = $.plot($("#realtimechart"), [ getRandomData() ], options); + function update() { + plot.setData([ getRandomData() ]); + // since the axes don't change, we don't need to call plot.setupGrid() + plot.draw(); + + setTimeout(update, updateInterval); + } + + update(); + } + +}); \ No newline at end of file diff --git a/src/main/resources/static/js/pages/charts-other.js b/src/main/resources/static/js/pages/charts-other.js new file mode 100644 index 0000000..ad78386 --- /dev/null +++ b/src/main/resources/static/js/pages/charts-other.js @@ -0,0 +1,178 @@ +$(document).ready(function(){ + + /* ---------- Sparkline Charts ---------- */ + //generate random number for charts + randNum = function(){ + //return Math.floor(Math.random()*101); + return (Math.floor( Math.random()* (1+40-20) ) ) + 20; + } + + var chartColours = ['#2FABE9', '#FA5833', '#b9e672', '#bbdce3', '#9a3b1b', '#5a8022', '#2c7282']; + + //sparklines (making loop with random data for all 7 sparkline) + i=1; + for (i=1; i<9; i++) { + var data = [[1, 3+randNum()], [2, 5+randNum()], [3, 8+randNum()], [4, 11+randNum()],[5, 14+randNum()],[6, 17+randNum()],[7, 20+randNum()], [8, 15+randNum()], [9, 18+randNum()], [10, 22+randNum()]]; + placeholder = '.sparkLineStats' + i; + + if (retina()) { + + $(placeholder).sparkline(data, { + width: 200,//Width of the chart - Defaults to 'auto' - May be any valid css width - 1.5em, 20px, etc (using a number without a unit specifier won't do what you want) - This option does nothing for bar and tristate chars (see barWidth) + height: 60,//Height of the chart - Defaults to 'auto' (line height of the containing tag) + lineColor: '#2FABE9',//Used by line and discrete charts to specify the colour of the line drawn as a CSS values string + fillColor: '#f2f7f9',//Specify the colour used to fill the area under the graph as a CSS value. Set to false to disable fill + spotColor: '#467e8c',//The CSS colour of the final value marker. Set to false or an empty string to hide it + maxSpotColor: '#b9e672',//The CSS colour of the marker displayed for the maximum value. Set to false or an empty string to hide it + minSpotColor: '#FA5833',//The CSS colour of the marker displayed for the mimum value. Set to false or an empty string to hide it + spotRadius: 2,//Radius of all spot markers, In pixels (default: 1.5) - Integer + lineWidth: 1//In pixels (default: 1) - Integer + }); + + //only firefox sux in this case + if (jQuery.browser.mozilla) { + $(placeholder).css('MozTransform','scale(0.5,0.5)').css('margin-top','-10px'); + $(placeholder).css('height','30px').css('width','100px').css('margin-left','-20px').css('margin-right','40px'); + } else { + $(placeholder).css('zoom',0.5); + } + + } else { + + $(placeholder).sparkline(data, { + width: 100,//Width of the chart - Defaults to 'auto' - May be any valid css width - 1.5em, 20px, etc (using a number without a unit specifier won't do what you want) - This option does nothing for bar and tristate chars (see barWidth) + height: 30,//Height of the chart - Defaults to 'auto' (line height of the containing tag) + lineColor: '#2FABE9',//Used by line and discrete charts to specify the colour of the line drawn as a CSS values string + fillColor: '#f2f7f9',//Specify the colour used to fill the area under the graph as a CSS value. Set to false to disable fill + spotColor: '#467e8c',//The CSS colour of the final value marker. Set to false or an empty string to hide it + maxSpotColor: '#b9e672',//The CSS colour of the marker displayed for the maximum value. Set to false or an empty string to hide it + minSpotColor: '#FA5833',//The CSS colour of the marker displayed for the mimum value. Set to false or an empty string to hide it + spotRadius: 2,//Radius of all spot markers, In pixels (default: 1.5) - Integer + lineWidth: 1//In pixels (default: 1) - Integer + }); + + } + + } + + /* ---------- Init jQuery Knob - disbaled in IE8, IE7, IE6 ---------- */ + if(jQuery.browser.version.substring(0, 2) == "8.") { + + //disable jQuery Knob + + } else { + + $('.circleChart').each(function(){ + + var circleColor = $(this).parent().css('color'); + + $(this).knob({ + 'min':0, + 'max':100, + 'readOnly': true, + 'width': 120, + 'height': 120, + 'fgColor': circleColor, + 'dynamicDraw': true, + 'thickness': 0.2, + 'tickColorizeValues': true, + 'skin':'tron' + }); + + }); + + } + + /*------- Just Gage Init -------*/ + g1=new JustGage({id:"g1",value:67,min:0,max:100,title:"Visitors",label:"per minute"}); + g1a=new JustGage({id:"g1a",value:45,min:0,max:100,title:"Errors",label:"average"}); + g2=new JustGage({id:"g2",value:15,min:0,max:100,title:"Timers",label:""}); + g2a=new JustGage({id:"g2a",value:7,min:0,max:100,title:"Alerts",label:""}); + g2b=new JustGage({id:"g2b",value:22,min:0,max:100,title:"Events",label:""}); + + setInterval(function(){ + g1.refresh(getRandomInt(50,100)); + g1a.refresh(getRandomInt(50,100)); + g2.refresh(getRandomInt(0,50)); + g2a.refresh(getRandomInt(0,50)); + g2b.refresh(getRandomInt(0,50)) + },2000 + ); + + /*------- Easy Pie Chart Init -------*/ + $('.percentage').easyPieChart(); + $('.percentage-light').easyPieChart(); + + $('.updateEasyPieChart').on('click', function(e) { + e.preventDefault(); + $('.percentage, .percentage-light').each(function() { + $(this).data('easyPieChart').update(Math.round(100*Math.random())); + }); + }); + +}); + + +/* + Sparkline: Line + */ + $("#sparklineLine").sparkline(sparklineLineData, { + type: 'line', + width: '80', + height: '30', + lineColor: '#0088cc' + }); + + /* + Sparkline: Bar + */ + $("#sparklineBar").sparkline(sparklineBarData, { + type: 'bar', + width: '80', + height: '30', + barColor: '#0088cc', + negBarColor: '#B20000' + }); + + /* + Sparkline: Tristate + */ + $("#sparklineTristate").sparkline(sparklineTristateData, { + type: 'tristate', + width: '80', + height: '30', + posBarColor: '#0088cc', + negBarColor: '#B20000' + }); + + /* + Sparkline: Discrete + */ + $("#sparklineDiscrete").sparkline(sparklineDiscreteData, { + type: 'discrete', + width: '80', + height: '30', + lineColor: '#0088cc' + }); + + /* + Sparkline: Bullet + */ + $("#sparklineBullet").sparkline(sparklineBulletData, { + type: 'bullet', + width: '80', + height: '30', + targetColor: '#ff7f00', + performanceColor: '#0088cc' + }); + + /* + Sparkline: Pie + */ + $("#sparklinePie").sparkline(sparklinePieData, { + type: 'pie', + height: '30', + barColor: '#0088cc' + }); + + \ No newline at end of file diff --git a/src/main/resources/static/js/pages/charts-xcharts.js b/src/main/resources/static/js/pages/charts-xcharts.js new file mode 100644 index 0000000..e99985b --- /dev/null +++ b/src/main/resources/static/js/pages/charts-xcharts.js @@ -0,0 +1,392 @@ +(function () { +var data = [{"xScale":"ordinal","comp":[],"main":[{"className":".main.l1","data":[{"y":15,"x":"2012-11-19T00:00:00"},{"y":11,"x":"2012-11-20T00:00:00"},{"y":8,"x":"2012-11-21T00:00:00"},{"y":10,"x":"2012-11-22T00:00:00"},{"y":1,"x":"2012-11-23T00:00:00"},{"y":6,"x":"2012-11-24T00:00:00"},{"y":8,"x":"2012-11-25T00:00:00"}]},{"className":".main.l2","data":[{"y":29,"x":"2012-11-19T00:00:00"},{"y":33,"x":"2012-11-20T00:00:00"},{"y":13,"x":"2012-11-21T00:00:00"},{"y":16,"x":"2012-11-22T00:00:00"},{"y":7,"x":"2012-11-23T00:00:00"},{"y":18,"x":"2012-11-24T00:00:00"},{"y":8,"x":"2012-11-25T00:00:00"}]}],"type":"line-dotted","yScale":"linear"},{"xScale":"ordinal","comp":[],"main":[{"className":".main.l1","data":[{"y":12,"x":"2012-11-19T00:00:00"},{"y":18,"x":"2012-11-20T00:00:00"},{"y":8,"x":"2012-11-21T00:00:00"},{"y":7,"x":"2012-11-22T00:00:00"},{"y":6,"x":"2012-11-23T00:00:00"},{"y":12,"x":"2012-11-24T00:00:00"},{"y":8,"x":"2012-11-25T00:00:00"}]},{"className":".main.l2","data":[{"y":29,"x":"2012-11-19T00:00:00"},{"y":33,"x":"2012-11-20T00:00:00"},{"y":13,"x":"2012-11-21T00:00:00"},{"y":16,"x":"2012-11-22T00:00:00"},{"y":7,"x":"2012-11-23T00:00:00"},{"y":18,"x":"2012-11-24T00:00:00"},{"y":8,"x":"2012-11-25T00:00:00"}]}],"type":"cumulative","yScale":"linear"},{"xScale":"ordinal","comp":[],"main":[{"className":".main.l1","data":[{"y":12,"x":"2012-11-19T00:00:00"},{"y":18,"x":"2012-11-20T00:00:00"},{"y":8,"x":"2012-11-21T00:00:00"},{"y":7,"x":"2012-11-22T00:00:00"},{"y":6,"x":"2012-11-23T00:00:00"},{"y":12,"x":"2012-11-24T00:00:00"},{"y":8,"x":"2012-11-25T00:00:00"}]},{"className":".main.l2","data":[{"y":29,"x":"2012-11-19T00:00:00"},{"y":33,"x":"2012-11-20T00:00:00"},{"y":13,"x":"2012-11-21T00:00:00"},{"y":16,"x":"2012-11-22T00:00:00"},{"y":7,"x":"2012-11-23T00:00:00"},{"y":18,"x":"2012-11-24T00:00:00"},{"y":8,"x":"2012-11-25T00:00:00"}]}],"type":"bar","yScale":"linear"}]; +var order = [0, 1, 0, 2], + i = 0, + xFormat = d3.time.format('%A'), + chart = new xChart('line-dotted', data[order[i]], '#chart', { + axisPaddingTop: 5, + dataFormatX: function (x) { + return new Date(x); + }, + tickFormatX: function (x) { + return xFormat(x); + }, + timing: 1250 + }), + rotateTimer, + toggles = d3.selectAll('.multi button'), + t = 3500; + +function updateChart(i) { + var d = data[i]; + chart.setData(d); + toggles.classed('toggled', function () { + return (d3.select(this).attr('data-type') === d.type); + }); + return d; +} + +toggles.on('click', function (d, i) { + clearTimeout(rotateTimer); + updateChart(i); +}); + +function rotateChart() { + i += 1; + i = (i >= order.length) ? 0 : i; + var d = updateChart(order[i]); + rotateTimer = setTimeout(rotateChart, t); +} +rotateTimer = setTimeout(rotateChart, t); +}()); + +(function () { + + var data = { + "xScale": "ordinal", + "yScale": "linear", + "main": [ + { + "className": ".pizza", + "data": [ + { + "x": "Pepperoni", + "y": 4 + }, + { + "x": "Cheese", + "y": 8 + } + ] + } + ] +}; + var myChart = new xChart('bar', data, '#example1'); + + }()); + +(function () { + + var data = { + "xScale": "ordinal", + "yScale": "linear", + "main": [ + { + "className": ".pizza", + "data": [ + { + "x": "Pepperoni", + "y": 4 + }, + { + "x": "Cheese", + "y": 8 + } + ] + }, + { + "className": ".pizza", + "data": [ + { + "x": "Pepperoni", + "y": 6 + }, + { + "x": "Cheese", + "y": 5 + } + ] + } + ] +}; + var myChart = new xChart('bar', data, '#example2'); + + }()); + +(function () { + + var data = { + "xScale": "time", + "yScale": "linear", + "type": "line", + "main": [ + { + "className": ".pizza", + "data": [ + { + "x": "2012-11-05", + "y": 1 + }, + { + "x": "2012-11-06", + "y": 6 + }, + { + "x": "2012-11-07", + "y": 13 + }, + { + "x": "2012-11-08", + "y": -3 + }, + { + "x": "2012-11-09", + "y": -4 + }, + { + "x": "2012-11-10", + "y": 9 + }, + { + "x": "2012-11-11", + "y": 6 + } + ] + } + ] +}; + var opts = { + "dataFormatX": function (x) { return d3.time.format('%Y-%m-%d').parse(x); }, + "tickFormatX": function (x) { return d3.time.format('%A')(x); } +}; + + var myChart = new xChart('line', data, '#example3', opts); + + }()); + +(function () { + var tt = document.createElement('div'), + leftOffset = -(~~$('html').css('padding-left').replace('px', '') + ~~$('body').css('margin-left').replace('px', '')), + topOffset = -32; +tt.className = 'ex-tooltip'; +document.body.appendChild(tt); + + var data = { + "xScale": "time", + "yScale": "linear", + "main": [ + { + "className": ".pizza", + "data": [ + { + "x": "2012-11-05", + "y": 6 + }, + { + "x": "2012-11-06", + "y": 6 + }, + { + "x": "2012-11-07", + "y": 8 + }, + { + "x": "2012-11-08", + "y": 3 + }, + { + "x": "2012-11-09", + "y": 4 + }, + { + "x": "2012-11-10", + "y": 9 + }, + { + "x": "2012-11-11", + "y": 6 + } + ] + } + ] +}; + var opts = { + "dataFormatX": function (x) { return d3.time.format('%Y-%m-%d').parse(x); }, + "tickFormatX": function (x) { return d3.time.format('%A')(x); }, + "mouseover": function (d, i) { + var pos = $(this).offset(); + $(tt).text(d3.time.format('%A')(d.x) + ': ' + d.y) + .css({top: topOffset + pos.top, left: pos.left + leftOffset}) + .show(); + }, + "mouseout": function (x) { + $(tt).hide(); + } +}; + + var myChart = new xChart('line-dotted', data, '#example4', opts); + + }()); + +(function () { + var errorBar = { + enter: function (self, storage, className, data, callbacks) { + var insertionPoint = xChart.visutils.getInsertionPoint(9), + container, + eData = data.map(function (d) { + d.data = d.data.map(function (d) { + return [{x: d.x, y: d.y - d.e}, {x: d.x, y: d.y}, {x: d.x, y: d.y + d.e}]; + }); + return d; + }), + paths; + + container = self._g.selectAll('.errorLine' + className) + .data(eData, function (d) { + return d.className; + }); + + container.enter().insert('g', insertionPoint) + .attr('class', function (d, i) { + return 'errorLine' + className.replace(/\./g, ' ') + ' color' + i; + }); + + paths = container.selectAll('path') + .data(function (d) { + return d.data; + }, function (d) { + return d[0].x; + }); + + paths.enter().insert('path') + .style('opacity', 0) + .attr('d', d3.svg.line() + .x(function (d) { + return self.xScale(d.x) + self.xScale.rangeBand() / 2; + }) + .y(function (d) { return self.yScale(d.y); }) + ); + + storage.containers = container; + storage.paths = paths; + }, + update: function (self, storage, timing) { + storage.paths.transition().duration(timing) + .style('opacity', 1) + .attr('d', d3.svg.line() + .x(function (d) { + return self.xScale(d.x) + self.xScale.rangeBand() / 2; + }) + .y(function (d) { return self.yScale(d.y); }) + ); + }, + exit: function (self, storage, timing) { + storage.paths.exit() + .transition().duration(timing) + .style('opacity', 0); + }, + destroy: function (self, storage, timing) { + storage.paths.transition().duration(timing) + .style('opacity', 0) + .remove(); + } + }; + + xChart.setVis('error', errorBar); + + var data = [{ + "xScale": "ordinal", + "yScale": "linear", + "main": [ + { + "className": ".errorExample", + "data": [ + { + "x": "Ponies", + "y": 12 + }, + { + "x": "Unicorns", + "y": 23 + }, + { + "x": "Trolls", + "y": 1 + } + ] + } + ], + "comp": [ + { + "type": "error", + "className": ".comp.errorBar", + "data": [ + { + "x": "Ponies", + "y": 12, + "e": 5 + }, + { + "x": "Unicorns", + "y": 23, + "e": 2 + }, + { + "x": "Trolls", + "y": 1, + "e": 1 + } + ] + } + ] + }, + { + "xScale": "ordinal", + "yScale": "linear", + "main": [ + { + "className": ".errorExample", + "data": [ + { + "x": "Ponies", + "y": 76 + }, + { + "x": "Unicorns", + "y": 45 + }, + { + "x": "Trolls", + "y": 82 + } + ] + } + ], + "comp": [ + { + "type": "error", + "className": ".comp.errorBar", + "data": [ + { + "x": "Ponies", + "y": 76, + "e": 12 + }, + { + "x": "Unicorns", + "y": 45, + "e": 3 + }, + { + "x": "Trolls", + "y": 82, + "e": 12 + } + ] + } + ] + } + ]; + + var myChart = new xChart('bar', data[0], '#exampleVis'), + i = 0; + + function timer() { + setTimeout(function () { + timer(); + i += 1; + myChart.setData(data[i % 2]); + }, 3000); + } + timer(); + }()); \ No newline at end of file diff --git a/src/main/resources/static/js/pages/font-awesome.js b/src/main/resources/static/js/pages/font-awesome.js new file mode 100644 index 0000000..ab09219 --- /dev/null +++ b/src/main/resources/static/js/pages/font-awesome.js @@ -0,0 +1 @@ +/* TYPE YOUR JAVA SCRIPT HERE */ diff --git a/src/main/resources/static/js/pages/form-dropzone.js b/src/main/resources/static/js/pages/form-dropzone.js new file mode 100644 index 0000000..9712514 --- /dev/null +++ b/src/main/resources/static/js/pages/form-dropzone.js @@ -0,0 +1,5 @@ +$(document).ready(function(){ + /*------ Dropzone Init ------*/ + $(".dropzone").dropzone(); +}); + diff --git a/src/main/resources/static/js/pages/form-editors.js b/src/main/resources/static/js/pages/form-editors.js new file mode 100644 index 0000000..c6f834f --- /dev/null +++ b/src/main/resources/static/js/pages/form-editors.js @@ -0,0 +1,196 @@ +/* +SummerNote +*/ +(function( $ ) { + + 'use strict'; + + if ( $.isFunction($.fn[ 'summernote' ]) ) { + + $(function() { + $('[data-plugin-summernote]').each(function() { + var $this = $( this ), + opts = {}; + + var pluginOptions = $this.data('plugin-options'); + if (pluginOptions) + opts = pluginOptions; + + $this.themePluginSummerNote(opts); + }); + }); + + } + +}).apply(this, [ jQuery ]); + +(function(theme, $) { + + theme = theme || {}; + + var instanceName = '__summernote'; + + var PluginSummerNote = function($el, opts) { + return this.initialize($el, opts); + }; + + PluginSummerNote.defaults = { + onfocus: function() { + $( this ).closest( '.note-editor' ).addClass( 'active' ); + }, + onblur: function() { + $( this ).closest( '.note-editor' ).removeClass( 'active' ); + } + }; + + PluginSummerNote.prototype = { + initialize: function($el, opts) { + if ( $el.data( instanceName ) ) { + return this; + } + + this.$el = $el; + + this + .setData() + .setOptions(opts) + .build(); + + return this; + }, + + setData: function() { + this.$el.data(instanceName, this); + + return this; + }, + + setOptions: function(opts) { + this.options = $.extend( true, {}, PluginSummerNote.defaults, opts ); + + return this; + }, + + build: function() { + this.$el.summernote( this.options ); + + return this; + } + }; + + // expose to scope + $.extend(theme, { + PluginSummerNote: PluginSummerNote + }); + + // jquery plugin + $.fn.themePluginSummerNote = function(opts) { + return this.each(function() { + var $this = $(this); + + if ($this.data(instanceName)) { + return $this.data(instanceName); + } else { + return new PluginSummerNote($this, opts); + } + + }); + } + +}).apply(this, [ window.theme, jQuery ]); + +/* +Markdown +*/ +(function( $ ) { + + 'use strict'; + + if ( $.isFunction($.fn[ 'markdown' ]) ) { + + $(function() { + $('[data-plugin-markdown-editor]').each(function() { + var $this = $( this ), + opts = {}; + + var pluginOptions = $this.data('plugin-options'); + if (pluginOptions) + opts = pluginOptions; + + $this.themePluginMarkdownEditor(opts); + }); + }); + + } + +}).apply(this, [ jQuery ]); + +(function(theme, $) { + + theme = theme || {}; + + var instanceName = '__markdownEditor'; + + var PluginMarkdownEditor = function($el, opts) { + return this.initialize($el, opts); + }; + + PluginMarkdownEditor.defaults = { + iconlibrary: 'fa' + }; + + PluginMarkdownEditor.prototype = { + initialize: function($el, opts) { + if ( $el.data( instanceName ) ) { + return this; + } + + this.$el = $el; + + this + .setData() + .setOptions(opts) + .build(); + + return this; + }, + + setData: function() { + this.$el.data(instanceName, this); + + return this; + }, + + setOptions: function(opts) { + this.options = $.extend( true, {}, PluginMarkdownEditor.defaults, opts ); + + return this; + }, + + build: function() { + this.$el.markdown( this.options ); + + return this; + } + }; + + // expose to scope + $.extend(theme, { + PluginMarkdownEditor: PluginMarkdownEditor + }); + + // jquery plugin + $.fn.themePluginMarkdownEditor = function(opts) { + return this.each(function() { + var $this = $(this); + + if ($this.data(instanceName)) { + return $this.data(instanceName); + } else { + return new PluginMarkdownEditor($this, opts); + } + + }); + } + +}).apply(this, [ window.theme, jQuery ]); \ No newline at end of file diff --git a/src/main/resources/static/js/pages/form-elements.js b/src/main/resources/static/js/pages/form-elements.js new file mode 100644 index 0000000..5b7fd8b --- /dev/null +++ b/src/main/resources/static/js/pages/form-elements.js @@ -0,0 +1,395 @@ + +/* +Colorpicker +*/ +(function( $ ) { + + 'use strict'; + + if ( $.isFunction($.fn[ 'colorpicker' ]) ) { + + $(function() { + $('[data-plugin-colorpicker]').each(function() { + var $this = $( this ), + opts = {}; + + var pluginOptions = $this.data('plugin-options'); + if (pluginOptions) + opts = pluginOptions; + + $this.themePluginColorPicker(opts); + }); + }); + + } + +}).apply(this, [ jQuery ]); + +(function(theme, $) { + + theme = theme || {}; + + var instanceName = '__colorpicker'; + + var PluginColorPicker = function($el, opts) { + return this.initialize($el, opts); + }; + + PluginColorPicker.defaults = { + }; + + PluginColorPicker.prototype = { + initialize: function($el, opts) { + if ( $el.data( instanceName ) ) { + return this; + } + + this.$el = $el; + + this + .setData() + .setOptions(opts) + .build(); + + return this; + }, + + setData: function() { + this.$el.data(instanceName, this); + + return this; + }, + + setOptions: function(opts) { + this.options = $.extend( true, {}, PluginColorPicker.defaults, opts ); + + return this; + }, + + build: function() { + this.$el.colorpicker( this.options ); + + return this; + } + }; + + // expose to scope + $.extend(theme, { + PluginColorPicker: PluginColorPicker + }); + + // jquery plugin + $.fn.themePluginColorPicker = function(opts) { + return this.each(function() { + var $this = $(this); + + if ($this.data(instanceName)) { + return $this.data(instanceName); + } else { + return new PluginColorPicker($this, opts); + } + + }); + } + +}).apply(this, [ window.theme, jQuery ]); + + +/* +Datepicker +*/ +(function( $ ) { + + 'use strict'; + + if ( $.isFunction($.fn[ 'datepicker' ]) ) { + + $(function() { + $('[data-plugin-datepicker]').each(function() { + var $this = $( this ), + opts = {}; + + var pluginOptions = $this.data('plugin-options'); + if (pluginOptions) + opts = pluginOptions; + + $this.themePluginDatePicker(opts); + }); + }); + + } + +}).apply(this, [ jQuery ]); + +(function(theme, $) { + + theme = theme || {}; + + var instanceName = '__datepicker'; + + var PluginDatePicker = function($el, opts) { + return this.initialize($el, opts); + }; + + PluginDatePicker.defaults = { + }; + + PluginDatePicker.prototype = { + initialize: function($el, opts) { + if ( $el.data( instanceName ) ) { + return this; + } + + this.$el = $el; + + this + .setVars() + .setData() + .setOptions(opts) + .build(); + + return this; + }, + + setVars: function() { + this.skin = this.$el.data( 'plugin-skin' ); + + return this; + }, + + setData: function() { + this.$el.data(instanceName, this); + + return this; + }, + + setOptions: function(opts) { + this.options = $.extend( true, {}, PluginDatePicker.defaults, opts ); + + return this; + }, + + build: function() { + this.$el.datepicker( this.options ); + + if ( !!this.skin ) { + this.$el.data('datepicker').picker.addClass( 'datepicker-' + this.skin ); + } + + return this; + } + }; + + // expose to scope + $.extend(theme, { + PluginDatePicker: PluginDatePicker + }); + + // jquery plugin + $.fn.themePluginDatePicker = function(opts) { + return this.each(function() { + var $this = $(this); + + if ($this.data(instanceName)) { + return $this.data(instanceName); + } else { + return new PluginDatePicker($this, opts); + } + + }); + } + +}).apply(this, [ window.theme, jQuery ]); + + +/* +TimePicker +*/ +(function( $ ) { + + 'use strict'; + + if ( $.isFunction($.fn[ 'timepicker' ]) ) { + + $(function() { + $('[data-plugin-timepicker]').each(function() { + var $this = $( this ), + opts = {}; + + var pluginOptions = $this.data('plugin-options'); + if (pluginOptions) + opts = pluginOptions; + + $this.themePluginTimePicker(opts); + }); + }); + + } + +}).apply(this, [ jQuery ]); + +(function(theme, $) { + + theme = theme || {}; + + var instanceName = '__timepicker'; + + var PluginTimePicker = function($el, opts) { + return this.initialize($el, opts); + }; + + PluginTimePicker.defaults = { + disableMousewheel: true + }; + + PluginTimePicker.prototype = { + initialize: function($el, opts) { + if ( $el.data( instanceName ) ) { + return this; + } + + this.$el = $el; + + this + .setData() + .setOptions(opts) + .build(); + + return this; + }, + + setData: function() { + this.$el.data(instanceName, this); + + return this; + }, + + setOptions: function(opts) { + this.options = $.extend( true, {}, PluginTimePicker.defaults, opts ); + + return this; + }, + + build: function() { + this.$el.timepicker( this.options ); + + return this; + } + }; + + // expose to scope + $.extend(theme, { + PluginTimePicker: PluginTimePicker + }); + + // jquery plugin + $.fn.themePluginTimePicker = function(opts) { + return this.each(function() { + var $this = $(this); + + if ($this.data(instanceName)) { + return $this.data(instanceName); + } else { + return new PluginTimePicker($this, opts); + } + + }); + } + +}).apply(this, [ window.theme, jQuery ]); + +/* +Masked Input +*/ +(function( $ ) { + + 'use strict'; + + if ( $.isFunction($.fn[ 'mask' ]) ) { + + $(function() { + $('[data-plugin-masked-input]').each(function() { + var $this = $( this ), + opts = {}; + + var pluginOptions = $this.data('plugin-options'); + if (pluginOptions) + opts = pluginOptions; + + $this.themePluginMaskedInput(opts); + }); + }); + + } + +}).apply(this, [ jQuery ]); + +(function(theme, $) { + + theme = theme || {}; + + var instanceName = '__maskedInput'; + + var PluginMaskedInput = function($el, opts) { + return this.initialize($el, opts); + }; + + PluginMaskedInput.defaults = { + }; + + PluginMaskedInput.prototype = { + initialize: function($el, opts) { + if ( $el.data( instanceName ) ) { + return this; + } + + this.$el = $el; + + this + .setData() + .setOptions(opts) + .build(); + + return this; + }, + + setData: function() { + this.$el.data(instanceName, this); + + return this; + }, + + setOptions: function(opts) { + this.options = $.extend( true, {}, PluginMaskedInput.defaults, opts ); + + return this; + }, + + build: function() { + this.$el.mask( this.$el.data('input-mask'), this.options ); + + return this; + } + }; + + // expose to scope + $.extend(theme, { + PluginMaskedInput: PluginMaskedInput + }); + + // jquery plugin + $.fn.themePluginMaskedInput = function(opts) { + return this.each(function() { + var $this = $(this); + + if ($this.data(instanceName)) { + return $this.data(instanceName); + } else { + return new PluginMaskedInput($this, opts); + } + + }); + } + +}).apply(this, [ window.theme, jQuery ]); + diff --git a/src/main/resources/static/js/pages/form-wizard.js b/src/main/resources/static/js/pages/form-wizard.js new file mode 100644 index 0000000..ec0c081 --- /dev/null +++ b/src/main/resources/static/js/pages/form-wizard.js @@ -0,0 +1,162 @@ +function isEmail(email) { + var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/; + return regex.test(email); +} + +$(document).ready(function(){ + + $('#ccnumber-w1').mask("9999 9999 9999 9999"); + + /* ---------- Wizard ---------- */ + $('#email-w1').keyup(function(){ + + if(isEmail($(this).val())) { + $(this).parent().parent().removeClass('has-error'); + } + + }); + + $('#password-w1, #name-w1').keyup(function(){ + + if($(this).val()) { + $(this).parent().parent().removeClass('has-error'); + } + + }); + + $('#ccnumber-w1').keyup(function(){ + + var getCCNumber = $(this).val(); + getCCNumber = getCCNumber.replace(/ /g,'').replace(/_/g,''); + + if(getCCNumber.length == 16) { + $(this).parent().parent().removeClass('has-error'); + } + + }); + + $('#cvv-w1').keyup(function(){ + + if($(this).val().length == 3) { + $(this).parent().parent().removeClass('has-error'); + } else { + $(this).parent().parent().addClass('has-error'); + } + + }); + + $('#wizard1').bootstrapWizard({ + 'nextSelector': '.button-next', + 'previousSelector': '.button-previous', + onNext: function(tab, navigation, index) { + + if(index==1) { + + var bugs = 0; + + if(!isEmail($('#email-w1').val())) { + $('#email-w1').parent().parent().addClass('has-error') + bugs = 1; + } + + if(!$('#password-w1').val()) { + $('#password-w1').parent().parent().addClass('has-error'); + bugs = 1; + } + + + if( bugs == 1) { + return false; + } + + } + + if(index==2) { + + var bugs = 0; + + if(!$('#name-w1').val()) { + $('#name-w1').parent().parent().addClass('has-error') + bugs = 1; + } + + if(!$('#ccnumber-w1').val()) { + $('#ccnumber-w1').parent().parent().addClass('has-error'); + bugs = 1; + } + + if(!$('#cvv-w1').val()) { + $('#cvv-w1').parent().parent().addClass('has-error'); + bugs = 1; + } + + if( bugs == 1) { + return false; + } + + } + + }, onTabShow: function(tab, navigation, index) { + var $total = navigation.find('li').length; + var $current = index+1; + var $percent = ($current/$total) * 100; + $('#wizard1').find('.progress-bar').css({width:$percent+'%'}); + + $('#wizard1 > .steps li').each( function (index) { + $(this).removeClass('complete'); + index += 1; + if(index < $current) { + $(this).addClass('complete'); + } + }); + + if($current >= $total) { + $('#wizard1').find('.button-next').hide(); + $('#wizard1').find('.button-finish').show(); + } else { + $('#wizard1').find('.button-next').show(); + $('#wizard1').find('.button-finish').hide(); + } + }}); + + $('#wizard2').bootstrapWizard({ + 'nextSelector': '.button-next', + 'previousSelector': '.button-previous', + onNext: function(tab, navigation, index) { + + + }, onTabShow: function(tab, navigation, index) { + var $total = navigation.find('li').length; + var $current = index+1; + var $percent = ($current/$total) * 100; + $('#wizard2').find('.progress-bar').css({width:$percent+'%'}); + + $('#wizard2 > .steps li').each( function (index) { + $(this).removeClass('complete'); + index += 1; + if(index < $current) { + $(this).addClass('complete'); + } + }); + + if($current >= $total) { + $('#wizard2').find('.button-next').hide(); + $('#wizard2').find('.button-finish').show(); + } else { + $('#wizard2').find('.button-next').show(); + $('#wizard2').find('.button-finish').hide(); + } + }}); + + /* ---------- Datapicker ---------- */ + $('.datepicker').datepicker(); + + /* ---------- Choosen ---------- */ + $('[data-rel="chosen"],[rel="chosen"]').chosen(); + + /* ---------- Placeholder Fix for IE ---------- */ + $('input, textarea').placeholder(); + + /* ---------- Auto Height texarea ---------- */ + $('textarea').autosize(); +}); \ No newline at end of file diff --git a/src/main/resources/static/js/pages/form-x-editable-demo.js b/src/main/resources/static/js/pages/form-x-editable-demo.js new file mode 100644 index 0000000..2680a43 --- /dev/null +++ b/src/main/resources/static/js/pages/form-x-editable-demo.js @@ -0,0 +1,76 @@ +$(function(){ + //ajax mocks + $.mockjaxSettings.responseTime = 500; + + $.mockjax({ + url: '/post', + response: function(settings) { + log(settings, this); + } + }); + + $.mockjax({ + url: '/error', + status: 400, + statusText: 'Bad Request', + response: function(settings) { + this.responseText = 'Please input correct value'; + log(settings, this); + } + }); + + $.mockjax({ + url: '/status', + status: 500, + response: function(settings) { + this.responseText = 'Internal Server Error'; + log(settings, this); + } + }); + + $.mockjax({ + url: '/groups', + response: function(settings) { + this.responseText = [ + {value: 0, text: 'Guest'}, + {value: 1, text: 'Service'}, + {value: 2, text: 'Customer'}, + {value: 3, text: 'Operator'}, + {value: 4, text: 'Support'}, + {value: 5, text: 'Admin'} + ]; + log(settings, this); + } + }); + + function log(settings, response) { + var s = [], str; + s.push(settings.type.toUpperCase() + ' url = "' + settings.url + '"'); + for(var a in settings.data) { + if(settings.data[a] && typeof settings.data[a] === 'object') { + str = []; + for(var j in settings.data[a]) {str.push(j+': "'+settings.data[a][j]+'"');} + str = '{ '+str.join(', ')+' }'; + } else { + str = '"'+settings.data[a]+'"'; + } + s.push(a + ' = ' + str); + } + s.push('RESPONSE: status = ' + response.status); + + if(response.responseText) { + if($.isArray(response.responseText)) { + s.push('['); + $.each(response.responseText, function(i, v){ + s.push('{value: ' + v.value+', text: "'+v.text+'"}'); + }); + s.push(']'); + } else { + s.push($.trim(response.responseText)); + } + } + s.push('--------------------------------------\n'); + $('#console').val(s.join('\n') + $('#console').val()); + } + +}); \ No newline at end of file diff --git a/src/main/resources/static/js/pages/form-x-editable.js b/src/main/resources/static/js/pages/form-x-editable.js new file mode 100644 index 0000000..09c3ef2 --- /dev/null +++ b/src/main/resources/static/js/pages/form-x-editable.js @@ -0,0 +1,167 @@ + +$(function(){ + + //defaults + $.fn.editable.defaults.url = '/post'; + + //enable / disable + $('#enable').click(function() { + $('#user .editable').editable('toggleDisabled'); + }); + + //editables + $('#username').editable({ + url: '/post', + type: 'text', + pk: 1, + name: 'username', + title: 'Enter username' + }); + + $('#firstname').editable({ + validate: function(value) { + if($.trim(value) == '') return 'This field is required'; + } + }); + + $('#sex').editable({ + prepend: "not selected", + source: [ + {value: 1, text: 'Male'}, + {value: 2, text: 'Female'} + ], + display: function(value, sourceData) { + var colors = {"": "gray", 1: "green", 2: "blue"}, + elem = $.grep(sourceData, function(o){return o.value == value;}); + + if(elem.length) { + $(this).text(elem[0].text).css("color", colors[value]); + } else { + $(this).empty(); + } + } + }); + + $('#status').editable(); + + $('#group').editable({ + showbuttons: false + }); + + $('#vacation').editable({ + datepicker: { + todayBtn: 'linked' + } + }); + + $('#dob').editable(); + + $('#event').editable({ + placement: 'right', + combodate: { + firstItem: 'name' + } + }); + + $('#meeting_start').editable({ + format: 'yyyy-mm-dd hh:ii', + viewformat: 'dd/mm/yyyy hh:ii', + validate: function(v) { + if(v && v.getDate() == 10) return 'Day cant be 10!'; + }, + datetimepicker: { + todayBtn: 'linked', + weekStart: 1 + } + }); + + $('#comments').editable({ + showbuttons: 'bottom' + }); + + $('#note').editable(); + $('#pencil').click(function(e) { + e.stopPropagation(); + e.preventDefault(); + $('#note').editable('toggle'); + }); + + $('#state').editable({ + source: ["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"] + }); + + $('#state2').editable({ + value: 'Nevada', + typeahead: { + name: 'state', + local: ["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"] + } + }); + + $('#fruits').editable({ + pk: 1, + limit: 5, + source: [ + {value: 1, text: 'Leci'}, + {value: 2, text: 'starfruit'}, + {value: 3, text: 'apple'}, + {value: 4, text: 'manggo'}, + {value: 5, text: 'orange'} + ] + }); + + $('#tags').editable({ + inputclass: 'input-large', + select2: { + tags: ['html5', 'jquery', 'css3', 'ajax'], + tokenSeparators: [",", " "] + } + }); + + var countries = []; + $.each({"BD": "Bangladesh", "BE": "Belgium", "BF": "Burkina Faso", "BG": "Bulgaria", "BA": "Bosnia and Herzegovina", "BB": "Barbados", "WF": "Wallis and Futuna", "BL": "Saint Bartelemey", "BM": "Bermuda", "BN": "Brunei Darussalam", "BO": "Bolivia", "BH": "Bahrain", "BI": "Burundi", "BJ": "Benin", "BT": "Bhutan", "JM": "Jamaica", "BV": "Bouvet Island", "BW": "Botswana", "WS": "Samoa", "BR": "Brazil", "BS": "Bahamas", "JE": "Jersey", "BY": "Belarus", "O1": "Other Country", "LV": "Latvia", "RW": "Rwanda", "RS": "Serbia", "TL": "Timor-Leste", "RE": "Reunion", "LU": "Luxembourg", "TJ": "Tajikistan", "RO": "Romania", "PG": "Papua New Guinea", "GW": "Guinea-Bissau", "GU": "Guam", "GT": "Guatemala", "GS": "South Georgia and the South Sandwich Islands", "GR": "Greece", "GQ": "Equatorial Guinea", "GP": "Guadeloupe", "JP": "Japan", "GY": "Guyana", "GG": "Guernsey", "GF": "French Guiana", "GE": "Georgia", "GD": "Grenada", "GB": "United Kingdom", "GA": "Gabon", "SV": "El Salvador", "GN": "Guinea", "GM": "Gambia", "GL": "Greenland", "GI": "Gibraltar", "GH": "Ghana", "OM": "Oman", "TN": "Tunisia", "JO": "Jordan", "HR": "Croatia", "HT": "Haiti", "HU": "Hungary", "HK": "Hong Kong", "HN": "Honduras", "HM": "Heard Island and McDonald Islands", "VE": "Venezuela", "PR": "Puerto Rico", "PS": "Palestinian Territory", "PW": "Palau", "PT": "Portugal", "SJ": "Svalbard and Jan Mayen", "PY": "Paraguay", "IQ": "Iraq", "PA": "Panama", "PF": "French Polynesia", "BZ": "Belize", "PE": "Peru", "PK": "Pakistan", "PH": "Philippines", "PN": "Pitcairn", "TM": "Turkmenistan", "PL": "Poland", "PM": "Saint Pierre and Miquelon", "ZM": "Zambia", "EH": "Western Sahara", "RU": "Russian Federation", "EE": "Estonia", "EG": "Egypt", "TK": "Tokelau", "ZA": "South Africa", "EC": "Ecuador", "IT": "Italy", "VN": "Vietnam", "SB": "Solomon Islands", "EU": "Europe", "ET": "Ethiopia", "SO": "Somalia", "ZW": "Zimbabwe", "SA": "Saudi Arabia", "ES": "Spain", "ER": "Eritrea", "ME": "Montenegro", "MD": "Moldova, Republic of", "MG": "Madagascar", "MF": "Saint Martin", "MA": "Morocco", "MC": "Monaco", "UZ": "Uzbekistan", "MM": "Myanmar", "ML": "Mali", "MO": "Macao", "MN": "Mongolia", "MH": "Marshall Islands", "MK": "Macedonia", "MU": "Mauritius", "MT": "Malta", "MW": "Malawi", "MV": "Maldives", "MQ": "Martinique", "MP": "Northern Mariana Islands", "MS": "Montserrat", "MR": "Mauritania", "IM": "Isle of Man", "UG": "Uganda", "TZ": "Tanzania, United Republic of", "MY": "Malaysia", "MX": "Mexico", "IL": "Israel", "FR": "France", "IO": "British Indian Ocean Territory", "FX": "France, Metropolitan", "SH": "Saint Helena", "FI": "Finland", "FJ": "Fiji", "FK": "Falkland Islands (Malvinas)", "FM": "Micronesia, Federated States of", "FO": "Faroe Islands", "NI": "Nicaragua", "NL": "Netherlands", "NO": "Norway", "NA": "Namibia", "VU": "Vanuatu", "NC": "New Caledonia", "NE": "Niger", "NF": "Norfolk Island", "NG": "Nigeria", "NZ": "New Zealand", "NP": "Nepal", "NR": "Nauru", "NU": "Niue", "CK": "Cook Islands", "CI": "Cote d'Ivoire", "CH": "Switzerland", "CO": "Colombia", "CN": "China", "CM": "Cameroon", "CL": "Chile", "CC": "Cocos (Keeling) Islands", "CA": "Canada", "CG": "Congo", "CF": "Central African Republic", "CD": "Congo, The Democratic Republic of the", "CZ": "Czech Republic", "CY": "Cyprus", "CX": "Christmas Island", "CR": "Costa Rica", "CV": "Cape Verde", "CU": "Cuba", "SZ": "Swaziland", "SY": "Syrian Arab Republic", "KG": "Kyrgyzstan", "KE": "Kenya", "SR": "Suriname", "KI": "Kiribati", "KH": "Cambodia", "KN": "Saint Kitts and Nevis", "KM": "Comoros", "ST": "Sao Tome and Principe", "SK": "Slovakia", "KR": "Korea, Republic of", "SI": "Slovenia", "KP": "Korea, Democratic People's Republic of", "KW": "Kuwait", "SN": "Senegal", "SM": "San Marino", "SL": "Sierra Leone", "SC": "Seychelles", "KZ": "Kazakhstan", "KY": "Cayman Islands", "SG": "Singapore", "SE": "Sweden", "SD": "Sudan", "DO": "Dominican Republic", "DM": "Dominica", "DJ": "Djibouti", "DK": "Denmark", "VG": "Virgin Islands, British", "DE": "Germany", "YE": "Yemen", "DZ": "Algeria", "US": "United States", "UY": "Uruguay", "YT": "Mayotte", "UM": "United States Minor Outlying Islands", "LB": "Lebanon", "LC": "Saint Lucia", "LA": "Lao People's Democratic Republic", "TV": "Tuvalu", "TW": "Taiwan", "TT": "Trinidad and Tobago", "TR": "Turkey", "LK": "Sri Lanka", "LI": "Liechtenstein", "A1": "Anonymous Proxy", "TO": "Tonga", "LT": "Lithuania", "A2": "Satellite Provider", "LR": "Liberia", "LS": "Lesotho", "TH": "Thailand", "TF": "French Southern Territories", "TG": "Togo", "TD": "Chad", "TC": "Turks and Caicos Islands", "LY": "Libyan Arab Jamahiriya", "VA": "Holy See (Vatican City State)", "VC": "Saint Vincent and the Grenadines", "AE": "United Arab Emirates", "AD": "Andorra", "AG": "Antigua and Barbuda", "AF": "Afghanistan", "AI": "Anguilla", "VI": "Virgin Islands, U.S.", "IS": "Iceland", "IR": "Iran, Islamic Republic of", "AM": "Armenia", "AL": "Albania", "AO": "Angola", "AN": "Netherlands Antilles", "AQ": "Antarctica", "AP": "Asia/Pacific Region", "AS": "American Samoa", "AR": "Argentina", "AU": "Australia", "AT": "Austria", "AW": "Aruba", "IN": "India", "AX": "Aland Islands", "AZ": "Azerbaijan", "IE": "Ireland", "ID": "Indonesia", "UA": "Ukraine", "QA": "Qatar", "MZ": "Mozambique"}, function(k, v) { + countries.push({id: k, text: v}); + }); + $('#country').editable({ + source: countries, + select2: { + width: 200 + } + }); + + + + $('#address').editable({ + url: '/post', + value: { + city: "Nevada", + street: "squarejet", + building: "10" + }, + validate: function(value) { + if(value.city == '') return 'city is required!'; + }, + display: function(value) { + if(!value) { + $(this).empty(); + return; + } + var html = '' + $('
    ').text(value.city).html() + ', ' + $('
    ').text(value.street).html() + ' st., bld. ' + $('
    ').text(value.building).html(); + $(this).html(html); + } + }); + + $('#user .editable').on('hidden', function(e, reason){ + if(reason === 'save' || reason === 'nochange') { + var $next = $(this).closest('tr').next().find('.editable'); + if($('#autoopen').is(':checked')) { + setTimeout(function() { + $next.editable('show'); + }, 300); + } else { + $next.focus(); + } + } + }); + +}); \ No newline at end of file diff --git a/src/main/resources/static/js/pages/gallery.js b/src/main/resources/static/js/pages/gallery.js new file mode 100644 index 0000000..ab09219 --- /dev/null +++ b/src/main/resources/static/js/pages/gallery.js @@ -0,0 +1 @@ +/* TYPE YOUR JAVA SCRIPT HERE */ diff --git a/src/main/resources/static/js/pages/glyphicon.js b/src/main/resources/static/js/pages/glyphicon.js new file mode 100644 index 0000000..ab09219 --- /dev/null +++ b/src/main/resources/static/js/pages/glyphicon.js @@ -0,0 +1 @@ +/* TYPE YOUR JAVA SCRIPT HERE */ diff --git a/src/main/resources/static/js/pages/index.js b/src/main/resources/static/js/pages/index.js new file mode 100644 index 0000000..3beda27 --- /dev/null +++ b/src/main/resources/static/js/pages/index.js @@ -0,0 +1,543 @@ +$(document).ready(function(){ + + todoList(); + discussionWidget(); + +/* ---------- Datable ---------- */ + + $('.datatable').dataTable({ + "sDom": "<'row'<'col-lg-6'l><'col-lg-6'f>r>t<'row'<'col-lg-12'i><'col-lg-12 center'p>>", + "bPaginate": false, + "bFilter": false, + "bLengthChange": false, + "bInfo": false, + }); + + $('.countries').dataTable({ + "sDom": "<'row'<'col-lg-6'l><'col-lg-6'f>r>t<'row'<'col-lg-12'i><'col-lg-12 center'p>>", + "bPaginate": false, + "bFilter": false, + "bLengthChange": false, + "bInfo": false, + // Disable sorting on the first column + "aoColumnDefs" : [ { + 'bSortable' : false, + 'aTargets' : [ 0 ] + } ] + }); + + + +/* ---------- Placeholder Fix for IE ---------- */ + + $('input, textarea').placeholder(); + +/* ---------- Auto Height texarea ---------- */ + + $('textarea').autosize(); + + $('#recent a:first').tab('show'); + $('#recent a').click(function (e) { + e.preventDefault(); + $(this).tab('show'); + }); + +/*------- Main Calendar -------*/ + + $('#external-events div.external-event').each(function() { + + // it doesn't need to have a start or end + var eventObject = { + title: $.trim($(this).text()) // use the element's text as the event title + }; + + // store the Event Object in the DOM element so we can get to it later + $(this).data('eventObject', eventObject); + + // make the event draggable using jQuery UI + $(this).draggable({ + zIndex: 999, + revert: true, // will cause the event to go back to its + revertDuration: 0 // original position after the drag + }); + + }); + + var date = new Date(); + var d = date.getDate(); + var m = date.getMonth(); + var y = date.getFullYear(); + + $('.calendar').fullCalendar({ + header: { + right: 'next', + center: 'title', + left: 'prev' + }, + defaultView: 'month', + editable: true, + events: [ + { + title: 'All Day Event', + start: '2014-06-01' + }, + { + title: 'Long Event', + start: '2014-06-07', + end: '2014-06-10' + }, + { + id: 999, + title: 'Repeating Event', + start: '2014-06-09 16:00:00' + }, + { + id: 999, + title: 'Repeating Event', + start: '2014-06-16 16:00:00' + }, + { + title: 'Meeting', + start: '2014-06-12 10:30:00', + end: '2014-06-12 12:30:00' + }, + { + title: 'Lunch', + start: '2014-06-12 12:00:00' + }, + { + title: 'Birthday Party', + start: '2014-05-10 18:05:00' + }, + { + title: 'Click for Google', + url: 'http://google.com/', + start: '2014-06-28' + } + ] + }); + + +/*------- Realtime Update Chart -------*/ + + $(function() { + + // we use an inline data source in the example, usually data would + // be fetched from a server + var data = [], totalPoints = 300; + function getRandomData() { + if (data.length > 0) + data = data.slice(1); + + // do a random walk + while (data.length < totalPoints) { + var prev = data.length > 0 ? data[data.length - 1] : 50; + var y = prev + Math.random() * 10 - 5; + if (y < 0) + y = 0; + if (y > 100) + y = 100; + data.push(y); + } + + // zip the generated y values with the x values + var res = []; + for (var i = 0; i < data.length; ++i) + res.push([i, data[i]]) + return res; + } + + // setup control widget + var updateInterval = 30; + $("#updateInterval").val(updateInterval).change(function () { + var v = $(this).val(); + if (v && !isNaN(+v)) { + updateInterval = +v; + if (updateInterval < 1) + updateInterval = 1; + if (updateInterval > 2000) + updateInterval = 2000; + $(this).val("" + updateInterval); + } + }); + + + if($("#realtime-update").length) + { + var options = { + series: { shadowSize: 1 }, + lines: { fill: true, fillColor: { colors: [ { opacity: 1 }, { opacity: 0.1 } ] }}, + yaxis: { min: 0, max: 100 }, + xaxis: { show: false }, + colors: ["#34495E"], + grid: { tickColor: "#EEEEEE", + borderWidth: 0 + }, + }; + var plot = $.plot($("#realtime-update"), [ getRandomData() ], options); + function update() { + plot.setData([ getRandomData() ]); + // since the axes don't change, we don't need to call plot.setupGrid() + plot.draw(); + + setTimeout(update, updateInterval); + } + + update(); + } + +}); + + +/*------- Page View Chart -------*/ + + (function () { + var data = [{"xScale":"ordinal","comp":[],"main":[{"className":".main.l1","data":[{"y":15,"x":"2012-11-19T00:00:00"},{"y":11,"x":"2012-11-20T00:00:00"},{"y":8,"x":"2012-11-21T00:00:00"},{"y":10,"x":"2012-11-22T00:00:00"},{"y":1,"x":"2012-11-23T00:00:00"},{"y":6,"x":"2012-11-24T00:00:00"},{"y":8,"x":"2012-11-25T00:00:00"}]},{"className":".main.l2","data":[{"y":29,"x":"2012-11-19T00:00:00"},{"y":33,"x":"2012-11-20T00:00:00"},{"y":13,"x":"2012-11-21T00:00:00"},{"y":16,"x":"2012-11-22T00:00:00"},{"y":7,"x":"2012-11-23T00:00:00"},{"y":18,"x":"2012-11-24T00:00:00"},{"y":8,"x":"2012-11-25T00:00:00"}]}],"type":"line-dotted","yScale":"linear"},{"xScale":"ordinal","comp":[],"main":[{"className":".main.l1","data":[{"y":12,"x":"2012-11-19T00:00:00"},{"y":18,"x":"2012-11-20T00:00:00"},{"y":8,"x":"2012-11-21T00:00:00"},{"y":7,"x":"2012-11-22T00:00:00"},{"y":6,"x":"2012-11-23T00:00:00"},{"y":12,"x":"2012-11-24T00:00:00"},{"y":8,"x":"2012-11-25T00:00:00"}]},{"className":".main.l2","data":[{"y":29,"x":"2012-11-19T00:00:00"},{"y":33,"x":"2012-11-20T00:00:00"},{"y":13,"x":"2012-11-21T00:00:00"},{"y":16,"x":"2012-11-22T00:00:00"},{"y":7,"x":"2012-11-23T00:00:00"},{"y":18,"x":"2012-11-24T00:00:00"},{"y":8,"x":"2012-11-25T00:00:00"}]}],"type":"cumulative","yScale":"linear"},{"xScale":"ordinal","comp":[],"main":[{"className":".main.l1","data":[{"y":12,"x":"2012-11-19T00:00:00"},{"y":18,"x":"2012-11-20T00:00:00"},{"y":8,"x":"2012-11-21T00:00:00"},{"y":7,"x":"2012-11-22T00:00:00"},{"y":6,"x":"2012-11-23T00:00:00"},{"y":12,"x":"2012-11-24T00:00:00"},{"y":8,"x":"2012-11-25T00:00:00"}]},{"className":".main.l2","data":[{"y":29,"x":"2012-11-19T00:00:00"},{"y":33,"x":"2012-11-20T00:00:00"},{"y":13,"x":"2012-11-21T00:00:00"},{"y":16,"x":"2012-11-22T00:00:00"},{"y":7,"x":"2012-11-23T00:00:00"},{"y":18,"x":"2012-11-24T00:00:00"},{"y":8,"x":"2012-11-25T00:00:00"}]}],"type":"bar","yScale":"linear"}]; + var order = [0, 1, 0, 2], + i = 0, + xFormat = d3.time.format('%A'), + chart = new xChart('line-dotted', data[order[i]], '#chart', { + axisPaddingTop: 5, + dataFormatX: function (x) { + return new Date(x); + }, + tickFormatX: function (x) { + return xFormat(x); + }, + timing: 1250 + }), + rotateTimer, + toggles = d3.selectAll('.multi button'), + t = 3500; + + function updateChart(i) { + var d = data[i]; + chart.setData(d); + toggles.classed('toggled', function () { + return (d3.select(this).attr('data-type') === d.type); + }); + return d; + } + + toggles.on('click', function (d, i) { + clearTimeout(rotateTimer); + updateChart(i); + }); + + function rotateChart() { + i += 1; + i = (i >= order.length) ? 0 : i; + var d = updateChart(order[i]); + rotateTimer = setTimeout(rotateChart, t); + } + rotateTimer = setTimeout(rotateChart, t); + }()); + + +/*------- Example4 -------*/ + (function () { + var tt = document.createElement('div'), + leftOffset = -(~~$('html').css('padding-left').replace('px', '') + ~~$('body').css('margin-left').replace('px', '')), + topOffset = -32; + tt.className = 'ex-tooltip'; + document.body.appendChild(tt); + + var data = { + "xScale": "time", + "yScale": "linear", + "main": [ + { + "className": ".pizza", + "data": [ + { + "x": "2012-11-05", + "y": 6 + }, + { + "x": "2012-11-06", + "y": 6 + }, + { + "x": "2012-11-07", + "y": 8 + }, + { + "x": "2012-11-08", + "y": 3 + }, + { + "x": "2012-11-09", + "y": 4 + }, + { + "x": "2012-11-10", + "y": 9 + }, + { + "x": "2012-11-11", + "y": 6 + } + ] + } + ] + }; + var opts = { + "dataFormatX": function (x) { return d3.time.format('%Y-%m-%d').parse(x); }, + "tickFormatX": function (x) { return d3.time.format('%A')(x); }, + "mouseover": function (d, i) { + var pos = $(this).offset(); + $(tt).text(d3.time.format('%A')(d.x) + ': ' + d.y) + .css({top: topOffset + pos.top, left: pos.left + leftOffset}) + .show(); + }, + "mouseout": function (x) { + $(tt).hide(); + } + }; + + var myChart = new xChart('line-dotted', data, '#example4', opts); + + }()); + + +/*------- exampleVis -------*/ + (function () { + var errorBar = { + enter: function (self, storage, className, data, callbacks) { + var insertionPoint = xChart.visutils.getInsertionPoint(9), + container, + eData = data.map(function (d) { + d.data = d.data.map(function (d) { + return [{x: d.x, y: d.y - d.e}, {x: d.x, y: d.y}, {x: d.x, y: d.y + d.e}]; + }); + return d; + }), + paths; + + container = self._g.selectAll('.errorLine' + className) + .data(eData, function (d) { + return d.className; + }); + + container.enter().insert('g', insertionPoint) + .attr('class', function (d, i) { + return 'errorLine' + className.replace(/\./g, ' ') + ' color' + i; + }); + + paths = container.selectAll('path') + .data(function (d) { + return d.data; + }, function (d) { + return d[0].x; + }); + + paths.enter().insert('path') + .style('opacity', 0) + .attr('d', d3.svg.line() + .x(function (d) { + return self.xScale(d.x) + self.xScale.rangeBand() / 2; + }) + .y(function (d) { return self.yScale(d.y); }) + ); + + storage.containers = container; + storage.paths = paths; + }, + update: function (self, storage, timing) { + storage.paths.transition().duration(timing) + .style('opacity', 1) + .attr('d', d3.svg.line() + .x(function (d) { + return self.xScale(d.x) + self.xScale.rangeBand() / 2; + }) + .y(function (d) { return self.yScale(d.y); }) + ); + }, + exit: function (self, storage, timing) { + storage.paths.exit() + .transition().duration(timing) + .style('opacity', 0); + }, + destroy: function (self, storage, timing) { + storage.paths.transition().duration(timing) + .style('opacity', 0) + .remove(); + } + }; + + xChart.setVis('error', errorBar); + + var data = [{ + "xScale": "ordinal", + "yScale": "linear", + "main": [ + { + "className": ".errorExample", + "data": [ + { + "x": "Ponies", + "y": 12 + }, + { + "x": "Unicorns", + "y": 23 + }, + { + "x": "Trolls", + "y": 1 + } + ] + } + ], + "comp": [ + { + "type": "error", + "className": ".comp.errorBar", + "data": [ + { + "x": "Ponies", + "y": 12, + "e": 5 + }, + { + "x": "Unicorns", + "y": 23, + "e": 2 + }, + { + "x": "Trolls", + "y": 1, + "e": 1 + } + ] + } + ] + }, + { + "xScale": "ordinal", + "yScale": "linear", + "main": [ + { + "className": ".errorExample", + "data": [ + { + "x": "Ponies", + "y": 76 + }, + { + "x": "Unicorns", + "y": 45 + }, + { + "x": "Trolls", + "y": 82 + } + ] + } + ], + "comp": [ + { + "type": "error", + "className": ".comp.errorBar", + "data": [ + { + "x": "Ponies", + "y": 76, + "e": 12 + }, + { + "x": "Unicorns", + "y": 45, + "e": 3 + }, + { + "x": "Trolls", + "y": 82, + "e": 12 + } + ] + } + ] + } + ]; + + var myChart = new xChart('bar', data[0], '#exampleVis'), + i = 0; + + function timer() { + setTimeout(function () { + timer(); + i += 1; + myChart.setData(data[i % 2]); + }, 3000); + } + timer(); + }()); + +/*------- Gauge -------*/ + var opts = { + lines: 11, // The number of lines to draw + angle: 0.03, // The length of each line + lineWidth: 0.43, // The line thickness + pointer: { + length: 0.74, // The radius of the inner circle + strokeWidth: 0.034, // The rotation offset + color: '#484848' // Fill color + }, + limitMax: 'false', // If true, the pointer will not go past the end of the gauge + colorStart: '#f79a0e', // Colors + colorStop: '#f79a0e', // just experiment with them + strokeColor: '#f5f5f5', // to see which ones work best for you + generateGradient: true + }; + var target = document.getElementById('gauge1'); // your canvas element + var gauge = new Gauge(target).setOptions(opts); // create sexy gauge! + gauge.maxValue = 2000; // set max gauge value + gauge.animationSpeed = 40; // set animation speed (32 is default value) + gauge.set(1800); // set actual value + + var opts2 = { + lines: 11, // The number of lines to draw + angle: 0.03, // The length of each line + lineWidth: 0.43, // The line thickness + pointer: { + length: 0.74, // The radius of the inner circle + strokeWidth: 0.034, // The rotation offset + color: '#484848' // Fill color + }, + limitMax: 'false', // If true, the pointer will not go past the end of the gauge + colorStart: '#47a947', // Colors + colorStop: '#47a947', // just experiment with them + strokeColor: '#f5f5f5', // to see which ones work best for you + generateGradient: true + }; + var target = document.getElementById('gauge2'); // your canvas element + var gauge = new Gauge(target).setOptions(opts2); // create sexy gauge! + gauge.maxValue = 2000; // set max gauge value + gauge.animationSpeed = 80; // set animation speed (32 is default value) + gauge.set(1500); // set actual value + + var opts3 = { + lines: 11, // The number of lines to draw + angle: 0.03, // The length of each line + lineWidth: 0.43, // The line thickness + pointer: { + length: 0.74, // The radius of the inner circle + strokeWidth: 0.034, // The rotation offset + color: '#484848' // Fill color + }, + limitMax: 'false', // If true, the pointer will not go past the end of the gauge + colorStart: '#f33d2c', // Colors + colorStop: '#f33d2c', // just experiment with them + strokeColor: '#f5f5f5', // to see which ones work best for you + generateGradient: true + }; + var target = document.getElementById('gauge3'); // your canvas element + var gauge = new Gauge(target).setOptions(opts3); // create sexy gauge! + gauge.maxValue = 2000; // set max gauge value + gauge.animationSpeed = 80; // set animation speed (32 is default value) + gauge.set(1200); // set actual value + +}); + + diff --git a/src/main/resources/static/js/pages/invoice.js b/src/main/resources/static/js/pages/invoice.js new file mode 100644 index 0000000..ab09219 --- /dev/null +++ b/src/main/resources/static/js/pages/invoice.js @@ -0,0 +1 @@ +/* TYPE YOUR JAVA SCRIPT HERE */ diff --git a/src/main/resources/static/js/pages/mailbox.js b/src/main/resources/static/js/pages/mailbox.js new file mode 100644 index 0000000..698ffb6 --- /dev/null +++ b/src/main/resources/static/js/pages/mailbox.js @@ -0,0 +1,117 @@ +// Mailbox +(function( $ ) { + + 'use strict'; + + $(function() { + $('[data-mailbox]').each(function() { + var $this = $( this ); + + $this.themeMailbox(); + }); + }); + +}).apply(this, [ jQuery ]); + +// Mailbox +(function(theme, $) { + + theme = theme || {}; + + var instanceName = '__mailbox'; + + var capitalizeString = function( str ) { + return str.charAt( 0 ).toUpperCase() + str.slice( 1 ); + } + + var Mailbox = function($wrapper) { + return this.initialize($wrapper); + }; + + Mailbox.prototype = { + initialize: function($wrapper) { + if ( $wrapper.data( instanceName ) ) { + return this; + } + + this.$wrapper = $wrapper; + + this + .setVars() + .setData() + .build() + .events(); + + return this; + }, + + setVars: function() { + this.view = capitalizeString( this.$wrapper.data( 'mailbox-view' ) || "" ); + + return this; + }, + + setData: function() { + this.$wrapper.data(instanceName, this); + + return this; + }, + + build: function() { + + if ( typeof this[ 'build' + this.view ] === 'function' ) { + this[ 'build' + this.view ].call( this ); + } + + + return this; + }, + + events: function() { + if ( typeof this[ 'events' + this.view ] === 'function' ) { + this[ 'events' + this.view ].call( this ); + } + + return this; + }, + + buildCompose: function() { + this.buildComposer(); + }, + + buildComposer: function() { + this.$wrapper.find( '#compose-field' ).summernote({ + height: 250, + toolbar: [ + ['style', ['style']], + ['font', ['bold', 'italic', 'underline', 'clear']], + ['fontname', ['fontname']], + ['color', ['color']], + ['para', ['ul', 'ol', 'paragraph']], + ['height', ['height']], + ['table', ['table']], + ['insert', ['link', 'picture', 'video']], + ['view', ['fullscreen']], + ['help', ['help']] + ] + }); + } + }; + + // jquery plugin + $.fn.themeMailbox = function(opts) { + return this.each(function() { + var $this = $(this); + + if ($this.data(instanceName)) { + return $this.data(instanceName); + } else { + return new Mailbox($this); + } + + }); + } + +}).apply(this, [ window.theme, jQuery ]); + + diff --git a/src/main/resources/static/js/pages/nestable.js b/src/main/resources/static/js/pages/nestable.js new file mode 100644 index 0000000..ab09219 --- /dev/null +++ b/src/main/resources/static/js/pages/nestable.js @@ -0,0 +1 @@ +/* TYPE YOUR JAVA SCRIPT HERE */ diff --git a/src/main/resources/static/js/pages/page-404.js b/src/main/resources/static/js/pages/page-404.js new file mode 100644 index 0000000..ab09219 --- /dev/null +++ b/src/main/resources/static/js/pages/page-404.js @@ -0,0 +1 @@ +/* TYPE YOUR JAVA SCRIPT HERE */ diff --git a/src/main/resources/static/js/pages/page-lockscreen.js b/src/main/resources/static/js/pages/page-lockscreen.js new file mode 100644 index 0000000..ab09219 --- /dev/null +++ b/src/main/resources/static/js/pages/page-lockscreen.js @@ -0,0 +1 @@ +/* TYPE YOUR JAVA SCRIPT HERE */ diff --git a/src/main/resources/static/js/pages/page-login.js b/src/main/resources/static/js/pages/page-login.js new file mode 100644 index 0000000..ab09219 --- /dev/null +++ b/src/main/resources/static/js/pages/page-login.js @@ -0,0 +1 @@ +/* TYPE YOUR JAVA SCRIPT HERE */ diff --git a/src/main/resources/static/js/pages/page-register.js b/src/main/resources/static/js/pages/page-register.js new file mode 100644 index 0000000..ab09219 --- /dev/null +++ b/src/main/resources/static/js/pages/page-register.js @@ -0,0 +1 @@ +/* TYPE YOUR JAVA SCRIPT HERE */ diff --git a/src/main/resources/static/js/pages/pricing-tables.js b/src/main/resources/static/js/pages/pricing-tables.js new file mode 100644 index 0000000..ab09219 --- /dev/null +++ b/src/main/resources/static/js/pages/pricing-tables.js @@ -0,0 +1 @@ +/* TYPE YOUR JAVA SCRIPT HERE */ diff --git a/src/main/resources/static/js/pages/profile.js b/src/main/resources/static/js/pages/profile.js new file mode 100644 index 0000000..3981bed --- /dev/null +++ b/src/main/resources/static/js/pages/profile.js @@ -0,0 +1,133 @@ + +// Lightbox +(function(theme, $) { + + theme = theme || {}; + + var instanceName = '__lightbox'; + + var PluginLightbox = function($el, opts) { + return this.initialize($el, opts); + }; + + PluginLightbox.defaults = { + tClose: 'Close (Esc)', // Alt text on close button + tLoading: 'Loading...', // Text that is displayed during loading. Can contain %curr% and %total% keys + gallery: { + tPrev: 'Previous (Left arrow key)', // Alt text on left arrow + tNext: 'Next (Right arrow key)', // Alt text on right arrow + tCounter: '%curr% of %total%' // Markup for "1 of 7" counter + }, + image: { + tError: 'The image could not be loaded.' // Error message when image could not be loaded + }, + ajax: { + tError: 'The content could not be loaded.' // Error message when ajax request failed + } + }; + + PluginLightbox.prototype = { + initialize: function($el, opts) { + if ( $el.data( instanceName ) ) { + return this; + } + + this.$el = $el; + + this + .setData() + .setOptions(opts) + .build(); + + return this; + }, + + setData: function() { + this.$el.data(instanceName, this); + + return this; + }, + + setOptions: function(opts) { + this.options = $.extend(true, {}, PluginLightbox.defaults, opts, { + wrapper: this.$el + }); + + return this; + }, + + build: function() { + this.options.wrapper.magnificPopup(this.options); + + return this; + } + }; + + // expose to scope + $.extend(theme, { + PluginLightbox: PluginLightbox + }); + + // jquery plugin + $.fn.themePluginLightbox = function(opts) { + return this.each(function() { + var $this = $(this); + + if ($this.data(instanceName)) { + return $this.data(instanceName); + } else { + return new PluginLightbox($this, opts); + } + + }); + } + +}).apply(this, [ window.theme, jQuery ]); + +(function( $ ) { + + 'use strict'; + + if ( $.isFunction($.fn[ 'magnificPopup' ]) ) { + + $(function() { + $('[data-plugin-lightbox], .lightbox:not(.manual)').each(function() { + var $this = $( this ), + opts = {}; + + var pluginOptions = $this.data('plugin-options'); + if (pluginOptions) + opts = pluginOptions; + + $this.themePluginLightbox(opts); + }); + }); + + } + +}).apply(this, [ jQuery ]); + + + + +// SparklineWeeklyStats + + $("#sparklineLineEarnings").sparkline(sparklineLineEarningsData, { + type: 'line', + width: '80', + height: '40', + lineColor: '#0088cc' + }); + $("#sparklineLineSale").sparkline(sparklineLineSaleData, { + type: 'line', + width: '80', + height: '40', + lineColor: '#0088cc' + }); + $("#sparklineLineDownload").sparkline(sparklineLineDownloadData, { + type: 'line', + width: '80', + height: '40', + lineColor: '#0088cc' + }); + diff --git a/src/main/resources/static/js/pages/table.js b/src/main/resources/static/js/pages/table.js new file mode 100644 index 0000000..ab09219 --- /dev/null +++ b/src/main/resources/static/js/pages/table.js @@ -0,0 +1 @@ +/* TYPE YOUR JAVA SCRIPT HERE */ diff --git a/src/main/resources/static/js/pages/typography.js b/src/main/resources/static/js/pages/typography.js new file mode 100644 index 0000000..ab09219 --- /dev/null +++ b/src/main/resources/static/js/pages/typography.js @@ -0,0 +1 @@ +/* TYPE YOUR JAVA SCRIPT HERE */ diff --git a/src/main/resources/static/js/pages/ui-elements.js b/src/main/resources/static/js/pages/ui-elements.js new file mode 100644 index 0000000..7ec10b6 --- /dev/null +++ b/src/main/resources/static/js/pages/ui-elements.js @@ -0,0 +1,185 @@ +// Toggle +(function( $ ) { + + 'use strict'; + + $(function() { + $('[data-plugin-toggle]').each(function() { + var $this = $( this ), + opts = {}; + + var pluginOptions = $this.data('plugin-options'); + if (pluginOptions) + opts = pluginOptions; + + $this.themePluginToggle(opts); + }); + }); + +}).apply(this, [ jQuery ]); + +(function(theme, $) { + + theme = theme || {}; + + var instanceName = '__toggle'; + + var PluginToggle = function($el, opts) { + return this.initialize($el, opts); + }; + + PluginToggle.defaults = { + duration: 350, + isAccordion: false, + addIcons: true + }; + + PluginToggle.prototype = { + initialize: function($el, opts) { + if ( $el.data( instanceName ) ) { + return this; + } + + this.$el = $el; + + this + .setData() + .setOptions(opts) + .build(); + + return this; + }, + + setData: function() { + this.$el.data(instanceName, this); + + return this; + }, + + setOptions: function(opts) { + this.options = $.extend(true, {}, PluginToggle.defaults, opts, { + wrapper: this.$el + }); + + return this; + }, + + build: function() { + var self = this, + $wrapper = this.options.wrapper, + $items = $wrapper.find('.toggle'), + $el = null; + + $items.each(function() { + $el = $(this); + + if(self.options.addIcons) { + $el.find('> label').prepend( + $('').addClass('fa fa-plus'), + $('').addClass('fa fa-minus') + ); + } + + if($el.hasClass('active')) { + $el.find('> p').addClass('preview-active'); + $el.find('> .toggle-content').slideDown(self.options.duration); + } + + self.events($el); + }); + + if(self.options.isAccordion) { + self.options.duration = self.options.duration/2; + } + + return this; + }, + + events: function($el) { + var self = this, + previewParCurrentHeight = 0, + previewParAnimateHeight = 0, + toggleContent = null; + + $el.find('> label').click(function(e) { + + var $this = $(this), + parentSection = $this.parent(), + parentWrapper = $this.parents('.toggle'), + previewPar = null, + closeElement = null; + + if(self.options.isAccordion && typeof(e.originalEvent) != 'undefined') { + closeElement = parentWrapper.find('.toggle.active > label'); + + if(closeElement[0] == $this[0]) { + return; + } + } + + parentSection.toggleClass('active'); + + // Preview Paragraph + if(parentSection.find('> p').get(0)) { + + previewPar = parentSection.find('> p'); + previewParCurrentHeight = previewPar.css('height'); + previewPar.css('height', 'auto'); + previewParAnimateHeight = previewPar.css('height'); + previewPar.css('height', previewParCurrentHeight); + + } + + // Content + toggleContent = parentSection.find('> .toggle-content'); + + if(parentSection.hasClass('active')) { + + $(previewPar).animate({ + height: previewParAnimateHeight + }, self.options.duration, function() { + $(this).addClass('preview-active'); + }); + + toggleContent.slideDown(self.options.duration, function() { + if(closeElement) { + closeElement.trigger('click'); + } + }); + + } else { + + $(previewPar).animate({ + height: 0 + }, self.options.duration, function() { + $(this).removeClass('preview-active'); + }); + + toggleContent.slideUp(self.options.duration); + + } + + }); + } + }; + + // expose to scope + $.extend(theme, { + PluginToggle: PluginToggle + }); + + // jquery plugin + $.fn.themePluginToggle = function(opts) { + return this.map(function() { + var $this = $(this); + + if ($this.data(instanceName)) { + return $this.data(instanceName); + } else { + return new PluginToggle($this, opts); + } + + }); + } + +}).apply(this, [ window.theme, jQuery ]); \ No newline at end of file diff --git a/src/main/resources/static/js/pages/ui-panels.js b/src/main/resources/static/js/pages/ui-panels.js new file mode 100644 index 0000000..ab09219 --- /dev/null +++ b/src/main/resources/static/js/pages/ui-panels.js @@ -0,0 +1 @@ +/* TYPE YOUR JAVA SCRIPT HERE */ diff --git a/src/main/resources/static/js/pages/ui-progress-bar.js b/src/main/resources/static/js/pages/ui-progress-bar.js new file mode 100644 index 0000000..ab09219 --- /dev/null +++ b/src/main/resources/static/js/pages/ui-progress-bar.js @@ -0,0 +1 @@ +/* TYPE YOUR JAVA SCRIPT HERE */ diff --git a/src/main/resources/static/js/pages/weathericons.js b/src/main/resources/static/js/pages/weathericons.js new file mode 100644 index 0000000..ab09219 --- /dev/null +++ b/src/main/resources/static/js/pages/weathericons.js @@ -0,0 +1 @@ +/* TYPE YOUR JAVA SCRIPT HERE */ diff --git a/src/main/resources/static/js/pages/widgets.js b/src/main/resources/static/js/pages/widgets.js new file mode 100644 index 0000000..ffcf7dd --- /dev/null +++ b/src/main/resources/static/js/pages/widgets.js @@ -0,0 +1,172 @@ + +/* +FlotChart +*/ +function randNum(){ + return ((Math.floor( Math.random()* (1+40-0) ) ) + 10)* 10; + } + + +$(document).ready(function(){ + + if($("#dotChart1").length) + { + var likes = [[1, 5+randNum()], [2, 10+randNum()], [3, 40+randNum()], [4, 60+randNum()],[5, 90+randNum()],[6, 40+randNum()],[7, 25+randNum()],[8, 35+randNum()]]; + + var plot = $.plot($("#dotChart1"), + [ { data: likes, label: "Profit"} ], { + series: { + lines: { show: true, + lineWidth: 2, + fill: false, fillColor: { colors: [ { opacity: 0.5 }, { opacity: 0.2 } ] } + }, + points: { show: true, + lineWidth: 3 + }, + shadowSize: 0 + }, + grid: { hoverable: true, + clickable: true, + tickColor: "#fff", + borderWidth: 0 + + }, + colors: ["#75b9e6"], + xaxis: {ticks:20, tickDecimals: 0}, + yaxis: {ticks:7, tickDecimals: 0}, + + }); + + function showTooltip(x, y, contents) { + $('
    ' + contents + '
    ').css( { + position: 'absolute', + display: 'none', + top: y + 5, + left: x + 5, + border: '1px solid #fdd', + padding: '2px', + 'background-color': '#dfeffc', + opacity: 0.80 + }).appendTo("body").fadeIn(200); + } + + var previousPoint = null; + $("#dotChart1").bind("plothover", function (event, pos, item) { + $("#x").text(pos.x.toFixed(2)); + $("#y").text(pos.y.toFixed(2)); + + if (item) { + if (previousPoint != item.dataIndex) { + previousPoint = item.dataIndex; + + $("#tooltip").remove(); + var x = item.datapoint[0].toFixed(2), + y = item.datapoint[1].toFixed(2); + + showTooltip(item.pageX, item.pageY, + item.series.label + " of " + x + " = " + y); + } + } + else { + $("#tooltip").remove(); + previousPoint = null; + } + }); + + } + + function randNumTW(){ + return ((Math.floor( Math.random()* (1+40-20) ) ) + 20); + } + +}); + +$(document).ready(function(){ + + if($("#dotChart2").length) + { + var likes = [[2001, 1+randNum()], [2002, 15+randNum()], [2003, 35+randNum()], [2004, 60+randNum()],[2005, 90+randNum()],[2006, 40+randNum()],[2007, 25+randNum()],[2008, 55+randNum()]]; + + var plot = $.plot($("#dotChart2"), + [ { data: likes} ], { + series: { + lines: { show: true, + lineWidth: 2, + fill: false, fillColor: { colors: [ { opacity: 0.5 }, { opacity: 0.2 } ] } + }, + points: { show: true, + lineWidth: 3 + }, + shadowSize: 0 + }, + grid: { hoverable: true, + clickable: true, + tickColor: "#368ee0", + borderWidth: 0 + + }, + colors: ["#fffff"], + xaxis: {ticks:20, tickDecimals: 0}, + yaxis: {ticks:7, tickDecimals: 0}, + + }); + + function showTooltip(x, y, contents) { + $('
    ' + contents + '
    ').css( { + position: 'absolute', + display: 'none', + top: y + 5, + left: x + 5, + border: '1px solid #fdd', + padding: '2px', + 'background-color': '#dfeffc', + opacity: 0.80 + }).appendTo("body").fadeIn(200); + } + + var previousPoint = null; + $("#dotChart2").bind("plothover", function (event, pos, item) { + $("#x").text(pos.x.toFixed(2)); + $("#y").text(pos.y.toFixed(2)); + + if (item) { + if (previousPoint != item.dataIndex) { + previousPoint = item.dataIndex; + + $("#tooltip").remove(); + var x = item.datapoint[0].toFixed(2), + y = item.datapoint[1].toFixed(2); + + showTooltip(item.pageX, item.pageY, + item.series.label + " of " + x + " = " + y); + } + } + else { + $("#tooltip").remove(); + previousPoint = null; + } + }); + + } + + function randNumTW(){ + return ((Math.floor( Math.random()* (1+40-20) ) ) + 20); + } + +}); + +/* +Sparkline: Bar +*/ + $("#sparklineBar").sparkline(sparklineBarData, { + type: 'bar', + width: '120', + height: '80', + barColor: '#0088cc', + negBarColor: '#B20000' + }); +/* +To Do List +*/ + todoList(); + discussionWidget(); \ No newline at end of file diff --git a/src/main/resources/static/plugins/autosize/jquery.autosize.min.js b/src/main/resources/static/plugins/autosize/jquery.autosize.min.js new file mode 100644 index 0000000..958b43b --- /dev/null +++ b/src/main/resources/static/plugins/autosize/jquery.autosize.min.js @@ -0,0 +1,7 @@ +/*! + Autosize v1.18.9 - 2014-05-27 + Automatically adjust textarea height based on user input. + (c) 2014 Jack Moore - http://www.jacklmoore.com/autosize + license: http://www.opensource.org/licenses/mit-license.php +*/ +(function(e){var t,o={className:"autosizejs",id:"autosizejs",append:"\n",callback:!1,resizeDelay:10,placeholder:!0},i='",inputclass:"input-large",placeholder:null,rows:7}),a.fn.editabletypes.textarea=b}(window.jQuery),function(a){"use strict";var b=function(a){this.init("select",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.list),a.extend(b.prototype,{renderList:function(){this.$input.empty();var b=function(c,d){var e;if(a.isArray(d))for(var f=0;f",e),d[f].children))):(e.value=d[f].value,d[f].disabled&&(e.disabled=!0),c.append(a("