idea2023+jdk1.8+Maven3.6.3+Testng6.10+junit4.13搭建测试

idea2023+jdk1.8+Maven3.6.3+Testng6.10+junit4.13搭建测试

首先创建maven工程

导入依赖

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.test</groupId>
    <artifactId>TestngResport</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
   <dependencies>
       <dependency>
           <groupId>com.google.code.gson</groupId>
           <artifactId>gson</artifactId>
           <version>2.8.0</version>
       </dependency>
       <dependency>
           <groupId>org.testng</groupId>
           <artifactId>testng</artifactId>
           <version>6.10</version>
           <scope>test</scope>
       </dependency>

       <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13</version>
            <scope>compile</scope>
        </dependency>
   </dependencies>
</project>

创建测试类

1.创建类

package com.test;

public class Rectangle {
    private double length;
    private double width;

    public Rectangle(double length, double width) {
        this.length = length;
        this.width = width;
    }

    //面积
    public double getArea( ) {
        return length * width;
    }
//周长
    public double getPerimeter( ) {
        return 2 * (length + width);
    }
}

2.测试类(此处为具体实现Testng的监听代码)

package com.test;
import org.testng.annotations.Listeners;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
import utils.ZTestReport;
import junit.framework.TestCase;

@Listeners({ZTestReport.class})
public class RectangleTest {
    @Parameters({"newone"})
    @Test(description = "test1")
    public void testGetArea() {
        System.out.println("111");
    }
    @Parameters({"newtwo"})
    @Test(description = "test2")
    public void testGetPerimeter() {
        System.out.println("222");
    }
}

导入模版

链接

https://gitcode.com/zhangfei19841004/ztest/tree/master

主要是对ZTestngResport的修改,以及util下的template文件

package utils;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import org.testng.*;
import org.testng.xml.XmlSuite;

import java.io.*;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.regex.Matcher;

public class ZTestReport implements IReporter {
	private long currentTime = System.currentTimeMillis();
	private SimpleDateFormat formatter = new SimpleDateFormat ("yyyy年-MM月-dd日-HH时mm分ss秒");
	private Date date = new Date(currentTime);
	private String reportdate = formatter.format(date);

	// 定义生成测试报告的路径和文件名,为兼容Windows和Linux此处使用File.separator代替分隔符
	private String path = System.getProperty("user.dir")+ File.separator + "src/test/java"+File.separator+reportdate+".html";
//	// 定义html样式模板所在路径
//	private String templatePath = System.getProperty("user.dir")+File.separator+"template";

//	private String path = System.getProperty("user.dir") + File.separator + "src/main/java"+ ".html";

	private String templatePath = System.getProperty("user.dir") + File.separator + "src/test/java/utils/template";

	private int testsPass = 0;

	private int testsFail = 0;

	private int testsSkip = 0;

	private String beginTime;

	private long totalTime;

	private String name = "20210411431138";

//	public ZTestReport() {
//		SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmssSSS");
//		name = formatter.format(System.currentTimeMillis());
//	}
//
//	public ZTestReport(String name) {
//		this.name = name;
//		if (this.name == null) {
//			SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmssSSS");
//			this.name = formatter.format(System.currentTimeMillis());
//		}
//	}

