
/* color & borders
imotiondesign.net
bg-content:             #ACA89C
bg-content-medium:      #C7C8B2
bg-content-contrast:    #71716C
anchor:                 #FFF
anchor-visited:         #EEE
th/legend bg            #4F4F7B
th/legend fg            #000

nav highlight: #8E8F80
green: #7CAF72
blue: #6D93D6
orange: #E8AA6F
mustard: #D7D767
red: #FF6666
*/

/***** text/display *****/
::-moz-selection {
    background: #E8AA6F;
    color: #FFF;
}
::selection {
    background: #E8AA6F;
    color: #FFF;
}

a {
    color: #FFF;
    background-color: inherit;
    text-decoration: none;
}
a:active, a:visited {
    color: #EEE;
    background-color: inherit;
    text-decoration: none;
}
a:hover, a:focus {
    color: #FFF;
    background-color: #6D93D6;
    text-decoration: underline;
}
a:hover abbr, a:focus abbr {
    text-decoration: underline;
}
a.image:active, a.image:hover, a.image:focus {
    background-color: transparent !important;
}

abbr {
    border-width: 0;
    text-decoration: none;
    cursor: help;
    border-bottom: 1px dotted #000;
}
blockquote {
    background: transparent url(../image/blockquote.gif) no-repeat scroll 0 0;
    margin: 0 40px 20px 0;
    padding: 0 0 0 23px;
    color: #444;
    font-size: 12px;
    line-height: 18px;
}
cite {
    display: block;
    margin-top: -10px;
    padding-left: 23px;
    font-style: italic;
}
body {
    margin: 0;
    padding: 0 0 10px 0;
    /*font-family: "Bitstream Vera Sans", tahoma, arial, helvetica, sans-serif;*/
    font-family: "Palatino Linotype", Palatino, "Book Antiqua", "Bitstream Vera Serif", Georgia, serif;
    font-size: 75%;
    font-style: normal;
    font-weight: normal;
    line-height: 180%;
}
dd {
    margin-left: 1em;
    padding-left: 0;
}
div {
    margin: 0;
}
dl {
    margin: .5em 0 .5em 0;
}
dl dd, dl.links dd {
    margin-top: .3em;
    margin-bottom: 1em;
}
dt {
    font-weight: bold;
}
fieldset {
    padding: .5em;

    border: 1px solid #71716C;
}
fieldset legend {
    margin: .2em 0 .2em 0;
    padding: 2px;

    line-height: 1.2em;
    font-size: 1em;
    font-family: "Bitstream Vera Sans", "Trebuchet MS", Verdana, Tahoma, Arial, Helvetica, sans-serif;
    font-weight: bold;
    text-align: left;
    background: #71716C url(../image/bg/contrast.gif) repeat scroll top left;
    color: #FFF;
}
fieldset fieldset legend {
    margin: .2em 0 .2em 0;
    padding: 2px;
    line-height: 1.2em;
    font-size: 1em;
    font-family: "Bitstream Vera Sans", "Trebuchet MS", Verdana, Tahoma, Arial, Helvetica, sans-serif;
    font-weight: bold;
    text-align: left;
    background-color: #FFF;
    color: #4F4F7B;
    border: 1px solid #4F4F7B;
    -moz-border-radius: 3px;
}
form {
    margin: 0;
}

h1, h2, h3, h4, h5, h6 {
    margin: 1.2em 0 .2em 0;
    font-family: "Bitstream Vera Sans", "Trebuchet MS", Verdana, Tahoma, Arial, Helvetica, sans-serif;
    text-align: left;
    font-weight: normal;
    color: #000;
    text-transform: lowercase;
}
h1 {
    margin: 0 0 -9px 0;
    font-size: 200%;
    line-height: 200%;
    color: #70706B;
}
h2 {
    margin: 1em 0 .5em 0;
    padding: .2em 0;

    font-size: 170%;
    line-height: 140%;
    border: 1px dotted #70706B;
    border-width: 1px 0;
}
h3 {
    font-size: 140%;
    line-height: 140%;
}
h4 {
    font-size: 120%;
    line-height: 120%;
    font-weight: bold;
}
h5 {
    font-size: 100%;
    line-height: 100%;
    font-weight: bold;
}
h6 {
    font-size: 80%;
    line-height: 80%;
    font-weight: bold;
}

