/* reset stylesheet defaults */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, figure, footer, header, hgroup, menu, nav, section, menu,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	vertical-align: baseline;
	background: transparent;
}
html { overflow-y: scroll; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
article, aside, figure, footer, header,
hgroup, nav, section { display:block; position: relative; }
nav ul { list-style:none; }
blockquote, q { quotes:none; }
blockquote:before, blockquote:after,
q:before, q:after { content:''; content:none; }
a { margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent; }
ins { background-color:#ff9; color:#000; text-decoration:none; }
mark { background-color:#ff9; color:#000; font-style:italic; font-weight:bold; }
del { text-decoration: line-through; }
abbr[title], dfn[title] { border-bottom:1px dotted #000; cursor:help; }
table { border-collapse:collapse; border-spacing:0;font-size:inherit; font:100%; }
hr { display:block; height:1px; border:0; border-top:1px solid #ccc; margin:1em 0; padding:0; }
input, select { vertical-align:middle; }
select, input, textarea { font: 100% system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; outline: none; }
input[type="radio"] { vertical-align: text-bottom; }
input[type="checkbox"] { vertical-align: bottom; }
.ie6 input { vertical-align: text-bottom; }
label, input[type=button], input[type=submit], button { cursor: pointer; }
a:hover, a:active { outline: none; }
/* END reset stylesheet defaults */

html {
	background-color: #042F70;
}

body {
	font: 1em sans-serif;
	font-family: system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	background-color: #F8F8F8;
	-webkit-font-smoothing: antialiased;
	color: #333;
	overflow: hidden;
}
.hide, body .dev {
	display: none;
}
body.dev .dev {
	display: inherit;
}
img.left {
	float: left;
	margin-right: 12px;
	margin-bottom: 12px;
}
h1, h2, h3, h4, h5, h6 {
	color: #042F70;
}
h1 {
	font-size: 1.4em;
	font-size: 1.4rem;
}
h2 {
	font-size: 1.2em;
	font-size: 1.2rem;
}
h3 {
	font-size: 1.1em;
	font-size: 1.1rem;
}
h4, h5, h6 {
	font-size: 0.8em;
	font-size: 1.1rem;
}
p, blockquote, pre, address, cite, code, li {
	font-size: 1em;
	font-size: 1rem;
	line-height: 1.4em;
}
li {
	padding-bottom: 0.5em;
}
h1, h2, h3, h4, h5, h6, p, blockquote, pre, address, cite {
	margin-top: 0.5em;
	margin-bottom: 0;
	line-height: 1.4em
}
code {
	margin-left: 24px;
	margin-right: 24px;
	background-color: #FFE;
	padding: 3px;
}
/*
h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child,
h1+h2, h1+h3, h1+h4, h1+h5, h1+h6, h1+p, h1+blockquote, h1+pre, h1+address, h1+cite, h1+code,
h2+h3, h2+h4, h2+h5, h2+h6, h2+p, h2+blockquote, h2+pre, h2+address, h2+cite, h2+code,
h3+h4, h3+h5, h3+h6, h3+p, h3+blockquote, h3+pre, h3+address, h3+cite, h3+code,
h4+h5, h4+h6, h4+p, h4+blockquote, h4+pre, h4+address, h4+cite, h4+code,
h5+h6, h5+p, h5+blockquote, h5+pre, h5+address, h5+cite, h5+code,
h6+p, h6+blockquote, h6+pre, h6+address, h6+cite, h6+code {
	margin-top: 0;
}
*/
h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child {
	padding-top: 1em;
}
#content ul, #content ol {
	padding: 1em 0 0 1.5em;
}
.right {
	text-align: right;
}

.justify {
	text-align: justify;
}

img.right {
	float: right;
	margin-left: 12px;
	margin-bottom: 12px;
}

img.fullwidth {
	width: 100%;
	height: auto;
}

.center {
	text-align: center;
}
.clear {
	clear: both;
}

.error {
	color: #F00;
}
.success {
	color: #0C0;
}
textarea.success {
	background-color: #CFC;
	color: inherit;
}
.cf:before,
.cf:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}
.cf:after {
	clear: both;
}
/* STRUCTURE */
#wrapper {
	z-index: 1;
}
#content_before {
	z-index: 11;
}
#mainmenu {
	z-index: 100;
}
#header {
	z-index: 10;
}
#content_before nav, #container, footer {
	max-width: 1280px;
	box-sizing: border-box;
	margin: 0 auto;
}
#content_before nav {
	z-index: 100;
}
#content_before header {
	z-index: 1;
}
#container {
	position: relative;
	z-index: 10;
}
#content {
	box-sizing: border-box;
	max-width: 768px;
	padding: 0 6px;
	margin: 0 auto;
	z-index: 10;
}
#content>:last-child {
    margin-bottom: 24px;
}
/*
body.social #content {
	box-sizing: border-box;
	float: left;
	width: 66.66%;
}
*/
body.social div#content_after {
	box-sizing: border-box;
	margin: 24px auto;
	padding-right: 6px;
/*	width: 33.33%;
	float: right;
	overflow: hidden;*/
}
div.fb-page, #icons {
    display: block;
    max-width: 500px;
    margin: 0 auto;
}
body.social div#content_after ul, body.social div#content_after li {
	display: block;
	margin: 0;
	padding: 0;
	text-align: right;
}
body.social div#content_after li {
	display: inline-block;
	padding-left: 6px;
}
#content a {
	color: #333;
}
footer {
	color: #fff;
	text-align: center;
	z-index: 10;
}
footer a, footer h2 {
	color: #fff;
}
footer p {
	font-size: 1.1em;
}
footer p.nav a {
	padding: 0 6px;
}
/* NAVIGATION */
/* NAV BEHAVOIR */
nav {
	max-width: 1100px;
	margin: 0 auto;
}
nav>ul {
	margin: 0;
	padding: 0;
}
nav>ul>li {
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 0;
	font-size: 1.1em;
	font-size: 1.1rem;
}
nav>ul>li a {
	padding: 0 9px;
	font-size: inherit;
	height: 2em;
	line-height: 2em;
	display: block;
}
#content_left nav li {
	display: block;
}
nav.footer>ul {
	text-align: center;
}
nav.footer>ul>li {
	font-size: 1em;
	font-size: 1rem;
}
/* DROP_DOWN */
li.t3>nav {
	visibility: hidden;
	position: absolute;
	top: 1.8em;
	left: 0;
	width: auto;
	background-color: #EEE;
	box-shadow: 2px 2px 4px #666;
}
li.t3.dropdown>nav {
	visibility: visible;
}
li.t3>nav>ul>li {
	display: block;
	white-space: nowrap;
	font-size: 1em;
	font-size: 1rem;
}
li.t3>nav>ul>li>a {
	font-weight: normal;
	padding: 0;
	height: 0;
	transition: height 0.2s;
}
li.t3.dropdown>nav>ul>li>a {
	padding: 3px 24px 6px 12px;
	height: 2em;
	transition: height 0.2s;
}
/* NAV COLOR */
nav>ul>li>a {
	color: #333;
	text-decoration: none;
	transition: all 0.4s;
}
nav>ul>li>a:visited {
	color: #333;
	background-color: #EEE;
}
nav>ul>li>a:hover {
	color: #FFF;
	background-color: #042F70;
	transition: all 0.4s;
}
nav>ul>li.current>a {
	color: #FFF;
	background-color: #042F70;
}
nav>ul>li#mobileNav {
	float: right;
}
nav>ul>li#mobileNav p {
	margin: 0;
	font-size: inherit;
	line-height: inherit;
    font-size: 1em;
    font-size: 1rem;
    height: 2em;
    line-height: 2em;
    vertical-align: middle;
}
nav>ul>li#mobileNav p a {
	display: inline-block;
	padding-right: 0;
	overflow: hidden;
	height: 2em;
	line-height: 2em;
	font-weight: bold;
	color: #333;
	text-decoration: none;
	transition: all 0.4s;
    vertical-align: middle;
}
nav>ul>li#mobileNav p a.logo {
    float: right;
}
.no-touch nav>ul>li#mobileNav p a:hover {
	color: #FFF;
	background-color: #042F70;
	transition: all 0.4s;
}
nav>ul>li#mobileNav p a>img {
display: inline-block;
box-sizing: border-box;
max-height: 100%;
width: auto;
padding: 0 2px;
vertical-align: top;
background-color: #FCDB6D;
border: 3px solid #fcdb6d;
border-top-right-radius: 6px;
border-bottom-left-radius: 6px;
}
nav>ul>li#mobileNav p span.signin {
    font-size: 0.8em;
    font-size: 0.8rem;
    height: 2em;
    line-height: 2em;
    vertical-align: middle;
}
nav>ul>li#mobileNav p span>a {
	padding: 0;
	font-weight: normal;
}
.no-touch nav>ul>li#mobileNav p span>a:hover {
	background-color: #042F70;
	color: #FFF;
}
nav.footer>ul>li>a, nav.footer>ul>li>a:visited {
	color: #FFF;
}
nav.footer>ul>li>a:hover, nav.footer>ul>li>a:active {
	color: #FCDB6D;
}
/* CONTENT CUSTOM */
h1.action, h2.action {
	position: relative;
	z-index: 100;
	font-size: 1.2em;
	font-size: 1.2rem;
	color: #333;
	background-color: #FCDB6D;
	padding: 0.75em 0;
	margin: 0 auto;
}
h1.action:after, h2.action:after {
	position: absolute;
	font-size: 1.2em;
	font-size: 1.2rem;
	left: -2000px;
	top: 0;
	height: 100%;
	width: 100%;
	padding: 0 4000px;
	color: #333;
	background-color: #FCDB6D;
	content: " ";
	z-index: -1;
}
h2.action a {
	font-size: 1.2em;
	font-size: 1.2rem;
}
h2.action a.fa {
    text-decoration: none;
}
h2.action+p {
	margin-top: 1em;
}
#content a[href*=tel] {
    white-space: nowrap;
    color: #042F70;
}

