/* stack components */
#promo,
#content,
#footer
{
    letter-spacing:-0.5em; /* remove default whitespace on child inline-block stack items */
    word-spacing:-0.5em;
    padding:30px 0;
}
.stackItem,
.richsetPortraitStack
{
    display:-moz-inline-stack;
    display:inline-block;
    vertical-align:top;
    letter-spacing:normal;
    word-spacing:normal;
    text-align:left;
    margin-left:15px;
    margin-right:15px;
    margin-bottom:30px;
    padding:10px;
    padding-bottom:0;
}

/* promo & footer stacks */
.richsetPortraitStack
{
    width:204px;
    padding:10px;
    margin-right:8px;
    margin-left:8px;
    margin-bottom:1em;
}
#footer .richsetPortraitStack
{
    width:206px;
}
#promo .richsetPortraitStack
{
    padding-bottom:0;
    background-color:#fff;
    border:5px solid #444;
    box-shadow:0 0 4px #444;
    -moz-box-shadow:0 0 4px #444;
    -webkit-box-shadow:0 0 4px #444;
    -khtml-box-shadow:0 0 4px #444;
    border-radius:10px 10px 10px 10px;
    -moz-border-radius:10px 10px 10px 10px;
    -webkit-border-radius:10px 10px 10px 10px;
    -khtml-border-radius:10px 10px 10px 10px;
}
.richsetPortraitStack p.promoHeadingImage
{
    margin-bottom:0;
}
.richsetPortraitStack h3
{
    background-color:#444;
    color:#fff;
    text-shadow:none;
    text-align:center;
    margin-left:-10px;
    margin-right:-10px;
    border-radius:0;
    -moz-border-radius:0;
    -webkit-border-radius:0;
    -khtml-border-radius:0;
}



/* adjust position of full width images */
.stackItem p.rr-image-holder
{
    margin-left:-10px;
    text-align:center;
}
/* adjust position of full width custom styles */
.stackItem .fontMajor
{
    margin-left:-10px;
    margin-right:-10px;
}

.stackContainer
{
/*    padding:0;*/
    margin-bottom:0;
    background-color:transparent;
}
.stackContainer div
{
    padding:0;
}
.stackContainer .stackItem
{
    margin-bottom:10px;
    padding:10px;
}
.stackFullWidth
{
    display:block;
}
.stack1of3
{
    width:283px;
}
.stack2of3
{
    width:616px;
}
.stack1of4
{
    width:200px;
}
.stack2of4
{
    width:450px;
}
.stack3of4
{
    width:700px;
}
.stack1of5
{
    width:150px;
}
.stack2of5
{
    width:350px;
}
.stack3of5
{
    width:550px;
}
.stack4of5
{
    width:750px;
}
.stackFeature
{
    position:relative;
    z-index:5;
    padding-bottom:0;
    font-size:1.2em;
    background-color:#f5f5e9;
    border-radius:10px 10px 10px 10px;
    -moz-border-radius:10px 10px 10px 10px;
    -webkit-border-radius:10px 10px 10px 10px;
    -khtml-border-radius:10px 10px 10px 10px;
    box-shadow:0 0 4px #444;
    -moz-box-shadow:0 0 4px #444;
    -webkit-box-shadow:0 0 4px #444;
    -khtml-box-shadow:0 0 4px #444;
}


/* colors
Green
    color:#97c400;
Dark Green
    color:#87a33e;
Light Green:
    color:#accf4f;
*/

/* tools */
/* clearfixes */
#wrapHeader:after,
#wrapNavMain:after,
.richset:after,
.richset .fontMajor:after,
#content:after
{
    content:".";
    display:block;
    height:0;
    clear:both;
    visibility:hidden;
}
.hide
{
    display:block;
    position:absolute;
    visibility:hidden;
}
.error
{
    color:red;
    text-transform:uppercase;
}

/* resets and defaults */
*
{
    padding:0;
    margin:0;
    border:0;
}

/* fix for opera massive horizontal scrollbar bug */
@media all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixel-ratio:0){
html,
body
{
    overflow-x:hidden;
}}
html
{
    height:100%;
}
body
{
    font-size:87.5%; /* default font size 14px */
    color:#444;
    background-color:#fff;
}
body,
input,
select,
textarea
{
    font-family:"Arial","Helvetica",sans-serif;
}
input,
select,
textarea,
h1, h2, h3, h4, h5, h6
{
    font-size:1em;
    font-weight:normal;
}
ul
{
    list-style-type:none;
}
a,
a:visited
{
    color:#999;
}
a:hover
{
    text-decoration:none;
    color:#97c400;
}


/* layout */
body
{
    text-align:center;
    background-color:#333;
}

