html {
	background: url(../images/bg-lines.gif) 0 165px repeat-x;
	}

body {
	background: url(../images/bg.gif) top left repeat-x;
	color: #2a2a2a;
	font: 62.5% Arial, Helvetica, sans-serif;
	}	
	
/*========================= GENERAL LINKS ========================*/
	
a {
	color: #4380bf;
	}
	
a.hl {
	color: #d47b01;
	}

a:hover, span.hl-link a:hover, span.hl-link2 a {
	text-decoration: none;
	}
	
a#login {
	position: absolute;
	top: 0;
	left: 810px;
	}
	
.rt-col a img{
	margin: 9px;
	}
	
.lft-col a.lk-top {
	float: right;
	font-size: .8em;
	padding-top: 3px;
	text-decoration: none;
	}
	
.lft-col a.lk-top:hover, span.hl-link2 a:hover {
	text-decoration: underline;
	}
	
.lft-col span.hl-link2 a {
	color: #3f6b98;
	}

a#learn-more {
	position: absolute;
	height: 30px;
	top: 11px;
	left: 670px;
	width: 180px;
	z-index: 10;
	}

/*========================== TYPOGRAPHY ==================*/

.lft-col h2 {
	background: url(../images/bg-dots-hz.gif) bottom center repeat-x;
	clear: both;
	color: #273f57;
	font-size: 1.3em;
	padding: 0 0 5px 5px;
	margin: 0 20px 20px 20px;
	}

.lft-col p {	
	line-height: 1.6em;
	padding: 0 35px 0 25px;
	margin: 0 0 20px 0;	
	}
	
.full h3 {
	font-size: 1.6em;
	font-weight: bold;
	margin-bottom: 10px;
	}
	
.full ul, .full p {
	font-size: 1.4em;
	line-height: 1.6em;
	margin-bottom: 15px;
	}
	
.rt-col h2, .rt-col h3, .rt-col p, .rt-col ul {
	padding: 0 25px;
	}
	
.rt-col h3 {
	color: #3f6b98;
	font-weight: bold;
	margin-bottom: 5px;	
	}

.rt-col h3.first {
	font-size: 1.6em;
	}
	
.rt-col h3 {
	font-size: 1.5em;
	}	
	
.rt-col p, .rt-col ul {
	font-size: 1.3em;
	line-height: 1.5em;
	}	
	
.rt-col li {
	background: url(../images/arrow-bul.jpg) left 5px no-repeat;
	padding-left: 20px;
	}
	
.rt-col li a {
	font-weight: normal;
	text-decoration: none;
	}
	
.rt-col li a:hover {
	text-decoration: underline;
	}			
	
.rt-col a {
	color: #4380bf;
	font-weight: bold;
	text-decoration: underline;
	}
	
.rt-col a:hover {
	text-decoration: none;
	}
	
#gal h2 {
	color: #273f57;
	font-size: 1.8em;
	font-weight: bold;
	margin: 10px 0 8px 20px;
	}	
	
#gal p {
	font-size: 1.4em;
	line-height: 1.7em;
	margin-left: 20px;
	}	
	
#gal span {
	margin: 0 4px;
	}	

/*========================= SITE STRUCTURE =================*/

#wrap {
	margin: 0 auto;
	width: 960px;
	}
	
#header {
	height: 165px;
	position: relative;
	}
		
#content-wrap {
	background: #f7f7f7;
	border: 1px solid #cad5da;
	margin: 10px 0;
	padding: 9px 9px 0 9px;
	}	
	
.lft-col, .rt-col, .full, #cntr-col {
	background: #fff;
	border: 1px solid #afc3cb;
	margin-bottom: 9px;
	}
	
#gal {
	margin: -7px 0 15px 7px;
	}	
	
.lft-col {
	border-top: 1px solid #7992ab;
	border-bottom: 1px solid #7992ab;
	float: left;
	font-size: 1.4em;	
	width: 618px;
	}		
	
.rt-col {
	border-bottom: 1px solid #7992ab;
	float: right;
	width: 308px;
	}	
		
.full {
	border-bottom: 2px solid #7992ab;
	clear: both;
	}
	
.lft-col-sm, .mid-col-sm, .rt-col-sm {
	width: 300px;
	}
	
.lft-col-sm {
	background: url(../images/bg-dots.gif) right center repeat-y;
	float: left;
	margin-left: 13px;
	}
	
.mid-col-sm {
	background: url(../images/bg-dots.gif) right center repeat-y;
	float: left;
	margin-left: 6px;
	}
	
.rt-col-sm {
	float: right;
	margin-right: 13px;
	}

	
/*========================= HEADER ======================*/