#pg_projects .fa {
	font-weight: 500;
	color: #042F70;
	min-height: 24px;
	line-height: 24px;
	font-size: 22px;
	margin: 0 4px;
	text-decoration: none;
}
body .fa {
font-family: "Font Awesome 5 Pro", system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
.fa.large, .fas.large, .far.large, .fal.large, .fad.large, .fab.large {
	font-size: 36px;
}
/* HEADER */
header {
	position: relative;
	background-color: #042F70;
	color: #FFF;
}
header div.site-title p {
	margin: 0;
	font-size: 1.6em;
	font-weight: bold;
	height: 1.8em;
	line-height: 1.8em;
	color: #FFF;
	letter-spacing: 2px;
    transition: 500ms all;
}
header div.site-title a {
	color: #FFF;
}
.tmpl-99 header div.site-title p {
	font-size: 2em;
	height: 2em;
	line-height: 2em;
}
header div.site-title img {
	display: block;
	width: 100%;
	height: auto;
/*
	background: transparent url(assets/grace-final-hr.jpg) center no-repeat;
	background-size: auto 100%;
*/
}
#content_before div#test {
	position: absolute;
	top: 0;
	right: 0;
	padding: 6px;
	z-index: 9999;
}
#content_before div#test:before {
	content: " ";
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background-color: #FFF;
	opacity: 0.3;
}
#content_before div#test * {
	margin: 0;
	padding: 0;
}
/* COLUMNS */
.cols3 {
	box-sizing: border-box;
	text-align: center;
	background-color: #EEE;/*#FCDB6D;*/
	color: #333;
    border-bottom: 6px solid #042f70;
}
.cols3>div {
	max-width: 1280px;
	margin: 0 auto;
}
.cols3>div>div {
	display: inline-block;
	box-sizing: border-box;
	width: 33%;
	padding: 0 12px 36px 12px;
	overflow: hidden;
	vertical-align: top;
}
.cols3>div>div a {
	color: #333;
	text-decoration: none;
}
.cols3>div>div a:hover {
	text-decoration: underline;
}
.cols3>div>div img {
	display: block;
	margin: 1em auto;
	max-width: 35%;
	height: auto;
}
.cols3>div>div h2 {
	margin: 0 0 1em 0;
	letter-spacing: 1px;
	font-size: 1.1em;
	font-size: 1.1rem;
	color: #FFF;
}
.cols3>div>div p {
	margin: 0;
	font-size: 0.875em;
	font-size: 0.875rem;
}

/* SECTIONS */
section {
	position: relative;
	z-index: 100;
    padding: 24px 0 48px 0;
	margin: 0 auto;
}
#content>section:first-child {
	padding-top: 0;
}
#content>section:last-child, #content>h2.action {
    margin-bottom: 0;
}
section:after {
	position: absolute;
	left: -1000px;
	top: 0;
	height: 100%;
	width: 100%;
	padding: 0 1000px;
	color: #333;
	background-position: center;
	background-size: 100% auto;
	content: " ";
	z-index: -1;
    transition: 400ms background-size;
}
section * {
    color: #333;
}
section>:first-child {
	padding-top: 1em;
	margin-top: 0;
}
section>figure:first-child {
	padding-top: 0;
}
section.cover {
	max-width: 100%;
	margin: 0;
	padding: 0;
}
section.cover img {
	max-width: 100%;
	height: auto;
}
section.cover * {
	display: block;
	margin: 0;
	padding: 0;
	height: auto;
}
section figure {
    float: left;
    box-sizing: border-box;
    width: 32%;
    margin: 24px 0;
    text-align: center;
}
section.x2 {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
}
section.x2 figure {
	flex: 0 0 49%;
	padding: 18px;
    text-align: left;
    background-color: #EEE;
}
section.x2 figure :first-child {
	padding-top: 0;
	margin-top: 0;
}

section figure+figure {
    margin-left: 2%;
}
section figure img {
    display: block;
    margin: 12px auto;
    height: 108px;
    width: auto;
}
section figure ul {
    text-align: left;
}

#content section.home0 h1 {
    font-size: 2.5em;
    line-height: 1.2em;
    transition: 500ms all;
}
#content section.home0 h2 {
    font-size: 1.8em;
    transition: 500ms all;
}
#content section.home0 h3 {
    font-size: 2em;
    transition: 500ms all;
    font-weight: normal;
}

#content section.home1 * {
    color: #FFF;
}
section.home1:after {
    background-color: #042F70;
	background-image: url(assets/bg-glint.jpg);
}
section.home2:after {
	background-image: url(assets/bg-water.jpg);
}
#content section.home3 * {
    color: #FFF;
}
section.home3:after {
    background-color: #333;
	background-image: url(assets/bg-lightning-bl.jpg);
}
section.home4:after {
	background-image: url(assets/bg-avenue.jpg);
}

section.arch1 * {
    color: #FFF;
}
section.arch1:after {
    background-color: #042F70;
	background-image: url(assets/bg-plans.jpg);
}
section.arch2 * {
    color: #FFF;
}
section.arch2:after {
    background-color: #333;
	background-image: url(assets/bg-lightning-bl.jpg);
}
section.arch3 * {
    color: #333;
}
section.arch3:after {
	background-image: url(assets/bg-water.jpg);
}
#content section.arch4 * {
    color: #FFF;
}
section.arch4 figure {
    width: 47.5%;
    margin-top: 0;
}
section.arch4:after {
    background-color: #333;
	background-image: url(assets/bg-splash-bk.jpg);
}
#content section.cs1 * {
    color: #FFF;
}
section.cs1:after {
    background-color: #042F70;
	background-image: url(assets/bg-drives.jpg);
}
#content section.cs2 * {
    color: #FFF;
}
section.cs2:after {
    background-color: #333;
	background-image: url(assets/bg-lightning-bl.jpg);
}
section.cs3:after {
	background-image: url(assets/bg-water.jpg);
}
section.law1:after {
	background-image: url(assets/bg-avenue.jpg);
}
#content section.law2 * {
    color: #FFF;
}
section.law2:after {
    background-color: #333;
	background-image: url(assets/bg-splash-bk.jpg);
}
#content section.law3 * {
    color: #FFF;
}
section.law3:after {
    background-color: #042F70;
	background-image: url(assets/bg-drives.jpg);
}
section.real1:after {
	background-image: url(assets/bg-avenue.jpg);
}
section.real2 * {
    color: #FFF;
}
section.real2:after {
    background-color: #042F70;
	background-image: url(assets/bg-sunset-3.jpg);
}
section.real3:after {
	background-image: url(assets/bg-marsh.jpg);
}
#content section.mac1 * {
    color: #FFF;
}
section.mac1:after {
    background-color: #042F70;
	background-image: url(assets/bg-macbook.jpg);
}
#content section.mac2 * {
    color: #FFF;
}
section.mac2:after {
    background-color: #042F70;
	background-image: url(assets/bg-iphone.jpg);
}
section.mac3:after {
	background-image: url(assets/bg-lightning-wh.jpg);
}
section.mac4 * {
    color: #FFF;
}
section.mac4:after {
    background-color: #042F70;
	background-image: url(assets/bg-sunset-3.jpg);
}
#content section.comp1 * {
    color: #FFF;
}
section.comp1:after {
    background-color: #042F70;
	background-image: url(assets/bg-macbook.jpg);
}
section.comp2:after {
	background-image: url(assets/bg-avenue.jpg);
}
#content section.comp3 * {
    color: #FFF;
}
section.comp3:after {
    background-color: #042F70;
	background-image: url(assets/bg-email.jpg);
}
#pg_jobs {
	background-color: #BFC7D2;
}
section.jobs1:after {
	background-image: url(assets/bg-lightning-wh.jpg);
}
section.jobs2 * {
	color: #FFF;
}
section.jobs2:after {
	background-image: url(assets/bg-glint.jpg);
}
section.jobs3:after {
	background-image: url(assets/bg-water.jpg);
}
#content section.jobs4 * {
	color: #FFF;
}
section.jobs4:after {
	background-image: url(assets/bg-email.jpg);
}
section.jobapp {
	width: 1024px;
	margin-left: -134px;
}
#pg_about div>h3 {
	clear: both;
}
/* FORMS */
#content form ul {
	list-style: none;
	padding: 0;
}
fieldset>*:first-child {
	margin-top: 0;
}
form li, form label, form input[type=text], form input[type=password], form textarea {
	display: block;
	width: 100%;
	box-sizing: border-box;
	font-size: 1em;
	font-size: 1rem;
	min-height: 1.4em;
	text-decoration: none;
}
form input[type=submit], form input[type=button], a.Invoice, a.Project, .payment button {
	display: block;
	box-sizing: border-box;
	padding: 4px 3px;
	background-color: #FFF;
	border: 2px solid #333;
	border-radius: 6px;
	color: #333;
	max-width: 320px;
	margin: 0 auto;
	clear: both;
	transition: color,background-color 500ms;
	text-decoration: none;
	text-align: center;
	font-size: 1em;
	font-size: 1rem;
}
form input[type=submit]:active, form input[type=button]:active, form input[type=submit]:hover, form input[type=button]:hover {
	background-color: #042F70;
	color: #FFF;
	transition: color,background-color 500ms;
}
.payment button:active, .payment button:hover {
	background-color: #042F70;
	color: #FFF;
	transition: color,background-color 500ms;
}
.payment button:active span, .payment button:hover span {
	color: #FFF;
	transition: color,background-color 500ms;
}
form input[type=submit].singleButton {
	margin: 12px auto;
}
form input[type=submit].singleButton:active, form input[type=submit].singleButton:hover {
	background-color: #e33;
	border-color: #e33;
	color: #FFF;
}
form label {
	font-weight: bold;
}
.placeholders form label {
	display: none;
}
.placeholders .labels label {
	display: inline-block;
	margin-top: 6px;
}
form input[type=checkbox], form input[type=checkbox]+label, form input[type=radio], form input[type=radio]+label, td i {
	display: inline-block;
	white-space: nowrap;
	width: auto;
	min-width: 22px;
	min-height: 22px;
	text-align: center;
	vertical-align: middle;
}
.placeholders form.search input {
	display: inline-block;
	width: auto;
}
form input[type=radio] {
	border-radius: 11px;
}
form input[type=checkbox]:checked, form input[type=radio]:checked {
	background-color: #042F70;
}
form input[type=checkbox]:checked:before {
	font-family: fontawesome;
	content: "\f00c";
	color: #FFF;
}
form input, form textarea {
	-webkit-appearance: none;
	border: 2px solid #999;
}
.missing label, .missing input, .missing textarea, .missing select {
	color: #C00;
	border-color: #C00;
}

