/********** =columns and main margins **********/
#wrapper 
{
background-color: white; 
max-width: 1400px;
margin: auto;
}

@media screen and (min-width: 1420px) {
	#wrapper {
	border-right: 1px solid #c8d7e6;
	border-left: 1px solid #c8d7e6;
	}
}

#main {background: url("../img/main_bg.png") 65% 0 repeat-y;}

.max  
{
max-width: 100em;
margin: auto;
position: relative;
}

.columns {overflow: hidden;}
#intro, #main {padding-left: 2%; width: 98%;}
#main .columns {width: 100%;}

.column {float: left;}

.fifth     {width: 20%;}
.quarter   {width: 25%;}
.third     {width: 33.3%;}
.half      {width: 50%;}
.twothirds, #content {width: 66.6%;}

#contact {padding-top: 2em;}

#intro strong, 
#main h3, 
#issues ul, 
#contact p, 
#contact form, 
#aside blockquote p, 
#aside blockquote div, 
#aside #facebook ul, 
.privacy #content h2, 
.privacy #content h3, 
.privacy #content p 
{
display: block; 
padding: 0 50px 0 30px;
}

#footer p, 
#footer cite
{
margin-left: 50px;
width: 57%;
}

.home #main h3 {background: url("../img/dingbat.png") no-repeat 0 45%;}

#top address .prompt, 
#top address .work, 
#contact_link, 
.off
{
display: block; 
position: absolute;
left: -200em;
}


/********** =top | =brand **********/

#top {z-index: 4000;}

#brand 
{
position: absolute;
left: 4%;
width: 400px;
}

.home #brand h1, 
.sub #brand h2 a
{
display: block;
width: 290px;
height: 100px;
background: url("../img/brand_bg.png") no-repeat;
text-indent: -200em;
}

#brand p 
{
font-size: 220%; 
font-style: italic;
font-weight: bold;
color: #00cbf5;
margin: 0 3%;
}

.blooming #brand p, 
.soar #brand p {text-shadow: 0 -1px 0 #004a99;}

.clarity #brand p, 
.balance #brand p {text-shadow: 0 -1px 0 #666;}

#top address 
{
position: absolute;
top: 423px;
left: 67%;
margin-left: 30px;
text-align: center;
padding: 0 50px 0 0;
background: transparent url("../img/tel_bg.png") no-repeat 100% -100px; 
}

.privacy #top address {top: 171px;}

#top address strong 
{
display: block;
white-space: nowrap;
width: 80%;
font-size: 240%;
color: #0f1b5f;
text-shadow: 0 1px 0 white;
font-weight: normal;
font-style: italic;
line-height: 42px;
padding: 0 0 0 50px;
background: transparent url("../img/tel_bg.png") no-repeat 0 0;
}

/********** =header **********/

#header 
{
position: relative;
background: #009ee0;
height: 200px;
}

.home #header 
{
background: #009ee0 url("../img/loading.gif") no-repeat 50% 50%;
height: 452px; /* Preserves height when opacity of contents is 0 */
}

.home #header .contents {height: 452px;}

/* header images */
.blooming #header .contents {background: url("../img/blooming.jpg") no-repeat 50% 100%;}
.soar #header .contents     {background: url("../img/soar.jpg") no-repeat 50% 100%;}
.clarity #header .contents  {background: url("../img/clarity.jpg") no-repeat 50% 100%;}
.balance #header .contents  {background: url("../img/balance.jpg") no-repeat 50% 100%;}

#header #curves 
{
position: absolute;
bottom: 0; 
width: 100%;
height: 56px;
background: url("../img/curves_bg.png") no-repeat 50% 100%;
}

#header h2 
{
color: white;
font-size: 270%;
position: relative;
padding: 150px 47px 0;
margin-top: 0;
line-height: 1.2;
}

#header h2 span 
{
display: block;
position: absolute;
}

/* =blooming | =clarity */
.blooming #helping {top: 170px; left: 6.2em;}
#blooming, #marvellous {font-size: 126px; letter-spacing: -1px;}
#marvellous {top: 250px; left: 23%;}

/* =soar */
.soar #header h2 {padding-left: 37px;}
.soar #helping {top: 210px; left: 152px;}
#soar {font-size: 220px; letter-spacing: -1px;}

/* =clarity */
.clarity #header h2 {padding-top: 130px;}
#drop, #clarity {font-size: 126px; letter-spacing: -1px;}
#header #drop span {display: inline; font-style: italic; position: static;}
#clarity {top: 230px; left: 20%;}
#can {top: 355px; left: 250px;}

/* =balance */
.balance #header h2 {padding-top: 157px;}
.balance #helping, #find {top: 150px; left: 50px; font-size: 42px;}
#find {top: 188px; left: 300px;}
#balance {font-size: 180px; letter-spacing: -1px;}


/* =next buttons */

#top .next, 
#satisfied .next, 
#go_top a
{
display: block;
text-align: left;
text-indent: -200em;
position: absolute;
left: 94.4%;
top: 282px;
width: 42px;
height: 42px;
background: url("../img/arrows.png") no-repeat 0 0;
}

#satisfied .next 
{
top: 50px;
background-position: -100px 0;
}

#go_top a
{
top: -47px;
left: 65%;
margin-left: -21px;
background-position: -200px 0;
}

#top .next:hover    {background-position: 0 -100px;}
#satisfied .next:hover {background-position: -100px -300px;}
#go_top a:hover    {background-position: -200px -100px;}



/********** =links | =selection **********/

a, 
a:link 
{
text-decoration: none;
color: #008bd0;
}

