:root {
	--white: #FFF;
	--black: #000;
	--grey: #999;
	--grey-mid: #CCC;
	--grey-light: #EEE;
	--green-light: #EFE;
	--green-mid: #9F9;
	--green-mid-sat: #0B0;
	--red: #F00;
	--red-light: #F99;
	--ccg-bg-logo: #F5B436;
	--body-bg: #F8F8F8;
	--input-bg: #E8E8E8;
	--body-text: #333;
	--body-text-hov: #666;
	--body-text-inverted: #EFEFEF;
	--body-headings: #042F70;
	--action-bg: #F5B436;
	--menu-text: #222;
	--menu-bg: #EEE;
	--menu-text-hov: #EEE;
	--menu-bg-hov: #042F70;
	--menu-shadow: #666;
	--legend-yellow: #FFD;
	--legend-green: #DFD;
	--legend-violet: #DDF;
	--cal-bg: rgba(255,255,255,0.8);
	--cal-h1: #042F70;
}
@media (prefers-color-scheme: dark) {
	:root {
		--white: #000;
		--black: #FFF;
		--grey: #666;
		--grey-mid: #444;
		--input-bg: #333;
		--grey-light: #222;
		--green-light: #242;
		--green-mid: #464;
		--green-mid-sat: #262;
		--red: #900;
		--red-light: #400;
		--ccg-bg-logo: #F5B436;
		--action-bg: #042352;
		--body-bg: #012;
		--body-text: #EFEFEF;
		--body-text-hov: #999;
		--body-headings: #EFEFEF;
		--menu-text: #EFEFEF;
		--menu-bg: #222;
		--menu-shadow: #111;
		--legend-yellow: #442;
		--legend-green: #141;
		--legend-violet: #314;
		--cal-bg: rgba(4,47,112,0.8);
		--cal-h1: #F5B436;
	}
}
/* 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:var(--body-bg); color:var(--body-text); text-decoration:none; }
mark { background-color:var(--body-bg); color:var(--body-text); font-style:italic; font-weight:bold; }
del { text-decoration: line-through; }
abbr[title], dfn[title] { border-bottom:1px dotted var(--body-text); 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 var(--grey-mid); margin:1em 0; padding:0; }
input, select { vertical-align: baseline; }
select, input, textarea { font: 100% "Helvetica Neue","Helvetica","Arial",sans-serif; outline: none; color: var(--body-text); background-color: var(--input-bg)}
input[type="radio"] { vertical-align: baseline; }
input[type="checkbox"] { vertical-align: baseline; }
.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: var(--body-bg);
	font: 16px sans-serif;
}
body {
	font-family: "Helvetica Neue","Helvetica","Arial",sans-serif;
	background-color: var(--body-bg);
	-webkit-font-smoothing: antialiased;
	color: var(--body-text);
	overflow: hidden;
}
body, body * {
	box-sizing: border-box;
}
.hide, body .dev {
	display: none;
}
body.dev .dev {
	display: inherit;
}
img {
	max-width: 100%;
	height: auto;
}
img.left {
	float: left;
	margin-right: 12px;
	margin-bottom: 12px;
}
h1, h2, h3, h4, h5, h6 {
	color: var(--body-headings);
}
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
}
section p {
	margin: 1em 0;
}
code {
	margin-left: 24px;
	margin-right: 24px;
	background-color: var(--body-bg);
	padding: 3px;
}
h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child {
	padding-top: 1em;
}
input[type=text], input[type=password] {
	color: var(--body-text);
}
input[type=radio] {
	-webkit-appearance: none;
	display: inline-block;
	padding: 0;
	margin: 0 6px;
	min-width: 22px;
	min-height: 22px;
	border-radius: 11px;
	background-color: var(--input-bg);
	border: 2px solid var(--body-headings);
	color: var(--body-text);
	transition: color,background-color 100ms;
}
input[type=radio]:checked {
	background: --white;
	background: radial-gradient(closest-side, var(--black) 0%, var(--black) 80%, var(--white) 100%);
}
input[type=submit], input[type=button], button {
	-webkit-appearance: none;
	display: block;
	padding: 4px 12px;
	background-color: var(--body-bg);
	border: 2px solid var(--body-headings);
	border-radius: 12px;
	color: var(--body-text);
	max-width: 320px;
	margin: 24px auto;
	clear: both;
	transition: color,background-color 100ms;
	text-decoration: none;
	text-align: center;
	font-size: 1.2em;
	font-size: 1.2rem;
	font-weight: bold;
}
input[type=submit]:hover, input[type=button]:hover {
	color: var(--input-bg);
	background-color: var(--body-text);
}
div.buttons {
	display: flex;
	max-width: 800px;
	margin: 0 auto;
	flex-flow: row wrap;
	justify-content: space-around;
}
#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;
}
/* 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;
	margin: 0 auto;
}
#content_before nav {
	z-index: 100;
	background-color: var(--menu-bg);
}
#content_before header {
	z-index: 1;
}
#container {
	position: relative;
	z-index: 10;
}
#content {
	max-width: 768px;
	padding: 0 6px;
	margin: 0 auto;
	z-index: 10;
}
#content>:last-child {
    margin-bottom: 24px;
}
#content a {
	color: var(--body-text);
}
#content a:hover {
	color: var(--body-text-hov);
}
#content_before .bread {
	color: var(--body-text);
	background-color: var(--body-bg);
	font-size: 1em;
	max-width: 1280px;
	padding: 0 6px;
	margin: 0 auto;
	font-weight: normal;
}
#content_before .bread a {
	color: var(--body-text);
	font-size: 1em;
}
#content_before .bread:empty {
	display: none;
}
/* 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;
}
/* DROP_DOWN */
li.t3>nav {
	visibility: hidden;
	position: absolute;
	top: 1.8em;
	left: 0;
	width: auto;
	background-color: var(--menu-bg);
	box-shadow: 2px 2px 4px var(--menu-shadow);
}
li.t3>nav li.t3>nav {
	left: 99%;
	top: 0;
}
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: var(--menu-text);
	background-color: var(--menu-bg);
	text-decoration: none;
	transition: all 0.4s;
}
nav ul li a:visited {
	color: var(--menu-text);
}
nav>ul>li>a:hover {
	color: var(--menu-text-hov);
	background-color: var(--menu-bg-hov);
	transition: all 0.4s;
}
nav>ul>li.current>a {
	color: var(--menu-text-hov);
	background-color: var(--menu-bg-hov);
}
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;
	text-decoration: none;
	transition: all 0.4s;
    vertical-align: middle;
    color: var(--menu-text);
}
nav>ul>li#mobileNav p a.logo {
    float: right;
}
.no-touch nav>ul>li#mobileNav p a:hover {
	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: var(--ccg-bg-logo);