hr {
    display: block;
    width: 30%;
    height: 2px;
    margin: 1em auto;

    color: #70706B;
    background-color: #70706B;
    border: none;
    border: 0px solid #70706B;
}

html {
    margin: 0;
    padding: 0;
    color: #000;
    background: #71716C url(../image/html-bg.gif) repeat scroll top left;
}
img {
    display: inline;
    vertical-align: middle;
    margin: 0;
    padding: 0;
    border: 0;
}
input[type=text], input[type=password], select, textarea {
    color: #000;
    background-color: #FFF;
}
input[type=button], input[type=submit], input[type=reset], button {
    font-weight: normal;
}
input.default, button.default {
    font-weight: bold;
}
input[type=text], input[type=password] {
    width: 15em;
}
input[type=text]:focus, input[type=password]:focus, textarea:focus {
    background: #C7C8B2 url(../image/bg/medium.gif) repeat scroll top left;
    color: #000;
}
kbd {
    padding: 0 1px;
    border-width: 1px 2px 2px 1px;
    border-style: solid;
    background: #FAF6F6;
    color: #000;
    border-color:  #EDD #BAA #BAA #EED;
}
li {
    margin: 0 0 0 1em;
    padding: 0;
    list-style-position: outside;
}
li ol, li ul {
    margin-left: 1em;
}
li > p {
    margin-top: 0.2em;
}
ol, ul {
    margin: 0.3em 0 0.5em 1em;
    padding: 0;
}
p {
    text-align: justify;
}
pre {
    margin-bottom: 1em;
    padding: .5em;
    background: #C7C8B2 url(../image/bg/medium.gif) repeat scroll top left;
    color: #000;
    border: 1px solid #000;
    overflow: auto;
}
pre code {
    font-size: 1em;
}
strong {
    font-weight: bold;
}
table {
    border: 0;
    padding: 0;
}
textarea {
    width: 15em;
}
td {
    padding: 5px;
}
th {
    padding: 5px;
    vertical-align: middle;
    background: #71716C url(../image/bg/contrast.gif) repeat scroll top left;
    color: #FFF;
    border: 1px solid #000;
}

/* monospaces */
pre, code, kbd,
input[type=button], input[type=submit], input[type=reset], button,
input[type=text], input[type=password], select, textarea {
    font-family: "Bitstream Vera Sans Mono", "Lucida Console", "American Typewriter", "Courier New", Courier, monospace;
    font-size: 1em;
}
/* /monospaces */

.bgContent {
    background: #ACA89C url(../image/bg/content.gif) repeat scroll top left;
    color: #000;
}
.bgMedium {
    background: #C7C8B2 url(../image/bg/medium.gif) repeat scroll top left;
    color: #000;
}
.bgContrast {
    background: #71716C url(../image/bg/contrast.gif) repeat scroll top left;
    color: #FFF;
}
.bgGreen {
    background: #7CAF72 url(../image/bg/green.gif) repeat scroll top left;
    color: #000;
}
.bgBlue {
    background: #6D93D6 url(../image/bg/blue.gif) repeat scroll top left;
    color: #000;
}
.bgOrange {
    background: #E8AA6F url(../image/bg/orange.gif) repeat scroll top left;
    color: #000;
}
.bgYellow {
    background: #D7D767 url(../image/bg/yellow.gif) repeat scroll top left;
    color: #000;
}
.bgRed {
    background: #FF6666 url(../image/bg/red.gif) repeat scroll top left;
    color: #000;
}
.clear {
    clear: both;
    height: 0;
    line-height: 0;
}
.error {
    margin: .4em 0 .6em 0;
    color: #C00;
}
.formControls {
    margin: .5em 0;
    text-align: right;
}
.formControls input[type=button], .formControls input[type=submit], .formControls input[type=reset], .formControls button {
    width: 5em;
    text-align: center;
}
.formRequired label, .required {
    font-weight: bold;
}
.formRow {
    margin: 0 0 .4em 0;
    padding: .6em 0;
}
.formRow + .formRow {
    border-top: 1px dotted #DDD;
}
.highlight {
    background: #C7C8B2 url(../image/bg/medium.gif) repeat scroll top left;
    color: #000;
}
input.textInputBig {
    width: 25em;
}
input.textInputSmall {
    width: 4em;
}
input.textInputTiny {
    width: 2em;
}
input.textInputPrice, input.textInputNumber {
    width: 4em;
    text-align: right;
}
input.textInputQuantity {
    width: 2em;
    text-align: right;
}
input.textInputDate {
    width: 7em;
    text-align: right;
}
input.textInputDateTime {
    width: 10em;
    text-align: right;
}
.processMessage {
    margin: .4em 0 .6em 0;
    padding: .4em;

    font-weight: bold;
    background: #71716C url(../image/bg/contrast.gif) repeat scroll top left;
    color: #FFF;
}
.smallText {
    font-size: .6em;
}
.textLabel {
    clear: both;
    display: block;
    float: left;
    width: 11em;
    margin-right: .5em;
}