	@Override
	public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites, String outputDirectory) {
		List<ITestResult> list = new ArrayList<ITestResult>();
		for (ISuite suite : suites) {
			Map<String, ISuiteResult> suiteResults = suite.getResults();
			for (ISuiteResult suiteResult : suiteResults.values()) {
				ITestContext testContext = suiteResult.getTestContext();
				IResultMap passedTests = testContext.getPassedTests();
				testsPass = testsPass + passedTests.size();
				IResultMap failedTests = testContext.getFailedTests();
				testsFail = testsFail + failedTests.size();
				IResultMap skippedTests = testContext.getSkippedTests();
				testsSkip = testsSkip + skippedTests.size();
				IResultMap failedConfig = testContext.getFailedConfigurations();
				list.addAll(this.listTestResult(passedTests));
				list.addAll(this.listTestResult(failedTests));
				list.addAll(this.listTestResult(skippedTests));
				list.addAll(this.listTestResult(failedConfig));
			}
		}
		this.sort(list);
		this.outputResult(list);
	}

	private ArrayList<ITestResult> listTestResult(IResultMap resultMap) {
		Set<ITestResult> results = resultMap.getAllResults();
		return new ArrayList<ITestResult>(results);
	}

	private void sort(List<ITestResult> list) {
		Collections.sort(list, new Comparator<ITestResult>() {
			@Override
			public int compare(ITestResult r1, ITestResult r2) {
				if (r1.getStartMillis() > r2.getStartMillis()) {
					return 1;
				} else {
					return -1;
				}
			}
		});
	}

	private void outputResult(List<ITestResult> list) {
		try {
			List<ReportInfo> listInfo = new ArrayList<ReportInfo>();
			int index = 0;
			for (ITestResult result : list) {
				String tn = result.getTestContext().getCurrentXmlTest().getParameter("testCase");
				if (index == 0) {
					SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
					beginTime = formatter.format(new Date(result.getStartMillis()));
					index++;
				}
				long spendTime = result.getEndMillis() - result.getStartMillis();
				totalTime += spendTime;
				String status = this.getStatus(result.getStatus());
				List<String> log = Reporter.getOutput(result);
				for (int i = 0; i < log.size(); i++) {
					log.set(i, this.toHtml(log.get(i)));
				}
				Throwable throwable = result.getThrowable();
				if (throwable != null) {
					log.add(this.toHtml(throwable.toString()));
					StackTraceElement[] st = throwable.getStackTrace();
					for (StackTraceElement stackTraceElement : st) {
						log.add(this.toHtml("    " + stackTraceElement));
					}
				}
				ReportInfo info = new ReportInfo();
				info.setName(tn);
				info.setSpendTime(spendTime + "ms");
				info.setStatus(status);
				info.setClassName(result.getInstanceName());
				info.setMethodName(result.getName());
				info.setDescription(result.getMethod().getDescription());
				info.setLog(log);
				listInfo.add(info);
			}
			Map<String, Object> result = new HashMap<String, Object>();
			result.put("testName", name);
			result.put("testPass", testsPass);
			result.put("testFail", testsFail);
			result.put("testSkip", testsSkip);
			result.put("testAll", testsPass + testsFail + testsSkip);
			result.put("beginTime", beginTime);
			result.put("totalTime", totalTime + "ms");
			result.put("testResult", listInfo);
			Gson gson = new GsonBuilder().disableHtmlEscaping().setPrettyPrinting().create();
			String template = this.read(templatePath);
			BufferedWriter output = new BufferedWriter(new OutputStreamWriter(Files.newOutputStream(new File(path).toPath()), StandardCharsets.UTF_8));
            if (template != null) {
                template = template.replaceFirst("\\$\\{resultData}", Matcher.quoteReplacement(gson.toJson(result)));
            }
            if (template != null) {
                output.write(template);
            }
            output.flush();
			output.close();
		} catch (IOException e) {
			e.printStackTrace();
		}

	}

	private String getStatus(int status) {
		String statusString = null;
		switch (status) {
			case 1:
				statusString = "成功";
				break;
			case 2:
				statusString = "失败";
				break;
			case 3:
				statusString = "跳过";
				break;
			default:
				break;
		}
		return statusString;
	}

	private String toHtml(String str) {
		if (str == null) {
			return "";
		} else {
			str = str.replaceAll("<", "&lt;");
			str = str.replaceAll(">", "&gt;");
			str = str.replaceAll(" ", "&nbsp;");
			str = str.replaceAll("\n", "<br>");
			str = str.replaceAll("\"", "\\\\\"");
		}
		return str;
	}

	public static class ReportInfo {

		private String name;

		private String className;

		private String methodName;

		private String description;

		private String spendTime;

		private String status;

		private List<String> log;

		public String getName() {
			return name;
		}

		public void setName(String name) {
			this.name = name;
		}

		public String getClassName() {
			return className;
		}

		public void setClassName(String className) {
			this.className = className;
		}

		public String getMethodName() {
			return methodName;
		}

		public void setMethodName(String methodName) {
			this.methodName = methodName;
		}

		public String getSpendTime() {
			return spendTime;
		}

		public void setSpendTime(String spendTime) {
			this.spendTime = spendTime;
		}

		public String getStatus() {
			return status;
		}

		public void setStatus(String status) {
			this.status = status;
		}

		public List<String> getLog() {
			return log;
		}

		public void setLog(List<String> log) {
			this.log = log;
		}

		public String getDescription() {
			return description;
		}

		public void setDescription(String description) {
			this.description = description;
		}

	}

	private String read(String path) {
		File file = new File(path);
		InputStream is = null;
		StringBuffer sb = new StringBuffer();
		try {
			is = new FileInputStream(file);
			int index = 0;
			byte[] b = new byte[1024];
			while ((index = is.read(b)) != -1) {
				sb.append(new String(b, 0, index));
			}
			return sb.toString();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				if (is != null) {
					is.close();
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		return null;
	}
}

Template

<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>测试报告</title>
    <link href="https://cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet">
    <link href="https://cdn.bootcss.com/font-awesome/4.4.0/css/font-awesome.min.css" rel="stylesheet">
    <link href="https://cdn.bootcss.com/animate.css/3.5.2/animate.min.css" rel="stylesheet">
    <link href="https://cdn.bootcss.com/chosen/1.8.2/chosen.css" rel="stylesheet">
    <base target="_blank">
    <style type="text/css">
        h1, h2, h3, h4, h5, h6 {
            font-weight: 100
        }

        p {
            word-wrap: break-word;
            word-break: break-all;
            overflow: hidden;
        }

        h1 {
            font-size: 30px
        }

        h2 {
            font-size: 24px
        }

        h3 {
            font-size: 16px
        }

        h4 {
            font-size: 14px
        }

        h5 {
            font-size: 12px
        }

        h6 {
            font-size: 10px
        }

        h3, h4, h5 {
            margin-top: 5px;
            font-weight: 600
        }

        a:focus {
            outline: 0
        }

        .nav > li > a {
            color: #a7b1c2;
            font-weight: 600;
            padding: 14px 20px 14px 25px
        }

        .nav li > a {
            display: block
        }

        .nav.navbar-right > li > a {
            color: #999c9e
        }

        .nav > li.active > a {
            color: #fff
        }

        .navbar-default .nav > li > a:focus, .navbar-default .nav > li > a:hover {
            background-color: #293846;
            color: #fff
        }

        .nav .open > a, .nav .open > a:focus, .nav .open > a:hover {
            background: #fff
        }

        .nav > li > a i {
            margin-right: 6px
        }

        .navbar {
            border: 0
        }

        .navbar-default {
            background-color: transparent;
            border-color: #2f4050;
            position: relative
        }

        .navbar-top-links li {
            display: inline-block
        }

        .navbar-top-links li:last-child {
            margin-right: 30px
        }

        body.body-small .navbar-top-links li:last-child {
            margin-right: 10px
        }

        .navbar-top-links li a {
            padding: 20px 10px;
            min-height: 50px
        }

        .dropdown-menu {
            border: medium none;
            display: none;
            float: left;
            font-size: 12px;
            left: 0;
            list-style: none outside none;
            padding: 0;
            position: absolute;
            text-shadow: none;
            top: 100%;
            z-index: 1000;
            border-radius: 0;
            box-shadow: 0 0 3px rgba(86, 96, 117, .3)
        }

        .dropdown-menu > li > a {
            border-radius: 3px;
            color: inherit;
            line-height: 25px;
            margin: 4px;
            text-align: left;
            font-weight: 400
        }

        .dropdown-menu > li > a.font-bold {
            font-weight: 600
        }

        .navbar-top-links .dropdown-menu li {
            display: block
        }

        .navbar-top-links .dropdown-menu li:last-child {
            margin-right: 0
        }

        .navbar-top-links .dropdown-menu li a {
            padding: 3px 20px;
            min-height: 0
        }

        .navbar-top-links .dropdown-menu li a div {
            white-space: normal
        }

        .navbar-top-links .dropdown-alerts, .navbar-top-links .dropdown-messages, .navbar-top-links .dropdown-tasks {
            width: 310px;
            min-width: 0
        }

        .navbar-top-links .dropdown-messages {
            margin-left: 5px
        }

        .navbar-top-links .dropdown-tasks {
            margin-left: -59px
        }

        .navbar-top-links .dropdown-alerts {
            margin-left: -123px
        }

        .navbar-top-links .dropdown-user {
            right: 0;
            left: auto
        }

        .dropdown-alerts, .dropdown-messages {
            padding: 10px
        }

        .dropdown-alerts li a, .dropdown-messages li a {
            font-size: 12px
        }

        .dropdown-alerts li em, .dropdown-messages li em {
            font-size: 10px
        }

        .nav.navbar-top-links .dropdown-alerts a {
            font-size: 12px
        }

        .nav-header {
            padding: 33px 25px
        }

        .nav > li.active {
            border-left: 4px solid #19aa8d;
            background: #293846
        }

        .nav.nav-second-level > li.active {
            border: none
        }

        .nav.nav-second-level.collapse[style] {
            height: auto !important
        }

        .nav-header a {
            color: #DFE4ED
        }

        .nav-header .text-muted {
            color: #8095a8
        }

        .minimalize-styl-2 {
            padding: 4px 12px;
            margin: 14px 5px 5px 20px;
            font-size: 14px;
            float: left
        }

        .navbar-form-custom {
            float: left;
            height: 50px;
            padding: 0;
            width: 200px;
            display: inline-table
        }

        .navbar-form-custom .form-group {
            margin-bottom: 0
        }

        .nav.navbar-top-links a {
            font-size: 14px
        }

        .navbar-form-custom .form-control {
            background: none repeat scroll 0 0 rgba(0, 0, 0, 0);
            border: medium none;
            font-size: 14px;
            height: 60px;
            margin: 0;
            z-index: 2000
        }

        .count-info .label {
            line-height: 12px;
            padding: 1px 5px;
            position: absolute;
            right: 6px;
            top: 12px
        }

        .arrow {
            float: right;
            margin-top: 2px
        }

        .fa.arrow:before {
            content: "\f104"
        }

        .active > a > .fa.arrow:before {
            content: "\f107"
        }

        .nav-second-level li, .nav-third-level li {
            border-bottom: none !important
        }

        .nav-second-level li a {
            padding: 7px 15px 7px 10px;
            padding-left: 52px
        }

        .nav-third-level li a {
            padding-left: 62px
        }

        .nav-second-level li:last-child {
            margin-bottom: 10px
        }

        .mini-navbar .nav li:focus > .nav-second-level, body:not(.fixed-sidebar):not(.canvas-menu).mini-navbar .nav li:hover > .nav-second-level {
            display: block;
            border-radius: 0 2px 2px 0;
            min-width: 140px;
            height: auto
        }

        body.mini-navbar .navbar-default .nav > li > .nav-second-level li a {
            font-size: 12px;
            border-radius: 0 2px 2px 0
        }

        .fixed-nav .slimScrollDiv #side-menu {
            padding-bottom: 60px;
            position: relative
        }

        .slimScrollDiv > * {
            overflow: hidden
        }

        .mini-navbar .nav-second-level li a {
            padding: 10px 10px 10px 15px
        }

        .canvas-menu.mini-navbar .nav-second-level {
            background: #293846
        }

        .mini-navbar li.active .nav-second-level {
            left: 65px
        }

        .navbar-default .special_link a {
            background: #1ab394;
            color: #fff
        }

        .navbar-default .special_link a:hover {
            background: #17987e !important;
            color: #fff
        }

        .navbar-default .special_link a span.label {
            background: #fff;
            color: #1ab394
        }

        .navbar-default .landing_link a {
            background: #1cc09f;
            color: #fff
        }

        .navbar-default .landing_link a:hover {
            background: #1ab394 !important;
            color: #fff
        }

        .navbar-default .landing_link a span.label {
            background: #fff;
            color: #1cc09f
        }

        .logo-element {
            text-align: center;
            font-size: 18px;
            font-weight: 600;
            color: #fff;
            display: none;
            padding: 18px 0
        }

        .pace-done #page-wrapper, .pace-done .footer, .pace-done .nav-header, .pace-done .navbar-static-side, .pace-done li.active {
            -webkit-transition: all .5s;
            transition: all .5s
        }

        .navbar-fixed-top {
            -webkit-transition-duration: .5s;
            transition-duration: .5s;
            z-index: 2030
        }

        .navbar-fixed-top, .navbar-static-top {
            background: #f3f3f4
        }

        .fixed-nav #wrapper {
            padding-top: 60px;
            box-sizing: border-box
        }

        .fixed-nav .minimalize-styl-2 {
            margin: 14px 5px 5px 15px
        }

        .body-small .navbar-fixed-top {
            margin-left: 0
        }

        body.mini-navbar .navbar-static-side {
            width: 70px
        }

        body.mini-navbar .nav-label, body.mini-navbar .navbar-default .nav li a span, body.mini-navbar .profile-element {
            display: none
        }

        body.canvas-menu .profile-element {
            display: block
        }

        body:not(.fixed-sidebar):not(.canvas-menu).mini-navbar .nav-second-level {
            display: none
        }

        body.mini-navbar .navbar-default .nav > li > a {
            font-size: 16px
        }

        body.mini-navbar .logo-element {
            display: block
        }

        body.canvas-menu .logo-element {
            display: none
        }

        body.mini-navbar .nav-header {
            padding: 0;
            background-color: #1ab394
        }

        body.canvas-menu .nav-header {
            padding: 33px 25px
        }

        body.mini-navbar #page-wrapper {
            margin: 0 0 0 70px
        }

        body.canvas-menu.mini-navbar #page-wrapper, body.canvas-menu.mini-navbar .footer {
            margin: 0
        }

        body.canvas-menu .navbar-static-side, body.fixed-sidebar .navbar-static-side {
            position: fixed;
            width: 220px;
            z-index: 2001;
            height: 100%
        }

        body.fixed-sidebar.mini-navbar .navbar-static-side {
            width: 70px
        }

        body.body-small.fixed-sidebar.mini-navbar #page-wrapper, body.fixed-sidebar.mini-navbar #page-wrapper {
            margin: 0 0 0 70px
        }

        body.body-small.fixed-sidebar.mini-navbar .navbar-static-side {
            width: 70px
        }

        .fixed-sidebar.mini-navbar .nav li > .nav-second-level {
            display: none
        }

        .fixed-sidebar.mini-navbar .nav li.active {
            border-left-width: 0
        }

        .canvas-menu.mini-navbar .nav li:hover > .nav-second-level, .fixed-sidebar.mini-navbar .nav li:hover > .nav-second-level {
            position: absolute;
            left: 70px;
            top: 0;
            background-color: #2f4050;
            padding: 10px 10px 0;
            font-size: 12px;
            display: block;
            min-width: 140px;
            border-radius: 2px
        }

        body.fixed-sidebar.mini-navbar .navbar-default .nav > li > .nav-second-level li a {
            font-size: 12px;
            border-radius: 3px
        }

        body.canvas-menu.mini-navbar .navbar-default .nav > li > .nav-second-level li a {
            font-size: 13px;
            border-radius: 3px
        }

        .canvas-menu.mini-navbar .nav-second-level li a, .fixed-sidebar.mini-navbar .nav-second-level li a {
            padding: 10px 10px 10px 15px
        }

        .canvas-menu.mini-navbar .nav-second-level, .fixed-sidebar.mini-navbar .nav-second-level {
            position: relative;
            padding: 0;
            font-size: 13px
        }

        .canvas-menu.mini-navbar li.active .nav-second-level, .fixed-sidebar.mini-navbar li.active .nav-second-level {
            left: 0
        }

        body.canvas-menu nav.navbar-static-side {
            z-index: 2001;
            background: #2f4050;
            height: 100%;
            position: fixed;
            display: none
        }

        body.canvas-menu.mini-navbar nav.navbar-static-side {
            display: block;
            width: 70px
        }

        .top-navigation #page-wrapper {
            margin-left: 0
        }

        .top-navigation .navbar-nav .dropdown-menu > .active > a {
            background: #fff;
            color: #1ab394;
            font-weight: 700
        }

        .white-bg .navbar-fixed-top, .white-bg .navbar-static-top {
            background: #fff
        }

        .top-navigation .navbar {
            margin-bottom: 0
        }

        .top-navigation .nav > li > a {
            padding: 15px 20px;
            color: #676a6c
        }

        .top-navigation .nav > li a:focus, .top-navigation .nav > li a:hover {
            background: #fff;
            color: #1ab394
        }

        .top-navigation .nav > li.active {
            background: #fff;
            border: none
        }

        .top-navigation .nav > li.active > a {
            color: #1ab394
        }

        .top-navigation .navbar-right {
            padding-right: 10px
        }

        .top-navigation .navbar-nav .dropdown-menu {
            box-shadow: none;
            border: 1px solid #e7eaec
        }

        .top-navigation .dropdown-menu > li > a {
            margin: 0;
            padding: 7px 20px
        }

        .navbar .dropdown-menu {
            margin-top: 0
        }

        .top-navigation .navbar-brand {
            background: #1ab394;
            color: #fff;
            padding: 15px 25px
        }

        .top-navigation .navbar-top-links li:last-child {
            margin-right: 0
        }

        .body-small.fixed-sidebar.mini-navbar .top-navigation #page-wrapper, .canvas-menu #page-wrapper, .mini-navbar .top-navigation #page-wrapper, .top-navigation.body-small.fixed-sidebar.mini-navbar #page-wrapper, .top-navigation.mini-navbar #page-wrapper {
            margin: 0
        }

        .fixed-nav #wrapper.top-navigation, .top-navigation.fixed-nav #wrapper {
            margin-top: 50px
        }

        .top-navigation .footer.fixed {
            margin-left: 0 !important
        }

        .top-navigation .wrapper.wrapper-content {
            padding: 40px
        }

        .body-small .top-navigation .wrapper.wrapper-content, .top-navigation.body-small .wrapper.wrapper-content {
            padding: 40px 0
        }

        .navbar-toggle {
            color: #fff;
            padding: 6px 12px;
            font-size: 14px
        }

        .top-navigation .navbar-nav .open .dropdown-menu .dropdown-header, .top-navigation .navbar-nav .open .dropdown-menu > li > a {
            padding: 10px 15px 10px 20px
        }

        @media (max-width: 768px) {
            .top-navigation .navbar-header {
                display: block;
                float: none
            }
        }

        .menu-visible-lg, .menu-visible-md {
            display: none !important
        }

        @media (min-width: 1200px) {
            .menu-visible-lg {
                display: block !important
            }
        }

        @media (min-width: 992px) {
            .menu-visible-md {
                display: block !important
            }
        }

        @media (max-width: 767px) {
            .menu-visible-lg, .menu-visible-md {
                display: block !important
            }
        }

        .btn {
            border-radius: 3px
        }

        .float-e-margins .btn {
            margin-bottom: 5px
        }

        .btn-w-m {
            min-width: 120px
        }

        .btn-primary.btn-outline {
            color: #1ab394
        }

        .btn-success.btn-outline {
            color: #1c84c6
        }

        .btn-info.btn-outline {
            color: #23c6c8
        }

        .btn-warning.btn-outline {
            color: #f8ac59
        }

        .btn-danger.btn-outline {
            color: #ed5565
        }

        .btn-danger.btn-outline:hover, .btn-info.btn-outline:hover, .btn-primary.btn-outline:hover, .btn-success.btn-outline:hover, .btn-warning.btn-outline:hover {
            color: #fff
        }

        .btn-primary {
            background-color: #1ab394;
            border-color: #1ab394;
            color: #FFF
        }

        .btn-primary.active, .btn-primary:active, .btn-primary:focus, .btn-primary:hover, .open .dropdown-toggle.btn-primary {
            background-color: #18a689;
            border-color: #18a689;
            color: #FFF
        }

        .btn-primary.active, .btn-primary:active, .open .dropdown-toggle.btn-primary {
            background-image: none
        }

        .btn-primary.active[disabled], .btn-primary.disabled, .btn-primary.disabled.active, .btn-primary.disabled:active, .btn-primary.disabled:focus, .btn-primary.disabled:hover, .btn-primary[disabled], .btn-primary[disabled]:active, .btn-primary[disabled]:focus, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary, fieldset[disabled] .btn-primary.active, fieldset[disabled] .btn-primary:active, fieldset[disabled] .btn-primary:focus, fieldset[disabled] .btn-primary:hover {
            background-color: #1dc5a3;
            border-color: #1dc5a3
        }

        .btn-success {
            background-color: #1c84c6;
            border-color: #1c84c6;
            color: #FFF
        }

        .btn-success.active, .btn-success:active, .btn-success:focus, .btn-success:hover, .open .dropdown-toggle.btn-success {
            background-color: #1a7bb9;
            border-color: #1a7bb9;
            color: #FFF
        }

        .btn-success.active, .btn-success:active, .open .dropdown-toggle.btn-success {
            background-image: none
        }

        .btn-success.active[disabled], .btn-success.disabled, .btn-success.disabled.active, .btn-success.disabled:active, .btn-success.disabled:focus, .btn-success.disabled:hover, .btn-success[disabled], .btn-success[disabled]:active, .btn-success[disabled]:focus, .btn-success[disabled]:hover, fieldset[disabled] .btn-success, fieldset[disabled] .btn-success.active, fieldset[disabled] .btn-success:active, fieldset[disabled] .btn-success:focus, fieldset[disabled] .btn-success:hover {
            background-color: #1f90d8;
            border-color: #1f90d8
        }

        .btn-info {
            background-color: #23c6c8;
            border-color: #23c6c8;
            color: #FFF
        }

        .btn-info.active, .btn-info:active, .btn-info:focus, .btn-info:hover, .open .dropdown-toggle.btn-info {
            background-color: #21b9bb;
            border-color: #21b9bb;
            color: #FFF
        }

        .btn-info.active, .btn-info:active, .open .dropdown-toggle.btn-info {
            background-image: none
        }

        .btn-info.active[disabled], .btn-info.disabled, .btn-info.disabled.active, .btn-info.disabled:active, .btn-info.disabled:focus, .btn-info.disabled:hover, .btn-info[disabled], .btn-info[disabled]:active, .btn-info[disabled]:focus, .btn-info[disabled]:hover, fieldset[disabled] .btn-info, fieldset[disabled] .btn-info.active, fieldset[disabled] .btn-info:active, fieldset[disabled] .btn-info:focus, fieldset[disabled] .btn-info:hover {
            background-color: #26d7d9;
            border-color: #26d7d9
        }

        .btn-default {
            background-color: #c2c2c2;
            border-color: #c2c2c2;
            color: #FFF
        }

        .btn-default.active, .btn-default:active, .btn-default:focus, .btn-default:hover, .open .dropdown-toggle.btn-default {
            background-color: #bababa;
            border-color: #bababa;
            color: #FFF
        }

        .btn-default.active, .btn-default:active, .open .dropdown-toggle.btn-default {
            background-image: none
        }

        .btn-default.active[disabled], .btn-default.disabled, .btn-default.disabled.active, .btn-default.disabled:active, .btn-default.disabled:focus, .btn-default.disabled:hover, .btn-default[disabled], .btn-default[disabled]:active, .btn-default[disabled]:focus, .btn-default[disabled]:hover, fieldset[disabled] .btn-default, fieldset[disabled] .btn-default.active, fieldset[disabled] .btn-default:active, fieldset[disabled] .btn-default:focus, fieldset[disabled] .btn-default:hover {
            background-color: #ccc;
            border-color: #ccc
        }

        .btn-warning {
            background-color: #f8ac59;
            border-color: #f8ac59;
            color: #FFF
        }

        .btn-warning.active, .btn-warning:active, .btn-warning:focus, .btn-warning:hover, .open .dropdown-toggle.btn-warning {
            background-color: #f7a54a;
            border-color: #f7a54a;
            color: #FFF
        }

        .btn-warning.active, .btn-warning:active, .open .dropdown-toggle.btn-warning {
            background-image: none
        }

        .btn-warning.active[disabled], .btn-warning.disabled, .btn-warning.disabled.active, .btn-warning.disabled:active, .btn-warning.disabled:focus, .btn-warning.disabled:hover, .btn-warning[disabled], .btn-warning[disabled]:active, .btn-warning[disabled]:focus, .btn-warning[disabled]:hover, fieldset[disabled] .btn-warning, fieldset[disabled] .btn-warning.active, fieldset[disabled] .btn-warning:active, fieldset[disabled] .btn-warning:focus, fieldset[disabled] .btn-warning:hover {
            background-color: #f9b66d;
            border-color: #f9b66d
        }

        .btn-danger {
            background-color: #ed5565;
            border-color: #ed5565;
            color: #FFF
        }

        .btn-danger.active, .btn-danger:active, .btn-danger:focus, .btn-danger:hover, .open .dropdown-toggle.btn-danger {
            background-color: #ec4758;
            border-color: #ec4758;
            color: #FFF
        }

        .btn-danger.active, .btn-danger:active, .open .dropdown-toggle.btn-danger {
            background-image: none
        }

        .btn-danger.active[disabled], .btn-danger.disabled, .btn-danger.disabled.active, .btn-danger.disabled:active, .btn-danger.disabled:focus, .btn-danger.disabled:hover, .btn-danger[disabled], .btn-danger[disabled]:active, .btn-danger[disabled]:focus, .btn-danger[disabled]:hover, fieldset[disabled] .btn-danger, fieldset[disabled] .btn-danger.active, fieldset[disabled] .btn-danger:active, fieldset[disabled] .btn-danger:focus, fieldset[disabled] .btn-danger:hover {
            background-color: #ef6776;
            border-color: #ef6776
        }

        .btn-link {
            color: inherit
        }

        .btn-link.active, .btn-link:active, .btn-link:focus, .btn-link:hover, .open .dropdown-toggle.btn-link {
            color: #1ab394;
            text-decoration: none
        }

        .btn-link.active, .btn-link:active, .open .dropdown-toggle.btn-link {
            background-image: none
        }

        .btn-link.active[disabled], .btn-link.disabled, .btn-link.disabled.active, .btn-link.disabled:active, .btn-link.disabled:focus, .btn-link.disabled:hover, .btn-link[disabled], .btn-link[disabled]:active, .btn-link[disabled]:focus, .btn-link[disabled]:hover, fieldset[disabled] .btn-link, fieldset[disabled] .btn-link.active, fieldset[disabled] .btn-link:active, fieldset[disabled] .btn-link:focus, fieldset[disabled] .btn-link:hover {
            color: #cacaca
        }

        .btn-white {
            color: inherit;
            background: #fff;
            border: 1px solid #e7eaec
        }

        .btn-white.active, .btn-white:active, .btn-white:focus, .btn-white:hover, .open .dropdown-toggle.btn-white {
            color: inherit;
            border: 1px solid #d2d2d2
        }

        .btn-white.active, .btn-white:active {
            box-shadow: 0 2px 5px rgba(0, 0, 0, .15) inset
        }

        .btn-white.active, .btn-white:active, .open .dropdown-toggle.btn-white {
            background-image: none
        }

        .btn-white.active[disabled], .btn-white.disabled, .btn-white.disabled.active, .btn-white.disabled:active, .btn-white.disabled:focus, .btn-white.disabled:hover, .btn-white[disabled], .btn-white[disabled]:active, .btn-white[disabled]:focus, .btn-white[disabled]:hover, fieldset[disabled] .btn-white, fieldset[disabled] .btn-white.active, fieldset[disabled] .btn-white:active, fieldset[disabled] .btn-white:focus, fieldset[disabled] .btn-white:hover {
            color: #cacaca
        }

        .form-control, .form-control:focus, .has-error .form-control:focus, .has-success .form-control:focus, .has-warning .form-control:focus, .navbar-collapse, .navbar-form, .navbar-form-custom .form-control:focus, .navbar-form-custom .form-control:hover, .open .btn.dropdown-toggle, .panel, .popover, .progress, .progress-bar {
            box-shadow: none
        }

        .btn-outline {
            color: inherit;
            background-color: transparent;
            -webkit-transition: all .5s;
            transition: all .5s
        }

        .btn-rounded {
            border-radius: 50px
        }

        .btn-large-dim {
            width: 90px;
            height: 90px;
            font-size: 42px
        }

        button.dim {
            display: inline-block;
            color: #fff;
            text-decoration: none;
            text-transform: uppercase;
            text-align: center;
            padding-top: 6px;
            margin-right: 10px;
            position: relative;
            cursor: pointer;
            border-radius: 5px;
            font-weight: 600;
            margin-bottom: 20px !important
        }

        button.dim:active {
            top: 3px
        }

        button.btn-primary.dim {
            box-shadow: inset 0 0 0 #16987e, 0 5px 0 0 #16987e, 0 10px 5px #999
        }

        button.btn-primary.dim:active {
            box-shadow: inset 0 0 0 #16987e, 0 2px 0 0 #16987e, 0 5px 3px #999
        }

        button.btn-default.dim {
            box-shadow: inset 0 0 0 #b3b3b3, 0 5px 0 0 #b3b3b3, 0 10px 5px #999
        }

        button.btn-default.dim:active {
            box-shadow: inset 0 0 0 #b3b3b3, 0 2px 0 0 #b3b3b3, 0 5px 3px #999
        }

        button.btn-warning.dim {
            box-shadow: inset 0 0 0 #f79d3c, 0 5px 0 0 #f79d3c, 0 10px 5px #999
        }

        button.btn-warning.dim:active {
            box-shadow: inset 0 0 0 #f79d3c, 0 2px 0 0 #f79d3c, 0 5px 3px #999
        }

        button.btn-info.dim {
            box-shadow: inset 0 0 0 #1eacae, 0 5px 0 0 #1eacae, 0 10px 5px #999
        }

        button.btn-info.dim:active {
            box-shadow: inset 0 0 0 #1eacae, 0 2px 0 0 #1eacae, 0 5px 3px #999
        }

        button.btn-success.dim {
            box-shadow: inset 0 0 0 #1872ab, 0 5px 0 0 #1872ab, 0 10px 5px #999
        }

        button.btn-success.dim:active {
            box-shadow: inset 0 0 0 #1872ab, 0 2px 0 0 #1872ab, 0 5px 3px #999
        }

        button.btn-danger.dim {
            box-shadow: inset 0 0 0 #ea394c, 0 5px 0 0 #ea394c, 0 10px 5px #999
        }

        button.btn-danger.dim:active {
            box-shadow: inset 0 0 0 #ea394c, 0 2px 0 0 #ea394c, 0 5px 3px #999
        }

        button.dim:before {
            font-size: 50px;
            line-height: 1em;
            font-weight: 400;
            color: #fff;
            display: block;
            padding-top: 10px
        }

        button.dim:active:before {
            top: 7px;
            font-size: 50px
        }

        .label {
            background-color: #d1dade;
            color: #5e5e5e;
            font-size: 10px;
            font-weight: 600;
            padding: 3px 8px;
            text-shadow: none
        }

        .badge {
            background-color: #d1dade;
            color: #5e5e5e;
            font-size: 11px;
            font-weight: 600;
            padding-bottom: 4px;
            padding-left: 6px;
            padding-right: 6px;
            text-shadow: none
        }

        .badge-primary, .label-primary {
            background-color: #1ab394;
            color: #FFF
        }

        .badge-success, .label-success {
            background-color: #1c84c6;
            color: #FFF
        }

        .badge-warning, .label-warning {
            background-color: #f8ac59;
            color: #FFF
        }

        .badge-warning-light, .label-warning-light {
            background-color: #f8ac59;
            color: #fff
        }

        .badge-danger, .label-danger {
            background-color: #ed5565;
            color: #FFF
        }

        .badge-info, .label-info {
            background-color: #23c6c8;
            color: #FFF
        }

        .badge-inverse, .label-inverse {
            background-color: #262626;
            color: #FFF
        }

        .badge-white, .label-white {
            background-color: #FFF;
            color: #5E5E5E
        }

        .badge-disable, .label-white {
            background-color: #2A2E36;
            color: #8B91A0
        }

        .chosen-container-single .chosen-single {
            background: #fff;
            box-shadow: none;
            -moz-box-sizing: border-box;
            background-color: #FFF;
            border: 1px solid #CBD5DD;
            border-radius: 2px;
            cursor: text;
            height: auto !important;
            margin: 0;
            min-height: 30px;
            overflow: hidden;
            padding: 4px 12px;
            position: relative;
            width: 100%
        }

        .chosen-container-multi .chosen-choices li.search-choice {
            background: #f1f1f1;
            border: 1px solid #ededed;
            border-radius: 2px;
            box-shadow: none;
            color: #333;
            cursor: default;
            line-height: 13px;
            margin: 3px 0 3px 5px;
            padding: 3px 20px 3px 5px;
            position: relative
        }

        .pagination > .active > a, .pagination > .active > a:focus, .pagination > .active > a:hover, .pagination > .active > span, .pagination > .active > span:focus, .pagination > .active > span:hover {
            background-color: #f4f4f4;
            border-color: #DDD;
            color: inherit;
            cursor: default;
            z-index: 2
        }

        .pagination > li > a, .pagination > li > span {
            background-color: #FFF;
            border: 1px solid #DDD;
            color: inherit;
            float: left;
            line-height: 1.42857;
            margin-left: -1px;
            padding: 4px 10px;
            position: relative;
            text-decoration: none
        }

        .tooltip-inner {
            background-color: #2F4050
        }

        .tooltip.top .tooltip-arrow {
            border-top-color: #2F4050
        }

        .tooltip.right .tooltip-arrow {
            border-right-color: #2F4050
        }

        .tooltip.bottom .tooltip-arrow {
            border-bottom-color: #2F4050
        }

        .tooltip.left .tooltip-arrow {
            border-left-color: #2F4050
        }

        .easypiechart {
            position: relative;
            text-align: center
        }

        .easypiechart .h2 {
            margin-left: 10px;
            margin-top: 10px;
            display: inline-block
        }

        .easypiechart canvas {
            top: 0;
            left: 0
        }

        .easypiechart .easypie-text {
            line-height: 1;
            position: absolute;
            top: 33px;
            width: 100%;
            z-index: 1
        }

        .easypiechart img {
            margin-top: -4px
        }

        .jqstooltip {
            box-sizing: content-box
        }

        .fc-state-default {
            background-color: #fff;
            background-image: none;
            background-repeat: repeat-x;
            box-shadow: none;
            color: #333;
            text-shadow: none;
            border: 1px solid
        }

        .fc-button {
            color: inherit;
            border: 1px solid #e7eaec;
            cursor: pointer;
            display: inline-block;
            height: 1.9em;
            line-height: 1.9em;
            overflow: hidden;
            padding: 0 .6em;
            position: relative;
            white-space: nowrap
        }

        .fc-state-active {
            background-color: #1ab394;
            border-color: #1ab394;
            color: #fff
        }

        .fc-header-title h2 {
            font-size: 16px;
            font-weight: 600;
            color: inherit
        }

        .fc-content .fc-widget-content, .fc-content .fc-widget-header {
            border-color: #e7eaec;
            font-weight: 400
        }

        .fc-border-separate tbody {
            background-color: #F8F8F8
        }

        .fc-state-highlight {
            background: none repeat scroll 0 0 #FCF8E3
        }

        .external-event {
            padding: 5px 10px;
            border-radius: 2px;
            cursor: pointer;
            margin-bottom: 5px
        }

        .fc-ltr .fc-event-hori.fc-event-end, .fc-rtl .fc-event-hori.fc-event-start {
            border-radius: 2px
        }

        .fc-agenda .fc-event-time, .fc-event, .fc-event a {
            padding: 4px 6px;
            background-color: #1ab394;
            border-color: #1ab394
        }

        .fc-event-time, .fc-event-title {
            color: #717171;
            padding: 0 1px
        }

        .ui-calendar .fc-event-time, .ui-calendar .fc-event-title {
            color: #fff
        }

        .chat-activity-list .chat-element {
            border-bottom: 1px solid #e7eaec
        }

        .chat-element:first-child {
            margin-top: 0
        }

        .chat-element {
            padding-bottom: 15px
        }

        .chat-element, .chat-element .media {
            margin-top: 15px
        }

        .chat-element, .media-body {
            overflow: hidden
        }

        .media-body {
            display: block;
            width: auto
        }

        .chat-element > .pull-left {
            margin-right: 10px
        }

        .chat-element img.img-circle, .dropdown-messages-box img.img-circle {
            width: 38px;
            height: 38px
        }

        .chat-element .well {
            border: 1px solid #e7eaec;
            box-shadow: none;
            margin-top: 10px;
            margin-bottom: 5px;
            padding: 10px 20px;
            font-size: 11px;
            line-height: 16px
        }

        .chat-element .actions {
            margin-top: 10px
        }

        .chat-element .photos {
            margin: 10px 0
        }

        .right.chat-element > .pull-right {
            margin-left: 10px
        }

        .chat-photo {
            max-height: 180px;
            border-radius: 4px;
            overflow: hidden;
            margin-right: 10px;
            margin-bottom: 10px
        }

        .chat {
            margin: 0;
            padding: 0;
            list-style: none
        }

        .chat li {
            margin-bottom: 10px;
            padding-bottom: 5px;
            border-bottom: 1px dotted #B3A9A9
        }

        .chat li.left .chat-body {
            margin-left: 60px
        }

        .chat li.right .chat-body {
            margin-right: 60px
        }

        .chat li .chat-body p {
            margin: 0;
            color: #777
        }

        .chat .glyphicon, .panel .slidedown .glyphicon {
            margin-right: 5px
        }

        .chat-panel .panel-body {
            height: 350px;
            overflow-y: scroll
        }

        a.list-group-item.active, a.list-group-item.active:focus, a.list-group-item.active:hover {
            background-color: #1ab394;
            border-color: #1ab394;
            color: #FFF;
            z-index: 2
        }

        .list-group-item-heading {
            margin-top: 10px
        }

        .list-group-item-text {
            margin: 0 0 10px;
            color: inherit;
            font-size: 12px;
            line-height: inherit
        }

        .no-padding .list-group-item {
            border-left: none;
            border-right: none;
            border-bottom: none
        }

        .no-padding .list-group-item:first-child {
            border-left: none;
            border-right: none;
            border-bottom: none;
            border-top: none
        }

        .no-padding .list-group {
            margin-bottom: 0
        }

        .list-group-item {
            background-color: inherit;
            border: 1px solid #e7eaec;
            display: block;
            margin-bottom: -1px;
            padding: 10px 15px;
            position: relative
        }

        .elements-list .list-group-item {
            border-left: none;
            border-right: none;
            padding: 15px 25px
        }

        .elements-list .list-group-item:first-child {
            border-left: none;
            border-right: none;
            border-top: none !important
        }

        .elements-list .list-group {
            margin-bottom: 0
        }

        .elements-list a {
            color: inherit
        }

        .elements-list .list-group-item.active, .elements-list .list-group-item:hover {
            background: #f3f3f4;
            color: inherit;
            border-color: #e7eaec;
            border-radius: 0
        }

        .elements-list li.active {
            -webkit-transition: none;
            transition: none
        }

        .element-detail-box {
            padding: 25px
        }

        .flot-chart {
            display: block;
            height: 200px
        }

        .widget .flot-chart.dashboard-chart {
            display: block;
            height: 120px;
            margin-top: 40px
        }

        .flot-chart.dashboard-chart {
            display: block;
            height: 180px;
            margin-top: 40px
        }

        .flot-chart-content {
            width: 100%;
            height: 100%
        }

        .flot-chart-pie-content {
            width: 200px;
            height: 200px;
            margin: auto
        }

        .jqstooltip {
            position: absolute;
            display: block;
            left: 0;
            top: 0;
            visibility: hidden;
            background: #2b303a;
            background-color: rgba(43, 48, 58, .8);
            color: #fff;
            text-align: left;
            white-space: nowrap;
            z-index: 10000;
            padding: 5px;
            min-height: 22px;
            border-radius: 3px
        }

        .jqsfield {
            color: #fff;
            text-align: left
        }

        .h-200 {
            min-height: 200px
        }

        .legendLabel {
            padding-left: 5px
        }

        .stat-list li:first-child {
            margin-top: 0
        }

        .stat-list {
            list-style: none;
            padding: 0;
            margin: 0
        }

        .stat-percent {
            float: right
        }

        .stat-list li {
            margin-top: 15px;
            position: relative
        }

        table.dataTable thead .sorting, table.dataTable thead .sorting_asc:after, table.dataTable thead .sorting_asc_disabled, table.dataTable thead .sorting_desc, table.dataTable thead .sorting_desc_disabled {
            background: 0 0
        }

        table.dataTable thead .sorting_asc:after {
            float: right;
            font-family: fontawesome
        }

        table.dataTable thead .sorting_desc:after {
            content: "\f0dd";
            float: right;
            font-family: fontawesome
        }

        table.dataTable thead .sorting:after {
            content: "\f0dc";
            float: right;
            font-family: fontawesome;
            color: rgba(50, 50, 50, .5)
        }

        .dataTables_wrapper {
            padding-bottom: 30px
        }

        .img-circle {
            border-radius: 50%
        }

        .btn-circle {
            width: 30px;
            height: 30px;
            padding: 6px 0;
            border-radius: 15px;
            text-align: center;
            font-size: 12px;
            line-height: 1.428571429
        }

        .btn-circle.btn-lg {
            width: 50px;
            height: 50px;
            padding: 10px 16px;
            border-radius: 25px;
            font-size: 18px;
            line-height: 1.33
        }

        .btn-circle.btn-xl {
            width: 70px;
            height: 70px;
            padding: 10px 16px;
            border-radius: 35px;
            font-size: 24px;
            line-height: 1.33
        }

        .show-grid [class^=col-] {
            padding-top: 10px;
            padding-bottom: 10px;
            border: 1px solid #ddd;
            background-color: #eee !important
        }

        .show-grid {
            margin: 15px 0
        }

        .css-animation-box h1 {
            font-size: 44px
        }

        .animation-efect-links a {
            padding: 4px 6px;
            font-size: 12px
        }

        #animation_box {
            background-color: #f9f8f8;
            border-radius: 16px;
            width: 80%;
            margin: 0 auto;
            padding-top: 80px
        }

        .animation-text-box {
            position: absolute;
            margin-top: 40px;
            left: 50%;
            margin-left: -100px;
            width: 200px
        }

        .animation-text-info {
            position: absolute;
            margin-top: -60px;
            left: 50%;
            margin-left: -100px;
            width: 200px;
            font-size: 10px
        }

        .animation-text-box h2 {
            font-size: 54px;
            font-weight: 600;
            margin-bottom: 5px
        }

        .animation-text-box p {
            font-size: 12px;
            text-transform: uppercase
        }

        .pace {
            -webkit-pointer-events: none;
            pointer-events: none;
            -webkit-user-select: none;
            -moz-user-select: none;
            -ms-user-select: none;
            user-select: none
        }

        .pace .pace-progress {
            background: #1ab394;
            position: fixed;
            z-index: 2000;
            top: 0;
            width: 100%;
            height: 2px
        }

        .pace-inactive {
            display: none
        }

        .widget {
            border-radius: 5px;
            padding: 15px 20px;
            margin-bottom: 10px;
            margin-top: 10px
        }

        .widget.style1 h2 {
            font-size: 30px
        }

        .widget h2, .widget h3 {
            margin-top: 5px;
            margin-bottom: 0
        }

        .widget-text-box {
            padding: 20px;
            border: 1px solid #e7eaec;
            background: #fff
        }

        .widget-head-color-box {
            border-radius: 5px 5px 0 0;
            margin-top: 10px
        }

        .widget .flot-chart {
            height: 100px
        }

        .vertical-align div {
            display: inline-block;
            vertical-align: middle
        }

        .vertical-align h2, .vertical-align h3 {
            margin: 0
        }

        .todo-list {
            list-style: none outside none;
            margin: 0;
            padding: 0;
            font-size: 14px
        }

        .todo-list.small-list {
            font-size: 12px
        }

        .todo-list.small-list > li {
            background: #f3f3f4;
            border-left: none;
            border-right: none;
            border-radius: 4px;
            color: inherit;
            margin-bottom: 2px;
            padding: 6px 6px 6px 12px
        }

        .todo-list.small-list .btn-group-xs > .btn, .todo-list.small-list .btn-xs {
            border-radius: 5px;
            font-size: 10px;
            line-height: 1.5;
            padding: 1px 2px 1px 5px
        }

        .todo-list > li {
            background: #f3f3f4;
            border-left: 6px solid #e7eaec;
            border-right: 6px solid #e7eaec;
            border-radius: 4px;
            color: inherit;
            margin-bottom: 2px;
            padding: 10px
        }

        .todo-list .handle {
            cursor: move;
            display: inline-block;
            font-size: 16px;
            margin: 0 5px
        }

        .todo-list > li .label {
            font-size: 9px;
            margin-left: 10px
        }

        .check-link {
            font-size: 16px
        }

        .todo-completed {
            text-decoration: line-through
        }

        .geo-statistic h1 {
            font-size: 36px;
            margin-bottom: 0
        }

        .glyphicon.fa {
            font-family: FontAwesome
        }

        .inline {
            display: inline-block !important
        }

        .input-s-sm {
            width: 120px
        }

        .input-s {
            width: 200px
        }

        .input-s-lg {
            width: 250px
        }

        .i-checks {
            padding-left: 0
        }

        .form-control, .single-line {
            background-color: #FFF;
            background-image: none;
            border: 1px solid #e5e6e7;
            border-radius: 1px;
            color: inherit;
            display: block;
            padding: 6px 12px;
            -webkit-transition: border-color .15s ease-in-out 0s, box-shadow .15s ease-in-out 0s;
            transition: border-color .15s ease-in-out 0s, box-shadow .15s ease-in-out 0s;
            width: 100%;
            font-size: 14px
        }

        .form-control:focus, .single-line:focus {
            border-color: #1ab394 !important
        }

        .has-success .form-control {
            border-color: #1ab394
        }

        .has-warning .form-control {
            border-color: #f8ac59
        }

        .has-error .form-control {
            border-color: #ed5565
        }

        .has-success .control-label {
            color: #1ab394
        }

        .has-warning .control-label {
            color: #f8ac59
        }

        .has-error .control-label {
            color: #ed5565
        }

        .input-group-addon {
            background-color: #fff;
            border: 1px solid #E5E6E7;
            border-radius: 1px;
            color: inherit;
            font-size: 14px;
            font-weight: 400;
            line-height: 1;
            padding: 6px 12px;
            text-align: center
        }

        .spinner-buttons.input-group-btn .btn-xs {
            line-height: 1.13
        }

        .spinner-buttons.input-group-btn {
            width: 20%
        }

        .noUi-connect {
            background: none repeat scroll 0 0 #1ab394;
            box-shadow: none
        }

        .slider_red .noUi-connect {
            background: none repeat scroll 0 0 #ed5565;
            box-shadow: none
        }

        .ui-sortable .ibox-title {
            cursor: move
        }

        .ui-sortable-placeholder {
            border: 1px dashed #cecece !important;
            visibility: visible !important;
            background: #e7eaec
        }

        .ibox.ui-sortable-placeholder {
            margin: 0 0 23px !important
        }

        .tabs-container .panel-body {
            background: #fff;
            border: 1px solid #e7eaec;
            border-radius: 2px;
            padding: 20px;
            position: relative
        }

        .tabs-container .nav-tabs > li.active > a, .tabs-container .nav-tabs > li.active > a:focus, .tabs-container .nav-tabs > li.active > a:hover {
            background-color: #fff
        }

        .tabs-container .nav-tabs > li {
            float: left;
            margin-bottom: -1px
        }

        .tabs-container .nav-tabs > li.active > a, .tabs-container .nav-tabs > li.active > a:focus, .tabs-container .nav-tabs > li.active > a:hover {
            border: 1px solid #e7eaec;
            border-bottom-color: transparent
        }

        .tabs-container .nav-tabs {
            border-bottom: 1px solid #e7eaec
        }

        .tabs-container .tab-pane .panel-body {
            border-top: none
        }

        .tabs-container .tabs-left .tab-pane .panel-body, .tabs-container .tabs-right .tab-pane .panel-body {
            border-top: 1px solid #e7eaec
        }

        .tabs-container .nav-tabs > li a:hover {
            background: 0 0;
            border-color: transparent
        }

        .tabs-container .tabs-below > .nav-tabs, .tabs-container .tabs-left > .nav-tabs, .tabs-container .tabs-right > .nav-tabs {
            border-bottom: 0
        }

        .tabs-container .tabs-left .panel-body {
            position: static
        }

        .tabs-container .tabs-left > .nav-tabs, .tabs-container .tabs-right > .nav-tabs {
            width: 20%
        }

        .tabs-container .tabs-left .panel-body {
            width: 80%;
            margin-left: 20%
        }

        .tabs-container .tabs-right .panel-body {
            width: 80%;
            margin-right: 20%
        }

        .tabs-container .pill-content > .pill-pane, .tabs-container .tab-content > .tab-pane {
            display: none
        }

        .tabs-container .pill-content > .active, .tabs-container .tab-content > .active {
            display: block
        }

        .tabs-container .tabs-below > .nav-tabs {
            border-top: 1px solid #e7eaec
        }

        .tabs-container .tabs-below > .nav-tabs > li {
            margin-top: -1px;
            margin-bottom: 0
        }

        .tabs-container .tabs-below > .nav-tabs > li > a {
            border-radius: 0 0 4px 4px
        }

        .tabs-container .tabs-below > .nav-tabs > li > a:focus, .tabs-container .tabs-below > .nav-tabs > li > a:hover {
            border-top-color: #e7eaec;
            border-bottom-color: transparent
        }

        .tabs-container .tabs-left > .nav-tabs > li, .tabs-container .tabs-right > .nav-tabs > li {
            float: none
        }

        .tabs-container .tabs-left > .nav-tabs > li > a, .tabs-container .tabs-right > .nav-tabs > li > a {
            min-width: 74px;
            margin-right: 0;
            margin-bottom: 3px
        }

        .tabs-container .tabs-left > .nav-tabs {
            float: left;
            margin-right: 19px
        }

        .tabs-container .tabs-left > .nav-tabs > li > a {
            margin-right: -1px;
            border-radius: 4px 0 0 4px
        }

        .tabs-container .tabs-left > .nav-tabs .active > a, .tabs-container .tabs-left > .nav-tabs .active > a:focus, .tabs-container .tabs-left > .nav-tabs .active > a:hover {
            border-color: #e7eaec transparent #e7eaec #e7eaec;
            *border-right-color: #fff
        }

        .tabs-container .tabs-right > .nav-tabs {
            float: right;
            margin-left: 19px
        }

        .tabs-container .tabs-right > .nav-tabs > li > a {
            margin-left: -1px;
            border-radius: 0 4px 4px 0
        }

        .tabs-container .tabs-right > .nav-tabs .active > a, .tabs-container .tabs-right > .nav-tabs .active > a:focus, .tabs-container .tabs-right > .nav-tabs .active > a:hover {
            border-color: #e7eaec #e7eaec #e7eaec transparent;
            *border-left-color: #fff;
            z-index: 1
        }

        .onoffswitch {
            position: relative;
            width: 54px;
            -webkit-user-select: none;
            -moz-user-select: none;
            -ms-user-select: none
        }

        .onoffswitch-checkbox {
            display: none
        }

        .onoffswitch-label {
            display: block;
            overflow: hidden;
            cursor: pointer;
            border: 2px solid #1AB394;
            border-radius: 3px
        }

        .onoffswitch-inner {
            display: block;
            width: 200%;
            margin-left: -100%;
            -webkit-transition: margin .3s ease-in 0s;
            transition: margin .3s ease-in 0s
        }

        .onoffswitch-inner:after, .onoffswitch-inner:before {
            display: block;
            float: left;
            width: 50%;
            height: 16px;
            padding: 0;
            line-height: 16px;
            font-size: 10px;
            font-family: Trebuchet, Arial, sans-serif;
            font-weight: 700;
            box-sizing: border-box
        }

        .onoffswitch-inner:before {
            content: "ON";
            padding-left: 7px;
            background-color: #1AB394;
            color: #FFF
        }

        .onoffswitch-inner:after {
            content: "OFF";
            padding-right: 7px;
            background-color: #FFF;
            color: #919191;
            text-align: right
        }

        .onoffswitch-switch {
            display: block;
            width: 18px;
            margin: 0;
            background: #FFF;
            border: 2px solid #1AB394;
            border-radius: 3px;
            position: absolute;
            top: 0;
            bottom: 0;
            right: 36px;
            -webkit-transition: all .3s ease-in 0s;
            transition: all .3s ease-in 0s
        }

        .onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner {
            margin-left: 0
        }

        .onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch {
            right: 0
        }

        .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-empty, .dd-item, .dd-placeholder {
            display: block;
            position: relative;
            margin: 0;
            padding: 0;
            min-height: 20px;
            font-size: 13px;
            line-height: 20px
        }

        .dd-handle {
            display: block;
            margin: 5px 0;
            padding: 5px 10px;
            color: #333;
            text-decoration: none;
            border: 1px solid #e7eaec;
            background: #f5f5f5;
            border-radius: 3px;
            box-sizing: border-box;
            -moz-box-sizing: border-box
        }

        .dd-handle span {
            font-weight: 700
        }

        .dd-handle:hover {
            background: #f0f0f0;
            cursor: pointer;
            font-weight: 700
        }

        .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: 0 0;
            font-size: 12px;
            line-height: 1;
            text-align: center;
            font-weight: 700
        }

        .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: '-'
        }

        #nestable2 .dd-item > button {
            font-family: FontAwesome;
            height: 34px;
            width: 33px;
            color: #c1c1c1
        }

        #nestable2 .dd-item > button:before {
            content: "\f067"
        }

        #nestable2 .dd-item > button[data-action=collapse]:before {
            content: "\f068"
        }

        .dd-empty, .dd-placeholder {
            margin: 5px 0;
            padding: 0;
            min-height: 30px;
            background: #f2fbff;
            border: 1px dashed #b6bcbf;
            box-sizing: border-box;
            -moz-box-sizing: border-box
        }

        .dd-empty {
            border: 1px dashed #bbb;
            min-height: 100px;
            background-color: #e5e5e5;
            background-image: -webkit-linear-gradient(45deg, #fff 25%, transparent 25%, transparent 75%, #fff 75%, #fff), -webkit-linear-gradient(45deg, #fff 25%, transparent 25%, transparent 75%, #fff 75%, #fff);
            background-image: linear-gradient(45deg, #fff 25%, transparent 25%, transparent 75%, #fff 75%, #fff), linear-gradient(45deg, #fff 25%, transparent 25%, transparent 75%, #fff 75%, #fff);
            background-size: 60px 60px;
            background-position: 0 0, 30px 30px
        }

        .dd-dragel {
            position: absolute;
            z-index: 9999;
            pointer-events: none
        }

        .dd-dragel > .dd-item .dd-handle {
            margin-top: 0
        }

        .dd-dragel .dd-handle {
            box-shadow: 2px 4px 6px 0 rgba(0, 0, 0, .1)
        }

        .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: 10px 0 20px
        }

        #nestable-output, #nestable2-output {
            width: 100%;
            line-height: 1.333333em;
            font-family: lucida grande, lucida sans unicode, helvetica, arial, sans-serif
        }

        #nestable2 .dd-handle {
            color: inherit;
            border: 1px dashed #e7eaec;
            background: #f3f3f4;
            padding: 10px
        }

        #nestable2 span.label {
            margin-right: 10px
        }

        #nestable-output, #nestable2-output {
            font-size: 12px;
            padding: 25px;
            box-sizing: border-box;
            -moz-box-sizing: border-box
        }

        .CodeMirror {
            border: 1px solid #eee;
            height: auto
        }

        .CodeMirror-scroll {
            overflow-y: hidden;
            overflow-x: auto
        }

        .google-map {
            height: 300px
        }

        label.error {
            color: #cc5965;
            display: inline-block;
            margin-left: 5px
        }

        .form-control.error {
            border: 1px dotted #cc5965
        }

        .gridStyle {
            border: 1px solid #d4d4d4;
            width: 100%;
            height: 400px
        }

        .gridStyle2 {
            border: 1px solid #d4d4d4;
            width: 500px;
            height: 300px
        }

        .ngH eaderCell {
            border-right: none;
            border-bottom: 1px solid #e7eaec
        }

        .ngCell {
            border-right: none
        }

        .ngTopPanel {
            background: #F5F5F6
        }

        .ngRow.even {
            background: #f9f9f9
        }

        .ngRow.selected {
            background: #EBF2F1
        }

        .ngRow {
            border-bottom: 1px solid #e7eaec
        }

        .ngCell {
            background-color: transparent
        }

        .ngHeaderCell {
            border-right: none
        }

        #toast-container > .toast {
            background-image: none !important
        }

        #toast-container > .toast:before {
            position: fixed;
            font-family: FontAwesome;
            font-size: 24px;
            line-height: 24px;
            float: left;
            color: #FFF;
            padding-right: .5em;
            margin: auto .5em auto -1.5em
        }

        #toast-container > div {
            box-shadow: 0 0 3px #999;
            opacity: .9;
            -ms-filter: alpha(opacity=90);
            filter: alpha(opacity=90)
        }

        #toast-container > :hover {
            box-shadow: 0 0 4px #999;
            opacity: 1;
            -ms-filter: alpha(opacity=100);
            filter: alpha(opacity=100);
            cursor: pointer
        }

        .toast, .toast-success {
            background-color: #1ab394
        }

        .toast-error {
            background-color: #ed5565
        }

        .toast-info {
            background-color: #23c6c8
        }

        .toast-warning {
            background-color: #f8ac59
        }

        .toast-top-full-width {
            margin-top: 20px
        }

        .toast-bottom-full-width {
            margin-bottom: 20px
        }

        .img-container, .img-preview {
            overflow: hidden;
            text-align: center;
            width: 100%
        }

        .img-preview-sm {
            height: 130px;
            width: 200px
        }

        .forum-post-container .media {
            margin: 10px;
            padding: 20px 10px;
            border-bottom: 1px solid #f1f1f1
        }

        .forum-avatar {
            float: left;
            margin-right: 20px;
            text-align: center;
            width: 110px
        }

        .forum-avatar .img-circle {
            height: 48px;
            width: 48px
        }

        .author-info {
            color: #676a6c;
            font-size: 11px;
            margin-top: 5px;
            text-align: center
        }

        .forum-post-info {
            padding: 9px 12px 6px;
            background: #f9f9f9;
            border: 1px solid #f1f1f1
        }

        .media-body > .media {
            background: #f9f9f9;
            border-radius: 3px;
            border: 1px solid #f1f1f1
        }

        .forum-post-container .media-body .photos {
            margin: 10px 0
        }

        .forum-photo {
            max-width: 140px;
            border-radius: 3px
        }

        .media-body > .media .forum-avatar {
            width: 70px;
            margin-right: 10px
        }

        .media-body > .media .forum-avatar .img-circle {
            height: 38px;
            width: 38px
        }

        .mid-icon {
            font-size: 66px
        }

        .forum-item {
            margin: 10px 0;
            padding: 10px 0 20px;
            border-bottom: 1px solid #f1f1f1
        }

        .views-number {
            font-size: 24px;
            line-height: 18px;
            font-weight: 400
        }

        .forum-container, .forum-post-container {
            padding: 30px !important
        }

        .forum-item small {
            color: #999
        }

        .forum-item .forum-sub-title {
            color: #999;
            margin-left: 50px
        }

        .forum-title {
            margin: 15px 0
        }

        .forum-info {
            text-align: center
        }

        .forum-desc {
            color: #999
        }

        .forum-icon {
            float: left;
            width: 30px;
            margin-right: 20px;
            text-align: center
        }

        a.forum-item-title {
            color: inherit;
            display: block;
            font-size: 18px;
            font-weight: 600
        }

        a.forum-item-title:hover {
            color: inherit
        }

        .forum-icon .fa {
            font-size: 30px;
            margin-top: 8px;
            color: #9b9b9b
        }

        .forum-item.active .fa, .forum-item.active a.forum-item-title {
            color: #1ab394
        }

        @media (max-width: 992px) {
            .forum-info {
                margin: 15px 0 10px;
                display: none
            }

            .forum-desc {
                float: none !important
            }
        }

        .vertical-container {
            width: 90%;
            max-width: 1170px;
            margin: 0 auto
        }

        .vertical-container::after {
            content: '';
            display: table;
            clear: both
        }

        #vertical-timeline {
            position: relative;
            padding: 0;
            margin-top: 2em;
            margin-bottom: 2em
        }

        #vertical-timeline::before {
            content: '';
            position: absolute;
            top: 0;
            left: 18px;
            height: 100%;
            width: 4px;
            background: #f1f1f1
        }

        .vertical-timeline-content .btn {
            float: right
        }

        #vertical-timeline.light-timeline:before {
            background: #e7eaec
        }

        .dark-timeline .vertical-timeline-content:before {
            border-color: transparent #f5f5f5 transparent transparent
        }

        .dark-timeline.center-orientation .vertical-timeline-content:before {
            border-color: transparent transparent transparent #f5f5f5
        }

        .dark-timeline .vertical-timeline-block:nth-child(2n) .vertical-timeline-content:before, .dark-timeline.center-orientation .vertical-timeline-block:nth-child(2n) .vertical-timeline-content:before {
            border-color: transparent #f5f5f5 transparent transparent
        }

        .dark-timeline .vertical-timeline-content, .dark-timeline.center-orientation .vertical-timeline-content {
            background: #f5f5f5
        }

        @media only screen and (min-width: 1170px) {
            #vertical-timeline.center-orientation {
                margin-top: 3em;
                margin-bottom: 3em
            }

            #vertical-timeline.center-orientation:before {
                left: 50%;
                margin-left: -2px
            }
        }

        @media only screen and (max-width: 1170px) {
            .center-orientation.dark-timeline .vertical-timeline-content:before {
                border-color: transparent #f5f5f5 transparent transparent
            }
        }

        .vertical-timeline-block {
            position: relative;
            margin: 2em 0
        }

        .vertical-timeline-block:after {
            content: "";
            display: table;
            clear: both
        }

        .vertical-timeline-block:first-child {
            margin-top: 0
        }

        .vertical-timeline-block:last-child {
            margin-bottom: 0
        }

        @media only screen and (min-width: 1170px) {
            .center-orientation .vertical-timeline-block {
                margin: 4em 0
            }

            .center-orientation .vertical-timeline-block:first-child {
                margin-top: 0
            }

            .center-orientation .vertical-timeline-block:last-child {
                margin-bottom: 0
            }
        }

        .vertical-timeline-icon {
            position: absolute;
            top: 0;
            left: 0;
            width: 40px;
            height: 40px;
            border-radius: 50%;
            font-size: 16px;
            border: 3px solid #f1f1f1;
            text-align: center
        }

        .vertical-timeline-icon i {
            display: block;
            width: 24px;
            height: 24px;
            position: relative;
            left: 50%;
            top: 50%;
            margin-left: -12px;
            margin-top: -9px
        }

        @media only screen and (min-width: 1170px) {
            .center-orientation .vertical-timeline-icon {
                width: 50px;
                height: 50px;
                left: 50%;
                margin-left: -25px;
                -webkit-transform: translateZ(0);
                -webkit-backface-visibility: hidden;
                font-size: 19px
            }

            .center-orientation .vertical-timeline-icon i {
                margin-left: -12px;
                margin-top: -10px
            }

            .center-orientation .cssanimations .vertical-timeline-icon.is-hidden {
                visibility: hidden
            }
        }

        .vertical-timeline-content {
            position: relative;
            margin-left: 60px;
            background: #fff;
            border-radius: .25em;
            padding: 1em
        }

        .vertical-timeline-content:after {
            content: "";
            display: table;
            clear: both
        }

        .vertical-timeline-content h2 {
            font-weight: 400;
            margin-top: 4px
        }

        .vertical-timeline-content p {
            margin: 1em 0;
            line-height: 1.6
        }

        .vertical-timeline-content .vertical-date {
            float: left;
            font-weight: 500
        }

        .vertical-date small {
            color: #1ab394;
            font-weight: 400
        }

        .vertical-timeline-content::before {
            content: '';
            position: absolute;
            top: 16px;
            right: 100%;
            height: 0;
            width: 0;
            border: 7px solid transparent;
            border-right: 7px solid #fff
        }

        @media only screen and (min-width: 768px) {
            .vertical-timeline-content h2 {
                font-size: 18px
            }

            .vertical-timeline-content p {
                font-size: 13px
            }
        }

        @media only screen and (min-width: 1170px) {
            .center-orientation .vertical-timeline-content {
                margin-left: 0;
                padding: 1.6em;
                width: 45%
            }

            .center-orientation .vertical-timeline-content::before {
                top: 24px;
                left: 100%;
                border-color: transparent;
                border-left-color: #fff
            }

            .center-orientation .vertical-timeline-content .btn {
                float: left
            }

            .center-orientation .vertical-timeline-content .vertical-date {
                position: absolute;
                width: 100%;
                left: 122%;
                top: 2px;
                font-size: 14px
            }

            .center-orientation .vertical-timeline-block:nth-child(even) .vertical-timeline-content {
                float: right
            }

            .center-orientation .vertical-timeline-block:nth-child(even) .vertical-timeline-content::before {
                top: 24px;
                left: auto;
                right: 100%;
                border-color: transparent;
                border-right-color: #fff
            }

            .center-orientation .vertical-timeline-block:nth-child(even) .vertical-timeline-content .btn {
                float: right
            }

            .center-orientation .vertical-timeline-block:nth-child(even) .vertical-timeline-content .vertical-date {
                left: auto;
                right: 122%;
                text-align: right
            }

            .center-orientation .cssanimations .vertical-timeline-content.is-hidden {
                visibility: hidden
            }
        }

        .sidebard-panel {
            width: 220px;
            background: #ebebed;
            padding: 10px 20px;
            position: absolute;
            right: 0
        }

        .sidebard-panel .feed-element img.img-circle {
            width: 32px;
            height: 32px
        }

        .media-body, .sidebard-panel .feed-element, .sidebard-panel p {
            font-size: 12px
        }

        .sidebard-panel .feed-element {
            margin-top: 20px;
            padding-bottom: 0
        }

        .sidebard-panel .list-group {
            margin-bottom: 10px
        }

        .sidebard-panel .list-group .list-group-item {
            padding: 5px 0;
            font-size: 12px;
            border: 0
        }

        .sidebar-content .wrapper, .wrapper.sidebar-content {
            padding-right: 240px !important
        }

        #right-sidebar {
            background-color: #fff;
            border-left: 1px solid #e7eaec;
            border-top: 1px solid #e7eaec;
            overflow: hidden;
            position: fixed;
            top: 60px;
            width: 260px !important;
            z-index: 1009;
            bottom: 0;
            right: -260px
        }

        #right-sidebar.sidebar-open {
            right: 0
        }

        #right-sidebar.sidebar-open.sidebar-top {
            top: 0;
            border-top: none
        }

        .sidebar-container ul.nav-tabs {
            border: none
        }

        .sidebar-container ul.nav-tabs.navs-4 li {
            width: 25%
        }

        .sidebar-container ul.nav-tabs.navs-3 li {
            width: 33.3333%
        }

        .sidebar-container ul.nav-tabs.navs-2 li {
            width: 50%
        }

        .sidebar-container ul.nav-tabs li {
            border: none
        }

        .sidebar-container ul.nav-tabs li a {
            border: none;
            padding: 12px 10px;
            margin: 0;
            border-radius: 0;
            background: #2f4050;
            color: #fff;
            text-align: center;
            border-right: 1px solid #334556
        }

        .sidebar-container ul.nav-tabs li.active a {
            border: none;
            background: #f9f9f9;
            color: #676a6c;
            font-weight: 700
        }

        .sidebar-container .nav-tabs > li.active > a:focus, .sidebar-container .nav-tabs > li.active > a:hover {
            border: none
        }

        .sidebar-container ul.sidebar-list {
            margin: 0;
            padding: 0
        }

        .sidebar-container ul.sidebar-list li {
            border-bottom: 1px solid #e7eaec;
            padding: 15px 20px;
            list-style: none;
            font-size: 12px
        }

        .sidebar-container .sidebar-message:nth-child(2n+2) {
            background: #f9f9f9
        }

        .sidebar-container ul.sidebar-list li a {
            text-decoration: none;
            color: inherit
        }

        .sidebar-container .sidebar-content {
            padding: 15px 20px;
            font-size: 12px
        }

        .sidebar-container .sidebar-title {
            background: #f9f9f9;
            padding: 20px;
            border-bottom: 1px solid #e7eaec
        }

        .sidebar-container .sidebar-title h3 {
            margin-bottom: 3px;
            padding-left: 2px
        }

        .sidebar-container .tab-content h4 {
            margin-bottom: 5px
        }

        .sidebar-container .sidebar-message > a > .pull-left {
            margin-right: 10px
        }

        .sidebar-container .sidebar-message > a {
            text-decoration: none;
            color: inherit
        }

        .sidebar-container .sidebar-message {
            padding: 15px 20px
        }

        .sidebar-container .sidebar-message .message-avatar {
            height: 38px;
            width: 38px;
            border-radius: 50%
        }

        .sidebar-container .setings-item {
            padding: 15px 20px;
            border-bottom: 1px solid #e7eaec
        }

        body {
            font-family: "open sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
            font-size: 13px;
            color: #676a6c;
            overflow-x: hidden
        }

        body, body.full-height-layout #page-wrapper, body.full-height-layout #wrapper, html {
            height: 100%;
        }

        #page-wrapper {
            min-height: auto
        }

        body.boxed-layout {
            background: url(patterns/shattered.png)
        }

        body.boxed-layout #wrapper {
            background-color: #2f4050;
            max-width: 1200px;
            margin: 0 auto
        }

        .boxed-layout #wrapper.top-navigation, .top-navigation.boxed-layout #wrapper {
            max-width: 1300px !important
        }

        .block {
            display: block
        }

        .clear {
            display: block;
            overflow: hidden
        }

        a {
            cursor: pointer
        }

        a:focus, a:hover {
            text-decoration: none
        }

        .border-bottom {
            border-bottom: 1px solid #e7eaec !important
        }

        .font-bold {
            font-weight: 600
        }

        .font-noraml {
            font-weight: 400
        }

        .text-uppercase {
            text-transform: uppercase
        }

        .b-r {
            border-right: 1px solid #e7eaec
        }

        .hr-line-dashed {
            border-top: 1px dashed #e7eaec;
            color: #fff;
            background-color: #fff;
            height: 1px;
            margin: 20px 0
        }

        .hr-line-solid {
            border-bottom: 1px solid #e7eaec;
            background-color: rgba(0, 0, 0, 0);
            border-style: solid !important;
            margin-top: 15px;
            margin-bottom: 15px
        }

        video {
            width: 100% !important;
            height: auto !important
        }

        .gallery > .row > div {
            margin-bottom: 15px
        }

        .fancybox img {
            margin-bottom: 5px;
            width: 24%
        }

        .note-editor {
            height: auto !important;
            min-height: 100px;
            border: solid 1px #e5e6e7
        }

        .modal-content {
            background-clip: padding-box;
            background-color: #FFF;
            border: 1px solid rgba(0, 0, 0, 0);
            border-radius: 4px;
            box-shadow: 0 1px 3px rgba(0, 0, 0, .3);
            outline: 0 none
        }

        .modal-dialog {
            z-index: 1200
        }

        .modal-body {
            padding: 20px 30px 30px
        }

        .inmodal .modal-body {
            background: #f8fafb
        }

        .inmodal .modal-header {
            padding: 30px 15px;
            text-align: center
        }

        .animated.modal.fade .modal-dialog {
            -webkit-transform: none;
            -ms-transform: none;
            transform: none
        }

        .inmodal .modal-title {
            font-size: 26px
        }

        .inmodal .modal-icon {
            font-size: 84px;
            color: #e2e3e3
        }

        .modal-footer {
            margin-top: 0
        }

        #wrapper {
            width: 100%;
            overflow-x: hidden;
            background-color: #2f4050
        }

        .wrapper {
            padding: 0 20px
        }

        .wrapper-content {
            padding: 20px
        }

        #page-wrapper {
            padding: 0 15px;
            position: inherit;
            margin: 0 0 0 220px
        }

        .title-action {
            text-align: right;
            padding-top: 30px
        }

        .ibox-content h1, .ibox-content h2, .ibox-content h3, .ibox-content h4, .ibox-content h5, .ibox-title h1, .ibox-title h2, .ibox-title h3, .ibox-title h4, .ibox-title h5 {
            margin-top: 5px
        }

        ol.unstyled, ul.unstyled {
            list-style: none outside none;
            margin-left: 0
        }

        .big-icon {
            font-size: 160px;
            color: #e5e6e7
        }

        .footer {
            background: none repeat scroll 0 0 #fff;
            border-top: 1px solid #e7eaec;
            overflow: hidden;
            padding: 10px 20px;
            margin: 0 -15px;
            height: 36px
        }

        .footer.fixed_full {
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            z-index: 1000;
            padding: 10px 20px;
            background: #fff;
            border-top: 1px solid #e7eaec
        }

        .footer.fixed {
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            z-index: 1000;
            padding: 10px 20px;
            background: #fff;
            border-top: 1px solid #e7eaec;
            margin-left: 220px
        }

        body.body-small.mini-navbar .footer.fixed, body.mini-navbar .footer.fixed {
            margin: 0 0 0 70px
        }

        body.canvas-menu .footer.fixed, body.mini-navbar.canvas-menu .footer.fixed {
            margin: 0 !important
        }

        body.fixed-sidebar.body-small.mini-navbar .footer.fixed {
            margin: 0 0 0 220px
        }

        body.body-small .footer.fixed {
            margin-left: 0
        }

        .page-heading {
            border-top: 0;
            padding: 0 20px 20px
        }

        .panel-heading h1, .panel-heading h2 {
            margin-bottom: 5px
        }

        .content-tabs {
            position: relative;
            height: 42px;
            background: #fafafa;
            line-height: 40px
        }

        .content-tabs .roll-nav, .page-tabs-list {
            position: absolute;
            width: 40px;
            height: 40px;
            text-align: center;
            color: #999;
            z-index: 2;
            top: 0
        }

        .content-tabs .roll-left {
            left: 0;
            border-right: solid 1px #eee
        }

        .content-tabs .roll-right {
            right: 0;
            border-left: solid 1px #eee
        }

        .content-tabs button {
            background: #fff;
            border: 0;
            height: 40px;
            width: 40px;
            outline: 0
        }

        .content-tabs button:hover {
            background: #fafafa
        }

        nav.page-tabs {
            margin-left: 40px;
            width: 100000px;
            height: 40px;
            overflow: hidden
        }

        nav.page-tabs .page-tabs-content {
            float: left
        }

        .page-tabs a {
            display: block;
            float: left;
            border-right: solid 1px #eee;
            padding: 0 15px
        }

        .page-tabs a i:hover {
            color: #c00
        }

        .content-tabs .roll-nav:hover, .page-tabs a:hover {
            color: #777;
            background: #f2f2f2;
            cursor: pointer
        }

        .roll-right.J_tabRight {
            right: 140px
        }

        .roll-right.btn-group {
            right: 60px;
            width: 80px;
            padding: 0
        }

        .roll-right.btn-group button {
            width: 80px
        }

        .roll-right.J_tabExit {
            background: #fff;
            height: 40px;
            width: 60px;
            outline: 0
        }

        .dropdown-menu-right {
            left: auto
        }

        #content-main {
            height: calc(100% - 140px);
            overflow: hidden
        }

        .fixed-nav #content-main {
            height: calc(100% - 80px);
            overflow: hidden
        }

        .table-bordered {
            border: 1px solid #EBEBEB
        }

        .table-bordered > thead > tr > td, .table-bordered > thead > tr > th {
            background-color: #F5F5F6
        }

        .table-bordered > tbody > tr > td, .table-bordered > tbody > tr > th, .table-bordered > tfoot > tr > td, .table-bordered > tfoot > tr > th, .table-bordered > thead > tr > td, .table-bordered > thead > tr > th {
            border: 1px solid #e7e7e7
        }

        .table > thead > tr > th {
            border-bottom: 1px solid #DDD
        }

        .table > tbody > tr > td, .table > tbody > tr > th, .table > tfoot > tr > td, .table > tfoot > tr > th, .table > thead > tr > td, .table > thead > tr > th {
            border-top: 1px solid #e7eaec;
            line-height: 1.42857;
            padding: 8px;
            vertical-align: middle
        }

        .panel.blank-panel {
            background: 0 0;
            margin: 0
        }

        .blank-panel .panel-heading {
            padding-bottom: 0
        }

        .nav-tabs > li.active > a, .nav-tabs > li.active > a:focus, .nav-tabs > li.active > a:hover {
            -moz-border-bottom-colors: none;
            -moz-border-left-colors: none;
            -moz-border-right-colors: none;
            -moz-border-top-colors: none;
            background: 0 0;
            border-color: #ddd #ddd rgba(0, 0, 0, 0);
            border-bottom: #f3f3f4;
            -webkit-border-image: none;
            -o-border-image: none;
            border-image: none;
            border-style: solid;
            border-width: 1px;
            color: #555;
            cursor: default
        }

        .nav.nav-tabs li {
            background: 0 0;
            border: none
        }

        .nav-tabs > li > a {
            color: #A7B1C2;
            font-weight: 600;
            padding: 10px 20px 10px 25px
        }

        .nav-tabs > li > a:focus, .nav-tabs > li > a:hover {
            background-color: #e6e6e6;
            color: #676a6c
        }

        .ui-tab .tab-content {
            padding: 20px 0
        }

        .no-padding {
            padding: 0 !important
        }

        .no-borders {
            border: none !important
        }

        .no-margins {
            margin: 0 !important
        }

        .no-top-border {
            border-top: 0 !important
        }

        .ibox-content.text-box {
            padding-bottom: 0;
            padding-top: 15px
        }

        .border-left-right {
            border-left: 1px solid #e7eaec;
            border-right: 1px solid #e7eaec;
            border-top: none;
            border-bottom: none
        }

        .border-left {
            border-left: 1px solid #e7eaec;
            border-right: none;
            border-top: none;
            border-bottom: none
        }

        .border-right {
            border-left: none;
            border-right: 1px solid #e7eaec;
            border-top: none;
            border-bottom: none
        }

        .full-width {
            width: 100% !important
        }

        .link-block {
            font-size: 12px;
            padding: 10px
        }

        .nav.navbar-top-links .link-block a {
            font-size: 12px
        }

        .link-block a {
            font-size: 10px;
            color: inherit
        }

        body.mini-navbar .branding {
            display: none
        }

        img.circle-border {
            border: 6px solid #FFF;
            border-radius: 50%
        }

        .branding {
            float: left;
            color: #FFF;
            font-size: 18px;
            font-weight: 600;
            padding: 17px 20px;
            text-align: center;
            background-color: #1ab394
        }

        .login-panel {
            margin-top: 25%
        }

        .page-header {
            padding: 20px 0 9px;
            margin: 0 0 20px;
            border-bottom: 1px solid #eee
        }

        .fontawesome-icon-list {
            margin-top: 22px
        }

        .fontawesome-icon-list .fa-hover a {
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            display: block;
            color: #222;
            line-height: 32px;
            height: 32px;
            padding-left: 10px;
            border-radius: 4px
        }

        .fontawesome-icon-list .fa-hover a .fa {
            width: 32px;
            font-size: 14px;
            display: inline-block;
            text-align: right;
            margin-right: 10px
        }

        .fontawesome-icon-list .fa-hover a:hover {
            background-color: #1d9d74;
            color: #fff;
            text-decoration: none
        }

        .fontawesome-icon-list .fa-hover a:hover .fa {
            font-size: 30px;
            vertical-align: -6px
        }

        .fontawesome-icon-list .fa-hover a:hover .text-muted {
            color: #bbe2d5
        }

        .feature-list .col-md-4 {
            margin-bottom: 22px
        }

        .feature-list h4 .fa:before {
            vertical-align: -10%;
            font-size: 28px;
            display: inline-block;
            width: 1.07142857em;
            text-align: center;
            margin-right: 5px
        }

        .ui-draggable .ibox-title {
            cursor: move
        }

        .breadcrumb {
            background-color: #fff;
            padding: 0;
            margin-bottom: 0
        }

        .breadcrumb > .active, .breadcrumb > li a {
            color: inherit
        }

        code {
            background-color: #F9F2F4;
            border-radius: 4px;
            color: #ca4440;
            font-size: 90%;
            padding: 2px 4px;
            white-space: nowrap
        }

        .ibox {
            clear: both;
            margin-bottom: 25px;
            margin-top: 0;
            padding: 0
        }

        .ibox.collapsed .ibox-content {
            display: none
        }

        .ibox.collapsed .fa.fa-chevron-up:before {
            content: "\f078"
        }

        .ibox.collapsed .fa.fa-chevron-down:before {
            content: "\f077"
        }

        .ibox:after, .ibox:before {
            display: table
        }

        .ibox-title {
            -moz-border-bottom-colors: none;
            -moz-border-left-colors: none;
            -moz-border-right-colors: none;
            -moz-border-top-colors: none;
            background-color: #fff;
            border-color: #e7eaec;
            -webkit-border-image: none;
            -o-border-image: none;
            border-image: none;
            border-style: solid solid none;
            border-width: 4px 0 0;
            color: inherit;
            margin-bottom: 0;
            padding: 14px 15px 7px;
            min-height: 48px
        }

        .ibox-content {
            background-color: #fff;
            color: inherit;
            padding: 15px 20px 20px;
            border-color: #e7eaec;
            -webkit-border-image: none;
            -o-border-image: none;
            border-image: none;
            border-style: solid solid none;
            border-width: 1px 0
        }

        table.table-mail tr td {
            padding: 12px
        }

        .table-mail .check-mail {
            padding-left: 20px
        }

        .table-mail .mail-date {
            padding-right: 20px
        }

        .check-mail, .star-mail {
            width: 40px
        }

        .unread td, .unread td a {
            font-weight: 600;
            color: inherit
        }

        .read td, .read td a {
            font-weight: 400;
            color: inherit
        }

        .unread td {
            background-color: #f9f8f8
        }

        .ibox-content {
            clear: both
        }

        .ibox-heading {
            background-color: #f3f6fb;
            border-bottom: none
        }

        .ibox-heading h3 {
            font-weight: 200;
            font-size: 24px
        }

        .ibox-title h5 {
            display: inline-block;
            font-size: 14px;
            margin: 0 0 7px;
            padding: 0;
            text-overflow: ellipsis;
            float: left
        }

        .ibox-title .label {
            float: left;
            margin-left: 4px
        }

        .ibox-tools {
            display: inline-block;
            float: right;
            margin-top: 0;
            position: relative;
            padding: 0
        }

        .ibox-tools a {
            cursor: pointer;
            margin-left: 5px;
            color: #c4c4c4
        }

        .ibox-tools a.btn-primary {
            color: #fff
        }

        .ibox-tools .dropdown-menu > li > a {
            padding: 4px 10px;
            font-size: 12px
        }

        .ibox .open > .dropdown-menu {
            left: auto;
            right: 0
        }

        .gray-bg {
            background-color: #f3f3f4
        }

        .white-bg {
            background-color: #fff
        }

        .navy-bg {
            background-color: #1ab394;
            color: #fff
        }

        .blue-bg {
            background-color: #1c84c6;
            color: #fff
        }

        .lazur-bg {
            background-color: #23c6c8;
            color: #fff
        }

        .yellow-bg {
            background-color: #f8ac59;
            color: #fff
        }

        .red-bg {
            background-color: #ed5565;
            color: #fff
        }

        .black-bg {
            background-color: #262626
        }

        .panel-primary {
            border-color: #1ab394
        }

        .panel-primary > .panel-heading {
            background-color: #1ab394;
            border-color: #1ab394
        }

        .panel-success {
            border-color: #1c84c6
        }

        .panel-success > .panel-heading {
            background-color: #1c84c6;
            border-color: #1c84c6;
            color: #fff
        }

        .panel-info {
            border-color: #23c6c8
        }

        .panel-info > .panel-heading {
            background-color: #23c6c8;
            border-color: #23c6c8;
            color: #fff
        }

        .panel-warning {
            border-color: #f8ac59
        }

        .panel-warning > .panel-heading {
            background-color: #f8ac59;
            border-color: #f8ac59;
            color: #fff
        }

        .panel-danger {
            border-color: #ed5565
        }

        .panel-danger > .panel-heading {
            background-color: #ed5565;
            border-color: #ed5565;
            color: #fff
        }

        .progress-bar {
            background-color: #1ab394
        }

        .progress-small, .progress-small .progress-bar {
            height: 10px
        }

        .progress-mini, .progress-small {
            margin-top: 5px
        }

        .progress-mini, .progress-mini .progress-bar {
            height: 5px;
            margin-bottom: 0
        }

        .progress-bar-navy-light {
            background-color: #3dc7ab
        }

        .progress-bar-success {
            background-color: #1c84c6
        }

        .progress-bar-info {
            background-color: #23c6c8
        }

        .progress-bar-warning {
            background-color: #f8ac59
        }

        .progress-bar-danger {
            background-color: #ed5565
        }

        .panel-title {
            font-size: inherit
        }

        .jumbotron {
            border-radius: 6px;
            padding: 40px
        }

        .jumbotron h1 {
            margin-top: 0
        }

        .text-navy {
            color: #1ab394
        }

        .text-primary {
            color: inherit
        }

        .text-success {
            color: #1c84c6
        }

        .text-info {
            color: #23c6c8
        }

        .text-warning {
            color: #f8ac59
        }

        .text-danger {
            color: #ed5565
        }

        .text-muted {
            color: #888
        }

        .simple_tag {
            background-color: #f3f3f4;
            border: 1px solid #e7eaec;
            border-radius: 2px;
            color: inherit;
            font-size: 10px;
            margin-right: 5px;
            margin-top: 5px;
            padding: 5px 12px;
            display: inline-block
        }

        .img-shadow {
            box-shadow: 0 0 3px 0 #919191
        }

        .ComposeEmail .navbar.navbar-static-top, .Dashboard_2 .navbar.navbar-static-top, .Dashboard_3 .navbar.navbar-static-top, .Dashboard_4_1 .navbar.navbar-static-top, .EmailView .navbar.navbar-static-top, .Inbox .navbar.navbar-static-top, .dashboards\.dashboard_2 nav.navbar, .dashboards\.dashboard_3 nav.navbar, .dashboards\.dashboard_4_1 nav.navbar, .mailbox\.email_compose nav.navbar, .mailbox\.email_view nav.navbar, .mailbox\.inbox nav.navbar {
            background: #fff
        }

        a.close-canvas-menu {
            position: absolute;
            top: 10px;
            right: 15px;
            z-index: 1011;
            color: #a7b1c2
        }

        a.close-canvas-menu:hover {
            color: #fff
        }

        .full-height {
            height: 100%
        }

        .fh-breadcrumb {
            height: calc(100% - 196px);
            margin: 0 -15px;
            position: relative
        }

        .fh-no-breadcrumb {
            height: calc(100% - 99px);
            margin: 0 -15px;
            position: relative
        }

        .fh-column {
            background: #fff;
            height: 100%;
            width: 240px;
            float: left
        }

        .modal-backdrop {
            z-index: 2040 !important
        }

        .modal {
            z-index: 2050 !important
        }

        .spiner-example {
            height: 200px;
            padding-top: 70px
        }

        .p-xxs {
            padding: 5px
        }

        .p-xs {
            padding: 10px
        }

        .p-sm {
            padding: 15px
        }

        .p-m {
            padding: 20px
        }

        .p-md {
            padding: 25px
        }

        .p-lg {
            padding: 30px
        }

        .p-xl {
            padding: 40px
        }

        .m-xxs {
            margin: 2px 4px
        }

        .m-xs {
            margin: 5px
        }

        .m-sm {
            margin: 10px
        }

        .m {
            margin: 15px
        }

        .m-md {
            margin: 20px
        }

        .m-lg {
            margin: 30px
        }

        .m-xl {
            margin: 50px
        }

        .m-n {
            margin: 0 !important
        }

        .m-l-none {
            margin-left: 0
        }

        .m-l-xs {
            margin-left: 5px
        }

        .m-l-sm {
            margin-left: 10px
        }

        .m-l {
            margin-left: 15px
        }

        .m-l-md {
            margin-left: 20px
        }

        .m-l-lg {
            margin-left: 30px
        }

        .m-l-xl {
            margin-left: 40px
        }

        .m-l-n-xxs {
            margin-left: -1px
        }

        .m-l-n-xs {
            margin-left: -5px
        }

        .m-l-n-sm {
            margin-left: -10px
        }

        .m-l-n {
            margin-left: -15px
        }

        .m-l-n-md {
            margin-left: -20px
        }

        .m-l-n-lg {
            margin-left: -30px
        }

        .m-l-n-xl {
            margin-left: -40px
        }

        .m-t-none {
            margin-top: 0
        }

        .m-t-xxs {
            margin-top: 1px
        }

        .m-t-xs {
            margin-top: 5px
        }

        .m-t-sm {
            margin-top: 10px
        }

        .m-t {
            margin-top: 15px
        }

        .m-t-md {
            margin-top: 20px
        }

        .m-t-lg {
            margin-top: 30px
        }

        .m-t-xl {
            margin-top: 40px
        }

        .m-t-n-xxs {
            margin-top: -1px
        }

        .m-t-n-xs {
            margin-top: -5px
        }

        .m-t-n-sm {
            margin-top: -10px
        }

        .m-t-n {
            margin-top: -15px
        }

        .m-t-n-md {
            margin-top: -20px
        }

        .m-t-n-lg {
            margin-top: -30px
        }

        .m-t-n-xl {
            margin-top: -40px
        }

        .m-r-none {
            margin-right: 0
        }

        .m-r-xxs {
            margin-right: 1px
        }

        .m-r-xs {
            margin-right: 5px
        }

        .m-r-sm {
            margin-right: 10px
        }

        .m-r {
            margin-right: 15px
        }

        .m-r-md {
            margin-right: 20px
        }

        .m-r-lg {
            margin-right: 30px
        }

        .m-r-xl {
            margin-right: 40px
        }

        .m-r-n-xxs {
            margin-right: -1px
        }

        .m-r-n-xs {
            margin-right: -5px
        }

        .m-r-n-sm {
            margin-right: -10px
        }

        .m-r-n {
            margin-right: -15px
        }

        .m-r-n-md {
            margin-right: -20px
        }

        .m-r-n-lg {
            margin-right: -30px
        }

        .m-r-n-xl {
            margin-right: -40px
        }

        .m-b-none {
            margin-bottom: 0
        }

        .m-b-xxs {
            margin-bottom: 1px
        }

        .m-b-xs {
            margin-bottom: 5px
        }

        .m-b-sm {
            margin-bottom: 10px
        }

        .m-b {
            margin-bottom: 15px
        }

        .m-b-md {
            margin-bottom: 20px
        }

        .m-b-lg {
            margin-bottom: 30px
        }

        .m-b-xl {
            margin-bottom: 40px
        }

        .m-b-n-xxs {
            margin-bottom: -1px
        }

        .m-b-n-xs {
            margin-bottom: -5px
        }

        .m-b-n-sm {
            margin-bottom: -10px
        }

        .m-b-n {
            margin-bottom: -15px
        }

        .m-b-n-md {
            margin-bottom: -20px
        }

        .m-b-n-lg {
            margin-bottom: -30px
        }

        .m-b-n-xl {
            margin-bottom: -40px
        }

        .space-15 {
            margin: 15px 0
        }

        .space-20 {
            margin: 20px 0
        }

        .space-25 {
            margin: 25px 0
        }

        .space-30 {
            margin: 30px 0
        }

        body.modal-open {
            padding-right: inherit !important
        }

        .search-form {
            margin-top: 10px
        }

        .search-result h3 {
            margin-bottom: 0;
            color: #1E0FBE
        }

        .search-result .search-link {
            color: #006621
        }

        .search-result p {
            font-size: 12px;
            margin-top: 5px
        }

        .contact-box {
            background-color: #fff;
            border: 1px solid #e7eaec;
            padding: 20px;
            margin-bottom: 20px
        }

        .contact-box a {
            color: inherit
        }

        .invoice-table tbody > tr > td:last-child, .invoice-table tbody > tr > td:nth-child(2), .invoice-table tbody > tr > td:nth-child(3), .invoice-table tbody > tr > td:nth-child(4), .invoice-table thead > tr > th:last-child, .invoice-table thead > tr > th:nth-child(2), .invoice-table thead > tr > th:nth-child(3), .invoice-table thead > tr > th:nth-child(4), .invoice-total > tbody > tr > td:first-child {
            text-align: right
        }

        .invoice-total > tbody > tr > td {
            border: 0 none
        }

        .invoice-total > tbody > tr > td:last-child {
            border-bottom: 1px solid #DDD;
            text-align: right;
            width: 15%
        }

        .middle-box {
            max-width: 400px;
            z-index: 100;
            margin: 0 auto;
            padding-top: 40px
        }

        .lockscreen.middle-box {
            width: 200px;
            padding-top: 110px
        }

        .loginscreen.middle-box {
            width: 300px
        }

        .loginColumns {
            max-width: 800px;
            margin: 0 auto;
            padding: 100px 20px 20px
        }

        .passwordBox {
            max-width: 460px;
            margin: 0 auto;
            padding: 100px 20px 20px
        }

        .logo-name {
            color: #e6e6e6;
            font-size: 180px;
            font-weight: 800;
            letter-spacing: -10px;
            margin-bottom: 0
        }

        .middle-box h1 {
            font-size: 170px
        }

        .wrapper .middle-box {
            margin-top: 140px
        }

        .lock-word {
            z-index: 10;
            position: absolute;
            top: 110px;
            left: 50%;
            margin-left: -470px
        }

        .lock-word span {
            font-size: 100px;
            font-weight: 600;
            color: #e9e9e9;
            display: inline-block
        }

        .lock-word .first-word {
            margin-right: 160px
        }

        .dashboard-header {
            border-top: 0;
            padding: 20px
        }

        .dashboard-header h2 {
            margin-top: 10px;
            font-size: 26px
        }

        .fist-item {
            border-top: none !important
        }

        .statistic-box {
            margin-top: 40px
        }

        .dashboard-header .list-group-item span.label {
            margin-right: 10px
        }

        .list-group.clear-list .list-group-item {
            border-top: 1px solid #e7eaec;
            border-bottom: 0;
            border-right: 0;
            border-left: 0;
            padding: 10px 0
        }

        ul.clear-list:first-child {
            border-top: none !important
        }

        .timeline-item .date i {
            position: absolute;
            top: 0;
            right: 0;
            padding: 5px;
            width: 30px;
            text-align: center;
            border-top: 1px solid #e7eaec;
            border-bottom: 1px solid #e7eaec;
            border-left: 1px solid #e7eaec;
            background: #f8f8f8
        }

        .timeline-item .date {
            text-align: right;
            width: 110px;
            position: relative;
            padding-top: 30px
        }

        .timeline-item .content {
            border-left: 1px solid #e7eaec;
            border-top: 1px solid #e7eaec;
            padding-top: 10px;
            min-height: 100px
        }

        .timeline-item .content:hover {
            background: #f6f6f6
        }

        ul.notes li, ul.tag-list li {
            list-style: none
        }

        ul.notes li h4 {
            margin-top: 20px;
            font-size: 16px
        }

        ul.notes li div {
            position: relative
        }

        ul.notes li div small {
            position: absolute;
            top: 5px;
            right: 5px;
            font-size: 10px
        }

        ul.notes li div a {
            position: absolute;
            right: 10px;
            bottom: 10px;
            color: inherit
        }

        ul.notes li {
            margin: 10px 40px 50px 0;
            float: left
        }

        ul.notes li div p {
            font-size: 12px
        }

        ul.notes li div {
            -webkit-transform: rotate(-6deg);
            -o-transform: rotate(-6deg);
            -moz-transform: rotate(-6deg)
        }

        ul.notes li:nth-child(even) div {
            -o-transform: rotate(4deg);
            -webkit-transform: rotate(4deg);
            -moz-transform: rotate(4deg);
            position: relative;
            top: 5px
        }

        ul.notes li:nth-child(3n) div {
            -o-transform: rotate(-3deg);
            -webkit-transform: rotate(-3deg);
            -moz-transform: rotate(-3deg);
            position: relative;
            top: -5px
        }

        ul.notes li:nth-child(5n) div {
            -o-transform: rotate(5deg);
            -webkit-transform: rotate(5deg);
            -moz-transform: rotate(5deg);
            position: relative;
            top: -10px
        }

        ul.notes li div:focus, ul.notes li div:hover {
            -webkit-transform: scale(1.1);
            -moz-transform: scale(1.1);
            -o-transform: scale(1.1);
            position: relative;
            z-index: 5
        }

        ul.notes li div {
            text-decoration: none;
            color: #000;
            background: #ffc;
            display: block;
            height: 210px;
            width: 210px;
            padding: 1em;
            box-shadow: 5px 5px 7px rgba(33, 33, 33, .7);
            -webkit-transition: -webkit-transform .15s linear
        }

        .file-box {
            float: left;
            width: 220px
        }

        .file-manager h5 {
            text-transform: uppercase
        }

        .file-manager {
            list-style: none outside none;
            margin: 0;
            padding: 0
        }

        .folder-list li a {
            color: #666;
            display: block;
            padding: 5px 0
        }

        .folder-list li {
            border-bottom: 1px solid #e7eaec;
            display: block
        }

        .folder-list li i {
            margin-right: 8px;
            color: #3d4d5d
        }

        .category-list li a {
            color: #666;
            display: block;
            padding: 5px 0
        }

        .category-list li {
            display: block
        }

        .category-list li i {
            margin-right: 8px;
            color: #3d4d5d
        }

        .category-list li a .text-navy {
            color: #1ab394
        }

        .category-list li a .text-primary {
            color: #1c84c6
        }

        .category-list li a .text-info {
            color: #23c6c8
        }

        .category-list li a .text-danger {
            color: #EF5352
        }

        .category-list li a .text-warning {
            color: #F8AC59
        }

        .file-manager h5.tag-title {
            margin-top: 20px
        }

        .tag-list li {
            float: left
        }

        .tag-list li a {
            font-size: 10px;
            background-color: #f3f3f4;
            padding: 5px 12px;
            color: inherit;
            border-radius: 2px;
            border: 1px solid #e7eaec;
            margin-right: 5px;
            margin-top: 5px;
            display: block
        }

        .file {
            border: 1px solid #e7eaec;
            padding: 0;
            background-color: #fff;
            position: relative;
            margin-bottom: 20px;
            margin-right: 20px
        }

        .file-manager .hr-line-dashed {
            margin: 15px 0
        }

        .file .icon, .file .image {
            height: 100px;
            overflow: hidden
        }

        .file .icon {
            padding: 15px 10px;
            text-align: center
        }

        .file-control {
            color: inherit;
            font-size: 11px;
            margin-right: 10px
        }

        .file-control.active {
            text-decoration: underline
        }

        .file .icon i {
            font-size: 70px;
            color: #dadada
        }

        .file .file-name {
            padding: 10px;
            background-color: #f8f8f8;
            border-top: 1px solid #e7eaec
        }

        .file-name small {
            color: #676a6c
        }

        .corner {
            position: absolute;
            display: inline-block;
            width: 0;
            height: 0;
            line-height: 0;
            border: .6em solid transparent;
            border-right: .6em solid #f1f1f1;
            border-bottom: .6em solid #f1f1f1;
            right: 0;
            bottom: 0
        }

        a.compose-mail {
            padding: 8px 10px
        }

        .mail-search {
            max-width: 300px
        }

        .profile-content {
            border-top: none !important
        }

        .feed-activity-list .feed-element {
            border-bottom: 1px solid #e7eaec
        }

        .feed-element:first-child {
            margin-top: 0
        }

        .feed-element {
            padding-bottom: 15px
        }

        .feed-element, .feed-element .media {
            margin-top: 15px
        }

        .feed-element, .media-body {
            overflow: hidden
        }

        .feed-element > .pull-left {
            margin-right: 10px
        }

        .dropdown-messages-box img.img-circle, .feed-element img.img-circle {
            width: 38px;
            height: 38px
        }

        .feed-element .well {
            border: 1px solid #e7eaec;
            box-shadow: none;
            margin-top: 10px;
            margin-bottom: 5px;
            padding: 10px 20px;
            font-size: 11px;
            line-height: 16px
        }

        .feed-element .actions {
            margin-top: 10px
        }

        .feed-element .photos {
            margin: 10px 0
        }

        .feed-photo {
            max-height: 180px;
            border-radius: 4px;
            overflow: hidden;
            margin-right: 10px;
            margin-bottom: 10px
        }

        .mail-box {
            background-color: #fff;
            border: 1px solid #e7eaec;
            border-top: 0;
            padding: 0;
            margin-bottom: 20px
        }

        .mail-box-header {
            background-color: #fff;
            border: 1px solid #e7eaec;
            border-bottom: 0;
            padding: 30px 20px 20px
        }

        .mail-box-header h2 {
            margin-top: 0
        }

        .mailbox-content .tag-list li a {
            background: #fff
        }

        .mail-body {
            border-top: 1px solid #e7eaec;
            padding: 20px
        }

        .mail-text {
            border-top: 1px solid #e7eaec
        }

        .mail-text .note-toolbar {
            padding: 10px 15px
        }

        .mail-body .form-group {
            margin-bottom: 5px
        }

        .mail-text .note-editor .note-toolbar {
            background-color: #F9F8F8
        }

        .mail-attachment {
            border-top: 1px solid #e7eaec;
            padding: 20px;
            font-size: 12px
        }

        .mailbox-content {
            background: 0 0;
            border: none;
            padding: 10px
        }

        .mail-ontact {
            width: 23%
        }

        .project-actions, .project-people {
            text-align: right;
            vertical-align: middle
        }

        dd.project-people {
            text-align: left;
            margin-top: 5px
        }

        .project-people img {
            width: 32px;
            height: 32px
        }

        .project-title a {
            font-size: 14px;
            color: #676a6c;
            font-weight: 600
        }

        .project-list table tr td {
            border-top: none;
            border-bottom: 1px solid #e7eaec;
            padding: 15px 10px;
            vertical-align: middle
        }

        .project-manager .tag-list li a {
            font-size: 10px;
            background-color: #fff;
            padding: 5px 12px;
            color: inherit;
            border-radius: 2px;
            border: 1px solid #e7eaec;
            margin-right: 5px;
            margin-top: 5px;
            display: block
        }

        .project-files li a {
            font-size: 11px;
            color: #676a6c;
            margin-left: 10px;
            line-height: 22px
        }

        .faq-item {
            padding: 20px;
            margin-bottom: 2px;
            background: #fff
        }

        .faq-question {
            font-size: 18px;
            font-weight: 600;
            color: #1ab394;
            display: block
        }

        .faq-question:hover {
            color: #179d82
        }

        .faq-answer {
            margin-top: 10px;
            background: #f3f3f4;
            border: 1px solid #e7eaec;
            border-radius: 3px;
            padding: 15px
        }

        .faq-item .tag-item {
            background: #f3f3f4;
            padding: 2px 6px;
            font-size: 10px;
            text-transform: uppercase
        }

        .message-input {
            height: 90px !important
        }

        .chat-avatar {
            white: 36px;
            height: 36px;
            float: left;
            margin-right: 10px
        }

        .chat-user-name {
            padding: 10px
        }

        .chat-user {
            padding: 8px 10px;
            border-bottom: 1px solid #e7eaec
        }

        .chat-user a {
            color: inherit
        }

        .chat-view {
            z-index: 20012
        }

        .chat-statistic, .chat-users {
            margin-left: -30px
        }

        @media (max-width: 992px) {
            .chat-statistic, .chat-users {
                margin-left: 0
            }
        }

        .chat-view .ibox-content {
            padding: 0
        }

        .chat-message {
            padding: 10px 20px
        }

        .message-avatar {
            height: 48px;
            width: 48px;
            border: 1px solid #e7eaec;
            border-radius: 4px;
            margin-top: 1px
        }

        .chat-discussion .chat-message:nth-child(2n+1) .message-avatar {
            float: left;
            margin-right: 10px
        }

        .chat-discussion .chat-message:nth-child(2n) .message-avatar {
            float: right;
            margin-left: 10px
        }

        .message {
            background-color: #fff;
            border: 1px solid #e7eaec;
            text-align: left;
            display: block;
            padding: 10px 20px;
            position: relative;
            border-radius: 4px
        }

        .chat-discussion .chat-message:nth-child(2n+1) .message-date {
            float: right
        }

        .chat-discussion .chat-message:nth-child(2n) .message-date {
            float: left
        }

        .chat-discussion .chat-message:nth-child(2n+1) .message {
            text-align: left;
            margin-left: 55px
        }

        .chat-discussion .chat-message:nth-child(2n) .message {
            text-align: right;
            margin-right: 55px
        }

        .message-date {
            font-size: 10px;
            color: #888
        }

        .message-content {
            display: block
        }

        .chat-discussion {
            background: #eee;
            padding: 15px;
            height: 400px;
            overflow-y: auto
        }

        .chat-users {
            overflow-y: auto;
            height: 400px
        }

        .chat-message-form .form-group {
            margin-bottom: 0
        }

        .jstree-open > .jstree-anchor > .fa-folder:before {
            content: "\f07c"
        }

        .jstree-default .jstree-icon.none {
            width: 0
        }

        .clients-list {
            margin-top: 20px
        }

        .clients-list .tab-pane {
            position: relative;
            height: 600px
        }

        .client-detail {
            position: relative;
            height: 620px
        }

        .clients-list table tr td {
            height: 46px;
            vertical-align: middle;
            border: none
        }

        .client-link {
            font-weight: 600;
            color: inherit
        }

        .client-link:hover {
            color: inherit
        }

        .client-avatar {
            width: 42px
        }

        .client-avatar img {
            width: 28px;
            height: 28px;
            border-radius: 50%
        }

        .contact-type {
            width: 20px;
            color: #c1c3c4
        }

        .client-status {
            text-align: left
        }

        .client-detail .vertical-timeline-content p {
            margin: 0
        }

        .client-detail .vertical-timeline-icon.gray-bg {
            color: #a7aaab
        }

        .clients-list .nav-tabs > li.active > a, .clients-list .nav-tabs > li.active > a:focus, .clients-list .nav-tabs > li.active > a:hover {
            border-bottom: 1px solid #fff
        }

        .blog h2 {
            font-weight: 700
        }

        .blog .btn, .blog h5 {
            margin: 0 0 5px
        }

        .article h1 {
            font-size: 48px;
            font-weight: 700;
            color: #2F4050
        }

        .article p {
            font-size: 15px;
            line-height: 26px
        }

        .article-title {
            text-align: center;
            margin: 60px 0 40px
        }

        .article .ibox-content {
            padding: 40px
        }

        .issue-tracker .btn-link {
            color: #1ab394
        }

        table.issue-tracker tbody tr td {
            vertical-align: middle;
            height: 50px
        }

        .issue-info {
            width: 50%
        }

        .issue-info a {
            font-weight: 600;
            color: #676a6c
        }

        .issue-info small {
            display: block
        }

        .team-members {
            margin: 10px 0
        }

        .team-members img.img-circle {
            width: 42px;
            height: 42px;
            margin-bottom: 5px
        }

        .sortable-list {
            padding: 10px 0
        }

        .agile-list {
            list-style: none;
            margin: 0
        }

        .agile-list li {
            background: #FAFAFB;
            border: 1px solid #e7eaec;
            margin: 0 0 10px;
            padding: 10px;
            border-radius: 2px
        }

        .agile-list li:hover {
            cursor: pointer;
            background: #fff
        }

        .agile-list li.warning-element {
            border-left: 3px solid #f8ac59
        }

        .agile-list li.danger-element {
            border-left: 3px solid #ed5565
        }

        .agile-list li.info-element {
            border-left: 3px solid #1c84c6
        }

        .agile-list li.success-element {
            border-left: 3px solid #1ab394
        }

        .agile-detail {
            margin-top: 5px;
            font-size: 12px
        }

        ins {
            background-color: #c6ffc6;
            text-decoration: none
        }

        del {
            background-color: #ffc6c6
        }

        #small-chat {
            position: fixed;
            bottom: 50px;
            right: 26px;
            z-index: 100
        }

        #small-chat .badge {
            position: absolute;
            top: -3px;
            right: -4px
        }

        .open-small-chat {
            height: 38px;
            width: 38px;
            display: block;
            background: #1ab394;
            padding: 9px 8px;
            text-align: center;
            color: #fff;
            border-radius: 50%
        }

        .open-small-chat:hover {
            color: #fff;
            background: #1ab394
        }

        .small-chat-box {
            display: none;
            position: fixed;
            bottom: 50px;
            right: 80px;
            background: #fff;
            border: 1px solid #e7eaec;
            width: 230px;
            height: 320px;
            border-radius: 4px
        }

        .small-chat-box.ng-small-chat {
            display: block
        }

        .body-small .small-chat-box {
            bottom: 70px;
            right: 20px
        }

        .small-chat-box.active {
            display: block
        }

        .small-chat-box .heading {
            background: #2f4050;
            padding: 8px 15px;
            font-weight: 700;
            color: #fff
        }

        .small-chat-box .chat-date {
            opacity: .6;
            font-size: 10px;
            font-weight: 400
        }

        .small-chat-box .content {
            padding: 15px
        }

        .small-chat-box .content .author-name {
            font-weight: 700;
            margin-bottom: 3px;
            font-size: 11px
        }

        .small-chat-box .content > div {
            padding-bottom: 20px
        }

        .small-chat-box .content .chat-message {
            padding: 5px 10px;
            border-radius: 6px;
            font-size: 11px;
            line-height: 14px;
            max-width: 80%;
            background: #f3f3f4;
            margin-bottom: 10px
        }

        .small-chat-box .content .chat-message.active {
            background: #1ab394;
            color: #fff
        }

        .small-chat-box .content .left {
            text-align: left;
            clear: both
        }

        .small-chat-box .content .left .chat-message {
            float: left
        }

        .small-chat-box .content .right {
            text-align: right;
            clear: both
        }

        .small-chat-box .content .right .chat-message {
            float: right
        }

        .small-chat-box .form-chat {
            padding: 10px
        }

        .sk-spinner-rotating-plane.sk-spinner {
            width: 30px;
            height: 30px;
            background-color: #1ab394;
            margin: 0 auto;
            -webkit-animation: sk-rotatePlane 1.2s infinite ease-in-out;
            animation: sk-rotatePlane 1.2s infinite ease-in-out
        }

        @-webkit-keyframes sk-rotatePlane {
            0% {
                -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg);
                transform: perspective(120px) rotateX(0deg) rotateY(0deg)
            }

            50% {
                -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
                transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg)
            }

            100% {
                -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
                transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg)
            }
        }

        @keyframes sk-rotatePlane {
            0% {
                -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg);
                transform: perspective(120px) rotateX(0deg) rotateY(0deg)
            }

            50% {
                -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
                transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg)
            }

            100% {
                -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
                transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg)
            }
        }

        .sk-spinner-double-bounce.sk-spinner {
            width: 40px;
            height: 40px;
            position: relative;
            margin: 0 auto
        }

        .sk-spinner-double-bounce .sk-double-bounce1, .sk-spinner-double-bounce .sk-double-bounce2 {
            width: 100%;
            height: 100%;
            border-radius: 50%;
            background-color: #1ab394;
            opacity: .6;
            position: absolute;
            top: 0;
            left: 0;
            -webkit-animation: sk-doubleBounce 2s infinite ease-in-out;
            animation: sk-doubleBounce 2s infinite ease-in-out
        }

        .sk-spinner-double-bounce .sk-double-bounce2 {
            -webkit-animation-delay: -1s;
            animation-delay: -1s
        }

        @-webkit-keyframes sk-doubleBounce {
            0%, 100% {
                -webkit-transform: scale(0);
                transform: scale(0)
            }

            50% {
                -webkit-transform: scale(1);
                transform: scale(1)
            }
        }

        @keyframes sk-doubleBounce {
            0%, 100% {
                -webkit-transform: scale(0);
                transform: scale(0)
            }

            50% {
                -webkit-transform: scale(1);
                transform: scale(1)
            }
        }

        .sk-spinner-wave.sk-spinner {
            margin: 0 auto;
            width: 50px;
            height: 30px;
            text-align: center;
            font-size: 10px
        }

        .sk-spinner-wave div {
            background-color: #1ab394;
            height: 100%;
            width: 6px;
            display: inline-block;
            -webkit-animation: sk-waveStretchDelay 1.2s infinite ease-in-out;
            animation: sk-waveStretchDelay 1.2s infinite ease-in-out
        }

        .sk-spinner-wave .sk-rect2 {
            -webkit-animation-delay: -1.1s;
            animation-delay: -1.1s
        }

        .sk-spinner-wave .sk-rect3 {
            -webkit-animation-delay: -1s;
            animation-delay: -1s
        }

        .sk-spinner-wave .sk-rect4 {
            -webkit-animation-delay: -.9s;
            animation-delay: -.9s
        }

        .sk-spinner-wave .sk-rect5 {
            -webkit-animation-delay: -.8s;
            animation-delay: -.8s
        }

        @-webkit-keyframes sk-waveStretchDelay {
            0%, 100%, 40% {
                -webkit-transform: scaleY(0.4);
                transform: scaleY(0.4)
            }

            20% {
                -webkit-transform: scaleY(1);
                transform: scaleY(1)
            }
        }

        @keyframes sk-waveStretchDelay {
            0%, 100%, 40% {
                -webkit-transform: scaleY(0.4);
                transform: scaleY(0.4)
            }

            20% {
                -webkit-transform: scaleY(1);
                transform: scaleY(1)
            }
        }

        .sk-spinner-wandering-cubes.sk-spinner {
            margin: 0 auto;
            width: 32px;
            height: 32px;
            position: relative
        }

        .sk-spinner-wandering-cubes .sk-cube1, .sk-spinner-wandering-cubes .sk-cube2 {
            background-color: #1ab394;
            width: 10px;
            height: 10px;
            position: absolute;
            top: 0;
            left: 0;
            -webkit-animation: sk-wanderingCubeMove 1.8s infinite ease-in-out;
            animation: sk-wanderingCubeMove 1.8s infinite ease-in-out
        }

        .sk-spinner-wandering-cubes .sk-cube2 {
            -webkit-animation-delay: -.9s;
            animation-delay: -.9s
        }

        @-webkit-keyframes sk-wanderingCubeMove {
            25% {
                -webkit-transform: translateX(42px) rotate(-90deg) scale(0.5);
                transform: translateX(42px) rotate(-90deg) scale(0.5)
            }

            50% {
                -webkit-transform: translateX(42px) translateY(42px) rotate(-179deg);
                transform: translateX(42px) translateY(42px) rotate(-179deg)
            }

            50.1% {
                -webkit-transform: translateX(42px) translateY(42px) rotate(-180deg);
                transform: translateX(42px) translateY(42px) rotate(-180deg)
            }

            75% {
                -webkit-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);
                transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5)
            }

            100% {
                -webkit-transform: rotate(-360deg);
                transform: rotate(-360deg)
            }
        }

        @keyframes sk-wanderingCubeMove {
            25% {
                -webkit-transform: translateX(42px) rotate(-90deg) scale(0.5);
                transform: translateX(42px) rotate(-90deg) scale(0.5)
            }

            50% {
                -webkit-transform: translateX(42px) translateY(42px) rotate(-179deg);
                transform: translateX(42px) translateY(42px) rotate(-179deg)
            }

            50.1% {
                -webkit-transform: translateX(42px) translateY(42px) rotate(-180deg);
                transform: translateX(42px) translateY(42px) rotate(-180deg)
            }

            75% {
                -webkit-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);
                transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5)
            }

            100% {
                -webkit-transform: rotate(-360deg);
                transform: rotate(-360deg)
            }
        }

        .sk-spinner-pulse.sk-spinner {
            width: 40px;
            height: 40px;
            margin: 0 auto;
            background-color: #1ab394;
            border-radius: 100%;
            -webkit-animation: sk-pulseScaleOut 1s infinite ease-in-out;
            animation: sk-pulseScaleOut 1s infinite ease-in-out
        }

        @-webkit-keyframes sk-pulseScaleOut {
            0% {
                -webkit-transform: scale(0);
                transform: scale(0)
            }

            100% {
                -webkit-transform: scale(1);
                transform: scale(1);
                opacity: 0
            }
        }

        @keyframes sk-pulseScaleOut {
            0% {
                -webkit-transform: scale(0);
                transform: scale(0)
            }

            100% {
                -webkit-transform: scale(1);
                transform: scale(1);
                opacity: 0
            }
        }

        .sk-spinner-chasing-dots.sk-spinner {
            margin: 0 auto;
            width: 40px;
            height: 40px;
            position: relative;
            text-align: center;
            -webkit-animation: sk-chasingDotsRotate 2s infinite linear;
            animation: sk-chasingDotsRotate 2s infinite linear
        }

        .sk-spinner-chasing-dots .sk-dot1, .sk-spinner-chasing-dots .sk-dot2 {
            width: 60%;
            height: 60%;
            display: inline-block;
            position: absolute;
            top: 0;
            background-color: #1ab394;
            border-radius: 100%;
            -webkit-animation: sk-chasingDotsBounce 2s infinite ease-in-out;
            animation: sk-chasingDotsBounce 2s infinite ease-in-out
        }

        .sk-spinner-chasing-dots .sk-dot2 {
            top: auto;
            bottom: 0;
            -webkit-animation-delay: -1s;
            animation-delay: -1s
        }

        @-webkit-keyframes sk-chasingDotsRotate {
            100% {
                -webkit-transform: rotate(360deg);
                transform: rotate(360deg)
            }
        }

        @keyframes sk-chasingDotsRotate {
            100% {
                -webkit-transform: rotate(360deg);
                transform: rotate(360deg)
            }
        }

        @-webkit-keyframes sk-chasingDotsBounce {
            0%, 100% {
                -webkit-transform: scale(0);
                transform: scale(0)
            }

            50% {
                -webkit-transform: scale(1);
                transform: scale(1)
            }
        }

        @keyframes sk-chasingDotsBounce {
            0%, 100% {
                -webkit-transform: scale(0);
                transform: scale(0)
            }

            50% {
                -webkit-transform: scale(1);
                transform: scale(1)
            }
        }

        .sk-spinner-three-bounce.sk-spinner {
            margin: 0 auto;
            width: 70px;
            text-align: center
        }

        .sk-spinner-three-bounce div {
            width: 18px;
            height: 18px;
            background-color: #1ab394;
            border-radius: 100%;
            display: inline-block;
            -webkit-animation: sk-threeBounceDelay 1.4s infinite ease-in-out;
            animation: sk-threeBounceDelay 1.4s infinite ease-in-out;
            -webkit-animation-fill-mode: both;
            animation-fill-mode: both
        }

        .sk-spinner-three-bounce .sk-bounce1 {
            -webkit-animation-delay: -.32s;
            animation-delay: -.32s
        }

        .sk-spinner-three-bounce .sk-bounce2 {
            -webkit-animation-delay: -.16s;
            animation-delay: -.16s
        }

        @-webkit-keyframes sk-threeBounceDelay {
            0%, 100%, 80% {
                -webkit-transform: scale(0);
                transform: scale(0)
            }

            40% {
                -webkit-transform: scale(1);
                transform: scale(1)
            }
        }

        @keyframes sk-threeBounceDelay {
            0%, 100%, 80% {
                -webkit-transform: scale(0);
                transform: scale(0)
            }

            40% {
                -webkit-transform: scale(1);
                transform: scale(1)
            }
        }

        .sk-spinner-circle.sk-spinner {
            margin: 0 auto;
            width: 22px;
            height: 22px;
            position: relative
        }

        .sk-spinner-circle .sk-circle {
            width: 100%;
            height: 100%;
            position: absolute;
            left: 0;
            top: 0
        }

        .sk-spinner-circle .sk-circle:before {
            content: '';
            display: block;
            margin: 0 auto;
            width: 20%;
            height: 20%;
            background-color: #1ab394;
            border-radius: 100%;
            -webkit-animation: sk-circleBounceDelay 1.2s infinite ease-in-out;
            animation: sk-circleBounceDelay 1.2s infinite ease-in-out;
            -webkit-animation-fill-mode: both;
            animation-fill-mode: both
        }

        .sk-spinner-circle .sk-circle2 {
            -webkit-transform: rotate(30deg);
            -ms-transform: rotate(30deg);
            transform: rotate(30deg)
        }

        .sk-spinner-circle .sk-circle3 {
            -webkit-transform: rotate(60deg);
            -ms-transform: rotate(60deg);
            transform: rotate(60deg)
        }

        .sk-spinner-circle .sk-circle4 {
            -webkit-transform: rotate(90deg);
            -ms-transform: rotate(90deg);
            transform: rotate(90deg)
        }

        .sk-spinner-circle .sk-circle5 {
            -webkit-transform: rotate(120deg);
            -ms-transform: rotate(120deg);
            transform: rotate(120deg)
        }

        .sk-spinner-circle .sk-circle6 {
            -webkit-transform: rotate(150deg);
            -ms-transform: rotate(150deg);
            transform: rotate(150deg)
        }

        .sk-spinner-circle .sk-circle7 {
            -webkit-transform: rotate(180deg);
            -ms-transform: rotate(180deg);
            transform: rotate(180deg)
        }

        .sk-spinner-circle .sk-circle8 {
            -webkit-transform: rotate(210deg);
            -ms-transform: rotate(210deg);
            transform: rotate(210deg)
        }

        .sk-spinner-circle .sk-circle9 {
            -webkit-transform: rotate(240deg);
            -ms-transform: rotate(240deg);
            transform: rotate(240deg)
        }

        .sk-spinner-circle .sk-circle10 {
            -webkit-transform: rotate(270deg);
            -ms-transform: rotate(270deg);
            transform: rotate(270deg)
        }

        .sk-spinner-circle .sk-circle11 {
            -webkit-transform: rotate(300deg);
            -ms-transform: rotate(300deg);
            transform: rotate(300deg)
        }

        .sk-spinner-circle .sk-circle12 {
            -webkit-transform: rotate(330deg);
            -ms-transform: rotate(330deg);
            transform: rotate(330deg)
        }

        .sk-spinner-circle .sk-circle2:before {
            -webkit-animation-delay: -1.1s;
            animation-delay: -1.1s
        }

        .sk-spinner-circle .sk-circle3:before {
            -webkit-animation-delay: -1s;
            animation-delay: -1s
        }

        .sk-spinner-circle .sk-circle4:before {
            -webkit-animation-delay: -.9s;
            animation-delay: -.9s
        }

        .sk-spinner-circle .sk-circle5:before {
            -webkit-animation-delay: -.8s;
            animation-delay: -.8s
        }

        .sk-spinner-circle .sk-circle6:before {
            -webkit-animation-delay: -.7s;
            animation-delay: -.7s
        }

        .sk-spinner-circle .sk-circle7:before {
            -webkit-animation-delay: -.6s;
            animation-delay: -.6s
        }

        .sk-spinner-circle .sk-circle8:before {
            -webkit-animation-delay: -.5s;
            animation-delay: -.5s
        }

        .sk-spinner-circle .sk-circle9:before {
            -webkit-animation-delay: -.4s;
            animation-delay: -.4s
        }

        .sk-spinner-circle .sk-circle10:before {
            -webkit-animation-delay: -.3s;
            animation-delay: -.3s
        }

        .sk-spinner-circle .sk-circle11:before {
            -webkit-animation-delay: -.2s;
            animation-delay: -.2s
        }

        .sk-spinner-circle .sk-circle12:before {
            -webkit-animation-delay: -.1s;
            animation-delay: -.1s
        }

        @-webkit-keyframes sk-circleBounceDelay {
            0%, 100%, 80% {
                -webkit-transform: scale(0);
                transform: scale(0)
            }

            40% {
                -webkit-transform: scale(1);
                transform: scale(1)
            }
        }

        @keyframes sk-circleBounceDelay {
            0%, 100%, 80% {
                -webkit-transform: scale(0);
                transform: scale(0)
            }

            40% {
                -webkit-transform: scale(1);
                transform: scale(1)
            }
        }

        .sk-spinner-cube-grid.sk-spinner {
            width: 30px;
            height: 30px;
            margin: 0 auto
        }

        .sk-spinner-cube-grid .sk-cube {
            width: 33%;
            height: 33%;
            background-color: #1ab394;
            float: left;
            -webkit-animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out;
            animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out
        }

        .sk-spinner-cube-grid .sk-cube:nth-child(1) {
            -webkit-animation-delay: .2s;
            animation-delay: .2s
        }

        .sk-spinner-cube-grid .sk-cube:nth-child(2) {
            -webkit-animation-delay: .3s;
            animation-delay: .3s
        }

        .sk-spinner-cube-grid .sk-cube:nth-child(3) {
            -webkit-animation-delay: .4s;
            animation-delay: .4s
        }

        .sk-spinner-cube-grid .sk-cube:nth-child(4) {
            -webkit-animation-delay: .1s;
            animation-delay: .1s
        }

        .sk-spinner-cube-grid .sk-cube:nth-child(5) {
            -webkit-animation-delay: .2s;
            animation-delay: .2s
        }

        .sk-spinner-cube-grid .sk-cube:nth-child(6) {
            -webkit-animation-delay: .3s;
            animation-delay: .3s
        }

        .sk-spinner-cube-grid .sk-cube:nth-child(7) {
            -webkit-animation-delay: 0s;
            animation-delay: 0s
        }

        .sk-spinner-cube-grid .sk-cube:nth-child(8) {
            -webkit-animation-delay: .1s;
            animation-delay: .1s
        }

        .sk-spinner-cube-grid .sk-cube:nth-child(9) {
            -webkit-animation-delay: .2s;
            animation-delay: .2s
        }

        @-webkit-keyframes sk-cubeGridScaleDelay {
            0%, 100%, 70% {
                -webkit-transform: scale3D(1, 1, 1);
                transform: scale3D(1, 1, 1)
            }

            35% {
                -webkit-transform: scale3D(0, 0, 1);
                transform: scale3D(0, 0, 1)
            }
        }

        @keyframes sk-cubeGridScaleDelay {
            0%, 100%, 70% {
                -webkit-transform: scale3D(1, 1, 1);
                transform: scale3D(1, 1, 1)
            }

            35% {
                -webkit-transform: scale3D(0, 0, 1);
                transform: scale3D(0, 0, 1)
            }
        }

        .sk-spinner-wordpress.sk-spinner {
            background-color: #1ab394;
            width: 30px;
            height: 30px;
            border-radius: 30px;
            position: relative;
            margin: 0 auto;
            -webkit-animation: sk-innerCircle 1s linear infinite;
            animation: sk-innerCircle 1s linear infinite
        }

        .sk-spinner-wordpress .sk-inner-circle {
            display: block;
            background-color: #fff;
            width: 8px;
            height: 8px;
            position: absolute;
            border-radius: 8px;
            top: 5px;
            left: 5px
        }

        @-webkit-keyframes sk-innerCircle {
            0% {
                -webkit-transform: rotate(0);
                transform: rotate(0)
            }

            100% {
                -webkit-transform: rotate(360deg);
                transform: rotate(360deg)
            }
        }

        @keyframes sk-innerCircle {
            0% {
                -webkit-transform: rotate(0);
                transform: rotate(0)
            }

            100% {
                -webkit-transform: rotate(360deg);
                transform: rotate(360deg)
            }
        }

        .sk-spinner-fading-circle.sk-spinner {
            margin: 0 auto;
            width: 22px;
            height: 22px;
            position: relative
        }

        .sk-spinner-fading-circle .sk-circle {
            width: 100%;
            height: 100%;
            position: absolute;
            left: 0;
            top: 0
        }

        .sk-spinner-fading-circle .sk-circle:before {
            content: '';
            display: block;
            margin: 0 auto;
            width: 18%;
            height: 18%;
            background-color: #1ab394;
            border-radius: 100%;
            -webkit-animation: sk-circleFadeDelay 1.2s infinite ease-in-out;
            animation: sk-circleFadeDelay 1.2s infinite ease-in-out;
            -webkit-animation-fill-mode: both;
            animation-fill-mode: both
        }

        .sk-spinner-fading-circle .sk-circle2 {
            -webkit-transform: rotate(30deg);
            -ms-transform: rotate(30deg);
            transform: rotate(30deg)
        }

        .sk-spinner-fading-circle .sk-circle3 {
            -webkit-transform: rotate(60deg);
            -ms-transform: rotate(60deg);
            transform: rotate(60deg)
        }

        .sk-spinner-fading-circle .sk-circle4 {
            -webkit-transform: rotate(90deg);
            -ms-transform: rotate(90deg);
            transform: rotate(90deg)
        }

        .sk-spinner-fading-circle .sk-circle5 {
            -webkit-transform: rotate(120deg);
            -ms-transform: rotate(120deg);
            transform: rotate(120deg)
        }

        .sk-spinner-fading-circle .sk-circle6 {
            -webkit-transform: rotate(150deg);
            -ms-transform: rotate(150deg);
            transform: rotate(150deg)
        }

        .sk-spinner-fading-circle .sk-circle7 {
            -webkit-transform: rotate(180deg);
            -ms-transform: rotate(180deg);
            transform: rotate(180deg)
        }

        .sk-spinner-fading-circle .sk-circle8 {
            -webkit-transform: rotate(210deg);
            -ms-transform: rotate(210deg);
            transform: rotate(210deg)
        }

        .sk-spinner-fading-circle .sk-circle9 {
            -webkit-transform: rotate(240deg);
            -ms-transform: rotate(240deg);
            transform: rotate(240deg)
        }

        .sk-spinner-fading-circle .sk-circle10 {
            -webkit-transform: rotate(270deg);
            -ms-transform: rotate(270deg);
            transform: rotate(270deg)
        }

        .sk-spinner-fading-circle .sk-circle11 {
            -webkit-transform: rotate(300deg);
            -ms-transform: rotate(300deg);
            transform: rotate(300deg)
        }

        .sk-spinner-fading-circle .sk-circle12 {
            -webkit-transform: rotate(330deg);
            -ms-transform: rotate(330deg);
            transform: rotate(330deg)
        }

        .sk-spinner-fading-circle .sk-circle2:before {
            -webkit-animation-delay: -1.1s;
            animation-delay: -1.1s
        }

        .sk-spinner-fading-circle .sk-circle3:before {
            -webkit-animation-delay: -1s;
            animation-delay: -1s
        }

        .sk-spinner-fading-circle .sk-circle4:before {
            -webkit-animation-delay: -.9s;
            animation-delay: -.9s
        }

        .sk-spinner-fading-circle .sk-circle5:before {
            -webkit-animation-delay: -.8s;
            animation-delay: -.8s
        }

        .sk-spinner-fading-circle .sk-circle6:before {
            -webkit-animation-delay: -.7s;
            animation-delay: -.7s
        }

        .sk-spinner-fading-circle .sk-circle7:before {
            -webkit-animation-delay: -.6s;
            animation-delay: -.6s
        }

        .sk-spinner-fading-circle .sk-circle8:before {
            -webkit-animation-delay: -.5s;
            animation-delay: -.5s
        }

        .sk-spinner-fading-circle .sk-circle9:before {
            -webkit-animation-delay: -.4s;
            animation-delay: -.4s
        }

        .sk-spinner-fading-circle .sk-circle10:before {
            -webkit-animation-delay: -.3s;
            animation-delay: -.3s
        }

        .sk-spinner-fading-circle .sk-circle11:before {
            -webkit-animation-delay: -.2s;
            animation-delay: -.2s
        }

        .sk-spinner-fading-circle .sk-circle12:before {
            -webkit-animation-delay: -.1s;
            animation-delay: -.1s
        }

        @-webkit-keyframes sk-circleFadeDelay {
            0%, 100%, 39% {
                opacity: 0
            }

            40% {
                opacity: 1
            }
        }

        @keyframes sk-circleFadeDelay {
            0%, 100%, 39% {
                opacity: 0
            }

            40% {
                opacity: 1
            }
        }

        body.rtls #page-wrapper {
            margin: 0 220px 0 0
        }

        body.rtls .nav-second-level li a {
            padding: 7px 35px 7px 10px
        }

        body.rtls .ibox-title h5 {
            float: right
        }

        body.rtls .pull-right {
            float: left !important
        }

        body.rtls .pull-left {
            float: right !important
        }

        body.rtls .ibox-tools, body.rtls .stat-percent {
            float: left
        }

        body.rtls .navbar-right {
            float: left !important
        }

        body.rtls .navbar-top-links li:last-child {
            margin-right: 0
        }

        body.rtls .minimalize-styl-2 {
            float: right;
            margin: 14px 20px 5px 5px
        }

        body.rtls .feed-element > .pull-left {
            margin-left: 10px;
            margin-right: 0
        }

        body.rtls .timeline-item .date {
            text-align: left
        }

        body.rtls .timeline-item .date i {
            left: 0;
            right: auto
        }

        body.rtls .timeline-item .content {
            border-right: 1px solid #e7eaec;
            border-left: none
        }

        body.rtls .toast-close-button {
            float: left
        }

        body.rtls #toast-container > .toast:before {
            margin: auto -1.5em auto .5em
        }

        body.rtls #toast-container > div {
            padding: 15px 50px 15px 15px
        }

        body.rtls .center-orientation .vertical-timeline-icon i {
            margin-left: 0;
            margin-right: -12px
        }

        body.rtls .vertical-timeline-icon i {
            right: 50%;
            left: auto;
            margin-left: auto;
            margin-right: -12px
        }

        body.rtls .file-box, body.rtls ul.notes li {
            float: right
        }

        body.rtls .chat-statistic, body.rtls .chat-users {
            margin-right: -30px;
            margin-left: auto
        }

        body.rtls .dropdown-menu > li > a {
            text-align: right
        }

        body.rtls .b-r {
            border-left: 1px solid #e7eaec;
            border-right: none
        }

        body.rtls .dd-list .dd-list {
            padding-right: 30px;
            padding-left: 0
        }

        body.rtls .dd-item > button {
            float: right
        }

        body.rtls .skin-setttings {
            margin-right: 40px;
            margin-left: 0;
            direction: ltr
        }

        body.rtls .footer.fixed {
            margin-right: 220px;
            margin-left: 0
        }

        @media (max-width: 992px) {
            body.rtls .chat-statistic, body.rtls .chat-users {
                margin-right: 0
            }
        }

        body.body-small.mini-navbar .footer.fixed, body.rtls.mini-navbar .footer.fixed {
            margin: 0 70px 0 0
        }

        body.body-small.mini-navbar .footer.fixed, body.rtls.mini-navbar.fixed-sidebar .footer.fixed {
            margin: 0
        }

        body.rtls.top-navigation .navbar-toggle {
            float: right;
            margin-left: 15px;
            margin-right: 15px
        }

        .body-small.rtls.top-navigation .navbar-header {
            float: none
        }

        body.rtls.top-navigation #page-wrapper {
            margin: 0
        }

        body.rtls.mini-navbar #page-wrapper {
            margin: 0 70px 0 0
        }

        body.rtls.mini-navbar.fixed-sidebar #page-wrapper {
            margin: 0
        }

        body.rtls.body-small.fixed-sidebar.mini-navbar #page-wrapper {
            margin: 0 220px 0 0
        }

        body.rtls.body-small.fixed-sidebar.mini-navbar .navbar-static-side {
            width: 220px
        }

        .body-small.rtls .navbar-fixed-top {
            margin-right: 0
        }

        .body-small.rtls .navbar-header {
            float: right
        }

        body.rtls .navbar-top-links li:last-child {
            margin-left: 20px
        }

        body.rtls .top-navigation #page-wrapper, body.rtls .top-navigation .footer.fixed, body.rtls.mini-navbar .top-navigation #page-wrapper, body.rtls.mini-navbar.top-navigation #page-wrapper, body.rtls.top-navigation .footer.fixed {
            margin: 0
        }

        @media (max-width: 768px) {
            body.rtls .navbar-top-links li:last-child {
                margin-left: 20px
            }

            .body-small.rtls #page-wrapper {
                position: inherit;
                margin: 0;
                min-height: 1000px
            }

            .body-small.rtls .navbar-static-side {
                display: none;
                z-index: 2001;
                position: absolute;
                width: 70px
            }

            .body-small.rtls.mini-navbar .navbar-static-side {
                display: block
            }

            .rtls.fixed-sidebar.body-small .navbar-static-side {
                display: none;
                z-index: 2001;
                position: fixed;
                width: 220px
            }

            .rtls.fixed-sidebar.body-small.mini-navbar .navbar-static-side {
                display: block
            }
        }

        .rtls .ltr-support {
            direction: ltr
        }

        .skin-setttings .title {
            background: #efefef;
            text-align: center;
            text-transform: uppercase;
            font-weight: 600;
            display: block;
            padding: 10px 15px;
            font-size: 12px
        }

        .setings-item {
            padding: 10px 30px
        }

        .setings-item.nb {
            border: none
        }

        .setings-item.skin {
            text-align: center
        }

        .setings-item .switch {
            float: right
        }

        .skin-name a {
            text-transform: uppercase
        }

        .setings-item a {
            color: #fff
        }

        .blue-skin, .default-skin, .ultra-skin, .yellow-skin {
            text-align: center
        }

        .default-skin {
            font-weight: 600;
            background: #1ab394
        }

        .default-skin:hover {
            background: #199d82
        }

        .blue-skin {
            font-weight: 600;
            background: url(patterns/header-profile-skin-1.png) repeat scroll 0 0
        }

        .blue-skin:hover {
            background: #0d8ddb
        }

        .yellow-skin {
            font-weight: 600;
            background: url(patterns/header-profile-skin-3.png) repeat scroll 0 100%
        }

        .yellow-skin:hover {
            background: #ce8735
        }

        .content-tabs {
            border-bottom: solid 2px #2f4050
        }

        .page-tabs a {
            color: #999
        }

        .page-tabs a i {
            color: #ccc
        }

        .page-tabs a.active {
            background: #2f4050;
            color: #a7b1c2
        }

        .page-tabs a.active i:hover, .page-tabs a.active:hover {
            background: #293846;
            color: #fff
        }

        .skin-1 .minimalize-styl-2 {
            margin: 14px 5px 5px 30px
        }

        .skin-1 .navbar-top-links li:last-child {
            margin-right: 30px
        }

        .skin-1.fixed-nav .minimalize-styl-2 {
            margin: 14px 5px 5px 15px
        }

        .skin-1 .spin-icon {
            background: #0e9aef !important
        }

        .skin-1 .nav-header {
            background: #0e9aef;
            background: url(patterns/header-profile-skin-1.png)
        }

        .skin-1.mini-navbar .nav-second-level {
            background: #3e495f
        }

        .skin-1 .breadcrumb {
            background: 0 0
        }

        .skin-1 .page-heading {
            border: none
        }

        .skin-1 .nav > li.active {
            background: #3a4459
        }

        .skin-1 .nav > li > a {
            color: #9ea6b9
        }

        .skin-1 .nav > li.active > a {
            color: #fff
        }

        .skin-1 .navbar-minimalize {
            background: #0e9aef;
            border-color: #0e9aef
        }

        body.skin-1 {
            background: #3e495f
        }

        .skin-1 .navbar-static-top {
            background: #fff
        }

        .skin-1 .dashboard-header {
            background: 0 0;
            border-bottom: none !important;
            border-top: none;
            padding: 20px 30px 10px
        }

        .fixed-nav.skin-1 .navbar-fixed-top {
            background: #fff
        }

        .skin-1 .wrapper-content {
            padding: 30px 15px
        }

        .skin-1 #page-wrapper {
            background: #f4f6fa
        }

        .skin-1 .ibox-content, .skin-1 .ibox-title {
            border-width: 1px
        }

        .skin-1 .ibox-content:last-child {
            border-style: solid
        }

        .skin-1 .nav > li.active {
            border: none
        }

        .skin-1 .nav-header {
            padding: 35px 25px 25px
        }

        .skin-1 .nav-header a.dropdown-toggle {
            color: #fff;
            margin-top: 10px
        }

        .skin-1 .nav-header a.dropdown-toggle .text-muted {
            color: #fff;
            opacity: .8
        }

        .skin-1 .profile-element {
            text-align: center
        }

        .skin-1 .img-circle {
            border-radius: 5px
        }

        .skin-1 .navbar-default .nav > li > a:focus, .skin-1 .navbar-default .nav > li > a:hover {
            background: #39aef5;
            color: #fff
        }

        .skin-1 .nav.nav-tabs > li.active > a {
            color: #555
        }

        .skin-1 .content-tabs {
            border-bottom: solid 2px #39aef5
        }

        .skin-1 .nav.nav-tabs > li.active {
            background: 0 0
        }

        .skin-1 .page-tabs a.active {
            background: #39aef5;
            color: #fff
        }

        .skin-1 .page-tabs a.active i:hover, .skin-1 .page-tabs a.active:hover {
            background: #0e9aef;
            color: #fff
        }

        .skin-3 .minimalize-styl-2 {
            margin: 14px 5px 5px 30px
        }

        .skin-3 .navbar-top-links li:last-child {
            margin-right: 30px
        }

        .skin-3.fixed-nav .minimalize-styl-2 {
            margin: 14px 5px 5px 15px
        }

        .skin-3 .spin-icon {
            background: #ecba52 !important
        }

        body.boxed-layout.skin-3 #wrapper {
            background: #3e2c42
        }

        .skin-3 .nav-header {
            background: #ecba52;
            background: url(patterns/header-profile-skin-3.png)
        }

        .skin-3.mini-navbar .nav-second-level {
            background: #3e2c42
        }

        .skin-3 .breadcrumb {
            background: 0 0
        }

        .skin-3 .page-heading {
            border: none
        }

        .skin-3 .nav > li.active {
            background: #38283c
        }

        .fixed-nav.skin-3 .navbar-fixed-top {
            background: #fff
        }

        .skin-3 .nav > li > a {
            color: #948b96
        }

        .skin-3 .nav > li.active > a {
            color: #fff
        }

        .skin-3 .navbar-minimalize {
            background: #ecba52;
            border-color: #ecba52
        }

        body.skin-3 {
            background: #3e2c42
        }

        .skin-3 .navbar-static-top {
            background: #fff
        }

        .skin-3 .dashboard-header {
            background: 0 0;
            border-bottom: none !important;
            border-top: none;
            padding: 20px 30px 10px
        }

        .skin-3 .wrapper-content {
            padding: 30px 15px
        }

        .skin-3 #page-wrapper {
            background: #f4f6fa
        }

        .skin-3 .ibox-content, .skin-3 .ibox-title {
            border-width: 1px
        }

        .skin-3 .ibox-content:last-child {
            border-style: solid
        }

        .skin-3 .nav > li.active {
            border: none
        }

        .skin-3 .nav-header {
            padding: 35px 25px 25px
        }

        .skin-3 .nav-header a.dropdown-toggle {
            color: #fff;
            margin-top: 10px
        }

        .skin-3 .nav-header a.dropdown-toggle .text-muted {
            color: #fff;
            opacity: .8
        }

        .skin-3 .profile-element {
            text-align: center
        }

        .skin-3 .img-circle {
            border-radius: 5px
        }

        .skin-3 .navbar-default .nav > li > a:focus, .skin-3 .navbar-default .nav > li > a:hover {
            background: #38283c;
            color: #fff
        }

        .skin-3 .nav.nav-tabs > li.active > a {
            color: #555
        }

        .skin-3 .content-tabs {
            border-bottom: solid 2px #3e2c42
        }

        .skin-3 .nav.nav-tabs > li.active {
            background: 0 0
        }

        .skin-3 .page-tabs a.active {
            background: #3e2c42;
            color: #fff
        }

        .skin-3 .page-tabs a.active i:hover, .skin-3 .page-tabs a.active:hover {
            background: #38283c;
            color: #fff
        }

        @media (min-width: 768px) {
            .navbar-top-links .dropdown-alerts, .navbar-top-links .dropdown-messages, .navbar-top-links .dropdown-tasks {
                margin-left: auto
            }
        }

        @media (max-width: 768px) {
            body.fixed-sidebar .navbar-static-side {
                display: none
            }

            body.fixed-sidebar.mini-navbar .navbar-static-side {
                width: 70px
            }

            .lock-word, .navbar-form-custom {
                display: none
            }

            .navbar-header {
                display: inline;
                float: left
            }

            .sidebard-panel {
                z-index: 2;
                position: relative;
                width: auto;
                min-height: 100% !important
            }

            .sidebar-content .wrapper {
                padding-right: 0;
                z-index: 1
            }

            .fixed-sidebar.body-small .navbar-static-side {
                display: none;
                z-index: 2001;
                position: fixed;
                width: 220px
            }

            .fixed-sidebar.body-small.mini-navbar .navbar-static-side {
                display: block
            }

            .ibox-tools {
                float: none;
                text-align: right;
                display: block
            }

            .content-tabs {
                display: none
            }

            #content-main {
                height: calc(100% - 100px)
            }

            .fixed-nav #content-main {
                height: calc(100% - 38px)
            }
        }

        .navbar-static-side {
            background: #2f4050
        }

        .nav-close {
            padding: 10px;
            position: absolute;
            right: 5px;
            top: 5px;
            font-size: 1.4em;
            cursor: pointer;
            z-index: 10;
            display: none;
            color: rgba(255, 255, 255, .3)
        }

        @media (max-width: 350px) {
            body.fixed-sidebar.mini-navbar .navbar-static-side {
                width: 0
            }

            .nav-close {
                display: block
            }

            #page-wrapper {
                margin-left: 0 !important
            }

            .timeline-item .date {
                text-align: left;
                width: 110px;
                position: relative;
                padding-top: 30px
            }

            .timeline-item .date i {
                position: absolute;
                top: 0;
                left: 15px;
                padding: 5px;
                width: 30px;
                text-align: center;
                border: 1px solid #e7eaec;
                background: #f8f8f8
            }

            .timeline-item .content {
                border-left: none;
                border-top: 1px solid #e7eaec;
                padding-top: 10px;
                min-height: 100px
            }

            .nav.navbar-top-links li.dropdown {
                display: none
            }

            .ibox-tools {
                float: none;
                text-align: left;
                display: inline-block
            }
        }

        .ui-jqgrid-titlebar {
            height: 40px;
            line-height: 24px;
            color: #676a6c;
            background-color: #F9F9F9;
            text-shadow: 0 1px 0 rgba(255, 255, 255, .5)
        }

        .ui-jqgrid .ui-jqgrid-title {
            float: left;
            margin-left: 5px;
            font-weight: 700
        }

        .ui-jqgrid .ui-jqgrid-titlebar {
            position: relative;
            border-left: 0 solid;
            border-right: 0 solid;
            border-top: 0 solid
        }

        .social-feed-separated .social-feed-box {
            margin-left: 62px
        }

        .social-feed-separated .social-avatar {
            float: left;
            padding: 0
        }

        .social-feed-separated .social-avatar img {
            width: 52px;
            height: 52px;
            border: 1px solid #e7eaec
        }

        .social-feed-separated .social-feed-box .social-avatar {
            padding: 15px 15px 0;
            float: none
        }

        .social-feed-box {
            border: 1px solid #e7eaec;
            background: #fff;
            margin-bottom: 15px
        }

        .article .social-feed-box {
            margin-bottom: 0;
            border-bottom: none
        }

        .article .social-feed-box:last-child {
            margin-bottom: 0;
            border-bottom: 1px solid #e7eaec
        }

        .article .social-feed-box p {
            font-size: 13px;
            line-height: 18px
        }

        .social-action {
            margin: 15px
        }

        .social-avatar {
            padding: 15px 15px 0
        }

        .social-comment .social-comment {
            margin-left: 45px
        }

        .social-avatar img {
            height: 40px;
            width: 40px;
            margin-right: 10px
        }

        .social-avatar .media-body a {
            font-size: 14px;
            display: block
        }

        .social-body {
            padding: 15px
        }

        .social-body img {
            margin-bottom: 10px
        }

        .social-footer {
            border-top: 1px solid #e7eaec;
            padding: 10px 15px;
            background: #f9f9f9
        }

        .social-footer .social-comment img {
            width: 32px;
            margin-right: 10px
        }

        .social-comment:first-child {
            margin-top: 0
        }

        .social-comment {
            margin-top: 15px
        }

        .social-comment textarea {
            font-size: 12px
        }

        .checkbox input[type=checkbox], .checkbox-inline input[type=checkbox], .radio input[type=radio], .radio-inline input[type=radio] {
            margin-top: -4px
        }

        @media (max-width: 1000px) {
            .welcome-message {
                display: none
            }
        }

        .echarts {
            height: 240px
        }

        .checkbox-inline, .checkbox-inline + .checkbox-inline, .radio-inline, .radio-inline + .radio-inline {
            margin: 0 15px 0 0
        }

        .navbar-toggle {
            background-color: #fff
        }

        .J_menuTab {
            -webkit-transition: all .3s ease-out 0s;
            transition: all .3s ease-out 0s
        }

        ::-webkit-scrollbar-track {
            background-color: #F5F5F5
        }

        ::-webkit-scrollbar {
            width: 6px;
            background-color: #F5F5F5
        }

        ::-webkit-scrollbar-thumb {
            background-color: #999
        }

        .gohome {
            position: fixed;
            top: 20px;
            right: 20px;
            z-index: 100
        }

        .gohome a {
            height: 38px;
            width: 38px;
            display: block;
            background: #2f4050;
            padding: 9px 8px;
            text-align: center;
            color: #fff;
            border-radius: 50%;
            opacity: .5
        }

        .gohome a:hover {
            opacity: 1
        }

        @media only screen and (-webkit-min-device-pixel-ratio: 2) {
            #content-main {
                -webkit-overflow-scrolling: touch;
            }
        }

        .navbar-header {
            width: 60%
        }

        .bs-glyphicons {
            margin: 0 -10px 20px;
            overflow: hidden
        }

        .bs-glyphicons-list {
            padding-left: 0;
            list-style: none
        }

        .bs-glyphicons li {
            float: left;
            width: 25%;
            height: 115px;
            padding: 10px;
            font-size: 10px;
            line-height: 1.4;
            text-align: center;
            background-color: #f9f9f9;
            border: 1px solid #fff
        }

        .bs-glyphicons .glyphicon {
            margin-top: 5px;
            margin-bottom: 10px;
            font-size: 24px
        }

        .bs-glyphicons .glyphicon-class {
            display: block;
            text-align: center;
            word-wrap: break-word
        }

        .bs-glyphicons li:hover {
            color: #fff;
            background-color: #1ab394
        }

        @media (min-width: 768px) {
            .bs-glyphicons {
                margin-right: 0;
                margin-left: 0
            }

            .bs-glyphicons li {
                width: 12.5%;
                font-size: 12px
            }
        }
    </style>