border: 3px solid var(--ccg-bg-logo);
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 {
}
/* CONTENT CUSTOM */
body.calendar {
	min-height: 100vh;
	background-color: var(--menu-bg-hov);
}
.calendar #container, .calendar #content {
	max-width: none;
	padding: 0;
}
.calendar #content section {
	min-height: 50vh;
	padding-top: 36px !important;
}
h1.action, h2.action {
	position: relative;
	z-index: 100;
	font-size: 1.2em;
	font-size: 1.2rem;
	color: var(--body-text);
	background-color: var(--action-bg);
	padding: 0.75em 0;
	margin: 0 auto;
}
h1.action:after, h2.action:after, footer.articles:after {
	position: absolute;
	font-size: 1.2em;
	font-size: 1.2rem;
	left: -2000px;
	top: 0;
	height: 100%;
	width: 100%;
	padding: 0 4000px;
	color: var(--body-text);
	background-color: var(--action-bg);
	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: var(--body-headings);
}
.placeholders form label {
	display: none;
}
.placeholders .labels label, .placeholders input[type=checkbox]+label, .placeholders input[type=radio]+label {
	display: inline-block;
	margin-top: 0;
	vertical-align: middle;
}
.placeholders form input[type=text], .placeholders form input[type=password], .placeholders form textarea {
	width: 100%;
}
#content form {
	display: block;
	margin: 0 auto;
}
input[type=checkbox], input[type=radio] {
	position relative;
	vertical-align: middle;
	appearance: none;
	border: 1px solid var(--grey);
	border-radius: 3px;
	min-width: 22px;
	min-height: 22px;
	margin-right: 6px;
	background-color: var(--grey-light);
}
input[type=radio] {
	border-radius: 22px;
}
input[type=checkbox]:checked::before {
	display: block;
	position: relative;
	color: var(--black);
	font-size: 20px;
	top: 2px;
	background: transparent;
	content: "\f00c";
}
#content form ul, #content form li {
	display: block;
	list-style: none;
	margin: 9px 0;
	padding: 0;
}
div.login {
	max-width: 288px;
	margin: 24px auto;
	padding: 12px;
	text-align: center;
	background-color: var(--menu-bg);
	color: var(--menu-text);
	border: 1px solid var(--grey-mid);
	border-radius: 6px;
}
form input[type=text], form input[type=password], form input[type=number] {
	-webkit-appearance: none;
	display: inline-block;
	padding: 3px 6px;
	border: 1px solid var(--menu-bg);
	border-bottom-color: var(--grey-mid);
	background-color: var(--input-bg);
}
form textarea {
	-webkit-appearance: none;
	display: inline-block;
	border: 1px solid var(--grey-light);
	border-bottom-color: var(--grey-mid);
	min-height: 48px;
	width: 100%;
}
li.g-recaptcha>div {
	margin: 0 auto;
}
/* HEADER */
header {
	position: relative;
	color: var(--body-headings);
}
header div.site-title p {
	margin: 0;
	font-size: 1.6em;
	font-weight: bold;
	height: 1.8em;
	line-height: 1.8em;
	letter-spacing: 2px;
    transition: 500ms all;
color: var(--body-text-inverted);
    background-color: var(--menu-bg-hov);
}
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;
}
#content_before div#test {
	position: absolute;
	top: 0;
	right: 0;
	padding: 6px 72px;
	z-index: 9999;
	pointer-events: none;
	background-color: var(--black);
	opacity: 0.3;
}
#content_before div#test * {
	margin: 0;
	padding: 0;
}
/* COLUMNS */
.cols3 {
	text-align: center;
	background-color: var(--menu-bg);/*#F5B436;*/
	color: var(--body-text);
    border-bottom: 6px solid var(--body-headings);
}
.cols3>div {
	max-width: 1280px;
	margin: 0 auto;
}
.cols3>div>div {
	display: inline-block;
	width: 33%;
	padding: 0 12px 36px 12px;
	overflow: hidden;
	vertical-align: top;
}
.cols3>div>div a {
	color: var(--body-text);
	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: var(--body-text-inverted);
}
.cols3>div>div p {
	margin: 0;
	font-size: 0.875em;
	font-size: 0.875rem;
}

