/*------------------------------------------------------------
   GLOBAL
------------------------------------------------------------*/
body
{
   background-color: #c0c0c0;
   text-align: center;
   font-family: Arial, Helvetica, Verdana, sans-serif;
   font-size: 14px;
   line-height: 142%;
   color: #676f79;
   margin: 0px auto;
   padding: 0px;
}

a:link, a:visited { color: #235aa4; text-decoration: underline; }
a:hover, a:active { color: #000; text-decoration: underline; }

/* Text - Fonts + Decoration */
h1, h2, h3
{
   font-family: Arial, Helvetica, Verdana, sans-serif;
   font-size: 24px;
   font-weight: bold;
   line-height: 100%;
   color: #40454b;
   margin: 0px 0px 15px 0px;
}

h1
{
   font-weight: bold;
}

h2
{
   font-size: 14px;
   margin: 0px 0px 12px 0px;
}

h3
{
   font-size: 13px;
   margin: 0px 0px 11px 0px;
}

p { margin: 0px 0px 10px 0px; }

p + h2 { margin-top: 15px; }

/* h2 + p, h3 + p { margin-top: 5px; } */

small
{
   font-size: 10px;
   line-height: 120%;
}

img + small { display: block; padding: 5px 0px 10px 0px; color: #666; }
td img + small { padding-bottom: 20px; }

ul { list-style-type: square; }
/* li ul { list-style-type: square; } */

li
{
   line-height: 130%;
   margin: 0px 0px 5px 0px;
   padding: 0px;
}

li ul { margin: 12px 0px 12px 0px; }

img { border: 0px; }
img.icon { border: 0px !important; }

form 
{ 
   border: 0px;
   margin: 0px;
   padding: 0px;
}

hr
{
   background-color: #c1c2c4;
   color: #c1c2c4;
   height: 2px;
   margin: 15px 0px;
   border-width: 0px;
}

.left { float: left; }
.right { float: right; }
.imageLeft { margin: 0px 30px 10px 0px; }
.imageRight { margin: 0px 0px 10px 30px; }

.small { font-size: 85%; }

td.label { font-weight: bold !important; }

.notes { color: #888; }
.twitter-blue { color: #0066a5; }
.twitter-time 
{
   font-size: 10px;
   color: #0066a5;
}

/*
input, textarea
{ 
   font-size: 1.0em; 
   line-height: 1.4em;
   color: #c2bebe;
   background-color: #6d6e75;
}
*/

/*------------------------------------------------------------
   Page Layout Blocking
------------------------------------------------------------*/
#pageFrameHome, #pageFrameCat, #pageFrameFull,
#pageFrame2, #pageFrame2L, #pageFrame2R,
#pageFrame3, #pageFrame3L, #pageFrame3R
{
   margin: 10px 0px 0px 0px;
   padding-bottom: 20px;
}

/*------------------------------------------------------------
   Header
------------------------------------------------------------*/
#headerStretch
{
   background-color: #c0c0c0;
   text-align: center;
}

#header 
{
   border-top: solid 1px #333;
   border-left: solid 1px #333;
   border-right: solid 1px #333;
   background: url(../graphics/faultless-header.jpg) repeat-x;
   background-position: top right;
   text-align: left;
   height: 175px;
   margin: 0px auto;
   padding: 0px;
   width: 1050px;
   overflow: hidden;
}

#header #logo { margin-left: 70px; float: left; }

#header #topNav
{
   font-family: Arial, Tahoma, Geneva, sans-serif;
   font-size: 10px;
   line-height: 100%;
   font-weight: bold;
   text-align: right;
   margin: 0px;
   padding: 12px 15px 0px 0px;
   width: 465px;
   height: 23px;
   border: solid 0px #999;
   float: left;
}

#header #topNav img { margin: 0px 4px -4px 15px; }

#header #topNav a:link, #header #topNav a:visited { color: #564f4c; text-decoration: none; }
#header #topNav a:hover, #header #topNav a:active { color: #564f4c; text-decoration: underline; }
#header #topNav a.selected:link, #header #topNav a.selected:visited { color: #999; }

/* Search Box */
#header #search
{
   margin: 0px;
   padding: 8px 0px 0px 0px;
   float: left;
}

#header #search table
{
   background: url(../graphics/search-back.png) no-repeat;
   background-color: #8d8e8f;
   border-collapse: collapse;
   border: none;
   padding: 0px;
   margin: 0px;
   height: 26px;
}

#header #search td { padding: 4px; }

#header #search #label 
{
   font-size: 9px;
   font-weight: bold;
   padding: 4px 5px 4px 8px;
   color: #fff;
}

#header #search input
{ 
   font-size: 11px;
   line-height: 12px;
   margin: 0px;
   padding: 1px 3px;
   width: 147px;
}

#header #missionStatement
{
   font-family: Arial Black, sans-serif;
   font-size: 25px;
   line-height: 28px;
   color: #fff;
   text-shadow: 2px 2px 0px #4f4b49;
   padding: 60px 0px 0px 30px;
   width: 450px;
   height: 80px;
   float: left;
}

#header #phoneNumber
{
   background: url(../graphics/phone-back.jpg) no-repeat;
   font-size: 14px;
   font-weight: bold;
   line-height: 130%;
   color: #333;
   padding: 60px 0px 0px 20px;
   width: 180px;
   height: 80px;
   float: left;
}

#header #phoneNumber span 
{
   font-size: 18px;
   font-weight: bold;
   line-height: 180%;
   color: #d2372a; 
}


/*------------------------------------------------------------
   Nav Bar
------------------------------------------------------------*/
#navStretch
{
   /* background-color: #8d2c30; */
   height: 50px;
}

#nav
{
   border-left: solid 1px #333;
   border-right: solid 1px #333;
   background: url(../graphics/nav-button-sprite.png) repeat-x;
   font-family: arial, verdana, tahoma, geneva, sans-serif;
   font-size: 14px;
   font-weight: bold;
   line-height: 100%;
   margin: 0px auto 0px auto;
   padding: 0px;
   width: 1050px;
   height: 50px;
}

#nav ul
{
   list-style: none;
   margin: 0px 0px 0px 70px;
   padding: 0px;
   height: 50px;
}

#nav li
{
   background: url(../graphics/nav-button-sprite.png) no-repeat;
   background-position: 0px 0px;
   margin: 0px;
   padding: 0px;
   height: 50px;
   float: left;
}

#nav li a
{
   display: block;
   text-align: center;
   margin: 0px;
   padding: 11px 0px 3px 0px;
   width: 152px;
   height: 36px;  /* 50 - 11 - 3 */
   float: left;
}

#nav li.last { width: 10px; }

#nav li:hover { background-position: -152px 0px; }
#nav li.last:hover { background-position: 0px 0px; width: 10px; }
#nav li.menu1Sel { background-position: -304px 0px; color: #000; }

#nav a:link, #nav a:visited, #nav a:hover, #nav a:active { color: #fff; text-decoration: none; }

#nav .menu1Sel a:link, #nav .menu1Sel a:visited { color: #000; text-decoration: none; }


/* Caster Store sprite */
#nav #navCasterStore,
#nav .menu1Sel #navCasterStore
{ 
   background: url(../graphics/nav-icons-sprite.png) no-repeat;
   background-position: 0px 0px;
   text-align: left;
   padding-left: 51px;
   width: 101px;
}

#nav .menu1Sel #navCasterStore { background-position: 0px -50px; }

/* Caster Drawing sprite */
#nav #navCADModels, #nav #navCADDrawings,
#nav .menu1Sel #navCADModels, #nav .menu1Sel #navCADDrawings
{ 
   background: url(../graphics/nav-icons-sprite.png) no-repeat;
   background-position: -152px 0px;
   text-align: left;
   padding-left: 45px;
   width: 107px;
}

#nav .menu1Sel #navCADModels, #nav .menu1Sel #navCADDrawings { background-position: -152px -50px; }

/* Resources sprite */
#nav #navResources,
#nav .menu1Sel #navResources
{ 
   background: url(../graphics/nav-icons-sprite.png) no-repeat;
   background-position: -304px 0px;
   text-align: left;
   padding-left: 52px;
   width: 100px;
}

#nav .menu1Sel #navResources { background-position: -304px -50px; }

/* Contact sprite */
#nav #navContact,
#nav .menu1Sel #navContact
{ 
   background: url(../graphics/nav-icons-sprite.png) no-repeat;
   background-position: -608px 0px;
   text-align: left;
   padding-left: 70px;
   width: 82px;
}

#nav .menu1Sel #navContact { background-position: -608px -50px; }

#print
{
   margin: -30px 0px 30px 850px;
}

#print img
{
   float: left;
   margin-right: 8px;
}

#print a:link, #print a:visited { color: #564f4c; text-decoration: none; }
#print a:hover, #print a:active { color: #564f4c; text-decoration: underline; }

/*--------------------------------------------------
   Left Subnav
--------------------------------------------------*/
#subnav h2
{
   background: url(../graphics/subnav-head-back.png) no-repeat; 
   font-family: "Arial Black", Arial, Helvetica, sans-serif;
   text-align: center;
   font-size: 18px;
   line-height: 16px;
   text-align: left;
   color: #fff;
   padding: 7px 0px 0px 30px;
   margin: 0px 0px 0px -8px;
   width: 217px;
   height: 38px;  /* 45 - 9 */
   border: solid 0px #999;
}

#subnav ul
{
   background-color: #f3f3f3; /* for non-css3 browsers */
   /* -moz-box-shadow: 3px 4px 4px #a6a6a6;
   -webkit-box-shadow: 3px 4px 4px #a6a6a6;
   box-shadow: 3px 4px 4px #a6a6a6; */
   /* -ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='#a6a6a6')"; */ /* For IE 8 */
   /* filter: progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='#a6a6a6a'); */ /* For IE 5.5 - 7 */
   list-style-type: none;
   margin: -11px 0px 60px 0px;
   padding: 0px;
   width: 228px;
}

#subnav li
{
   border-left: solid 1px #9a9a9a;
   border-right: solid 1px #9a9a9a;
   border-bottom: solid 1px #9a9a9a; 
   background: url(../graphics/subnav-back-sprite.png) no-repeat; 
   font-family: Arial, Helvetica, sans-serif;
   font-size: 13px;
   font-weight: bold;
   color: #000;
   margin: 0px;
   padding: 0px;
   width: 228px;
}

#subnav li.menu1 { background-position: 0px 0px; }
#subnav li.menu1:hover { background-position: 0px -33px; }
#subnav li.menu1Sel { background-position: 0px -66px; }

#subnav li.menu2 { background-image: none; background-color: #f3f3f3; font-weight: normal; }
#subnav li.menu2:hover { background-image: none; background-color: #ddd; }
#subnav li.menu2Sel { background-image: none; background-color: #ddd; }

#subnav .menu1 a, .menu1Sel a
{ 
   display: block; 
   padding: 8px 10px 0px 22px;
   height: 25px;  /* 33 - 8 */
   width: 208px;  /* 228 - 32 */
}

#subnav .menu2 a, .menu2Sel a
{ 
   display: block; 
   padding: 7px 10px 7px 35px;
   width: 194px;  /* 228 - 35 */ 
}

#subnav a:link, #subnav a:visited { color: #000; text-decoration: none; }
#subnav a:hover, #subnav a:active { color: #000; text-decoration: none; }

#subnav .menu1Sel a:link, #subnav .menu1Sel a:visited { color: #fff; }
#subnav .menu2Sel a:link, #subnav .menu2Sel a:visited { color: #444; }

#subnav .menuHelp
{
   float: right;
   padding: 6px 15px 0px 15px;
}

.menu-help-desc 
{
   display: none;
   position: absolute;
   border: 1px solid #9a9a9a;
   padding: 8px 15px 8px 15px;
   background-color: #eee;
   color: #676f79;
   width: 500px;
   -moz-box-shadow: 1px 1px 5px #333;
   -webkit-box-shadow: 1px 1px 5px #333;
   -moz-border-radius: 2px;
   -webkit-border-radius: 2px;
}

#subInfo
{
   background: url(../graphics/side-info-back.jpg) no-repeat;
   font-size: 14px;
   font-weight: bold;
   line-height: 130%;
   color: #333;
   padding: 20px 0px 0px 20px;
   width: 213px;
   height: 80px;
}

#subInfo span 
{
   font-size: 18px;
   font-weight: bold;
   line-height: 180%;
   color: #d2372a; 
}

/*--------------------------------------------------
   Icons
--------------------------------------------------*/
#icons
{
   font-family: Arial, Tahoma, Geneva, sans-serif;
   font-size: 12px;
   text-align: right;
   padding: 0px 0px 15px 0px;
   margin: 0px auto;
   /* background-color: #eee; */
   width: 850px;
}

#icons img { margin: 0px 0px 0px 25px; }

#icons a:link, #icons a:visited { color: #660549; text-decoration: none; }
#icons a:hover, #icons a:active { color: #660549; text-decoration: underline; }

/*--------------------------------------------------
   Content Area - box below header and nav
--------------------------------------------------*/
#contentStretch
{
   clear: left;
   /* background-color: #fff; */
   text-align: center;
}

#content
{
   border-left: solid 1px #333;
   border-right: solid 1px #333;
   background-color: #fff;
   text-align: left;
   margin: 0px auto 0px auto;
   padding: 50px 70px 35px 70px;
   min-height: 475px;         /* for all other browsers */
   height: auto !important;   /* for IE6 */
   height: 400px;
   width: 910px;  /* 1050 - 70 - 70 */
   overflow: auto;
}

#pageFrameHome #content { padding: 50px 60px 35px 70px; width: 920px; }

* html #content { overflow: visible; }

/*--------------------------------------------------
   2 & 3 Region Layout
--------------------------------------------------*/
#pageFrame3 #row1
{
   margin: 0px;
   padding: 0px;
   width: 910px;
}

#pageFrame2 #col1,
#pageFrame3 #col1
{
   margin: 0px;
   padding: 0px;
   width: 400px;
   float: left;
   display: inline;  /* for IE6 Margin Bug */
}

#pageFrame2 #col2,
#pageFrame3 #col2
{
   margin: 0px 25px 0px 0px;
   padding: 0px;
   width: 400px;
   float: right;
   display: inline;  /* for IE6 Margin Bug */
}

/*--------------------------------------------------
   2 & 3 Region Left Layout
--------------------------------------------------*/
#pageFrame3L #row1
{
   margin: 0px;
   padding: 0px;
   width: 910px;
}

#pageFrame2L #col1,
#pageFrame3L #col1
{
   margin: 0px;
   padding: 0px;
   width: 605px;
   float: left;
   display: inline;  /* for IE6 Margin Bug */
}

#pageFrame2L #col2,
#pageFrame3L #col2
{
   margin: 0px 0px 0px 0px;
   padding: 0px;
   width: 260px;
   float: right;
   display: inline;  /* for IE6 Margin Bug */
}

/*--------------------------------------------------
   3 Region Right Layout
--------------------------------------------------*/
#pageFrame3R #row1
{
   margin: 0px;
   padding: 0px;
   width: 910px;
}

#pageFrame2R #col1,
#pageFrame3R #col1
{
   margin: 0px;
   padding: 0px;
   width: 260px;
   float: left;
   display: inline;  /* for IE6 Margin Bug */
}

#pageFrame2R #col2,
#pageFrame3R #col2
{
   margin: 0px;
   padding: 0px;
   width: 605px;
   float: right;
   display: inline;  /* for IE6 Margin Bug */
}

/*--------------------------------------------------
   Catalog Layout
--------------------------------------------------*/
#pageFrameCat #col1
{
   margin: 0px;
   padding: 0px 0px;
   width: 250px;
   float: left;
   display: inline;  /* for IE6 Margin Bug */
}

#pageFrameCat #col2
{
   border: solid 0px #999;
   margin: 0px;
   padding: 0px;
   width: 605px;
   float: right;
}

/*--------------------------------------------------
   Full Page Layout
--------------------------------------------------*/
#pageFrameFull #col1
{
   margin: 0px;
   padding: 0px;
   width: 900px;
   border: solid 0px #000;
}

/*------------------------------------------------------------
   Content Type - News Summary
------------------------------------------------------------*/
.newsSummary, #newsList
{
   list-style-type: none;
   margin: 0px 0px 11px 0px;
   padding: 0px 0px 0px 0px;
}
   
.newsSummary li, #newsList li
{
   margin: 0px 0px 10px 0px;
   padding: 0px;
}

ul.newsSummary li, ul#newsList li
{
   list-style-image: none;
}

.newsSummary li img { margin: 0px 15px 10px 0px !important; }

#newsList li img { margin: 0px 15px 10px 0px; }

.newsSummary .date, #newsList .date { font-weight: bold; }

.searchSummary
{
   font-size: 12px;
   line-height: 140%;
}

/*------------------------------------------------------------
   Content Type - Event Summary
------------------------------------------------------------*/
.eventSummary
{
   list-style-type: none;
   margin: 0px 0px 11px 0px;
   padding: 0px 0px 0px 0px;
}

.eventSummary li
{
   margin: 0px 0px 10px 0px;
   padding: 0px;
}

.eventSummary li img { margin: 0px 15px 10px 0px !important; }

.eventSummary .date { font-weight: normal; }

/*------------------------------------------------------------
   Content Type - Gallery
------------------------------------------------------------*/
.gallery
{
   border: 0px;
   margin: 0px;
   padding: 0px;
}

.gallery .thumbMatte
{
   padding: 5px;
   background-color: #fff;
   border: solid 1px #aaa;
   margin-bottom: 6px;
}

.gallery .largeMatte
{
   padding: 5px;
   background-color: #fff;
   border: solid 1px #aaa;
   margin: 6px 0px 6px 0px;
}

/*--------------------------------------------------
  Form Styles
--------------------------------------------------*/
.inputForm
{

}

.inputForm table
{
   padding: 0px;
   margin: 0px;
   border: 0px;
}

.inputForm input, .inputForm textarea, .inputForm select
{ 
   font-size: 12px;
   /*
   line-height: 1.4em;
   color: #000;
   background-color: #6d6e75;
   border: solid 1px #999;
   */
}

.inputForm td 
{ 
   font-size: 12px; 
   color: #676f79;
   padding: 0px 3px 3px 0px;
}

.inputForm .label 
{ 
   font-size: 12px;
   font-weight: bold;
   color: #676f79; 
}

.inputForm .required 
{ 
   color: #b40f27;
   font-weight: bold;
}

/*------------------------------------------------------------
   Content Type - Tables
------------------------------------------------------------*/
.table1, .table2, .table3, .table4
{
   font-family: arial, verdana, tahoma, geneva, sans-serif;
   font-size: 13px;
   border-collapse: collapse;
   border: 0px;
   margin: 20px 0px;
}

/* th */
.table1 th, .table2 th { background-color: #bed0dd; }    /* Custom */ 
.table1 th { border: solid 1px #ddd; }                /* Custom */ 
.table3 th, .table4 th { color: #40454; }               /* Custom */ 

.table1 th, .table2 th, .table3 th, .table4 th
{
   text-transform: uppercase;
   font-weight: bold;
   text-align: left;
   vertical-align: bottom;
}

.table1 th, .table2 th
{
   font-size: 13px;
   color: #fff;
   padding: 3px 8px;
}

.table3 th
{ 
   border: solid 1px #fff;
   font-size: 12px;
   padding: 4px 8px;
}

.table4 th 
{ 
   font-size: 12px;
   padding: 2px 2px 2px 0px;
}

/* td */
.table1 .highlight td { background-color: #eee; }
.table3 .highlight td { background-color: #eee; }

.table1 td, .table2 td, .table3 td, .table4 td
{
   vertical-align: top;
   font-size: 13px;
   padding: 4px 8px;
}

.table1 td
{
   background-color: #fff;
   border-left: solid 1px #ddd;
   border-right: solid 1px #ddd;
   border-bottom: solid 1px #ddd;
}

.table2 td
{
   background-color: #fff;
   border-top: solid 1px #ddd;
   border-bottom: solid 1px #ddd;
}

.table3 td
{
   border-left: solid 1px #fff;
   border-right: solid 1px #fff;
   border-bottom: solid 1px #fff;
}

.table4 td
{
   padding: 2px 2px 2px 0px;
}

caption
{ 
   caption-side: bottom; 
   font-size: 11px;
   font-weight: bold;
   text-align: left;
   padding: 6px 6px 0px 6px;
   color: #000;
}

h2 + .table1, h2 + .table2, h2 + .table3, h2 + .table4
{
   margin-top: 10px;
}

/*------------------------------------------------------------
   FOOTER
------------------------------------------------------------*/
#footerStretch
{
   /* background-color: #e6edf0; */
   text-align: center;
   height: 29px;
}

#footer
{
   border-bottom: solid 1px #000;
   border-left: solid 1px #333;
   border-right: solid 1px #333;
   background: url(../graphics/footer1-back.gif) repeat-x;
   font-family: arial, verdana, tahoma, geneva, sans-serif;
   font-size: 12px;
   line-height: 12px;
   text-align: left;
   margin: 0px auto;
   padding: 12px 0px 0px 0px;
   width: 1050px;
   height: 17px;  /* 29 - 12 */
}

#footer #footerLeft
{
   display: inline;
   padding-left: 70px;
   color: #000;
   /* width: 400px; */
   float: left;
}

#footer #footerRight 
{ 
   display: inline;
   text-align: right;
   padding-right: 70px;
   /* width: 250px; */
   float: right; 
}

#footer2Stretch
{
   /* background: url(../graphics/footer_back.jpg) no-repeat;
   background-position: top center;
   background-color: #c92127; */
   height: 80px;
}

#footer2
{
   border-left: solid 1px #333;
   border-right: solid 1px #333;
   border-bottom: solid 1px #333;
   background: url(../graphics/footer_back.jpg) no-repeat;
   margin: 0px auto;
   width: 1050px;
   height: 40px;
}

#footer a:link, #footer a:visited { color: #235aa4; text-decoration: none; }
#footer a:hover, #footer a:active { color: #235aa4; text-decoration: underline; }
