/* @override http://youthdynamics.local/css/main.css */

/* ! colors */

/*
blue - bright:  #009ddc
blue - dark:  #00558b
blue - light:  #b8d8f2
blue - medium:  #0073a4
orange:  #f47d30
green - pale: #e7f1da
*/



/* ! base */

body {
	padding: 5px 0 10px;
	font: 62.5% Verdana, Arial, Helvetica, Geneva, sans-serif;
	background: #fff url(../img/page_bg.jpg) repeat-x left top;
}

strong {
	font-weight: bold;
}

em {
	font-style: italic;
}

a:focus {
	outline: 1px dotted;
}

blockquote {
	margin: 1em 2em;
}

hr {
	margin: 3em 0;
	padding: 0;
	border: none;
	height: 1px;
	background: #fff;
}

.left {
	float: left;
}

.right {
	float: right;
}

p.left {
	float: none;
	text-align: left;
}

p.right {
	float: none;
	text-align: right;
}

p.center {
	text-align: center;
}

img.left {
	margin: 0 25px 15px 0;
}

img.right {
	margin: 0 0 15px 25px;
}

img.center {
	margin: 0 auto 15px;
}

img.bordered,
img.bordered {
	border: 2px solid #0073a4;
	text-decoration: none;
}

.hide {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.youth_txt {
	font-weight: bold;
}



/* ! buttons */

.button {
	position: relative;
	float: left;
	min-width: 125px;
	margin: 2px 15px 3px 2px;
 	padding: 9px 20px 9px 15px;
	font-size: 12px;
	font-weight: bold;
	line-height: 1;
	color: #fff !important;  /* override link defaults */
	background-color: #00558b;
	text-decoration: none !important;  /* override link defaults */
	/* inset text effect */
	text-shadow: -1px -1px 1px rgba(0,0,0,.3);
	/* fancy gradients */
	background-image: url('../img/button-highlight.svg');  /* non-gradient supporting browsers (IE 9, Opera, etc…) */
	background-image: -moz-linear-gradient(top,
		rgba(255,255,255,0.4),
		rgba(255,255,255,0) 75%,
		rgba(255,255,255,0));
	background-image: -webkit-gradient(linear, left top, left bottom,
		from(rgba(255,255,255,0.4)),
		color-stop(0.75, rgba(255,255,255,0)),
		to(rgba(255,255,255,0)));
	/* round corners */
	-moz-border-radius: 20px;
	-webkit-border-radius: 20px;
	border-radius: 20px;
	/* drop shadow */
	-moz-box-shadow: 0 1px 2px rgba(0,0,0,.4);
	-webkit-box-shadow: 0px 1px 2px rgba(0,0,0,.6);
	box-shadow: 0 1px 2px rgba(0,0,0,.4);
	/* smooth transition */
	-webkit-transition: background 0.4s ease;
	-moz-transition: background 0.4s ease;
	-o-transition: background 0.4s ease;
	transition: background 0.4s ease;
}

.button::before {
	content: '› ';
}

.button:hover,
.button:active,
.button:focus {
	top: 1px;
	background-color: #0073a4;
	-moz-box-shadow: 0 0 2px rgba(0,0,0,.4);
	-webkit-box-shadow: 0 0 2px rgba(0,0,0,.8);
	box-shadow: 0 0 2px rgba(0,0,0,.4);
}

button.button {
	float: none;
	border: none;
	font-family: Verdana, Arial, Helvetica, Geneva, sans-serif;  /* override WebKit default */
	font-weight: bold;
}

button.button::before {
	content: '';
}

button.button::-moz-focus-inner {  /*Remove button padding in FF*/
    border: 0;
    padding: 0;
}

/* small button */

.small-button {
	min-width: 50px;
	padding: 4px 12px;
	font-size: 10px;
	/* round corners */
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	border-radius: 10px;
}

.small-button::before {
	content: '';
}

/* primary (promoted) button */

.primary-button {
	background-color: #6dac20;
}

.primary-button:hover,
.primary-button:active,
.primary-button:focus {
	background-color: #7bc224;
}

/* secondary (demoted) button */

.secondary-button {
	padding: 7px 13px;
	margin-right: 12px;
	min-width: 100px;
	background-color: #777;
}

.secondary-button:hover,
.secondary-button:active,
.secondary-button:focus {
	background-color: #999;
}

/* buttons wrapper (clear floats) */

.buttons-wrapper {
	width: 100%;
	overflow: hidden;
}



/* ! overlays (jQuery Tools) */

/* the overlayed element */
.overlay {
	display:none;  /* must be initially hidden */
	max-width: 720px;	
	min-height: 200px;
	background-color: #333;
	border: 1px solid #666;
	
	/* keep images centered and flush to the bottom edge */
	text-align: center;
	line-height: 1;
	font-size: 1px;
	
	/* drop shadow */
	-moz-box-shadow: 0 0 90px #000;
	-webkit-box-shadow: 0 0 90px #000;
	box-shadow: 0 0 90px #000;
}

.overlay img {
	max-width: 100%;
}

.overlay .close {
	position: absolute;
	top: -15px;
	right: -15px;
	width: 35px;
	height: 35px;
	background-image: url(../img/overlay/close.png);
	cursor: pointer;
}



/* ! page wrapper */

#wrapper {
	background: url(../img/wrapper_bg.gif) repeat-y center top;
}