/* SECTIONS */
section {
	position: relative;
	z-index: 90;
    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: var(--body-text);
	background-position: center;
	background-size: 100% auto;
	content: " ";
	z-index: -1;
    transition: 400ms background-size;
}
section * {
    color: var(--body-text);
}
section>:first-child:not(.login, img) {
	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 {
    display: inline-block;
    box-sizing: border-box;
    width: 31%;
    margin: 24px 0;
    text-align: center;
    vertical-align: top;
}
section.x2 {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: stretch;
}
section.x2 figure {
	flex: 0 0 49%;
	padding: 18px;
    text-align: left;
    background-color: var(--menu-bg);
    margin: 0;
}
section.x2 figure :first-child {
	padding-top: 0;
	margin-top: 0;
}

section figure+figure {
    margin-left: 1%;
}
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;
    margin-top: 0;
}
#content section.home0 h2 {
    font-size: 1.8em;
    transition: 500ms all;
}
#content section.home0 h3 {
    font-size: 2em;
    transition: 500ms all;
    font-weight: normal;
}
section.home0::after {
	background-color: var(--menu-bg);
}
#content section.home1 * {
    color: var(--body-text-inverted);
}
section.home1:after {
    background-color: var(--body-headings);
	background-image: url(/assets/bg-glint-w.png);
}
section.home2:after {
	background-image: url(/assets/bg-water.jpg);
}
#content section.home3 * {
    color: var(--body-text-inverted);
}
section.home3:after {
    background-color: var(--body-text);
	background-image: url(/assets/bg-lightning-bl.jpg);
}
section.home4:after {
	background-image: url(/assets/bg-avenue.jpg);
}

