/************************/
/* GOOGLE FONTS IMPORT */
/************************/
@import url('https://fonts.googleapis.com/css?family=PT+Sans:400,400i,700,700i|Roboto+Condensed:700');

/************************/
/* STYLES USED GLOBALLY */
/************************/
html {
	background: url(images/interior-bg.jpg) no-repeat center center fixed / cover;
	overflow-x: hidden;
}
body {
	padding: 60px 0 0;
	margin:0;
	font-size:16px;
	font-family: 'PT Sans', sans-serif;
	background: none;
}
/* removed a {} because regular links ended up being white-on-white (hard to see), and vault-related files need to be seen
a {color:#FFFFFF;}
*/
table { border-collapse: collapse;}
img {border:0;}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Roboto Condensed', sans-serif;
	font-weight: 700;
}

input, textarea, select {
	font-family: 'PT Sans', sans-serif;
}

button {
	font-family: 'Roboto Condensed', sans-serif;
	font-weight: 700;
}

canvas {
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}

/*******************************************************************/
/* OVERALL TEMPLATE - CONSISTS OF THE TOP BANNER, LOGO, ICONS, ETC */
/*******************************************************************/
.siteHeader {
	/* width:calc(100% - 70px);*/
	height: auto;
	position:relative;
	background: #FFF;
	display: inline-block;
	padding: 0 35px;
	border-bottom: 1px solid #ccc;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
}
.header-container {
    max-width: 1600px;
    margin: 0 auto;
    width: 100%;
}
.siteTitle {
	height:49px;
	margin:25px 0 0 0;}
.siteSectionLogo {
	float:right;
	width:253px;}
.siteLogo img {
    max-width: 184px;
}
.siteLogo {
    width: 184px;
    display: inline-block;
    float: left;
    padding: 15px 0;
}
.siteMenu {
    width: calc(100% - 184px);
    display: inline-block;
    float: left;
    text-align: right;
}
.siteContent {
	min-height: calc(100vh - 260px);
}
/**************/
/* LOGIN PAGE */
/**************/
.login {
	width:400px;
	margin:20px;
	color:#000;
	float:left;
}
.loginControl {
	float:left;
}
.loginTable td {
	padding:5px 10px 5px 10px;
}
.loginTable th {
	padding:5px 10px 5px 10px;
}
.loginTable .title {
	font-size:14px;color:#000000;
	padding:8px;
	border-bottom:2px solid #CCCCCC;
	background:url(pics/brown-title.gif) repeat-x #FFFFFF;
}
.loginTable .field {
	font-weight:bold;
	color:#013E2F;
}
.login-page {
	background: url(images/login-bg.jpg) no-repeat center center fixed / cover;
}
.login-logo {
    margin-bottom: 10px;
}
.login-logo a {
	display: inline-block;
}
.login-logo img {
    max-width: 264px;
}

.login-page form input[type="text"], .login-page form input[type="password"], .login-page form input[type="submit"] {
    /* width: calc(100% - 20px); */
	width: 100%;
    height: 65px;
    padding: 0 10px;
}
.login-page form input[type="text"], .login-page form input[type="password"] {
	border: 1px solid #ccc;
	border-radius: 5px;
	font-size: 16px;
}
.login-page form td.content {
    width: 100%;
    display: inline-block;
    padding: 5px 0;
}

.login-page .siteContent {
    width: calc(100% - 70px);
    text-align: center;
    max-width: 460px;
    margin: 0 auto;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 35px;
    right: 35px;
}

.login-page tr {
    display: inline-block;
    width: 100%;
}

.login-page th.content.buttons {
    width: 100%;
    display: inline-block;
    padding: 5px 0;
}

.login-page form input[type="submit"] {
    width: 100%;
    display: inline-block;
    font-size: 26px !important;
    height: 65px;
    box-sizing: content-box;
    -webkit-appearance: none;
    padding: 0;
    background: #A2201C;
    color: #FFF;
    font-weight: 700;
    border: 1px solid #ccc;
    border-radius: 5px;
    cursor: pointer;
    transition: 0.5s ease all;
}
.login-page form input[type="submit"]:hover,
.login-page form input[type="submit"]:focus {
	background: #333;
}
td.remember-chk {
    padding-left: 0;
    float: left;
    color: #777;
}