/* ! top navigation */

#top-nav {
	position: relative;  /* necessary for the z-index */
	padding: 15px 0 12px;  /* we have 3px of white margin from the top of the #header */
	font-size: 1.2em;
	background: url("../img/top-nav-background.png") no-repeat center top;
	z-index: 100;  /* keep our submenus above other relative elements, such as #header */
}

#top-nav .menu {
	float: right;
	margin: 0 10px;
}

#top-nav .menu li {
	position: relative;
	float: left;
	padding: 0 5px;
	text-transform: uppercase;
	border-right: 1px solid #00558b;
	line-height: 1;
}

#top-nav .menu li.last {
	border: none;
	padding-right: 5px;
}

#top-nav .menu a {
	display: block;
	padding: 1px 10px;
}

#top-nav .menu a:link,
#top-nav .menu a:visited {
	color: #00558b;
	text-decoration: none;
}

#top-nav .menu a:hover,
#top-nav .menu a:active,
#top-nav .menu a:focus {
	color: #f47d30;
	text-decoration: none;
}

/* top nav active menu states */

body.news-events #top-nav .news-events > a,
body.programs #top-nav .programs > a,
body.about #top-nav .about > a,
body.employment #top-nav .employment > a,
body.documents #top-nav .documents > a,
body.contact #top-nav .contact > a {
	color: #009ddc !important;
}

/* top nav sub-menus */ 

#top-nav .menu .menu {
	display: none;
	position: absolute;
	left: -25px;
	min-width: 125%;
	padding: 15px 3px 10px;
	background-color: white;
}

#top-nav .menu li.last .menu {
	/* align last top level sub menu from the right to keep within page */
	right: 0;
	left: auto;
	min-width: 110%;
	margin: 0;
}

#top-nav .menu li:hover .menu,
#top-nav .menu li.sfHover .menu {
	display: block;
}

#top-nav .menu li.sfHover .menu {
	/* the clip value (to hide the top of the shadow) breaks the li:hover over the sub-menu, so only apply it to our JavaScript hovers */
	-moz-box-shadow: 2px 4px 6px rgba(0,0,0,.4);
	-webkit-box-shadow: 2px 4px 6px rgba(0,0,0,.4);
	box-shadow: 2px 4px 6px rgba(0,0,0,.4);
	clip: rect(15px, 9999px, 9999px, -10px);
}

#top-nav .menu .menu li,
#top-nav .menu .menu li.last {
	float: none;
	padding: 0;
	text-transform: none;
	border: none;
}

#top-nav .menu .menu a {
	padding: 8px 27px;
	white-space: nowrap;
}

#top-nav .menu .menu a:before {
	content: '› ';
	text-decoration: none !important;  /* wish this worked :-/ */
}

#top-nav .menu .menu a:hover,
#top-nav .menu .menu a:active,
#top-nav .menu .menu a:focus {
	color: #00558b;
	text-decoration: underline;
	background-color: #e7f1da;
}



/* ! header */

#header {
	position: relative;
	margin-top: 3px;
	margin-bottom: 3px;
	height: 170px;
	background: #00558b url(../img/header_bg.jpg) no-repeat right center;
	z-index: 1;  /* keep our bottom logo edge above the content area below */
}

#header .logo {
	position: absolute;
	top: 24px;
	left: 44px;
}



/* ! side navigation */

