/**
 * @site e-Grip demo site
 * @revision $Revision: 1.9 $
 *
 * @styleguide:
 *  colors {
 *   white:  #fff;
 *   black:  #000;
 *   orange: #f60;
 *   blue:   #003384;
 *  }
 *  fonts {
 *   logo:    FF Unit - Medium;
 *   headers: Verdana, Helvetica, sans-serif;
 *   text:    Verdana, Helvetica, sans-serif;
 *  }
 */

/**
 * Elements
 * HTML elements, such as ul, img, p, a, etc.
 */

/* links */
a, a:link { padding: 0 0 1px 0; color: #003384; text-decoration: none; border-bottom: 1px solid white; }
a:visited { color: #003384; border-color: white; }
a:active { color: #f60; border-color: #f60;}
a:hover { color: #f60; border-bottom-color: #f60; }

/* headers */
h1, h2, h3, h4, h5, h6 { margin: 0 0 1em 0; font-family: Verdana, Helvetica, sans-serif; color: #003384; }
h1 { font-size: 1.2em; }
h2 { font-size: 1.1em; }
h3 { font-size: 1em; }

/* images */
img, a img { border: 0; }

/* paragraphs */
p { }

/* lists and definition lists */
ul { }
    ul li {}

dl {}
    dl dt {}
    dl dd {}

/* tables */
table { font-size: 1em; vertical-align: top; border-collapse: collapse; }
    table thead { }
    table tbody { }
    table td, table th { text-align: left; }

/* form elements, labels & fieldsets */
form { margin: 0; }

input, select, textarea { border: 1px solid #999; padding: .2em 0; font: normal 1em Verdana, Helvetica, sans-serif; }
    input:hover, textarea:hover { border-color: #bbb; }
    input:focus, textarea:focus { border: 1px inset #afafaf; }
    input.disabled { cursor: default; background-color: #e8e8e8; }

fieldset { border: 1px solid #003384; padding: 0 1em 1em 1em; }
    fieldset legend { margin: 0 0 .5em .4em; padding: .1em .7em; color: white; font-weight: bold; background-color: #003384; }

label { cursor: pointer; }
    label:hover { color: #003384; }

iframe { min-height: 35em; }

/**
 * Page layout
 */

html, body { margin: 0; padding: 0; border: 0; background-color: white; }
body { font: normal .7em/1.6em Verdana, Helvetica, sans-serif; color: black; }

#body { height: 100%; }
    #container { height: 100%; }
        #content { border-top: 1px solid white; border-left: 160px solid #e8e8e8; min-height: 100%; margin: 0 200px 0 0; padding: 140px 1em 1em 30px; background-color: white; }
        #header { position: absolute; top: 0; left: 0; height: 94px; width: 100%; border-top: 6px solid white; text-indent: -9000px; background-color: #68ade4; background-repeat: no-repeat; background-position: top left; }
            #header h2 { width: 100%; height: 100%; margin: 0; background: url(/images/l_top_transp.gif) 40px 10px no-repeat transparent; }
                #header h2 a { display: block; height: 100%; border: 0; padding-left: 0; background: none; }

        #mainnav { position: absolute; top: 100px; left: 0; border-top: 25px solid white; width: 160px; }
            #mainnav ul { list-style-type: none; margin: 0; padding: 0; }
                #mainnav li { height: 30px; }
                    #mainnav li a { display: block; width: 100%; height: 100%; border: 0; background-color: transparent; background-position: center left; background-repeat: no-repeat; }
                        #mainnav li a span { visibility: hidden; }

        #breadcrumbs { position: absolute; top: 100px; left: 190px; right: 0; height: 20px; background-color: white; }
            #breadcrumbs ul { list-style-type: none; margin: 0; padding: 0; }
                #breadcrumbs ul li { display: inline; margin-right: 0; padding-left: 12px; font-size: .9em; color: #a0a0a0; background: url(/images/i_crumb.gif) left center no-repeat transparent; }
                #breadcrumbs li:first-child, #breadcrumbs li#firstcrumb { padding-left: 0; background-image: none; }
                    #breadcrumbs li a { border: 0; font-weight: bold; color: #666; padding-left: 0; background: none; }
                        #breadcrumbs li a:hover { text-decoration: underline; }

        #globalnav { position: absolute; top: 0; right: 0; margin: 0 30px; background-color: white; }
            #globalnav ul { list-style-type: none; margin: 0; padding: 0; }
                #globalnav ul li { float: left; margin: 0 .5em 0 0; padding: .3em; }
                    #globalnav ul li a { display: block; border: 0; background-repeat: no-repeat; background-position: center center; }
                        #globalnav ul li a span { visibility: hidden; }
        #breadcrumbs h2, #globalnav h2 { display: none; }

    #quicksearch { padding: 1em; }
        #quicksearch h3 { margin: 0; }
        #quicksearch label { clear: both; display: block; }

    #footer { }

    #props { position: absolute; bottom: 1em; left: 1em; }
    html>body #props { position: fixed; }
        #props a, #props a:visited { color: #afafaf; border: 0; }


/**
 * Page content
 */

.contenttext { margin-bottom: 1em; }
#pagebody { }

/* .feed: RSS-feed button placement */
.feed { border: 0 !important; margin-left: 1em; }
    h1 .feed, dt .feed { float: right !important; }
    .feed img { vertical-align: text-top; }

    /* header is wrapped in <span> when feed button is available */
    #content h1 { height: 1.5em; }
    #content h1 span { float: left; }

/* inline sections on the homepage */
.inline-sections { }
    .inline-sections dt { display: block; padding-bottom: 1.5em; font-size: 1.2em; font-weight: bold; background-color: #e8e8e8; }
        .inline-sections dt a { float: left; }
    .inline-sections dd { clear: both; margin: 1em 0 0 0; }
        .inline-sections dd h2 { margin: 0; padding: .2em 1em 0 0; }
            .inline-sections dd h2 a { font-size: .95em; }
        .inline-sections dd p { margin: 0 0 .7em 0; }

/* block: (news)blocks on the homepage */
.block { clear: both; margin-bottom: 2em; }
    .block h2 { margin: 0; padding: 0 1em .1em .3em; font-size: 1.2em; color: black;  }
        .block h2 a { text-decoration: none; color: #003384; }
            .block h2 a:hover { color: #f60; }
    .block img { float: left; margin: 0 1em 1em .3em; }
    .block p { margin: 0 .5em .5em .3em; }

/* default and rich menu */
.menu_default { clear: both; margin: 0; padding: .5em 1em; list-style-type: none; }
    .menu_default li { margin-bottom: .5em; }
        .menu_default li a { padding-left: 15px; background: url(/images/arrow_right.gif) left center no-repeat; }
            .menu_default li a:hover { background-image: url(/images/arrow_right_over.gif); }

.menu_rich { clear: both; margin: 1em 0 2em 0; padding: 0; list-style-type: none; }
    .menu_rich li { float: left; position: relative; width: 132px; height: 130px; margin: 1em 1em 1em 0; border: 1px solid #afafaf; text-align: right; }
        .menu_rich li img { margin: 0; position: absolute; left: 5px; top: 5px; }
        .menu_rich li a { border: 0; }
        .menu_rich span { position: absolute; bottom: 3px; left: 5px; right: 5px; margin: 0; padding-right: 15px; background: url(/images/arrow_right.gif) 100% 50% no-repeat #fff; }
            .menu_rich a:hover span { background-image: url(/images/arrow_right_over.gif); }

/* Default and rich lists */
ul.default, ul.rich { clear: both; margin: 0; padding: 0; list-style-type: none; }
    ul.default li a { padding-left: 16px; background: url(/images/arrow_right.gif) left center no-repeat; }
        ul.default li a:hover { background-image: url(/images/arrow_right_over.gif); }
    ul.rich li { min-height: 150px; margin-bottom: 1em; padding: .3em; }
        ul.rich li h2 { padding: .2em 1em .1em .3em; font-size: 1.2em; background-color: #e8e8e8; }
            ul.rich li h2 a { text-decoration: none; border: 0; }
        ul.rich li img { margin: 0 .3em .5em .5em; }

/* default and rich group */
dl.group { clear: both; }
    dl.group dt { margin: 1em 0 .5em 0; }
        dl.group dt a { font-weight: bold; }
    dl.group dd { margin-left: .3em; }

.group_rich { clear: both; }
    .group_rich dt { clear: both; margin-top: 1em; padding: .3em; background-color: #e8e8e8;  }
        .group_rich dt a { border: 0; margin-bottom: .2em; }
    .group_rich h2 { margin-bottom: .2em; }
    .group_rich dd { min-height: 150px; margin: 0 0 0 1em; padding: 1em .5em 0em .5em; border-bottom: 2px solid #e8e8e8; }
        .group_rich img { vertical-align: top; border: 1px solid #afafaf; margin: .2em 0 1em 1em; padding: 5px; }

/* semicolumn, for providing a 2-column layout, to be used in conjunction with float-left/float-right */
.semicolumn { width: 49%; padding: 0; margin: 0 0 1em 0; }

/* imgbox and linkboxes */
.imgbox_wrapper { clear: both; margin: 1em 0; width: 100%; }
    .imgbox_wrapper .imgbox { margin: 0 .6em 0 0; padding: 0; border: 0; }

.imgbox, .linkbox_default, .linkbox_rich, .linkbox_video { float: left; width: 100px; margin: .5em 1em .5em 0; padding: 5px; border: 1px solid #afafaf; }
    .imgbox img { display: block; margin: 0; border: 0; }
    .imgbox p { margin: 0; padding: .3em; font: bold .8em/1.2em Verdana, Helvetica, sans-serif; color: #003384; background-color: #e8e8e8; }

.linkbox_default, .linkbox_rich, .linkbox_video { clear: both; list-style-type: none; }
    .linkbox_default li { margin: 0; padding: 0 .6em; background-color: #e8e8e8; }
        .linkbox_default li:hover { background-color: transparent; }
        .linkbox_default li a { display: block; padding: 5px; padding-left: 15px; border: 0; background: url(/images/arrow_right.gif) 0 10px no-repeat; }
            .linkbox_default li a:hover { background-image: url(/images/arrow_right_over.gif); }

    .linkbox_rich li { clear: both; margin-bottom: 1em; padding: .3em; width: 122px; min-height: 150px; }
        .linkbox_rich li h2 { margin-bottom: .2em; background-color: #afafaf; }
        .linkbox_rich li a { display: block; border: 0; }
        .linkbox_rich li img { display: block; vertical-align: top; margin-right: .2em; }
        .linkbox_rich li a span { margin: 0; padding-right: 15px; background: url(/images/arrow_right.gif) center right no-repeat transparent; }
            .linkbox_rich li a:hover span { background-image: url(/images/arrow_right_over.gif); }

    .linkbox_video li { clear: both; margin-bottom: 1em; padding: .3em; width: 122px; min-height: 60px; border-bottom: 1px solid #afafaf; }
        .linkbox_video li a img { float: left; vertical-align: top; margin-right: .5em; }

/* addresses */
.address dt, .address dd { float: left; padding: .1em .3em; color: #003384; }
.address dt { clear: both; width: 25%; font-weight: bold; background-color: #e8e8e8; }
.address dd { width: 70%; margin: 0 0 1em 0; background-color: #f9f9f9; }

/* basicform styles form elements, marked up in a definition list */
.basicform dl input, .basicform dl textarea, .basicform dl select { width: 100%; color: #003384; }
    .radio, .radio:hover, .checkbox, .checkbox:hover { width: auto !important; border: 0 !important; }
    .basicform dl dt { clear: both; width: 40%; float: left; color: #003384; }
    .basicform dl dd { width: 60%; float: left; margin: 0 0 1em 0; color: #003384; }
    .errors { font-style: italic; color: red; }
    .header { margin: 1em 0; }
    .header.formpage { display: block; width: auto; float: none; border-bottom: 1px solid #003384; }
        .header.formpage+dd { display: none; }

    .basicform dl dd.calendar-container input { width: 85%; }
    .calendar { position: relative; }
        .calendar img { position: absolute; left: -30px; top: 0; cursor: pointer; }
        .calendar-input { display: none; position: absolute; left: 0; top: 25px; width: 300px; border: 2px outset #f6f6f6; background-color: #f6f6f6; }
            .calendar-input .calendar-navigation { }
                .calendar-input .calendar-date-selection select { width: 50%; }
            .calendar-input table { width: 100%; }
                .calendar-input table td.cpDayColumnHeader { background-color: #dedede; }
                    .calendar-input table td.cpDayColumnHeader span { font-weight: bold; color: #002065; }
                    .calendar-input table .cpOtherMonthDate, .calendar-input table .cpOtherMonthDate:visited, .calendar-input table .cpOtherMonthDate:active { color: #ceced0; }
                    .calendar-input table table td:hover { background-color: #dedede; color: #002065; }
                        .calendar-input table table td a { display: block; border-bottom: 1px solid #f6f6f6; }
                    .calendar-input table table td.cpTodayText { text-align: center; background-color: #dedede; }
                        .calendar-input table table td.cpTodayText a { border-bottom: 0px; font-weight: bold; }

    .progress { text-align: right; color: #003384; font-weight: bold; width: 93%; }

    .progresstext { color: #003384; font-weight: bold; }
    .progressbar { width: 92%; height: .7em; margin: 0 0 1em 0; border: 1px solid #f60; border-left-width: 5px; background-color: white; }
        #progressfill { height: 100%; background-color: #f60; }

/* search styles: form, info and results */
#resultsinfo { padding-bottom: .2em; background-color: #e8e8e8; }
    #resultsinfo h2 { float: left; font-size: 1.2em; }
    #resultsinfo p { float: right; margin: 0; }
    #resultsinfo h2, #resultsinfo p { margin: 0; padding: .2em 1em .1em .3em; color: #003384; }

#searchform { margin: 1em 0; padding-bottom: 1em; }
    #searchform label { float: left; }
    #searchform div { float: left; margin: 0 0 1em 1em; }
    #searchform div label { display: block; clear: both; }
    #searchform div input { margin: 0; }
    #searchform div p { margin: 0 0 .5em 0; }

#searchresults { clear: both; margin: 1.5em 0 0 0; }
    #searchresults dt { margin: 2em 0 .6em 0; }
    #searchresults dd { margin: .3em 0 0 1.4em; }

/* highlighting for search terms */
.highlight { background-color: #e8e8e8; }

/* bannercolumn */
#bannercolumn { position: absolute; right: 0; top: 125px; width: 150px; margin: 1em 30px; padding: .6em 0 .3em 1em; }
    #bannercolumn a { border: 0; }
    #bannercolumn img { margin-bottom: 6em; }
    #bannercolumn object { margin-bottom: 6em; }

/* sitemap */
ul.sitemap { margin: 1em 1em 1em 0; padding: 1em; list-style-type: none; }
    ul.sitemap ul { margin: .3em 1em 1em 4em; padding: 0; list-style-type: none; }
    ul.sitemap li { padding-left: 15px; background: url(/images/arrow_right.gif) 0 5px no-repeat; }
        ul.sitemap li:hover { background-image: url(/images/arrow_right_over.gif); }

/* chapters in documents */
#chapters { }
    #chapters ul.chapters { margin: 0; padding: .5em 0; list-style-type: none; }
        #chapters li.chapter { padding: .3em; }
            #chapters li.chapter a { padding-left: 15px; background: url(/images/arrow_right.gif) left center no-repeat; }
                #chapters li a:hover { background-image: url(/images/arrow_right_over.gif); }

li.chapter { margin: 1em 0 1em 0; }

/* navbox, for displaying next/previous/index links */
.navbox { margin-top: 2em; padding: .3em .2em; text-align: center; background-color: #e8e8e8; }
    .navbox a { border: 0; }

    /* previous, next, index and page links in navbox */
    .prev { float: left; }
    .next { float: right; }
    .index { }
    .page { margin: 0 .2em; }
        .page a { padding: 2px 6px; }

/* more: paragraph with a "read more" link */
.more { clear: both; margin: 1em .5em; }
    .more a { padding: 0 15px 0 0; background: url(/images/arrow_right.gif) center right no-repeat transparent; }
        .more a:hover { background-image: url(/images/arrow_right_over.gif); }

/* date: date in messages */
.date { margin: 0; color: #999; }

/* button: transforms a normal button to a styled button */
.button { width: auto !important; border: 1px solid white; cursor: pointer; padding: 2px 1.5em; font: bold .9em Verdana, Helvetica, sans-serif; color: #003384; text-transform: uppercase; background-color: #e8e8e8; }
    .button:active { border-style: inset; }
    .submit { }


/**
 * Common
 * Very often used classes
 */

/* positioning and visibility */
.clear-both     { clear: both; }
.float-left     { float: left; }
.float-right    { float: right; }
.inline         { display: inline; }
.block-level    { display: block; }
.nodisplay      { display: none; }
.show           { visibility: visible; }
.hide           { visibility: hidden; }
.align-left     { text-align: left; }
.align-right    { text-align: right; }

/* coloring and text decoration/transformation */
.no-border      { text-decoration: none; }
.back           { padding-left: 15px !important; background: url(/images/arrow_left.gif) center left no-repeat; }
.back:hover     { background-image: url(/images/arrow_left_over.gif); }
.red            { color: red; }
.req            { color: red; }
.err            { color: red; font-weight: bold; }
input.err       { font-weight: normal; background-color: #ffbfbf; }
.notice         { background-color: #ffa; color: #f60; border: 1px solid #ffdfca; padding: .3em; }
.white          { color: white; }
.chosen         { color: #f60; font-weight: bold; }

/* odd, even and first for row coloring (zebra tables and distinctive first row) */
.odd           { background-color: #fff; }
.even          { background-color: #ffdfca; }
.first         { background-color: #ffdfca; border: solid #e8e8e8; border-width: 0 1px; }

/* file types */
.doc            { padding: 2px 0 2px 20px !important; background: url(/images/ico_doc.gif) center left no-repeat !important; }
.pdf            { padding: 2px 0 2px 20px !important; background: url(/images/ico_pdf.gif) center left no-repeat !important; }