td.forgot-pw {
    text-align: right;
    float: right;
    padding-right: 0;
}

.remember-chk input#checkBox {
    margin-right: 5px;
}

.forgot-pw a {
    color: #777;
    text-decoration: none;
}

.forgot-pw a:hover, .forgot-pw a:focus {
    text-decoration: underline;
}
/**************************************/
/*              Toolbar               */
/**************************************/

.toolbar {
	padding: 15px 0;
	color: #363636;
}

.toolbar > * {
    display: inline-block;
    padding: 0;
    margin: 0;
}

.toolbar > * + * {
    border-left: 1px solid #999;
    margin-left: 5px;
    padding-left: 12px;
}

.toolbar a {
	color: #999;
	text-decoration: none;
}

.toolbar a:hover,
.toolbar a:focus {
	text-decoration: underline;
}

/**************************************/
/*              MAIN MENU             */
/**************************************/

#menuwrapper > ul {
    list-style: none;
    margin-top: 20px;
    margin-bottom: 0;
}

#menuwrapper > ul > li {
    display: inline-block;
    vertical-align: top;
    position: relative;
}

#menuwrapper > ul > li > a {
    font-family: "roboto condensed", sans-serif;
    font-size: 22px;
    position: relative;
    padding: 0 15px;
    cursor: pointer;
    height: 65px;
    display: inline-block;
    line-height: 65px;
    color: #363636;
    opacity: 0.5;
}

#menuwrapper > ul > li.active > a {
	opacity: 1;
}

#menuwrapper > ul > li.active > a:before {
    position: absolute;
    height: 5px;
    background: #A2201C;
    left: 0;
    right: 0;
    bottom: 9px;
    content: " ";
}

#menuwrapper > ul > li > a:hover,
#menuwrapper > ul > li > a:focus,
#menuwrapper > ul > li > a:active {
	opacity: 1;
	transition: 0.5s ease all;	
}

#menuwrapper > ul > li > ul {
    position: absolute;
    top: 100%;
    left: 0;
    list-style: none;
    padding-left: 0;
    background: #A2201C;
    width: 200px;
    text-align: left;
    padding: 20px;
    border: 1px solid #ccc;
    opacity: 0;
    transition: 0.5s ease all;	
    visibility: hidden;
    z-index: -1;
    transform: translateY(-2em);
}

#menuwrapper > ul > li:last-child > ul {
	left: initial;
	right: 0;
}

#menuwrapper > ul > li:hover > ul, 
#menuwrapper > ul > li:focus > ul, 
#menuwrapper > ul > li:active > ul {
	visibility: visible;
	opacity: 1;
	z-index: 1;
	transform: translateY(0%);
  	transition-delay: 0s, 0s, 0.3s;
}

#menuwrapper > ul > li > ul > li > a {
	color: #FFF;
	text-decoration: none;
	width: 100%;
	display: inline-block;
}

#menuwrapper > ul > li > ul > li + li {
	padding-top: 10px;
}

#menuwrapper > ul > li > ul > li > a:after {
	content: "»";
	margin-left: 0.5em;
	font-family: "arial", sans-serif;
}

#menuwrapper > ul > li > ul > li > a:hover,
#menuwrapper > ul > li > ul > li > a:focus {
	opacity: 0.5;
	transition: 0.5s ease all;
}

/**************************************/
/*           DASHBOARD PAGE           */
/**************************************/

.container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 35px;
}

.dashboard .container {
	display: grid;
	grid-template-columns: 6fr 4fr;
	grid-column-gap: 35px;
	grid-row-gap: 35px;
}

.siteContent .container {
	margin: 35px auto;
}

.charts {
	display: grid;
	grid-template-rows: 3fr 300px;
	grid-row-gap: 35px;
}