section.arch1 * {
    color: var(--body-text-inverted);
}
section.arch1:after {
    background-color: var(--body-headings);
	background-image: url(/assets/bg-plans.jpg);
}
section.arch2 * {
    color: var(--body-text-inverted);
}
section.arch2:after {
    background-color: var(--body-text);
	background-image: url(/assets/bg-lightning-bl.jpg);
}
section.arch3 * {
    color: var(--body-text);
}
section.arch3:after {
	background-image: url(/assets/bg-water.jpg);
}
#content section.arch4 * {
    color: var(--body-text-inverted);
}
section.arch4 figure {
    width: 47.5%;
    margin-top: 0;
}
section.arch4:after {
    background-color: var(--body-text);
	background-image: url(/assets/bg-splash-bk.jpg);
}
#content section.cs1 * {
    color: var(--body-text-inverted);
}
section.cs1:after {
    background-color: var(--body-headings);
	background-image: url(/assets/bg-drives.jpg);
}
#content section.cs2 * {
    color: var(--body-text-inverted);
}
section.cs2:after {
    background-color: var(--body-text);
	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: var(--body-text-inverted);
}
section.law2:after {
    background-color: var(--body-text);
	background-image: url(/assets/bg-splash-bk.jpg);
}
#content section.law3 * {
    color: var(--body-text-inverted);
}
section.law3:after {
    background-color: var(--body-headings);
	background-image: url(/assets/bg-drives-w.png);
}
section.real1:after {
	background-image: url(/assets/bg-avenue.jpg);
}
section.real2 * {
    color: var(--body-text-inverted);
}
section.real2:after {
    background-color: var(--body-headings);
	background-image: url(/assets/bg-sunset-w.png);
}
section.real3:after {
	background-image: url(/assets/bg-marsh-w.png);
}
#content section.mac1 * {
    color: var(--body-text-inverted);
}
section.mac1:after {
    background-color: var(--body-headings);
	background-image: url(/assets/bg-macbook-w.png);
}
#content section.mac2 * {
    color: var(--body-text-inverted);
}
section.mac2:after {
    background-color: var(--body-headings);
	background-image: url(/assets/bg-iphone.jpg);
}
section.mac3:after {
	background-image: url(/assets/bg-lightning-wh.jpg);
}
section.mac4 * {
    color: var(--body-text-inverted);
}
section.mac4:after {
    background-color: var(--body-headings);
	background-image: url(/assets/bg-sunset-w.png);
}
#content section.comp1 * {
    color: var(--body-text-inverted);
}
section.comp1:after {
    background-color: var(--body-headings);
	background-image: url(/assets/bg-macbook-w.png);
}
section.comp2:after {
	background-image: url(/assets/bg-avenue.jpg);
}
#content section.comp3 * {
    color: var(--body-text-inverted);
}
section.comp3:after {
    background-color: var(--body-headings);
	background-image: url(/assets/bg-email-w.png);
}
#pg_about div>h3 {
	clear: both;
}
form#signup {
	max-width: 414px;
	margin: 0 auto;
	padding: 12px;
	background-color: var(--menu-bg);
}
.article #content h1:first-child {
	margin-top: 0;
	padding-top: 1em;
}
#content_first {
	float: right;
	width: 50%;
	margin: 12px 0 12px 12px;
}
div.artgraphic {
	visibility: hidden;
	float: right;
	max-width: 50%;
	margin: 12px 0 12px 12px;
	clear: both;
}
div.artgraphic.active {
	visibility: visible;
}
div.artgraphic img {
	display: block;
	max-width: 50%;
	margin: 0 auto;
}
nav.article {
	visibility: hidden;
	width: 100%;
	background-color: #FFF;
}
nav.article.active {
	visibility: visible;
}
#content nav.article ul {
	padding: 0;

}
nav.article li {
	display: block;
	font-size: 0.8em;
	font-weight: bold;
}
nav.article a {
	background-color: transparent;
	text-decoration: none;
}
#content nav.article h3 a {
	color: var(--body-headings);
}
nav.article li.current a, nav.article li a:hover {
	background-color: #DDD;
}
.heading h3 {
	text-align: center;
	padding: 0;
	border-bottom: 1px solid var(--body-headings);
}
footer.articles a {
	color: var(--body-text);
}
/* FOOTER */
#wrapper_after {
	color: var(--body-text-inverted);
	background-color: var(--menu-bg-hov);
	padding: 0 0 72px 0;
}
footer {
	padding: 12px 6px;
}
footer {
	color: var(--body-text-inverted);
	text-align: center;
	z-index: 10;
}
footer a, footer h2 {
	color: var(--body-text-inverted);
}
footer a:hover {
	color: var(--body-text-hov);
}
footer p {
	font-size: 1.1em;
}
footer p.nav a {
	padding: 0 6px;
}
nav.footer>ul {
	text-align: center;
}
nav.footer>ul>li {
	font-size: 1em;
	font-size: 1rem;
}
nav.footer>ul>li>a {
	color: var(--body-text-inverted);
	background-color: transparent;
}
nav.footer>ul>li>a:hover {
	color: var(--body-text-hov);
}

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;
}
/* CUSTOMER ACCOUNT */
#pg_pay .site-title p, #pg_pay .site-title p a {
	background-color: var(--menu-bg);
	color: var(--body-headings);
}
#pg_pay #content h1:first-child {
	display:flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
	font-size: 1em;
}
#pg_pay #content h1>* {
	flex: 1 1 auto;
}
#pg_pay #content h1 *:nth-child(1) { order: 3; text-align: right; }
#pg_pay #content h1 *:nth-child(2) { order: 2; text-align: center; }
#pg_pay #content h1 *:nth-child(3) { order: 1; text-align: left; }