</head>
<body class="gray-bg">
<div class="row dashboard-header" style="margin-left: 20px;margin-right: 20px;background-color: #1ab394">
    <div class="col-sm-12 text-center">
        <span style="color: #ffffff; font-size: 30px; font-weight: 700">测试报告</span>
    </div>
</div>
<div class="wrapper wrapper-content animated fadeInRight" style="padding-top: 10px; padding-bottom: 0px">
    <div class="row">
        <div class="col-sm-12">
            <div class="ibox float-e-margins" style="margin-bottom: 0px">
                <div class="ibox-title">
                    <h5>报告汇总</h5>
                    <div class="ibox-tools">
                        <a class="collapse-link">
                            <i class="fa fa-chevron-up"></i>
                        </a>
                        <a class="close-link">
                            <i class="fa fa-times"></i>
                        </a>
                    </div>
                </div>
                <div class="ibox-content">
                    <div class="row">
                        <div class="col-sm-6 b-r" style="height:350px">
                            <form class="form-horizontal">
                                <div class="form-group">
                                    <label class="col-sm-2 control-label text-navy">用例名称:</label>
                                    <div class="col-sm-5">
                                        <span class="form-control" id="testName"></span>
                                    </div>
                                </div>
                                <div class="form-group">
                                    <label class="col-sm-2 control-label text-navy">用例总数:</label>
                                    <div class="col-sm-5">
                                        <span class="form-control" id="testAll"></span>
                                    </div>
                                </div>
                                <div class="form-group">
                                    <label class="col-sm-2 control-label text-navy">用例通过:</label>
                                    <div class="col-sm-5">
                                        <span class="form-control" id="testPass"></span>
                                    </div>
                                </div>
                                <div class="form-group">
                                    <label class="col-sm-2 control-label text-danger">用例失败:</label>
                                    <div class="col-sm-5">
                                        <span class="form-control text-danger" id="testFail"></span>
                                    </div>
                                </div>
                                <div class="form-group">
                                    <label class="col-sm-2 control-label text-warning">test跳过:</label>
                                    <div class="col-sm-5">
                                        <span class="form-control text-warning" id="testSkip"></span>
                                    </div>
                                </div>
                                <div class="form-group">
                                    <label class="col-sm-2 control-label text-navy">开始时间:</label>
                                    <div class="col-sm-5">
                                        <span class="form-control" id="beginTime"></span>
                                    </div>
                                </div>
                                <div class="form-group">
                                    <label class="col-sm-2 control-label text-navy">运行时间:</label>
                                    <div class="col-sm-5">
                                        <span class="form-control" id="totalTime"></span>
                                    </div>
                                </div>
                            </form>
                        </div>
                        <div class="col-sm-6">
                            <div style="height:350px" id="echarts-map-chart"></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