form#signup {
	display: block;
	box-sizing: border-box;
	width: 320px;
	padding: 6px;
	margin: 0 auto 12px;
}
form#signup h2 {
	margin-top: 0;
}
form#signup li {
	display: block;
	box-sizing: border-box;
	padding: 0 2px;
	margin-top: 0;
}
form#signup input, form#signup textarea {
	display: block;
	box-sizing: border-box;
	width: 100%;
	padding: 4px 3px;
	background-color: #FFF;
	border: 2px solid #666;
	border-radius: 6px;
	color: #333;
}
form#signup li label {
	color: #333;
}
form#signup input[type=submit] {
	color: #333;
	font-weight: bold;
	text-transform: uppercase;
}
.js form#signup li.g-recaptcha {
	display: none;
	width: 100%;
}
form#signup li.g-recaptcha>div>div {
	margin: 0 auto;
}
form#signup.showAll li.Comments {
	display: block;
	width: 99%;
	margin: 0 auto;
}
form#signup.showAll li.Comments textarea {
	height: 3.7em;
}
.js form#signup.showAll li.g-recaptcha {
	display: block;
}
form#search {
    position: relative;
    float: right;
    padding: 6px;
    white-space: nowrap;
}
form#search input {
    display: inline-block;
    padding: 2px 3px;
}
form#search i.fa-search {
    position: absolute;
    right: 12px;
    top: 12px;
    color: #999;
}
form#search input:focus+i.fa-search {
    display: none;
}

/* CLIENT INVOICES */
body.billing #container {
	padding-top: 0;
}
body.billing #container, body.billing #content {
	max-width: 1280px;
	min-height: 400px;
}
#pg_pay h1:first-child a, #pg_pay h1:first-child i, #pg_pay h1:first-child span {
	height: 28px;
	line-height: 28px;
}
#pg_pay h1:first-child a {
	margin-left: 6px;
}
body.billing section {
	max-width: 640px;
	margin: 0 auto;
}
body.billing #content>section:first-child h2:first-child.action {
	margin-top: 0;
}
body.billing section.wide, section.wide {
	max-width: none;
}
body.billing table+h1 {
	margin-top: 0;
}
body.billing h1>a {
	display: inline-block;
	float: right;
	font-size: 1em;
	font-size: 1rem;
	text-decoration: none;
	padding: 0 6px;
}
body.billing h1>span {
	display: inline-block;
	white-space: nowrap;
}
body.billing h1>a>i:before {
	font-size: 1.6em;
}
body.billing h1>a.signout {
	display: none;
}
body.billing.loggedin h1>a.signout {
	display: inline-block;
}

form.payment input[type=submit] {
	border-color: #999;
	border-radius: 9px;
	padding: 4px 9px;
}
form.payment p, form.payment h3 {
	margin-top: 0;
}
div.finalpay, div.stripe_error {
	position: relative;
	border: 1px solid #333;
	background-color: #eee;
	padding: 12px;
	max-width: 320px;
	margin: 48px auto;
}
div.finalpay h2 {
	border-bottom: 1px solid #333;
}
div.finalpay form {
}
#content div.finalpay img {
	position: absolute;
	display: block;
	top: 6px;
	right: 12px;
	width: 44px;
}
div.finalpay form input[type=radio], div.finalpay form input[type=radio]+label {
	white-space: normal;
	text-align: left;
	vertical-align: top;
}
form li.clickwrap input[type=checkbox] {
	vertical-align: bottom;
}
form li.clickwrap input[type=checkbox]+label {
	display: inline;
	white-space: normal;
	text-align: left;
	vertical-align: baseline;
}
div.finalpay div p {
	font-size: 0.9em;
	line-height: 1.2em;
	margin-top: 0;
	padding: 1em 15px;
}
div.finalpay label i {
	font-weight: normal;
}

.tablesorter-default .header, .tablesorter-default .tablesorter-header {
	background-image: url(data:image/gif;base64,R0lGODlhFQAJAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==);
	background-position: center right;
	background-repeat: no-repeat;
	cursor: pointer;
}
.tablesorter-default thead .headerSortUp, .tablesorter-default thead .tablesorter-headerAsc, .tablesorter-default thead .tablesorter-headerSortUp {
	background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7);
	border-bottom: 2px solid #666;
}
.tablesorter-default thead .headerSortDown, .tablesorter-default thead .tablesorter-headerDesc, .tablesorter-default thead .tablesorter-headerSortDown {
	background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7);
	border-bottom: 2px solid #666;
}
.tablesorter-default thead .sorter-false {
	background-image: none;
	cursor: default;
}

table.invoices, table.billing, table.account, table.paynow, table.activity, div.views table, table.time {
	position: relative;
	padding: 0 12px;
	margin: 24px 0 6px 0;
}
table.invoices, table.time {
    position: relative;
	width: 100%;
}
body.billing table.customers td {
    font-size: 0.8em;
    font-size: 0.8rem;
}
body.billing table.customers th a {
    text-decoration: none;
}
body.billing table.customers th a:hover {
    text-decoration: underline;
}
div.views {
    display: none;
    position: absolute;
    top: 99%;
    left: 0;
    height: 100vh;
    padding: 0 3px;
    margin: 0 auto;
}
#view_container {
    position: fixed;
    display: none;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 200;
}
#view_container div.views {
    position: relative;
    display: block;
    top: auto;
    left: auto;
}
#view_container div.views table {
    padding: 0;
    margin: 0 auto;
    border: 1px solid #999;
    padding: 12px;
    box-shadow: 1px 1px 4px #333;
    background-color: #FFF;
}
#view_container div.views table td, #view_container div.views table th {
    font-size: 0.75em;
    white-space: nowrap;
    overflow: hidden;
    transition: 500ms max-width;
    background-color: #EEE;
}
#view_container div.views table th {
    background-color: #CCC;
    color: #333;
}
#view_container div.views table tr:nth-child(odd) td {
    background-color: #FFF;
}
td i.employeeonly:before {
    color: #080;
}
div.views table caption {
	caption-side: top;
	text-align: center;
	font-size: 1rem;
	font-weight: bold;
    color: #FFF;
    background-color: #333;
    box-shadow: 1px 1px 4px #333;
}
table.paynow {
	margin-top: 6px;
	width: 100%;
}
table.paynow tr:last-child{
	border-top: 3px double #999;
}
body.billing th, body.billing td {
	box-sizing: border-box;
	position: relative;
	font-size: 1em;
	font-size: 1rem;
	text-align: left;
	vertical-align: middle;
	padding: 2px 3px;
	white-space: pre-wrap;
}
form.payment th *, form.payment td * {
	box-sizing: border-box;
	position: relative;
	font-size: 1em;
	font-size: 1rem;
	text-align: left;
	vertical-align: middle;
	white-space: pre-wrap;
}
/* PAYMENT FORM */
form.payment table.invoices>tbody>tr>th, form.payment table.invoices>thead>tr>th {
	background-color: #042F70;
	color: #FFF;
	padding: 6px 3px;
}
form.payment table.invoices>thead>tr>th * {
	color: #FFF;
}
.placeholders form.payment label {
	display: inline-block;
}
form.payment input[disabled]+label {
	color: #AAA;
}

