/* GENERAL 
-----------------------------------------*/
* {margin: 0; padding: 0;}/* Sets all padding and margins to 0 - forces all browsers to behave... */
* html #sidebar {height: 350px} /* IE6 */
* html #content {height: 350px} /* IE6 */
* html #footer {height: 190px;} /* IE6 */
html, body {height: 100%;}

body {
background: #54391b url(images/bg01.jpg) no-repeat top center;
margin: 0;
font: 11px tahoma, arial, verdana, helvetica, sans-serif;
color: #333;
line-height: 18px;
}

table { 
border-collapse: collapse; 
border-spacing: 0; 
}

td, th { 
padding: 0; 
vertical-align: top;
}

a {
color: #c30; 
text-decoration: underline;
}

a:hover {
text-decoration: none;
}

h1 {
font: bold 24px trebuchet ms, sans-serif;
color: #483a2b;
margin: 0 0 10px 0;
}

h2 {
font: normal 20px tahoma, sans-serif;
color: #7a4029;
margin: 10px 0;
}

h3 {
font: bold 16px tahoma, sans-serif;
color: #930;
margin: 10px 0;
}

ul, ol {
margin-top: 0;
margin-left: 20px;
}

img {border: none;}

p {margin: 0 0 10px 0;}


/* UTILTY 
-----------------------------------------*/
#utility, #utility ul { /* all lists */
width: 365px;
height: 30px;
padding: 0;
margin: 0;
list-style: none;
}

#utility {float: right;}

#utility ul {
margin: 0;
width: 365px;
}

/*  Makes the list items sit next to each other */
#utility li {float: left;}

/*  Sets styles for all links that are inside the ul id="utility" */
#utility a {
display: block;
height: 30px; 
overflow: hidden; 
text-indent: -999em;  /*Indents the rich-text so it does not show */
}

/* Set the image for each nav item */
#patient_login {background: url(images/utility_patient_login.gif); width: 155px;}
#contact {background: url(images/utility_contact.gif); width: 90px;}
#home {background: url(images/utility_home.gif); width: 75px;}

/* Shift the image position up to show the active state */
#utility a:hover, #utility .active {background-position: 0 -30px;}

/* Set cursor to default arrow so link does not appear clickable */
#utility .active {cursor: default}


/* UTILITY SUB-NAVIGATION 
-----------------------------------------*/
#utility li ul { /* second-level lists */
margin: 0;
width: 150px;
position: absolute;
background: #cec6b8;
left: -999em;
line-height: 25px;
height: auto;
}

#utility li ul a {
padding: 0 0 0 10px;
width: 140px;
color: #5a4a2f;
text-indent: 0;
text-decoration: none;
height: auto;
}

#utility li:hover ul, #utility li.sfhover ul { /* lists nested under hovered list items */
left: auto;
}

#utility li:hover ul a:hover, #utility li.sfhover ul a:hover { /* lists nested under hovered list items */
color: #c43e06;
background: #f5f2ec;
}


/* NAVIGATION 
-----------------------------------------*/
#nav, #nav ul { /* all lists */
width: 200px;
padding: 0;
margin: 25px 0 0 0;
list-style: none;
}

#nav ul {
width: 200px;
}

#nav li {height: 30px;}

/*  Sets styles for all links that are inside the ul id="nav" */
#nav a {
display: block;
height: 30px; 
overflow: hidden; 
text-indent: -999em;  /*Indents the rich-text so it does not show */
}

/* Set the image for each nav item */
#office {background: url(images/nav_office.gif);}
#patients {background: url(images/nav_patients.gif);}
#checkups {background: url(images/nav_checkups.gif);}
#teeth {background: url(images/nav_teeth.gif);}
#improve {background: url(images/nav_improve.gif);}
#restore {background: url(images/nav_restore.gif);}
#fun {background: url(images/nav_fun.gif);}