/* widths */
#summary .richset,
#promo,
#content
{
    margin:0 auto;
    max-width:1000px;
}
#header,
#wrapNavMain,
#footer
{
    margin:0 auto;
    max-width:970px;
}
#wrapHeader
{
    background-color:#333;
    background:#333 url(images/bgHeader.png) scroll repeat-x 0 bottom;
}
#summary
{
    border-top:5px solid #ddd;
    position:relative;
    z-index:1;
    background-color:#fff;
    padding-top:30px;
}
#pageHome #wrapPromoLayout
{
    background:#fff url(images/bgPromo.png) scroll repeat-x 0 0;
    padding-top:30px;
}
#pageHome #wrapPromo
{
    padding-bottom:13px;
    background:transparent url(images/bgPromoBottom.png) scroll repeat-x 0 bottom;
}
#pageHome #promo
{
    font-size:1.2em;
}
#pageGeneral #wrapContent
{
    text-align:left;
}
#wrapContent
{
    position:relative;
    z-index:1;
    background-color:#fff;
    border-top:5px solid #ddd;
}

/* header */
#header
{
    padding-top:20px;
}
#header h1
{
    font-size:1em;
    width:300px;
    margin-bottom:-18px;
/*    margin-left:10px;*/
}
#header h1 a
{
    display:block;
}
#header h1 em
{
    display:block;
    font-style:normal;
    color:#97c400;
    font-weight:bold;
    margin-top:15px;
    color:#999;
    text-shadow:0 0 20px #000;
}

/* breadcrumb */
#breadcrumb
{
    font-size:0.9em;
    color:#8c8c44;
    position:absolute;
    width:auto;
    padding-right:10px;
    line-height:20px;
}
#breadcrumb a,
#breadcrumb a:visited
{
    color:#fbfbf2;
}
#breadcrumb a:hover
{
    color:#8c8c44;
}

/* navMain */
#navMain
{
    float:right;
}
#navMain li
{
    white-space:nowrap;
    display:-moz-inline-stack;
    display:inline-block;
    vertical-align:bottom;
    width:auto;
    margin-left:3px;
}
#navMain li a,
#navMain li a:visited
{
    letter-spacing:0.06em;
    display:block;
    color:#999;
    padding:6px 0.6em;
    background-color:#444;
/*    text-transform:uppercase;*/
/*    text-transform:lowercase;*/
    text-decoration:none;
    border-top-left-radius:5px;
    -moz-border-radius-topleft:5px;
    -khtml-border-top-left-radius:5px;
    -webkit-border-top-left-radius:5px;
    border-top-right-radius:5px;
    -moz-border-radius-topright:5px;
    -khtml-border-top-right-radius:5px;
    -webkit-border-top-right-radius:5px;
}
#navMain li a:hover,
#navMain li a:focus
{
/*    color:#97c400;*/
    color:#eee;
    box-shadow:0 0 3px #000;
    -moz-box-shadow:0 0 3px #000;
    -webkit-box-shadow:0 0 3px #000;
    -khtml-box-shadow:0 0 3px #000;
}
#navMain li.active a
{
/*    color:#000;*/
    color:#666;
/*    font-size:1.5em;*/
/*    padding-bottom:3px;*/
/*    text-shadow:0 0 3px #888;*/
/*    font-weight:bold;*/
    text-shadow:1px 1px 0 #eee;
    box-shadow:0 0 10px #000;
    -moz-box-shadow:0 0 10px #000;
    -webkit-box-shadow:0 0 10px #000;
    -khtml-box-shadow:0 0 10px #000;
    background:#ddd url(images/bgNavMainActive.png) scroll repeat-x 0 0;
}
#navMain li.active a:hover
{
    text-shadow:none;
    cursor:default;
}
#navMain em
{
    font-style:normal;
    text-decoration:underline;
}

/* contentSub */
#contentSub .stackItem
{
    display:block;
    padding:0;
    margin:0;
    font-size:1.5em
}
ul.navList
{
    list-style-type:none;
    padding-left:0;
}
ul.navList li a,
ul.navList li a:visited
{
    padding:8px 10px;
    display:block;
    text-decoration:none;
    padding-left:30px;
    background:transparent url(images/icon-bullet.png) scroll no-repeat 8px center;
    border-bottom:none;
    font-weight:normal;
    border-radius:5px;
    -moz-border-radius:5px;
    -webkit-border-radius:5px;
    -khtml-border-radius:5px;
}
ul.navList li.active a
{
    color:#444;
    background-color:#f5f5e9;
    -moz-box-shadow:none;
    text-shadow:1px 1px 0 #fff;
    cursor:default;
}

/* footer */
#wrapFooter
{
    background:#333 url(images/bgFooter.png) scroll repeat-x 0 0;
    border-top:5px solid #ddd;
}
#footer
{
    text-align:left;
    color:#aaa;
    padding-top:20px;
    font-size:0.9em;
}
#footer h6
{
    font-weight:bold;
    margin-bottom:0.5em;
    text-shadow:none;
    text-transform:uppercase;
    color:#aaa;
}
#footer ul
{
    padding-left:0;
    list-style-type:none;
}
#footer ul li
{
    padding-left:0;
    background:none;
    margin-bottom:1em;
}
#footer ul li strong
{
    color:#666;
}
#footer ul li a,
#footer ul li a:visited
{
    text-decoration:none;
    color:#aaa;
    display:block;
    padding:5px;
    border-bottom:1px solid #444;
    margin-left:-5px;
    margin-right:-5px;
}
#footer ul li a:hover,
#footer ul li a:focus
{
    color:#97c400;
    background-color:#3a3a3a;
}
#footer #copyright
{
    font-size:0.9em;
    color:#666;
    padding:30px 0;
    letter-spacing:normal;
    word-spacing:normal;
    text-align:center;
}
#footer a.anchorExternal
{
    background-position:200px center;
}