#card-error {
	color: #F00;
	text-align: center;
	font-size: 1em;
	line-height: 1.2em;
	font-weight: bold;
	margin-top: 12px;
}

#card-element {
	border-radius: 4px 4px 0 0 ;
	padding: 12px;
	border: 1px solid rgba(50, 50, 93, 0.1);
	height: 44px;
	width: 100%;
	background: white;
}
#card-element:empty {
	height: 0;
	padding: 0;
}
#payment-request-button {
	max-width: 414px;
	margin: 36px auto 12px auto;
}
#payment-request-button:empty {
	margin: 0;
}
#payment-request-button::before {
	content: "OR";
	font-size: 2em;
	font-weight: bold;
	text-align: center;
	display: block;
	position: relative;
	padding-bottom: 18px;
}
#payment-request-button:empty::before {
	content: "";
}
.paymentIntent, .paymentSuccessful {
	visibility: hidden;
	max-width: 414px;
	margin: 0 auto 12px auto;
	height: 0;
	overflow: hidden;
}
.paymentSuccessful {
	background-color: #DFD;
	padding: 0 12px 12px 12px;
	border: 1px solid #DDD;
}
.paymentIntent * {
	visibility: hidden;
}
.paymentIntent.active, .paymentIntent.active *, .paymentSuccessful.active {
	visibility: visible;
	height: auto;
}
.paymentIntent fieldset {
	margin: 12px 0;
}
.paymentIntent input[type=text] {
	padding: 6px 3px;
}
#pay_invoices div:empty, #pay_invoices p:empty {
	height: 0;
	min-height: 0;
	padding: 0;
	margin: 0;
	border: 0;
}

.spinner,
.spinner:before,
.spinner:after {
	display: block;
  border-radius: 50%;
}
.hidden {
  display: none;
}
.spinner {
  color: #5469d4;
  font-size: 22px;
  text-indent: -99999px;
  margin: 0px auto;
  position: relative;
  width: 20px;
  height: 20px;
  box-shadow: inset 0 0 0 2px;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
}
.spinner:before,
.spinner:after {
  position: absolute;
  content: "";
}
.spinner:before {
  width: 10.4px;
  height: 20.4px;
  background: #FFF;
  border-radius: 20.4px 0 0 20.4px;
  top: -0.2px;
  left: -0.2px;
  -webkit-transform-origin: 10.4px 10.2px;
  transform-origin: 10.4px 10.2px;
  -webkit-animation: loading 2s infinite ease 1.5s;
  animation: loading 2s infinite ease 1.5s;
}
.spinner:after {
  width: 10.4px;
  height: 10.2px;
  background: #FFF;
  border-radius: 0 10.2px 10.2px 0;
  top: -0.1px;
  left: 10.2px;
  -webkit-transform-origin: 0px 10.2px;
  transform-origin: 0px 10.2px;
  -webkit-animation: loading 2s infinite ease;
  animation: loading 2s infinite ease;
}

@-webkit-keyframes loading {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes loading {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

table.invoices td.detail {
	width: 70%;
	padding: 0;
}
body.billing th.detail {
	padding: 2px 0 2px 18px;
}
body.billing #content .desc, body.billing #content .descr, body.billing #content .description {
	white-space: pre-wrap;
	word-break: break-word;
}
.pid {
	font-weight: bold;
}
td.detail>div {
	max-height: 1.4em;
	overflow: hidden;
	transition: max-height 300ms;
}
td.detail>div.active {
	max-height: 1024px;
	overflow: scroll;
	transition: max-height 600ms ease-in;
	white-space: pre-wrap;
}
table.invoices td.detail table {
	box-sizing: border-box;
	width: 100%;
	padding: 0 0 0 18px;
}
body.billing table.invoices td.detail table th, body.billing table.invoices td.detail table td {
	font-size: 0.75em;
	font-size: 0.75rem;
	padding: 1px 2px;
}
body.billing table.invoices td.detail table th {
	height: 1.5rem;
	vertical-align: bottom;
}
table.invoices>*>tr+tr {
	border-top: 2px solid #EEE;
	margin-top: 3px;
}
table.invoices .other, table.invoices .other tr {
	display: none;
	opacity: 0;
	transition: opacity 500ms;
}
table.invoices.reveal .other, table.invoices.reveal .other tr {
	display: table-row;
	opacity: 1;
}
table.invoices.reveal tr.other, table.invoices.reveal .other tr {
	display: table-row;
	opacity: 1;
}
table.invoices.reveal .other {
	display: table-caption;
	opacity: 1;
}
table.invoices.reveal>*>tr.other {
	background-color: #FFC;
}
html.no-touch body.billing table.invoices tr:hover {
	background-color: #CFC;
}
td.detail table td.date, td.detail table td.rep, td.detail table td.qty, td.detail table td.rate, td.detail table td.sub {
	width: 10%;
}
body.billing td.pay>a {
	display: block;
	box-sizing: border-box;
	height: 44px;
	line-height: 44px;
	color: #333;
	border: 2px solid #333;
	background-color: #EEE;
	text-align: center;
	text-decoration: none;
	border-radius: 9px;
	overflow: hidden;
}
table.invoices .total {
	padding-right: 6px;
}
table.invoices td a {
	text-decoration: none;
}
table.invoices td a:hover {
	text-decoration: underline;
}
table.billing, table.account {
	margin: 24px auto;
	max-width: 500px;
	min-width: 50%;
}
table.billing th, table.billing td, table.account th, table.account td, table.commissions th, table.commissions td {
	font-size: 1em;
	font-size: 1rem;
	text-align: left;
	vertical-align: middle;
	padding: 2px 3px;
}
table.billing tr:nth-child(odd), table.account tr:nth-child(odd) {
	background-color: #EEE;
}
table.commissions tr {
	background-color: #EEE;
}
table.commissions tr:nth-child(4n-1), table.commissions tr:nth-child(4n-2) {
	background-color: #FFF;
}
table.commissions tr:nth-child(4n), table.commissions tr:nth-child(4n-2) {
	border-top: 1px solid #999;
}
table.commissions {
    min-width: 100%;
    max-width: 100%;
}
table.commissions .detail {
    max-width: 100%;
    font-size: 0.8em;
    font-size: 0.8rem;
    white-space: normal;
}
table.commissions .detail div {
    padding-left: 1em;
}
body.billing th.total, body.billing th.rate, body.billing th.sub, body.billing td.total, body.billing td.rate, body.billing td.sub {
	text-align: right;
}
td.total {
	font-weight: bold;
}
table caption {
	caption-side: bottom;
	text-align: right;
	font-size: 1rem;
	font-weight: bold;
	border-top: 3px double #999;
}
table caption.head {
	caption-side: top;
	padding: 2px 6px;
	text-align: left;
	border: none;
	background-color: #EEE;
}
table caption.head {
	background-color: #FFF;
	border-bottom: 1px solid #999;
}
caption div {
    text-align: center;
}
caption div>* {
    display: inline-block;
    text-align: center;
    padding: 3px 6px;
    color: #FFF;
    background-color: #333;
}
caption div>a {
    font-weight: normal;
    color: #333;
    background-color: transparent;
}
caption div>a:hover {
    font-weight: bold;
}
div.ach {
	margin: 24px auto;
	box-sizing: border-box;
	max-width: 500px;
	border: 1px solid #999;
}
div.ach fieldset {
	position: relative;
	padding: 0 12px 12px 12px;
}
div.ach h2 {
	margin: 0;
	color: #fff;
	background-color: #042F70;
	padding: 12px;
	text-align: center;
}
div.ach>h3, div.ach>p {
	margin: 12px auto;
	text-align: center;
}
div.ach a.check {
	position: absolute;
	display: block;
	top: 12px;
	right: 12px;
	max-width: 72px;
	border: 1px solid #999;
	z-index: 1000;
}
div.ach a:hover {
	max-width: 500px;
}
div.verification {
	padding: 24px;
	margin: 12px auto;
	background-color: #EEE;
}
div.verification input {
	display: inline-block;
	vertical-align: baseline;
	width: auto;
}
div.ach a img {
	display: block;
	width: 100%;
	height: auto;
	background-color: #eee;
}
div.ach ul {
	position: relative;
	z-index: 10;
}
table.results td.date {
    white-space: nowrap;
}
table.results td.desc {
    font-size: 0.8em;
}

/* EMPLOYEE INVOICING */
body#pg_charge {
	padding-top: 0;
	background-color: #EFEFEF;
}
body.billing #container * {
	box-sizing: border-box;
}
body.billing #content_before {
	background-color: #fff;
}
body#pg_charge #container {
	padding-top: 0;
}
header.charge {
	color: #333;
	background-color: #FCDB6D;
}
header.charge div.site-title {
	margin-top: 0;
}
header.charge div.site-title h1 {
	color: #333;
}
div.login, div.billing {
	clear: both;
}
div.login fieldset {
	position: relative;
	padding: 0 6px 6px 6px;
	max-width: 320px;
	margin: 6px auto;
	border: 1px solid #DDD;
	background-color: #FFF;
	border-radius: 0;
}
div.billing fieldset {
	position: relative;
	padding: 0 6px 6px 6px;
	max-width: 414px;
	margin: 6px auto;
	border: 1px solid #DDD;
	background-color: #FFF;
	border-radius: 0;
}
form fieldset.project input[type=text], form fieldset.project select {
	display: inline-block;
}
form fieldset.project label[for*=date], form fieldset.project label[for*=rid], form fieldset.project b {
	display: inline-block;
	width: 45%;
}
@media  screen and ( min-width: 667px ) {
	form#customer>div {
		display: flex;
		flex-flow: row wrap;
	}
	form#customer fieldset {
		flex: 0 0 49%;
	}

	div.billing fieldset {
		float: left;
		max-width: 50%;
		width: 50%;
	}
	div.billing fieldset.project {
		float: none;
		max-width: 100%;
		width: 100%;
	}
	div.billing fieldset.project ul {
		text-align: center;
	}
	div.billing fieldset.project li {
		display: inline-block;
		width: auto;
		padding: 0 9px;
		font-size: 16px;
		min-height: 44px;
		line-height: 40px;
		border: 1px solid #999;
	}
	div.billing fieldset.project li * {
		display: inline-block;
		width: auto;
	}
	div.billing fieldset.project li+li {
		border-left: none;
	}
}
div.billing li.total {
	padding-top: 9px;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
}
div.login h2, div.billing h2 {
	text-align: center;
}
div.billing input[type=text], div.billing select, div.billing input[type=email], div.billing input[type=number], div.billing input[type=tel], div.billing textarea {
	display: block;
	width: 100%;
	border: 1px solid #DDD;
	background-color: #EFEFEF;
	border-radius: 0;
	font-size: 18px;
	padding: 4px 2px;
}
div.billing select {
	width: auto;
	max-width: 100%;
}
div.billing input[type=text]:focus, div.billing textarea:focus {
	background-color: #FFF;
}
div.billing input[type=submit] {
	width: 100%;
	color: #333;
	background-color: #FCDB6D;
	text-align: center;
	font-size: 20px;
	border: none;
	border-radius: 0;
	min-height: 44px;
	margin-top: 12px;
	font-weight: bold;
	text-transform: uppercase;
}
div.billing input[type=submit]:hover, div.billing input[type=submit]:active {
	background-color: #fff953;
}
fieldset.project input[type=text], fieldset.project select, fieldset.project label {
	width: auto;
}
#content fieldset.customer h2 a {
	color: #042F70;
	text-decoration: none;
}
#content fieldset.customer h2 a:hover {
	text-decoration: underline;
}
fieldset.customer li:nth-child(odd) {
	background-color: #eee;
}
fieldset.customer li {
	text-align: right;
	min-height: 2em;
	line-height: 2em;
	padding: 0 2px;
	max-width: 100%;
	overflow: hidden;
}
fieldset.customer li span {
	display: block;
	max-width: 100%;
	overflow: hidden;
}
fieldset.customer li input {
	padding: 0 2px;
	margin: 0;
	min-height: 1.6em;
	min-width: 72px;
	float: right;
}
fieldset.customer li b {
	float: left;
}
table.time_detail {
	width: 100%;
	position: relative;
	padding: 0 12px;
}
table.time_detail tbody {
	position: relative;
}