ul.links, ol.links, ul.prices {
    margin: 0;
}

ul.prices li {
    margin-bottom: .5em;
}

ul.links, ul.links li, ul.prices, ul.prices li {
    margin-left: 0;
    padding-left: 0;
    list-style-type: none;
}
ul.links li li {
    margin-left: 1em;
    list-style-type: disc;
}
ul.links li li li {
    margin-left: 1em;
        list-style-position: inside;
    list-style-type: disc;
}
ul.links li li li {
    list-style-type: circle;
}
ul.links li li li li {
    list-style-type: square;
}
ul.links li li li li li {
    list-style-type: disc;
}
ul.links li li li li li li {
    list-style-type: circle;
}
ul.links li li li li li li li {
    list-style-type: square;
}

/***** /display *****/


/***** page specific *****/

/*** modules ***/
/* catalog */
.catalogCategorySpacer {
    clear: both;
    height: 2px;
    line-height: 2px;
    background-color: #4F4F7B;
}
.catalogCategoryContainer {
    float: left;
    width: 260px;
    margin: 10px;
}
.catalogCategoryHeader {
    font-size: 1.1em;
}
.catalogCategoryImageContainer {
    width: 260px;
    min-height: 100px;
    margin: 20px 0 10px 0;
    text-align: left;
}
.catalogCategoryShortDesc {
    text-align: left;
}

.catalogProductOtherImages {
    margin-top: 2em;
    text-align: center;
}
/* /catalog */

/* gallery */
.galleryCategorySpacer, .galleryThumbSpacer {
    clear: both;
    height: 2px;
    line-height: 2px;
    background-color: #4F4F7B;
}
.galleryCategoryContainer, .galleryThumbContainer {
    float: left;
    width: 220px;
    margin: 10px;
}
.galleryCategoryHeader, .galleryThumbHeader {
    font-size: 1.1em;
}
.galleryCategoryImageContainer, .galleryThumbImageContainer {
    width: 220px;
    min-height: 100px;
    margin: 10px 0 10px 0;
    text-align: left;
}
.galleryCategoryShortDesc, .galleryThumbShortDesc {
    text-align: left;
}

.galleryImageImageContainer {

}
.galleryImageLongDesc {

}
.galleryImageNav {
    margin-top: 3em;
}
.galleryImageNavPrev {
    float: left;
    width: 100px;
    text-align: left;
}
.galleryImageNavCategory {
    float: left;
    width: 300px;
    margin-left: 114px;
    text-align: center;
}
.galleryImageNavNext {
    float: right;
    width: 100px;
    text-align: right;
}
/* /gallery */

/* calendar */
.calendarMonth {
    margin-bottom: 2em;
}
.calendarMonthHeader {
    font-size: 1.3em;
    text-align: center;
}
.calendarMonthDayHeader {

}
.calendarMonthDay {
    width: 70px;
    height: 70px;
    text-align: left;
    vertical-align: top;
}
.calendarMonthDaySelected {
    background-color: #EEF;
}
.calendarMonthDayEvent {
    margin: .5em 0;
    font-size: .8em;
}
/* /calendar */