#pg_pay #content h1 *:last-child {
	order: 0;
	flex: 0 0 100%;
}

/* 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;
	}
}/* TARGET 768px */

/* Hide Mobile Nav on resized screens */
div.mobileNav {
    display: none;
}
@media only screen and (max-width: 767px) {
	nav#mainmenu {
		position: fixed;
		top:0;
		left:0;
		right:0;
		width: 100vw;
		max-height: 100vh;
		overflow: scroll;
		z-index: 110;
	}
	header#header, nav#mainmenu+div {
		padding-top: 47px;
	}
	nav#mainmenu+div+header#header {
		padding-top: 0;
	}
	nav>ul>li#mobileNav p {
		min-height: 44px;
		line-height: 44px;
	}
	nav>ul>li#mobileNav+li {
		border-top: 1px solid var(--grey);
	}
	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 var(--grey);
		transition: height 0.3s;
	}
	nav>ul.active>li.dropdown>nav>ul>li>a {
		padding-left: 24px;
	}
	nav.article a {
		height: auto;
		line-height: 1.2;
		overflow-wrap: break-word;
		overflow: visible;
		margin-bottom: 12px;
	}
	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,
			var(--menu-shadow) 4px, var(--menu-shadow) 5px,
			var(--black) 5px, var(--black) 6px,
			var(--menu-shadow) 6px, var(--menu-shadow) 7px,
			transparent 7px, transparent 12px,
			var(--menu-shadow) 12px, var(--menu-shadow) 13px,
			var(--black) 13px, var(--black) 14px,
			var(--menu-shadow) 14px, var(--menu-shadow) 15px,
			transparent 15px, transparent 20px,
			var(--menu-shadow) 20px, var(--menu-shadow) 21px,
			var(--black) 21px, var(--black) 22px,
			var(--menu-shadow) 22px, var(--menu-shadow) 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: var(--body-headings);
	}
	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,
			var(--grey) 4px, var(--grey) 5px,
			var(--white) 5px, var(--white) 6px,
			var(--grey) 6px, var(--grey) 7px,
			transparent 7px, transparent 12px,
			var(--grey) 12px, var(--grey) 13px,
			var(--white) 13px, var(--white) 14px,
			var(--grey) 14px, var(--grey) 15px,
			transparent 15px, transparent 20px,
			var(--grey) 20px, var(--grey) 21px,
			var(--white) 21px, var(--white) 22px,
			var(--grey) 22px, var(--grey) 23px,
			transparent 23px, transparent
		);
	}
	header h1.center {
		text-align: left;
	}
	.cols3 {
		text-align: left;
	}
	.cols3>div>div {
		display: block;
		margin: 0 auto;
		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;
	}
	#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 ) {
	section figure {
		font-size: 0.8em;
	}
	section figure img {
		height: 72px;
	}
	section.arch3 figure {
		width: 100%;
		margin-left: 0;
	}
	.calendar section div {
		margin: 0 2vw !important;
	}
}

@media only screen and (max-width: 668px) {
	section.x2 {
		display: block;
	}
	section.x2 figure {
		display: block;
		width: auto;
		max-width: 90%;
		margin: 24px 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%;
	}
}
@media (prefers-color-scheme: dark) {
	img[src*=assets]:not([src*=-w],[src*=logo]) {
		filter: invert(100%);
	}
	section.home2::after, section.home4::after, section.comp2::after, section.mac3::after, section.law1::after, section.arch3::after, section.real1::after, section.real3::after {
		filter: invert(100%);
	}
	section.mac1::after {
		filter: none;
	}
}
