/*
-----------------------------------------------
Toronto Financial Services Alliance
media: screen
author: Jay Kerr / JAK MEDIA
version: Jan 25, 2010, 1:12 PM
----------------------------------------------- */

/* 
STICKER - A valid, easy to use CSS sticky footer by Ryan Fait
Copyright (c) 2006-2007 Ryan Fait
*/

html, body {
	height: 100%;
}

* { margin: 0; padding: 0; }


/* Page Structure
----------------------------------------------- */
body {
	background: #fff url(/images/bg-navigation.gif) top left repeat-x;
	font: 12px/16px "HelveticaNeue", Helvetica, Arial, sans-serif;
	color: #515151;
}	

.wrapper {	
	min-height: 100%;	
	height: auto !important;	
	height: 100%;	
	margin: 0 auto -53px; /* the bottom margin is the negative value of the footer's height */
}

#header {
	width: 960px; height: 83px;
}

#push {	
	height: 53px; /* #push must be the same height as #footer */
}

#footer {
  	height: 53px; /* #push must be the same height as #footer */
	background: #646464;
	clear: both;
}

.floatleft {
	float: left;
}

.floatright {
	float: right;
}

.clear {
	clear: both;
}


/* Header
----------------------------------------------- */
#logo {
	float: left;
	width: 335px;
}

#globalnav-wrapper {
	float: left;
	width: 625px; height: 83px;
	text-align: right;
}

#globalnav-top {
	height: 30px;
	font-size: 12px; line-height: 30px;
	text-align: right;
}

ul#navlist-a {
	list-style: none; 
	background: transparent;
}

ul#navlist-a li {
	text-align: right;
	float: right; 
	margin: 0; 
	padding: 0 6px 0 16px; 
	background: transparent;
}

ul#navlist-a li a {
	color: #646464;
	font-weight: normal;
	text-decoration: none;
	background: transparent;
}

ul#navlist-a li a.selected {
	color: #000; 
	text-decoration: none;
	background: transparent;
}

ul#navlist-a li#active a {
	background: transparent; 
	color: #991200; 
}

ul#navlist-a li a:hover,ul#navlist-a li#active a:hover {
	color: #991200;
	background: transparent;
}

* html #globalnav-bottom {
	height: 53px; width: 625px;
	font-size: 12px;
	background: #fff; 
}

#globalnav-bottom {
	height: 53px; width: 628px;
	font-size: 12px;
	background: #fff; 
}

#navcontainer-top {
	text-align: right;
	float: right; 
	background-color: #fff; 
}

#navcontainer-top ul li {
	list-style-type: none;
	margin: 0; padding: 0;
	display: block;
	float: right;
	color: #fff; 
	text-decoration: none;
	line-height: 53px;
}

#navcontainer-top a {
	color: #fff;
	font-weight: normal;
	text-decoration: none;
	display: block;
	padding: 0 7px;
	background-color: #646464; 
	border-left: 3px solid #646464;
	border-right: 3px solid #646464;
}

#navcontainer-top li#active {
	background-color: #991200; 
}

#navcontainer-top a:hover {
	background-color: #991200; 
	border-left: 3px solid #fff;
	border-right: 3px solid #fff;
}

#navcontainer-top a.selected {
	background: #991200; 
	border-left: 3px solid #fff;
	border-right: 3px solid #fff;
}

#nav-secondary {
	padding-top: 30px;
	width: 234px;
	font-size: 13px; line-height: 20px;
}

#nav-secondary ul {
	list-style: none;
}

#nav-secondary ul ul a {
	display: block;
	margin: 0;
	padding: 0 0 3px 30px;
	font-size: 12px; line-height: 18px;
	width: 234px;
	background-color: #d6d6d6;
	border: none;
}

* html #nav-secondary ul ul a {
	display: block;
	margin: 0;
	padding: 0 0 3px 30px;
	font-size: 12px; line-height: 18px;
	width: 204px;
	background-color: #d6d6d6;
	border: none;
}

#nav-secondary ul ul a.selected {
	display: block;
	padding: 0 0 3px 30px;
	font-size: 12px; line-height: 18px;
	width: 234px;
	background-color: #d6d6d6;
	border: none;
}

* html #nav-secondary ul ul a.selected {
	display: block;
	padding: 0 0 3px 30px;
	font-size: 12px; line-height: 18px;
	width: 204px;
	background-color: #d6d6d6;
	border: none;
}

#nav-secondary a {
	display: block;
	padding: 5px 0 5px 20px;
	width: 214px;
}

#nav-secondary a.selected-nosub {
	display: block;
	padding: 5px 0 5px 20px;
	width: 214px;
	color: #000;
}