<div class="wrapper wrapper-content animated fadeInRight" style="padding-top: 10px; padding-bottom: 0px">
    <div class="row">
        <div class="col-sm-12">
            <div class="ibox float-e-margins">
                <div class="ibox-title">
                    <h5>详细数据</h5>
                    <div class="ibox-tools">
                        <a class="collapse-link">
                            <i class="fa fa-chevron-up"></i>
                        </a>
                        <a class="close-link">
                            <i class="fa fa-times"></i>
                        </a>
                    </div>
                </div>
                <div class="ibox-content">
                    <div class="input-group panel-heading" style="width: 100%; background-color: #1ab394; margin-bottom: 10px; text-align: left; font-family: Consolas;">
                        <label style="color: snow">测试类:</label>
                        <select class="chosen-select form-control" data-placeholder="----------" style="width: 300px;" name="filterClass" id="filterClass">
                            <option value="">----------</option>
                        </select>
                        <label style="color: snow">结果:</label>
                        <select class="chosen-select form-control" data-placeholder="----------" style="width: 300px;" name="filterResult" id="filterResult">
                            <option value="">----------</option>
                        </select>
                        <div style="float: right">
                            <label class="form-control">
                                <span class="text-navy">用例数: </span><span class="text-navy b-r" id="filterAll"></span><span> | </span>
                                <span style="color: green">成功: </span><span style="color: green" id="filterOk"></span><span> | </span>
                                <span class="text-danger">失败: </span><span class="text-danger" id="filterFail"></span><span> | </span>
                                <span class="text-warning">跳过: </span><span class="text-warning" id="filterSkip"></span>
                            </label>
                        </div>
                    </div>
                    <table class="table table-bordered">
                        <thead>
                        <tr>
                            <th>编号</th><th>测试类</th><th>测试方法</th><th>用例描述</th><th>耗时</th><th>结果</th><th>操作</th>
                        </tr>
                        </thead>
                        <tbody id="detailBody">
                        </tbody>
                    </table>
                </div>
            </div>
        </div>
    </div>
