/* Reset */

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td { margin: 0; padding: 0; border: 0; }
table { border-collapse: collapse; border-spacing: 0; }
:focus { outline: none; }
address, caption, cite, code, dfn, em, strong, th, var { font-style: normal; font-weight: normal; }
ol, ul { list-style: none; }
caption, th { text-align: left; }
h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal; }
q:before, q:after, blockquote:before, blockquote:after { content: ''; }

/* Structure */

body {
  margin: 0;
  padding: 0;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  line-height: 18px;
  color: #3f3f3f;
  background: #fff;
  text-align: center;
  border-top: 9px solid #666;
}
  
#headerpad {
  position: relative;
  margin: 0 auto 0;
  width: 660px;
  height: 105px;  
  text-align: left;
  border-bottom: 1px solid #b2b2b2;      
}

#logo {
  padding-top: 15px;
}

#phone {
  position: absolute;
  top: 74px;
  right: 0px;
  text-align: right;
  font-size: 14px;
  font-weight: bold;
  color: #666;
  width: 150px;
}

#navbar {
  margin: 14px auto 0;
  clear: both;
  position: relative;
  width: 660px;
  height: 40px;
  background: url(../images/bg-main-top.jpg) bottom no-repeat;    
}
  
#page {
  margin: 0 auto 10px;
  padding: 0;
  width: 660px;
  text-align: left;
  border: 0;
  background: url(../images/bg-main.jpg) repeat-y;    
}
  
#wrapper {
  background: url(../images/bg-main-bottom.jpg) bottom no-repeat;
  position: relative;
  width: 660px;
}

#mainsection {
  clear: both;
  padding: 15px 55px 25px 55px;
}

#footer {
  position: relative;
  margin: 0 auto 0;
  padding: 0;
  width: 660px;
  height: 55px;
  margin-bottom: 30px;
  clear: both;
  background: url(../images/bg-footer.jpg) no-repeat;  
}

#contact #footer {
  background: url(../images/bg-footer-contact.jpg) no-repeat;  
}
  
#footerpad {
  font-size: 11px;
  color: #6e6e6e;
  text-align: left;
  padding: 19px 0 0 20px;
}

#contact-button {
  position: absolute;
  top: 10px;
  right: 15px;
}

#contact #contact-button {
  display: none;
}  

/* General Typography */

h1, h2, h3, h4, h5, h6 {
  font-weight: bold;    
  color: #545454;
  padding: 0 0 9px 0;
}

h1, .tagline {
  display: none;
}
  
h2 {
  font-size: 12px;
  margin: 0;
  padding: 5px 0 6px 0;
}

h3 {
  font-size: 14px;
  margin: 0;
  padding: 5px 0 6px 0;
}
  
h4 {
  font-size: 12px;
}  
  
p {
  padding: 0 0 9px 0;
}

strong {
  font-weight: bold;
}

.small {
  font-size: 11px;
}    
  
blockquote {
  background: url(../images/bg-blockquote.jpg) no-repeat;
  padding: 0 0 0 30px;
}  

a {
  color: #690;
  text-decoration: none;
}

a:hover {
  color: #e60;
  text-decoration: none;
}

.required {
  color: #f00;
}
  
/* Images */

img {
  margin: 0;
  padding: 0;
  border: none;
  vertical-align: bottom;
}
  
/* Lists */

ul {
  list-style: outside;
  margin: 0 0 9px 16px;
}

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

table {
  border-collapse: collapse;
  border-width: 0;  
  border-spacing: 0;  
  text-align: left;
  margin: 0 0 15px 0;
}

tr {
  border-width: 0;
}
  
tr.alt {
  background-color: #edf3fe;  
}

.standard td, .standard th {
  padding: 6px 8px;
  border: 1px solid #ddd;  
}

th {
  background-color: #f9f9f9;
  font-weight: bold;
  padding: 8px 8px;  
}
  

/* Forms */

table.form {
}
  
table.form td {
  vertical-align: top;
  padding: 6px 0;
}

table.form td.label {
  padding-right: 10px;
  text-align: right;
}  

form {
  margin: 0;
  padding: 0;
}

textarea, input[type=text] {
  padding: 1px 0 1px 3px;
  border: 1px solid #9FB386;
  background: #fff;
}
  
textarea {
  width: 300px;
  height: 100px;
}    
  
* html textarea, input {  
  border: 1px solid #ccc;
  background: #f9f9f9;
}
  
select {
  width: 130px;
}
  
.checkbox {
  margin: 0 8px 0 0;
}

.submit {
  margin: 0;
  padding: 0;
  border: none;
}  
  
/* Various Tags and Classes */

.center {
  text-align: center;
}

/* Linerules and Spacers */

.linerule {
  clear: both;
  margin: 0 0 16px 0;
  padding: 6px 0 0 0;
  border-bottom: 1px solid #ccc;
}

.linerule-dashed {
  clear: both;
  margin: 0 0 16px 0;
  padding: 6px 0 0 0;
  border-bottom: 1px dashed #aaa;
}  
  
.clear {
  clear: both;
}

/* Menus */

.menu {
  margin: 0;
  padding: 0;
  text-decoration: none;  
}

.menu li {
  display: inline;
  margin: 0;
}

#navbar li {
  padding: 0 0 20px 0;
}

#navbar li a {
  display: block;
  float: left;
  font-weight: bold;
  padding: 0 20px;  
  color: #666;
  height: 40px;  
}

#home #navbar #menu-home a,
#services #navbar #menu-services a,
#about #navbar #menu-about a,
#approach #navbar #menu-approach a {
  background: url(../images/bg-menu-selected.jpg) no-repeat;
  background-position: center 21px;
  color: #749435;
}  
