/*
  HTML
  --HEAD
  --BODY
  ----DIV#container
  ------DIV#header
  ------UL#menu
  ------DIV#content
  ------DIV#footer
*/

/* GENERIC */
*{
  margin:0;
  padding:0;
  outline:0;
}
html{
  overflow-y:scroll;
  height:100%;
  background:#3f3f3f url("ribbon-back.png") repeat-x 0 115px;
}
body{
  color:#333;
  font-family:"Arial", "Tahoma", "MS Sans Serif", sans-serif;
  font-size:11pt;
  background-color:#f3f4c6;
  background:url("content-background.png") top center repeat-y;
  min-height:100%;
}

/* CONTAINERS */
div#container{
  background:white;
  margin:0 auto;
  width:900px;
  padding-bottom:3px;
}
div#content{
  padding:5px;
  text-align:justify;
  margin:10px 25px;
}

/* HEADER */
div#header{
  border:0;
  padding:0;
  width:100%;
  margin-bottom:10px;
  background:transparent url('logo.png') no-repeat center 40px;
}
div#header h1{
  padding-top:40px;
  margin:0 auto;
}
div#header h1 a{
  display:block;
  text-align:center;
  font-size:40pt;
  visibility:hidden;
  color:#5e5e5e;
}
div#header blockquote{
  text-align:center;
  font-style:italic;
  background:url("tagline.png") no-repeat center 0;
  height:0;
  overflow:hidden;
  padding-top:16px;
}

/* HEADINGS */
h1, h2, h3, legend{
  font-family:"Arial Rounded MT Bold", "Comic Sans MS", serif;
  color:#5e5e5e;
  margin:0;
  padding:0;
}
h2{
  font-size:20pt;
}
h3{
  padding-top:12px;
  font-size:15pt;
}
h3 + p{
  margin-top:5px !important;
}

/* LINKS */
a{
  color:#45819f;
}
a:link,
a:visited{
  text-decoration:none;
}
a:active,
a:hover{
  text-decoration:underline;
}

/* MENU */
ul#menu{
  display:block;
  overflow:hidden; /* non-debug: hidden */
  width:100%;
  height:80px; /* 84px in all */
  border-top:2px solid #5e5e5e;
  border-bottom:2px solid #5e5e5e;
  background-color:#8e8e8e;
  background-image:url("ribbon-inner.png");
  background-color:#688199;
  border-bottom:2px solid #3D4C6E;
  border-top:2px solid #3D4C6E;
}
ul#menu li{
  display:-moz-inline-box;
  display:inline-block;
  font-size:14pt;
  padding:0 16px;
  margin:0 10px; /* stop LIs bumping into each other */
  height:100%;
  text-align:center;
  vertical-align:middle;
}
ul#menu li:first-of-type{
  margin-left:20px;
}
ul#menu li:hover,
ul#menu li.current{
  background-image:url("ribbon-inner.png");
  border-left:1px solid #333b4e;
  border-right:1px solid #333b4e;
  padding:0 15px;
}
ul#menu li a{
  color:#ffffff;
  text-decoration:none;
  display:block;
  height:100%;
  line-height:80px;
  text-shadow:#333b4e 3px 3px 5px;
}
ul#menu li#contactnow,
ul#menu li#contactnow:hover{
  background:none;
  border:0;
  padding:0 16px;
  line-height:normal;
}
ul#menu li#contactnow em, /* call */
ul#menu li#contactnow a{ /* IM */
  display:inline-block;
  font-size:12pt;
  font-style:italic;
  text-shadow:#333b4e 3px 3px 5px;
  letter-spacing:1.2pt;
  line-height:28pt;
  color:#83B0C7;
}

/* FOOTER */
div#footer{
  width:auto;
  margin:10px 0;
  padding:5px;
  background-color:#cfcfcf;
  border-top:1px solid #8a8a8a;
  border-bottom:1px solid #8a8a8a;
}
div#footer div{
  width:760px;
  margin:0 auto;
  text-align:right;
  font-size:75%;
  color:#8a8a8a;
}
div#footer a{
  color:#8a8a8a;
  text-decoration:underline;
}

/* FORMS */
fieldset{
  padding:10px;
  border:1px solid #cfcfcf;
  text-align:left;
  margin-top:15px;
}
fieldset#form{
  clear:both;
}
legend{
  padding:0 5px;
  font-size:14pt;
}
label{
  font-weight:bold;
  display:block;
}
input.text, textarea{
  border:1px solid #45819f;
}
input.text{
  width:99%; 
  margin-bottom:10px;
  padding:3px;
}
textarea{
  width:98%;
  padding:5px;
  font-family:"Arial", "Tahoma", "MS Sans Serif", sans-serif;
}
button{
  border:1px solid #45819f;
  border-radius:5px;
  -moz-border-radius:5px;
  -webkit-border-radius:5px;
  background-color:#ffffff;
  display:block;
  margin:20px auto 10px auto;
  padding:6px;
  width:100px;
  font-weight:bold;
  color:#4f4f4f;
}

/* CONTENT STYLE */
p{
  margin:10px 0;
  line-height:1.4em;
}
strong{
  font-weight:bold;
}
em{
  font-style:italic;
}
hr{
  border:none;
  background-color:#cfcfcf;
  color:#cfcfcf;
  margin:5px 0;
  width:100%;
  height:1px;
}
hr.clear{
  clear:both;
  display:none;
}

div#gallery{
  width:820px;
  margin:0 auto;
}
a.photo{
  border:0 !important;
}
a.photo img{
  padding:10px;
  background-color:#ffffff;
  border:1px solid #8a8a8a;
  margin:11px;
}

div#content ul{
  margin-left:20px;
  padding:5px;
  line-height:1.4em;
}

/* SIDE BOXES*/
div.attention{
  background:none repeat scroll 0 0 #F0C71F;
  border:2px solid #F0770F;
  color:#F0000F;
  font-weight:bold;
  padding:20px;
  width:35%;
}
div.attention h3{
  display:block;
  margin-bottom:20px;
  font-size:200%;
  text-align:center;
  color:#F0000F;
  margin-bottom:20px;
}
div.attention p{
  line-height:1.5em;
}
div.attention a{
  display:block;
  font-size:120%;
  text-align:center;
  color:#F0000F;
  text-decoration:underline;
}
div.attention a:hover{
  text-decoration:none;
}
div#offer{
  float:right;
  margin-left:25px;
}
div#claim{
  float:left;
  margin-top:10px;
  margin-bottom:10px;
  margin-right:25px;
  clear:left;
}
ul#claim-services{
  margin-left:380px !important;
}
div#quote{
  margin-left:25px;
  padding:20px;
  width:35%;
  float:right;
  background-color:#cfcfcf;
  border:1px solid #8a8a8a;
  line-height:1.2em;
  background:url("quote-background.jpg") center bottom;
}
div#quote div blockquote{
  margin:0;
  padding:0;
}
div#quote div em{
  display:block;
  text-align:left;
  padding-left:20px;
}
div#quote div a{
  display:block;
  text-align:right;
  color:#3D4C6E;
}

blockquote.reference{
  margin:10px 0;
  padding-left:10px;
  border-left:5px solid #45819f;
  line-height:1.3em;
}
blockquote.reference em{
  display:block;
  text-align:left;
  padding-left:20px;
}

::selection{
  background-color:#cfcfcf;
  color:#000000;
}
::-moz-selection{
  background-color:#cfcfcf;
  color:#000000;
}