#nav-secondary a.selected {
	color: #000;
	display: block;
	padding: 5px 0 5px 20px;
	width: 214px;
	background-color: #d6d6d6;
}

#navlist-c a:link, #navlist-c a:visited {
	font-weight: normal;
	color: #333;
	text-decoration: none;
}

#navlist-c a.selected-nosub, #navlist-c a.selected-nosub:link, #navlist-c a.selected-nosub:visited {
	font-weight: bold;
	color: #000;
}

#navlist-c a.selected, #navlist-c a.selected:link, #navlist-c a.selected:visited {
	font-weight: bold;
	color: #000;
	text-decoration: none;
}

#navlist-c ul a.selected, #navlist-c ul a.selected:link, #navlist-c ul a.selected:visited {
	font-weight: bold;
	color: #000;
	text-decoration: none;
}

#nav-secondary a:hover {
	color: #991200;
	background-color: #d6d6d6;
}


/* Banners
----------------------------------------------- */
.banner-homepage {
	margin: 3px 0;
	width: 100%; height: 191px;
	background-color: #517c9f;
}

.banner-other {
	margin: 3px 0;
	padding: 0;
	width: 100%; height: 94px;
	background-color: #c3a529;
}


/* Homepage
----------------------------------------------- */
#content-homepage {
	background: url(/images/bg-content-homepage.gif) top left repeat-y;
	width: 960px;
	overflow: auto;
	border-bottom: 3px solid #fff;
}

#content-g20 {
	background-color: #fff;
	width: 960px;
	overflow: auto;
	border-bottom: 20px solid #fff;
}

#homepage-left {
	float: left;
	width: 590px;
}

.homepage-left-wrapper {
	padding: 30px 30px 30px 133px;
}

#homepage-right {
	float: right;
	width: 370px;
	font-size: 11px; line-height: 15px;
	color: #666;
}

.homepage-right-wrapper {
	padding: 40px 30px 30px 30px;
}


/* 2nd Level Pages
----------------------------------------------- */
#content-secondary {
	background: url(/images/bg-sidebar.gif) top left repeat-y;
	width: 960px;
	overflow: auto;
	border-bottom: 3px solid #fff;
}

#content-secondary-wide {
	width: 960px;
	overflow: auto;
	border-bottom: 3px solid #fff;
}

.content-main {
	float: right;
	padding: 30px;
	width: 666px;
	background: transparent;
	text-align: left;
}

div.content-main ul {
	list-style:none;
	margin: 0 0 16px 0;
	padding-left: 10px;
}

div.content-main ul li {
	margin: 0;
	padding: 7px 0 0 15px;
	background:url(/images/bullet-gray.gif) no-repeat 0 11px;
}

div.content-main ol {
	list-style: decimal outside;
	margin: 0 0 16px 0;
	padding-left: 16px;
}

div.content-main ol li {
	padding: 8px 0 0 4px;
}

.secondary-sidebar {
	float: left;
	background: transparent;
	min-height: 687px;
	width: 234px;
	text-align: left;
}

.content-main-landing {
	float: right;
	padding: 30px 416px 30px 30px;
	width: 280px;
	background: transparent;
	text-align: left;
}

.content-wide {
	float: right;
	padding: 30px 0 30px 30px;
	width: 930px;
	background: transparent;
	text-align: left;
}

.content-main {
	float: right;
	padding: 30px;
	width: 666px;
	background: transparent;
	text-align: left;
}

.content-middle {
	float: left;
	padding: 30px;
	width: 480px;
	background: transparent;
	text-align: left;
}

.content-right {
	float: left;
	padding: 30px 20px;
	width: 146px;
	background: transparent;
	color: #478bbd;
	font: bold 12px/15px "HelveticaNeue", Helvetica, Arial, sans-serif;
	text-align: left;
}

.programs {
	line-height: 20px;
}

.column-a {
	float: left; width: 200px;
	font-weight: bold;
	line-height: 20px;
}

.column-b {
	float: left; width: 466px;
	text-align: left;
	line-height: 20px;
}


/* Content
----------------------------------------------- */
.content-wrapper {
	padding: 30px 0 30px 60px;
}

.content-sidebar {
	float: left;
	width: 234px;
	background: transparent;
	text-align: left;
}

div.callout {
	float: right;
	width: 200px;
	border: 1px solid #ddd;
	background-color: #eee;
	padding: 20px;
	margin-left: 20px;
	margin-bottom: 20px;
	font-size: 11px; line-height: 13px;
}

div.callout img {
	float: left;
	margin-right: 10px;
}


/* Footer
----------------------------------------------- */
.footer-wrapper {
	width: 960px;
	font-size: 11px; line-height: 53px;
	color: #d8d8d8;
}