</div>
<script src="https://cdn.bootcss.com/jquery/2.1.4/jquery.min.js"></script>
<script src="https://cdn.bootcss.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<script src="https://cdn.bootcss.com/echarts/3.8.5/echarts.min.js"></script>
<script src="https://cdn.bootcss.com/chosen/1.8.2/chosen.jquery.js"></script>
<script type="text/javascript">
	function $childNode(o) {
	    return window.frames[o]
	}
	function animationHover(o, e) {
	    o = $(o), o.hover(function () {
	        o.addClass("animated " + e)
	    }, function () {
	        window.setTimeout(function () {
	            o.removeClass("animated " + e)
	        }, 2e3)
	    })
	}
	function WinMove() {
	    var o = "[class*=col]", e = ".ibox-title", i = "[class*=col]";
	    $(o).sortable({
	        handle: e,
	        connectWith: i,
	        tolerance: "pointer",
	        forcePlaceholderSize: !0,
	        opacity: .8
	    }).disableSelection()
	}
	var $parentNode = window.parent.document;
	if ($(".tooltip-demo").tooltip({
	        selector: "[data-toggle=tooltip]",
	        container: "body"
	    }), $(".modal").appendTo("body"), $("[data-toggle=popover]").popover(), $(".collapse-link").click(function () {
	        var o = $(this).closest("div.ibox"), e = $(this).find("i"), i = o.find("div.ibox-content");
	        i.slideToggle(200), e.toggleClass("fa-chevron-up").toggleClass("fa-chevron-down"), o.toggleClass("").toggleClass("border-bottom"), setTimeout(function () {
	            o.resize(), o.find("[id^=map-]").resize()
	        }, 50)
	    }), $(".close-link").click(function () {
	        var o = $(this).closest("div.ibox");
	        o.remove()
	    }), top == this) {
	}
