html { overflow-y: scroll; background: #fff url("../img/bodyBG.jpg") no-repeat top center; -webkit-text-size-adjust: none; }
body { background: url("../img/doubleVertRules.gif") repeat-y center; margin: 0 auto; text-align: center; font-family: "Times New Roman", Times, serif; font-size: 15px; line-height: 23px; color: #111; position: relative; width: 926px; }
#container { background: url("../img/bodyBG.jpg") no-repeat top center; margin: 0 auto 60px; width: 926px; }
#header { background: url("../img/header.jpg"); width: 672px; height: 130px; margin: 0; padding: 0; margin-left: 127px; }
#nav { margin: 0 0 0 0px; padding: 0; width: 925px; height: 100px; background: url("../img/nav-top-lines.jpg") no-repeat scroll 131px 40px transparent; letter-spacing: 0.03em; }
#content { margin: 0 auto 0; padding: 10px 184px 27px; text-align: left; min-height: 323px; }
a:focus { border: 0; outline: 0; }
p { padding: 0 5px 0; }
h1, h2 { text-indent: -9999px; margin: 0; padding: 0; }
h3 { border-bottom: 1px solid #bbb; padding: 17px 5px 14px; margin: 28px 0 20px; font-size: 18px; font-weight: normal; text-transform: uppercase; text-align: left; letter-spacing: .05em; line-height: 21px; color: #777; }
h3.first { border-top: none; padding: 4px 0 14px 5px; margin: 0 0 20px; }
.smallerheader { text-transform: uppercase; font-size: 12px; display: block; margin: 0 0 14px 0; }
::selection { background: #c6e1e4; /* Safari */ }
::-moz-selection { background: #c6e1e4; /* Firefox */ }

/*  ------- NAV  ------- */

#nav ul { background: url("../img/nav.png") 0px -29px no-repeat; width: 800px; height: 87px; list-style-type: none; list-style-position: outside; margin: 0 0 25px 0px; padding: 0 0 0 125px; position: relative; }
#nav ul li { float: left; text-indent: -9999px; }
#nav ul li a { display: block; height: 45px; -webkit-transition: opacity 0.2s ease-in-out; -moz-transition: opacity 0.2s ease-in-out; -o-transition: opacity 0.2s ease-in-out; transition: opacity 0.2s ease-in-out; }
#nav ul li.link-firm a { width: 150px; /*height: 72px;*/ opacity: .0; }
#nav ul li.link-firm a:hover { background: url("../img/nav.png") -125px -158px; opacity: 1; }
#nav ul li.link-rep a { width: 195px;/* height: 72px;*/ opacity: .0; }
#nav ul li.link-rep a:hover { background: url("../img/nav.png") -275px 388px; opacity: 1; }
#nav ul li.link-about a { width: 222px; /*height: 72px;*/ opacity: .0; }
#nav ul li.link-about a:hover { background: url("../img/nav.png") -470px 115px; opacity: 1; }
#nav ul li.link-contact a { width: 100px; /*height: 72px;*/ opacity: .0; }
#nav ul li.link-contact a:hover { background: url("../img/nav.png") -692px 115px; opacity: 1; }
#nav ul li.firm-active { background: url("../img/nav.png")  -125px -158px; width: 150px; height: 72px; }
#nav ul li.rep-active { background: url("../img/nav.png") -275px 388px; width: 195px; height: 72px; }
#nav ul li.about-active { background: url("../img/nav.png") -470px 115px; width: 222px; height: 72px; }
#nav ul li.contact-active { background: url("../img/nav.png") -692px 115px; width: 100px; height: 72px; }
#nav.fixed-pos { height: 100px; }
#nav.fixed-pos ul { height: 83px; overflow: hidden; position: fixed; top: -7px; background: url("../img/nav.png") 0px -29px no-repeat; }

/*  ------- CONTACT FORM  ------- */

fieldset { border: 0; margin: 0; padding: 0 0 0 10px; position: relative; height: 257px; }
.topfield-contain { width: 270px; float: left; }
.top-first { margin-right: 16px; }
ul.form { list-style: none !important; padding: 0; margin: 0 auto; width: 538px; border:0; }
ul.form li { padding: 1px 0; height: 48px; }
.form_head { height: 20px; width: 400px; color: #aaa; text-align: center; border-bottom: 0 !important; }
ul.form li label { display: block; float: left; width: 200px; margin-bottom: 4px; font: normal 11px/11px Arial, Helvetica, sans-serif; }
.required { display: block; font-size: 10px; color: #5b6170; width: 160px; float: left; clear: left; }
ul.form li input#form_name, ul.form li input#form_email, ul.form li select, ul.form li textarea { width: 245px; border: 1px solid #ccc; padding: 5px; clear: both; background-color: #f9f9f9; color: #111; font-family: Arial, Helvetica, sans-serif; }
ul.form li.submit { text-align: right; border: 0; }
ul.form li.submit input { background: transparent url("../img/submitBtn.gif") no-repeat; border: 0 none; cursor: pointer; display: block; overflow: hidden; text-indent: -9999px; font-size: 0px; line-height: 0px; position: absolute; left: 10px; bottom: 12px; width: 86px; height: 34px; }
ul.form li textarea { height: 106px; width: 515px; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; }
ul.form li.comment .required, ul.form li.comment label { width: 120px; }
li.comments { height: 130px !important; }
.valid { border: 1px solid #02d002 !important; }
.invalid { border: 1px solid #ff0000 !important; }
li.who { width: 250px; margin-right: 20px; display: block; float: left; }
li.email { width: 250px; display: block; float: left; }
li.comments { width: 538px; display: block; float: left; }
img.thanks { margin-top: 25px; }
#contact-container p { margin: 0 0 4px 0; }
p.thanks { font: italic 21px/24px "Times New Roman", Times, serif; color: #888; text-align: center; padding-top: 75px; }
a.tel { cursor: text; color: #111; text-decoration: none; }

/*  ------- ABOUT SUBNAV ------- */

#about-subnav, #rep-subnav { float: right; width: 220px; padding: 10px 0 0; margin: 2px -97px 15px 35px; background-color: #fff; -moz-box-shadow: 1px 1px 4px #eee; -webkit-box-shadow: 1px 1px 4px #eee; box-shadow: 1px 1px 4px #eee; -moz-border-radius: 2px; border-radius: 2px; }
#rep-subnav { height: 264px; }
#about-subnav ul, #rep-subnav ul { padding: 0 25px; list-style-type: none !important; list-style-position: outside; }
#about-subnav ul li, #rep-subnav ul li { margin: 0 0 11px 0 !important; padding: 0; line-height: 18px; }
#about-subnav ul li a, #rep-subnav ul li a { color: #333; text-decoration: none; border-bottom: 1px dotted #333; padding: 0px; }
#about-subnav ul li a:hover, #rep-subnav ul li a:hover, a.vcard:hover, .knightsLink:hover { border-bottom: 0; color: #89babe; }

/*  ------- MISC ------- */

#content.firmOverviewOpener { margin-top: -10px; }
.rep p.first { padding-top: 0; }
.rep p { border-bottom: 1px solid #e8e7e7; padding: 10px 5px 22px; }
.rep p.related { border: none; padding-bottom: 2px; }
.rep p.last { border: none; padding-bottom: 0; margin-bottom: 0; }
.rep ul, #content ul { list-style-type: square; }
.rep ul li, #content ul li { margin-bottom: 5px;  }
div.portrait { float: left; margin: 14px 0 25px 23px; padding: 8px; background-color: #fafaf3; height: 212px; }
#addressInfo { text-align: center; border-bottom: 1px dotted #ccc; margin-bottom: 31px; padding-bottom: 25px; }
#addressInfo p { margin: 0; }
#addressInfo p span { text-transform: uppercase; font: 10px/10px normal Arial, Helvetica, sans-serif; margin-right: 5px; }
#addressInfo p span.slash { margin: 0 .5em; font-size: 12px; color: #bbb; }
a.vcard, .knightsLink { color: #111; font-style: bold; font-size: 14px; text-decoration: none; border-bottom: 1px dotted #111; }
.rep p.backtotop, p.backtotop { margin-bottom: 0; padding: 0; text-align: right; border-bottom: none; }
p.backtotop a { padding: 0 18px 0 0; margin: 20px 5px 0 0; background: url("../img/backtotop.gif") no-repeat scroll right 1px transparent; color: #999; font-family: Arial, Helvetica, sans-serif; font-size: 12px; text-decoration: none; }
.backtotop a:hover, h3 span.toTop a:hover { text-decoration: underline; color: #333; }
h3 > a { display: block; width: 430px;}
h3 span.toTop { display: inline; float: right; margin-top: -19px; }
h3 span.toTop a { background: url("../img/backtotop.gif") no-repeat right center; display: block; padding: 0px 18px 0px 0px; color: #999; font-family: Arial, Helvetica, sans-serif; font-size: 12px; text-decoration: none; text-transform: none; letter-spacing: normal; } 
#footer { background: url("../img/footer.jpg") no-repeat top center; width: 838px; height: 113px; text-indent: -9999px; margin: -16px auto 0; }

/* RESPONSIVE */

@media screen and (max-width: 750px), (max-device-width: 480px) {
body { margin: 0px; width: auto; }
html, body { background: none; }
#container { margin: 0; background: url("../img/bodyBGsmall.jpg") no-repeat scroll center top transparent; width: auto; }
#header { margin: 0; width: auto; background: url("../img/header.jpg") no-repeat scroll center 0 transparent; }
#content { padding: 0px 7% 12px; }
#nav { background: none; height: auto; width: auto; border-top: 6px solid #eeeded; border-bottom: 6px solid #eeeded; box-shadow: 0 5px 4px rgba(0, 0, 0, 0.10); margin-bottom: 45px; }
#nav ul { padding: 8px 0 9px; margin-bottom: 0; width: auto; height: auto; background: #fff; text-align: center; }
#nav ul#smenubar { margin-bottom: 0; height: auto; }
#nav.fixed-pos { height: auto; }
#nav.fixed-pos ul { position: relative; background:#fff; height: auto; }
#nav ul li { float: none; display: inline-block; text-indent: 0; margin: 0 10px; font-family: Helvetica, Arial, sans-serif; text-transform: uppercase; font-size: 10px; font-weight: normal; color: #2c2604; }
#nav ul li a { float: none; display: inline-block; height: auto; color: #2c2604; text-decoration: none; }
#nav ul li a:hover { color: #89babe; background: none !important; }
#nav ul li.firm-active { background: #fff; }
#footer { background-position: center -24px; width: auto; height: 80px !important; margin: 0px auto 0px; }
h3 > a { width: auto; }
#nav ul li.link-firm, #nav ul li.link-firm a { width: auto; opacity:1; }
#nav ul li.link-firm a:hover { background: url("../img/nav.png") -125px -158px; }
#nav ul li.firm-active {  width: auto; height: auto; }
#nav ul li.link-rep a { width: auto; opacity:1; }
#nav ul li.link-about a { width: auto; opacity:1; }
#nav ul li.link-contact a { width: auto; opacity:1; }
#nav ul li.firm-active, #nav ul li.rep-active, #nav ul li.about-active, #nav ul li.contact-active { width: auto; height: auto; color:#89BABE; background: none; }
#about-subnav, #rep-subnav { float: none; box-shadow: none; width: auto; margin: -9px 0 25px 4px; padding: 0; height: auto; }
#about-subnav ul, #rep-subnav ul { padding: 0; }
div.portrait { display: none; }
}

@media screen and (max-width: 750px) {
body { overflow-x: hidden; }
#nav ul, #nav ul#smenubar { margin: auto; width: 36.4em; }
#content { padding: 0 8% 12px; }
h3 span.toTop { float: none; display: inline-block; }
fieldset { padding: 0; }
}

@media screen and (max-width: 555px), (max-device-width: 480px) {
#header { margin: 0; width: auto; height: 122px; background: #c7d9e0 url("../img/header-small@2x.png") no-repeat scroll center 0; background-size: auto 130px; }
#nav ul { margin: auto; width: 19em; }
#nav ul li { font-size: 0.675em; margin: 0 8px; height: 2.2em !important; }
#nav ul#smenubar { width: 19em; }
ul.form li { margin-bottom: .75em !important; }
ul.form li textarea { width: auto; height: auto; clear: left; float:left; height: 7em !important; }
ul.form li.submit input { background-image: none; border: 1px solid #ccc; border-radius: 3px; text-transform: uppercase; padding: .5em; text-indent: 0; display: block; font-size: .75em; font-family: Arial, Helvetica, sans-serif; font-weight: bold; position: static; }
fieldset { height: auto; }
li.comments { width: 100%; height: auto !important; }
form#myform { height: auto; }
ul.form, .topfield-contain, ul.form li input#form_name, ul.form li input#form_email, ul.form li select, ul.form li textarea, ul.form li label, li.who, li.email { width: 100%; }
ul.form li, ul.form li input#form_name, ul.form li input#form_email, ul.form li select, ul.form li textarea { float: left; clear: left; height: auto; }
li.who { margin-right: auto; }
.top-first { margin: auto; }
h3 span.toTop { display: none; }
a.tel { cursor: pointer; color: #111; border-bottom: 1px dotted #111; }
}

@media screen and (max-width: 360px), (max-device-width: 480px) {
#nav { margin-bottom: 1.9em; }
#content { padding: 0 3.25% 27px; font-size: 1.035em; line-height: 1.5em; }
#content ul { padding-left: 25px; }
#content.firmOverviewOpener { margin-top: 0 !important;}
#about-subnav, #rep-subnav { margin: 0px 0px 30px 4px; }
ul.form { padding: 0 !important; }
#rep-subnav ul, #about-subnav ul { padding-left: 0px; }
fieldset { width: 93% }
#addressInfo { padding-bottom: 20px; }
#addressInfo p { text-align: left; margin-bottom: 0.75em; }
#addressInfo p span.slash { margin: 0 5px; }
ul.form li input#form_name, ul.form li input#form_email, ul.form li select, ul.form li textarea { padding: .5em; font-size: 1.05em; }
#footer { background: url("../img/footerSmall@2x.png") no-repeat scroll center 0 transparent; background-size: auto 57px; width: auto; height: 58px !important; margin: 0px auto 0px; }
}