/* General styles */
html, body, div, h1, h2, h3, h4, h5, h6, ul, ol, li, p, pre, form, fieldset, table, th, td { margin: 0px; padding: 0px; }
body { font: 12px/16px Helvetica, Arial, sans-serif; text-align: center; background: #fff; }
.container { width: 942px; text-align: left; margin: 0px auto; }
a { color: #549241; }
a:hover { text-decoration: none; }
a img { border: 0px; }

/* Sticky footer! */
html, body { height: 100%; }
.wrapper { text-align: center; min-height: 100%; height: auto !important; height: 100%;	margin: 0 auto -60px; /* the bottom margin is the negative value of the footer's height */ }
#footer, .push { height: 60px; /* .push must be the same height as .footer */ }

#header { height: 120px; background: url('../images/header-background.png') 0px 0px repeat-x #fff; }
#header img { margin-top: 35px; }

#utility-nav { float: right; padding: 10px 0px 0px 0px; }
#utility-nav ul { list-style-type: none; }
#utility-nav ul li { display: inline; border-left: 1px solid #a5d25e; padding: 0px 3px 0px 7px; }
#utility-nav ul li:first-child { border: none; }
#utility-nav ul li a { font-size: 12px; color: #454446; text-decoration: none; }
#utility-nav ul li a:hover { text-decoration: underline; }
		
#nav { float: right; clear: right; padding-top: 40px; }
#nav ul { list-style-type: none; background: url('../images/nav-background.png') top right no-repeat; height: 37px; padding-right: 10px; }
#nav ul li { float: left; background: url('../images/nav-separator.png') 0px 11px no-repeat; padding: 10px 5px 0px 10px; height: 27px; }
#nav ul li:first-child { background: url('../images/nav-first-child-background.png') 0px 0px no-repeat; padding-left: 10px; }
#nav ul li a { font-size: 16px; font-weight: bold; color: #454446; text-decoration: none; }
#nav ul li a:hover { text-decoration: underline; }

#content #banner { width: 943px; height: 322px; background: #fff; margin: 0px auto; text-align: left; }
#content #banner h2 { font-size: 36px; line-height: 40px; font-weight: bold; color: #454446; width: 450px; }
#content #banner p { font-size: 16px; line-height: 20px; color: #467d35; width: 450px; }
#content #banner .slide { width: 942px; height: 256px; }
#content #banner #slide-1 { background: url('../images/slide-1-background.jpg'); }
#content #banner #blank-slide { background: url('../images/blank-slide-background.jpg'); }
#content #banner #slide-1 h2, 
#content #banner #blank-slide h2 { padding: 35px 0px 0px 70px; }
#content #banner #blank-slide p input { float: none; }
#content #banner #slide-1 p { padding: 10px 0px 0px 70px; }
#content #banner #blank-slide p { padding: 0px 0px 0px 70px; }
#content #banner .buttons { background: url('../images/homepage-button-background.png'); width: 852px; height: 60px; padding: 6px 0px 0px 90px; text-align: center; overflow: hidden; }
#content #banner .buttons a { background: url('../images/banner-button-background.png') top left; width: 160px; height: 33px; padding-top: 17px; display: block; float: left; color: #d6e9a5; font-size: 14px; text-decoration: none; text-transform: uppercase; margin-right: 120px; }
#content #banner .buttons a:hover { background: url('../images/banner-button-background.png') top right; font-weight: bold; }
#content #banner .buttons h3 { font-size: 20px; color: #454446; margin: 20px 0px 0px -90px; }

p.flash { color: #549241; border: 1px solid #ccc; font-weight: bold; background: #ffe; padding: 3px; }

#content { background: #fff; overflow: auto; padding-bottom: 20px; }
#content h1 { font-size: 22px; color: #549241; font-weight: normal; margin: 10px 0px; }
#content h2 { font-size: 18px; color: #454446; font-weight: normal; margin: 10px 0px; }
#content h3 { font-size: 16px; font-weight: normal; border-bottom: 1px solid #a5d25e; color: #333; margin: 15px 0px 10px 0px; padding-bottom: 5px; }
#content p { margin: 10px 0px; }
#content .left { width: 533px; float: left; }
#content .right { width: 376px; float: right; }
#content table tr { vertical-align: top; }
#content table th { font-size: 14px; color: #549241; }

#content table.features th { padding-top: 5px; }
#content table.features td { padding-right: 5px; padding-bottom: 15px; }

#content #signup-with-key { background: url('../images/signup-key-background.png'); width: 533px; height: 30px; padding-top: 7px; text-align: center; margin: 10px 0px 20px 0px; }
#content #signup-with-key label { font-size: 14px; font-weight: bold; color: #467d35; margin-right: 5px; }
#content #signup-with-key input { width: 250px; }
#content #signup-with-key button { background: #767676; color: #fff; border: none; cursor: pointer; vertical-align: top; }

#content #twitter { background: url('../images/twitter-background.png'); width: 432px; padding: 10px 15px 0px 90px; }
#content #twitter table { width: 432px; }
#content #twitter table td { border-top: 1px solid #ccc; padding: 5px 0px; }
#content #twitter table th { padding-bottom: 5px; }
#content #twitter table th a.follow { color: #549241; font-size: 12px; float: right; }
#content #twitter-bottom { background: url('../images/twitter-bottom-background.png'); width: 537px; height: 9px; }
		
#content #request-a-key { width: 374px; height: 27px; padding-top: 10px; text-align: center; margin: 10px 0px 20px 0px; background: url('../images/whats-a-key-background.png'); }
#content #request-a-key p { margin: 0px; }
#content #request-a-key a { color: #333; }
#content #request-a-key a.large { font-size: 14px; font-weight: bold; color: #467d35; }

#content table.steps th { padding-top: 5px; }
#content table.steps td { padding-bottom: 15px; padding-right: 5px; }

#footer { color: #fff; overflow: hidden; }
#footer .container { background: url('../images/footer-background.png') top center no-repeat #5c5d5f; overflow: auto; }
#footer a { color: #fff; }
#footer h3 { color: #a5d25e; }
#footer hr { border: 0px; height: 0px; margin: 5px auto; border-top: 1px solid #a5d25e; }
#footer .left { width: 503px; padding: 23px; float: left; }
#footer .right { width: 346px; padding: 25px 15px; float: right; }
#footer ul { margin-bottom: 15px; }
#footer ul li { display: inline; background: url('../images/footer-nav-separator.png') 0px 2px no-repeat; padding: 0px 7px 0px 11px; }
#footer ul li.first-child { background: none; padding-left: 0px; }
#footer ul li a { text-transform: uppercase; }

/* Forms */
form { overflow: auto; }
fieldset { padding: 5px; border: none; border-top: 3px solid #ccc; width: 370px; margin: 10px 20px 0px 0px; float: left; overflow: visible; }
legend { font-size: 16px; font-weight: bold; }
label { float: left; clear: left; width: 100px; margin-top: 3px; font-weight: bold; color: #454446; }
input { float: left; }
.expiration { width: 200px; float: left; }
fieldset.credit-card label { width: 100px; }
fieldset.credit-card input.csc { width: 25px; }