a#login {
	background: url(../images/bg-login.gif) top left no-repeat;
	color: #2a2a2a;
	font-size: 1.4em;
	font-weight: bold;
	height: 36px;
	padding-top: 8px;
	position: absolute;
	right: 0;	
	top: 0;
	text-align: center;
	text-decoration: none;
	width: 146px;
	}	
	
a#login:hover {
	color: #3ca2f8;
	text-decoration: underline;
	}	
	
div.logo {
	position: absolute;
	top: 0;
	left: 0;
	}	
	
#header .tagline {
	position: absolute;
	top: 85px;
	right: 10px;
	}	
	
/* NAVIGATION */

#header #nav {
	font-size: 1.3em;
	height: 40px;
	margin-top: 128px;
	text-align: center;
	}
	
#header #nav li {
	display: inline;
	}
	
#header #nav a {
	color: #fff;
	float: left;
	margin-left: 5px;
	padding: 10px 0 10px 20px;
	text-decoration: none;
	}	
	
#header #nav a:hover,
#header #nav a.active {	
	background: #171717 url(../images/bg-nav-lft.gif) top left no-repeat;
	padding: 10px 0 10px 20px;	
	}
	
#header #nav span {
	padding: 10px 26px 10px 0;
	}	
	
#header #nav a:hover span,
#header  #nav span.active {
	background: url(../images/bg-nav-rt.gif) top right no-repeat;
	padding: 10px 26px 10px 0;
	}
	
/*====================== FOOTER ================================*/

#footer {
	width: 960px;
	}
	
#footer #copyright {
	color: #7c7c7c;
	font-size: 1.1em;
	margin-bottom: 30px;
	text-align: center;
	}
	
/* Navigation */

#footer ul#nav {
	background: #2a2a2a;
	border-top: 4px solid #072532;
	padding: 12px 0 15px 15px;
	margin-bottom: 15px;
	text-align: center;
	}	
	
#footer #nav li {
	font-size: 1.3em;
	display: inline;
	margin-right: 40px;
	text-align: center;
	}
	
#footer #nav li.none {
	margin-right: 0;
	}
	
#footer #nav li a {
	color: white;
	text-decoration: none;
	}
		
#footer #nav a:hover { 
	color: #4380bf;
	}
	
/*======================= PAGE SPECIFIC ======================*/

/* Index */	

#index-hl {
	margin-bottom: 12px;
	}
	
.home .rt-col p {
	font-size: 1.2em;
	line-height: 1.4em;
	margin-bottom: 30px;
	padding: 3px 25px 0 0;
	}	
	
.home .rt-col img.map-thumb {
	float: left;
	margin: 0 15px 0 70px;
}

.home .lft-col {
	width: 548px;	
	}
	
.home .rt-col {
	width: 378px;
	}	

.home .action-bar {
	background: url(../images/bg-action-bar.gif) top left no-repeat;
	margin-bottom: 15px;
	width: 378px;
	}
	
/* Locations */

.locations .lft-col div.hl {
	margin-bottom: 0;
	}

.locations .lft-col h2 {
	margin-top: 30px;
	}
	
.locations .lft-col h2.mt-0 {
	margin-top: 0;
	}

.locations .lft-col ul.loc-box {
	margin: 0 0 30px 25px;
	}

.locations ul.loc-box li {
	background: none;
	padding: 0;
	margin: 0;
	}

.locations .loc-img {
	float: left;
	width: 160px;
	}
	
.locations .loc-img img {
	display: block;
	margin: 0 auto 7px auto;
	}
	
.locations .lft-col .loc-content {
	padding: 0;
	margin: 0;
	float: right;
	width: 430px;
	}
	
#residential,
#darwin,
#drake,
#opal,
#wheelock,
#willowbrook {
	display: none;
	}
	
/* Contact */

 .contact #main-office li {
	 background: none;
	 float: left;
	 line-height: 1.6em;
	 margin-bottom: 35px;
	 padding: 0 40px 0 0;
	 width: 150px;
 	}
	
.contact #main-office li.img {
	padding-right: 15px;
	width: 104px;
	}

.contact ul.list-contact, .contact #main-office {
	margin: 0 35px;
	}
	
.contact .list-contact li {
	background: none;
	float: left;
	font-size: .85em;
	line-height: 1.4em;
	margin: 0 45px 30px 0;
	padding: 0;
	width: 150px;
	}
	
.contact .list-contact li a.b {
	text-decoration: none;
	}
	
.contact .list-contact li a.hl {
	font-size: .85em;
	}

	
/*======================= GENERAL ELEMENTS ======================*/


/* Highlight */

div.hl {
	background: url(../images/bg-hl.gif) 0 0 repeat-x;
	border: 3px solid #6293c5;
	margin: 0 auto 30px auto;
	text-align: center;
	width: 374px;	
	}
	