#side-nav {
	width: 237px;  /* fudge the grid width to narrow the sidebar margin */
	min-height: 300px;  /* display the full gradiating background */
	margin-right: 3px;  /* fudge the grid margine to create the white outline */
	padding-top: 80px;
	padding-bottom: 60px;  /* bottom padding so the background can fade out gracefully */
	position: relative;
	background: url(../img/navigation_bg.jpg) repeat-x left top;
}

#side-nav h2 {
	margin: 10px 15px;
	color: #00558b;
	font-size: 1.2em;
	text-transform: uppercase;
}

#side-nav .menu {
	margin: 10px 10px 20px;
	font-size: 1.2em;
}

#side-nav .menu li {
	padding: 5px 0;
	border-top: 1px solid #fff;
}

#side-nav .menu li.last {
	border-bottom: 1px solid #fff;
}

#side-nav .menu a {
	display: block;
	margin-left: .8em;
	padding: 5px;
}

#side-nav .menu a:link,
#side-nav .menu a:visited {
	color: #00558b;
	text-decoration: none;
}

#side-nav .menu a:hover,
#side-nav .menu a:active {
	color: #f47d30;
	text-decoration: none;
}

#side-nav .menu a:before {
	content: '› ';
	margin-left: -.8em;
}

/* side navigation active menu states */

/*
body.news #side-nav .news a {
	color: #009ddc !important;
}
*/

/* side actions menu */

#side-nav .action-menu {
	margin: 35px 10px 20px;
	/*border-top: 1px solid #fff;*/
}

#side-nav .action-menu li {
	width: 100%;
	margin: 15px 0;
	overflow: hidden;
}



/* ! content */

#content {
	position: relative;
	margin-left: 0;  /* fudge the grid to remove the sidebar gutter */
	min-height: 660px;  /* make the background fill up to the sidebar nav */
	color: #00558b;
	background: #b8d8f2 url(../img/content_bg.jpg) repeat-x left top;
}

#content h1,
#content h2,
#content h3,
#content h4,
#content h5,
#content h6 {
	margin-bottom: .5em;
	font-weight: bold;
}

#content h1 {
	font-size: 2.1em;
}

#content h2 {
	font-size: 1.5em;
}

#content h3 {
	font-size: 1.3em;
}

#content h4,
#content h5,
#content h6 {
	font-size: 1.1em;
}

#content p {
	margin: 1em 0 1.8em;
	font-size: 1.1em;
	line-height: 1.6;
}

#content p.byline {
	margin: 0 0 .25em;
	color: #009ddc;
	font-style: italic;
}

#content p.date {
	margin: 0 0 .25em;
	color: #009ddc;
	font-weight: bold;
}

#content p.note {
	font-size: 1em;
	font-style: italic;
	color: #0073a4;
	line-height: 1.3;
}

#content ul,
#content ol {
	margin: 1em 0 1.8em 2.5em;
	font-size: 1.1em;
	line-height: 1.3em;
}

#content ol {
	list-style: decimal;
}

#content ol ol {
	list-style: upper-alpha;
}

#content ol ol ol {
	list-style: decimal;
}

#content ul {
	list-style: square;
}

#content li {
	margin: 0 0 .3em;
}

#content dl {
	margin: 1em 0 2.5em;
}

#content dt {
	margin: 1em 0 .5em;
	font-size: 1.3em;
	font-weight: bold;
}

#content dd {
	margin: 0 0 2em;
	font-size: 1.1em;
}

#content a:link,
#content a:visited {
	color: #009ddc;
	text-decoration: underline;
}

#content a:hover,
#content a:active,
#content a:focus {
	color: #f47d30;
	text-decoration: none;
}

#content a:hover img.bordered,
#content a:active img.bordered,
#content a:focus img.bordered {
	border-color: #f47d30;
}

#content .main {
	margin-top: 30px;
	margin-bottom: 10px;
}

#content .pull_quote {
	float: right;
	margin: 30px 0 30px 20px;
}

#content .banner {
	border-top: 3px solid #fff;
}

#content .banner img {
	vertical-align: bottom;
}

#content .questions_list {
	margin: 0 0 3em;
	padding-bottom: 3em;
	list-style: none;
	border-bottom: 1px solid #fff;
}

#content .questions_list li {
	margin: .5em 0 1em;
	font-size: 1.1em;
}



/* ! tables */

#content table {
	margin: 3em 0;
	border: 1px solid #0073a4;
}