/*** actual sections and pages ***/
/* company */
#sidebarCompanyIndex {
    width: 200px;
    margin: 22px 30px 20px 0;
}
#sidebarCompanyJobOpportunities {
    width: 200px;
    margin: 0 30px 20px 0;
}
#sidebarCompanyOpenSourcePhilosophy {
    width: 200px;
    margin: 22px 30px 20px 0;
}
#sidebarCompanyMissionMethod {
    width: 200px;
    margin: 22px 30px 20px 0;
}
/* /company */


/* search */
dl.searchResults {
    margin-bottom: 2em;
}
dl.searchResults dt.searchResult {
    margin: 0 0 .5em 0;
    font-size: 1.3em;
    font-weight: bold;
    border-bottom: 1px solid #FFF;
}
dl.searchResults dd.searchResult {
    width: 60%;
}
dl.searchResults dd.searchResultMore {
    margin-bottom: 2em;
    color: #FFF;
}
.searchPager {
    margin: 1em;
    text-align: center;
    border: 3px solid #000;
    background-color: #6D93D6;
    font-size: 1.2em;
    font-weight: bold;
}
.searchPager .highlight {
    background: #E8AA6F none !important;
    padding: 0 .5em;
}
/* /search */

/***** /page specific *****/


/***** lightbox *****/
#lightbox{
    background-color:#eee;
    padding: 10px;
    border-bottom: 2px solid #666;
    border-right: 2px solid #666;
}
#lightboxDetails{
    font-size: 0.8em;
    padding-top: 0.4em;
}
#lightboxCaption{ float: left; }
#keyboardMsg{ float: right; }
#closeButton{ top: 5px; right: 5px; }

#lightbox img{ border: none; clear: both;}
#overlay img{ border: none; }

#overlay{ background-image: url(../image/overlay.png); }

* html #overlay {
    background-color: #333;
    back\ground-color: transparent;
    background-image: url(../image/blank.gif);
    filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../image/overlay.png", sizingMethod="scale");
}
/***** /lightbox *****/

@media print {
    body {
        margin: 0;
        padding: 1em;
        font-family: "Bitstream Vera Sans", tahoma, arial, helvetica, sans-serif;
        font-size: .8em;
        font-style: normal;
        font-weight: normal;
        background-color: #FFF;
    }
    fieldset {
        padding: .5em;
        border: 1px solid #000;
    }
    html {
        background-color: #FFF;
    }
    legend {
        margin: .2em 0 .2em 0;
        padding: 2px;
        line-height: 1.2em;
        font-size: 1em;
        font-family: "Bitstream Vera Sans", "Trebuchet MS", Verdana, Tahoma, Arial, Helvetica, sans-serif;
        font-weight: bold;
        text-align: left;
        background-color: inherit;
        border: none;
        color: inherit;
    }
    th {
        background-color: inherit;
        border: 1px solid #000;
        color: inherit;
    }

    .formControls {
        display: none;
    }
    .highlight {
        background-color: #CCC;
    }
}

#bodyHeader {
    margin: 0;
    padding: 0;
    background: transparent none no-repeat top right;
}

#bodyHeaderLogo {
    width: 996px;
    height: 86px;
}

#bodyHeaderNav {

}

#bodyHeaderTopNav {
    clear: both;
    margin: 0;
    padding: 0;
    height: 38px;
    line-height: 38px;

    border-top: 4px solid #000;
    border-bottom: 4px solid #000;
}
#bodyHeaderTopNavLeft {
    width: 398px;
    height: 38px;
}
#bodyHeaderTopNavRight {
    position: absolute;
    top: 90px;
    left: 746px;
    width: 152px;
    height: 38px;
}
#bodyHeaderTopNav li img, #bodyHeaderTopNavRight li img {
    border-right: 2px solid #000;
}