.hl .ct {
	border: 2px solid #fff;
	padding: 5px 0 13px;
	margin: 0;
	}
	
.hl a {
	color: #2a2a2a;
	font-size: 1.2em;
	font-weight: bold;
	text-decoration: underline;
	}	
	
.hl a:hover {
	text-decoration: none;
	}
	
div.hl .hl-address,
div.address ul {
	font-size: .85em;
	text-align: left;
	margin: auto;
	}
	
div.hl .hl-address {	
	width: 330px;
	}
	
div.hl .hl-address li,
div.address ul li {
	background: none;
	line-height: 1.3em;
	padding: 0;
	margin: 0;
	}
	
div.hl .hl-address li.lft,
div.hl .hl-address li.md,
div.hl .hl-address li.rt,
div.address .address-top ul li.lft,
div.address .address-top ul li.md,
div.address .address-top ul li.rt {
	float: left;
	}
	
div.hl .hl-address li.lft,
div.address ul li.lft {
	background: url(../images/bg-dots.gif) right top repeat-y;
	margin-right: 5%;
	width: 45%;
	}
	
div.hl .hl-address li.md,
div.address ul li.md {
	width: 20%;
	}
	
div.hl .hl-address li.rt,
div.address ul li.rt {
	width: 30%;
	}
	
/* Address Boxes */

div.address {
	background: url(../images/bg-div-loc-bot.gif) left bottom no-repeat;
	margin: 0 auto;
	width: 370px;
	}
	
div.address .address-top {
	background: url(../images/bg-div-loc-top.gif) 0 0 no-repeat;
	}
	
div.address ul {
	width: 330px;
	}
	
/* Action Bar */
		
.action-bar {
	background: url(../images/bg-action-bar-sh.jpg) top left no-repeat;
	height: 74px;
	margin-bottom: 22px;
	position: relative;
	width: 308px;
	}	
	
img#button-contact,
img#button-application {
	position: absolute;
	top: 5px;
	left: 16px;
	}
	
.home img#button-contact {
	top: 5px;
	left: 52px;
	}

/* Media Box */

.media-box {
	background: white;
	float: right;
	margin-bottom: 9px;
	padding: 9px;
	border: 1px solid #7992ab;
	}
	
/* Dividers */

.rt-col span.divider {
	background: url(../images/bg-dots-hor.jpg) top left repeat-x;
	display: block;
	height: 3px;
	margin: 20px 40px;
	}
	
/* Right Column Background */

.col-bg {
	background: white url(../images/bg-cell.gif) 0 74px repeat-x;
	}
	
.col-bg-short {
	background: white url(../images/bg-cell.gif) 0 0 repeat-x;
	}
	
/* Highlights */
	
span.hl-link {
	border: 1px solid #cad5da;
	display: block;
	margin: 0 auto 15px auto;
	padding: 4px 0 6px 0;
	text-align: center;
	width: 180px;
	}		
	
span.hl-link a {
	color: #2a2a2a;
	font-size: 1.6em;
	font-weight: bold;
	font-style: italic;
	text-decoration: underline;
	}
	
span.hl-link2 {
	background: #f9f9f9;
	border: 1px solid #a9a9a9;
	float: left;
	display: block;
	margin: 0 20px 0 0;
	padding: 10px 20px;
	}
		
/*======================= GENERIC LISTS ======================*/

.lft-col ul {
	margin: 0 0 20px 60px;
	}
	
.home .lft-col-sm ul,
.home .mid-col-sm ul,
.home .rt-col-sm ul {
	margin: 0 0 20px 30px;
	text-align: left;
	}

.lft-col ul li,
.home .lft-col-sm li,
.home .mid-col-sm li,
.home .rt-col-sm li {
	background: url(../images/arrow-bul.jpg) left 5px no-repeat;
	line-height: 1.4em;
	margin-bottom: 5px;
	padding: 0 40px 0 20px;
	}
	
/* Sub Navigation List */

.lft-col #menu-sub {
	background: #fbfbfb;
	border: 1px solid #afc3cb;
	float: right;
	font-size: 90%;
	font-weight: bold;
	margin-right: 35px;
	padding: 15px;
	width: 190px;
	}
	
.lft-col #menu-sub li {
	background-image: url(../images/arrow-bul-org.gif);
	margin-bottom: 10px;
	padding: 0 0 0 15px;
	}
	
.lft-col #menu-sub li.last {
	margin-bottom: 0;
	}
	
.lft-col #menu-sub li a {
	color: #d47b01;
	}
	
/*======================= REPLACEMENTS ======================*/

.logo, .hdr-lft-col, .hdr-full, .home .hdr-lft-col {
	color: #2a2a2a;
	display: block;
	font-size: 1.6em;
	overflow: hidden;
	position: relative;
	}
	