#content table p {
	margin: 1em .5em;
	font-size: 1em;
	line-height: 1.2;
}

#content thead {
	color: #fff;
	background: #0073a4;
}

#content thead th {
	border-right: 1px solid #b8d8f2;
}

#content thead th:last-child {
	border-right: 1px solid #0073a4;
}

#content thead td {
	border: none;
}

#content th {
	padding: 3px 6px;
	font-size: 1.1em;
	font-weight: bold;
	border-left: 1px solid #0073a4;
}

#content td {
	padding: 3px 8px;
	font-size: 1.1em;
	border: 1px solid #0073a4;
}



/* ! forms */

#content form {
	margin: 1.5em 0 3em;
}

#content fieldset {
	margin: 10px 0 20px;
}

#content legend {
	padding: 0 10px 5px;
	color: #0073a4;
	font-size: 1.2em;
	font-style: italic;
}

#content form ol {
	margin: 0;
	font-size: 1em;
	line-height: 1;
	list-style: none;
}

#content form li {
	clear: both;
	padding: 5px 15px 5px 0;
}

#content form li.left {
	clear: none;
	margin-top: 0;
}

#content form .note {
	width: 300px;
	font-size: 1.1em;
	font-style: italic;
	line-height: 1.2;
}

#content label {
	display: block;
}

#content label.left,
#content label.checkbox,
#content label.radio {
	float: none;
	display: inline;
}

#content label.left {
	margin-right: 10px;
}

#content input,
#content textarea {
	width: 300px;
	padding: 1px 4px;
}

#content input,
#content select,
#content textarea {
	font: 1.2em Verdana, Arial, Helvetica, Geneva, sans-serif;
}

#content input.button,
#content input.checkbox,
#content input.radio,
#content input.image {
	width: auto;
}

#content input.button {
	border: none;
	float: none;
	line-height: normal;  /* this can't be overriden in FireFox, so declare for all */
	font-weight: bold;
	padding: 6px 15px;
}

#content .message {
	font-size: 1.3em;
}

#content .error {
	color: #f47d30;
}

#content .success {}

/* specific form fields */

#content form #amount {
	margin-left: 5px;
	width: 50px;
}

#content form input#item_number {
	width: 200px;
}

#content form #first_name {
	width: 135px;
}

#content form #last_name {
	width: 135px;
}

#content form #address1 {
	margin-bottom: 5px;
}

#content form #city {
	width: 150px;
}

#content form #zip {
	width: 50px;
}

#content form #night_phone_a,
#content form #night_phone_b {
	float: left;
	margin-right: 10px;
	margin-bottom: 10px;
	width: 40px;
}

#content form #night_phone_c {
	float: left;
	width: 60px;
}



/* ! collapsable bios */

#content p.bio-toggle {
	margin: -1em 0 0;
}

#content p.bio-toggle + .bio {
	margin-top: 0;  /* prevents jumpy jQuery slide animation */
}



/* ! footer */

#footer {
	margin-top: 3px;
	margin-bottom: 3px;
	padding: 15px 0;
	color: #fff;
	font-size: 1.1em;
	text-transform: lowercase;
	background: #00558b;
}

#footer a {
	display: block;
	padding: 0 5px;
}

#footer a:link,
#footer a:visited {
	color: #fff;
	text-decoration: none;
}

#footer a:hover,
#footer a:active {
	color: #fff;
	text-decoration: underline;
}

/* footer menu */

#bottom-nav .menu {
	margin-left: 30px;
}

#bottom-nav .menu li {
	float: left;
	margin-right: 5px;
	padding-left: 5px;
	border-left: 1px solid #f47d30;
}

#bottom-nav .menu li.first {
	padding-left: 0;
	border: none;
}

/* footer vCard */

#footer .vcard {
	float: right;
	margin-right: 35px;
	font-style: normal;
}

#footer .vcard .org,
#footer .vcard .tel {
	float: left;
}

#footer .vcard .tel {
	margin-left: 5px;
	padding-left: 10px;
	border-left: 1px solid #f47d30;
}

/* footer vCard non-displayed fields */

#footer .vcard .adr,
#footer .vcard .tel .type {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}



/* ! page - home */

body.home #content {
	background-image: url(../img/content_bg_home.jpg);
}



/* ! page - location map */

body.about #map {
	margin: 2em -40px;
}