#bodyHeaderBottomNav {
    clear: both;
    margin: 0;
    padding: 0;
    height: 25px;
    line-height: 25px;

    border-top: 4px solid #000;
    border-bottom: 4px solid #000;
}
#bodyHeaderBottomNavServices {
    width: 780px;
}
#bodyHeaderBottomNavServices li img {
    border-right: 1px solid #000;
}

#bodyHeaderNavBar {
    clear: both;
    height: 84px;
    line-height: 84px;
}
#bodyHeaderPhotoBox {
    position: absolute;
    top: 90px;
    left: 394px;
    width: 344px;
    height: 126px;

    border-left: 4px solid #000;
    border-right: 4px solid #000;
}
#bodyHeaderNavBarLeft {
    position: absolute;
    top: 132px;
    left: 0;
    width: 394px;
    height: 84px;
}
#bodyHeaderNavBarRight {
    position: absolute;
    top: 132px;
    left: 746px;
    width: 250px;
    height: 84px;
}

#bodyHeaderBar {
    clear: both;
    height: 5px;
    line-height: 5px;

    border-bottom: 4px solid #000;
}

#bodyFooterBar1 {
    clear: both;
    height: 15px;;
    line-height: 15px;

    border-top: 4px solid #000;
    border-bottom: 4px solid #000;
}

#bodyFooterBar2 {
    clear: both;
    height: 10px;
    line-height: 10px;

    border-bottom: 4px solid #000;
}


/* see individual layouts in layout/ dir */
#bodyExtra ul.links {
    text-transform: lowercase;
}

.sidebarCell {
    margin: 0;
    padding: 5px;
    border-bottom: 4px solid #000;

    font-size: 90%;
    line-height: 160%;
}
.sidebarCell h2 {
    margin: .2em 0;
    padding: 0;

    font-size: 160%;
    line-height: 160%;
    border: none;
    font-weight: normal;
}
.sidebarCell h2 a {
    color: #000 !important;
}
.sidebarCell .links a {
    font-size: 110%;
}

#bodyFooter {
    clear: both;

    color: #FFF;
    background: transparent /*url(../image/content-bg.gif) repeat-y scroll top right*/;
    text-align: center;
    font-size: 90%;
    line-height: 160%;
}
#bodyFooterText {
    clear: both;
    margin: .5em 0;
    font-style: italic;
}

#bodyFooter a {
    color: #FFF;
    background-color: inherit;
    text-decoration: underline;
}
#bodyFooter a:active, #bodyFooter a:visited {
    color: #FFF;
    background-color: inherit;
    text-decoration: underline;
}
#bodyFooter a:hover, #bodyFooter a:focus {
    color: #FFF;
    background-color: #6D93D6;
    text-decoration: underline;
}


.floatingBarContainer {
    float: left;
    width: 165px;
    margin: 10px 10px 0 10px;
    padding: 0;
}
.floatingBarHeader {
    width: 100%;
    padding: 3px 3px 3px 3px;
    border: 4px solid #000;
    border-bottom: 2px solid #000;
}
.floatingBarHeader h2, .floatingBarHeader h3 {
    margin: 0;
    padding: 0;
    border: none;
    color: #000;
    background: transparent none;
    font-size: 1em;
    font-weight: bold;
    text-transform: lowercase;
}
.floatingBarCell {
    width: 100%;
    margin-bottom: 10px;
    padding: 3px;
    border: 4px solid #000;
    border-top: none;
}
.floatingBarCell p {
    /*text-align: left;*/
}

.floatingBarHorizontalContainer {
    width: 535px;
    margin: 10px;
    padding: 0;
}
.floatingBarHorizontalHeader {
    width: 220px;
    height: 100%;
    float: left;
    padding: 10px 3px 10px 3px;
    text-align: center;
    border-top: 4px solid #000;
    border-right: none;
    border-bottom: 4px solid #000;
    border-left: 4px solid #000;
    font-weight: bold;
}
.floatingBarHorizontalCell {
    width: 280px;
    float: left;
    height: 100%;
    padding: 10px 3px 10px 3px;
    border-top: 4px solid #000;
    border-right: 4px solid #000;
    border-bottom: 4px solid #000;
    border-left: 4px solid #000;
}