/* Shift the image position up to show the active state */
#nav a:hover, #nav .active {background-position: -200px 0;}

/* Set cursor to default arrow so link does not appear clickable */
#nav .active {cursor: default}


/* SUB-NAVIGATION 
-----------------------------------------*/
#nav li ul { /* second-level lists */
margin: -30px 0 0 200px;
width: 150px;
position: absolute;
background: #cec6b8;
left: -999em;
line-height: 30px;
height: auto;
}

#nav li ul a {
padding: 0 0 0 10px;
width: 140px;
color: #5a4a2f;
text-indent: 0;
text-decoration: none;
line-height: 30px;
height: auto;
}

#nav li:hover ul, #nav li.sfhover ul { /* lists nested under hovered list items */
left: auto;
}

#nav li:hover ul a:hover, #nav li.sfhover ul a:hover { /* lists nested under hovered list items */
color: #c43e06;
background: #fff;
}


/* PAGE LAYOUT
-----------------------------------------*/
#container {
background: #ded7cc url(images/bg_container.gif) repeat-y;
margin: 0 auto 20px;
padding: 0;
position: relative;
width: 770px;
}

#container:after {clear: both; content: "."; display: block; height: 0; visibility: hidden}

#header {
background: #ded7cc url(images/bg_header.gif) no-repeat;
height: 230px;
}

.logo, .tagline { letter-spacing : -1000em; }
/* Just for Opera, but hide from MacIE */
/*\*/html>body .logo, html>body .tagline  { letter-spacing : normal; text-indent : -999em; overflow : hidden;}
/* End of hack */

h1.logo {
display: inline;
width:192px;
height:185px;
background:url(images/logo_johnson.gif) no-repeat;
float: left;
margin: 30px 0 0 10px;
line-height: 0;
}

h1.logo a {width: 192px; height: 185px; display: block;}

h1.tagline {
display: inline;
width:440px;
height:40px;
background:url(images/tagline.gif) no-repeat;
float: right;
margin: 63px 68px 0 0;
line-height: 0;
}

h1.tagline a {width: 440px; height: 40px; display: block;}

.logo a, .logo a:hover, .logo a:active, .tagline a, .tagline a:hover, .tagline a:active {
background-color: transparent;
}

#sidebar {
background: #ded7cc url(images/bg_sidebar.gif) no-repeat;
float: left;
width: 200px;
padding: 0 0 20px 0;
min-height: 350px;
z-index: 99;
}

#content {
background: #ded7cc url(images/bg_content.gif) no-repeat;
width: 530px;
min-height: 350px;
padding: 0 20px 20px 20px;
line-height: 22px;
float: left;

}

.image {
float: right;
background-color: #fff;
margin: 0 0 20px 20px;
padding: 5px;
clear: both;
}

.image_large {
background-color: #fff;
margin: 0 0 20px 0;
padding: 5px;
clear: both;
}

#site_map {font-weight: bold;}
#site_map .sub {font-weight: normal;}

#flashcontent { z-index:-1;}

/* FOOTER
-----------------------------------------*/
#footer {
background: url(images/bg_footer.gif) no-repeat;
color: #5e5342;
padding: 40px 0 0 0;
text-align: center;
clear: both;
vertical-align: middle;
line-height: 18px;
overflow: hidden;
min-height: 160px;
}

#footer a {
color: #c30;
text-decoration: underline;
}

#footer a:hover {
text-decoration: none;
background: #fcf9f5;
}

#footer li {
display: inline;
list-style-type: none;
padding-right: 7px;
}

#flash_standards {
color: #d9c797;
text-align: center;
padding: 0 0 20px 0;
}


/* SESAME
-----------------------------------------*/
p#sesame {
padding: 10px 0 0 0; 
}

#sesame a {
font-size: 10px;
color: #c63;
text-decoration: underline;
}

#sesame a:hover {
text-decoration: none;
background: #fcf9f5;
}