table.time_detail th {
	white-space: nowrap;
	background-color: #FCDB6D;
}
table.time_detail td {
	white-space: pre-wrap;
	font-size: 16px;
	vertical-align: top;
}
table.time_detail .qty, table.time_detail .rid, table.time_detail .rpercent, table.time_detail .sid, table.time_detail .spercent, table.time_detail .rate, table.time_detail .sub {
	text-align: right;
}
table.time_detail tr {
	background-color: #EEE;
}
table.time_detail tr:nth-child(odd) {
	background-color: #FFF;
}
table.time_detail tr:nth-child(even) input[type=text], table.time_detail tr:nth-child(even) textarea {
	background-color: #FFF;
}
table.time_detail tbody:last-child tr:last-child {
	border-top: 3px double #999;
	background-color: #FFF;
	text-align: right;
	font-weight: bold;
}
table.time_detail input[type=text], table.time_detail select, table.time_detail textarea {
	display: block;
	font-size: 16px;
	min-width: 0;
	height: 26px;
	border: none;
}
table.time_detail input[type=text] {
	max-width: 74px;
}
table.time_detail textarea {
	min-height: 6em;
	min-width: 216px;
	line-height: 1.2em;
}
table.time_detail select {
	max-width: 60px;
}
#pg_projects table.time_detail input[type=checkbox], #pg_projects table.invoices input[type=checkbox], #pg_project table.time_detail input[type=checkbox], #pg_project table.invoices input[type=checkbox] {
	border: none;
	line-height: inherit;
	font-size: 22px;
}
#pg_projects table.time_detail input[type=checkbox]:before, #pg_projects table.invoices input[type=checkbox]:before, #pg_project table.time_detail input[type=checkbox]:before, #pg_project table.invoices input[type=checkbox]:before {
	font-family: fontawesome;
	content: "\f05e";
	color: #999;
}
#pg_projects table.time_detail input[type=checkbox]:hover:before, #pg_projects table.invoices input[type=checkbox]:hover:before, #pg_project table.time_detail input[type=checkbox]:hover:before, #pg_project table.invoices input[type=checkbox]:hover:before {
	color: #666;
}
#pg_projects table.time_detail input[type=checkbox]:disabled:before, #pg_projects table.invoices input[type=checkbox]:disabled:before, #pg_project table.time_detail input[type=checkbox]:disabled:before, #pg_project table.invoices input[type=checkbox]:disabled:before {
	color: #DDD;
}
#pg_project table.time_detail input[type=checkbox].note:before {
	font-family: fontawesome;
	content: "\f249";
}
#pg_projects table.invoices.recurring input[type=checkbox]:before {
	font-family: fontawesome;
	content: "\f058";
}
#pg_projects table.invoices.recurring input[type=checkbox]:checked:before {
	color: #0c0;
}
table.time_detail td.date {
	white-space: nowrap;
}
table.time {
	border-bottom: 3px double #999;
}
table.time caption {
	caption-side: top;
	text-align: left;
	border-top: none;
	border-bottom: 3px double #999;
}
table.time td, table.time td {
	font-size: 0.8em;
	font-size: 0.8rem;
}
table.time td input {
	font-size: 1em;
	font-size: 1rem;
}
table.time tbody tr:nth-child(odd) {
	background-color: #FFF;
}
#pg_project table.time input[type=checkbox] {
	border: none;
	min-height: 0;
	min-width: 0;
	line-height: inherit;
}
#pg_project table.time input[type=checkbox]:before {
	font-family: fontawesome;
	content: "\f055";
	color: #999;
}
#pg_project table.time input[type=checkbox]:checked {
	background-color: transparent;
}
#pg_project table.time input[type=checkbox]:checked:before {
	color: #0B0;
}
#pg_project table.time input[type=checkbox].rate:before {
	font-family: fontawesome;
	content: "\f155";
	color: #999;
}
#pg_project table.time td.color input[type=checkbox].rate:before {
	color: #0B0;
}
#pg_project table.time input[type=checkbox].rate:checked:before {
	font-family: fontawesome;
	content: "\f249";
	color: #0B0;
}
table.time td.highlight {
	background-color: #DFD;
	transition: background-color 500ms;
}