a:hover {color: #069;}
a:active {margin-top: 1px;}


/* =selection 

::selection {background: #005737; color: #fff;}
::-moz-selection {background: #005737; color: #fff;}
::-o-selection {background: #005737; color: #fff;}
::-webkit-selection {background: #005737; color: #fff;}
*/

/********** =facebook | =fb **********/

#facebook 
{
position: relative;
margin-top: 2em; 
width: 100%; /* Helps IE */
padding-top: 67px;
}

#fb 
{
position: absolute;
top: 0;
left: 30px;
text-align: center;
padding: 0 50px 0 0;
background: transparent url("../img/fb_bg.png") no-repeat 100% -100px; 
}

#fb a 
{
display: block;
white-space: nowrap;
font-size: 160%;
text-shadow: 0 1px 0 white;
font-weight: normal;
font-style: italic;
min-height: 42px;
line-height: 42px;
padding: 0 0 0 50px;
background: transparent url("../img/fb_bg.png") no-repeat 0 0;
}



/********** =forms **********/

#main form {margin-top: 1em;}

fieldset, 
fieldset ol li {position: relative;}

fieldset em, 
fieldset strong, 
fieldset span, 
label {display: block;}

legend span 
{
position: absolute;
left: -200em;
}


/* =linear (Horizontal alignment of form labels and controls) */

.linear input.text {width: 19.6em;}

.linear > label {position: absolute;}

.linear .checkbox_radio label 
{
display: inline;
width: auto;
text-align: left;
}

/* =cs */

.cs input.text {width: 5.5em;}

.cs em.required 
{
position: absolute;
top: 2em;
left: 8.3em;
}


/* =no_js */

.no_js .linear > label
{
top: 0.67em;
text-align: right;
width: 4em;
}

.no_js .linear label em.required 
{
text-align: left;
position: absolute;
top: 0;
left: 27em;
}

.no_js .linear > input.text, 
.no_js .linear > textarea, 
.no_js .linear fieldset, 
.no_js .linear .guidance, 
.no_js .cs, 
.no_js fieldset.submit {margin-left: 4.5em;}

.no_js .linear textarea {width: 82.7%;}


/* =has_js */

.has_js .linear > label, 
.has_js .cs > label {left: -200em;}

.has_js .inactive 
{
color: #5986b3;
font-style: italic;
}

.has_js textarea, 
.has_js textarea.inactive {width: 94.5%;}

.has_js .linear input.text:focus, 
.has_js .required input.valid, 
.has_js .required input.error 
{
/* Square top right corner */
border-top-right-radius: 0;
-khtml-border-top-right-radius: 0;
-moz-border-radius-topright: 0;
-o-border-top-right-radius: 0;
-webkit-border-top-right-radius: 0;
/* Square bottom right corner */
border-bottom-right-radius: 0;
-khtml-border-bottom-right-radius: 0;
-moz-border-radius-bottomright: 0;
-o-border-bottom-right-radius: 0;
-webkit-border-bottom-right-radius: 0;
}

.has_js .linear .help, 
.has_js label.error 
{
display: block;
z-index: 100;
font-style: normal;
position: absolute;
top: 0; 
left: 21.6em;
margin-left: 2px;
width: 15.07em;
line-height: 1.2;
background: #dae5ed;
border: 1px solid #aabfd6;
border-left: 0;
padding: 10px 1em 12px;
/* Rounded top right corner */
border-top-right-radius: 5px;
-khtml-border-top-right-radius: 5px;
-moz-border-radius-topright: 5px;
-o-border-top-right-radius: 5px;
-webkit-border-top-right-radius: 5px;
/* Rounded bottom right corner */
border-bottom-right-radius: 5px;
-khtml-border-bottom-right-radius: 5px;
-moz-border-radius-bottomright: 5px;
-o-border-bottom-right-radius: 5px;
-webkit-border-bottom-right-radius: 5px;
}

.has_js .linear .help {color: #5986b2;}

p.error, 
label.error {color: #c00;}

.has_js .cs label.error 
{
top: 1.4em;
left: 7.5em;
width: 13.5em;
}

.has_js label.error {z-index: 200;}

.has_js label.valid 
{
color: #090;
background: #dae5ed url("../img/valid.png") no-repeat 1em 50%;
padding-left: 2.9em;
width: 13.17em;
}

.no_js #content label.error
{
position: static;
text-align: left; 
width: auto;
}

.no_js #content .linear label.error {margin-left: 4.5em;}

.home #main h3#success {background: url("../img/valid.png") no-repeat 0 45%}

#cc {margin: 0.67em 50px 0 30px;}


/* =buttons */

#content button
{ 
margin-right: 6px;
padding: 0 41px 0 0; 
position: relative;
display: block; 
font-weight: bold;
text-align: center; 
cursor: pointer;
overflow: visible; /* removes extra side padding in IE */
background: transparent url("../img/btn.png") no-repeat 100% -100px; 
}

/* overrides extra padding in Firefox */
button::-moz-focus-inner {border: none;}

#content button span
{ 
position: relative;
display: block; 
padding: 0 0 0 17px;
white-space: nowrap; 
height: 42px; 
line-height: 42px; 
color: #0f1b5f;
text-shadow: 0 1px 0 white;
background: transparent url("../img/btn.png") no-repeat 0 0;
}

/* Safari and Google Chrome only - fix margins */
@media screen and (-webkit-min-device-pixel-ratio:0) 
{
	#content button span {margin-top: -1px;}
}

#content button:hover, 
#content button.submit_hover {background-position: 100% -300px;}

#content button:hover span, 
#content button.submit_hover span {background-position: 0 -200px;}


/* Experimental layout tweaks for smaller resolutions 

@media screen and (max-width: 1150px) {
	
	#search {left: 65%;}
	
	#nav, #content {margin-left: 1%;}
	
}