.logo {
	cursor: pointer;
	}
	
span#logo,
span#welcome,
span#programs-full,
span#supported-housing,
span#locations,
span#residential-programs,
span#mental-health-support,
span#contact,
span#staff,
span#programs,
span#internship,
span#about,
span#gallery {
	position: absolute;
	height: 100%;
	width: 100%;
	}

.logo {
	height: 125px;
	width: 400px;
	}

.home .hdr-lft-col {	
	margin-bottom: 25px;
	width: 548px;
	}
	
.hdr-lft-col {
	height: 88px;	
	margin-bottom: 15px;
	width: 618px;
	}	

.hdr-full {
	height: 50px;
	margin-bottom: 15px;
	width: 938px;
	}	

span#logo {
	background: url(../images/rep/logo.gif) top left no-repeat;
	}	

span#welcome {
	background: url(../images/rep/welcome.gif) top left no-repeat;
	}	

span#programs-full {
	background: url(../images/rep/programs.gif) top left no-repeat;
	}
	
span#about {
	background: url(../images/rep/about.jpg) top left no-repeat;
	}
	
span#mental-health-support {
	background: url(../images/rep/mental-health-support.jpg) top left no-repeat;
	}
	
span#supported-housing {
	background: url(../images/rep/supported-housing.jpg) top left no-repeat;
	}
	
span#residential-programs {
	background: url(../images/rep/residential-programs.jpg) top left no-repeat;
	}
	
span#internship {
	background: url(../images/rep/internship.jpg) top left no-repeat;
	}
	
span#programs {
	background: url(../images/rep/programs.jpg) top left no-repeat;
	}
	
span#contact {
	background: url(../images/rep/contact.jpg) top left no-repeat;
	}

span#staff {
	background: url(../images/rep/staff.jpg) top left no-repeat;
	}
	
span#locations {
	background: url(../images/rep/locations.jpg) top left no-repeat;
	}	
	
span#gallery {
	background: url(../images/rep/gallery.jpg) top left no-repeat;
	}
	
/*======================= MISC ===============================*/

.clear {
	clear: both;
	}
	
.clear-rt {
	clear: right;
	}
	
.center {
	text-align: center;
	}	
	
.center-block {
	display: block;
	margin-left: auto;
	margin-right: auto;
	}

.rt {
	float: right;
	}
	
.lft {
	float: left;
	}

.spacer {
	display: block;
	clear: both;
	height: 1px;
	width: 100%;
	}
	
.skip {
	height: 0;
	width: 0;
	overflow: hidden;
  	position: absolute; /* for the benefit of IE5 Mac */
	}
	
/* Styling */
	
.b {
	font-weight: bold;
	}
	
.it {
	font-style: italic;
	}

.un {
	text-decoration: underline;
	}
	
.txt-rt {
	text-align: right;
	}
	
.bg-txt {
	font-size: 120%;
	}
	
/* Images */

img.sm {
	border: 1px solid #afc3cb;
	padding: 4px;
	}
	
img.md {
	border: 1px solid #afc3cb;
	padding: 9px;
	}

/* Spacing */

.lft-col .mb-n,
.rt-col .mb-n {
	margin-bottom: 0;
	}

.lft-col .mr-n,
.rt-col .mr-n {
	margin-right: 0;
	}
	
.lft-col .ml-25,
.rt-col .ml-25 {
	margin-left: 25px;
	}

.lft-col .mb-10,
.rt-col .mb-10 {
	margin-bottom: 9px;
	}

.lft-col .mb-15,
.rt-col .mb-15,
.home .mb-15 {
	margin-bottom: 15px;
	}
	
.lft-col .mb-20,
.rt-col .mb-20 {
	margin-bottom: 20px;
	}
	
.lft-col .mt-30,
.rt-col .mt-30 {
	margin-top: 30px;
	}
	
.lft-col .mb-35,
.rt-col .mb-35 {
	margin-bottom: 35px;
	}
	
.lft-col .mb-50,
.rt-col .mb-50 {
	margin-bottom: 50px;
	}
	
.lft-col .ml-75,
.rt-col .ml-75 {
	margin-left: 75px;
	}
	
.lft-col .ptb-10,
.rt-col .ptb-10 {
	padding: 10px 0;
	}
	
.lft-col .pb-25,
.rt-col .pb-25 {
	padding-bottom: 25px;
	}
	
.lft-col .pt-15,
.rt-col .pt-15 {
	padding-top: 15px;
	}
	
.lft-col .pt-25,
.rt-col .pt-25 {
	padding-top: 25px;
	}

/* Specific Elements */	

.contact .list-contact li.mr-n,
.contact #main-office li.mr-n {
	margin-right: 0;
}

.contact .rt-col h3.mt-15 {
	margin-top: 15px;
	}