</script>
<script type="text/javascript">
    var resultData = ${resultData};

    function clickRow(obj){
        $("#detailBody").children("tr").attr("style","font-family: Consolas");
        $(obj).attr("style","font-family: Consolas; background-color: #b0d877");
    }

    function details(obj) {
        if ($(obj).text() == '展开') {
            var len = $(obj).parent().parent().children().length;
            var detailLog = "";
            var logs = resultData["testResult"][parseInt($(obj).attr("buttonIndex"))]["log"];
            $(obj).text("收缩");
            $(obj).removeClass("btn-primary");
            $(obj).addClass("btn-danger");
            $.each(logs, function (i, n) {
                detailLog = detailLog + "<p>" + n + "</p>";
            });
            $(obj).parent().parent().after("<tr><td colspan='" + len + "'><div style='font-family: Consolas;font-size:12px;overflow-x:auto;'>" + detailLog + "</div></td></tr>");
        } else if ($(obj).text() == '收缩') {
            $(obj).parent().parent().next().remove();
            $(obj).text("展开");
            $(obj).removeClass("btn-danger");
            $(obj).addClass("btn-primary");
        }

    }
    $(function () {
        $("#testName").text(resultData["testName"]);
        $("#testPass").text(resultData["testPass"]);
        $("#testFail").text(resultData["testFail"]);
        $("#testSkip").text(resultData["testSkip"]);
        $("#testAll").text(resultData["testAll"]);
        $("#beginTime").text(resultData["beginTime"]);
        $("#totalTime").text(resultData["totalTime"]);
        $("#filterAll").text(resultData["testAll"]);
        $("#filterOk").text(resultData["testPass"]);
        $("#filterFail").text(resultData["testFail"]);
        $("#filterSkip").text(resultData["testSkip"]);
        var classNames = [];
        var results = [];
        $.each(resultData["testResult"], function (i, n) {
            if (classNames.indexOf(n["className"]) == -1) {
                classNames.push(n["className"]);
            }
            if (results.indexOf(n["status"]) == -1) {
                results.push(n["status"]);
            }
        });

        $.each(classNames, function (i, n) {
            $("#filterClass").append("<option value='" + n + "' hassubinfo='true'>" + n + "</option>");
        });
        $.each(results, function (i, n) {
            $("#filterResult").append("<option value='" + n + "' hassubinfo='true'>" + n + "</option>");
        });

        $("#filterClass").chosen({search_contains: true});
        $("#filterResult").chosen({search_contains: true});

        function generateResult(className, caseResult) {
            $("#detailBody").children().remove();
            var filterAll = 0;
            var filterOk = 0;
            var filterFail = 0;
            var filterSkip = 0;
            $.each(resultData["testResult"], function (i, n) {
                if ((className == "" || n["className"] == className) && (caseResult == "" || n["status"] == caseResult)) {
                    filterAll += 1;
                    var status = "";
                    if (n["status"] == '成功') {
                        filterOk += 1;
                        status = "<td><span class='text-navy'>成功</span></td>";
                    } else if (n["status"] == '失败') {
                        filterFail += 1;
                        status = "<td><span class='text-danger'>失败</span></td>";
                    } else if (n["status"] == '跳过') {
                        filterSkip += 1;
                        status = "<td><span class='text-warning'>跳过</span></td>";
                    } else {
                        status = "<td><span>" + n["status"] + "</span></td>";
                    }
                    var tr = "<tr style='font-family: Consolas'>" +
                        "<td>" + (i + 1) + "</td>" +
                        "<td>" + n["className"] + "</td>" +
                        "<td>" + n["methodName"] + "</td>" +
                        "<td>" + n["description"] + "</td>" +
                        "<td>" + n["spendTime"] + "</td>" +
                        status + "<td><button type='button' οnclick='details(this)' buttonIndex='" + i + "' class='btn btn-primary btn-xs' style='margin-bottom: 0px'>展开</button></td></tr>"
                    $("#detailBody").append(tr);
                }
            });
            $("#filterAll").text(filterAll);
            $("#filterOk").text(filterOk);
            $("#filterFail").text(filterFail);
            $("#filterSkip").text(filterSkip);
        }

        generateResult("", "");

        $("#filterClass").on('change', function () {
            var className = $("#filterClass").val();
            var caseResult = $("#filterResult").val();
            generateResult(className, caseResult);
        });

        $("#filterResult").on('change', function () {
            var className = $("#filterClass").val();
            var caseResult = $("#filterResult").val();
            generateResult(className, caseResult);
        });

        //$(".chosen-select").trigger("chosen:updated");

        function pie() {
            var option = {
                title: {
                    text: '测试用例运行结果',
                    subtext: '',
                    x: 'center'
                },
                tooltip: {
                    trigger: 'item',
                    formatter: "{a} <br/>{b} : {c} ({d}%)"
                },
                legend: {
                    orient: 'vertical',
                    left: 'left',
                    data: ['失败', '跳过', '成功']
                },
                series: [
                    {
                        name: '运行结果',
                        type: 'pie',
                        radius: '55%',
                        center: ['50%', '60%'],
                        data: [
                            {value: resultData["testFail"], name: '失败'},
                            {value: resultData["testSkip"], name: '跳过'},
                            {value: resultData["testPass"], name: '成功'}
                        ],
                        itemStyle: {
                            emphasis: {
                                shadowBlur: 10,
                                shadowOffsetX: 0,
                                shadowColor: 'rgba(0, 0, 0, 0.5)'
                            }
                        }
                    }
                ]
            };
            var chart = echarts.init(document.getElementById("echarts-map-chart"));
            chart.setOption(option);
        }

        pie();
    });