.copyright {
	float: left;
	width: 600px;
	padding-left: 25px;
	text-align: left;	
}

.footernav {	
	float: right;
	width: 325px;
	padding-right: 7px;
	text-align: right;	
}


/* Links
----------------------------------------------- */
a, a:link, a:visited { 
	font-weight: bold;
	color: #991200;
	text-decoration: underline;
}

a:hover { 
	color: #000;
	text-decoration: underline;
}

#footer a { 
	color: #fff;
	text-decoration: none;
	font-weight: normal;
}

#footer a:hover { 
	color: #fff;
	text-decoration: underline;
}

	

/* Typography
----------------------------------------------- */
h1 {
	margin: 0 0 16px 0;
	font: 26px/30px "HelveticaNeue", Helvetica, Arial, sans-serif;
	color: #991200;
}

h2	{
	margin: 0 0 8px 0;
	font: 20px/24px "HelveticaNeue", Helvetica, Arial, sans-serif;
	color: #517c9f;
}

h3	{
	margin: 0 0 2px 0;
	font: 18px/24px "HelveticaNeue", Helvetica, Arial, sans-serif;
	color: #517c9f;
}

h4	{
	margin: 0;
	font: normal 16px/20px "HelveticaNeue", Helvetica, Arial, sans-serif;
	color: #000;
}

h5	{
	margin: 0;
	font: bold 13px/16px "HelveticaNeue", Helvetica, Arial, sans-serif;
	color: #000;
}

p {
	margin: 0 0 16px 0;
}

.backtotop {
	text-align: right;
	margin-bottom: 16px;
}

.tfsa-gray {
	color: #5a5b5e;
}

.tfsa-olive {
	color: #768614;
	font-weight: bold;
}

.standout {
	color: #000;
	font-weight: bold;
}

.smalltext {
	font-size: 11px;
}

.datestamp {
	font-size: 11px;
	margin-top: 16px;
	color: #888;
}

.credits {
	padding-right: 48px;
	font: bold 10px/12px "HelveticaNeue", Helvetica, Arial, sans-serif;
	color: #646464;
	text-align: right;
	margin-bottom: 48px
}

.breathe-vertical {
	margin-top: 32px;
}

.indent {
	margin-left: 16px;
}
 
.rule-solid-gray {
	margin-top: 31px; margin-bottom: 31px;
	height: 1px;
	border-bottom: 1px solid #ddd;
}
 
.rule-dotted-gray {
	margin-top: 15px; margin-bottom: 15px;
	height: 1px;
	border-bottom: 1px dotted #ddd;
}


/* Form elements
----------------------------------------------- */
form {
	margin: 0;
	padding: 0;
}

label {
	color: #000;
}

.example-txt {
	color: #999;
	font-size: 11px; line-height: 12px;
}

input, select, option {
	margin: 2px 0;
	padding: 2px;
}

.pulldown {
	margin-bottom: 16px;
	padding: 0;
}

.pulldown select {
	margin: 0 10px 0 0;
	padding: 0;
}

textarea, input.feedback {
	margin-bottom: 6px;
	padding: 2px;
	width: 50%;
}

textarea {
	overflow: auto;
	width: 80%;
}


/* Tables
----------------------------------------------- */
#listing {
	margin-bottom: 16px; padding: 0;
}

#listing th {
	font-size: 13px;
	font-weight: bold;
	color: #000;
	padding: 0 0 8px 8px;
	vertical-align: bottom;
	border-bottom: 1px solid #eee;
}

tr {
	background-color: #fff;
}

#listing tbody td {
	color: #333333;
	padding: 8px;
	vertical-align: top;
	text-align: left;
	border-left: 1px solid #eee;
	border-bottom: 1px solid #eee;
}

#listing tbody td.side {
	color: #333333;
	padding: 8px;
	vertical-align: top;
	text-align: left;
	border-right: 1px solid #eee;
}

#listing table {
	border-right: 1px solid #eee;
}


/* Images
----------------------------------------------- */
img {
	display: block;
	border: 0;
}

.inline {
	display: inline;
	border: 0;
}

.imgcenter {
	margin: 0 auto;
	border: 0;
}

.imgfloatleft {
	float: left;
	margin: 0 15px 15px 0;
}

.imgfloatright {
	float: right;
	margin: 0 0 16px 30px;
}

.googlemap {
	float: right;
	margin: 0 0 16px 30px;
	padding: 4px;
	border: 1px solid #f2f2f2;
}

img.photo {
	padding: 4px;
	border: 1px solid #f2f2f2;
}

img.banner {
	display: inline;
	border-right: 3px solid #fff;
}