table.recurring .int {
	text-align: center;
}
#pg_projects table.time_detail input[type=checkbox]:checked, #pg_projects table.invoices input[type=checkbox]:checked, #pg_project table.time_detail input[type=checkbox]:checked, #pg_project table.invoices input[type=checkbox]:checked {
	background-color: transparent;
}
#pg_projects table.time_detail input[type=checkbox]:checked:before, #pg_projects table.invoices input[type=checkbox]:checked:before, #pg_project table.time_detail input[type=checkbox]:checked:before, #pg_project table.invoices input[type=checkbox]:checked:before {
	color: #F00;
}
table.time_detail tbody.sortable:before {
	content: " ";
	display: block;
	min-height: 6px;
	width: 100%;
	background-color: #FFF;
}
table.time_detail .ui-sortable-handle {
	min-width: 24px;
	background-color: #CCC;
	border-bottom: 1px solid #fff;
}
div.billing fieldset.choices {
	border: none;
	float: none;
	max-width: none;
	width: auto;
	text-align: center;
}
div.billing fieldset.choices input[type=submit] {
	display: inline-block;
	width: auto;
	max-width: none;
	padding: 4px 12px;
	font-size: 16px;
}
div.billing fieldset.choices input[type=submit].warning {
	color: #FFF;
	background-color: #ff7f00;
}
div.billing fieldset.choices input[type=submit].warning:hover, div.billing fieldset.choices input[type=submit].warning:active {
	color: #333;
	background-color: #999;
}
/* Customer Page */
body.customer h2 {
	padding: 6px;
	background-color: #EEE;
	margin-top: 6px;
}
table.history th, table.history td {
	font-size: 0.8rem;
	white-space: pre;
}
table.history td span {
	display: block;
	box-sizing: border-box;
	overflow: hidden;
	max-width: 160px;
}
table.history td span:hover {
	overflow: scroll;
	max-width: 320px;
	height: 2.4rem;
	white-space: normal;
}
.statement textarea {
	display: block;
	max-width: 6.5in;
	margin: 24px auto;
}
body.customer input[disabled] {
	color: #AAA;
}
body.customer input[disabled][checked] {
	background-color: #AAA;
}
body.customer input[disabled]+label {
	color: #AAA;
}
body.customer li.autobill span {
	vertical-align: middle;
}

/* Time Tracking */
#pg_time {
	max-width: 736px;
	margin: 0 auto;
}
#pg_time #wrapper {
	min-height: 100vh;
}
#pg_time #content {
	padding: 0;
}
#pg_time #content>h1, #pg_time #content>h2, #pg_time #content>h3, #pg_time #content>p {
	padding-right: 6px;
	padding-left: 6px;
}
form.customer fieldset {
	position: relative;
	text-align: center;
}
form.customer input[type=text] {
	display: inline-block;
	border: none;
	padding: 0 44px 0 12px;
	min-height: 44px;
	box-sizing: border-box;
}
#pg_time .fa {
	border: none;
	background: transparent;
	color: #042F70;
	font-weight: 500;
}
#pg_time .fa:active, #pg_time .fa:focus, #pg_time .fa:hover {
	color: #FCDB6D;
	transition: all 100ms;
}
form.customer .fa {
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	font-size: 28px;
	height: 44px;
	width: 44px;
	line-height: 44px;
	text-align: right;
}
form.customer input[type=submit], #content a.Invoice, #content a.Project {
	border: none;
	margin: 6px;
	background-color: #042F70;
	color: #FFF;
}
form.record input[type=text], form.record input[type=number], form.record textarea {
	border: none;
}
form.record fieldset input[type=text], form.record fieldset input[type=number] {
	display: inline-block;
	width: 31%;
	margin-bottom: 6px;
}
form.record input[type=text]:nth-child(2), form.record input[type=text]:nth-child(4) {
	margin-right: 2%;
}
form.record input[name=client] {
	border: 2px solid #090;
	max-width: 300px;
	margin: 12px 0 12px auto;
}
form.record p {
	margin-top: 0;
	font-size: 18px;
}
form.record p>b {
	height: 44px;
	line-height: 44px;
	padding: 0 0 0 6px;
}
.shelf {
	position: fixed;
	bottom: 0;
	width: 100%;
	max-width: 736px;
	margin: 0 auto;
	background-color: #FFF;
	border-top: 1px solid #DDD;
}
.shelf input[type=submit], a.Invoice, a.Project {
	display: inline-block;
	float: right;
	clear: none;
	min-height: 28px;
	min-width: 28px;
	font-size: 20px;
	max-width: none;
	padding: 4px 6px;
	color: #042F70;
	border: none;
}
a.noproject {
	display: none;
}
form.record input[type=submit] {
	width: 25%;
	font-size: 28px;
}
form.record input[name=create_new_record]+input[type=submit] {
	display: none;
}
form.record input[name=start_clock] {
	color: #0F0;
}
form.record input[name=stop_clock] {
	color: #F00;
}
form.record input[name=no_clock] {
	display: none;
}
form.client fieldset {
	max-width: 320px;
	margin: 0 auto;
}
#pg_time h1, #pg_time h2 {
	font-size: 1.4rem;
}
#pg_time h1 {
	text-align: right;
	min-height: 44px;
	line-height: 44px;
}
#pg_time h3 {
	text-transform: uppercase;
	padding: 0 0 0 6px;
	margin: 0;
	font-size: 18px;
	height: 44px;
	line-height: 44px;
}
#pg_time .back {
	position: relative;
}
#pg_time .back a {
	display: inline-block;
	float: none;
	font-size: 1.4rem;
	min-height: 44px;
	min-width: 44px;
	line-height: inherit;
	text-decoration: none;
	color: #042F70;
}
#pg_time .back a.all {
	position: absolute;
	left: 6px;
}
#content ul.jump, #content ul.jump li {
	display: block;
	list-style: none;
	padding: 0;
}
#content ul.jump li {
	padding: 2px 6px;
}
#content ul.jump li:nth-child(odd) {
	background-color: #FFF;
}
#content ul.jump li a {
	display: block;
	min-height: 28px;
	line-height: 28px;
	padding: 0 6px;
	text-decoration: none;
	text-transform: uppercase;
}
#pg_time ul.records {
	margin-top: 0;
	padding-left: 0;
}
#pg_time ul.records+ul.records {
	margin-top: 0;
	padding-top: 0;
}
ul.records li {
	display: block;
	list-style: none;
	font-size: 1em;
	overflow: hidden;
	background-color: #EEE;
	border-bottom: 1px solid #DDD;
}
ul.records li:nth-child(even) {
	background-color: #F8F8F8;
	border-left: 1px solid #EEE;
	border-right: 1px solid #EEE;
}
#pg_time ul.records li a {
	display: inline-block;
	min-height: 48px;
	width: 100%;
	max-width: 100%;
	padding: 6px;
	text-decoration: none;
}
ul.records li a span {
	display: inline-block;
	white-space: nowrap;
	color: #666;
}
ul.records li a span.rwid {
	color: #333;
}
ul.records li a span.hours {
	float: right;
}
ul.records li a span.entry {
	display: block;
	overflow: hidden;
	color: #999;
}
ul.records li.client {
	background-color: #E6E6E6;
	border-bottom: 1px solid #CCC;
}
#pg_time ul.records li.client a {
	width: auto;
}
ul.records li h3 {
	padding: 0 0 0 6px;
	margin: 0;
	font-size: 18px;
	height: 44px;
	line-height: 44px;
	font-weight: normal;
	color: #333;
}
#pg_time ul.records li h3>a {
	display: inline;
	color: #042F70;
	padding: 0;
	font-weight: bold;
}
ul.records li h3 i.fa {
	float: right;
	font-size: 28px;
	height: 44px;
	width: 44px;
	line-height: 44px;
	text-align: center;
	font-weight: 500;
}
#pg_time .ui-menu-item-wrapper {
	min-height: 44px;
	line-height: 44px;
}
@media only screen and (min-width: 668px) {
	ul.records li {
		font-size: 1em;
	}
}