</script>
</body>
</html>

例子中的用户跳过,会出现乱码,可以尝试更换testng的版本,本人此处改为test测试

具体细节操作

监听

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/509090.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HTTP和HTTPS谁传输数据更安全?

1.HTTP HTTP在传输数据时&#xff0c;通常都是明文传输&#xff0c;也就是传输的数据没有进行加密。在这种情况下&#xff0c;如果传输的是一些敏感数据&#xff0c;比如某银行卡密码&#xff0c;就很容易被别人截获到&#xff0c;这就对我们的个人利益产生了威胁。 HTTP传输数…

Linux中JMeter的使用

Linux中JMeter的使用 Linux版本JMeter安装 # 1、下载、安装JMeter 如果有安装包直接上传即可 wget -c https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-5.4.1.tgz # 解压 tar -zxvf apache-jmeter-5.4.1.tgz -C /usr/local/sjdwz_test cd /usr/local/sjdwz_t…

【教学类-09-05】20240402细线迷宫图03+箭头图片(A4横版一页-4份横版)

作品展示 背景需求&#xff1a; 在word模板上添加“形状-箭头”&#xff0c;结果生成的图片上&#xff0c;箭头位置挪移。 思考&#xff0c;如何直接在迷宫图上添加箭头&#xff0c;以图片形式将迷宫图箭头插入docx word模板 重点说明 代码展示 批量制作细线条的迷宫图(A4横板…