ul#contactFormList li
{
    background:none;
    padding-left:0;
    margin-bottom:5px;
}
ul#contactFormList li input,
ul#contactFormList li textarea
{
    border:1px solid #cc9;
    width:300px;
    padding:3px;
}
ul#contactFormList li#contactSubmitItem input
{
    width:auto;
}
ul#contactFormList li#captchaFormItem label
{
    float:none;
    width:auto;
}
ul#contactFormList li#captchaFormItem span
{
    display:block;
}
#contactFormList label
{
    display:block;
    width:5em;
    float:left;
}
#contactSubmitItem,
#captchaFormItem
{
    margin-left:5em;
}
ul li#contactSubmitItem input
{
    background-color:#97c400;
    border-color:#d3ef86;
    color:#fff;
    text-transform:lowercase;
}
ul li#contactSubmitItem input:hover
{
    background-color:#996;
    border-color:#cc9;
    cursor:pointer;
}

#homePageHeading
{
    text-transform:none;
}
#homePageSubHeading
{
    margin-bottom:35px;
    color:#97c400;
    font-size:2.4em;
    text-shadow:none;
}
#promo img
{
    display:block;
}
#promo h3.homePagePromoHeading
{
    text-transform:none;
    padding-top:5px;
    padding-bottom:5px;
}

.promoHeadingImage .rrImageCaption
{
    font-weight:bold;
    font-size:1.2em;
    text-align:center;
    display:block;
}

.codeListing textarea
{
    border:1px solid black;
    width:100%;
    height:100px;
}

.homePagePromoHeading
{
    font-size:1.2em !important;
    font-weight:bold;
}


.blog .blogItem,
.blog .stackWidget,
.blog .blogNav
{
    text-align:left;
}
.blog .blogItem
{
    padding-left:100px;
    position:relative;
/*    border-bottom:2px solid #ddd;*/
}
.blog .blogItem .blogItemTitle
{
    color:#97c400;
}
.blog .blogItemDate
{
    text-align:center;
    width:60px;
    position:absolute;
    top:15px;
    left:5px;
    color:#eee;
    font-size:1.5em;
/*    padding:5px;*/
    margin-bottom:10px;
    color:#97c400;
    color:#666;
    background-color:#fff;
/*    border:5px solid #333;*/
    border-radius:15px;
    -moz-border-radius:15px;
    -webkit-border-radius:15px;
    -khtml-border-radius:15px;
    text-shadow:1px 1px 0 #eee;
    box-shadow:0 0 5px #666;
    -moz-box-shadow:0 0 5px #666;
    -webkit-box-shadow:0 0 5px #666;
    -khtml-box-shadow:0 0 5px #666;
    background:#ddd url(images/bgNavMainActive.png) scroll repeat-x 0 0;
}
.blog .blogItemDate strong
{
    font-weight:normal;
/*    background-color:#000;*/
    display:block;
    padding:10px;
    border-radius:10px;
    -moz-border-radius:10px;
    -webkit-border-radius:10px;
    -khtml-border-radius:10px;
}
.blog .blogItemDate span
{
    display:block;
    line-height:1em;
}
.blog .blogItemDateDay
{
    font-size:1.6em;
}
.blog .blogItemDateMonth
{
}
.blog .blogItemDateYear
{
    font-size:0.8em;
}
.blog .blogItemDetails
{
    background-color:#eee;
    padding:20px;
    padding-bottom:1px;
    margin-bottom:2em;
}

.blog #disqus_thread select
{
    padding:2px;
    border:2px solid #ddd;
}
.blog #disqus_thread *,
.blog #disqus_thread textarea
{
    font-size:16px;
}
.blog #disqus_thread button
{
    font-size:14px;
}
.blog .blogNav a
{
    font-size:1.5em;
    line-height:1.1em;
    width:45%;
}
.blog .blogNav p
{
    height:1em;
}
.blog .blogNav .anchorPrevious
{
    float:left;
    padding-left:22px;
}
.blog .blogNav .anchorNext
{
    float:right;
    padding-right:22px;
}
.blog .stackWidget
{
    background-color:#eee;
    padding:20px;
    padding-bottom:0;
    margin-bottom:15px;
}
.blog .stackWidget a:hover
{
    cursor:pointer;
}
.blog .stackWidget ul
{
    padding:0;
    list-style-type:none;
}
.blog .stackWidget p
{
    color:#666;
}

#socialContainer{ margin-bottom:80px; }
#twitter, #facebook { float: left; margin-right: 2em; width:50px;}
#facebook { margin-top: 2px; }