/*  Activity */
table.activity, table.activity thead, table.activity tbody {
	position: relative;
	width: 100%;
	padding: 0;
}
table.activity tr {
	width: 100%;
}
table.activity tr:nth-child(odd) td {
	background-color: rgba(0,0,0,0.03);
}
#pg_timeactivity .comm {
	background-color: #DDF;
}
#pg_timeactivity .paid {
	background-color: #DFD;
}
#pg_timeactivity .sent {
	background-color: #FFD;
}
#pg_timeactivity form.search input.optional {
	display: none;
}
table.activity tr.alt {
	background-color: #EEE;
}
table.activity tr.match {
	font-weight: bold;
}
table.activity td {
	position: relative;
	font-size: 0.75em;
	font-size: 0.75rem;
	white-space: nowrap;
	overflow: hidden;
	vertical-align: top;
}
table.activity td div {
	position: relative;
	overflow: hidden;
	max-width: 200px;
}
table.activity td:hover, #pg_timeactivity table.activity td:last-child {
	white-space: normal;
}
#pg_timeactivity table.activity th, #pg_timeactivity table.activity td {
	display: table-cell;
	float: none;
	width: auto;
}
#pg_timeactivity table.activity td:nth-child(1) {
	white-space: nowrap;
}
#pg_timeactivity table.activity td:nth-child(6) {
	text-align: right;
}
#pg_timeactivity table.activity td {
	cursor: zoom-in;
}
#pg_timeactivity #content aside.legend {
	float: right;
	padding: 6px;
	border: 2px solid #666;
	background-color: #FFF;
}
#pg_timeactivity #content aside.legend span {
	display: block;
	padding: 2px 3px;
}
#pg_timeactivity #content aside.totals {
	padding: 6px;
	text-align: right;
}
#pg_timeactivity #content aside.totals span {
	display: block;
	padding: 2px 3px;
}
#pg_timeactivity #content aside.totals span+h3 {
	margin-top: 0.25em;
	margin-top: 0.25rem;
	margin-bottom: 1em;
	margin-bottom: 1rem;
}
/* FOOTER */
#wrapper_after {
	background-color: #042F70;
	padding: 0 0 72px 0;
}
footer {
	box-sizing: border-box;
	padding: 12px 6px;
}
footer .copyright {
	padding-top: 24px;
}
footer .copyright ul {
	text-align: center;
}
footer .copyright li {
	display: inline-block;
	font-size: 0.8rem;
}
footer .copyright li:after {
	content: " | ";
}
footer .copyright li:last-child:after {
	content: none;
}
table.invoices>*>tr>.cid {
	max-width: 144px;
	overflow: hidden;
}
/* NORMAL SCREEN SIZE */
@media only screen and (max-width: 1920px) {
    section:after {
        background-size: 75% auto;
    }
}
@media only screen and (max-width: 1280px) {
    section:after {
        background-size: 50% auto;
    }
}

/* MOBILE STYLES */
html.touch table.invoices td.detail table:before {
    display: block;
    position: relative;
    width: 160px;
    font-size: 16px;
    font-weight: bold;
    content: "+ Invoice Detail";
}


/* TARGET 960px */
@media only screen and (max-width: 1023px) {
    section:after {
        background-size: 40% auto;
    }

}/* TARGET 960px */

/* TARGET 768px */
@media only screen and (max-width: 959px) {
	nav>ul>li#mobileNav {
		display: block;
		float: none;
		text-align: right;
	}
	header div.site-title p, .tmpl-99 header div.site-title p {
		font-size: 1em;
		letter-spacing: 1px;
		text-align: left;
		padding-left: 6px;
	}
	form#search {
        padding: 2px;
    }
	input#q {
		font-size: 0.8em;
	}
    form#search i.fa-search {
        right: 7px;
        top: 7px;
    }
/*
	table.invoices>*>tr {
		display: block;
		float: none;
		clear: both;
	}
	table.invoices>*>tr>td, table.invoices>*>tr>th {
		display: block;
		float: left;
		width: 20%;
		overflow: hidden;
		font-size: 0.875rem;
	}
	table.invoices>*>tr>.del, table.invoices>*>tr>.pdf { width: 10%; }
	table.invoices>*>tr>.date { width: 25%; }
	table.invoices>*>tr>.cid { width: 27.5%; max-width: none; }
	table.invoices>*>tr>.pid { width: 15%; }
	table.invoices>*>tr>.total { width: 22.5%; }

	table.invoices.receivables>*>tr>td, table.invoices>*>tr>th { width: 16%; }
	table.invoices.receivables>*>tr>.del, table.invoices.receivables>*>tr>.pdf { width: 10%; }
	table.invoices.receivables>*>tr>.date, table.invoices.receivables>*>tr>.cid, table.invoices.receivables>*>tr>.total { width: 20%; }
	table.invoices.receivables>*>tr>.client { width: 40%; }
	table.invoices.receivables>*>tr>.date { clear: left; }

	table.invoices.paid>*>tr>.pdf, table.invoices.paid>*>tr>.viewed { width: 5%; }
	table.invoices.paid>*>tr>.date { width: 17.5%; }
	table.invoices.paid>*>tr>.cid { width: 20%; }
	table.invoices.paid>*>tr>.inv { width: 9.5%; }
	table.invoices.paid>*>tr>.rep, table.invoices.paid>*>tr>.by { width: 5.75%; }
	table.invoices.paid>*>tr>.total { width: 15.75%; }

	table.invoices.open>*>tr>.del, table.invoices.open>*>tr>.pdf, table.invoices.open>*>tr>.viewed, table.invoices.open>*>tr>.age { width: 7%; }
	table.invoices.open>*>tr>.date { width: 15%; }
	table.invoices.open>*>tr>.cid { width: 20%; }
	table.invoices.open>*>tr>.inv, table.invoices.open>*>tr>.rep { width: 9.5%; }
	table.invoices.open>*>tr>.total { width: 18%; }

	table.invoices td.detail {
		width: 100%;
		float: none;
		clear: both;
	}

	table.invoices.projects>*>tr>.del, table.invoices.projects>*>tr>.rep, table.invoices.projects>*>tr>.pdf { width: 10%; }
	table.invoices.projects>*>tr>.date { width: 17.5%; }
	table.invoices.projects>*>tr>.cid { width: 27.5%; }
	table.invoices.projects>*>tr>.pid { width: 15%; }
	table.invoices.projects>*>tr>.total { width: 20%; }

	table.invoices .total {
		padding-right: 0;
	}
	table.invoices th.detail {
		display: none;
	}
	table.invoices.recurring>*>tr>td, table.invoices.recurring>*>tr>th { width: 12.5%; }
	table.invoices.recurring>*>tr>.del, table.invoices.recurring>*>tr>.pid, table.invoices.recurring>*>tr>.int { width: 5% }
	table.invoices.recurring>*>tr>.date, table.invoices.recurring>*>tr>.total { width: 10% }
	table.invoices.recurring>*>tr>.cid { width: 17.5% }
	table.invoices.recurring>*>tr>.descr { width: 37.5% }
*/
table.activity, table.activity tbody, table.activity thead, table.activity tr {
	display: block;
}
table.activity th, table.activity td {
	display: block;
	float: left;
	width: 33%;
}
table.activity td div {
	max-width: 100%;
}

}/* TARGET 768px */