上位机图像处理和嵌入式模块部署(qmacvisual获取边界点)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 在图像处理中&#xff0c;解决了分割的问题之后&#xff0c;下面就是属性信息的提取。在这其中&#xff0c;有一种属性是非常重要的 &#xff0c;那…

Redis(一) redis配置 | 如何连接redis服务器 | 基本数据类型 | 基本全局命令 | 数据结构和内部编码方式

文章目录 前言Redis 配置文件连接 redis 服务器Redis 常见数据类型Redis 基本全局命令set 和 get 命令KEYS 命令EXISTS 命令DEL 命令EXPIRE 和 TTL 命令Redis 过期策略定时器和时间轮的方式实现过期key的及时删除 TYPE 命令 数据结构和编码方式 前言 本篇文章将介绍我们在 Lin…

Flume进阶学习!

本文图片来自于8.flume实时监控文件hdfs sink使用演示_哔哩哔哩_bilibili Apache Flume 的启动过程及其配置文件和脚本 在官网下载的Flume的压缩包中&#xff0c;.lib文件有大量的jar包&#xff0c;按道理说只有.lib文件就可以运行Flume程序了。只不过需要java -jar命令还要加…

android APP monkey 测试

monkey 测试 一、电脑ADB安装及使用详解1、什么是 Monkey 测试2、什么是ADB3、ADB的作用4、安装前提条件5、ADB下载6、ADB安装与配置 二、连接安卓手机检查是否连接上安卓手机windows端安装ADB驱动 三、 monkey测试操作指令演示指令APP包名查看方式测试效果 一、电脑ADB安装及使…

Golang 内存管理和垃圾回收底层原理(二)

一、这篇文章我们来聊聊Golang内存管理和垃圾回收&#xff0c;主要注重基本底层原理讲解&#xff0c;进一步实战待后续文章 垃圾回收&#xff0c;无论是Java 还是 Golang&#xff0c;基本的逻辑都是基于 标记-清理 的&#xff0c; 标记是指标记可能需要回收的对象&#xff0c…

日记本(源码+文档)

日记本&#xff08;小程序、ios、安卓都可部署&#xff09; 文件包含内容程序简要说明功能项目截图客户端首页日记列表 书写日记个人中心设置密码锁拨打客服热线修改信息退出登录登录页输入密码锁注册页 后端管理登录页首页管理员列表管理用户管理日记列表管理日记数据 文件包含…

Spring Boot项目启动速度优化

1、配置自动配置排除列表&#xff0c;减少启动自动配置扫描&#xff0c;配置项spring.autoconfigure.exclude 2、启动类添加索引注解Indexed&#xff0c;去除启动过程中 Components 的扫描步骤&#xff0c;直接从索引文件读取。 import org.springframework.stereotype.lndexe…

基于springboot的房屋租赁系统平台

功能描述 流程&#xff1a;房主登陆系统录入房屋信息》发布租赁信息&#xff08;选择房屋&#xff09;》租客登陆系统浏览租赁信息》和房主联系、看房&#xff08;根据租赁信息单的电话线下沟通&#xff09;》房主发起签约&#xff08;生成邀请码&#xff09;》租客登陆系统根…

Qt加载.css/.qss文件设置控件的QSS样式(支持程序运行时修改且立即生效类似换肤效果)

初学Qt时要想通过QSS修改控件QWidget&#xff0c;QPushButton等原生基础控件的样式&#xff0c;一般都是直接在.ui文件中直接添加qss&#xff0c;或者在代码中通过setStyleSheet(QString qss)来设置。当程序很大时&#xff0c;很多地方需要复用样式时会非常麻烦&#xff0c;qss…

QA测试开发工程师面试题满分问答3: python的深拷贝和浅拷贝问题

在 Python 中&#xff0c;深拷贝&#xff08;deep copy&#xff09;和浅拷贝&#xff08;shallow copy&#xff09;是用于创建对象副本的两种不同方式。 浅拷贝是创建一个新的对象&#xff0c;该对象与原始对象的内容相同&#xff08;包括内部嵌套对象的引用&#xff09;&…

SBCFormer:能够在单板计算机上以每秒1帧的速度进行全尺寸ImageNet分类的轻量级网络

摘要 https://arxiv.org/ftp/arxiv/papers/2311/2311.03747.pdf 计算机视觉在解决包括智能农业、渔业和畜牧业管理等不同领域的实际问题中变得越来越普遍。这些应用可能不需要每秒处理许多图像帧&#xff0c;因此从业者倾向于使用单板计算机&#xff08;SBCs&#xff09;。尽管…

Pytorch数据结构:Tensor

文章目录 Tensor基础1.1、Tensor的维度&#xff08;Dimensions&#xff09;1.1.1、举例说明1.1.2、高维Tensor 1.2、.dim()和.size()方法1.2.1、.dim()方法1.2.2、.size()方法1.2.3、.shape属性1.2.3、示例代码1.2.3.1、一维Tensor1.2.3.2、二维Tensor1.2.3.3、三维Tensor 1.3、…

【Go】十五、接口、多态、断言

文章目录 1、接口的引入2、接口3、接口的注意点4、多态5、断言6、Type Switch 1、接口的引入 以日常生活中打招呼为例&#xff0c;定义接口规范&#xff0c;各国人为打招呼为具体的实现 package main import "fmt"//接口的定义&#xff1a;定义规则、定义规范&…

存内领域前沿,基于忆阻器的存内计算----浅析忆阻存内计算

目录 一.概念浅析 二.忆阻器的分类 三.基于忆阻器的存内计算原理 四.存内计算的实验研究 一.概念浅析 1.存内计算 存内计算&#xff08;In-Memory Computing&#xff0c;简称 IMC&#xff09;是一种将数据处理和存储紧密结合在一起的计算方式。它的主要思想是在存储设备中直…

Navicat设置mysql权限

新建用户&#xff1a; 注意&#xff1a;如果不生效执行刷新命令:FLUSH PRIVILEGES; 执行后再重新打开查看&#xff1b; 查询权限命令&#xff1a;1234为新建的用户名&#xff0c;localhost为访问的地址 SHOW GRANTS FOR 1234localhost;如果服务器设置服务器权限后可能会出现权…

某东手势验证

地球上最强版&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 成功率99 基本不失败&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 识别速…

ZCMU操作系统课程实验 - 实验1-Linux的使用

登录 1. 打开这个东西 2. 在 文件 - > 打开 中打卡机房里VMOS文件里的这个东东 3. 然后依次操作下去好了&#xff0c;有红色的选项&#xff0c;我都是选的"Do nothing"。完成后就会出现这样一个黑框框。 4. 让你登录。输入&#xff1a;root。密码&…
最新文章