.radial-container {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-column-gap: 35px;
}

.viz-menus {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	grid-column-gap: 35px;
	grid-row-gap: 35px;
}

.bar-chart {
    width: calc(100% - 40px);
    background: url(images/chart-bg.png) no-repeat center center / cover;
    height: 400px;
    padding: 20px;
    color: #FFF;
    border-radius: 10px;
}

.radial-chart {
    height: 100%;
    background: #80221F;
    border-radius: 10px;
    padding: 20px;
}

.viz-menu {
    height: 100%;
    background: #000;
    border-radius: 10px;
}

/*************************************/
/*       SECTION HEADER STYLES       */
/*************************************/

.section-header form {
    float: right;
    width: 35%;
    display: inline-block;
    text-align: right;
}

.section-header h2 {
    float: left;
    width: 65%;
    font-size: 30px;
    font-family: "Roboto Condensed", sans-serif;
    font-variant: unset;
    line-height: 50px;
}

.section-header {
    height: 50px;
    background: url(images/section-header-bg.png) no-repeat center center;
    display: flex;
    width: calc(100% - 40px);
    padding: 20px;
    border-radius: 10px;
    border: 2px solid #c2c2c2;
    flex-direction: row;
    flex-wrap: wrap;
}

.section-header > * {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.section-header select {
    font-size: 20px;
    background: none;
    border: none;
    color: #FFF;
    font-weight: 700;
    width: calc(100% - 60px);
}

.section-header select:focus {
    outline: none;
}

img[name="image-swap"] {
    display: inline-block;
    width: 50px;
    height: 50px;
    border-radius: 100%;
    vertical-align: middle;
    border: 1px solid #c2c2c2;
    background: #FFF;
}

/**************************************/
/* GENERIC TABLE STYLES - FILTER TABLE*/
/**************************************/
.filterTable {
	text-align:left;
	font-size:12px;
	border-top:1px solid #CCCCCC;
	border-left:1px solid #CCCCCC;
	background:#FFFFFF;
	white-space:nowrap;}
.filterTable th {
	padding:8px 10px 8px 10px;
	border-bottom:2px solid #CCCCCC;
	border-right:1px solid #CCCCCC;
	font-size:14px;
	font-family: sans-serif;
	font-variant: small-caps;
	font-weight:bold;
	color:#000000;
	background:url(pics/brown-title.gif) repeat-x #FFFFFF;}
.filterTable td {
	padding:3px 10px 3px 10px;
	border-bottom:1px solid #CCCCCC;
	border-right:1px solid #CCCCCC;}
.filterTable .column {
	border-right:1px solid #CCCCCC;}
.filterTable .shade {
	background:#E7E7D4;
	border-right:4px solid #CCCCCC;
	font-weight:bold;
	font-size:12px;
	color:#013E2F;}

/**************************************/
/* GENERIC TABLE STYLES - SELECT TABLE*/
/**************************************/
.siteContent table {
    width: 100%;
}
.siteContent table tr:first-child th {
    background: #363636;
    color: #FFF;
}
.selectTable {
	text-align:left;
	font-size:16px;
	border-top:1px solid #CCCCCC;
	border-left:1px solid #CCCCCC;
	background:#FFFFFF;
	white-space:nowrap;}
.selectTable th {
	padding:8px 10px 8px 10px;
	border-bottom:2px solid #CCCCCC;
	border-right:1px solid #CCCCCC;
	font-size:22px;
	font-family: 'Roboto Condensed', sans-serif;
	font-weight:bold;
	color:#000000;
	background:url(pics/brown-title.gif) repeat-x #FFFFFF;}
.selectTable td {
	padding: 10px;
	border-bottom:1px solid #CCCCCC;
	border-right:1px solid #CCCCCC;}
.selectTable tr.warning {
	background:#E5A552;}
.selectTable tr.alert {
	background:#E17276;}
.selectTable tr.closed {
	background:#EEEEEE;}
.selectTable .column {
	border-right:1px solid #CCCCCC;}
.selectTable .shade {
	background:#E7E7D4;
	border-right:4px solid #CCCCCC;
	font-weight:bold;
	font-size:16px;
	color:#013E2F;}
.selectTable .button img[title="Edit"] {
	max-width: 22px;
}
/************************************/
/* GENERIC TABLE STYLES - DATA TABLE*/
/************************************/
.dataTable {
	text-align:left;
	font-size:16px;
	border-top:1px solid #CCCCCC;
	border-left:1px solid #CCCCCC;
	background:#FFFFFF;
	white-space:nowrap;}
.dataTable th {
	padding:8px 10px 8px 10px;
	border-bottom:2px solid #CCCCCC;
	border-right:1px solid #CCCCCC;
	font-size:18px;
	font-family: sans-serif;
	font-variant: small-caps;
	font-weight:bold;
	color:#000000;
	background:url(pics/green-title.gif) repeat-x #FFFFFF;}
.dataTable td {
	padding:3px 10px 3px 10px;
	border-bottom:1px solid #CCCCCC;
	border-right:1px solid #CCCCCC;}
.dataTable .column {
	border-right:1px solid #CCCCCC;}
.dataTable .shade {
	background:#E7E7D4;
	border-right:4px solid #CCCCCC;
	font-weight:bold;
	font-size:16px;
	color:#013E2F;}

/*********************/
/* TABLE CELL STYLES */
/*********************/
.button {text-align:center;}     /* Cell containing icons (add, delete, edit etc) */
.buttons {text-align:right;}     /* Cell containing action buttons (apply filter, expense, reset, etc) */
.stamp {font-size:12px;}                        /* timestamps */
.num {text-align:right;}         /* Cell containing numeric values */
.plainText {color:#FFFFFF;}      /* Used for plain text such as the homepage intro */

h1,h2,h3,h4,h5,h6	{
	margin: 0;
	padding: 0;
	text-align: left;
	font-style: normal;
	font-weight: bold;
	font-family: 'Roboto Condensed', sans-serif;
	}
h1 {font-size:16px;color:#FFFFFF;}
h2 {font-size:18px;color:#FFFFFF;}
h3 {font-size:16px;color:#FFFFFF;}
h4 {font-size:16px;color:#FFFFFF;}

/*********************/
/*   FOOTER STYLES   */
/*********************/

.footer {
	background: #363636;
	color: #95989A;
	text-align: center;
	text-transform: uppercase;
	height: 55px;
	line-height: 55px;
}

/*********************/
/* DATA IMPORT STYLES */
/*********************/
.error {background:#642C2D;color:#FFFFFF;}
.hilite {background:#015643;color:#FFFFFF;}





/*********************************************************************************/
/*  abes styles */
/*********************************************************************************/

.app-logo-inverse, .app-header.header-text-light .app-header__logo .logo-src,.app-header.header-text-dark .app-header__logo .logo-src,  .app-header__logo .logo-src, .logo-src {
    height: 103px;
    width: 133px;
    background: url(images/keystone-solutions-logo.png);
    background-size: contain;
    background-repeat: no-repeat;
}

.app-header__logo {
	padding: 0;
	overflow-y: hidden;
}

.app-header__logo img {
    width: 114px;
    margin-left: 50px;
}


.header-hamburger-wrapper {
	width: 60px;
	display: inline-block;
}

.fixed-header .app-main {
    padding-top: 0px;
}

.app-content {
	margin: 20px;
}

.app-sidebar {
	margin-top: 0px;
}


.bg-plum-plate {
    background-image: linear-gradient(15deg, #9c4141 0%, #0a0a0a 100%) !important;
}

.vertical-nav-menu li a {
    font-family: Oswald, sans-serif;
}
.vertical-nav-menu > li {
	margin-bottom: 30px;
}

.login-page .app-theme-white.app-container {
	background: transparent;
}


table.dataTable thead .sorting, table.dataTable thead .sorting_asc, table.dataTable thead .sorting_desc {
    background-image: none;
}