*
{
    margin-top: 0;
    margin-bottom: 0;
}

/* forces scrollbar to appear always */
html
{
    overflow-y: scroll;
}

html, body
{
    height: 100%;
    min-width: 960px;
}

body
{
    font-size: 14px;
    margin: 0;
    padding: 0;
    background-color: #fff;
    
    font-family: Verdana, sans-serif;
}

#container
{
    width: 960px;
    min-height: 100%;
    height: auto !important;
    margin: -91px auto -250px;
}

#content_wrapper
{
    overflow: hidden;
    padding: 50px 0 100px;
}

h1
{
    font-family: Tahoma, Arial, sans-serif;
    color: #000;
    font-size: 1.8em;
    font-weight: normal;
    padding-bottom: 5px;
    margin-bottom: 20px;
    border-bottom: 1px solid #ddd;
}

h2
{
    font-family: Tahoma, Arial, sans-serif;
    color: #000;
    font-size: 1.4em;
    font-weight: normal;
    margin-bottom: 0.5em;
}

h3
{
    font-family: Tahoma, Arial, sans-serif;
    color: #000;
    font-size: 1.4em;
    font-weight: normal;
    margin-bottom: 0.5em;
    padding: 4px 0 0 5px;

    height: 26px;
    background: #ddd url('/images/header_gradient.png') repeat-x;
    border-bottom: 5px solid #337321;
}

a
{
    color: #3b0;
    text-decoration: none;
    border-bottom: 1px solid;
}

a:visited
{
    color: #337321;
}

a:hover, #content_wrapper a:focus
{
    border-bottom: 1px dotted;
}

.bordered
{
    border: 2px solid #337321;
    padding: 2px;
}

a .bordered:hover, a .bordered:focus
{
    border: 2px solid #3b0;
}

p, ul, ol, dd, dt
{
    line-height: 1.3em;
    margin-bottom: 0.5em;
}

ul
{
    list-style-image: url(/images/green_bullet.gif);
}

div.page_width
{
    width: 960px;
    margin: 0 auto;
}

.green_border_bottom
{
    border-bottom: 5px solid #fff;
}

.green_border_bottom:hover, .green_border_bottom:focus
{
    border-bottom: 5px solid #337321;
}

.equal_columns
{
    padding-bottom: 2000px;
    margin-bottom: -2000px;
}

a img
{
    border: 0;
}

.quote
{
    font-style: italic;
}

abbr
{
    cursor: help;
}

dd
{
    margin-bottom: 0.5em;
}

dt
{
    font-weight: bold;
}

.high_line
{
    line-height: 1.5em;
}

a.button_link, a.button_link:visited
{
    display: block;
    height: 22px;
    width: 100px;
    background: url('/images/button.png') no-repeat;
    color: white;
    text-align: center;
    border: 0;
    padding-top: 2px;
}

a.button_link_wide, a.button_link_wide:visited
{
    width: 200px;
    background: url('/images/button_wide.png') no-repeat;
}


/*
********************************************************************************
* Header
********************************************************************************
*/

#header_bar_pusher
{
    height: 40px;
}

