/** Generic Styles **/
body, html {
    font-family: Arial, Helvetica, sans-serif;
    margin: 0 !important;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: bold;
}

em {
    font-style: italic;
}
a img {
    border: none
}

#navMenu address {
    font-style: normal;
    font-size: .7em;
    text-align: center;
}
address span.company_name {
    font-weight: bold;
}

.underline {
    text-decoration: underline;
}

.aligncenter {
    text-align: center;
}
.alignright {
    text-align: right;
}
.alignleft {
    text-align: left;
}
.wrapleft {
    float: left;
    margin-right: 10px;
    margin-bottom: 10px;
}
.wrapright {
    float: right;
    margin-left: 10px;
    margin-bottom: 10px;
}
.strong {
    font-weight: bold;
}

ul.red_dot li {
    list-style-image: url(/assets/images/bullet_red.gif);
}

p img {
    vertical-align: top;
}
p.img_align_middle img {
    vertical-align: middle;
}
th { font-weight: bold; }

.matchh2 {
    font-size: 1.4em;
    font-weight: bold;
}
.tuckup {
    margin-top: -15px;
}

/** Main page elements **/

#wrapper {
    width: 772px;
    border: 1px solid #000;
    margin: 0;
}
#wrapper.home {
    background: url(/assets/images/homepage-bg.gif) repeat-y 0 0;
}
#wrapper.interior {
    background: url(/assets/images/interior-page-bg.gif) repeat-y 0 0;
}
#header {
    background: url(/assets/images/header-bg.gif) repeat-x 0 0;
    height: 78px;
}
#logo {
    float: left;
    width: 351px;
    font-size: 1px;
    line-height: 1px;
}
#headerRight {
    float: right;
    width: 420px;
    text-align: center;
    font-weight: bold;
    position: relative;
}
#callToAction {
    color: #fff;
    letter-spacing: 2px;
    font-size: .9em;
    line-height: .9em;
}
#phoneNumber {
    color: #fff;
    letter-spacing: 4px;
    font-size: 1.4em;
    line-height: 1.1em;
}
#tagLine {
    font-size: 1.4em;
    line-height:22px;
    font-weight: normal;
    margin-top: 2px;
}
#container p {
    margin-bottom: 15px;
}
.required {
    color: #ff0000;
}

/** Nav Menu **/
#navMenu {
    width: 157px;
    background: url(/assets/images/nav-bg.gif) repeat-y;
    clear: left;
    float: left;
}
#navMenu ul {
    margin: 0;
    padding: 0;
    padding-top: 10px;
}
#navMenu li {
    list-style: none;
    display: block;
    font-size: 12px;
    font-weight: bold;
    list-style-position: outer;
    margin-bottom: 5px;
    padding-bottom: 5px;
    border-bottom: 1px solid #000;
}
#navMenu li a {
    color: #ff0000;
    text-decoration: none;
    padding-left: 30px;
    padding-top: 3px;
    background: url(/assets/images/nav-bullets.png) no-repeat 0 0;
    overflow: hidden;
    display: block;
    min-height: 25px;
}
#navMenu li a:hover {
    background-position: 0 -125px;
}
#navMenu li.active a {
    background-position: 0 -125px;
}
#requestQuote {
    width: 100%;
    text-align: center;
}

.content {
    font-size: .7em;
    width: 360px;
    border-left: 10px solid #ff3333;
    float: left;
    padding: 20px 20px;
    margin-right: 3px;
}
.content a {
    color: #ff3333;
    text-decoration: none;
}
.content a:hover {
    color: #000;
    text-decoration: underline;
}
.content ul {
    margin-left: 25px;
    margin-bottom: 20px;
}
.content h1,
.content h2,
.content h3 {
    margin: 15px 0;
}
.content h1 {
    font-size: 2em;
}
.content h2 {
    font-size: 1.5em;
}
.content h3 {
    font-size: 1.3em;
}


/** Homepage Only **/
#homeLeftSidebar {
    width: 228px;
    float: left;
    background-color: #000;
}
#homeContent {
    width: 230px;
    padding: 0 10px;
}
#homeContent ul {
    margin-left: 15px;
}
#homeContent li {
    list-style-image: url(/assets/images/bullet_red.gif);
    margin-bottom: 4px;
}

/** left sidebar **/

#leftSidebar {
    width: 78px;
    float: left;
}

/** page title **/

#pageTitle {
    height: 48px;
    background-color: #000;
    float: left;
    width: 411px;
    color: #fff;
    font-weight: bold;
    text-align: center;
    line-height: 48px;
}

/** Right sidebar **/

#rightSidebar {
    float: left;
    width: 104px;
    background-color: #ff3333;
    color: #fff;
    font-size: .7em;
    font-weight: bold;
    padding: 0 10px;
}
.interior #rightSidebar {
    margin-top: -48px;
}

#sidebarTitle {
    text-transform: uppercase;
}

/** footer **/
#footer {
    clear: both;
    display: block;
    font-size: .7em;
    text-align: right;
    width: 772px;
}

/** in-content formatting **/

.red_head {
    background: #ff3333;
    border-left: 5px solid #000;
    color: #fff;
    padding-left: 5px;
    clear: both;
}

a.pdf {
    background: url(/assets/images/pdf-icon.jpg) no-repeat right center;
    padding-right: 30px;
}

blockquote {
    margin: 0 5px;
    font-style: italic;
}
#refTable {
    width: 100%;
    margin-bottom: 20px;
}
#refTable tr.odd td {
    background: #ddd;
}
#refTable td,
#refTable th {
    padding: 5px 5px;
}
#refTable th { 
    text-decoration: underline; 
    font-size: 1.2em; 
}

.clients_alt_sidebar {
    font-size: .7em !important;
    text-align: center;
    margin: 20px 0 0 0;
    padding: 0;
}

/** job summaries **/

.job_summaries {
    font-weight: bold;
}
.job_summaries a img {
    margin-right: 10px;
    border: 1px solid #ff0000;
}
.job_summaries a:hover img {
    border: 1px solid #000;
}

/** gallery page **/
#flashcontent {
    height: 400px;
}

/** contact page **/
.security_code {
    font-size: 2em;
    color: #ff0000;
}
table#contactInfo { width: 100%; }
#contactInfo th,
#contactInfo td {
    padding: 10px;
    vertical-align: top;
}

/** popup quote form **/

#quoteFormPopup {
    display: none;
    position: absolute;
    left: 180px;
    top: 20px;
    background: #fff;
    border: 3px solid #ccc;
    padding: 20px;
    width: 430px;
    font-size: .8em;
}
#quoteFormPopup td {
    padding-bottom: 5px;
}
p#quoteFormTitle {
    margin-top: 0;
    font-size: 1.5em;
}
#closePopup {
    position: absolute;
    top: 10px;
    right: 10px;
}
