body {
	-webkit-transition: all .3s linear;
	transition: all .3s linear;
}
img { -webkit-transform: translate3d(0, 0, 0); }

/* Global */
html {
	font-size: 62.5%; 
	background: #0069bf; 
}
body {
	min-width: 75%;
	font-family: Helvetica, Arial, sans-serif;
	color: #333;
	height: 100%;
}
body #recaptcha_area { line-height: normal; }
*[class*=rel] { position: relative; }
* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
img {
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
}
#Body > nav {
	position: absolute;
	top: 0;
	right: 0;
	width: 80%;
	float: left;
	background: #fff;
	z-index: 100;
}
#Body > nav { display: none; }
#Body div#slide {
	width: 100%;
	/*min-width: 320px;*/
	display: block;
	top: 0;
	z-index: 9999;
	transition: all .3s linear; 
    -webkit-transition: all .3s linear;
}
#Body.reveal div#slide { right: 0; }

/* Links*/
a, 
a:visited { text-decoration: none; }
a:hover, 
a:active,
a:focus { text-decoration: underline; }
a.opposite, 
a:visited.opposite { text-decoration: underline; }
a.opposite:hover, 
a.opposite:active,
a.opposite:focus { text-decoration: none; }

/* Colors and Fonts*/

/* font color for indexes */
*[class^=targets] p { color: #000; }

/* link, title colors */
a,
#SearchBar a,
*[class^=targets] a p[class^=title] { color: #00aeef; }
h1[class^=title] span,
*[class^=targets] a p[class^=title] span { color: #f00; }

/* related icon bg color */
#Documents img,
#Related img,
div.thumbs div.block img.icon { background: #00aeef; }

/* bar colors */
*[class^=bar] { background: #007dcb; }
*[class^=bar].alt { background: #ffc423; }
*[class^=bar] a,
div[class^=bar] p { color: #fff; }
*[class^=bar].alt p.title { color: #007dcb; }
*[class^=bar] p.right { color: #ffc423; }
#SearchBar {
	border: 1px solid #73d3f6;
	background: #f3fbfd;
}
#SearchBar div.form label,
#SearchBar div.form p { color: #3e3e3e; }
#SearchResults p.dev { color: #999; }

/* required asterisk */
span.required,
div[class^=form-row] > label span { color: #c00; }

/* paging bar */
.paging-bar > div.paging a p { 
	color: #00aeef;
	border: 1px solid #00aeef;
}
.paging-bar > div.paging a p:hover, 
.paging-bar > div.paging a p:active, 
.paging-bar > div.paging a p:focus { 
	background: #00aeef;
	color: #fff;
	border: 1px solid #00aeef;
}
.paging-bar > div.paging p.current {
	background: #00aeef;
	color: #fff;
	border: 1px solid #00aeef;
}
.paging-bar > div.paging p.divider { display: none; }
.paging-bar > div.paging p { 
	margin: 0 0 0 8px;
	color: #000;
	border: 1px solid #999;
	background: #fff;
}

/* buttons */
input[type=submit], 
button, 
a.button {
	background: #00aeef;
	color: #fff;
}

/* remove pushbutton appearance from safari/chrome on mobile and restore to designed look */
input[type="submit"],
button { -webkit-appearance: inherit; }

/* tables */
*[class^=targets] ul { border-top: 5px solid #e9f7fc; }
#Documents ul { border-top: 1px solid #a8ddf0; }
#Documents ul:first-child,
*[class^=targets] ul:first-child { border-top: 0; }
*[class^=targets] div[class^=row] { border-bottom: 5px solid #e9f7fc; }
#Portfolio ul { border: 0; }

/* attributes table for resources like Staff */
#Showcase .right { background: #e9f7fc; }
#Showcase .right .att-row p.label { border-top: 1px solid #00aeef; }
#Showcase .right .att-row:first-child p.label { border: 0; }

/* media gallery */
#MediaGallery { background: #fff; }
div.thumbs div.block div.link { border: 5px solid #00aeef; }
div.thumbs div.block div.current, 
div.thumbs div.block div.link:hover, 
div.thumbs div.block div.link:active, 
div.thumbs div.block div.link:focus { border: 5px solid #ffc423; }
div.thumbs div.block p { color: #fff; }
div.thumbs div.block p.source { background: #000; }
#MediaContent > p { color: #ccc; }

/* form fields */
input[type=text], 
input[type=password], 
textarea, 
select, 
input[type=email], 
input[type=tel], 
input[type=search] { border: 1px solid #7f9db9; }
input[type=submit], 
button { border: 1px solid #00aeef; }
input[type=text]:focus, 
input[type=password]:focus, 
textarea:focus, select:focus, 
input[type=email]:focus, 
input[type=tel]:focus, 
#globalSearch input[type=search]:focus {
	-webkit-box-shadow: 0 0 3px #999;
	box-shadow: 0 0 3px #999;
}

/* main body framework */
header { 
	background: #009cdb; 
	border-bottom: 5px solid #ffc423;
}
#content { background: #fff; }
footer { background: #007dcb url(/_themes/_images/framework/wave.png) bottom center repeat-x; }
p.copy { color: #fff; }
p.copy a { color: #fff; } 
footer ul.links li a { color: #fff; }

/* Text*/
p.centered-text { text-align: center; }
*.no-records {
	padding: 20px 0 !important;
	text-align: center;
	clear: both;
}
div[class^=gutters] { 
	width: 100%;
	max-width: 720px;
	padding: 0; 
	margin: 0 auto;
	display: block;
}
#Primary div[class^=gutters] { padding: 0 0 25px; }
#Home #Primary div[class^=gutters] { padding: 0; }

/* ALL BOLD FONT DECLARATIONS - necessary since webfonts may need to override */
a,
#SearchBar a,
#Breadcrumb ul,
#Showcase .right .att-row p.label,
.paging-bar,
.alert-error p,
div.sm-section p.title,
div.sm-section span,
*[class^=targets] p.info,
p.info { font-weight: bold; }

/* ALL ITALIC FONT DECLARATIONS - necessary since webfonts may need to override */
*[class^=targets] p.position,
*[class^=targets] p.source,
#Showcase p.source,
div.sub-title p.source,
*.no-records { font-style: italic; }

/* PT Sans
	font-family:'PT Sans W01';
	PT Sans W01 Light 			200 Extra-light 	normal
	PT Sans W01 Light Italic 	200 Extra-light 	italic
	PT Sans W01 Regular 		400 Normal 			normal
	PT Sans W01 Italic 			400 Normal 			italic
	PT Sans W01 Demi 			500 Bold 			normal
	PT Sans W01 Demi Italic 	500 Medium 			italic
*/
p.clear,
#Showcase p,
h1.title,
h2,
body > nav *,
.galleria-layer,
#Help *,
.copy *,
*[class^=targets] p,
footer *,
fieldset p,
fieldset a,
label,
div[class^=bar] p,
div.headline p,
input[type=submit], 
button,
header *,
.details * { font-family: 'PT Sans W01', Helvetica, Verdana, sans-serif; }

/* MAIN BODY TEXT SIZE DEF */
body {
	font-size: 18px; font-size: 1.8rem;
	line-height: 26px; line-height: 2.6rem;
}

/* ----- 12px ----- */
#Breadcrumb,   
p.copy { 
	font-size: 12px; font-size: 1.2rem; 
	line-height: 20px; line-height: 2rem;
}
div#HorizonCallout p {
	font-size: 12px; font-size: 1.2rem; 
	line-height: 16px; line-height: 1.6rem;
}
/* ----- 14px ----- */
#Help *,
footer ul.links p,
div[class^=bar] p.right,
div[class^=bar] a.right,
nav p,
*[class^=targets] p, 
#MediaGallery p,
label,
div[class^=form-row] p,
footer,
footer p {
	font-size: 14px; font-size: 1.4rem;
	line-height: 22px; line-height: 2.2rem;
}
input[type=text], 
input[type=password], 
textarea, 
select, 
input[type=email], 
input[type=tel], 
input[type=search] { font-size: 14px; font-size: 1.4rem; }
/* ----- 16px ----- */
h6,
.details ul,
.details ol { 
	font-size: 16px; font-size: 1.6rem; 
	line-height: 24px; line-height: 2.4rem;
}
/* ----- 18px ----- */
footer ul.main p,
#RelTab a p,
h5,
p[class^=title], 
div.headline p.long {
	font-size: 18px; font-size: 1.8rem;
	line-height: 26px; line-height: 2.6rem;
}
h5, h6 { padding: 0 0 14px; }
nav a.global p {
	font-size: 18px; font-size: 1.8rem; 
	line-height: 20px; line-height: 2rem;
}
input[type=submit] { 
	font-size: 18px; font-size: 1.8rem; 
	line-height: 18px; line-height: 1.8rem;
}
/* ----- 22px ----- */
h4,
+#HomeMedia .galleria-layer div.wrap p {
	font-size: 22px; font-size: 2.2rem;
	line-height: 30px; line-height: 3rem;
}
h4 { padding: 0 0 16px; }
/* ----- 24px ----- */
header nav p {
	font-size: 24px; font-size: 2.4rem;
	line-height: 32px; line-height: 3.2rem;
}
#logo p {
	font-size: 24px; font-size: 2.4rem;
	line-height: 26px; line-height: 2.6rem;
}
/* ----- 25px ----- */
*[class^=bar] p[class^=title] label,
*[class^=bar] p[class^=title] {
	font-size: 25px; font-size: 2.5rem;
	line-height: 27px; line-height: 2.7rem;
}
/* ----- 26px ----- */
h2,
h3,
div.headline p { 
	font-size: 26px; font-size: 2.6rem;
	line-height: 34px; line-height: 3.4rem;
}
h2, h3 { padding: 0 0 20px; }
/* ----- 42px ----- */
h1 {
	font-size: 42px; font-size: 4.2rem;
	line-height: 48px; line-height: 4.8rem;
}
/* 50px */
#HomeMedia .galleria-layer div.wrap h2 {
	font-size: 50px; font-size: 5rem;
	line-height: 54px; line-height: 5.4rem;
}
h1[class^=title] {
	padding: 35px 20px 30px;
	color: #009cdb;
}
div.page-title {
	width: 100%;
	min-height: 115px;
	float: left;
	background: #e9f7fc;
}
#content div.page-title div.wrap { 
	padding: 0; 
	position: relative;
}
@media only screen and (max-width : 1100px) {
	div.headline p.long { 
		font-size: 16px; font-size: 1.6rem; 
		line-height: 24px; line-height: 2.4rem;
	}
}

/* Images*/
img.float-right { float: right; }
img.float-left { float: left; }
div[id^=image] { position: relative; }
div#FullWrap {
	width: 100%;
	overflow: hidden;
	position: relative;
	z-index: 100;
}
#content .s-image { max-height: 230px; }
#content .r-image { max-height: 230px; }
#content .noimage { 
	max-height: none;
	min-height: 80px;
}
img[class^=full] {
	max-width: 100%;
	height: auto !important;
	margin: 0 auto;
	padding: 0;
}
div#FullWrap img.full-scale {
	width: 100%;
	padding: 0;
}
div.imageWrap {
	padding: 0 0 20px 35px;
	float: right;
}
div#NoBG { background: none; }
div.imageWrap img { float: left; }
img.left-thumb, 
div.callout img {
	border: 0;
	padding: 0;
	float: left;
}
*[class^=targets] img.right-thumb,
*[class^=targets] img.outside-thumb {
	border: 0;
	padding: 0 0 10px 20px;
	float: right;
}
*[class^=targets] img.outside-thumb {
	max-width: 200px;
	height: auto; 
}

/* Framework Header*/
#NavWrap.top-anchor {
	position: fixed;
	top: 0;
	height: 75px;
	border: 0;
	z-index: 9999;
	-webkit-box-shadow: 0 0 6px 0 rgba(0,0,0,0.7);
	box-shadow: 0 0 6px 0 rgba(0,0,0,0.7); 
}	
header {
	width: 100%;
	height: 130px;
	text-align: left;
}
header > div#NavWrap { 
	width: 100%;
	height: 125px;
	position: relative;
	background: url(/_themes/_images/framework/bg-header.gif) top center repeat-x;
}
#logo {
	width: 360px;
	height: 125px; 
	float: left;
	background-image: url(/_themes/_images/framework/afo-logo-large.png);
	background-repeat: no-repeat;
	background-position: 20px 25px;
	background-size: 160px 75px;
	z-index: 999;
}
#logo p { 
	padding: 39px 0 0 200px;
	color: #fff;
	float: left;
}
header > #NavWrap.top-anchor #logo {
	height: 75px;
	background-position: 40px 10px;
	background-size: 117px 55px;
}
header > #NavWrap.top-anchor #logo p { padding-top: 14px; }

/* Navigation*/
#mobileNav, #dropSearch { display: none; }
nav {
	width: 100%;
	padding: 0;
	float: left;
}
header nav {
	width: auto;
	height: 110px;
	padding: 50px 0 0 0;
	float: right;
}
header > #NavWrap.top-anchor nav { 
	height: 68px;
	padding-top: 8px; 
}
nav > ul {
	width: 100%;
	margin: 0;
	padding: 0;
	float: left;
}
header nav > ul { 
	height: 60px;
	padding: 0 10px 0 0;
}
header nav > ul > li {
	height: 100%;
	padding: 0 10px 0 0;
	float: left;
	z-index: 500;
	position: relative;
}
header nav > ul > li a.global {
	height: 100%;
	padding: 0 15px;
	color: #fff;
	float: left;
	font-weight: normal;
	position: relative;
}
nav > ul > li:hover a.global, 
nav > ul > li:active a.global, 
nav > ul > li:focus a.global,
nav > ul > li.on a.global { 
	text-decoration: none;
	color: #ffc423;
	transition: all .5s linear; 
    -webkit-transition: all .5s linear;
}
nav > ul > li a.global > p { 
	padding: 20px 0 0; 
	float: left;
	position: relative;
}
nav > ul > li#NQSearch {
	padding: 15px 30px 0 20px;
}
nav > ul > li#NQSearch a img {
	float: right;
}
header nav > ul > li > div.drop {
	position: absolute;
	top: 45px;
	right: 30px;
	padding: 10px;
	margin: 0;
	visibility: hidden;
	opacity: 0;
	transition: visibility 0s linear 0.2s, opacity 0.2s linear;
	-webkit-transition: visibility 0s linear 0.2s, opacity 0.2s linear;
	z-index: 800 !important;
	border-radius: 5px; 
	-webkit-border-radius: 5px;
	background: #fff; 
	border: 2px solid #ffc423;
}
header nav > ul > li:hover div, 
header nav > ul > li:active div, 
header nav > ul > li:focus div { 
	visibility: visible;
	opacity: 1;
	transition-delay: 0s;
	-webkit-transition-delay: 0s;
}
nav > ul > li#NQSearch div.q-search {
	width: 250px;
	padding: 0;
	margin: 0;
	float: left;
}
div.q-search input[type=submit] {
	width: 30px;
	height: 30px;
	float: right;
	border-radius: 15px; 
	-webkit-border-radius: 15px;
	border: 0;
}
div.q-search input[type=search] {
	width: 204px;
	height: 30px;
	padding: 2px 5px 0;
	float: left;
	background: #fff;
	-moz-appearance: textfield;
	-webkit-appearance: textfield;
}
div#search input[type=text]:focus {
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	box-shadow: none;
}
nav > ul > li ul {
	width: 100%;
	padding: 0;
	margin: 0;
	float: left;
	background: #fff;
}
nav > ul li ul li { float: left; }
nav > ul li ul li a {
	width: 100%;
	height: 100%;
	padding: 0;
	float: left;
}
nav > ul li ul li a:hover, 
nav > ul li ul li a:active, 
nav > ul li ul li a:focus {
	background-color: #e9f7fc;
	text-decoration: none;
}
nav > ul li ul li p { 
	padding: 13px 15px 10px;
	float: left; 
}

/* Framework Body*/
header, 
#content, 
footer { min-width: 320px; }
.wrap {
	width: 60%;
	margin: 0 auto;
}
@media only screen and (max-width : 1200px) {
	.wrap { width: 96%; }
	#RelTab { left: 2%; }
}
#content {
	width: 100%;
	text-align: left;
	min-height: 400px;
}
#content .wrap {
	padding: 0 0 40px; 
	clear: left;
}
#content .section { 
	padding: 50px 20px 0;
	clear: both; 
}
#content #Home #Secondary { padding-top: 20px; }
#content .bc { padding-top: 0; }
#content #RelPad {
	width: 100%;
	height: 50px;
	margin: -50px 0 0;
	display: block;
	visibility: hidden;
}
#content #PrimaryCols, 
#content #SectionCustom {
	width: 100%;
	padding: 0;
	float: left;
}
#Breadcrumb {
	width: 100%;
	min-height: 60px;
	color: #666;
}
#Breadcrumb ul { 
	padding: 9px 0 0 20px;
	margin: 0; 
}
#Breadcrumb ul li { 
	padding: 6px 5px 6px 0;
	display: inline-block;
}
#Breadcrumb ul li.divider { padding-right: 3px; } 
#RelTab {
	position: fixed;
	bottom: 0;
	left: 15%;
	margin: 0 0 0 20px;
	border-radius: 5px 5px 0 0; 
	-webkit-border-radius: 5px 5px 0 0;
	background-color: rgba(102, 102, 102, 0.9);
	display: none;
}
#RelTab.on { display: block; }
#RelTab a {
	min-height: 45px;
	padding: 0 20px;
	display: block; 
	font-weight: normal;
}
#RelTab a p { 
	padding: 10px 0 0;
	color: #fff;  
}
#BackToTop {
	position: fixed;
	right: 20px;
	bottom: 20px;
	width: 50px;
	height: 50px;
	background: url(/_themes/_images/framework/top-icon.png) top left no-repeat;
	display: none;
}
html.top-pad #BackToTop { display: block; }
#BackToTop a {
	width: 100%;
	height: 100%;
	display: block;
}
#BackToTop p { display: none; }