#header_bar
{
    width: 100%;
    height: 30px;
    padding-top: 10px;
    background-color: #333;
    background: -webkit-gradient( linear, left bottom, left top, color-stop(0.3, #333), color-stop(1, #555));
    background: -moz-linear-gradient( center bottom, #333 30%, #555 100%);
    color: white;
    text-shadow: 0px 1px 0 black;
}

#header_bar p
{
    margin: 0;
}

#header_bar a, #header_bar a:visited
{
    color: white;
    text-decoration: none;
    border-bottom: 1px solid;
}

#language_bar a, #language_bar a:visited
{
    border-bottom: 0;
}

#header_bar a:hover, #header_bar a:focus
{
    border-bottom: 1px dotted;
}

#language_bar
{
    float: right;
}

#header_gradient_holder
{
    height: 51px;
    background-image: url(/images/top_gradient.png);
    background-repeat: repeat-x;
}


/*
********************************************************************************
* Footer
********************************************************************************
*/

#footer_layout
{
    background-color: #372;
    height: 250px;
    color: #fff;
}

#bottom_gradient_holder
{
    height: 150px;
    background-image: url(/images/bottom_gradient.png);
    background-repeat: repeat-x;
}

#footer_pusher
{
    height: 100px;
}

#footer_holder
{
    background-image: url(/images/footer_gradient.jpg);
    background-repeat: repeat-x;
}

#footer
{
    width: 960px;
    margin: auto;
    padding-top: 10px;
    overflow: hidden;
}

#footer_main
{
    float: left;
}


/*
********************************************************************************
* Navigation
********************************************************************************
*/

#main_nav,
#sub_nav
{
    font-family: Tahoma, Arial, sans-serif;
    color: #000;
    font-size: 1.3em;
    border-bottom: 1px solid #ddd;
    padding-bottom: 5px;
}

#main_nav
{
    overflow: hidden;
    position: relative;
    padding-top: 25px;
    /*IE6 dirty hack - if this line is removed the Tardigrada picture will
      drop down to the end of the container div.*/
    width: 960px;
}

#sub_nav
{
    padding-top: 5px;
    border-bottom: 0px;
    clear: both;
}

#main_nav a,
#sub_nav a
{
    text-decoration: none;
    color: #000;
}

#main_nav a.selected_nav,
#sub_nav a.selected_nav
{
    color: #ccc;
}


/*
********************************************************************************
* Mobile overlay
********************************************************************************
*/

.simple_overlay
{ 
    background-image:url('../images/mobile_clipped.png'); 
    display:none; 
    z-index:10000; 
    width:300px;     
    height:546px; 
} 
 
.simple_overlay .close
{ 
    background-image:url('../images/xicon_hover.png');    
    position:absolute; 
    right:-18px; 
    top:-8px; 
    cursor:pointer; 
    height:40px; 
    width:40px; 
}

.simple_overlay .close:hover
{
    background-position: left 40px;
}

#ie6_warning
{
    color: white;
    font-size: 1.2em;
    position:absolute; 
    left:-300px; 
    top:-50px; 
}

#ie6_warning a, #ie6_warning a:visited
{
    color: white;
}

/*
********************************************************************************
* Homepage
********************************************************************************
*/

#home_sidebar
{
    width: 440px;
    float: right;
}

#home_content
{
    width: 520px;
}

#home_quote
{
    font-family: Tahoma, Arial, sans-serif;
    font-size: 22px;
}

#home_quote_author
{
    padding-top: 5px;
    font-family: Tahoma, Arial, sans-serif;
    color: #888;
}

.home_half_column
{
    float: left;
    width: 220px;
    margin-right: 40px;
}

#home_content h2
{
    font-size: 1.8em;
}


/*
********************************************************************************
* Services
********************************************************************************
*/

.services_column
{
    float: left;
    width: 280px;
    margin-right: 60px;
}

#services_content h2
{
    font-size: 1.8em;

    margin-top: 10px;
    text-align: center;
    height: 30px;
    background: url('/images/header_gradient.png') repeat-x;
    border-bottom: 5px solid #337321;
}


/*
********************************************************************************
* Page
********************************************************************************
*/

#page_content
{
    float: left;
    width: 620px;
    padding-right: 20px;
}

#page_sidebar
{
    float: left;
    width: 300px;
    border-left: 1px solid #ddd;
    padding-left: 19px;
}

.page_sidebar_entry
{
    margin-bottom: 30px;
}

#page_sidebar h3.info,
.reference_sidebar h3
{
    padding-top: 5px;

    height: 25px;
}

.page_sidebar_header_icon
{
    padding: 0;
    display: block;
    float: left;
    height: 20px;
    width: 20px;
    margin: 2px 4px 0 0;
}

.mail_info
{
    background: url('/images/icons_small.png') no-repeat left -40px;
}

.phone_info
{
    background: url('/images/icons_small.png') no-repeat left -20px;
}

.info_info
{
    background: url('/images/icons_small.png') no-repeat left top;
}

.exclamation_info
{
    background: url('/images/icons_small.png') no-repeat left -60px;
}

.gallery_info
{
    background: url('/images/icons_small.png') no-repeat left -100px;
}

.formula_info
{
    background: url('/images/icons_small.png') no-repeat left -80px;
}

.contact_link_icon
{
    float: left;
    width:48px;
    height:48px;
    background: url('/images/contact_icons.png') no-repeat;
    display: block;
    border-bottom: none;
}

.contact_link_icon:hover
{
    border-bottom: none;
}

.get_quote, .get_quote:hover
{
    border-bottom: none;
}

.content_entry
{
    padding-bottom: 5px;
    margin-bottom: 20px;
    overflow: hidden;
}

.content_entry p, .content_entry ul, .content_entry ol 
{
    margin-bottom: 1.5em;
}

#game_holder
{
    width: 700px;
    height: 550px;
    margin: 30px auto 50px;
}


/*
********************************************************************************
* Contact form
********************************************************************************
*/

#form_wrapper
{
    background: url('/images/feather.jpg') no-repeat top right;
    min-height: 370px;
}

#contact_form
{
    overflow: hidden;
}

#contact_form label, .form_required_note
{
    color: #888;
    font-size: 85%;
    padding-top: 3px;
}

#contact_form label,
#contact_form input
{
    display: block;
    float: left;
    margin-bottom: 10px;
}

#contact_form input[type="text"],
#contact_form textarea
{
    border: 2px solid #ddd;
}

#contact_form input[type="text"]:focus,
#contact_form textarea:focus
{
    border: 2px solid #3b0;
}

#contact_form br
{
    clear: left;
}

#contact_form textarea
{
    display: block;
    float: left;
    margin-bottom: 10px;

    font-family: Verdana, sans-serif;
    font-size: 14px;
}

#form_error,
#form_success
{
    width: 380px;
}

.form_bullet
{
    float: left;
    height: 8px;
    width: 20px;
    text-align: center;
    margin-bottom: 10px;
}


/*
********************************************************************************
* References
********************************************************************************
*/

.reference_main
{
    float: left;
    width: 620px;
    padding-right: 20px;
}

.reference_sidebar
{
    float: left;
    width: 300px;
    border-left: 1px solid #ddd;
    padding-left: 19px;
}

.reference_entry
{
    overflow: hidden;
    padding-bottom: 100px;
}

blockquote
{
    background: url('../images/quotes.png') no-repeat top left;
    margin: 0;
    margin-top: 20px;
    padding: 10px 70px;
    font-style: italic;
    color: #888;
    line-height: 1.5em;
}

.quote_author
{
    padding-left: 70px;
    margin: 0;
    color: #888;
}