/* sidebar-content-nav sidebar-content-nav  */


#bodyWrap {
    width: 750px;
    margin: 0 10%;
    padding: 0;

    background: #ACA89C url(../image/bg/layout/sidebar-content-nav.gif) repeat-y scroll top left;
}

#bodyContent {
    float: left;
    width: 572px;
    margin: 0;
    padding: 0 20px 0 4px;
}
#bodyContentColumn1 {
    float: right;
    width: 408px;
    margin: 0 0 0 0;
    padding: 5px 0 0 0;
}
#bodyContentColumn2 {
    float: left;
    width: 150px;
    margin: 0 4px 15px 0;
}
#bodyContentClear, #bodyWrapClear {
    clear: both;
    height: 0;
    line-height: 0;
    margin: 0;
    padding: 0;
}

#bodyExtra {
    float: left;
    width: 150px;
    margin: 0 0 15px 0;
}


/*
use xb settings to make ul/li appear the
same in mozilla, ie and opera
*/

ul.menuNav {
    display: block;
    margin: 0;
    padding: 0;
    line-height: 0;
}
ul.menuNav ul {
    display: block;
    margin: 0;
    padding: 0;
}

/*
top level items in ul are inline to display horizontally
across page
*/

ul.menuNav li {
    display: inline;
    position: relative;
    margin: 0;
    padding: 0;
    list-style: none;
}

/* only the top level li's (NS7.0 kluge) */
ul.menuNav > li {
    padding-top: 35px;
}

/*
nested lists inside of the top level items are initially
not displayed
*/
ul.menuNav li.sub ul {
    display: block;
    position: absolute;
            top: 55px; /* required for NS 7.x/Gecko 1.0.x but not Gecko 1.3 */
        left: 0;
            visibility: hidden;
    width: 12em;
    z-index: 1000;
}

ul.menuNav li.sub ul li {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    line-height: 1.5em;
}

ul.menuNav li.sub ul li a {
    display: block;
    width: 95%;
    margin: 0;
    padding: 0 0 0 5%;
}

/*
for css based versions extend the li
below the menu so that the mouse will
stay over the li and keep the hover active
*/

ul.menuNav > li.sub:hover {
    padding-bottom: 15em;
}

ul.menuNav li.sub:hover ul {
    left: 0;
    visibility: visible;
    padding: 0 2em 15em 0;
}

/* further nesting */
ul.menuNav li.sub ul li.sub ul {
    top: 0;
}
ul.menuNav ul, ul.menuNav li:hover ul ul {
    display: none;
}
ul.menuNav li:hover ul, ul.menuNav li:hover li:hover ul {
    display: block;
}
ul.menuNav li:hover li:hover ul {
    left: 12em;
    display: block;
}



/* Popup menu styles */
/* top level */
ul.menuNav {
    color: black;
    font-size: smaller;
    font-weight: bold;
}
ul.menuNav li {
    text-align: left;
}
/* /top level */

/* nested */
ul.menuNav li.sub ul {
    background: transparent none;
}
ul.menuNav li.sub ul li {
    background: #E8AA6F;
    border: 1px solid #000;
    color: #000;
}
/* yes it takes this many rules to get the anchor color cascade right */
ul.menuNav li a:hover {
    background: transparent none;
}
ul.menuNav li.sub ul a {
    display: inline;

    background: none;
    color: #000;
    text-decoration: none;
    white-space: nowrap;
}
ul.menuNav li.sub ul a:visited {
    background: none;
    color: #333;
}
ul.menuNav li.sub ul a:hover {
    background: #6D93D6 none;
    color: #000;
}
ul.menuNav li.sub ul li.sub a {
    background: transparent url(../image/right-arrow.gif) center right no-repeat;
}
ul.menuNav li.sub ul li.sub a:hover {
    background: #6D93D6 url(../image/right-arrow.gif) center right no-repeat;
}
ul.menuNav li.sub ul li.sub ul a {
    background: none !important;
}
ul.menuNav li.sub ul li.sub ul a:hover {
    background: #6D93D6 none !important;
}
/* /nested */