/* Framework Footer*/
#Help {
	width: 100%;
	min-height: 40px;
	float: left;
	background: #0069bf;
	text-align: center;
}
#Help p {
	padding: 10px;
	color: #fff;
}
#Help p a { color: #fff; }
footer .callouts {
	width: 100%;
	max-width: 640px;
	margin: 0 auto;
	padding: 0 0 30px;
}
div#HorizonCallout {
	width: 100%;
	max-width: 300px;
	height: 85px;
	margin: 20px 0 0;
	float: right;
	background: #fff;
	border-radius: 5px; 
	-webkit-border-radius: 5px;
}
div#HorizonCallout > a,
div#HorizonCallout img { float: left; }
div#HorizonCallout img {
	box-sizing: border-box;
	width: 143px;
	height: 85px;
	padding: 10px 12px;
}
div#HorizonCallout p {
	width: 155px;
	margin: 10px 0 0;
	padding: 1px 0 0 13px;
	float: left;
	text-align: left;
	border-left: 2px solid #e9f7fc;
}
div#Newsletter {
	width: 100%;
	max-width: 300px;
	height: 85px;
	margin: 20px 0 0;
	float: left;
	background: #fff;
	border-radius: 5px; 
	-webkit-border-radius: 5px;
}
div#Newsletter p.title {
	width: 100%;
	padding: 5px 15px 3px;
	float: left;
	text-align: left;
	color: #15457b;
	background: #ffc423;
	text-transform: uppercase;
	border-radius: 5px 5px 0 0; 
	-webkit-border-radius: 5px 5px 0 0;
}
div#Newsletter input[type=submit].small {
	width: 30px;
	height: 30px;
	float: right;
	border-radius: 15px; 
	-webkit-border-radius: 15px;
	border: 0;
}
div#Newsletter div.row {
	width: 100%;
	padding: 10px 15px;
	float: left;
}
div#Newsletter div.row input[type=email] {
	width: 80%;
	height: 30px;
}
footer {
	width: 100%;
	padding: 20px 0 30px;
	clear: left;
	text-align: center;
}
footer ul.links {
	width: 100%;
	padding: 10px 0;
	display: block;
}
footer ul.links li { display: inline; }
footer p { 
	padding: 0 15px;
	display: inline;
}
div.copy {
	width: 100%;
	padding: 13px 0 12px;
	text-align: left;
}
p.copy { 
	padding: 3px 20px 2px; 
	float: left;
}
p.copy a { font-weight: normal; }
div.copy div.icons { float: right; }
.circle-icons a {
	display: inline-block;
	width: 30px;
	height: 30px;
	padding: 5px;
	border-radius: 15px;
	background: rgba(255, 255, 255, 0.8);
	-o-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
.circle-icons a:hover,
.circle-icons a:active,
.circle-icons a:focus {
	background: #fff;
}
div.copy .circle-icons a {
	margin: 0 20px 0 0;
	float: right;
}
div.copy .circle-icons a.twitter {
	padding: 6px;
}
div.copy .circle-icons a.linkedin {
	padding: 6px 7px 7px;
}
div.copy .circle-icons img {
	margin: 0 auto;
	max-height: 18px;
}

/* Dev Toolbar and Error Reporting*/
#toolbar {
	display: none;
	position: fixed;
	width: 100%;
	top: 0;
	height: 25px;
	overflow: hidden;
	background-color: black;
	color: white;
	padding-top: 5px;
	padding-left: 5px;
	font-size: 0.75em;
	line-height: 0.875em;
}
#toolbar li {
	float: left;
	padding-right: 10px;
	margin-right: 10px;
	border-right: solid 1px white;
}
#toolbar span {
	margin-right: 10px;
	float: left;
}
html.toolbar-enabled { margin-top: 30px; }
.xdebug-error {
	font-family: monospace;
	width: 100%;
}