/* Hide Mobile Nav on resized screens */
div.mobileNav {
    display: none;
}
@media only screen and (max-width: 767px) {
	body.social div#content_after {
		float: none;
		margin: 24px auto;
		padding: 0 3px;
		overflow: hidden;
		width: auto;
		max-width: 500px;
		max-height: 400px;
	}
	nav>ul>li#mobileNav p {
		min-height: 44px;
		line-height: 44px;
	}
	nav>ul>li#mobileNav+li {
		border-top: 1px solid #999;
	}
	nav>ul>li {
		display: block;
	}
	nav>ul>li>a, nav>ul>li.dropdown>nav>ul>li>a {
		height: 0;
		line-height: 2.44em;
		padding: 0 6px;
		overflow: hidden;
		transition: height 0.3s;
	}
	nav>ul.active>li>a, nav>ul.active>li.dropdown>nav>ul>li>a {
		height: 2.44em;
		padding: 3px 6px;
		border-bottom: 1px solid #999;
		transition: height 0.3s;
	}
	nav>ul.active>li.dropdown>nav>ul>li>a {
		padding-left: 24px;
	}
	li.t3>nav {
		position: relative;
		top: auto;
		left: auto;
		box-shadow: none;
	}
	nav>ul>li#mobileNav {
		text-align: left;
	}
	html.touch nav div.mobileNav {
		display: block;
		position: absolute;
		right: 0;
		top: 0;
		width: 48px;
		z-index: 100;
	}
	html.touch nav div.mobileNav a {
		display: block;
		width: 40px;
		height: 0;
		min-height: 0;
		padding: 0;
		text-indent: -9999px;
		overflow: hidden;
		transition: 500ms height;
	}
	#mobileNav a.nav, html.touch nav>ul.active div.mobileNav a {
		height: 40px;
	}
    nav>ul>li#mobileNav p a.logo {
        float: none;
    }
	html.touch nav div.mobileNav a span {
		display: block;
		width: 24px;
		height: 24px;
		margin: 7px auto 0 8px;
		padding: 0;
		background: transparent linear-gradient(to bottom,
			transparent, transparent 4px,
			#666 4px, #666 5px,
			#000 5px, #000 6px,
			#666 6px, #666 7px,
			transparent 7px, transparent 12px,
			#666 12px, #666 13px,
			#000 13px, #000 14px,
			#666 14px, #666 15px,
			transparent 15px, transparent 20px,
			#666 20px, #666 21px,
			#000 21px, #000 22px,
			#666 22px, #666 23px,
			transparent 23px, transparent
		);
		text-indent: -9999px;
		overflow: hidden;
	}
	html.touch nav div.mobileNav a.touch, html.touch nav div.mobileNav a.touched {
		background-color: #042F70;
	}
	html.touch nav div.mobileNav a.touch span, html.touch nav div.mobileNav a.touched span, html.touch nav li.current>div.mobileNav a span {
		background: transparent linear-gradient(to bottom,
			transparent, transparent 4px,
			#999 4px, #999 5px,
			#FFF 5px, #FFF 6px,
			#999 6px, #999 7px,
			transparent 7px, transparent 12px,
			#999 12px, #999 13px,
			#FFF 13px, #FFF 14px,
			#999 14px, #999 15px,
			transparent 15px, transparent 20px,
			#999 20px, #999 21px,
			#FFF 21px, #FFF 22px,
			#999 22px, #999 23px,
			transparent 23px, transparent
		);
	}
	form#signup {
		width: 100%;
		margin: 0 auto 24px auto;
	}
	form#signup li {
		display: block;
		width: 100%;
		margin: 0 auto;
	}
	form#signup.showAll li {
		width: 100%;
	}
	html.js #slider a.img_0 span {
		font-size: 0.8em;
		width: auto;
		padding: 0 6px;
		height: 22px;
		line-height: 22px;
	}
	header h1.center {
		text-align: left;
	}
	.cols3 {
		text-align: left;
	}
	.cols3>div>div {
		display: block;
		margin: 0 auto;
		box-sizing: border-box;
		padding: 6px 12px;
		width: 98%;
		overflow: hidden;
		vertical-align: top;
	}
	.cols3>div>div h2 {
		margin-bottom: 0.125em;
	}
	.cols3>div>div img {
		display: block;
		margin: 0 12px 0 0;
		height: auto;
		max-width: 10%;
		float: left;
	}
	#content>*>img {
		display: block;
		float: none;
		max-width: 100%;
		height: auto;
		margin-left: auto;
		margin-right: auto;
	}
	#pg_cs #content h2>span {
		white-space: nowrap;
	}
	#pg_cs #content>*>img {
		max-width: 40%;
		float: right;
	}
	h3.littleclear {
		white-space: nowrap;
	}
	body.billing h1>a {
		font-size: 0.8em;
		font-size: 0.8rem;
		padding: 0;
	}
	body.billing table.invoices td.detail table td {
		display: block;
		width: 100%;
		padding-left: 36px;
	}
	td.detail table>*>tr:nth-child(odd) {
		background-color: #FFF;
	}
	body.billing table.invoices td.detail table td:nth-child(even) {
		background-color: #EEE;
	}
	td.detail table td:before {
		position: absolute;
		left: 6px;
		font-weight: bold;
	}
	td.detail table td.date {
		border-bottom: 1px solid #999;
		font-weight: bold;
	}
	td.detail table td.date:before {
		content: "Date";
	}
	td.detail table td.rep:before {
		content: "Rep";
	}
	td.detail table td.by:before {
		content: "By";
	}
	td.detail table td.qty:before {
		content: "QTY";
	}
	td.detail table td.rate:before {
		content: "Rate";
	}
	td.detail table td.sub:before {
		content: "Sub";
	}
	td.detail table td.desc:before {
		content: "Desc";
	}
	td.detail table th {
		display: none;
	}

	table.invoices.recurring>*>tr>.del { width: 8% }
	table.invoices.recurring>*>tr>.pid { width: 12% }
	table.invoices.recurring>*>tr>.int { width: 8% }
	table.invoices.recurring>*>tr>.date { width: 22%; text-align: right }
	table.invoices.recurring>*>tr>.cid { width: 28% }
	table.invoices.recurring>*>tr>.descr { clear: both; width: 80%; }
	table.invoices.recurring>*>tr>.total { width: 20% }

	body.billing input, body.billing select, body.billing textarea {
		font-size: 18px;
		min-width: 28px;
		min-height: 28px;
	}
	form.record textarea {
		min-height: 432px;
		margin-bottom: 50px;
	}
	form.login input[type=checkbox] {
		font-size: 2em;
		min-width: 36px;
		min-height: 36px;
	}
	#pg_projects form table.invoices input[type=checkbox] {
		font-size: 22px;
	}
	#content section.home0 h1 {
		font-size: 2em;
	}
	#content section.home0 h2 {
		font-size: 1.33em;
	}
	#content section.home0 h3 {
		font-size: 1.33em;
	}
}
@media  screen and ( max-width: 735px ) {
/*	table.invoices>*>tr>td, table.invoices>*>tr>th {
		font-size: 0.75rem;
	}*/
	table.time_detail, table.time_detail tbody {
		display: block;
	}
	table.time_detail tr {
		display: block;
		background-color: #FFF;
		border-top: 1px solid #999;
	}
	table.time_detail th {
		display: none;
		line-height: 1.5;
		min-height: 1.5em;
	}
	table.time_detail td {
		display: block;
		width: 100%;
		text-align: right;
		font-size: 18px;
		line-height: 1.5;
		min-height: 1.5em;
	}
/*	table.time_detail td.row25 {
		display: inline-block;
		width: 25%;
		padding: 4px 0;
		background-color: #EEE;
		border-bottom: 1px solid #ddd;
		text-align: left;
	}
	table.time_detail td.row25 input, table.time_detail td.row25:before, table.time_detail td.row25 select {
		display: block;
		width: 100%;
		float: none;
		min-height: 1.5em;
	}
	table.time_detail td.row25:before {
		text-align: left;
	}
	table.time_detail td.row50 {
		display: inline-block;
		width: 50%;
		padding: 4px 0;
		background-color: #EEE;
		border-bottom: 1px solid #ddd;
		text-align: left;
	}
	table.time_detail td.row50 input, table.time_detail td.row50:before, table.time_detail td.row50 select {
		display: block;
		width: 100%;
		float: none;
		min-height: 1.5em;
		text-align: left;
	}
	table.time_detail td.row50:before {
		text-align: left;
	}
*/

	table.time_detail td.description {
		text-align: left;
	}
	table.time_detail td:nth-child(even) {
		background-color: #EEE;
	}
	table.time_detail td.del {
		background-color: #FCDB6D;
	}
	table.time_detail tr.new td.del {
		background-color: #C7F43E;
	}
	table.time_detail td.sub {
		margin-bottom: 9px;
	}
	table.time_detail td:before {
		display: block;
		float: left;
		font-weight: bold;
		padding-right: 6px;
	}
	table.time_detail td.del:before {content:"Delete Item"}
	table.time_detail tr.new td.del:before {content:"New Item"}
	table.time_detail td.date:before {content:"Date"}
	table.time_detail td.qty:before {content:"QTY"}
	table.time_detail td.rid:before {content:"Rep"}
	table.time_detail td.rpercent:before {content:"%"}
	table.time_detail td.sid:before {content:"Rep 2"}
	table.time_detail td.spercent:before {content:"%"}
	table.time_detail td.description:before {content:"Description:"}
	table.time_detail td.rate:before {content:"Rate"}
	table.time_detail td.sub:before {content:"Subtotal"}
	table.time_detail input[type=text], table.time_detail select, table.time_detail textarea {
		width: auto;
		min-width: 50%;
		max-width: 100%;
		display: inline-block;
	}
	table.time_detail textarea {
		width: auto;
		max-width: 100%;
		min-height: 5.6em;
		margin: 0 auto;
		display: block;
	}
	table.time_detail textarea[name=value] {
		height: 80vh!important;
	}
	section figure {
		font-size: 0.8em;
	}
	section figure img {
		height: 72px;
	}
	section.arch3 figure {
		width: 100%;
		margin-left: 0;
	}

}


@media only screen and (max-width: 668px) {
	section.x2 {
		display: block;
	}
	section.x2 figure {
		float: none;
		width: auto;
		max-width: 90%;
		margin-right: auto;
		margin-left: auto;
	}
	h3 img.right {
		float: none;
		display: block;
		margin: 24px auto 12px auto;
		height: auto;
		width: auto;
		max-width: 100%;
	}
}
@media only screen and (max-width: 374px) {
	header div.site-title h1, .tmpl-99 header div.site-title h1 {
		font-size: 1em;
	}
	form#search {
        padding: 0;
    }
	.js form#signup.showAll li.g-recaptcha {
		transform: scale(0.75);
		transform-origin: center;
	}
	#wrapper_after form#signup.showAll li {
		width: 80%;
	}
	table.time_detail input[type=text], table.time_detail select, table.time_detail textarea {
		max-width: 300px;
	}
}


.retainers thead {
	background-color: #EEE;
}
.retainers tbody tr.onecol {
	background-color: transparent;
}
.retainers tr.onecol th {
	vertical-align: bottom;
}
.retainers tbody+tbody tr.onecol th {
	padding-top: 1.5em;
}
body.retainers td, body.retainers thead th {
	text-align: right;
}
body.retainers td:nth-child(3), body.retainers thead th:nth-child(3) {
	text-align: left;
}
